:root{
  color-scheme:light dark;
  --paper:#F6EFE1;      /* белоснежный песок — основной фон */
  --sand:#EEE1CB;       /* бежевый — чередующиеся секции */
  --sand-2:#E5D5BA;     /* бежевый глубже */
  --card:#FCF8F0;       /* карточки, светлее фона, но тёплые */
  --line:#D3BE9B; --line-s:#E3D3B8;
  --ink:#1F2B2E; --body:#46565A; --muted:#5C6B6C; --faint:#8B9899;
  --azure:#14708F;      /* голубой для текста и ссылок */
  --sky-h:#2A94C0;      /* светло-голубой для крупных акцентов */
  --azure-l:#4FB6DE;    /* светло-голубой — заливки, декор */
  --azure-w:#DCEFF8;    /* голубая дымка */
  --aqua:#1E8F91;
  --deep:#0F4356; --deep-2:#155A70;
  --on-sky:#10333E;
  --pad:clamp(20px,6vw,100px);
  --sec:clamp(64px,9vw,120px);
  --d:'Unbounded','Manrope','Trebuchet MS',sans-serif;
  --t:'Manrope','Helvetica Neue',Arial,sans-serif;
  --r:6px;
  --sh:0 1px 2px rgba(31,43,46,.05),0 8px 24px -12px rgba(31,43,46,.16);
  --sh-l:0 2px 4px rgba(31,43,46,.05),0 24px 48px -20px rgba(31,43,46,.24);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;
  background-image:linear-gradient(var(--paper),var(--paper))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--paper);background-image:linear-gradient(var(--paper),var(--paper));color:var(--ink);font-family:var(--t);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{max-width:100%;display:block}
a{color:var(--azure);text-decoration:none}
a:hover{color:var(--azure-l)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--azure);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--azure);color:#fff;padding:12px 18px;font-weight:800;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}
.wrap{padding-inline:var(--pad)}
.u{font-family:var(--d);letter-spacing:-.03em;font-weight:800}
.lbl{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}
.h2{font-family:var(--d);font-weight:800;letter-spacing:-.03em;line-height:1.02;
  font-size:clamp(30px,4.4vw,52px);margin:18px 0 0;color:var(--ink)}
.lead{font-size:clamp(16px,1.3vw,18px);line-height:1.68;color:var(--body);text-wrap:pretty}
.sec{padding-block:var(--sec)}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:18px var(--pad);transition:box-shadow .3s,border-color .3s;
  background:rgba(246,239,225,.96);backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid transparent}
.hdr[data-stuck]{border-bottom-color:var(--line);box-shadow:0 1px 20px -8px rgba(31,43,46,.18)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--d);font-weight:800;
  font-size:clamp(15px,1.4vw,17px);letter-spacing:-.02em}
.brand svg{flex:none;color:var(--sky-h)}
.nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px)}
.nav a{color:var(--body);font-size:14px;font-weight:600}
.nav a:hover{color:var(--azure)}
.langs{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid var(--line)}
.langs a{font-size:13px;font-weight:600;color:var(--faint)}
.langs a[aria-current]{color:var(--azure);font-weight:800}
.burger{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;
  font-weight:800;font-size:15px;padding:16px 26px;min-height:52px;
  transition:transform .18s,background .18s,border-color .18s,box-shadow .18s}
.btn svg{flex:none}
.btn-p{background:var(--azure-l);color:var(--on-sky);box-shadow:0 6px 18px -9px rgba(20,112,143,.55)}
.btn-p:hover{background:#6FC6E8;color:var(--on-sky);transform:translateY(-2px);box-shadow:0 12px 26px -11px rgba(20,112,143,.6)}
.btn-p .amt{font-family:var(--d);font-weight:600}
.btn-g{border:1px solid var(--line);color:var(--ink);background:var(--card)}
.btn-g:hover{border-color:var(--azure);color:var(--azure);transform:translateY(-2px)}
.btn-sm{padding:12px 20px;min-height:44px;font-size:14px}

/* ---------- hero (split) ---------- */
.hero{position:relative;background:var(--sand);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,38vw,620px);align-items:stretch;
  min-height:100svh}
