/* Val — landing page styles v2. Tokens per VAL_Design-System_v1.1 + marketing-pop extension. */

@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/Newsreader-400-600.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/Manrope-400-700.woff2) format('woff2')}

:root{
  --deep:#1E3944; --deep-2:#2A4854; --cream:#FAF3EA; --ink:#20343D;
  --sand:#EDE3D4; --mist:#A9BAC2; --slate:#5C6B72;
  --amber:#F4A952; --amber-deep:#8F5A0A; --terracotta:#C15B3E; --sage:#7D967E;
  --good:#3E7D5B; --alert:#B02F26;
  --night:#14262E; --dusk-hi:#2E5160; --coral:#E8836A;
  --sunset:linear-gradient(120deg,#F4A952 0%,#E08643 55%,#C15B3E 100%);
  --serif:'Newsreader',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;overflow-x:hidden}
img,svg{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
a{color:var(--amber-deep)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08}
h2{font-size:clamp(32px,4.6vw,50px);margin-bottom:16px;letter-spacing:-.01em}
.kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#A6472F;font-weight:700;margin-bottom:16px}
.dark .kicker{color:var(--amber)}
section{padding:100px 0}
.lede{font-size:20px;color:var(--slate);max-width:60ch}
.dark{background:var(--deep);color:var(--cream)}
.dark .lede{color:var(--mist)}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease-out,transform .6s ease-out}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}}

