
:root{
  --night:#0b1f19; --night2:#103026; --ink:#14161c; --ink2:#454b57; --mut:#6b7280; --bg:#fbfaf7; --card:#fff; --line:#e7e3da;
  --brand:#1f5c4a; --brand2:#2f7d64; --wa:#25d366; --accent:#e8a33d; --accent2:#f5c46b; --alt:#f3f0e8;
  --r:20px; --sh:0 1px 2px rgba(20,22,28,.05),0 10px 30px rgba(20,22,28,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden}
h1,h2,h3{line-height:1.08;letter-spacing:-.03em;margin:0 0 .5em}
h2{font-size:clamp(1.9rem,6vw,3.4rem);font-weight:850;max-width:20ch}
h3{font-size:1.15rem;font-weight:750;letter-spacing:-.01em}
p{margin:0 0 1em}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:99}
.skip:focus{left:8px;top:8px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:30;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(11,31,25,.88);backdrop-filter:saturate(1.4) blur(12px);border-bottom-color:rgba(255,255,255,.08)}
.nav-in{display:flex;align-items:center;gap:16px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.15rem;color:#fff;text-decoration:none;letter-spacing:-.02em}
.mark{display:inline-block;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand2),var(--brand));position:relative;box-shadow:inset 0 0 0 2px rgba(255,255,255,.18);flex:none}
.mark::after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--accent)}
.nav nav{display:none;margin-left:auto;gap:22px}
.nav nav a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.95rem}
.nav nav a:hover{color:#fff}
.nav .btn-sm{margin-left:auto}
@media(min-width:900px){.nav nav{display:flex}.nav .btn-sm{margin-left:10px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;background:var(--accent);color:#1b1206;font-weight:800;text-decoration:none;border:0;font-size:1rem;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;box-shadow:0 8px 24px rgba(232,163,61,.28)}
.btn:hover{background:var(--accent2);transform:translateY(-2px)}
.btn-big{min-height:58px;padding:0 30px;font-size:1.06rem}
.btn-sm{min-height:40px;padding:0 16px;font-size:.88rem;box-shadow:none;white-space:nowrap}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.play{width:0;height:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}

/* hero */
.hero{position:relative;overflow:hidden;color:#eaf2ee;padding:108px 0 70px;min-height:100svh;display:flex;align-items:center;
  background:radial-gradient(900px 600px at 80% 10%,rgba(37,211,102,.16),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(232,163,61,.14),transparent 60%),linear-gradient(180deg,#071612 0%,var(--night) 55%,var(--night2) 100%)}
.stars{position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(1.4px 1.4px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 72%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 46% 34%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 63% 12%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 78% 58%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 90% 26%,#fff 50%,transparent 51%),radial-gradient(1.2px 1.2px at 8% 88%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 55% 90%,#fff 50%,transparent 51%),radial-gradient(1.3px 1.3px at 36% 6%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 82%,#fff 50%,transparent 51%);
  animation:twinkle 6s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.35}to{opacity:.7}}
.hero-in{position:relative;display:grid;gap:44px;align-items:center;width:100%}
@media(min-width:960px){.hero-in{grid-template-columns:1.15fr .85fr;gap:56px}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);margin-bottom:18px}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--wa);box-shadow:0 0 0 0 rgba(37,211,102,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 12px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.hero h1{font-size:clamp(2.4rem,8.4vw,4.4rem);font-weight:900;color:#fff;max-width:15ch;margin-bottom:22px}
.nav .btn-sm .long{display:none}@media(min-width:560px){.nav .btn-sm .long{display:inline}}
.hl{color:var(--wa)}
.hl2{color:var(--accent2);font-style:italic}
.lede{font-size:clamp(1.05rem,2.4vw,1.25rem);color:rgba(234,242,238,.86);max-width:44ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 14px}
.fine{font-size:.9rem;color:rgba(234,242,238,.62)}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:26px;height:42px;border-radius:14px;border:2px solid rgba(255,255,255,.4)}
.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
@media(max-width:959px){.scroll-cue{display:none}}

/* phone */
.hero-phone{display:flex;flex-direction:column;align-items:center}
.phone{position:relative;width:min(340px,88vw);border-radius:44px;padding:14px;background:linear-gradient(160deg,#1d2a26,#0d1512);box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 0 0 1.5px rgba(255,255,255,.12);transform:rotate(-2deg)}
.notch{position:absolute;top:22px;left:50%;width:90px;height:22px;margin-left:-45px;border-radius:12px;background:#05090a;z-index:2}
.ph-head{display:flex;align-items:center;gap:10px;padding:44px 14px 12px;background:#0f3b30;border-radius:32px 32px 0 0;color:#fff}
.av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--brand2),var(--brand));position:relative;flex:none}
.av::after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--accent)}
.who{display:flex;flex-direction:column;line-height:1.2;font-size:.95rem}
.who small{color:#9fe3bf;font-size:.75rem}
.ph-time{margin-left:auto;font-size:.75rem;color:rgba(255,255,255,.7)}
.chat{height:380px;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:14px 12px;background:#e9e2d6;background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:14px 14px}
.day-chip{align-self:center;font-size:.7rem;background:#fff;color:#55606a;border-radius:8px;padding:2px 10px;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.msg{max-width:86%;padding:8px 11px;border-radius:12px;font-size:.86rem;line-height:1.42;color:#111b21;box-shadow:0 1px 1px rgba(0,0,0,.1)}
.msg.in{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.msg.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:4px}
.typing{align-self:flex-start;background:#fff;border-radius:12px;padding:10px 12px;display:flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:#8a949b;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.js [data-s]{opacity:0;transform:translateY(8px) scale(.98);transition:opacity .35s,transform .35s}
.js [data-s].on{opacity:1;transform:none}
.js .typing[data-s]:not(.on){display:none}
.ph-bar{display:flex;align-items:center;gap:10px;padding:10px 12px 16px;background:#f0ebe3;border-radius:0 0 32px 32px}
.ph-bar span{flex:1;background:#fff;border-radius:20px;padding:7px 14px;font-size:.8rem;color:#8a949b}
.ph-bar i{width:34px;height:34px;border-radius:50%;background:var(--wa)}
.dram{margin-top:16px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(234,242,238,.55)}

/* sections */
.sec{padding:84px 0}
.kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--brand2);margin-bottom:10px}
.sub{color:var(--ink2);max-width:60ch;font-size:1.05rem}
.dram-inline{display:inline-block;margin-left:4px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}

/* film */
.film{background:var(--night2);color:#eaf2ee;padding-top:64px}
.film .kicker{color:var(--accent2)}
.film h2{color:#fff}
.vid-frame{margin-top:22px;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);background:#06110d;aspect-ratio:16/9;outline:1px solid rgba(255,255,255,.08)}
.vid-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#06110d}
.note{color:rgba(234,242,238,.6);margin-top:14px;font-size:.92rem}

/* day & night */
.day{background:linear-gradient(180deg,#fff8ea 0%,#fbfaf7 30%,#e8eef4 70%,#0e1d2b 100%);padding-bottom:110px}
.clock{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:18px}
@media(min-width:720px){.clock{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.clock{grid-template-columns:repeat(4,1fr)}}
.slot{position:relative;border-radius:var(--r);padding:24px 22px 22px;box-shadow:var(--sh);overflow:hidden}
.slot h3{font-size:1.22rem}
.slot p{font-size:.96rem}
.slot .t{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.slot time{font-size:2.2rem;font-weight:900;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.slot .you{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:8px;opacity:.7}
.bub{margin-top:14px;padding:10px 12px;border-radius:12px;border-top-left-radius:4px;font-size:.9rem;line-height:1.4;background:#fff;color:#111b21;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.s7{background:linear-gradient(160deg,#fff4d9,#ffe2a8);color:#3a2706}
.s13{background:linear-gradient(160deg,#e3f6ff,#bfe3f7);color:#0d2c3d}
.s23{background:linear-gradient(160deg,#4a3a78,#24224a);color:#efeafc}
.s3{background:linear-gradient(160deg,#122238,#060d18);color:#dfe8f5}
.s3 .bub,.s23 .bub{background:#d9fdd3}
.ico{width:30px;height:30px;border-radius:50%;flex:none}
.ico.sun{background:radial-gradient(circle,#ffcf5a 55%,rgba(255,207,90,.25) 56%);box-shadow:0 0 18px #ffcf5a}
.ico.noon{background:#ffdf6e;box-shadow:0 0 0 5px rgba(255,223,110,.35)}
.ico.eve{background:radial-gradient(circle at 35% 35%,#ffd7a1,#e8a33d)}
.ico.moon{background:#e9eef8;box-shadow:inset -9px -3px 0 0 #9aaacb}

/* bands */
.bands .band{padding:96px 0}
.band .num{font-size:.85rem;font-weight:800;letter-spacing:.2em;opacity:.6;margin-bottom:12px}
.band h2{font-size:clamp(2.3rem,8vw,5rem);font-weight:900;max-width:none;margin-bottom:20px}
.band p{font-size:clamp(1.02rem,2.2vw,1.22rem);max-width:52ch;opacity:.86}
.b1{background:#0e1d2b;color:#fff}.b1 h2 span{color:var(--wa)}
.b2{background:var(--accent);color:#1b1206}.b2 h2 span{color:#fff}
.b3{background:#f3f0e8;color:var(--ink)}.b3 h2 span{color:var(--brand2)}
.b4{background:var(--brand);color:#fff}.b4 h2 span{color:var(--accent2)}
@media(min-width:900px){.b2 .wrap,.b4 .wrap{text-align:right}.b2 p,.b4 p,.b2 h2,.b4 h2{margin-left:auto}}

/* does */
.grid{display:grid;gap:16px;margin-top:34px}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(20,22,28,.12)}
.ci{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eef4f0;font-size:1.5rem;margin-bottom:14px}
.card p{color:var(--ink2);margin:0}

/* how */
.how{background:var(--alt)}
.steps{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:16px;counter-reset:s}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps li{background:#fff;border-radius:var(--r);padding:26px;box-shadow:var(--sh)}
.sn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-weight:900;margin-bottom:14px}
.steps p{color:var(--ink2);margin:0}

/* price */
.price{background:radial-gradient(700px 400px at 50% 0%,rgba(232,163,61,.18),transparent 70%),var(--bg)}
.tier{max-width:640px;margin:0 auto;text-align:center;background:var(--night);color:#eaf2ee;border-radius:28px;padding:44px 28px;box-shadow:0 30px 80px rgba(11,31,25,.35)}
.tier .kicker{color:var(--accent2)}
.tier h2{color:#fff;margin-left:auto;margin-right:auto}
.amount{font-size:1.1rem;color:rgba(234,242,238,.8);margin:10px 0 22px}
.amount span{display:block;font-size:clamp(3.6rem,13vw,5.4rem);font-weight:900;letter-spacing:-.05em;color:#fff;line-height:1}
.amount em{font-style:normal;font-weight:800;color:var(--accent2)}
.tier ul{list-style:none;padding:0;margin:0 auto 28px;max-width:440px;text-align:left}
.tier li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid rgba(255,255,255,.08)}
.tier li::before{content:"✓";position:absolute;left:0;color:var(--wa);font-weight:900}

/* faq */
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:750;font-size:1.06rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--brand2);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--ink2);margin:12px 0 0}

/* join */
.join{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--night2),#071612);color:#eaf2ee}
.join h2{color:#fff;max-width:none}
.join h2 span{display:block;font-size:.55em;color:var(--accent2);font-weight:750;margin-top:10px;letter-spacing:-.02em}
.steps-pay{padding-left:20px;margin:22px 0 10px}
.steps-pay li{margin-bottom:8px}
.small{font-size:.9rem;color:rgba(234,242,238,.65)}
.join a{color:var(--accent2)}
.form{position:relative;display:grid;gap:8px;margin-top:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:24px}
.form label{font-weight:700;font-size:.92rem;margin-top:6px}
.form input,.form select{width:100%;min-height:50px;border-radius:14px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.95);color:var(--ink);padding:0 14px;font:inherit}
.form input:focus,.form select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(232,163,61,.35)}
.form .btn{margin-top:14px;width:100%}

/* footer */
.foot{background:#050f0c;color:rgba(234,242,238,.7);padding:34px 0}
.foot-in p{margin:0 0 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.foot strong{color:#fff}
.foot .small{color:rgba(234,242,238,.5)}

/* reveal */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal,.js [data-s]{opacity:1!important;transform:none!important}.js .typing[data-s]{display:none}}

.ci svg{width:26px;height:26px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn{text-align:center;line-height:1.25}
.btn-big{padding:10px 30px}
