*{box-sizing:border-box}
:root{
  --black:#050505;--ink:#111;--red:#d3151c;--red2:#b80f15;
  --cream:#f5ef95;--yellow:#f3c85a;--paper:#f0d37c;--white:#f7f5ed
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:"Oswald",Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}
button{font:inherit}
.shell{width:min(1120px,calc(100% - 34px));margin:auto}
.grain{position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.18;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 1px,transparent 1px 5px);mix-blend-mode:screen}

.hero{min-height:100svh;position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(211,21,28,.12),transparent 35%),radial-gradient(circle at 75% 40%,rgba(243,200,90,.09),transparent 25%),#050505}
.hero:before{content:"";position:absolute;left:-13vw;top:-18vh;width:42vw;height:45vh;background:var(--red);transform:rotate(-17deg);border-radius:48% 52% 61% 39%/42% 35% 65% 58%}
.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:5}
.logo{font-family:"Anton";font-size:1.55rem;color:var(--cream);letter-spacing:.08em}
.top-actions{display:flex;gap:28px;font-family:"Bebas Neue";letter-spacing:.14em;font-size:1rem}
.hero-grid{min-height:calc(100svh - 76px - 54px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:40px;position:relative;z-index:2;padding-block:40px 55px}
.edition-chip{display:inline-block;background:var(--red);padding:8px 12px;color:white;font-weight:700;letter-spacing:.17em;font-size:.8rem;transform:rotate(-2deg)}
.micro{font-size:.78rem;letter-spacing:.2em;color:var(--yellow);margin:22px 0 12px}

.genesis-motion{margin:0;display:flex;gap:.01em;font-family:"Anton";font-size:clamp(6rem,15vw,12rem);line-height:.78;letter-spacing:-.04em;color:var(--cream);perspective:700px}
.genesis-motion span{display:inline-block;animation:letterFloat 3.1s ease-in-out infinite;animation-delay:calc(var(--i) * .11s);transform-origin:center bottom;text-shadow:0 0 0 transparent}
.genesis-motion span:nth-child(5),.genesis-motion span:nth-child(6),.genesis-motion span:nth-child(7){color:var(--red)}
@keyframes letterFloat{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  30%{transform:translateY(-8px) rotate(-1.5deg) scale(1.015)}
  55%{transform:translateY(2px) rotate(1deg) scale(.995)}
  75%{transform:translateY(-3px) rotate(-.6deg) scale(1.005)}
}

.paint-title{display:inline-block;margin:28px 0 8px;background:var(--red);color:var(--yellow);font-family:"Permanent Marker";font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.05;padding:12px 19px;transform:rotate(-1.5deg);clip-path:polygon(0 12%,5% 5%,17% 10%,30% 3%,44% 9%,59% 2%,72% 9%,88% 3%,100% 12%,97% 35%,100% 52%,96% 69%,100% 88%,86% 84%,73% 96%,58% 88%,43% 97%,26% 88%,12% 95%,0 88%,4% 66%,0 49%,5% 31%)}
.verse{color:var(--red);letter-spacing:.34em;font-weight:700;margin:16px 0 26px}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 18px;font-family:"Anton";letter-spacing:.07em;border:2px solid var(--red);transition:.25s}
.btn.solid{background:var(--red);box-shadow:7px 7px 0 var(--yellow)}
.btn.ghost{color:var(--cream)}
.btn:hover{transform:translateY(-3px)}
.hero-side{height:100%;min-height:430px;position:relative}
.big-five{position:absolute;right:-2vw;bottom:0;font-family:"Anton";font-size:clamp(18rem,34vw,31rem);color:rgba(211,21,28,.25);line-height:.72}
.vertical-copy{position:absolute;right:0;top:15%;writing-mode:vertical-rl;transform:rotate(180deg);font-family:"Bebas Neue";letter-spacing:.2em;color:var(--cream);opacity:.7}
.date-stack{position:absolute;left:10%;bottom:8%;display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px}
.date-stack span{font-family:"Anton";font-size:5.2rem;line-height:.78;color:var(--red)}
.date-stack small{grid-row:1/3;grid-column:2;font-family:"Anton";color:var(--yellow);font-size:1.5rem}
.date-stack strong{grid-column:1/3;font-family:"Bebas Neue";font-size:2rem;color:var(--cream);letter-spacing:.1em}
.hero-orbit{position:absolute;border:1px solid rgba(245,239,149,.22);border-radius:50%}
.orbit-one{width:350px;height:350px;right:-120px;top:120px;animation:orbitPulse 7s ease-in-out infinite}
.orbit-two{width:210px;height:210px;right:-50px;top:190px;animation:orbitPulse 5s ease-in-out infinite reverse}
@keyframes orbitPulse{50%{transform:scale(1.08);opacity:.5}}

.ticker{height:54px;background:var(--red);overflow:hidden;border-block:1px solid #000}
.ticker-track{height:100%;display:flex;align-items:center;gap:24px;width:max-content;white-space:nowrap;animation:ticker 24s linear infinite;font-family:"Bebas Neue";letter-spacing:.12em;font-size:1.15rem;color:var(--cream)}
.ticker-track i{font-style:normal;color:var(--yellow)}
@keyframes ticker{to{transform:translateX(-50%)}}

.count-section{padding:110px 0;background:var(--paper);color:var(--ink);position:relative;overflow:hidden}
.count-section:after{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border:2px solid rgba(0,0,0,.14);border-radius:50%;box-shadow:0 0 0 35px transparent,0 0 0 36px rgba(0,0,0,.12),0 0 0 75px transparent,0 0 0 76px rgba(0,0,0,.1)}
.count-intro{display:grid;grid-template-columns:1fr .8fr;gap:55px;align-items:end;margin-bottom:55px}
.kicker{margin:0 0 12px;font-weight:700;letter-spacing:.18em;font-size:.82rem;color:var(--red)}
.count-intro h2,.statement-inner h2,.section-top h2,.coming-inner h2{margin:0;font-family:"Anton";font-size:clamp(3.5rem,7.7vw,6.6rem);line-height:.88;letter-spacing:-.02em}
.lead{font-size:1.08rem;line-height:1.7;margin:0}

.countdown-line{display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:2}
.count-circle{width:190px;height:190px;border-radius:50%;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 13px 0 rgba(0,0,0,.12)}
.circle-ring{position:absolute;inset:9px;border-radius:50%;border:2px dashed var(--red);animation:ringSpin 15s linear infinite}
.count-circle:nth-of-type(3) .circle-ring,.count-circle:nth-of-type(7) .circle-ring{animation-direction:reverse}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.count-circle strong{font-family:"Anton";font-size:5.2rem;line-height:.88;color:var(--cream);position:relative;z-index:2}
.count-circle span{font-size:.78rem;letter-spacing:.17em;color:var(--yellow);font-weight:700;position:relative;z-index:2}
.count-separator{font-family:"Anton";font-size:2rem;color:var(--red)}
.count-footer{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:30px;font-weight:700;letter-spacing:.08em;font-size:.86rem}
.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(211,21,28,.5);animation:pulse 1.7s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(211,21,28,0)}100%{box-shadow:0 0 0 0 rgba(211,21,28,0)}}

