
  /* baseline the host would otherwise not provide */
  :root{
    color-scheme: light dark;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  html{scroll-padding-top: env(safe-area-inset-top, 0px)}
  img{max-width:100%}
  [hidden]{display:none!important}



  :root{
    --surface:#FFFFFF;
    --surface-2:#EFF2F7;
    --surface-3:#ECEFF4;
    --ink:#131720;
    --ink-2:#4A5261;
    --ink-3:#5E6877;
    --line:#E2E5EB;
    --accent:#23406E;
    --accent-soft:#E7EDF7;
    --min:#73303F;
    --min-soft:#F6EAEC;
    --focus:#23406E;
    --quote-bg:#1B3055;
    --quote-fg:#EEF2F8;
    --quote-dim:#9FB3D1;
    --ok:#2E7D5B;
    --bad:#C0392B;

    --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
    --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

    --wrap:1000px;
    --gut:clamp(20px,5vw,64px);
  }
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]){
      --surface:#0F1218;
      --surface-2:#161B24;
      --surface-3:#1D2430;
      --ink:#E9ECF2;
      --ink-2:#A3ADBD;
      --ink-3:#949EAE;
      --line:#262E3B;
      --accent:#8FADE0;
      --accent-soft:#1A2436;
      --min:#DE9AA7;
      --min-soft:#2A1B20;
      --focus:#8FADE0;
      --quote-bg:#16243A;
      --quote-fg:#E9EEF6;
      --quote-dim:#93A7C4;
      --ok:#5FBF92;
      --bad:#F0806F;
    }
  }
  :root[data-theme="dark"]{
    --surface:#0F1218;
    --surface-2:#161B24;
    --surface-3:#1D2430;
    --ink:#E9ECF2;
    --ink-2:#A3ADBD;
    --ink-3:#949EAE;
    --line:#262E3B;
    --accent:#8FADE0;
    --accent-soft:#1A2436;
    --min:#DE9AA7;
    --min-soft:#2A1B20;
    --focus:#8FADE0;
    --quote-bg:#16243A;
    --quote-fg:#E9EEF6;
    --quote-dim:#93A7C4;
    --ok:#5FBF92;
    --bad:#F0806F;
  }

  *{box-sizing:border-box}
  body{
    margin:0;
    background:var(--surface);
    color:var(--ink);
    font-family:var(--sans);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit}
  h1,h2,h3{text-wrap:balance;margin:0}
  :focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

  .band{scroll-margin-top:70px}
  .wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}

  /* ---------- nav ---------- */
  .nav{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:20;
    background:color-mix(in srgb,var(--surface) 88%,transparent);
    backdrop-filter:saturate(1.4) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-in{
    display:flex;align-items:center;gap:8px;
    min-height:54px;flex-wrap:wrap;
  }
  .nav-name{
    font-family:var(--serif);font-weight:600;font-size:16px;
    letter-spacing:-.01em;margin-right:auto;text-decoration:none;
  }
  .nav a.lnk{
    font-size:13px;color:var(--ink-2);text-decoration:none;
    padding:6px 9px;border-radius:4px;transition:color .15s,background .15s;
  }
  .nav a.lnk:hover{color:var(--ink);background:var(--surface-2)}

  /* ---------- hero ---------- */
  .hero{padding-block:clamp(48px,8vw,86px) clamp(28px,4vw,40px)}
  .eyebrow{
    font-family:var(--mono);font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink-3);
  }
  .hero h1{
    font-family:var(--serif);font-weight:700;
    font-size:clamp(38px,7vw,64px);line-height:1.04;
    letter-spacing:-.025em;margin-top:14px;
  }
  .hero .ident{
    font-family:var(--serif);font-size:clamp(19px,2.7vw,25px);
    color:var(--ink-2);margin-top:14px;letter-spacing:-.012em;line-height:1.3;
  }
  .hero .creds{
    font-family:var(--mono);font-size:12px;letter-spacing:.06em;
    color:var(--ink-3);margin-top:11px;
  }
  .hero .lede{
    font-family:var(--serif);font-size:clamp(18px,2.4vw,22px);
    line-height:1.5;color:var(--ink-2);max-width:60ch;margin-top:24px;
  }
  .meta{
    display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;
    font-size:14px;color:var(--ink-2);
  }
  .meta span,.meta a{display:inline-flex;align-items:center;gap:7px}
  .meta a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
  .meta a:hover{border-bottom-color:currentColor}
  .dot{width:4px;height:4px;border-radius:50%;background:var(--ink-3);flex:none}

  /* hero newsletter prompt */
  .hero-nl{
    display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;
    margin-top:30px;padding:14px 0 0;
    border-top:1px solid var(--line);max-width:60ch;
  }
  .hero-nl .k{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--min);
  }
  .hero-nl p{margin:0;font-size:14.5px;color:var(--ink-2)}
  .hero-nl a{
    color:var(--min);text-decoration:none;font-weight:600;
    border-bottom:1px solid color-mix(in srgb,var(--min) 40%,transparent);
    transition:border-color .15s;
  }
  .hero-nl a:hover{border-bottom-color:var(--min)}

  /* credibility band */
  .stats{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(16px,3vw,32px);
    padding-block:clamp(26px,3.4vw,34px);
    border-top:1px solid var(--line);
  }
  .stat .n{
    font-family:var(--serif);font-size:clamp(26px,3.6vw,36px);
    font-weight:700;letter-spacing:-.025em;line-height:1;
    font-variant-numeric:tabular-nums;
  }
  .stat .l{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
    text-transform:uppercase;color:var(--ink-3);margin-top:9px;line-height:1.5;
  }
  @media (max-width:640px){ .stats{grid-template-columns:repeat(2,minmax(0,1fr))} }

  /* offer inquiry links */
  .offer-item .ask{
    display:inline-block;margin-top:11px;text-decoration:none;
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--accent);
    border-bottom:1px solid transparent;transition:border-color .15s;
  }
  .offer-item.min .ask{color:var(--min)}
  .offer-item .ask:hover{border-bottom-color:currentColor}
  .offer-item .ask::after{content:" \2192"}

  /* media kit */
  .kit{display:flex;flex-direction:column;gap:18px;margin-top:20px}
  .kit-item{border:1px solid var(--line);border-radius:5px;padding:16px 18px;background:var(--surface)}
  .kit-item .k{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-3);margin-bottom:9px;
  }
  .kit-item p{margin:0;font-size:14.5px;line-height:1.62;color:var(--ink-2);max-width:78ch}

  /* ---------- two-track split ---------- */
  .tracks{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    margin-top:clamp(36px,6vw,60px);
  }
  .track{
    display:block;text-decoration:none;padding:clamp(24px,3.4vw,34px) 0;
    transition:background .16s;
  }
  .track + .track{border-left:1px solid var(--line);padding-left:clamp(18px,2.2vw,26px)}
  .track:not(:last-child){padding-right:clamp(18px,2.2vw,26px)}
  .track .x-h2{
    font-family:var(--serif);font-size:clamp(21px,2.6vw,26px);
    font-weight:600;letter-spacing:-.015em;margin-top:10px;
  }
  .track p{font-size:14.5px;color:var(--ink-2);margin:10px 0 0}
  .track .go{
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    margin-top:16px;display:inline-block;
  }
  .track.pro .go,.track.pro .eyebrow{color:var(--accent)}
  .track.min .go,.track.min .eyebrow{color:var(--min)}
  .track.pro:hover{background:var(--accent-soft)}
  .track.min:hover{background:var(--min-soft)}
  .track.mid .go,.track.mid .eyebrow{color:var(--ink-2)}
  .track.mid:hover{background:var(--surface-2)}
  .track .go::after{content:" \2192"}

  /* monogram */
  .mono-mark{
    display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border-radius:4px;background:var(--accent);
    color:var(--surface);font-family:var(--serif);font-weight:700;
    font-size:12.5px;letter-spacing:.02em;margin-right:9px;flex:none;
  }
  .nav-name{display:inline-flex;align-items:center}

  /* full-bleed quote band */
  .quote-band{
    background:var(--quote-bg);color:var(--quote-fg);
    padding-block:clamp(56px,8vw,96px);
  }
  .quote-band .k{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--quote-dim);
  }
  .quote-band blockquote{
    margin:20px 0 0;font-family:var(--serif);
    font-size:clamp(24px,4vw,40px);line-height:1.22;
    letter-spacing:-.022em;max-width:24ch;text-wrap:balance;
  }
  .quote-band .src{
    margin-top:22px;font-size:14px;color:var(--quote-dim);max-width:52ch;
  }

  /* topic cards */
  .topics{
    list-style:none;padding:0;margin:0;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
    gap:clamp(18px,2.6vw,26px);
  }
  .topics li{
    padding:0 0 0 16px;border:0;border-left:2px solid var(--accent);
    font-size:14px;color:var(--ink-2);line-height:1.58;
  }
  .topics li:nth-child(5){border-left-color:var(--min)}
  .topics b{
    display:block;color:var(--ink);font-weight:600;
    font-size:15.5px;margin-bottom:5px;letter-spacing:-.005em;
  }

  /* ---------- sections ---------- */
  .band{padding-block:clamp(52px,7vw,82px);border-bottom:1px solid var(--line)}
  .band.alt{background:var(--surface-2)}
  .band-head{margin-bottom:clamp(28px,4vw,42px)}
  .band-head .x-h2{
    font-family:var(--serif);font-size:clamp(28px,4.2vw,40px);
    font-weight:700;letter-spacing:-.022em;margin-top:12px;
  }
  .band-head p{
    font-size:16.5px;color:var(--ink-2);max-width:66ch;margin:16px 0 0;
  }
  .rule-pro{color:var(--accent)}
  .rule-min{color:var(--min)}

  .sub{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink-3);font-weight:500;
    padding-bottom:9px;border-bottom:1px solid var(--line);
    margin-top:clamp(34px,4.5vw,46px);
  }

  /* entry rows: date column + content column */
  .rows{display:flex;flex-direction:column}
  .row{
    display:grid;grid-template-columns:132px 1fr;gap:6px 26px;
    padding-block:16px;border-bottom:1px solid var(--line);
    align-items:start;
  }
  .rows .row:last-child{border-bottom:0}
  .when{
    font-family:var(--mono);font-size:12.5px;color:var(--ink-3);
    font-variant-numeric:tabular-nums;padding-top:3px;white-space:nowrap;
  }
  .what strong{font-weight:600;font-size:16px;display:block;letter-spacing:-.005em}
  .where{font-size:14.5px;color:var(--ink-2);margin-top:2px}
  a.ext{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--ink-2) 38%,transparent);transition:color .15s,border-color .15s}
  a.ext:hover{color:var(--accent);border-bottom-color:var(--accent)}
  .note{font-size:14px;color:var(--ink-2);margin-top:8px}
  .fine{
    font-family:var(--mono);font-size:11.5px;color:var(--ink-3);
    margin-top:7px;line-height:1.7;
  }
  .fine .grp{
    display:inline-block;color:var(--accent);letter-spacing:.14em;
    text-transform:uppercase;font-size:10px;margin-right:9px;
  }
  .row ul{margin:10px 0 0;padding-left:0;list-style:none}
  .row ul li{
    position:relative;padding-left:16px;font-size:14px;
    color:var(--ink-2);margin-top:7px;
  }
  .row ul li::before{
    content:"";position:absolute;left:0;top:9px;
    width:5px;height:1px;background:var(--ink-3);
  }

  /* prose */
  .prose{max-width:66ch}
  .prose p{margin:0 0 17px;color:var(--ink-2);font-size:16px}
  .prose p:last-child{margin-bottom:0}
  .row.topic .when{
    white-space:normal;text-transform:uppercase;letter-spacing:.08em;
    font-size:11px;line-height:1.55;padding-top:5px;
  }
  .offer{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
    gap:clamp(20px,3vw,30px);margin-bottom:clamp(30px,4vw,44px);
  }
  .offer-item{border-top:2px solid var(--accent);padding-top:14px}
  .offer-item.min{border-top-color:var(--min)}
  .offer-item .x-h4{font-size:15.5px;font-weight:600;margin:0;letter-spacing:-.005em}
  .offer-item p{font-size:14px;color:var(--ink-2);margin:7px 0 0;line-height:1.55}
  .badge{
    display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--accent);
    border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);
    border-radius:3px;padding:2px 7px;margin-left:9px;vertical-align:2px;
  }
  .pull.pro{border-left-color:var(--accent)}
  .pull{
    font-family:var(--serif);font-size:clamp(19px,2.5vw,24px);
    line-height:1.45;color:var(--ink);max-width:54ch;
    border-left:2px solid var(--min);padding-left:22px;margin:0 0 26px;
  }

  /* writing lists */
  .writing{list-style:none;padding:0;margin:0}
  .writing li{border-bottom:1px solid var(--line)}
  .writing li:last-child{border-bottom:0}
  .writing a{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 22px;
    align-items:baseline;padding:16px 0;text-decoration:none;color:inherit;
  }
  .writing .t{grid-column:1;font-size:15.5px;font-weight:600;line-height:1.42;transition:color .15s}
  .writing a:hover .t{color:var(--accent)}
  .writing.min a:hover .t{color:var(--min)}
  .writing .rt{
    grid-column:2;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);
    white-space:nowrap;font-variant-numeric:tabular-nums;
  }
  .writing .sum{
    grid-column:1/-1;margin:0;font-size:14px;line-height:1.55;
    color:var(--ink-2);
  }
  @media (max-width:760px){
    .writing a{grid-template-columns:1fr}
    .writing .t,.writing .rt,.writing .sum{grid-column:1}
  }

  /* newsletter feature */
  
  
  
  
  .nl-cta{
    display:inline-block;margin-top:22px;text-decoration:none;
    font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
    color:var(--surface);background:var(--accent);padding:10px 15px;border-radius:4px;
    transition:opacity .15s;
  }
  .nl-cta:hover{opacity:.86}
  .see-all{
    display:inline-block;margin-top:16px;text-decoration:none;
    font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
    color:var(--accent);border-bottom:1px solid transparent;transition:border-color .15s;
  }
  .see-all.min{color:var(--min)}
  .see-all:hover{border-bottom-color:currentColor}
  .see-all::after{content:" \2197"}

  .jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
  .jump a{
    font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
    text-decoration:none;padding:9px 14px;border-radius:4px;border:1px solid;
    transition:background .15s,border-color .15s;
  }
  .jump a::after{content:" \2193";opacity:.7}
  .jump a.to-min{color:var(--min);border-color:color-mix(in srgb,var(--min) 34%,transparent)}
  .jump a.to-min:hover{background:var(--min-soft);border-color:var(--min)}
  .jump a.to-pro{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,transparent)}
  .jump a.to-pro:hover{background:var(--accent-soft);border-color:var(--accent)}

  .work-block{scroll-margin-top:78px}
  .work-block + .work-block{
    margin-top:clamp(46px,6vw,70px);
    padding-top:clamp(38px,5vw,58px);
    border-top:1px solid var(--line);
  }
  .work-head{margin-bottom:clamp(18px,2.4vw,26px)}
  .work-title{
    font-family:var(--serif);font-size:clamp(23px,3.1vw,31px);
    font-weight:700;letter-spacing:-.02em;margin-top:10px;
  }
  .work-head p{font-size:15.5px;color:var(--ink-2);max-width:68ch;margin:14px 0 0}
  .writing{border-top:1px solid var(--line)}

  /* bibliography */
  .biblio{list-style:none;padding:0;margin:0}
  .biblio li{
    font-size:14.5px;color:var(--ink-2);line-height:1.62;
    padding:15px 0 15px 34px;border-bottom:1px solid var(--line);
    position:relative;text-indent:-34px;
  }
  .biblio li:last-child{border-bottom:0}
  .biblio em{color:var(--ink);font-style:italic}

  /* plain listing */
  .plain{list-style:none;padding:0;margin:0}
  .plain li{
    padding:12px 0;border-bottom:1px solid var(--line);
    font-size:15px;display:grid;grid-template-columns:1fr auto;gap:4px 20px;
  }
  .plain li:last-child{border-bottom:0}
  .plain .yr{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
  .plain b{font-weight:600}

  .cols{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,5vw,60px)}

  /* contact */
  .contact-in{display:flex;flex-wrap:wrap;gap:34px 60px;align-items:flex-start}
  .cbit{min-width:180px}
  .cbit .k{
    font-family:var(--mono);font-size:11px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--ink-3);
  }
  .cbit .v{font-size:16px;margin-top:7px}
  .cbit .v a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}
  .cbit .v a:hover{border-bottom-color:var(--accent)}

  footer{padding-block:32px 44px;font-size:13px;color:var(--ink-3)}
  footer .fin{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}

  /* ---------- responsive ---------- */
  @media (max-width:760px){
    .tracks{grid-template-columns:1fr}
    .track + .track{border-left:0;border-top:1px solid var(--line);padding-left:0}
    .track:not(:last-child){padding-right:0}
    .row{grid-template-columns:1fr;gap:3px}
    .when{padding-top:0;margin-bottom:3px}
    .cols{grid-template-columns:1fr}
    .nav a.lnk{padding:6px 7px;font-size:12.5px}
  }
  @media (min-width:761px) and (max-width:1000px){
    .nav a.lnk{padding:6px 6px;font-size:12.5px}
    .nav-name{font-size:15px}
  }
  @media (min-width:761px) and (max-width:800px){
    .nav a.lnk{padding:6px 5px;font-size:12px}
  }

  /* ---------- print ---------- */
  @media print{
    :root{--surface:#fff;--surface-2:#fff;--surface-3:#fff;--ink:#000;--ink-2:#222;--ink-3:#555;--line:#bbb;--accent:#23406E;--min:#73303F}
    .nav,.tracks,.no-print{display:none!important}
    .quote-band{background:none!important;color:#000!important;padding-block:12pt}
    .quote-band .k,.quote-band .src{color:#444!important}
    body{font-size:10.5pt;line-height:1.42}
    .band{padding-block:14pt;border-bottom:0;break-inside:auto}
    .band.alt{background:#fff}
    .hero{padding-block:0 12pt}
    .hero h1{font-size:23pt}
    .hero .lede{font-size:11pt;margin-top:10pt}
    .band-head .x-h2{font-size:15pt}
    .sub{margin-top:14pt;break-after:avoid}
    .row,.biblio li,.plain li{break-inside:avoid}
    .row{padding-block:7pt}
    .wrap{max-width:none;padding-inline:0}
    @page{margin:14mm}
  }


  /* ============ multipage shell ============ */
  .view{display:block}
  
  

  /* colored page header block */
  .phead{
    background:var(--head-bg);color:var(--head-fg);
    padding-block:clamp(44px,6.5vw,86px);
  }
  .phead .pmark{width:34px;height:34px;display:block;margin-bottom:22px;opacity:.9}
  .phead .eyebrow{color:var(--head-dim)}
  .phead h1{
    font-family:var(--serif);font-weight:700;
    font-size:clamp(34px,6vw,60px);line-height:1.04;
    letter-spacing:-.028em;margin-top:14px;max-width:24ch;
  }
  .phead p{
    margin:22px 0 0;font-size:clamp(15.5px,1.6vw,17.5px);
    line-height:1.6;color:var(--head-dim);max-width:62ch;
  }
  .view.pro{--head-bg:#1B3055;--head-fg:#F2F6FC;--head-dim:#A9BEDC}
  .view.ink{--head-bg:#1D2230;--head-fg:#F2F4F8;--head-dim:#AAB3C4}
  .view.gar{--head-bg:#5E2733;--head-fg:#FBF2F4;--head-dim:#D6A8B2}
  .pbody{padding-block:clamp(38px,5vw,62px)}
  .pbody > .sub:first-of-type{margin-top:0}

  /* ============ home ============ */
  .hhero{background:#1B3055;color:#F2F6FC;padding-block:clamp(40px,5.6vw,74px)}
  .hh-row{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(26px,4.6vw,56px);align-items:center}
  .hh-shot{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:4px;display:block}
  .hhero .eyebrow{color:#93A9CC}
  .hhero h1{
    font-family:var(--serif);font-weight:700;
    font-size:clamp(36px,5.6vw,60px);line-height:1;letter-spacing:-.033em;margin-top:14px;
  }
  .hhero .ident{
    font-family:var(--serif);font-size:clamp(19px,2.5vw,27px);
    color:#BCCEE8;margin-top:16px;letter-spacing:-.015em;line-height:1.25;
  }
  .hhero .creds{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;color:#93A9CC;margin-top:15px}
  .hhero .lede{font-size:clamp(15.5px,1.6vw,17px);line-height:1.62;color:#C7D5EA;max-width:52ch;margin-top:20px}
  .hhero .home-meta{color:#C7D5EA;margin-top:22px}
  .hhero .home-meta a{color:#fff;border-bottom:1px solid rgba(255,255,255,.38)}
  .hhero .home-meta a:hover{border-bottom-color:#fff}
  @media(max-width:760px){ .hh-row{grid-template-columns:1fr} .hh-shot{max-width:280px} }

  .lock{display:flex;align-items:center;gap:16px;margin-bottom:26px}
  .lock .mk{
    width:56px;height:56px;border-radius:8px;background:var(--accent);
    color:#fff;font-family:var(--serif);font-weight:700;font-size:23px;
    display:flex;align-items:center;justify-content:center;flex:none;
  }
  .lock .wm{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}
  .home-hero{padding-block:clamp(40px,6vw,72px) clamp(28px,4vw,44px)}
  .home-hero h1{
    font-family:var(--serif);font-weight:700;
    font-size:clamp(42px,8.5vw,84px);line-height:.98;letter-spacing:-.035em;
  }
  .home-hero .ident{
    font-family:var(--serif);font-size:clamp(20px,3vw,29px);
    color:var(--ink-2);margin-top:18px;letter-spacing:-.015em;line-height:1.25;
  }
  .home-hero .creds{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;
    color:var(--ink-3);margin-top:16px;
  }
  .home-hero .lede{
    font-size:clamp(16px,1.7vw,18px);line-height:1.62;color:var(--ink-2);
    max-width:56ch;margin-top:24px;
  }
  .home-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:24px;font-size:14.5px;color:var(--ink-2)}
  .home-meta a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent}
  .home-meta a:hover{border-bottom-color:currentColor}

  .bigstats{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:clamp(14px,2.6vw,28px);
    padding-block:clamp(34px,4.6vw,52px);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .bigstat .n{
    font-family:var(--serif);font-size:clamp(40px,7vw,76px);font-weight:700;
    line-height:.92;letter-spacing:-.04em;font-variant-numeric:tabular-nums;
    color:var(--accent);
  }
  .bigstat .l{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink-3);margin-top:12px;line-height:1.55;
  }
  @media (max-width:640px){ .bigstats{grid-template-columns:repeat(2,minmax(0,1fr))} }

  .doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:2px}
  .door{
    display:block;text-decoration:none;color:var(--head-fg);
    background:var(--head-bg);padding:clamp(26px,3.4vw,38px) clamp(20px,2.4vw,30px);
    transition:filter .16s;
  }
  .door:hover{filter:brightness(1.14)}
  .door.pro{--head-bg:#1B3055;--head-fg:#F2F6FC;--head-dim:#A9BEDC}
  .door.ink{--head-bg:#1D2230;--head-fg:#F2F4F8;--head-dim:#AAB3C4}
  .door.gar{--head-bg:#5E2733;--head-fg:#FBF2F4;--head-dim:#D6A8B2}
  .door svg{width:30px;height:30px;display:block;margin-bottom:18px;opacity:.92}
  .door .dk{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--head-dim)}
  .door .x-h2{font-family:var(--serif);font-size:clamp(20px,2.4vw,25px);font-weight:600;margin-top:9px;letter-spacing:-.015em}
  .door p{font-size:14px;line-height:1.55;color:var(--head-dim);margin:11px 0 0}
  .door .go{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:16px;display:inline-block}
  .door .go::after{content:" \2192"}
  @media (max-width:760px){ .doors{grid-template-columns:1fr} }

  .nlblock{
    background:#5E2733;color:#FBF2F4;
    padding-block:clamp(34px,4.6vw,52px);margin-top:2px;
  }
  .nlblock .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#D6A8B2}
  .nlblock .x-h2{font-family:var(--serif);font-size:clamp(26px,4vw,40px);font-weight:700;margin-top:12px;letter-spacing:-.025em}
  .nlblock p{margin:14px 0 0;font-size:15.5px;line-height:1.6;color:#E8CCD3;max-width:54ch}
  .nlblock a.cta{
    display:inline-block;margin-top:22px;background:#FBF2F4;color:#5E2733;
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    padding:11px 16px;border-radius:4px;text-decoration:none;transition:opacity .15s;
  }
  .nlblock a.cta:hover{opacity:.87}

  .quote-band{background:var(--quote-bg);color:var(--quote-fg);padding-block:clamp(52px,7vw,88px)}
  .quote-band .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--quote-dim)}
  .quote-band blockquote{
    margin:20px 0 0;font-family:var(--serif);
    font-size:clamp(23px,3.6vw,39px);line-height:1.2;
    letter-spacing:-.025em;max-width:none;text-wrap:balance;
  }
  .quote-band .src{margin-top:22px;font-size:14px;color:var(--quote-dim);max-width:52ch}

  /* figure */
  .fig{margin:26px 0 8px;padding:0}
  .fig svg{width:100%;max-width:660px;height:auto;color:var(--ink)}
  .fig .ln-ok{stroke:var(--ok)}
  .fig .ln-bad{stroke:var(--bad)}
  .fig .tx-ok{fill:var(--ok)}
  .fig .tx-bad{fill:var(--bad)}
  .fig figcaption{
    font-size:13.5px;line-height:1.6;color:var(--ink-2);
    margin-top:12px;max-width:70ch;
  }

  .nav a.lnk.on{color:var(--ink);background:var(--surface-2)}

  @media print{
    .hasjs .view{display:block!important}
    .phead,.door,.nlblock{background:none!important;color:#000!important}
    .phead .eyebrow,.phead p{color:#333!important}
  }

/* ============ article pages ============ */
.crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px;opacity:.85}
.crumbs a{text-decoration:none;border-bottom:1px solid currentColor}
.byline{font-family:var(--mono);font-size:12px;letter-spacing:.04em;margin-top:16px;opacity:.85}
.brief{background:var(--surface-2);border-left:3px solid var(--accent);padding:16px 20px;margin:0 0 30px;max-width:68ch;border-radius:0 4px 4px 0}
.brief .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.brief p{margin:0;font-size:16px;color:var(--ink)}
.prose{max-width:68ch;font-family:var(--serif);font-size:18px;line-height:1.7}
.prose p{margin:0 0 1.15em}
.prose .x-h2{font-size:26px;line-height:1.25;margin:1.7em 0 .6em;letter-spacing:-.012em}
.prose .x-h3{font-size:21px;line-height:1.3;margin:1.5em 0 .5em}
.prose ul,.prose ol{margin:0 0 1.15em;padding-left:1.3em}
.prose li{margin-bottom:.45em}
.prose blockquote{margin:1.4em 0;padding-left:18px;border-left:3px solid var(--line);color:var(--ink-2);font-style:italic}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose a{color:var(--accent)}
.artfoot{max-width:68ch;margin-top:38px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.artfoot p{margin:0 0 10px}
.artfoot a{color:var(--accent)}
.faq{margin-top:10px;max-width:72ch}
.faq .x-h4{font-family:var(--serif);font-size:19px;margin:22px 0 6px;line-height:1.3}
.faq p{margin:0;color:var(--ink-2)}
.nav a.lnk.on{color:var(--ink);background:var(--surface-2)}

.related{max-width:68ch;margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}
.related .x-h2{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin:0 0 10px}
.related ul{list-style:none;margin:0;padding:0}
.related li{margin:0 0 8px}
.related a{font-family:var(--serif);font-size:17px;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line)}
.related + .artfoot{margin-top:26px}
