:root {
  --bg: #05070c;
  --bg-elevated: #090d16;
  --panel: #0c1220;
  --panel-2: #10192a;
  --line: rgba(162, 191, 226, .16);
  --line-strong: rgba(162, 191, 226, .28);
  --text: #f7f9ff;
  --muted: #aab3c4;
  --soft: #778399;
  --mint: #6bf0c0;
  --cyan: #61d9f7;
  --blue: #7aa4ff;
  --purple: #b17aff;
  --pink: #f46bb9;
  --peach: #ff9f82;
  --gold: #ffc968;
  --radius-sm: 14px;
  --radius: 24px;
  --radius-lg: 36px;
  --shadow: 0 30px 80px rgba(0,0,0,.42);
  --shell: min(1320px, calc(100vw - 36px));
  --font: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); overflow-x: clip; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: clip;
  color: var(--text);
  background:
    radial-gradient(circle at 70% 0%, rgba(58, 125, 119, .12), transparent 28rem),
    var(--bg);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
mark { color: inherit; background: none; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position: fixed; z-index: 1000; left: 12px; top: -60px; padding: 10px 16px; border-radius: 10px; background: var(--text); color: #05070c; transition: top .2s ease; }
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }

.page-shell { width: var(--shell); margin-inline: auto; }
.section-pad { padding: 80px 0; }

