/* ECCI site styles. Tokens come from the ECCI design system handoff (tokens/*.css);
   component rules below are static-HTML ports of the React reference components. */

/* ---------- Tokens ---------- */
:root{
  --indigo-900:#1A2050; --indigo-700:#252D6A; --indigo-500:#3D4795; --indigo-100:#DDDFEE;
  --amber-500:#F1A638; --amber-600:#D98D1F; --amber-100:#FBE7C6;
  --sand-300:#E7D1B5; --sand-100:#F5EBDF;
  --white:#FFFFFF; --black:#000000;
  --gray-700:#3F3F44; --gray-500:#6E6E76; --gray-300:#C9C9CF; --gray-100:#EDEDEF;

  --brand-primary:var(--indigo-700); --brand-accent:var(--amber-500); --brand-warm:var(--sand-300);

  --surface-page:var(--white); --surface-alt:var(--sand-100); --surface-warm:var(--sand-300);
  --surface-dark:var(--indigo-700); --surface-dark-bold:var(--indigo-900); --surface-card-warm:var(--sand-100);
  --overlay-scrim:linear-gradient(180deg,rgba(26,32,80,.15) 0%,rgba(26,32,80,.78) 100%);

  --text-body:var(--black); --text-muted:var(--gray-500); --text-heading:var(--indigo-700);
  --text-accent:var(--amber-500); --text-on-dark:var(--white); --text-on-dark-muted:rgba(255,255,255,.72);

  --line-default:var(--gray-300); --line-strong:var(--indigo-700); --line-on-dark:rgba(255,255,255,.28);

  --btn-primary-bg:var(--amber-500); --btn-primary-bg-hover:var(--amber-600); --btn-primary-fg:var(--indigo-700);
  --btn-outline-fg:var(--indigo-700); --btn-outline-border:var(--indigo-700);
  --btn-outline-bg-hover:var(--indigo-700); --btn-outline-fg-hover:var(--white);
  --focus-ring:var(--amber-500);

  --font-display:"Gloock",Georgia,"Times New Roman",serif;
  --font-body:"Inter",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --type-h1-size:clamp(2.75rem,5.2vw,4.75rem); --type-h1-lh:1.04; --type-h1-ls:-0.015em;
  --type-h2-size:clamp(2rem,3.4vw,3.125rem); --type-h2-lh:1.12; --type-h2-ls:-0.01em;
  --type-h3-size:clamp(2.5rem,4vw,3.5rem); --type-h3-lh:1;
  --type-h4-size:1.25rem; --type-h4-lh:1.35;
  --type-lead-size:1.25rem; --type-lead-lh:1.55;
  --type-body-size:1rem; --type-body-lh:1.65;
  --type-small-size:0.8125rem; --type-small-lh:1.5;
  --type-eyebrow-size:0.75rem; --type-eyebrow-ls:0.14em; --type-eyebrow-weight:500;
  --type-button-size:0.875rem; --type-button-ls:0.06em;
  --type-nav-size:0.875rem; --type-nav-ls:0.04em;

  --motion-entrance-duration:1.5s; --motion-entrance-delay:.6s; --motion-entrance-ease:ease;
  --motion-ui-duration:180ms; --motion-ui-ease:ease; --motion-accordion-duration:280ms;
  --motion-fade-offset:16px;

  --grid-gap:11px; --site-max-width:1600px; --content-width-wide:1200px; --content-width-narrow:760px;
  --page-padding:4vw; --header-height:100px;

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --section-py-sm:64px; --section-py-md:96px; --section-py-lg:140px;

  --border-hairline:1px; --rule-width:64px;
  --shadow-media:0 18px 40px rgba(26,32,80,.14);
}
@media (max-width:767px){
  :root{ --page-padding:6vw; --header-height:80px; --section-py-sm:48px; --section-py-md:64px; --section-py-lg:96px; }
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;margin:0;color:var(--text-heading);text-wrap:pretty}
h1{font-size:var(--type-h1-size);line-height:var(--type-h1-lh);letter-spacing:var(--type-h1-ls)}
h2{font-size:var(--type-h2-size);line-height:var(--type-h2-lh);letter-spacing:var(--type-h2-ls)}
h3{font-size:var(--type-h3-size);line-height:var(--type-h3-lh)}
h4{font-family:var(--font-body);font-weight:700;font-size:var(--type-h4-size);line-height:var(--type-h4-lh);color:var(--text-body)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-heading);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--motion-ui-duration) var(--motion-ui-ease)}
a:hover{color:var(--amber-600)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
em.accent{color:var(--text-accent);font-style:italic;padding-inline:.04em}
.lead{font-size:var(--type-lead-size);line-height:var(--type-lead-lh);max-width:58ch;text-wrap:pretty}
.small{font-size:var(--type-small-size);line-height:var(--type-small-lh)}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--amber-500);color:var(--indigo-700);padding:var(--space-3) var(--space-4);z-index:100}
.skip-link:focus{left:0}

