/* Tipografía local */
@font-face {
    font-family: "Archivo";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/archivo-normal.woff2") format("woff2");
}
@font-face {
    font-family: "Archivo";
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/archivo-italic.woff2") format("woff2");
}
:root {
    --bg:#07090d;
    --paper:#171e27;
    --ink:#f2f4f7;
    --muted:#c9d1d9;
    --faint:#909ca8;
    --orange:#1dff72;
    --dark:#0f141b;
    --hair:rgba(201,209,217,.2);
    --max:1180px;
    --edge:clamp(18px,4vw,52px);
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font:500 16px/1.6 Archivo,Arial,sans-serif;
}
a {
    color:inherit;
    text-decoration:none;
}
img {
    display:block;
    max-width:100%;
}
.container {
    width:min(100%,var(--max));
    margin-inline:auto;
    padding-inline:var(--edge);
}
.site-header {
    position:sticky;
    top:0;
    z-index:10;
    background:rgba(250,250,250,.84);
    backdrop-filter:blur(18px) saturate(145%);
    border-bottom:1px solid var(--hair);
}
.header-inner {
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.brand {
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    letter-spacing:-.04em;
}
.brand img {
    width:34px;
    height:34px;
    object-fit:contain;
}
.brand-dot {
    color:var(--orange);
}
.header-link {
    border:1px solid var(--ink);
    padding:10px 14px;
    font-size:.78rem;
    font-weight:800;
}
.header-link:hover {
    background:var(--ink);
    color:#fff;
}
main {
    min-height:calc(100dvh - 150px);
}
.eyebrow {
    color:var(--orange);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.hero {
    padding:clamp(70px,10vw,150px) 0 clamp(70px,9vw,130px);
}
.hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
    gap:clamp(40px,8vw,110px);
    align-items:end;
}
h1,h2,h3,p {
    margin:0;
}
h1,h2,h3 {
    font-weight:800;
    line-height:1.08;
    letter-spacing:-.035em;
}
h1 {
    font-size:clamp(3rem,6.8vw,6.4rem);
    max-width:11ch;
    margin:20px 0 26px;
}
h1 em,h2 em {
    font:italic 400 1em/1.02 'Source Serif 4',Georgia,serif;
    color:var(--orange);
}
.lead {
    max-width:52ch;
    color:var(--muted);
    font-size:clamp(1rem,1.35vw,1.17rem);
}
.actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    min-height:52px;
    padding:14px 18px;
    border:1px solid var(--ink);
    font-size:.85rem;
    font-weight:800;
}
.button.primary {
    background:var(--ink);
    color:#fff;
}
.button.primary:hover {
    background:var(--orange);
    border-color:var(--orange);
}
.button.secondary:hover {
    background:var(--ink);
    color:#fff;
}
.status-card {
    border:1px solid var(--hair);
    background:var(--paper);
}
.status-card>span {
    display:block;
    background:var(--ink);
    color:#fff;
    padding:14px 18px;
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.1em;
}
.status-card div {
    padding:clamp(26px,4vw,42px);
}
.status-card strong {
    display:block;
    font-size:clamp(1.35rem,2.5vw,2.2rem);
    line-height:1.15;
}
.status-card p {
    margin-top:15px;
    color:var(--muted);
}
.footer {
    border-top:1px solid var(--hair);
    padding:24px 0;
}
.footer-inner {
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    font-size:.76rem;
    color:var(--muted);
}
.footer a {
    font-weight:800;
    color:var(--ink);
}
.footer a:hover {
    color:var(--orange);
}
/* Legal */
.legal-hero {
    padding:clamp(60px,8vw,105px) 0 42px;
    border-bottom:1px solid var(--hair);
}
.legal-hero h1 {
    font-size:clamp(2.8rem,5vw,5.2rem);
    max-width:14ch;
}
.legal-meta {
    margin-top:20px;
    color:var(--muted);
    font-size:.86rem;
}
.legal-wrap {
    display:grid;
    grid-template-columns:220px minmax(0,760px);
    gap:clamp(35px,7vw,90px);
    padding:clamp(45px,7vw,90px) 0;
}
.legal-index {
    position:sticky;
    top:105px;
    align-self:start;
    border-top:1px solid var(--hair);
}
.legal-index a {
    display:block;
    padding:11px 0;
    border-bottom:1px solid var(--hair);
    font-size:.78rem;
    font-weight:800;
}
.legal-index a:hover {
    color:var(--orange);
}
.legal-content section {
    scroll-margin-top:100px;
    padding-bottom:36px;
    margin-bottom:36px;
    border-bottom:1px solid var(--hair);
}
.legal-content section:last-child {
    border-bottom:0;
}
.legal-content h2 {
    font-size:clamp(1.4rem,2vw,1.9rem);
    margin-bottom:14px;
}
.legal-content h3 {
    font-size:1rem;
    margin:20px 0 8px;
}
.legal-content p,.legal-content li {
    color:var(--muted);
}
.legal-content ul {
    padding-left:20px;
}
.legal-content li+li {
    margin-top:7px;
}
.legal-content strong {
    color:var(--ink);
}
.notice {
    border-left:4px solid var(--orange);
    background:var(--paper);
    padding:18px 20px;
    margin-bottom:35px;
}
.notice strong {
    display:block;
    margin-bottom:5px;
}
.placeholder {
    font-weight:800;
    color:var(--orange);
}
@media(max-width:800px) {
    .hero-grid,.legal-wrap {
        grid-template-columns:1fr;
    }
    .status-card {
        max-width:620px;
    }
    .legal-index {
        position:static;
    }
    .header-link {
        font-size:.7rem;
    }
    .footer-inner {
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:520px) {
    .header-inner {
        min-height:64px;
    }
    .brand {
        font-size:.86rem;
    }
    .brand img {
        width:30px;
        height:30px;
    }
    .header-link {
        padding:8px 10px;
    }
    .hero {
        padding-top:55px;
    }
    h1 {
        font-size:clamp(2.7rem,14vw,4.4rem);
    }
    .actions {
        flex-direction:column;
    }
    .button {
        width:100%;
    }
}
/* Identidad dark */
:root {
    color-scheme: dark;
}
body {
    background: #07090d;
    color: #f2f4f7;
}
.site-header {
    background: #0f141bed;
    border-color: #ffffff22;
}
.brand, .header-link, .legal-content h2, .legal-content h3, .legal-index a {
    color: #f2f4f7;
}
.brand-dot, .eyebrow, .placeholder {
    color: #1dff72;
}
.legal-hero, .legal-content section, .legal-index, .footer {
    border-color: #ffffff22;
}
.legal-content p, .legal-content li, .legal-meta {
    color: #c9d1d9;
}
.notice {
    background: #171e27;
    color: #c9d1d9;
    border-color: #ffffff22;
}

/* Accesibilidad */
:focus-visible {
    outline: 2px solid #27d9ff;
    outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* Preferencias de medición */
.legal-preferences { padding: 20px var(--edge); text-align: center; }
.legal-preferences button { min-height: 44px; color: #c9d1d9; background: transparent; border: 1px solid #909ca8; padding: 10px 16px; cursor: pointer; }
