:root{
    --paper:#f5efe3;--paper-2:#efe7d8;--ink:#201c16;--ink-soft:#3a342b;
    --muted:#726a5c;--rule:#d9cfbb;--felt:#12402c;--felt-2:#0e3524;--felt-line:#2c6446;
    --brass:#a9772e;--brass-2:#8a5f22;--cream:#f3ecdd;
    --measure:680px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:'Newsreader',Georgia,serif;font-size:19px;line-height:1.75;-webkit-font-smoothing:antialiased}
  a{color:inherit}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px}
  .col{max-width:var(--measure);margin:0 auto}
  .sans{font-family:'Inter',system-ui,sans-serif}
  .disp{font-family:'Playfair Display',Georgia,serif}
  .kicker{font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-2)}

  /* quiet crisis strip */
  .crisis{background:var(--felt-2);color:#e7ddc7;text-align:center;font-family:'Inter',sans-serif;font-size:12.5px;letter-spacing:.02em;padding:8px 16px}
  .crisis a{color:#f0e6cf;text-decoration:underline;font-weight:600;white-space:nowrap}

  /* masthead */
  header.mast{background:var(--paper);border-bottom:1px solid var(--rule)}
  .mast-in{text-align:center;padding:22px 0 16px}
  .mast .rule-top{height:2px;background:var(--ink);max-width:1080px;margin:0 auto}
  .wordmark{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(26px,5vw,40px);letter-spacing:.02em;line-height:1;margin:14px 0 4px;display:inline-flex;align-items:center;gap:12px}
  .eight{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#3a3a3a,#0c0c0c 72%);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
  .eight span{width:15px;height:15px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:#111}
  .tagline{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
  nav.mnav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:60}
  .mnav-in{display:flex;justify-content:center;align-items:center;position:relative;min-height:46px}
  .nav-brand{display:none;font-family:'Playfair Display',serif;font-weight:900;font-size:17px;color:var(--ink)}
  .mnav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;padding:12px 0}
  .mnav-links a{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);transition:color .15s}
  .mnav-links a:hover{color:var(--brass-2)}
  .mnav-links a.back{color:var(--brass-2)}
  .hamburger{display:none;position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;width:38px;height:34px;padding:7px 6px}
  .hamburger span{display:block;height:2px;width:100%;background:var(--ink);margin:5px 0;border-radius:2px;transition:transform .25s,opacity .2s}
  .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger.open span:nth-child(2){opacity:0}
  .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  @media(max-width:700px){
    .hamburger{display:block}
    .nav-brand{display:block;position:absolute;left:16px;top:50%;transform:translateY(-50%)}
    .mnav-in{min-height:52px}
    .mnav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0;background:var(--paper);border-bottom:1px solid var(--rule);max-height:0;overflow:hidden;transition:max-height .32s ease;box-shadow:0 10px 22px rgba(20,26,20,.1)}
    .mnav-links.open{max-height:420px}
    .mnav-links a{padding:15px 20px;border-bottom:1px solid var(--rule)}
    .mnav-links a:last-child{border-bottom:0}
  }

  /* article */
  article{padding:56px 0 20px}
  .dateline{text-align:center;margin-bottom:20px}
  .dateline .kicker{display:block;margin-bottom:8px}
  .dateline .date{font-family:'Inter',sans-serif;font-size:13px;color:var(--muted);letter-spacing:.04em}
  h1.head{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(34px,6vw,58px);line-height:1.04;letter-spacing:-.01em;text-align:center;margin:0 auto 18px;max-width:14ch}
  .dek{font-family:'Newsreader',serif;font-style:italic;font-size:clamp(19px,2.4vw,23px);color:var(--ink-soft);text-align:center;max-width:34ch;margin:0 auto 26px;line-height:1.45}
  .leadphoto{max-width:460px;margin:6px auto 30px}
  .leadphoto img{width:100%;height:auto;display:block;background:#efe7d8;padding:12px;border:1px solid #cabfa6;box-shadow:0 8px 26px rgba(20,26,20,.22);filter:saturate(0)}
  .leadphoto figcaption{font-family:'Inter',sans-serif;font-size:12.5px;color:var(--muted);margin-top:12px;text-align:center;letter-spacing:.02em;line-height:1.4}
  .leadphoto .yr{font-weight:700;color:var(--brass-2);letter-spacing:.12em;margin-right:9px}
  .bio-portrait{width:104px;height:104px;border-radius:3px;object-fit:cover;display:block;background:#efe7d8;padding:6px;border:1px solid #cabfa6;box-shadow:0 3px 10px rgba(20,26,20,.18);filter:saturate(0)}
  .byline{text-align:center;font-family:'Inter',sans-serif;font-size:12.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0;max-width:420px;margin:0 auto 40px}
  .byline b{color:var(--ink);font-weight:700}
  .story p{margin:0 0 22px}
  .story p:first-of-type::first-letter{font-family:'Playfair Display',serif;font-weight:900;font-size:64px;line-height:.8;float:left;padding:6px 12px 0 0;color:var(--felt)}
  .pull{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(24px,3.6vw,32px);line-height:1.25;color:var(--felt);border-top:2px solid var(--brass);border-bottom:2px solid var(--brass);padding:22px 0;margin:34px 0;text-align:center}
  .signoff{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;color:var(--ink);margin-top:6px}

  .bio{display:flex;gap:20px;align-items:flex-start;max-width:var(--measure);margin:44px auto 0;background:var(--paper-2);border:1px solid var(--rule);border-left:4px solid var(--brass);border-radius:4px;padding:24px 26px}
  .bio-badge{flex-shrink:0;margin-top:2px}
  .bio-name{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;line-height:1.1}
  .bio-role{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--brass-2);margin:4px 0 12px}
  .bio-text p{font-size:16.5px;line-height:1.65;color:var(--ink-soft);margin:0}
  @media(max-width:560px){.bio{flex-direction:column;gap:14px}}

  .divider{max-width:var(--measure);margin:56px auto;text-align:center;color:var(--brass);letter-spacing:.6em;font-size:14px}

  /* ask sal */
  #ask{background:var(--felt);color:var(--cream);padding:62px 0}
  #ask .kicker{color:var(--brass)}
  #ask h2{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(28px,4.6vw,42px);margin:10px 0 8px;color:#fff}
  #ask .sub{font-family:'Newsreader',serif;font-style:italic;color:#d8ccb2;margin-bottom:34px;font-size:18px}
  .qa{border-top:1px solid var(--felt-line);padding-top:26px}
  .q{font-family:'Newsreader',serif;font-style:italic;font-size:20px;color:#ecdfc3;margin-bottom:8px;line-height:1.5}
  .q-who{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#b6a988;margin-bottom:22px}
  .a p{color:#e9e1cf;margin:0 0 18px}
  .a .sign{font-family:'Playfair Display',serif;font-style:italic;color:#fff;font-size:20px}
  .askbox{margin-top:40px;background:rgba(255,255,255,.04);border:1px solid var(--felt-line);border-radius:14px;padding:26px}
  .askbox h3{font-family:'Playfair Display',serif;font-weight:700;font-size:22px;color:#fff;margin-bottom:6px}
  .askbox p.small{font-family:'Inter',sans-serif;font-size:13.5px;color:#c3b795;margin-bottom:16px}
  .askbox textarea,.askbox input{width:100%;background:var(--cream);border:1px solid #d8ccb0;border-radius:9px;padding:12px 14px;font-family:'Newsreader',serif;font-size:17px;color:var(--ink);margin-bottom:12px}
  .askbox textarea{min-height:110px;resize:vertical}
  .askbox button{font-family:'Inter',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;background:var(--brass);color:#231603;border:0;border-radius:9px;padding:13px 22px;cursor:pointer;transition:background .18s}
  .askbox button:hover{background:#c08f3f}
  .askbox .note{font-family:'Inter',sans-serif;font-size:12px;color:#a99c7c;margin-top:10px}

  /* archive */
  #archive{padding:64px 0}
  #archive .head-row{text-align:center;margin-bottom:36px}
  #archive h2{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(26px,4vw,38px);margin-top:8px}
  .arch-list{max-width:760px;margin:0 auto}
  .arch{display:block;padding:26px 0;border-top:1px solid var(--rule);transition:background .15s}
  .arch:last-child{border-bottom:1px solid var(--rule)}
  .arch:hover .arch-h{color:var(--brass-2)}
  .arch .theme{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2)}
  .arch-h{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(22px,3vw,28px);line-height:1.15;margin:7px 0 6px;transition:color .15s}
  .arch .adek{font-family:'Newsreader',serif;font-style:italic;color:var(--muted);font-size:17.5px}

  /* the rack (help system) */
  #rack{padding:64px 0;background:var(--paper)}
  .rack-head{text-align:center;max-width:640px;margin:0 auto 34px}
  #rack h2{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(26px,4vw,38px);margin:8px 0 14px}
  .rack-intro{font-size:17.5px;color:var(--ink-soft);line-height:1.6}
  .rack-grid{display:grid;grid-template-columns:1fr;gap:14px;max-width:820px;margin:0 auto}
  @media(min-width:640px){.rack-grid{grid-template-columns:1fr 1fr}}
  @media(min-width:920px){.rack-grid{grid-template-columns:1fr 1fr 1fr}}
  #rack .shot{display:flex;gap:14px;align-items:flex-start;background:var(--paper-2);border:1px solid var(--rule);border-radius:10px;padding:16px 18px}
  #rack .pb{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:inset -2px -3px 6px rgba(0,0,0,.5),inset 2px 2px 5px rgba(255,255,255,.25)}
  #rack .pip{width:20px;height:20px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:700;font-size:11.5px;color:#161616}
  #rack .shot b{font-family:'Playfair Display',serif;font-weight:700;font-size:18px;display:block;margin-bottom:3px}
  #rack .shot p{font-size:14.5px;line-height:1.5;color:var(--muted)}

  /* back room (subtle help) */
  #backroom{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:56px 0}
  #backroom .inner{max-width:640px;margin:0 auto;text-align:center}
  #backroom .kicker{color:var(--brass-2)}
  #backroom h2{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(24px,3.4vw,32px);margin:10px 0 14px}
  #backroom p{color:var(--ink-soft);font-size:18px;margin-bottom:12px}
  #backroom .lines{margin-top:22px;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink-soft);line-height:1.9}
  #backroom .lines a{color:var(--brass-2);text-decoration:underline;font-weight:600;white-space:nowrap}
  #backroom .lines b{color:var(--ink)}

  /* forms */
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .form-ok{font-family:'Newsreader',serif;font-style:italic;font-size:16.5px;line-height:1.5;color:#cfe0d6;background:var(--felt-2);border:1px solid var(--felt-line);border-radius:10px;padding:14px 16px;margin-top:8px}

  /* newsletter */
  #newsletter{background:var(--felt);color:var(--cream);padding:62px 0}
  .nl-inner{max-width:620px;margin:0 auto;text-align:center}
  #newsletter .kicker{color:var(--brass)}
  #newsletter h2{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(26px,4vw,38px);color:#fff;margin:10px 0 12px}
  #newsletter p{color:#d8ccb2;font-size:18px;margin-bottom:22px}
  .nl-form{display:flex;gap:10px;max-width:470px;margin:0 auto;flex-wrap:wrap;justify-content:center}
  .nl-form input[type=email]{flex:1;min-width:220px;background:var(--cream);border:1px solid #d8ccb0;border-radius:10px;padding:14px 16px;font-family:'Newsreader',serif;font-size:17px;color:var(--ink)}
  .nl-form button{font-family:'Inter',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;background:var(--brass);color:#231603;border:0;border-radius:10px;padding:14px 24px;cursor:pointer;transition:background .18s}
  .nl-form button:hover{background:#c08f3f}
  .nl-form .form-ok{flex-basis:100%;color:#dff3cf}
  .nl-note{font-family:'Inter',sans-serif;font-size:12.5px;color:#a99c7c;margin-top:14px}

  /* footer */
  footer{background:var(--felt-2);color:#cdbf9f;padding:46px 0 54px;font-family:'Inter',sans-serif;font-size:13px}
  footer .fmark{font-family:'Playfair Display',serif;font-weight:900;font-size:22px;color:var(--cream);display:inline-flex;align-items:center;gap:10px;margin-bottom:12px}
  footer p{max-width:620px;line-height:1.7;margin-bottom:10px}
  footer a{color:#e2d6b6;text-decoration:underline}
  .fine{opacity:.8;font-size:12px;margin-top:16px;max-width:640px;line-height:1.65}

/* ---- story pages, archive, faq ---- */
.crumbs{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding:26px 0 0}
.crumbs a{color:var(--brass-2);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs .sep{opacity:.5;margin:0 8px}
.takeaway{max-width:var(--measure);margin:34px auto 0;background:var(--paper-2);border:1px solid var(--rule);border-left:4px solid var(--felt);border-radius:4px;padding:20px 24px}
.takeaway .lab{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--felt);margin-bottom:7px}
.takeaway p{font-size:17.5px;line-height:1.62;color:var(--ink-soft);margin:0}
.pagenav{max-width:var(--measure);margin:40px auto 0;display:flex;gap:14px;justify-content:space-between;font-family:'Inter',sans-serif;font-size:13px}
.pagenav a{display:block;max-width:47%;color:var(--ink-soft);text-decoration:none;border:1px solid var(--rule);border-radius:8px;padding:14px 16px;background:var(--paper-2);transition:border-color .15s}
.pagenav a:hover{border-color:var(--brass)}
.pagenav .lab{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);margin-bottom:5px}
.pagenav .t{font-family:'Playfair Display',serif;font-weight:700;font-size:17px;line-height:1.2;color:var(--ink)}
.pagenav .nx{margin-left:auto;text-align:right}
@media(max-width:560px){.pagenav{flex-direction:column}.pagenav a{max-width:100%}.pagenav .nx{text-align:left}}
.arch{text-decoration:none}
.arch .adate{font-family:'Inter',sans-serif;font-size:12px;color:var(--muted);letter-spacing:.05em;margin-top:8px;display:block}
.archmore{text-align:center;margin-top:32px}
.archmore a{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-2);border-bottom:2px solid var(--brass);padding-bottom:4px;text-decoration:none}
.faq{max-width:var(--measure);margin:0 auto}
.faq details{border-top:1px solid var(--rule);padding:18px 0}
.faq details:last-of-type{border-bottom:1px solid var(--rule)}
.faq summary{font-family:'Playfair Display',serif;font-weight:700;font-size:20px;cursor:pointer;list-style:none;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--brass-2);font-family:'Inter',sans-serif;font-weight:700}
.faq details[open] summary::after{content:"\2013"}
.faq .ans{margin-top:12px;color:var(--ink-soft);font-size:17.5px;line-height:1.65}
#faq{padding:60px 0}
#faq .head-row{text-align:center;margin-bottom:30px}
#faq h2{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(26px,4vw,38px);margin-top:8px}
.archpage{padding:48px 0 20px}
.archpage h1{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(32px,5.4vw,50px);text-align:center;line-height:1.06}
.archpage .sub{font-family:'Newsreader',serif;font-style:italic;text-align:center;color:var(--muted);font-size:19px;max-width:44ch;margin:14px auto 0}
.yrhead{font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2);max-width:760px;margin:44px auto 4px}