/* ---------- Sections ---------- */
.section{position:relative;background:var(--surface-page);color:var(--text-body)}
.section--bright{background:var(--surface-alt)}
.section--warm{background:var(--surface-warm)}
.section--dark,.section--dark-bold,.site-footer{color:var(--text-on-dark)}
.section--dark{background:var(--surface-dark)}
.section--dark-bold{background:var(--surface-dark-bold)}
.section--dark h1,.section--dark h2,.section--dark h4,.section--dark-bold h1,.section--dark-bold h2,.section--dark-bold h4,
.site-footer h4{color:var(--text-on-dark)}
.section--dark a,.section--dark-bold a,.site-footer a{color:var(--white)}
.section--dark a:hover,.section--dark-bold a:hover,.site-footer a:hover{color:var(--amber-500)}
.section__inner{position:relative;max-width:var(--site-max-width);margin:0 auto;padding:var(--section-py-md) var(--page-padding)}
.section--sm .section__inner{padding-block:var(--section-py-sm)}
.section--lg .section__inner{padding-block:var(--section-py-lg)}
.well{max-width:var(--content-width-wide);margin-inline:auto}
.stack{display:grid;gap:var(--space-8)}
.on-dark-muted{color:var(--text-on-dark-muted)}

/* Hero photo under the indigo scrim (--overlay-scrim). The extra left-hand layer keeps the text
   readable over the lit skyline. Flat indigo shows until the image loads. */
.section--hero{background:linear-gradient(90deg,rgba(26,32,80,.78) 0%,rgba(26,32,80,.5) 45%,rgba(26,32,80,0) 78%),var(--overlay-scrim),url(hero-2000.webp) center 72%/cover no-repeat,var(--indigo-700)}
@media (max-width:767px){.section--hero{background:linear-gradient(rgba(26,32,80,.4),rgba(26,32,80,.4)),var(--overlay-scrim),url(hero-900.webp) 62% center/cover no-repeat,var(--indigo-700)}}

/* ---------- Eyebrow + divider ---------- */
.eyebrow{display:flex;flex-direction:column;gap:var(--space-3)}
.eyebrow__label{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:var(--text-heading)}
.eyebrow::after,.divider{content:"";display:block;height:1px;width:var(--rule-width);background:var(--line-default);border:0;margin:0}
.section--dark .eyebrow__label,.section--dark-bold .eyebrow__label{color:var(--text-on-dark)}
.section--dark .eyebrow::after,.section--dark-bold .eyebrow::after,
.section--dark .divider,.section--dark-bold .divider,.site-footer .divider{background:var(--line-on-dark)}