.site-header { position: fixed; z-index: 100; inset: 0 0 auto; padding: 12px 0; transition: background .25s ease, backdrop-filter .25s ease, border-color .25s ease; }
.site-header.is-scrolled { background: rgba(5, 7, 12, .78); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-bottom: 1px solid rgba(255,255,255,.07); }
.nav-shell { width: var(--shell); margin: auto; min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand img.brand-icon { width: 40px; height: 40px; border-radius: 11px; box-shadow: 0 0 28px rgba(67, 225, 220, .12); }
.brand span { display: grid; line-height: 1; gap: 4px; letter-spacing: .24em; font-size: 11px; }
.brand strong { font-weight: 760; }
.brand em { color: var(--cyan); font-style: normal; font-weight: 650; }
.menu-button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: rgba(8,12,20,.8); display: grid; place-content: center; gap: 4px; cursor: pointer; }
.menu-button span:not(.sr-only) { width: 18px; height: 1.5px; background: var(--text); transition: transform .2s ease, opacity .2s ease; }
.menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
.site-menu { position: fixed; top: 76px; left: 18px; right: 18px; display: grid; gap: 4px; padding: 14px; background: rgba(8,12,20,.97); border: 1px solid var(--line-strong); border-radius: 20px; box-shadow: var(--shadow); transform: translateY(-10px); opacity: 0; visibility: hidden; transition: .2s ease; }
.site-menu.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
.site-menu a { padding: 13px 14px; border-radius: 12px; color: #d8dfeb; font-weight: 650; }
.site-menu a:hover { background: rgba(255,255,255,.05); color: #fff; }
.site-menu .nav-cta { background: linear-gradient(135deg, var(--mint), var(--cyan)); color: #061013; text-align: center; }

.hero { position: relative; min-height: 100svh; padding: 116px 0 36px; display: grid; align-content: center; overflow: hidden; background: linear-gradient(to bottom, rgba(5,7,12,.04), var(--bg) 94%), radial-gradient(circle at 68% 25%, rgba(62,199,167,.12), transparent 28rem), radial-gradient(circle at 78% 60%, rgba(85,74,183,.16), transparent 28rem); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .4; pointer-events: none; background-image: radial-gradient(circle at 12% 24%, rgba(255,255,255,.55) 0 1px, transparent 1.5px), radial-gradient(circle at 75% 13%, rgba(255,255,255,.35) 0 1px, transparent 1.5px), radial-gradient(circle at 84% 48%, rgba(255,255,255,.38) 0 1px, transparent 1.5px), radial-gradient(circle at 33% 76%, rgba(255,255,255,.25) 0 1px, transparent 1.5px); background-size: 260px 220px, 340px 290px, 430px 350px, 510px 410px; }
.hero-aurora { position: absolute; width: 1000px; height: 500px; right: -360px; top: 10%; border-radius: 50%; filter: blur(60px); transform: rotate(-14deg); opacity: .48; background: radial-gradient(ellipse at 20% 50%, rgba(89,239,181,.58), transparent 24%), radial-gradient(ellipse at 46% 55%, rgba(70,189,231,.48), transparent 22%), radial-gradient(ellipse at 68% 50%, rgba(140,100,249,.44), transparent 20%); }
.hero-grid { position: relative; z-index: 1; display: grid; gap: 52px; align-items: center; }
.hero-copy { max-width: 690px; }
.eyebrow { margin: 0 0 18px; display: flex; align-items: center; gap: 10px; color: #b7c2d4; letter-spacing: .17em; text-transform: uppercase; font-size: 11px; font-weight: 760; }
.eyebrow span { width: 27px; height: 1px; background: linear-gradient(90deg, var(--mint), var(--purple)); }
.eyebrow.warm span { background: linear-gradient(90deg, var(--gold), var(--peach)); }
.eyebrow.purple span { background: linear-gradient(90deg, var(--purple), var(--pink)); }
.eyebrow.pink span { background: linear-gradient(90deg, var(--pink), var(--peach)); }
.hero h1 { margin: 0; max-width: 700px; font-size: clamp(46px, 13vw, 70px); line-height: .98; letter-spacing: -.052em; font-weight: 760; }
.hero h1 mark { display: block; width: max-content; max-width: 100%; color: transparent; background: linear-gradient(105deg, var(--mint), var(--cyan) 48%, #a38dff); -webkit-background-clip: text; background-clip: text; }
.hero-lede { margin: 26px 0 0; max-width: 660px; color: #bcc5d4; font-size: clamp(17px, 4.7vw, 21px); line-height: 1.55; letter-spacing: -.012em; }
.hero-lede strong { color: #eef5ff; font-weight: 720; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.button { min-height: 50px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; border: 1px solid var(--line-strong); font-size: 14px; font-weight: 760; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.45); }
.button-primary { background: linear-gradient(120deg, var(--mint), var(--cyan)); color: #051315; border-color: transparent; box-shadow: 0 16px 36px rgba(83,226,199,.19); }
.button-ghost { background: rgba(10,15,25,.45); backdrop-filter: blur(12px); }
.button-peach { background: linear-gradient(120deg, var(--gold), var(--peach)); color: #1b0b05; border-color: transparent; }
.button.is-placeholder { cursor: default; opacity: .78; }
.button.is-placeholder:hover { transform: none; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 26px; color: #8894a8; font-size: 13px; }
.hero-proof span { display: inline-flex; align-items: center; gap: 8px; }
.hero-proof i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 12px rgba(107,240,192,.8); }
.hero-product { position: relative; min-height: 540px; display: grid; place-items: center; }
.phone { position: relative; overflow: hidden; border-radius: 46px; padding: 8px; background: linear-gradient(140deg, #4c5362, #080a0f 18%, #050608 80%, #6f7682); box-shadow: 0 38px 80px rgba(0,0,0,.52), inset 0 0 0 1px rgba(255,255,255,.25); }
.phone img { width: 100%; height: auto; border-radius: 39px; }
.phone-top { position: absolute; z-index: 3; top: 13px; left: 50%; width: 31%; height: 24px; border-radius: 999px; transform: translateX(-50%); background: #020306; }
.phone-hero { width: min(76vw, 330px); z-index: 2; transform: rotate(2.2deg); }
.orbit { position: absolute; border: 1px solid rgba(99,228,207,.15); border-radius: 50%; }
.orbit-one { width: 460px; height: 460px; }
.orbit-two { width: 620px; height: 300px; transform: rotate(-20deg); }
.hero-brand-mark { position: absolute; z-index: 1; width: 170px; height: 170px; border-radius: 40px; right: 8%; top: 9%; opacity: .18; filter: blur(.2px); box-shadow: 0 0 70px rgba(102,237,220,.22); transform: rotate(8deg); }
.hero-float { position: absolute; z-index: 4; min-width: 168px; max-width: 205px; padding: 12px 14px; border: 1px solid rgba(180,204,227,.22); border-radius: 15px; background: rgba(10,15,26,.8); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 20px 50px rgba(0,0,0,.28); }
.hero-float span, .hero-float small { display: block; }
.hero-float span { color: var(--cyan); letter-spacing: .12em; font-size: 8px; font-weight: 800; }
.hero-float strong { display: block; margin: 4px 0 2px; font-size: 14px; line-height: 1.25; }
.hero-float small { color: #8d98ab; font-size: 10px; }
.hero-float-one { left: 0; top: 25%; }
.hero-float-two { right: 0; bottom: 22%; }
.signal-strip { position: relative; z-index: 3; margin-top: 40px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 76vw); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: none; padding: 1px; border-radius: var(--radius); }
.signal-strip::-webkit-scrollbar { display: none; }
.signal-strip > div { scroll-snap-align: start; min-height: 92px; padding: 18px; display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; align-content: center; border: 1px solid var(--line); background: rgba(8,12,21,.68); backdrop-filter: blur(16px); }
.signal-strip > div:first-child { border-radius: 20px 0 0 20px; }
.signal-strip > div:last-child { border-radius: 0 20px 20px 0; }
.signal-strip span { grid-row: span 2; color: var(--soft); font-size: 10px; }
.signal-strip strong { font-size: 13px; }
.signal-strip small { color: #79869a; font-size: 10px; }

.question-section { padding: 86px 0; background: #070a11; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.question-grid { display: grid; gap: 28px; }
.display-question { margin: 0; max-width: 980px; font-size: clamp(38px, 10vw, 62px); line-height: .99; letter-spacing: -.052em; }
.display-question em { color: var(--mint); font-style: normal; }
.question-copy { margin: 0; max-width: 670px; color: #9aa5b7; font-size: 17px; }
.section-heading { max-width: 760px; margin-bottom: 44px; }
.section-heading-centred { margin-inline: auto; text-align: center; }
.section-heading-centred .eyebrow { justify-content: center; }
.section-heading h2, .science-copy h2, .solar-copy h2, .regional-copy h2, .identity-copy h2, .plus-copy h2, .credibility-shell h2 { margin: 0; font-size: clamp(34px, 7.8vw, 56px); line-height: 1.06; letter-spacing: -.038em; }
.section-heading > p:last-child, .science-copy > p, .solar-copy > p, .regional-copy > p, .identity-copy > p, .plus-copy > p, .credibility-copy p { color: #9ca7b8; font-size: 17px; }

.decision-section { background: #05070c; }
.decision-stage { display: grid; gap: 35px; align-items: center; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: radial-gradient(circle at 70% 45%, rgba(68,218,186,.11), transparent 28rem), linear-gradient(135deg, rgba(13,20,33,.94), rgba(7,10,16,.94)); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.step-number { color: var(--soft); letter-spacing: .14em; font-size: 11px; font-weight: 800; }
.decision-copy h3, .planning-copy-card h3 { margin: 20px 0 12px; font-size: clamp(28px, 6.8vw, 40px); line-height: 1.08; letter-spacing: -.03em; }
.decision-copy > p, .planning-copy-card > p { margin: 0; color: #a2adbd; font-size: 17px; }
.clean-list { margin: 24px 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.clean-list li { position: relative; padding-left: 25px; color: #d4dbe7; }
.clean-list li::before { content: ""; position: absolute; left: 0; top: .65em; width: 10px; height: 5px; border-left: 2px solid var(--mint); border-bottom: 2px solid var(--mint); transform: rotate(-45deg); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--mint); font-weight: 760; }
.included-note { margin: -3px 0 20px!important; padding: 13px 15px; border-radius: 13px; border: 1px solid rgba(107,240,192,.18); background: rgba(107,240,192,.055); font-size: 13px!important; }
.included-note strong { color: #c5fce8; }
.decision-visual { position: relative; min-height: 630px; display: grid; place-items: center; }
.device-plinth { position: absolute; bottom: 4%; width: 88%; height: 12%; border-radius: 50%; background: rgba(57,216,186,.09); filter: blur(18px); }
.phone-primary { width: min(70vw, 315px); z-index: 2; }
.phone-secondary { width: min(57vw, 245px); position: absolute; z-index: 1; opacity: .78; }
.phone-map { right: -3%; top: 18%; transform: rotate(7deg); }

.pipeline-section { padding: 28px 0 96px; background: #05070c; }
.pipeline-shell { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, rgba(9,15,25,.88), rgba(8,10,18,.88)); }
.pipeline-copy { max-width: 780px; }
.pipeline-copy h2 { margin: 0; font-size: clamp(32px, 6.7vw, 50px); line-height: 1.06; letter-spacing: -.035em; }
.pipeline-copy > p:last-child { color: #9ca7b8; font-size: 16px; }
.pipeline-steps { margin-top: 28px; display: grid; gap: 10px; }
.pipeline-steps > div { min-height: 84px; display: grid; align-content: center; gap: 3px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 16px; background: #0b111d; }
.pipeline-steps b { font-size: 14px; }
.pipeline-steps span { color: #7e8b9f; font-size: 12px; }
.pipeline-steps i { display: none; color: var(--soft); font-style: normal; }
.pipeline-final { border-color: rgba(107,240,192,.34)!important; background: linear-gradient(135deg, rgba(107,240,192,.09), rgba(97,217,247,.06))!important; }
.pipeline-final b { color: var(--mint); }

.science-section { overflow: hidden; background: linear-gradient(180deg, #070b12, #0a0e17 50%, #05070c); }
.science-grid { display: grid; gap: 60px; align-items: center; }
.science-copy { max-width: 680px; }
.metric-row { margin-top: 34px; display: grid; gap: 10px; }
.metric-row > div { padding: 17px 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(13,19,31,.8); }
.metric-row small, .metric-row span { display: block; }
.metric-row small { color: #7f8a9c; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }
.metric-row strong { display: block; margin: 5px 0; font-size: 18px; }
.metric-row span { color: #95a4ba; font-size: 12px; line-height: 1.45; }
.metric-copy-row span { color: #8f9bad; }
.access-pill { display: inline-flex; margin-top: 18px; padding: 9px 12px; border-radius: 999px; border: 1px solid rgba(255,201,104,.2); background: rgba(255,201,104,.06); color: #ffd989; font-size: 12px; font-weight: 700; }
.screen-pair, .science-stage { position: relative; min-height: 650px; display: grid; place-items: center; }
.portrait-card { overflow: hidden; border-radius: 34px; background: #05070c; border: 1px solid rgba(194,211,231,.2); box-shadow: 0 32px 75px rgba(0,0,0,.44); }
.portrait-card img { width: 100%; height: auto; object-fit: contain; }
.portrait-card-front { width: min(72vw, 330px); position: relative; z-index: 2; transform: translateX(-8%); }
.portrait-card-back { width: min(60vw, 280px); position: absolute; right: 0; top: 8%; z-index: 1; transform: rotate(5deg); opacity: .72; }

.solar-section { background: #05070c; }
.solar-layout { display: grid; gap: 55px; align-items: center; }
.solar-stage, .regional-stage { position: relative; display: grid; place-items: center; min-height: 650px; }
.stage-halo { position: absolute; width: 80%; aspect-ratio: 1; border-radius: 50%; filter: blur(45px); opacity: .27; }
.stage-halo-gold { background: radial-gradient(circle, rgba(255,174,72,.75), transparent 66%); }
.stage-halo-purple { background: radial-gradient(circle, rgba(141,98,241,.75), transparent 66%); }
.portrait-card-large { position: relative; z-index: 2; width: min(80vw, 360px); transition: opacity .18s ease, transform .18s ease; }
.portrait-card-large.is-changing { opacity: .25; transform: scale(.985); }
.stage-tabs { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.stage-tabs button { min-height: 42px; padding: 0 15px; border: 1px solid var(--line); border-radius: 999px; background: #0d1320; color: #aeb7c6; cursor: pointer; font-size: 13px; font-weight: 720; }
.stage-tabs button.is-active { background: #f3f6fb; border-color: #f3f6fb; color: #071018; }
.feature-notes { margin-top: 32px; display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--line); }
.feature-notes > div { padding: 16px 18px; background: #0b101b; }
.feature-notes strong, .feature-notes span { display: block; }
.feature-notes span { margin-top: 2px; color: #7d899c; font-size: 13px; }

.planning-section { background: linear-gradient(180deg, #05070c, #080d15 50%, #05070c); }
.planning-showcase { display: grid; gap: 38px; align-items: center; }
.planning-copy-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(12,18,30,.72); }
.planning-stat { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.planning-stat:first-of-type { margin-top: 25px; border-top: 1px solid var(--line); }
.planning-stat strong { color: var(--mint); font-size: 17px; }
.planning-stat span { color: #8f9bae; font-size: 13px; text-align: right; }
.planning-devices, .planning-stage { position: relative; min-height: 650px; display: grid; place-items: center; }
.portrait-plan-one { width: min(72vw, 340px); transform: translateX(-10%); }
.portrait-plan-two { position: absolute; right: 0; top: 12%; width: min(58vw, 280px); transform: rotate(4deg); }

.regional-section { background: #05070c; }
.regional-layout { display: grid; gap: 55px; align-items: center; }
.regional-badges { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.regional-badges span { padding: 9px 12px; border: 1px solid rgba(177,122,255,.24); border-radius: 999px; background: rgba(177,122,255,.08); color: #cdb5ff; font-size: 12px; }

.moment-section { background: #070a12; }
.moment-grid { display: grid; gap: 20px; }
.moment-card { position: relative; min-height: 720px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #0a0f1a; }
.moment-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 110%, rgba(70,207,192,.16), transparent 40%); }
.community-moment::before { background: radial-gradient(circle at 50% 110%, rgba(244,107,185,.17), transparent 40%); }
.moment-copy { position: relative; z-index: 2; padding: 30px; }
.moment-copy h2 { margin: 0; font-size: clamp(30px, 6.8vw, 42px); line-height: 1.07; letter-spacing: -.032em; }
.moment-copy > p { color: #9ca7b8; }
.free-note { color: var(--mint)!important; font-weight: 700; }
.moment-phone { position: absolute; z-index: 1; width: min(70vw, 330px); left: 50%; bottom: -36%; transform: translateX(-50%); }

.identity-section { background: #05070c; }
.identity-grid { display: grid; gap: 60px; align-items: center; }
.passport-stats { margin-top: 32px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.passport-stats > div { padding: 17px 10px; text-align: center; background: #0a0f1a; border-right: 1px solid var(--line); }
.passport-stats > div:last-child { border-right: 0; }
.passport-stats strong, .passport-stats span { display: block; }
.passport-stats strong { color: var(--cyan); font-size: 20px; }
.passport-stats span { color: #7e899b; font-size: 10px; }
.passport-copy-stats strong { font-size: 16px; }
.identity-devices { position: relative; min-height: 690px; display: grid; place-items: center; }
.identity-passport { width: min(72vw, 345px); transform: translateX(-9%); }
.identity-badges { position: absolute; right: 0; top: 14%; width: min(56vw, 270px); transform: rotate(5deg); }

.plus-section { position: relative; overflow: hidden; background: linear-gradient(180deg, #070a12, #0d0b18 55%, #05070c); }
.plus-shell { position: relative; display: grid; gap: 50px; padding: 34px; border: 1px solid rgba(255,159,130,.25); border-radius: var(--radius-lg); background: radial-gradient(circle at 78% 22%, rgba(255,126,96,.16), transparent 34rem), linear-gradient(135deg, rgba(19,16,30,.96), rgba(7,10,17,.96)); }
.plus-pill { display: inline-flex; padding: 7px 11px; border: 1px solid rgba(255,201,104,.32); border-radius: 999px; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }
.plus-list li::before { border-color: var(--peach); }
.plus-free-line { margin: 24px 0 6px; padding: 13px 15px; border-radius: 14px; border: 1px solid rgba(107,240,192,.16); background: rgba(107,240,192,.05); color: #9fb3b5; font-size: 13px; }
.plus-free-line strong { color: var(--mint); }
.plus-gallery { position: relative; min-height: 720px; display: grid; place-items: center; }
.plus-card { position: absolute; width: min(57vw, 265px); }
.plus-card-one { left: 0; top: 17%; transform: rotate(-6deg); opacity: .8; }
.plus-card-two { z-index: 3; width: min(68vw, 315px); }
.plus-card-three { right: 0; top: 18%; transform: rotate(6deg); opacity: .78; }

.credibility-section { background: #05070c; border-top: 1px solid rgba(255,255,255,.05); }
.credibility-shell { display: grid; gap: 30px; padding: 32px; border-radius: var(--radius-lg); border: 1px solid var(--line); background: radial-gradient(circle at 15% 15%, rgba(107,240,192,.07), transparent 23rem), #080d16; }
.credibility-copy { max-width: 720px; }

.download-section { position: relative; min-height: 680px; display: grid; place-items: center; overflow: hidden; background: #05070c; border-top: 1px solid rgba(255,255,255,.06); }
.download-aurora { position: absolute; inset: 10% -20% -40%; filter: blur(70px); opacity: .5; background: radial-gradient(ellipse at 25% 55%, rgba(89,239,181,.5), transparent 28%), radial-gradient(ellipse at 52% 50%, rgba(82,199,239,.42), transparent 26%), radial-gradient(ellipse at 75% 50%, rgba(177,122,255,.4), transparent 24%); }
.download-content { position: relative; z-index: 2; padding: 100px 0; text-align: center; }
.download-icon { width: 92px; height: 92px; margin: 0 auto 24px; border-radius: 23px; box-shadow: 0 24px 70px rgba(0,0,0,.4), 0 0 55px rgba(89,239,181,.13); }
.download-content .eyebrow { justify-content: center; }
.download-content h2 { margin: 0; font-size: clamp(38px, 8.5vw, 62px); line-height: 1.04; letter-spacing: -.04em; }
.download-content > p { max-width: 720px; margin: 24px auto 0; color: #a4afc0; }
.download-actions { justify-content: center; }
.download-content > small { display: block; margin-top: 18px; color: #778397; }

.site-footer { padding: 54px 0 24px; background: #03050a; border-top: 1px solid rgba(255,255,255,.06); }
.footer-grid { display: grid; gap: 42px; }
.footer-brand p { max-width: 390px; color: #7f8a9c; font-size: 13px; }
.footer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.footer-links > div { display: grid; align-content: start; gap: 9px; }
.footer-links strong { margin-bottom: 4px; color: #e7ecf4; }
.footer-links a { color: #7d899c; font-size: 13px; }
.footer-links a:hover { color: var(--mint); }
.footer-bottom { margin-top: 40px; padding-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.06); color: #606a7a; font-size: 11px; }

.legal-page, .research-page { min-height: 100vh; padding: 124px 0 88px; background: radial-gradient(circle at 85% 0%, rgba(83,218,209,.08), transparent 32rem), #05070c; }
.inner-shell { width: min(920px, calc(100vw - 36px)); margin: auto; }
.inner-hero { padding: 48px 0 34px; }
.inner-hero h1 { margin: 0; font-size: clamp(40px, 8.5vw, 62px); line-height: 1.04; letter-spacing: -.04em; }
.inner-hero p { max-width: 720px; color: #a3aec0; font-size: 18px; }
.prelaunch-note { margin: 0 0 34px; padding: 15px 17px; border: 1px solid rgba(255,201,104,.2); border-radius: 16px; background: rgba(255,201,104,.055); color: #c9b98f; font-size: 13px; }
.content-section { padding: 28px 0; border-top: 1px solid var(--line); }
.content-section h2 { margin: 0 0 12px; font-size: 26px; letter-spacing: -.025em; }
.content-section p, .content-section li { color: #a3aec0; }
.content-section a { color: var(--mint); }
.research-flow { margin: 34px 0; display: grid; gap: 12px; }
.research-flow article { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #0a101c; }
.research-flow strong { display: block; color: #eef5ff; }
.research-flow span { color: #8794a8; font-size: 13px; }
.back-link { display: inline-flex; margin-top: 32px; color: var(--mint); font-weight: 700; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 700px) {
  :root { --shell: min(1320px, calc(100vw - 72px)); }
  .hero { padding-top: 130px; }
  .hero-grid { grid-template-columns: minmax(0, .95fr) minmax(360px, .8fr); gap: 40px; }
  .hero h1 { font-size: clamp(66px, 8vw, 98px); }
  .hero-product { min-height: 700px; }
  .phone-hero { width: min(34vw, 390px); }
  .hero-float-one { left: 4%; }
  .hero-float-two { right: 2%; }
  .signal-strip { grid-template-columns: repeat(5, 1fr); grid-auto-flow: initial; overflow: visible; }
  .signal-strip > div { min-width: 0; }
  .question-grid { grid-template-columns: 1fr 2fr; align-items: start; }
  .question-grid .eyebrow { grid-column: 1 / -1; }
  .question-copy { align-self: end; }
  .decision-stage { grid-template-columns: .78fr 1.22fr; padding: 52px; }
  .pipeline-steps { grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items: center; }
  .pipeline-steps i { display: block; text-align: center; }
  .metric-row { grid-template-columns: repeat(3, 1fr); }
  .science-grid, .solar-layout, .regional-layout, .identity-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .science-copy { order: 2; }
  .screen-pair { order: 1; }
  .solar-stage { order: 2; }
  .solar-copy { order: 1; }
  .planning-showcase { grid-template-columns: .7fr 1.3fr; }
  .moment-grid { grid-template-columns: repeat(2, 1fr); }
  .credibility-shell { grid-template-columns: .8fr 1.2fr; padding: 48px; }
  .footer-grid { grid-template-columns: 1fr 1.4fr; }
  .footer-links { grid-template-columns: repeat(3, 1fr); }
  .research-flow { grid-template-columns: repeat(2,1fr); }
}

@media (min-width: 1050px) {
  .site-header { padding-top: 18px; }
  .menu-button { display: none; }
  .site-menu { position: static; display: flex; align-items: center; gap: 2px; padding: 0; background: transparent; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .site-menu a { padding: 10px 10px; font-size: 12px; }
  .site-menu .nav-cta { margin-left: 10px; padding-inline: 18px; background: rgba(8,12,20,.72); color: #fff; border: 1px solid var(--line-strong); }
  .hero { min-height: 940px; padding-top: 140px; }
  .hero-grid { grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr); }
  .hero h1 { font-size: clamp(82px, 7.2vw, 108px); max-width: 760px; }
  .hero-lede { max-width: 650px; }
  .phone-hero { width: min(29vw, 420px); }
  .hero-float { min-width: 190px; padding: 14px 16px; }
  .hero-float strong { font-size: 15px; }
  .hero-float-one { left: 1%; top: 28%; }
  .hero-float-two { right: 1%; bottom: 26%; }
  .section-pad { padding: 132px 0; }
  .question-section { padding: 150px 0; }
  .display-question { font-size: 92px; }
  .decision-stage { min-height: 780px; }
  .decision-visual { min-height: 720px; }
  .phone-primary { width: 360px; }
  .phone-secondary { width: 285px; }
  .pipeline-shell { padding: 44px 48px; }
  .science-grid, .solar-layout, .regional-layout, .identity-grid { gap: 100px; }
  .portrait-card-front { width: 390px; }
  .portrait-card-back { width: 320px; right: -1%; }
  .portrait-card-large { width: 410px; }
  .planning-showcase { grid-template-columns: 420px 1fr; gap: 70px; }
  .portrait-plan-one { width: 390px; }
  .portrait-plan-two { width: 320px; right: 4%; }
  .moment-card { min-height: 840px; }
  .moment-phone { width: 390px; bottom: -41%; }
  .identity-passport { width: 390px; }
  .identity-badges { width: 310px; right: 5%; }
  .plus-shell { grid-template-columns: .8fr 1.2fr; padding: 64px; gap: 70px; align-items: center; }
  .plus-gallery { min-height: 790px; }
  .plus-card { width: 285px; }
  .plus-card-two { width: 350px; }
}

@media (max-width: 430px) {
  .hero-float, .hero-brand-mark { display: none; }
  .hero-product { min-height: 520px; }
  .phone-hero { width: 78vw; }
  .signal-strip { margin-top: 20px; }
  .question-section { padding: 84px 0; }
  .decision-stage, .plus-shell { padding: 22px; }
  .decision-visual { min-height: 560px; }
  .phone-primary { width: 70vw; }
  .phone-secondary { width: 55vw; }
  .screen-pair, .solar-stage, .regional-stage, .planning-devices, .identity-devices, .plus-gallery { min-height: 610px; }
  .moment-card { min-height: 710px; }
  .moment-phone { bottom: -32%; }
  .passport-stats { grid-template-columns: 1fr; }
  .passport-stats > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .passport-stats > div:last-child { border-bottom: 0; }
  .footer-links { grid-template-columns: 1fr 1fr; }
}

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


/* v12 refinement: calmer hierarchy and cleaner interactive screenshot stages */
.stage-halo-cyan { background: radial-gradient(circle, rgba(97,217,247,.55), rgba(107,240,192,.12) 42%, transparent 68%); }
.stage-halo-mint { background: radial-gradient(circle, rgba(107,240,192,.48), rgba(97,217,247,.10) 42%, transparent 68%); }
.science-stage, .planning-stage { position: relative; }
.science-stage .portrait-card-large, .planning-stage .portrait-card-large { width: min(78vw, 365px); }
.stage-tabs-compact { margin-top: 24px; }
.section-heading > p:last-child, .science-copy > p, .solar-copy > p, .regional-copy > p, .identity-copy > p, .plus-copy > p, .credibility-copy p { line-height: 1.62; }
.decision-copy > p, .planning-copy-card > p { line-height: 1.62; }

@media (min-width: 700px) {
  .science-stage, .planning-stage { min-height: 690px; }
}

@media (min-width: 1050px) {
  .section-pad { padding: 112px 0; }
  .question-section { padding: 118px 0; }
  .display-question { font-size: 68px; }
  .hero h1 { font-size: clamp(72px, 6.4vw, 94px); }
  .science-stage, .planning-stage { min-height: 735px; }
}

@media (max-width: 699px) {
  .hero { min-height: auto; padding-top: 106px; }
  .hero-grid { gap: 36px; }
  .hero-product { min-height: 500px; }
  .hero-proof { gap: 7px 14px; }
  .signal-strip { grid-auto-columns: minmax(195px, 72vw); }
  .section-pad { padding: 70px 0; }
  .section-heading { margin-bottom: 34px; }
  .question-section { padding: 72px 0; }
  .display-question { max-width: 20ch; }
  .decision-stage { padding: 22px; }
  .decision-visual { min-height: 530px; }
  .pipeline-section { padding-bottom: 70px; }
  .pipeline-shell { padding: 22px; }
  .science-grid, .solar-layout, .regional-layout, .identity-grid { gap: 36px; }
  .science-stage, .solar-stage, .regional-stage, .planning-stage { min-height: 590px; }
  .science-stage .portrait-card-large, .solar-stage .portrait-card-large, .regional-stage .portrait-card-large, .planning-stage .portrait-card-large { width: min(75vw, 315px); }
  .planning-showcase { gap: 28px; }
  .planning-copy-card { padding: 22px; }
  .moment-grid { gap: 16px; }
  .moment-card { min-height: 650px; }
  .moment-copy { padding: 24px; }
  .moment-phone { width: min(65vw, 290px); bottom: -34%; }
  .identity-devices { min-height: 610px; }
  .plus-shell { padding: 24px; gap: 34px; }
  .plus-gallery { min-height: 0; display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; place-items: initial; padding: 4px 2px 14px; scrollbar-width: none; }
  .plus-gallery::-webkit-scrollbar { display: none; }
  .plus-card, .plus-card-one, .plus-card-two, .plus-card-three { position: relative; inset: auto; flex: 0 0 min(72vw, 300px); width: auto; transform: none; opacity: 1; scroll-snap-align: center; }
  .download-section { min-height: 560px; }
  .download-content { padding: 82px 0; }
}

@media (max-width: 430px) {
  .hero h1 { font-size: clamp(44px, 13vw, 58px); }
  .hero-lede { font-size: 17px; }
  .phone-hero { width: 72vw; }
  .hero-product { min-height: 475px; }
  .display-question { font-size: clamp(36px, 10.5vw, 46px); }
  .section-heading h2, .science-copy h2, .solar-copy h2, .regional-copy h2, .identity-copy h2, .plus-copy h2, .credibility-shell h2 { font-size: clamp(32px, 9.1vw, 40px); }
  .pipeline-copy h2 { font-size: clamp(30px, 8.5vw, 38px); }
  .decision-copy h3, .planning-copy-card h3 { font-size: clamp(27px, 7.8vw, 34px); }
  .moment-copy h2 { font-size: clamp(28px, 8vw, 34px); }
  .inner-hero h1 { font-size: clamp(38px, 11vw, 48px); }
  .download-content h2 { font-size: clamp(38px, 11vw, 48px); }
  .screen-pair, .science-stage, .solar-stage, .regional-stage, .planning-stage, .planning-devices, .identity-devices { min-height: 550px; }
  .portrait-card-large, .science-stage .portrait-card-large, .solar-stage .portrait-card-large, .regional-stage .portrait-card-large, .planning-stage .portrait-card-large { width: min(74vw, 300px); }
  .moment-card { min-height: 610px; }
  .moment-phone { bottom: -30%; }
  .plus-card, .plus-card-one, .plus-card-two, .plus-card-three { flex-basis: min(76vw, 292px); }
}

/* Narrow-screen overflow guard: allow grid children to shrink to the shell. */
.science-grid > *,
.solar-layout > *,
.regional-layout > *,
.planning-showcase > *,
.identity-grid > *,
.decision-stage > *,
.plus-shell > *,
.credibility-shell > * { min-width: 0; }

section[id] { scroll-margin-top: 92px; }

.portrait-card-large,
.science-stage .portrait-card-large,
.solar-stage .portrait-card-large,
.regional-stage .portrait-card-large,
.planning-stage .portrait-card-large { max-width: 100%; }

@media (min-width: 700px) and (max-width: 899px) {
  .decision-stage,
  .science-grid,
  .solar-layout,
  .planning-showcase,
  .regional-layout,
  .moment-grid,
  .identity-grid,
  .credibility-shell { grid-template-columns: 1fr; }
  .science-copy { order: 1; }
  .science-stage { order: 2; }
  .solar-copy { order: 1; }
  .solar-stage { order: 2; }
  .science-stage,
  .solar-stage,
  .regional-stage,
  .planning-stage { min-height: 660px; }
  .portrait-card-large,
  .science-stage .portrait-card-large,
  .solar-stage .portrait-card-large,
  .regional-stage .portrait-card-large,
  .planning-stage .portrait-card-large { width: min(52vw, 360px); }
}
/* ==========================================================================
   v13 layout pass
   Tighter vertical rhythm, calmer headings and more deliberate desktop pairs.
   ========================================================================== */

:root {
  --shell: min(1180px, calc(100vw - 40px));
}

.section-pad {
  padding: 68px 0;
}

.section-heading {
  max-width: 690px;
  margin-bottom: 28px;
}

.section-heading h2,
.science-copy h2,
.solar-copy h2,
.regional-copy h2,
.identity-copy h2,
.plus-copy h2,
.credibility-shell h2 {
  font-size: clamp(34px, 4.1vw, 48px);
  line-height: 1.08;
  letter-spacing: -.034em;
}

.section-heading > p:last-child,
.science-copy > p,
.solar-copy > p,
.regional-copy > p,
.identity-copy > p,
.plus-copy > p,
.credibility-copy p {
  font-size: 16px;
  line-height: 1.58;
}

.question-section {
  padding: 70px 0;
}

.question-grid {
  gap: 20px 44px;
}

.display-question {
  font-size: clamp(38px, 4.8vw, 58px);
  line-height: 1.01;
}

.question-copy {
  font-size: 16px;
  line-height: 1.62;
}

.decision-stage {
  max-width: 1080px;
  margin-inline: auto;
  gap: 44px;
  padding: 38px 42px;
}

.decision-copy {
  max-width: 450px;
}

.decision-copy h3 {
  margin-top: 14px;
  font-size: clamp(30px, 3.3vw, 38px);
}

.decision-copy > p,
.planning-copy-card > p {
  font-size: 16px;
}

.decision-visual {
  min-height: 620px;
}

.phone-primary {
  width: min(66vw, 300px);
}

.phone-secondary {
  width: min(50vw, 215px);
}

.phone-map {
  right: 1%;
  top: 17%;
}

.pipeline-section {
  padding: 18px 0 62px;
}

.pipeline-shell {
  max-width: 1080px;
  padding: 30px 34px;
}

.pipeline-copy h2 {
  font-size: clamp(32px, 4vw, 44px);
}

.pipeline-steps {
  margin-top: 22px;
}

.pipeline-steps > div {
  min-height: 74px;
  padding: 13px 15px;
}

/* Shared editorial feature pairs. */
.science-grid,
.solar-layout,
.regional-layout,
.planning-showcase,
.identity-grid {
  width: min(100%, 1060px);
  margin-inline: auto;
  gap: 48px;
  align-items: center;
}

.science-copy,
.solar-copy,
.regional-copy,
.identity-copy {
  max-width: 560px;
}

.metric-row {
  margin-top: 26px;
}

.metric-row > div {
  padding: 15px 16px;
}

.stage-tabs {
  margin-top: 22px;
}

.feature-notes {
  margin-top: 24px;
}

.screen-pair,
.science-stage,
.solar-stage,
.regional-stage,
.planning-stage {
  min-height: 0;
}

.science-stage,
.solar-stage,
.regional-stage,
.planning-stage {
  padding: 8px 0;
}

.portrait-card {
  border-radius: 28px;
  box-shadow: 0 24px 62px rgba(0,0,0,.38);
}

.portrait-card-large,
.science-stage .portrait-card-large,
.solar-stage .portrait-card-large,
.regional-stage .portrait-card-large,
.planning-stage .portrait-card-large {
  width: min(72vw, 320px);
}

.stage-halo {
  width: min(78%, 410px);
  opacity: .20;
  filter: blur(55px);
}

/* Planning now reads as one deliberate composition rather than two islands. */
.planning-section {
  background:
    radial-gradient(circle at 76% 48%, rgba(65, 224, 193, .07), transparent 28rem),
    linear-gradient(180deg, #05070c, #070b12 50%, #05070c);
}

.planning-showcase {
  grid-template-columns: minmax(0, 1fr);
}

.planning-copy-card {
  padding: 26px;
  border-radius: 26px;
  background: linear-gradient(150deg, rgba(13,20,33,.92), rgba(8,12,21,.9));
}

.planning-copy-card .eyebrow {
  margin-bottom: 14px;
}

.planning-copy-card h2 {
  margin: 0 0 14px;
  font-size: clamp(34px, 4.1vw, 46px);
  line-height: 1.06;
  letter-spacing: -.035em;
}

.planning-points {
  margin-top: 24px;
  border-top: 1px solid var(--line);
}

.planning-points > div {
  display: grid;
  grid-template-columns: 126px minmax(0,1fr);
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.planning-points strong {
  color: var(--mint);
  font-size: 14px;
}

.planning-points span {
  color: #8f9bae;
  font-size: 13px;
  line-height: 1.45;
}

/* Regional screen chips are supportive, not another large block. */
.regional-badges {
  margin-top: 22px;
}

/* Alerts and community: reduce the giant card effect. */
.moment-section {
  padding-top: 62px;
  padding-bottom: 62px;
}

.moment-grid {
  width: min(100%, 1060px);
  margin-inline: auto;
  gap: 18px;
}

.moment-card {
  min-height: 650px;
  border-radius: 28px;
}

.moment-copy {
  padding: 26px;
}

.moment-copy h2 {
  font-size: clamp(29px, 3.2vw, 38px);
}

.moment-phone {
  width: min(62vw, 285px);
  bottom: -31%;
}

/* Observer Passport: two clean screenshots rather than a large floating overlap. */
.identity-devices {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  place-items: start;
}

.identity-passport,
.identity-badges {
  position: relative;
  inset: auto;
  width: 100%;
  transform: none;
}

.passport-stats {
  margin-top: 25px;
}

/* Plus: stop the three phones floating in a huge empty stage. */
.plus-shell {
  width: min(var(--shell), 1100px);
  gap: 42px;
  padding: 42px;
}

.plus-gallery {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  align-items: center;
}

.plus-card,
.plus-card-one,
.plus-card-two,
.plus-card-three {
  position: relative;
  inset: auto;
  width: auto;
  transform: none;
  opacity: 1;
}

.plus-card-two {
  z-index: 1;
}

.credibility-shell {
  width: min(var(--shell), 1080px);
  gap: 34px;
  padding: 34px 38px;
}

.download-section {
  min-height: 520px;
}

.download-content {
  padding: 72px 0;
}

.download-content h2 {
  font-size: clamp(38px, 5vw, 54px);
}

/* Desktop composition */
@media (min-width: 900px) {
  :root {
    --shell: min(1180px, calc(100vw - 72px));
  }

  .hero {
    min-height: 820px;
    padding-top: 118px;
  }

  .hero-grid {
    grid-template-columns: minmax(0, .98fr) minmax(400px, .82fr);
    gap: 42px;
  }

  .hero h1 {
    font-size: clamp(70px, 6.1vw, 90px);
  }

  .hero-product {
    min-height: 620px;
  }

  .phone-hero {
    width: min(28vw, 355px);
  }

  .question-section {
    padding: 76px 0;
  }

  .question-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  }

  .decision-stage {
    grid-template-columns: minmax(330px, .9fr) minmax(390px, 1.1fr);
  }

  .science-grid {
    grid-template-columns: minmax(300px, 360px) minmax(0,1fr);
  }

  .science-stage {
    order: 1;
  }

  .science-copy {
    order: 2;
  }

  .solar-layout,
  .regional-layout {
    grid-template-columns: minmax(0,1fr) minmax(300px, 360px);
  }

  .solar-copy {
    order: 1;
  }

  .solar-stage {
    order: 2;
  }

  .planning-showcase {
    grid-template-columns: minmax(360px, 470px) minmax(300px, 360px);
    justify-content: center;
    gap: 54px;
  }

  .planning-copy-card {
    align-self: center;
  }

  .identity-grid {
    grid-template-columns: minmax(0,1fr) minmax(400px, 470px);
  }

  .plus-shell {
    grid-template-columns: minmax(330px, .82fr) minmax(0,1.18fr);
  }

  .credibility-shell {
    grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr);
  }
}

@media (min-width: 1050px) {
  .site-header {
    padding-top: 14px;
  }

  .section-pad {
    padding: 76px 0;
  }

  .question-section {
    padding: 82px 0;
  }

  .display-question {
    font-size: 56px;
  }

  .decision-stage {
    min-height: 0;
  }

  .decision-visual {
    min-height: 620px;
  }

  .science-grid,
  .solar-layout,
  .regional-layout,
  .identity-grid {
    gap: 54px;
  }

  .planning-showcase {
    gap: 54px;
  }

  .portrait-card-large,
  .science-stage .portrait-card-large,
  .solar-stage .portrait-card-large,
  .regional-stage .portrait-card-large,
  .planning-stage .portrait-card-large {
    width: 320px;
  }

  .plus-gallery {
    min-height: 0;
  }
}

/* Tablet: keep everything close and readable rather than stretching the columns. */
@media (min-width: 700px) and (max-width: 899px) {
  :root {
    --shell: min(720px, calc(100vw - 52px));
  }

  .section-pad {
    padding: 64px 0;
  }

  .science-grid,
  .solar-layout,
  .regional-layout,
  .planning-showcase,
  .identity-grid {
    gap: 30px;
  }

  .science-stage,
  .solar-stage,
  .regional-stage,
  .planning-stage {
    min-height: 0;
  }

  .portrait-card-large,
  .science-stage .portrait-card-large,
  .solar-stage .portrait-card-large,
  .regional-stage .portrait-card-large,
  .planning-stage .portrait-card-large {
    width: min(46vw, 330px);
  }

  .planning-copy-card {
    width: min(100%, 620px);
    margin-inline: auto;
  }

  .identity-devices {
    width: min(100%, 560px);
    margin-inline: auto;
  }

  .plus-shell {
    padding: 32px;
  }
}

/* Phone pass */
@media (max-width: 699px) {
  :root {
    --shell: min(100% - 28px, 560px);
  }

  .section-pad {
    padding: 54px 0;
  }

  .question-section {
    padding: 56px 0;
  }

  .section-heading {
    margin-bottom: 24px;
  }

  .section-heading h2,
  .science-copy h2,
  .solar-copy h2,
  .regional-copy h2,
  .identity-copy h2,
  .plus-copy h2,
  .credibility-shell h2 {
    font-size: clamp(30px, 9vw, 37px);
  }

  .display-question {
    font-size: clamp(36px, 10.6vw, 44px);
  }

  .decision-stage {
    padding: 20px;
    gap: 24px;
  }

  .decision-copy h3 {
    font-size: clamp(27px, 8vw, 33px);
  }

  .decision-visual {
    min-height: 500px;
  }

  .phone-primary {
    width: min(69vw, 285px);
  }

  .phone-secondary {
    width: min(49vw, 205px);
  }

  .pipeline-section {
    padding-bottom: 52px;
  }

  .pipeline-shell {
    padding: 21px;
  }

  .science-grid,
  .solar-layout,
  .regional-layout,
  .planning-showcase,
  .identity-grid {
    gap: 26px;
  }

  .science-stage,
  .solar-stage,
  .regional-stage,
  .planning-stage {
    min-height: 0;
    padding-top: 4px;
  }

  .portrait-card-large,
  .science-stage .portrait-card-large,
  .solar-stage .portrait-card-large,
  .regional-stage .portrait-card-large,
  .planning-stage .portrait-card-large {
    width: min(76vw, 300px);
  }

  .planning-copy-card {
    padding: 21px;
  }

  .planning-copy-card h2 {
    font-size: clamp(30px, 9vw, 37px);
  }

  .planning-points > div {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 13px 0;
  }

  .planning-points strong {
    font-size: 14px;
  }

  .moment-section {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .moment-card {
    min-height: 600px;
  }

  .moment-copy {
    padding: 22px;
  }

  .moment-phone {
    width: min(67vw, 275px);
    bottom: -29%;
  }

  .identity-devices {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 2px 1px 12px;
  }

  .identity-devices::-webkit-scrollbar {
    display: none;
  }

  .identity-passport,
  .identity-badges {
    flex: 0 0 min(72vw, 286px);
    scroll-snap-align: center;
  }

  .plus-shell {
    padding: 23px;
    gap: 28px;
  }

  .plus-gallery {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 2px 1px 12px;
  }

  .plus-gallery::-webkit-scrollbar {
    display: none;
  }

  .plus-card,
  .plus-card-one,
  .plus-card-two,
  .plus-card-three {
    flex: 0 0 min(72vw, 286px);
    scroll-snap-align: center;
  }

  .credibility-shell {
    padding: 24px;
  }

  .download-section {
    min-height: 470px;
  }

  .download-content {
    padding: 64px 0;
  }
}

@media (max-width: 430px) {
  .hero {
    padding-top: 98px;
  }

  .hero-product {
    min-height: 450px;
  }

  .phone-hero {
    width: 69vw;
  }

  .section-pad {
    padding: 48px 0;
  }

  .question-section {
    padding: 50px 0;
  }

  .decision-visual {
    min-height: 475px;
  }

  .portrait-card-large,
  .science-stage .portrait-card-large,
  .solar-stage .portrait-card-large,
  .regional-stage .portrait-card-large,
  .planning-stage .portrait-card-large {
    width: min(74vw, 286px);
  }

  .stage-tabs button {
    min-height: 40px;
    padding-inline: 13px;
    font-size: 12px;
  }

  .moment-card {
    min-height: 575px;
  }

  .moment-phone {
    width: min(68vw, 265px);
  }

  .download-content h2 {
    font-size: clamp(36px, 11vw, 46px);
  }
}


/* v13 final rhythm pass */
.section-pad { padding: 56px 0; }
.question-section { padding: 60px 0; }
.pipeline-section { padding-top: 14px; padding-bottom: 48px; }
.moment-section { padding-top: 50px; padding-bottom: 50px; }
.download-section { min-height: 490px; }
.download-content { padding: 64px 0; }

@media (min-width: 900px) {
  .section-pad { padding: 58px 0; }
  .question-section { padding: 64px 0; }
}

@media (min-width: 1050px) {
  .section-pad { padding: 60px 0; }
  .question-section { padding: 66px 0; }
}

@media (max-width: 699px) {
  .section-pad { padding: 40px 0; }
  .question-section { padding: 42px 0; }
  .pipeline-section { padding-bottom: 40px; }
  .moment-section { padding-top: 40px; padding-bottom: 40px; }
  .download-content { padding: 56px 0; }
}

@media (max-width: 430px) {
  .section-pad { padding: 36px 0; }
  .question-section { padding: 38px 0; }
}

/* ========================================================================== 
   Aurora Beacon v14 — homepage redesign
   Everything is namespaced under .home-v14 / .v14-* so legal/support pages
   continue using the established site styles.
   ========================================================================== */
.home-v14 {
  --v14-bg: #04070d;
  --v14-bg-soft: #07101a;
  --v14-panel: #0a1220;
  --v14-panel-2: #0d1727;
  --v14-line: rgba(153, 181, 219, .14);
  --v14-text: #f7fbff;
  --v14-muted: #9ca9bc;
  --v14-cyan: #60eaf1;
  --v14-mint: #69f4c1;
  --v14-purple: #c56aff;
  --v14-pink: #fa5eb6;
  --v14-gold: #ffd368;
  --v14-shell: min(1180px, calc(100vw - 48px));
  margin: 0;
  color: var(--v14-text);
  background:
    radial-gradient(circle at 20% 8%, rgba(33, 212, 202, .08), transparent 28rem),
    radial-gradient(circle at 86% 18%, rgba(127, 68, 235, .08), transparent 27rem),
    var(--v14-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
.home-v14 * { box-sizing: border-box; }
.home-v14 img { display: block; max-width: 100%; }
.home-v14 a { color: inherit; }
.v14-shell { width: var(--v14-shell); margin-inline: auto; }
.v14-kicker { margin: 0 0 15px; color: var(--v14-mint); font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.v14-section-heading { max-width: 760px; margin-bottom: 38px; }
.v14-heading-centre { margin-inline: auto; text-align: center; }
.v14-section-heading h2,
.v14-split-copy h2,
.v14-human-copy h2,
.v14-passport-copy h2,
.v14-plus-copy h2,
.v14-trust h2,
.v14-download h2 { margin: 0 0 16px; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -.045em; }
.v14-section-heading > p:last-child,
.v14-split-copy > p,
.v14-human-copy > p,
.v14-passport-copy > p,
.v14-plus-copy > p,
.v14-trust p,
.v14-download p { color: var(--v14-muted); font-size: 17px; line-height: 1.65; }

.v14-header { position: fixed; inset: 0 0 auto; z-index: 80; border-bottom: 1px solid transparent; transition: .25s ease; }
.v14-header.is-scrolled { background: rgba(4,7,13,.88); border-color: var(--v14-line); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.v14-nav { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.v14-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; flex: 0 0 auto; }
.v14-brand img { width: 40px; height: 40px; border-radius: 11px; box-shadow: 0 0 30px rgba(82,239,225,.12); }
.v14-brand span { display: grid; gap: 1px; font-size: 11px; line-height: 1; letter-spacing: .21em; text-transform: uppercase; }
.v14-brand b { color: #fff; font-weight: 850; }
.v14-brand small { color: var(--v14-cyan); font-size: inherit; font-weight: 850; }
.v14-menu { display: flex; align-items: center; gap: 25px; }
.v14-menu a { color: #c4ccd8; font-size: 13px; font-weight: 700; text-decoration: none; transition: .2s; }
.v14-menu a:hover { color: #fff; }
.v14-nav-cta { padding: 11px 17px; border: 1px solid rgba(125,214,255,.27); border-radius: 12px; background: rgba(13,24,39,.7); color: #fff !important; }
.v14-menu-button { display: none; border: 0; background: none; color: white; font-size: 24px; }

.v14-hero { position: relative; min-height: 840px; padding: 150px 0 86px; display: grid; align-items: center; overflow: hidden; }
.v14-aurora-wash { position: absolute; inset: -8% 0 auto; height: 650px; pointer-events: none; opacity: .65; background: radial-gradient(ellipse at 26% 25%, rgba(52,240,190,.18), transparent 32%), radial-gradient(ellipse at 75% 22%, rgba(144,73,255,.22), transparent 36%); filter: blur(40px); }
.v14-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); align-items: center; gap: 46px; }
.v14-hero-copy { position: relative; z-index: 3; }
.v14-hero-copy h1 { margin: 0 0 24px; font-size: clamp(70px, 7vw, 104px); line-height: .86; letter-spacing: -.065em; }
.v14-hero-copy h1 em { font-style: normal; background: linear-gradient(90deg,var(--v14-mint),var(--v14-cyan) 48%,#bf78ff); color: transparent; background-clip: text; -webkit-background-clip: text; }
.v14-hero-lead { max-width: 650px; margin: 0 0 28px; color: #b5c0d0; font-size: 19px; line-height: 1.62; }
.v14-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.v14-button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 13px; text-decoration: none; font-size: 14px; font-weight: 800; }
.v14-button-primary { color: #061013 !important; background: linear-gradient(135deg,#75f3bd,#5be0f1); box-shadow: 0 14px 34px rgba(78,229,210,.15); }
.v14-button-ghost { color: #e7edf5 !important; border: 1px solid rgba(177,202,234,.2); background: rgba(10,18,31,.65); }
.v14-proof-row { margin-top: 27px; display: flex; flex-wrap: wrap; gap: 10px 20px; color: #8491a4; font-size: 12px; font-weight: 700; }
.v14-proof-row span::before { content: "•"; margin-right: 8px; color: var(--v14-mint); }
.v14-hero-visual { position: relative; min-height: 620px; }
.v14-hero-glow { position: absolute; inset: 15% 3% 8%; border-radius: 50%; background: radial-gradient(circle,rgba(66,231,209,.18),rgba(118,73,231,.08) 45%,transparent 70%); filter: blur(28px); }
.v14-screen { position: relative; overflow: hidden; border: 1px solid rgba(169,194,228,.16); border-radius: 27px; background: #030711; box-shadow: 0 26px 70px rgba(0,0,0,.42); }
.v14-screen img { width: 100%; height: auto; }
.v14-hero-screen { position: absolute; width: 300px; }
.v14-hero-outlook { left: 24%; top: 0; z-index: 4; width: 322px; }
.v14-hero-map { left: 0; top: 85px; z-index: 2; width: 244px; transform: rotate(-6deg); opacity: .96; }
.v14-hero-event { right: 0; top: 115px; z-index: 1; width: 238px; transform: rotate(6deg); opacity: .94; }

.v14-intro { padding: 84px 0 94px; border-top: 1px solid var(--v14-line); background: linear-gradient(180deg,rgba(7,12,21,.55),rgba(4,7,13,0)); }
.v14-screen-cards { display: grid; gap: 18px; }
.v14-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.v14-screen-card { min-width: 0; padding: 20px; display: flex; flex-direction: column; gap: 20px; border: 1px solid var(--v14-line); border-radius: 28px; background: linear-gradient(145deg,rgba(12,21,35,.95),rgba(6,11,19,.92)); }
.v14-screen-card-copy { min-height: 185px; }
.v14-screen-card-copy h3 { margin: 10px 0 9px; font-size: 25px; letter-spacing: -.03em; }
.v14-screen-card-copy p { margin: 0; color: var(--v14-muted); font-size: 14px; line-height: 1.6; }
.v14-number { color: var(--v14-cyan); font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.v14-screen-card .v14-screen { width: min(100%,290px); margin: 0 auto; }

.v14-maps { padding: 90px 0; background: radial-gradient(circle at 50% 38%,rgba(56,225,210,.07),transparent 34rem),#050910; border-block: 1px solid var(--v14-line); }
.v14-map-grid { display: grid; gap: 22px; }
.v14-map-feature { min-height: 590px; display: grid; grid-template-columns: 300px minmax(0,1fr); align-items: center; gap: 38px; padding: 32px 42px; border: 1px solid var(--v14-line); border-radius: 32px; background: linear-gradient(135deg,#0b1422,#07101a 68%); overflow: hidden; }
.v14-map-feature-reverse { grid-template-columns: minmax(0,1fr) 300px; }
.v14-map-feature-reverse .v14-map-screen { order: 2; }
.v14-map-feature-reverse .v14-map-copy { order: 1; }
.v14-map-screen { width: 285px; justify-self: center; border-radius: 28px; }
.v14-map-copy { max-width: 620px; }
.v14-map-copy h3,.v14-compass-copy h3,.v14-deep-copy h3,.v14-journey-card h3,.v14-ground-grid h3 { margin: 13px 0 12px; font-size: clamp(28px,3vw,40px); line-height: 1.05; letter-spacing: -.04em; }
.v14-map-copy p,.v14-compass-copy p,.v14-deep-copy p,.v14-journey-card p,.v14-ground-grid p { color: var(--v14-muted); line-height: 1.62; }
.v14-pill { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(105,244,193,.24); border-radius: 999px; color: var(--v14-mint); background: rgba(105,244,193,.07); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.v14-pill-gold { color: var(--v14-gold); border-color: rgba(255,211,104,.24); background: rgba(255,211,104,.06); }
.v14-checks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.v14-checks li { position: relative; padding-left: 25px; color: #c0cad7; font-size: 14px; }
.v14-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--v14-mint); font-weight: 900; }
.v14-compass-band { margin-top: 22px; display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: center; gap: 44px; padding: 36px 46px; border: 1px solid var(--v14-line); border-radius: 32px; background: radial-gradient(circle at 72% 50%,rgba(105,244,193,.09),transparent 23rem),linear-gradient(135deg,#091523,#090d18); }
.v14-compass-copy { max-width: 650px; }
.v14-compass-screen { width: 285px; justify-self: center; }
.v14-stat-chips { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 9px; }
.v14-stat-chips span { padding: 8px 11px; border: 1px solid var(--v14-line); border-radius: 999px; color: #aeb9c8; background: rgba(255,255,255,.025); font-size: 12px; font-weight: 700; }

.v14-journey { padding: 90px 0; }
.v14-journey-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.v14-journey-card { min-width: 0; display: grid; grid-template-rows: auto 1fr; gap: 18px; padding: 19px; border: 1px solid var(--v14-line); border-radius: 28px; background: rgba(10,17,29,.76); }
.v14-journey-card .v14-screen { width: min(100%,270px); margin-inline: auto; }
.v14-journey-card > div { padding: 0 5px 6px; }
.v14-journey-card span { color: var(--v14-purple); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.v14-journey-card h3 { font-size: 26px; }
.v14-journey-card p { font-size: 14px; }
.v14-deep-grid { margin-top: 58px; display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); align-items: center; gap: 48px; }
.v14-deep-copy h3 { font-size: clamp(34px,4vw,50px); }
.v14-text-link { color: var(--v14-cyan) !important; font-weight: 800; text-decoration: none; }
.v14-mini-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: center; }
.v14-mini-gallery .v14-screen:nth-child(2) { transform: translateY(18px); }

.v14-ground { padding: 90px 0; border-block: 1px solid var(--v14-line); background: linear-gradient(180deg,#060b13,#050810); }
.v14-ground-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.v14-ground-grid article { min-width: 0; padding: 18px; border: 1px solid var(--v14-line); border-radius: 27px; background: rgba(9,16,28,.82); }
.v14-ground-grid .v14-screen { width: min(100%,270px); margin-inline: auto; }
.v14-ground-grid article > div { padding: 16px 4px 4px; }
.v14-ground-grid h3 { font-size: 23px; }
.v14-ground-grid p { margin-bottom: 0; font-size: 14px; }

.v14-planning { padding: 90px 0; }
.v14-split-feature { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: center; gap: 58px; padding: 38px 46px; border: 1px solid var(--v14-line); border-radius: 34px; background: radial-gradient(circle at 76% 45%,rgba(95,234,241,.10),transparent 23rem),linear-gradient(145deg,#0a1421,#070b13); }
.v14-split-copy { max-width: 700px; }
.v14-feature-screen { width: 300px; justify-self: center; }

.v14-human { padding: 90px 0; background: #05080e; border-top: 1px solid var(--v14-line); }
.v14-human-grid { display: grid; gap: 22px; }
.v14-human-row { min-height: 590px; display: grid; grid-template-columns: 310px minmax(0,1fr); align-items: center; gap: 54px; padding: 34px 48px; border: 1px solid var(--v14-line); border-radius: 34px; background: linear-gradient(135deg,#0a1320,#070c15); overflow: hidden; }
.v14-human-row-reverse { grid-template-columns: minmax(0,1fr) 310px; }
.v14-human-row-reverse .v14-human-screen { order: 2; }
.v14-human-row-reverse .v14-human-copy { order: 1; }
.v14-human-screen { width: 286px; justify-self: center; }
.v14-human-copy { max-width: 650px; }
.v14-human-copy h2 { font-size: clamp(36px,4vw,52px); }
.v14-accent-line { margin-top: 18px; color: var(--v14-mint) !important; font-size: 14px !important; font-weight: 800; }

.v14-passport { padding: 90px 0; }
.v14-passport-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(410px,.9fr); align-items: center; gap: 54px; }
.v14-passport-copy { max-width: 650px; }
.v14-passport-screens { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; align-items: center; }
.v14-passport-screens .v14-screen:last-child { transform: translateY(24px); }

.v14-plus { padding: 90px 0; border-block: 1px solid var(--v14-line); background: radial-gradient(circle at 80% 45%,rgba(194,90,255,.10),transparent 30rem),#060910; }
.v14-plus-panel { display: grid; grid-template-columns: minmax(340px,.8fr) minmax(0,1.2fr); align-items: center; gap: 46px; padding: 46px; border: 1px solid rgba(197,106,255,.18); border-radius: 36px; background: linear-gradient(145deg,rgba(19,13,33,.94),rgba(7,10,18,.94)); }
.v14-plus-label { display: inline-flex; padding: 8px 11px; border-radius: 999px; color: var(--v14-gold); border: 1px solid rgba(255,211,104,.25); background: rgba(255,211,104,.06); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.v14-plus-copy h2 { margin-top: 16px; }
.v14-free-plus { margin-top: 27px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.v14-free-plus > div { padding: 16px; display: grid; gap: 8px; border: 1px solid var(--v14-line); border-radius: 18px; background: rgba(255,255,255,.025); }
.v14-free-plus strong { color: var(--v14-mint); margin-bottom: 4px; }
.v14-free-plus > div:last-child strong { color: var(--v14-gold); }
.v14-free-plus span { color: #a8b3c2; font-size: 13px; }
.v14-plus-screens { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: center; }
.v14-plus-screens .v14-screen:nth-child(2) { transform: translateY(-16px); }
.v14-plus-screens .v14-screen:nth-child(3) { transform: translateY(18px); }

.v14-trust { padding: 72px 0; }
.v14-trust-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: center; gap: 70px; padding: 34px 0; }
.v14-trust h2 { font-size: clamp(34px,4vw,48px); }
.v14-download { position: relative; padding: 96px 0; overflow: hidden; border-top: 1px solid var(--v14-line); background: radial-gradient(circle at 50% 20%,rgba(56,230,212,.13),transparent 28rem),radial-gradient(circle at 72% 60%,rgba(152,68,242,.11),transparent 30rem),#04070d; }
.v14-download-inner { max-width: 820px; text-align: center; }
.v14-download-inner > img { width: 108px; margin: 0 auto 22px; border-radius: 28px; box-shadow: 0 25px 70px rgba(0,0,0,.35); }
.v14-download .v14-hero-actions { justify-content: center; margin-top: 27px; }
.v14-download h2 { font-size: clamp(42px,5.4vw,68px); }
.v14-footer { padding: 40px 0 52px; border-top: 1px solid var(--v14-line); color: #7f8ca0; }
.v14-footer-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 22px; }
.v14-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 20px; }
.v14-footer nav a { color: #9eabbc; font-size: 13px; text-decoration: none; }
.v14-footer p { grid-column: 1 / -1; margin: 0; font-size: 12px; }

.home-v14 .reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }
.home-v14 .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .home-v14 .reveal { opacity: 1; transform: none; transition: none; } }

@media (max-width: 1040px) {
  .home-v14 { --v14-shell: min(920px,calc(100vw - 38px)); }
  .v14-menu { gap: 16px; }
  .v14-menu a { font-size: 12px; }
  .v14-hero-grid { grid-template-columns: minmax(0,.9fr) minmax(380px,1.1fr); }
  .v14-hero-copy h1 { font-size: clamp(64px,7vw,82px); }
  .v14-hero-screen { transform-origin: center; }
  .v14-hero-outlook { width: 290px; left: 22%; }
  .v14-hero-map { width: 220px; }
  .v14-hero-event { width: 214px; }
  .v14-map-feature,.v14-human-row { gap: 28px; padding-inline: 30px; }
  .v14-plus-panel { padding: 34px; }
}

@media (max-width: 860px) {
  .home-v14 { --v14-shell: min(720px,calc(100vw - 32px)); }
  .v14-menu-button { display: block; cursor: pointer; }
  .v14-menu { display: none; position: absolute; top: 70px; left: 16px; right: 16px; padding: 18px; flex-direction: column; align-items: stretch; gap: 4px; border: 1px solid var(--v14-line); border-radius: 20px; background: rgba(5,10,17,.97); box-shadow: 0 24px 60px rgba(0,0,0,.45); }
  .v14-menu.is-open { display: flex; }
  .v14-menu a { padding: 10px 8px; font-size: 14px; }
  .v14-nav-cta { text-align: center; margin-top: 4px; }
  .v14-hero { min-height: auto; padding: 126px 0 70px; }
  .v14-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .v14-hero-copy { text-align: center; }
  .v14-hero-lead { margin-inline: auto; }
  .v14-hero-actions,.v14-proof-row { justify-content: center; }
  .v14-hero-visual { width: min(100%,650px); margin-inline: auto; min-height: 590px; }
  .v14-hero-outlook { left: 50%; transform: translateX(-50%); width: 300px; }
  .v14-hero-map { left: 6%; width: 215px; }
  .v14-hero-event { right: 6%; width: 210px; }
  .v14-three,.v14-journey-grid,.v14-ground-grid { grid-template-columns: 1fr; }
  .v14-screen-cards,.v14-journey-grid,.v14-ground-grid { max-width: 660px; margin-inline: auto; }
  .v14-screen-card { display: grid; grid-template-columns: minmax(0,1fr) 260px; align-items: center; }
  .v14-screen-card-copy { min-height: 0; }
  .v14-screen-card .v14-screen { width: 250px; }
  .v14-map-feature,.v14-map-feature-reverse,.v14-compass-band,.v14-split-feature,.v14-human-row,.v14-human-row-reverse,.v14-passport-grid,.v14-plus-panel,.v14-trust-grid { grid-template-columns: 1fr; }
  .v14-map-feature-reverse .v14-map-screen,.v14-human-row-reverse .v14-human-screen { order: initial; }
  .v14-map-feature-reverse .v14-map-copy,.v14-human-row-reverse .v14-human-copy { order: initial; }
  .v14-map-feature,.v14-compass-band,.v14-split-feature,.v14-human-row { min-height: 0; padding: 28px; }
  .v14-map-screen,.v14-compass-screen,.v14-feature-screen,.v14-human-screen { width: min(62vw,300px); }
  .v14-map-copy,.v14-compass-copy,.v14-split-copy,.v14-human-copy { max-width: 640px; margin-inline: auto; }
  .v14-deep-grid { grid-template-columns: 1fr; }
  .v14-mini-gallery,.v14-plus-screens { max-width: 620px; margin-inline: auto; }
  .v14-passport-copy,.v14-plus-copy { max-width: 680px; }
  .v14-passport-screens { max-width: 580px; margin-inline: auto; }
  .v14-plus-screens { margin-top: 16px; }
  .v14-trust-grid { gap: 18px; }
}

@media (max-width: 620px) {
  .home-v14 { --v14-shell: calc(100vw - 24px); }
  .v14-nav { height: 70px; }
  .v14-brand img { width: 36px; height: 36px; }
  .v14-hero { padding-top: 108px; }
  .v14-hero-copy h1 { font-size: clamp(54px,16vw,72px); }
  .v14-hero-lead { font-size: 16px; }
  .v14-hero-visual { min-height: 455px; }
  .v14-hero-outlook { width: min(62vw,260px); }
  .v14-hero-map { left: -2%; top: 72px; width: min(47vw,190px); }
  .v14-hero-event { right: -2%; top: 92px; width: min(45vw,182px); }
  .v14-intro,.v14-maps,.v14-journey,.v14-ground,.v14-planning,.v14-human,.v14-passport,.v14-plus { padding: 64px 0; }
  .v14-section-heading { margin-bottom: 28px; }
  .v14-section-heading h2,.v14-split-copy h2,.v14-human-copy h2,.v14-passport-copy h2,.v14-plus-copy h2,.v14-trust h2 { font-size: clamp(31px,10vw,42px); }
  .v14-section-heading > p:last-child,.v14-split-copy > p,.v14-human-copy > p,.v14-passport-copy > p,.v14-plus-copy > p,.v14-trust p { font-size: 15px; }
  .v14-heading-centre { text-align: left; }
  .v14-screen-cards,.v14-journey-grid,.v14-ground-grid { display: flex; max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 13px; scrollbar-width: none; }
  .v14-screen-cards::-webkit-scrollbar,.v14-journey-grid::-webkit-scrollbar,.v14-ground-grid::-webkit-scrollbar { display: none; }
  .v14-screen-card,.v14-journey-card,.v14-ground-grid article { flex: 0 0 min(86vw,355px); scroll-snap-align: center; }
  .v14-screen-card { display: flex; }
  .v14-screen-card .v14-screen { width: min(70vw,270px); }
  .v14-map-feature,.v14-compass-band,.v14-split-feature,.v14-human-row,.v14-plus-panel { padding: 22px; border-radius: 25px; }
  .v14-map-copy h3,.v14-compass-copy h3,.v14-deep-copy h3 { font-size: 29px; }
  .v14-map-screen,.v14-compass-screen,.v14-feature-screen,.v14-human-screen { width: min(72vw,285px); }
  .v14-mini-gallery,.v14-plus-screens,.v14-passport-screens { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 2px 15px; scrollbar-width: none; }
  .v14-mini-gallery::-webkit-scrollbar,.v14-plus-screens::-webkit-scrollbar,.v14-passport-screens::-webkit-scrollbar { display: none; }
  .v14-mini-gallery .v14-screen,.v14-plus-screens .v14-screen,.v14-passport-screens .v14-screen { flex: 0 0 min(70vw,278px); scroll-snap-align: center; transform: none !important; }
  .v14-deep-grid { margin-top: 42px; gap: 26px; }
  .v14-human-grid { gap: 16px; }
  .v14-human-row { gap: 22px; }
  .v14-human-copy { text-align: left; }
  .v14-passport-grid { gap: 28px; }
  .v14-free-plus { grid-template-columns: 1fr; }
  .v14-trust { padding: 56px 0; }
  .v14-download { padding: 72px 0; }
  .v14-download h2 { font-size: clamp(38px,12vw,50px); }
  .v14-download-inner > img { width: 92px; }
  .v14-footer-grid { grid-template-columns: 1fr; }
  .v14-footer nav { justify-content: flex-start; }
}


/* v16 refinement: aligned multi-screen layouts + subtle section aurora fades */
.v14-intro,
.v14-maps,
.v14-journey,
.v14-ground,
.v14-planning,
.v14-human,
.v14-passport,
.v14-plus,
.v14-download,
.v14-trust {
  position: relative;
  overflow: clip;
  isolation: isolate;
}
.v14-intro::before,
.v14-maps::before,
.v14-journey::before,
.v14-ground::before,
.v14-planning::before,
.v14-human::before,
.v14-passport::before,
.v14-plus::before,
.v14-download::before,
.v14-trust::before {
  content: "";
  position: absolute;
  inset: -8% -6%;
  z-index: -1;
  pointer-events: none;
  opacity: .8;
  filter: blur(8px);
}
.v14-intro::before {
  background:
    radial-gradient(60rem 26rem at 18% 6%, rgba(82,236,210,.14), transparent 58%),
    radial-gradient(48rem 24rem at 88% 18%, rgba(128,88,255,.10), transparent 54%);
}
.v14-maps::before {
  background:
    radial-gradient(58rem 28rem at 84% 18%, rgba(107,240,192,.10), transparent 56%),
    radial-gradient(44rem 20rem at 12% 82%, rgba(100,178,255,.08), transparent 54%);
}
.v14-journey::before {
  background:
    radial-gradient(56rem 24rem at 15% 16%, rgba(108,234,210,.09), transparent 55%),
    radial-gradient(52rem 24rem at 86% 68%, rgba(177,122,255,.11), transparent 55%);
}
.v14-ground::before {
  background:
    radial-gradient(54rem 24rem at 80% 16%, rgba(98,214,255,.10), transparent 55%),
    radial-gradient(44rem 20rem at 14% 78%, rgba(109,240,191,.07), transparent 56%);
}
.v14-planning::before {
  background:
    radial-gradient(56rem 25rem at 14% 18%, rgba(81,233,207,.08), transparent 55%),
    radial-gradient(44rem 22rem at 88% 70%, rgba(212,118,255,.10), transparent 54%);
}
.v14-human::before {
  background:
    radial-gradient(50rem 24rem at 84% 14%, rgba(244,107,185,.12), transparent 54%),
    radial-gradient(42rem 22rem at 16% 84%, rgba(93,218,247,.08), transparent 55%);
}
.v14-passport::before {
  background:
    radial-gradient(54rem 26rem at 14% 16%, rgba(92,218,246,.10), transparent 55%),
    radial-gradient(48rem 24rem at 84% 70%, rgba(177,122,255,.12), transparent 56%);
}
.v14-plus::before {
  background:
    radial-gradient(54rem 28rem at 86% 20%, rgba(194,90,255,.12), transparent 55%),
    radial-gradient(48rem 22rem at 12% 84%, rgba(107,240,192,.08), transparent 55%);
}
.v14-download::before {
  background:
    radial-gradient(58rem 28rem at 50% 16%, rgba(87,225,209,.10), transparent 58%),
    radial-gradient(46rem 22rem at 72% 88%, rgba(167,118,255,.08), transparent 56%);
}
.v14-trust::before {
  background:
    radial-gradient(52rem 22rem at 20% 22%, rgba(92,217,246,.09), transparent 55%),
    radial-gradient(46rem 20rem at 78% 78%, rgba(245,110,186,.08), transparent 56%);
}

/* Remove staggered screenshot offsets so paired images line up cleanly */
.v14-mini-gallery,
.v14-passport-screens,
.v14-plus-screens {
  align-items: start;
}
.v14-mini-gallery .v14-screen:nth-child(2),
.v14-passport-screens .v14-screen:last-child,
.v14-plus-screens .v14-screen:nth-child(2),
.v14-plus-screens .v14-screen:nth-child(3) {
  transform: none;
}

/* Keep card columns visually tidy when screenshots sit side by side */
.v14-screen-cards,
.v14-journey-grid,
.v14-ground-grid {
  align-items: stretch;
}
.v14-screen-card,
.v14-journey-card,
.v14-ground-grid article {
  height: 100%;
}
.v14-screen-card .v14-screen,
.v14-journey-card .v14-screen,
.v14-ground-grid .v14-screen,
.v14-mini-gallery .v14-screen,
.v14-passport-screens .v14-screen,
.v14-plus-screens .v14-screen {
  align-self: start;
}

/* Slightly tighten stacked sections on desktop so the page feels more connected */
@media (min-width: 768px) {
  .v14-intro,
  .v14-maps,
  .v14-journey,
  .v14-ground,
  .v14-planning,
  .v14-human,
  .v14-passport,
  .v14-plus {
    padding: 78px 0;
  }
}


/* v17 premium screenshot treatment + map rhythm polish */
.v14-compass-band-left {
  grid-template-columns: 310px minmax(0,1fr);
}
.v14-compass-band-left .v14-screen { order: 1; }
.v14-compass-band-left .v14-compass-copy { order: 2; }

.v14-screen-polished {
  position: relative;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  box-shadow:
    0 24px 70px rgba(0,0,0,.46),
    0 0 0 1px rgba(179,210,255,.03) inset;
}
.v14-screen-polished::before {
  content: "";
  position: absolute;
  inset: 8% -9% -10%;
  border-radius: 999px;
  z-index: 0;
  filter: blur(34px);
  opacity: .42;
  background: radial-gradient(circle at 50% 50%, rgba(109,240,192,.18), transparent 62%);
  pointer-events: none;
}
.v14-screen-polished::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(145deg, rgba(145,244,220,.34), rgba(98,170,255,.11) 42%, rgba(215,118,255,.24) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: .92;
}
.v14-screen-polished img,
.v14-screen-polished .v14-shot-chip {
  position: relative;
  z-index: 1;
}
.v14-screen-polished > img {
  display: block;
}
.v14-screen-cyan::before {
  background: radial-gradient(circle at 50% 50%, rgba(92,222,246,.22), transparent 64%);
}
.v14-screen-gold::before {
  background: radial-gradient(circle at 50% 50%, rgba(255,204,99,.18), transparent 62%), radial-gradient(circle at 36% 56%, rgba(109,240,192,.10), transparent 58%);
}
.v14-screen-violet::before {
  background: radial-gradient(circle at 50% 50%, rgba(196,120,255,.19), transparent 64%), radial-gradient(circle at 30% 40%, rgba(92,222,246,.10), transparent 58%);
}
.v14-screen-pink::before {
  background: radial-gradient(circle at 50% 50%, rgba(246,111,185,.18), transparent 64%), radial-gradient(circle at 70% 40%, rgba(124,215,255,.10), transparent 56%);
}
.v14-screen-mint::before {
  background: radial-gradient(circle at 50% 50%, rgba(109,240,192,.22), transparent 64%), radial-gradient(circle at 72% 38%, rgba(255,208,112,.10), transparent 56%);
}
@media (hover:hover) and (pointer:fine) {
  .v14-screen-polished:hover {
    transform: translateY(-5px);
    box-shadow: 0 32px 88px rgba(0,0,0,.54), 0 0 0 1px rgba(179,210,255,.04) inset;
    border-color: rgba(160,214,255,.22);
  }
  .v14-screen-polished:hover::before {
    opacity: .56;
  }
}

.v14-shot-chip {
  position: absolute;
  left: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(170,196,236,.18);
  background: rgba(5,10,19,.78);
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
  color: #eef5ff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  backdrop-filter: blur(12px);
  z-index: 2;
}
.v14-shot-chip::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #66d8ff, #75efb3);
  box-shadow: 0 0 10px rgba(117,239,179,.55);
}
.v14-shot-chip-top { top: 16px; }
.v14-shot-chip-bottom { bottom: 16px; }

/* Stronger visual rhythm for the map blocks */
.v14-map-feature,
.v14-compass-band {
  position: relative;
}
.v14-map-feature::before,
.v14-compass-band::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(96,210,255,.04), transparent 42%, rgba(190,112,255,.05));
  opacity: .7;
}
.v14-map-copy,
.v14-compass-copy {
  position: relative;
  z-index: 1;
}
.v14-map-screen,
.v14-compass-screen {
  position: relative;
  z-index: 1;
}

@media (max-width: 1023px) {
  .v14-compass-band-left {
    grid-template-columns: 1fr;
  }
  .v14-compass-band-left .v14-screen,
  .v14-compass-band-left .v14-compass-copy {
    order: initial;
  }
}
@media (max-width: 767px) {
  .v14-shot-chip {
    left: 12px;
    min-height: 30px;
    padding: 6px 10px;
    font-size: 11px;
  }
  .v14-shot-chip-top { top: 12px; }
  .v14-shot-chip-bottom { bottom: 12px; }
}
/* ==========================================================================
   v18 visible screenshot lighting pass
   The v17 halo was too subtle because the screenshot frame clips internal
   pseudo-elements. v18 uses external box-shadow lighting so it is obvious.
   ========================================================================== */

.v14-screen-polished {
  --shot-glow: 96, 218, 246;
  --shot-glow-secondary: 121, 239, 190;
  border-color: rgba(172, 218, 255, .30);
  box-shadow:
    0 28px 75px rgba(0,0,0,.58),
    0 0 22px rgba(var(--shot-glow), .24),
    0 0 58px rgba(var(--shot-glow), .16),
    0 0 105px rgba(var(--shot-glow-secondary), .08),
    inset 0 1px 0 rgba(255,255,255,.17),
    inset 0 0 24px rgba(var(--shot-glow), .045);
}

/* Make the actual rim visibly luminous rather than almost imperceptible. */
.v14-screen-polished::after {
  padding: 1.5px;
  background:
    linear-gradient(
      145deg,
      rgba(150, 255, 233, .82) 0%,
      rgba(105, 211, 255, .38) 32%,
      rgba(255,255,255,.08) 52%,
      rgba(206, 111, 255, .55) 100%
    );
  opacity: .78;
}

/* Internal bloom gives the top corners a little extra life. */
.v14-screen-polished::before {
  inset: 0;
  border-radius: inherit;
  filter: none;
  opacity: 1;
  background:
    radial-gradient(circle at 14% 7%, rgba(var(--shot-glow), .13), transparent 28%),
    radial-gradient(circle at 86% 96%, rgba(var(--shot-glow-secondary), .08), transparent 30%);
}

/* Per-feature colour character. */
.v14-screen-cyan {
  --shot-glow: 87, 221, 255;
  --shot-glow-secondary: 104, 244, 204;
}
.v14-screen-gold {
  --shot-glow: 255, 202, 102;
  --shot-glow-secondary: 108, 237, 194;
}
.v14-screen-violet {
  --shot-glow: 188, 112, 255;
  --shot-glow-secondary: 95, 217, 255;
}
.v14-screen-pink {
  --shot-glow: 246, 104, 185;
  --shot-glow-secondary: 116, 214, 255;
}
.v14-screen-mint {
  --shot-glow: 104, 242, 194;
  --shot-glow-secondary: 96, 219, 255;
}

/* A visible pool of light under the important standalone screens. */
.v14-map-screen,
.v14-compass-screen,
.v14-feature-screen,
.v14-human-screen {
  filter: drop-shadow(0 22px 24px rgba(0,0,0,.30));
}

/* Slightly brighten feature panels near a lit screenshot. */
.v14-map-feature,
.v14-compass-band,
.v14-split-feature,
.v14-human-row,
.v14-passport-grid,
.v14-plus-panel {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 18px 50px rgba(0,0,0,.16);
}

/* Screenshot chips should feel like small glass callouts, not labels pasted on. */
.v14-shot-chip {
  border-color: rgba(176, 220, 255, .28);
  background:
    linear-gradient(135deg, rgba(15,25,40,.82), rgba(7,12,22,.78));
  box-shadow:
    0 10px 28px rgba(0,0,0,.34),
    0 0 18px rgba(var(--shot-glow), .10),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* Desktop interaction: lift plus clearly stronger light. */
@media (hover:hover) and (pointer:fine) {
  .v14-screen-polished:hover {
    transform: translateY(-7px) scale(1.006);
    border-color: rgba(186, 229, 255, .42);
    box-shadow:
      0 38px 92px rgba(0,0,0,.62),
      0 0 30px rgba(var(--shot-glow), .36),
      0 0 78px rgba(var(--shot-glow), .24),
      0 0 130px rgba(var(--shot-glow-secondary), .11),
      inset 0 1px 0 rgba(255,255,255,.20);
  }
}

/* Phone/tablet: keep the effect visible but not overpowering. */
@media (max-width: 1023px) {
  .v14-screen-polished {
    box-shadow:
      0 22px 58px rgba(0,0,0,.54),
      0 0 18px rgba(var(--shot-glow), .22),
      0 0 42px rgba(var(--shot-glow), .14),
      0 0 72px rgba(var(--shot-glow-secondary), .07),
      inset 0 1px 0 rgba(255,255,255,.14);
  }
}

@media (max-width: 520px) {
  .v14-screen-polished {
    box-shadow:
      0 20px 48px rgba(0,0,0,.52),
      0 0 14px rgba(var(--shot-glow), .20),
      0 0 30px rgba(var(--shot-glow), .12),
      inset 0 1px 0 rgba(255,255,255,.12);
  }
}
/* ==========================================================================
   v19 consistent screenshot interaction
   Every normal app screenshot now has the same desktop "lift" behaviour.
   Premium screenshots keep their stronger coloured glow.
   ========================================================================== */

/* Give all non-hero screenshots a consistent base transition. */
.home-v14 .v14-screen:not(.v14-hero-screen) {
  transform-origin: center center;
  transition:
    transform .32s cubic-bezier(.2,.75,.25,1),
    box-shadow .32s ease,
    border-color .32s ease,
    filter .32s ease;
  will-change: transform;
}

/* Generic screenshots get a subtle premium edge even if they do not use
   the stronger v18 coloured-light class. */
.home-v14 .v14-screen:not(.v14-hero-screen):not(.v14-screen-polished) {
  box-shadow:
    0 24px 64px rgba(0,0,0,.44),
    0 0 0 1px rgba(166,205,246,.025) inset;
}

/* Desktop / mouse interaction only. */
@media (hover:hover) and (pointer:fine) {
  .home-v14 .v14-screen:not(.v14-hero-screen):hover {
    transform: translateY(-7px) scale(1.012);
    border-color: rgba(157,220,255,.34);
  }

  .home-v14 .v14-screen:not(.v14-hero-screen):not(.v14-screen-polished):hover {
    box-shadow:
      0 36px 84px rgba(0,0,0,.56),
      0 0 22px rgba(91,218,246,.14),
      0 0 50px rgba(177,122,255,.07),
      0 0 0 1px rgba(180,222,255,.045) inset;
    filter: brightness(1.025);
  }

  /* Keep the v18 stronger treatment while using exactly the same motion. */
  .home-v14 .v14-screen-polished:hover {
    transform: translateY(-7px) scale(1.012);
  }
}

/* Do not animate sideways swipe galleries while users are swiping on touch. */
@media (hover:none), (pointer:coarse) {
  .home-v14 .v14-screen:not(.v14-hero-screen) {
    transition: border-color .25s ease, box-shadow .25s ease;
    will-change: auto;
  }
}
/* ==========================================================================
   v20 — three-pass website review
   1) conversion/story  2) end-to-end product journey  3) trust/FAQ/UX
   ========================================================================== */

.v20-difference,
.v20-night,
.v20-faq,
.v20-trust {
  position: relative;
  overflow: clip;
  isolation: isolate;
}

.v20-difference {
  padding: 80px 0;
  border-top: 1px solid var(--v14-line);
  background:
    radial-gradient(52rem 26rem at 10% 10%, rgba(91,224,206,.085), transparent 60%),
    radial-gradient(48rem 24rem at 92% 84%, rgba(180,109,255,.085), transparent 58%),
    #05080e;
}

.v20-paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.v20-path-card {
  position: relative;
  min-height: 290px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid var(--v14-line);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(12,21,35,.95), rgba(6,11,19,.94));
  box-shadow: 0 22px 55px rgba(0,0,0,.18);
}

.v20-path-card::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -80px;
  bottom: -130px;
  border-radius: 50%;
  filter: blur(18px);
  opacity: .22;
}

.v20-path-simple::after { background: rgba(91,225,205,.55); }
.v20-path-deep::after { background: rgba(184,108,255,.55); }

.v20-path-label {
  display: inline-flex;
  padding: 8px 11px;
  border: 1px solid rgba(143,219,255,.18);
  border-radius: 999px;
  color: #a8def2;
  background: rgba(90,211,242,.055);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.v20-path-card h3 {
  position: relative;
  z-index: 1;
  margin: 18px 0 10px;
  max-width: 510px;
  font-size: clamp(31px,3.5vw,46px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.v20-path-card p {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin: 0;
  color: var(--v14-muted);
  line-height: 1.62;
}

.v20-path-points {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.v20-path-points span,
.v20-source-strip span {
  padding: 8px 11px;
  border: 1px solid var(--v14-line);
  border-radius: 999px;
  color: #aab7c8;
  background: rgba(9,16,27,.68);
  font-size: 12px;
}

.v20-difference-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}

.v20-difference-grid article {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--v14-line);
  border-radius: 23px;
  background: rgba(9,16,27,.72);
}

.v20-difference-grid article > span {
  color: var(--v14-cyan);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
}

.v20-difference-grid h3 {
  margin: 13px 0 9px;
  font-size: 20px;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.v20-difference-grid p {
  margin: 0;
  color: #8e9bad;
  font-size: 13px;
  line-height: 1.58;
}

.v20-free-core {
  margin-top: 20px;
  padding: 24px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border: 1px solid rgba(107,240,192,.20);
  border-radius: 25px;
  background:
    linear-gradient(110deg, rgba(107,240,192,.065), rgba(97,217,247,.035) 55%, rgba(176,122,255,.045));
}

.v20-free-core strong {
  display: block;
  margin-top: 4px;
  font-size: 20px;
  letter-spacing: -.02em;
}

.v20-free-core p {
  margin: 5px 0 0;
  color: #8f9caf;
  font-size: 14px;
}

.v20-free-kicker {
  color: var(--v14-mint);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.v20-screen-hint {
  margin: 20px 0 0;
  color: #718095;
  text-align: center;
  font-size: 12px;
}

.v20-screen-hint span { color: var(--v14-cyan); }

/* End-to-end observing journey */
.v20-night {
  padding: 78px 0;
  border-top: 1px solid var(--v14-line);
  background:
    radial-gradient(56rem 26rem at 50% 20%, rgba(92,218,246,.07), transparent 60%),
    linear-gradient(180deg,#060a11,#05070c);
}

.v20-night-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6,minmax(0,1fr));
  gap: 10px;
}

.v20-night-track::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 7%;
  right: 7%;
  top: 28px;
  height: 1px;
  background: linear-gradient(90deg, rgba(107,240,192,.18), rgba(97,217,247,.32), rgba(177,122,255,.24));
}

.v20-night-track article {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 0 10px 18px;
  text-align: center;
}

.v20-night-track b {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(132,218,255,.24);
  border-radius: 50%;
  background: linear-gradient(145deg,#0d1724,#07101a);
  box-shadow: 0 8px 25px rgba(0,0,0,.28), 0 0 24px rgba(83,217,240,.07);
  color: #b9eff8;
  font-size: 14px;
}

.v20-night-track span {
  color: var(--v14-purple);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.v20-night-track h3 {
  margin: 9px 0 7px;
  font-size: 17px;
  line-height: 1.15;
  letter-spacing: -.02em;
}

.v20-night-track p {
  margin: 0;
  color: #8290a3;
  font-size: 12px;
  line-height: 1.5;
}

.v20-night-cta {
  margin-top: 24px;
  padding: 17px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  border: 1px solid var(--v14-line);
  border-radius: 18px;
  background: rgba(9,15,25,.66);
  color: #9aa7b9;
  font-size: 13px;
}

/* FAQ */
.v20-faq {
  padding: 82px 0;
  border-top: 1px solid var(--v14-line);
  background:
    radial-gradient(50rem 24rem at 8% 18%, rgba(96,219,247,.07), transparent 58%),
    radial-gradient(48rem 22rem at 92% 82%, rgba(177,122,255,.07), transparent 58%),
    #05080e;
}

.v20-faq-layout {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
  gap: 64px;
  align-items: start;
}

.v20-faq-intro {
  position: sticky;
  top: 112px;
}

.v20-faq-intro h2 {
  margin: 0 0 15px;
  font-size: clamp(36px,4.5vw,56px);
  line-height: 1.04;
  letter-spacing: -.042em;
}

.v20-faq-intro > p:not(.v14-kicker) {
  color: #96a3b6;
  line-height: 1.65;
}

.v20-faq-list {
  display: grid;
  gap: 10px;
}

.v20-faq-list details {
  border: 1px solid var(--v14-line);
  border-radius: 18px;
  background: rgba(10,17,29,.76);
  overflow: hidden;
}

.v20-faq-list summary {
  position: relative;
  padding: 20px 52px 20px 20px;
  cursor: pointer;
  list-style: none;
  color: #edf3fc;
  font-weight: 760;
}

.v20-faq-list summary::-webkit-details-marker { display: none; }

.v20-faq-list summary::after {
  content: "+";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--v14-cyan);
  font-size: 23px;
  font-weight: 400;
  transition: transform .2s ease;
}

.v20-faq-list details[open] summary::after { transform: translateY(-50%) rotate(45deg); }

.v20-faq-list details p {
  margin: 0;
  padding: 0 20px 20px;
  color: #8f9caf;
  line-height: 1.62;
  font-size: 14px;
}

/* Trust */
.v20-trust {
  padding: 82px 0;
  border-top: 1px solid var(--v14-line);
  background:
    radial-gradient(52rem 23rem at 84% 16%, rgba(107,240,192,.065), transparent 58%),
    #05070c;
}

.v20-trust-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}

.v20-trust-grid article {
  min-width: 0;
  padding: 23px;
  border: 1px solid var(--v14-line);
  border-radius: 22px;
  background: linear-gradient(145deg,rgba(11,18,30,.85),rgba(7,11,19,.86));
}

.v20-trust-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(100,218,247,.16);
  border-radius: 13px;
  background: rgba(97,217,247,.05);
  color: #9ee9f8;
  font-size: 19px;
}

.v20-trust-grid h3 {
  margin: 18px 0 9px;
  font-size: 20px;
  letter-spacing: -.025em;
}

.v20-trust-grid p {
  margin: 0 0 15px;
  color: #8996a8;
  font-size: 13px;
  line-height: 1.58;
}

.v20-trust-grid a {
  color: var(--v14-cyan);
  font-size: 12px;
  font-weight: 780;
}

.v20-source-strip {
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

/* Screenshot lightbox */
.home-v14 .v14-screen {
  cursor: zoom-in;
}

.v20-lightbox[hidden] { display: none !important; }

.v20-lightbox {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(1,4,9,.93);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.v20-lightbox-inner {
  max-width: min(94vw,720px);
  max-height: 94vh;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.v20-lightbox-inner img {
  max-width: min(92vw,520px);
  max-height: 84vh;
  width: auto;
  height: auto;
  border: 1px solid rgba(165,216,255,.25);
  border-radius: 28px;
  box-shadow: 0 38px 110px rgba(0,0,0,.72), 0 0 60px rgba(91,218,246,.10);
}

.v20-lightbox-inner p {
  margin: 0;
  max-width: 680px;
  color: #d6e0ec;
  text-align: center;
  font-size: 13px;
}

.v20-lightbox-inner small {
  color: #6f7c90;
  font-size: 11px;
}

.v20-lightbox-close {
  position: fixed;
  top: max(18px,env(safe-area-inset-top));
  right: 22px;
  z-index: 2;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(190,214,245,.20);
  border-radius: 50%;
  background: rgba(11,17,28,.80);
  color: #fff;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
}

body.v20-modal-open { overflow: hidden; }

/* Back to top */
.v20-back-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 90;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(156,211,247,.18);
  border-radius: 50%;
  background: rgba(8,14,24,.82);
  color: #dceaf6;
  box-shadow: 0 14px 35px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, border-color .2s ease;
}

.v20-back-top.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.v20-back-top:hover { border-color: rgba(119,230,224,.42); }

.v14-menu a.is-current:not(.v14-nav-cta) {
  color: #fff;
  background: rgba(97,217,247,.055);
}

/* Responsive */
@media (max-width: 1100px) {
  .v20-difference-grid,
  .v20-trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v20-night-track { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 10px; }
  .v20-night-track::before { display: none; }
}

@media (max-width: 820px) {
  .v20-difference,
  .v20-night,
  .v20-faq,
  .v20-trust { padding: 64px 0; }

  .v20-paths,
  .v20-faq-layout { grid-template-columns: 1fr; gap: 22px; }

  .v20-faq-intro { position: static; }

  .v20-free-core { align-items: flex-start; flex-direction: column; }

  .v20-night-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 540px) {
  .v20-difference,
  .v20-night,
  .v20-faq,
  .v20-trust { padding: 52px 0; }

  .v20-path-card { min-height: 0; padding: 22px; border-radius: 24px; }
  .v20-path-card h3 { font-size: 30px; }

  .v20-difference-grid,
  .v20-trust-grid,
  .v20-night-track { grid-template-columns: 1fr; }

  .v20-difference-grid article,
  .v20-trust-grid article { padding: 20px; }

  .v20-night-track article {
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 14px;
    text-align: left;
    padding: 0 0 18px;
  }

  .v20-night-track b {
    grid-row: span 4;
    width: 46px;
    height: 46px;
    margin: 0;
  }

  .v20-night-track span,
  .v20-night-track h3,
  .v20-night-track p { grid-column: 2; }

  .v20-night-track h3 { margin: 4px 0 5px; }

  .v20-night-cta {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .v20-lightbox { padding: 12px; }
  .v20-lightbox-inner img { max-width: 92vw; max-height: 82vh; border-radius: 22px; }

  .v20-back-top {
    right: 14px;
    bottom: max(14px,env(safe-area-inset-bottom));
  }
}
/* ==========================================================================
   v24 — continuous screen reel
   Added to the known-good v20 website without changing existing layouts.
   ========================================================================== */

.v24-reel {
  position: relative;
  overflow: hidden;
  padding: 62px 0 42px;
  border-top: 1px solid var(--v14-line);
  background:
    radial-gradient(48rem 22rem at 18% 48%, rgba(91,221,204,.07), transparent 62%),
    radial-gradient(48rem 22rem at 82% 48%, rgba(177,122,255,.07), transparent 62%),
    #05080e;
}

.v24-reel-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 24px;
}

.v24-reel-head > div {
  max-width: 690px;
}

.v24-reel-head h2 {
  margin: 0;
  font-size: clamp(32px,4vw,48px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.v24-reel-head > p {
  max-width: 360px;
  margin: 0 0 5px;
  color: #8290a3;
  font-size: 13px;
  line-height: 1.55;
}

.v24-reel-viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.v24-reel-track {
  width: max-content;
  display: flex;
  gap: 0;
  padding: 10px 0 22px;
  animation: v24-reel-scroll 72s linear infinite;
  will-change: transform;
}

.v24-reel-group {
  display: flex;
  gap: 16px;
  padding-right: 16px;
}

.v24-reel-shot {
  width: 174px;
  margin: 0;
  flex: 0 0 auto;
  position: relative;
}

.v24-reel-shot img {
  width: 174px;
  height: auto;
  aspect-ratio: 946 / 2048;
  object-fit: contain;
  border: 1px solid rgba(159,213,248,.22);
  border-radius: 20px;
  background: #030711;
  box-shadow:
    0 18px 42px rgba(0,0,0,.45),
    0 0 24px rgba(87,219,246,.08);
  transition:
    transform .30s cubic-bezier(.2,.75,.25,1),
    box-shadow .30s ease,
    border-color .30s ease;
}

@media (hover:hover) and (pointer:fine) {
  .v24-reel:hover .v24-reel-track {
    animation-play-state: paused;
  }

  .v24-reel-shot:hover img {
    transform: translateY(-8px) scale(1.028);
    border-color: rgba(164,228,255,.42);
    box-shadow:
      0 30px 66px rgba(0,0,0,.57),
      0 0 34px rgba(87,219,246,.18),
      0 0 68px rgba(177,122,255,.10);
  }
}

@keyframes v24-reel-scroll {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-50%,0,0); }
}

@media (prefers-reduced-motion: reduce) {
  .v24-reel-track {
    animation: none;
    transform: none;
    overflow-x: auto;
  }
}

@media (max-width: 860px) {
  .v24-reel {
    padding: 52px 0 34px;
  }

  .v24-reel-head {
    display: block;
  }

  .v24-reel-head > p {
    margin-top: 10px;
  }

  .v24-reel-shot,
  .v24-reel-shot img {
    width: 150px;
  }
}

@media (max-width: 620px) {
  .v24-reel {
    padding: 46px 0 30px;
  }

  .v24-reel-head h2 {
    font-size: clamp(30px,10vw,40px);
  }

  .v24-reel-shot,
  .v24-reel-shot img {
    width: 132px;
  }

  .v24-reel-group {
    gap: 12px;
    padding-right: 12px;
  }
}
