/* Tema Oliver · layout.css — cabecera, subnavegación, "o" de estadio, hero (líneas 79–132) y pie, fundido, cabeceras de sección, aniversario (líneas 260–284). Sin cambios. */
/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{min-height:44px;display:flex;align-items:center;color:var(--cyan);text-decoration:none}
.brand svg{height:22px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.93rem;font-weight:500;text-decoration:none;padding:8px 12px;border-radius:var(--r-pill);color:var(--muted)}
.nav a:hover{color:var(--ink);background:var(--surface)}
.nav a[aria-current="page"]{color:var(--ink);background:var(--surface)}
.top .btn{padding:11px 18px;min-height:44px;font-size:.9rem}
.menu-btn{min-height:44px;display:none;align-items:center;gap:10px;margin:0 0 0 auto;background:none;border:1.5px solid var(--ink);color:var(--ink);border-radius:var(--r-pill);padding:0 18px;font:600 .9rem/1 var(--sans);cursor:pointer}
.menu-btn svg{width:18px;height:18px;flex:none}
@media(max-width:1000px){
  .menu-btn{display:inline-flex}
  .top .btn{display:none}
  .nav{position:absolute;left:0;right:0;top:72px;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:12px max(16px,env(safe-area-inset-left,0px)) 20px;display:none}
  .nav.open{display:flex}
  .nav a{padding:12px 14px;font-size:1.05rem}
  .nav .btn{display:inline-flex;margin-top:8px;justify-content:center;color:var(--on-cyan);background:var(--cyan)}
}
@media(min-width:1001px){.nav .nav-cta{display:none}}

/* Sub-nav (secciones) */
.subnav{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.subnav a{flex:none;display:inline-flex;align-items:center;min-height:44px;font-size:.88rem;font-weight:600;text-decoration:none;padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--line);color:var(--muted)}
.subnav a:hover{color:var(--ink);border-color:var(--ink)}

/* Stadium "o" — el signo de la marca */
.pill{border-radius:var(--r-pill);overflow:hidden;background:var(--surface);aspect-ratio:2/1;max-width:100%}
.pill img{width:100%;height:100%;object-fit:cover}
.pill.tall{aspect-ratio:1/1.35;border-radius:999px}
.pill.bw img{filter:grayscale(1) contrast(1.05)}
figure{margin:0}
figcaption{font-size:.8rem;color:var(--muted);margin-top:10px}
.ring{position:absolute;color:var(--cyan);pointer-events:none;overflow:visible}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--band);color:var(--band-fg);padding-block:clamp(56px,8vw,112px) clamp(64px,8vw,104px)}
.hero .eyebrow{color:var(--cyan)}
.hero .lead{color:var(--band-muted);max-width:56ch}
.hero-grid{display:grid;gap:48px;align-items:center;position:relative}
@media(min-width:960px){.hero-grid{grid-template-columns:1.2fr .9fr}}
.hero-grid>*{min-width:0}
.hero-media{position:relative}
.hero-media .pill{aspect-ratio:1/1.12;border-radius:999px}
.hero-media .ring{top:-18px;right:-18px;width:49.6%;height:auto;aspect-ratio:780.19/518.68;z-index:1}
.hero .btn-ghost{color:var(--band-fg)}
.hero-tag{position:absolute;left:-8px;bottom:28px;background:var(--cyan);color:var(--on-cyan);font:600 .8rem/1 var(--sans);letter-spacing:.12em;padding:12px 18px;border-radius:var(--r-pill)}
.hero h1 em{font-style:italic;color:var(--cyan)}
.page-hero{padding-block:clamp(56px,7vw,96px) clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem);max-width:18ch}
.page-hero .lead{margin-top:20px}


/* Footer */
footer{background:var(--band);color:var(--band-fg);padding-block:64px 40px}
footer .wrap{display:grid;gap:40px}
.foot-top{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.foot-brand svg{height:30px;width:auto;color:var(--band-fg)}
.foot-brand .legend{font-size:.68rem;letter-spacing:.2em;font-weight:600;margin-top:10px;color:var(--band-muted)}
footer h2.fh{font:700 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none;color:var(--band-fg)}
footer a:hover{color:var(--cyan)}
footer .small{color:var(--band-muted)}
.foot-bottom{border-top:1px solid var(--band-line);padding-top:24px;display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;font-size:.85rem;color:var(--band-muted)}
.foot-bottom nav{display:flex;gap:20px;flex-wrap:wrap}
.foot-seal{display:flex;gap:14px;align-items:center}
.foot-seal svg{width:64px;height:64px;color:var(--band-fg)}

[data-page]{animation:fade .35s ease}
@keyframes fade{from{opacity:.4}to{opacity:1}}
.section-head{display:grid;gap:16px;margin-bottom:clamp(32px,4vw,56px)}
.mt{margin-top:clamp(40px,5vw,72px)}
.anniv{position:relative;overflow:hidden}
.anniv .ring{display:none;right:-120px;top:50%;transform:translateY(-50%);width:min(520px,60vw);height:auto;aspect-ratio:780.19/518.68}
.anniv .wrap{position:relative}
.anniv .years{font-family:var(--display);font-size:clamp(3rem,8vw,6.5rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:lining-nums}
@media(min-width:900px){.anniv .ring{display:block}}