/* ---------- Section heading ---------- */
.heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5)}
.heading>h1,.heading>h2{max-width:var(--hmax,20ch)}
.heading>.lead{margin:0}
.section--dark .lead,.section--dark-bold .lead{color:var(--text-on-dark-muted)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:600;font-size:var(--type-button-size);letter-spacing:var(--type-button-ls);text-transform:uppercase;text-decoration:none;border-radius:0;cursor:pointer;padding:14px 28px;border:1px solid transparent;line-height:1.2;transition:background-color var(--motion-ui-duration) var(--motion-ui-ease),color var(--motion-ui-duration) var(--motion-ui-ease),border-color var(--motion-ui-duration) var(--motion-ui-ease)}
.btn--sm{padding:10px 20px;font-size:.75rem}
.btn--lg{padding:18px 38px;font-size:.9375rem}
.btn--block{width:100%}
.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg)}
.btn--primary:hover{background:var(--btn-primary-bg-hover);color:var(--btn-primary-fg)}
.btn--outline{background:transparent;color:var(--btn-outline-fg);border-color:var(--btn-outline-border)}
.btn--outline:hover{background:var(--btn-outline-bg-hover);color:var(--btn-outline-fg-hover)}
.section--dark .btn--outline,.section--dark-bold .btn--outline{color:var(--white);border-color:var(--white)}
.section--dark .btn--outline:hover,.section--dark-bold .btn--outline:hover{background:var(--white);color:var(--indigo-700)}
.section--dark .btn--primary,.section--dark-bold .btn--primary,.section--dark .btn--primary:hover,.section--dark-bold .btn--primary:hover{color:var(--btn-primary-fg)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn-row{display:flex;gap:var(--space-3);flex-wrap:wrap}

/* ---------- Numbered feature ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7);align-items:start}
.feature{display:flex;flex-direction:column;gap:var(--space-3)}
.feature__num{font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);color:var(--text-accent)}
.feature p{margin:0;max-width:38ch;text-wrap:pretty}

/* ---------- Placeholder image plate (IconTile) ---------- */
.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
.tile{aspect-ratio:1/1;display:grid;place-items:center;background:var(--surface-warm);overflow:hidden}
.section--warm .tile{background:var(--sand-100)}
.tile img{width:100%;height:100%;object-fit:contain;padding:7%}
.tile__label{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:var(--text-muted)}
.tile--sm{width:140px}

/* ---------- Two-column layouts ---------- */
.split{display:grid;gap:var(--space-9);align-items:center}
.split--model{grid-template-columns:1.1fr .9fr}
.split--approach{grid-template-columns:.9fr 1.1fr;align-items:start}
.split--programs{grid-template-columns:.7fr 1.3fr;align-items:start}
.split--involved{grid-template-columns:1fr 1fr;align-items:start}
.col{display:grid;gap:var(--space-5)}
.col>p{margin:0;max-width:52ch}
.rows{display:grid;gap:var(--space-5)}
.row{display:grid;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-default)}
.row h4,.row p{margin:0}
.row p{max-width:52ch}
.cta-stack{display:flex;flex-direction:column;gap:var(--space-5);align-items:flex-start}
.cta-stack h2{max-width:26ch}
.hero-stack{display:flex;flex-direction:column;gap:var(--space-6);max-width:30ch}
.hero-stack .lead{margin:0;max-width:46ch}
.hero-stack{max-width:none}
.hero-stack>h1{max-width:20ch}

/* ---------- Accordion ---------- */
.accordion{width:100%}
.accordion__item{border-bottom:1px solid var(--line-default)}
.accordion__trigger{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) 0;cursor:pointer;font-family:var(--font-display);font-size:1.5rem;line-height:1.2;color:var(--text-heading)}
.accordion__trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.accordion__glyph{font-family:var(--font-body);font-size:1.5rem;line-height:1;color:var(--text-accent)}
.accordion__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows var(--motion-accordion-duration) var(--motion-ui-ease),visibility 0s linear var(--motion-accordion-duration)}
.accordion__item.is-open .accordion__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--motion-accordion-duration) var(--motion-ui-ease),visibility 0s}
.accordion__panel>div{overflow:hidden}
.accordion__panel p{margin:0;padding-bottom:var(--space-5);max-width:62ch;text-wrap:pretty}

