/* =========================================================
   MMRC 2027 · Motion site
   ========================================================= */
:root{
  --azul:#003399;
  --azul-osc:#001F5C;
  --amarillo:#FFCC00;
  --rojo:#CE1126;
  --crema:#F4F0E8;
  --tinta:#0D1530;
  --gris:#3A4156;   /* gris de textos (más oscuro para que se lea sobre el fondo) */
  --display:'Bebas Neue', Impact, 'Arial Narrow', sans-serif;
  --body:'Montserrat', system-ui, sans-serif;
  --hdr-h:72px;
  /* corredor de perfil: posición final en el Acto 2 */
  --rh:64vh;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--body);color:var(--tinta);background:var(--crema);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}

/* ---------- Tipografía ---------- */
.display{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.88;letter-spacing:.5px;font-size:clamp(3.4rem,7.4vw,7.6rem)}
.d-md{font-size:clamp(2.8rem,5vw,5.2rem)}
.kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:.9;margin-bottom:14px}
.k-dark{color:var(--azul)}
.lead{font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.6;color:rgba(255,255,255,.9);max-width:46ch;margin-top:18px;font-weight:500}
.l-dark{color:var(--gris)}
.t-yellow{color:var(--amarillo)}
.t-blue{color:var(--azul)}
.t-red{color:var(--rojo)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:.92rem;letter-spacing:.02em;transition:transform .25s ease, background .25s ease, color .25s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-sm{height:42px;padding:0 20px;font-size:.85rem}
.btn-yellow{background:var(--amarillo);color:var(--tinta)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px);background:rgba(255,255,255,.08)}
.btn-dark{background:var(--tinta);color:#fff;width:100%}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;height:var(--hdr-h);z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(16px,3vw,40px);color:#fff;transition:color .4s ease}
.hdr-logo img{height:48px;width:auto}
.hdr-nav{display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .4s ease,border-color .4s ease}
.hdr-nav a{padding:9px 16px;border-radius:999px;font-size:.84rem;font-weight:600;transition:background .2s ease}
.hdr-nav a:hover{background:rgba(255,255,255,.18)}
.hdr.is-light{color:var(--tinta)}
.hdr.is-light .hdr-nav{background:rgba(255,255,255,.7);border-color:rgba(13,21,48,.1)}
.hdr.is-light .hdr-nav a:hover{background:rgba(13,21,48,.07)}
.hdr-logo{display:block;padding:6px 10px;border-radius:14px;transition:background .4s ease}
.hdr.is-light .hdr-logo{background:var(--azul-osc)}

/* =========================================================
   ACTO 1
   ========================================================= */
.act1{position:relative;height:100vh;height:100svh}
.stage{position:relative;height:100%;width:100%;overflow:hidden;background:#140c1f}
.world{position:absolute;inset:0;transform-origin:50% 62%}
.world img,.world video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
/* Contraste de los videos y fotos de los mundos (ajusta aquí) */
.world img,.world video{filter:contrast(var(--vid-contraste,1.14)) saturate(var(--vid-saturacion,1.08))}
.world video{opacity:0;transition:opacity .6s ease}
/* Getsemaní: el corredor viene un poco más pequeño en el video; se iguala al de Murallas para que el paso entre los dos sea continuo */
.world[data-world="2"] img,.world[data-world="2"] video{transform:scale(1.06);transform-origin:50% 90%}
.world.has-video video{opacity:1}
.world{will-change:filter,opacity}
.speed{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,18,58,.78) 0%,rgba(0,18,58,.45) 30%,rgba(0,18,58,0) 58%),linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%)}
.flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 58%,rgba(255,255,255,.9),rgba(255,236,200,.4) 35%,rgba(255,255,255,0) 70%)}
.clean{position:absolute;inset:0;pointer-events:none;opacity:0;background:var(--crema)}

.panel{position:absolute;left:clamp(20px,6vw,96px);top:50%;transform:translateY(-50%);width:min(560px,40vw);color:#fff;z-index:5}
.p-hero{width:min(640px,44vw)}
.p-dist,.p-nos{opacity:0;visibility:hidden}

.countdown{display:flex;gap:10px;margin-top:22px}
.countdown .cd{min-width:74px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);text-align:center}
.countdown .cd b{display:block;font-family:var(--display);font-size:2rem;line-height:1;font-weight:400}
.countdown .cd span{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.countdown .tba{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.countdown .tba::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amarillo);box-shadow:0 0 0 4px rgba(255,204,0,.25)}

