/* =============================================================================
   Dr. Jonny Bowden — site.css
   Movement: kinetic typography / print-editorial. Ink on paper, one correcting red.
   ============================================================================= */

/* --- fonts, self-hosted. No CDN. ---------------------------------------- */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/instrumentserif-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;
  src:url(fonts/instrumentserif-italic-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/inter-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fonts/inter-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+1E00-1E9F,U+2020,U+20A0-20AB,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url(fonts/plexmono-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;}

/* --- tokens -------------------------------------------------------------- */
:root{
  --ink:#171614;
  --ink-2:#211f1c;
  --carmine:#b01f24;
  --carmine-lift:#c93a3f;
  --carmine-ink:#d9565b;
  --bone:#efeae1;
  --bone-2:#f7f4ee;
  --ash:#6b675f;
  --rule:rgba(23,22,20,.16);
  --rule-dark:rgba(239,234,225,.20);

  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  --pad:clamp(1.25rem,4vw,3rem);
  --maxw:1220px;
  --narrow:64ch;
  --sec-lg:clamp(5rem,11vw,9rem);
  --sec-sm:clamp(2.5rem,5vw,4rem);
  --nav-h:68px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bone);color:var(--ink);
  font-family:var(--sans);font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
figure,blockquote{margin:0;}
a{color:inherit;}
:focus-visible{outline:3px solid var(--carmine);outline-offset:3px;border-radius:2px;}
.band-ink :focus-visible,.site-foot :focus-visible{outline-color:var(--carmine-ink);}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:1rem;top:1rem;z-index:200;background:var(--ink);color:var(--bone);padding:.7rem 1.1rem;border-radius:2px;}

/* --- layout -------------------------------------------------------------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);}
.wrap-narrow{max-width:76ch;margin-inline:auto;padding-inline:var(--pad);}
section{padding-block:var(--sec-lg);}
section.tight{padding-block:var(--sec-sm);}
.band-ink{background:var(--ink);color:var(--bone);}
.band-ink a{color:var(--bone);}
.band-paper2{background:var(--bone-2);}
.hr{height:1px;background:var(--rule);border:0;margin:0;}

/* --- type ---------------------------------------------------------------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;margin:0 0 .5em;}
h1{font-size:clamp(2.9rem,8.4vw,6.4rem);line-height:.94;}
h2{font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.03;}
h3{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.15;}
h4{font-size:1.15rem;line-height:1.25;}
p{margin:0 0 1.1em;}
.lede{font-size:clamp(1.1rem,1.02rem + .45vw,1.35rem);line-height:1.55;color:var(--ash);max-width:58ch;}
.band-ink .lede{color:rgba(239,234,225,.72);}
.kicker{
  font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--carmine);margin:0 0 1.1rem;display:flex;
  align-items:center;gap:.7rem;
}
.kicker::after{content:"";flex:1;height:1px;background:currentColor;opacity:.35;max-width:5rem;}
.band-ink .kicker{color:var(--carmine-ink);}
.sr-h2{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--carmine);margin:0 0 1.5rem;}
.sub-h2{font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.15;}
.mono{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--ash);}
.band-ink .mono{color:rgba(239,234,225,.6);}
em,.it{font-family:var(--serif);font-style:italic;}

/* --- buttons ------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.8rem;
  font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  padding:1.05rem 1.7rem;border:1px solid var(--ink);background:var(--ink);color:var(--bone);
  cursor:pointer;transition:background .22s ease,color .22s ease,transform .22s ease,border-color .22s ease;
  min-height:48px;
}
.btn:hover{background:var(--carmine);border-color:var(--carmine);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--bone);border-color:var(--ink);}
.band-ink .btn{background:var(--bone);color:var(--ink);border-color:var(--bone);}
.band-ink .btn:hover{background:var(--carmine);border-color:var(--carmine);color:var(--bone);}
.band-ink .btn-ghost{background:transparent;color:var(--bone);border-color:rgba(239,234,225,.45);}
.band-ink .btn-ghost:hover{background:var(--bone);color:var(--ink);}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem;}

/* underline-slide link */
.ul{position:relative;text-decoration:none;display:inline-block;}
.ul::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .3s ease;}
.ul:hover::after{transform:scaleX(1);transform-origin:left;}
.ul-on::after{transform:scaleX(1);}