/* ---------- Path selector + form (Get Involved) ---------- */
.paths{display:grid}
.path-btn{all:unset;box-sizing:border-box;cursor:pointer;padding:var(--space-5) 0;border-bottom:1px solid var(--line-default);display:flex;justify-content:space-between;gap:var(--space-4);font-family:var(--font-display);font-size:1.375rem;color:var(--gray-500)}
.path-btn[aria-pressed="true"]{color:var(--text-heading)}
.path-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.path-btn__glyph{color:var(--text-accent);font-family:var(--font-body)}
.plate{background:var(--surface-card-warm);padding:var(--space-7);display:grid;gap:var(--space-4)}
.plate form{display:grid;gap:var(--space-4)}
.field{display:grid;gap:var(--space-2)}
.field__label{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase}
.field input,.field textarea{font:inherit;padding:var(--space-3);border:1px solid var(--line-strong);border-radius:0;background:var(--white);color:var(--text-body);width:100%}
.field textarea{min-height:120px;resize:vertical}
.form-status{margin:0;font-size:var(--type-small-size)}
.form-done{display:grid;gap:var(--space-3)}
.form-done h4,.form-done p{margin:0}
[hidden]{display:none!important}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:20;min-height:var(--header-height);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-6);padding:1vw var(--page-padding);background:var(--surface-dark);border-bottom:1px solid var(--line-on-dark);color:var(--text-on-dark)}
.site-header a{color:var(--white);text-decoration:none}
.site-header a:hover{color:var(--white)}
.brand{grid-column:1;grid-row:1;font-family:var(--font-display);font-size:1.0625rem;line-height:1.15;letter-spacing:.01em;text-align:left;max-width:22ch}
.nav-panel{display:contents}
.nav{display:flex;gap:var(--space-6);align-items:center;grid-row:1}
.nav--left{grid-column:1;justify-content:flex-start}
.nav--right{grid-column:2;justify-content:flex-end}
.nav a:not(.btn){font-size:var(--type-nav-size);font-weight:500;letter-spacing:var(--type-nav-ls);text-transform:uppercase;padding-bottom:2px;border-bottom:1px solid transparent;white-space:nowrap}
.nav a:not(.btn):hover{border-bottom-color:var(--amber-500)}
.nav a[aria-current="page"]:not(.btn){border-bottom-color:var(--amber-500)}
.site-header .btn--primary,.site-header .btn--primary:hover{color:var(--btn-primary-fg)}
.nav-toggle{all:unset;display:none;cursor:pointer;font-family:var(--font-body);font-size:var(--type-nav-size);font-weight:500;letter-spacing:var(--type-nav-ls);text-transform:uppercase;color:var(--white);padding:var(--space-2) 0}
.nav-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media (max-width:767px){
  .site-header{grid-template-columns:1fr auto;grid-template-areas:"brand toggle" "panel panel";padding:var(--space-3) var(--page-padding);gap:var(--space-3)}
  .brand{grid-area:brand;grid-column:auto;grid-row:auto;text-align:left;max-width:20ch}
  .nav-toggle{display:block;grid-area:toggle}
  .nav-panel{display:none;grid-area:panel;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0 var(--space-3)}
  .site-header.is-open .nav-panel{display:flex}
  .nav,.nav--left,.nav--right{grid-column:auto;grid-row:auto;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface-dark)}
.site-footer__inner{max-width:var(--site-max-width);margin:0 auto;padding:var(--section-py-sm) var(--page-padding)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(150px,1fr));gap:var(--space-8)}
.footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}
.footer-brand__name{font-family:var(--font-display);font-size:1.5rem;line-height:1.15;max-width:18ch}
.footer-mono{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase}
.footer-col{display:flex;flex-direction:column;gap:var(--space-3)}
.footer-col .footer-mono{color:var(--brand-accent)}
.footer-brand .footer-mono{color:var(--text-on-dark-muted)}
.footer-col a{font-size:var(--type-small-size);text-decoration:none;color:var(--text-on-dark-muted)}
.footer-note{margin:var(--space-8) 0 0;color:var(--text-on-dark-muted)}

/* ---------- Entrance fade (only when JS is available) ---------- */
@keyframes ecci-fade-in{from{opacity:0;transform:translateY(var(--motion-fade-offset))}to{opacity:1;transform:none}}
html.js .reveal{opacity:0}
html.js .reveal.is-visible{animation:ecci-fade-in var(--motion-entrance-duration) var(--motion-entrance-ease) var(--motion-entrance-delay) both}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js .reveal{opacity:1}
  html.js .reveal.is-visible{animation:none}
  .accordion__panel,.accordion__item.is-open .accordion__panel{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:767px){
  .features{grid-template-columns:1fr;gap:var(--space-6)}
  .split,.split--model,.split--approach,.split--programs,.split--involved{grid-template-columns:1fr;gap:var(--space-7)}
  .site-footer__grid{grid-template-columns:1fr;gap:var(--space-6)}
  .plate{padding:var(--space-5)}
  .btn-row .btn{flex:1 1 100%}
  .accordion__trigger{font-size:1.25rem}
}

