:root{
  --navy:#1B2330;
  --slate:#232B36;
  --amber:#E8A23D;
  --fog:#F3EFE6;
  --rust:#8C4A2F;
  --line: rgba(243,239,230,0.14);
  --line-dark: rgba(27,35,48,0.12);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--fog);
  color:var(--navy);
  font-family:'Public Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Fraunces', serif;
  margin:0;
  font-weight:600;
}
a{color:inherit;}
img,svg{display:block;max-width:100%;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- NAV ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:var(--navy);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1120px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px;
}
.nav-mark{
  display:flex; align-items:center; gap:10px;
  color:var(--fog); text-decoration:none;
}
.nav-mark .num{
  font-family:'Fraunces', serif; font-weight:700; font-size:22px;
  color:var(--amber);
}
.nav-mark .word{
  font-size:13px; letter-spacing:0.02em; color:var(--fog); opacity:0.85;
}
.nav-links{
  display:flex; gap:28px; list-style:none; margin:0; padding:0;
}
.nav-links a{
  color:var(--fog); text-decoration:none; font-size:14px; font-weight:500;
  opacity:0.78; transition:opacity .15s ease;
}
.nav-links a:hover{opacity:1;}
.nav-links a.current{opacity:1; border-bottom:1.5px solid var(--amber); padding-bottom:3px;}
.nav-links a:focus-visible, a:focus-visible{
  outline:2px solid var(--amber); outline-offset:3px;
}
@media (max-width:720px){
  .nav-links{display:none;}
}

/* ---------- PAGE HERO (secondary pages) ---------- */
.page-hero{
  background:var(--navy); color:var(--fog);
  padding:64px 24px 56px;
}
.page-hero-inner{max-width:1120px; margin:0 auto;}
.page-hero .kicker{font-size:14px; color:var(--amber); font-weight:600; margin-bottom:16px;}
.page-hero h1{font-size:clamp(36px,6vw,58px); line-height:1.02; max-width:760px;}
.page-hero p{margin-top:18px; font-size:17px; max-width:520px; color:rgba(243,239,230,0.8); line-height:1.6;}

