:root {
    --blue: #0f84fc;
    --blue-dark: #0b58b4;
    --navy: #071b45;
    --text: #102042;
    --muted: #62708a;
    --line: #e5edf7;
    --soft: #f5f9ff;
    --white: #ffffff;
    --shadow: 0 24px 60px rgba(19, 69, 123, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    color: var(--text);
    background: #fff;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }

.bg-orb { position: fixed; border-radius: 50%; filter: blur(2px); z-index: -1; pointer-events: none; }
.orb-1 { width: 420px; height: 420px; right: -170px; top: 80px; background: rgba(15,132,252,.08); }
.orb-2 { width: 360px; height: 360px; left: -180px; top: 730px; background: rgba(87,203,255,.07); }

.topbar { height: 78px; border-bottom: 1px solid rgba(220,230,240,.7); background: rgba(255,255,255,.9); backdrop-filter: blur(12px); position: sticky; top:0; z-index:20; }
.topbar-inner { height: 100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:inline-flex; align-items:center; gap:11px; }
.brand-mark { width:42px; height:42px; border-radius:13px; background:linear-gradient(135deg,var(--blue),#5fc9ff); color:#fff; font-weight:800; display:grid; place-items:center; box-shadow:0 9px 24px rgba(15,132,252,.25); }
.brand-text { font-family:Montserrat,sans-serif; font-size:21px; font-weight:600; letter-spacing:-.5px; }
.brand-text strong { font-weight:800; }
.status-pill { font-size:12px; color:#4f6484; border:1px solid #dbe7f4; background:#f7fbff; border-radius:999px; padding:9px 13px; display:flex; align-items:center; gap:8px; }
.dot { width:7px; height:7px; border-radius:50%; background:#27c482; box-shadow:0 0 0 5px rgba(39,196,130,.11); }

.hero { padding:96px 0 84px; min-height:650px; display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:68px; }
.eyebrow { font-size:12px; letter-spacing:2px; font-weight:800; color:var(--blue); margin-bottom:16px; }
h1,h2,h3 { margin:0; font-family:Montserrat,sans-serif; }
h1 { font-size:clamp(42px,6vw,68px); line-height:1.05; letter-spacing:-2.5px; color:var(--navy); }
h1 span { color:var(--blue); }
.lead { max-width:650px; font-size:18px; line-height:1.75; color:var(--muted); margin:24px 0 0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border-radius:13px; font-weight:700; font-size:14px; transition:.2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--blue); color:#fff; box-shadow:0 12px 28px rgba(15,132,252,.24); }
.btn-ghost { border:1px solid #dbe7f4; background:#fff; color:var(--navy); }
.btn-light { background:#fff; color:var(--navy); }
.mini-note { margin-top:23px; color:#75839c; font-size:12px; line-height:1.6; display:flex; gap:9px; max-width:560px; }
.lock-icon { color:var(--blue); font-weight:800; }

.hero-card { position:relative; min-height:500px; display:grid; place-items:center; }
.card-glow { position:absolute; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle, rgba(15,132,252,.20), rgba(15,132,252,0) 68%); }
.mock-window { width:min(450px,100%); background:rgba(255,255,255,.88); border:1px solid #e4edf7; border-radius:25px; overflow:hidden; box-shadow:var(--shadow); transform:rotate(1.5deg); }
.mock-top { height:42px; display:flex; align-items:center; gap:7px; padding:0 16px; border-bottom:1px solid #edf2f8; }
.mock-dot { width:8px; height:8px; border-radius:50%; background:#d5dfeb; }
.mock-body { padding:31px; background:linear-gradient(145deg,#fbfdff 0%,#f0f7ff 100%); }
.mock-label { color:var(--blue); font-size:10px; font-weight:800; letter-spacing:1.8px; }
.mock-title { font-family:Montserrat,sans-serif; font-weight:800; font-size:29px; line-height:1.16; color:var(--navy); margin-top:12px; }
.mock-progress { height:7px; background:#dcebf9; border-radius:99px; margin:26px 0 24px; overflow:hidden; }
.mock-progress span { display:block; width:68%; height:100%; background:linear-gradient(90deg,var(--blue),#61d4ff); border-radius:99px; }
.mock-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mock-item { background:#fff; border:1px solid #e4edf7; border-radius:14px; padding:13px; display:flex; gap:10px; align-items:center; font-size:12px; }
.mock-item b { color:var(--blue); font-size:11px; }
.floating-badge { position:absolute; display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #e1eaf4; box-shadow:0 14px 35px rgba(25,70,125,.12); padding:11px 14px; border-radius:14px; font-size:12px; color:#546783; }
.badge-a { left:0; top:70px; }
.badge-b { right:-8px; bottom:80px; }
.floating-badge strong { color:var(--navy); }

.features-section { background:var(--soft); border-top:1px solid #eef4f9; border-bottom:1px solid #eef4f9; padding:88px 0; }
.section-heading { max-width:740px; margin-bottom:34px; }
.section-heading h2 { font-size:38px; letter-spacing:-1px; color:var(--navy); }
.section-heading p { margin:13px 0 0; color:var(--muted); line-height:1.7; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.feature-card { background:#fff; border:1px solid #e7eef6; border-radius:20px; padding:25px; box-shadow:0 12px 34px rgba(21,71,122,.05); }
.icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; font-weight:800; font-size:19px; margin-bottom:19px; }
.icon.blue { background:#e8f3ff; color:#147fe9; }
.icon.cyan { background:#e8fbff; color:#15a8c6; }
.icon.purple { background:#f2ecff; color:#7b58e8; }
.icon.orange { background:#fff1e5; color:#ee8a30; }
.feature-card h3 { font-size:17px; margin-bottom:9px; }
.feature-card p { color:var(--muted); line-height:1.65; font-size:13px; margin:0; }

.notify-section { padding:70px 0; }
.notify-box { border-radius:28px; padding:38px 42px; background:linear-gradient(135deg,#0c5fb9,#0f84fc); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:30px; box-shadow:0 24px 60px rgba(15,132,252,.22); }
.notify-box .eyebrow { color:#b9e6ff; margin-bottom:10px; }
.notify-box h2 { font-size:32px; letter-spacing:-.8px; }
.notify-box p { max-width:700px; margin:11px 0 0; color:rgba(255,255,255,.82); line-height:1.7; font-size:14px; }
.footer { border-top:1px solid #edf1f6; padding:24px 0; color:#7a879d; font-size:12px; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; }

@media (max-width: 900px) {
    .hero { grid-template-columns:1fr; gap:40px; padding-top:65px; }
    .hero-card { min-height:420px; }
    .feature-grid { grid-template-columns:1fr 1fr; }
    .notify-box { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 640px) {
    .container { width:min(100% - 28px, 1120px); }
    .topbar { height:68px; }
    .brand-text { font-size:18px; }
    .brand-mark { width:38px; height:38px; border-radius:11px; }
    .status-pill { display:none; }
    .hero { padding:54px 0 55px; }
    h1 { letter-spacing:-1.8px; font-size:44px; }
    .lead { font-size:15px; line-height:1.65; }
    .hero-card { min-height:360px; }
    .mock-body { padding:23px; }
    .mock-title { font-size:23px; }
    .badge-a { left:-5px; top:25px; }
    .badge-b { right:-5px; bottom:20px; }
    .features-section { padding:62px 0; }
    .section-heading h2 { font-size:31px; }
    .feature-grid { grid-template-columns:1fr; }
    .notify-section { padding:48px 0; }
    .notify-box { padding:28px; border-radius:22px; }
    .notify-box h2 { font-size:26px; }
    .footer-inner { flex-direction:column; }
}
