
:root { --page-bg:#07111f; --page-bg-soft:#0c1728; --surface:#ffffff; --surface-soft:#f5f7fb; --text:#0c1424; --text-soft:#5d6879; --text-on-dark:#f7f9fc; --text-on-dark-soft:#b8c2d2; --border:#dfe5ee; --border-dark:rgba(255,255,255,.12); --primary:#6d5dfc; --primary-hover:#5b4bed; --accent:#2f8cff; --focus:#9ec7ff; --shadow:0 24px 70px rgba(1,8,20,.18); }

* { box-sizing:border-box; }

html { min-width:320px; }

body {
    margin:0;
    min-width:320px;
    background:
        radial-gradient(circle at 82% 8%,rgba(109,93,252,.28),transparent 32rem),
        radial-gradient(circle at 14% 18%,rgba(47,140,255,.16),transparent 28rem),
        var(--page-bg);
    color:var(--text-on-dark);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height:1.6;
}

a { color:inherit; }

.skip-link {
    position:absolute;
    left:1rem;
    top:-5rem;
    z-index:10;
    background:var(--surface);
    color:var(--text);
    padding:.75rem 1rem;
    border-radius:.5rem;
}

.skip-link:focus { top:1rem; }

.site-shell { overflow:hidden; }

.site-header {
    min-height:72px;
    border-bottom:1px solid var(--border-dark);
}

.header-inner,
.hero-inner,
.footer-inner {
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
}

.header-inner {
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
}

.brand {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    gap:.65rem;
    color:var(--text-on-dark);
    text-decoration:none;
    font-weight:800;
    letter-spacing:-.03em;
    white-space:nowrap;
}

.brand-mark {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#fff;
    font-size:.78rem;
    background:linear-gradient(135deg,var(--primary),var(--accent));
    box-shadow:0 8px 24px rgba(109,93,252,.35);
}

.site-nav {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.25rem .9rem;
}

.site-nav a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    color:var(--text-on-dark-soft);
    font-size:.91rem;
    text-decoration:none;
}

.site-nav a:hover,
.site-nav a[aria-current="page"] {
    color:var(--text-on-dark);
}

.hero { padding:88px 0 80px; }

.hero-inner { max-width:1180px; }

.eyebrow {
    margin:0 0 1rem;
    color:#c8c2ff;
    font-size:.85rem;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

h1 {
    max-width:900px;
    margin:0;
    font-size:clamp(2.5rem,6vw,5rem);
    line-height:.98;
    letter-spacing:-.06em;
}

.hero p {
    max-width:710px;
    margin:1.5rem 0 0;
    color:var(--text-on-dark-soft);
    font-size:clamp(1.05rem,2vw,1.25rem);
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:2rem;
}

.button {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.75rem 1.1rem;
    border-radius:.7rem;
    font-weight:750;
    text-decoration:none;
    transition:background-color .2s ease,transform .2s ease;
}

.button-primary {
    background:var(--primary);
    color:#fff;
}

.button-primary:hover {
    background:var(--primary-hover);
    transform:translateY(-1px);
}

.button-secondary {
    border:1px solid var(--border-dark);
    color:var(--text-on-dark);
}

.content-surface {
    background:var(--surface-soft);
    color:var(--text);
    border-radius:32px 32px 0 0;
    padding:56px 0 72px;
}

.content-grid {
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.25rem;
}

.content-card,
.document-card {
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:22px;
    box-shadow:var(--shadow);
}

.content-card { padding:1.75rem; }

.content-card h2,
.document-section h2 {
    margin:0 0 .8rem;
    font-size:1.3rem;
    line-height:1.25;
    letter-spacing:-.025em;
}

.content-card p,
.document-section p {
    margin:.75rem 0 0;
}

ul {
    margin:.8rem 0 0;
    padding-left:1.25rem;
}

li + li { margin-top:.45rem; }

.document-hero {
    width:min(920px,calc(100% - 40px));
    margin:0 auto;
    padding:64px 0 0;
}

.document-hero h1 {
    font-size:clamp(2.35rem,5vw,4rem);
}

.document-hero p {
    color:var(--text-on-dark-soft);
    font-size:1.1rem;
}

.breadcrumbs {
    margin:0 0 1rem;
    color:var(--text-on-dark-soft);
    font-size:.9rem;
}

.document-wrap {
    width:min(920px,calc(100% - 40px));
    margin:-40px auto 0;
}

.document-card {
    padding:clamp(1.3rem,4vw,3rem);
}

.document-section + .document-section {
    margin-top:2.2rem;
    padding-top:2.2rem;
    border-top:1px solid var(--border);
}

.document-section a {
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

.site-footer {
    border-top:1px solid var(--border-dark);
}

.footer-inner {
    display:grid;
    grid-template-columns:1fr auto;
    gap:1.5rem;
    padding:2rem 0;
    color:var(--text-on-dark-soft);
    font-size:.92rem;
}

.footer-inner p {
    margin:.35rem 0 0;
}

.footer-legal {
    display:grid;
    gap:.5rem;
    margin-top:1.25rem;
}

.footer-legal p {
    margin:0;
    line-height:1.5;
    overflow-wrap:anywhere;
}

.footer-nav {
    display:flex;
    flex-wrap:wrap;
    gap:.45rem 1rem;
}

.footer-nav a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

.footer-nav a:hover {
    color:var(--text-on-dark);
}

:focus-visible {
    outline:3px solid var(--focus);
    outline-offset:3px;
}

@media (max-width:900px) {
    .content-grid {
        grid-template-columns:1fr;
    }

    .header-inner {
        align-items:flex-start;
        padding:1rem 0;
    }

    .site-nav {
        justify-content:flex-start;
    }
}

@media (max-width:640px) {
    .header-inner,
    .hero-inner,
    .footer-inner,
    .content-grid,
    .document-hero,
    .document-wrap {
        width:min(100% - 32px,1180px);
    }

    .header-inner {
        flex-direction:column;
        gap:.4rem;
    }

    .site-nav {
        justify-content:flex-start;
    }

    .hero {
        padding:56px 0;
    }

    .content-surface {
        padding-top:36px;
    }

    .document-hero {
        padding-top:48px;
    }

    .document-wrap {
        margin:0 auto;
        padding-top:1.5rem;
    }

    .footer-inner {
        grid-template-columns:1fr;
    }
}

@media (max-width:480px) {
    .hero-actions {
        flex-direction:column;
    }

    .button {
        width:100%;
    }

    .site-nav {
        gap:0 .7rem;
    }
}

@media (prefers-reduced-motion:reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
    }
}

@media print {
    body {
        background:#fff;
        color:#000;
    }

    .site-header,
    .hero-actions,
    .site-footer {
        display:none!important;
    }

    .content-surface {
        background:#fff;
        padding:0;
    }

    .document-hero {
        color:#000;
        padding:0;
    }

    .document-hero p {
        color:#000;
    }

    .document-wrap {
        width:100%;
        margin:0;
    }

    .document-card {
        border:0;
        border-radius:0;
        box-shadow:none;
        padding:0;
    }
}