.hero-txt{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(120px,16vh,180px) clamp(28px,4vw,64px) clamp(56px,8vh,90px) var(--pad)}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 22px}
.eyebrow i{width:34px;height:1px;background:var(--azure);flex:none}
.eyebrow .lbl{color:var(--azure)}
.h1{font-family:var(--d);font-weight:800;letter-spacing:-.035em;line-height:.94;margin:0;color:var(--ink);
  font-size:clamp(40px,5.6vw,84px);text-wrap:balance}
.h1 span{color:var(--sky-h)}
.hero p{margin:24px 0 0;max-width:48ch;font-size:clamp(15px,1.3vw,18px);line-height:1.64;color:var(--body);text-wrap:pretty}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:32px 0 0;padding:0;list-style:none}
.trust li{font-size:13px;font-weight:700;color:var(--body);background:var(--card);border:1px solid var(--line);
  border-radius:999px;padding:8px 14px}
.hero-bg{position:relative;overflow:hidden;background:var(--sand-2)}
.hero-bg video,.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.hero-card{position:absolute;left:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);width:min(178px,44%);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-l);border:3px solid var(--card);background:var(--card)}
.hero-card video,.hero-card img{position:static;width:100%;aspect-ratio:9/16;object-fit:cover}
.hero-card figcaption{padding:10px 12px 12px;background:var(--card)}
.hero-card figcaption .lbl{font-size:9px;color:var(--aqua)}
.hero-card figcaption b{display:block;font-size:12px;margin-top:3px;color:var(--ink)}
.pill{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:7px;background:rgba(15,67,86,.66);
  backdrop-filter:blur(6px);color:#fff;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em}
.pill i{width:7px;height:7px;border-radius:50%;background:#FF5A5A}

/* ---------- what ---------- */
.what{background:var(--paper)}
.what-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:30px;align-items:center}
.what-fig{grid-column:span 5;position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-l)}
.what-fig img{width:100%;height:clamp(320px,44vw,560px);object-fit:cover}
.what-badge{position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;gap:14px;padding:20px 22px;
  background:linear-gradient(180deg,transparent,rgba(15,67,86,.88))}
.what-badge b{font-family:var(--d);font-size:clamp(30px,3.4vw,44px);font-weight:800;color:#fff;line-height:.9}
.what-badge .lbl{padding-bottom:6px;color:rgba(255,255,255,.82)}
.what-txt{grid-column:7 / span 6}
.what-note{display:flex;align-items:center;gap:14px;margin-top:28px}
.what-note i{width:34px;height:1px;background:var(--azure);flex:none}
.what-note span{font-size:15px;font-weight:700;color:var(--azure)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:56px;padding:0;list-style:none}
.facts li{border-top:2px solid var(--sky-h);padding-top:20px}
.facts h3{font-family:var(--d);font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.02em;color:var(--sky-h);margin:0}
.facts p{margin:10px 0 0;font-size:15px;line-height:1.62;color:var(--muted)}

/* ---------- steps ---------- */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.sec-head p{margin:0 0 6px;font-size:15px;line-height:1.6;color:var(--muted);max-width:34ch}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:48px;padding:0;list-style:none}
.steps li{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);padding:28px 24px 32px;box-shadow:var(--sh)}
.steps li:last-child{background:var(--azure-l);border-color:var(--azure-l)}
.steps b{position:absolute;right:14px;top:8px;font-family:var(--d);font-size:76px;font-weight:800;
  color:rgba(79,182,222,.22);line-height:.8;pointer-events:none}
.steps li:last-child b{color:rgba(16,51,62,.14)}
.steps .lbl{color:var(--aqua)}
.steps li:last-child .lbl{color:rgba(16,51,62,.72)}
.steps h3{font-family:var(--d);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:12px 0 0}
.steps li:last-child h3{color:var(--on-sky)}
.steps p{margin:10px 0 0;font-size:14px;line-height:1.62;color:var(--muted)}
.steps li:last-child p{color:rgba(16,51,62,.82)}

/* ---------- prices ---------- */
.prices{background:var(--sand);border-block:1px solid var(--line)}
.cur{display:flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px;margin:0}
.cur button{font-size:13px;font-weight:700;color:var(--muted);padding:9px 16px;border-radius:999px;min-height:40px}
.cur button[aria-pressed=true]{background:var(--azure-l);color:var(--on-sky);font-weight:800}
.pgroup{margin-top:44px}
.pgroup>.lbl{color:var(--aqua);margin-bottom:14px}
.prow{display:grid;grid-template-columns:1fr auto auto;gap:24px 32px;align-items:center;
  padding:22px 0;border-top:1px solid var(--line);transition:background .2s}