/* --- header -------------------------------------------------------------- */
.site-head{
  position:sticky;top:0;z-index:60;background:rgba(239,234,225,.94);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--rule);
}
.head-in{display:flex;align-items:center;gap:1.25rem;min-height:var(--nav-h);}
.brand{font-family:var(--serif);font-size:1.3rem;text-decoration:none;letter-spacing:-.01em;white-space:nowrap;}
.brand span{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--carmine);display:block;margin-top:-2px;}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.6rem;}
.nav a{font-size:.9rem;text-decoration:none;color:var(--ink);}
.nav a[aria-current="page"]{color:var(--carmine);}
.nav .btn{padding:.7rem 1.15rem;min-height:42px;color:var(--bone);}
.nav .btn:hover{color:var(--bone);}
.burger{margin-left:auto;display:none;width:46px;height:46px;border:1px solid var(--rule);
  background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);transition:transform .25s ease,opacity .2s ease;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-nav{display:none;border-top:1px solid var(--rule);background:var(--bone);}
.mobile-nav.open{display:block;}
.mobile-nav ul{list-style:none;margin:0;padding:.5rem var(--pad) 1.5rem;}
.mobile-nav li{border-bottom:1px solid var(--rule);}
.mobile-nav a{display:block;padding:1rem 0;text-decoration:none;font-size:1.05rem;}
.mobile-nav .btn{margin-top:1.25rem;width:100%;justify-content:center;}
@media (max-width:900px){ .nav{display:none;} .burger{display:flex;} }

/* --- hero ---------------------------------------------------------------- */
.hero-wrap{height:auto;}
.hero{padding-block:clamp(3.5rem,9vw,7rem) clamp(3rem,7vw,5.5rem);}
.hero .kicker{margin-bottom:1.6rem;}
.hero h1{max-width:15ch;margin-bottom:1.5rem;}
.hero h1 .hline{display:block;}
.hero .lede{max-width:52ch;font-size:clamp(1.12rem,1rem + .6vw,1.45rem);color:var(--ink);opacity:.78;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4rem);align-items:end;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }

/* the ambient myth rotator */
.rotator{border-top:2px solid var(--carmine);padding-top:1.15rem;}
.rotator .rot-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--carmine);margin-bottom:.75rem;}
.rotator .rot-stage{position:relative;min-height:5.2rem;}
.rotator .rot-item{
  position:absolute;inset:0;font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.85rem);
  line-height:1.18;text-decoration:line-through;text-decoration-color:var(--carmine);
  text-decoration-thickness:2px;color:var(--ink);opacity:0;
  transition:opacity .9s ease;
}
.rotator .rot-item.on{opacity:.85;}
.rotator .rot-foot{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--ash);
  margin-top:.9rem;border-top:1px solid var(--rule);padding-top:.8rem;display:flex;
  align-items:center;justify-content:space-between;gap:1rem;}
.rot-pause{font:inherit;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;background:none;border:1px solid var(--rule);color:var(--ash);
  padding:.5rem .85rem;cursor:pointer;min-height:34px;transition:border-color .2s ease,color .2s ease;}
.rot-pause:hover{border-color:var(--carmine);color:var(--carmine);}
.rotator .rot-stage.static{position:static;min-height:0;display:grid;gap:.55rem;}
.rotator .rot-stage.static .rot-item{position:static;font-size:1.05rem;opacity:.85;}

/* --- the correction spine ------------------------------------------------- */
.correction{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(1.25rem,3vw,3rem);align-items:start;border-top:1px solid var(--rule);
  padding:clamp(1.5rem,3vw,2.5rem) 0;margin:0;}
.correction:last-child{border-bottom:1px solid var(--rule);}
@media (max-width:820px){ .correction{grid-template-columns:1fr;gap:.9rem;} }
.correction .claim{font-family:var(--serif);font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.08;
  text-decoration:line-through;text-decoration-color:var(--carmine);text-decoration-thickness:3px;
  text-underline-offset:0;color:#78746e;margin:0;}
.correction .truth{font-size:1.05rem;margin:0;color:var(--ash);}
.band-ink .correction .truth{color:rgba(239,234,225,.75);}
.band-ink .correction{border-color:var(--rule-dark);}
.band-ink .correction .claim{color:rgba(239,234,225,.5);}

/* --- books band ----------------------------------------------------------- */
.shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.2vw,1.75rem);
  align-items:start;margin-top:2.5rem;}