/* buttons */
.btn{display:inline-block;background:var(--terracotta);color:#fff;font-weight:700;font-size:18px;padding:15px 30px;border-radius:12px;text-decoration:none}
.btn:hover{background:#A6472F}
.btn-ghost{display:inline-block;color:var(--amber-deep);font-weight:700;font-size:18px;padding:16px 8px;text-decoration:none}
.dark .btn-ghost{color:var(--amber)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--deep);color:var(--cream)}
.nav .bar{display:flex;align-items:center;gap:28px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream)}
.brand img{width:30px;height:30px}
.brand .name{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1}
.nav nav{margin-left:auto;display:flex;gap:26px;align-items:center}
.nav nav a{color:var(--mist);text-decoration:none;font-size:16px;font-weight:700}
.nav nav a:hover{color:var(--cream)}
.nav nav a.btn{color:#fff;padding:10px 20px;font-size:15px;box-shadow:none}
@media (max-width:860px){.nav nav a:not(.btn){display:none}}

/* ============ HERO ============ */
.hero{position:relative;background:var(--deep);color:var(--cream);padding:88px 0 0;overflow:hidden}
.hero .kicker,.pilot .kicker{color:var(--amber)}
.hero .inner{display:grid;grid-template-columns:6fr 6fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(46px,6.4vw,78px);letter-spacing:-.015em;margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--amber)}
.hero .sub{font-size:21px;color:var(--mist);max-width:50ch;margin-bottom:34px}
.hero .trust{margin-top:26px;font-size:15px;color:var(--mist);display:flex;align-items:center;gap:10px}
.hero .trust::before{content:"";width:26px;height:2px;background:var(--amber);display:inline-block}
.hero-visual{position:relative;padding-bottom:120px}
.hero-photo{width:100%;border-radius:16px;box-shadow:0 16px 40px rgba(10,20,26,.35);aspect-ratio:3/2.1;object-fit:cover}
.hero-mock{position:absolute;left:-28px;bottom:0;width:72%;z-index:2}
.tvframe{background:#0D1418;border-radius:16px;padding:16px 18px 18px;box-shadow:0 16px 40px rgba(10,20,26,.5);border:1px solid rgba(169,186,194,.2)}
.tvbar{display:flex;justify-content:space-between;color:var(--mist);font-size:14px;margin-bottom:12px}
.callstage{border-radius:10px;position:relative;aspect-ratio:16/9.4;overflow:hidden}
.callphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.callstage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,38,46,0) 45%,rgba(20,38,46,.82) 100%)}
.callstage .chip.live{position:absolute;right:12px;top:12px;z-index:3;background:var(--terracotta);color:#fff;font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 11px;border-radius:999px}
.callstage .callmeta{position:absolute;left:16px;bottom:12px;z-index:2;color:var(--cream)}
.callstage .callmeta b{font-size:17px;display:block}
.callstage .callmeta span{font-size:14px;color:var(--mist);font-family:var(--serif);font-style:italic}
.statband{background:var(--cream);margin-top:64px;border-bottom:1px solid var(--sand)}
.statband .row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:48px 0}
.stat b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(40px,4.5vw,56px);line-height:1}
.stat:nth-child(1) b{color:var(--amber-deep)}
.stat:nth-child(2) b{color:var(--terracotta)}
.stat:nth-child(3) b{color:#54695A}
.stat span{color:var(--slate);font-size:16px;display:block;margin-top:10px;max-width:26ch}

/* ============ problem ============ */
.problem{background:var(--sand)}
.problem .inner{display:grid;grid-template-columns:6fr 5fr;gap:64px;align-items:center}
.problem blockquote{font-family:var(--serif);font-size:clamp(21px,2.4vw,26px);font-style:italic;color:var(--slate);border-left:4px solid var(--terracotta);padding-left:24px;margin:30px 0}
.problem .then{color:var(--slate);font-size:19px;max-width:56ch}
.problem .then strong{color:var(--terracotta)}
.duostats{display:grid;gap:18px}
.sidephoto{width:100%;border-radius:16px;aspect-ratio:4/2.9;object-fit:cover;box-shadow:0 12px 32px rgba(20,38,46,.16)}
.duostat{background:#fff;border:1px solid var(--sand);border-radius:16px;padding:28px 32px}
.duostat b{font-family:var(--serif);font-weight:600;font-size:56px;color:var(--terracotta);line-height:1}
.duostat p{color:var(--slate);font-size:17px;margin-top:6px}
.duostat .src{font-size:13px;color:var(--slate)}

/* ============ meet val / tv demo ============ */
.meet{background:#fff;border-top:1px solid #E0D5C2}
.meet .head{max-width:62ch}
.tvdemo{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center;margin-top:56px}
.tvframe{background:#0D1418;border-radius:16px;padding:22px 26px 26px;box-shadow:0 12px 32px rgba(20,38,46,.25);border:1px solid #0D1418}
.tvbar{display:flex;justify-content:space-between;color:var(--mist);font-size:15px;margin-bottom:14px}
.stagecard{border-radius:12px;overflow:hidden;position:relative;background:#0D1418;aspect-ratio:16/8.2}
.stagephoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.stagecard .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,20,24,0) 50%,rgba(13,20,24,.8) 100%)}
.stagecard .photo{position:absolute;inset:0;background:
  radial-gradient(circle at 72% 30%,rgba(244,169,82,.5) 0%,rgba(244,169,82,0) 42%),
  linear-gradient(140deg,#4A7089 0%,#2A4854 55%,#1E3944 100%)}
.stagecard .sun{position:absolute;right:16%;top:14%;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,#FFD9A0 0%,rgba(244,169,82,.7) 45%,rgba(244,169,82,0) 72%)}
.stagecard .hill1{position:absolute;bottom:-8%;left:-4%;width:75%;height:46%;border-radius:50% 60% 0 0/100% 100% 0 0;background:#182E38}
.stagecard .hill2{position:absolute;bottom:-12%;right:-6%;width:70%;height:38%;border-radius:60% 50% 0 0/100% 100% 0 0;background:#122229}
.stagecard .meta{position:absolute;left:22px;bottom:16px;color:var(--cream)}
.stagecard .meta b{font-size:19px;display:block}
.stagecard .meta span{font-size:14px;color:var(--mist)}
.stagecard .chip{position:absolute;right:18px;top:16px;background:var(--amber);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;padding:5px 12px;border-radius:999px}
.tvfoot{display:flex;align-items:center;gap:12px;margin-top:16px;color:var(--mist);font-size:15px}
.orb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#FFD9A0 0%,var(--amber) 55%,#C97E2B 100%);box-shadow:0 0 14px 4px rgba(244,169,82,.5);flex:none}
.orb.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@media (prefers-reduced-motion: reduce){.orb.pulse{animation:none}}
.convo{display:grid;gap:14px}
.bubble{max-width:92%;padding:16px 22px;border-radius:18px;font-size:18px}
.bubble.her{background:var(--cream);border:1px solid var(--sand);border-bottom-left-radius:6px;justify-self:start;font-family:var(--serif);font-size:20px}
.bubble.val{background:var(--deep);color:var(--cream);border-bottom-right-radius:6px;justify-self:end;display:flex;gap:12px;align-items:center}
.bubble.val .orb{width:16px;height:16px;box-shadow:0 0 10px 3px rgba(244,169,82,.4)}
.convo .note{font-size:14px;color:var(--slate);justify-self:end;margin-top:2px}

/* ============ three screens ============ */
.screens{background:var(--cream)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.card{background:#fff;border:1px solid var(--sand);border-radius:16px;padding:34px 30px}
.card .glyph{width:56px;height:56px;border-radius:14px;background:rgba(244,169,82,.16);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.card .glyph svg{width:30px;height:30px;stroke:var(--amber-deep)}
.card h3{font-size:25px;margin-bottom:12px}
.card p{color:var(--slate);font-size:17px}
.card .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:10px}

/* ============ day ============ */
.day{background:#fff;border-top:1px solid var(--sand)}
.daystrip{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.daystrip figure{margin:0}
.daystrip img{width:100%;border-radius:18px;aspect-ratio:3/2;object-fit:cover;box-shadow:0 18px 44px rgba(20,38,46,.18)}
.daystrip figcaption{font-size:15px;color:var(--slate);margin-top:12px;font-family:var(--serif);font-style:italic}
.timeline{margin-top:52px;position:relative}
.timeline::before{content:"";position:absolute;left:127px;top:14px;bottom:14px;width:2px;background:linear-gradient(180deg,var(--amber) 0%,var(--terracotta) 100%);opacity:.4}
.moment{display:grid;grid-template-columns:104px 48px 1fr;align-items:start;padding:22px 0}
.moment time{font-weight:700;color:var(--slate);font-size:16px;padding-top:4px;text-align:right}
.moment .dot{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#FFD9A0 0%,var(--amber) 55%,#C97E2B 100%);box-shadow:0 0 12px 3px rgba(244,169,82,.45);margin:6px auto 0}
.moment h3{font-size:23px;margin-bottom:4px}
.moment p{color:var(--slate);font-size:17px;max-width:60ch}
.moment .say{font-family:var(--serif);font-style:italic;color:var(--amber-deep)}

/* ============ origin ============ */
.origin{background:var(--sand)}
.origin .inner{display:grid;grid-template-columns:6fr 5fr;gap:64px;align-items:center}
.origin .pull{font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.3;color:var(--ink);margin:26px 0}
.origin .pull em{color:var(--terracotta);font-style:italic}
.origin p{color:var(--slate);max-width:56ch}
.origin .sig{margin-top:22px;font-size:15px;color:var(--slate);font-weight:700}
.origin-scene img{width:100%;border-radius:16px;box-shadow:0 12px 32px rgba(20,38,46,.18);aspect-ratio:3/2;object-fit:cover}

/* ============ compare ============ */
.compare{background:var(--cream);border-top:1px solid var(--sand)}
.tablewrap{overflow-x:auto;margin-top:48px;border-radius:16px;border:1px solid var(--sand);background:#fff;box-shadow:0 8px 24px rgba(20,38,46,.06)}
table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:860px}
th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--sand);color:var(--ink);vertical-align:top}
thead th{font-family:var(--serif);font-size:17px;font-weight:600;background:var(--cream);white-space:nowrap}
thead th.rowhead{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);font-weight:700}
tbody th{font-weight:700;font-size:15.5px;max-width:230px}
tbody tr:nth-child(even) th,tbody tr:nth-child(even) td{background:#FCF8F1}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
td.y{color:var(--good);font-weight:700}
td.n{color:var(--slate)}
td.x{color:var(--terracotta);font-weight:700}
th.val,td.val{background:rgba(244,169,82,.14) !important;border-left:2px solid var(--amber);border-right:2px solid var(--amber)}
thead th.val{color:var(--amber-deep)}
td.val.y{color:var(--good)}
.valdot{display:inline-block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#FFD9A0 0%,var(--amber) 55%,#C97E2B 100%);margin-right:8px;vertical-align:baseline}
tr.cost th,tr.cost td{border-top:2px solid var(--sand);font-weight:700}
tr.cost td.val a{color:var(--amber-deep);text-decoration:none}
tr.cost td.val a:hover{text-decoration:underline}
.compare .fine{font-size:14px;color:var(--slate);margin-top:14px}

/* ============ hers ============ */
.hers{background:#fff;border-top:1px solid var(--sand)}
.hers .inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.promise{background:var(--deep);color:var(--cream);border-radius:16px;padding:40px}
.promise p{font-family:var(--serif);font-size:28px;line-height:1.35}
.promise .who{font-family:var(--sans);font-size:15px;color:var(--mist);margin-top:16px;display:block}
.states{display:flex;gap:26px;margin-top:30px}
.state{text-align:center;font-size:13px;color:var(--mist)}
.state .orb{margin:0 auto 10px}
.state .orb.rest{opacity:.45;box-shadow:0 0 8px 2px rgba(244,169,82,.25)}
.state .orb.listen{box-shadow:0 0 20px 7px rgba(244,169,82,.55)}
.hers ul{list-style:none;margin-top:24px}
.hers li{padding:11px 0 11px 34px;position:relative;color:var(--slate);font-size:18px}
.hers li::before{content:"";position:absolute;left:6px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--amber)}
.hers li b{color:var(--ink)}

/* ============ voices ============ */
.voices-sec{background:var(--cream);border-top:1px solid var(--sand)}
.voices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;max-width:780px}
.voice{background:#fff;border:1px solid var(--sand);border-radius:16px;padding:30px;display:flex;gap:20px;align-items:center}
.voice img{width:46px;height:46px}
.voice h3{font-size:24px}
.voice p{color:var(--slate);font-size:17px;font-family:var(--serif);font-style:italic}

/* ============ pilot ============ */
.pilot{background:var(--deep);color:var(--cream);text-align:center;position:relative;overflow:hidden}
.pilot .lede{margin:0 auto 36px}
.pilot .note{font-size:15px;color:var(--mist);margin-top:20px}

/* ============ faq ============ */
.faq{background:var(--cream);border-top:1px solid var(--sand)}
.faq details{border-bottom:1px solid var(--sand);padding:22px 0}
.faq summary{font-family:var(--serif);font-weight:600;font-size:22px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--terracotta);font-size:28px;line-height:1;flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--slate);margin-top:12px;max-width:70ch}

/* footer */
footer{background:var(--deep);color:var(--mist);padding:56px 0}
footer .inner{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
footer .brand .name{font-size:22px}
footer .links{display:flex;gap:22px}
footer a{color:var(--mist);text-decoration:none;font-size:15px}
footer a:hover{color:var(--cream)}
footer .fine{width:100%;font-size:13px;color:var(--mist);margin-top:8px}

@media (max-width:900px){
  section{padding:68px 0}
  .hero{padding-top:64px}
  .hero .inner,.problem .inner,.origin .inner,.hers .inner,.tvdemo{grid-template-columns:1fr}
  .cards3{grid-template-columns:1fr}
  .voices{grid-template-columns:1fr}
  .statband .row{grid-template-columns:1fr;gap:26px}
  .daystrip{grid-template-columns:1fr}
  .hero-visual{padding-bottom:0;margin-top:8px}
  .hero-mock{position:static;width:100%;transform:none;margin-top:-56px;padding-left:0}
  .timeline::before{left:99px}
  .moment{grid-template-columns:76px 46px 1fr}
}

/* pilot form */
.pilotform{max-width:560px;margin:0 auto;text-align:left}
.pilotform .hp{position:absolute;left:-9999px}
.row2f{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pilotform label{display:block;font-size:14px;font-weight:700;color:var(--mist);margin-bottom:16px}
.pilotform input,.pilotform textarea{display:block;width:100%;margin-top:6px;background:#fff;border:1px solid var(--sand);border-radius:10px;padding:13px 14px;font:inherit;font-size:16px;color:var(--ink)}
.pilotform input::placeholder,.pilotform textarea::placeholder{color:#9AA7AD}
.pilotform .btn{width:100%;border:0;cursor:pointer}
.formok{font-size:18px;color:var(--cream);font-family:var(--serif)}
.formerr{font-size:15px;color:var(--coral);margin-top:12px}
.formerr a{color:var(--amber)}
@media (max-width:640px){.row2f{grid-template-columns:1fr}}

/* closing */
.closing{text-align:center;padding:80px 0}
.closing h2{margin-bottom:26px}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}
