@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root { --blue:#0758f7; --ink:#101828; --muted:#596579; --line:#dce4ef; --soft:#f4f7fb; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:'DM Sans',sans-serif; }
a { color:inherit; }
.shell { width:min(1120px,calc(100% - 40px)); margin-inline:auto; }
.nav { height:82px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; font:700 18px 'Manrope',sans-serif; }
.brand img { width:38px; height:38px; border-radius:10px; }
.quiet-link { color:var(--muted); font-weight:600; text-decoration:none; }
.hero { min-height:600px; display:grid; grid-template-columns:1.2fr .8fr; gap:64px; align-items:center; padding-block:72px 96px; }
.eyebrow { margin:0 0 18px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.16em; }
h1,h2,h3 { margin:0; font-family:'Manrope',sans-serif; letter-spacing:-.04em; }
h1 { max-width:760px; font-size:clamp(48px,7.2vw,86px); line-height:.98; }
.lede { max-width:690px; margin:30px 0; color:var(--muted); font-size:clamp(19px,2vw,23px); line-height:1.55; }
.badges { display:flex; flex-wrap:wrap; gap:9px; }
.badges span { padding:9px 14px; border:1px solid var(--line); border-radius:999px; color:#3d4a5e; font-size:13px; font-weight:600; }
.hero-mark { position:relative; padding:36px; border-radius:48px; background:linear-gradient(145deg,#e9f0ff,#f8faff); box-shadow:0 30px 80px rgba(7,88,247,.13); }
.hero-mark img { display:block; width:100%; border-radius:30%; }
.features { padding-block:100px; border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:.7fr 1.3fr; margin-bottom:56px; }
.section-heading h2,.privacy-callout h2 { font-size:clamp(34px,4.5vw,58px); line-height:1.05; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.feature-grid article { min-height:270px; padding:28px; background:var(--soft); border-radius:24px; }
.feature-grid span { color:var(--blue); font:700 13px 'Manrope',sans-serif; }
.feature-grid h3 { margin:64px 0 14px; font-size:22px; }
.feature-grid p { margin:0; color:var(--muted); line-height:1.6; }
.privacy-callout { margin-block:40px 110px; padding:54px; display:grid; grid-template-columns:1.2fr .8fr; gap:30px 70px; color:white; background:var(--blue); border-radius:32px; }
.privacy-callout .eyebrow { color:#bed3ff; }
.privacy-callout > p { margin:36px 0 0; color:#e6eeff; font-size:18px; line-height:1.6; }
.privacy-callout a { grid-column:2; width:max-content; font-weight:700; text-decoration:none; }
footer { min-height:120px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); }
footer a { font-weight:600; text-decoration:none; }
.policy { max-width:800px; padding-block:80px 120px; }
.policy h1 { font-size:clamp(42px,6vw,68px); margin-bottom:18px; }
.policy .updated { margin-bottom:52px; color:var(--muted); }
.policy h2 { margin:48px 0 14px; font-size:27px; }
.policy p { color:#46546a; font-size:17px; line-height:1.75; }
.policy a { color:var(--blue); font-weight:600; }
.policy code { font-size:.9em; background:var(--soft); padding:2px 6px; border-radius:6px; }
@media (max-width:820px) { .hero { grid-template-columns:1fr; min-height:auto; padding-top:50px; } .hero-mark { max-width:380px; } .section-heading,.privacy-callout { grid-template-columns:1fr; } .feature-grid { grid-template-columns:repeat(2,1fr); } .privacy-callout a { grid-column:1; } }
@media (max-width:520px) { .shell { width:min(100% - 28px,1120px); } .nav { height:70px; } .hero { padding-block:44px 72px; gap:44px; } h1 { font-size:46px; } .feature-grid { grid-template-columns:1fr; } .features { padding-block:72px; } .privacy-callout { margin-bottom:72px; padding:32px 24px; border-radius:24px; } footer { align-items:flex-start; flex-direction:column; justify-content:center; gap:8px; } }