.prow-bot{display:contents}
.pgroup .prow:last-child{border-bottom:1px solid var(--line)}
.prow:hover{background:linear-gradient(90deg,rgba(79,182,222,.16),transparent 70%)}
.prow-t{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;min-width:0}
.prow-t h3{font-family:var(--d);font-size:clamp(18px,2vw,26px);font-weight:600;letter-spacing:-.02em;margin:0}
.prow-t span{font-size:14px;font-weight:600;color:var(--muted)}
.prow-d{font-size:14px;font-weight:700;color:var(--muted);white-space:nowrap;justify-self:end;padding-right:8px}
.prow-p{text-align:right;white-space:nowrap}
.prow-p b{font-family:var(--d);font-size:clamp(22px,2.6vw,34px);font-weight:700;letter-spacing:-.02em;display:block}
.prow-p small{font-size:13px;font-weight:600;color:var(--faint)}
.prow[data-feat]{background:linear-gradient(90deg,var(--azure-w),transparent 66%)}
.prow[data-feat] h3,.prow[data-feat] .prow-p b{color:var(--sky-h)}
.prow[data-feat] .prow-t span{color:var(--azure)}
.inc{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:40px;padding-top:28px;
  border-top:1px solid var(--line)}
.inc ul{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0;padding:0;list-style:none;flex:1}
.inc li{font-size:14px;font-weight:600;color:var(--body)}
.inc .pay{font-size:13px;font-weight:600;color:var(--faint)}

/* ---------- reel ---------- */
.reel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-inline:var(--pad)}
.reel-nav{display:flex;gap:10px}
.reel-nav button{display:flex;align-items:center;justify-content:center;width:46px;height:46px;
  border:1px solid var(--line);background:var(--card);border-radius:50%;color:var(--muted)}
.reel-nav button:hover{border-color:var(--azure);color:var(--azure)}
.reel{display:flex;align-items:flex-start;gap:16px;margin-top:40px;padding:8px var(--pad) 16px;overflow-x:auto;
  scroll-snap-type:x mandatory;scrollbar-width:none;list-style:none}
.reel::-webkit-scrollbar{display:none}
.reel li{position:relative;flex:none;width:clamp(196px,20vw,270px);aspect-ratio:9/16;border-radius:var(--r);
  overflow:hidden;scroll-snap-align:start;background:var(--sand-2);box-shadow:var(--sh)}
.reel img,.reel video{width:100%;height:100%;object-fit:cover}
.reel figcaption{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:7px;
  background:rgba(15,67,86,.7);backdrop-filter:blur(6px);color:#fff;padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:700}
.reel figcaption svg{fill:#8FD4EE}

/* ---------- where + faq ---------- */
.cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(30px,4vw,60px)}
.where{grid-column:span 5}
.faq{grid-column:7 / span 6}
.where img{width:100%;height:clamp(180px,20vw,250px);object-fit:cover;border-radius:var(--r);margin-top:26px;box-shadow:var(--sh)}
.info{display:flex;flex-direction:column;gap:18px;margin-top:26px;padding:0;list-style:none}
.info li{display:flex;gap:14px;align-items:flex-start}
.info svg{flex:none;margin-top:3px;color:var(--azure)}
.info b{display:block;font-size:15px;font-weight:700}
.info span{display:block;font-size:14px;color:var(--muted);margin-top:2px}
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;
  cursor:pointer;list-style:none;font-family:var(--d);font-size:clamp(16px,1.6vw,21px);font-weight:600;letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--azure)}
summary svg{flex:none;transition:transform .25s;color:var(--faint)}
details[open] summary svg{transform:rotate(180deg);color:var(--azure)}
details p{margin:0 0 22px;font-size:15px;line-height:1.68;color:var(--muted);max-width:62ch}

/* ---------- closing cta ---------- */
.close{position:relative;overflow:clip;isolation:isolate;padding-block:clamp(90px,12vw,140px);
  background:var(--deep);color:#fff}
.close img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:1}
.close::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(15,67,86,.7) 0%,rgba(15,67,86,.12) 34%,rgba(15,67,86,.62) 72%,rgba(15,67,86,.92) 100%),
             radial-gradient(980px 520px at 14% 54%,rgba(15,67,86,.9),transparent 72%)}