@media (max-width:820px){ .shelf{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:520px){ .shelf{grid-template-columns:repeat(2,minmax(0,1fr));} }
.shelf-item{text-decoration:none;display:block;transition:transform .3s ease;}
.shelf-item:hover{transform:translateY(-8px);}
.shelf-item .ph{aspect-ratio:2/3;}
.shelf-item .t{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;line-height:1.35;
  margin-top:.7rem;color:rgba(239,234,225,.68);}
.shelf-count{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--carmine-ink);}

/* --- media logo band ------------------------------------------------------ */
.logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:1.5rem;
  background:var(--rule);border:1px solid var(--rule);}
@media (max-width:760px){ .logos{grid-template-columns:repeat(2,minmax(0,1fr));} }
.logo-cell{background:var(--bone);padding:1.35rem 1rem;font-family:var(--serif);
  font-size:clamp(1rem,1.6vw,1.35rem);text-align:center;color:var(--ink);opacity:.78;
  display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;}
.band-ink .logos{background:var(--rule-dark);border-color:var(--rule-dark);}
.band-ink .logo-cell{background:var(--ink);color:var(--bone);opacity:.85;}
.band-paper2 .logo-cell{background:var(--bone-2);}
.band-ink .logo-cell .vmark{color:var(--carmine-ink);opacity:1;}
.logo-cell .vmark{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--carmine);opacity:.8;margin-top:.25rem;}

/* --- image placeholders --------------------------------------------------
   Every slot is a real <img> with final alt text and a reserved box, so a
   photograph drops in with a one-line change. The frame prints the brief. */
.ph{position:relative;width:100%;background:
    repeating-linear-gradient(45deg,rgba(23,22,20,.045) 0 8px,transparent 8px 16px),var(--bone-2);
  border:1px solid var(--rule);overflow:hidden;}
.band-ink .ph{background:
    repeating-linear-gradient(45deg,rgba(239,234,225,.05) 0 8px,transparent 8px 16px),rgba(239,234,225,.05);
  border-color:var(--rule-dark);}
.ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ph::after{
  content:attr(data-brief);position:absolute;inset:auto .75rem .75rem .75rem;
  font-family:var(--mono);font-size:.6rem;line-height:1.4;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ash);pointer-events:none;
}
.band-ink .ph::after{color:rgba(239,234,225,.5);}
.ph.filled::after{content:none;}
.ph.r-16x9{aspect-ratio:16/9;} .ph.r-4x3{aspect-ratio:4/3;}
.ph.r-1x1{aspect-ratio:1/1;}   .ph.r-2x3{aspect-ratio:2/3;} .ph.r-3x4{aspect-ratio:3/4;}

/* --- accordion ------------------------------------------------------------ */
.acc{border-top:1px solid var(--rule);margin-top:2.5rem;}
.acc-item{border-bottom:1px solid var(--rule);}
.acc-trigger{
  width:100%;display:flex;align-items:flex-start;gap:1.25rem;text-align:left;background:none;
  border:0;padding:1.5rem 0;cursor:pointer;font:inherit;color:inherit;min-height:56px;
}
.acc-trigger .num{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--carmine);
  padding-top:.45rem;flex:0 0 auto;}
.acc-trigger .lbl{font-family:var(--serif);font-size:clamp(1.2rem,2.1vw,1.6rem);line-height:1.2;flex:1;
  transition:color .2s ease;}
.acc-trigger:hover .lbl{color:var(--carmine);}
.acc-trigger .pm{flex:0 0 auto;width:22px;height:22px;position:relative;margin-top:.5rem;}
.acc-trigger .pm::before,.acc-trigger .pm::after{content:"";position:absolute;background:var(--ink);
  transition:transform .3s ease,opacity .25s ease;}
.acc-trigger .pm::before{left:0;top:10px;width:22px;height:1.5px;}
.acc-trigger .pm::after{left:10px;top:0;width:1.5px;height:22px;}
.acc-trigger[aria-expanded="true"] .pm::after{transform:scaleY(0);opacity:0;}
.acc-body{height:0;overflow:hidden;visibility:hidden;}
.acc-body.open{visibility:visible;}
.acc-body .inner{padding:0 0 1.75rem 3.1rem;max-width:70ch;color:var(--ash);}
@media (max-width:600px){ .acc-body .inner{padding-left:0;} }