.dist-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.dcard{padding:18px 16px 16px;border-radius:18px;background:rgba(8,14,40,.42);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.dnum{font-family:var(--display);font-size:3.2rem;line-height:.9;display:block}
.c-yellow{color:var(--amarillo)} .c-blue{color:#5C8DFF} .c-red{color:#FF4D62}
.dcard h3{font-size:.95rem;font-weight:700;margin:6px 0 6px}
.dcard p{font-size:.8rem;line-height:1.45;opacity:.85}
.dcard small{display:block;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.15);font-size:.7rem;opacity:.75;font-weight:600}
.dkids{position:relative;display:flex;align-items:center;gap:16px;margin-top:12px;padding:12px 18px 14px;border-radius:18px;overflow:hidden;color:#fff;
  background:rgba(8,14,40,.42);border:1px solid rgba(255,204,0,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s ease,transform .3s ease}
.dkids::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--amarillo) 0 50%,var(--azul) 50% 75%,var(--rojo) 75%)}
.dkids:hover{background:rgba(8,14,40,.6);transform:translateY(-2px)}
.dk-word{font-family:var(--display);font-size:2.6rem;line-height:.9;letter-spacing:.02em}
.dk-word i{font-style:normal}
.dk-word i:nth-child(1),.dk-word i:nth-child(4){color:var(--amarillo)}
.dk-word i:nth-child(2){color:#7FB0FF}
.dk-word i:nth-child(3){color:#FF4D62}
.dk-txt{flex:1;min-width:0}
.dk-txt b{display:block;font-size:.95rem;font-weight:800}
.dk-txt small{display:block;margin-top:3px;font-size:.72rem;opacity:.8;font-weight:600}
.dk-go{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--amarillo);color:var(--tinta);font-weight:800;transition:transform .3s ease}
.dkids:hover .dk-go{transform:translateX(4px)}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chips li{padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);font-size:.82rem;font-weight:600}

.worlds-nav{position:absolute;right:clamp(16px,3vw,40px);bottom:clamp(18px,4vh,36px);display:flex;gap:10px;z-index:6}
.worlds-nav button{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7;transition:opacity .3s}
.worlds-nav img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.5);transition:border-color .3s,transform .3s}
.worlds-nav button.is-active{opacity:1}
.worlds-nav button.is-active img{border-color:var(--amarillo);transform:scale(1.08)}

.scroll-hint{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;z-index:6}
.scroll-hint i{width:2px;height:34px;background:linear-gradient(#fff,transparent);animation:hint 1.6s ease-in-out infinite}
@keyframes hint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* =========================================================
   CORREDOR DE PERFIL
   ========================================================= */
.runner{position:fixed;z-index:4;pointer-events:none;height:var(--rh);width:calc(var(--rh) * .852);left:calc(24vw - var(--rh) * .426);top:calc(54vh - var(--rh) / 2);visibility:hidden;opacity:0}
.r-fade,.r-bob{position:relative;width:100%;height:100%}
.r-bob img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(13,21,48,.18))}
.r-bob{animation:bob .42s ease-in-out infinite alternate}
@keyframes bob{from{transform:translateY(0) rotate(0)}to{transform:translateY(-2.2%) rotate(-.6deg)}}
.r-streaks{position:absolute;inset:18% 40% 22% -55%;}
.r-streaks i{position:absolute;right:0;height:3px;border-radius:3px;background:linear-gradient(90deg,rgba(0,51,153,0),rgba(0,51,153,.35));animation:streak 1.1s linear infinite}
.r-streaks i:nth-child(1){top:8%;width:70%;animation-delay:-.2s}
.r-streaks i:nth-child(2){top:28%;width:45%;animation-delay:-.7s;background:linear-gradient(90deg,rgba(206,17,38,0),rgba(206,17,38,.35))}
.r-streaks i:nth-child(3){top:50%;width:85%;animation-delay:-.4s}
.r-streaks i:nth-child(4){top:70%;width:55%;animation-delay:-.9s;background:linear-gradient(90deg,rgba(255,204,0,0),rgba(255,204,0,.55))}
.r-streaks i:nth-child(5){top:90%;width:65%;animation-delay:-.1s}
@keyframes streak{from{transform:translateX(40%);opacity:0}20%{opacity:1}to{transform:translateX(-120%);opacity:0}}

/* =========================================================
   ACTO 2
   ========================================================= */
.act2{position:relative;z-index:5;padding:2vh clamp(20px,5vw,80px) 10vh calc(48vw + 2vw)}
.block{max-width:640px;padding:10vh 0}
.block + .block{border-top:1px solid rgba(13,21,48,.1)}