/* ---------- Workshop thank-you page (unlisted) ---------- */
.site-header--simple{display:flex;justify-content:center}
.site-header--simple .brand{grid-area:auto;text-align:center;max-width:22ch}
.ty-hero .well{display:flex;flex-direction:column;gap:var(--space-6)}
.ty-h1{font-size:clamp(44px,6vw,76px);line-height:1.04;letter-spacing:-.015em;max-width:20ch}
.ty-lead{font-size:1.25rem;line-height:1.55;max-width:52ch;margin:0;color:var(--text-on-dark-muted);text-wrap:pretty}
.ty-h2{font-size:clamp(32px,3.4vw,44px);line-height:1.12;max-width:20ch}
.ty-h2--hosts{font-size:clamp(36px,4vw,50px);letter-spacing:-.01em;max-width:24ch}
.ty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--space-8);align-items:start}
.ty-body{font-size:1.125rem;line-height:1.6;max-width:52ch;margin:0;text-wrap:pretty}
.ty-note{font-size:.875rem;line-height:1.5;color:#45454D}
.ty-action{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start;justify-content:center;align-self:center}
.btn--nowrap{white-space:nowrap}
.eyebrow--indigo::after{background:rgba(37,45,106,.28)}
.hosts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:48px 32px;align-items:start}
.host{display:flex;flex-direction:column;gap:var(--space-4);border-top:1px solid var(--line-default);padding-top:var(--space-5)}
.host__portrait{aspect-ratio:1;background:rgba(37,45,106,.08);display:grid;place-items:center;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);overflow:hidden}
.host__portrait img{width:100%;height:100%;object-fit:contain}
.host__id{display:flex;flex-direction:column;gap:var(--space-1)}
.host__name{font-family:var(--font-body);font-weight:700;font-size:1.25rem;line-height:1.35;color:var(--text-body);letter-spacing:0}
.host__title{font-size:.9375rem;line-height:1.5;color:#45454D}
.host__links{display:flex;gap:var(--space-5);flex-wrap:wrap}
.text-link{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--indigo-700);border-bottom:1px solid var(--amber-500);padding-bottom:2px}
.text-link:hover{color:var(--amber-600)}
.ty-footer .site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--space-6);max-width:var(--content-width-wide);padding-inline:0}
.ty-footer{padding-inline:var(--page-padding)}
.ty-footer .small{margin:0}
.ty-footer a.small{text-decoration:none;color:var(--text-on-dark-muted)}

