:root{
  --navy-950:#0a1f2e;
  --navy-900:#0f2e3f;
  --navy-800:#153f52;
  --teal-600:#1f8f7a;
  --teal-500:#2cb39a;
  --teal-400:#5fd0bb;
  --cloud-100:#f4f8f7;
  --cloud-200:#e7f0ee;
  --ink:#0f2521;
  --ink-soft:#41595a;
  --white:#ffffff;
  --line:#dbe6e3;
  --ok:#2f8f57;
  --warn:#b4552f;
  --radius:16px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cloud-100);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--navy-900);color:#fff;padding:10px 16px;z-index:200}
.skip-link:focus{left:12px;top:12px}

/* header */
.site-header{position:sticky;top:0;z-index:80;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(15,37,33,.03)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;height:64px;max-width:1080px;margin:0 auto}
.wordmark{display:flex;align-items:center;gap:9px;text-decoration:none}
.wordmark .glyph{width:34px;height:34px;border-radius:10px;background:var(--navy-900);color:var(--teal-400);font-weight:900;display:flex;align-items:center;justify-content:center;font-size:16px}
.wordmark .name{color:var(--navy-900);font-weight:800;font-size:19px}
.wordmark .tag{display:block;color:var(--teal-600);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.desktop-nav{display:none;gap:20px;font-size:14px;font-weight:600}
.desktop-nav a{color:var(--ink-soft);text-decoration:none}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--teal-600)}
.header-actions{display:flex;align-items:center;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:9px 16px;font-weight:700;font-size:13.5px;text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.btn-solid{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}
.btn-solid:hover{filter:brightness(1.05)}
.btn-ghost{background:transparent;color:var(--navy-900);border-color:var(--line)}
.btn-block{width:100%}
.burger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:38px;height:36px;background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer}
.burger span,.burger::before,.burger::after{content:"";display:block;height:2px;background:var(--navy-900);border-radius:2px;margin:0 8px}
@media (min-width:900px){.desktop-nav{display:flex}.burger{display:none}}

/* mobile nav */
.mobile-nav{position:fixed;inset:0;z-index:150;visibility:hidden}
.mobile-nav .backdrop{position:absolute;inset:0;background:rgba(10,31,46,.55);opacity:0}
.mobile-nav .panel{position:absolute;top:0;right:0;height:100%;width:82%;max-width:320px;background:#fff;transform:translateX(100%);transition:transform .25s ease;padding:16px;display:flex;flex-direction:column;gap:4px}
.mobile-nav.is-open{visibility:visible}
.mobile-nav.is-open .backdrop{opacity:1;transition:opacity .2s}
.mobile-nav.is-open .panel{transform:translateX(0)}
.panel-top{display:flex;justify-content:flex-end;margin-bottom:10px}
.close-btn{background:transparent;border:1px solid var(--line);color:var(--navy-900);border-radius:8px;width:34px;height:34px;cursor:pointer}
.mnav-link{color:var(--navy-900);text-decoration:none;padding:12px 8px;border-bottom:1px solid var(--cloud-200);font-weight:600}
.mnav-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}

