/* Varuna V2 homepage — bold, dark, kinetic. Loaded only on index.html. */
:root {
  --v2-ink: #04121f; --v2-ink-2: #071d31; --v2-navy: #08263f;
  --v2-cyan: #3bd3df; --v2-cyan-2: #8ff0f5; --v2-gold: #f1c46c;
  --v2-text: #e8f3f6; --v2-dim: #93abb8; --v2-line: #ffffff17;
  --v2-cream: #f6f3ec; --v2-ease: cubic-bezier(.16, 1, .3, 1);
}
body:has(.f-hero) { background: var(--v2-ink); }

/* ---------- Dark header for this page ---------- */
body:has(.f-hero) .header { background: var(--v2-ink); border-bottom-color: var(--v2-line); }
body:has(.f-hero) .header.is-scrolled { background: rgba(4, 18, 31, .86); box-shadow: 0 4px 18px #0000002e; }
body:has(.f-hero) .nav a { color: #cfe1e8; }
body:has(.f-hero) .nav a.active, body:has(.f-hero) .nav a:hover { color: #fff; }
body:has(.f-hero) .menu span { background: #fff; }
body:has(.f-hero) .topbar { background: #020b14; }
@media (max-width: 900px) { body:has(.f-hero) .nav { background: var(--v2-ink); } }

.v2 { color: var(--v2-text); overflow-x: clip; }
.v2 h1, .v2 h2, .v2 h3 { font-family: 'Manrope', sans-serif; }
.v2-eyebrow { font: 800 12px 'Manrope', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--v2-cyan); margin: 0 0 18px; }
.v2-eyebrow.dark { color: #0b8796; }
.v2-h2 { font-size: clamp(40px, 5.4vw, 84px); line-height: 1.02; letter-spacing: -.055em; margin: 0; color: #fff; font-weight: 800; }
.v2-h2 span { color: var(--v2-dim); }
.v2-h2.dark { color: var(--v2-navy); }
.v2-h2.dark span { color: #7f9ba8; }

/* ---------- Buttons ---------- */
.v2-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.v2-actions.center { justify-content: center; }
.v2-btn {
  --mx: 0px; --my: 0px;
  display: inline-flex; align-items: center; gap: 18px; padding: 17px 24px; border-radius: 999px;
  font: 800 15px 'Manrope', sans-serif; letter-spacing: -.01em; cursor: pointer; border: 0;
  transform: translate3d(var(--mx), var(--my), 0); transition: transform .35s var(--v2-ease), background .25s, color .25s, box-shadow .3s;
  position: relative; overflow: hidden; isolation: isolate;
}
.v2-btn b { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-weight: 800; transition: transform .35s var(--v2-ease); }
.v2-btn.primary { background: var(--v2-cyan); color: var(--v2-ink); box-shadow: 0 10px 40px #3bd3df40; }
.v2-btn.primary b { background: var(--v2-ink); color: var(--v2-cyan); }
.v2-btn.primary::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; transform: translateY(101%); transition: transform .45s var(--v2-ease); }
.v2-btn.primary:hover::before { transform: none; }
.v2-btn:hover b { transform: rotate(-45deg); }
.v2-btn.ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px #ffffff40; }
.v2-btn.ghost b { background: #ffffff14; }
.v2-btn.ghost:hover { box-shadow: inset 0 0 0 1px var(--v2-cyan); color: var(--v2-cyan); }
.v2-btn.big { padding: 22px 30px; font-size: 17px; }

/* ---------- 1. Hero ---------- */
.v2-hero { position: relative; min-height: min(100svh, 940px); display: flex; align-items: center; overflow: hidden; background: radial-gradient(120% 90% at 75% 40%, #0b3150 0%, var(--v2-ink) 58%); }
.v2-aurora i { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .55; mix-blend-mode: screen; }
.v2-aurora i:nth-child(1) { width: 520px; height: 520px; background: #0e6f86; left: 48%; top: -120px; animation: v2-drift1 18s ease-in-out infinite alternate; }
.v2-aurora i:nth-child(2) { width: 420px; height: 420px; background: #1aa7b8; left: 70%; top: 50%; opacity: .35; animation: v2-drift2 22s ease-in-out infinite alternate; }
.v2-aurora i:nth-child(3) { width: 360px; height: 360px; background: #c08a2c; left: 28%; top: 62%; opacity: .16; animation: v2-drift1 26s ease-in-out infinite alternate-reverse; }
@keyframes v2-drift1 { to { transform: translate(-90px, 70px) scale(1.15); } }
@keyframes v2-drift2 { to { transform: translate(60px, -90px) scale(.9); } }
.v2-gridlines { position: absolute; inset: 0; background-image: linear-gradient(#ffffff08 1px, transparent 1px), linear-gradient(90deg, #ffffff08 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(80% 70% at 60% 45%, #000 20%, transparent 75%); }

.v2-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; padding: 70px 0 110px; }
.v2-kicker { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 28px; padding: 9px 16px 9px 12px; border-radius: 999px; background: #ffffff0d; box-shadow: inset 0 0 0 1px var(--v2-line); font: 700 12.5px 'Manrope', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #cfe7ee; }
.v2-live { width: 8px; height: 8px; border-radius: 50%; background: #34e0a1; box-shadow: 0 0 0 0 #34e0a1aa; animation: v2-live 2s infinite; }
@keyframes v2-live { 70% { box-shadow: 0 0 0 10px #34e0a100; } 100% { box-shadow: 0 0 0 0 #34e0a100; } }
.v2-title { margin: 0; font-size: clamp(46px, 5.7vw, 92px); line-height: .94; letter-spacing: -.065em; font-weight: 800; color: #fff; }
.v2-line { display: block; overflow: hidden; padding-bottom: .18em; margin-bottom: -.13em; }
.v2-line.accent > span { padding-bottom: .06em; }
.v2-line > span { display: inline-block; }
.v2-line.accent > span { background: linear-gradient(100deg, var(--v2-cyan) 0%, var(--v2-cyan-2) 40%, var(--v2-gold) 75%, var(--v2-cyan) 100%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: v2-sheen 7s ease-in-out infinite alternate; }
@keyframes v2-sheen { to { background-position: 100% 0; } }
.v2-lead { max-width: 540px; margin: 30px 0 36px; font-size: 18.5px; line-height: 1.65; color: var(--v2-dim); }

.v2-orbit { position: relative; aspect-ratio: 1; width: min(100%, 600px); justify-self: center; }
.v2-ring { position: absolute; inset: -2%; width: 104%; height: 104%; animation: v2-spin 40s linear infinite; }
.v2-ring text { font: 800 13.5px 'Manrope', sans-serif; letter-spacing: .42em; fill: #8fb9c6; }
@keyframes v2-spin { to { transform: rotate(360deg); } }
.v2-halo { position: absolute; inset: 18%; border-radius: 50%; background: radial-gradient(circle, #3bd3df33, transparent 65%); filter: blur(10px); }
.v2-bowl { position: absolute; border-radius: 50%; filter: drop-shadow(0 30px 40px #0009); will-change: transform; transform: translate3d(var(--px, 0), var(--py, 0), 0); transition: transform .9s var(--v2-ease); }
.v2-bowl.main { width: 58%; left: 21%; top: 21%; }
/* all five side bowls are the same size, spaced evenly round the main bowl */
.v2-bowl.s1, .v2-bowl.s2, .v2-bowl.s3, .v2-bowl.s4, .v2-bowl.s5 { width: 20%; }
.v2-bowl.s1 { left: 1%; top: 21%; }
.v2-bowl.s2 { left: 72%; top: 6%; }
.v2-bowl.s3 { left: 79%; top: 52%; }
.v2-bowl.s4 { left: 5%; top: 64%; }
.v2-bowl.s5 { left: 42%; top: 80%; }
.v2-bowl.main { animation: v2-float 7s ease-in-out infinite; }
.v2-bowl.s1, .v2-bowl.s3, .v2-bowl.s5 { animation: v2-bob 6s ease-in-out infinite; }
.v2-bowl.s2, .v2-bowl.s4 { animation: v2-bob 7.5s ease-in-out infinite reverse; }
@keyframes v2-float { 50% { translate: 0 -14px; rotate: 6deg; } }
@keyframes v2-bob { 50% { translate: 0 12px; } }

.v2-scrollcue { position: absolute; z-index: 3; left: 50%; bottom: 28px; width: 26px; height: 42px; margin-left: -13px; border-radius: 14px; box-shadow: inset 0 0 0 2px #ffffff55; }
.v2-scrollcue span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--v2-cyan); animation: v2-cue 1.8s ease-in-out infinite; }
@keyframes v2-cue { 60% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }

/* Intro sequence */
.v2-pre .v2-line > span { transform: translateY(110%); }
.v2-pre .v2-kicker, .v2-pre .v2-lead, .v2-pre .v2-actions { opacity: 0; transform: translateY(20px); }
.v2-pre .v2-bowl { opacity: 0; scale: .6; }
.v2-pre .v2-ring { opacity: 0; }
.v2-hero .v2-line > span { transition: transform 1.1s var(--v2-ease); }
.v2-hero .v2-line:nth-child(2) > span { transition-delay: .1s; }
.v2-hero .v2-line:nth-child(3) > span { transition-delay: .2s; }
.v2-hero .v2-kicker, .v2-hero .v2-lead, .v2-hero .v2-actions { transition: opacity .9s ease, transform .9s var(--v2-ease); }
.v2-hero .v2-lead { transition-delay: .35s; }
.v2-hero .v2-actions { transition-delay: .48s; }
.v2-hero .v2-bowl { transition: transform .9s var(--v2-ease), opacity 1s ease, scale 1.2s var(--v2-ease); }
.v2-hero .v2-bowl.main { transition-delay: 0s, .2s, .2s; }
.v2-hero .v2-bowl.s1 { transition-delay: 0s, .35s, .35s; }
.v2-hero .v2-bowl.s2 { transition-delay: 0s, .45s, .45s; }
.v2-hero .v2-bowl.s3 { transition-delay: 0s, .55s, .55s; }
.v2-hero .v2-bowl.s4 { transition-delay: 0s, .65s, .65s; }
.v2-hero .v2-bowl.s5 { transition-delay: 0s, .75s, .75s; }
.v2-hero .v2-ring { transition: opacity 1.6s ease .4s; }

/* ---------- 2. Marquee ---------- */
.v2-marquee { padding: 34px 0; background: var(--v2-ink); border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); overflow: hidden; }
.v2-mq-row { white-space: nowrap; will-change: transform; }
.v2-mq-row > div { display: inline-block; font: 800 clamp(44px, 7vw, 110px)/1 'Manrope', sans-serif; letter-spacing: -.05em; color: #fff; }
.v2-mq-row em { font-style: normal; color: var(--v2-cyan); font-size: .5em; vertical-align: middle; margin: 0 .35em; }
.v2-mq-row.outline > div { color: transparent; -webkit-text-stroke: 1.5px #ffffff38; margin-top: 6px; }

/* ---------- 3. Pinned horizontal divisions ---------- */
.v2-divisions { position: relative; background: var(--v2-ink-2); height: 400vh; }
.v2-pin { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 4vh; }
.v2-pin-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; }
.v2-pin-head .v2-h2 { font-size: clamp(36px, 4.6vw, 70px); }
.v2-pin-meter { display: flex; align-items: center; gap: 18px; color: var(--v2-dim); font: 700 14px 'Manrope', sans-serif; }
.v2-pin-meter b { color: #fff; font-size: 22px; }
.v2-pin-meter i { display: block; width: 160px; height: 2px; background: var(--v2-line); }
.v2-pin-meter em { display: block; height: 100%; background: var(--v2-cyan); transform: scaleX(var(--p, .25)); transform-origin: left; }
.v2-track { display: flex; gap: 28px; padding-left: max(32px, calc((100vw - 1240px) / 2)); width: max-content; will-change: transform; }
.v2-panel { flex: none; width: min(78vw, 1040px); height: min(62vh, 560px); display: grid; grid-template-columns: 1.15fr 1fr; border-radius: 28px; overflow: hidden; background: #0b2740; box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-panel-media { position: relative; overflow: hidden; background: #0e2d47; }
.v2-panel-media > img:not(.pb) { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12) translateX(var(--shift, 0px)); transition: transform .2s linear; }
.v2-panel-copy { padding: clamp(26px, 3.4vw, 50px); display: flex; flex-direction: column; }
.v2-num { font: 800 15px 'Manrope', sans-serif; color: var(--v2-cyan); letter-spacing: .1em; }
.v2-panel h3 { margin: 18px 0 14px; font-size: clamp(28px, 2.8vw, 44px); line-height: 1.05; letter-spacing: -.045em; color: #fff; }
.v2-panel p { margin: 0; color: var(--v2-dim); line-height: 1.6; font-size: 16px; }
.v2-panel ul { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.v2-panel li { padding: 8px 13px; border-radius: 999px; background: #ffffff0f; box-shadow: inset 0 0 0 1px var(--v2-line); font: 700 12.5px 'Manrope', sans-serif; color: #d6e8ee; }
.v2-panel a { margin-top: auto; padding-top: 22px; display: inline-flex; gap: 10px; align-items: center; color: #fff; font: 800 15px 'Manrope', sans-serif; }
.v2-panel a b { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--v2-cyan); color: var(--v2-ink); transition: transform .35s var(--v2-ease); }
.v2-panel a:hover b { transform: rotate(45deg) scale(1.08); }
.v2-panel.dehy .v2-panel-media { background: radial-gradient(circle at 50% 45%, #1d4a68, #0b2740 70%); }
.v2-bowlscene .pb { position: absolute; border-radius: 50%; filter: drop-shadow(0 24px 30px #0008); }
.v2-bowlscene { container-type: size; }
.v2-bowlscene .pb { left: var(--x); top: var(--y); width: min(var(--s) * 1cqw, var(--s) * 1cqh); height: auto; aspect-ratio: 1; translate: -50% -50%; }
/* four bowls, all the same size, in an even 2x2 grid */
.v2-bowlscene .pb1 { --x: 28%; --y: 28%; --s: 42; }
.v2-bowlscene .pb2 { --x: 72%; --y: 28%; --s: 42; }
.v2-bowlscene .pb3 { --x: 72%; --y: 72%; --s: 42; }
.v2-bowlscene .pb4 { --x: 28%; --y: 72%; --s: 42; }

/* ---------- 4. Cut explorer ---------- */
.v2-forms { background: var(--v2-cream); color: var(--v2-navy); padding: clamp(90px, 12vw, 160px) 0; }
.v2-forms-inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 90px); align-items: center; }
.v2-ing { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 26px; }
.v2-ing button { padding: 10px 16px; border-radius: 999px; border: 0; background: #08263f0d; color: var(--v2-navy); font: 700 13.5px 'Manrope', sans-serif; cursor: pointer; transition: background .25s, color .25s, transform .25s; }
.v2-ing button:hover { transform: translateY(-2px); }
.v2-ing button[aria-pressed="true"] { background: var(--v2-navy); color: #fff; }
.v2-cuts { list-style: none; margin: 0; padding: 0; border-top: 1px solid #08263f1f; }
.v2-cuts button { width: 100%; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; padding: 18px 4px; border: 0; border-bottom: 1px solid #08263f1f; background: none; text-align: left; cursor: pointer; color: #7f9ba8; position: relative; transition: color .3s, padding .35s var(--v2-ease); }
.v2-cuts button::before { content: ""; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: var(--v2-navy); transform: scaleX(0); transform-origin: left; }
.v2-cuts button[aria-pressed="true"] { color: var(--v2-navy); padding-left: 14px; }
.v2-cuts button[aria-pressed="true"]::before { transform: scaleX(1); transition: transform var(--v2-dwell, 3.2s) linear; }
.v2-cuts span { font: 800 12px 'Manrope', sans-serif; letter-spacing: .12em; }
.v2-cuts strong { font: 800 clamp(22px, 2.2vw, 30px) 'Manrope', sans-serif; letter-spacing: -.035em; }
.v2-cuts em { font-style: normal; font: 700 13px 'Manrope', sans-serif; }
.v2-link { display: inline-block; margin-top: 28px; font: 800 15px 'Manrope', sans-serif; color: var(--v2-navy); border-bottom: 2px solid var(--v2-cyan); padding-bottom: 4px; }
.v2-forms-stage { position: relative; aspect-ratio: 1; width: min(100%, 560px); justify-self: center; }
.v2-stage-ring { position: absolute; inset: -4%; border-radius: 50%; border: 1px dashed #08263f33; animation: v2-spin 60s linear infinite; }
.v2-stage-img { position: absolute; inset: 4%; width: 92%; height: 92%; border-radius: 50%; filter: drop-shadow(0 34px 40px #08263f33); opacity: 0; transform: scale(.86) rotate(-14deg); transition: opacity .7s ease, transform 1s var(--v2-ease); }
.v2-stage-img.is-on { opacity: 1; transform: none; }
.v2-stage-label { position: absolute; left: -2%; bottom: 6%; padding: 14px 20px; border-radius: 18px; background: #fff; box-shadow: 0 20px 50px #08263f26; display: flex; flex-direction: column; gap: 2px; }
.v2-stage-label span { font: 700 12px 'Manrope', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #0b8796; }
.v2-stage-label strong { font: 800 24px 'Manrope', sans-serif; letter-spacing: -.03em; }
.v2-stage-bar { display: none; }

/* ---------- 5. Route ---------- */
.v2-route { background: var(--v2-ink); padding: clamp(90px, 12vw, 160px) 0 clamp(70px, 9vw, 120px); }
.v2-route-stage { position: relative; margin-top: 60px; }
.v2-route-svg { width: 100%; height: 220px; display: block; overflow: visible; }
.v2-route-svg path { fill: none; stroke-width: 2.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.v2-route-svg .base { stroke: #ffffff1c; stroke-dasharray: 2 10; }
.v2-route-svg .draw { stroke: url(#none); stroke: var(--v2-cyan); filter: drop-shadow(0 0 8px #3bd3df99); }
.v2-route-svg .ship { fill: #fff; stroke: var(--v2-cyan); stroke-width: 4; filter: drop-shadow(0 0 12px #3bd3df); }
.v2-steps { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.v2-steps li { opacity: .35; transform: translateY(14px); transition: opacity .6s ease, transform .6s var(--v2-ease); }
.v2-steps li.is-lit { opacity: 1; transform: none; }
.v2-steps span { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--v2-line); font: 800 13px 'Manrope', sans-serif; color: var(--v2-cyan); transition: background .4s, color .4s; }
.v2-steps li.is-lit span { background: var(--v2-cyan); color: var(--v2-ink); }
.v2-steps h3 { margin: 18px 0 8px; font-size: 22px; letter-spacing: -.03em; color: #fff; }
.v2-steps p { margin: 0; color: var(--v2-dim); line-height: 1.6; font-size: 15px; }

/* ---------- 6. Promise cards ---------- */
.v2-promise { background: var(--v2-cream); padding: clamp(90px, 12vw, 150px) 0; }
.v2-cards { margin-top: 56px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; perspective: 900px; }
.v2-cards article { --rx: 0deg; --ry: 0deg; position: relative; padding: 34px 28px 36px; border-radius: 24px; background: #fff; box-shadow: 0 1px 0 #08263f14, 0 20px 50px #08263f0f; transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .5s var(--v2-ease), box-shadow .4s; overflow: hidden; }
.v2-cards article::after { content: ""; position: absolute; inset: 0; background: radial-gradient(300px circle at var(--gx, 50%) var(--gy, 0%), #3bd3df22, transparent 60%); opacity: 0; transition: opacity .4s; }
.v2-cards article:hover { box-shadow: 0 30px 70px #08263f24; }
.v2-cards article:hover::after { opacity: 1; }
.v2-cards svg { width: 46px; height: 46px; fill: none; stroke: #0b8796; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.v2-cards h3 { margin: 26px 0 10px; font-size: 21px; letter-spacing: -.03em; color: var(--v2-navy); }
.v2-cards p { margin: 0; color: #5c7180; line-height: 1.6; font-size: 15px; }

/* ---------- 7. CTA ---------- */
.v2-cta { position: relative; overflow: hidden; background: var(--v2-ink); padding: clamp(110px, 14vw, 190px) 0; text-align: center; }
.v2-cta-glow { position: absolute; left: 50%; top: 50%; width: 1100px; height: 1100px; margin: -550px 0 0 -550px; background: conic-gradient(from 0deg, #3bd3df44, #0e6f8600, #f1c46c33, #3bd3df00, #3bd3df44); border-radius: 50%; filter: blur(90px); animation: v2-spin 24s linear infinite; }
.v2-cta-inner { position: relative; }
.v2-cta-title { margin: 0 auto; max-width: 1000px; font-size: clamp(48px, 8vw, 128px); line-height: .96; letter-spacing: -.065em; color: #fff; font-weight: 800; }
.v2-cta-title span { color: var(--v2-cyan); }
.v2-cta p:not(.v2-eyebrow) { color: var(--v2-dim); font-size: 18px; margin: 28px 0 40px; }

/* ---------- Split-word reveal ---------- */
[data-split] vx-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
[data-split] vx-w > vx-i { display: inline-block; }
.v2-anim [data-split] vx-w > vx-i { transform: translate3d(0, 110%, 0); transition: transform 1s var(--v2-ease); transition-delay: calc(var(--i) * 45ms); }
.v2-anim [data-split].is-in vx-w > vx-i { transform: none; }
.v2-anim [data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .9s ease, transform .9s var(--v2-ease); transition-delay: var(--d, 0s); }
.v2-anim [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1000px) {
  .v2-hero-inner { grid-template-columns: 1fr; padding: 50px 0 110px; }
  .v2-orbit { width: min(72%, 380px); order: -1; margin-top: 10px; }
  .v2-forms-inner { grid-template-columns: 1fr; }
  .v2-forms-stage { order: -1; width: min(86%, 440px); }
  .v2-cards { grid-template-columns: repeat(2, 1fr); }
  .v2-steps { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .v2-route-svg { height: 140px; }
}
@media (max-width: 760px) {
  .v2-divisions { height: auto; }
  .v2-pin { position: static; height: auto; padding: 90px 0; gap: 34px; }
  .v2-pin-meter { display: none; }
  .v2-track { flex-direction: column; width: auto; padding: 0 16px; transform: none !important; }
  .v2-panel { width: 100%; height: auto; grid-template-columns: 1fr; }
  .v2-panel-media { aspect-ratio: 1.3; }
  .v2-cards { grid-template-columns: 1fr; }
  .v2-steps { grid-template-columns: 1fr; }
  .v2-route-svg { display: none; }
  .v2-steps li { opacity: 1; transform: none; }
  .v2-lead { font-size: 17px; }
  .v2-btn { padding: 15px 20px; }
  .v2-stage-label { left: 0; bottom: 0; }
}

/* ---------- Reduced motion: everything static and visible ---------- */
@media (prefers-reduced-motion: reduce) {
  .v2 *, .v2 *::before, .v2 *::after { animation: none !important; transition: none !important; }
  .v2-divisions { height: auto; }
  .v2-pin { position: static; height: auto; padding: 90px 0; }
  .v2-track { flex-wrap: wrap; width: auto; padding: 0 32px; transform: none !important; }
  .v2-panel { width: calc(50% - 14px); }
  .v2-steps li { opacity: 1; transform: none; }
}

/* =====================================================================
   LIGHT THEME (v2.1) — bright base, original logo, navy only as an accent band
   ===================================================================== */
:root { --v2-ink: #08263f; --v2-text: #08263f; --v2-dim: #5f7887; --v2-line: #08263f17; --v2-teal: #0b8796; --v2-sky: #eef7f9; }
body:has(.f-hero) { background: #fff; }
body:has(.f-hero) .topbar { background: var(--deep, #061d31); }
body:has(.f-hero) .header { background: #fff; border-bottom-color: var(--line, #dce5e9); }
body:has(.f-hero) .header.is-scrolled { background: rgba(255,255,255,.86); box-shadow: 0 6px 24px #08263f14; }
body:has(.f-hero) .nav a { color: var(--ink, #183247); }
body:has(.f-hero) .nav a.active, body:has(.f-hero) .nav a:hover { color: var(--v2-navy); }
body:has(.f-hero) .menu span { background: var(--v2-navy); }
@media (max-width: 900px) { body:has(.f-hero) .nav { background: #fff; } }
.v2 { color: var(--v2-navy); }
.v2-eyebrow { color: var(--v2-teal); }
.v2-h2 { color: var(--v2-navy); }
.v2-h2 span { color: #7f9ba8; }

/* Buttons on light */
.v2-btn.primary { background: var(--v2-navy); color: #fff; box-shadow: 0 12px 34px #08263f2e; }
.v2-btn.primary b { background: var(--v2-cyan); color: var(--v2-navy); }
.v2-btn.primary::before { background: var(--v2-teal); }
.v2-btn.ghost { color: var(--v2-navy); box-shadow: inset 0 0 0 1px #08263f33; }
.v2-btn.ghost b { background: #08263f0d; }
.v2-btn.ghost:hover { color: var(--v2-teal); box-shadow: inset 0 0 0 1px var(--v2-teal); }

/* Hero */
.v2-hero { background: radial-gradient(90% 80% at 78% 40%, #d9f3f6 0%, #f2fafb 45%, #ffffff 75%); }
.v2-aurora i { mix-blend-mode: normal; filter: blur(90px); }
.v2-aurora i:nth-child(1) { background: #9be6ee; opacity: .45; }
.v2-aurora i:nth-child(2) { background: #3bd3df; opacity: .22; }
.v2-aurora i:nth-child(3) { background: #f1c46c; opacity: .22; }
.v2-gridlines { background-image: linear-gradient(#08263f0a 1px, transparent 1px), linear-gradient(90deg, #08263f0a 1px, transparent 1px); }
.v2-kicker { background: #fff; box-shadow: 0 4px 18px #08263f12, inset 0 0 0 1px var(--v2-line); color: var(--v2-navy); }
.v2-title { color: var(--v2-navy); }
.v2-line.accent > span { background-image: linear-gradient(100deg, #0b8796 0%, #2fc5d6 40%, #d49a2a 75%, #0b8796 100%); }
.v2-lead { color: var(--v2-dim); }
.v2-ring text { fill: #6f94a3; }
.v2-halo { background: radial-gradient(circle, #ffffff 0%, #ffffffaa 35%, transparent 68%); filter: none; }
.v2-bowl { filter: drop-shadow(0 24px 32px #08263f33); }
.v2-scrollcue { box-shadow: inset 0 0 0 2px #08263f40; }
.v2-scrollcue span { background: var(--v2-teal); }

/* Marquee */
.v2-marquee { background: #fff; border-color: var(--line, #dce5e9); }
.v2-mq-row > div { color: var(--v2-navy); }
.v2-mq-row em { color: var(--v2-cyan); }
.v2-mq-row.outline > div { -webkit-text-stroke: 1.5px #08263f2e; }

/* Divisions */
.v2-divisions { background: var(--v2-sky); }
.v2-pin-meter { color: var(--v2-dim); }
.v2-pin-meter b { color: var(--v2-navy); }
.v2-pin-meter i { background: #08263f1a; }
.v2-pin-meter em { background: var(--v2-teal); }
.v2-panel { background: #fff; box-shadow: 0 30px 70px #08263f14, inset 0 0 0 1px var(--v2-line); }
.v2-panel-media { background: #e6f1f4; }
.v2-panel h3 { color: var(--v2-navy); }
.v2-panel p { color: var(--v2-dim); }
.v2-panel li { background: var(--v2-sky); box-shadow: inset 0 0 0 1px var(--v2-line); color: var(--v2-navy); }
.v2-panel a { color: var(--v2-navy); }
.v2-panel a b { background: var(--v2-navy); color: #fff; }
.v2-panel.dehy .v2-panel-media { background: radial-gradient(circle at 50% 45%, #ffffff, #dcefF3 75%); }
.v2-bowlscene .pb { filter: drop-shadow(0 18px 24px #08263f30); }
.v2-num { color: var(--v2-teal); }

/* Forms: keep warm cream */
.v2-forms { background: var(--v2-cream); }

/* Route: the one brand-navy band, slightly lifted */
.v2-route { background: linear-gradient(160deg, #0a3150 0%, #08263f 60%, #0b4a5f 100%); color: #fff; }
.v2-route .v2-eyebrow { color: var(--v2-cyan); }
.v2-route .v2-h2 { color: #fff; }
.v2-route .v2-h2 span { color: #9fc0cc; }
.v2-route .v2-steps h3 { color: #fff; }
.v2-route .v2-steps p { color: #a9c2cd; }
.v2-route .v2-steps span { box-shadow: inset 0 0 0 1px #ffffff2e; color: var(--v2-cyan); }
.v2-route .v2-steps li.is-lit span { background: var(--v2-cyan); color: var(--v2-navy); }
.v2-route-svg .base { stroke: #ffffff2a; }

/* Promise: white */
.v2-promise { background: #fff; }
.v2-cards article { background: var(--v2-sky); box-shadow: inset 0 0 0 1px var(--v2-line); }
.v2-cards article:hover { background: #fff; box-shadow: 0 26px 60px #08263f1c, inset 0 0 0 1px var(--v2-line); }

/* CTA: brand teal gradient instead of near-black */
.v2-cta { background: linear-gradient(135deg, #0b6a80 0%, #0b8796 45%, #12a9b6 100%); }
.v2-cta-glow { background: conic-gradient(from 0deg, #ffffff40, #ffffff00, #f1c46c40, #ffffff00, #ffffff40); filter: blur(100px); }
.v2-cta .v2-eyebrow { color: #d9fbfd; }
.v2-cta-title { color: #fff; }
.v2-cta-title span { color: #08263f; }
.v2-cta p:not(.v2-eyebrow) { color: #e2f6f8; }
.v2-cta .v2-btn.primary { background: #fff; color: var(--v2-navy); box-shadow: 0 14px 40px #04303d40; }
.v2-cta .v2-btn.primary b { background: var(--v2-navy); color: #fff; }
.v2-cta .v2-btn.primary::before { background: #e8fbfc; }
.v2-cta .v2-btn.ghost { color: #fff; box-shadow: inset 0 0 0 1px #ffffff80; }
.v2-cta .v2-btn.ghost b { background: #ffffff26; }
.v2-cta .v2-btn.ghost:hover { color: #fff; box-shadow: inset 0 0 0 1px #fff; }

/* =====================================================================
   v2.2 — soft light-blue base (not pure white), calmer accent line, no marquee
   ===================================================================== */
:root { --v2-base: #eef6f9; --v2-alt: #e2eff4; --v2-card: #f9fcfd; }
body:has(.f-hero), body:has(.f-hero) .footer { background: var(--v2-base); }
body:has(.f-hero) .header { background: #f6fbfc; }
body:has(.f-hero) .header.is-scrolled { background: rgba(240, 248, 251, .88); }
@media (max-width: 900px) { body:has(.f-hero) .nav { background: #f6fbfc; } }

.v2-hero { background: radial-gradient(90% 80% at 78% 40%, #cfeef3 0%, #e6f4f8 48%, var(--v2-base) 78%); }
.v2-aurora i:nth-child(3) { background: #9fd8e6; opacity: .3; }
.v2-kicker { background: var(--v2-card); }

/* "Shipped right." — single solid brand teal, no moving gold sheen */
.v2-line.accent > span { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: #0b8796; animation: none; }

.v2-divisions { background: var(--v2-alt); }
.v2-panel { background: var(--v2-card); }
.v2-panel li { background: var(--v2-base); }
.v2-panel.dehy .v2-panel-media { background: radial-gradient(circle at 50% 45%, #f6fbfc, #d6eaf1 75%); }
.v2-forms { background: var(--v2-base); }
.v2-stage-label { background: var(--v2-card); }
.v2-promise { background: var(--v2-alt); }
.v2-cards article { background: var(--v2-card); }
.v2-cards article:hover { background: #fff; }

/* ---------- v2.3 Product spotlight tabs ---------- */
.v2-spot-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; flex-wrap: wrap; margin-bottom: clamp(30px, 5vw, 60px); }
.v2-divtabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; border-radius: 999px; background: #fff; box-shadow: 0 8px 26px #08263f12, inset 0 0 0 1px var(--v2-line); }
.v2-divtabs button { padding: 12px 18px; border: 0; border-radius: 999px; background: none; color: var(--v2-navy); font: 800 14px 'Manrope', sans-serif; cursor: pointer; transition: background .3s, color .3s; }
.v2-divtabs button:hover { background: var(--v2-base); }
.v2-divtabs button[aria-selected="true"] { background: var(--v2-navy); color: #fff; }
.v2-pane[hidden] { display: none; }
.v2-pane .v2-ing { margin-top: 0; }
@keyframes v2-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  .v2-divtabs { width: 100%; border-radius: 18px; display: grid; grid-template-columns: 1fr 1fr; }
  .v2-divtabs button { border-radius: 12px; padding: 11px 10px; font-size: 13px; }
}

/* ---------- v2.4 Giant outlined VARUNA word (kept from V1) on the navy band ---------- */
.v2-route { position: relative; overflow: hidden; }
.v2-route > .container { position: relative; z-index: 1; }
.v2-bigword {
  position: absolute; left: -.035em; bottom: -.24em; z-index: 0; pointer-events: none; white-space: nowrap;
  font: 800 clamp(180px, 30vw, 500px) 'Manrope', sans-serif; letter-spacing: -.12em; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px #ffffff1c;
  transform: translate3d(var(--drift, 0px), 0, 0);
}

/* ---------- v2.5 V1 manifesto band, restored exactly (home.css is off on this page) ---------- */
.v2-route .v2-bigword { display: none; }
.home-manifesto { position: relative; overflow: hidden; background: #061d31; color: #fff; }
.manifesto-inner { position: relative; z-index: 1; padding: 120px 0 130px; display: grid; grid-template-columns: 1fr .42fr; gap: 40px; align-items: end; }
.manifesto-overline { grid-column: 1 / -1; color: #67dce5; font: 800 12px 'Manrope', sans-serif; letter-spacing: .2em; }
.manifesto-inner h2 { font-size: clamp(50px, 6vw, 88px); line-height: 1.1; margin: 0; letter-spacing: -.07em; color: #fff; }
.manifesto-inner h2 em { font-style: normal; color: #69d7e1; }
.manifesto-inner > div p { color: #bcd0d9; line-height: 1.7; font-size: 17px; margin: 0 0 30px; }
.manifesto-inner > div a { color: #fff; font: 800 14px 'Manrope', sans-serif; border-bottom: 1px solid #5ed4df; padding-bottom: 8px; }
.manifesto-inner > div a span { margin-left: 30px; }
.manifesto-word { position: absolute; bottom: -.26em; left: -.035em; font: 800 clamp(64px, 19vw, 320px) 'Manrope', sans-serif; letter-spacing: -.12em; color: transparent; -webkit-text-stroke: 1px #ffffff13; white-space: nowrap; pointer-events: none; }
@media (max-width: 900px) { .manifesto-inner { grid-template-columns: 1fr; padding: 90px 0; } .manifesto-overline { grid-column: auto; } .manifesto-inner h2 { font-size: 62px; } }
@media (max-width: 560px) { .manifesto-inner h2 { font-size: 52px; } }