.close h2{font-family:var(--d);font-weight:800;letter-spacing:-.035em;line-height:1;margin:0;color:#FCF8F0;
  font-size:clamp(30px,5.2vw,66px);text-wrap:balance;position:relative;text-shadow:0 2px 24px rgba(15,67,86,.6)}
.close .hero-cta{margin-top:34px}
.close .btn-p{background:var(--azure-l);color:var(--on-sky)}
.close .btn-p:hover{background:#6FC6E8;color:var(--on-sky)}
.close .btn-g{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.close .btn-g:hover{border-color:#fff;color:#fff}
.close .btn-p .amt{font-size:clamp(15px,1.6vw,18px);font-weight:700}

/* ---------- footer ---------- */
.ftr{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:40px;
  padding:48px var(--pad) 56px;background:var(--sand);border-top:1px solid var(--line)}
.ftr-cols{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,56px)}
.ftr-cols div{display:flex;flex-direction:column;gap:8px}
.ftr-cols .lbl{margin-bottom:4px}
.ftr-cols a,.ftr-cols span{font-size:13px;color:var(--muted)}
.ftr-cols a:hover{color:var(--azure)}
.ftr-cols a[aria-current]{color:var(--azure);font-weight:700}
.ftr>div>p{margin:12px 0 0;font-size:13px;color:var(--faint);max-width:44ch}

/* ---------- sticky mobile bar ---------- */
.bar{position:fixed;inset:auto 0 0;z-index:45;display:none;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(246,239,225,.97);backdrop-filter:blur(18px);border-top:1px solid var(--line);
  box-shadow:0 -4px 24px -10px rgba(31,43,46,.22)}
.bar .btn{flex:1}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .what-txt{grid-column:span 7}
  .what-fig{grid-column:span 5}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .where{grid-column:span 12}
  .faq{grid-column:span 12}
}
@media (max-width:860px){
  .nav{position:fixed;inset:0;z-index:50;flex-direction:column;align-items:flex-start;justify-content:center;
    gap:8px;padding:80px var(--pad);background:var(--paper);transform:translateX(100%);transition:transform .3s ease;
    overflow-y:auto}
  .nav[data-open]{transform:none}
  .nav a{font-family:var(--d);font-size:30px;font-weight:800;letter-spacing:-.03em;padding:10px 0;color:var(--ink)}
  .langs{padding:20px 0 0;margin-top:16px;border-left:0;border-top:1px solid var(--line);width:100%}
  .langs a{font-size:16px}
  .nav .btn{display:none}
  .burger{display:flex;align-items:center;justify-content:center;width:46px;height:46px;z-index:60;color:var(--ink)}
  .hdr .btn-p{display:none}
  .hero-in{grid-template-columns:1fr;min-height:0}
  .hero-bg{order:-1;height:46svh;min-height:300px}
  .hero-txt{padding:32px var(--pad) 44px}
  .hero-card{width:min(130px,32%);left:14px;bottom:14px}
  .hero-card video,.hero-card img{aspect-ratio:3/4}
  .hero-card figcaption{padding:8px 10px 10px}
  .hero-card figcaption b{font-size:11px}
  .what-top{grid-template-columns:1fr}
  .what-fig,.what-txt{grid-column:span 1}
  .what-txt{margin-top:32px}
  .facts{grid-template-columns:1fr;gap:20px;margin-top:40px}
  .prow{grid-template-columns:1fr;gap:12px;padding:20px 0}
  .prow-t{flex-direction:column;gap:3px}
  .prow-t h3{font-size:19px}
  .prow-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
  .prow-d{font-size:13px;justify-self:auto;padding-right:0}
  .prow-p b{font-size:23px}
  .prow-p small{font-size:12px}
  .inc{flex-direction:column;align-items:flex-start;gap:14px}
  .inc ul{gap:8px 18px}
  .bar{display:flex}
  .ftr{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
}
@media (max-width:520px){
  .steps{grid-template-columns:1fr}
  .trust li{font-size:12px;padding:7px 12px}
  .hero-bg{height:42svh}
  .hero-card{display:none}
  .pill{right:12px;bottom:12px}
  .hero-cta .btn-p .amt{display:none}
  .hero-cta .btn{flex:1 1 100%}
}


/* ================= MOTION ================= */
.prog{position:fixed;inset:0 auto auto 0;z-index:60;height:3px;width:0;pointer-events:none;
  background:linear-gradient(90deg,var(--aqua),var(--azure-l),#8FD4EE);
  box-shadow:0 0 12px rgba(79,182,222,.6);transition:width .12s linear}

/* wave divider */
.wave{position:relative;line-height:0;overflow:hidden;height:clamp(64px,8vw,120px);background:var(--bg-from,transparent)}
.wave svg{display:block;width:200%;height:100%}
.wave .w1{fill:var(--w1,var(--sand));animation:drift2 18s linear infinite}
.wave .w2{fill:var(--w2,var(--azure-w));opacity:.9;animation:drift 15s linear infinite reverse}
.wave .w3{fill:none;stroke:var(--azure-l);stroke-width:3;opacity:.45;animation:drift 30s linear infinite}
@keyframes drift{to{transform:translateX(-1440px)}}
@keyframes drift2{0%{transform:translateX(0) translateY(0)}50%{transform:translateX(-720px) translateY(5px)}100%{transform:translateX(-1440px) translateY(0)}}
.wave-flip svg{transform:scaleY(-1)}
.wave-flip .w1,.wave-flip .w2,.wave-flip .w3{transform-origin:center}

/* rise-in on scroll */
[data-rise]{opacity:0;transform:translateY(30px);
  transition:opacity .7s cubic-bezier(.22,.68,.36,1),transform .7s cubic-bezier(.22,.68,.36,1);
  transition-delay:calc(var(--i,0) * 70ms)}
[data-rise][data-in]{opacity:1;transform:none}
[data-rise=side]{transform:translateX(-26px)}
[data-rise=scale]{transform:translateY(22px) scale(.97)}

/* hovering media */
@keyframes hoverY{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes hoverY2{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-.4deg)}}
.hero-card{animation:hoverY 7s ease-in-out infinite}
.what-fig{animation:hoverY2 9s ease-in-out infinite}
.hero-card:hover,.what-fig:hover{animation-play-state:paused}

/* glide underline for section headings */
.h2{position:relative}
.h2::after{content:'';position:absolute;left:0;bottom:-14px;height:3px;width:0;border-radius:2px;
  background:linear-gradient(90deg,var(--azure-l),transparent);transition:width 1.1s cubic-bezier(.22,.68,.36,1) .2s}
[data-in] .h2::after,.h2[data-in]::after{width:clamp(70px,10vw,140px)}

/* droplets burst */
.drops{position:absolute;inset:auto 0 0 0;height:0;pointer-events:none;z-index:2}
.drop{position:absolute;bottom:0;width:var(--s,9px);height:var(--s,9px);border-radius:52% 48% 44% 56%/58% 62% 38% 42%;
  background:radial-gradient(circle at 30% 26%,#fff 8%,#B4E4F6 38%,var(--azure-l) 100%);opacity:0;
  box-shadow:0 3px 10px rgba(79,182,222,.5),inset 0 -2px 4px rgba(255,255,255,.7)}
.drop[data-go]{animation:splash var(--t,1100ms) cubic-bezier(.15,.7,.4,1) var(--d,0ms) forwards}
@keyframes splash{
  0%{opacity:0;transform:translate(0,0) scale(.35)}
  10%{opacity:1;transform:translate(calc(var(--x,0px) * .18),calc(var(--y,-70px) * .3)) scale(1.15)}
  62%{opacity:.85}
  100%{opacity:0;transform:translate(var(--x,0),var(--y,-70px)) scale(.55)}
}

/* board lift on the price highlight */
.prow[data-feat]{position:relative;overflow:hidden}
.prow[data-feat]::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);
  transform:translateX(-100%);animation:sheen 6s ease-in-out 1.4s infinite}
@keyframes sheen{0%{transform:translateX(-100%)}28%,100%{transform:translateX(100%)}}

/* counter */
.what-badge b{font-variant-numeric:tabular-nums}

/* reel cards lift */
.reel li{transition:transform .3s cubic-bezier(.22,.68,.36,1),box-shadow .3s}
.reel li:hover{transform:translateY(-8px);box-shadow:var(--sh-l)}

/* step cards lift */
.steps li{transition:transform .3s cubic-bezier(.22,.68,.36,1),box-shadow .3s}
.steps li:hover{transform:translateY(-6px);box-shadow:var(--sh-l)}

/* hero parallax target */
.hero-bg video,.hero-bg img{will-change:transform;transform:translate3d(0,var(--sy,0px),0) scale(1.06)}

@media (prefers-reduced-motion:reduce){
  [data-rise]{opacity:1!important;transform:none!important}
  .hero-card,.what-fig,.wave .w1,.wave .w2,.wave .w3,.prow[data-feat]::before{animation:none!important}
  .hero-bg video,.hero-bg img{transform:none!important}
  .prog{display:none}
}
@media (max-width:860px){
  .hero-card{animation-duration:9s}
  .wave{height:clamp(38px,9vw,60px)}
}


/* ---- ambient bubbles ---- */
.bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bubbles i{position:absolute;bottom:-40px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95),rgba(143,212,238,.6) 55%,rgba(79,182,222,.34));
  box-shadow:inset 0 -2px 5px rgba(255,255,255,.75),0 2px 8px rgba(79,182,222,.2);
  animation:rise-b var(--bt,16s) linear var(--bd,0s) infinite;opacity:0}
