/* Shared institutional scale and responsive navigation. */
body{line-height:1.6}body h1,body h2{letter-spacing:-.04em;line-height:1.12}body h3{line-height:1.25}body p{overflow-wrap:break-word}body .section-label{white-space:normal;overflow-wrap:anywhere;max-width:100%;min-width:0}body :is(.site-header,.portal-header){height:auto;min-height:76px;gap:24px;padding-inline:max(24px,calc((100vw - 1200px)/2))}body :is(.site-nav,.portal-nav){gap:20px;font-size:.9rem}body :is(.site-nav,.portal-nav)>a,body .nav-group summary{font-weight:700;min-height:44px;display:flex;align-items:center;white-space:nowrap;text-decoration:none}body :is(.site-nav,.portal-nav) .cta{background:#c10f1f;color:white;padding:10px 16px;border-radius:0}body .nav-group{position:relative;border:0;margin:0;padding:0;background:transparent}body .nav-group summary{cursor:pointer;list-style:none;gap:8px;padding:0}body .nav-group summary::-webkit-details-marker{display:none}body .nav-group summary::after{content:'⌄';font-size:1rem}body .nav-group>div{position:absolute;top:100%;left:0;min-width:210px;background:white;border:1px solid #d6e0e4;box-shadow:0 10px 24px #012f4714;padding:8px;z-index:40}body .nav-group a{display:flex;align-items:center;min-height:44px;padding:8px 12px;color:#012f47;text-decoration:none}body .nav-group a:hover,body .nav-group a[aria-current=page]{background:#f5f2ec;color:#c10f1f}body :is(a,button,summary):focus-visible{outline:3px solid #1769aa;outline-offset:4px}body :is(.blab-intro,.bs-care,.route,.contact) :is(a,button,summary):focus-visible{outline-color:#ffd719}
@media(min-width:1100px){body :is(.menu-button,.menu-toggle){display:none}body :is(.site-nav,.portal-nav){display:flex;position:static;flex-direction:row;align-items:center;background:transparent;max-height:none;overflow:visible;padding:0}}
@media(max-width:1099px){body :is(.menu-button,.menu-toggle){display:block}body :is(.site-nav,.portal-nav){display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:16px 24px;flex-direction:column;align-items:stretch;gap:8px;max-height:calc(100dvh - 76px);overflow-y:auto}body .site-nav.is-open,body .portal-nav.open{display:flex}body .nav-group>div{position:static;border:0;border-left:2px solid #c10f1f;box-shadow:none;margin:4px 0 8px 8px;padding:0 8px}body .nav-group summary{justify-content:space-between}body :is(.site-nav,.portal-nav) .cta{align-self:stretch;justify-content:center}}
/* Portada: keep functional information early and reduce repeated vertical space. */
body .hero h1{font-size:clamp(2.5rem,4.4vw,4.5rem);line-height:1.1;letter-spacing:-.045em}body .hero-shade{background:linear-gradient(90deg,#012f47fa 0%,#012f47e8 43%,#012f4780 72%,#012f4726 100%)}body .hero .hero-copy{max-width:760px}body .hero .welcome-card{max-width:620px}body .hero-route-sign,body .hero-b{display:none}body :is(.manifesto,.impact,.route,.human-moments,.now,.jobs-access,.leadership,.spaces,.support-network,.home-faq,.access-hub,.contact-route){padding-block:72px}body :is(.manifesto,.impact,.route,.now,.jobs-access,.leadership,.spaces,.support-network,.home-faq,.access-hub,.contact-route) h2{font-size:clamp(2rem,3.3vw,2.75rem);line-height:1.13;letter-spacing:-.04em}body .stories blockquote{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.2}body .human-moments img,body .human-moments figure:nth-child(2) img{height:360px}body .human-moments figure:nth-child(2){margin-top:0}body .public-actions{grid-template-columns:1fr;max-width:640px}body .public-actions article{padding:20px}body .access-hub .b-card{display:none}body .access-hub{grid-template-columns:1fr 1fr;gap:32px}body .access-intro p{max-width:55ch}body .section-label{font-size:.875rem}body .spaces-intro,body .space-list,body .route-head,body .route-map{min-width:0}body .blab-intro .blab-wrap{max-width:1200px}body .blab-intro h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.12}body .blab-intro{padding-block:56px}body .blab-intro .actions{margin-top:24px}body .blab-intro-copy{max-width:65ch}body .blab-spaces{padding-block:56px}body .blab-photo img.blab-portrait{aspect-ratio:4/5;object-fit:cover}body .blab-space-copy{padding:24px}body .blab-use{scroll-margin-top:90px}body .blab-use .contact-options{max-width:700px}body .bs-intro{padding-block:32px}body .bs-intro h1{font-size:clamp(2.75rem,5vw,4.5rem)}body .bs-lead{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2}body .bs-registration{margin-top:24px;padding:24px;background:#f5f2ec}body .bs-email{display:inline-flex;min-height:44px;align-items:center;margin:8px 0 0 16px}body .bs-opening{margin-top:24px}
@media(max-width:700px){body :is(.site-header,.portal-header){padding-inline:20px}body .hero:has(.welcome-card){min-height:0;padding:36px 20px;align-items:start}body .hero .hero-copy{width:100%;padding:0}body .hero h1{font-size:clamp(2.25rem,9vw,2.75rem);line-height:1.12;margin:20px 0}body .hero-shade{background:#012f47ed}body .hero-intro{font-size:1.0625rem;line-height:1.6}body .hero .welcome-card{margin-top:24px}body .welcome-card dl div{grid-template-columns:1fr;gap:4px}body :is(.manifesto,.impact,.route,.human-moments,.now,.jobs-access,.leadership,.spaces,.support-network,.home-faq,.access-hub,.contact-route){padding:44px 20px}body :is(.manifesto,.impact,.route,.now,.jobs-access,.leadership,.spaces,.support-network,.home-faq,.access-hub,.contact-route) h2{font-size:clamp(1.75rem,7.5vw,2.25rem);line-height:1.15}body .human-moments{grid-template-columns:1fr;gap:24px}body .human-moments figure:nth-child(3){grid-column:auto}body .human-moments img,body .human-moments figure:nth-child(2) img{height:280px}body .human-moments figcaption{padding:12px 0}body .access-hub{grid-template-columns:1fr;gap:24px}body .access-hub .public-actions{margin:0}body .route-head{position:static}body .route-progress{margin-top:20px}body .station{min-height:0;padding:24px}body .station h3{font-size:1.5rem;line-height:1.2}body .station small{margin-top:16px}body .spaces{grid-template-columns:1fr;gap:24px}body .space-list article{min-width:0}body .space-list article>div{min-width:0}body .blab-intro{padding-block:32px}body .blab-intro h1{font-size:2.25rem}body .blab-lead{font-size:1.25rem}body .blab-spaces{padding-block:40px}body .blab-space-grid{gap:24px}body .blab-space h3{font-size:1.375rem}body .bs-intro{padding-block:24px}body .bs-intro h1{margin:12px 0}body .bs-summary{font-size:1rem}body .bs-label{letter-spacing:.07em}body .bs-opening{font-size:.9375rem;padding:16px}body .bs-email{margin-left:0;display:flex}body .bs-grid{gap:24px}body .bs-grid figure{max-width:440px}}
