:root {
    --primary:#1d4ed8;
    --primary-dark:#1e40af;
    --navy:#0f172a;
    --background:#f8fafc;
    --surface:#ffffff;
    --border:#e2e8f0;
    --muted:#64748b;
    --success:#16a34a;
    --danger:#dc2626;
    --radius-sm:10px;
    --radius-md:12px;
    --radius-lg:18px;
    --shadow:0 12px 32px rgba(15,23,42,.08);
    --container:1180px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    margin:0;
    background:var(--background);
    color:var(--navy);
    font-family:Inter,Arial,sans-serif;
    line-height:1.65;
}
img { max-width:100%; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
h1,h2,h3 {
    margin-top:0;
    font-family:Poppins,Inter,Arial,sans-serif;
    line-height:1.15;
}
h1 { font-size:clamp(2.5rem,6vw,4.75rem); letter-spacing:-.04em; }
h2 { font-size:clamp(2rem,4vw,3rem); letter-spacing:-.025em; }
h3 { font-size:1.35rem; }

.site-container {
    width:min(calc(100% - 40px),var(--container));
    margin-inline:auto;
}

.site-header {
    position:sticky;
    top:0;
    z-index:1000;
    border-bottom:1px solid rgba(226,232,240,.95);
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(16px);
}

.nav-shell {
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
}

.brand-link { display:inline-flex; align-items:center; flex-shrink:0; }
.brand-logo { width:184px; display:block; }

.primary-nav {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex:1;
}

.primary-nav > a,
.nav-dropdown-trigger,
.nav-actions a {
    padding:10px 13px;
    border:0;
    border-radius:var(--radius-sm);
    background:transparent;
    color:#334155;
    text-decoration:none;
    font-weight:700;
    cursor:pointer;
}

.primary-nav > a:hover,
.nav-dropdown-trigger:hover,
.nav-actions a:hover {
    background:#eff6ff;
    color:var(--primary);
}

.nav-actions {
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:8px;
    padding-left:18px;
    border-left:1px solid var(--border);
}

.nav-cta {
    background:var(--primary)!important;
    color:#fff!important;
    padding-inline:18px!important;
}

.nav-cta:hover { background:var(--primary-dark)!important; }

.nav-dropdown { position:relative; }

.nav-dropdown-menu {
    position:absolute;
    top:calc(100% + 13px);
    left:50%;
    width:330px;
    display:none;
    padding:10px;
    border:1px solid var(--border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 18px 46px rgba(15,23,42,.14);
    transform:translateX(-50%);
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu {
    display:block;
}

.nav-dropdown-menu a {
    display:block;
    padding:15px;
    border-radius:11px;
    text-decoration:none;
}

.nav-dropdown-menu a:hover { background:#f8fafc; }
.nav-dropdown-menu strong,
.nav-dropdown-menu span { display:block; }
.nav-dropdown-menu span {
    margin-top:4px;
    color:var(--muted);
    font-size:.88rem;
    line-height:1.45;
}

.nav-toggle {
    display:none;
    width:46px;
    height:42px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    background:#fff;
}

.nav-toggle span {
    width:20px;
    height:2px;
    border-radius:999px;
    background:var(--navy);
}

.hero-section {
    padding:110px 0 96px;
    background:
        radial-gradient(circle at 85% 20%,rgba(56,189,248,.16),transparent 30%),
        linear-gradient(180deg,#fff 0%,#eff6ff 100%);
}

.section { padding:88px 0; }
.section-tight { padding:60px 0; }
.surface-section { background:#fff; }

.eyebrow {
    display:inline-flex;
    margin-bottom:20px;
    padding:8px 13px;
    border-radius:999px;
    background:#dbeafe;
    color:var(--primary);
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.lead {
    max-width:720px;
    color:#475569;
    font-size:clamp(1.05rem,2vw,1.28rem);
}

.button-row {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}

.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 20px;
    border:1px solid transparent;
    border-radius:var(--radius-md);
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    cursor:pointer;
}

.button:hover { background:var(--primary-dark); transform:translateY(-2px); }
.button-secondary { border-color:var(--border); background:#fff; color:var(--navy); }

.card {
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    background:#fff;
    box-shadow:var(--shadow);
}
.card-body { padding:28px; }

.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }

.form-group { margin-bottom:20px; }
.form-group label { display:block; margin-bottom:8px; font-weight:800; }
.form-control {
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid #cbd5e1;
    border-radius:var(--radius-md);
    background:#fff;
}
.form-control:focus {
    outline:none;
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(29,78,216,.12);
}

.alert { padding:16px 18px; border-radius:var(--radius-md); font-weight:700; }
.alert-success { background:#dcfce7; color:#166534; }
.alert-error { background:#fee2e2; color:#991b1b; }

.site-footer {
    margin-top:80px;
    background:var(--navy);
    color:#cbd5e1;
}

.footer-grid {
    display:grid;
    grid-template-columns:2fr repeat(4,1fr);
    gap:42px;
    padding:64px 0 44px;
}

.footer-logo {
    width:190px;
    display:block;
    filter:brightness(0) invert(1);
}

.footer-summary {
    max-width:390px;
    margin-top:18px;
    color:#94a3b8;
    font-size:.95rem;
}

.footer-grid h2 {
    margin-bottom:16px;
    color:#fff;
    font-size:.95rem;
}

.footer-grid a {
    display:block;
    margin:10px 0;
    color:#cbd5e1;
    text-decoration:none;
    font-size:.94rem;
}

.footer-grid a:hover { color:#fff; }

.footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:22px 0 28px;
    border-top:1px solid rgba(148,163,184,.2);
    color:#94a3b8;
    font-size:.88rem;
}

.footer-bottom p { margin:0; }

@media (max-width:920px) {
    .nav-toggle { display:inline-flex; }

    .primary-nav {
        position:absolute;
        top:76px;
        left:20px;
        right:20px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        padding:16px;
        border:1px solid var(--border);
        border-radius:18px;
        background:#fff;
        box-shadow:0 18px 46px rgba(15,23,42,.14);
    }

    .primary-nav.is-open { display:flex; }

    .primary-nav > a,
    .nav-dropdown-trigger,
    .nav-actions a {
        width:100%;
        text-align:left;
    }

    .nav-actions {
        flex-direction:column;
        align-items:stretch;
        margin:10px 0 0;
        padding:14px 0 0;
        border-top:1px solid var(--border);
        border-left:0;
    }

    .nav-dropdown-menu {
        position:static;
        width:100%;
        margin-top:6px;
        transform:none;
        box-shadow:none;
    }

    .nav-dropdown:hover .nav-dropdown-menu { display:none; }
    .nav-dropdown.is-open .nav-dropdown-menu { display:block; }

    .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:700px) {
    .site-container { width:min(calc(100% - 28px),var(--container)); }
    .brand-logo { width:160px; }
    .hero-section { padding:80px 0 72px; }
    .section { padding:64px 0; }
    .grid-2,.grid-3,.grid-4,.footer-grid { grid-template-columns:1fr; }
    .footer-bottom { flex-direction:column; }
}