.statement-section{padding:125px 0;background:var(--black);position:relative;overflow:hidden}
.statement-bg{position:absolute;left:-2vw;top:-40px;font-family:"Anton";font-size:clamp(11rem,26vw,23rem);color:rgba(255,255,255,.035);line-height:1}
.statement-inner{position:relative;z-index:1;max-width:900px}
.kicker.red{color:var(--red)}
.statement-inner h2 span{color:var(--red)}
.statement-inner p{max-width:700px;color:#c9c4b6;font-size:1.1rem;line-height:1.7}

.speakers-section{padding:115px 0;background:var(--red);position:relative;overflow:hidden}
.speakers-section:before{content:"";position:absolute;inset:0;opacity:.08;background:repeating-linear-gradient(45deg,#000 0 2px,transparent 2px 10px)}
.section-top{display:grid;grid-template-columns:1fr .7fr;gap:50px;align-items:end;position:relative;margin-bottom:55px}
.section-top p:last-child{line-height:1.65;max-width:500px}
.kicker.cream{color:var(--cream)}
.speaker-banner{position:relative;overflow:hidden;margin:26px 0;border:1px solid rgba(0,0,0,.3);box-shadow:14px 14px 0 rgba(0,0,0,.45);transform:rotate(-.35deg);background:var(--paper)}
.speaker-banner:nth-of-type(2){transform:rotate(.35deg)}
.speaker-banner img{width:100%;height:auto;transition:transform .65s ease,filter .65s ease}
.speaker-banner:hover img{transform:scale(1.025);filter:contrast(1.03)}
.banner-shine{position:absolute;top:-30%;left:-20%;width:18%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:rotate(17deg);animation:shine 6s ease-in-out infinite}
@keyframes shine{0%,70%{left:-25%}100%{left:120%}}

.prepare-section{padding:95px 0;background:var(--paper);color:var(--ink)}
.prepare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.prepare-card{min-height:310px;background:var(--black);color:white;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.prepare-card.yellow{background:var(--yellow);color:var(--black);transform:translateY(-18px)}
.prepare-card span{position:absolute;top:17px;right:22px;font-family:"Anton";font-size:4rem;color:var(--red);opacity:.85}
.prepare-card h3{font-family:"Anton";font-size:3.2rem;line-height:.9;margin:0 0 14px}
.prepare-card p{margin:0;opacity:.8}

.coming-section{padding:115px 0;background:var(--black)}
.coming-inner{max-width:850px}
.coming-label{display:inline-block;background:var(--red);padding:8px 12px;font-size:.8rem;font-weight:700;letter-spacing:.18em;margin-bottom:20px}
.coming-inner p{max-width:660px;color:#c4bfb3;font-size:1.08rem;line-height:1.65}
.share-btn{margin-top:18px;background:var(--red);color:white;border:0;padding:15px 22px;font-family:"Anton";letter-spacing:.09em;box-shadow:8px 8px 0 var(--yellow);cursor:pointer}
footer{padding:30px 0;background:#020202;border-top:1px solid rgba(255,255,255,.12)}
.footer-grid{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#8f8b82;font-size:.8rem;letter-spacing:.08em}
.footer-grid strong{font-family:"Anton";font-size:1.25rem;color:var(--cream)}

.reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:900px){
  .hero-grid,.count-intro,.section-top{grid-template-columns:1fr}
  .hero-side{min-height:270px}
  .big-five{font-size:17rem;right:5vw}
  .vertical-copy{right:14px}
  .date-stack{left:5%}
  .countdown-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
  .count-circle{width:100%;height:auto;aspect-ratio:1/1}
  .count-separator{display:none}
  .count-circle strong{font-size:clamp(3.2rem,8vw,5rem)}
  .prepare-grid{grid-template-columns:1fr}
  .prepare-card.yellow{transform:none}
}
@media(max-width:600px){
  .shell{width:calc(100% - 24px)}
  .topbar{min-height:66px}
  .top-actions{display:none}
  .hero-grid{min-height:calc(100svh - 120px);padding-block:38px 25px}
  .genesis-motion{font-size:clamp(4.6rem,22vw,6.4rem)}
  .paint-title{font-size:1.2rem}
  .hero-side{min-height:225px}
  .big-five{font-size:13.5rem}
  .date-stack span{font-size:4rem}
  .count-section,.statement-section,.speakers-section,.prepare-section,.coming-section{padding:76px 0}
  .countdown-line{grid-template-columns:repeat(2,1fr);gap:14px}
  .count-circle{max-width:170px;justify-self:center}
  .count-circle strong{font-size:4.2rem}
  .count-footer{flex-wrap:wrap;text-align:center}
  .speaker-banner{margin:20px 0;box-shadow:8px 8px 0 rgba(0,0,0,.45)}
  .prepare-card{min-height:260px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .ticker-track,.pulse-dot,.circle-ring,.genesis-motion span,.hero-orbit,.banner-shine{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
}


/* LOGO OFICIAL GÉNESIS */
.official-logo-wrap{
  position:relative;
  display:inline-block;
  width:min(100%,760px);
  margin:4px 0 0;
  transform-origin:center;
  animation:officialLogoFloat 4.6s ease-in-out infinite;
}
.official-logo{
  display:block;
  width:100%;
  height:auto;
  mix-blend-mode:screen;
  filter:brightness(1.04) contrast(1.05);
}
@keyframes officialLogoFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  35%{transform:translateY(-6px) rotate(-.25deg)}
  70%{transform:translateY(2px) rotate(.18deg)}
}
.flame-glow{
  position:absolute;
  width:9%;
  aspect-ratio:1;
  left:78%;
  top:-2%;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(245,239,149,.34),rgba(243,200,90,.12) 38%,transparent 72%);
  filter:blur(7px);
  animation:flameAlive 1.1s ease-in-out infinite alternate;
}
@keyframes flameAlive{
  from{transform:translate(-50%,2px) scale(.78,.9);opacity:.3}
  to{transform:translate(-50%,-5px) scale(1.14,.94);opacity:.85}
}
@media(max-width:540px){
  .official-logo-wrap{width:100%;max-width:520px}
}
@media(prefers-reduced-motion:reduce){
  .official-logo-wrap,.flame-glow{animation:none!important}
}


/* ===== AJUSTE FINAL DEL LOGO OFICIAL =====
   Mismo lugar/tamaño visual del antiguo GÉNESIS animado.
   PNG transparente: no se ve como una imagen rectangular.
*/
.official-logo-wrap{
  width:min(92vw, 690px) !important;
  max-width:100%;
  margin:0 !important;
  display:block !important;
  position:relative !important;
  animation:logoOfficialWave 3.6s ease-in-out infinite !important;
  transform-origin:50% 70%;
}

.official-logo{
  width:100% !important;
  height:auto !important;
  display:block !important;
  mix-blend-mode:normal !important;
  filter:drop-shadow(0 5px 0 rgba(255,255,255,.015)) !important;
}

/* Movimiento parecido al antiguo logo: flotación leve + inclinación sutil */
@keyframes logoOfficialWave{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  28%{transform:translateY(-5px) rotate(-.35deg) scale(1.006)}
  55%{transform:translateY(1px) rotate(.22deg) scale(.998)}
  78%{transform:translateY(-3px) rotate(-.12deg) scale(1.003)}
}

/* Fuego: resplandor pequeño con pulso para dar sensación de llama viva.
   Está colocado sobre la llama original de la i. */
.flame-glow{
  display:block !important;
  position:absolute !important;
  width:7.2% !important;
  aspect-ratio:1/1 !important;
  left:77.9% !important;
  top:-1.5% !important;
  pointer-events:none !important;
  border-radius:50% !important;
  background:
    radial-gradient(ellipse at 50% 62%,
      rgba(245,239,149,.55) 0%,
      rgba(245,239,149,.22) 34%,
      rgba(243,196,76,.10) 52%,
      transparent 72%) !important;
  filter:blur(5px) !important;
  transform-origin:50% 100% !important;
  animation:flameFlicker .62s ease-in-out infinite alternate !important;
}

@keyframes flameFlicker{
  0%{
    transform:translate(-50%, 2px) scale(.78, .92) rotate(-2deg);
    opacity:.28;
  }
  45%{
    transform:translate(-50%, -2px) scale(.96, 1.08) rotate(2deg);
    opacity:.58;
  }
  100%{
    transform:translate(-50%, -5px) scale(1.10, .88) rotate(-1deg);
    opacity:.78;
  }
}

@media(max-width:540px){
  .official-logo-wrap{
    width:min(94vw, 520px) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .official-logo-wrap,.flame-glow{animation:none!important}
}


/* ===== LOGO OFICIAL - AJUSTE DEFINITIVO ===== */
.official-logo-wrap{
  width:min(72vw, 510px) !important;
  max-width:510px !important;
  margin:0 !important;
  display:block !important;
  position:relative !important;
  animation:none !important;
  transform:none !important;
}
.official-logo{
  display:block !important;
  width:100% !important;
  height:auto !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  image-rendering:auto;
}
.flame-glow{display:none !important;}

.official-flame{
  position:absolute !important;
  left:69.48% !important;
  top:2.16% !important;
  width:14.17% !important;
  height:auto !important;
  transform-origin:50% 92% !important;
  pointer-events:none !important;
  animation:realFlame .48s ease-in-out infinite alternate !important;
  filter:drop-shadow(0 0 4px rgba(245,239,149,.30));
}

@keyframes realFlame{
  0%{
    transform:translateY(1px) rotate(-2deg) scale(.94,1.02);
  }
  35%{
    transform:translateY(-2px) rotate(2.5deg) scale(1.02,.96);
  }
  70%{
    transform:translateY(-4px) rotate(-1deg) scale(.97,1.08);
  }
  100%{
    transform:translateY(-2px) rotate(1.5deg) scale(1.04,.98);
  }
}

@media(max-width:540px){
  .official-logo-wrap{
    width:min(76vw, 360px) !important;
    max-width:360px !important;
  }
}

@media(max-width:380px){
  .official-logo-wrap{
    width:min(78vw, 315px) !important;
  }
}


/* ==================================================
   LOGO OFICIAL - MEJORA DE CALIDAD Y LLAMA COMPLETA
   ================================================== */
.official-logo-wrap{
  width:min(66vw, 470px) !important;
  max-width:470px !important;
  margin:0 !important;
  position:relative !important;
  display:block !important;
  overflow:visible !important;
  animation:none !important;
  transform:none !important;
}

.official-logo{
  display:block !important;
  width:100% !important;
  height:auto !important;
  filter:none !important;
  image-rendering:auto !important;
  mix-blend-mode:normal !important;
}

.official-flame{
  position:absolute !important;
  left:70.418% !important;
  top:5.178% !important;
  width:10.450% !important;
  height:auto !important;
  max-width:none !important;
  transform-origin:50% 86% !important;
  pointer-events:none !important;
  z-index:4 !important;
  animation:genesisFlame .58s ease-in-out infinite alternate !important;
  filter:drop-shadow(0 0 3px rgba(248,246,157,.28)) !important;
}

@keyframes genesisFlame{
  0%{
    transform:translateY(1px) rotate(-2.2deg) scale(.97,1.00);
  }
  35%{
    transform:translateY(-2px) rotate(2.6deg) scale(1.03,.98);
  }
  70%{
    transform:translateY(-4px) rotate(-1.4deg) scale(.99,1.06);
  }
  100%{
    transform:translateY(-2px) rotate(1.8deg) scale(1.025,.99);
  }
}

@media(max-width:540px){
  .official-logo-wrap{
    width:min(70vw, 300px) !important;
    max-width:300px !important;
  }
}

@media(max-width:380px){
  .official-logo-wrap{
    width:min(72vw, 275px) !important;
    max-width:275px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .official-flame{animation:none!important}
}


/* ===== GÉNESIS: LETRAS ANIMADAS + LLAMA ===== */
.animated-wordmark{
  width:min(63vw,450px)!important;
  max-width:450px!important;
  aspect-ratio:618/305;
  position:relative!important;
  overflow:visible!important;
  margin:0!important;
  animation:none!important;
  transform:none!important;
}

.logo-placeholder{
  width:100%!important;
  height:auto!important;
  display:block!important;
  opacity:0!important;
  pointer-events:none!important;
}

.logo-letter{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:auto!important;
  display:block!important;
  transform-origin:50% 80%;
  will-change:transform;
  animation:letterDance 3.2s ease-in-out infinite;
}

.letter-1{animation-delay:0s!important}
.letter-2{animation-delay:.10s!important}
.letter-3{animation-delay:.20s!important}
.letter-4{animation-delay:.30s!important}
.letter-5{animation-delay:.40s!important}
.letter-6{animation-delay:.50s!important}
.letter-7{animation-delay:.60s!important}

@keyframes letterDance{
  0%,100%{transform:translateY(0) rotate(0deg)}
  24%{transform:translateY(-3px) rotate(-.35deg)}
  48%{transform:translateY(1px) rotate(.2deg)}
  72%{transform:translateY(-2px) rotate(.25deg)}
}

.official-logo{display:none!important}
.flame-glow{display:none!important}

.official-flame{
  position:absolute!important;
  left:70.227%!important;
  top:3.934%!important;
  width:11.165%!important;
  max-width:none!important;
  height:auto!important;
  z-index:10!important;
  pointer-events:none!important;
  transform-origin:50% 88%!important;
  animation:flameNatural .48s ease-in-out infinite alternate!important;
  filter:drop-shadow(0 0 3px rgba(248,246,157,.30))!important;
}

@keyframes flameNatural{
  0%{transform:translateY(1px) rotate(-2.5deg) scale(.97,1.01)}
  35%{transform:translateY(-2px) rotate(2.2deg) scale(1.03,.97)}
  70%{transform:translateY(-4px) rotate(-1.3deg) scale(.99,1.06)}
  100%{transform:translateY(-2px) rotate(1.8deg) scale(1.025,.99)}
}

@media(max-width:540px){
  .animated-wordmark{
    width:min(66vw,285px)!important;
    max-width:285px!important;
  }
}

@media(max-width:380px){
  .animated-wordmark{
    width:min(68vw,260px)!important;
    max-width:260px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .logo-letter,.official-flame{animation:none!important}
}


/* ===== BOTONES DE ORADORES ===== */
.speaker-more-btn{
  width:calc(100% - 18px);
  max-width:560px;
  margin:12px auto 30px;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 18px;
  color:#111;
  background:#f6d56e;
  border:2px solid #111;
  text-decoration:none;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.055em;
  box-shadow:5px 5px 0 #111;
  transition:transform .18s ease, box-shadow .18s ease;
}
.speaker-more-btn:active{
  transform:translate(3px,3px);
  box-shadow:2px 2px 0 #111;
}
.speaker-more-arrow{
  flex:0 0 auto;
  font-size:1.45rem;
  line-height:1;
  transition:transform .2s ease;
}
.speaker-more-btn:hover .speaker-more-arrow{transform:translateX(4px)}

/* Destino para las biografías. Por ahora no inventamos contenido:
   queda listo para pegar las biografías reales después. */
.speaker-bio-preview{
  scroll-margin-top:24px;
  background:#090909;
  color:#f6f0d0;
  padding:64px 20px;
  border-top:8px solid #d71920;
}
.speaker-bio-inner{
  width:min(100%,760px);
  margin:auto;
}
.speaker-bio-kicker{
  display:inline-block;
  background:#f6d56e;
  color:#111;
  padding:6px 10px;
  font-weight:900;
  letter-spacing:.18em;
  font-size:.78rem;
}
.speaker-bio-preview h2{
  margin:14px 0 4px;
  font-size:clamp(2.2rem,8vw,5rem);
  line-height:.9;
  text-transform:uppercase;
}
.speaker-origin{
  color:#e2262c;
  font-weight:800;
  text-transform:uppercase;
}
.speaker-bio-pending{
  margin:26px 0;
  max-width:580px;
  opacity:.82;
}
.bio-back{
  color:#f6d56e;
  font-weight:800;
  text-decoration:none;
}
html{scroll-behavior:smooth}

@media(max-width:540px){
  .speaker-more-btn{
    width:calc(100% - 34px);
    margin-top:10px;
    margin-bottom:28px;
    font-size:.82rem;
  }
}


/* ===== AJUSTE VISUAL ORADORES ===== */

/* Marco amarillo visible como en la referencia */
.speaker-banner{
  border:10px solid #f3c85a !important;
  box-shadow:10px 10px 0 rgba(0,0,0,.48) !important;
  background:#f0d37c !important;
}

/* Botón más evidente y táctil */
.speaker-more-btn{
  position:relative;
  width:calc(100% - 22px) !important;
  max-width:600px !important;
  margin:14px auto 34px !important;
  min-height:58px !important;
  padding:14px 20px !important;
  border:3px solid #111 !important;
  border-radius:8px !important;
  background:#f3c85a !important;
  color:#111 !important;
  box-shadow:0 7px 0 #111 !important;
  font-family:"Anton",sans-serif !important;
  font-size:1rem !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  overflow:hidden;
}

.speaker-more-btn::before{
  content:"TOCÁ PARA CONOCER MÁS";
  display:block;
  position:absolute;
  left:18px;
  top:7px;
  font-family:"Oswald",sans-serif;
  font-size:.56rem;
  letter-spacing:.13em;
  font-weight:800;
  color:#b30f15;
}

.speaker-more-btn span:first-child{
  padding-top:8px;
}

.speaker-more-arrow{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#111;
  color:#f3c85a;
  display:grid !important;
  place-items:center;
  font-size:1.2rem !important;
  transition:transform .2s ease, background .2s ease;
}

.speaker-more-btn:active{
  transform:translateY(5px) !important;
  box-shadow:0 2px 0 #111 !important;
}

@media (hover:hover) and (pointer:fine){
  .speaker-more-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 9px 0 #111 !important;
  }
  .speaker-more-btn:hover .speaker-more-arrow{
    transform:translateX(4px);
    background:#b30f15;
    color:#fff;
  }
}

@media(max-width:540px){
  .speaker-banner{
    border-width:7px !important;
    box-shadow:7px 7px 0 rgba(0,0,0,.48) !important;
  }
  .speaker-more-btn{
    width:calc(100% - 28px) !important;
    min-height:56px !important;
    font-size:.9rem !important;
  }
}


/* ===== BIOGRAFÍAS SOLO AL TOCAR "CONOCÉ MÁS" ===== */
.speaker-bio-preview{display:none!important}

.speaker-modal{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.speaker-modal.is-open{
  display:flex;
}
.speaker-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(4px);
}
.speaker-modal-card{
  position:relative;
  z-index:2;
  width:min(100%,720px);
  max-height:88vh;
  overflow:auto;
  background:#090909;
  color:#f6f0d0;
  border:8px solid #f3c85a;
  box-shadow:12px 12px 0 #b30f15;
  padding:32px 26px 26px;
  animation:modalIn .28s ease;
}
@keyframes modalIn{
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to{opacity:1;transform:none}
}
.speaker-modal-close{
  position:absolute;
  top:10px;
  right:12px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#d3151c;
  color:white;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}
.speaker-modal-content{
  padding-top:20px;
}
.modal-kicker{
  display:inline-block;
  background:#f3c85a;
  color:#111;
  padding:6px 10px;
  font-weight:900;
  letter-spacing:.16em;
  font-size:.72rem;
}
.speaker-modal-content h2{
  margin:14px 0 6px;
  font-family:"Anton",sans-serif;
  font-size:clamp(2.7rem,9vw,5.5rem);
  line-height:.88;
  text-transform:uppercase;
}
.modal-origin{
  margin:0;
  color:#e1262d;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.modal-bio{
  margin:28px 0 18px;
  color:#ddd5c4;
  line-height:1.7;
  font-size:1rem;
}
.speaker-modal-return{
  margin-top:12px;
  width:100%;
  min-height:52px;
  border:3px solid #f3c85a;
  background:transparent;
  color:#f3c85a;
  font-family:"Anton",sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
}
body.modal-open{
  overflow:hidden;
}

@media(max-width:540px){
  .speaker-modal{
    padding:12px;
  }
  .speaker-modal-card{
    border-width:6px;
    padding:28px 18px 20px;
    box-shadow:7px 7px 0 #b30f15;
  }
}

@media(prefers-reduced-motion:reduce){
  .speaker-modal-card{animation:none!important}
}


/* ===== UBICACIÓN ===== */
.location-section{
  padding:105px 0;
  background:#0a0a0a;
  color:#f7f5ed;
}
.location-head{
  max-width:760px;
  margin-bottom:36px;
}
.location-head h2{
  margin:0;
  font-family:"Anton",sans-serif;
  font-size:clamp(3rem,7vw,6rem);
  line-height:.9;
}
.location-head p:last-child{
  color:#c7c1b4;
  max-width:650px;
  line-height:1.65;
}
.location-card{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  background:#f0d37c;
  color:#111;
  border:8px solid #f3c85a;
  box-shadow:10px 10px 0 #d3151c;
  overflow:hidden;
}
.map-preview{
  min-height:320px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(25deg, transparent 45%, rgba(0,0,0,.12) 46% 49%, transparent 50%),
    linear-gradient(155deg, transparent 45%, rgba(0,0,0,.10) 46% 49%, transparent 50%),
    #e6c468;
}
.map-preview::before,
.map-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 1px,transparent 1px 42px),
    repeating-linear-gradient(90deg,rgba(0,0,0,.07) 0 1px,transparent 1px 42px);
}
.map-pin{
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  width:54px;
  height:54px;
  border-radius:50% 50% 50% 0;
  background:#d3151c;
  color:#f5ef95;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%) rotate(-45deg);
  font-size:1rem;
  z-index:2;
  box-shadow:0 7px 0 rgba(0,0,0,.18);
}
.map-pin::first-letter{transform:rotate(45deg)}
.map-preview > span{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  font-weight:900;
  letter-spacing:.12em;
}
.location-info{
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.location-label{
  display:inline-block;
  width:max-content;
  background:#d3151c;
  color:white;
  padding:6px 10px;
  font-weight:900;
  letter-spacing:.14em;
  font-size:.72rem;
}
.location-info h3{
  font-family:"Anton",sans-serif;
  font-size:clamp(2.5rem,5vw,4.5rem);
  line-height:.9;
  margin:14px 0 10px;
}
.location-info p{line-height:1.6}
.location-btn{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:12px 18px;
  background:#111;
  color:#f3c85a;
  font-family:"Anton",sans-serif;
  letter-spacing:.07em;
}
.is-disabled{opacity:.62;cursor:not-allowed}

/* ===== REDES ===== */
.social-section{
  padding:88px 0;
  background:#f0d37c;
  color:#111;
}
.social-inner{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:36px;
}
.social-inner h2{
  margin:0;
  font-family:"Anton",sans-serif;
  font-size:clamp(2.8rem,6vw,5rem);
  line-height:.9;
}
.social-inner p:last-child{max-width:560px}
.social-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.social-link{
  min-width:160px;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  background:#111;
  color:#f3c85a;
  border:3px solid #111;
  font-family:"Anton",sans-serif;
  letter-spacing:.06em;
}
.social-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d3151c;
  color:white;
  font-family:Arial,sans-serif;
  font-weight:900;
}

/* ===== PÁGINAS DE ORADORES ===== */
.speaker-page{
  min-height:100vh;
  background:#080808;
  color:#f6f0d0;
}
.speaker-page .speaker-page-hero{
  padding:34px 0 80px;
}
.speaker-page .back-link{
  display:inline-block;
  margin-bottom:36px;
  color:#f3c85a;
  font-weight:900;
  text-decoration:none;
}
.speaker-page .speaker-page-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:38px;
  align-items:start;
}
.speaker-page .speaker-page-image{
  border:8px solid #f3c85a;
  box-shadow:10px 10px 0 #d3151c;
  overflow:hidden;
  background:#f0d37c;
}
.speaker-page .speaker-page-image img{
  width:100%;
  display:block;
}
.speaker-page .speaker-page-kicker{
  color:#d3151c;
  font-weight:900;
  letter-spacing:.16em;
}
.speaker-page h1{
  font-family:"Anton",sans-serif;
  font-size:clamp(3.2rem,8vw,6.5rem);
  line-height:.86;
  margin:10px 0;
}
.speaker-page .speaker-page-origin{
  color:#f3c85a;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.speaker-page .speaker-placeholder{
  margin-top:28px;
  padding:24px;
  border-left:6px solid #d3151c;
  background:#111;
  color:#d7d0c0;
  line-height:1.7;
}
.speaker-page .speaker-placeholder strong{
  color:#f3c85a;
}

@media(max-width:760px){
  .location-card,
  .social-inner,
  .speaker-page .speaker-page-grid{
    grid-template-columns:1fr;
  }
  .social-links{justify-content:flex-start}
}


/* ===== UBICACIÓN COMPACTA ===== */
.compact-location{
  padding:64px 0 !important;
  background:#0a0a0a !important;
}
.compact-location-card{
  width:min(100%,820px);
  margin:auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:#f0d37c;
  color:#111;
  border:6px solid #f3c85a;
  box-shadow:7px 7px 0 #d3151c;
  overflow:hidden;
}
.compact-map{
  min-height:230px;
  background:#d6bd72;
}
.compact-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:230px;
  border:0;
}
.compact-location-info{
  padding:24px 24px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.compact-location-info .kicker{
  margin:0 0 8px;
  color:#d3151c;
  font-size:.72rem;
  letter-spacing:.18em;
  font-weight:900;
}
.compact-location-info h2{
  margin:0;
  font-family:"Anton",sans-serif;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:.92;
}
.compact-location-info p{
  margin:10px 0 0;
  line-height:1.5;
}
.active-location-btn{
  margin-top:16px !important;
  min-height:48px !important;
  padding:10px 15px !important;
  background:#111 !important;
  color:#f3c85a !important;
  font-family:"Anton",sans-serif !important;
  letter-spacing:.06em !important;
  text-decoration:none !important;
  border:2px solid #111;
  box-shadow:4px 4px 0 #d3151c;
  transition:transform .18s ease, box-shadow .18s ease;
}
.active-location-btn:active{
  transform:translate(2px,2px);
  box-shadow:2px 2px 0 #d3151c;
}
@media (hover:hover) and (pointer:fine){
  .active-location-btn:hover{
    transform:translateY(-2px);
  }
}
@media(max-width:640px){
  .compact-location{
    padding:50px 0 !important;
  }
  .compact-location-card{
    grid-template-columns:1fr;
    width:min(100%,520px);
    border-width:5px;
    box-shadow:6px 6px 0 #d3151c;
  }
  .compact-map,
  .compact-map iframe{
    min-height:190px;
  }
  .compact-location-info{
    padding:20px;
  }
}


/* ===== REDES SOCIALES ACTIVAS ===== */
.social-link.active-social{
  opacity:1 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:4px 4px 0 #d3151c;
}
.social-link.active-social:active{
  transform:translate(2px,2px);
  box-shadow:2px 2px 0 #d3151c;
}
.social-icon-instagram svg{
  width:23px;
  height:23px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}
.social-icon-instagram svg .ig-dot{
  fill:currentColor;
  stroke:none;
}
.social-icon-facebook{
  font-family:Arial,sans-serif !important;
  font-size:1.5rem;
  font-weight:900;
}
.social-arrow{
  margin-left:auto;
  font-size:1.2rem;
  transition:transform .18s ease;
}
@media (hover:hover) and (pointer:fine){
  .social-link.active-social:hover{
    transform:translateY(-2px);
  }
  .social-link.active-social:hover .social-arrow{
    transform:translateX(4px);
  }
}


/* ===== INSCRIPCIÓN ===== */
.registration-section{
  padding:70px 0;
  background:#b70f16;
  position:relative;
  overflow:hidden;
}
.registration-section::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  background:
    repeating-linear-gradient(-10deg,transparent 0 18px,#000 19px 20px),
    repeating-linear-gradient(80deg,transparent 0 44px,#f3c85a 45px 46px);
  pointer-events:none;
}
.registration-card{
  position:relative;
  z-index:1;
  width:min(100%,900px);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:32px;
  background:#0a0a0a;
  border:6px solid #f3c85a;
  box-shadow:8px 8px 0 rgba(0,0,0,.55);
}
.registration-copy{
  max-width:560px;
}
.registration-kicker{
  margin:0 0 8px;
  color:#f3c85a;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.17em;
}
.registration-copy h2{
  margin:0;
  color:#f6f0d0;
  font-family:"Anton",sans-serif;
  font-size:clamp(2.8rem,6vw,5.2rem);
  line-height:.9;
}
.registration-copy p:last-child{
  margin:13px 0 0;
  color:#d6cfbe;
  line-height:1.55;
}
.registration-btn{
  flex:0 0 auto;
  min-width:230px;
  min-height:60px;
  padding:14px 17px 14px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#f3c85a;
  color:#111;
  border:3px solid #f3c85a;
  box-shadow:5px 5px 0 #d3151c;
  text-decoration:none;
  font-family:"Anton",sans-serif;
  letter-spacing:.06em;
  transition:transform .18s ease, box-shadow .18s ease;
}
.registration-arrow{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#111;
  color:#f3c85a;
  font-size:1.2rem;
}
.registration-btn:active{
  transform:translate(3px,3px);
  box-shadow:2px 2px 0 #d3151c;
}
@media (hover:hover) and (pointer:fine){
  .registration-btn:hover{
    transform:translateY(-2px);
  }
}
@media(max-width:680px){
  .registration-section{
    padding:54px 0;
  }
  .registration-card{
    display:block;
    padding:25px 20px;
    border-width:5px;
    box-shadow:6px 6px 0 rgba(0,0,0,.55);
  }
  .registration-btn{
    width:100%;
    margin-top:24px;
    min-width:0;
  }
}


/* =========================================================
   CRAIG BENNETT — PERFIL / BIOGRAFÍA
   Mantiene la identidad rojo + crema + negro de Génesis.
   ========================================================= */
.craig-profile-page{
  margin:0;
  background:#f1d36f;
  color:#0b0b0b;
  font-family:"Oswald",sans-serif;
}
.craig-profile-page *{box-sizing:border-box}
.craig-shell{width:min(1120px,calc(100% - 36px));margin:auto}
.craig-back{
  position:absolute;z-index:20;top:22px;left:max(18px,calc((100vw - 1120px)/2));
  display:inline-flex;padding:10px 13px;background:#f1d36f;color:#0a0a0a;
  border:2px solid #0a0a0a;text-decoration:none;font-weight:900;letter-spacing:.06em;
  box-shadow:4px 4px 0 #d3151c
}
.craig-profile-hero{position:relative;background:#090909}
.craig-hero-photo{position:relative;min-height:min(850px,92vh);overflow:hidden}
.craig-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%}
.craig-hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.86) 100%),
             linear-gradient(90deg,rgba(179,15,21,.35),transparent 55%)
}
.craig-hero-copy{position:absolute;z-index:3;left:max(18px,calc((100vw - 1120px)/2));bottom:52px;color:#f7efd0}
.craig-hero-copy p{margin:0 0 10px;color:#f1d36f;font-weight:900;letter-spacing:.17em}
.craig-hero-copy h1{font-family:"Anton",sans-serif;font-size:clamp(4.6rem,12vw,10rem);line-height:.77;margin:0;letter-spacing:-.025em}
.craig-hero-copy span{display:inline-block;margin-top:20px;background:#d3151c;padding:8px 12px;font-weight:900;letter-spacing:.1em}
.craig-hero-stamp{
  position:absolute;z-index:3;right:max(18px,calc((100vw - 1120px)/2));top:55px;
  width:118px;height:118px;border:3px solid #f1d36f;border-radius:50%;color:#f1d36f;
  display:grid;place-items:center;text-align:center;font-weight:900;line-height:1.05;
  transform:rotate(8deg);letter-spacing:.08em
}
.craig-intro{padding:95px 0 105px;background:#f1d36f}
.craig-section-number{font-family:"Anton",sans-serif;color:#d3151c;font-size:3.2rem;line-height:1}
.craig-section-number.light{color:#f1d36f}
.craig-eyebrow{font-weight:900;letter-spacing:.18em;margin:8px 0 13px}
.craig-eyebrow.light{color:#f1d36f}
.craig-intro h2,.craig-missions h2,.craig-gallery-section h2,.craig-return-section h2{
  font-family:"Anton",sans-serif;font-size:clamp(3.7rem,9vw,7.6rem);line-height:.84;margin:0
}
.craig-intro h2 em,.craig-missions h2 em{font-style:normal;color:#d3151c}
.craig-bio-grid{display:grid;grid-template-columns:1fr .82fr;gap:55px;align-items:center;margin-top:55px}
.craig-bio-text{font-size:1.18rem;line-height:1.75}
.craig-bio-text p{margin:0 0 25px}
.craig-feature-photo{margin:0;border:8px solid #0a0a0a;box-shadow:12px 12px 0 #d3151c;transform:rotate(1.2deg);overflow:hidden}
.craig-feature-photo img{display:block;width:100%;aspect-ratio:1/1.08;object-fit:cover}
.craig-missions{padding:100px 0;background:#0a0a0a;color:#f6efd3;position:relative;overflow:hidden}
.craig-missions:after{
  content:"";position:absolute;width:520px;height:520px;border:85px solid rgba(211,21,28,.16);
  border-radius:50%;right:-230px;top:-170px
}
.craig-missions h2 em{color:#f1d36f}
.craig-mission-copy{position:relative;z-index:2;max-width:850px;margin-top:48px;font-size:1.18rem;line-height:1.75}
.craig-mission-copy p{margin:0 0 24px}
.craig-countries{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin-top:36px}
.craig-countries span{border:2px solid #f1d36f;color:#f1d36f;padding:8px 12px;font-weight:900;letter-spacing:.07em}
.craig-gallery-section{padding:100px 0 110px;background:#d3151c;color:#f6efd3}
.craig-gallery-section .craig-eyebrow{color:#f1d36f}
.craig-photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:12px;margin-top:50px}
.craig-photo-grid figure{margin:0;grid-column:span 4;overflow:hidden;border:5px solid #f1d36f;background:#111}
.craig-photo-grid figure.wide{grid-column:span 8}
.craig-photo-grid figure.tall{grid-row:span 2}
.craig-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
@media(hover:hover){.craig-photo-grid figure:hover img{transform:scale(1.035)}}
.craig-return-section{padding:95px 0;background:#f1d36f;text-align:center}
.craig-return-section p{font-weight:900;letter-spacing:.18em;color:#d3151c}
.craig-return-section a{
  display:inline-flex;margin-top:30px;padding:14px 22px;background:#0a0a0a;color:#f1d36f;
  border:3px solid #0a0a0a;text-decoration:none;font-family:"Anton",sans-serif;
  letter-spacing:.08em;box-shadow:6px 6px 0 #d3151c
}

@media(max-width:720px){
  .craig-shell{width:min(100% - 26px,600px)}
  .craig-hero-photo{min-height:78vh}
  .craig-hero-photo>img{object-position:54% center}
  .craig-hero-copy{left:18px;bottom:28px;right:18px}
  .craig-hero-copy h1{font-size:clamp(4rem,21vw,6.7rem)}
  .craig-hero-copy p{font-size:.72rem}
  .craig-hero-stamp{width:82px;height:82px;right:16px;top:75px;font-size:.68rem}
  .craig-back{left:14px;top:14px;font-size:.75rem}
  .craig-intro,.craig-missions,.craig-gallery-section{padding:65px 0 72px}
  .craig-bio-grid{grid-template-columns:1fr;gap:35px;margin-top:38px}
  .craig-bio-text,.craig-mission-copy{font-size:1.04rem;line-height:1.68}
  .craig-feature-photo{border-width:6px;box-shadow:8px 8px 0 #d3151c}
  .craig-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:8px;margin-top:35px}
  .craig-photo-grid figure,.craig-photo-grid figure.wide{grid-column:span 1}
  .craig-photo-grid figure.wide:first-child{grid-column:1/-1}
  .craig-photo-grid figure.tall{grid-row:span 2}
  .craig-photo-grid figure{border-width:4px}
  .craig-return-section{padding:70px 0}
}


/* =========================================================
   DÉBORA & ADRIÁN BRITO — PERFIL / BIOGRAFÍA
   ========================================================= */
.brito-profile-page{
  margin:0;
  background:#f1d36f;
  color:#0b0b0b;
  font-family:"Oswald",sans-serif;
}
.brito-profile-page *{box-sizing:border-box}
.brito-shell{width:min(1120px,calc(100% - 36px));margin:auto}
.brito-back{
  position:absolute;z-index:20;top:22px;left:max(18px,calc((100vw - 1120px)/2));
  display:inline-flex;padding:10px 13px;background:#f1d36f;color:#0a0a0a;
  border:2px solid #0a0a0a;text-decoration:none;font-weight:900;letter-spacing:.06em;
  box-shadow:4px 4px 0 #d3151c
}
.brito-profile-hero{position:relative;background:#090909}
.brito-hero-photo{position:relative;min-height:min(850px,92vh);overflow:hidden}
.brito-hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 32%}
.brito-hero-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.88) 100%),
             linear-gradient(90deg,rgba(179,15,21,.30),transparent 58%)
}
.brito-hero-copy{position:absolute;z-index:3;left:max(18px,calc((100vw - 1120px)/2));bottom:50px;color:#f7efd0}
.brito-hero-copy p{margin:0 0 10px;color:#f1d36f;font-weight:900;letter-spacing:.15em}
.brito-hero-copy h1{font-family:"Anton",sans-serif;font-size:clamp(4.4rem,11vw,9.3rem);line-height:.78;margin:0;letter-spacing:-.02em}
.brito-hero-copy span{display:inline-block;margin-top:20px;background:#d3151c;padding:8px 12px;font-weight:900;letter-spacing:.1em}
.brito-hero-stamp{
  position:absolute;z-index:3;right:max(18px,calc((100vw - 1120px)/2));top:58px;
  width:124px;height:124px;border:3px solid #f1d36f;border-radius:50%;color:#f1d36f;
  display:grid;place-items:center;text-align:center;font-weight:900;line-height:1.05;
  transform:rotate(-7deg);letter-spacing:.08em
}
.brito-intro{padding:95px 0 105px;background:#f1d36f}
.brito-section-number{font-family:"Anton",sans-serif;color:#d3151c;font-size:3.2rem;line-height:1}
.brito-section-number.light{color:#f1d36f}
.brito-eyebrow{font-weight:900;letter-spacing:.18em;margin:8px 0 13px}
.brito-eyebrow.light{color:#f1d36f}
.brito-intro h2,.brito-missions h2,.brito-gallery-section h2,.brito-return-section h2{
  font-family:"Anton",sans-serif;font-size:clamp(3.7rem,9vw,7.6rem);line-height:.84;margin:0
}
.brito-intro h2 em,.brito-missions h2 em{font-style:normal;color:#d3151c}
.brito-bio-grid{display:grid;grid-template-columns:1fr .82fr;gap:55px;align-items:center;margin-top:55px}
.brito-bio-text{font-size:1.18rem;line-height:1.75}
.brito-bio-text p{margin:0 0 25px}
.brito-feature-photo{margin:0;border:8px solid #0a0a0a;box-shadow:12px 12px 0 #d3151c;transform:rotate(-1.2deg);overflow:hidden}
.brito-feature-photo img{display:block;width:100%;aspect-ratio:1/1.08;object-fit:cover;object-position:center top}
.brito-missions{padding:100px 0;background:#0a0a0a;color:#f6efd3;position:relative;overflow:hidden}
.brito-missions:after{
  content:"";position:absolute;width:560px;height:560px;border:88px solid rgba(211,21,28,.16);
  border-radius:50%;right:-230px;top:-190px
}
.brito-missions h2 em{color:#f1d36f}
.brito-mission-copy{position:relative;z-index:2;max-width:850px;margin-top:48px;font-size:1.18rem;line-height:1.75}
.brito-countries{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:9px;margin-top:36px}
.brito-countries span{border:2px solid #f1d36f;color:#f1d36f;padding:8px 12px;font-weight:900;letter-spacing:.07em}
.brito-gallery-section{padding:100px 0 110px;background:#d3151c;color:#f6efd3}
.brito-gallery-section .brito-eyebrow{color:#f1d36f}
.brito-photo-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:240px;gap:12px;margin-top:50px}
.brito-photo-grid figure{margin:0;grid-column:span 4;overflow:hidden;border:5px solid #f1d36f;background:#111}
.brito-photo-grid figure.wide{grid-column:span 8}
.brito-photo-grid figure.tall{grid-row:span 2}
.brito-photo-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
@media(hover:hover){.brito-photo-grid figure:hover img{transform:scale(1.035)}}
.brito-return-section{padding:95px 0;background:#f1d36f;text-align:center}
.brito-return-section p{font-weight:900;letter-spacing:.18em;color:#d3151c}
.brito-return-section a{
  display:inline-flex;margin-top:30px;padding:14px 22px;background:#0a0a0a;color:#f1d36f;
  border:3px solid #0a0a0a;text-decoration:none;font-family:"Anton",sans-serif;
  letter-spacing:.08em;box-shadow:6px 6px 0 #d3151c
}

@media(max-width:720px){
  .brito-shell{width:min(100% - 26px,600px)}
  .brito-hero-photo{min-height:78vh}
  .brito-hero-photo>img{object-position:54% center}
  .brito-hero-copy{left:18px;bottom:28px;right:18px}
  .brito-hero-copy h1{font-size:clamp(3.8rem,19vw,6.2rem)}
  .brito-hero-copy p{font-size:.69rem;max-width:78%}
  .brito-hero-stamp{width:86px;height:86px;right:14px;top:76px;font-size:.62rem}
  .brito-back{left:14px;top:14px;font-size:.75rem}
  .brito-intro,.brito-missions,.brito-gallery-section{padding:65px 0 72px}
  .brito-bio-grid{grid-template-columns:1fr;gap:35px;margin-top:38px}
  .brito-bio-text,.brito-mission-copy{font-size:1.04rem;line-height:1.68}
  .brito-feature-photo{border-width:6px;box-shadow:8px 8px 0 #d3151c}
  .brito-photo-grid{grid-template-columns:1fr;grid-auto-rows:230px;gap:9px;margin-top:35px}
  .brito-photo-grid figure,.brito-photo-grid figure.wide{grid-column:span 1}
  .brito-photo-grid figure.tall{grid-row:span 1}
  .brito-photo-grid figure{border-width:4px}
  .brito-return-section{padding:70px 0}
}


/* Ajustes finales encabezado Débora & Adrián */
.brito-hero-copy h1 b{
  display:inline-block;
  font:inherit;
  color:#f1d36f;
}
@media(max-width:720px){
  .brito-hero-copy{
    bottom:22px;
  }
  .brito-hero-copy p{
    max-width:72%;
    line-height:1.35;
    margin-bottom:14px;
  }
  .brito-hero-copy h1{
    font-size:clamp(3.15rem,16.5vw,5.5rem);
    line-height:.80;
  }
  .brito-hero-copy span{
    margin-top:14px;
    font-size:.72rem;
  }
}

/* PLAYLIST SPOTIFY */
.spotify-section{padding:52px 0;background:#111}
.spotify-card{width:min(100%,900px);margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:24px;background:#090909;color:#f6efd3;border:4px solid #f1d36f;box-shadow:7px 7px 0 #d3151c}
.spotify-logo{width:72px;height:72px}.spotify-logo svg{width:100%;height:100%}.spotify-logo circle{fill:#1ed760}.spotify-logo path{fill:none;stroke:#090909;stroke-width:1.8;stroke-linecap:round}
.spotify-copy p{margin:0 0 5px;color:#1ed760;font-size:.68rem;font-weight:900;letter-spacing:.17em}.spotify-copy h2{margin:0;font-family:"Anton",sans-serif;font-size:clamp(2rem,4vw,3.4rem);line-height:.9}.spotify-copy span{display:block;margin-top:9px;color:#cfc8b8}
.spotify-btn{min-width:225px;min-height:62px;padding:9px 10px 9px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#1ed760;color:#090909;text-decoration:none;border:3px solid #1ed760;border-radius:5px;box-shadow:5px 5px 0 #f1d36f;animation:spotPulse 3.4s ease-in-out infinite}
.spotify-btn>span{display:flex;flex-direction:column}.spotify-btn small{font-family:"Oswald",sans-serif;font-size:.58rem;font-weight:900;letter-spacing:.13em;margin-bottom:5px}.spotify-btn b{font-family:"Anton",sans-serif;font-size:1rem;letter-spacing:.04em}.spotify-btn i{font-style:normal;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#090909;color:#1ed760}
.spotify-btn:active{animation:none;transform:translate(3px,3px);box-shadow:2px 2px 0 #f1d36f}
@keyframes spotPulse{0%,82%,100%{transform:translateY(0)}88%{transform:translateY(-4px)}94%{transform:translateY(0)}}
@media(max-width:720px){.spotify-card{grid-template-columns:58px 1fr;padding:19px 17px;gap:14px}.spotify-logo{width:58px;height:58px}.spotify-copy h2{font-size:clamp(1.8rem,8.5vw,2.7rem)}.spotify-btn{grid-column:1/-1;width:100%;min-width:0;margin-top:7px}}
@media(prefers-reduced-motion:reduce){.spotify-btn{animation:none}}
