/* Generated from shared/tokens.json. Do not edit. */
:root{--ink:#06080F;--ink-2:#080B14;--panel:#0A0E19;--panel-hi:#0D1322;--line:#141D2B;--edge:#6E8391;--muted:#8FA3B3;--ice:#CFEFFF;--ice-2:#E8F6FF;--error:#FF8A7A;--font-display:"Orbitron", system-ui, sans-serif;--font-text:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, sans-serif;--size-body:1.125rem;--size-small:0.9375rem;--size-h3:1.5rem;--size-h2:2.25rem;--size-h1:clamp(2.25rem, 6vw, 3.375rem);--size-line-height:1.6;--size-measure:68ch;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.375rem;--space-7:5rem;--layout-content-max:72rem;--layout-tap-target:44px;--layout-radius:2px;--layout-focus-width:2px;--layout-focus-offset:3px;--accent:#4FA8E0}
/* Shared theme. Reads only token variables (generated into tokens.css from
   shared/tokens.json). No brand hex values in this file. */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ink);color:var(--ice-2);font:var(--size-body)/var(--size-line-height) var(--font-text)}
body{margin:0}
a{color:var(--ice)}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:var(--layout-focus-width) solid var(--accent);outline-offset:var(--layout-focus-offset)}
h1,h2{font-family:var(--font-display);color:var(--ice);line-height:1.15;letter-spacing:.02em}
h1{font-size:var(--size-h1)}h2{font-size:var(--size-h2)}
.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-3);top:var(--space-3);background:var(--panel-hi);padding:var(--space-2) var(--space-3)}
.site-header{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--accent)}
.wordmark{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ice);text-decoration:none}
.lockup{text-decoration:none}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-4)}
nav a{display:inline-block;min-height:var(--layout-tap-target);line-height:var(--layout-tap-target);text-decoration:none}
nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.btn{display:inline-flex;align-items:center;min-height:var(--layout-tap-target);padding:0 var(--space-4);border-radius:var(--layout-radius);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;border:1px solid var(--edge);background:transparent;color:var(--ice)}
.btn--primary{background:var(--accent);color:var(--ink);border-color:var(--accent)}
main{max-width:var(--layout-content-max);margin:0 auto;padding:var(--space-6) var(--space-4)}
main p{max-width:var(--size-measure)}
.preview-banner{background:var(--panel-hi);color:var(--muted);font-size:var(--size-small);padding:var(--space-2) var(--space-4);text-align:center}
.quote{margin:var(--space-6) 0;padding-left:var(--space-4);border-left:2px solid var(--accent)}
.quote blockquote{margin:0;font-size:var(--size-h3);color:var(--ice)}
.quote figcaption{color:var(--muted);font-size:var(--size-small)}
.contact-form{display:grid;gap:var(--space-3);max-width:36rem}
.field{display:grid;gap:var(--space-1)}
.field input,.field textarea{font:inherit;color:var(--ice-2);background:var(--panel);border:1px solid var(--edge);border-radius:var(--layout-radius);padding:var(--space-2) var(--space-3);min-height:var(--layout-tap-target)}
.opt,.note{color:var(--muted);font-size:var(--size-small)}
.site-footer{border-top:1px solid var(--line);padding:var(--space-5) var(--space-4);color:var(--muted);font-size:var(--size-small)}
.family ul{flex-direction:column;gap:var(--space-1)}.family a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.family__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ice)}
address{font-style:normal;margin:var(--space-4) 0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.contact-form__fields{border:0;margin:0;padding:0;display:grid;gap:var(--space-3);min-width:0}
.contact-form__fields[disabled] input,.contact-form__fields[disabled] textarea,.contact-form__fields[disabled] select,.contact-form__fields[disabled] .btn{opacity:.6;cursor:not-allowed}
.field select{font:inherit;color:var(--ice-2);background:var(--panel);border:1px solid var(--edge);border-radius:var(--layout-radius);padding:var(--space-2) var(--space-3);min-height:var(--layout-tap-target)}
.form-off{margin:0;padding:var(--space-3);border:1px solid var(--accent);border-left-width:4px;background:var(--panel);color:var(--ice-2);font-size:var(--size-small)}
.events{margin:var(--space-6) 0}
.event{border:1px solid var(--edge);border-top:3px solid var(--accent);background:var(--panel);padding:var(--space-4);max-width:44rem}
.event h3{margin:0 0 var(--space-3);font-size:var(--size-h3);line-height:1.25;color:var(--ice)}
.event__format{margin:0 0 var(--space-1);color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:var(--size-small)}
.event__facts{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3)}
.event__facts dt{color:var(--muted);font-weight:700}.event__facts dd{margin:0}
.event p{margin:var(--space-2) 0 0}
.field{min-width:0}
.field input,.field textarea,.field select{width:100%;max-width:100%;min-width:0}
.lockup{display:inline-flex;align-items:center;min-height:var(--layout-tap-target)}
@media (max-width:640px){
  .site-header{display:grid;grid-template-columns:1fr auto;gap:0 var(--space-3);padding:var(--space-2) var(--space-3)}
  .site-header nav{grid-column:1/-1;grid-row:2}
  .site-header nav ul{gap:0 var(--space-3);font-size:var(--size-small)}
  .site-header .btn{grid-column:2;grid-row:1;padding:0 var(--space-3)}
  .wordmark{font-size:var(--size-small)}
}
.not-found{min-height:50vh}
.eyebrow-404{font-family:var(--font-display);font-weight:700;letter-spacing:.12em;color:var(--accent);margin:0}
.not-found h1{margin-top:var(--space-2)}
.actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}

