/* ============================================================
   Shared header + full-screen menu + footer
   (used by events.html and the individual event pages)
   ============================================================ */

/* ---- Header ---- */
.site-header{
  position:fixed; top:0; left:0; right:0;
  z-index:800;
  display:flex; justify-content:space-between; align-items:center;
  padding:1.1rem var(--gutter);
  color:var(--ink);
  transition:color .4s var(--ease-out);
}
.site-header.is-on-dark,
.site-header.is-menu-open{ color:#ffffff; }
.site-header__logo{ position:relative; display:block; line-height:0; }
.site-header__logo-img{
  height:clamp(38px, 5.5vw, 48px);
  width:auto; display:block;
  transition:opacity .4s var(--ease-out);
}
.site-header__logo-img--on-dark{ position:absolute; inset:0; opacity:0; }
.site-header.is-on-dark .site-header__logo-img--on-light,
.site-header.is-menu-open .site-header__logo-img--on-light{ opacity:0; }
.site-header.is-on-dark .site-header__logo-img--on-dark,
.site-header.is-menu-open .site-header__logo-img--on-dark{ opacity:1; }

/* ---- Menu toggle ---- */
.menu-toggle{
  position:relative; z-index:2;
  display:inline-flex; align-items:center;
  background:transparent; border:0; color:inherit;
  padding:.45rem 0; cursor:pointer;
}
.menu-toggle__icon{ position:relative; width:31px; height:15px; flex:none; }
.menu-toggle__icon i{
  position:absolute; left:0; width:100%; height:1.5px;
  background:currentColor; border-radius:2px;
  transition:transform .5s var(--ease-out), top .35s var(--ease-out), opacity .3s var(--ease-out);
}
.menu-toggle__icon i:nth-child(1){ top:0; }
.menu-toggle__icon i:nth-child(2){ top:7px; }
.menu-toggle__icon i:nth-child(3){ top:14px; }
.menu-toggle.is-active .menu-toggle__icon i:nth-child(1){ top:7px; transform:rotate(45deg); }
.menu-toggle.is-active .menu-toggle__icon i:nth-child(2){ opacity:0; }
.menu-toggle.is-active .menu-toggle__icon i:nth-child(3){ top:7px; transform:rotate(-45deg); }

/* ---- Full-screen menu ---- */
.menu{
  position:fixed; inset:0; z-index:700;
  visibility:hidden; pointer-events:none;
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(6rem,14vh,10rem) var(--gutter) clamp(2rem,6vh,4rem);
  color:var(--ecru);
  background:var(--ink);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .8s var(--ease-out), visibility 0s linear .8s;
}
.menu.is-open{
  visibility:visible; pointer-events:auto;
  clip-path:inset(0 0 0% 0);
  transition:clip-path .8s var(--ease-out);
}
.menu__inner{ width:100%; max-width:74rem; margin:0 auto; }
.menu__list{ list-style:none; }
.menu__item{ border-top:1px solid rgba(255,255,255,.12); }
.menu__item:last-child{ border-bottom:1px solid rgba(255,255,255,.12); }
.menu__link{
  display:flex; align-items:baseline; gap:clamp(1rem,3vw,2.6rem);
  padding:clamp(.45rem,1.5vh,1.05rem) 0;
}
.menu__index{
  flex:none; width:2.4ch;
  font-size:.7rem; letter-spacing:.18em;
  color:var(--rose); opacity:.65;
  transition:opacity .4s var(--ease-out), transform .55s var(--ease-out);
}
.menu__label{ display:block; overflow:hidden; line-height:1.02; padding:0 2rem .2em 0; margin:0 -2rem -.2em 0; }
.menu__reveal{ display:block; transform:translateY(115%); transition:transform .7s var(--ease-out); }
.menu.is-open .menu__reveal{ transform:translateY(0); }
.menu.is-open .menu__item:nth-child(1) .menu__reveal{ transition-delay:.16s; }
.menu.is-open .menu__item:nth-child(2) .menu__reveal{ transition-delay:.23s; }
.menu.is-open .menu__item:nth-child(3) .menu__reveal{ transition-delay:.30s; }
.menu.is-open .menu__item:nth-child(4) .menu__reveal{ transition-delay:.37s; }
.menu.is-open .menu__item:nth-child(5) .menu__reveal{ transition-delay:.44s; }
.menu__label-in{
  display:inline-block;
  font-family:var(--font-display); font-weight:330;
  font-variation-settings:"opsz" 144, "SOFT" 60;
  font-size:clamp(2.7rem, 8.5vw, 6.2rem);
  letter-spacing:-0.02em;
  transition:transform .6s var(--ease-out), color .45s var(--ease-out);
  will-change:transform;
}
.menu__link:hover .menu__label-in{ color:var(--rose); transform:translateX(clamp(.6rem,2vw,1.7rem)); }
.menu__link:hover .menu__index{ opacity:1; transform:translateY(-.35em); }
.menu__aside{
  margin-top:clamp(2rem,5vh,4rem);
  display:flex; flex-wrap:wrap; gap:1.4rem 3rem;
  justify-content:space-between; align-items:flex-end;
  font-size:.8rem; letter-spacing:.02em; color:rgba(255,255,255,.72);
  opacity:0; transform:translateY(20px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
}
.menu.is-open .menu__aside{ opacity:1; transform:none; transition-delay:.4s; }
.menu__aside-label{ font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--rose); margin-bottom:.55rem; }
.menu__aside a{ transition:color .3s; }
.menu__aside a:hover{ color:#fff; }
.menu__socials{ display:flex; gap:1.5rem; }

/* ---- Footer ---- */
.site-foot{
  background:var(--ink); color:var(--ecru);
  padding:clamp(2.5rem, 6vh, 4.5rem) var(--gutter) 0;
}
.site-footer__grid{ display:grid; gap:2.5rem; grid-template-columns:1fr; }
.site-footer__brand img{ height:46px; width:auto; }
.site-footer__brand p{
  margin-top:1.2rem;
  font-family:var(--font-italic); font-style:italic;
  font-size:1.05rem; line-height:1.5;
  color:rgba(255,255,255,.7); max-width:30ch;
}
.site-footer__col h4{
  font-family:var(--font-ui);
  font-size:.62rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--rose); margin-bottom:1.3rem; font-weight:500;
}
.site-footer__col a{
  display:block; margin-bottom:.7rem;
  font-size:.92rem; color:rgba(255,255,255,.8); width:max-content;
  transition:color .3s;
}
.site-footer__col a:hover{ color:#ffffff; }
.site-footer__note{ font-size:.85rem; line-height:1.6; color:rgba(255,255,255,.55); margin-bottom:1rem; max-width:26ch; }
.site-footer__news{ display:flex; align-items:center; gap:.6rem; border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:.6rem; }
.site-footer__news input{ flex:1; min-width:0; background:transparent; border:0; color:#fff; font-family:var(--font-display); font-size:1.05rem; }
.site-footer__news input::placeholder{ color:rgba(255,255,255,.4); }
.site-footer__news input:focus{ outline:none; }
.site-footer__news button{ background:0; border:0; color:var(--rose); cursor:pointer; font-size:1.2rem; line-height:1; transition:transform .4s var(--ease-out); }
.site-footer__news button:hover{ transform:translateX(4px); }
.site-footer__base{
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between;
  margin-top:clamp(2.5rem, 6vh, 4rem); padding:1.6rem 0 2.2rem;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.5);
}
@media (min-width:760px){
  .site-footer__grid{ grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:3rem; }
}

/* ── Auralis credit link ── */
.auralis-link{
  color:inherit; text-decoration:none;
  position:relative; display:inline-block;
}
.auralis-link::after{
  content:""; position:absolute; left:0; bottom:-1px;
  width:100%; height:1px; background:currentColor;
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.auralis-link:hover::after{ transform:scaleX(1); }
