/* ============================================================
   FIESTA7 — La misma comunidad, otra versión
   18.09.26 · Zura Multiespacios · Venado Tuerto, Santa Fe
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  --bg:        #08080a;
  --bg-2:      #0e0e12;
  --bg-3:      #15151a;
  --red:       #ee4145;
  --red-hi:    #ff5f63;
  --red-deep:  #7d1216;
  --white:     #fefefe;

  --txt:       rgba(254,254,254,.92);
  --muted:     rgba(254,254,254,.54);
  --faint:     rgba(254,254,254,.30);
  --line:      rgba(254,254,254,.10);
  --line-2:    rgba(254,254,254,.18);

  --display: "Bodoni Moda", "Didot", "Playfair Display", Georgia, "Times New Roman", serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --pad: clamp(1.25rem, 5vw, 4rem);
  --maxw: 1240px;
  --sect: clamp(5rem, 12vw, 9.5rem);

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{ margin:0; }
ul[class]{ list-style:none; margin:0; padding:0; }
img,svg{ display:block; max-width:100%; }
button,input,select,textarea{ font:inherit; color:inherit; }
a{ color:inherit; text-decoration:none; }

body{
  background:var(--bg);
  color:var(--txt);
  font-family:var(--sans);
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.65;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* film grain */
body::after{
  content:"";
  position:fixed; inset:-50%;
  pointer-events:none; z-index:9999;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

::selection{ background:var(--red); color:#fff; }

/* ---------- 3. Helpers ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.eyebrow{
  font-size:.7rem; font-weight:600; letter-spacing:.28em;
  text-transform:uppercase; color:var(--red);
  display:inline-flex; align-items:center; gap:.65rem;
}
.eyebrow--muted{ color:var(--faint); }
.dot{
  width:6px; height:6px; border-radius:50%; background:var(--red);
  box-shadow:0 0 0 0 rgba(238,65,69,.7);
  animation:pulse 2.4s var(--ease) infinite;
  flex:none;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(238,65,69,.55); }
  70%{ box-shadow:0 0 0 12px rgba(238,65,69,0); }
  100%{ box-shadow:0 0 0 0 rgba(238,65,69,0); }
}
.h2{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(2.3rem,1.4rem + 4.2vw,4.6rem);
  line-height:1.03;
  letter-spacing:-.02em;
}
.h2 em{ font-style:italic; color:var(--red); }
.lead{ color:var(--muted); max-width:56ch; font-size:1.05rem; }

section{ position:relative; }
.sect{ padding-block:var(--sect); }

/* ---------- 4. Buttons ---------- */
.btn{
  --bh:#ff5457;
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:.7rem;
  padding:1.05rem 2.1rem;
  background:var(--red); color:#fff;
  font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  border:1px solid var(--red); border-radius:999px;
  cursor:pointer;
  transition:transform .35s var(--ease), background .3s, box-shadow .35s var(--ease);
  box-shadow:0 10px 40px -12px rgba(238,65,69,.85);
}
.btn:hover{ background:var(--bh); transform:translateY(-3px); box-shadow:0 18px 48px -14px rgba(238,65,69,1); }
.btn:active{ transform:translateY(-1px); }
.btn::after{
  content:""; position:absolute; top:0; left:-140%;
  width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);
  transform:skewX(-20deg);
  transition:left .7s var(--ease);
}
.btn:hover::after{ left:150%; }
.btn svg{ flex:none; }

.btn--ghost{
  background:transparent; color:var(--txt);
  border-color:var(--line-2); box-shadow:none;
}
.btn--ghost:hover{ background:rgba(254,254,254,.06); border-color:var(--white); box-shadow:none; }
.btn--sm{ padding:.72rem 1.35rem; font-size:.68rem; letter-spacing:.15em; }

:where(a,button,summary):focus-visible{
  outline:2px solid var(--red-hi);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- 5. Nav ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:200;
  transition:background .4s var(--ease), border-color .4s, backdrop-filter .4s;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(8,8,10,.78);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:var(--line);
}
.nav__in{
  display:flex; align-items:center; gap:2rem;
  height:76px;
}
.nav__brand{ display:flex; align-items:center; margin-right:auto; position:relative; z-index:2; }
.nav__brand img{ height:28px; width:auto; display:block; }
@media (max-width:640px){ .nav__brand img{ height:24px; } }
.nav__links{ display:flex; align-items:center; gap:2rem; }
.nav__links a{
  font-size:.72rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); position:relative; padding-block:.35rem;
  transition:color .25s;
}
.nav__links a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--red); transition:width .35s var(--ease);
}
.nav__links a:hover{ color:var(--white); }
.nav__links a:hover::after{ width:100%; }

