/* Common sizing, navigation and accessibility. Loaded after page styles. */
html{font-size:100%;scroll-padding-top:100px}
body{font-size:1rem;line-height:1.62}
body.modal-open{overflow:hidden}
:root{--header-h:88px}
.site-header{height:var(--header-h)}
.brand-text strong{font-size:.92rem}
.brand-text span{font-size:.72rem;color:#d1ded5}
.nav-link,.nav-trigger{font-size:.9375rem;min-height:44px}
.dropdown a{font-size:.9375rem;min-height:44px}
.mega-links a,.mega-all{font-size:.875rem;min-height:44px}
.mega-intro p{font-size:.875rem;line-height:1.6;color:#e1eade}
.mega-heading{font-size:.9375rem}
.nav-link,.nav-trigger{padding-inline:9px}
.mega-menu{grid-template-columns:230px 1fr 1fr;width:min(1000px,calc(100vw - 40px))}
.mega-links li{list-style:none}
.mega-links a{display:flex;align-items:center}
.dropdown,.mega-menu{top:100%}
/* Buttons control desktop panels too; hover does not override expanded state. */
@media(min-width:1201px){
 .site-header .dropdown:not(.open){opacity:0;visibility:hidden;transform:translateY(-8px)}
 .site-header .mega-menu:not(.open){opacity:0;visibility:hidden;transform:translate(-50%,-8px)}
 .site-header .dropdown.open{opacity:1;visibility:visible;transform:none}
 .site-header .mega-menu.open{opacity:1;visibility:visible;transform:translate(-50%,0)}
}
@media(max-width:1200px){
 .desktop-nav{position:fixed;top:var(--header-h);right:0;width:min(440px,100%);height:calc(100dvh - var(--header-h));padding:17px;background:#091d15;transform:translateX(100%);overflow-y:auto;visibility:hidden}
 .desktop-nav.open{transform:none;visibility:visible}
 .menu-toggle{display:grid;place-items:center}
 .nav-list{display:grid;gap:5px}
 .nav-item,.mega-parent{position:relative;width:100%}
 .nav-link,.nav-trigger{width:100%;justify-content:space-between;padding-inline:15px}
 .nav-link.highlight{margin:8px 0 0;justify-content:center}
 .site-header .dropdown,.site-header .mega-menu{position:static;width:100%;display:none;margin:4px 0 9px;padding:9px;opacity:1;visibility:visible;transform:none!important;box-shadow:none;background:#ffffff0e;border-color:#ffffff18}
 .site-header .dropdown.open{display:block}
 .site-header .mega-menu.open{display:grid;grid-template-columns:1fr}
 .mega-intro{display:none}
 .mega-column{padding:10px;background:#ffffff0e}
 .mega-heading{color:#fff;border-color:#ffffff18}
 .mega-heading i{color:var(--gold-400)}
 .dropdown a,.mega-links a{color:#e0e9e2}
 .dropdown a:hover,.mega-links a:hover{color:#fff;background:#ffffff18}
 .mega-links .area-link{color:var(--gold-400);background:#d9a44114}
}
@media(max-width:720px){
 :root{--header-h:80px}
 .header-inner{gap:10px}
 .brand{gap:8px}
 .brand img{width:40px;height:40px}
 .brand-text strong{font-size:.78rem}
 .brand-text span{font-size:.65rem;max-width:210px}
 .menu-toggle{flex-shrink:0}
 .hero-stats-inner{grid-template-columns:1fr;gap:8px}
 .hero-stat{display:flex;align-items:center;gap:12px;padding:8px 12px}
 .hero-stat span{font-size:.875rem}
 .hero-stat strong{font-size:1.25rem}
 .page-index .hero{padding-bottom:255px;min-height:900px}
 .footer-grid{grid-template-columns:1fr;gap:32px}
}
.footer-copy{font-size:.9375rem}
.footer-col ul,.footer-col h3{font-size:.9375rem}
.footer-brand span{font-size:.875rem;color:#c1cfc5}
.footer-bottom{font-size:.875rem;color:#c1cfc5}
.footer-grid{gap:36px}
.footer-brand img{flex-shrink:0}
.simple-page{padding-block:calc(var(--header-h) + 60px) 90px;min-height:65vh}
.simple-page p,.simple-page ul{margin-top:24px;max-width:75ch}
.simple-page h2{margin-top:36px}
.simple-page .eyebrow{color:var(--forest-700);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.simple-page .section-title{margin-top:16px;font-family:"DM Serif Display",serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;font-weight:400;color:var(--forest-950)}
.simple-page ul{padding-left:24px}
.simple-page li{margin-block:12px}
.simple-page a{text-decoration:underline;text-underline-offset:4px;color:var(--forest-700)}
.simple-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:36px}
.enrollment-notice{margin-top:32px;padding:clamp(24px,4vw,44px);max-width:850px;border:1px solid var(--sand-200);border-left:5px solid var(--gold-500);border-radius:20px;background:var(--cream-100)}
.enrollment-notice h2{margin-top:0;color:var(--forest-900);font-size:clamp(1.4rem,3vw,1.8rem);line-height:1.3}
.enrollment-notice p{margin-top:18px}
.enrollment-notice .simple-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700}
.skip-link{position:fixed;top:8px;left:8px;z-index:2000;padding:12px;background:#fff;color:#123328;transform:translateY(-160%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #d9a441;outline-offset:4px}
[data-reveal]{opacity:1;transform:none}
.reveal-ready [data-reveal]:not(.revealed){opacity:0;transform:translateY(22px)}
@media(prefers-reduced-motion:reduce){.reveal-ready [data-reveal]:not(.revealed){opacity:1;transform:none}}
.page-ornamentales #contenido{padding-top:var(--header-h)}
.page-ornamentales #contenido .hero{max-width:1180px;margin-inline:auto}
.page-ornamentales #contenido .section{max-width:1180px;margin-inline:auto}
img{height:auto}
button,input,select,textarea{font:inherit}
/* Let the introductory content grow with larger text and browser zoom. */
.page-index .hero{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:40px;padding:72px 0 40px;min-height:0}
.page-index .hero-content{padding-top:0}
.page-index .hero-stats{position:static;width:100%}