@keyframes rise-b{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.7)}
  8%{opacity:.75}
  55%{transform:translate3d(var(--bx,26px),-52vh,0) scale(1)}
  92%{opacity:.5}
  100%{opacity:0;transform:translate3d(calc(var(--bx,26px) * -.6),-104vh,0) scale(1.1)}
}
.sec,.hero{position:relative}
.sec > *:not(.bubbles),.hero-in{position:relative;z-index:1}

/* ---- breathing CTA ---- */
@keyframes breathe{0%,100%{box-shadow:0 6px 18px -9px rgba(20,112,143,.5),0 0 0 0 rgba(79,182,222,.5)}
  60%{box-shadow:0 10px 26px -11px rgba(20,112,143,.55),0 0 0 18px rgba(79,182,222,0)}}
.btn-p{position:relative;overflow:hidden;animation:breathe 3.4s ease-out infinite}
.btn-p::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.6) 50%,transparent 66%);
  transform:translateX(-120%);animation:glide 5.2s ease-in-out 1s infinite}
@keyframes glide{0%{transform:translateX(-120%)}26%,100%{transform:translateX(120%)}}
.btn-p:hover{animation-play-state:paused}

/* ---- lift trajectory over the four steps ---- */
.lift{position:relative;height:72px;margin:26px 0 -14px}
.lift svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lift .path{fill:none;stroke:var(--azure-l);stroke-width:2.5;stroke-linecap:round;opacity:.7;
  stroke-dasharray:8 10;animation:dash 9s linear infinite}
