:root{
    --navy:#002556; --navy-deep:#001B3F; --navy-soft:#0A3066;
    --gold:#E3B506; --gold-light:#F0C430; --gold-deep:#8A6B08;
    --sub:#4B61B9;                 /* the app's italic subtitle blue */
    --periwinkle:#D7E1F6; --periwinkle-light:#E8EEF9;
    --cream:#FBF7EF; --cream-2:#F5EFE1; --cream-3:#FCFAF4; --sand:#E8DCC4;
    --ink:#2E3A5C; --muted:#5B657F; --line:#ECE4D4;
    --e-hopeless:#5C1F1F; --e-grief:#A01F1F; --e-fear:#C83E3E;
    --e-overwhelmed:#D97706; --e-frustration:#E99B3D; --e-proud:#EAB308;
    --e-brave:#FACC15; --e-calm:#84CC16; --e-grateful:#22C55E;
    --e-creative:#0EA5E9; --e-joyful:#A855F7; --e-peaceful:#EC4899;
    --maxw:1160px;
    --shadow:0 26px 60px -34px rgba(0,37,86,.42);
    --shadow-soft:0 14px 34px -24px rgba(0,37,86,.3);
    --device-shadow:0 46px 90px -40px rgba(0,37,86,.65);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--cream);color:var(--ink);font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3,h4{font-family:'Gantari',system-ui,sans-serif;color:var(--navy);font-weight:700;line-height:1.12;letter-spacing:-.015em;margin:0 0 .45em;}
  h1{font-size:clamp(2.4rem,5.4vw,3.9rem);}
  h2{font-size:clamp(1.8rem,3.8vw,2.6rem);}
  h3{font-size:clamp(1.2rem,2.1vw,1.55rem);}
  p{margin:0 0 1.05em;}
  a{color:inherit;text-decoration:none;}
  img,svg{max-width:100%;display:block;}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  .eyebrow{font-family:'Gantari',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-size:.7rem;color:var(--gold-deep);margin:0 0 .9rem;}
  .eyebrow.on-dark{color:var(--gold);}
  .isub{font-family:'Hanken Grotesk',sans-serif;font-style:italic;color:var(--sub);font-size:1.16rem;font-weight:500;}
  .lead{font-size:1.12rem;color:var(--muted);}
  .center{text-align:center;max-width:60ch;margin:0 auto;}
  .gold-word{color:var(--gold-deep);}

  /* Buttons */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:54px;padding:0 1.8rem;font-family:'Gantari',sans-serif;font-weight:600;font-size:1.02rem;border-radius:100px;border:2px solid transparent;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,color .25s;text-align:center;}
  .btn-gold{background:var(--gold);color:var(--navy-deep);box-shadow:0 14px 30px -16px rgba(227,181,6,.75);}
  .btn-gold:hover{transform:translateY(-3px);}
  .btn-navy{background:var(--navy);color:var(--cream);box-shadow:var(--shadow-soft);}
  .btn-navy:hover{transform:translateY(-3px);}
  .btn-outline{background:transparent;border-color:var(--navy);color:var(--navy);}
  .btn-outline:hover{background:var(--navy);color:var(--cream);}

  /* Nav */
  header.nav{position:fixed;top:0;left:0;right:0;z-index:60;padding:16px 0;transition:background .3s,box-shadow .3s,padding .3s;}
  header.nav.scrolled{background:rgba(251,247,239,.92);backdrop-filter:blur(12px);box-shadow:0 6px 22px -18px rgba(0,37,86,.5);padding:9px 0;}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;}
  .nav-logo{height:36px;width:auto;}
  .nav-links{display:flex;align-items:center;gap:28px;}
  .nav-links a.link{font-family:'Gantari',sans-serif;font-weight:500;font-size:.94rem;color:var(--navy);opacity:.82;transition:opacity .2s,color .2s;}
  .nav-links a.link:hover{opacity:1;color:var(--gold-deep);}
  .btn:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px;}
  .nav-cta{min-height:46px;padding:0 1.25rem;font-size:.92rem;background:var(--gold);color:var(--navy-deep);}
  .nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;margin:0;}
  .nav-toggle svg{width:24px;height:24px;display:block;}
  @media(max-width:860px){
    .nav-links a.link{display:none;}
    .nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:46px;}
    .nav-links.open{position:fixed;top:64px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:flex-start;padding:10px 26px 20px;box-shadow:0 12px 24px -18px rgba(0,37,86,.25);gap:0;}
    .nav-links.open a.link{display:block;padding:12px 0;width:100%;border-bottom:1px solid var(--line);}
    .nav-links.open .nav-cta{margin-top:14px;}
  }

  /* Store badges */
  .stores{display:flex;flex-wrap:wrap;gap:13px;align-items:center;}
  .store-badge{display:flex;align-items:center;gap:11px;position:relative;min-height:56px;padding:9px 20px 9px 17px;border-radius:14px;background:var(--navy-deep);color:var(--cream);transition:transform .25s,box-shadow .25s;}
  .store-badge{cursor:default;user-select:none;}
  .store-badge svg{width:25px;height:25px;flex:none;fill:var(--cream);}
  .store-badge .txt{display:flex;flex-direction:column;line-height:1.15;text-align:left;}
  .store-badge .txt small{font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;opacity:.82;}
  .store-badge .txt span{font-family:'Gantari',sans-serif;font-weight:600;font-size:1rem;}
  .store-badge .soon{position:absolute;top:-9px;right:-8px;background:var(--gold);color:var(--navy-deep);font-family:'Gantari',sans-serif;font-weight:700;font-size:.54rem;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:100px;box-shadow:0 4px 12px -4px rgba(0,0,0,.35);}

  /* Device frame (real screenshots) */
  .device{border-radius:38px;border:9px solid var(--navy-deep);overflow:hidden;box-shadow:var(--device-shadow);background:var(--navy-deep);width:270px;max-width:74vw;flex:none;}
  .device img{width:100%;display:block;}
  .device.sm{width:210px;border-width:8px;border-radius:32px;}
  .stack{position:relative;display:flex;justify-content:center;align-items:center;min-height:0;}
  .stack .device.back{position:absolute;transform:translate(-38%,6%) rotate(-6deg) scale(.86);opacity:.96;z-index:1;}
  .stack .device.back.right{transform:translate(38%,6%) rotate(6deg) scale(.86);}
  .stack .device.front{position:relative;z-index:2;}
  @media(max-width:520px){ .stack .device.back{display:none;} }

  /* HERO */
  .hero{position:relative;padding:126px 0 64px;overflow:hidden;}
  .hero::after{content:"";position:absolute;top:-140px;right:-100px;width:560px;height:560px;background:radial-gradient(circle,rgba(240,196,48,.42) 0%,rgba(240,196,48,0) 62%);pointer-events:none;z-index:0;}
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center;}
  .hero h1{max-width:13ch;}
  .hero .swoosh{width:220px;max-width:58%;margin:-4px 0 16px;color:var(--gold);}
  .hero .sub{font-size:1.14rem;color:var(--ink);max-width:44ch;margin:14px 0 22px;}
  .hero .cta-row{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:22px;}
  @media(max-width:880px){ .hero-grid{grid-template-columns:1fr;gap:36px;text-align:center;} .hero h1,.hero .sub,.hero .isub{margin-left:auto;margin-right:auto;} .hero .swoosh{margin-left:auto;margin-right:auto;} .hero .cta-row,.hero .stores{justify-content:center;} .hero-media{order:-1;} }

  /* Stats */
  .stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream-3);}
  .stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:32px 24px;}
  .stat{text-align:center;}
  .stat b{font-family:'Gantari',sans-serif;font-weight:700;color:var(--gold-deep);font-size:clamp(2rem,4vw,2.7rem);line-height:1;display:block;}
  .stat span{font-family:'Gantari',sans-serif;font-weight:500;color:var(--navy);font-size:.92rem;}
  @media(max-width:560px){ .stats .wrap{grid-template-columns:1fr;gap:14px;} .stat{display:flex;align-items:baseline;justify-content:center;gap:10px;} .stat b{font-size:1.7rem;} }

  /* Bands */
  .band{padding:clamp(60px,8vw,100px) 0;}
  .band.alt{background:var(--cream-2);}
  .band.blue{background:linear-gradient(180deg,#EDF1FB 0%,#F5F8FD 100%);}
  .band.white{background:#fff;}
  .fgroup.tint{background:linear-gradient(160deg,#EEF2FB,#F4F7FD);border:1px solid #E4EAF6;border-radius:30px;padding:clamp(28px,4vw,52px);}
  .shift-line{text-align:center;font-family:'Gantari',sans-serif;font-weight:700;color:var(--navy);font-size:clamp(1.5rem,3.4vw,2.3rem);letter-spacing:-.01em;max-width:20ch;margin:0 auto;line-height:1.2;}

  /* Approach */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:42px 0 38px;}
  .step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 24px;box-shadow:var(--shadow-soft);}
  .step .num{font-family:'Gantari',sans-serif;font-weight:700;color:var(--gold-deep);font-size:1.7rem;line-height:1;margin-bottom:10px;}
  .step h3{margin-bottom:.3rem;}
  .step p{margin:0;color:var(--muted);font-size:.98rem;}
  .engines{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
  .engine{display:flex;gap:14px;align-items:center;background:var(--cream-3);border:1px solid var(--line);border-radius:16px;padding:16px 18px;}
  .engine .e-ic{width:46px;height:46px;border-radius:13px;background:var(--periwinkle-light);display:flex;align-items:center;justify-content:center;flex:none;}
  .engine .e-ic img{width:26px;height:26px;}
  .engine b{font-family:'Gantari',sans-serif;color:var(--navy);display:block;margin-bottom:1px;}
  .engine p{margin:0;color:var(--muted);font-size:.9rem;}
  @media(max-width:760px){ .steps,.engines{grid-template-columns:1fr;} }

  /* Feature groups (app-screen language) */
  .fgroup + .fgroup{margin-top:clamp(56px,8vw,96px);}
  .fg-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px);align-items:center;}
  .fg-row.rev .fg-media{order:2;}
  .fg-media{display:flex;justify-content:center;}
  @media(max-width:880px){ .fg-row,.fg-row.rev{grid-template-columns:1fr;gap:30px;} .fg-row.rev .fg-media,.fg-media{order:-1;} }
  .glabel{font-family:'Gantari',sans-serif;text-transform:uppercase;letter-spacing:.2em;font-weight:600;font-size:.68rem;color:var(--gold-deep);display:flex;align-items:center;gap:10px;margin-bottom:12px;}
  .glabel .gn{font-size:.68rem;color:var(--navy);opacity:.5;}
  .fg-copy h2{margin-bottom:.35rem;}
  .fg-copy .isub{display:block;margin-bottom:16px;}
  .fg-copy .desc{color:var(--ink);font-size:1.04rem;margin-bottom:20px;max-width:46ch;}
  .fcards{display:flex;flex-direction:column;gap:14px;}
  .fcard{display:flex;gap:15px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s;}
  .fcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
  .fcard .ic{width:46px;height:46px;border-radius:13px;background:var(--periwinkle-light);display:flex;align-items:center;justify-content:center;flex:none;}
  .fcard .ic img{width:26px;height:26px;}
  .fcard .fc-body{min-width:0;}
  .fcard h3{font-size:1.1rem;margin-bottom:.15rem;}
  .fcard p{margin:0 0 9px;color:var(--muted);font-size:.94rem;}
  .chips{display:flex;flex-wrap:wrap;gap:7px;}
  .chip{display:inline-flex;align-items:center;gap:6px;background:var(--cream-2);border:1px solid var(--line);border-radius:100px;padding:4px 10px;font-size:.73rem;color:var(--navy);font-weight:500;}
  .chip i{width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none;}

  /* Spectrum */
  .spectrum{background:linear-gradient(160deg,var(--navy),var(--navy-deep));border-radius:26px;padding:clamp(30px,5vw,54px);color:var(--cream);box-shadow:var(--shadow);}
  .spectrum h3{color:var(--cream);}
  .spectrum .isub{color:var(--periwinkle);display:block;margin-bottom:6px;}
  .bar{display:flex;height:15px;border-radius:100px;overflow:hidden;margin:22px 0 12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);}
  .bar i{flex:1;}
  .scale-labels{display:flex;justify-content:space-between;font-family:'Gantari',sans-serif;font-size:.72rem;color:var(--periwinkle);letter-spacing:.04em;text-transform:uppercase;}
  .emos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 22px;margin-top:24px;}
  .emo{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--cream);}
  .emo .sw{width:13px;height:13px;border-radius:5px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.16);}
  @media(max-width:760px){ .emos{grid-template-columns:repeat(2,1fr);} }

  /* CTA */
  .cta{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--navy),var(--navy-deep));border-radius:28px;padding:clamp(46px,6vw,78px) 28px;text-align:center;color:var(--cream);box-shadow:var(--shadow);}
  .cta .mark{position:absolute;right:-40px;bottom:-60px;width:280px;opacity:.08;pointer-events:none;}
  .cta h2{color:var(--cream);position:relative;}
  .cta .isub{color:var(--periwinkle);position:relative;display:block;max-width:46ch;margin:0 auto 20px;}
  .cta .trial-pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;background:rgba(227,181,6,.16);border:1px solid rgba(227,181,6,.5);color:var(--gold);font-family:'Gantari',sans-serif;font-weight:600;font-size:.86rem;padding:7px 16px;border-radius:100px;position:relative;}
  .cta .stores{justify-content:center;margin-top:22px;position:relative;}
  .cta .webapp{margin-top:20px;font-size:.92rem;color:var(--periwinkle);position:relative;}
  .cta .webapp a{color:var(--gold);font-weight:600;border-bottom:1px solid rgba(227,181,6,.4);}

  /* Closing */
  .closing{text-align:center;}
  .closing h2{max-width:16ch;margin:0 auto .5rem;}
  .closing .isub{color:var(--muted);max-width:54ch;margin:0 auto 22px;display:block;}
  .closing .stores{justify-content:center;}

  /* Footer */
  footer{background:var(--navy-deep);color:var(--periwinkle);padding:58px 0 30px;margin-top:clamp(56px,8vw,96px);}
  .foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px;}
  .foot-logo{height:38px;margin-bottom:16px;}
  footer p{color:var(--periwinkle);opacity:.82;font-size:.94rem;}
  .foot-col h4{color:var(--cream);font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:15px;}
  .foot-col a{display:block;color:var(--periwinkle);opacity:.82;margin-bottom:10px;font-size:.94rem;transition:opacity .2s,color .2s;}
  .foot-col a:hover{opacity:1;color:var(--gold);}
  .foot-bottom{border-top:1px solid rgba(215,225,246,.14);margin-top:38px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:center;}
  .foot-bottom small{color:var(--periwinkle);opacity:.7;font-size:.83rem;}
  @media(max-width:720px){ .foot-top{grid-template-columns:1fr 1fr;} .foot-col.brand{grid-column:1 / -1;} }

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .reveal{opacity:1;transform:none;transition:none;} *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;} }

  img[width][height]:not(.col-img img){height:auto;}
