/* ================================================================
   PROMO 2028 — styles.css
   Estética zine: recortes, papel rasgado, stickers, medio tono.
   ================================================================ */

:root{
  --acento:#823f00;
  --rosa:#FF2E88;
  --cian:#22D3EE;
  --papel:#F2EEE3;
  --negro:#0C0C0E;
  --carbon:#141416;
  --tinta:#111;
  --gris:#A2A2AA;
  --linea:rgba(255,255,255,.1);

  --archivo:"Archivo Black",sans-serif;
  --bebas:"Bebas Neue",Impact,sans-serif;
  --abril:"Abril Fatface",serif;
  --maquina:"Special Elite",monospace;
  --cuerpo:"Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;

  --ancho:1100px;

  /* bordes rasgados */
  --rasgo-a:polygon(2% 8%,10% 2%,24% 6%,40% 0%,57% 5%,74% 1%,89% 7%,98% 3%,100% 55%,97% 92%,88% 98%,72% 93%,55% 100%,40% 94%,24% 99%,9% 93%,0% 97%,3% 50%);
  --rasgo-b:polygon(0% 14%,8% 4%,22% 9%,37% 2%,53% 8%,70% 1%,84% 8%,96% 2%,100% 12%,98% 60%,100% 88%,90% 96%,74% 91%,58% 99%,41% 92%,26% 100%,11% 94%,2% 99%);
  --rasgo-c:polygon(3% 5%,15% 1%,28% 7%,45% 2%,60% 8%,76% 2%,90% 6%,100% 2%,97% 45%,100% 91%,86% 97%,70% 92%,54% 99%,38% 93%,22% 98%,8% 92%,0% 96%,2% 48%);
  --rasgo-tira:polygon(0% 15%,3% 3%,14% 9%,29% 1%,46% 8%,62% 2%,79% 9%,92% 3%,100% 11%,100% 86%,96% 99%,83% 91%,67% 99%,51% 90%,34% 100%,17% 92%,6% 99%,0% 89%);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--negro);color:var(--papel);
  font-family:var(--cuerpo);font-size:16.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--acento);outline-offset:3px}

.env{width:min(100% - 2.5rem,var(--ancho));margin-inline:auto}

/* grano de imprenta sobre todo */
.grano{
  position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}
