
:root { --bg:#030303; --surface:#101112; --line:rgba(255,255,255,.12); --text:#f3f5f4; --muted:#a4abaa; --acid:#25ff91; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--acid) 15%,transparent),transparent 26rem),linear-gradient(180deg,#050505,var(--bg) 60%); color:var(--text); font-family:"Noto Sans",Lexend; font-weight:300; line-height:1.65; }
a { color:var(--acid); }
a:hover { color:color-mix(in srgb,var(--acid) 70%,white); }
a:focus-visible { outline:2px solid var(--acid); outline-offset:4px; }
.site-nav { border-bottom:1px solid var(--line); background:rgba(3,3,3,.86); }
.site-nav-inner { width:min(1120px,calc(100% - 32px)); margin:auto; min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-nav a { text-decoration:none; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--text); font-weight:700; text-transform:uppercase; }
.brand-mark { display:grid; width:34px; height:34px; place-items:center; border:1px solid color-mix(in srgb,var(--acid) 45%,transparent); border-radius:8px; color:var(--acid); background:linear-gradient(135deg,color-mix(in srgb,var(--acid) 18%,transparent),transparent); box-shadow:0 0 18px color-mix(in srgb,var(--acid) 20%,transparent); font-size:13px; }
.site-nav-links { display:flex; gap:24px; color:var(--muted); font-size:12px; font-weight:500; text-transform:uppercase; }
.site-nav-links a { color:var(--muted); }
.site-nav-links a:hover { color:var(--acid); }
main { width:min(760px,calc(100% - 32px)); margin:0 auto; padding:40px 0 72px; }
.eyebrow { margin:40px 0 8px; color:var(--acid); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:0 0 12px; font-size:clamp(2rem,6vw,3rem); font-weight:700; line-height:1.1; }
h2 { margin:36px 0 8px; font-size:1.2rem; font-weight:500; }
p,li { color:var(--muted); }
strong { color:var(--text); font-weight:500; }
.identity { margin:24px 0; padding:20px 24px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.identity dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; margin:0; }
.identity dt { color:var(--muted); }
.identity dd { margin:0; color:var(--text); overflow-wrap:anywhere; }
.lang { display:inline-block; margin-top:8px; }
hr { margin:64px 0 0; border:0; border-top:1px solid var(--line); }
footer { margin-top:48px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }
@media(max-width:600px) { .site-nav-inner { min-height:68px; } .site-nav-links { gap:12px; font-size:11px; } }
@media(max-width:480px) { .identity dl { grid-template-columns:1fr; } .identity dd { margin-bottom:8px; } }

code, button, input, select, textarea { font-family: inherit; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

h1,h2,h3,h4,h5,h6,.brand,.eyebrow,.site-nav-links { font-family:Lexend,"Noto Sans"; }

/* Selector de idioma junto a la navegación. */
.site-nav-links { align-items:center; }
@media(max-width:420px) { .site-nav-inner { gap:10px; } .site-nav-links { gap:10px; } .site-nav-links .lang-switch svg { display:none; } .site-nav-links .lang-switch a { min-width:32px; padding:0 7px; } .brand { gap:8px; } .brand-mark { width:30px; height:30px; } }
@media(max-width:359px) { .brand span:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; } }
/* Barra superior fija durante el desplazamiento. */
html { scroll-padding-top:84px; }
.site-nav { position:sticky; top:0; z-index:5; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
