/* Shared design system — used by case-study pages under /work/ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#f7f3ec;--paper:#fffdf7;--ink:#241d18;--ink-soft:#3c352d;--muted:#6b6055;
  --faint:#938778;--line:#e0d7c8;--line-strong:#cabfac;--accent:#b55334;
  --accent-dark:#8c3c22;--accent-wash:#f0e3da;--maxw:1180px;
}
html[data-theme="dark"]{
  --bg:#1a1714;--paper:#221d19;--ink:#f0e9df;--ink-soft:#d8cfc2;--muted:#a99d8d;
  --faint:#7d7264;--line:#352d25;--line-strong:#4a3f34;--accent:#d2683f;
  --accent-dark:#b9532e;--accent-wash:#2b2119;
}
html[data-theme="dark"] nav{background:rgba(26,23,20,0.9);}
html[data-theme="dark"] .nav-back:hover,
html[data-theme="dark"] .pdf-btn:hover{color:#fdf6ee;}
body{transition:background-color .3s ease,color .3s ease;}

/* Theme toggle */
.nav-right{display:flex;align-items:center;gap:1.1rem;}
.theme-toggle{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.1rem;line-height:1;padding:.2rem;transition:color .2s,transform .3s;}
.theme-toggle:hover{color:var(--accent);transform:rotate(15deg);}
.theme-toggle::before{content:'\263E';}
html[data-theme="dark"] .theme-toggle::before{content:'\2600';}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Public Sans',sans-serif;font-weight:300;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;}
.topbar{height:5px;background:var(--accent);}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(var(--line-strong) 1px,transparent 1.6px);background-size:30px 30px;opacity:.14;}
@media print{body::before{display:none!important;}}
.wrap{max-width:920px;margin:0 auto;padding:0 2.5rem;}

/* NAV */
nav{position:sticky;top:0;z-index:90;background:rgba(247,243,236,0.9);backdrop-filter:blur(10px);border-bottom:2px solid var(--ink);}
.nav-inner{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 2.5rem;}
.logo{font-family:'Newsreader',serif;font-size:1.4rem;font-weight:500;letter-spacing:-.01em;text-decoration:none;color:var(--ink);}
.logo span{color:var(--accent);}
.nav-back{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;text-decoration:none;color:var(--paper);background:var(--ink);padding:.55rem 1.1rem;transition:background .2s;}
.nav-back:hover{background:var(--accent);}

/* BREADCRUMB */
.crumbs{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:500;padding:2rem 0 0;}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--accent);}
.crumbs span{color:var(--accent);}

/* ARTICLE */
article{padding:1.5rem 0 4rem;}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:1.5rem 0 1rem;}
h1.title{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.08;letter-spacing:-.01em;margin-bottom:1.4rem;}
.lede{font-size:1.25rem;color:var(--ink-soft);line-height:1.6;margin-bottom:2.2rem;font-weight:300;}
.meta-row{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;padding:1.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:2.5rem;}
.meta-row .m h4{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:.3rem;font-weight:600;}
.meta-row .m p{font-size:.95rem;color:var(--ink);}
article h2{font-family:'Newsreader',serif;font-weight:500;font-size:1.7rem;margin:2.4rem 0 1rem;letter-spacing:-.01em;}
article p{font-size:1.08rem;color:var(--ink-soft);line-height:1.8;margin-bottom:1.2rem;}
article strong{font-weight:600;color:var(--ink);}
article ul{list-style:none;margin:.4rem 0 1.4rem;}
article ul li{position:relative;padding-left:1.4rem;margin-bottom:.6rem;color:var(--muted);font-size:1.02rem;line-height:1.6;}
article ul li::before{content:'';position:absolute;left:0;top:.62rem;width:7px;height:7px;background:var(--accent);}
.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.8rem 0;}
.tag{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-dark);border:1px solid var(--line-strong);padding:.3rem .7rem;font-weight:500;}
.pdf-btn{display:inline-block;margin-top:1rem;margin-right:.6rem;padding:.8rem 1.6rem;border:1.5px solid var(--accent);color:var(--accent);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none;transition:all .2s;}
.pdf-btn:hover{background:var(--accent);color:var(--paper);}

/* Inline PDF reader — keeps the document on-site inside the page */
.pdf-embed{margin:1.2rem 0 1.4rem;border:1px solid var(--line-strong);background:var(--paper);box-shadow:0 10px 30px rgba(36,29,24,.07);}
.pdf-embed iframe{display:block;width:100%;height:85vh;min-height:540px;border:0;}
.pdf-note{font-size:.85rem;color:var(--faint);margin-bottom:1rem;}
@media(max-width:900px){.pdf-embed iframe{height:70vh;min-height:420px;}}
.backlink{display:inline-block;margin-top:3rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none;font-weight:600;}
.backlink:hover{color:var(--accent-dark);}