.reveal[data-delay="2"]{transition-delay:.2s}
.reveal[data-delay="3"]{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .splash{display:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ---------- SPLASH ---------- */
.splash{
  position:fixed;inset:0;z-index:90;
  background:
    radial-gradient(ellipse 60% 45% at 70% 20%,rgba(255,46,136,.13),transparent 60%),
    radial-gradient(ellipse 55% 45% at 20% 85%,rgba(245,179,1,.1),transparent 60%),
    var(--negro);
  transition:transform .75s cubic-bezier(.7,0,.25,1);
}
.splash:not([hidden]){display:flex;align-items:center;justify-content:center}
.splash.fuera{transform:translateY(-103%)}
.splash__trama{
  position:absolute;inset:0;opacity:.18;pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.5) 1px,transparent 1.6px);
  background-size:7px 7px;
}
.splash__centro{text-align:center;padding:1.5rem;position:relative}
.splash .recorte__papel,.splash .recorte__foto{
  font-size:clamp(2.9rem,11vw,7.4rem);
  opacity:0;transform:scale(1.9);
  animation:slam .42s cubic-bezier(.2,1.25,.35,1) forwards;
}
.splash .recorte__foto{height:clamp(2.9rem,11vw,7.4rem)}
.splash .ransom__img{
  opacity:0;transform:scale(1.9);
  animation:slam .5s cubic-bezier(.2,1.25,.35,1) forwards;
}
@keyframes slam{
  0%{opacity:0;transform:scale(1.9) rotate(5deg)}
  70%{opacity:1;transform:scale(.96)}
  100%{opacity:1;transform:scale(1)}
}
.splash__linea{
  font-family:var(--maquina);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(242,238,227,.75);margin:1.9rem 0 0;
  opacity:0;animation:aparecer .5s ease forwards;
}
.splash__saltar{
  position:absolute;bottom:1.4rem;left:0;right:0;text-align:center;
  font-family:var(--maquina);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(242,238,227,.4);margin:0;
  opacity:0;animation:aparecer .6s ease 1.2s forwards;
}
@keyframes aparecer{to{opacity:1}}
.splash::after{content:"";position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.splash.flash::after{animation:flashazo .32s ease-out forwards}
@keyframes flashazo{0%{opacity:.85}100%{opacity:0}}
.splash__borde{
  position:absolute;left:0;right:0;bottom:-33px;height:34px;background:var(--negro);
  clip-path:polygon(0 0,100% 0,100% 25%,95% 100%,89% 35%,81% 92%,73% 30%,65% 96%,56% 42%,48% 100%,39% 36%,31% 90%,23% 34%,15% 98%,8% 42%,0 88%);
}

/* título hecho a mano (imagen del usuario) */
.ransom__img{width:min(88vw,820px);height:auto;filter:drop-shadow(5px 5px 0 rgba(0,0,0,.5))}

/* ---------- NAV ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.solida{background:rgba(12,12,14,.9);backdrop-filter:blur(10px);border-color:var(--linea)}
.nav__in{display:flex;align-items:center;gap:1.5rem;height:66px}
.nav__marca{
  font-family:var(--bebas);font-size:1.25rem;letter-spacing:.06em;line-height:1;
  color:var(--tinta);background:var(--papel);text-decoration:none;
  padding:.4rem .7rem .3rem;margin-right:auto;
  transform:rotate(-1deg);box-shadow:3px 3px 0 rgba(0,0,0,.55);
}
.nav__marca span{color:var(--rosa)}
/* marca con logo: la imagen va sola, sin recuadro de papel */
.nav__marca--logo{background:none;box-shadow:none;padding:0}
.nav__marca--logo img{height:44px;width:auto}
.nav__link{font-family:var(--maquina);font-size:.74rem;color:rgba(242,238,227,.75);text-decoration:none;white-space:nowrap;transition:color .15s}
.nav__link:hover{color:var(--acento)}
@media(max-width:640px){.nav__link{display:none}.nav__link--cta{display:inline-block}}
.nav__link--cta{
  font-family:var(--bebas);font-size:1rem;letter-spacing:.06em;color:var(--tinta);
  background:var(--acento);padding:.45rem .9rem .35rem;
  border:2px solid var(--tinta);box-shadow:3px 3px 0 var(--tinta);
  transition:transform .15s,box-shadow .15s;
}
.nav__link--cta:hover{color:var(--tinta);transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--tinta)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero__fondo{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center 30%;background-color:var(--carbon)}
.hero__fondo--foto{filter:grayscale(.35) contrast(1.18)}
.hero__fondo--respaldo{
  background-image:
    radial-gradient(ellipse 70% 55% at 75% 15%,rgba(255,46,136,.16),transparent 60%),
    radial-gradient(ellipse 60% 50% at 15% 85%,rgba(245,179,1,.12),transparent 60%),
    linear-gradient(160deg,#1A1A1E,#0C0C0E);
}
.hero__velo{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(12,12,14,.5) 0%,rgba(12,12,14,.12) 42%,rgba(12,12,14,.85) 80%,var(--negro) 100%)}
.hero__trama{
  position:absolute;inset:0;z-index:-1;opacity:.25;pointer-events:none;
  background-image:radial-gradient(circle,rgba(0,0,0,.7) 1px,transparent 1.6px);
  background-size:6px 6px;
}
.hero__trama::after{
  content:"";position:absolute;top:-4%;right:-6%;width:44%;height:55%;
  background-image:radial-gradient(circle,var(--rosa) 1.4px,transparent 2px);
  background-size:9px 9px;opacity:.3;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 68%);
          mask-image:radial-gradient(ellipse at center,#000 20%,transparent 68%);
}
.hero__cuerpo{padding:7.5rem 0 2.6rem;text-align:center;position:relative}

.hero__eyebrow{font-family:var(--maquina);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,238,227,.8);margin:0 0 1.4rem}

/* fuentes ransom reales (letras recortadas escaneadas).
   Licencias: fonts/ransom-license.txt y fonts/kingthings-eula.txt */
@font-face{font-family:"RansomDBZ";src:url("fonts/ransom.ttf") format("truetype");font-display:swap}
@font-face{font-family:"KingthingsExtortion";src:url("fonts/kingthings-extortion.ttf") format("truetype");font-display:swap}