.burger{
  display:none; width:44px; height:44px; margin-right:-10px;
  background:none; border:0; cursor:pointer; position:relative; z-index:2;
}
.burger i{
  display:block; height:1.5px; width:22px; margin:5px auto; background:var(--white);
  transition:transform .35s var(--ease), opacity .2s;
}
.nav.is-open .burger i:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav.is-open .burger i:nth-child(2){ opacity:0; }
.nav.is-open .burger i:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

@media (max-width:940px){
  .nav__links{
    position:fixed; inset:0; z-index:1;
    flex-direction:column; justify-content:center; gap:2.2rem;
    background:rgba(8,8,10,.97);
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s;
  }
  .nav.is-open .nav__links{ opacity:1; visibility:visible; }
  .nav__links a{ font-size:1rem; letter-spacing:.22em; color:var(--txt); }
  .burger{ display:block; }
  .nav__cta{ display:none; }
  .nav.is-open .nav__cta{
    display:inline-flex; position:fixed; z-index:1;
    left:50%; transform:translateX(-50%); bottom:12vh;
  }
}

/* ---------- 6. Ticker ---------- */
.ticker{
  --dur:38s;
  overflow:hidden; width:100%;
  border-block:1px solid var(--line);
  background:rgba(254,254,254,.02);
  padding-block:.85rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.ticker__track{
  display:flex; width:max-content;
  animation:marquee var(--dur) linear infinite;
}
.ticker--rev .ticker__track{ animation-direction:reverse; }
.ticker:hover .ticker__track{ animation-play-state:paused; }
.ticker ul{ display:flex; align-items:center; flex:none; }
.ticker li{
  display:flex; align-items:center; gap:1.6rem;
  padding-inline:1.6rem;
  font-size:.72rem; font-weight:600; letter-spacing:.3em; text-transform:uppercase;
  white-space:nowrap; color:var(--faint);
}
.ticker li b{ color:var(--white); font-weight:600; }
.ticker li i{ color:var(--red); font-style:normal; font-size:.85em; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

.ticker--big{ border:0; background:none; padding-block:0; }
.ticker--big li{
  font-family:var(--display); font-size:clamp(2.6rem,8vw,6rem);
  letter-spacing:-.01em; text-transform:uppercase; font-weight:500;
  color:transparent; -webkit-text-stroke:1px rgba(254,254,254,.17);
  padding-inline:1.4rem; gap:1.4rem;
}
.ticker--big li i{ -webkit-text-stroke:0; color:var(--red); font-size:.32em; }

/* ---------- 7. Hero ---------- */
.hero{
  position:relative; min-height:100svh;
  display:flex; flex-direction:column;
  padding-top:76px; padding-bottom:clamp(1.25rem,3vw,2rem); overflow:hidden;
}
.hero__glow{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.hero__glow::before,.hero__glow::after{
  content:""; position:absolute; border-radius:50%; filter:blur(90px);
}
.hero__glow::before{
  width:min(70vw,900px); aspect-ratio:1;
  left:50%; top:34%; translate:-50% -50%;
  background:radial-gradient(circle,rgba(238,65,69,.30),transparent 65%);
  animation:breathe 11s ease-in-out infinite;
}
.hero__glow::after{
  width:min(48vw,560px); aspect-ratio:1;
  right:-10%; bottom:-14%;
  background:radial-gradient(circle,rgba(125,18,22,.55),transparent 68%);
  animation:breathe 14s ease-in-out infinite reverse;
}
@keyframes breathe{
  0%,100%{ transform:scale(1); opacity:.85; }
  50%{ transform:scale(1.16); opacity:1; }
}
.hero__veil{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 72% 62% at 50% 38%, rgba(238,65,69,.085) 0%, transparent 62%),
    radial-gradient(ellipse 84% 56% at 72% 86%, rgba(125,18,22,.22) 0%, transparent 58%),
    radial-gradient(ellipse 100% 78% at 50% 100%, rgba(8,8,10,0) 42%, rgba(8,8,10,.88) 88%),
    linear-gradient(180deg, rgba(8,8,10,0) 78%, rgba(8,8,10,.72) 100%);
}
.hero__veil::after{
  content:""; position:absolute; inset:0;
  background: radial-gradient(ellipse 92% 92% at 50% 50%, transparent 62%, rgba(8,8,10,.52) 100%);
}
.hero__veil::before{
  content:""; position:absolute; inset:0;
  opacity:.32;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cg fill='none' stroke='rgba(254,254,254,.05)' stroke-width='.6'%3E%3Cpath d='M0 100 H300 M0 200 H300 M100 0 V300 M200 0 V300'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 300px 300px;
  -webkit-mask-image: radial-gradient(ellipse 78% 68% at 50% 42%, #000 28%, transparent 78%);
  mask-image: radial-gradient(ellipse 78% 68% at 50% 42%, #000 28%, transparent 78%);
}

.hero__body{
  position:relative; z-index:2;
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:clamp(1.1rem,2.2vw,1.75rem);
  padding-block:clamp(2rem,4vw,3.25rem);
}
.hero__mark{ width:min(90vw,940px); }
/* pantallas bajas: achicamos el logotipo para que el CTA no quede bajo el pliegue */
@media (max-height:900px){ .hero__mark{ width:min(88vw,760px); } }
@media (max-height:780px){ .hero__mark{ width:min(86vw,640px); } }
.hero__mark svg{ width:100%; height:auto; overflow:visible; }
.hero__mark path{
  opacity:0;
  animation:markIn .9s var(--ease) forwards;
}
@keyframes markIn{
  from{ opacity:0; transform:translateY(26px) scale(.97); filter:blur(6px); }
  to{ opacity:1; transform:none; filter:none; }
}
.hero__lema{
  font-family:var(--display); font-style:italic; font-weight:400;
  font-size:clamp(1.15rem,.85rem + 1.5vw,2.05rem);
  line-height:1.3; color:var(--txt);
}
.hero__lema b{ color:var(--red); font-weight:400; }

.hero__meta{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:.85rem clamp(1rem,3vw,2.2rem);
  font-size:.72rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted);
}
.hero__meta span{ display:inline-flex; align-items:center; gap:.7rem; }
.hero__meta span+span::before{
  content:""; width:4px; height:4px; border-radius:50%;
  background:var(--red); opacity:.9;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:.85rem; justify-content:center; }

/* rotating badge */
.badge{
  position:absolute; right:clamp(1rem,4vw,3.6rem); bottom:clamp(6.5rem,11vw,8rem);
  width:clamp(104px,11vw,150px); aspect-ratio:1; z-index:3;
  display:grid; place-items:center;
}
.badge__ring{ position:absolute; inset:0; animation:spin 24s linear infinite; }
.badge__ring text{
  font-family:var(--sans); font-size:9.2px; font-weight:600;
  text-transform:uppercase; fill:var(--white);
}
.badge__core{ width:32%; }
.badge__core svg{ width:100%; height:auto; }
@keyframes spin{ to{ transform:rotate(360deg); } }



@media (max-width:700px){
  /* el sello va abajo a la derecha: arriba se superponia con el ticker */
  .badge{
    right:1.1rem; top:auto; translate:none;
    bottom:1.25rem; width:72px;
  }
  /* reservamos espacio abajo para que el sello no pise los botones */
  .hero__body{ padding-block:2.5rem 6rem; }
  /* sin separadores: apilados quedaban con un punto colgando al inicio de línea */
  .hero__meta{ gap:.6rem 1.1rem; }
  .hero__meta span+span::before{ display:none; }
}

/* ---------- 8. Countdown ---------- */
.count{
  background:
    radial-gradient(ellipse 70% 100% at 50% 0%,rgba(238,65,69,.13),transparent 70%),
    var(--bg);
  border-top:1px solid var(--line);
}
.count__head{
  text-align:center; display:grid; gap:1rem; justify-items:center;
  margin-bottom:clamp(2.5rem,6vw,4rem);
}
.count__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(.5rem,2vw,1.5rem);
  max-width:1000px; margin-inline:auto;
}
.cd{
  position:relative; text-align:center;
  padding:clamp(1.2rem,3vw,2.2rem) .5rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(254,254,254,.045),rgba(254,254,254,.008));
  overflow:hidden;
}
.cd::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(238,65,69,.85),transparent);
}
.cd__num{
  display:block;
  font-family:var(--display); font-weight:600;
  font-size:clamp(2.6rem,1rem + 9vw,7rem);
  line-height:1; letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
  color:var(--white);
}
.cd--sec .cd__num{ color:var(--red); }
.cd__lbl{
  display:block; margin-top:.85rem;
  font-size:.6rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:var(--faint);
}
.count__when{
  margin-top:clamp(2rem,5vw,3rem); text-align:center;
  font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted);
}
.count__when b{ color:var(--white); font-weight:600; }
.count__live{ display:none; text-align:center; }
.count.is-live .count__grid{ display:none; }
.count.is-live .count__live{ display:grid; gap:1.5rem; justify-items:center; }
.count__live p{
  font-family:var(--display); font-size:clamp(2.4rem,8vw,5.5rem);
  line-height:1.05; font-style:italic;
}
.count__live p em{ font-style:italic; color:var(--red); }
@media (max-width:640px){
  .count__grid{ grid-template-columns:repeat(2,1fr); }
}