/* --- features ------------------------------------------------------------- */
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.75rem,3vw,2.75rem);margin-top:3rem;}
@media (max-width:900px){ .features{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .features{grid-template-columns:1fr;} }
.feature{display:flex;flex-direction:column;}
.feature.lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.5rem,3vw,2.75rem);align-items:center;background:var(--bone-2);
  border:1px solid var(--rule);padding:clamp(1.25rem,2.5vw,2rem);}
@media (max-width:820px){ .feature.lead{grid-template-columns:1fr;} }
.feature .flabel{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--carmine);margin:1.1rem 0 .6rem;}
.feature.lead .flabel{margin-top:0;}
.feature h3{margin-bottom:.6rem;}
.feature p{color:var(--ash);margin-bottom:1rem;}
.feature .more{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;color:var(--carmine);margin-top:auto;}

/* --- story ---------------------------------------------------------------- */
.story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);}
@media (max-width:900px){ .story{grid-template-columns:1fr;} }
.story .body p{font-size:1.08rem;color:rgba(239,234,225,.82);}
.story .body p:first-child::first-letter{
  font-family:var(--serif);font-size:3.6rem;line-height:.8;float:left;padding:.12em .12em 0 0;color:var(--carmine-lift);}
.story .note{font-family:var(--mono);font-size:.74rem;line-height:1.6;color:rgba(239,234,225,.55);
  border-top:1px solid var(--rule-dark);padding-top:1rem;margin-top:1.5rem;}

/* --- video facade --------------------------------------------------------- */
.vid{position:relative;aspect-ratio:16/9;background:var(--ink-2);border:1px solid var(--rule);
  overflow:hidden;cursor:pointer;width:100%;padding:0;display:block;}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s ease;}
.vid:hover img{transform:scale(1.03);opacity:.85;}
.vid .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.vid .play span{width:72px;height:72px;border-radius:50%;background:var(--carmine);display:flex;
  align-items:center;justify-content:center;box-shadow:0 6px 30px rgba(0,0,0,.35);
  transition:transform .3s ease;}
.vid:hover .play span{transform:scale(1.08);}
.vid .play span::after{content:"";border-left:18px solid #fff;border-top:11px solid transparent;
  border-bottom:11px solid transparent;margin-left:5px;}
.vid iframe{width:100%;height:100%;border:0;display:block;}
.vid-cap{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;color:var(--ash);margin-top:.8rem;}
.band-ink .vid-cap{color:rgba(239,234,225,.6);}
.vid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin-top:2.5rem;}
@media (max-width:820px){ .vid-grid{grid-template-columns:1fr;} }
.ep-list{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--rule);}
.band-ink .ep-list{border-color:var(--rule-dark);}
.ep-list li{border-bottom:1px solid var(--rule);}
.band-ink .ep-list li{border-color:var(--rule-dark);}
.ep-list a{display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:baseline;
  padding:1.15rem 0;text-decoration:none;transition:padding-left .25s ease;}
.ep-list a:hover{padding-left:.6rem;}
.ep-list .n{font-family:var(--mono);font-size:.75rem;color:var(--carmine);}
.ep-list .ti{font-family:var(--serif);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.25;}
.ep-list .d{font-family:var(--mono);font-size:.7rem;color:var(--ash);white-space:nowrap;}
.band-ink .ep-list .d{color:rgba(239,234,225,.5);}
@media (max-width:640px){ .ep-list a{grid-template-columns:auto 1fr;} .ep-list .d{grid-column:2;} }

/* --- book cards ----------------------------------------------------------- */
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:clamp(1.75rem,3vw,2.5rem);margin-top:3rem;}
.book{display:flex;flex-direction:column;}
.book .ph{margin-bottom:1rem;}
.book h3{font-size:1.28rem;margin-bottom:.3rem;}
.book .sub{font-size:.92rem;color:var(--ash);margin-bottom:.55rem;line-height:1.45;}
.book .meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--ash);margin-bottom:.7rem;}
.book .blurb{font-size:.95rem;color:var(--ash);}
.book-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);
  gap:clamp(1.5rem,3.5vw,3rem);background:var(--ink);color:var(--bone);padding:clamp(1.5rem,3vw,2.5rem);
  align-items:center;}
