/* TAP v3: Team Avenue master brand, editorial layout (TAP brand direction v1, Homebase 360).
   Loaded after site.css. Alternating white / #111111 sections, red only as an accent, flat surfaces.
   Contrast (WCAG AA): #111 on white 18.9, #5e5e5e on white 6.5, white on #111 18.9, #b4b4b4 on #111 9.1,
   #a3a3a3 on #111 7.5, white on red 5.2. Red is never used for small text on #111. */
:root{--block:"Archivo Black","Arial Black",Impact,system-ui,sans-serif;--r:6px;--r-sm:4px;--wrap:1280px}

/* ---------- header: TA circle mark lockup */
.site-header{background:#111111;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #2f2f2f}
.nav-wrap{min-height:76px;max-width:1440px}
.brand.lockup{gap:12px}
.brand.lockup .brand-mark{width:52px;height:52px;flex:none}
.lk-rule{width:3px;align-self:stretch;margin:8px 0;background:var(--c-red);flex:none}
.lk-words{display:flex;flex-direction:column;line-height:1}
.lk-1,.lk-2{font:400 15.5px/1.02 var(--block);text-transform:uppercase;letter-spacing:.03em;color:#fff}
.lk-3{font:700 9.5px/1 var(--body);letter-spacing:.26em;text-transform:uppercase;color:var(--c-silver);margin-top:5px}
@media (max-width:380px){.brand.lockup .brand-mark{width:44px;height:44px}.lk-1,.lk-2{font-size:13.5px}}
@media (min-width:1180px){.site-nav li a{font-size:12.5px;padding:10px 9px}}

/* ---------- buttons: flatter, squarer */
.btn{border-radius:4px}
.btn-sm{border-radius:4px}
.btn:hover{transform:none}
.btn-red:hover{box-shadow:none}
.btn-outline-light{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline-light:hover{background:#fff;color:#111}
.btn-outline-dark{background:transparent;color:#111;border:2px solid #111}
.btn-outline-dark:hover{background:#111;color:#fff}

/* ---------- type */
.kicker{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;font:700 13px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;color:var(--c-silver)}
.kicker::before{content:"";width:28px;height:3px;background:var(--c-red);flex:none}
.ed-h2{font:400 clamp(40px,6.2vw,88px)/.95 var(--block);text-transform:uppercase;letter-spacing:-.01em;margin:0 0 28px;text-wrap:balance}
.display{font:400 clamp(40px,6.4vw,84px)/.95 var(--block);letter-spacing:-.01em}
.display-sm{font:400 clamp(30px,4.2vw,54px)/.98 var(--block)}
.cta-big{font:400 clamp(64px,11vw,148px)/.9 var(--block)!important}
.track-big{font:400 clamp(56px,8vw,104px)/.9 var(--block);text-shadow:none}
.link-arrow{font:800 16px/1 var(--display);letter-spacing:.12em;min-height:24px} /* audit 2026-10-07: 24px tap target */

/* ---------- flatten the app look on every page */
.page-hero{background:#111111;padding:72px 0 56px}
.page-hero::before{content:none}
@media (min-width:900px){.page-hero{padding:104px 0 72px}}
.sponsor-hero{background:#111111}
.card,.step-card,.scan-block,.tier-strip a,.role-tile,.sponsor-callout{background:#1a1a1a;border-radius:6px}
.card:hover,a.card:hover,.step-card:hover,.role-tile:hover,.tier-strip a:hover{transform:none}
.step-card::after{content:none}
.dark-panel{background:#111111;border-color:#2f2f2f}
.band-red{background:var(--c-red)}
.band-red::before{content:none}
.cta-band{background:#111111}
.cta-band::before{content:none}
.values-strip .vm-col{background:#fff;box-shadow:none}

/* ---------- editorial sections */
.ed{padding:88px 0}
@media (min-width:900px){.ed{padding:128px 0}}
.ed-dark{background:#111111;color:#fff}
.ed-light{background:#ffffff;color:#111111}
.ed-light a:not(.btn){color:#111111}
.ed-light a:not(.btn):hover{color:#5e5e5e}
.ed-light .kicker{color:#5e5e5e}
.ed-light .lede{color:#222222}
.ed-light .fine{color:#5e5e5e}
.ed-light .link-arrow{color:#111111}
.ed-dark .fine a{color:#fff}
.ed-head{margin-bottom:8px}

/* hero */
.h3-hero{position:relative;background:#111111;overflow:hidden;min-height:min(86vh,820px);display:flex;align-items:flex-end}
.h3-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;filter:saturate(.8) contrast(1.05)}
.h3-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.78) 38%,rgba(17,17,17,.15) 75%),linear-gradient(0deg,rgba(17,17,17,.9) 0%,transparent 45%)}
.h3-hero-inner{position:relative;z-index:1;padding-top:96px;padding-bottom:72px;width:100%}
@media (min-width:900px){.h3-hero-inner{padding-top:140px;padding-bottom:104px}}
.h3-h1{font:400 clamp(84px,15vw,212px)/.86 var(--block);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 26px;color:#fff}
.h3-line{font:500 clamp(20px,2.3vw,28px)/1.35 var(--body);max-width:30ch;color:#f0f0f0;margin:0}
.h3-hero .med-line{color:#d4d4d4}
@media (max-width:640px){
  .h3-hero{min-height:0;display:block}
  .h3-hero-img{position:relative;height:auto;aspect-ratio:4/3;object-position:62% 50%}
  .h3-hero::after{inset:0 0 auto 0;height:calc(75vw + 1px);background:linear-gradient(180deg,rgba(17,17,17,.15) 0,transparent 30%,rgba(17,17,17,.6) 70%,#111111 100%)}
  .h3-hero-inner{margin-top:-6vw;padding-top:0;padding-bottom:56px}
  .kicker{letter-spacing:.16em;font-size:12px}
}

/* the path */
.path3{list-style:none;padding:0;margin:40px 0 40px;display:grid;gap:40px}
@media (min-width:860px){.path3{grid-template-columns:repeat(3,1fr);gap:48px}}
.path3 li{border-top:2px solid #111111;padding-top:22px;position:relative}
.path3 li::before{content:"";position:absolute;left:0;top:-2px;width:56px;height:2px;background:var(--c-red)}
.path-n{font:400 15px/1 var(--block);color:#5e5e5e;letter-spacing:.06em}
.path3 h3{font:400 clamp(44px,4.6vw,64px)/1 var(--block);text-transform:uppercase;margin:14px 0 8px}
.path-line{font:600 21px/1.3 var(--body);margin:0 0 12px}
.path3 p{color:#222222}

/* what we stand on */
.stand5{margin:40px 0 24px;border-top:2px solid var(--c-red)}
.stand5 div{display:grid;gap:6px;padding:26px 0;border-bottom:1px solid #2f2f2f}
@media (min-width:860px){.stand5 div{grid-template-columns:minmax(260px,.9fr) 1.6fr;align-items:baseline;gap:40px;padding:30px 0}}
.stand5 dt{font:400 clamp(30px,3.6vw,48px)/1 var(--block);text-transform:uppercase;color:#fff}
.stand5 dd{margin:0;font:500 clamp(19px,2vw,26px)/1.35 var(--body);color:#e6e6e6}

/* since (founding year) */
.since{display:grid;gap:40px}
@media (min-width:980px){.since{grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}}
.since-media{margin:0}
.since-media video{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#111;filter:saturate(.85)}
.since-media figcaption{font:600 12px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#5e5e5e;margin-top:12px}
.since-stills{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}
.since-stills img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.8)}

/* selected to TAP In */
.sel3{display:grid;gap:48px}
@media (min-width:980px){.sel3{grid-template-columns:1fr 1fr;gap:80px}}
.sel3 .draft-badge{margin-left:4px}
.sel-line{font:600 19px/1.45 var(--body);color:#fff;border-left:3px solid var(--c-red);padding-left:18px;margin:24px 0 32px;max-width:52ch}
.sel-k{font:700 13px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--c-silver);margin:6px 0 10px}
.crit{list-style:none;padding:0;margin:0;counter-reset:cr;border-top:1px solid #2f2f2f}
.crit li{counter-increment:cr;display:grid;grid-template-columns:52px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid #2f2f2f;color:#e6e6e6}
.crit li::before{content:counter(cr,decimal-leading-zero);font:400 18px/1.4 var(--block);color:var(--c-silver)}

/* labs, events, partners */
.lep3{display:grid;gap:56px}
@media (min-width:900px){.lep3{grid-template-columns:repeat(3,1fr);gap:40px}}
.lep3 img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:22px;filter:saturate(.8)}
.lep3 h3{font:400 clamp(26px,2.4vw,32px)/1.02 var(--block);text-transform:uppercase;margin:0 0 14px}
.lep3 p{color:#222222}
.ev-list{list-style:none;padding:0;margin:0 0 22px;border-top:1px solid #e3e3e3}
.ev-list li{padding:12px 0;border-bottom:1px solid #e3e3e3;display:flex;flex-direction:column;gap:2px}
.ev-list b{font:800 19px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.ev-list span{font-size:15px;color:#5e5e5e}

/* ---------- footer */
.site-footer{background:#111111;border-top:1px solid #2f2f2f}
.footer-brand{align-items:flex-start}
.footer-brand img{width:96px;height:96px;flex:none}
.footer-name{font:400 22px/1.05 var(--block)}
.footer-sub{color:#d4d4d4;font-size:15px;margin:4px 0 0}
.footer-slogan{font:400 18px/1 var(--block);margin-top:12px}
.footer-address{font-style:normal;color:var(--c-text-mute);font-size:14px;margin-top:12px}
.footer-fine{color:var(--c-text-mute)}
.footer-med{color:#e6e6e6;font-weight:600}

/* ---------- inner pages: the old dark panels become white editorial bands, so every page alternates
   #111111 and white. Panels that hold a form stay dark (form styles are built for dark). */
.dark-panel:not(:has(form)){
  background:#ffffff;color:#111111;border-color:#e3e3e3;
  --white:#111111;--mute:#5e5e5e;--mute2:#5e5e5e;--silver:#5e5e5e;--line:#e3e3e3;--line2:#cfcfcf;
  --panel:#f5f5f5;--panel2:#f5f5f5;--c-ink-2:#f5f5f5;--c-ink-3:#f0f0f0;--c-red-text:#a3372b
}
.dark-panel:not(:has(form)) a:not(.btn){color:#111111}
.dark-panel:not(:has(form)) a:not(.btn):hover{color:#5e5e5e}
.dark-panel:not(:has(form)) .eyebrow,.dark-panel:not(:has(form)) .eyebrow.red{color:#5e5e5e}
.dark-panel:not(:has(form)) .lede,.dark-panel:not(:has(form)) .card-t,.dark-panel:not(:has(form)) .measure-col ul,
.dark-panel:not(:has(form)) .value dd,.dark-panel:not(:has(form)) .tl-what{color:#222222}
.dark-panel:not(:has(form)) .card,.dark-panel:not(:has(form)) .value,.dark-panel:not(:has(form)) .pathway li,
.dark-panel:not(:has(form)) .tier-strip a,.dark-panel:not(:has(form)) .notice{background:#f5f5f5;border-color:#e3e3e3;color:#111111}
.dark-panel:not(:has(form)) .tag{color:#222222;border-color:#cfcfcf;background:#fff}
.dark-panel:not(:has(form)) .link-arrow,.dark-panel:not(:has(form)) .step-line,.dark-panel:not(:has(form)) .level-note{color:#111111}
.dark-panel:not(:has(form)) .pw-n,.dark-panel:not(:has(form)) .criteria li::before{background:#111111;color:#fff}
.dark-panel:not(:has(form)) .btn-ghost{color:#111111;border-color:#111111}
.dark-panel:not(:has(form)) .btn-light{background:#111111;color:#fff}
.dark-panel:not(:has(form)) .chip-btn{background:#fff;color:#111111;border-color:#cfcfcf}
.dark-panel:not(:has(form)) .chip-btn[aria-pressed="true"]{background:#111111;color:#fff;border-color:#111111}
.dark-panel:not(:has(form)) .video-ph{background:#111111;border-color:#111111;color:#fff}
.dark-panel:not(:has(form)) .video-ph::before{content:none}
.dark-panel:not(:has(form)) .trip-facts div,.dark-panel:not(:has(form)) .timeline li,.dark-panel:not(:has(form)) .measure-col{border-color:#111111}
.dark-panel:not(:has(form)) .med-line{color:#5e5e5e}
.dark-panel:not(:has(form)) .invest-title,.dark-panel:not(:has(form)) .form-sub{color:#111111}

/* v3.1 copy pass: partners intro line, closing band, mailing address slot */
.lep-line{color:#5e5e5e;font-size:15px;margin:0 0 8px}
.closing{border-top:3px solid #bf4133;background:#111111;color:#ffffff}
.closing-inner{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-top:8px;padding-bottom:8px}
.closing .ed-h2{color:#ffffff;margin:0}
.closing-line{color:#b4b4b4;font-size:15px;margin:0}
@media (min-width:900px){.closing-inner{align-items:center;text-align:center}}
.footer-address-k{color:#b4b4b4;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px}
.footer-address address{font-style:normal}

/* ======================================================================
   v3.3: origin story, measurement typography, compact values, one CTA
   Palette: #111111 / #ffffff / silver #b4b4b4 / gray #5e5e5e / red #bf4133 (accent only)
   ====================================================================== */
:root{--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.data-k{font:600 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#b4b4b4;margin:0}
.ed-light .data-k{color:#5e5e5e}
.data-v{font:600 13px/1.3 var(--mono);letter-spacing:.06em;color:#bf4133;font-variant-numeric:tabular-nums}
.ed-dark .data-v{color:#e0796e}
.hero-sel{font:600 15px/1.4 var(--body);color:#e6e6e6;margin:18px 0 0}
.h3-hero .med-line{margin-top:8px}

/* header: three links + one CTA */
@media (min-width:900px){.site-nav ul{gap:6px}.site-nav li a{font-size:13px;padding:10px 12px}}

/* path: spec labels + example readout */
.path-top{display:grid;gap:36px;align-items:end}
@media (min-width:1000px){.path-top{grid-template-columns:1fr minmax(420px,.9fr);gap:64px}}
.path-spec{margin:0 0 10px;color:#5e5e5e}
.readout{margin:0;border:1px solid #111111;background:#fff;font-family:var(--mono)}
.readout-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #111111;background:#111111}
.readout-top .data-k{color:#ffffff}
.readout-tag{font:600 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#111111;background:#b4b4b4;padding:5px 8px}
.readout table{width:100%;border-collapse:collapse;font:500 13px/1.3 var(--mono)}
.readout th,.readout td{padding:10px 16px;border-bottom:1px solid #e3e3e3;text-align:right;font-weight:500}
.readout thead th{font:600 11px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#5e5e5e}
.readout th[scope=row],.readout thead th:first-child{text-align:left;color:#111111}
.readout .unit{color:#5e5e5e;font-size:11px;margin-left:4px}
.readout td{color:#5e5e5e;font-variant-numeric:tabular-nums}
.readout figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:10px 16px;font:500 11.5px/1.4 var(--mono);color:#5e5e5e;letter-spacing:.04em}
.readout figcaption span:first-child{color:#bf4133;font-weight:600}
@media (max-width:700px){.readout{display:none}}

/* origin story */
.story{padding-top:0!important}
.story-reel{margin:0 0 72px;position:relative;background:#111111}
.story-reel video{display:block;width:100%;aspect-ratio:21/8;object-fit:cover;filter:saturate(.8) contrast(1.04)}
.story-reel figcaption{position:absolute;left:0;bottom:0;display:flex;gap:12px;align-items:center;padding:10px 20px;background:#111111;color:#e6e6e6;font:600 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase}
.story-full .story-reel{margin-bottom:64px}
.story-head{margin-bottom:8px}
.story-grid{display:grid;gap:40px}
@media (min-width:980px){.story-grid{grid-template-columns:1.1fr .9fr;gap:72px;align-items:start}}
.story-quote{margin:0;border-left:3px solid #bf4133;padding:4px 0 4px 28px}
.story-quote p{font:500 clamp(22px,2.4vw,32px)/1.32 var(--body);margin:0 0 20px;text-wrap:pretty}
.story-quote p::before{content:"\201C"}.story-quote p::after{content:"\201D"}
.story-quote footer{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;font:500 15px/1.4 var(--body);color:#d4d4d4}
.ed-light .story-quote footer{color:#5e5e5e}
.story-body .lede{margin-top:0}
.ed-dark .story-body p{color:#e6e6e6}
.story-rec-k{margin:28px 0 8px!important}
.story-record{list-style:none;padding:0;margin:0;border-top:1px solid #2f2f2f}
.ed-light .story-record{border-color:#d9d9d9}
.story-record li{display:grid;grid-template-columns:132px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #2f2f2f;font-size:15.5px;line-height:1.45}
.ed-light .story-record li{border-color:#e3e3e3}
.story-record .data-v{padding-top:2px}
.story-mentors{display:grid;gap:40px;margin-top:72px;padding-top:56px;border-top:2px solid #bf4133}
@media (min-width:980px){.story-mentors{grid-template-columns:.95fr 1.05fr;gap:72px;align-items:start}}
.story-photo{margin:0}
.story-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:60% 50%;display:block;filter:saturate(.8)}
.story-photo figcaption{font:600 12px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#b4b4b4;margin-top:12px}
.ed-light .story-photo figcaption{color:#5e5e5e}
.story-photo .credit{letter-spacing:.04em;text-transform:none;font-weight:500}
.story-h3{font:400 clamp(26px,2.6vw,36px)/1.05 var(--block);text-transform:uppercase;margin:0 0 12px;text-wrap:balance}
.story-intro{color:#d4d4d4;margin:0 0 20px}
.ed-light .story-intro{color:#3a3a3a}
.mentors{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid #2f2f2f}
.ed-light .mentors{border-color:#d9d9d9}
.mentors li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid #2f2f2f}
.ed-light .mentors li{border-color:#e3e3e3}
.mentors .data-v{padding-top:4px}
.mentors li.has-photo{grid-template-columns:44px 1fr 80px;align-items:start}
.mentor-photo img{display:block;width:80px;height:80px;object-fit:cover;border-radius:4px}
@media (min-width:980px){.mentors li.has-photo{grid-template-columns:44px 1fr 96px}.mentor-photo img{width:96px;height:96px}}
.mentor-name{font:800 22px/1.15 var(--display);text-transform:uppercase;letter-spacing:.02em;margin:0}
.mentor-note{margin:4px 0 0;font-size:15px;color:#d4d4d4}
.ed-light .mentor-note{color:#3a3a3a}
/* Oct 7 2026 (Thomari via Tyson): Dr. Watts' full /advisors title wrapped to 3 lines at 390px. Smaller mentor line on
   mobile only (title text unchanged, never shortened): ~13px at 390, 12px floor at 360. Balanced wrap on every width. */
.mentor-note{text-wrap:balance}
@media (max-width:640px){.mentor-note{font-size:clamp(12px,3.35vw,15px);line-height:1.45}}
@media (max-width:640px){
  .story-reel{margin-bottom:48px}
  .story-reel video{aspect-ratio:16/9}
  .story-reel figcaption{position:static;padding:10px 20px}
  .story-record li{grid-template-columns:104px 1fr;font-size:15px}
  .story-mentors{margin-top:48px;padding-top:40px}
  .story:not(.story-full) .story-photo.is-fallback{display:none}
}

/* values, compact */
.ed-tight{padding:72px 0}
@media (min-width:900px){.ed-tight{padding:96px 0}}
.ed-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 24px}
.ed-h2-sm{font-size:clamp(34px,4.4vw,60px);margin-bottom:0}
.stand5c{margin:32px 0 0;display:grid;gap:0;border-top:2px solid #bf4133}
@media (min-width:900px){.stand5c{grid-template-columns:repeat(5,1fr);border-top:0;gap:0}}
.stand5c div{padding:16px 0;border-bottom:1px solid #e3e3e3;display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:baseline}
@media (min-width:900px){.stand5c div{display:block;padding:22px 22px 0 0;border-bottom:0;border-top:2px solid #111111;position:relative}
  .stand5c div::before{content:"";position:absolute;top:-2px;left:0;width:40px;height:2px;background:#bf4133}}
.stand5c dt{font:400 18px/1.1 var(--block);text-transform:uppercase;color:#111111;display:flex;flex-direction:column;gap:6px}
@media (max-width:899px){.stand5c dt .data-v{display:none}}
.stand5c dd{margin:0;font:500 15.5px/1.4 var(--body);color:#222222}
@media (min-width:900px){.stand5c dd{margin-top:12px;font-size:16px}}

/* selected: published criteria stay visible on every screen (Oscar) ; tighter rows on phones */
@media (max-width:640px){.crit li{padding:12px 0;font-size:15.5px}.sel3{gap:36px}}

/* events + partners (labs hidden until SHOW_LABS) */
@media (min-width:900px){.lep2{grid-template-columns:repeat(2,1fr);gap:72px}}
.cities{list-style:none;padding:0;margin:10px 0 10px;display:flex;flex-wrap:wrap;gap:0}
.cities li{font:800 20px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em;padding:6px 0}
.cities li:not(:last-child)::after{content:"/";color:#bf4133;margin:0 12px}
.next-ev{border-left:3px solid #bf4133;padding:4px 0 4px 18px;margin:10px 0 22px}
.next-ev-name{font:800 26px/1.1 var(--display);text-transform:uppercase;margin:6px 0}
.next-ev-lg{margin:0 0 40px;display:grid;gap:8px;justify-items:start}

/* mobile trims */
@media (max-width:640px){
  .ed{padding:64px 0}
  .ed.story{padding-bottom:64px}
  .h3-hero-img{aspect-ratio:16/10}
  .h3-hero::after{height:calc(62.5vw + 1px)}
  .path3{gap:28px;margin:28px 0}
  .path3 h3{font-size:40px;margin:10px 0 6px}
  .path-line{font-size:19px}
  .lep3{gap:44px}
}
.readout thead tr,.readout thead th{background:#f5f5f5!important}
.readout thead th:first-child{color:#111111}
@media (max-width:640px){.story:not(.story-full) .story-since{display:none}}
.story-reel figcaption .data-k{color:#b4b4b4}
/* story H2 = Thomari's full line: smaller, balanced, measured line length */
.story-h2{font-size:clamp(30px,4.1vw,60px);line-height:1.02;max-width:20ch;text-wrap:balance}
@media (max-width:640px){.story-h2{font-size:clamp(26px,7.6vw,32px);line-height:1.06;max-width:none}}
.story-h2{font-size:clamp(30px,3.8vw,56px);max-width:24ch}
@media (max-width:640px){.story-h2{font-size:clamp(24px,7vw,28px);max-width:none}}

/* ======================================================================
   v3.5 tech feel: combine / testing lab. TA black, white, red only. Example values only.
   ====================================================================== */
.ex-tag{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#111111;background:#b4b4b4;padding:4px 7px;white-space:nowrap}
.tech-intro{max-width:60ch;margin:0 0 28px}
.ed-light .tech-intro{color:#222222}
.ed-dark .tech-intro{color:#e6e6e6}

/* rail: Baseline -> Training plan -> Retest */
.dash-rail{display:flex;align-items:center;gap:10px;margin:0 0 18px;flex-wrap:wrap}
.rail-step{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#5e5e5e;padding:8px 10px;border:1px solid #d0d0d0;background:#fff;transition:background .3s,color .3s,border-color .3s}
.rail-step.is-on{background:#111111;color:#ffffff;border-color:#111111}
.rail-n{color:#bf4133;font-weight:600}
.rail-step.is-on .rail-n{color:#e0796e}
.rail-line{flex:0 0 28px;height:2px;background:#111111}

/* metric cards */
.dash-grid{display:grid;gap:14px}
@media (min-width:700px){.dash-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.dash:not(.dash-compact) .dash-grid{grid-template-columns:repeat(4,1fr)}}
.mcard{border:1px solid #111111;background:#ffffff;display:flex;flex-direction:column}
.mcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #111111}
.mcard-top .data-k{color:#111111;font-size:11px}
.board{background:#111111;color:#fff;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"k k" "v u" "d d";align-items:baseline;padding:14px 14px 12px;gap:2px 8px;position:relative;
  background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px)}
.board-k{grid-area:k;font:600 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#b4b4b4}
.board-v{grid-area:v;font:600 clamp(40px,4.4vw,56px)/1 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#ffffff}
.board-u{grid-area:u;font:600 14px/1 var(--mono);color:#b4b4b4}
.board-d{grid-area:d;font:600 12.5px/1.2 var(--mono);color:#e0796e;margin-top:6px;font-variant-numeric:tabular-nums}
.board-dk{color:#b4b4b4;letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;margin-right:4px}
.bars{padding:12px 12px 4px;display:grid;gap:8px}
.bar-row{display:grid;grid-template-columns:62px 1fr 44px;gap:8px;align-items:center}
.bar-k{font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#5e5e5e}
.bar-v{font:600 12.5px/1 var(--mono);text-align:right;color:#111111;font-variant-numeric:tabular-nums}
.bar-track{position:relative;height:12px;background:#ececec;background-image:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),#d6d6d6 calc(10% - 1px) 10%)}
.bar{position:absolute;left:0;top:0;bottom:0;width:var(--w);transition:width 1s cubic-bezier(.2,.7,.2,1)}
.bar-base{background:#5e5e5e}
.bar-re{background:#bf4133}
.dash.is-armed:not(.is-in) .bar{width:0}
.bench{position:absolute;top:-4px;bottom:-4px;left:var(--x);width:2px;background:#111111}
.bench-note{display:flex;align-items:center;gap:8px;font:500 12px/1.35 var(--mono);color:#3a3a3a;margin:6px 12px 0}
.bench-key{width:2px;height:14px;background:#111111;flex:none}
.mcard-tag{margin:auto 0 0;padding:10px 12px;font:600 11px/1.3 var(--mono);color:#bf4133;border-top:1px dashed #d0d0d0;margin-top:10px}
.dash-plan{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin:22px 0 0;padding:14px 16px;border-left:3px solid #bf4133;background:#f5f5f5;color:#222222}
.dash-plan .data-k{color:#111111}
.dash-foot{font:500 12.5px/1.4 var(--mono);color:#5e5e5e;margin:14px 0 0}
/* compact (Home teaser) */
.dash-teaser{align-self:end}
.dash-teaser-k{margin:0 0 10px!important}
.dash-compact .dash-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.dash-compact .board{padding:10px 10px 8px}
.dash-compact .board-v{font-size:clamp(28px,2.6vw,36px)}
.dash-compact .bars{padding:8px 10px 2px;gap:6px}
.dash-compact .bar-row{grid-template-columns:50px 1fr 36px;gap:6px}
.dash-compact .bar-k,.dash-compact .bar-v{font-size:10px}
.dash-compact .mcard-top{padding:8px 10px}
.dash-compact .mcard-top .data-k{font-size:10px;letter-spacing:.1em}
.dash-compact .mcard-tag{font-size:10px;padding:8px 10px;margin-top:6px}
.dash-compact .dash-rail{margin-bottom:12px}
.dash-compact .rail-step{font-size:10.5px;padding:6px 8px}
.dash-compact .rail-line{flex-basis:16px}
.dash-links{display:flex;flex-wrap:wrap;gap:10px 28px;margin:14px 0 0}
@media (max-width:420px){.dash-compact .board-v{font-size:26px}.dash-compact .bar-row{grid-template-columns:44px 1fr 32px}.dash-compact .mcard-top .ex-tag{display:none}}

/* field clip with split overlays */
.dclip{margin:0}
.dclip-stage{position:relative;background:#111111;overflow:hidden}
.dclip-stage video{display:block;width:100%;aspect-ratio:1280/568;object-fit:cover;filter:saturate(.75) contrast(1.06)}
.dclip-lanes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.dclip-lanes path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;vector-effect:non-scaling-stroke}
.dclip-lanes .tick{stroke:#bf4133;stroke-width:3}
.dclip-corner{position:absolute;width:22px;height:22px;border:2px solid rgba(255,255,255,.8)}
.dclip-corner.tl{top:14px;left:14px;border-right:0;border-bottom:0}.dclip-corner.tr{top:14px;right:14px;border-left:0;border-bottom:0}
.dclip-corner.bl{bottom:14px;left:14px;border-right:0;border-top:0}.dclip-corner.br{bottom:14px;right:14px;border-left:0;border-top:0}
.dclip-label{position:absolute;top:22px;left:48px;margin:0;display:flex;align-items:center;gap:8px;font:600 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(17,17,17,.78);padding:7px 10px}
.rec{width:8px;height:8px;border-radius:50%;background:#bf4133}
.dclip-watch{position:absolute;top:22px;right:48px;margin:0;display:grid;gap:4px;justify-items:end;background:rgba(17,17,17,.82);padding:10px 14px}
.watch-v{font:600 clamp(26px,3.4vw,46px)/1 var(--mono);color:#fff;font-variant-numeric:tabular-nums}
.dclip.is-held .watch-v{color:#e0796e}
.dclip-hud{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 48px 26px;pointer-events:none;flex-wrap:wrap}
.callout-d{display:grid;gap:4px;background:#ffffff;color:#111111;padding:10px 12px;border-left:4px solid #bf4133;min-width:150px}
.callout-d .data-k{color:#5e5e5e}
.callout-v{font:600 28px/1 var(--mono);font-variant-numeric:tabular-nums}
.callout-v small{font-size:13px;margin-left:4px;color:#5e5e5e}
.callout-d .ex-tag{justify-self:start}
.dclip-tag{margin:0 0 0 auto;font:600 11.5px/1.2 var(--mono);color:#fff;background:#bf4133;padding:7px 10px;align-self:flex-end}
@media (max-width:760px){
  .dclip-label{top:10px;left:10px;font-size:9.5px;padding:5px 7px}
  .dclip-watch{top:10px;right:10px;padding:6px 8px}.watch-v{font-size:22px}
  .dclip-corner{display:none}
  .dclip-hud{position:static;padding:12px 0 0;justify-content:flex-start}
  .callout-d{min-width:0;flex:1 1 40%}
  .callout-v{font-size:22px}
  .dclip-tag{margin:0;flex:1 1 100%}
}

/* walkthrough */
.wt{display:grid;gap:24px;--wt-p:16%}
@media (min-width:900px){.wt{grid-template-columns:240px 1fr;gap:56px}}
.wt-lane{display:none}
@media (min-width:900px){.wt-lane{display:block;position:sticky;top:110px;align-self:start;height:min(70vh,560px)}}
.wt-lane svg{position:absolute;left:0;top:0;width:120px;height:100%}
.lane-l{stroke:#111111;stroke-width:2;fill:none;vector-effect:non-scaling-stroke}
.lane-c{stroke:#d0d0d0;stroke-width:2;stroke-dasharray:6 8;fill:none;vector-effect:non-scaling-stroke}
.wt-lane::after{content:"";position:absolute;left:59px;top:0;width:3px;height:var(--wt-p);background:#bf4133;transition:height .4s}
.wt-board{position:absolute;left:130px;top:0;display:grid;gap:6px;background:#111111;color:#fff;padding:14px 16px;min-width:110px}
.wt-board .data-k{color:#b4b4b4}
.wt-now{font:600 44px/1 var(--mono);font-variant-numeric:tabular-nums}
.wt-phase{color:#e0796e!important}
.wt-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}
.wt-step{padding:28px 0 28px 22px;border-left:3px solid #d0d0d0;transition:opacity .35s,border-color .35s}
@media (min-width:900px){.wt-step{padding:44px 0 44px 28px;min-height:38vh;display:flex;flex-direction:column;justify-content:center}}
.wt.is-armed .wt-step{opacity:.38}
.wt.is-armed .wt-step.is-done{opacity:.6}
.wt.is-armed .wt-step.is-active{opacity:1;border-left-color:#bf4133}
.wt-meta{display:flex;gap:12px;align-items:baseline;margin:0 0 8px}
.wt-step h3{font:400 clamp(28px,3vw,42px)/1.02 var(--block);text-transform:uppercase;margin:0 0 10px}
.wt-step p{max-width:56ch;margin:0;color:#222222}
.wt-spec{margin-top:12px!important;color:#5e5e5e!important}
.wt-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}

/* map + QR */
.mapqr{display:grid;gap:32px;align-items:start}
@media (min-width:980px){.mapqr{grid-template-columns:1fr 300px;gap:56px}}
.us-map{width:100%;height:auto;display:block}
.map-states{fill:#f1f1f1;stroke:#9a9a9a;stroke-width:.8;stroke-linejoin:round}
.pin-dot{fill:#bf4133;stroke:#ffffff;stroke-width:2}
.pin-pulse{fill:#bf4133;opacity:.18;transform-box:fill-box;transform-origin:center;animation:pinPulse 2.4s ease-out infinite}
@keyframes pinPulse{0%{transform:scale(.6);opacity:.35}100%{transform:scale(1.8);opacity:0}}
.pin-city{font:600 17px/1 var(--mono);fill:#111111}
.pin-status{font:600 12px/1 var(--mono);fill:#bf4133;letter-spacing:.14em;text-transform:uppercase}
.qr-card{border:1px solid #111111;padding:20px;display:grid;gap:14px;justify-items:start;background:#fff}
.qr-card .data-k{color:#111111}
.qr-img svg{width:200px;height:200px;display:block}
.qr-note{font:600 12px/1.4 var(--mono);color:#bf4133;margin:0}
.qr-sel{font-size:14px;color:#3a3a3a;margin:0}

/* counters (only when SHOW_COUNTERS and real values) */
.counters{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.counter{background:#111111;color:#fff;padding:16px 20px;display:grid;gap:6px;min-width:180px}
.counter-v{font:600 40px/1 var(--mono);font-variant-numeric:tabular-nums}
.counter .data-k{color:#b4b4b4}

@media (prefers-reduced-motion: reduce){
  .bar,.rail-step,.wt-step,.wt-lane::after{transition:none!important}
  .pin-pulse{animation:none;opacity:.18}
}
/* walkthrough refinements: contrast-safe inactive state, slimmer lane */
.wt-lane svg{width:60px}
.wt-lane::after{left:29px}
.wt-board{left:80px}
@media (min-width:900px){.wt{grid-template-columns:220px 1fr}.wt-step{min-height:30vh}}
.wt.is-armed .wt-step,.wt.is-armed .wt-step.is-done{opacity:1}
.wt.is-armed .wt-step:not(.is-active) h3{color:#8a8a8a}
.wt.is-armed .wt-step:not(.is-active) p{color:#5e5e5e}
.wt.is-armed .wt-step:not(.is-active) .data-v{color:#5e5e5e}
.wt.is-armed .wt-step.is-done{border-left-color:#111111}
.wt-step h3,.wt-step p{transition:color .35s}
@media (prefers-reduced-motion: reduce){.wt-step h3,.wt-step p{transition:none}}
.qr-img svg{width:200px;height:200px}
.dclip-lanes{inset:auto;top:0;left:0;height:auto;aspect-ratio:1280/568}
@media (max-width:640px){.dash-compact .bar-row{grid-template-columns:58px 1fr 32px;gap:5px}.dash-compact .bar-k{font-size:9px;letter-spacing:.06em}
  .dash-compact .rail-step{font-size:9.5px;padding:5px 6px;letter-spacing:.08em}.dash-compact .rail-line{flex-basis:10px}}

/* v3.6 foot scan step 3D slot (flag-gated): neutral wireframe placeholder, silver/gray on #111111, no teal */
.foot3d{position:relative;margin:18px 0 0;max-width:520px;background:#111111;border:1px solid #5e5e5e;aspect-ratio:2/1;contain:layout paint;overflow:hidden}
.foot3d canvas{display:block;width:100%;height:100%;pointer-events:none}
.foot3d-tag{position:absolute;right:10px;top:10px;margin:0}
@media (max-width:600px){.foot3d{aspect-ratio:16/9}}
/* v3.6 /how-it-works teaser (SHOW_TWIN_TEASER, default OFF) */
.twin-teaser{margin-top:32px;padding:14px 18px;border-left:3px solid #bf4133;background:#1a1a1a;max-width:640px}
.twin-teaser p{margin:0;font:600 13px/1.5 var(--mono);color:#b4b4b4;letter-spacing:.02em}
/* Test Day 18+ opt-in (JS on: hidden until the 18+ role is chosen / the box is checked; JS off: shown, server ignores unless 18+ and checked) */
.js .share-parent:not(.is-on),.js .share-parent-email:not(.is-on){display:none}
.age-majority{margin:-6px 0 14px}
