/* Aparejo — base. Reset corto y clases tipográficas de uso general. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p,figure{margin:0}
img,svg{display:block;max-width:100%}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--stone-400);transition:var(--transition-control)}
a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}
a:active{color:var(--navy-700)}
:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-1)}
::selection{background:var(--yellow-100);color:var(--navy-800)}
hr{border:0;border-top:var(--border-width) solid var(--border-subtle);margin:var(--space-5) 0}

.apj-display-1{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-display-1);line-height:var(--lh-display-1);letter-spacing:var(--ls-display)}
.apj-display-2{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-display-2);line-height:var(--lh-display-2);letter-spacing:var(--ls-display)}
.apj-h1{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-heading)}
.apj-h2{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-heading)}
.apj-h3{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-heading)}
.apj-h4{font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-h4);line-height:var(--lh-h4)}
.apj-lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--text-secondary);max-width:var(--measure-lead);text-wrap:pretty}
.apj-body{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure-prose);text-wrap:pretty}
.apj-body-sm{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.apj-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}
.apj-legal{font-size:var(--fs-legal);line-height:var(--lh-legal);color:var(--text-muted)}
.apj-label{font-family:var(--font-label);font-weight:var(--fw-bold);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase}
.apj-data{font-family:var(--font-data);font-size:var(--fs-data);line-height:var(--lh-data);font-variant-numeric:tabular-nums}
.apj-data-sm{font-family:var(--font-data);font-size:var(--fs-data-sm);line-height:var(--lh-data-sm);font-variant-numeric:tabular-nums}
.apj-eyebrow{font-family:var(--font-label);font-weight:var(--fw-bold);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--warn-600);display:inline-flex;align-items:center;gap:var(--space-2)}
.apj-eyebrow::before{content:"";width:18px;height:var(--rule-accent);background:var(--accent);flex:none}
.apj-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
@media(min-width:760px){.apj-container{padding:0 var(--container-pad-lg)}}
@media(max-width:640px){
  :root{--fs-display-1:38px;--fs-display-2:32px;--fs-h1:27px;--fs-h2:23px;--fs-h3:19px;--fs-lead:17px}
}