/* ---------- Workshop survey (unlisted) ---------- */
.survey-well{max-width:var(--content-width-narrow)}
.survey{display:grid;gap:var(--space-8)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.q{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--space-4)}
.q__legend{display:flex;flex-direction:column;gap:var(--space-1);padding:0;font-family:var(--font-display);font-size:1.5rem;line-height:1.25;color:var(--text-heading)}
.q__num{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);color:var(--amber-600)}
.q__title{display:block}
.q__sub{font-family:var(--font-body);font-size:.875rem;line-height:1.5;color:var(--text-muted)}
.q__help{margin:0;font-size:.9375rem;color:#45454D}
.q--block{padding:var(--space-4) 0;border-bottom:1px solid var(--line-default);gap:var(--space-3)}
.q--block .q__legend{font-family:var(--font-body);font-size:1.0625rem;font-weight:600;color:var(--text-body)}
.scale{display:flex;gap:var(--space-2);flex-wrap:wrap}
.scale__opt{position:relative;cursor:pointer}
.scale__opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.scale__opt span{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line-strong);background:var(--white);font-weight:600;color:var(--indigo-700);transition:background-color var(--motion-ui-duration) var(--motion-ui-ease),color var(--motion-ui-duration) var(--motion-ui-ease)}
.scale__opt:hover span{background:var(--indigo-100)}
.scale__opt input:checked+span{background:var(--indigo-700);color:var(--white)}
.scale__opt input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}
.scale__ends{display:flex;justify-content:space-between;max-width:calc(52px*5 + var(--space-2)*4);font-size:.8125rem;color:var(--text-muted)}
.skip,.check{display:flex;gap:var(--space-3);align-items:flex-start;cursor:pointer;font-size:.9375rem;line-height:1.5}
.skip{color:var(--text-muted);font-size:.875rem}
.skip input,.check input{margin-top:.25em;accent-color:var(--indigo-700);width:18px;height:18px;flex:none}
.choices{display:grid;gap:var(--space-3)}
.contact{display:grid;gap:var(--space-4);background:var(--surface-card-warm);padding:var(--space-5);margin-top:var(--space-2)}
.survey__actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}
.field[data-invalid] input,.field[data-invalid] textarea{border-color:#B3261E}
.form-status{color:#B3261E}
.form-status:empty{display:none}
@media (max-width:767px){
  .scale__opt span{width:46px;height:46px}
  .scale__ends{max-width:calc(46px*5 + var(--space-2)*4)}
}
.survey-intro{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-8)}
.req{display:inline-block;margin-left:var(--space-2);font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:#B3261E;vertical-align:middle}

/* ---------- Home page sections (match live site) ---------- */
.section--amber{background:var(--amber-500);color:var(--indigo-900)}
.section--amber .eyebrow__label,.section--amber h2,.section--amber .accordion__trigger,.section--amber .accordion__glyph{color:var(--indigo-900)}
.section--amber .eyebrow::after{background:rgba(26,32,80,.35)}
.section--amber .accordion__item{border-bottom-color:var(--indigo-900)}
.section--amber .btn--outline{color:var(--indigo-900);border-color:var(--indigo-900)}
.section--amber .btn--outline:hover{background:var(--indigo-900);color:var(--white)}
.programs-h2{font-size:clamp(2rem,3.4vw,3.125rem);line-height:1.12;letter-spacing:-.01em}
.col>p{margin:0;max-width:46ch;text-wrap:pretty}
.programs-list{margin:0;padding-left:1.25em;display:grid;gap:var(--space-2)}
.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-7) var(--space-8)}
.model-item{display:flex;gap:var(--space-5);align-items:flex-start}
.model-item img{width:72px;height:72px;flex:none;object-fit:contain}
.model-item h4{margin:0 0 var(--space-2)}
.model-item p{margin:0;max-width:44ch;text-wrap:pretty}
.join{display:flex;flex-direction:column;gap:var(--space-7);align-items:center}
.section--dark .feature h4{max-width:26ch}
@media (max-width:767px){.model-grid{grid-template-columns:1fr}}
.host__bio{margin:0;font-size:.9375rem;line-height:1.6;color:#45454D;text-wrap:pretty}
html{scroll-padding-top:var(--header-height)}

/* ---------- Sponsors banner (thank-you page) ---------- */
.sponsors{background:var(--white);border-bottom:1px solid var(--line-default)}
.sponsors__inner{max-width:var(--site-max-width);margin:0 auto;padding:var(--space-5) var(--page-padding)}
.sponsors__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4) var(--space-7);text-align:center}
.sponsors__label{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:var(--text-muted)}
.sponsors__logos{display:flex;align-items:center;justify-content:center;gap:var(--space-8);flex-wrap:wrap}
.sponsors__logos img{height:56px;width:auto;display:block}
@media (max-width:767px){.sponsors__logos{gap:var(--space-6)}.sponsors__logos img{height:44px}}
.host__bio a{color:var(--indigo-700);text-decoration:underline;text-decoration-color:var(--amber-500);text-underline-offset:2px}
.host__bio a:hover{color:var(--amber-600)}
.site-footer__grid--simple{grid-template-columns:1.4fr auto;justify-content:space-between}
@media (max-width:767px){.site-footer__grid--simple{grid-template-columns:1fr}}

/* ---------- Privacy page + small form notes ---------- */
.form-note{margin:0;font-size:var(--type-small-size);line-height:1.5;color:#45454D}
.form-note a{color:var(--indigo-700);text-decoration:underline;text-decoration-color:var(--amber-500);text-underline-offset:2px}
.ty-footer__links{display:flex;gap:var(--space-5);flex-wrap:wrap}
.prose{max-width:68ch;display:grid;gap:var(--space-4)}
.prose h2{font-family:var(--font-display);font-weight:400;font-size:1.75rem;line-height:1.2;color:var(--text-heading);margin:var(--space-5) 0 0}
.prose p,.prose ul{margin:0}
.prose ul{padding-left:1.25em;display:grid;gap:var(--space-2)}
.prose a{color:var(--indigo-700);text-decoration:underline;text-decoration-color:var(--amber-500);text-underline-offset:2px}
.prose a:hover{color:var(--amber-600)}
.prose .updated{font-family:var(--font-mono);font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-ls);text-transform:uppercase;color:var(--text-muted)}
