:root{
  --bg:#f3faf6;--bg2:#ffffff;--card:#ffffff;--card2:#eaf6f0;
  --line:rgba(16,120,80,.14);--line2:rgba(16,120,80,.28);--text:#0d2a1f;--muted:#587567;--g:#2fa84f;--g2:#1c8a3d;--g3:#0a7d46;--warn:#c98a1b;
  --r:22px;--font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{width:min(1160px,100% - 40px);margin:0 auto}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em}
h1{font-size:clamp(2.5rem,6vw,4.6rem);font-weight:800}
h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
.grad{background:linear-gradient(100deg,var(--g3),var(--g) 45%,#7af0c6);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:200% center}}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g);margin-bottom:14px}
.lead{color:var(--muted);font-size:1.12rem;max-width:620px}
section{padding:110px 0;position:relative}
.sec-head{margin-bottom:54px}

/* background */
.bg-orbs{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.bg-orbs i{position:absolute;border-radius:50%;filter:blur(110px);opacity:.22;animation:float 18s ease-in-out infinite}
.bg-orbs i:nth-child(1){width:520px;height:520px;background:#6fe3b4;top:-120px;left:-120px}
.bg-orbs i:nth-child(2){width:460px;height:460px;background:#9be8c8;top:35%;right:-160px;animation-delay:-6s}
.bg-orbs i:nth-child(3){width:420px;height:420px;background:#3ddc97;bottom:-160px;left:25%;opacity:.14;animation-delay:-11s}
@keyframes float{50%{transform:translate(50px,-40px) scale(1.12)}}
.grid-bg{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 30%,#000 0,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 0,transparent 70%);opacity:.5}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s}
nav.scrolled{background:rgba(243,250,246,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem}
.logo svg{width:36px;height:36px}
.links{display:flex;gap:28px;align-items:center}
.links a.l{color:var(--muted);font-size:.93rem;font-weight:500;transition:.2s}
.links a.l:hover{color:var(--text)}
.lang{display:flex;border:1px solid var(--line2);border-radius:99px;padding:3px}
.lang button{background:none;border:0;color:var(--muted);font:600 .78rem var(--font);padding:5px 11px;border-radius:99px;cursor:pointer}
.lang button.on{background:var(--g);color:#04130c}
.btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--g),var(--g2));color:#04130c;font-weight:700;padding:14px 26px;border-radius:99px;border:0;cursor:pointer;font-size:1rem;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:0 8px 30px rgba(18,182,115,.25)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(18,182,115,.4)}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:sweep 3.6s infinite}
@keyframes sweep{to{left:160%}}
.btn.sm{padding:10px 20px;font-size:.9rem}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line2);box-shadow:none}
.btn.ghost::after{display:none}
.btn.ghost:hover{border-color:var(--g);background:rgba(18,182,115,.07)}
.burger{display:none;background:none;border:0;color:var(--text);cursor:pointer}

/* hero */
.hero{padding:150px 0 90px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:rgba(18,182,115,.06);padding:7px 16px;border-radius:99px;font-size:.84rem;color:var(--g3);margin-bottom:26px}
.pill b{width:8px;height:8px;border-radius:50%;background:var(--g);box-shadow:0 0 0 0 rgba(18,182,115,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(18,182,115,0)}100%{box-shadow:0 0 0 0 rgba(18,182,115,0)}}
.hero p.lead{margin:24px 0 36px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.stats{display:flex;gap:40px;margin-top:48px;flex-wrap:wrap}
.stats div b{display:block;font-size:1.9rem;font-weight:800;color:var(--g)}
.stats div span{color:var(--muted);font-size:.85rem}

/* phone */
.phone-wrap{position:relative;display:flex;justify-content:center;perspective:1200px}
.phone{--text:#eaf5ef;--card:#121c18;--muted:#8fa89c;--line2:rgba(120,255,190,.22);--g:#3ddc97;color:var(--text);width:300px;aspect-ratio:9/19;background:#0b1210;border:9px solid #1d2b25;border-radius:44px;padding:20px 16px;position:relative;box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 80px rgba(18,182,115,.18);animation:bob 6s ease-in-out infinite;transform-style:preserve-3d}
@keyframes bob{50%{transform:translateY(-18px) rotateY(-4deg)}}
.phone::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:80px;height:20px;background:#1d2b25;border-radius:12px}
.ph-t{font-size:.9rem;font-weight:700;margin:20px 0 8px}
.ph-s{font-size:.6rem;color:var(--muted);margin-bottom:10px}
.ph-card{border:1px solid var(--line2);border-radius:16px;padding:12px;background:var(--card);margin-bottom:10px}
.ph-card h4{font-size:.82rem}
.ph-card .d{color:var(--g);font-weight:800;font-size:1.05rem;margin:2px 0}
.ph-card small{display:block;font-size:.58rem;color:var(--muted)}
.ph-card .m{font-size:.95rem;font-weight:700;margin-bottom:6px}
.ph-step{display:flex;gap:8px;font-size:.62rem;padding:3px 0;align-items:center}
.ph-step i{font-style:normal;color:var(--g);width:12px}
.ph-step span{color:var(--muted);margin-left:auto}
.ph-btn{border:1px solid var(--line2);border-radius:99px;text-align:center;padding:7px;font-size:.62rem;font-weight:600}
.chip{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid var(--line2);padding:12px 16px;border-radius:16px;font-size:.82rem;box-shadow:0 18px 40px rgba(16,120,80,.18);animation:bob 5s ease-in-out infinite}
.chip b{display:block;color:var(--g);font-size:1.15rem}
.chip.c1{left:-4%;top:18%;animation-delay:-1s}
.chip.c2{right:-2%;bottom:20%;animation-delay:-3s}

/* marquee */
.marq{border-block:1px solid var(--line);overflow:hidden;padding:20px 0;background:rgba(255,255,255,.65)}
.marq-t{display:flex;gap:56px;width:max-content;animation:mq 30s linear infinite;color:var(--muted);font-weight:600;white-space:nowrap}
.marq-t span::before{content:"✦";color:var(--g);margin-right:56px}
@keyframes mq{to{transform:translateX(-50%)}}

/* cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:linear-gradient(160deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:var(--r);padding:32px;transition:.35s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-8px);border-color:var(--g);box-shadow:0 24px 60px rgba(18,182,115,.12)}
.card .ic{width:54px;height:54px;border-radius:16px;background:rgba(18,182,115,.1);border:1px solid var(--line2);display:grid;place-items:center;margin-bottom:22px;color:var(--g)}
.card .ic svg{width:26px;height:26px}
.card p{color:var(--muted);margin-top:10px;font-size:.98rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:s}
.step{padding:28px;border-left:2px solid var(--line2);position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font-size:2.6rem;font-weight:800;background:linear-gradient(135deg,var(--g),var(--g3));-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:12px}
.step p{color:var(--muted);font-size:.95rem;margin-top:8px}

/* calc */
.calc{display:grid;grid-template-columns:1fr 1.1fr;gap:26px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.debt{padding:16px 0;border-bottom:1px solid var(--line)}
.debt:last-of-type{border:0}
.debt-h{display:flex;justify-content:space-between;font-weight:600;margin-bottom:10px}
.debt-h em{font-style:normal;color:var(--g)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label.f{font-size:.76rem;color:var(--muted);display:block}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:9px;background:linear-gradient(90deg,var(--g) var(--p,50%),#d3e8dd var(--p,50%));outline:0;margin-top:8px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--g);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--g);cursor:pointer}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--g);border:3px solid var(--bg);cursor:pointer}
.extra{margin-top:20px;padding-top:20px;border-top:1px dashed var(--line2)}
.res{display:grid;gap:16px}
.opt{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--bg2);transition:.3s}
.opt.best{border-color:var(--g);box-shadow:0 0 40px rgba(18,182,115,.12)}
.opt h3{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tag{font-size:.68rem;background:var(--g);color:#04130c;padding:3px 10px;border-radius:99px;font-weight:700;opacity:0;transition:.3s}
.opt.best .tag{opacity:1}
.opt .big{font-size:2rem;font-weight:800;color:var(--g);margin:8px 0 2px}
.opt .kv{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted);padding:4px 0}
.opt .kv b{color:var(--text)}
.order{margin-top:12px;font-size:.84rem;color:var(--muted)}
.order span{display:inline-block;background:rgba(18,182,115,.09);border:1px solid var(--line);padding:3px 10px;border-radius:99px;margin:3px 4px 0 0;color:var(--g3)}
.note{font-size:.78rem;color:var(--muted);margin-top:16px}

/* compare phone screens */
.cmp{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.cmp .opt{padding:30px}
.bar{height:8px;border-radius:9px;background:#d3e8dd;margin-top:14px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--g2),var(--g));border-radius:9px;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.in .bar i{width:var(--w)}

/* faq */
.faq{max-width:820px;margin:0 auto}
details{border:1px solid var(--line);background:var(--card);border-radius:18px;margin-bottom:12px;transition:.3s}
details[open]{border-color:var(--g)}
summary{list-style:none;cursor:pointer;padding:22px 26px;font-weight:600;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--g);font-size:1.5rem;line-height:1;transition:.3s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 26px 22px;color:var(--muted)}

/* cta */
.final{text-align:center;background:radial-gradient(ellipse at center,rgba(18,182,115,.16),transparent 65%);border:1px solid var(--line);border-radius:36px;padding:80px 30px}
.final p{margin:18px auto 34px}
.disc{font-size:.8rem;color:var(--muted);max-width:760px;margin:40px auto 0;text-align:center}

footer{border-top:1px solid var(--line);padding:46px 0;color:var(--muted);font-size:.9rem}
.f-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.f-in a:hover{color:var(--g)}
.f-links{display:flex;gap:26px;flex-wrap:wrap}

/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}

/* privacy */
.policy{padding:140px 0 80px;max-width:860px}
.policy h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:8px}
.policy h2{font-size:1.6rem;margin:46px 0 14px;color:var(--g3)}
.policy h3{margin:26px 0 10px}
.policy p,.policy li{color:#3f5f50;margin-bottom:12px}
.policy ul{padding-left:22px;margin-bottom:14px}
.policy a{color:var(--g);text-decoration:underline}
.policy .upd{color:var(--muted);margin-bottom:30px}

@media(max-width:960px){
  .hero-in,.calc{grid-template-columns:1fr}
  .grid3,.steps,.cmp{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .phone-wrap{margin-top:30px}
  .burger{display:block}
  .links{position:fixed;inset:72px 0 auto 0;background:rgba(243,250,246,.97);backdrop-filter:blur(16px);flex-direction:column;padding:26px;gap:20px;transform:translateY(-130%);transition:.35s;border-bottom:1px solid var(--line)}
  .links.open{transform:none}
  section{padding:80px 0}
}
@media(max-width:560px){.steps{grid-template-columns:1fr}.chip{display:none}.stats{gap:26px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

.hero-in>*,.calc>*,.cmp>*{min-width:0}
.cmp .opt .tag{opacity:1}
.f-in{align-items:flex-start;gap:50px}
.f-legal{max-width:720px;font-size:.88rem;line-height:1.75}
.f-legal a{color:var(--g3)}
.f-side{display:flex;flex-direction:column;gap:14px}
.f-copy{font-size:.82rem}
@media(max-width:760px){.f-in{flex-direction:column;gap:24px}}
#back{white-space:nowrap}
@media(max-width:560px){#back{padding:8px 14px;font-size:.8rem}.nav-in .logo{font-size:1.05rem}.nav-in .links{gap:10px!important}}
@media(max-width:560px){#back{font-size:0!important;padding:0!important;width:40px;height:40px;justify-content:center}#back::before{content:"←";font-size:1.1rem;font-weight:800}}
.calc-app{margin-top:18px}

.card,.panel,details{box-shadow:0 6px 24px rgba(16,120,80,.06)}
.opt{background:#fff}
.phone .ph-card{background:#121c18}
.phone-wrap .phone{box-shadow:0 40px 80px rgba(16,80,55,.3),0 0 70px rgba(18,182,115,.2)}
.card .ic{background:rgba(18,182,115,.12)}
.btn.ghost{color:var(--text)}
.f-legal a{color:var(--g3)}
.policy h2{color:var(--g3)}
.logo img{width:40px;height:40px;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(10,125,70,.18);border:1px solid var(--line)}
.btn{white-space:nowrap}@media(max-width:420px){.cta .btn{width:100%;justify-content:center}}