/* ---------- TÍTULO RANSOM ---------- */
.ransom{
  display:flex;flex-direction:column;align-items:center;
  gap:.45rem .3rem;margin:0;line-height:1;position:relative;
}
.ransom__palabra{display:inline-flex;white-space:nowrap;gap:.18em;align-items:center}
.recorte{
  position:relative;display:inline-block;
  filter:drop-shadow(4px 4px 0 rgba(0,0,0,.45));
  transition:transform .18s;
}
@media(hover:hover){.recorte:hover{transform:scale(1.07) rotate(0deg)!important;z-index:2}}
.recorte__papel{
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(3.4rem,12.5vw,8.6rem);line-height:1;
  padding:.1em .14em .06em;min-width:.95em;
}
/* letras foto: recortes escaneados reales (img/letras/) */
.recorte__foto{display:block;height:clamp(3.4rem,12.5vw,8.6rem);width:auto;max-width:none}
/* título vivo: pop al re-sortear un recorte */
@keyframes papelPop{0%{transform:scale(1.22)}100%{transform:scale(1)}}
/* variantes de recorte */
.recorte--v0 .recorte__papel{font-family:var(--archivo);background:var(--papel);color:var(--tinta);clip-path:var(--rasgo-a);
  background-image:repeating-linear-gradient(0deg,transparent 0 7px,rgba(0,0,0,.05) 7px 8px)}
.recorte--v1 .recorte__papel{font-family:var(--bebas);background:var(--tinta);color:var(--papel);clip-path:var(--rasgo-b)}
.recorte--v2 .recorte__papel{font-family:var(--archivo);background:var(--acento);color:var(--tinta);clip-path:var(--rasgo-c)}
.recorte--v3 .recorte__papel{font-family:var(--bebas);background:var(--rosa);color:var(--papel);clip-path:var(--rasgo-a)}
.recorte--v4 .recorte__papel{font-family:var(--abril);background:var(--papel);color:var(--tinta);clip-path:var(--rasgo-b);
  background-image:radial-gradient(circle,rgba(0,0,0,.12) 1px,transparent 1.5px);background-size:5px 5px}
.recorte--v5 .recorte__papel{font-family:var(--abril);background:var(--tinta);color:var(--acento);clip-path:var(--rasgo-c)}
/* v6-v8: fuentes ransom escaneadas — el bloque de papel viene en la propia letra */
.recorte--v6 .recorte__papel{font-family:"RansomDBZ",var(--archivo);color:var(--papel);padding:.02em}
.recorte--v7 .recorte__papel{font-family:"KingthingsExtortion",var(--archivo);color:var(--acento);padding:.02em}
.recorte--v8 .recorte__papel{font-family:"RansomDBZ",var(--archivo);color:var(--rosa);padding:.02em}
/* cinta adhesiva */
.recorte--cinta::after{
  content:"";position:absolute;top:-.14em;left:50%;width:1.05em;height:.34em;
  transform:translateX(-50%) rotate(-7deg);
  background:rgba(244,240,220,.5);
  box-shadow:0 1px 2px rgba(0,0,0,.25);
  pointer-events:none;
}

/* sticker estrella */
/* .sticker{
  position:absolute;right:max(1rem,7vw);top:4.8rem;z-index:3;
  width:120px;height:120px;display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--rosa);color:var(--papel);
  font-family:var(--bebas);font-size:.92rem;letter-spacing:.05em;line-height:1.05;
  padding:1.4rem;transform:rotate(8deg);
  clip-path:polygon(50% 0%,60% 12%,74% 5%,77% 20%,93% 18%,88% 33%,100% 40%,90% 52%,99% 65%,84% 68%,86% 84%,70% 80%,65% 96%,52% 85%,38% 97%,33% 81%,17% 86%,20% 69%,4% 65%,14% 52%,0% 42%,13% 33%,7% 18%,24% 21%,27% 5%,41% 12%);
  filter:drop-shadow(4px 5px 0 rgba(0,0,0,.5));
  animation:latido 3.2s ease-in-out infinite;
}
@keyframes latido{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(7deg) scale(1.02)}}
@media(max-width:760px){.sticker{width:92px;height:92px;font-size:.72rem;padding:1rem;top:4.4rem}}

.hero__sub{
  font-family:var(--maquina);font-size:clamp(.9rem,2.1vw,1.08rem);
  color:rgba(242,238,227,.9);margin:1.8rem auto 2.4rem;max-width:40ch;
} */