/* hero: phone mockup composition, centered */
.hero{background:linear-gradient(180deg,var(--navy-950),var(--navy-900));color:#fff;overflow:hidden}
.hero-inner{max-width:1080px;margin:0 auto;padding:48px 20px 0;display:grid;gap:28px;align-items:center}
@media (min-width:840px){.hero-inner{grid-template-columns:1.1fr .9fr;padding-bottom:0}}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(95,208,187,.14);color:var(--teal-400);font-weight:700;font-size:12.5px;padding:6px 12px;border-radius:999px;width:max-content}
.hero h1{font-size:clamp(26px,4.2vw,38px);margin:14px 0 10px;line-height:1.16}
.hero-lede{font-size:16px;color:#c3d6d2;max-width:520px;margin:0 0 20px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.hero-perf{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px}
.perf-mini{font-size:13px;color:#a9c3bf}
.perf-mini b{display:block;color:#fff;font-size:18px;font-weight:800}

/* phone mockup */
.phone-wrap{display:flex;justify-content:center}
.phone{width:230px;border-radius:34px;border:8px solid #0d2534;background:var(--navy-800);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);overflow:hidden}
.phone-notch{height:22px;background:#0d2534;display:flex;justify-content:center;align-items:flex-end;padding-bottom:4px}
.phone-notch::before{content:"";width:60px;height:6px;background:#0a1f2e;border-radius:4px}
.phone-screen{background:var(--cloud-100);padding:14px 12px 20px;min-height:340px}
.ps-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ps-logo{font-weight:800;color:var(--navy-900);font-size:13px}
.ps-dot{width:20px;height:20px;border-radius:6px;background:var(--teal-500)}
.ps-card{background:#fff;border-radius:10px;padding:10px;margin-bottom:8px;box-shadow:0 1px 0 rgba(15,37,33,.06)}
.ps-card .t{font-size:11px;font-weight:700;color:var(--navy-900)}
.ps-card .s{font-size:10px;color:var(--ink-soft);margin-top:2px}
.ps-bonus{background:linear-gradient(135deg,var(--teal-600),var(--teal-500));color:#fff;border-radius:10px;padding:12px;margin-bottom:8px}
.ps-bonus .t{font-size:12px;font-weight:800}
.ps-bonus .s{font-size:10px;opacity:.9;margin-top:2px}
.ps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ps-tile{background:#fff;border-radius:8px;height:38px;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--ink-soft);font-weight:700}

/* sections */
.section{padding:44px 0}
.section-alt{background:var(--white)}
.section-head{max-width:640px;margin:0 auto 26px;text-align:center}
.eyebrow-dark{display:inline-block;color:var(--teal-600);font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.section-title{font-weight:800;color:var(--navy-900);margin:0}
.section-sub{color:var(--ink-soft);font-size:14.5px;margin-top:8px}

/* feature grid */
.feat-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:640px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.feat-grid{grid-template-columns:repeat(3,1fr)}}
.feat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.feat-ico{width:40px;height:40px;border-radius:10px;background:var(--cloud-200);color:var(--teal-600);display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:12px}
.feat-title{font-weight:800;font-size:15.5px;color:var(--navy-900);margin:0 0 6px}
.feat-desc{font-size:13.5px;color:var(--ink-soft);margin:0}

/* comparison table */
.compare{overflow-x:auto;margin:8px 0}
.compare table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;font-size:14px}
.compare th,.compare td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.compare th{background:var(--navy-900);color:#fff;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.compare td.ok{color:var(--ok);font-weight:700}
.compare td.warn{color:var(--warn);font-weight:700}

/* article */
.article-wrap{max-width:760px;margin:0 auto;padding:44px 20px 10px}
.article h2{font-size:clamp(20px,2.6vw,26px);margin:32px 0 12px;color:var(--navy-900)}
.article h2:first-of-type{margin-top:0}
.article h3{font-size:17px;margin:18px 0 6px;color:var(--navy-800)}
.article p{margin:0 0 14px}
.article a{color:var(--teal-600);font-weight:700;text-decoration:underline}
.article ul{margin:0 0 16px;padding-left:20px}
.article li{margin-bottom:6px}
.callout{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--teal-500);border-radius:10px;padding:14px 16px;margin:16px 0;font-size:14.5px}

/* faq */
.faq-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:transparent;border:0;padding:14px 16px;font-weight:700;font-size:14.5px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.fa-ico{color:var(--teal-600);font-weight:900}
.faq-a{max-height:0;overflow:hidden;transition:max-height .2s ease;padding:0 16px}
.faq-a p{margin:0 0 14px;font-size:14px;color:var(--ink-soft)}

/* cta */
.cta-banner{background:var(--navy-900);border-radius:18px;padding:26px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:28px 0;color:#fff}
.cta-banner p{margin:0}
.cta-title{font-weight:800;font-size:19px}
.cta-sub{color:#a9c3bf;font-size:14px;margin-top:4px}

/* footer */
.site-footer{background:var(--navy-950);color:#a9c3bf;margin-top:20px}
.footer-grid{display:grid;gap:26px;padding:36px 0 18px}
@media (min-width:720px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.fb-name{color:#fff;font-weight:800;font-size:17px;margin:0 0 8px}
.fb-desc{font-size:13.5px;color:#8ba6a1;max-width:420px}
.fc-title{color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-links a{color:#8ba6a1;text-decoration:none;font-size:14px}
.footer-links a:hover{color:var(--teal-400)}
.footer-rg{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid #12303f;font-size:12.5px;color:#8ba6a1}
.age-badge{flex:none;width:34px;height:34px;border-radius:8px;background:var(--teal-500);color:var(--navy-950);font-weight:900;display:flex;align-items:center;justify-content:center;font-size:12px}
.copyright{font-size:12px;color:#5f7d78;padding-bottom:24px;margin:0}

/* mobile-overflow fix */
html{overflow-x:clip}
@media (max-width:400px){.header-actions{gap:6px}.header-actions .btn{padding:8px 10px;font-size:12.5px}}
