:root {
  color-scheme: dark;
  --bg: #050d19;
  --bg-2: #071321;
  --surface: #0a1a2c;
  --surface-2: #0d2137;
  --line: rgba(127, 175, 228, .14);
  --line-soft: rgba(127, 175, 228, .08);
  --ink: #f7faff;
  --muted: #91a5bc;
  --muted-2: #647d98;
  --blue: #579dff;
  --blue-2: #79b8ff;
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:radial-gradient(circle at 50% -12%, rgba(43,89,143,.23), transparent 32rem), var(--bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.shell { width:min(var(--max), calc(100% - 44px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--line-soft); background:rgba(5,13,25,.78); backdrop-filter:blur(18px); }
.nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-weight:780; letter-spacing:-.03em; }
.brand em { color:var(--blue-2); font-style:normal; }
.brand-mark { width:33px; height:33px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; background:#0b1a2c; box-shadow:inset 0 0 18px rgba(87,157,255,.12); }
.brand-mark svg { width:21px; }
.nav-links { display:flex; align-items:center; gap:25px; color:var(--muted); font-size:.86rem; }
.nav-links a:hover, .nav-links a:focus-visible { color:#fff; }
.language { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:rgba(87,157,255,.07); }
.hero { position:relative; overflow:hidden; padding:100px 0 96px; }
.hero-glow { position:absolute; width:820px; height:820px; right:-180px; top:-230px; border-radius:50%; background:radial-gradient(circle, rgba(45,110,189,.16), transparent 67%); pointer-events:none; }
.hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 470px; gap:90px; align-items:center; }
.eyebrow, .section-kicker { color:var(--blue-2); font-size:.73rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:9px; }
.eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--blue); box-shadow:0 0 15px rgba(87,157,255,.8); }
h1 { margin:20px 0 24px; max-width:720px; font-size:clamp(3.2rem, 6.7vw, 6rem); line-height:.98; letter-spacing:-.065em; font-weight:700; }
h1 span, h2 span { color:var(--blue-2); }
.lead { max-width:590px; margin:0; color:#b8c9dc; font-size:clamp(1.05rem, 2vw, 1.22rem); line-height:1.7; }
.hero-actions, .closing-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:32px; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:13px 22px; border-radius:14px; border:1px solid transparent; font-weight:750; transition:transform .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { color:#061224; background:linear-gradient(180deg,#79b8ff,#458de8); box-shadow:0 14px 32px rgba(44,108,207,.24); }
.button.secondary { border-color:var(--line); background:rgba(87,157,255,.08); color:var(--ink); }
.text-button { min-height:auto; padding:10px 0; color:#a9c8e8; background:transparent; }
.text-button span { margin-left:7px; color:var(--blue-2); }
.hero-assurance { margin:25px 0 0; color:var(--muted-2); font-size:.78rem; }
.hero-assurance span { color:var(--blue-2); font-weight:900; }
.phone-stage { position:relative; min-height:610px; display:grid; place-items:center; }
.phone-glow { position:absolute; inset:10% 2%; border-radius:50%; background:radial-gradient(circle, rgba(50,123,218,.25), transparent 65%); filter:blur(8px); }
.phone { position:relative; width:300px; height:600px; padding:37px 18px 0; overflow:hidden; border:7px solid #18314d; border-radius:42px; background:linear-gradient(180deg,#071625,#050e19); box-shadow:0 35px 90px rgba(0,0,0,.48), 0 0 0 1px rgba(158,208,255,.18); }
.phone-island { position:absolute; top:9px; left:50%; width:94px; height:21px; transform:translateX(-50%); border-radius:20px; background:#020711; }
.phone-header { display:flex; justify-content:space-between; align-items:start; padding:3px 4px 0; }
.phone-header strong, .phone-header span { display:block; }
.phone-header strong { font-size:11px; letter-spacing:-.01em; }
.phone-header span { margin-top:5px; color:var(--muted); font-size:9px; }
.phone-header span b { color:#a8cff7; }
.phone-avatar { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:#eaf5ff; background:linear-gradient(145deg,#3978bd,#183e68); font-size:12px; font-weight:800; }
.phone-orb { width:173px; aspect-ratio:1; margin:34px auto 17px; display:grid; place-items:center; position:relative; border-radius:50%; background:conic-gradient(from 218deg,#214c78,#72b9ff 24%,#3f8de7 37%,transparent 37% 64%,#4f9cf5 81%,#214c78); }
.phone-orb::before { content:""; position:absolute; inset:9px; border-radius:50%; background:radial-gradient(circle at 50% 34%,rgba(49,111,175,.18),transparent 43%),#0a1b2c; border:1px solid rgba(157,206,255,.08); }
.phone-orb-content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; }
.moon-icon { color:var(--blue-2); font-size:20px; line-height:1; }
.phone-orb-content strong { margin-top:6px; color:#f7faff; font-size:21px; letter-spacing:.04em; }
.phone-orb-content b { margin-top:7px; color:#c7def8; font-size:18px; }
.phone-orb-content small { margin-top:5px; color:#7c91a9; font-size:9px; }
.phone-cta { width:92%; height:42px; display:block; margin:0 auto; border:1px solid rgba(189,222,255,.14); border-radius:16px; color:#fff; background:linear-gradient(180deg,#5aa2ff,#3978df); box-shadow:0 8px 20px rgba(45,109,209,.18); font-size:13px; font-weight:750; }
.phone-link { margin:9px 0 17px; text-align:center; color:#84b9ed; font-size:10px; }
.phone-link span { margin-left:4px; font-size:14px; }
.phone-card { padding:10px; border:1px solid var(--line); border-radius:14px; background:rgba(10,26,44,.9); }
.phone-card-title { display:flex; justify-content:space-between; margin-bottom:4px; color:#7e94ad; font-size:9px; }
.phone-card-title span:first-child { color:#d2e6fb; font-weight:700; }
.sleep-row { min-height:31px; display:grid; grid-template-columns:17px 1fr auto; align-items:center; gap:6px; border-top:1px solid var(--line-soft); color:#aac2da; font-size:9px; }
.sleep-row-icon { color:var(--blue-2); }
.sleep-row b { color:#d9e9f9; font-size:9px; }
.phone-tabs { position:absolute; right:0; bottom:0; left:0; height:49px; display:flex; justify-content:space-around; align-items:center; border-top:1px solid var(--line); background:rgba(7,19,33,.97); }
.phone-tabs span { display:flex; flex-direction:column; align-items:center; gap:1px; color:#607791; font-size:14px; }
.phone-tabs span.active { color:var(--blue-2); }
.phone-tabs small { font-size:7px; }
.proof-strip { border-block:1px solid var(--line-soft); background:rgba(10,26,44,.35); }
.proof-grid { min-height:75px; display:flex; align-items:center; justify-content:center; gap:24px; color:#8096ad; font-size:.78rem; }
.proof-grid i { width:4px; height:4px; border-radius:50%; background:var(--blue); }
.section { padding:115px 0; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:50px; margin:17px 0 48px; }
h2 { margin:0; font-size:clamp(2.3rem, 4.5vw, 4.2rem); line-height:1.03; letter-spacing:-.055em; font-weight:680; }
.section-head p { max-width:465px; margin:0; color:var(--muted); }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.step-card { min-height:300px; position:relative; padding:28px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,rgba(10,26,44,.84),rgba(7,19,33,.6)); }
.step-card.active { border-color:rgba(87,157,255,.42); background:linear-gradient(145deg,rgba(17,49,83,.9),rgba(8,24,43,.82)); box-shadow:0 20px 48px rgba(0,0,0,.18); }
.step-no { position:absolute; right:25px; top:28px; color:#526b85; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.step-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:15px; color:var(--blue-2); background:rgba(87,157,255,.11); font-size:24px; }
.step-card h3 { margin:56px 0 8px; font-size:1.25rem; letter-spacing:-.03em; }
.step-card p, .feature-large p, .feature-list p, .privacy-card p, .plan p { margin:0; color:var(--muted); font-size:.92rem; }
.feature-section { padding-top:20px; }
.feature-layout { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.feature-large { min-height:420px; display:flex; flex-direction:column; justify-content:space-between; padding:33px; border:1px solid rgba(87,157,255,.22); border-radius:24px; background:radial-gradient(circle at 75% 22%,rgba(43,109,190,.23),transparent 33%),linear-gradient(155deg,#0d2a48,#081728); }
.feature-orb { width:205px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(from 218deg,#214c78,#72b9ff 25%,transparent 41% 64%,#4f9cf5 82%,#214c78); box-shadow:0 0 55px rgba(87,157,255,.12); }
.feature-orb span { width:183px; height:183px; display:grid; place-items:center; align-content:center; border-radius:50%; background:#0a1b2c; color:#eaf4ff; font-size:33px; font-weight:800; line-height:.9; text-align:center; }
.feature-orb small { color:var(--blue-2); font-size:18px; }
.feature-label { color:var(--blue-2); font-size:.7rem; font-weight:800; letter-spacing:.14em; }
.feature-large h3 { max-width:380px; margin:11px 0 8px; font-size:1.7rem; letter-spacing:-.04em; }
.feature-list { display:grid; gap:13px; }
.feature-list article { display:grid; grid-template-columns:45px 1fr; gap:16px; padding:22px; border:1px solid var(--line); border-radius:18px; background:rgba(10,26,44,.56); }
.feature-symbol { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--blue-2); background:rgba(87,157,255,.1); font-size:19px; }
.feature-list h3 { margin:0 0 3px; font-size:1.02rem; }
.feature-list p { font-size:.83rem; }
.privacy-section { padding-top:15px; }
.privacy-card { display:grid; grid-template-columns:70px 1fr; gap:26px; align-items:start; padding:44px 50px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,rgba(11,32,54,.86),rgba(7,19,33,.7)); }
.privacy-icon { width:55px; height:55px; display:grid; place-items:center; border:1px solid rgba(121,184,255,.25); border-radius:17px; color:var(--blue-2); background:rgba(87,157,255,.1); font-size:24px; }
.privacy-card h2 { margin:12px 0 14px; font-size:clamp(2rem,4vw,3.2rem); }
.plans { border-block:1px solid var(--line-soft); background:rgba(7,19,33,.34); }
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.plan { min-height:420px; display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:21px; background:linear-gradient(155deg,rgba(10,26,44,.92),rgba(7,19,33,.78)); }
.plan.recommended { border-color:rgba(87,157,255,.48); background:linear-gradient(155deg,rgba(16,48,82,.98),rgba(8,24,43,.9)); transform:translateY(-8px); box-shadow:0 25px 55px rgba(0,0,0,.2); }
.plan-tag { align-self:flex-start; padding:5px 9px; border:1px solid rgba(121,184,255,.18); border-radius:999px; color:#9fc8f2; background:rgba(87,157,255,.09); font-size:.7rem; font-weight:750; }
.plan h3 { margin:24px 0 2px; font-size:1.55rem; }
.price { margin-bottom:10px; color:#f7faff; font-size:1.8rem; font-weight:800; letter-spacing:-.05em; }
.price small { color:var(--muted); font-size:.75rem; font-weight:500; letter-spacing:0; }
.plan ul { list-style:none; padding:0; margin:26px 0 0; border-top:1px solid var(--line); }
.plan li { padding:11px 0; border-bottom:1px solid var(--line-soft); color:#c0d1e2; font-size:.84rem; }
.plan li::before { content:"✓"; margin-right:9px; color:var(--blue-2); }
.trial-note { margin:28px 0 0; text-align:center; color:var(--muted); font-size:.84rem; }
.trial-note strong { color:var(--blue-2); }
.closing { padding:110px 0; }
.closing-inner { padding:78px 25px; text-align:center; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle at 50% 0%,rgba(44,107,184,.2),transparent 50%),linear-gradient(145deg,#0d2947,#071523); }
.closing h2 { margin:17px auto 18px; max-width:700px; }
.closing p { margin:0; color:var(--muted); }
.closing-actions { justify-content:center; margin-top:27px; }
.site-footer { padding:42px 0; border-top:1px solid var(--line-soft); }
.footer-grid { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
.footer-meta { margin-top:9px; color:var(--muted-2); font-size:.76rem; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px 23px; color:var(--muted); font-size:.8rem; }
.footer-links a:hover { color:var(--ink); }
.page-hero, .document { color:var(--ink); }
.page-hero { padding:82px 0 48px; border-bottom:1px solid var(--line); }
.page-hero .eyebrow { margin-bottom:14px; }
.page-hero h1 { margin:0; }
.page-hero p { max-width:680px; margin:18px 0 0; color:var(--muted); font-size:1.05rem; }
.document { padding:60px 0 100px; }
.document-layout { display:grid; grid-template-columns:230px minmax(0,720px); gap:70px; align-items:start; }
.doc-nav { position:sticky; top:105px; display:grid; gap:10px; color:var(--muted); font-size:.84rem; }
.doc-nav a:hover { color:var(--blue-2); }
.doc-content h2 { margin:44px 0 12px; font-size:1.4rem; }
.doc-content h2:first-child { margin-top:0; }
.doc-content p, .doc-content li { color:#b8c9dc; }
.doc-content ul { padding-left:20px; }
.notice { padding:21px; border:1px solid rgba(87,157,255,.24); border-radius:16px; color:#cfe4fa; background:rgba(87,157,255,.07); }
.steps { display:grid; gap:14px; counter-reset:steps; margin:28px 0; }
.step { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.step::before { counter-increment:steps; content:counter(steps); width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--blue-2); background:rgba(87,157,255,.12); font-weight:750; }
.support-card { max-width:700px; padding:30px; margin-top:28px; border:1px solid var(--line); border-radius:21px; background:var(--surface); }
.support-card a, .text-link { color:var(--blue-2); text-decoration:underline; text-underline-offset:4px; }
@media (max-width: 900px) {
  .nav-links a:not(.language) { display:none; }
  .hero-grid { grid-template-columns:1fr 390px; gap:30px; }
  .feature-layout { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .shell { width:min(100% - 30px, var(--max)); }
  .nav { min-height:66px; }
  .nav-links { gap:10px; }
  .hero { padding:65px 0 70px; }
  .hero-grid { grid-template-columns:1fr; }
  .phone-stage { min-height:595px; margin-top:5px; }
  .section { padding:78px 0; }
  .section-head { display:block; }
  .section-head p { margin-top:19px; }
  .steps-grid, .plan-grid { grid-template-columns:1fr; }
  .step-card { min-height:235px; }
  .plan.recommended { transform:none; }
  .privacy-card { grid-template-columns:1fr; padding:30px; }
  .footer-grid { grid-template-columns:1fr; }
  .document-layout { grid-template-columns:1fr; gap:28px; }
  .doc-nav { position:static; display:flex; flex-wrap:wrap; gap:8px 18px; }
}
@media (max-width: 480px) {
  h1 { font-size:3.2rem; }
  .hero-actions { align-items:stretch; flex-direction:column; }
  .button { width:100%; }
  .proof-grid { min-height:100px; flex-wrap:wrap; gap:8px 14px; text-align:center; }
  .proof-grid i { display:none; }
  .phone { transform:scale(.94); transform-origin:center; }
  .phone-stage { margin-inline:-18px; }
  .closing { padding:70px 0; }
}