/* ---------- barra de meta (tira de papel + relleno de peligro) ---------- */
.meta{max-width:600px;margin-inline:auto;text-align:left}
.meta__linea{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:.78rem;margin-bottom:.6rem}
.meta__recaudado{font-weight:700;font-size:1.1rem;color:var(--papel)}
.meta__objetivo{font-family:var(--maquina);color:rgba(242,238,227,.6)}
.meta__marco{position:relative;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.45))}
/* carita del pack ransom que marca el humor de la recaudación */
.meta__cara{
  position:absolute;top:-4px;left:17px;width:34px;height:34px;object-fit:contain;
  transform:translateX(-50%) rotate(-8deg);
  transition:left 1.2s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.meta__barra{height:26px;background:var(--papel);clip-path:var(--rasgo-tira);overflow:hidden}
.meta__relleno{
  height:100%;width:0;background:var(--acento);
  background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.25) 0 8px,transparent 8px 22px);
  transition:width 1.2s cubic-bezier(.2,.8,.2,1);
}
.meta__nota{font-family:var(--maquina);font-size:.68rem;color:rgba(242,238,227,.55);margin-top:.65rem;letter-spacing:.05em}

/* ---------- botones sticker ---------- */
.hero__cta{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:2.3rem}
.btn{
  display:inline-block;font-family:var(--bebas);font-size:1.35rem;letter-spacing:.06em;line-height:1;
  text-decoration:none;padding:.85rem 1.9rem .7rem;
  border:3px solid var(--tinta);box-shadow:4px 4px 0 var(--tinta);
  transition:transform .15s,box-shadow .15s;
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tinta)}
.btn--donar{background:var(--acento);color:var(--tinta)}
.btn--fantasma{background:var(--papel);color:var(--tinta)}

/* ---------- carrusel ---------- */
.marquee{
  margin-top:3rem;padding:1.2rem 0 1.5rem;border-top:1px dashed rgba(242,238,227,.2);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  overflow:hidden;
}
.marquee__rotulo{font-family:var(--maquina);font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(242,238,227,.5);text-align:center;margin:0 0 1rem}
.marquee__pista{display:flex;width:max-content;animation:desfile 30s linear infinite;padding:.4rem 0}
/* pocos patrocinadores (o caben todos): sin desfile, centrados */
.marquee__pista--quieta{width:100%;flex-wrap:wrap;justify-content:center;gap:1rem 2.2rem;animation:none}
.marquee__pista--quieta .marquee__item{margin-right:0}
.marquee:hover .marquee__pista{animation-play-state:paused}
@keyframes desfile{to{transform:translateX(-50%)}}
.marquee__item{
  display:flex;align-items:center;gap:.55rem;flex:none;text-decoration:none;
  font-family:var(--bebas);font-size:1.15rem;letter-spacing:.05em;line-height:1;
  color:var(--tinta);background:var(--papel);padding:.55rem .9rem .4rem;
  box-shadow:3px 3px 0 rgba(0,0,0,.55);white-space:nowrap;
  margin-right:2.2rem; /* separación por item (no gap): el bucle -50% cierra exacto */
}
.marquee__item:nth-child(odd){transform:rotate(-.6deg)}
.marquee__item:nth-child(even){transform:rotate(.5deg);background:#E9E4D5}
.marquee__item:hover{background:var(--acento)}
.marquee__item img{height:48px;width:auto;object-fit:contain}
/* items con logo: sin recuadro de papel, el logo va directo sobre la página */
.marquee__item.marquee__item--logo,
.marquee__item.marquee__item--logo:hover{background:none;box-shadow:none;padding:0}
@media (prefers-reduced-motion:reduce){
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .marquee__pista{animation:none}
  .marquee__pista > .es-copia{display:none}
}

/* ---------- mascota ---------- */
.gato-pista{position:relative;height:0;z-index:2}
.gato{
  position:absolute;bottom:-56px;left:0;height:56px;aspect-ratio:350/226;
  overflow:hidden;
  filter:invert(1) grayscale(1) contrast(1.2);
  opacity:.9;
  transform:translateX(-160px);
  animation:gatoCorre 14s linear 1.5s infinite;
  pointer-events:none;
}
/* tira de 12 fotogramas; el galope lo lleva CSS, no la imagen */
.gato__sprite{
  display:block;width:1200%;height:100%;max-width:none;
  animation:gatoGalopa 1.08s steps(12) infinite;
}
@keyframes gatoGalopa{to{transform:translateX(-100%)}}
@keyframes gatoCorre{
  0%{transform:translateX(-160px)}
  55%{transform:translateX(100vw)}
  100%{transform:translateX(100vw)}
}
@media (prefers-reduced-motion:reduce){.gato-pista{display:none}}

/* ---------- SECCIONES ---------- */
.sec{padding:6rem 0;position:relative}
.sec__eyebrow{font-family:var(--maquina);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--acento);margin:0 0 1rem}
.sec__titulo{margin:0 0 1.6rem;display:flex;flex-wrap:wrap;gap:.7rem .55rem}
.tira{display:inline-block;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.45))}
.tira:nth-child(odd){transform:rotate(-.8deg)}
.tira:nth-child(even){transform:rotate(.6deg)}
.tira__papel{
  display:inline-block;font-family:var(--bebas);font-weight:400;
  font-size:clamp(2.5rem,6.5vw,4.2rem);line-height:1;letter-spacing:.03em;
  background:var(--papel);color:var(--tinta);
  padding:.16em .3em .08em;clip-path:var(--rasgo-tira);
}
.tira--acento .tira__papel{background:var(--acento)}
.tira--rosa .tira__papel{background:var(--rosa);color:var(--papel)}
.sec__texto{max-width:62ch;color:var(--gris);margin:0}

