/* Tipografía, composición y accesibilidad compartidas. */
body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.7;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--fw-bold);color:var(--color-navy);letter-spacing:-.04em;line-height:1.16;text-wrap:balance;overflow-wrap:break-word}
h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{color:var(--color-text-muted)}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-sky);outline-offset:5px}
::selection{background:var(--color-navy);color:var(--color-white)}
.container{width:100%;max-width:var(--container-width);margin-inline:auto;padding-inline:var(--container-padding)}
.section{padding-block:var(--space-2xl)}.section--alt{background:var(--color-bg-alt)}
.section--tight-bottom{padding-bottom:var(--space-xl)}.section--tight-top{padding-top:var(--space-xl)}.section--roomy-bottom{padding-bottom:var(--space-2xl)}
.section-heading{max-width:730px;margin-bottom:var(--space-xl);text-align:left}.section-heading h2{max-width:22ch}
.section-heading p{margin-top:var(--space-md);max-width:630px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-weight:var(--fw-semibold);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-md);line-height:1.5}
.eyebrow::before{content:"";width:24px;height:3px;background:currentColor;flex-shrink:0;border-radius:var(--radius-full)}
.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;top:12px;left:12px;z-index:2000;background:var(--color-white);color:var(--color-navy);padding:12px 20px;transform:translateY(-180%);font-weight:var(--fw-bold)}.skip-link:focus{transform:translateY(0)}
.no-js-nav{padding:16px;background:var(--color-white);display:flex;flex-wrap:wrap;gap:20px}
[data-reveal]{opacity:1;transform:none}.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal-ready.is-visible{opacity:1;transform:none}
.text-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;font-weight:var(--fw-semibold);color:var(--color-blue);border-bottom:1px solid currentColor}
@media(max-width:700px){:root{--space-2xl:4rem;--space-xl:2.5rem;--navbar-height:80px}.section-heading{margin-bottom:var(--space-lg)}h2{line-height:1.16}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-reveal],.reveal-ready{opacity:1!important;transform:none!important}}