/* ---------- 9. Evento ---------- */
.evento__top{
  display:grid; gap:clamp(1.8rem,4vw,3rem);
  grid-template-columns:1fr;
  align-items:start;
}
@media (min-width:900px){
  .evento__top{ grid-template-columns:1.15fr .85fr; gap:clamp(3rem,6vw,6rem); }
}
.evento__copy{ display:grid; gap:1.4rem; justify-items:start; }
.evento__copy p{ color:var(--muted); max-width:52ch; }
.evento__copy p b{ color:var(--white); font-weight:500; }

.cards{
  display:grid; gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:16px; overflow:hidden;
}
.card{
  background:var(--bg-2); padding:clamp(1.4rem,3vw,2rem);
  display:grid; gap:.5rem; transition:background .35s;
}
.card:hover{ background:var(--bg-3); }
.card__k{
  font-size:.62rem; font-weight:600; letter-spacing:.28em;
  text-transform:uppercase; color:var(--red);
}
.card__v{
  font-family:var(--display); font-size:clamp(1.35rem,1rem + 1.2vw,1.9rem); line-height:1.15;
}
.card__s{ font-size:.85rem; color:var(--muted); }

/* ---------- 10. Galería bloqueada ---------- */
.gal{ background:var(--bg-2); border-block:1px solid var(--line); }
.gal__head{
  display:grid; gap:1.1rem; justify-items:start;
  margin-bottom:clamp(2.5rem,6vw,4rem);
  max-width:60ch;
}
.gal__grid{
  display:grid; gap:clamp(.6rem,1.6vw,1.1rem);
  grid-template-columns:repeat(2,1fr);
}
@media (min-width:720px){ .gal__grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1060px){ .gal__grid{ grid-template-columns:repeat(4,1fr); } }

