/* Base común. Fuentes autoalojadas: colocar woff2 en /public/fonts (ver README). */
@font-face { font-family: "Literata"; src: url("/static/fonts/Literata-SemiBold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/static/fonts/AtkinsonHyperlegible-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Atkinson Hyperlegible"; src: url("/static/fonts/AtkinsonHyperlegible-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: env(safe-area-inset-top, 0px); }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-ui); font-size: var(--fs-1); line-height: var(--lh-body); min-height: 100dvh; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 600; line-height: var(--lh-display); margin: 0; }
a { color: var(--primary); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

.landing { max-width: var(--content-max); margin: 0 auto; padding: var(--sp-6) var(--sp-4) var(--sp-7); }
.brand { display: flex; align-items: center; gap: var(--sp-3); }
.brand h1 { font-size: var(--fs-4); letter-spacing: -0.02em; }
.brand h1 span { font-family: var(--font-ui); font-weight: 700; color: var(--primary); font-size: 0.86em; margin-left: 0.12em; }
.landing .lead { font-size: var(--fs-2); margin-top: var(--sp-5); }
.landing section { margin-top: var(--sp-6); }
.landing h2 { font-size: var(--fs-3); margin-bottom: var(--sp-3); }
.landing p + p { margin-top: var(--sp-3); }
.landing footer { margin-top: var(--sp-7); color: var(--ink-2); font-size: var(--fs-0); border-top: 1px solid var(--border); padding-top: var(--sp-4); }
.code { font-family: var(--font-display); font-size: 4rem; color: var(--border); margin-top: var(--sp-6); line-height: 1; }
