/* Reset + base */
*,*::before,*::after{ box-sizing:border-box }
html{ scroll-behavior:smooth }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto } }
body{
  margin:0;
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ac-white); background:var(--ac-black); line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; height:auto; display:block }
a{ color:inherit; text-decoration:none }
.container{ width:min(1140px, 100% - var(--container)*2); margin-inline:auto }
:focus-visible{ outline:2px solid var(--ac-gold); outline-offset:2px }
.visually-hidden{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }

/* Header / Nav */
.site-header{ position:fixed; inset-inline:0; top:0; z-index:60;
  background:linear-gradient(to bottom, rgba(11,11,11,.9), rgba(11,11,11,0));
  backdrop-filter:saturate(120%) blur(4px); border-bottom:1px solid rgba(255,255,255,.04)
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 0 }
.brand{ display:inline-flex; align-items:center; gap:.6rem; font-weight:700; letter-spacing:.04em }
.nav-toggle{ display:none; background:transparent; border:0; color:var(--ac-white); font-size:1.5rem }
.menu{ list-style:none; display:flex; gap:1rem; margin:0; padding:0 }
.menu a{ opacity:.9 } .menu a:hover{ opacity:1 }

@media (max-width:760px){
  .nav-toggle{ display:inline-flex }
  .menu{ position:fixed; inset-inline:var(--container); top:64px; display:none;
    flex-direction:column; background:var(--ac-dark); padding:1rem; border-radius:12px; border:1px solid #2a2a2a }
  .menu.is-open{ display:flex }
}

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.2rem; border-radius:999px; font-weight:600 }
.btn--gold{ background:var(--ac-gold); color:#111 } .btn--gold:hover{ filter:brightness(.96) }
.btn--ghost{ border:1px solid #2b2b2b } .btn--ghost:hover{ border-color:#3a3a3a }

/* Footer base (mantén lo que ya tienes) */
.site-footer{
  position: relative;
  background: var(--ac-black);
  border-top: 0;
  color:#a9a9a9;
  font-size:.95rem;

  /* solapa 24px con el CTA y compensa el padding */
  margin-top: -24px;
  padding-top: calc(38px + 24px);
}

/* Degradado que SUBE desde el footer (garantiza fundido) */
.site-footer::before{
  content:"";
  position:absolute;
  left:0; right:0; top:-96px; height:96px;
  background: linear-gradient(to bottom,
               rgba(0,0,0,0) 0%,
               rgba(0,0,0,.55) 60%,
               var(--ac-black) 100%);
  pointer-events:none;
  z-index:0;
}