@media (max-width:700px){ .book-lead{grid-template-columns:1fr;} }
.book-lead h3{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--bone);}
.book-lead .sub,.book-lead .blurb,.book-lead .meta{color:rgba(239,234,225,.72);}
.badge{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;background:var(--carmine);color:#fff;padding:.35rem .75rem;margin-bottom:.9rem;}

/* --- simple lists / tables ------------------------------------------------ */
.rows{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--rule);}
.rows li{border-bottom:1px solid var(--rule);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);
  gap:1.5rem;padding:1.15rem 0;align-items:baseline;}
@media (max-width:640px){ .rows li{grid-template-columns:1fr;gap:.35rem;} }
.rows .k{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--carmine);}
.rows .v{color:var(--ash);}
.band-ink .rows,.band-ink .rows li{border-color:var(--rule-dark);}
.band-ink .rows .k{color:var(--carmine-ink);}
.band-ink .rows .v{color:rgba(239,234,225,.78);}

/* --- partners ------------------------------------------------------------- */
.partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem);margin-top:2.5rem;}
@media (max-width:760px){ .partners{grid-template-columns:1fr;} }
.partner{border:1px solid var(--rule);padding:1.5rem;background:var(--bone-2);}
.partner .ph{margin-bottom:1.1rem;}
.partner h4{margin-bottom:.2rem;}
.partner .role{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--carmine);margin-bottom:.6rem;}
.partner p{font-size:.9rem;color:var(--ash);margin:0;}

/* --- form ----------------------------------------------------------------- */
.form{display:grid;gap:1.15rem;margin-top:2.25rem;max-width:640px;}
.field{display:grid;gap:.45rem;}
.field label{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(239,234,225,.7);}
.field input,.field select,.field textarea{
  font:inherit;font-size:1rem;color:var(--bone);background:rgba(239,234,225,.05);
  border:1px solid var(--rule-dark);padding:.95rem 1rem;border-radius:0;min-height:50px;width:100%;
  transition:border-color .2s ease,background .2s ease;
}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bone) 50%),
  linear-gradient(135deg,var(--bone) 50%,transparent 50%);
  background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;}
.field select option{color:var(--ink);background:var(--bone);}
.field textarea{min-height:150px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--carmine-lift);background:rgba(239,234,225,.09);}
.field input::placeholder,.field textarea::placeholder{color:rgba(239,234,225,.62);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem;}
@media (max-width:640px){ .form-row{grid-template-columns:1fr;} }
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-note{font-family:var(--mono);font-size:.72rem;line-height:1.65;color:rgba(239,234,225,.55);
  border-left:2px solid var(--carmine);padding-left:1rem;margin-top:.5rem;}
.form-msg{font-family:var(--mono);font-size:.8rem;padding:1rem;border:1px solid var(--rule-dark);margin-top:.5rem;}
.form-msg.ok{border-color:var(--carmine-lift);color:var(--bone);}
.form-msg.bad{border-color:var(--carmine-ink);color:var(--carmine-ink);}

/* --- footer --------------------------------------------------------------- */
.site-foot{background:var(--ink);color:var(--bone);padding-block:clamp(3rem,6vw,5rem) 2rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(1.75rem,3.5vw,3rem);}
@media (max-width:900px){ .foot-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .foot-grid{grid-template-columns:1fr;} }
.site-foot .btn-ghost{color:var(--bone);border-color:rgba(239,234,225,.45);}
.site-foot .btn-ghost:hover{background:var(--bone);color:var(--ink);}
.site-foot .foot-h{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--carmine-ink);margin:0 0 1rem;}
.site-foot ul{list-style:none;margin:0;padding:0;}
.site-foot li{margin-bottom:.6rem;}
.site-foot a{text-decoration:none;color:rgba(239,234,225,.78);font-size:.94rem;}
.site-foot a:hover{color:var(--bone);}
.foot-brand{font-family:var(--serif);font-size:1.6rem;margin-bottom:.4rem;}
.foot-legal{border-top:1px solid var(--rule-dark);margin-top:3rem;padding-top:1.5rem;
  font-family:var(--mono);font-size:.68rem;line-height:1.75;color:rgba(239,234,225,.5);
  display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;}
.disclaimer{max-width:70ch;}

/* --- reveals -------------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(26px);}
.no-js .reveal,.reveal.shown{opacity:1;transform:none;}
noscript .nojs-note{display:block;background:var(--carmine);color:#fff;padding:1rem;
  font-family:var(--mono);font-size:.78rem;text-align:center;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .reveal{opacity:1;transform:none;}
}
