:root { color-scheme: light; --bg:#f6f7f8; --surface:#fff; --text:#0f172a; --soft:#475569; --muted:#64748b; --border:#e2e8f0; --brand:#059669; --brand-soft:#d1fae5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.7; }
a { color:var(--brand); }
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--border); background:rgba(255,255,255,.94); backdrop-filter:blur(12px); }
.header-inner,.page,.footer-inner { width:min(100% - 2rem, 960px); margin-inline:auto; }
.header-inner { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { color:var(--text); text-decoration:none; font-size:1.1rem; font-weight:800; }
.brand span { color:var(--brand); }
.header-actions { display:flex; align-items:center; gap:.8rem; }
.home-link { font-size:.82rem; font-weight:700; text-decoration:none; }
.language-switch { display:inline-flex; padding:3px; border:1px solid var(--border); border-radius:10px; }
.language-button { border:0; border-radius:7px; padding:.4rem .6rem; background:transparent; color:var(--soft); font-size:.72rem; font-weight:800; cursor:pointer; }
.language-button[aria-pressed="true"] { background:var(--brand); color:#fff; }
.page { padding:3.5rem 0 5rem; }
.hero { margin-bottom:2rem; }
.eyebrow { color:var(--brand); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:.35rem 0 .65rem; font-size:clamp(2rem,6vw,3.25rem); line-height:1.08; letter-spacing:-.035em; }
.lead { max-width:760px; color:var(--soft); font-size:1.05rem; }
.updated { color:var(--muted); font-size:.82rem; }
.notice { margin:1.5rem 0; padding:1rem 1.15rem; border-left:4px solid var(--brand); border-radius:0 12px 12px 0; background:var(--brand-soft); color:#064e3b; }
.toc,.legal-section { margin:1rem 0; padding:1.4rem clamp(1rem,4vw,2rem); border:1px solid var(--border); border-radius:18px; background:var(--surface); box-shadow:0 8px 25px rgba(15,23,42,.04); }
.toc h2,.legal-section h2 { margin-top:0; }
h2 { font-size:1.3rem; line-height:1.25; }
h3 { margin-bottom:.35rem; font-size:1rem; }
p,li { color:var(--soft); }
ul,ol { padding-left:1.35rem; }
li+li { margin-top:.45rem; }
table { width:100%; border-collapse:collapse; font-size:.9rem; }
th,td { padding:.75rem; border:1px solid var(--border); text-align:left; vertical-align:top; }
th { background:#f8fafc; }
.table-wrap { overflow-x:auto; }
.contact-card { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.75rem; }
.contact-card div { padding:.85rem; border-radius:12px; background:#f8fafc; }
.contact-card strong { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.site-footer { border-top:1px solid var(--border); background:var(--surface); }
.footer-inner { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:1.4rem 0; color:var(--muted); font-size:.8rem; }
.footer-links { display:flex; gap:1rem; }
[data-lang-content] { display:none; }
html[lang="es"] [data-lang-content="es"],html[lang="en"] [data-lang-content="en"] { display:block; }
@media (max-width:620px) { .home-link { display:none; } .page { padding-top:2.5rem; } th,td { min-width:150px; } }
