/* CHR · Base: reset, tipografía, foco, utilidades y capa nativa móvil. Requiere tokens.css. */
@font-face{font-family:'Manrope Fallback';src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');size-adjust:104%;ascent-override:95%;descent-override:26%}
@font-face{font-family:'Plex Fallback';src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');size-adjust:100%}
@font-face{font-family:'Plex Mono Fallback';src:local('Menlo'),local('Consolas'),local('Liberation Mono');size-adjust:98%}

*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
body{margin:0;min-height:100svh;background:var(--canvas);color:var(--text);font:15px/1.55 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);margin:0;color:var(--ink);text-wrap:balance;letter-spacing:-.02em}
p{margin:0}
a{color:var(--link);text-decoration:none}
ul,ol{margin:0;padding:0}
img,svg,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{cursor:pointer;border:0;background:none;padding:0;text-align:inherit}
button,a,[role=button],summary,label{touch-action:manipulation;-webkit-user-select:none;user-select:none}
input,select,textarea{font-size:16px}
input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
hr{border:0;border-top:1px solid var(--line);margin:0}
[hidden]{display:none!important}
::selection{background:var(--navy-tint);color:var(--ink)}

/* Foco visible: anillo naranja de 2 px, 4.6:1 sobre el lienzo */
:focus{outline:none}
:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:var(--r-1)}
main:focus-visible,[tabindex="-1"]:focus-visible{outline:none}

/* Utilidades mínimas */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;top:-120px;left:16px;z-index:var(--z-skip);padding:12px 16px;border-radius:var(--r-1);background:var(--navy);color:#fff;font-weight:600;transition:top var(--t-fast)}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.stack{display:flex;flex-direction:column;gap:12px}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .faint{color:var(--faint)}
.wrap{max-width:1440px;margin:0 auto;padding:20px 20px calc(24px + env(safe-area-inset-bottom,0px))}
.section{max-width:1180px;margin:0 auto;padding:56px 24px;scroll-margin-top:88px}
.lbl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600}

/* Capa nativa móvil: sin resaltado azul al tocar, sin rebote de página, sin zoom por inputs (16 px arriba) */
body{overscroll-behavior-y:none}
.scroll-x{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.scroll-x::-webkit-scrollbar{display:none}
@media (max-width:600px){ .wrap{padding-inline:16px} .section{padding:44px 16px} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
