/* Shared mobile refinements, loaded after each page's established theme. */
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #0879b8;outline-offset:4px}
:where(.hero-grid,.home-cpo-grid,.discovery-grid)>*{min-width:0}
:where(input,select,textarea){max-width:100%;font-size:16px}
:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,button.button){min-height:48px}
:where(.button,.hero-actions .text-link){white-space:normal;overflow-wrap:anywhere}
:where(.preview-table,.comparison):focus-visible{outline:3px solid #0879b8;outline-offset:4px}
.discovery-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.menu-toggle{width:48px;height:48px;flex-shrink:0}
.site-menu .nav-resources{position:relative;margin:0;padding:0;border:0;font:inherit;color:inherit}
.site-menu .nav-resources summary{cursor:pointer;display:flex;align-items:center;gap:8px;min-height:48px;font:inherit;font-weight:700;list-style:none}
.site-menu .nav-resources summary::-webkit-details-marker{display:none}
.site-menu .nav-resources summary::after{content:'+';font-size:18px}
.site-menu .nav-resources[open] summary::after{content:'−'}
.site-menu .nav-resource-links{padding:8px;background:#103347;border:1px solid #517282;border-radius:10px}
.site-menu .nav-resource-links a{display:block;min-height:48px;white-space:normal;color:#fff;padding:12px 16px;font-weight:600;line-height:1.5}
/* One navigation layout at all compact widths; no clipping beyond the viewport. */
@media(max-width:1399px){
 .menu-toggle{display:block}
 .site-menu,.spanish-page .site-menu{position:fixed;inset:84px 18px auto;display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px;border:1px solid #517282;border-radius:16px;background:#103347;max-height:calc(100dvh - 110px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
 .site-menu.open,.spanish-page .site-menu.open{display:flex}
 .site-menu>a,.site-menu .nav-resources summary{padding:12px 15px;min-height:48px;white-space:normal;line-height:1.5}
 .site-menu .nav-resource-links{margin:0 8px 12px;background:#163f53}
 .site-menu .nav-cta{margin:8px 0}
}
@media(min-width:1400px){
 .nav-shell{width:calc(100% - 48px);max-width:1760px}
 .menu-toggle{display:none}
 .site-menu,.spanish-page .site-menu{position:static;inset:auto;display:flex;flex-direction:row;align-items:center;gap:16px;padding:0;border:0;border-radius:0;background:none;max-height:none;overflow:visible;box-shadow:none}
 .site-menu>a{padding:12px 0;white-space:nowrap}
 .site-menu .nav-cta{padding:12px 16px}
 .site-menu .nav-resource-links{position:absolute;right:0;top:100%;width:270px;max-height:calc(100dvh - 125px);overflow-y:auto;box-shadow:0 15px 35px #0003}
}
@media(max-width:850px){.discovery-grid{grid-template-columns:minmax(0,1fr);gap:25px}.discovery-panel .button{width:100%}}
@media(max-width:640px){
 .site-menu,.spanish-page .site-menu{top:72px}
 .hero-actions{align-items:stretch}
 .hero-actions .text-link{min-height:48px;display:flex;align-items:center;white-space:normal}
 .discovery-panel{padding:20px}
 header nav a{display:inline-flex;align-items:center;min-height:48px}
 .preview-table::before,.comparison::before{content:'Swipe or scroll to see all columns →';display:block;font:600 14px/1.5 'Segoe UI',sans-serif;padding:12px;color:#153e56;background:#edf6fa;position:sticky;left:0;width:calc(100vw - 72px);max-width:100%;box-sizing:border-box}
 :lang(es) .preview-table::before,:lang(es) .comparison::before{content:'Deslice para ver todas las columnas →'}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.site-menu .nav-resources summary{color:#fff;font-size:14px}
@media(max-width:640px){.hero-actions .button-primary{white-space:normal;max-width:100%}}
