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

:root {
    --primary:    #103B70;
    --primary-lt: #1a4f96;
    --gold:       #F8B62A;
    --gold-dk:    #d99a10;
    --bg:         #F8FAFC;
    --bg-alt:     #EEF4FF;
    --surface:    #ffffff;
    --text-1:     #0f172a;
    --text-2:     #475569;
    --text-3:     #94a3b8;
    --border:     #e2e8f0;
    --success:    #16a34a;
    --radius:     12px;
    --shadow-sm:  0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
    --shadow-md:  0 4px 16px rgba(0,0,0,.07);
    --shadow-lg:  0 12px 40px rgba(16,59,112,.12);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--text-1); overflow-x:hidden; line-height:1.6; }

/* ── Utilities ───────────────────────────────── */
.container { max-width:1160px; margin:0 auto; padding:0 24px; }
.section-label { display:inline-block; background:var(--bg-alt); color:var(--primary); font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 14px; border-radius:100px; border:1px solid #c7d9f7; margin-bottom:18px; }
.section-title { font-size:2.4rem; font-weight:800; color:var(--primary); line-height:1.2; margin-bottom:14px; }
.section-sub  { font-size:1.05rem; color:var(--text-2); max-width:580px; }
.text-center  { text-align:center; }
.text-center .section-sub { margin:0 auto; }

/* ── Navbar ─────────────────────────────────── */
nav {
    position:sticky; top:0; z-index:100;
    background:var(--surface);
    box-shadow:0 1px 0 var(--border);
    padding:0 5%;
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { display:flex; align-items:center; gap:10px; font-size:1.25rem; font-weight:800; color:var(--primary); text-decoration:none; }
.logo svg { width:28px; height:28px; flex-shrink:0; }
.nav-links { display:flex; align-items:center; gap:8px; }
.nav-links a.nav-link { color:var(--text-2); text-decoration:none; font-size:.9rem; font-weight:500; padding:6px 14px; border-radius:8px; transition:color .2s, background .2s; }
.nav-links a.nav-link:hover { color:var(--primary); background:var(--bg-alt); }

/* ── Buttons ─────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 22px; border-radius:8px; font-size:.9rem; font-weight:600; cursor:pointer; border:none; text-decoration:none; transition:all .2s; }
.btn-primary { background:var(--gold); color:#fff; }
.btn-primary:hover { background:var(--gold-dk); transform:translateY(-1px); box-shadow:0 4px 12px rgba(248,182,42,.35); }
.btn-outline { background:transparent; color:var(--primary); border:1.5px solid var(--primary); }
.btn-outline:hover { background:var(--bg-alt); }
.btn-lg { padding:14px 32px; font-size:1rem; border-radius:10px; }

/* ── Hero ────────────────────────────────────── */
.hero {
    background: linear-gradient(135deg, var(--bg-alt) 0%, #dce9ff 40%, var(--surface) 100%);
    padding:90px 5% 80px;
    text-align:center;
    border-bottom:1px solid var(--border);
    position:relative; overflow:hidden;
}
.hero::before {
    content:''; position:absolute; top:-120px; right:-120px;
    width:500px; height:500px;
    background:radial-gradient(circle, rgba(248,182,42,.12) 0%, transparent 70%);
    pointer-events:none;
}
.hero h1 { font-size:3.4rem; font-weight:800; color:var(--primary); line-height:1.18; max-width:820px; margin:0 auto 20px; }
.hero h1 span { color:var(--gold); }
.hero p  { font-size:1.15rem; color:var(--text-2); max-width:640px; margin:0 auto 36px; }
.hero-cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.hero-trust { display:flex; gap:24px; justify-content:center; flex-wrap:wrap; margin-top:36px; }
.trust-chip { display:flex; align-items:center; gap:7px; font-size:.85rem; font-weight:600; color:var(--text-2); }
.trust-chip svg { color:var(--success); }

/* ── Trust Bar ───────────────────────────────── */
.trust-bar { background:var(--surface); border-bottom:1px solid var(--border); padding:18px 5%; }
.trust-bar-inner { display:flex; gap:32px; align-items:center; justify-content:center; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:9px; font-size:.88rem; font-weight:600; color:var(--text-2); }
.trust-item svg { color:var(--primary); flex-shrink:0; }

/* ── Interactive Features ────────────────────── */
.interactive-features { padding:80px 4%; background:var(--bg); }
.features-container {
    display:flex; max-width:1280px; margin:44px auto 0;
    background:var(--surface); border-radius:24px;
    box-shadow:0 20px 50px rgba(16,59,112,0.12); border:1px solid var(--border); overflow:hidden;
}
.features-tabs { flex:0 0 380px; display:flex; flex-direction:column; padding:12px 0; border-right:1px solid var(--border); }
.feature-tab { padding:20px 24px; cursor:pointer; border-left:4px solid transparent; transition:all .25s; }
.feature-tab:hover { background:var(--bg-alt); }
.feature-tab.active { background:var(--bg-alt); border-left-color:var(--gold); }
.feature-tab .ft-icon { font-size:1.4rem; margin-bottom:6px; }
.feature-tab h3 { color:var(--primary); margin-bottom:4px; font-size:1rem; font-weight:700; }
.feature-tab p  { color:var(--text-2); font-size:.85rem; line-height:1.5; }
.features-screen { flex:1; background:linear-gradient(135deg, #f0f4fb 0%, #e5eef9 100%); padding:28px; position:relative; min-height:520px; display:flex; align-items:stretch; }
.screen-mockup {
    background:var(--surface); border-radius:16px;
    box-shadow:0 12px 36px rgba(16,59,112,0.12); border:1px solid var(--border);
    padding:20px 24px; width:100%; position:absolute; top:28px; left:28px; right:28px; bottom:28px;
    opacity:0; transform:translateY(16px); transition:all .35s ease;
    display:flex; flex-direction:column; gap:14px; overflow-y:auto; pointer-events:none;
}
.screen-mockup.active { opacity:1; transform:translateY(0); pointer-events:auto; }


/* ── Pricing ─────────────────────────────────── */
.pricing { padding:90px 5%; background:var(--surface); text-align:center; }
.billing-toggle { display:inline-flex; background:var(--bg-alt); border:1px solid var(--border); border-radius:100px; padding:4px; margin:28px auto 0; gap:4px; }
.toggle-btn { padding:9px 24px; border-radius:100px; font-size:.9rem; font-weight:600; cursor:pointer; border:none; background:transparent; color:var(--text-2); transition:all .2s; }
.toggle-btn.active { background:var(--primary); color:#fff; box-shadow:var(--shadow-sm); }
.annual-badge { display:inline-block; background:#dcfce7; color:var(--success); font-size:.75rem; font-weight:700; padding:3px 10px; border-radius:100px; margin-left:8px; }
.pricing-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:16px; max-width:1160px; margin-left:auto; margin-right:auto; }
.price-card { background:var(--surface); border:1.5px solid var(--border); padding:28px 22px; border-radius:20px; position:relative; transition:all .25s; box-shadow:var(--shadow-sm); text-align:left; }
.price-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:#c7d9f7; }
.price-card.popular { border-color:var(--gold); border-width:2px; background:#fffdf5; }
/* Active tier highlight (matched by slider) */
.price-card.tier-active { border-color:var(--primary) !important; border-width:2.5px !important; box-shadow:0 0 0 4px rgba(16,59,112,.10), var(--shadow-lg); transform:translateY(-6px); background:#f0f7ff; }
.price-card.tier-active .plan-name { color:var(--primary); }
.price-badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--gold); color:#fff; padding:4px 18px; border-radius:100px; font-size:.78rem; font-weight:700; white-space:nowrap; }
.plan-name { font-size:1.05rem; font-weight:700; color:var(--primary); margin-bottom:6px; }
.plan-tagline { font-size:.82rem; color:var(--text-2); margin-bottom:16px; }
.price { display:flex; align-items:flex-end; gap:4px; margin:16px 0 6px; }
.price-amount { font-size:2.4rem; font-weight:800; color:var(--primary); line-height:1; }
.price-period { font-size:.88rem; color:var(--text-3); margin-bottom:4px; }
.price-annual-note { font-size:.78rem; color:var(--success); font-weight:600; margin-bottom:16px; min-height:16px; }
.plan-limit { font-size:.84rem; color:var(--text-2); padding:9px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-bottom:16px; font-weight:500; }
.features-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin-bottom:22px; }
.features-list li { display:flex; align-items:flex-start; gap:8px; font-size:.84rem; color:var(--text-2); }
.features-list li svg { color:var(--gold); flex-shrink:0; margin-top:2px; }
.btn-buy { width:100%; justify-content:center; padding:12px; font-size:.9rem; border-radius:10px; }


/* ── Refund Guarantee ────────────────────────── */
.refund-section { padding:70px 5%; background:linear-gradient(135deg, var(--bg-alt), var(--surface)); border-top:1px solid var(--border); }
.refund-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; margin-top:48px; max-width:1100px; margin-left:auto; margin-right:auto; }
.refund-card { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:28px; box-shadow:var(--shadow-sm); transition:box-shadow .2s; }
.refund-card:hover { box-shadow:var(--shadow-md); }
.refund-icon { width:48px; height:48px; border-radius:12px; background:var(--bg-alt); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--primary); }
.refund-card h3 { font-size:1rem; font-weight:700; color:var(--primary); margin-bottom:8px; }
.refund-card p  { font-size:.875rem; color:var(--text-2); line-height:1.6; }
.refund-cta-box { max-width:680px; margin:48px auto 0; background:var(--surface); border:1.5px solid var(--gold); border-radius:16px; padding:32px; text-align:center; box-shadow:var(--shadow-sm); }
.refund-cta-box h3 { font-size:1.1rem; font-weight:700; color:var(--primary); margin-bottom:10px; }
.refund-cta-box p  { font-size:.9rem; color:var(--text-2); margin-bottom:20px; }

/* ── Stats Strip ─────────────────────────────── */
.stats-strip { background:var(--primary); padding:60px 5%; text-align:center; }
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:32px; max-width:900px; margin:0 auto; }
.stat-item h3 { font-size:2.5rem; font-weight:800; color:var(--gold); }
.stat-item p  { font-size:.9rem; color:rgba(255,255,255,.75); margin-top:4px; }

/* ── FAQs ────────────────────────────────────── */
.faqs { padding:90px 5%; max-width:800px; margin:0 auto; }
.faq-item { background:var(--surface); border:1.5px solid var(--border); margin-bottom:12px; border-radius:14px; padding:20px 24px; cursor:pointer; transition:all .25s; }
.faq-item:hover { border-color:#c7d9f7; }
.faq-item.active { border-color:var(--primary); }
.faq-question { display:flex; justify-content:space-between; align-items:center; font-weight:600; font-size:.95rem; color:var(--primary); gap:12px; }
.faq-toggle { width:24px; height:24px; border-radius:50%; background:var(--bg-alt); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem; color:var(--primary); transition:transform .25s; }
.faq-item.active .faq-toggle { transform:rotate(45deg); background:var(--primary); color:#fff; }
.faq-answer { margin-top:14px; color:var(--text-2); font-size:.9rem; line-height:1.7; display:none; border-top:1px solid var(--border); padding-top:14px; }
.faq-item.active .faq-answer { display:block; }
.faq-tag { display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:var(--bg-alt); color:var(--primary); padding:2px 8px; border-radius:4px; margin-right:8px; }

/* ── Footer ──────────────────────────────────── */
footer { background:var(--primary); color:rgba(255,255,255,.8); }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding:60px 5% 40px; max-width:1160px; margin:0 auto; }
.footer-brand h3 { font-size:1.2rem; font-weight:800; color:#fff; margin-bottom:10px; }
.footer-brand p  { font-size:.88rem; line-height:1.6; max-width:260px; }
.footer-col h4 { font-size:.85rem; font-weight:700; color:#fff; margin-bottom:16px; text-transform:uppercase; letter-spacing:.06em; }
.footer-col a, .footer-col address { display:block; font-size:.85rem; color:rgba(255,255,255,.7); text-decoration:none; margin-bottom:9px; font-style:normal; line-height:1.5; transition:color .2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:20px 5%; text-align:center; font-size:.82rem; color:rgba(255,255,255,.5); max-width:1160px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom a { color:rgba(255,255,255,.6); text-decoration:none; }
.footer-bottom a:hover { color:var(--gold); }

/* ── Policy Pages ────────────────────────────── */
.policy-page { padding:60px 5% 90px; max-width:860px; margin:0 auto; }
.policy-page h1 { font-size:2.2rem; font-weight:800; color:var(--primary); margin-bottom:8px; }
.policy-meta { font-size:.85rem; color:var(--text-3); margin-bottom:40px; }
.policy-page h2 { font-size:1.25rem; font-weight:700; color:var(--primary); margin:36px 0 12px; }
.policy-page h3 { font-size:1rem; font-weight:700; color:var(--text-1); margin:24px 0 8px; }
.policy-page p, .policy-page li { font-size:.95rem; color:var(--text-2); line-height:1.8; margin-bottom:12px; }
.policy-page ul { padding-left:20px; margin-bottom:12px; }
.policy-page .highlight-box { background:var(--bg-alt); border-left:4px solid var(--gold); border-radius:0 10px 10px 0; padding:16px 20px; margin:20px 0; }
.policy-page .highlight-box p { margin:0; font-weight:500; color:var(--primary); }
.policy-nav { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:20px 24px; margin-bottom:40px; display:flex; flex-wrap:wrap; gap:12px; }
.policy-nav a { font-size:.85rem; font-weight:600; color:var(--primary); text-decoration:none; padding:6px 14px; border:1px solid var(--border); border-radius:8px; transition:all .2s; }
.policy-nav a:hover { background:var(--primary); color:#fff; border-color:var(--primary); }

/* ── Responsive ──────────────────────────────── */
@media (max-width: 900px) {
    .hero h1 { font-size:2.4rem; }
    .features-container { flex-direction:column; }
    .features-screen { min-height:280px; }
    .footer-top { grid-template-columns:1fr 1fr; }
    .section-title { font-size:1.9rem; }
    .pricing-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
    .nav-links { display:none; }
    .hero { padding:60px 5% 50px; }
    .hero h1 { font-size:2rem; }
    .footer-top { grid-template-columns:1fr; }
    .footer-bottom { flex-direction:column; text-align:center; }
    .stats-grid { grid-template-columns:1fr 1fr; }
    .pricing-grid { grid-template-columns:1fr; }
}

