  :root{
    --paper:#F4F2EA;
    --paper-2:#EEEBE0;
    --ink:#1C1B18;
    --ink-soft:#5B584F;
    --ink-faint:#8A8577;
    --rule:#1C1B18;
    --rule-soft:#CDC8B8;
    --green:#1F4D34;
    --green-deep:#143A25;
    --coupon:#E7E3D5;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:"Newsreader",Georgia,serif;font-size:18px;line-height:1.6;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  }
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
  a{color:var(--green);text-decoration:none;}
  a:hover{color:var(--green-deep);text-decoration:underline;text-underline-offset:2px;}
  :focus-visible{outline:2px solid var(--green);outline-offset:2px;}

  /* ---------- Folio ---------- */
  .folio{border-bottom:1px solid var(--rule);font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:11.5px;color:var(--ink-soft);}
  .folio .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 22px;flex-wrap:wrap;}
  .folio b{color:var(--ink);font-weight:700;}

  /* ---------- Masthead ---------- */
  .masthead{padding:26px 0 12px;text-align:center;}
  .mast-orn{display:flex;align-items:center;justify-content:center;gap:16px;font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--ink-soft);margin-bottom:6px;}
  .mast-orn::before,.mast-orn::after{content:"";height:1px;width:56px;background:var(--rule);}
  .nameplate{font-family:"Fraunces",serif;font-weight:900;font-optical-sizing:auto;font-size:clamp(3.1rem,10.5vw,7.2rem);line-height:.86;letter-spacing:-.02em;margin:2px 0 4px;}
  .strap{font-family:"Fraunces",serif;font-style:italic;font-weight:400;font-size:clamp(1rem,2.4vw,1.5rem);color:var(--ink-soft);margin:4px 0 14px;}
  .mast-rule{border:0;border-top:3px solid var(--rule);border-bottom:1px solid var(--rule);height:5px;margin:0;}
  .mast-mottos{display:flex;justify-content:center;align-items:center;gap:26px;font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;color:var(--ink-soft);padding:9px 2px 0;flex-wrap:wrap;}
  .mast-mottos span{display:flex;align-items:center;gap:26px;}
  .mast-mottos span::after{content:"◆";color:var(--green);font-size:8px;}
  .mast-mottos span:last-child::after{content:"";}

  /* ---------- The Premise (was ticker) ---------- */
  .premise{background:var(--ink);color:var(--paper);border-top:1px solid var(--rule);border-bottom:3px double #4a463c;text-align:center;padding:20px 22px;}
  .premise .lbl{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:11px;color:#8fd6a9;margin-bottom:8px;}
  .premise p{font-family:"Fraunces",serif;font-style:italic;font-weight:400;font-size:clamp(1.05rem,2.4vw,1.5rem);line-height:1.35;margin:0 auto;max-width:60ch;color:#f1efe6;}

  /* ---------- Front page ---------- */
  .front{display:grid;grid-template-columns:1fr 320px;gap:0;margin-top:26px;}
  .lead{padding-right:34px;border-right:1px solid var(--rule-soft);}
  .rail{padding-left:26px;}

  .kicker{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:12.5px;font-weight:700;color:var(--green);display:flex;align-items:center;gap:10px;margin-bottom:10px;}
  .kicker::after{content:"";height:1px;flex:1;background:var(--rule-soft);}

  .headline{font-family:"Fraunces",serif;font-weight:900;font-optical-sizing:auto;font-size:clamp(2.05rem,4.7vw,3.4rem);line-height:1.03;letter-spacing:-.015em;margin:0 0 12px;}
  .headline a{color:var(--ink);}
  .headline a:hover{color:var(--green);text-decoration:none;}
  .deck{font-family:"Fraunces",serif;font-style:italic;font-weight:400;font-size:clamp(1.15rem,2.3vw,1.42rem);color:var(--ink-soft);line-height:1.36;margin:0 0 16px;}
  .byline{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:12px;color:var(--ink-soft);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:7px 0;margin-bottom:18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
  .byline b{color:var(--ink);}

  .body-cols{column-count:2;column-gap:30px;column-rule:1px solid var(--rule-soft);}
  .body-cols p{margin:0 0 15px;}
  @media(max-width:720px){.body-cols{column-count:1;}}
  .dropcap::first-letter{font-family:"Fraunces",serif;font-weight:900;float:left;font-size:4.6rem;line-height:.72;padding:6px 10px 0 0;color:var(--green);}
  .readon{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;font-weight:700;}
  .pullquote{font-family:"Fraunces",serif;font-style:italic;font-weight:400;font-size:1.5rem;line-height:1.3;color:var(--green-deep);border-top:3px solid var(--rule);border-bottom:3px solid var(--rule);padding:16px 4px;margin:6px 0 18px;text-align:center;break-inside:avoid;}

  /* ---------- Rail modules ---------- */
  .module{margin-bottom:26px;}
  .module + .module{border-top:1px solid var(--rule-soft);padding-top:22px;}
  .mod-head{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:700;border-bottom:2px solid var(--rule);padding-bottom:6px;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
  .mod-head .dot{color:var(--green);}
  .coffee p{font-size:16px;line-height:1.5;margin:0 0 10px;}
  .coffee .sig{font-family:"Fraunces",serif;font-style:italic;color:var(--ink-soft);font-size:15px;}

  .coupon{background:var(--coupon);border:2px dashed var(--ink);padding:20px 18px;text-align:center;}
  .coupon .lbl{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:11px;color:var(--ink-soft);}
  .coupon h3{font-family:"Fraunces",serif;font-weight:900;font-size:1.55rem;line-height:1.05;margin:6px 0 6px;}
  .coupon p{font-size:15px;line-height:1.45;color:var(--ink-soft);margin:0 0 14px;}
  .cpn-form{display:flex;flex-direction:column;gap:9px;}
  .cpn-form input{font-family:"Newsreader",serif;font-size:16px;padding:11px 12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);width:100%;}
  .btn{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:14px;background:var(--green);color:#F4F2EA;border:1px solid var(--green-deep);padding:12px 14px;cursor:pointer;display:block;text-align:center;transition:background .15s ease;}
  .btn:hover{background:var(--green-deep);color:#F4F2EA;text-decoration:none;}
  .coupon .fine{font-size:12px;color:var(--ink-faint);margin:10px 0 0;font-family:"Archivo Narrow",sans-serif;letter-spacing:.06em;}

  .mind{list-style:none;margin:0;padding:0;}
  .mind li{padding:11px 0;border-bottom:1px solid var(--rule-soft);font-size:16px;line-height:1.38;display:flex;gap:11px;}
  .mind li:last-child{border-bottom:0;}
  .mind .num{font-family:"Fraunces",serif;font-weight:900;font-style:italic;color:var(--green);font-size:1.15rem;line-height:1;}

  /* ---------- Dingbat ---------- */
  .ding{display:flex;align-items:center;justify-content:center;gap:20px;margin:34px 0 26px;color:var(--ink-soft);}
  .ding::before,.ding::after{content:"";height:2px;flex:1;background:var(--rule);}
  .ding span{font-size:20px;filter:grayscale(.15);}
  .ding.bare{gap:0;}

  /* ---------- Recent ---------- */
  .sec-head{font-family:"Fraunces",serif;font-weight:900;font-size:1.5rem;letter-spacing:-.01em;border-bottom:3px double var(--rule);padding-bottom:8px;margin:0 0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
  .sec-head .more{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;}
  .archive{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
  .arc{padding:0 22px;border-left:1px solid var(--rule-soft);}
  .arc:first-child{padding-left:0;border-left:0;}
  .arc:last-child{padding-right:0;}
  .arc .k{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--green);}
  .arc h4{font-family:"Fraunces",serif;font-weight:600;font-size:1.26rem;line-height:1.1;margin:7px 0 8px;}
  .arc h4 a{color:var(--ink);}
  .arc h4 a:hover{color:var(--green);text-decoration:none;}
  .arc p{font-size:15px;line-height:1.44;color:var(--ink-soft);margin:0 0 8px;}
  .arc .date{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;color:var(--ink-faint);}

  /* ---------- About the author ---------- */
  .about{border-top:3px double var(--rule);border-bottom:3px double var(--rule);margin:40px 0;padding:30px 0;display:grid;grid-template-columns:150px 1fr;gap:30px;align-items:center;}
  .portrait{width:150px;height:150px;border:1px solid var(--ink);background:var(--paper-2);display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .portrait span{font-family:"Fraunces",serif;font-weight:900;font-size:3rem;color:var(--green);letter-spacing:-.02em;}
  .about .k{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--green);}
  .about h3{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(1.5rem,3vw,2rem);line-height:1.05;margin:6px 0 10px;}
  .about p{font-size:17px;line-height:1.55;color:var(--ink-soft);margin:0 0 12px;max-width:60ch;}
  .about .sign{font-family:"Fraunces",serif;font-style:italic;font-size:1.15rem;color:var(--ink);}
  .about .socials{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:600;}

  /* ---------- Subscribe band ---------- */
  .band{border:3px double var(--rule);margin:40px 0;padding:34px 26px;text-align:center;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(31,77,52,.03) 12px,rgba(31,77,52,.03) 24px);}
  .band .eyebrow{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--green);font-weight:700;}
  .band h2{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.04;margin:8px auto 10px;max-width:20ch;}
  .band p{font-size:1.05rem;color:var(--ink-soft);max-width:56ch;margin:0 auto 20px;}
  .band-form{display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
  .band-form input{flex:1;min-width:220px;font-family:"Newsreader",serif;font-size:16px;padding:13px 14px;border:1px solid var(--ink);background:var(--paper);}
  .band-form .btn{padding:13px 26px;}

  /* ---------- Footer ---------- */
  footer{border-top:3px solid var(--rule);margin-top:20px;padding:26px 0 40px;}
  .foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;}
  .foot-name{font-family:"Fraunces",serif;font-weight:900;font-size:2rem;letter-spacing:-.01em;}
  .foot-links{display:flex;gap:22px;flex-wrap:wrap;font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.13em;font-size:12px;}
  .colophon{font-family:"Archivo Narrow",sans-serif;letter-spacing:.06em;font-size:11.5px;color:var(--ink-faint);text-transform:uppercase;margin-top:20px;border-top:1px solid var(--rule-soft);padding-top:16px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}

  /* ---------- Responsive ---------- */
  @media(max-width:860px){
    .front{grid-template-columns:1fr;}
    .lead{padding-right:0;border-right:0;}
    .rail{padding-left:0;margin-top:30px;border-top:3px solid var(--rule);padding-top:24px;}
    .archive{grid-template-columns:1fr 1fr;gap:22px 0;}
    .arc{padding:0 18px;}
    .arc:nth-child(odd){padding-left:0;border-left:0;}
  }
  @media(max-width:560px){
    body{font-size:17px;}
    .archive{grid-template-columns:1fr;}
    .arc{padding:18px 0 0;border-left:0;border-top:1px solid var(--rule-soft);}
    .arc:first-child{border-top:0;padding-top:0;}
    .body-cols{column-count:1;}
    .folio .wrap{justify-content:center;text-align:center;}
    .about{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px;}
    .about p{text-align:left;}
  }

  /* ================================================================
     ARTICLE PAGE  (post.html)
     ================================================================ */
  .mast-small{padding:18px 0 10px;text-align:center;border-bottom:1px solid var(--rule);}
  .mast-small .nameplate-sm{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:-.02em;line-height:1;margin:0;}
  .mast-small .nameplate-sm a{color:var(--ink);}
  .mast-small .nameplate-sm a:hover{color:var(--green);text-decoration:none;}
  .mast-small .strap-sm{font-family:"Fraunces",serif;font-style:italic;color:var(--ink-soft);font-size:.95rem;margin:4px 0 0;}

  .article{max-width:760px;margin:0 auto;padding:34px 22px 0;}
  .article .kicker{font-size:12.5px;}
  .article .headline{font-size:clamp(2rem,5.2vw,3.5rem);margin-bottom:14px;}
  .article .deck{font-size:clamp(1.15rem,2.4vw,1.5rem);margin-bottom:18px;}
  .article .prose{font-size:1.08rem;line-height:1.72;}
  .article .prose p{margin:0 0 20px;}
  .article .prose .dropcap::first-letter{font-family:"Fraunces",serif;font-weight:900;float:left;font-size:4.6rem;line-height:.72;padding:6px 10px 0 0;color:var(--green);}
  .article .pullquote{font-size:1.7rem;margin:26px 0;padding:20px 4px;}
  .endmark{text-align:center;color:var(--green);font-size:20px;margin:30px 0 0;letter-spacing:.4em;}

  .post-nav{max-width:760px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:3px double var(--rule);margin-top:34px;}
  .post-nav a{display:block;padding:20px 18px;border-left:1px solid var(--rule-soft);}
  .post-nav a:first-child{padding-left:0;border-left:0;}
  .post-nav a:hover{text-decoration:none;background:var(--paper-2);}
  .post-nav .lbl{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--ink-faint);display:block;margin-bottom:5px;}
  .post-nav .t{font-family:"Fraunces",serif;font-weight:600;font-size:1.1rem;line-height:1.15;color:var(--ink);}
  .post-nav .next{text-align:right;}
  @media(max-width:560px){
    .post-nav{grid-template-columns:1fr;}
    .post-nav a{border-left:0;border-top:1px solid var(--rule-soft);padding:18px 0;}
    .post-nav a:first-child{border-top:0;}
    .post-nav .next{text-align:left;}
  }

  /* ================================================================
     ARCHIVE PAGE  (archive.html)
     ================================================================ */
  .arc-intro{max-width:var(--maxw);margin:0 auto;padding:34px 22px 0;}
  .arc-intro h2{font-family:"Fraunces",serif;font-weight:900;font-size:clamp(2rem,5vw,3rem);line-height:1.03;margin:0 0 8px;}
  .arc-intro p{font-family:"Fraunces",serif;font-style:italic;color:var(--ink-soft);font-size:1.2rem;margin:0 0 6px;max-width:60ch;}
  .arc-count{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;color:var(--ink-faint);}

  .year-head{font-family:"Fraunces",serif;font-weight:900;font-size:1.5rem;border-bottom:3px double var(--rule);padding-bottom:8px;margin:34px 0 0;}
  .arc-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--rule-soft);align-items:start;}
  .arc-row .when{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:11.5px;color:var(--ink-faint);padding-top:6px;}
  .arc-row .k{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--green);}
  .arc-row h3{font-family:"Fraunces",serif;font-weight:600;font-size:1.4rem;line-height:1.12;margin:6px 0 6px;}
  .arc-row h3 a{color:var(--ink);}
  .arc-row h3 a:hover{color:var(--green);text-decoration:none;}
  .arc-row p{font-size:15.5px;line-height:1.45;color:var(--ink-soft);margin:0;max-width:66ch;}
  @media(max-width:560px){
    .arc-row{grid-template-columns:1fr;gap:6px;}
    .arc-row .when{padding-top:0;}
  }

  /* ================================================================
     SHARED
     ================================================================ */
  .backlink{max-width:var(--maxw);margin:0 auto;padding:16px 22px 0;font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;}
  .empty{padding:40px 0;font-family:"Fraunces",serif;font-style:italic;color:var(--ink-soft);}
  @media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important;}}

  /* ================================================================
     MOBILE HEADER — strip it to the nameplate and get to the story.
     The folio, the ornament line, and the mottos all read as one
     tidy line each on desktop, but stack into clutter on a phone.
     ================================================================ */
  @media(max-width:600px){
    .folio{display:none;}
    .mast-orn{display:none;}
    .mast-mottos{display:none;}

    .masthead{padding:22px 0 8px;}
    .nameplate{font-size:clamp(3rem,14vw,4.4rem);margin:0 0 2px;}
    .strap{font-size:1.05rem;margin:6px 0 12px;}

    .premise{padding:16px 18px;}
    .premise .lbl{margin-bottom:6px;}
    .premise p{font-size:1.08rem;}

    .front{margin-top:20px;}
    .lead .kicker{margin-bottom:8px;}
  }

  /* ================================================================
     PODCAST MODULE — a broadcast listing, set as a solid green block
     so it reads as the column's sister project, not another ad.
     ================================================================ */
  .pod{background:var(--green-deep);color:#EDEAE0;padding:20px 18px;}
  .pod .eyebrow{font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:10.5px;color:#8fd6a9;display:flex;align-items:center;gap:8px;}
  .pod .eyebrow::after{content:"";height:1px;flex:1;background:rgba(143,214,169,.35);}
  .pod h3{font-family:"Fraunces",serif;font-weight:900;font-size:1.7rem;line-height:1.02;margin:8px 0 6px;color:#F4F2EA;}
  .pod .tag{font-family:"Fraunces",serif;font-style:italic;font-size:14.5px;line-height:1.35;color:#C6D8CC;margin:0 0 14px;}
  .pod ol{list-style:none;margin:0 0 16px;padding:12px 0 0;border-top:1px solid rgba(244,242,234,.22);}
  .pod li{display:flex;gap:10px;align-items:baseline;padding:5px 0;font-size:14.5px;line-height:1.3;}
  .pod li .n{font-family:"Fraunces",serif;font-style:italic;font-weight:900;color:#8fd6a9;font-size:.95rem;min-width:20px;}
  .pod .btn-pod{display:block;text-align:center;background:var(--paper);color:var(--green-deep);font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:13px;padding:11px 12px;border:1px solid var(--paper);}
  .pod .btn-pod:hover{background:#8fd6a9;border-color:#8fd6a9;color:var(--green-deep);text-decoration:none;}
  .pod .alt{display:block;text-align:center;margin:10px 0 0;font-family:"Archivo Narrow",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#C6D8CC;}
  .pod .alt:hover{color:#fff;}
