/* Lex Raíz — reset, elementos y primitivas. Requiere tokens.css.
   Los componentes (nav, hero, botones, FAQ, formularios, footer) siguen en components.css
   y las variantes de subpágina en pages.css, en ese orden. */
/* Lex Raíz — base v2: reset, elementos y primitivas editoriales. Requiere tokens.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
@media (max-width:0px){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 var(--fs-base)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:var(--lh-tight);margin:0 0 var(--space-5);letter-spacing:-.005em}
h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg);line-height:var(--lh-snug)}
p{margin:0 0 var(--space-4)}
a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}
:focus-visible{outline:1px solid var(--color-focus);outline-offset:4px}
ul,ol{padding:0;margin:0;list-style:none}
address{font-style:normal}
.container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}

/* Bloques */
.block{padding-block:var(--space-9)}
.block--ivory{background:var(--lr-marfil)}
.block--white{background:var(--lr-blanco)}
.block--navy{background:var(--lr-navy);color:var(--color-on-dark)}
.block--black{background:var(--lr-negro);color:var(--color-on-dark)}

/* Primitivas editoriales */
.caps{font-family:var(--font-caps);text-transform:uppercase;letter-spacing:var(--tracking-caps);font-weight:400}
.label{font:500 var(--fs-xs)/1.4 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase}
.lr-dash{display:block;width:var(--dash);height:var(--rule);background:var(--color-accent);margin-bottom:var(--space-5);border:0}
.lr-numeral{display:block;font:400 var(--fs-sm)/1 var(--font-caps);letter-spacing:var(--tracking-caps);color:var(--color-accent-text);margin-bottom:var(--space-4)}
.block--navy .lr-numeral,.block--black .lr-numeral{color:var(--color-accent-on-dark)}
.lema{display:flex;flex-wrap:wrap;justify-content:center;gap:0;font:400 var(--fs-xs)/1 var(--font-caps);letter-spacing:var(--tracking-caps)}
.lema li+li::before{content:"|";margin:0 .9em;color:var(--color-accent)}
.muted{color:var(--color-text-muted)}

/* Botón: rectangular, borde fino, flecha */
.lr-btn{display:inline-flex;align-items:center;gap:.9em;padding:1em 1.6em;border:var(--rule) solid currentColor;border-radius:var(--radius);background:transparent;color:inherit;font:500 var(--fs-xs)/1 var(--font-body);letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s var(--ease),color .25s,border-color .25s}
.lr-btn::after{content:"→";font-size:1.25em;letter-spacing:0;transition:transform .25s var(--ease)}
.lr-btn:hover::after{transform:translateX(4px)}
.lr-btn--primary{border-color:var(--lr-oro);color:var(--lr-marfil)}
.lr-btn--primary:hover{background:var(--lr-oro);color:var(--lr-negro)}
.lr-btn--solid{background:var(--lr-navy);border-color:var(--lr-navy);color:var(--lr-marfil)}
.lr-btn--solid:hover{background:var(--lr-negro);border-color:var(--lr-negro)}
.lr-btn--secondary{border-color:var(--lr-navy);color:var(--lr-navy)}
.lr-btn--secondary:hover{background:var(--lr-navy);color:var(--lr-marfil)}

.placeholder{background:var(--lr-oro-22);color:inherit;padding:0 .3em;font-style:normal;outline:var(--rule) dashed var(--lr-oro-70);outline-offset:-1px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:var(--space-2);background:var(--lr-negro);color:var(--lr-marfil);padding:var(--space-2) var(--space-4);z-index:var(--z-skip)}
.skip-link:focus{left:var(--space-2)}