/* AI for Missouri page layout (home). Ported from the designer's final concept.
   Token variables only (see shared/tokens.json); no brand hex values here. */
.home{max-width:none;padding:0}
.home p{max-width:none}
.home h2,.home h3,.home p,.home ul,.home ol,.home dl,.home dd,.home figure{margin:0}
.home ul,.home ol{list-style:none;padding:0}
.wrap{max-width:var(--layout-content-max);margin:0 auto;padding:0 var(--space-4)}
.eyebrow{font-size:var(--size-small);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:7px;height:7px;border:1.5px solid var(--accent);transform:rotate(45deg);flex:none}
.h2,.home h2{font-family:var(--font-display);font-size:var(--size-h2);line-height:1.15;color:var(--ice);letter-spacing:.02em;text-wrap:balance}
.lede{font-size:1.25rem;line-height:1.55;max-width:40ch}
.textlink{display:inline-flex;align-items:center;min-height:var(--layout-tap-target);color:var(--ice);font-weight:700}
.home .btn{justify-content:center}

.sec{padding:var(--space-7) 0;border-top:1px solid var(--line)}
.sec--flush{border-top:0}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);align-items:end;margin-bottom:var(--space-5)}
.sec-head .no{grid-column:1/span 2;font-weight:700;font-size:var(--size-small);letter-spacing:.12em;color:var(--accent)}
.sec-head .t{grid-column:3/span 8}
.sec-head .t .h2{margin-top:var(--space-1)}

/* hero: an open book */
.hero{padding:var(--space-6) 0 var(--space-7)}
.book{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--edge);background:var(--panel)}
.book::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:48px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgb(0 0 0 / .45) 50%,transparent);pointer-events:none}
.book::after{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1px solid var(--edge)}
.page{padding:var(--space-6) var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);min-width:0;position:relative}
.page--l{padding-right:var(--space-7)}
.page--r{padding-left:var(--space-7);background:repeating-linear-gradient(180deg,transparent 0 31px,var(--line) 31px 32px)}
.folio{margin-top:auto!important;padding-top:var(--space-4);display:flex;justify-content:space-between;font-size:var(--size-small);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hero h1{margin:0;font-size:var(--size-h1);text-wrap:balance}
.hero h1 .ac{color:var(--accent)}
.kick{font-size:var(--size-h3);line-height:1.3;color:var(--ice);max-width:22ch}
.ctas{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-1)}
.hero .note{font-size:var(--size-small);color:var(--muted)}

