:root {
    --bg:#030914;
    --panel:#0b172b;
    --panel-soft:rgba(11,23,43,.78);
    --border:rgba(255,255,255,.1);
    --text:#f8fafc;
    --muted:#a9b7ca;
    --gold:#e0b43d;
    --blue:#29a6d1;
}

* { box-sizing:border-box; }
html { color-scheme:dark; }
body {
    margin:0;
    min-height:100vh;
    color:var(--text);
    background:
        radial-gradient(ellipse at 78% 12%,rgba(22,72,120,.34),transparent 48%),
        linear-gradient(120deg,#02060b,#07162b 62%,#030914);
    font-family:Inter,Segoe UI,Arial,sans-serif;
}

a { color:inherit; }
.public-shell { width:min(1120px,calc(100% - 40px)); margin:0 auto; }
.public-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:26px 0;
    border-bottom:1px solid var(--border);
}
.public-brand { display:flex; align-items:center; gap:16px; text-decoration:none; }
.public-brand img { width:42px; height:48px; object-fit:contain; }
.public-brand img:last-of-type { width:54px; }
.public-divider { width:1px; height:38px; background:rgba(255,255,255,.18); }
.public-brand strong { display:block; font-size:1.05rem; }
.public-brand small { display:block; margin-top:3px; color:var(--muted); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.public-nav { display:flex; align-items:center; gap:20px; color:var(--muted); font-size:.85rem; }
.public-nav a { text-decoration:none; }
.public-nav a:hover { color:white; }
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    color:white;
    background:linear-gradient(135deg,#174c84,#1592b4);
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 28px rgba(14,165,233,.16);
}
.button.secondary { background:rgba(255,255,255,.05); box-shadow:none; }
.hero {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
    gap:54px;
    align-items:center;
    padding:86px 0 64px;
}
.eyebrow { color:#f0ca62; font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1 { max-width:760px; margin:13px 0 20px; font-size:clamp(2.7rem,6vw,5.2rem); line-height:.98; letter-spacing:-.055em; }
.hero-copy { max-width:680px; color:#c5d1df; font-size:1.08rem; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.trust-card {
    padding:28px;
    border:1px solid var(--border);
    border-radius:22px;
    background:var(--panel-soft);
    box-shadow:0 24px 70px rgba(0,0,0,.3);
    backdrop-filter:blur(16px);
}
.trust-card h2 { margin:0 0 16px; font-size:1.15rem; }
.trust-list { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
.trust-list li { display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:start; color:var(--muted); font-size:.88rem; line-height:1.45; }
.trust-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#8bd8f1; background:rgba(41,166,209,.12); }
.notice {
    margin:0 0 70px;
    padding:22px 26px;
    border:1px solid rgba(224,180,61,.25);
    border-radius:16px;
    color:#d9e1eb;
    background:rgba(224,180,61,.07);
    line-height:1.6;
}
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:70px; }
.info-card { padding:24px; border:1px solid var(--border); border-radius:18px; background:rgba(9,20,38,.7); }
.info-card h2 { margin:0 0 10px; font-size:1rem; }
.info-card p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.document { width:min(820px,100%); padding:70px 0; }
.document h1 { font-size:clamp(2.3rem,5vw,4rem); }
.document h2 { margin-top:34px; font-size:1.15rem; }
.document p,.document li { color:#c5d1df; line-height:1.7; }
.document .updated { color:var(--muted); font-size:.82rem; }
.public-footer {
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:25px 0 34px;
    border-top:1px solid var(--border);
    color:#7f90a6;
    font-size:.78rem;
}
.public-footer nav { display:flex; gap:16px; }

@media (max-width:820px) {
    .public-nav > a:not(.button) { display:none; }
    .hero { grid-template-columns:1fr; padding-top:54px; }
    .info-grid { grid-template-columns:1fr; }
}
@media (max-width:540px) {
    .public-shell { width:min(100% - 28px,1120px); }
    .public-brand strong,.public-brand small,.public-divider,.public-brand img:last-of-type { display:none; }
    .public-header { padding:18px 0; }
    .hero { gap:30px; }
    .public-footer { flex-direction:column; }
}