/* FOOTER — a sign-off, not a second nav */
footer{border-top:2px solid var(--ink);}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:2.6rem 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.1rem 2.5rem;flex-wrap:wrap;}
.footer-thanks{font-family:'Newsreader',serif;font-style:italic;font-size:1.18rem;line-height:1.45;color:var(--ink);max-width:30rem;}
.footer-meta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.footer-cta{color:var(--accent);text-decoration:none;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-bottom:1.5px solid var(--accent);padding-bottom:.15rem;white-space:nowrap;}
.footer-cta:hover{color:var(--accent-dark);}
.footer-email{color:var(--muted);text-decoration:none;font-size:.85rem;}
.footer-email:hover{color:var(--accent);}
.footer-inner .fcopy{font-size:.72rem;letter-spacing:.06em;color:var(--faint);}

@media(max-width:900px){
  body{font-size:16px;}
  .wrap{padding:0 1.5rem;}
  .nav-inner{padding:1rem 1.5rem;}
  .footer-inner{padding:1.5rem;}
}

/* Respect users who prefer reduced motion */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}

/* Back to top */
.back-top{position:fixed;bottom:1.6rem;right:1.6rem;z-index:80;width:44px;height:44px;background:var(--paper);border:1.5px solid var(--ink);color:var(--ink);font-size:1.1rem;line-height:1;cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s,color .2s;}
.back-top.show{opacity:1;transform:none;pointer-events:auto;}
.back-top:hover{background:var(--accent);color:var(--paper);border-color:var(--accent);}

/* ===== Top-level section nav links ===== */
.nav-links{display:flex;gap:1.6rem;list-style:none;}
.nav-links a{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;font-weight:500;position:relative;padding:.2rem 0;transition:color .2s;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1.5px;background:var(--accent);transition:width .25s;}
.nav-links a:hover{color:var(--ink);}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%;}
.nav-links a[aria-current="page"]{color:var(--ink);}
@media(max-width:680px){.nav-links{gap:.9rem;}.nav-links a{font-size:.62rem;letter-spacing:.08em;}}
@media(max-width:430px){.nav-links{display:none;}}

/* ===== Work archive (Back Issues) ===== */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;}
.filter{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted);background:none;border:1px solid var(--line-strong);padding:.45rem .9rem;cursor:pointer;transition:all .2s;font-family:inherit;}
.filter:hover{color:var(--ink);border-color:var(--ink);}
.filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.archive{border-top:2px solid var(--ink);}
.issue{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .2s;}
.issue:hover{background:var(--accent-wash);}
.issue-num{font-family:'Newsreader',serif;font-style:italic;font-size:1.5rem;color:var(--accent);}
.issue-kicker{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:.55rem;}
.issue-body h3{font-family:'Newsreader',serif;font-size:1.45rem;font-weight:500;line-height:1.15;margin-bottom:.5rem;}
.issue-body p{font-size:1rem;color:var(--muted);line-height:1.6;margin-bottom:.8rem;}
.issue-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.issue-arrow{font-size:1.2rem;color:var(--accent);opacity:0;transition:opacity .2s,transform .2s;}
.issue:hover .issue-arrow{opacity:1;transform:translate(2px,-2px);}
@media(max-width:680px){.issue{grid-template-columns:1fr;gap:.5rem;}.issue-arrow{display:none;}.issue-num{font-size:1.1rem;}}

/* ===== Notes / Op-Ed desk ===== */
.notes-list{border-top:2px solid var(--ink);margin-top:1rem;}
.note-row{display:block;padding:2rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .2s;}
.note-row:hover{background:var(--accent-wash);}
.note-row .note-meta{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:.5rem;display:flex;gap:1.2rem;flex-wrap:wrap;}
.note-row h2{font-family:'Newsreader',serif;font-size:1.6rem;font-weight:500;line-height:1.14;margin-bottom:.5rem;}
.note-row p{font-size:1.02rem;color:var(--muted);line-height:1.6;}
.note-row .more{display:inline-block;margin-top:.7rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;}
.byline{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:600;padding-top:1rem;border-top:1px solid var(--line);margin-bottom:2rem;}
.byline .b-accent{color:var(--accent);}
article blockquote{border-left:3px solid var(--accent);padding:.3rem 0 .3rem 1.4rem;margin:1.6rem 0;font-family:'Newsreader',serif;font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--ink);}

/* Print edition — clean dossier on Ctrl+P */
@media print{
  @page{margin:1.6cm;}
  html,body{background:#fff!important;color:#000!important;font-size:10.5pt;line-height:1.45;}
  *{box-shadow:none!important;}
  nav,.topbar,.theme-toggle,.crumbs,.pdf-embed,.pdf-btn,.pdf-note,.back-top,.backlink{display:none!important;}
  .wrap{max-width:none!important;padding:0!important;}
  article{padding:0!important;}
  a{color:#000!important;text-decoration:none!important;}
  h1.title{font-size:24pt;}
  article h2{font-size:14pt;color:#000!important;}
  .eyebrow,.meta-row .m h4{color:#000!important;}
  .meta-row{border-color:#000!important;}
  article ul li::before{background:#000!important;}
  footer{border-top:1px solid #000!important;}
}
