@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#14171f;--muted:#5b6372;--bg:#fbfaf8;--card:#fff;--line:#ebe8e1;--accent:#1d6b4f;--accent2:#2fa37a;--accent-ink:#fff;--soft:#eef5f1;--dark:#11141b;--radius:20px;--shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px -8px rgba(16,24,40,.12);--shadow-lg:0 30px 60px -20px rgba(16,24,40,.35)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#eef0f4;--muted:#a3aab8;--bg:#0f1218;--card:#171b23;--line:#262b36;--soft:#1b2420}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 "Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}img,svg{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
@media(max-width:600px){.wrap{padding:0 16px}}

/* announcement + nav */
.announce{background:var(--dark);color:#e9ecf2;font-size:13.5px;text-align:center;padding:9px 16px;font-weight:500;letter-spacing:.01em}
.announce b{color:#fff}
nav.top{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:12px}
nav.top .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;text-decoration:none;color:var(--ink);letter-spacing:-.03em}
nav.top .brand span{color:var(--accent)}
.logo{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px -6px var(--accent)}
.logo svg{width:20px;height:20px}
nav.top .links{display:flex;gap:22px;align-items:center;font-size:15px;font-weight:600}
nav.top .links a{color:var(--muted);text-decoration:none}nav.top .links a:hover{color:var(--ink)}
nav.top .links a.btn{color:var(--accent-ink)}
@media(max-width:720px){nav.top .links a:not(.btn){display:none}}

/* hero */
.hero-band{position:relative;overflow:hidden;isolation:isolate}
.hero-band:before{content:"";position:absolute;inset:-20% -10% auto -10%;height:120%;z-index:-1;background:radial-gradient(600px 400px at 85% 20%,color-mix(in srgb,var(--accent2) 28%,transparent),transparent 70%),radial-gradient(500px 380px at 10% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:36px 0 72px}
.hero h1{font-size:clamp(36px,5.4vw,62px);line-height:1.04;letter-spacing:-.04em;margin:14px 0 18px;font-weight:800}
.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{font-size:19px;color:var(--muted);margin:0 0 28px;max-width:34em}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero .art{position:relative;display:grid;place-items:center;min-height:420px}
@media (max-width:860px){.hero{grid-template-columns:1fr;gap:28px;padding:20px 0 48px}.hero .art{min-height:0}}
.float{animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){.float{animation:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--accent2)));color:var(--accent-ink);border:0;border-radius:14px;padding:15px 24px;font-weight:700;font-size:16.5px;line-height:1;font-family:inherit;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px -10px var(--accent);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px var(--accent)}
.btn.ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn.sm{padding:11px 16px;font-size:15px}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--card);color:var(--accent);font-weight:700;font-size:12.5px;padding:7px 12px;border-radius:99px;letter-spacing:.04em;text-transform:uppercase;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));box-shadow:var(--shadow)}
.badge i{width:7px;height:7px;border-radius:9px;background:var(--accent2);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent2) 25%,transparent)}
.trust{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--muted);font-size:14.5px;margin-top:22px;font-weight:500}
.trust span{display:inline-flex;gap:7px;align-items:center}.trust svg{width:17px;height:17px;color:var(--accent2)}

/* sections */
section{padding:72px 0}section.tight{padding:40px 0}
.eyebrow{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
section h2{font-size:clamp(28px,3.8vw,42px);letter-spacing:-.035em;line-height:1.1;margin:0 0 14px;font-weight:800}
.sub{color:var(--muted);font-size:18px;max-width:40em;margin:0 0 36px}
.center{text-align:center}.center .sub{margin-left:auto;margin-right:auto}
.alt{background:var(--card);border-block:1px solid var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.grid4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.grid3,.grid2{grid-template-columns:1fr}}
.feat .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--accent);margin-bottom:14px}
.feat .ic svg{width:23px;height:23px}.feat h3{margin:0 0 6px;font-size:18.5px;letter-spacing:-.01em}.feat p{margin:0;color:var(--muted);font-size:15.5px}
.steps{counter-reset:s}.step{position:relative;padding-left:62px}
.step:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}
.step h3{margin:6px 0 4px;font-size:18px}.step p{margin:0;color:var(--muted);font-size:15.5px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats div{text-align:center;padding:18px}.stats strong{display:block;font-size:34px;letter-spacing:-.03em;color:var(--accent)}.stats span{color:var(--muted);font-size:14px}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}}
.checks{list-style:none;padding:0;margin:0}.checks li{padding:7px 0 7px 32px;position:relative}
.checks li:before{content:"";position:absolute;left:0;top:11px;width:20px;height:20px;border-radius:50%;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232fa37a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}

