/* AulaPro · legal pages (aviso legal, privacidad). Same room as the main site, calmer. */
:root{
  --canvas:#171226;
  --paper:#f2e9e0;
  --ink:#271f36;
  --accent:#8b6dff;
  --accent-deep:#6d4ff0;
  --text:#f3ece6;
  --text-2:#bdb1d2;
  --line:rgba(189,177,210,.16);
  --line-strong:rgba(189,177,210,.55);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Lexend",ui-sans-serif,system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gutter:clamp(16px,5vw,72px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text);font:300 1.0625rem/1.7 var(--f-body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(139,109,255,.14),rgba(139,109,255,0) 70%)}
a{color:#d8ccff;text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px}
h1,h2,h3,p,ul,dl{margin:0}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--paper);color:var(--ink);padding:.7em 1.1em;border-radius:10px;font-weight:500;text-decoration:none;transition:top .3s var(--ease-out)}
.skip:focus{top:12px}
.nav{position:sticky;top:0;z-index:10;height:68px;display:flex;align-items:center;gap:clamp(12px,2.4vw,32px);padding:0 var(--gutter);background:rgba(23,18,38,.86);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto;color:var(--text);text-decoration:none}
.brand svg{width:32px;height:32px}
.brand b{font:800 1.28rem/1 var(--f-display);letter-spacing:-.02em}
.back{display:inline-flex;align-items:center;gap:.45em;font-size:.93rem;color:var(--text-2);text-decoration:none}
.back:hover{color:var(--text)}
.lang{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;padding:2px}
.lang button{border:0;background:transparent;cursor:pointer;font:500 .72rem/1 var(--f-mono);letter-spacing:.06em;color:var(--text-2);padding:.62em .7em;border-radius:999px}
.lang button:hover{color:var(--text)}
.lang button[aria-pressed="true"]{background:var(--text);color:var(--canvas)}
@media (max-width:560px){.back span{display:none}}
@media (pointer:coarse){.lang button{min-height:40px;min-width:38px}}
main{max-width:760px;margin:0 auto;padding:clamp(40px,8vh,80px) var(--gutter) clamp(64px,10vh,110px)}
main:focus{outline:none}
article[hidden]{display:none}
.kicker{display:inline-flex;align-items:center;gap:.75em;font:500 .76rem/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-2)}
.kicker::before{content:"";width:24px;height:1.5px;background:currentColor;opacity:.7}
h1{margin:.5em 0 .4em;font:800 clamp(2.2rem,5vw,3.4rem)/1.05 var(--f-display);letter-spacing:-.022em}
.lede{font-size:clamp(1.05rem,1.4vw,1.18rem);color:var(--text-2)}
.part{margin-top:clamp(40px,6vw,60px);padding-top:clamp(22px,3vw,30px);border-top:1px solid var(--line-strong);font:700 clamp(1.4rem,2.6vw,1.9rem)/1.2 var(--f-display);letter-spacing:-.01em}
h2,h3{margin-top:2rem;font:700 clamp(1.1rem,1.8vw,1.28rem)/1.3 var(--f-display);letter-spacing:-.005em}
h2+p,h2+dl,h3+p{margin-top:.55rem}
p+p{margin-top:.8rem}
article p,article li,article dd{color:#e6ddeb}
dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem 1.4rem;padding:18px 20px;border-radius:14px;background:rgba(243,236,230,.05);box-shadow:inset 0 0 0 1px var(--line)}
dt{font:500 .78rem/1.9 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
dd{margin:0}
@media (max-width:520px){dl{grid-template-columns:1fr;gap:.1rem}dd+dt{margin-top:.6rem}}
.updated{margin-top:2.6rem;font:500 .74rem/1.5 var(--f-mono);letter-spacing:.05em;color:var(--text-2)}
footer{padding:28px var(--gutter) 36px;border-top:1px solid var(--line);font:500 .72rem/1.5 var(--f-mono);letter-spacing:.05em;color:var(--text-2)}
footer div{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer a{color:var(--text-2);text-decoration:none}
footer a:hover{color:var(--text)}
footer nav{display:flex;flex-wrap:wrap;gap:12px 24px}
[data-anchor]{scroll-margin-top:92px}