/* ---------- HOME HERO ---------- */
.hero{
  position:relative;
  background:var(--navy);
  color:var(--fog);
  overflow:hidden;
  padding:72px 24px 0;
}
.hero-inner{
  max-width:1120px; margin:0 auto;
  position:relative; z-index:2;
}
.hero-kicker{
  font-size:14px; color:var(--amber); font-weight:600;
  margin-bottom:18px; letter-spacing:0.01em;
}
.hero h1{
  font-size:clamp(48px, 9vw, 104px);
  line-height:0.96;
  letter-spacing:-0.01em;
  max-width:900px;
}
.hero-tag{
  margin-top:22px;
  font-size:19px;
  max-width:480px;
  color:rgba(243,239,230,0.82);
  line-height:1.5;
}
.hero-actions{
  margin-top:34px;
  display:flex; gap:14px; flex-wrap:wrap;
}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 24px;
  font-family:'Public Sans', sans-serif;
  font-weight:600; font-size:15px;
  text-decoration:none;
  border-radius:2px;
  cursor:pointer;
  border:1px solid transparent;
}
.btn-primary{
  background:var(--amber); color:var(--navy);
}
.btn-primary:hover{background:#f0ae52;}
.btn-ghost{
  border-color:rgba(243,239,230,0.4); color:var(--fog); background:transparent;
}
.btn-ghost:hover{border-color:var(--fog);}
.btn-dark{
  background:var(--navy); color:var(--fog);
}
.btn-dark:hover{background:#151b25;}

.ridgeline{
  position:relative;
  margin-top:64px;
  line-height:0;
}
.ridge-glow{
  position:absolute;
  bottom:0; left:50%; transform:translateX(-50%);
  width:640px; height:260px;
  background:radial-gradient(ellipse at bottom, rgba(232,162,61,0.35), rgba(232,162,61,0) 70%);
  pointer-events:none;
}
.ridge-small{margin-top:0;}
.ridge-small svg{height:80px;}

/* ---------- ISSUE STRIP ---------- */
.issue-strip{
  background:var(--slate);
  color:var(--fog);
  border-top:1px solid var(--line);
}
.issue-strip-inner{
  max-width:1120px; margin:0 auto;
  padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:10px;
  font-size:14px;
}
.issue-strip strong{color:var(--amber); font-weight:700;}
.issue-strip a{text-decoration:underline; text-underline-offset:3px;}

/* ---------- SECTION SHELL ---------- */
section{padding:88px 24px;}
.section-inner{max-width:1120px; margin:0 auto;}
.section-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:24px; margin-bottom:48px;
  border-bottom:1px solid var(--line-dark);
  padding-bottom:20px;
}
.section-head h2{font-size:clamp(28px,4vw,38px);}
.section-note{font-size:14px; color:rgba(27,35,48,0.55); max-width:260px; text-align:right;}
@media (max-width:640px){
  .section-head{flex-direction:column; gap:8px;}
  .section-note{text-align:left;}
}

/* ---------- STORYLINES ---------- */
.storylines{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0;
  border:1px solid var(--line-dark);
}
.storyline{
  padding:34px 30px;
  border-right:1px solid var(--line-dark);
}
.storyline:last-child{border-right:none;}
@media (max-width:860px){
  .storylines{grid-template-columns:1fr;}
  .storyline{border-right:none; border-bottom:1px solid var(--line-dark);}
  .storyline:last-child{border-bottom:none;}
}
.storyline .tag{
  font-size:12px; font-weight:700; color:var(--rust);
  margin-bottom:14px; display:block;
}
.storyline h3{font-size:23px; margin-bottom:12px; line-height:1.15;}
.storyline p{
  font-size:15px; line-height:1.6; color:rgba(27,35,48,0.78);
  margin:0 0 16px;
}
.storyline .stat-row{
  display:flex; gap:20px; margin-top:18px;
  padding-top:18px; border-top:1px solid var(--line-dark);
}
.stat{display:flex; flex-direction:column;}
.stat .n{font-family:'Fraunces', serif; font-size:26px; font-weight:600;}
.stat .l{font-size:12px; color:rgba(27,35,48,0.55); margin-top:2px;}

/* ---------- MEC PREVIEW BAND ---------- */
.mec{
  background:var(--navy); color:var(--fog);
}
.mec .section-head{border-bottom-color:var(--line); color:var(--fog);}
.mec .section-note{color:rgba(243,239,230,0.55);}
.mec-grid{
  display:grid; grid-template-columns:1.1fr 1fr; gap:56px;
}
@media (max-width:860px){ .mec-grid{grid-template-columns:1fr; gap:36px;} }
.mec-lede p{
  font-size:17px; line-height:1.7; color:rgba(243,239,230,0.82);
  margin:0 0 18px;
}
.mec-lede strong{color:var(--amber); font-weight:600;}
.mec-list{list-style:none; margin:0; padding:0;}
.mec-list li{
  display:flex; justify-content:space-between; gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-size:14.5px;
}
.mec-list li:first-child{padding-top:0;}
.mec-list .team{font-weight:600;}
.mec-list .note{color:rgba(243,239,230,0.55); text-align:right;}

/* ---------- SCORES TABLE ---------- */
.scores-table{
  width:100%; border-collapse:collapse; margin:20px 0 8px;
  font-size:14.5px;
}
.scores-table th{
  text-align:left; font-weight:600; font-size:11.5px; letter-spacing:0.03em;
  text-transform:uppercase; color:rgba(243,239,230,0.5);
  padding:0 0 10px; border-bottom:1px solid var(--line);
}
.scores-table td{
  padding:13px 0; border-bottom:1px solid var(--line);
  vertical-align:top;
}
.scores-table .team-cell{font-weight:600; white-space:nowrap; padding-right:16px;}
.scores-table .result-cell{color:rgba(243,239,230,0.85);}
.scores-table .w{color:var(--amber); font-weight:700;}
.scores-table .l{color:rgba(243,239,230,0.5); font-weight:700;}
.scores-table-light th{color:rgba(27,35,48,0.5); border-bottom-color:var(--line-dark);}
.scores-table-light td{border-bottom-color:var(--line-dark); color:rgba(27,35,48,0.8);}
.scores-table-light .w{color:var(--rust);}
.scores-table-light .l{color:rgba(27,35,48,0.4);}

/* ---------- ISSUE TEASER CARD (home) ---------- */
.issue-teaser{
  border:1px solid var(--line-dark);
  display:grid; grid-template-columns:220px 1fr;
}
@media (max-width:720px){ .issue-teaser{grid-template-columns:1fr;} }
.issue-teaser .side{
  background:var(--navy); color:var(--fog);
  padding:32px 24px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.issue-teaser .side .num{font-family:'Fraunces', serif; font-size:15px; color:var(--amber); font-weight:600;}
.issue-teaser .side .date{font-size:13px; color:rgba(243,239,230,0.6); margin-top:8px;}
.issue-teaser .body{padding:32px 34px;}
.issue-teaser .body h3{font-size:24px; margin-bottom:12px;}
.issue-teaser .body p{font-size:15.5px; line-height:1.65; color:rgba(27,35,48,0.78); margin:0 0 18px;}
.issue-teaser .link{
  font-weight:600; font-size:14.5px; text-decoration:none;
  border-bottom:1.5px solid var(--rust); padding-bottom:2px; color:var(--rust);
}

/* ---------- ARCHIVE LIST ---------- */
.archive-list{border-top:1px solid var(--line-dark);}
.archive-row{
  display:grid; grid-template-columns:140px 1fr auto;
  gap:24px; align-items:baseline;
  padding:28px 0;
  border-bottom:1px solid var(--line-dark);
  text-decoration:none; color:var(--navy);
}
.archive-row:hover .archive-title{color:var(--rust);}
@media (max-width:640px){
  .archive-row{grid-template-columns:1fr; gap:6px;}
}
.archive-row .meta{font-size:13px; color:rgba(27,35,48,0.5);}
.archive-title{font-family:'Fraunces', serif; font-size:22px; font-weight:600; transition:color .15s ease;}
.archive-desc{font-size:14.5px; color:rgba(27,35,48,0.65); margin-top:6px; max-width:520px;}
.archive-row .arrow{font-size:14px; color:rgba(27,35,48,0.45); white-space:nowrap;}

/* ---------- ISSUE FULL TEXT ---------- */
.issue-full{
  background:#fff;
  border:1px solid var(--line-dark);
  padding:56px;
}
@media (max-width:640px){ .issue-full{padding:32px 22px;} }
.issue-full .masthead{
  text-align:center;
  padding-bottom:32px; margin-bottom:36px;
  border-bottom:2px solid var(--navy);
}
.issue-full .masthead .num{
  font-family:'Fraunces', serif; font-size:15px; letter-spacing:0.04em;
  color:var(--rust); font-weight:600;
}
.issue-full .masthead h3{
  font-size:clamp(30px,5vw,44px); margin-top:8px;
}
.issue-full .masthead .sub{
  font-style:italic; color:rgba(27,35,48,0.6); margin-top:10px; font-size:15px;
}
.article{max-width:640px; margin:0 auto 44px;}
.article:last-child{margin-bottom:0;}
.article h4{
  font-size:22px; margin-bottom:14px; padding-bottom:10px;
  border-bottom:1px solid var(--line-dark);
}
.article p{
  font-size:16px; line-height:1.75; color:rgba(27,35,48,0.85);
  margin:0 0 16px;
}
.article strong{color:var(--navy);}
.pullquote{
  border-left:3px solid var(--amber);
  padding-left:18px; margin:24px 0;
  font-family:'Fraunces', serif; font-size:19px; font-style:italic;
  color:var(--navy);
}
.next-box{
  background:var(--fog); border:1px solid var(--line-dark);
  padding:26px 28px; margin-top:8px;
}
.next-box .tag{font-size:12px; font-weight:700; color:var(--rust); display:block; margin-bottom:10px;}
.next-box ul{margin:0; padding-left:18px; font-size:15px; line-height:1.9; color:rgba(27,35,48,0.8);}
.back-link{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:600; text-decoration:none; color:var(--navy);
  margin-bottom:28px;
}
.back-link:hover{color:var(--rust);}

/* ---------- ABOUT PAGE ---------- */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media (max-width:860px){ .about-grid{grid-template-columns:1fr; gap:36px;} }
.about-grid p{font-size:16.5px; line-height:1.75; color:rgba(27,35,48,0.82); margin:0 0 18px;}
.about-grid h3{font-size:20px; margin-bottom:14px;}
.principles{list-style:none; margin:0; padding:0;}
.principles li{
  padding:20px 0; border-top:1px solid var(--line-dark);
  display:grid; grid-template-columns:32px 1fr; gap:16px;
}
.principles li:last-child{border-bottom:1px solid var(--line-dark);}
.principles .idx{font-family:'Fraunces', serif; color:var(--amber); font-weight:700; font-size:18px;}
.principles h4{font-size:16px; margin-bottom:6px;}
.principles p{font-size:14.5px; color:rgba(27,35,48,0.7); margin:0; line-height:1.6;}

/* ---------- SUBSCRIBE ---------- */
.subscribe{
  background:var(--rust); color:var(--fog); text-align:center;
}
.subscribe h2{font-size:clamp(30px,5vw,46px); max-width:640px; margin:0 auto;}
.subscribe p{font-size:16px; color:rgba(243,239,230,0.85); margin:16px auto 32px; max-width:460px;}
.sub-form{
  display:flex; gap:0; max-width:440px; margin:0 auto;
  border:1.5px solid rgba(243,239,230,0.5);
}
.sub-form input{
  flex:1; border:none; background:transparent; padding:15px 18px;
  color:var(--fog); font-family:'Public Sans', sans-serif; font-size:15px;
}
.sub-form input::placeholder{color:rgba(243,239,230,0.55);}
.sub-form input:focus{outline:none;}
.sub-form button{
  border:none; background:var(--navy); color:var(--fog);
  padding:0 26px; font-weight:600; font-size:14.5px; cursor:pointer;
}
.sub-form button:hover{background:#151b25;}
.sub-note{font-size:12.5px; margin-top:14px; color:rgba(243,239,230,0.65);}

/* ---------- FOOTER ---------- */
footer{
  background:var(--navy); color:rgba(243,239,230,0.6);
  padding:40px 24px; font-size:13.5px;
}
.footer-inner{
  max-width:1120px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
}
.footer-inner .mark{color:var(--amber); font-family:'Fraunces', serif; font-weight:700;}
.footer-links{display:flex; gap:22px; list-style:none; margin:0; padding:0;}
.footer-links a{text-decoration:none;}
.footer-links a:hover{color:var(--fog);}