/* pricing */
.price-card{position:relative;border:2px solid var(--accent);border-radius:26px;padding:34px;background:var(--card);box-shadow:var(--shadow-lg)}
.price-card .ribbon{position:absolute;top:-14px;left:34px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;font-size:13px;padding:6px 14px;border-radius:99px}
.price{font-size:54px;font-weight:800;letter-spacing:-.04em;line-height:1}.price small{font-size:16px;color:var(--muted);font-weight:600;letter-spacing:0}
.seal{display:flex;gap:14px;align-items:center;background:var(--soft);border-radius:16px;padding:14px 16px;margin-top:18px;font-size:14.5px}
.seal svg{flex:none;width:40px;height:40px;color:var(--accent)}
.buybox input[type=email]{width:100%;padding:15px 16px;border:1.5px solid var(--line);border-radius:14px;font:inherit;background:var(--bg);color:var(--ink);margin:16px 0 10px}
.buybox input[type=email]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}
.buybox label.tick{display:flex;gap:10px;font-size:14px;color:var(--muted);margin:4px 0 16px;align-items:flex-start}
.buybox .btn{width:100%;padding:17px}
.msg{font-size:14px;margin-top:12px;color:var(--muted)}.msg.err{color:#c0392b}
.pay-logos{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pay-logos span{font-size:12px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:5px 9px;background:var(--bg)}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:22px;line-height:1;color:var(--accent)}.faq details[open] summary:after{content:"–"}
.faq details p{color:var(--muted);margin:10px 0 0}

/* final cta */
.final{background:var(--dark);color:#fff;border-radius:30px;padding:56px 40px;text-align:center;position:relative;overflow:hidden;isolation:isolate}
.final:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(500px 300px at 20% 0%,color-mix(in srgb,var(--accent2) 45%,transparent),transparent 70%),radial-gradient(500px 300px at 90% 100%,color-mix(in srgb,var(--accent) 50%,transparent),transparent 70%)}
.final h2{color:#fff}.final p{color:#c9cfdb;font-size:18px;margin:0 0 26px}
.final .btn{background:#fff;color:var(--dark);box-shadow:none}
@media(max-width:600px){.final{padding:40px 20px;border-radius:22px}}

/* device mocks */
.phone{width:290px;border-radius:44px;background:#0e1116;padding:12px;box-shadow:var(--shadow-lg),inset 0 0 0 2px #2a2f38}
.phone .scr{border-radius:34px;background:#fff;color:#14171f;overflow:hidden;min-height:540px;position:relative}
.phone .notch{width:110px;height:26px;background:#0e1116;border-radius:0 0 16px 16px;margin:0 auto}
.paper{background:#fff;color:#14171f;border-radius:12px;box-shadow:var(--shadow-lg)}
.chip{position:absolute;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13.5px;font-weight:700;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center}
.chip svg{width:18px;height:18px;color:var(--accent2)}
@media(max-width:600px){.chip{display:none}}

/* sticky mobile bar */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 16px;display:none;align-items:center;justify-content:space-between;gap:12px}
.stickybar strong{font-size:18px}.stickybar small{display:block;color:var(--muted);font-size:12px}
@media(max-width:760px){.stickybar.show{display:flex}body{padding-bottom:72px}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
footer.site{border-top:1px solid var(--line);margin-top:56px;padding:28px 0 44px;color:var(--muted);font-size:14px}
.hidden{display:none!important}
