:root {
    color-scheme: dark;
    --background: #07110f;
    --surface: #10201c;
    --surface-soft: #152a25;
    --primary: #50e3c2;
    --primary-dark: #08251f;
    --text: #edf7f4;
    --muted: #aebfba;
    --line: rgba(174, 191, 186, .16);
    --max-width: 1080px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background: var(--background);
    color: var(--text);
    line-height: 1.7;
}

a { color: inherit; }

.hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    background:
        radial-gradient(circle at 82% 18%, rgba(80, 227, 194, .18), transparent 34%),
        linear-gradient(145deg, #07110f 15%, #0b1c18 100%);
    border-bottom: 1px solid var(--line);
}

.hero::after {
    content: "";
    position: absolute;
    right: -130px;
    bottom: -210px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(80, 227, 194, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(80, 227, 194, .025), 0 0 0 140px rgba(80, 227, 194, .018);
    pointer-events: none;
}

.nav, .hero-content, main, footer {
    width: min(calc(100% - 40px), var(--max-width));
    margin-inline: auto;
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 24px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 750;
    text-decoration: none;
    letter-spacing: -.02em;
}

.brand img, footer img { border-radius: 14px; }

.nav-link {
    color: var(--muted);
    font-size: .92rem;
    font-weight: 650;
    text-decoration: none;
}

.nav-link:hover { color: var(--primary); }

.hero-content {
    position: relative;
    z-index: 1;
    padding: 88px 0 72px;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--primary);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.eyebrow span { font-size: .65rem; }

h1 {
    max-width: 820px;
    margin: 18px 0 20px;
    font-size: clamp(3rem, 8vw, 6.5rem);
    line-height: .98;
    letter-spacing: -.065em;
}

.lead {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-size: clamp(1.1rem, 2vw, 1.42rem);
    line-height: 1.55;
}

.privacy-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 900px;
    margin-top: 54px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: rgba(16, 32, 28, .72);
    backdrop-filter: blur(14px);
}

.privacy-summary div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 22px 24px;
}

.privacy-summary div + div { border-left: 1px solid var(--line); }
.privacy-summary strong { color: var(--primary); font-size: .95rem; }
.privacy-summary span { color: var(--muted); font-size: .86rem; }

main { padding-block: 72px; }

.policy-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 28px;
    background: var(--surface);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .18);
}

.updated {
    margin: 0;
    padding: 20px 30px;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: .84rem;
}

section {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;
    padding: 38px 40px;
}

section + section { border-top: 1px solid var(--line); }

.section-number {
    padding-top: 5px;
    color: var(--primary);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
}

h2 {
    margin: 0 0 12px;
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    line-height: 1.25;
    letter-spacing: -.025em;
}

section p { max-width: 790px; margin: 0; color: var(--muted); }
section p + p { margin-top: 12px; }
section strong { color: var(--text); }

code {
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--surface-soft);
    color: var(--primary);
    font-size: .82em;
    overflow-wrap: anywhere;
}

.contact-section { background: linear-gradient(120deg, rgba(80, 227, 194, .09), transparent 70%); }

.primary-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
    padding: 13px 18px;
    border-radius: 12px;
    background: var(--primary);
    color: var(--primary-dark);
    font-weight: 800;
    text-decoration: none;
}

.primary-link:hover { filter: brightness(1.06); transform: translateY(-1px); }
.primary-link:focus-visible, .nav-link:focus-visible, .brand:focus-visible, footer a:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }

footer {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding-block: 0 56px;
}

footer p { margin: 0; line-height: 1.35; }
footer span { color: var(--muted); font-size: .85rem; }
footer a { color: var(--muted); font-size: .88rem; text-decoration: none; }
footer a:hover { color: var(--primary); }

@media (max-width: 700px) {
    .hero { min-height: auto; }
    .hero-content { padding-top: 64px; }
    .privacy-summary { grid-template-columns: 1fr; }
    .privacy-summary div + div { border-top: 1px solid var(--line); border-left: 0; }
    section { grid-template-columns: 1fr; gap: 8px; padding: 30px 24px; }
    .updated { padding-inline: 24px; }
}

@media (max-width: 430px) {
    .nav, .hero-content, main, footer { width: min(calc(100% - 28px), var(--max-width)); }
    .nav-link { font-size: .8rem; }
    h1 { font-size: 3.25rem; }
    footer { grid-template-columns: auto 1fr; }
    footer > a { grid-column: 1 / -1; margin-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
}
