/* Páginas legales y de error · Bien Pulida */
:root{--ink:#10242B; --sand:#F5F1EA; --sand-2:#ECE5D9; --white:#FFFDF9; --coral:#F2704E; --coral-deep:#B8492A; --muted:#56676C; --line:rgba(16,36,43,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth; accent-color:var(--coral)}
body{margin:0; background:var(--sand); color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased}
::selection{background:var(--coral); color:var(--ink)}
a{color:inherit; text-underline-offset:4px; text-decoration-color:var(--coral)}
:focus-visible{outline:3px solid var(--coral); outline-offset:3px; border-radius:6px}
.wrap{max-width:820px; margin:0 auto; padding:0 clamp(20px,4vw,40px)}
.bar{background:var(--ink); color:var(--sand)}
.bar .wrap{max-width:1100px; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:68px}
.logo{display:inline-flex; align-items:flex-start; gap:3px; font-family:'Bricolage Grotesque',system-ui,sans-serif; font-weight:700; font-size:1.35rem; letter-spacing:-.04em; line-height:1; text-decoration:none}
.logo svg{width:9px; height:9px}
.back{font-size:.92rem; text-decoration:none; opacity:.85}
.back:hover{opacity:1; text-decoration:underline}
main{padding:clamp(48px,7vw,88px) 0 clamp(64px,8vw,104px)}
.kicker{display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:700; color:var(--coral-deep)}
.kicker::before{content:"✦"; color:var(--coral)}
h1{margin:10px 0 0; font-family:'Bricolage Grotesque',system-ui,sans-serif; font-size:clamp(2.2rem,5vw,3.4rem); line-height:1; letter-spacing:-.04em}
.updated{margin-top:12px; color:var(--muted); font-size:.92rem}
.intro{margin-top:24px; font-size:1.1rem}
h2{margin:44px 0 0; font-family:'Bricolage Grotesque',system-ui,sans-serif; font-size:1.45rem; letter-spacing:-.02em; line-height:1.2}
h3{margin:24px 0 0; font-size:1.05rem}
p,ul,table{margin:12px 0 0}
ul{padding-left:1.2em}
li{margin-top:6px}
.card{margin-top:24px; padding:22px 24px; border-radius:16px; background:var(--white); box-shadow:0 0 0 1px var(--line)}
.card dl{margin:0; display:grid; grid-template-columns:max-content 1fr; gap:8px 20px}
.card dt{font-weight:700}
.card dd{margin:0}
table{width:100%; border-collapse:collapse; font-size:.95rem; background:var(--white); border-radius:12px; overflow:hidden; box-shadow:0 0 0 1px var(--line)}
th,td{padding:12px 14px; text-align:left; vertical-align:top; border-top:1px solid var(--line)}
th{background:var(--sand-2); border-top:0}
.fill{background:#FFF1C2; padding:0 4px; border-radius:4px}
.foot{background:var(--ink); color:#9FB2B6; font-size:.92rem}
.foot .wrap{max-width:1100px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 32px; padding-top:28px; padding-bottom:28px}
.foot nav{display:flex; flex-wrap:wrap; gap:8px 22px}
.foot a{color:var(--sand); text-decoration:none}
.foot a:hover,.foot a[aria-current="page"]{text-decoration:underline}
@media (max-width:560px){.card dl{grid-template-columns:1fr; gap:2px}.card dd{margin-bottom:10px}}