/* nosotros */
.stats{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:3rem}
.stat{
  position:relative;flex:1 1 220px;background:var(--papel);color:var(--tinta);
  padding:1.8rem 1.5rem 1.4rem;
  filter:drop-shadow(4px 4px 0 rgba(0,0,0,.4));
}
.stat__papel{position:absolute;inset:0;clip-path:var(--rasgo-b);background:inherit;z-index:-1}
.stat:nth-child(odd){transform:rotate(-.5deg)}
.stat:nth-child(even){transform:rotate(.4deg)}
.stat::before{
  content:"";position:absolute;top:-10px;left:50%;width:74px;height:22px;
  transform:translateX(-50%) rotate(-4deg);
  background:rgba(244,240,220,.55);box-shadow:0 1px 2px rgba(0,0,0,.25);
}
.stat__cifra{font-family:var(--archivo);font-size:3rem;line-height:1;color:var(--tinta)}
.stat__cifra span{color:var(--rosa)}
.stat__etq{font-family:var(--maquina);font-size:.78rem;margin-top:.4rem;color:#3B3B36}

/* eventos */
.sec--eventos{background:var(--carbon);border-block:1px solid var(--linea)}
.ev-lista{margin-top:2.6rem;display:grid;gap:1.5rem}
.ev{
  position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;
  background:var(--papel);color:var(--tinta);padding:1.5rem 1.6rem 1.3rem;
  filter:drop-shadow(4px 4px 0 rgba(0,0,0,.4));
  transition:transform .18s;
}
.ev{clip-path:var(--rasgo-tira)}
.ev:hover{transform:translateY(-3px)}
.ev__fecha{
  font-family:var(--bebas);font-size:1.35rem;line-height:1;letter-spacing:.05em;
  background:var(--tinta);color:var(--acento);padding:.5rem .6rem .35rem;
  transform:rotate(-2deg);align-self:start;
}
.ev--pasado .ev__fecha{color:var(--papel);opacity:.8}
.ev--pasado{opacity:.82}
.ev__nombre{font-family:var(--archivo);font-size:1.02rem;margin:0 0 .3rem;line-height:1.25}
.ev__detalle{margin:0;font-size:.88rem;color:#3B3B36}
.ev-sub{font-family:var(--maquina);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);margin:3rem 0 1.2rem}

/* patrocinadores */
.patro-grid{display:grid;gap:1.5rem;margin-top:2.8rem;grid-template-columns:repeat(6,1fr)}
.patro{
  position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--papel);color:var(--tinta);text-decoration:none;
  padding:1.7rem 1.3rem;min-height:112px;
  clip-path:var(--rasgo-b);
  filter:drop-shadow(4px 4px 0 rgba(0,0,0,.4));
  transition:transform .18s;
}
.patro:nth-child(odd){transform:rotate(-.4deg)}
.patro:nth-child(even){transform:rotate(.4deg)}
.patro:hover{transform:rotate(0) scale(1.03);z-index:2}
.patro--3{grid-column:span 6;min-height:200px;background:var(--acento)}
.patro--2{grid-column:span 3;min-height:150px}
.patro--1{grid-column:span 2;background:#E9E4D5}
@media(max-width:720px){.patro--2{grid-column:span 6}.patro--1{grid-column:span 3}}
.patro img{max-height:58px;width:auto;object-fit:contain}
.patro--2 img{max-height:76px}
.patro--3 img{max-height:112px}
.patro__nombre{font-family:var(--bebas);letter-spacing:.05em;line-height:1.05}
.patro--1 .patro__nombre{font-size:1.35rem}
.patro--2 .patro__nombre{font-size:2rem}
.patro--3 .patro__nombre{font-family:var(--archivo);font-size:clamp(1.6rem,4.5vw,2.7rem)}
.patro-cta{
  margin-top:3rem;background:transparent;border:2px dashed rgba(242,238,227,.3);
  padding:2.2rem 1.9rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;justify-content:space-between;
}
.patro-cta__texto{margin:0;max-width:46ch;font-family:var(--maquina);font-size:.95rem}
.patro-cta__texto strong{color:var(--acento);font-weight:400}

/* muro de aportes */
.muro{display:flex;flex-wrap:wrap;gap:1.1rem 1rem;margin-top:2.6rem}
.muro__tag{
  font-family:var(--bebas);font-size:1.05rem;letter-spacing:.05em;line-height:1;
  background:var(--papel);color:var(--tinta);padding:.55rem .85rem .4rem;
  clip-path:var(--rasgo-tira);
  filter:drop-shadow(3px 3px 0 rgba(0,0,0,.45));
}
.muro__tag:nth-child(odd){transform:rotate(-1deg)}
.muro__tag:nth-child(even){transform:rotate(.8deg);background:#E9E4D5}
.muro__tag:nth-child(5n){background:var(--acento)}
.muro__tag--anon{background:var(--rosa)!important;color:var(--papel)}

/* contacto / pie */
.sec--contacto{background:var(--carbon);border-top:1px solid var(--linea);text-align:center}
.sec--contacto .sec__titulo{justify-content:center}
.sec--contacto .sec__texto{margin-inline:auto}
.contacto__cta{display:flex;justify-content:center;flex-wrap:wrap;gap:1.1rem;margin-top:2.4rem}
.contacto__asesor{font-family:var(--maquina);font-size:.74rem;color:var(--gris);margin-top:2.6rem}
.pie{padding:2.4rem 0;border-top:1px solid var(--linea)}
.pie__in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-family:var(--maquina);font-size:.74rem;color:var(--gris)}
.pie strong{color:var(--papel);font-weight:400}
.pie__codigo{
  width:110px;height:30px;flex:none;opacity:.7;
  background:
    repeating-linear-gradient(90deg,var(--papel) 0 2px,transparent 2px 5px),
    repeating-linear-gradient(90deg,var(--papel) 0 1px,transparent 1px 7px);
}

/* ---------- móvil ---------- */
@media (max-width:560px){
  /* el título escala con el ancho: el mínimo del clamp base (3.4rem)
     desbordaba PROMO en pantallas de teléfono */
  .recorte__papel{font-size:clamp(2rem,11vw,8.6rem)}
  .recorte__foto{height:clamp(2rem,11vw,8.6rem)}
  .splash .recorte__papel,.splash .recorte__foto{font-size:clamp(1.8rem,10.5vw,7.4rem)}
  .splash .recorte__foto{height:clamp(1.8rem,10.5vw,7.4rem)}
  .sec{padding:3.6rem 0}
  .hero__cuerpo{padding-top:6rem}
  .btn{font-size:1.2rem;padding:.8rem 1.5rem .65rem}
  .stat__cifra{font-size:2.4rem}
  .ev{padding:1.2rem 1.1rem 1.1rem;gap:1rem}
  .patro-cta{justify-content:center;text-align:center}
  .gato{height:44px;bottom:-44px}
}
