/* ===== Capa 3D / animaciones — UCeDé Argentina ===== */
:root{--navy:#041f40;--navy2:#06356a;--cel:#74acdf;--sun:#f6b40e}

/* Barra de progreso y encabezado */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--cel),#fff 50%,var(--cel));z-index:60;pointer-events:none}
.head{transition:height .3s,box-shadow .3s,background .3s}
.head.scrolled{height:68px;box-shadow:0 10px 30px #06356a14;background:#ffffffe8}
.head .brand img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.head .brand:hover img{transform:rotateY(360deg)}

/* Aparición */
.fx .rv{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*70ms)}
.fx .rv.in{opacity:1;transform:none}

/* Inclinación 3D */
.tilt3d{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .2s;position:relative;will-change:transform}
.tilt3d.rv.in{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry))}
.tilt3d.tilting{transition:transform .08s linear,box-shadow .3s,border-color .2s;box-shadow:0 26px 50px #06356a26}
.tilt3d::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),#ffffff70,transparent 45%);opacity:0;transition:opacity .3s;mix-blend-mode:soft-light;z-index:3}
.tilt3d.tilting::after{opacity:1}
.eje.tilt3d .eje-icon,.join-card.tilt3d .btn,.join-card.tilt3d h3,.proposal-card.tilt3d .proposal-caption{transform:translateZ(0);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.eje.tilt3d.tilting .eje-icon{transform:translateZ(36px) rotateY(-12deg)}
.join-card.tilt3d.tilting h3{transform:translateZ(30px)}.join-card.tilt3d.tilting .btn{transform:translateZ(44px)}
.proposal-card.tilt3d.tilting .proposal-caption{transform:translateZ(24px)}
.proposal-card,.join-card,.eje{transform-style:preserve-3d}

/* Íconos de ejes con volumen */
.eje-icon{background:linear-gradient(145deg,#e9f5ff,#cfe8fb);box-shadow:inset 0 -3px 0 #0074ce22,0 6px 14px #0074ce1f}

/* ===== HERO 3D (inicio) ===== */
.hero3d{position:relative;overflow:hidden;isolation:isolate;min-height:min(88vh,820px);display:flex;align-items:center;padding:70px 7% 90px;color:#fff;
  background:radial-gradient(ellipse 80% 70% at 75% 40%,#0d5aa8 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 10% 100%,#0a4a8c 0%,transparent 60%),linear-gradient(160deg,#03182f,#052d58 55%,#063a72)}
.hero3d::before{content:"";position:absolute;inset:auto -10% -1px;height:45%;z-index:-1;pointer-events:none;
  background:linear-gradient(transparent,#03182f 95%),repeating-linear-gradient(90deg,#74acdf1c 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,#74acdf1c 0 1px,transparent 1px 64px);
  transform:perspective(500px) rotateX(62deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(transparent,#000 70%);mask-image:linear-gradient(transparent,#000 70%)}
canvas.flag3d{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
canvas.flag3d.ready{opacity:1}
.hero3d-inner{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:5%;align-items:center}
.hero3d .tag{color:#9fd6ff;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid #ffffff2a;border-radius:50px;background:#ffffff0d;backdrop-filter:blur(6px)}
.hero3d .tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px #f6b40e33;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px #f6b40e00}}
.hero3d h1{font-size:clamp(34px,4.6vw,68px);line-height:1.02;letter-spacing:-.045em;margin:22px 0 20px;text-transform:uppercase;font-weight:900;text-wrap:balance;text-shadow:0 10px 40px #0008}
.hero3d h1 .grad{background:linear-gradient(90deg,#74acdf,#e6f5ff 45%,#74acdf);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.hero3d .lead{font-size:clamp(17px,1.5vw,20px);color:#d3e8f9;max-width:560px;margin:0}
.hero3d .actions{margin:30px 0 34px}
.hero3d .btn.primary{background:linear-gradient(135deg,#1e9ee8,#0074ce);border-color:transparent;box-shadow:0 12px 30px #0074ce66}
.hero3d .btn.glass{background:#ffffff12;border-color:#ffffff40;color:#fff;backdrop-filter:blur(8px)}.hero3d .btn.glass:hover{background:#ffffff22}
.hero-stats{list-style:none;padding:0;margin:0;display:flex;gap:34px;flex-wrap:wrap}
.hero-stats li{display:flex;flex-direction:column;border-left:2px solid #74acdf66;padding-left:14px}
.hero-stats b{font-size:clamp(28px,2.6vw,38px);line-height:1;letter-spacing:-.03em}
.hero-stats span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#a9cbe6;margin-top:6px}
.hero3d-card{justify-self:end;display:block;width:min(100%,460px);border-radius:24px;overflow:hidden;box-shadow:0 40px 80px #000a,0 0 0 1px #ffffff26;animation:floaty 7s ease-in-out infinite}
.hero3d-card img{display:block;width:100%;height:auto}
.hero3d-card.tilting{animation-play-state:paused}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -14px}}
.scroll-cue{position:absolute;left:50%;bottom:22px;translate:-50% 0;width:28px;height:44px;border:2px solid #ffffff66;border-radius:20px}
.scroll-cue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.8s infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* Carta: dos columnas con la moneda 3D */
.letter-section{padding:80px 7%;background:radial-gradient(ellipse at top left,#d7efff,transparent 60%),#f5faff;display:grid;grid-template-columns:.75fr 1.25fr;gap:6%;align-items:start;border-bottom:1px solid #d7e6f1}
.letter-section .aside{position:sticky;top:120px}
.letter-section h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.1;color:#062f60;margin:12px 0 14px}
.letter-section .intro{margin:0 0 28px}
.coin-wrap{perspective:900px;width:min(260px,70%);margin:10px 0 0}
.coin{--spin:0deg;position:relative;aspect-ratio:1;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(var(--spin));transition:transform .15s linear}
.coin-face{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.coin-face.front{transform:translateZ(9px)}.coin-face.back{transform:rotateY(180deg) translateZ(9px)}
.coin-edge{position:absolute;inset:0;transform-style:preserve-3d}
.coin-edge span{position:absolute;inset:1.5%;border-radius:50%;background:#0a5fae;box-shadow:inset 0 0 0 3px #0c4f90}
.coin-wrap::after{content:"";display:block;height:22px;margin:18px auto 0;width:70%;border-radius:50%;background:radial-gradient(#06356a40,transparent 70%)}

/* Carrusel 3D */
.coverflow-section{background:linear-gradient(180deg,#fff,#eef7fe);overflow:hidden}
.coverflow{position:relative;outline:none}
.cf-stage{position:relative;height:clamp(340px,44vw,520px);perspective:1400px;transform-style:preserve-3d;touch-action:pan-y;user-select:none}
.cf-item{position:absolute;left:50%;top:50%;width:clamp(240px,32vw,420px);aspect-ratio:1;border-radius:20px;overflow:hidden;background:#edf6fc;box-shadow:0 30px 60px #06356a40;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .6s,filter .6s;-webkit-box-reflect:below 6px linear-gradient(transparent 84%,#ffffff2e)}
.cf-item img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.cf-item.active{box-shadow:0 40px 80px #06356a55,0 0 0 3px #fff,0 0 0 6px var(--cel)}
.cf-item:not(.active){cursor:pointer}
.cf-item:focus-visible{outline:3px solid var(--b);outline-offset:4px}
.cf-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:48px;flex-wrap:wrap}
.cf-prev,.cf-next{width:50px;height:50px;border-radius:50%;border:1px solid #b9d3e6;background:#fff;color:var(--d);font-size:22px;cursor:pointer;box-shadow:0 8px 20px #06356a14;transition:transform .2s,background .2s}
.cf-prev:hover,.cf-next:hover{background:var(--b);color:#fff;transform:scale(1.08)}
.cf-label{font-weight:800;color:var(--d);min-width:min(340px,60vw);text-align:center}
.cf-dots{display:flex;justify-content:center;gap:7px;margin-top:16px;flex-wrap:wrap}
.cf-dots button{width:9px;height:9px;padding:0;border-radius:9px;border:0;background:#b9d3e6;cursor:pointer;transition:width .3s,background .3s}
.cf-dots button.on{width:28px;background:var(--b)}

/* Encabezados internos con bandera */
.has-flag{position:relative;overflow:hidden;isolation:isolate}
.has-flag>*:not(canvas){position:relative}

/* Botones con brillo */
.btn.primary{position:relative;overflow:hidden}
.btn.primary::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);transition:left .7s}
.btn.primary:hover::before{left:130%}

/* WhatsApp flotante con pulso */
.whatsapp-float{animation:wa 3s ease-in-out infinite}
@keyframes wa{0%,100%{box-shadow:0 10px 26px #0006,0 0 0 0 #25d36655}50%{box-shadow:0 10px 26px #0006,0 0 0 12px #25d36600}}

@media(max-width:900px){
  .hero3d{min-height:auto;padding:260px 6% 80px}
  .hero3d::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 120px,#03182fd9 300px,#03182fb3 70%,#03182f)}
  .hero3d-inner{grid-template-columns:1fr}
  .hero3d-card{justify-self:center;width:min(100%,380px);margin-top:36px}
  .scroll-cue{display:none}
  .letter-section{grid-template-columns:1fr;padding:60px 6%}
  .letter-section .aside{position:static}
  .coin-wrap{width:180px}
  .hero-stats{gap:22px}
}
@media(max-width:580px){
  .cf-item{-webkit-box-reflect:unset}
  .cf-label{flex-basis:100%;order:-1;min-width:0;font-size:15px}
  .hero3d{padding-top:220px}
}
@media(prefers-reduced-motion:reduce){
  .hero3d-card,.whatsapp-float,.hero3d h1 .grad,.hero3d .tag::before,.scroll-cue::after{animation:none}
  .cf-item{transition:none}
}

/* ===== Mapa 3D de la Argentina ===== */
.mapa3d{position:relative;width:min(100%,600px,calc(90vh * 730 / 1450));margin:0 auto;aspect-ratio:730/1450;--fall:-70px}
.mapa-scene{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 30%}
.mapa-tilt{--tx:0deg;--ty:0deg;position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(calc(24deg + var(--tx))) rotateY(var(--ty)) rotateZ(-3deg);transform-origin:50% 60%;transition:transform .2s ease-out}
.mapa-svg{width:100%;height:100%;overflow:visible;display:block}
.mapa-shadow{opacity:.55;fill:#000a1a}
.mapa-ext use{fill:inherit}
.pv-link{outline:none;cursor:pointer}
.pv{stroke:#eaf6ff;stroke-width:1.3;stroke-linejoin:round;transition:fill .3s,opacity .3s,filter .3s}
.mapa3d.hovering .pv-link:not(.on) .pv{opacity:.72}
.pv-link.on .pv{fill:#9fd2f7}
.mapa-lift{pointer-events:none}
.mapa-lift .lifted{stroke:#fff;stroke-width:1.6;transform:translateY(-16px);filter:drop-shadow(0 2px 0 #b07400) drop-shadow(0 2px 0 #b07400) drop-shadow(0 2px 0 #9a6500) drop-shadow(0 2px 0 #8a5a00) drop-shadow(0 14px 14px #0009)}
.mapa-lift .lifted.pop{animation:liftpop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes liftpop{from{transform:translateY(0)}to{transform:translateY(-16px)}}
.pin{cursor:pointer}
.pin-dot{fill:#f6b40e;stroke:#fff;stroke-width:1.2}
.pin-ring{fill:none;stroke:#f6b40e;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pinring 2.4s ease-out infinite}
@keyframes pinring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.pin-caba .pin-dot{fill:#fff;stroke:#f6b40e;stroke-width:3}
.pin-label{font:800 22px "Segoe UI",Arial,sans-serif;fill:#fff;paint-order:stroke;stroke:#03213f;stroke-width:5px}
.mapa-note{font:italic 700 17px "Segoe UI",Arial,sans-serif;fill:#cfe7fa;paint-order:stroke;stroke:#03213f;stroke-width:4px;letter-spacing:.04em}
/* Entrada animada */
.mapa3d .pv-link,.mapa3d .mapa-ext,.mapa3d .mapa-shadow,.mapa3d .mapa-pins,.mapa3d .mapa-note{transition:opacity .7s,transform 1s cubic-bezier(.2,1.2,.3,1)}
.fx .mapa3d:not(.mapa-in) .pv-link{opacity:0;transform:translateY(var(--fall))}
.fx .mapa3d:not(.mapa-in) .mapa-ext,.fx .mapa3d:not(.mapa-in) .mapa-shadow,.fx .mapa3d:not(.mapa-in) .mapa-pins,.fx .mapa3d:not(.mapa-in) .mapa-note{opacity:0}
.mapa3d.mapa-in .pv-link{transition-delay:var(--d)}
.mapa3d.mapa-in .mapa-ext,.mapa3d.mapa-in .mapa-shadow{transition-delay:.2s}
.mapa3d.mapa-in .mapa-pins,.mapa3d.mapa-in .mapa-note{transition-delay:1.3s}
/* Tarjeta */
.mapa-card{position:absolute;left:0;top:0;z-index:5;min-width:170px;padding:12px 16px;border-radius:14px;background:#ffffffee;color:var(--d);box-shadow:0 18px 40px #0007;backdrop-filter:blur(8px);opacity:0;scale:.9;transition:opacity .2s,scale .2s,transform .12s linear;pointer-events:none}
.mapa-card.show{opacity:1;scale:1}
.mapa-card small{display:block;font-size:10px;letter-spacing:.16em;font-weight:900;color:var(--b)}
.mapa-card b{display:block;font-size:18px;line-height:1.2;margin:2px 0 6px}
.mapa-go{font-weight:800;font-size:13px;color:var(--b)}
/* Antártida */
.mapa-ant{position:absolute;right:-4%;bottom:2%;width:26%;min-width:96px;padding:8px;border:1px solid #74acdf55;border-radius:12px;background:#ffffff0d;backdrop-filter:blur(4px);text-align:center;transition:background .2s,transform .2s}
.mapa-ant:hover,.mapa-ant:focus-visible{background:#ffffff22;transform:translateY(-3px)}
.mapa-ant svg{width:100%;height:auto;display:block}.mapa-ant path{stroke:#eaf6ff;stroke-width:1}
.mapa-ant span{display:block;font-size:11px;font-weight:700;color:#cfe7fa;margin-top:4px;line-height:1.2}
/* Sobre fondo claro (página de provincia / listado) */
.mapa-light .pin-label,.mapa-light .mapa-note{fill:#06356a;stroke:#fff}
.mapa-light .mapa-ant{background:#fff;border-color:#cfe2f1}.mapa-light .mapa-ant span{color:var(--d)}
.mapa-light .mapa-shadow{opacity:.25;fill:#06356a}
/* Provincia seleccionada (perfil) */
.mapa3d.has-sel .pv-link:not(.sel) .pv{opacity:.55}
.mapa-lift .fixed-sel{animation:none}

/* Banda territorial con mapa */
.territory-map{position:relative;overflow:hidden;padding:80px 7%;color:#fff;background:radial-gradient(ellipse 60% 70% at 70% 50%,#0d5aa8 0%,transparent 65%),linear-gradient(160deg,#03182f,#052d58 60%,#063a72)}
.territory-map::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,#74acdf22 0 1px,transparent 1.5px) 0 0/22px 22px;-webkit-mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 70% 50%,#000,transparent 70%);pointer-events:none}
.territory-map .wrap{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:5%;align-items:center}
.territory-map .tag{color:#8fd0f7}
.territory-map h2{font-size:clamp(30px,3.4vw,48px);letter-spacing:-.035em;line-height:1.05;margin:12px 0 14px}
.territory-map p{color:#cfe2f3;max-width:460px}
.map-now{margin:30px 0 24px;padding:18px 22px;border-left:3px solid var(--sun);background:linear-gradient(90deg,#ffffff12,transparent);border-radius:0 14px 14px 0}
.map-now small{display:block;font-size:11px;letter-spacing:.16em;color:#9fd6ff;font-weight:800}
.map-now b{display:block;font-size:clamp(26px,3vw,40px);letter-spacing:-.03em;min-height:1.2em;transition:opacity .2s}
.territory-map .region-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
.territory-map .region-chips a{font-size:12px;padding:6px 11px}
.map-page{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:start}
.map-page .mapa-col{position:sticky;top:100px;border-radius:28px;padding:30px 24px;background:radial-gradient(ellipse at 50% 40%,#0d5aa8,transparent 70%),linear-gradient(160deg,#03182f,#063a72);box-shadow:0 30px 60px #06356a33}
.map-page .provs{grid-template-columns:repeat(2,minmax(0,1fr))}
.prov.on{background:#e8f4fd;border-color:#74acdf;transform:translateX(4px)}
.head-map{position:absolute;right:7%;top:50%;translate:0 -46%;width:min(250px,26vw);aspect-ratio:730/1450;max-height:none;z-index:0}
.page-head.has-map{min-height:580px;display:flex;flex-direction:column;justify-content:center;padding-right:38%}
@media(max-width:900px){
  .territory-map .wrap,.map-page{grid-template-columns:1fr}
  .map-page .mapa-col{position:relative;top:0}
  .mapa3d{width:min(100%,420px)}
  .page-head.has-map{padding-right:7%;padding-bottom:330px;min-height:0}
  .head-map{top:auto;bottom:10px;translate:-50% 0;right:auto;left:50%;width:150px}
}

/* Título palabra por palabra */
.hero3d h1.split{perspective:800px}
.hero3d h1.split .w{display:inline-block;transform-origin:50% 100%;animation:wordin .9s cubic-bezier(.2,.9,.25,1) both;animation-delay:calc(.15s + var(--n) * 80ms)}
@keyframes wordin{from{opacity:0;transform:translateY(60%) rotateX(-80deg)}to{opacity:1;transform:none}}
.hero3d h1.split .grad .w{background:inherit;-webkit-background-clip:text;background-clip:text}
.hero3d h1.split .grad{background:none;animation:none}
.hero3d h1.split .grad .w{background-image:linear-gradient(90deg,#74acdf,#e6f5ff 45%,#74acdf);background-size:200% 100%;color:transparent;animation:wordin .9s cubic-bezier(.2,.9,.25,1) both,shine 6s linear infinite;animation-delay:calc(.15s + var(--n) * 80ms),0s}
.hero3d .hero3d-copy>*:not(h1){animation:fadeup .9s cubic-bezier(.2,.8,.2,1) both}
.hero3d .lead{animation-delay:.9s!important}.hero3d .actions{animation-delay:1.05s!important}.hero-stats{animation-delay:1.2s!important}
.hero3d-card{animation:floaty 7s ease-in-out infinite}
@keyframes fadeup{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes cardin{from{opacity:0;rotate:y -35deg;scale:.75}to{opacity:1;rotate:y 0deg;scale:1}}

/* Cintas cruzadas con lemas */
.ribbons{position:relative;height:150px;margin:-60px 0 -40px;overflow:hidden;z-index:2;pointer-events:none}
.ribbon{position:absolute;left:-5%;width:110%;padding:14px 0;overflow:hidden;box-shadow:0 14px 34px #06356a33}
.ribbon.r1{top:40px;background:linear-gradient(90deg,#0074ce,#1e9ee8,#0074ce);color:#fff;transform:rotate(-2.6deg)}
.ribbon.r2{top:48px;background:#fff;color:#06356a;transform:rotate(2deg);border-block:1px solid #d7e6f1;z-index:-1}
.ribbon-track{display:flex;width:max-content;align-items:center;gap:28px;animation:marquee 38s linear infinite;font-weight:900;letter-spacing:.14em;font-size:15px;white-space:nowrap}
.ribbon.r2 .ribbon-track{animation-direction:reverse;animation-duration:46s}
.ribbon i{font-style:normal;color:var(--sun)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Luz del mouse */
.spot::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(500px circle at var(--sx,50%) var(--sy,50%),#74acdf26,transparent 60%);opacity:0;transition:opacity .4s}
.spot:hover::after{opacity:1}
.territory-map .wrap{z-index:1}

/* Borde animado en "Sumate" */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.join-card.featured{border:2px solid transparent;background:linear-gradient(140deg,#06356a,#0074ce) padding-box,conic-gradient(from var(--ang),#74acdf,#fff,#f6b40e,#74acdf,#0074ce,#74acdf) border-box;animation:spinb 5s linear infinite;box-shadow:0 24px 50px #0074ce40}
@keyframes spinb{to{--ang:360deg}}
@media(max-width:580px){.ribbons{height:120px;margin:-50px 0 -30px}.ribbon-track{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ribbon-track,.join-card.featured,.hero3d h1.split .w{animation:none}}
.head-map .mapa-ant{right:-46%;width:38%;min-width:0;padding:5px}.head-map .mapa-ant span{font-size:9px}

/* Mazo 3D de campaña */
.hero3d-card.deck-wrap{overflow:visible;box-shadow:none;border-radius:0;width:min(100%,440px);aspect-ratio:auto}
.deck{position:relative;aspect-ratio:1;transform-style:preserve-3d;perspective:1400px;touch-action:pan-y;user-select:none}
.deck-card{position:absolute;inset:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px #000a,0 0 0 1px #ffffff30;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s,filter .5s;backface-visibility:hidden;will-change:transform}
.deck-card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.deck-card.fly{transition:transform .55s cubic-bezier(.5,0,.8,.4),opacity .5s ease-in}
.deck-card:focus-visible{outline:3px solid #fff;outline-offset:4px}
.deck-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:34px;position:relative;z-index:30}
.deck-prev,.deck-next{width:42px;height:42px;border-radius:50%;border:1px solid #ffffff40;background:#ffffff14;color:#fff;font-size:18px;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,transform .2s}
.deck-prev:hover,.deck-next:hover{background:#ffffff30;transform:scale(1.08)}
.deck-dots{display:flex;gap:6px}
.deck-dots button{width:8px;height:8px;padding:0;border:0;border-radius:8px;background:#ffffff4d;cursor:pointer;transition:width .3s,background .3s}
.deck-dots button.on{width:24px;background:var(--sun)}

/* Pieza flotante en encabezados internos */
.has-poster{position:relative}
.page-head.has-poster,.gallery-heading.has-poster{padding-right:calc(7% + clamp(260px,26vw,380px) + 40px);min-height:470px;display:flex;flex-direction:column;justify-content:center}
.gallery-heading.has-poster{display:block;min-height:0}
.has-poster>.head-poster,.head-poster{position:absolute;right:7%;top:0;bottom:0;height:fit-content;width:clamp(240px,24vw,360px);margin:auto 0;border-radius:20px;overflow:hidden;z-index:2;box-shadow:0 30px 60px #06356a40,0 0 0 1px #fff;animation:floaty 7s ease-in-out infinite}
.head-poster img{display:block;width:100%;height:auto}
.head-poster.tilting{animation-play-state:paused}
@keyframes posterin{from{rotate:y -30deg;scale:.8}to{rotate:y 0deg;scale:1}}
.has-poster canvas.flag3d{opacity:.0}.has-poster canvas.flag3d.ready{opacity:.55}
@media(max-width:900px){
  .page-head.has-poster,.gallery-heading.has-poster{padding-right:7%;min-height:0}
  .has-poster>.head-poster,.head-poster{position:relative;right:auto;top:auto;bottom:auto;width:min(260px,70%);margin:28px auto 0}
  .gallery-heading.has-poster .head-poster{margin:0 auto 24px}
  .hero3d-card.deck-wrap{width:min(100%,340px)}
}
@media(prefers-reduced-motion:reduce){.head-poster{animation:none}.deck-card{transition:none}}