@keyframes dash{to{stroke-dashoffset:-180}}
.lift .glow{fill:none;stroke:var(--azure-l);stroke-width:3.5;stroke-linecap:round;
  stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 1.8s cubic-bezier(.22,.68,.36,1)}
.lift[data-in] .glow{stroke-dashoffset:0}
.lift .board{fill:var(--azure-l);r:7;filter:drop-shadow(0 3px 7px rgba(79,182,222,.7))}
.lift .board-w{fill:none;stroke:var(--aqua);stroke-width:2.5;opacity:.9}

/* ---- hero floating specks ---- */
.specks{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.specks i{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.95),rgba(255,255,255,.35) 60%,rgba(255,255,255,.05));
  box-shadow:inset 0 -1px 3px rgba(255,255,255,.8);animation:drift-s var(--st,14s) ease-in-out var(--sd,0s) infinite;opacity:0}
@keyframes drift-s{
  0%{opacity:0;transform:translate3d(0,0,0)}
  12%{opacity:.55}
  50%{transform:translate3d(var(--sx,20px),-46%,0)}
  88%{opacity:.4}
  100%{opacity:0;transform:translate3d(calc(var(--sx,20px) * 1.6),-92%,0)}
}

/* stronger rise */
[data-rise]{transform:translateY(38px)}
[data-rise=side]{transform:translateX(-34px)}
[data-rise=scale]{transform:translateY(30px) scale(.955)}

@media (prefers-reduced-motion:reduce){
  .bubbles,.specks,.lift{display:none}
  .btn-p,.btn-p::after{animation:none!important}
}