/* Mapa / recorrido */
.rt-tabs{position:relative;display:inline-flex;margin-top:28px;padding:5px;border-radius:999px;background:#fff;box-shadow:0 10px 30px -14px rgba(0,31,92,.35),inset 0 0 0 1px rgba(13,21,48,.08)}
.rt-tabs button{position:relative;z-index:1;border:0;background:none;cursor:pointer;font-family:var(--display);font-size:1.35rem;letter-spacing:.06em;line-height:1;padding:10px 22px 8px;border-radius:999px;color:var(--gris);transition:color .35s ease}
.rt-tabs button.on{color:var(--azul-osc)}
.rt-tabs button:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.rt-tab-ink{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:0;border-radius:999px;background:var(--amarillo);box-shadow:0 6px 16px -6px rgba(255,204,0,.9);transition:transform .5s cubic-bezier(.7,0,.2,1),width .5s cubic-bezier(.7,0,.2,1)}
.map{margin-top:18px;border-radius:24px;background:var(--azul-osc);padding:14px;color:#fff;box-shadow:0 30px 60px -30px rgba(0,31,92,.6);position:relative;overflow:hidden}
.rt-hud{display:flex;align-items:flex-end;gap:16px;padding:4px 6px 12px}
.rt-km{display:flex;align-items:baseline;gap:6px;min-width:4.6ch}
.rt-km b{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,4.4vw,3.6rem);line-height:.8;color:var(--amarillo);font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,204,0,.45)}
.rt-km span{font-family:var(--display);font-size:1.1rem;letter-spacing:.08em;opacity:.7}
.rt-now{flex:1;min-width:0;padding-left:16px;border-left:1px solid rgba(255,255,255,.15)}
.rt-now small,.rt-total small{display:block;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#7FB0FF}
.rt-now small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-now strong{display:block;margin-top:3px;font-size:.98rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-total{text-align:right}
.rt-total strong{display:block;margin-top:2px;font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1;letter-spacing:.04em}
.rt-view{border-radius:16px;overflow:hidden;background:#011437;box-shadow:inset 0 0 0 1px rgba(127,176,255,.12)}
.rt-view{aspect-ratio:16/9}
.rt-view svg{display:block;width:100%;height:100%}
.rt-land{fill:url(#rtLandG);stroke:rgba(127,176,255,.35);stroke-width:1.2}
.rt-waves path{fill:none;stroke:rgba(255,255,255,.13);stroke-width:1.6;stroke-linecap:round;animation:rtWave 6s ease-in-out infinite alternate}
.rt-waves path:nth-child(2n){animation-duration:7.5s;animation-delay:-2s}
.rt-waves path:nth-child(3n){animation-duration:5s;animation-delay:-3.5s}
@keyframes rtWave{from{transform:translateX(-10px);opacity:.4}to{transform:translateX(12px);opacity:1}}
.m-sea{fill:rgba(127,176,255,.32);font-family:var(--body);font-size:15px;font-style:italic;font-weight:600;letter-spacing:.42em;text-transform:uppercase}
.m-bay{font-size:11px;letter-spacing:.3em}
.m-zone{fill:rgba(255,255,255,.34);font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.m-base{fill:none;stroke:rgba(255,255,255,.14);stroke-width:7;stroke-linecap:round;stroke-dasharray:1 11}
.m-line{fill:none;stroke:var(--amarillo);stroke-width:6;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,204,0,.75))}
.m-back{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;opacity:.95}
.m-comet{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;filter:url(#rtGlow);opacity:.9}
.m-dot{fill:#fff;stroke:var(--amarillo);stroke-width:4}
.rt-pulse{fill:rgba(255,204,0,.35);transform-box:fill-box;transform-origin:center;animation:rtPulse 1.4s ease-out infinite}
@keyframes rtPulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.mk{transition:opacity .3s ease}
.mk .mk-in{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .55s cubic-bezier(.3,1.6,.5,1)}
.mk.on .mk-in{transform:scale(1)}
.mk.off{opacity:.18}
.mk .pin{stroke:#fff;stroke-width:2.2}
.mk.h .pin{fill:#1E6BFF}
.mk.a .pin{fill:var(--rojo)}
.mk.ret .pin{fill:#fff;stroke:var(--rojo)}
.mk.start .pin{fill:var(--amarillo);stroke:#fff}
.mk.sel .pin{stroke-width:3}
.mk.sel .halo{fill:none;stroke:var(--rojo);stroke-width:2;opacity:.7;transform-box:fill-box;transform-origin:center;animation:rtPulse 1.8s ease-out infinite}
.mk text{fill:#fff;font-family:var(--body);font-size:13px;font-weight:700;paint-order:stroke;stroke:#001F5C;stroke-width:4px;stroke-linejoin:round}
.mk text.sub{fill:rgba(255,255,255,.7);font-size:11px;font-weight:600}
.rt-bar{padding:14px 6px 4px}
.rt-track{position:relative;height:6px;border-radius:6px;background:rgba(255,255,255,.12)}
.rt-track #rtFill{position:absolute;inset:0 auto 0 0;width:0;border-radius:6px;background:linear-gradient(90deg,var(--amarillo) 0%,var(--amarillo) var(--half,100%),#fff var(--half,100%),#fff 100%);box-shadow:0 0 12px rgba(255,204,0,.6)}
#rtTicks i{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;border:2px solid #001F5C;background:#1E6BFF;transition:transform .3s ease}
#rtTicks i.r{background:#fff;box-shadow:0 0 0 2px var(--rojo) inset;width:12px;height:12px;margin:-6px 0 0 -6px}
#rtTicks i.f{background:var(--amarillo);width:14px;height:14px;margin:-7px 0 0 -7px}
#rtTicks i.p{transform:scale(1.25)}
.map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;padding:0 6px;font-size:.74rem;font-weight:600;opacity:.88}
.map-legend a{margin-left:auto;color:var(--amarillo)}
.lg{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px;border:2px solid #fff}
.lg-h{background:#1E6BFF}
.lg-r{background:#fff;border-color:var(--rojo)}
.lg-a{background:var(--rojo)}
@media (max-width:800px){
  .rt-tabs button{font-size:1.15rem;padding:9px 18px 7px}
  .map{padding:10px;border-radius:20px}
  .rt-hud{gap:10px;padding:2px 4px 10px}
  .rt-now{padding-left:10px}
  .rt-now strong{font-size:.86rem}
  .rt-view{aspect-ratio:5/4}
  .rt-km b{font-size:2.5rem}
  .rt-total{display:none}
  .map-legend a{margin-left:0;flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){.rt-waves path,.rt-pulse,.mk.sel .halo{animation:none}}

/* Kit */
.kit{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center;margin-top:28px}
.kit-3d{position:relative;aspect-ratio:1/1;border-radius:24px;background:radial-gradient(circle at 50% 40%,#fff,#E9E3D6);display:grid;place-items:center;overflow:hidden}
.kit-3d model-viewer{width:100%;height:100%;--poster-color:transparent}
.kit-loading{font-size:.8rem;color:var(--gris);font-weight:600}
.kit-list li{padding:16px 0;border-bottom:1px solid rgba(13,21,48,.1)}
.kit-list b{display:block;font-size:1rem}
.kit-list span{font-size:.86rem;color:var(--gris)}

/* Inscripciones */
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.icard{padding:20px 16px 16px;border-radius:20px;background:#fff;box-shadow:0 20px 40px -28px rgba(13,21,48,.35);display:flex;flex-direction:column}
.icard .c-blue{color:var(--azul)} .icard .c-red{color:var(--rojo)} .icard .c-yellow{color:#E0A800}
.icard h3{font-size:.98rem;margin-top:6px}
.icard p{font-size:.8rem;color:var(--gris);margin:4px 0 16px;flex:1}
.icard .btn{height:44px;font-size:.82rem}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.facts div{padding:14px 16px;border-radius:16px;border:1px solid rgba(13,21,48,.12)}
.facts dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);font-weight:700}
.facts dd{font-family:var(--display);font-size:1.6rem;line-height:1.05;margin-top:4px}
.link-arrow{display:inline-block;margin-top:22px;font-weight:700;color:var(--azul)}

/* Footer */
.ftr{position:relative;z-index:6;background:var(--azul-osc);color:#fff;padding:64px clamp(20px,5vw,80px) 28px}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;max-width:1200px;margin:0 auto}
.ftr-logo{width:110px;height:auto;margin-bottom:12px}
.ftr p{opacity:.75;font-size:.9rem}
.ftr h4{font-family:var(--display);font-weight:400;font-size:1.4rem;letter-spacing:.04em;margin-bottom:10px;color:var(--amarillo)}
.ftr-grid a{display:block;font-size:.88rem;opacity:.85;margin-bottom:8px}
.ftr-grid a:hover{opacity:1}
.ftr-copy{max-width:1200px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;text-align:center}
.ftr-copy a{color:var(--amarillo)}

/* =========================================================
   MÓVIL
   ========================================================= */
@media (max-width:800px){
  :root{--hdr-h:62px;--rh:14vh}
  .hdr-nav{display:none}
  .hdr-logo img{height:40px}
  .shade{background:linear-gradient(180deg,rgba(0,18,58,.82) 0%,rgba(0,18,58,.5) 34%,rgba(0,18,58,0) 52%),linear-gradient(0deg,rgba(0,10,40,.75) 0%,rgba(0,10,40,0) 34%)}
  .panel,.p-hero{left:20px;right:20px;width:auto;top:calc(var(--hdr-h) + 14px);bottom:92px;transform:none;display:flex;flex-direction:column;align-items:flex-start}
  .display{font-size:clamp(3rem,14vw,4.4rem)}
  .d-md{font-size:clamp(2.4rem,11vw,3.4rem)}
  .lead{font-size:.92rem;margin-top:12px}
  .p-hero .row{margin-top:auto;width:100%;flex-direction:column;gap:8px}
  .p-hero .row .btn{width:100%;height:46px;font-size:.84rem}
  .countdown{margin-top:14px}
  .countdown .cd{min-width:62px;padding:8px}
  .countdown .cd b{font-size:1.6rem}
  .dist-cards{margin-top:auto;width:100%;gap:8px}
  .dcard{padding:12px 10px}
  .dnum{font-size:2.3rem}
  .dcard h3{font-size:.78rem}
  .dcard p{display:none}
  .dcard small{font-size:.62rem;margin-top:6px;padding-top:6px}
  .dkids{width:100%;gap:12px;margin-top:8px;padding:9px 12px 11px}
  .dk-word{font-size:2rem}
  .dk-txt b{font-size:.82rem}
  .dk-txt small{font-size:.62rem}
  .dk-go{width:32px;height:32px}
  .p-nos .lead{display:none}
  .p-nos .chips{margin-top:auto;justify-content:flex-start}
  .worlds-nav{left:0;right:0;justify-content:center;bottom:18px}
  .worlds-nav img{width:40px;height:40px}
  .scroll-hint{display:none}
  .runner{left:auto;right:3vw;top:auto;bottom:2vh}
  .r-streaks{display:none}
  .act2{padding:4vh 20px 18vh}
  .block{padding:7vh 0}
  .kit{grid-template-columns:1fr}
  .ins-grid,.facts{grid-template-columns:1fr}
  .icard{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px}
  .icard .dnum{font-size:2.4rem}
  .icard h3{margin:0}
  .icard p{flex:1 1 100%;margin:0 0 10px}
  .ftr-grid{grid-template-columns:1fr}
}

/* Movimiento reducido */
@media (prefers-reduced-motion:reduce){
  .r-bob,.r-streaks i,.scroll-hint i{animation:none}
  .speed{display:none}
}

/* =========================================================
   EDICIONES ANTERIORES
   ========================================================= */
.ed-tabs{display:inline-flex;gap:4px;padding:5px;margin-top:26px;border-radius:999px;background:#fff;box-shadow:0 10px 30px -20px rgba(13,21,48,.4)}
.ed-tabs button{padding:10px 18px;border-radius:999px;font-size:.84rem;font-weight:700;color:var(--gris);transition:background .25s,color .25s}
.ed-tabs button.is-active{background:var(--tinta);color:#fff}
.ed-video{position:relative;margin-top:18px;border-radius:22px;overflow:hidden;background:var(--azul-osc);aspect-ratio:16/9;width:100%}
.ed-video.is-vertical{aspect-ratio:9/16;width:min(100%,380px)}
.ed-video video{width:100%;height:100%;object-fit:cover;display:block}
.ed-audio{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--tinta);font-size:.84rem;font-weight:700;transition:background .25s,color .25s}
.ed-audio i{width:34px;height:34px;border-radius:50%;background:var(--rojo) center/18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z'/%3E%3Cpath d='m23 9-6 6M17 9l6 6'/%3E%3C/svg%3E")}
.ed-audio[aria-pressed="true"]{background:var(--tinta);color:#fff}
.ed-audio[aria-pressed="true"] i{background-color:var(--amarillo);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D1530' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M19 5a10 10 0 0 1 0 14'/%3E%3C/svg%3E")}
.ed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.ed-grid button{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#E9E3D6}
.ed-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ed-grid button:hover img{transform:scale(1.06)}
.ed-grid .is-hidden{display:none}
.ed-more{margin-top:14px;font-weight:700;color:var(--azul);font-size:.92rem}
.ed-more[hidden]{display:none}

/* Visor */
.lb{position:fixed;inset:0;z-index:100;background:rgba(6,10,26,.94);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lb[hidden]{display:none}
.lb-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lb-stage img,.lb-stage video{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain;background:#000}
.lb-close{position:absolute;top:14px;right:18px;font-size:2.2rem;line-height:1;color:#fff;width:48px;height:48px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1}
.lb-nav:hover{background:rgba(255,255,255,.22)}
.lb-prev{left:12px} .lb-next{right:12px}
.lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:.8rem;font-weight:600;letter-spacing:.1em}
@media (max-width:800px){
  .ed-grid{grid-template-columns:repeat(2,1fr)}
  .ed-tabs button{padding:9px 13px;font-size:.78rem}
  .lb{padding:56px 8px}
  .lb-nav{top:auto;bottom:10px;transform:none;width:46px;height:46px}
}

/* =========================================================
   CUENTA REGRESIVA · sección completa
   ========================================================= */
.cuenta{position:relative;z-index:6;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;background:var(--azul-osc)}
/* Fondo fijo (parallax): la sección recorta un fondo que se queda quieto en pantalla; funciona también en iPhone */
.cuenta{clip-path:inset(0)}
.cuenta-bg{position:fixed;inset:0;height:100vh;height:100lvh;pointer-events:none}
.cuenta-bg picture{display:block;width:100%;height:100%}
.cuenta-bg img{width:100%;height:100%;object-fit:cover}
.cuenta::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,15,50,.38) 0%,rgba(0,15,50,.12) 55%,rgba(0,15,50,.28) 100%);pointer-events:none}
.cuenta-in{position:relative;z-index:2;padding:11vh 20px 9vh;max-width:1100px;width:100%}
.cuenta .kicker{color:#fff}
.cuenta-title{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.86;font-size:clamp(3.6rem,min(9vw,13vh),9rem);text-shadow:0 10px 40px rgba(0,0,0,.35)}
.cuenta-fecha{margin-top:18px;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:700;letter-spacing:.04em}
.cuenta-fecha::first-letter{text-transform:uppercase}
.big-count{display:flex;justify-content:center;gap:clamp(8px,1.6vw,22px);margin:28px 0 34px}
.big-count .cd{min-width:clamp(72px,14vw,190px);padding:clamp(14px,2vw,26px) 8px clamp(10px,1.4vw,18px);border-radius:22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.big-count .cd b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,min(8vw,12vh),7.5rem);line-height:.9;color:#fff;text-shadow:0 6px 24px rgba(0,0,0,.3)}
.big-count .cd span{display:block;margin-top:6px;font-size:clamp(.6rem,.9vw,.8rem);letter-spacing:.2em;text-transform:uppercase;font-weight:800}
.big-count .tba{font-family:var(--display);font-size:3rem}
.btn-xl{height:64px;padding:0 40px;font-size:1.05rem;box-shadow:0 18px 40px -16px rgba(0,0,0,.6)}
@media (max-width:800px){
  .cuenta-in{padding:12vh 14px}
  .big-count{gap:6px}
  .big-count .cd{flex:1;min-width:0;border-radius:14px}
  .btn-xl{width:100%;height:56px}
}

/* =========================================================
   LOADER
   ========================================================= */
#intro{display:none;position:fixed;inset:0;z-index:300;overflow:hidden}
html.intro #intro,#intro.intro-out{display:block}
html.intro,html.intro body{overflow:hidden}
#intro.intro-out{pointer-events:none}
.ld-layer{position:absolute;inset:0;will-change:transform}
.ld-y{background:var(--amarillo)}
.ld-b{background:var(--azul)}
.ld-r{background:var(--rojo)}
.ld-main{background:#00143D;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
/* Fondo: luces con los colores de la bandera moviéndose suave */
.ld-glow{position:absolute;inset:-20%;filter:blur(70px);opacity:.55}
.ld-glow i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.ld-glow i:nth-child(1){width:55vmax;height:55vmax;left:-5%;top:-10%;background:radial-gradient(circle,#FFCC00 0%,rgba(255,204,0,0) 65%);animation:ldDrift1 9s ease-in-out infinite alternate}
.ld-glow i:nth-child(2){width:50vmax;height:50vmax;right:-10%;top:15%;background:radial-gradient(circle,#1F5BFF 0%,rgba(31,91,255,0) 65%);animation:ldDrift2 11s ease-in-out infinite alternate}
.ld-glow i:nth-child(3){width:48vmax;height:48vmax;left:20%;bottom:-20%;background:radial-gradient(circle,#CE1126 0%,rgba(206,17,38,0) 65%);animation:ldDrift3 10s ease-in-out infinite alternate}
@keyframes ldDrift1{to{transform:translate(18vw,12vh) scale(1.15)}}
@keyframes ldDrift2{to{transform:translate(-20vw,-8vh) scale(.9)}}
@keyframes ldDrift3{to{transform:translate(12vw,-14vh) scale(1.2)}}
.ld-main::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.5) 0 1px,transparent 1px 22px)}
.ld-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(16px,3vh,28px);margin-bottom:8vh}
.ld-mark{position:relative;width:min(440px,76vw);aspect-ratio:800/693}
.ld-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.ld-img{position:absolute;inset:0;width:100%;height:100%;opacity:0;object-fit:contain}
.ld-txt{font-size:.72rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;opacity:.75;padding:0 20px}
.ld-ed{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:-6px;padding:0 20px}
.ld-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 16px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateY(12px);animation:ldPill .7s cubic-bezier(.3,1.5,.5,1) forwards}
.ld-pill b{font-weight:800}
.ld-p1{background:var(--amarillo);color:#00143D;animation-delay:.5s}
.ld-p2{position:relative;color:#fff;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.35);animation-delay:.75s;overflow:hidden}
.ld-p2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--amarillo) 0 50%,var(--azul) 50% 75%,var(--rojo) 75%)}
.ld-p2 b{color:var(--amarillo)}
@keyframes ldPill{to{opacity:1;transform:none}}
@media (max-width:560px){.ld-pill{height:30px;padding:0 12px;font-size:.62rem;letter-spacing:.1em}}
/* Barra de distancias */
.ld-track{position:absolute;z-index:2;left:clamp(24px,8vw,120px);right:clamp(24px,8vw,120px);bottom:clamp(28px,7vh,64px)}
.ld-line{position:relative;height:4px;background:rgba(255,255,255,.14);border-radius:4px}
.ld-line i{position:absolute;left:0;top:0;height:100%;width:0;border-radius:4px;
  background:linear-gradient(90deg,var(--amarillo) 0 50%,#1F5BFF 50% 75%,var(--rojo) 75% 100%);background-size:var(--trackW,100vw) 100%}
.ld-line em{position:absolute;top:50%;left:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 5px rgba(255,255,255,.18),0 0 22px rgba(255,204,0,.9)}
.ld-km{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:var(--display);font-weight:400;
  font-size:1.35rem;letter-spacing:.06em;color:var(--amarillo);font-variant-numeric:tabular-nums}
.ld-marks{position:relative;height:16px;margin-top:12px;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ld-marks span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.ld-marks span:nth-child(1){left:0;transform:none}
.ld-marks span:nth-child(2){left:23.7%}
.ld-marks span:nth-child(3){left:47.4%}
.ld-marks span:nth-child(4){left:auto;right:0;transform:none}
.ld-marks span::before{content:"";position:absolute;top:-14px;left:50%;width:2px;height:8px;background:rgba(255,255,255,.35)}
.ld-marks span:nth-child(1)::before{left:0}.ld-marks span:nth-child(4)::before{left:auto;right:0}
@media (prefers-reduced-motion:reduce){.ld-glow i{animation:none}}

/* =========================================================
   KIDS
   ========================================================= */
.kids-word{display:inline-flex;gap:.02em}
.kids-word i{font-style:normal;display:inline-block}
.kids-word i:nth-child(1){color:#E0A800}
.kids-word i:nth-child(2){color:var(--azul)}
.kids-word i:nth-child(3){color:var(--rojo)}
.kids-word i:nth-child(4){color:#E0A800}
.kids-track{position:relative;margin-top:30px;padding:22px 74px 22px 16px;border-radius:24px;overflow:hidden;
  background:
    repeating-linear-gradient(90deg,#fff 0 22px,var(--rojo) 22px 44px) top/100% 9px no-repeat,
    repeating-linear-gradient(90deg,#fff 0 22px,var(--rojo) 22px 44px) bottom/100% 9px no-repeat,
    linear-gradient(180deg,#41464F 0%,#30343B 50%,#272A30 100%);
  box-shadow:0 30px 60px -30px rgba(13,21,48,.65)}
.kids-track::before{content:"";position:absolute;inset:9px 0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.3px),radial-gradient(rgba(0,0,0,.35) 1px,transparent 1.3px);
  background-size:7px 7px,11px 11px;background-position:0 0,3px 5px}
.kids-track::after{content:"";position:absolute;left:0;right:0;top:14px;bottom:14px;pointer-events:none;
  border-top:3px solid rgba(255,255,255,.9);border-bottom:3px solid rgba(255,255,255,.9)}
.kt-lane{position:relative;display:flex;align-items:center;gap:12px;height:58px}
.kt-lane + .kt-lane{background:linear-gradient(90deg,#FFCC00 0 28px,transparent 28px) var(--road,0px) 0/52px 3px repeat-x}
.kt-age{flex:0 0 58px;white-space:nowrap;font-family:var(--display);font-size:1.3rem;line-height:1;color:#fff;letter-spacing:.02em}
.kt-run{position:relative;flex:1;height:100%}
.kt-kid{position:absolute;top:50%;left:0;width:46px;height:46px;margin-top:-23px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:4px;
  font-family:var(--display);font-weight:400;font-size:1.15rem;line-height:1;color:var(--tinta);border:3px solid #fff;box-shadow:0 8px 18px -6px rgba(0,0,0,.35)}
.kt-kid small{font-size:.65em;margin-left:1px}
.kt-kid.k1{background:var(--amarillo)}
.kt-kid.k2{background:#5C8DFF;color:#fff}
.kt-kid.k3{background:#fff;color:var(--rojo);border-color:var(--rojo)}
.kt-goal{position:absolute;top:0;bottom:0;right:58px;width:14px;
  background:repeating-conic-gradient(#0D1530 0 25%,#fff 0 50%) 0 0/14px 14px}
.kt-goal span{position:absolute;top:50%;right:-48px;transform:translateY(-50%) rotate(90deg);font-family:var(--display);color:#fff;font-size:1.2rem;letter-spacing:.2em}
.kt-medal{position:absolute;right:6px;top:50%;width:44px;margin-top:-28px;opacity:0;transform:scale(.3) rotate(-25deg);transform-origin:50% 0}
.kids-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.kcard{position:relative;padding:18px 16px 16px;border-radius:20px;background:#fff;box-shadow:0 20px 40px -28px rgba(13,21,48,.35);overflow:hidden;transition:translate .35s cubic-bezier(.3,1.6,.5,1),rotate .35s cubic-bezier(.3,1.6,.5,1)}
.kcard:hover{translate:0 -6px;rotate:-1deg}
.kcard::after{content:"";position:absolute;right:-26px;top:-26px;width:84px;height:84px;border-radius:50%;opacity:.18}
.kc-y::after{background:var(--amarillo)} .kc-b::after{background:var(--azul)} .kc-r::after{background:var(--rojo)}
.kc-age{display:inline-block;padding:5px 10px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.kc-y .kc-age{background:#FFF3C2;color:#8A6500} .kc-b .kc-age{background:#E2EAFF;color:var(--azul)} .kc-r .kc-age{background:#FFE1E5;color:var(--rojo)}
.kcard .dnum{margin-top:10px;font-size:2.8rem}
.kc-y .dnum{color:#E0A800} .kc-b .dnum{color:var(--azul)} .kc-r .dnum{color:var(--rojo)}
.kcard h3{font-size:.98rem;margin-top:6px}
.kcard p{font-size:.8rem;color:var(--gris);margin-top:4px;line-height:1.45}
.kids-inc{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.kids-inc li{display:flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:#fff;border:1px solid rgba(13,21,48,.1);font-size:.82rem;font-weight:700}
.kids-inc li{transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .3s ease}
.kids-inc li:hover{transform:translateY(-3px);box-shadow:0 12px 24px -14px rgba(13,21,48,.45)}
.ki{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;flex:0 0 auto;box-shadow:inset 0 -3px 0 rgba(0,0,0,.14)}
.ki svg{width:19px;height:19px}
.ki-r{background:var(--rojo)}
.ki-y{background:var(--amarillo);color:var(--azul-osc)}
.ki-b{background:var(--azul)}
.ki-c{background:#1E9BD7}
.ki-s{background:#F28C28}
.kids-inc li:hover .ki{animation:kiPop .5s ease}
@keyframes kiPop{30%{transform:rotate(-12deg) scale(1.12)}60%{transform:rotate(8deg)}}
.kids-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px}
.kids-cta small{font-size:.78rem;color:var(--gris);font-weight:600}
@media (max-width:800px){
  .kids-track{padding:18px 62px 18px 12px}
  .kt-lane{height:52px;gap:8px}
  .kt-age{flex-basis:46px;font-size:1.05rem}
  .kt-kid{width:40px;height:40px;margin-top:-20px;font-size:1rem}
  .kt-goal{right:48px}
  .kt-medal{width:36px;right:4px}
  .kids-cats{grid-template-columns:1fr}
  .kcard{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}
  .kcard .kc-age{grid-column:1/-1;justify-self:start}
  .kcard .dnum{grid-row:2 / span 2;font-size:2.4rem;margin-top:8px;min-width:3.4em}
  .kcard h3,.kcard p{grid-column:2}
  .kids-cta .btn{width:100%}
}

/* =========================================================
   KIT · Franjas "Próximamente" sobre la camiseta
   ========================================================= */
.kit-soon{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.ks-tape{position:absolute;left:-30%;width:160%;height:46px;display:flex;align-items:center;overflow:hidden;
  background:var(--amarillo);box-shadow:0 10px 24px -8px rgba(13,21,48,.45);border-top:3px solid var(--tinta);border-bottom:3px solid var(--tinta)}
.ks-1{top:44%;transform:rotate(-14deg)}
.ks-2{top:58%;transform:rotate(9deg);background:var(--tinta);border-color:var(--amarillo);height:38px;opacity:.94}
.ks-run{display:flex;flex:0 0 auto;white-space:nowrap;animation:ksRun 14s linear infinite}
.ks-2 .ks-run{animation-duration:18s;animation-direction:reverse}
.ks-run span{font-family:var(--display);font-size:1.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta);padding:0 18px;line-height:1}
.ks-run span::after{content:"★";margin-left:36px;color:var(--rojo);font-size:.8em;vertical-align:.12em}
.ks-2 .ks-run span{color:var(--amarillo);font-size:1.25rem}
.ks-2 .ks-run span::after{color:#fff}
@keyframes ksRun{to{transform:translateX(-50%)}}
.ks-badge{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--rojo);color:#fff;
  font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 8px 20px -8px rgba(206,17,38,.7)}
.ks-badge i{width:8px;height:8px;border-radius:50%;background:#fff;animation:ksBlink 1.2s ease-in-out infinite}
@keyframes ksBlink{50%{opacity:.25}}
@media (max-width:800px){.ks-tape{height:40px}.ks-run span{font-size:1.3rem}.ks-2{height:34px}.ks-2 .ks-run span{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){.ks-run,.ks-badge i{animation:none}}

/* Protección de imágenes y videos */
img,video{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* Partículas */
.fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fx-petals{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.cuenta-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}

/* =========================================================
   KIDS · fondo de Cartagena y corredor niño
   ========================================================= */
.kids-bg{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;visibility:hidden}
.kids-bg img{width:100%;height:100%;object-fit:cover;object-position:30% 60%}
.kids-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(244,240,232,0) 0%,rgba(244,240,232,0) 44%,rgba(244,240,232,.55) 56%,rgba(244,240,232,.62) 100%)}
.r-bob img.r-kid{position:absolute;inset:0;object-position:50% 100%;transform-origin:50% 100%}
.r-bob img.r-adult{object-position:50% 100%;transform-origin:50% 100%}
@media (max-width:800px){
  .kids-bg img{object-position:20% 50%}
  .kids-bg::after{background:linear-gradient(180deg,rgba(244,240,232,.35) 0%,rgba(244,240,232,.68) 30%,rgba(244,240,232,.72) 100%)}
}

/* Separadores de sección: Kids / Adultos */
.sec-divider{position:relative;max-width:640px;display:flex;align-items:center;gap:16px;padding:6vh 0 0}
.sec-divider::before,.sec-divider::after{content:"";flex:1;height:3px;border-radius:3px}
.sec-divider::before{background:linear-gradient(90deg,transparent,currentColor)}
.sec-divider::after{background:linear-gradient(90deg,currentColor,transparent)}
.sec-divider span{display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border-radius:999px;
  font-family:var(--display);font-size:1.7rem;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:#fff;box-shadow:0 12px 26px -12px rgba(0,20,61,.55)}
.sec-divider span i{width:10px;height:10px;border-radius:50%;background:#fff}
.sd-kids,.sd-adultos{color:var(--amarillo)}
.sd-kids span,.sd-adultos span{background:linear-gradient(90deg,var(--amarillo) 0 33%,var(--azul) 33% 66%,var(--rojo) 66%);text-shadow:0 2px 6px rgba(0,0,0,.35)}
.sec-divider + .block{border-top:0!important}
@media (max-width:800px){.sec-divider span{font-size:1.35rem;padding:8px 16px}}

/* Textos sobre el fondo de Cartagena: un velo suave para que se lean */
.act2 .block > .lead,.act2 .block > .kicker{text-shadow:0 1px 10px rgba(244,240,232,.9)}
.act2 .display{text-shadow:0 2px 18px rgba(244,240,232,.85)}

/* Getsemaní: lista de lo que incluye más compacta en celular */
@media (max-width:800px){.p-nos .chips{gap:6px}.p-nos .chips li{padding:7px 11px;font-size:.72rem}}

/* ===== Ajustes de celular ===== */
@media (max-width:800px){
  /* El corredor siempre al frente del contenido */
  .runner{z-index:40;--rh:16vh}
  /* Lo que incluye Kids: cuadrícula ordenada de 2 columnas */
  .kids-inc{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .kids-inc li{padding:6px 10px 6px 6px;font-size:.76rem;gap:8px;min-width:0}
  .ki{width:30px;height:30px}
  .ki svg{width:17px;height:17px}
  /* Textos más legibles sobre el fondo de Cartagena */
  .act2 .lead.l-dark{color:#262C3D;font-weight:600}
  .kids-cta small{color:#262C3D}
}
