@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@700;800;900&family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');
/* ============================================================
   We The Hockey People — league clubhouse theme
   Black / white / red sports-publication styling.
   ============================================================ */
:root {
  --bg:#0b0b0d; --panel:#141417; --panel2:#1b1c20; --panel3:#232429;
  --bd:#2a2c33; --bd2:#3a3d46;
  --tx:#f4f5f7; --mut:#9a9ea8; --dim:#6c7079;
  --red:#e4141d; --red2:#ff2a34; --reddk:#a50f16;
  --grn:#31c256; --amb:#e0a11a; --gold:#e7c14b;
  --maxw:1200px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:var(--bg); color:var(--tx);
  font:15px/1.6 "Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(900px 480px at 88% -8%, rgba(228,20,29,.10), transparent 60%),
    radial-gradient(700px 400px at -5% 0%, rgba(228,20,29,.05), transparent 55%);
  background-attachment:fixed;
}
a { color:#ff5b62; text-decoration:none; }
a:hover { text-decoration:underline; }
.muted { color:var(--mut); }
.dim { color:var(--dim); }
.pos { color:var(--grn); font-weight:700; }
.neg { color:var(--red2); font-weight:700; }
img { max-width:100%; }
h1,h2,h3,h4 { font-family:"Oswald",Impact,"Arial Narrow",sans-serif; font-weight:700; letter-spacing:.01em; }

/* ---------- layout ---------- */
.wrap { max-width:var(--maxw); margin:0 auto; padding:0 22px; }
.section { padding:38px 0; }
.section > .wrap > h2, .sectitle { position:relative; font-size:15px; text-transform:uppercase;
  letter-spacing:.14em; margin:0 0 18px; padding-left:14px; color:var(--tx); }
.section > .wrap > h2::before, .sectitle::before { content:""; position:absolute; left:0; top:2px; bottom:2px;
  width:5px; background:var(--red); border-radius:2px; }
.section .lead { color:var(--mut); margin:-10px 0 20px; }
hr.div { border:none; border-top:1px solid var(--bd); margin:0; }
.eyebrow { color:var(--red2); font-size:12px; font-weight:800; letter-spacing:.16em;
  text-transform:uppercase; margin:0 0 12px; font-family:"Oswald",sans-serif; }

/* ---------- top nav ---------- */
.sitebar { position:sticky; top:0; z-index:50; background:rgba(9,9,11,.92);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--bd);
  box-shadow:0 1px 0 rgba(228,20,29,.35); }
.sitebar .inner { max-width:var(--maxw); margin:0 auto; padding:0 22px;
  display:flex; align-items:center; gap:16px; height:60px; }
