:root {
  --pink: #e71661;
  --pink-dark: #a7174f;
  --ink: #171214;
  --pink-deep: #3b071b;
  --pink-black: #210510;
  --paper: #fffafd;
  --mist: #f7eaf0;
  --white: #ffffff;
  --max: 1480px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.55; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #ff6a9e; outline-offset: 4px; }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 94px; color: var(--white); transition: background .25s ease, height .25s ease, backdrop-filter .25s ease; }
.site-header.is-scrolled { height: 78px; background: rgba(59,7,27,.94); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(255,255,255,.14); }
.nav-shell { width: min(var(--max), 92vw); height: 100%; margin: 0 auto; padding: 16px 0; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.partnership-mark { display: flex; align-items: center; gap: 15px; flex: 0 0 auto; }
.brand-divider { width: 1px; height: 30px; background: rgba(255,255,255,.4); }
.fic-lockup { display:flex; align-items:center; gap:8px; color:#ffffff; }
.fic-lockup strong { font-size:8px; line-height:1.12; letter-spacing:.02em; text-transform:uppercase; white-space:nowrap; }
.fic-mark { width: 38px; height: 38px; object-fit: contain; background: #ffffff; }
.pha-mark { width: 112px; height: 40px; object-fit: contain; }
.site-menu { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 38px); font-size: 13px; font-weight: 650; }
.site-menu > a:not(.nav-cta) { position: relative; padding: 12px 0; }
.site-menu > a:not(.nav-cta)::after { content: ""; position: absolute; inset: auto 0 5px; height: 2px; background: var(--pink); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.site-menu > a:hover::after, .site-menu > a[aria-current="page"]::after { transform: scaleX(1); }
.nav-cta, .btn { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 22px; background: var(--pink); color: var(--white); font-size: 13px; font-weight: 750; cursor: pointer; transition: background .2s, transform .2s; }
.nav-cta:hover, .btn:hover { background: var(--pink-dark); transform: translateY(-2px); }
.btn.secondary { background: transparent; border: 1px solid rgba(255,255,255,.5); }
.btn.ink { background: var(--ink); }
.btn.light { background: var(--white); color: var(--ink); }
.nav-toggle { display: none; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.32); background: transparent; color: white; cursor: pointer; }
.nav-toggle i { display: block; width: 20px; height: 1px; background: currentColor; margin: 6px auto; transition: transform .2s; }

.hero { min-height: 100svh; position: relative; isolation: isolate; display: flex; align-items: center; color: var(--white); background: var(--pink-black); overflow: hidden; }
.hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background-image: var(--hero-image, url('assets/hero.webp')); background-size: cover; background-position: center; }
.hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(33,5,16,.99) 0%, rgba(92,8,40,.88) 38%, rgba(167,23,79,.30) 69%, rgba(33,5,16,.18) 100%); }
.hero-inner { width: min(var(--max), 92vw); margin: 0 auto; padding: 130px 0 72px; }
.hero-copy { max-width: 700px; }
.eyebrow { margin: 0 0 22px; color: #ffd3e3; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero h1, .page-hero h1 { margin: 0; max-width: 720px; font: 400 clamp(52px, 6.3vw, 96px)/.91 var(--serif); letter-spacing: 0; text-wrap: balance; }
.hero h1 em, .page-hero h1 em, .display em { color: #ff4f8f; font-weight: 400; }
.hero-thesis { max-width:650px; margin:22px 0 0; color:#ffffff; font-size:clamp(16px,1.4vw,20px); font-weight:700; }
.hero-thesis em { color:#ff7cad; font-family:var(--serif); font-weight:400; }
.hero .lead { max-width: 620px; margin: 28px 0 0; color: rgba(255,255,255,.84); font-size: clamp(17px, 1.5vw, 21px); }
.hero-thesis + .lead { margin-top:12px; font-size:16px; }
.hero-actions { display: flex; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
.hero-meta { display: flex; gap: 34px; margin-top: 20px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.76); }
.hero-meta strong { display: block; color: white; font-size: 14px; letter-spacing: 0; text-transform: none; margin-top: 3px; }
.countdown { width: min(390px, 100%); margin-top: 22px; }
.countdown-label { margin: 0 0 8px; color: #ffd3e3; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.countdown-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.countdown-unit { min-height: 52px; padding: 8px 10px; background: rgba(231,22,97,.74); border: 1px solid rgba(255,255,255,.16); }
.countdown-unit strong { display: block; color: white; font: 400 20px/1 var(--serif); font-variant-numeric: tabular-nums; }
.countdown-unit span { display: block; margin-top: 5px; color: white; font-size: 7px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.countdown-live { display: block; padding: 16px; color: white; background: var(--pink); }
.scroll-cue { position: absolute; right: 4vw; bottom: 30px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; color: rgba(255,255,255,.6); }

.section { padding: clamp(88px, 11vw, 150px) 4vw; }
.section-inner { width: min(var(--max), 100%); margin: 0 auto; }
.section-kicker { margin: 0 0 15px; color: var(--pink-dark); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.display { margin: 0; font: 400 clamp(42px, 5vw, 76px)/.98 var(--serif); text-wrap: balance; }
.section-lead { max-width: 700px; margin: 28px 0 0; font-size: clamp(18px, 2vw, 24px); color: #46514c; }
.dark { background: var(--ink); color: white; }
.dark .section-lead { color: rgba(255,255,255,.7); }
.accent-band { background: linear-gradient(135deg, var(--pink-dark) 0%, #d31259 58%, var(--pink) 100%); color: var(--white); }
.pink-band { background: var(--pink); color: var(--white); }
.accent-band .section-lead, .pink-band .section-lead, .form-section .section-lead { color: #ffffff; }
.split { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(320px, .94fr); gap: clamp(50px, 8vw, 120px); align-items: center; }
.split.reverse > :first-child { order: 2; }
.media { position: relative; min-height: 540px; overflow: hidden; }
.media img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.media-caption { position: absolute; inset: auto 0 0; padding: 18px 22px; color: white; background: rgba(18,24,21,.88); font-size: 12px; }
.accent-band .media { min-height:650px; margin-block:-58px; }
.fluid-media { min-height:680px; margin-right:-4vw; }

.immersive-story { min-height:78svh; position:relative; isolation:isolate; display:flex; align-items:center; padding:110px 4vw; color:#ffffff; overflow:hidden; }
.immersive-story::before { content:""; position:absolute; z-index:-2; inset:0; background-image:var(--story-image); background-size:cover; background-position:center; }
.immersive-story::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(23,18,20,.97) 0%,rgba(59,7,27,.86) 43%,rgba(167,23,79,.22) 72%,rgba(23,18,20,.08) 100%); }
.immersive-inner { width:min(var(--max),92vw); margin:0 auto; }
.immersive-inner > * { max-width:720px; }
.immersive-story .section-kicker { color:#ff9fc1; }
.immersive-story .section-lead { color:#ffffff; }
.story-lines { display:grid; grid-template-columns:1fr 1fr; gap:0 34px; margin-top:38px; }
.story-lines span { padding:14px 0; border-top:1px solid rgba(255,255,255,.34); color:#ffffff; font-weight:700; }
.immersive-close { margin-top:32px; color:#ffffff; font:italic 400 22px/1.35 var(--serif); }

.editorial-flow { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,8vw,120px); align-items:start; }
.editorial-columns { display:grid; grid-template-columns:repeat(3,1fr); margin:48px 0 38px; border-top:1px solid #cfd7d2; }
.editorial-columns > div { padding:28px 26px 14px 0; border-right:1px solid #cfd7d2; }
.editorial-columns > div + div { padding-left:26px; }
.editorial-columns > div:last-child { border-right:0; }
.editorial-columns strong { font:400 24px/1.08 var(--serif); }
.editorial-columns p { color:#55605b; font-size:14px; }

.video-section { padding-top: 110px; background: white; }
.video-head { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.video-frame { min-height: 630px; position: relative; overflow: hidden; background: var(--ink); }
.video-frame > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.7); }
.video-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(59,7,27,.78), rgba(59,7,27,.06)); }
.video-overlay { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; color: white; text-align: center; padding: 30px; }
.play { width: 86px; height: 86px; border-radius: 50%; border: 1px solid rgba(255,255,255,.75); background: rgba(167,23,79,.42); color: white; font-size: 28px; cursor: pointer; backdrop-filter: blur(8px); display:grid; place-items:center; }
.video-label { position: absolute; left: 34px; bottom: 30px; max-width: 500px; text-align: left; font: 400 clamp(30px, 4vw, 58px)/1 var(--serif); }
.video-note { max-width: 560px; padding: 28px; background: rgba(59,7,27,.94); }

.quote-section { padding: 120px 4vw; text-align: center; background: var(--paper); }
.quote-section blockquote { max-width: 920px; margin: 0 auto; font: italic 400 clamp(34px, 5vw, 67px)/1.08 var(--serif); }
.quote-section cite { display: block; margin-top: 30px; color: var(--pink-dark); font: 700 12px var(--sans); letter-spacing: .12em; text-transform: uppercase; }

.capability-grid { margin-top: 70px; border-top: 1px solid #cfd7d2; }
.capability { display: grid; grid-template-columns: 80px minmax(210px,.8fr) 1.4fr; gap: 35px; padding: 34px 0; border-bottom: 1px solid #cfd7d2; align-items: start; }
.capability .number { color: var(--pink); font: italic 400 23px var(--serif); }
.capability h3 { margin: 0; font: 400 28px/1.05 var(--serif); }
.capability p { margin: 0; color: #55605b; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid rgba(255,255,255,.22); border-left: 1px solid rgba(255,255,255,.22); }
.metric { padding: 34px 26px; min-height: 210px; border-right: 1px solid rgba(255,255,255,.22); border-bottom: 1px solid rgba(255,255,255,.22); }
.metric span { color: #ff7cad; font: italic 400 20px var(--serif); }
.metric h3 { margin: 42px 0 8px; font-size: 14px; text-transform: uppercase; }
.metric p { margin: 0; color: rgba(255,255,255,.66); font-size: 14px; }

.pathways { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 60px; border-top: 1px solid #cfd7d2; }
.pathway { min-height: 280px; padding: 38px 38px 34px 0; border-bottom: 1px solid #cfd7d2; }
.pathway:nth-child(odd) { border-right: 1px solid #cfd7d2; padding-right: 48px; }
.pathway:nth-child(even) { padding-left: 48px; }
.pathway .index { color: var(--pink); font: italic 20px var(--serif); }
.pathway h3 { margin: 42px 0 12px; font: 400 34px/1 var(--serif); }
.pathway p { color: #55605b; }
.text-link { display: inline-block; margin-top: 20px; font-weight: 750; font-size: 12px; border-bottom: 2px solid var(--pink); padding-bottom: 5px; }

.form-section { background: linear-gradient(135deg, var(--pink-deep) 0%, var(--pink-dark) 100%); color: white; }
.form-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(55px, 9vw, 130px); align-items: start; }
.form-layout .display { position: static; }
.form-shell { background: white; color: var(--ink); padding: clamp(30px, 5vw, 64px); }
.form-shell h2 { margin: 0 0 10px; font: 400 clamp(34px,4vw,54px)/1 var(--serif); }
.form-shell > p { color: #5d6762; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { margin-top: 24px; }
.field label, .field legend { display: block; margin-bottom: 8px; font-weight: 720; font-size: 13px; }
.field input, .field select, .field textarea { width: 100%; min-height: 52px; border: 1px solid #b9c2bd; border-radius: 0; background: white; padding: 12px 14px; color: var(--ink); }
.field textarea { min-height: 130px; resize: vertical; }
.field small { display: block; margin-top: 7px; color: #6a746f; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.choice { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; column-gap: 10px; padding: 10px 0; font-size: 14px; line-height: 1.4; }
.form-shell label.choice { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; margin-bottom:0; }
.choice input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--pink); }
.response-options { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; }
.required-choice-group { border:0; padding:0; }
.required-choice-group legend small { display:block; margin-top:4px; color:#6a746f; font-weight:400; }
.required-choice-group.group-invalid { margin-left:-12px; padding-left:12px; border-left:3px solid var(--pink); }
.form-actions { margin-top: 30px; display: flex; align-items: center; gap: 20px; }
.form-fine { color: #6a746f; font-size: 12px; }
.form-status { margin-top: 20px; padding: 0; }
.form-status.error { color: #a20e41; }
.form-status.submitting { color:#781238; font-weight:700; }
.form-status.success { padding: 18px; background: #fff0f6; color: #781238; border-left: 4px solid var(--pink); }
.was-validated :invalid { border-color: #d51356; background: #fff5f8; }

.confirmation-main { min-height:100svh; background:linear-gradient(135deg,var(--pink-deep),var(--pink-dark)); color:white; }
.confirmation-page { min-height:100svh; display:grid; place-items:center; padding:150px 4vw 90px; }
.confirmation-panel { width:min(780px,100%); padding:clamp(38px,7vw,82px); background:white; color:var(--ink); border-top:6px solid var(--pink); box-shadow:0 30px 90px rgba(33,5,16,.34); }
.confirmation-mark { display:grid; place-items:center; width:52px; height:52px; margin-bottom:28px; border-radius:50%; background:var(--pink); color:white; font-size:24px; font-weight:800; }
.confirmation-panel .display { font-size:clamp(42px,6vw,72px); }
.confirmation-panel .section-lead { color:#323936; }
.confirmation-panel > p:not(.section-kicker):not(.section-lead) { color:#59625e; }
.confirmation-actions { margin-top:34px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }

.page-hero { min-height: 70svh; position: relative; display: flex; align-items: end; padding: 150px 4vw 85px; color: white; background: var(--pink-black); overflow: hidden; }
.page-hero::before { content:""; position:absolute; inset:0; background-image: var(--page-image, url('assets/data.webp')); background-size: cover; background-position: center; opacity:.48; }
.page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(33,5,16,.97),rgba(167,23,79,.44)); }
.page-hero > div { width: min(var(--max), 100%); margin: 0 auto; position: relative; z-index: 1; }
.page-hero p { max-width: 650px; font-size: 20px; color: rgba(255,255,255,.8); }
body[data-page="education"] .page-hero, body[data-page="science"] .page-hero { min-height:100svh; align-items:center; padding-top:130px; }
.event-strip { display:grid; grid-template-columns: 1.2fr repeat(3,.6fr); background: var(--pink); color:white; }
.event-strip > div { padding:26px 4vw 26px 28px; border-right:1px solid rgba(255,255,255,.3); }
.event-strip small { display:block; text-transform:uppercase; letter-spacing:.1em; opacity:.7; }
.event-strip strong { display:block; margin-top:5px; }

.sticky-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.sticky-story > header { position:static; align-self:start; }
.story-step { padding:42px 0 48px; border-top:1px solid #cfd7d2; }
.story-step h3 { margin:0 0 15px; font:400 34px/1 var(--serif); }
.story-step ul { padding-left:18px; color:#55605b; }

.faq { border-top:1px solid #cfd7d2; margin-top:50px; }
.faq-item { border-bottom:1px solid #cfd7d2; }
.faq-item button { width:100%; min-height:78px; padding:20px 0; border:0; background:transparent; display:flex; justify-content:space-between; text-align:left; font-weight:720; cursor:pointer; }
.faq-item button span:last-child { font-size:24px; font-weight:400; }
.faq-answer { display:none; max-width:780px; padding:0 0 26px; color:#55605b; }
.faq-item.open .faq-answer { display:block; }
.faq-item.open button span:last-child { transform:rotate(45deg); }

.cta-band { padding: 90px 4vw; background: var(--pink); color:white; }
.cta-band .section-inner { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.cta-band h2 { max-width:780px; margin:0; font:400 clamp(40px,5vw,72px)/.98 var(--serif); }

.site-footer { background:#1b0911; color:white; padding:78px 4vw 28px; }
.footer-inner { width:min(var(--max),100%); margin:auto; display:grid; grid-template-columns:1.5fr repeat(3,.7fr); gap:60px; }
.footer-brand p { color:rgba(255,255,255,.55); margin-top:24px; }
.footer-inner h2 { margin:0 0 20px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:#ff7cad; }
.footer-inner > div:not(.footer-brand) a, .footer-inner > div:not(.footer-brand) p { display:block; margin:0 0 11px; color:rgba(255,255,255,.7); font-size:13px; }
.footer-bottom { width:min(var(--max),100%); margin:65px auto 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.15); display:flex; justify-content:space-between; gap:30px; color:rgba(255,255,255,.38); font-size:11px; }

[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
[data-reveal].in-view { opacity:1; transform:none; }

@media (max-width: 900px) {
  .site-header { height:82px; }
  .nav-shell { width:calc(100% - 44px); padding:14px 0; }
  .nav-toggle { display:block; }
  .site-menu { position:fixed; inset:0; z-index:-1; padding:120px 28px 40px; background:var(--pink-black); display:flex; flex-direction:column; align-items:stretch; gap:0; transform:translateY(-102%); transition:transform .35s ease; }
  .site-menu.is-open { transform:none; }
  .site-menu > a { padding:17px 0 !important; border-bottom:1px solid rgba(255,255,255,.15); font:400 30px var(--serif); }
  .site-menu .nav-cta { margin-top:22px; border:0; font:750 13px var(--sans); }
  .fic-mark { width:34px; height:34px; }
  .fic-lockup strong { font-size:7px; }
  .pha-mark { width:90px; }
  .hero::before { background-position:62% center; }
  .hero::after { background:linear-gradient(90deg,rgba(33,5,16,.99),rgba(167,23,79,.60)); }
  .hero-inner { width:calc(100% - 44px); padding-top:120px; }
  .hero-copy { max-width:570px; }
  .hero h1, .page-hero h1 { font-size:clamp(48px,9vw,72px); }
  .scroll-cue { display:none; }
  .split, .video-head, .form-layout, .sticky-story, .editorial-flow { grid-template-columns:1fr; }
  .split.reverse > :first-child { order:0; }
  .media { min-height:480px; }
  .accent-band .media, .fluid-media { min-height:540px; margin:0; }
  .editorial-columns { grid-template-columns:1fr; }
  .editorial-columns > div, .editorial-columns > div + div { padding:24px 0; border-right:0; border-bottom:1px solid #cfd7d2; }
  .video-frame { min-height:520px; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .capability { grid-template-columns:50px 1fr; }
  .capability p { grid-column:2; }
  .form-layout .display, .sticky-story > header { position:static; }
  .event-strip { grid-template-columns:1fr 1fr; }
  .event-strip > div { padding-left:4vw; }
  .footer-inner { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-inner > :last-child { grid-column:2; }
}

@media (max-width: 600px) {
  .site-header, .site-header.is-scrolled { height:76px; }
  .nav-shell { width:calc(100% - 32px); padding:12px 0; }
  .nav-shell { gap:10px; }
  .partnership-mark { gap:9px; }
  .brand-divider { height:24px; }
  .fic-mark { width:31px; height:31px; }
  .fic-lockup { gap:5px; }
  .fic-lockup strong { font-size:6px; }
  .pha-mark { width:78px; height:30px; }
  .nav-toggle { width:44px; height:44px; }
  .hero { min-height:100svh; align-items:end; }
  .hero::before { background-position:60% center; }
  .hero::after { background:linear-gradient(0deg,rgba(33,5,16,.99) 0%,rgba(92,8,40,.84) 54%,rgba(167,23,79,.30) 100%); }
  .hero-inner { width:calc(100% - 32px); padding:110px 0 44px; }
  .hero h1, .page-hero h1 { font-size:clamp(43px,13vw,58px); }
  .hero .lead { font-size:16px; margin-top:20px; }
  .hero-thesis { font-size:15px; margin-top:16px; }
  .hero-thesis + .lead { font-size:14px; margin-top:8px; }
  .hero-actions { margin-top:22px; }
  .hero-actions .btn { width:100%; }
  .hero-meta { gap:18px; flex-wrap:wrap; margin-top:25px; }
  .hero-meta > div { width:calc(50% - 10px); }
  .countdown { margin-top:22px; }
  .countdown-grid { grid-template-columns:repeat(4,1fr); gap:4px; }
  .countdown-unit { padding:8px 7px; }
  .section { padding:82px 20px; }
  .display { font-size:clamp(38px,12vw,52px); }
  .section-lead { font-size:18px; }
  .video-head { gap:25px; }
  .video-frame { min-height:430px; }
  .video-label { left:20px; bottom:20px; font-size:32px; }
  .quote-section { padding:88px 22px; }
  .capability { grid-template-columns:35px 1fr; gap:15px; }
  .metric-grid { grid-template-columns:1fr; }
  .metric { min-height:180px; }
  .pathways { grid-template-columns:1fr; }
  .pathway:nth-child(odd), .pathway:nth-child(even) { border-right:0; padding:30px 0; }
  .pathway h3 { margin-top:25px; }
  .media { min-height:380px; }
  .immersive-story { min-height:76svh; padding:84px 20px; }
  .immersive-inner { width:100%; }
  .story-lines { grid-template-columns:1fr; margin-top:28px; }
  .form-shell { padding:30px 20px; }
  .field-row, .choice-grid { grid-template-columns:1fr; gap:0; }
  .response-options { grid-template-columns:1fr; gap:0; }
  .form-actions { align-items:stretch; flex-direction:column; }
  .form-actions .btn { width:100%; }
  .page-hero { min-height:72svh; padding:120px 20px 55px; }
  .event-strip { grid-template-columns:1fr 1fr; }
  .event-strip > div { padding:18px 20px; }
  .event-strip > div:first-child { grid-column:1/-1; }
  .cta-band { padding:70px 20px; }
  .cta-band .section-inner { align-items:flex-start; flex-direction:column; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:45px 28px; }
  .footer-brand { grid-column:1/-1; }
  .footer-inner > :last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}

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