/* catalogue card */
.ccard{background:var(--ink);border:1px solid var(--edge);padding:var(--space-3) var(--space-3) var(--space-5);position:relative;box-shadow:8px 8px 0 -1px var(--panel-hi),8px 8px 0 0 var(--line)}
.ccard::after{content:"";position:absolute;left:50%;bottom:var(--space-2);width:14px;height:14px;margin-left:-7px;border-radius:50%;border:1px solid var(--edge);background:var(--panel)}
.ccard .call{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);border-bottom:2px solid var(--accent);padding-bottom:var(--space-1);margin-bottom:var(--space-3);font-weight:700;letter-spacing:.06em;color:var(--ice)}
.ccard .call{flex-wrap:wrap}.ccard .call b{white-space:nowrap}
.ccard .call span{font-size:var(--size-small);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-weight:400}
.home .ccard__title{font-family:var(--font-text);font-weight:700;font-size:var(--size-h3);line-height:1.25;letter-spacing:0;margin-bottom:var(--space-3)}
.ccard dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-3);align-items:baseline}
.ccard dt{font-size:var(--size-small);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ccard .go{margin-top:var(--space-4)}

/* how it works: the Pond band */
.band{background:var(--accent);color:var(--ink);padding:var(--space-7) 0}
.band .eyebrow{color:var(--ink)}
.band .eyebrow::before{border-color:var(--ink)}
.home .band h2{color:var(--ink);margin:var(--space-1) 0 var(--space-5)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.steps li{border-top:2px solid var(--ink);padding-top:var(--space-2)}
.steps .n{font:700 var(--size-h1)/1 var(--font-text)}
.steps h3{font:700 var(--size-h3)/1.25 var(--font-text);margin:var(--space-2) 0 var(--space-1)!important}
.steps p{max-width:32ch}

/* upcoming: coming soon */
.soon{border-top:2px solid var(--ice);padding-top:var(--space-4);display:grid;gap:var(--space-3);max-width:44rem}
.soon p{font-size:1.25rem;line-height:1.55}
.soon__acts{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}

/* formats: catalogue drawers */
.drawers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.drawer{background:var(--panel);border:1px solid var(--edge);padding:var(--space-4) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}
.drawer .holder{align-self:center;border:2px solid var(--edge);padding:10px 18px;font:700 var(--size-small)/1 var(--font-display);letter-spacing:.12em;color:var(--ice);background:var(--ink)}
.drawer .dur{text-align:center;font-size:var(--size-small);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}
.drawer p{color:var(--muted)}
.drawer__act{margin-top:auto!important;padding-top:var(--space-2)}
.drawer__act .btn{width:100%}

/* quote strip */
.qstrip{padding:var(--space-7) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}
.qstrip .quote{max-width:44ch;margin:0 auto;text-align:center;border-left:0;padding:0}
.qstrip .rule{width:48px;margin:0 auto var(--space-3);border-top:2px solid var(--accent)}

/* who comes */
.who{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.who li{border-left:1px solid var(--edge);padding-left:var(--space-3)}
.who h3{font:700 var(--size-body)/1.3 var(--font-text);color:var(--ice);margin-bottom:var(--space-1)!important}
.who p{color:var(--muted);font-size:var(--size-small)}

/* where we gather */
.gather{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-4);align-items:center}
.gather .txt{grid-column:1/span 5;display:flex;flex-direction:column;gap:var(--space-3)}
.mapfig{grid-column:7/span 6}
.mo-map{display:block;width:100%;height:auto;overflow:visible}
.mo-field circle{fill:var(--ice-2);opacity:.3}
.mo-home circle{fill:var(--accent)}
.mo-home .halo{fill:none;stroke:var(--accent);stroke-width:1.2;opacity:.7}
.mo-home text{fill:var(--ice);font:700 15px/1 var(--font-text);letter-spacing:.14em}
.towns li{display:flex;align-items:center;gap:12px}
.towns .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);flex:none}

/* host + about */
.spread{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--edge)}
.spread>div{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.spread>div+div{border-left:1px solid var(--edge)}
.spread p{max-width:44ch}
.bio{display:grid;grid-template-columns:120px 1fr;gap:var(--space-3);align-items:start}
.portrait{display:block;width:120px;height:120px;border-radius:50%;border:2px solid var(--accent);object-fit:cover;background:var(--panel)}
.bio__text{color:var(--ice)}

/* join + questions */
.joinfaq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-5)}
.join{grid-column:1/span 6;background:var(--panel);border:1px solid var(--edge);border-top:3px solid var(--accent);padding:var(--space-4);min-width:0}
.faqcol{grid-column:8/span 5}
.home .join h2,.home .faqcol h2{margin-bottom:var(--space-3)}
.join .lede{font-size:1rem;color:var(--muted);margin-bottom:var(--space-3)}
.join .contact-form{max-width:none}
.join .ask{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}
#join,#ask{scroll-margin-top:var(--space-4)}
/* form honeypot: off-screen for people, still in the HTML for bots */
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;min-height:var(--layout-tap-target);padding:var(--space-2) 0;font-weight:700;color:var(--ice);display:flex;align-items:center}
.faq details p{padding:0 0 var(--space-3);color:var(--ice-2)}
.faq__direct{margin-top:var(--space-4)!important;color:var(--muted);font-size:var(--size-small)}

@media (max-width:799.98px){
  .sec{padding:var(--space-6) 0}
  .sec-head{grid-template-columns:1fr;gap:var(--space-1)}
  .sec-head .no,.sec-head .t{grid-column:auto}
  .hero{padding:var(--space-3) 0 var(--space-6)}
  .book{grid-template-columns:1fr}
  .book::before,.book::after{display:none}
  .page{padding:var(--space-4) var(--space-3)}
  .page--l{padding-right:var(--space-3)}
  .page--r{padding-left:var(--space-3);border-top:1px solid var(--edge)}
  .ctas .btn{flex:1 1 100%}
  .ccard{box-shadow:none}
  .ccard .go .btn{width:100%}
  .drawers,.who,.steps{grid-template-columns:1fr;gap:var(--space-4)}
  .band{padding:var(--space-6) 0}
  .gather{grid-template-columns:1fr}
  .gather .txt,.mapfig{grid-column:auto}
  .mo-home text{font-size:22px}
  .spread{grid-template-columns:1fr}
  .spread>div{padding:var(--space-4) var(--space-3)}
  .spread>div+div{border-left:0;border-top:1px solid var(--edge)}
  .bio{grid-template-columns:96px 1fr}
  .portrait{width:96px;height:96px}
  .joinfaq{grid-template-columns:1fr;gap:var(--space-6)}
  .join,.faqcol{grid-column:auto}
  .join{padding:var(--space-3)}
  .contact-form .btn{width:100%;justify-content:center}
}