.tile{
  position:relative; aspect-ratio:3/4; overflow:hidden;
  border:1px solid var(--line); border-radius:12px;
  background:var(--bg-3);
  display:grid; place-items:center;
  transition:border-color .4s var(--ease), transform .5s var(--ease);
}
.tile:nth-child(4n+1){ --a:#3a0d10; --b:#12121a; }
.tile:nth-child(4n+2){ --a:#161620; --b:#2a0a0d; }
.tile:nth-child(4n+3){ --a:#280a0d; --b:#0d0d14; }
.tile:nth-child(4n+4){ --a:#101018; --b:#33101a; }
.tile::before{
  content:""; position:absolute; inset:-30%;
  background:
    radial-gradient(circle at 30% 25%,var(--a),transparent 55%),
    radial-gradient(circle at 75% 80%,var(--b),transparent 60%),
    linear-gradient(150deg,#0f0f14,#1a1016);
  filter:blur(22px);
  transform:scale(1.05);
  transition:transform 1.2s var(--ease);
}
.tile:hover{ transform:translateY(-6px); border-color:rgba(238,65,69,.5); }
.tile:hover::before{ transform:scale(1.18) rotate(4deg); }

.tile__in{
  position:relative; z-index:1;
  display:grid; justify-items:center; gap:.9rem; text-align:center; padding:1rem;
}
.tile__lock{
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid var(--line-2); border-radius:50%;
  background:rgba(8,8,10,.5); backdrop-filter:blur(4px);
  transition:border-color .4s, background .4s, transform .5s var(--ease);
}
.tile__lock svg{ width:15px; height:15px; stroke:var(--faint); transition:stroke .4s; }
.tile:hover .tile__lock{ border-color:var(--red); background:rgba(238,65,69,.14); transform:scale(1.08); }
.tile:hover .tile__lock svg{ stroke:var(--red); }
.tile__txt{
  font-size:.58rem; font-weight:600; letter-spacing:.26em; text-transform:uppercase;
  color:var(--faint); transition:color .4s;
}
.tile:hover .tile__txt{ color:var(--white); }
.tile__no{
  position:absolute; top:.7rem; left:.85rem; z-index:1;
  font-family:var(--display); font-size:.95rem; color:rgba(254,254,254,.22);
  font-variant-numeric:tabular-nums;
}
.tile__wm{
  position:absolute; right:-8%; bottom:-6%; width:52%; z-index:0;
  opacity:.05; transition:opacity .5s;
}
.tile:hover .tile__wm{ opacity:.11; }

.gal__note{
  margin-top:clamp(2rem,5vw,3rem);
  display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem;
  padding-top:1.8rem; border-top:1px solid var(--line);
  font-size:.85rem; color:var(--muted);
}
.gal__note strong{ color:var(--white); font-weight:500; }

/* ---------- 11. Ubicación ---------- */
.loc__grid{ display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; }
@media (min-width:900px){ .loc__grid{ grid-template-columns:.9fr 1.1fr; } }
.loc__copy{ display:grid; gap:1.5rem; justify-items:start; }
.loc__addr{
  display:grid; gap:.4rem;
  font-family:var(--display); font-size:clamp(1.3rem,1rem + 1.1vw,1.85rem); line-height:1.3;
}
.loc__addr small{
  font-family:var(--sans); font-size:.7rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--red); font-weight:600;
}
.loc__map{
  position:relative; border:1px solid var(--line); border-radius:16px; overflow:hidden;
  aspect-ratio:16/11; background:var(--bg-3);
}
.loc__map iframe{
  width:100%; height:100%; border:0; display:block;
  filter:invert(1) hue-rotate(180deg) saturate(.6) contrast(1.06) brightness(.8);
}
.loc__map::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 90px 20px rgba(8,8,10,.7);
}

/* ---------- 12. FAQ ---------- */
.faq__grid{ display:grid; gap:clamp(2rem,5vw,4rem); }
@media (min-width:900px){ .faq__grid{ grid-template-columns:.7fr 1.3fr; } }
.faq__list{ border-top:1px solid var(--line); }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__item summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding-block:1.5rem;
  font-family:var(--display); font-size:clamp(1.1rem,1rem + .6vw,1.5rem);
  transition:color .3s;
}
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary:hover{ color:var(--red); }
.faq__item summary i{ flex:none; position:relative; width:14px; height:14px; }
.faq__item summary i::before,.faq__item summary i::after{
  content:""; position:absolute; inset:0; margin:auto;
  background:var(--red); transition:transform .35s var(--ease);
}
.faq__item summary i::before{ width:14px; height:1.5px; }
.faq__item summary i::after{ width:1.5px; height:14px; }
.faq__item[open] summary i::after{ transform:rotate(90deg); }
.faq__item[open] summary{ color:var(--red); }
.faq__a{ padding:0 0 1.6rem; color:var(--muted); max-width:62ch; }
.faq__a a{ color:var(--white); border-bottom:1px solid var(--red); }
.faq__a a:hover{ color:var(--red); }

/* ---------- 13. CTA final ---------- */
.final{
  position:relative; overflow:hidden; text-align:center;
  background:radial-gradient(ellipse 80% 120% at 50% 100%,rgba(238,65,69,.20),transparent 65%),var(--bg);
  border-top:1px solid var(--line);
}
.final__in{ position:relative; z-index:1; display:grid; gap:1.8rem; justify-items:center; }
.final__t{
  font-family:var(--display); font-weight:500;
  font-size:clamp(2.6rem,1rem + 8vw,6.5rem); line-height:1; letter-spacing:-.025em;
}
.final__t em{ font-style:italic; color:var(--red); }
.final__s{ color:var(--muted); font-size:.76rem; letter-spacing:.22em; text-transform:uppercase; }

/* ---------- 14. Footer ---------- */
.foot{ border-top:1px solid var(--line); background:var(--bg-2); }
.foot__in{ display:grid; gap:2.5rem; padding-block:clamp(3rem,7vw,4.5rem); }
@media (min-width:820px){
  .foot__in{ grid-template-columns:1.2fr .8fr .8fr; gap:3rem; }
}
.foot__brand{ display:grid; gap:1rem; justify-items:start; }
.foot__brand svg{ width:32px; height:auto; }
.foot__brand p{
  font-family:var(--display); font-style:italic; font-size:1.15rem; color:var(--muted);
}
.foot__col h4{
  font-size:.62rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase;
  color:var(--faint); margin-bottom:1.1rem;
}
.foot__col ul{ display:grid; gap:.65rem; list-style:none; margin:0; padding:0; }
.foot__col a,.foot__col li{ font-size:.92rem; color:var(--muted); transition:color .25s; }
.foot__col a:hover{ color:var(--red); }
.foot__bar{
  border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; justify-content:space-between;
  padding-block:1.6rem;
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);
}
.ig{ display:inline-flex; align-items:center; gap:.6rem; color:var(--txt); font-size:.9rem; }
.ig svg{ width:17px; height:17px; }
.ig:hover{ color:var(--red); }

/* ---------- 15. Reveal ---------- */
.reveal{
  opacity:0; transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.is-in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.09s; }
.reveal[data-d="2"]{ transition-delay:.18s; }
.reveal[data-d="3"]{ transition-delay:.27s; }
.reveal[data-d="4"]{ transition-delay:.36s; }

/* ---------- 16. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .hero__mark path{ opacity:1; }
  .reveal{ opacity:1; transform:none; }
  .ticker__track,.badge__ring{ animation:none; }
}
