/* Cabecera del layout "site". Escritorio: fila normal. Hasta 970px: barra fija
   y nav en un panel (Popover API, sin JS). Sin soporte de popover, el nav queda
   como una fila desplazable bajo el logo. */
.site-header{background:var(--paper)}
.header-inner{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.brand{display:block;width:245px;flex-shrink:0;text-decoration:none}
.brand img{display:block;width:100%;height:auto}
.menu-toggle,.nav-programs{display:none}
.site-header nav{display:flex;align-items:center;gap:27px;position:static;inset:auto;width:auto;height:auto;margin:0;padding:0;border:0;overflow:visible;background:none;color:inherit}
.site-header nav a{color:inherit;font-size:13px;text-decoration:none}
.site-header nav a:hover{color:var(--yellow)}
.site-header .nav-cta{background:var(--ink);border-radius:999px;color:#0b0b0d;padding:11px 18px;font-size:11px;font-weight:900;letter-spacing:.09em;white-space:nowrap}
.site-header nav a.nav-cta:hover{background:var(--yellow);color:#0b0b0d}
.site-header a:focus-visible,.menu-toggle:focus-visible,.nav-programs summary:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@media(max-width:1050px){.brand{width:200px}.header-inner{gap:18px}}
@media(max-width:970px){
  html[data-layout="site"]{scroll-padding-top:76px}
  .site-header{--bar:64px;position:sticky;top:0;z-index:50;background:rgb(11 11 13 / .94);box-shadow:0 1px 0 var(--line)}
  .header-inner{min-height:0;flex-wrap:wrap;gap:0 16px;padding-block:8px}
  .brand{width:150px}
  .site-header nav{flex:1 0 100%;gap:0 22px;overflow-x:auto;scrollbar-width:none}
  .site-header nav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
  @supports selector(:popover-open){
    .site-header{background:rgb(11 11 13 / .96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
    .header-inner{flex-wrap:nowrap;height:var(--bar);padding-block:0}
    .menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:800 12px/1 Poppins,Arial,Helvetica,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
    .menu-toggle-close{display:none}
    .site-header:has(nav:popover-open) .menu-toggle-open{display:none}
    .site-header:has(nav:popover-open) .menu-toggle-close{display:inline}
    .menu-toggle-icon{position:relative;width:18px;height:10px}
    .menu-toggle-icon::before,.menu-toggle-icon::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:1px;background:currentColor;transition:top .2s,transform .2s}
    .menu-toggle-icon::before{top:0}
    .menu-toggle-icon::after{top:8px}
    .site-header:has(nav:popover-open) .menu-toggle-icon::before{top:4px;transform:rotate(45deg)}
    .site-header:has(nav:popover-open) .menu-toggle-icon::after{top:4px;transform:rotate(-45deg)}
    .site-header nav{position:fixed;inset:var(--bar) 0 0 0;flex:none;display:none;flex-direction:column;align-items:stretch;gap:0;padding:4px 16px calc(24px + env(safe-area-inset-bottom));background:var(--paper);overflow-y:auto;overscroll-behavior:contain;opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,display .18s allow-discrete,overlay .18s allow-discrete}
    .site-header nav:popover-open{display:flex;opacity:1;transform:none}
    @starting-style{.site-header nav:popover-open{opacity:0;transform:translateY(-8px)}}
    .site-header nav a:not(.nav-cta),.nav-programs summary{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:0 4px;font-size:clamp(20px,5.6vw,24px);font-weight:600;line-height:1.2;letter-spacing:-.01em;white-space:normal}
    .site-header nav a:not(.nav-cta)::after,.nav-programs summary::after{content:"";flex:none;width:9px;height:9px;margin-right:4px;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg);transition:transform .2s}
    .site-header nav a.nav-programs-link:has(+ .nav-programs){display:none}
    .nav-programs{display:block}
    .nav-programs summary{list-style:none;cursor:pointer}
    .nav-programs summary::-webkit-details-marker{display:none}
    .nav-programs[open] summary::after{transform:rotate(135deg)}
    .site-header nav .nav-programs-list{display:grid;margin:0 0 8px 4px;padding-left:16px;border-left:2px solid var(--line)}
    .site-header nav .nav-programs-list a{min-height:52px;padding:0 4px;font-size:clamp(16px,4.6vw,19px);font-weight:500;color:var(--muted)}
    .site-header nav .nav-programs-list a::after{display:none}
    .site-header nav .nav-programs-list a:last-child{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
    .site-header nav a[aria-current=page]{color:var(--red)}
    .site-header nav a:not(.nav-cta):hover,.nav-programs summary:hover{color:var(--yellow)}
    .site-header nav>a:nth-last-child(2){margin-bottom:32px}
    .site-header .nav-cta{display:flex;align-items:center;justify-content:center;margin-top:auto;min-height:56px;padding:18px 24px;font-size:12px}
    html:has(.site-header nav:popover-open){overflow:hidden}
    @media(min-width:731px){.site-header nav{padding-inline:24px}}
  }
}
@media(max-width:380px){.brand{width:125px}}
@media(prefers-reduced-motion:reduce){.site-header nav,.site-header nav a::after,.nav-programs summary::after,.menu-toggle-icon::before,.menu-toggle-icon::after{transition:none}}
/* Con Eventos y Libros en el menú: enlaces en una línea y algo más juntos en escritorio */
@media(min-width:1001px){.site-header nav{gap:20px}.site-header nav a{white-space:nowrap}}