/* ================= DARK THEME ================= */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0E191E; --sand:#142229; --sand-2:#1B2E36; --card:#16252C;
    --line:#2B3E48; --line-s:#22333B;
    --ink:#F3EBDD; --body:#C3CED2; --muted:#93A2A7; --faint:#6F8087;
    --azure:#7FCBEA; --sky-h:#7FCBEA; --azure-l:#4FB6DE; --azure-w:#16333F;
    --aqua:#56C3C6; --deep:#081216; --deep-2:#0F2028; --on-sky:#0A2028;
    --sh:0 1px 2px rgba(0,0,0,.5),0 8px 24px -12px rgba(0,0,0,.8);
    --sh-l:0 2px 6px rgba(0,0,0,.55),0 24px 48px -20px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --paper:#0E191E; --sand:#142229; --sand-2:#1B2E36; --card:#16252C;
  --line:#2B3E48; --line-s:#22333B;
  --ink:#F3EBDD; --body:#C3CED2; --muted:#93A2A7; --faint:#6F8087;
  --azure:#7FCBEA; --sky-h:#7FCBEA; --azure-l:#4FB6DE; --azure-w:#16333F;
  --aqua:#56C3C6; --deep:#081216; --deep-2:#0F2028; --on-sky:#0A2028;
  --sh:0 1px 2px rgba(0,0,0,.5),0 8px 24px -12px rgba(0,0,0,.8);
  --sh-l:0 2px 6px rgba(0,0,0,.55),0 24px 48px -20px rgba(0,0,0,.9);
}

/* dark tweaks — the [data-dark] flag is set on <html> by the inline head script */
[data-dark] .hdr{background:rgba(14,25,30,.94)}
[data-dark] .bar{background:rgba(14,25,30,.97)}
[data-dark] .nav{background:var(--paper)}
[data-dark] .hero-bg video,
[data-dark] .hero-bg img{filter:brightness(.86) saturate(1.06)}
[data-dark] .what-fig img,
[data-dark] .where img,
[data-dark] .reel img,
[data-dark] .reel video{filter:brightness(.93)}
[data-dark] .btn-g,
[data-dark] .trust li,
[data-dark] .cur,
[data-dark] .reel-nav button{background:var(--card)}
[data-dark] .steps b{color:rgba(127,203,234,.15)}
[data-dark] .steps li:last-child b{color:rgba(10,32,40,.2)}
[data-dark] .drop{background:radial-gradient(circle at 30% 26%,#EAF9FF 8%,#8FD4EE 38%,#3FA3CE 100%);
  box-shadow:0 3px 12px rgba(79,182,222,.6),inset 0 -2px 4px rgba(255,255,255,.4)}
[data-dark] .bubbles i{background:radial-gradient(circle at 32% 28%,rgba(190,235,250,.9),rgba(79,182,222,.32) 55%,rgba(79,182,222,.12));
  box-shadow:inset 0 -2px 5px rgba(190,235,250,.4),0 2px 10px rgba(79,182,222,.22)}
[data-dark] .specks i{background:radial-gradient(circle at 34% 30%,rgba(230,248,255,.9),rgba(143,212,238,.4) 60%,rgba(143,212,238,.06))}
[data-dark] .prow:hover{background:linear-gradient(90deg,rgba(79,182,222,.12),transparent 70%)}
[data-dark] .prow[data-feat]::before{background:linear-gradient(100deg,transparent 30%,rgba(127,203,234,.2) 48%,transparent 66%)}
[data-dark] .btn-p::after{background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.34) 50%,transparent 66%)}
[data-dark],[data-dark] body{background-image:linear-gradient(var(--paper),var(--paper))}

/* theme toggle */
.theme{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;
  border:1px solid var(--line);color:var(--body);background:var(--card);flex:none;
  transition:border-color .2s,color .2s,transform .2s}
.theme:hover{border-color:var(--azure-l);color:var(--azure);transform:translateY(-2px)}
.theme .moon{display:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme .sun{display:none}
  :root:not([data-theme="light"]) .theme .moon{display:block}
}
:root[data-theme="dark"] .theme .sun{display:none}
:root[data-theme="dark"] .theme .moon{display:block}
:root[data-theme="light"] .theme .sun{display:block}
:root[data-theme="light"] .theme .moon{display:none}
@media (max-width:860px){
  .theme{position:fixed;right:calc(var(--pad) + 56px);top:19px;z-index:61}
}

html{scrollbar-color:var(--line) var(--sand)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--sand)}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:3px solid var(--sand)}
::selection{background:var(--azure-l);color:var(--on-sky)}