.brand { display:flex; align-items:center; gap:10px; white-space:nowrap;
  font-family:'Cinzel', Georgia, serif; font-weight:900;
  text-transform:uppercase; letter-spacing:.10em; font-size:15px; color:#fff; }
.brand:hover { text-decoration:none; }
.brand .puck { width:20px; height:20px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #40424b, #050506 72%); border:1px solid #4a4c55;
  box-shadow:0 0 0 2px rgba(228,20,29,.35); flex:0 0 auto; }
.brand b { font-weight:900; color:var(--red2); }
.navlinks { display:flex; align-items:center; gap:2px; margin-left:auto; flex-wrap:wrap; }
.navlinks a { color:var(--mut); font-size:12px; font-weight:600; padding:7px 9px; border-radius:7px;
  text-transform:uppercase; letter-spacing:.05em; font-family:"Oswald",sans-serif; }
.navlinks a:hover { color:#fff; background:var(--panel2); text-decoration:none; }
.navlinks a.active { color:#fff; background:linear-gradient(180deg,var(--red),var(--reddk)); box-shadow:0 2px 8px rgba(228,20,29,.35); }
.navlinks a.ext { color:var(--dim); }
.navlinks a.ext::after { content:" \2197"; }
.navtoggle { display:none; margin-left:auto; background:var(--panel2); border:1px solid var(--bd);
  color:var(--tx); border-radius:8px; padding:7px 11px; font-size:16px; cursor:pointer; }

/* ---------- league banner ---------- */
.bannerband { display:block; width:100%; line-height:0; background:#050507;
  border-bottom:2px solid var(--red); }
.bannerband img { display:block; width:100%; height:auto; }
.bannerband:hover { text-decoration:none; }
.bannerband.full img { width:100%; height:auto; }
.bannerband.slim img { width:100%; height:132px; object-fit:cover; object-position:center; }
@media (max-width:640px){ .bannerband.slim img { height:auto; } }

/* ---------- hero ---------- */
.hero { padding:52px 0 40px; border-bottom:1px solid var(--bd); position:relative; overflow:hidden;
  background:
    radial-gradient(900px 340px at 82% -20%, rgba(228,20,29,.20), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 40%); }
.hero h1 { font-size:46px; line-height:1.02; margin:0 0 14px; letter-spacing:.005em; text-transform:uppercase; }
.hero h1 .red { color:var(--red2); }
.hero p { color:var(--mut); font-size:17px; max-width:660px; margin:0 0 22px; }
.cta { display:flex; gap:12px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:9px;
  font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.04em; font-family:"Oswald",sans-serif;
  border:1px solid var(--bd2); background:var(--panel2); color:var(--tx); }
.btn:hover { text-decoration:none; border-color:#55585f; background:var(--panel3); }
.btn.primary { background:linear-gradient(180deg,var(--red),var(--reddk)); border-color:var(--reddk); color:#fff; }
.btn.primary:hover { background:var(--red2); border-color:var(--red2); }

/* ---------- cards ---------- */
.grid { display:grid; gap:16px; }
.grid.cols-4 { grid-template-columns:repeat(4,1fr); }
.grid.cols-3 { grid-template-columns:repeat(3, 1fr); }
.grid.cols-2 { grid-template-columns:repeat(2, 1fr); }
.card { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:18px 18px 20px;
  display:flex; flex-direction:column; gap:8px; transition:border-color .15s, transform .15s; }
a.card:hover { text-decoration:none; border-color:var(--red); transform:translateY(-2px); }
.card .kicker { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--red2); font-weight:800;
  font-family:"Oswald",sans-serif; }
.card h3 { font-size:19px; margin:0; text-transform:uppercase; }
.card p { color:var(--mut); font-size:14px; margin:0; }
.card .more { color:#ff5b62; font-size:12px; font-weight:800; margin-top:auto; text-transform:uppercase;
  letter-spacing:.05em; font-family:"Oswald",sans-serif; }
.card.disabled { opacity:.55; }
.badge { display:inline-block; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:2px 8px; border-radius:999px; background:var(--panel3); border:1px solid var(--bd2); color:var(--mut);
  font-family:"Oswald",sans-serif; vertical-align:middle; }
.badge.soon { color:var(--amb); border-color:rgba(224,161,26,.4); background:rgba(224,161,26,.12); }
.badge.live { color:#fff; border-color:var(--reddk); background:linear-gradient(180deg,var(--red),var(--reddk)); }
.badge.gold { color:#1a1500; border-color:var(--gold); background:linear-gradient(180deg,#f6d35a,#d9a92b); }

/* ---------- stat cards ---------- */
.statgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.stat { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:16px 16px; position:relative;
  overflow:hidden; }
.stat::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--red); }
.stat .lbl { font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--mut); font-weight:700;
  font-family:"Oswald",sans-serif; }
.stat .num { font-family:"Oswald",sans-serif; font-size:30px; font-weight:700; line-height:1.1; margin:4px 0 2px; }
.stat .sub { font-size:12px; color:var(--dim); }

/* ---------- info panels / lists ---------- */
.panel { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:18px 20px; }
.panel + .panel { margin-top:14px; }
.panel h2, .panel h3 { text-transform:uppercase; }
.rulelist { margin:6px 0 0; padding-left:22px; } .rulelist li { margin:7px 0; }
.kv { display:grid; grid-template-columns:150px 1fr; gap:6px 16px; }
.kv dt { color:var(--mut); } .kv dd { margin:0; }

/* ---------- data tables ---------- */
.tblwrap { overflow-x:auto; border:1px solid var(--bd); border-radius:12px; background:var(--panel); }
table.tbl { width:100%; border-collapse:collapse; font-size:14px; min-width:520px; }
table.tbl th, table.tbl td { padding:10px 12px; text-align:right; border-bottom:1px solid var(--bd); white-space:nowrap; }
table.tbl th:first-child, table.tbl td:first-child { text-align:left; }
table.tbl th.l, table.tbl td.l { text-align:left; }
table.tbl thead th { background:var(--panel2); color:var(--mut); text-transform:uppercase; font-size:10.5px;
  letter-spacing:.06em; font-family:"Oswald",sans-serif; position:sticky; top:0; }
table.tbl thead th.sortable { cursor:pointer; user-select:none; padding-right:20px; position:sticky; }
table.tbl thead th.sortable::after { content:"\2195"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:9px; opacity:.35; }
table.tbl thead th.sortable:hover { color:#fff; }
table.tbl thead th[aria-sort=ascending]::after { content:"\25B2"; opacity:.95; color:var(--red2); }
table.tbl thead th[aria-sort=descending]::after { content:"\25BC"; opacity:.95; color:var(--red2); }
table.tbl thead th.sortable:focus-visible { outline:2px solid var(--red); outline-offset:-2px; }
table.tbl tbody tr:hover { background:rgba(255,255,255,.02); }
table.tbl tr:last-child td { border-bottom:none; }
table.tbl .rk { color:var(--dim); font-family:"Oswald",sans-serif; font-weight:600; width:30px; }
table.tbl .tm { font-weight:700; }
table.tbl .tm small { display:block; color:var(--mut); font-weight:400; font-size:11.5px; text-transform:none; }
.rowline { border-left:3px solid transparent; }
tr.playoff td:first-child { border-left:3px solid var(--red); }
tr.champ td { background:rgba(231,193,75,.06); }
.legend { color:var(--dim); font-size:12px; margin:10px 2px 0; display:flex; gap:16px; flex-wrap:wrap; }
.chipdot { display:inline-block; width:10px; height:10px; border-radius:2px; vertical-align:middle; margin-right:5px; }

/* ---------- team header ---------- */
.teamhead { display:flex; align-items:center; gap:18px; padding:22px 0 8px; flex-wrap:wrap; }
.teamhead .logo { width:76px; height:76px; border-radius:14px; object-fit:cover; background:var(--panel2);
  border:1px solid var(--bd2); }
.teamhead .tmeta h1 { margin:0; font-size:32px; text-transform:uppercase; }
.teamhead .tmeta .owner { color:var(--mut); font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; }
.titlepips { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.pip { font-size:11px; font-family:"Oswald",sans-serif; font-weight:700; padding:3px 9px; border-radius:999px;
  background:linear-gradient(180deg,#f6d35a,#d9a92b); color:#1a1500; }

/* ---------- roster ---------- */
.roster { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:8px; }
.plr { display:flex; align-items:center; gap:10px; background:var(--panel); border:1px solid var(--bd);
  border-radius:9px; padding:8px 11px; }
.plr .ppos { font-family:"Oswald",sans-serif; font-size:11px; font-weight:700; color:#fff; background:var(--panel3);
  border:1px solid var(--bd2); border-radius:5px; padding:2px 6px; min-width:30px; text-align:center; }
.plr .ppos.G { background:#243; border-color:#2f5; color:#8f8; }
.plr .ppos.D { background:#234; border-color:#39f; color:#9cf; }
.plr .pname { font-size:13.5px; font-weight:600; }

/* ---------- podium / trophy case ---------- */
.podium { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:14px; align-items:end; }
.pod { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:18px 16px; text-align:center; }
.pod .medal { font-size:30px; }
.pod .rk { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:12px; color:var(--mut); }
.pod .pt { font-size:19px; font-weight:700; font-family:"Oswald",sans-serif; text-transform:uppercase; margin:4px 0 2px; }
.pod.gold { border-color:var(--gold); background:linear-gradient(180deg,rgba(231,193,75,.12),var(--panel)); padding-top:26px; }
.trophycase { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.trophy { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:18px; position:relative; }
.trophy::before { content:"\1F3C6"; position:absolute; right:14px; top:12px; font-size:22px; opacity:.85; }
.trophy .yr { font-family:"Oswald",sans-serif; font-size:30px; font-weight:700; color:var(--gold); }
.trophy .tm { font-weight:700; font-size:16px; text-transform:uppercase; font-family:"Oswald",sans-serif; }
.trophy .ow { color:var(--mut); font-size:13px; }
.trophy .rec { color:var(--dim); font-size:12px; margin-top:6px; }

/* ---------- news / blog ---------- */
.postlist { display:flex; flex-direction:column; gap:14px; }
.postcard { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:18px 20px; }
a.postcard:hover { text-decoration:none; border-color:var(--red); }
.postmeta { color:var(--mut); font-size:12.5px; display:flex; gap:10px; flex-wrap:wrap; align-items:center;
  font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.postcard h3 { margin:6px 0 6px; font-size:22px; text-transform:uppercase; }
.postcard p { color:var(--mut); margin:0; }
.tag { display:inline-block; font-size:10px; padding:2px 8px; border-radius:5px; letter-spacing:.05em;
  background:rgba(228,20,29,.16); color:#ff8288; border:1px solid rgba(228,20,29,.4); font-family:"Oswald",sans-serif;
  text-transform:uppercase; font-weight:700; }
/* home blog feature */
.feed { display:grid; grid-template-columns:1.7fr 1fr; gap:16px; align-items:start; }
.postcard.feature { padding:24px 26px; border-top:3px solid var(--red);
  background:linear-gradient(180deg,rgba(228,20,29,.06),var(--panel) 42%); }
.postcard.feature .kicker { font-family:"Oswald",sans-serif; font-size:11px; font-weight:800; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red2); }
.postcard.feature h3 { font-size:28px; margin:8px 0 8px; }
.postcard.feature p { color:#cfd3db; font-size:15px; }
.postcard.feature .more { display:inline-block; margin-top:12px; color:#ff5b62; font-family:"Oswald",sans-serif;
  font-weight:800; text-transform:uppercase; letter-spacing:.05em; font-size:13px; }
.feedside { display:flex; flex-direction:column; gap:12px; }
.feedside .postcard { padding:14px 16px; }
.feedside .postcard h3 { font-size:16px; margin:5px 0 0; }
.feedside .allposts { align-self:flex-start; }
@media (max-width:820px){ .feed { grid-template-columns:1fr; } }

.article { max-width:780px; }
.article h1 { font-size:36px; line-height:1.08; margin:8px 0 10px; text-transform:uppercase; }
.article .postmeta { margin-bottom:22px; }
.article h2 { font-size:24px; margin:32px 0 10px; text-transform:uppercase; }
.article h3 { font-size:18px; margin:22px 0 8px; text-transform:uppercase; }
.article p, .article li { color:#d3d6dd; }
.article blockquote { margin:18px 0; padding:12px 18px; border-left:4px solid var(--red);
  background:var(--panel); border-radius:0 10px 10px 0; color:var(--tx); font-size:16px; }
.article table { width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--bd);
  border-radius:10px; overflow:hidden; margin:16px 0; }
.article th, .article td { padding:9px 12px; text-align:left; border-bottom:1px solid var(--bd); font-size:14px; }
.article th { background:var(--panel2); color:var(--mut); text-transform:uppercase; font-size:11px; letter-spacing:.04em;
  font-family:"Oswald",sans-serif; }
.article tr:last-child td { border-bottom:none; }
.backlink { display:inline-block; margin:0 0 18px; color:var(--mut); font-size:12px; text-transform:uppercase;
  letter-spacing:.05em; font-family:"Oswald",sans-serif; }

/* ---------- power rankings ---------- */
.prlist { display:flex; flex-direction:column; gap:10px; }
.prrow { display:flex; align-items:center; gap:16px; background:var(--panel); border:1px solid var(--bd);
  border-radius:12px; padding:14px 18px; }
.prrow .prk { font-family:"Oswald",sans-serif; font-size:34px; font-weight:700; color:var(--red2); min-width:44px; text-align:center; }
.prrow .pbody { flex:1; min-width:0; }
.prrow .pbody h3 { margin:0; font-size:18px; text-transform:uppercase; }
.prrow .pbody p { margin:2px 0 0; color:var(--mut); font-size:13.5px; }
.prrow .prec { font-family:"Oswald",sans-serif; font-weight:600; color:var(--tx); text-align:right; white-space:nowrap; }
.prrow .prec small { display:block; color:var(--dim); font-weight:400; font-size:11.5px; }
.trend-up { color:var(--grn); } .trend-down { color:var(--red2); } .trend-flat { color:var(--dim); }

/* ---------- matchups ---------- */
.mklist { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.mk { background:var(--panel); border:1px solid var(--bd); border-radius:12px; padding:12px 16px; }
.mkrow { display:flex; justify-content:space-between; align-items:center; padding:5px 0; }
.mkrow.win .mname { color:#fff; font-weight:700; }
.mkrow.win .msc { color:var(--red2); }
.mkrow .mname { font-size:14px; color:var(--mut); }
.mkrow .msc { font-family:"Oswald",sans-serif; font-weight:700; font-size:16px; }
.mk .mkvs { border-top:1px solid var(--bd); margin:4px 0; }

/* ---------- poll ---------- */
.poll { background:var(--panel); border:1px solid var(--bd); border-left:4px solid var(--red);
  border-radius:12px; padding:18px 20px; margin:20px 0; }
.poll h3 { margin:0 0 4px; font-size:18px; text-transform:uppercase; }
.poll .polllead { color:var(--mut); font-size:13.5px; margin:0 0 14px; }
.pollopt { display:flex; align-items:center; gap:12px; border:1px solid var(--bd); border-radius:10px;
  padding:12px 14px; margin:8px 0; cursor:pointer; background:var(--panel2); transition:border-color .15s, background .15s; }
.pollopt:hover { border-color:var(--bd2); }
.pollopt input { accent-color:var(--red); width:18px; height:18px; flex:0 0 auto; }
.pollopt .plabel { font-family:"Oswald",sans-serif; font-weight:600; font-size:15px; letter-spacing:.02em; }
.pollopt .psub { display:block; color:var(--mut); font-size:12px; font-weight:400; font-family:"Inter",sans-serif; }
.pollopt.sel { border-color:var(--red); background:rgba(228,20,29,.10); }
.pollactions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:12px; }
.pollmsg { color:var(--grn); font-family:"Oswald",sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.04em; }
.pollname { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:12px; padding-top:12px;
  border-top:1px dashed var(--bd); }
.pollname input[type=text] { flex:1; min-width:180px; background:var(--panel3); border:1px solid var(--bd2);
  color:var(--tx); border-radius:8px; padding:10px 12px; font:15px "Inter",sans-serif; }
.pollname input[type=text]:focus { outline:none; border-color:var(--red); }
/* live results */
.pollresults { margin-top:16px; padding-top:14px; border-top:1px solid var(--bd); }
.pollresults h4 { margin:0 0 10px; font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:13px;
  letter-spacing:.08em; color:var(--mut); display:flex; justify-content:space-between; }
.pres { margin:0 0 12px; }
.pres .prhead { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:5px; }
.pres .prname { font-family:"Oswald",sans-serif; font-weight:600; font-size:14px; }
.pres .prcount { font-family:"Oswald",sans-serif; color:var(--mut); font-size:13px; white-space:nowrap; }
.pres .prtrack { background:var(--panel3); border-radius:6px; height:22px; overflow:hidden; border:1px solid var(--bd); }
.pres .prfill { height:100%; background:linear-gradient(90deg,var(--reddk),var(--red2)); border-radius:6px;
  min-width:2px; transition:width .4s ease; }
.pres.lead .prfill { background:linear-gradient(90deg,#b8901f,var(--gold)); }
.pres .prvoters { margin:6px 0 0; display:flex; flex-wrap:wrap; gap:6px; }
.voterchip { font-size:11px; font-family:"Oswald",sans-serif; letter-spacing:.02em; background:var(--panel3);
  border:1px solid var(--bd2); border-radius:999px; padding:2px 9px; color:var(--tx); }
.voterchip.you { border-color:var(--red); color:#ff8288; }

/* venmo QR */
.venmopay { display:flex; gap:18px; align-items:center; justify-content:center; flex-wrap:wrap; text-align:center; }
.venmoqr { width:132px; height:132px; background:#fff; border-radius:10px; padding:8px; flex:0 0 auto;
  border:1px solid var(--bd2); }
.venmoqr img, .venmoqr svg { display:block; width:100%; height:100%; }
.venmopay .vp { min-width:180px; flex:1; text-align:left; }

/* ---------- payout / fee cards ---------- */
.paylist { list-style:none; margin:6px 0 0; padding:0; }
.paylist li { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--bd); }
.paylist li:last-child { border-bottom:none; }
.paylist .amt { font-family:"Oswald",sans-serif; font-weight:700; color:var(--red2); white-space:nowrap; }

/* ---------- footer ---------- */
.sitefoot { border-top:1px solid var(--bd); margin-top:44px; box-shadow:0 -1px 0 rgba(228,20,29,.3); }
.sitefoot .inner { max-width:var(--maxw); margin:0 auto; padding:26px 22px; color:var(--mut); font-size:12.5px;
  display:flex; gap:16px; justify-content:space-between; flex-wrap:wrap; font-family:"Oswald",sans-serif;
  text-transform:uppercase; letter-spacing:.04em; }
.sitefoot a { color:var(--mut); } .sitefoot a:hover { color:#fff; }

/* ---------- responsive ---------- */
@media (max-width:900px){ .statgrid { grid-template-columns:repeat(2,1fr); } .grid.cols-4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:820px) {
  .grid.cols-3, .grid.cols-2 { grid-template-columns:1fr; }
  .mklist { grid-template-columns:1fr; }
  .trophycase { grid-template-columns:1fr; }
  .hero h1 { font-size:33px; }
  .navtoggle { display:inline-block; }
  .navlinks { display:none; position:absolute; top:60px; left:0; right:0; flex-direction:column;
    align-items:stretch; gap:2px; background:var(--bg); border-bottom:1px solid var(--bd); padding:8px 12px 14px; }
  .navlinks.open { display:flex; }
  .navlinks a { padding:11px 12px; font-size:13px; }
  .kv { grid-template-columns:1fr; } .kv dt { margin-top:8px; }
  .podium { grid-template-columns:1fr; }
}
