/* ============================================================
   POTENCIA DIGITAL — Estilos
   Archivo único. Antes eran 11 peticiones encadenadas.
   El orden importa: cada bloque amplía o sustituye al anterior.
   ============================================================ */


/* ---------- style-00-v3.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — estilos v3 de la landing definitiva
   ============================================================ */
:root{
  --bg:#0e0a1f; --bg2:#171034; --panel:#1c1440;
  --red:#e1131d; --red2:#ff3d45;
  --violet:#7b2ff7; --magenta:#e332a8; --sunset:#ff8a5c; --coral:#ff5c7a;
  --turq:#2fd4c2; --fire:#ff9a3c; --gold:#e8cf8e;
  --txt:#f2edff; --dim:#a99ec9; --line:rgba(227,50,168,.18);
  --grad:linear-gradient(100deg,var(--red),var(--magenta) 55%,var(--sunset));
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:Inter,system-ui,sans-serif;line-height:1.6;overflow-x:clip;
  transition:background-color 1s}
/* transición fuerte de capítulo: la página entera se tiñe */
body[data-mood="playa"]{background-color:#0c1a2b}
body[data-mood="fuego"]{background-color:#190a10}
body[data-mood="agora"]{background-color:#0b0918}
h1,h2,h3,.kicker,.btn{font-family:"League Spartan",Inter,sans-serif}
a{color:inherit;text-decoration:none}
img,svg,canvas{display:block}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

#mood{position:fixed;inset:0;z-index:0;pointer-events:none}
main,footer,.top{position:relative;z-index:2}
#progress{position:fixed;top:0;left:0;height:3px;z-index:60;background:var(--grad);width:0;
  box-shadow:0 0 12px rgba(225,19,29,.7)}
#wa-float{position:fixed;right:20px;bottom:20px;z-index:55;width:56px;height:56px;border-radius:50%;
  background:#25d366;display:grid;place-items:center;box-shadow:0 8px 30px rgba(37,211,102,.45);
  transition:.25s;animation:wa-pop 3.2s ease-in-out infinite}
#wa-float svg{width:30px;height:30px;color:#fff}
#wa-float:hover{transform:scale(1.1)}
@keyframes wa-pop{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* ---------- Header ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;gap:22px;
  padding:10px 26px;background:rgba(14,10,31,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:11px;font-family:"League Spartan";font-weight:900;letter-spacing:.05em;font-size:17px}
.logo img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 10px rgba(225,19,29,.4))}
.logo b{color:var(--red2)}
.nav-links{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav-links a{padding:8px 13px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--dim);transition:.2s}
.nav-links a:hover,.nav-links a.on{color:var(--txt);background:rgba(225,19,29,.16)}
.nav-cta{margin-left:8px;background:var(--grad);color:#fff!important;padding:9px 16px!important;border-radius:99px;
  display:flex;align-items:center;gap:7px;box-shadow:0 4px 22px rgba(225,19,29,.45)}
.nav-cta svg{width:16px;height:16px}
#menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--txt);
  border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer}
@media(max-width:920px){
  #menu-btn{display:block}
  .nav-links{position:fixed;top:62px;right:0;left:0;flex-direction:column;align-items:stretch;
    background:rgba(14,10,31,.97);padding:18px;gap:8px;border-bottom:1px solid var(--line);
    transform:translateY(-130%);transition:.3s;backdrop-filter:blur(18px)}
  body.menu-open .nav-links{transform:none}
  .nav-links a{padding:13px;text-align:center;font-size:16px}
}

/* ---------- Scrubs con CONTRASTE ---------- */
.scrub{height:560vh;position:relative}
.scrub.short{height:580vh}
.scrub-stick{position:sticky;top:0;height:100vh;overflow:hidden}
.scrub-stick canvas{position:absolute;inset:0;width:100%;height:100%}
.scrub-txt{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none;padding:0 6vw}
/* velo oscuro tras el texto para que las letras ganen a cualquier sol */
.scrub-txt::before{content:"";position:absolute;inset:0;
  background:radial-gradient(52% 42% at 50% 46%,rgba(10,6,22,.62),rgba(10,6,22,.18) 62%,transparent 78%)}
.scrub-txt .ph{position:absolute;opacity:0;transform:translateY(30px) scale(.98);transition:opacity .35s,transform .45s;
  font-family:"League Spartan";font-weight:900;letter-spacing:.02em;line-height:.98;
  font-size:clamp(36px,8.4vw,110px);text-transform:uppercase;color:#fff;
  text-shadow:0 3px 8px rgba(10,6,22,.85),0 12px 50px rgba(10,6,22,.75)}
.scrub-txt .ph .w1{color:#fff}
.scrub-txt .ph .w2{color:var(--red2);text-shadow:0 3px 8px rgba(10,6,22,.85),0 0 44px rgba(225,19,29,.55)}
.scrub-txt .ph small{display:block;font-size:clamp(18px,3vw,34px);font-weight:600;letter-spacing:.28em;
  color:#fff;margin-top:14px;text-transform:none;text-shadow:0 2px 10px rgba(10,6,22,.9)}
.scrub-txt .ph.show{opacity:1;transform:none}
.scrub-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:#fff;opacity:.85;
  font-size:12px;letter-spacing:.3em;text-transform:uppercase;animation:bob 2s infinite;font-family:"League Spartan";
  text-shadow:0 2px 8px rgba(10,6,22,.9)}
@keyframes bob{50%{transform:translate(-50%,8px)}}
.hero-logo{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(34vw,320px);
  pointer-events:none;opacity:0;filter:drop-shadow(0 14px 60px rgba(225,19,29,.6))}

/* ---------- comunes ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:100px 26px}
.kicker{color:var(--red2);letter-spacing:.3em;text-transform:uppercase;font-size:12.5px;font-weight:800;margin-bottom:14px}
h1{font-size:clamp(34px,5.4vw,58px);font-weight:900;line-height:1.02}
h2{font-size:clamp(26px,3.6vw,42px);font-weight:800;line-height:1.05}
.lead{color:var(--dim);font-size:17.5px;max-width:640px;margin-top:18px}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s var(--d,0ms),transform .7s var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.04em;border-radius:99px;
  padding:14px 26px;font-size:15px;cursor:pointer;border:none;transition:.25s}
.btn svg{width:18px;height:18px}
.btn-main{background:var(--grad);color:#fff;box-shadow:0 6px 30px rgba(225,19,29,.4)}
.btn-main:hover{transform:translateY(-2px);box-shadow:0 10px 40px rgba(227,50,168,.55)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 30px rgba(225,19,29,.5)}
.btn-red:hover{background:var(--red2);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--red2);color:var(--txt);background:transparent}
.btn-ghost:hover{background:rgba(225,19,29,.14)}

/* separadores de capítulo en diagonal */
.wipe{height:90px;position:relative;z-index:2;margin:-45px 0;pointer-events:none}
.wipe::before{content:"";position:absolute;inset:0;clip-path:polygon(0 55%,100% 10%,100% 100%,0 100%)}
.wipe.to-playa::before{background:linear-gradient(90deg,rgba(47,212,194,.2),rgba(12,26,43,.9))}
.wipe.to-fuego::before{background:linear-gradient(90deg,rgba(225,19,29,.35),rgba(25,10,16,.95))}
.wipe.to-agora::before{background:linear-gradient(90deg,rgba(123,47,247,.3),rgba(11,9,24,.95))}
.wipe.to-vice::before{background:linear-gradient(90deg,rgba(227,50,168,.25),rgba(14,10,31,.95))}

/* claim */
.claim{padding:130px 26px;text-align:center;position:relative;overflow:hidden}
.claim h2{font-size:clamp(30px,5vw,64px);font-weight:900;max-width:940px;margin:0 auto;position:relative;z-index:1}
.claim .was{color:var(--dim);text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:5px}
.claim .now{background:linear-gradient(100deg,var(--red),var(--magenta) 40%,var(--sunset) 60%,var(--magenta) 80%,var(--red));
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 5.5s linear infinite}
@keyframes shimmer{to{background-position:220% 0}}
.claim p{color:var(--dim);margin:22px auto 0;max-width:560px;position:relative;z-index:1}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.35;animation:orb 12s ease-in-out infinite alternate}
.orb.o1{width:340px;height:340px;background:var(--red);top:-90px;left:6%}
.orb.o2{width:280px;height:280px;background:var(--magenta);bottom:-70px;right:10%;animation-delay:-4s}
.orb.o3{width:200px;height:200px;background:var(--sunset);top:30%;right:28%;animation-delay:-8s}
@keyframes orb{to{transform:translate(50px,34px) scale(1.15)}}

.marq{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;background:rgba(23,16,52,.6)}
.marq-in{display:flex;gap:44px;white-space:nowrap;animation:marq 26s linear infinite;
  font-family:"League Spartan";font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:15px;color:var(--dim)}
.marq-in b{color:var(--red2)}
@keyframes marq{to{transform:translateX(-50%)}}

/* playa */
.cap-playa .kicker{color:var(--turq)}
.playa-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
.cala{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(47,212,194,.3);
  aspect-ratio:16/11;box-shadow:0 24px 70px rgba(6,16,30,.6)}
.cala canvas{position:absolute;inset:0;width:100%;height:100%}
.playa-list{list-style:none;display:grid;gap:16px;margin-top:26px}
.playa-list li{display:flex;gap:14px;align-items:baseline;font-size:15.5px;color:var(--dim)}
.playa-list li b{color:var(--txt);font-family:"League Spartan"}
.playa-list li::before{content:"〜";color:var(--turq);font-weight:800}
@media(max-width:880px){.playa-grid{grid-template-columns:1fr;gap:34px}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.stat{background:linear-gradient(160deg,rgba(47,212,194,.12),rgba(123,47,247,.1));
  border:1px solid rgba(47,212,194,.3);border-radius:20px;padding:34px 22px;text-align:center}
.stat b{display:block;font-family:"League Spartan";font-weight:900;font-size:clamp(46px,6vw,74px);line-height:1;
  background:linear-gradient(100deg,var(--turq),var(--sunset));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--dim);font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;font-family:"League Spartan";font-weight:600}
@media(max-width:880px){.stats{grid-template-columns:1fr 1fr}}

/* fuego */
.cap-fuego{border-block:0}
.cap-fuego .kicker{color:var(--fire)}
.fuego-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.fuego-points{display:grid;gap:14px;margin-top:20px}
.fuego-point{background:rgba(26,15,19,.75);border:1px solid rgba(255,154,60,.22);border-left:3px solid var(--red);
  border-radius:14px;padding:20px 22px;display:flex;gap:16px;align-items:baseline}
.fuego-point b{font-family:"League Spartan";font-size:19px;color:var(--fire);white-space:nowrap}
.fuego-point span{color:var(--dim);font-size:15px}
.brasa{margin-top:30px;background:rgba(26,15,19,.75);border:1px solid rgba(255,154,60,.25);border-radius:16px;padding:22px}
.brasa p{font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;font-family:"League Spartan";
  font-weight:700;color:var(--fire);margin-bottom:12px}
.brasa-bar{height:12px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.brasa-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#7a1f14,var(--red),#ffd27a);
  box-shadow:0 0 18px rgba(225,19,29,.7);transition:width 2.4s cubic-bezier(.2,.7,.2,1)}
.brasa small{display:block;margin-top:10px;color:var(--dim);font-size:13px}
.arena{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(225,19,29,.35);
  aspect-ratio:16/10;box-shadow:0 24px 70px rgba(20,4,8,.7)}
.arena canvas{position:absolute;inset:0;width:100%;height:100%}
.arena-cap{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;font-size:12.5px;color:#f6d9c8;
  background:linear-gradient(transparent,rgba(16,5,8,.92));font-family:"League Spartan";letter-spacing:.06em}
@media(max-width:880px){.fuego-grid{grid-template-columns:1fr;gap:34px}}

/* orbital */
.orbita-wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center}
.orbita{position:relative;aspect-ratio:1;max-width:520px;margin:0 auto;width:100%}
.orbita canvas{position:absolute;inset:0;width:100%;height:100%}
.orbita .nucleo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:26%;
  filter:drop-shadow(0 8px 34px rgba(225,19,29,.55));animation:pulse 3.4s ease-in-out infinite}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.06)}}
@media(max-width:880px){.orbita-wrap{grid-template-columns:1fr;gap:30px}}

/* servicios */
.svcs-img{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.svc-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  transition:box-shadow .3s,border-color .3s;display:flex;flex-direction:column;will-change:transform}
.svc-card:hover{border-color:var(--red2);box-shadow:0 24px 60px rgba(225,19,29,.28)}
.svc-card .im{aspect-ratio:4/3;overflow:hidden;position:relative}
.svc-card .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.svc-card:hover .im img{transform:scale(1.07)}
.svc-card .im em{position:absolute;top:12px;left:14px;font-style:normal;font-family:"League Spartan";
  font-weight:900;color:#fff;background:rgba(14,10,31,.6);backdrop-filter:blur(6px);
  border-radius:8px;padding:4px 10px;font-size:13px;letter-spacing:.15em;border:1px solid rgba(225,19,29,.4)}
.svc-card .bd{padding:22px;display:flex;flex-direction:column;flex:1}
.svc-card h3{font-size:19px;margin-bottom:8px}
.svc-card p{color:var(--dim);font-size:14.5px;flex:1;margin-bottom:14px}
.svc-card a.more{color:var(--red2);font-weight:800;font-size:14px;font-family:"League Spartan";letter-spacing:.06em}
@media(max-width:960px){.svcs-img{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.svcs-img{grid-template-columns:1fr}}

/* proceso */
.proc-wrap{position:relative;margin-top:50px}
.proc-svg{position:absolute;inset:0;pointer-events:none;overflow:visible}
.proc-svg path{fill:none;stroke:url(#gradproc);stroke-width:2.5}
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.proc article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 22px;position:relative;overflow:hidden}
.proc article::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--grad);
  transform:scaleX(0);transform-origin:left;transition:.4s}
.proc article:hover::after{transform:none}
.proc span{font-family:"League Spartan";font-weight:900;font-size:34px;background:var(--grad);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.proc h3{margin:10px 0 8px;font-size:18px}
.proc p{color:var(--dim);font-size:14px}
@media(max-width:980px){.proc{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proc{grid-template-columns:1fr}}

/* portfolio editorial */
.pf-feature{display:grid;gap:60px;margin-top:50px}
.pf-row{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}
.pf-row:nth-child(even) .pf-shot{order:2}
.pf-shot{position:relative;border-radius:16px;transition:transform .4s}
.pf-shot:hover{transform:translateY(-8px) rotate(-.6deg)}
.browser{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#241a4d;
  box-shadow:0 30px 80px rgba(10,6,26,.7)}
.browser-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#1a1240;border-bottom:1px solid var(--line)}
.browser-bar i{width:10px;height:10px;border-radius:50%}
.browser-bar i:nth-child(1){background:var(--red2)}
.browser-bar i:nth-child(2){background:var(--sunset)}
.browser-bar i:nth-child(3){background:var(--turq)}
.browser-bar em{font-style:normal;margin-left:10px;font-size:12px;color:var(--dim);font-family:Inter;
  background:rgba(255,255,255,.06);border-radius:6px;padding:3px 12px}
.browser .shot-clip{aspect-ratio:4/3;overflow:hidden;position:relative}
.browser .shot-clip img{width:100%;height:100%;object-fit:cover;object-position:top;transition:object-position 3.2s ease}
.pf-shot:hover .shot-clip img{object-position:bottom}
.shot-fallback{position:absolute;inset:0;display:grid;place-items:center;background:var(--grad);
  font-family:"League Spartan";font-weight:900;font-size:30px;color:#fff}
.pf-info .pf-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 14px}
.pf-info .pf-tags span{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:5px 12px;color:var(--dim)}
.pf-info h3{font-size:clamp(22px,2.8vw,30px)}
.pf-info p{color:var(--dim);font-size:15.5px;margin-bottom:18px}
.pf-info .pf-link{color:var(--red2);font-weight:800;font-family:"League Spartan";letter-spacing:.05em}
@media(max-width:880px){.pf-row{grid-template-columns:1fr;gap:24px}.pf-row:nth-child(even) .pf-shot{order:0}}

/* ACTUALIDAD (Hermes) */
.nw-head{display:flex;gap:22px;align-items:flex-start}
.hermes-ico{flex:none;width:64px;height:64px;color:var(--gold);background:rgba(232,207,142,.08);
  border:1px solid rgba(232,207,142,.3);border-radius:18px;padding:11px;
  animation:hermes-fly 3.6s ease-in-out infinite}
@keyframes hermes-fly{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-4deg)}}
.hermes-ico svg{width:100%;height:100%}
.nw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:36px}
.nw-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px;
  display:flex;flex-direction:column;transition:.3s}
.nw-card:hover{transform:translateY(-5px);border-color:var(--gold)}
.nw-card header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.nw-tipo{font-family:"League Spartan";font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;background:var(--red);border-radius:99px;padding:5px 12px}
.nw-tipo.curso{background:var(--violet)}
.nw-meta{color:var(--dim);font-size:12.5px}
.nw-card h3{font-size:19px;line-height:1.25;margin-bottom:10px}
.nw-card>p{color:var(--dim);font-size:14.5px;margin-bottom:16px}
.nw-body{border-top:1px solid var(--line);padding-top:16px;margin-bottom:16px;display:grid;gap:12px}
.nw-body p{color:var(--txt);opacity:.9;font-size:14.5px}
.nw-toggle{align-self:start;margin-top:auto;background:none;border:1.5px solid var(--gold);color:var(--gold);
  border-radius:99px;padding:9px 18px;font-family:"League Spartan";font-weight:700;font-size:13px;cursor:pointer;transition:.2s}
.nw-toggle:hover{background:rgba(232,207,142,.12)}
.nw-filter{display:flex;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.nw-filter button{background:var(--panel);border:1px solid var(--line);color:var(--dim);border-radius:99px;
  padding:10px 20px;font-family:"League Spartan";font-weight:700;font-size:13.5px;cursor:pointer;transition:.2s}
.nw-filter button.on,.nw-filter button:hover{color:#fff;background:var(--red);border-color:var(--red)}

/* reseñas — NÚMEROS GRANDES */
.rv-head{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;margin-top:30px;max-width:680px}
.rv-score{text-align:center}
.rv-score strong{font-family:"League Spartan";font-size:clamp(80px,10vw,128px);font-weight:900;line-height:.95;
  background:linear-gradient(160deg,#fff,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-bars{display:grid;gap:10px}
.rv-bar{display:grid;grid-template-columns:18px 1fr 26px;gap:12px;align-items:center;font-size:15px;color:var(--dim)}
.rv-bar span{font-family:"League Spartan";font-weight:800;font-size:16px;color:var(--txt)}
.rv-bar em{font-style:normal;font-size:13px;text-align:right}
.rv-bar i{height:11px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;display:block}
.rv-bar i::after{content:"";display:block;height:100%;width:0;border-radius:99px;background:#fbbc04;transition:width 1.6s ease}
.rv-bar.full.on i::after{width:100%}
@media(max-width:600px){.rv-head{grid-template-columns:1fr;gap:22px}}
.g-rating{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.g-logo svg,.rv-g svg{width:28px;height:28px}
.pd-star svg{width:22px;height:22px}
.g-stars{display:flex;gap:3px}
.g-count{color:var(--dim);font-size:16px}
.g-count b{font-family:"League Spartan";font-size:22px;color:var(--txt)}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px}
.rv-card{background:#fff;color:#1f1f1f;border-radius:16px;padding:22px;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.rv-card header{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.rv-avatar{width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;
  font-family:"League Spartan";font-weight:900;font-size:20px}
.rv-card small{display:block;color:#70757a;font-size:12.5px}
.rv-g{margin-left:auto}
.rv-stars{display:flex;gap:2px;margin-bottom:10px}
.rv-card p{font-size:14.5px;color:#3c4043}
.rv-note{color:var(--dim);font-size:13px;margin-top:20px}

/* ágora */
.cap-agora .kicker{color:var(--violet)}
.agora-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(123,47,247,.22);
  border:1px solid rgba(123,47,247,.22);margin-top:40px}
.agora-cell{background:rgba(14,10,31,.92);padding:30px;display:flex;flex-direction:column;transition:.25s;position:relative;overflow:hidden}
.agora-cell::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 110%,rgba(225,19,29,.22),transparent);
  opacity:0;transition:.3s}
.agora-cell:hover::before{opacity:1}
.agora-cell h3{font-size:17px;font-weight:600}
.agora-cell p{color:var(--dim);font-size:13.5px;margin:10px 0 16px;flex:1}
.agora-cell a{color:var(--sunset);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-family:"League Spartan";font-weight:600;position:relative}
@media(max-width:920px){.agora-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.agora-grid{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:18px 4px}
.faq summary{cursor:pointer;font-weight:600;font-size:16.5px;list-style:none;position:relative;padding-right:30px}
.faq summary::after{content:"+";position:absolute;right:4px;color:var(--red2);font-size:22px;font-family:"League Spartan"}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--dim);margin-top:10px;font-size:15px}

/* CTA final */
.cta-hero{position:relative;text-align:center;padding:110px 26px;overflow:hidden}
.cta-rings{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.cta-rings i{position:absolute;left:50%;top:50%;border:1px solid rgba(225,19,29,.4);border-radius:50%;
  animation:ring 5s linear infinite}
.cta-rings i:nth-child(2){animation-delay:-1.6s}
.cta-rings i:nth-child(3){animation-delay:-3.2s}
@keyframes ring{
  from{width:120px;height:120px;margin:-60px 0 0 -60px;opacity:.8}
  to{width:720px;height:720px;margin:-360px 0 0 -360px;opacity:0}}
.cta-hero img{width:110px;margin:0 auto 24px;filter:drop-shadow(0 10px 40px rgba(225,19,29,.6));position:relative}
.cta-hero h2{font-size:clamp(30px,4.6vw,54px);position:relative}
.cta-hero p{color:var(--dim);margin:16px auto 28px;max-width:520px;position:relative}
.cta-hero .btn{position:relative}

/* páginas comunes */
.page{padding:130px 26px 90px;max-width:1180px;margin:0 auto}
.page-head{max-width:820px;margin-bottom:56px}
.svc-ico{width:58px;height:58px;color:var(--sunset);margin-bottom:18px}
.svc-img-hero{width:min(100%,520px);border-radius:20px;border:1px solid var(--line);margin-bottom:26px;
  box-shadow:0 20px 60px rgba(225,19,29,.3)}
.page-head .btn{margin-top:26px}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.svc-item{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px}
.svc-item h3{font-size:17.5px;margin-bottom:8px}
.svc-item p{color:var(--dim);font-size:14.5px}
.proceso-mini{margin-top:70px}
.proceso-mini ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.proceso-mini li{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:18px;font-size:14px;color:var(--dim)}
.proceso-mini li span{display:block;font-family:"League Spartan";font-weight:900;color:var(--red2);font-size:20px;margin-bottom:6px}
@media(max-width:880px){.proceso-mini ol{grid-template-columns:1fr 1fr}}
.cta-final{margin-top:80px;text-align:center;background:linear-gradient(120deg,rgba(225,19,29,.14),rgba(227,50,168,.12));
  border:1px solid var(--line);border-radius:24px;padding:56px 30px}
.cta-final p{color:var(--dim);margin:12px 0 24px}
.svc-next{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}
.svc-next a{border:1px solid var(--line);border-radius:99px;padding:10px 18px;font-size:14px;color:var(--dim);transition:.2s}
.svc-next a:hover{color:var(--txt);border-color:var(--red2)}
.svc-next em{font-style:normal;color:var(--red2);font-weight:800;margin-right:8px}

/* portfolio (ruta) */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.pf-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.3s}
.pf-card:hover{transform:translateY(-6px);border-color:var(--red2);box-shadow:0 18px 50px rgba(225,19,29,.22)}
.pf-thumb{height:190px;background:var(--grad);display:grid;place-items:center;position:relative;overflow:hidden}
.pf-thumb span{font-family:"League Spartan";font-weight:900;font-size:20px;color:#fff;z-index:2;
  background:rgba(14,10,31,.6);backdrop-filter:blur(6px);border-radius:8px;padding:5px 14px}
.pf-body{padding:22px}
.pf-body p{color:var(--dim);font-size:14.5px;margin:8px 0 14px}
.pf-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.pf-tags span{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:4px 11px;color:var(--dim)}
.pf-link{color:var(--red2);font-weight:600;font-size:14px}
.pf-seo{margin-top:70px}
.pf-seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:24px}
.pf-seo-grid article{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:24px}
.pf-seo-grid h3{font-size:17px;margin-bottom:8px}
.pf-seo-grid p{color:var(--dim);font-size:14.5px}

/* tarifas (ruta) */
.tf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.tf-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;transition:.3s}
.tf-card:hover{border-color:var(--red2);transform:translateY(-5px)}
.tf-card h3{font-size:20px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tf-card p{color:var(--dim);font-size:14.5px;margin:10px 0 16px}
.tf-card ul{list-style:none;margin-bottom:22px;flex:1}
.tf-card li{font-size:14px;color:var(--txt);padding:6px 0 6px 24px;position:relative}
.tf-card li::before{content:"✦";position:absolute;left:2px;color:var(--red2)}

/* contacto */
.ct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:40px}
.ct-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;display:grid;gap:6px;
  justify-items:start;transition:.25s}
.ct-card:hover{border-color:var(--red2);transform:translateY(-4px)}
.ct-ico{width:30px;height:30px;color:var(--red2);font-size:24px}
.ct-ico svg{width:30px;height:30px}
.ct-card span:last-child{color:var(--dim);font-size:14px}
.ct-form{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:30px;max-width:720px;display:grid;gap:16px}
.ct-form label{display:grid;gap:7px;font-size:13.5px;font-weight:600;color:var(--dim)}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.ct-row{grid-template-columns:1fr}}
.ct-form input,.ct-form select,.ct-form textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:13px;color:var(--txt);font-family:inherit;font-size:15px}
.ct-form small{color:var(--dim)}

footer{border-top:1px solid var(--line);margin-top:60px;background:rgba(14,10,31,.85)}
.foot{max-width:1180px;margin:0 auto;padding:44px 26px;display:flex;gap:30px;flex-wrap:wrap;align-items:center;justify-content:space-between;color:var(--dim);font-size:14px}
.foot .logo img{width:34px;height:34px}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}
.foot a:hover{color:var(--txt)}


/* ---------- style-00-v4.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v4 (se carga después de style-00-v3.css)
   ============================================================ */

/* secciones más largas y con aire */
.wrap{padding:130px 26px}
.claim{padding:150px 26px}

/* ---------- STATS: números grandes y legibles ---------- */
.stat{padding:38px 22px}
.stat b{display:block;font-family:"League Spartan";font-weight:900;
  font-size:clamp(52px,6.6vw,84px);line-height:1;color:#fff;
  background:linear-gradient(100deg,#2fd4c2,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 12px rgba(47,212,194,.35))}
.stat > span{display:block;margin-top:12px;color:var(--dim);font-size:13.5px;letter-spacing:.08em;
  text-transform:uppercase;font-family:"League Spartan";font-weight:600}

/* ---------- características re-estructuradas ---------- */
.playa-list{display:none}
.carac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px}
.carac{background:rgba(12,26,43,.75);border:1px solid rgba(47,212,194,.28);border-radius:20px;padding:26px 22px}
.carac span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;
  background:rgba(47,212,194,.14);color:var(--turq);font-size:22px;font-weight:800;margin-bottom:14px}
.carac h4{font-family:"League Spartan";font-size:17.5px;margin-bottom:8px;color:var(--txt)}
.carac p{color:var(--dim);font-size:14px;line-height:1.55}
@media(max-width:980px){.carac-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.carac-grid{grid-template-columns:1fr}}

/* ---------- capítulo fuego: llamas visibles ---------- */
.cap-fuego{position:relative;overflow:hidden}
.flames{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cap-fuego .fuego-grid,.cap-fuego .kicker-latin{position:relative;z-index:1}
.kicker-latin{font-family:"League Spartan";font-weight:700;font-size:13px;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,154,60,.75);margin-bottom:26px;text-align:center}

/* paneles de vídeo (frames en bucle) */
.vid-panel{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(225,19,29,.4);
  aspect-ratio:16/9;box-shadow:0 24px 70px rgba(20,4,8,.7);background:#170a12}
.vid-panel canvas{position:absolute;inset:0;width:100%;height:100%}
.vid-cap{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;font-size:12.5px;color:#f6d9c8;z-index:2;
  background:linear-gradient(transparent,rgba(16,5,8,.92));font-family:"League Spartan";letter-spacing:.06em}
.svc-vid{max-width:640px;margin-bottom:26px;border-color:var(--line);box-shadow:0 24px 70px rgba(10,6,26,.6)}
.arena{display:none}

/* ---------- ecosistema ---------- */
.eco-list{list-style:none;display:grid;gap:12px;margin-top:22px}
.eco-list li{color:var(--dim);font-size:15px;padding-left:24px;position:relative}
.eco-list li::before{content:"✦";position:absolute;left:0;color:var(--sunset)}
.eco-list li b{color:var(--txt)}
.orbita .nucleo{display:none}

/* ---------- servicios: entrada en flecha ---------- */
.svc-card .need{font-family:"League Spartan";font-weight:700;font-size:13px;letter-spacing:.05em;
  color:var(--sunset);margin-bottom:8px;min-height:2.2em}
.fly{opacity:0;transition:transform .9s cubic-bezier(.16,.8,.3,1) var(--d,0ms),opacity .7s var(--d,0ms),
  clip-path .9s cubic-bezier(.16,.8,.3,1) var(--d,0ms)}
.fly-l{transform:translateX(-70vw) rotate(-4deg);
  clip-path:polygon(0 50%,28% 0,28% 28%,100% 28%,100% 72%,28% 72%,28% 100%)}
.fly-r{transform:translateX(70vw) rotate(4deg);
  clip-path:polygon(100% 50%,72% 0,72% 28%,0 28%,0 72%,72% 72%,72% 100%)}
.fly-c{transform:translateY(45vh) scale(.5);
  clip-path:polygon(50% 0,100% 40%,72% 40%,72% 100%,28% 100%,28% 40%,0 40%)}
.fly.in{opacity:1;transform:none;clip-path:polygon(0 0,100% 0,100% 0,100% 100%,100% 100%,0 100%,0 100%)}
@media(prefers-reduced-motion:reduce){.fly{opacity:1;transform:none;clip-path:none}}

/* ---------- actualidad con imágenes ---------- */
.nw-card{padding:0;overflow:hidden}
.nw-im{aspect-ratio:16/9;overflow:hidden}
.nw-im img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.nw-card:hover .nw-im img{transform:scale(1.06)}
.nw-bd{padding:24px;display:flex;flex-direction:column;flex:1}
.nw-card>p{margin-bottom:0}
.nw-bd>p{color:var(--dim);font-size:14.5px;margin-bottom:16px}

/* ---------- reseñas: recuento visible ---------- */
.g-count b{font-family:"League Spartan";font-weight:900;font-size:26px;color:#fff;
  background:linear-gradient(160deg,#fff,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-bar em{color:var(--txt);font-weight:600}

/* ---------- asesoría ---------- */
.asesoria-form{margin-top:70px;background:linear-gradient(140deg,rgba(225,19,29,.1),rgba(123,47,247,.1));
  border:1px solid var(--line);border-radius:24px;padding:40px 32px}
.asesoria-form h2{margin-bottom:8px}

/* scrub: frases en latín */
.scrub-txt .ph.lat{font-style:italic;text-transform:none;
  font-size:clamp(30px,6.4vw,84px);letter-spacing:.01em;color:#ffd9a0;
  text-shadow:0 3px 8px rgba(10,6,22,.9),0 0 50px rgba(255,154,60,.4)}
.scrub-txt .ph.lat small{font-style:normal;letter-spacing:.14em}


/* ---------- style-00-v5.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v5: logo dentro de las animaciones
   ============================================================ */

/* logo flotando sobre los paneles de vídeo (duelo, escultor, falange) */
.vid-logo{position:absolute;left:50%;top:24%;transform:translateX(-50%);width:20%;max-width:120px;z-index:2;
  pointer-events:none;opacity:.96;
  filter:drop-shadow(0 6px 24px rgba(225,19,29,.65)) drop-shadow(0 0 40px rgba(255,154,60,.4));
  animation:vidlogo 3.6s ease-in-out infinite}
@keyframes vidlogo{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}
  50%{transform:translateX(-50%) translateY(-6px) scale(1.04)}}

/* logo del scrub de la falange: emerge sobre la formación */
.logo-falange{top:30%;width:min(22vw,190px);opacity:0}

/* coherencia de color (repaso): acentos y focos siempre en la gama marca */
.marq-in b{color:var(--red2)}
.svc-card .im em{border-color:rgba(225,19,29,.5)}
.nw-toggle{border-color:var(--sunset);color:var(--sunset)}
.nw-toggle:hover{background:rgba(255,138,92,.14)}
.hermes-ico{color:var(--sunset);border-color:rgba(255,138,92,.4);background:rgba(255,138,92,.08)}


/* ---------- style-00-v6.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v6
   ============================================================ */

/* divisores en latín con la tipografía del Templo (serif) */
.latin-div{text-align:center;padding:74px 26px 66px;position:relative}
.latin-div em{display:block;font-family:"League Spartan",sans-serif;font-style:italic;font-weight:600;
  font-size:clamp(28px,4.6vw,52px);color:#e8cf8e;letter-spacing:.02em;
  text-shadow:0 2px 24px rgba(232,207,142,.25)}
.latin-div span{display:block;margin-top:12px;font-family:"League Spartan",sans-serif;font-weight:600;
  font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.latin-div::before,.latin-div::after{content:"";position:absolute;top:50%;width:min(160px,16vw);height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,207,142,.5))}
.latin-div::before{left:6vw}
.latin-div::after{right:6vw;transform:scaleX(-1)}

/* capítulos NOCHE y AMANECER */
body[data-mood="noche"]{background-color:#070a17}
body[data-mood="amanecer"]{background-color:#26102c}
.scenebg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cap-noche,.cap-amanecer,.cap-playa{position:relative;overflow:hidden}
.cap-noche > *:not(.scenebg),.cap-amanecer > *:not(.scenebg),.cap-playa > *:not(.scenebg){position:relative;z-index:1}
.cap-noche .kicker{color:#e8cf8e;letter-spacing:.4em}
.cap-noche h2{font-family:"League Spartan",sans-serif;font-weight:600;font-size:clamp(30px,4.2vw,48px)}
.cap-noche .eco-list li::before{color:#e8cf8e}
.cap-noche .btn-ghost{border-color:#e8cf8e;color:#e8cf8e}
.cap-noche .btn-ghost:hover{background:rgba(232,207,142,.12)}
.cap-amanecer .kicker{color:#ffc46b}

/* vídeos de páginas de servicio a ancho completo */
.svc-vid{width:100vw;max-width:none;margin-left:calc(50% - 50vw);border-radius:0;border-left:0;border-right:0;
  aspect-ratio:21/9;margin-bottom:34px}
@media(max-width:700px){.svc-vid{aspect-ratio:16/9}}

/* logo del scrub del duelo */
.logo-arena{top:30%;width:min(22vw,190px);opacity:0}

/* las frases de los scrubs sin cursiva latina */
.scrub-txt .ph.lat{font-style:normal}


/* ---------- style-00-v7.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v7
   ============================================================ */

/* los artículos plegados DE VERDAD (el bug: display de CSS ganaba a [hidden]) */
.nw-body[hidden]{display:none!important}

/* autor de los artículos */
.nw-autor{font-family:"League Spartan",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.06em;
  color:var(--gold);margin:2px 0 14px;opacity:.9}

/* el icono de Hermes, ahora imagen */
.hermes-ico{width:76px;height:76px;padding:0;overflow:hidden;border-radius:18px;
  border:1px solid rgba(232,207,142,.45)}
.hermes-ico img{width:100%;height:100%;object-fit:cover}

/* divisores latinos con más presencia */
.latin-div{padding:130px 26px 120px;position:relative;overflow:hidden}
.latin-div::before,.latin-div::after{width:min(240px,22vw)}
.latin-div em{font-size:clamp(36px,6vw,72px)}
.latin-div span{font-size:15px;margin-top:16px;max-width:640px;margin-inline:auto;line-height:1.7;
  text-transform:none;letter-spacing:.06em;color:var(--txt);opacity:.75;font-weight:500}
.latin-div .laurel-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(420px,70vw);opacity:.05;pointer-events:none;color:#e8cf8e}

/* sin logos flotantes sobre los vídeos */
.vid-logo{display:none!important}


/* ---------- style-00-v8.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v8
   · Capítulos a sangre completa (fondo de borde a borde)
   · Templo de constelación en el ecosistema
   ============================================================ */

/* los capítulos ocupan TODO el ancho; el contenido sigue centrado */
.cap-playa,.cap-fuego,.cap-noche,.cap-amanecer,.cap-agora{
  width:100vw;max-width:none;margin-left:calc(50% - 50vw);
  padding-left:max(26px, calc(50vw - 590px));
  padding-right:max(26px, calc(50vw - 590px));
}

/* el templo-constelación necesita lienzo amplio */
.orbita{max-width:600px;aspect-ratio:1}
.orbita-wrap{grid-template-columns:1.05fr .95fr}
@media(max-width:880px){.orbita-wrap{grid-template-columns:1fr}}

/* seguridad extra: si algo fallara, las tarjetas nunca se quedan invisibles */
@media(max-width:920px){
  .fly-l{transform:translateX(-40vw) rotate(-3deg)}
  .fly-r{transform:translateX(40vw) rotate(3deg)}
}


/* ---------- style-00-v9.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v9: página de servicios editorial
   ============================================================ */
.sf-list{display:grid;gap:90px;margin-top:20px}
.sf-row{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.sf-row.rev .sf-media{order:2}
.sf-media{position:relative;border-radius:26px;overflow:visible}
.sf-media img{width:100%;border-radius:26px;border:1px solid var(--line);
  box-shadow:0 30px 80px rgba(10,6,26,.65);position:relative;z-index:1;transition:transform .45s}
.sf-row:hover .sf-media img{transform:translateY(-8px) rotate(-.6deg)}
.sf-media em{position:absolute;top:-34px;left:-14px;z-index:2;font-style:normal;
  font-family:"League Spartan",sans-serif;font-weight:600;font-size:clamp(60px,7vw,104px);
  color:transparent;-webkit-text-stroke:1.5px rgba(232,207,142,.65);line-height:1}
.sf-row.rev .sf-media em{left:auto;right:-14px}
.sf-glow{position:absolute;inset:8%;border-radius:50%;background:var(--grad);filter:blur(70px);
  opacity:.25;z-index:0;transition:opacity .4s}
.sf-row:hover .sf-glow{opacity:.45}
.sf-body h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:12px}
.sf-short{color:var(--dim);font-size:16.5px;margin-bottom:20px}
.sf-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.sf-chips li{font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:99px;
  padding:7px 14px;color:var(--txt);background:rgba(28,20,64,.6)}
.sf-chips li::before{content:"✦ ";color:var(--red2)}
.sf-chips li.mas{color:var(--dim);border-style:dashed}
.sf-chips li.mas::before{content:""}
.sf-ctas{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:880px){
  .sf-row{grid-template-columns:1fr;gap:26px}
  .sf-row.rev .sf-media{order:0}
  .sf-media em{top:-26px}
  .sf-list{gap:64px}
}

/* tarjetas de la portada un punto más ricas */
.svc-card{background:linear-gradient(var(--panel),var(--panel)) padding-box,
  linear-gradient(140deg,rgba(225,19,29,.45),rgba(123,47,247,.35)) border-box;
  border:1px solid transparent}
.svc-card .im::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;
  background:linear-gradient(transparent,rgba(14,10,31,.55))}


/* ---------- style-00-v11.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v11
   · Transiciones fundidas entre secciones (sin cortes)
   ============================================================ */

/* fundidos arriba/abajo de cada animación de scroll */
.scrub-stick::before,.scrub-stick::after{content:"";position:absolute;left:0;right:0;height:140px;
  z-index:2;pointer-events:none}
.scrub-stick::before{top:0;background:linear-gradient(var(--fade-top,#0e0a1f),transparent)}
.scrub-stick::after{bottom:0;background:linear-gradient(transparent,var(--fade-bottom,#0e0a1f))}
.scrub-txt{z-index:3}
.scrub-hint,.hero-logo{z-index:3}
#scrub-hero .scrub-stick::before{display:none}     /* el hero empieza limpio */
#scrub-arena{--fade-top:#190a10;--fade-bottom:#070a17}
#scrub-noche{--fade-top:#070a17;--fade-bottom:#070a17}
#scrub-templo{--fade-top:#26102c;--fade-bottom:#0e0a1f}
#scrub-falange{--fade-top:#0e0a1f;--fade-bottom:#0e0a1f}
#scrub-hero{--fade-bottom:#0e0a1f}

/* transiciones MUY suaves: fundido vertical al color del siguiente capítulo
   (sin diagonal dura, sin líneas de corte) */
.wipe{height:240px;margin:-120px 0;opacity:1;z-index:2}
.wipe::before{clip-path:none;filter:blur(10px)}
.wipe.to-playa::before{background:linear-gradient(transparent,#0c1a2b)}
.wipe.to-fuego::before{background:linear-gradient(transparent,#190a10)}
.wipe.to-agora::before{background:linear-gradient(transparent,#0b0918)}
.wipe.to-vice::before{background:linear-gradient(transparent,#0e0a1f)}
.wipe.to-noche::before{background:linear-gradient(transparent,#070a17)}
.wipe.to-amanecer::before{background:linear-gradient(transparent,#26102c)}

/* los fundidos de las animaciones de scroll empalman con el color del
   capítulo vecino (nada de saltos de color = nada de líneas) */
#scrub-arena{--fade-top:#190a10;--fade-bottom:#190a10}   /* rodeado por el fuego */
.scrub-stick::before,.scrub-stick::after{height:220px}   /* fundidos más largos */

/* capítulo nocturno del ecosistema: texto centrado, más aire */
.eco-texto{max-width:820px;margin:0 auto;text-align:left;display:grid;gap:8px}
.cap-noche .kicker{color:#e8cf8e}
.cap-noche h2{font-family:"League Spartan",sans-serif;font-weight:900}


/* ---------- style-00-v12.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v12: capítulo del fuego con partículas (puntitos)
   ============================================================ */
#flames-canvas{
  top:0;bottom:0;height:100%;
  mix-blend-mode:normal;
  opacity:.9;
  -webkit-mask-image:none;
  mask-image:none;
}


/* ---------- style-00-v13.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v13: navegador de secciones (emblemas)
   ============================================================ */
.secnav{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:60;
  display:flex;flex-direction:column;gap:4px;padding:10px 8px;
  background:rgba(12,8,25,.5);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  border:1px solid rgba(255,255,255,.08);border-radius:44px;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.secnav-i{position:relative;width:42px;height:42px;display:grid;place-items:center;
  opacity:.5;filter:saturate(.55);transition:transform .28s cubic-bezier(.34,1.56,.64,1),opacity .25s,filter .25s;cursor:pointer;text-decoration:none}
.secnav-i img{max-width:30px;max-height:30px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55))}
.secnav-i:hover{opacity:.92;filter:saturate(.9)}
.secnav-i.on{opacity:1;filter:saturate(1.15);transform:scale(1.45)}
.secnav-i.on img{filter:drop-shadow(0 0 9px rgba(255,120,150,.9))}
.secnav-i span{position:absolute;left:50px;top:50%;transform:translateY(-50%) translateX(-6px);white-space:nowrap;
  background:#241640;border:1px solid #3a2963;color:#efe6ff;padding:5px 11px;border-radius:9px;
  font-family:"League Spartan",sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.02em;
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.secnav-i:hover span{opacity:1;transform:translateY(-50%)}

/* móvil / tablet estrecho: barra horizontal abajo */
@media(max-width:880px){
  .secnav{left:50%;right:auto;top:auto;bottom:14px;transform:translateX(-50%);
    flex-direction:row;gap:1px;border-radius:32px;padding:6px 8px}
  .secnav-i{width:40px;height:40px}
  .secnav-i img{max-width:26px;max-height:26px}
  .secnav-i span{display:none}
  .secnav-i.on{transform:scale(1.3)}
}
@media(max-width:380px){.secnav-i{width:36px;height:36px}.secnav-i img{max-width:23px;max-height:23px}}

/* ============================================================
   TIPOGRAFÍA UNIFICADA — una sola familia en toda la web
   ============================================================ */
body,input,textarea,select,button,
p,li,small,span,em,strong,summary,details,figcaption,label,td,th{
  font-family:"League Spartan",system-ui,sans-serif}
body{letter-spacing:.005em}
.lead,p,li{font-weight:400}
h1,h2,h3,h4,.kicker,.btn,.logo{font-family:"League Spartan",sans-serif}
.browser-bar em{font-family:"League Spartan",sans-serif}

/* ============================================================
   TRANSICIONES ENTRE SECCIONES — fundido largo + brillo suave
   ============================================================ */
.wipe{height:340px;margin:-170px 0;position:relative;z-index:2;pointer-events:none;overflow:hidden}
/* el ::before base (v3) usa inset:0, lo que recorta el blur justo en el borde de la caja
   y deja un canto duro visible; le damos margen de sangrado para que el desenfoque
   se apague ANTES de llegar al límite recortado por overflow:hidden */
.wipe::before{clip-path:none;filter:blur(18px);top:-40px;left:-40px;right:-40px;bottom:-40px}
.wipe::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:150%;height:230px;border-radius:50%;opacity:.55;filter:blur(52px)}
.wipe.to-playa::after{background:radial-gradient(closest-side,rgba(47,212,194,.4),transparent)}
.wipe.to-fuego::after{background:radial-gradient(closest-side,rgba(255,120,60,.4),transparent)}
.wipe.to-agora::after{background:radial-gradient(closest-side,rgba(123,47,247,.4),transparent)}
.wipe.to-vice::after{background:radial-gradient(closest-side,rgba(227,50,168,.4),transparent)}
.wipe.to-noche::after{background:radial-gradient(closest-side,rgba(120,140,255,.32),transparent)}
.wipe.to-amanecer::after{background:radial-gradient(closest-side,rgba(255,180,110,.4),transparent)}
/* el cambio de color de fondo del capítulo, más pausado */
body{transition:background-color 1.6s cubic-bezier(.4,0,.2,1)}
/* los fundidos de los scrubs, más largos aún */
.scrub-stick::before,.scrub-stick::after{height:340px}
/* el fundido de entrada al duelo (competencia) debe terminar en el mismo tono
   oscuro que deja el wipe justo antes, para que no se note el salto de color */
#scrub-arena .scrub-stick{--fade-top:#190a10}

/* ============================================================
   FRASES ÉPICAS — entrada tipo título de película
   ============================================================ */
.latin-div{padding:150px 26px 140px;text-align:center;position:relative}
.latin-div em{display:block;font-family:"League Spartan",sans-serif;font-style:italic;font-weight:700;
  font-size:clamp(30px,5.2vw,62px);letter-spacing:.03em;line-height:1.12;color:#e8cf8e;
  text-shadow:0 2px 30px rgba(232,207,142,.35);
  opacity:0;transform:scale(1.14) translateY(10px);filter:blur(9px);
  transition:opacity 1.5s cubic-bezier(.2,.7,.2,1),transform 1.9s cubic-bezier(.2,.7,.2,1),filter 1.5s}
.latin-div span{display:block;margin-top:26px;font-family:"League Spartan",sans-serif;font-weight:600;
  font-size:clamp(13px,1.5vw,16px);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);
  max-width:720px;margin-left:auto;margin-right:auto;line-height:1.8;
  opacity:0;transform:translateY(16px);transition:opacity 1.2s .55s,transform 1.2s .55s}
.latin-div.in em{opacity:1;transform:none;filter:blur(0)}
.latin-div.in span{opacity:1;transform:none}
/* línea que se abre a los lados, como un telón */
.latin-div::before,.latin-div::after{content:"";position:absolute;top:50%;height:1px;width:0;
  background:linear-gradient(90deg,transparent,rgba(232,207,142,.55));transition:width 1.8s .35s ease-out}
.latin-div::before{left:4vw}
.latin-div::after{right:4vw;transform:scaleX(-1)}
.latin-div.in::before,.latin-div.in::after{width:min(22vw,300px)}
/* variante del capítulo del fuego: mismos tamaños, sus colores */
.latin-fuego em{color:#ffb454;text-shadow:0 2px 30px rgba(255,140,60,.4)}
.latin-fuego span{color:rgba(255,180,120,.8)}
.latin-fuego::before,.latin-fuego::after{background:linear-gradient(90deg,transparent,rgba(255,154,60,.55))}
@media(max-width:720px){.latin-div{padding:104px 22px 96px}}

/* ============================================================
   TÍTULOS DE SECCIÓN — que se noten
   ============================================================ */
.kicker{font-size:13.5px;letter-spacing:.34em;font-weight:800;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;margin-bottom:18px}
.cap-playa .kicker,.cap-noche .kicker,.cap-fuego .kicker,.cap-amanecer .kicker{-webkit-text-fill-color:currentColor}
/* subrayado en TODOS los títulos de sección (estén o no dentro de .reveal) */
.wrap h2,.claim h2{position:relative}
.wrap>h2,.wrap>.reveal>h2,.wrap>div>h2{padding-bottom:20px;margin-bottom:8px}
.wrap>h2::after,.wrap>.reveal>h2::after,.wrap>div>h2::after{
  content:"";position:absolute;left:0;bottom:0;width:82px;height:4px;border-radius:3px;
  background:var(--grad);box-shadow:0 2px 16px rgba(227,50,168,.5)}
/* excepciones: títulos que no son de sección */
.art-body h2::after,.art-rel h2::after,.cta-hero h2::after,.claim h2::after{display:none}
h2{font-size:clamp(30px,4.4vw,52px);font-weight:900;letter-spacing:-.01em}

/* ============================================================
   COHERENCIA VISUAL — radios de esquina unificados
   ============================================================ */
.svc-card,.nw-card,.rv-card,.carac,.agora-cell,.stat,.vid-panel,.cala,.art-hero,.pf-shot .browser{
  border-radius:18px}
.fuego-point,.brasa,.art-tldr,.faq details,.proc article{border-radius:14px}
.svc-card .im,.nw-im{border-radius:18px 18px 0 0}

/* ============================================================
   MÓVIL — transiciones sin líneas + servicios más ágiles
   ============================================================ */
@media(max-width:880px){
  /* nada de bordes duros entre capítulos */
  .cap-playa,.cap-fuego,.cap-noche,.cap-amanecer,.cap-agora,.wrap{border:0!important}
  .wipe{height:220px;margin:-110px 0}
  .wipe::before{filter:blur(22px)}
  /* la animación de las tarjetas, mucho más rápida y corta */
  .fly{transition:transform .5s cubic-bezier(.2,.8,.3,1) var(--d,0ms),opacity .38s var(--d,0ms),
    clip-path .5s var(--d,0ms)!important}
  .fly-l{transform:translateX(-26vw) rotate(-2deg)}
  .fly-r{transform:translateX(26vw) rotate(2deg)}
  .fly-c{transform:translateY(16vh) scale(.86)}
}

/* Quiénes somos — enfoque humano y cercano */
.somos-promesas{list-style:none;display:grid;gap:14px;margin:26px 0 6px}
.somos-promesas li{position:relative;padding-left:26px;color:var(--dim);font-size:15.5px;line-height:1.5}
.somos-promesas li b{color:var(--txt);font-family:"League Spartan",sans-serif;font-weight:800}
.somos-promesas li::before{content:"";position:absolute;left:0;top:8px;width:11px;height:11px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#3ee6d2,#0e7c72);box-shadow:0 0 10px rgba(47,212,194,.5)}
.somos-firma{margin-top:22px;font-family:"League Spartan",sans-serif;font-weight:700;color:#3ee6d2;
  letter-spacing:.02em;font-size:14.5px}

/* Artículos como páginas (blog) — formato periódico, ancho */
.art{max-width:1240px;margin:0 auto;padding:112px 40px 90px}
@media(max-width:720px){.art{padding:96px 20px 70px}}
.art-back{display:inline-block;color:var(--red2,#ff5a7a);font-family:"League Spartan",sans-serif;font-weight:700;
  font-size:14px;letter-spacing:.04em;margin-bottom:26px;text-decoration:none}
.art-back:hover{color:#fff}
.art-head .art-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.art-head h1{font-family:"League Spartan",sans-serif;font-weight:900;font-size:clamp(30px,5vw,50px);line-height:1.05;margin:0 0 16px}
.art-lead{color:var(--dim);font-size:19px;line-height:1.55;margin:0 0 18px}
.art-author{font-family:"League Spartan",sans-serif;font-weight:700;font-size:13.5px;color:#3ee6d2;letter-spacing:.03em}
.art-hero{margin:30px 0;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px rgba(10,6,26,.6)}
.art-hero img{width:100%;display:block}
/* una sola columna, pero a lo ancho: se lee cómodo y ocupa pantalla */
.art-body{font-size:18px;line-height:1.85;column-count:1}
.art-body p{margin:0 0 24px;color:#d9d3e8}
.art-body h2{font-size:clamp(23px,2.6vw,32px);font-weight:900;margin:44px 0 16px;color:var(--txt);padding:0}
.art-body h2::after{display:none}
.art-body h3{font-size:clamp(19px,2vw,24px);font-weight:800;margin:32px 0 12px;color:#ffb9c7}
.art-body ul{margin:0 0 24px;padding-left:22px}
.art-body li{margin-bottom:10px;color:#d9d3e8}
/* resumen destacado al principio del artículo */
.art-tldr{margin:0 0 34px;padding:22px 26px;border-radius:16px;
  background:linear-gradient(150deg,rgba(225,19,29,.10),rgba(123,47,247,.10));
  border-left:4px solid var(--red2,#ff5a7a)}
.art-tldr b{display:block;font-family:"League Spartan",sans-serif;font-weight:800;font-size:13px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--red2,#ff5a7a);margin-bottom:8px}
.art-tldr p{margin:0;color:#efe9ff;font-size:16.5px;line-height:1.7}
.art-cta{margin:46px 0;padding:30px;border-radius:20px;text-align:center;
  background:linear-gradient(150deg,rgba(225,19,29,.12),rgba(123,47,247,.12));border:1px solid var(--line)}
.art-cta p{font-family:"League Spartan",sans-serif;font-weight:800;font-size:20px;margin:0 0 16px}
.art-rel{margin-top:56px}
.art-rel h2{font-family:"League Spartan",sans-serif;font-weight:900;font-size:24px;margin-bottom:20px}
.art-rel .nw-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:640px){.art-rel .nw-grid{grid-template-columns:1fr}}
/* tarjetas de noticia como enlaces */
.nw-im{display:block}
.nw-card h3 a{color:inherit;text-decoration:none}
.nw-card h3 a:hover{color:var(--red2,#ff5a7a)}
a.nw-toggle{display:inline-block;text-decoration:none}


/* ============================================================
   CLAIM (Ayer te hacíamos una web / Hoy creamos tu ecosistema)
   entrada coreografiada: tacha → texto degradado → cta
   ============================================================ */
.orb.reveal{opacity:0;transition:opacity 1.4s var(--d,0ms)}
.orb.reveal.in{opacity:.35}
.claim .was{position:relative;display:inline-block;text-decoration:none;padding-bottom:.06em}
.claim .was::after{content:"";position:absolute;left:0;right:100%;bottom:.14em;height:4px;border-radius:3px;
  background:linear-gradient(90deg,var(--red),var(--magenta));box-shadow:0 0 14px rgba(225,19,29,.6);
  transition:right 1.9s cubic-bezier(.65,0,.35,1) .5s}
.claim h2.reveal.in .was::after{right:0}
.claim .now{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(16px) scale(1.05);
  transition:opacity .9s 1.35s,filter .9s 1.35s,transform .9s 1.35s cubic-bezier(.2,.8,.2,1)}
.claim h2.reveal.in .now{opacity:1;filter:blur(0);transform:none}
.claim p.reveal{transition-delay:1.85s!important}
.claim .btn-main.reveal{transition-delay:2.05s!important}
.claim .btn-main{transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .32s,opacity .7s,filter .7s}
.claim .btn-main:hover{transform:translateY(-3px) scale(1.045);box-shadow:0 16px 44px rgba(225,19,29,.55)}
.claim .btn-main:active{transform:translateY(-1px) scale(1.01)}
@media(max-width:600px){
  .claim .was::after{transition-duration:1.3s}
  .claim .now{transition-delay:1s}
  .claim p.reveal{transition-delay:1.35s!important}
  .claim .btn-main.reveal{transition-delay:1.5s!important}
}


/* ---------- style-00-v14.css ---------- */
/* ============================================================
   POTENCIA DIGITAL — v14
   · Botón de contacto desplegable (WhatsApp / correo / llamada)
   · TANIT — asistente IA de la casa
   ============================================================ */

/* ---------- botón de contacto ---------- */
#fab-wrap{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;flex-direction:column;
  align-items:flex-end;gap:12px}
.fab-btn{width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:var(--grad,linear-gradient(100deg,#e1131d,#e332a8 55%,#ff8a5c));color:#fff;
  box-shadow:0 10px 34px rgba(225,19,29,.5);transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.fab-btn svg{width:27px;height:27px}
.fab-btn:hover{transform:scale(1.08)}
#fab-wrap.open .fab-btn{transform:rotate(45deg) scale(1.05)}
.fab-opts{display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  opacity:0;pointer-events:none;transform:translateY(14px) scale(.9);transform-origin:bottom right;
  transition:opacity .25s,transform .3s cubic-bezier(.34,1.56,.64,1)}
#fab-wrap.open .fab-opts{opacity:1;pointer-events:auto;transform:none}
.fab-opt{display:flex;align-items:center;gap:10px;padding:9px 15px 9px 11px;border-radius:99px;
  background:rgba(20,13,38,.92);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);
  color:#f2edff;font-family:"League Spartan",sans-serif;font-weight:700;font-size:14px;
  box-shadow:0 8px 26px rgba(0,0,0,.45);transition:.2s;white-space:nowrap}
.fab-opt:hover{transform:translateX(-4px);border-color:rgba(255,90,122,.6)}
.fab-opt .ic{width:26px;height:26px;border-radius:50%;display:block;flex:none;
  background-repeat:no-repeat;background-position:center;background-size:15px}
.fab-opt .ic.wa{background-color:#25d366;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.9-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1.1.1-1.8-.1-.4-.1-1-.3-1.7-.6-3-1.3-4.9-4.3-5-4.5-.2-.2-1.2-1.6-1.2-3s.7-2.1 1-2.4c.2-.3.5-.4.7-.4h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.4 0 .5l-.3.5-.4.4c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.4 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.2.4-.2.6-.1l2 .9c.2.1.4.2.4.3.1.1.1.6-.1 1.2z'/%3E%3C/svg%3E")}
.fab-opt .ic.mail{background-color:#5b8cff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E")}
.fab-opt .ic.tel{background-color:#ff8a5c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E")}

/* ---------- TANIT ---------- */
#tanit{position:fixed;left:20px;bottom:20px;z-index:70}
.tanit-fab{position:relative;width:66px;height:66px;border-radius:50%;border:2px solid rgba(232,207,142,.6);
  cursor:pointer;padding:0;overflow:visible;background:radial-gradient(circle at 40% 30%,#2a1b4d,#120c26);
  box-shadow:0 10px 34px rgba(120,60,200,.45);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.tanit-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.tanit-fab:hover{transform:scale(1.08)}
.tanit-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(232,207,142,.55);
  animation:tanit-p 2.6s ease-out infinite;pointer-events:none}
@keyframes tanit-p{0%{transform:scale(.92);opacity:.85}100%{transform:scale(1.3);opacity:0}}
.tanit-panel{position:absolute;left:0;bottom:82px;width:min(370px,calc(100vw - 40px));
  background:linear-gradient(170deg,#1c1240,#100a24);border:1px solid rgba(232,207,142,.28);
  border-radius:20px;box-shadow:0 26px 70px rgba(0,0,0,.6);overflow:hidden;
  display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 130px));
  opacity:0;pointer-events:none;transform:translateY(18px) scale(.96);transform-origin:bottom left;
  transition:opacity .28s,transform .34s cubic-bezier(.34,1.4,.64,1)}
#tanit.open .tanit-panel{opacity:1;pointer-events:auto;transform:none}
.tanit-head{display:flex;align-items:center;gap:11px;padding:14px 16px;
  background:linear-gradient(100deg,rgba(232,207,142,.14),rgba(227,50,168,.14));
  border-bottom:1px solid rgba(255,255,255,.09)}
.tanit-head img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(232,207,142,.6)}
.tanit-head strong{display:block;font-family:"League Spartan",sans-serif;font-weight:800;font-size:16px;color:#f4eefb}
.tanit-head small{display:block;font-size:11.5px;color:#c3aee0;letter-spacing:.04em}
.tanit-x{margin-left:auto;background:none;border:0;color:#c3aee0;font-size:26px;line-height:1;cursor:pointer;padding:0 4px}
.tanit-x:hover{color:#fff}
.tanit-cta{display:flex;align-items:center;justify-content:center;gap:9px;margin:12px 16px 4px;
  padding:11px 14px;border-radius:99px;text-decoration:none;
  background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.4);
  color:#eafff2;font-family:"League Spartan",sans-serif;font-weight:700;font-size:13.5px;
  transition:background .2s,transform .2s,border-color .2s}
.tanit-cta svg{width:18px;height:18px;flex:none;color:#25d366}
.tanit-cta:hover{background:rgba(37,211,102,.24);border-color:rgba(37,211,102,.65);transform:translateY(-1px)}
.tanit-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.tanit-msg{max-width:88%;padding:11px 14px;border-radius:15px;font-size:14.5px;line-height:1.6;
  animation:tanit-in .3s ease-out}
@keyframes tanit-in{from{opacity:0;transform:translateY(8px)}}
.tanit-msg.bot{align-self:flex-start;background:rgba(255,255,255,.07);color:#efe9ff;border-bottom-left-radius:5px}
.tanit-msg.yo{align-self:flex-end;background:var(--grad,linear-gradient(100deg,#e1131d,#e332a8));color:#fff;border-bottom-right-radius:5px}
.tanit-msg b{color:#f5d98a}
.tanit-msg.bot i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;
  background:#c3aee0;animation:tanit-dot 1.2s infinite}
.tanit-msg.bot i:nth-child(2){animation-delay:.18s}
.tanit-msg.bot i:nth-child(3){animation-delay:.36s}
@keyframes tanit-dot{0%,60%,100%{opacity:.3}30%{opacity:1}}
.tanit-sug{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px}
.tanit-sug button{background:rgba(232,207,142,.12);border:1px solid rgba(232,207,142,.3);color:#f0e2bb;
  border-radius:99px;padding:7px 12px;font-family:"League Spartan",sans-serif;font-size:12.5px;font-weight:600;
  cursor:pointer;transition:.2s}
.tanit-sug button:hover{background:rgba(232,207,142,.22)}
.tanit-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.09)}
.tanit-form input{flex:1;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  border-radius:99px;padding:11px 16px;color:#f2edff;font-family:"League Spartan",sans-serif;font-size:14.5px;outline:none}
.tanit-form input:focus{border-color:rgba(232,207,142,.55)}
.tanit-form button{width:42px;border:0;border-radius:50%;cursor:pointer;color:#fff;font-size:15px;
  background:var(--grad,linear-gradient(100deg,#e1131d,#e332a8))}
.tanit-nota{padding:0 16px 12px;margin:0;font-size:10.5px;color:#8f7fb0;line-height:1.5}
@media(max-width:520px){
  #tanit{left:14px;bottom:14px}
  .tanit-fab{width:56px;height:56px}
  .tanit-panel{width:calc(100vw - 28px);bottom:70px}
  #fab-wrap{right:14px;bottom:14px}
}

/* ---- navegador de secciones: ahora es <button>, hay que neutralizar el estilo nativo ---- */
button.secnav-i{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;appearance:none;-webkit-appearance:none}
button.secnav-i:focus-visible{outline:2px solid var(--magenta,#e332a8);outline-offset:3px;border-radius:50%}

/* ---- foco visible en toda la web (antes solo lo tenían algunos controles) ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--magenta,#e332a8);outline-offset:2px}

/* ============================================================
   MÓVIL: la barra de emblemas se pisaba con Tanit y con el botón
   de contacto (los tres vivían pegados al borde inferior).
   Ahora los botones se quedan abajo, al alcance del pulgar, y la
   barra de emblemas sube justo por encima de ellos.
   ============================================================ */
@media(max-width:880px){
  .secnav{
    bottom:calc(94px + env(safe-area-inset-bottom, 0px));
    max-width:calc(100vw - 24px);
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .secnav::-webkit-scrollbar{display:none}
  .secnav-i{flex:0 0 auto}
  /* los dos botones respetan la zona segura del iPhone */
  #tanit{bottom:calc(14px + env(safe-area-inset-bottom, 0px))}
  #fab-wrap{bottom:calc(14px + env(safe-area-inset-bottom, 0px))}
}

/* El menú del botón de contacto ocupaba sitio aunque estuviera cerrado:
   su caja invisible se solapaba con la barra de emblemas. Ahora no ocupa
   nada hasta que se abre, y al abrirse la barra se aparta. */
.fab-opts{visibility:hidden;height:0;overflow:visible}
#fab-wrap.open .fab-opts{visibility:visible;height:auto}
#fab-wrap.open ~ .secnav,
body:has(#fab-wrap.open) .secnav,
body:has(#tanit.open) .secnav{opacity:0;pointer-events:none;transition:opacity .2s}

/* Zonas de toque: en móvil los enlaces de texto medían 15-22px de alto,
   por debajo de lo que se acierta cómodamente con el dedo. */
@media(max-width:880px){
  .more,.pf-link{display:inline-block;padding-top:11px;padding-bottom:11px}
  .tanit-x{width:38px;height:38px;display:grid;place-items:center}
}

/* h1 de portada (auditoria 24-09-2026): mismo aspecto que el antiguo h2 del claim */
.claim h1{font-size:clamp(30px,5vw,64px);font-weight:900;letter-spacing:-.01em;line-height:1.05;max-width:940px;margin:0 auto;position:relative;z-index:1}
.claim h1::after{display:none}
.claim h1.reveal.in .was::after{right:0}
.claim h1.reveal.in .now{opacity:1;filter:blur(0);transform:none}

/* ===== v30 · logo animado («Clic» / «Eclipse») ===== */
html.pd-intro body::before{content:"";position:fixed;inset:0;z-index:9998;background:#0e0a1f}
#pdl-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;cursor:pointer;
  background:radial-gradient(120% 90% at 50% 110%,#2a1250 0%,#120d28 55%,#0a0718 100%)}
.pdl-stage{position:relative;width:min(94vw,760px);aspect-ratio:16/10;container-type:inline-size;display:grid;place-items:center;overflow:hidden}
.pdl-logo{position:relative;width:min(34%,190px);aspect-ratio:1;margin-top:-17%}
.pdl-logo img{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.pdl-word{position:absolute;left:0;right:0;bottom:12.5%;text-align:center;font-family:"League Spartan",Inter,sans-serif;font-weight:900;
  font-size:clamp(18px,6.9cqi,46px);line-height:1;letter-spacing:.02em;white-space:nowrap;color:var(--txt);text-shadow:0 4px 24px rgba(0,0,0,.45)}
.pdl-word span{display:inline-block;opacity:0}
.pdl-word .r{color:var(--red)}
.pdl-ring{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border:2px solid var(--magenta);border-radius:50%;opacity:0;pointer-events:none}
.pdl-sun{position:absolute;width:46%;aspect-ratio:1;border-radius:50%;left:27%;top:14%;opacity:0;
  background:linear-gradient(180deg,#ffd07a 0%,var(--sunset) 45%,var(--magenta) 100%);
  -webkit-mask:repeating-linear-gradient(180deg,#000 0 7%,transparent 7% 8.4%);mask:repeating-linear-gradient(180deg,#000 0 7%,transparent 7% 8.4%);filter:drop-shadow(0 0 30px rgba(255,138,92,.5))}
.pdl-cierre{position:relative;display:flex;flex-direction:column;align-items:center;padding:10px 16px 70px;
  background:radial-gradient(70% 60% at 50% 70%,rgba(42,18,80,.75),transparent 70%)}
.pdl-lema{margin-top:-4px;font-family:"League Spartan",Inter,sans-serif;font-weight:700;letter-spacing:.24em;text-transform:uppercase;font-size:12px;color:var(--gold);opacity:.8}

/* ===== v30 · gráfica «Crecimiento digital» ===== */
.pdc-card{--marble:#efe6d2;background:linear-gradient(180deg,#140f2c,#0f0b22);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:26px 22px 22px}
.pdc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.pdc-head h2{margin:0}
.pdc-sub{margin:6px 0 0;color:var(--dim);font-size:15px}
.pdc-kpi-box{text-align:right}
.pdc-tag{display:inline-block;font:700 11px "League Spartan",Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--sunset);border:1px solid rgba(255,138,92,.45);padding:4px 10px;border-radius:3px}
.pdc-kpi{margin-top:12px;font-family:"League Spartan",Inter,sans-serif;font-weight:900;font-size:clamp(34px,5vw,52px);line-height:1;background:linear-gradient(100deg,var(--gold),#fff3d1);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.pdc-kpi small{display:block;font:500 13px Inter,sans-serif;color:var(--dim);-webkit-text-fill-color:var(--dim);margin-top:6px}
.pdc-frieze{position:relative;height:58px;margin:14px -6px 0}
.pdc-frieze::before{content:"";position:absolute;left:0;right:0;top:14px;height:26px;border-radius:2px;
  background:radial-gradient(120% 60% at 20% 30%,rgba(255,255,255,.35),transparent 60%),radial-gradient(90% 50% at 75% 70%,rgba(160,140,100,.25),transparent 60%),linear-gradient(180deg,#fbf5e6 0%,#e9dfc6 45%,#d8cbab 100%);
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.18),0 6px 14px rgba(0,0,0,.35)}
.pdc-frieze::after{content:"";position:absolute;left:-4px;right:-4px;top:9px;height:6px;border-radius:2px;background:linear-gradient(180deg,#fffaf0,#d9c79d);box-shadow:0 30px 0 -1px #c9b88f}
.pdc-ivy{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1}
.pdc-plot{position:relative;height:300px;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(6px,1.4vw,16px);align-items:end;padding:0 4px;margin-top:36px}
.pdc-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pdc-col{--c1:#8f8162;--c2:#c9b98f;--c3:#efe6d2;--c4:#fffaf0;position:relative;height:var(--h);width:54%;justify-self:center;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 6px 7px rgba(0,0,0,.4))}
.pdc-col.oro{--c1:#7a4c12;--c2:#c38a2c;--c3:#f0c766;--c4:#fff1c4;filter:drop-shadow(0 0 12px rgba(255,196,80,.5)) drop-shadow(0 6px 7px rgba(0,0,0,.4))}
.pdc-col>i{display:block;flex:none;position:relative}
.pdc-col .ab{width:150%;height:5px;border-radius:1px;background:linear-gradient(180deg,var(--c4),var(--c3) 55%,var(--c2));box-shadow:0 1px 0 rgba(0,0,0,.3)}
.pdc-col .vol{width:126%;height:9px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,var(--c3),var(--c2))}
.pdc-col .vol::before,.pdc-col .vol::after{content:"";position:absolute;top:-1px;width:12px;height:12px;border-radius:50%;background:repeating-radial-gradient(circle,var(--c1) 0 .8px,var(--c4) .8px 2.4px);box-shadow:inset 0 0 0 1px var(--c1),0 1px 1px rgba(0,0,0,.35)}
.pdc-col .vol::before{left:-6px}.pdc-col .vol::after{right:-6px}
.pdc-col .ech{width:102%;height:4px;background:repeating-linear-gradient(90deg,var(--c3) 0 4px,var(--c1) 4px 5px),var(--c3);border-radius:0 0 3px 3px}
.pdc-col .ast{width:94%;height:3px;border-radius:2px;background:linear-gradient(180deg,var(--c4),var(--c2))}
.pdc-col .shaft{flex:1;min-height:0;width:86%;clip-path:polygon(3.5% 0,96.5% 0,100% 100%,0 100%);
  background:repeating-linear-gradient(90deg,rgba(60,45,20,.35) 0 1px,rgba(255,255,255,.5) 1px 2px,transparent 2px 4.5px,rgba(0,0,0,.1) 4.5px 5.5px),linear-gradient(90deg,var(--c1),var(--c2) 18%,var(--c3) 34%,var(--c4) 46%,var(--c3) 60%,var(--c2) 82%,var(--c1))}
.pdc-col .tor1{width:100%;height:4px;border-radius:3px;background:linear-gradient(180deg,var(--c4),var(--c2))}
.pdc-col .sco{width:90%;height:3px;background:linear-gradient(180deg,var(--c1),var(--c2))}
.pdc-col .tor2{width:116%;height:6px;border-radius:4px;background:linear-gradient(180deg,var(--c4),var(--c3) 50%,var(--c1))}
.pdc-col .pl{width:130%;height:6px;background:linear-gradient(180deg,var(--c3),var(--c2));box-shadow:0 2px 0 rgba(0,0,0,.28)}
.pdc-col .v{position:absolute;top:-30px;left:-40%;right:-40%;text-align:center;font:800 12.5px "League Spartan",Inter,sans-serif;color:var(--txt);opacity:0;font-variant-numeric:tabular-nums}
.pdc-axis{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(6px,1.4vw,16px);padding:12px 4px 0;border-top:1px solid rgba(232,207,142,.35)}
.pdc-axis span{text-align:center;font:700 15px "Cormorant Garamond",Georgia,serif;color:var(--gold)}
@media(max-width:600px){.pdc-card{padding:22px 14px 18px}.pdc-plot{height:230px}.pdc-kpi-box{text-align:left}.pdc-col .v{font-size:11px}}

/* ===== v31 · secciones sin cortes =====
   Un único color de fondo para toda la página: los fundidos de cada sección
   van siempre a ese color, así no aparecen bandas al cambiar de capítulo. */
body,body[data-mood]{background-color:#0e0a1f!important}
.wipe{display:none!important}
.scrub-stick::before,.scrub-stick::after{display:none!important}
.scrub::before,.scrub::after{content:"";position:absolute;left:0;right:0;height:55vh;z-index:3;pointer-events:none}
.scrub::before{top:0;background:linear-gradient(#0e0a1f,rgba(14,10,31,.85) 25%,rgba(14,10,31,0))}
.scrub::after{bottom:0;background:linear-gradient(rgba(14,10,31,0),rgba(14,10,31,.85) 75%,#0e0a1f)}
#scrub-hero::before{display:none}
.scenebg,#flames-canvas,canvas.flames{
  -webkit-mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent);
  mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent)}
.claim{overflow:visible}
.marq{background:transparent;border-block-color:rgba(255,255,255,.05)}

/* ===== v31 · claim con guion ===== */
.claim .claim-kicker{margin-bottom:18px}
.claim-list{list-style:none;display:grid;gap:10px;max-width:560px;margin:22px auto 0;padding:0;text-align:left;position:relative;z-index:1}
.claim-list li{position:relative;padding-left:26px;color:var(--txt)}
.claim-list li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--grad);box-shadow:0 0 12px rgba(227,50,168,.6)}
.claim .claim-remate{margin-top:22px}
.claim .claim-remate b{color:var(--txt);font-weight:600}

/* ===== v31 · reseñas ===== */
.rv-head.rv-solo{grid-template-columns:auto;max-width:none;margin-top:18px}
.rv-head.rv-solo .rv-score{display:flex;align-items:center;gap:18px;text-align:left;flex-wrap:wrap}
.rv-head.rv-solo .rv-score strong{font-size:clamp(40px,4.4vw,56px);line-height:1}
.rv-head.rv-solo .g-count{font-size:15px}

/* ===== v31 · cala con vídeo ===== */
.vid-panel.cala-vid{aspect-ratio:16/11;border-color:rgba(47,212,194,.3);background:#0c1a2b}

/* ===== v31 · intro: subtítulo ===== */
.pdl-sub{position:absolute;left:6%;right:6%;bottom:4.5%;text-align:center;font:600 clamp(10px,2.05cqi,15px)/1.35 Inter,system-ui,sans-serif;
  letter-spacing:.06em;color:var(--dim);opacity:0;white-space:pre-line}

/* ===== v31 · gráfica sin fondo propio + hojas ===== */
.pdc-card{background:none;border:0;padding-left:0;padding-right:0;position:relative}
.pdc-leaves{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.pdc-leaf{position:absolute;height:auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.4));will-change:transform,opacity}
.claim .orb.o1{top:60px}
#pdl-intro .pdl-word{bottom:17%}#pdl-intro .pdl-sub{bottom:3%}
/* v31 · Eclipse dentro del cierre */
.pdl-cta{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin:-40px auto 6px}
.pdl-cta .pdl-stage{width:min(92vw,620px)}
.pdl-cta .pdl-lema{margin:-8px 0 18px}

/* ===== v32 (11-10-2026) · frases en latín con más aire ===== */
.latin-div{padding:230px 26px 220px}
.latin-div em{line-height:1.2}
.latin-div span{margin-top:44px;max-width:920px;line-height:2.1}
.latin-div::before{left:3vw}.latin-div::after{right:3vw}
.latin-div.in::before,.latin-div.in::after{width:min(15vw,230px)}
@media(max-width:720px){.latin-div{padding:150px 22px 140px}.latin-div span{margin-top:30px}}

/* v33 · mega-menú Servicios (8 servicios en fila, lugares debajo) + municipios por servicio */
.nav-dd{display:flex;align-items:center}
.nav-dd-tg{display:none;background:none;border:0;color:var(--dim);cursor:pointer;width:34px;height:34px;border-radius:8px;flex:none}
.nav-dd-tg::before{content:"";display:block;width:8px;height:8px;margin:auto;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:.2s}
.nav-mega{position:absolute;left:0;right:0;top:100%;background:rgba(14,10,31,.97);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.25s}
.nav-mega::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--grad);opacity:.8}
.nav-mega::after{content:"";position:absolute;inset:-14px 0 auto;height:14px}
.mega-in{max-width:1360px;margin:0 auto;padding:24px 26px 6px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}
.mega-col{min-width:0}
.nav-links .mega-card{position:relative;display:block;aspect-ratio:3/2;border-radius:12px;overflow:hidden;padding:0;background:var(--panel);
  border:1px solid rgba(255,255,255,.06)}
.mega-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .3s;filter:saturate(1.05) brightness(.85)}
.mega-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,31,0) 25%,rgba(14,10,31,.92))}
.mega-card em{text-shadow:0 1px 6px rgba(0,0,0,.8);position:absolute;z-index:1;top:8px;left:10px;font-style:normal;font-family:"League Spartan";font-weight:800;font-size:12px;letter-spacing:.08em;color:var(--gold)}
.mega-card b{position:absolute;z-index:1;left:11px;right:10px;bottom:24px;font-family:"League Spartan";font-weight:800;font-size:14.5px;line-height:1.08;color:#fff}
.mega-card small{position:absolute;z-index:1;left:11px;right:8px;bottom:8px;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sunset);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-links .mega-card:hover{background:var(--panel)}
.mega-card:hover img{transform:scale(1.07);filter:saturate(1.15) brightness(.95)}
.mega-col ul{list-style:none;margin:10px 0 0;padding:0}
.nav-links .mega-col li a{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:13.5px;font-weight:600;line-height:1.3;border-radius:7px}
.mega-col li.z a{color:var(--txt)}
.mega-col li.z span{margin-left:auto;font-size:11px;font-weight:700;color:var(--gold);opacity:.85}
.nav-links .mega-col li.todos a{color:var(--red2);font-size:12.5px}
.mega-foot{max-width:1360px;margin:0 auto;padding:12px 34px 16px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.mega-foot span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.75}
.nav-links .mega-foot a{color:var(--txt);padding:6px 8px}
@media(min-width:921px){
  .nav-dd:hover>.nav-mega,.nav-dd:focus-within>.nav-mega{opacity:1;visibility:visible;transform:none}
  .nav-dd:hover>a,.nav-dd:focus-within>a{color:var(--txt);background:rgba(225,19,29,.16)}
}
@media(min-width:921px) and (max-width:1260px){
  .mega-in{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;padding-top:18px}
  .nav-links .mega-card{aspect-ratio:21/9}
  .mega-col ul{margin-top:6px}
  .nav-mega{max-height:calc(100vh - 70px);overflow:auto}
}
@media(max-width:920px){
  .nav-dd{flex-wrap:wrap;justify-content:center}
  .nav-dd>a{flex:1}
  .nav-dd-tg{display:block}
  .nav-mega{position:static;flex-basis:100%;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;margin-top:6px}
  .nav-mega::before{border-radius:12px 12px 0 0}
  .nav-dd.open>.nav-mega{display:block}
  .nav-dd.open>.nav-dd-tg::before,.mega-col.open>.nav-dd-tg::before{transform:translateY(2px) rotate(-135deg)}
  .mega-in{display:block;padding:8px}
  .mega-col{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}
  .mega-col:last-child{border-bottom:0}
  .nav-links .mega-card{flex:1;aspect-ratio:auto;height:58px;display:flex;align-items:center;gap:12px;background:none;border:0;text-align:left;padding:0 6px}
  .mega-card img{position:static;width:64px;height:42px;border-radius:7px;flex:none}
  .mega-card::after,.mega-card small{display:none}
  .mega-card em{position:static;min-width:28px}
  .mega-card b{position:static;font-size:15px}
  .mega-col ul{display:none;flex-basis:100%;margin:0 0 10px;padding:0 6px}
  .mega-col.open ul{display:block}
  .nav-links .mega-col li a{justify-content:center;padding:10px;font-size:15px}
  .mega-col li.z span{margin-left:8px}
  .mega-foot{flex-direction:column;gap:6px;padding:12px}
  .nav-links{max-height:calc(100vh - 62px);overflow:auto}
}
.svc-mun{margin:70px auto 10px;max-width:1100px}
.svc-mun h2{margin:.2em 0 .3em}
.svc-mun-g{margin:28px 0}
.svc-mun-g h3{display:flex;align-items:baseline;gap:12px;font-size:20px;margin:0 0 14px}
.svc-mun-g h3 span{font-size:13px;font-weight:500;color:var(--dim)}
.svc-mun-g ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.svc-mun-g li a{display:block;padding:11px 14px;border:1px solid var(--line);border-radius:10px;color:var(--dim);font-size:14.5px;transition:.2s}
.svc-mun-g li a:hover{color:var(--txt);border-color:rgba(225,19,29,.5);background:rgba(225,19,29,.08)}

/* v35 · ancho de pantalla en móvil: nada puede ensanchar la página */
html{overflow-x:hidden}
.claim{overflow-x:clip}
@supports not (overflow:clip){.claim{overflow-x:hidden}}

/* v36 · menú: animaciones de entrada + menú móvil a pantalla completa */
@keyframes pdmIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pdmDrop{from{opacity:0;transform:translateY(-8px) scaleY(.96)}to{opacity:1;transform:none}}
/* escritorio: las columnas del mega-menú entran en cascada */
@media(min-width:921px){
  .nav-dd:hover>.nav-mega .mega-col,.nav-dd:focus-within>.nav-mega .mega-col{animation:pdmIn .55s cubic-bezier(.2,.8,.2,1) both}
  .nav-dd:hover>.nav-mega .mega-col li,.nav-dd:focus-within>.nav-mega .mega-col li{animation:pdmIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--c,0) * 45ms + 160ms + var(--l,0) * 28ms)}
  .mega-col:nth-child(1){--c:0;animation-delay:0ms!important}.mega-col:nth-child(2){--c:1;animation-delay:45ms!important}
  .mega-col:nth-child(3){--c:2;animation-delay:90ms!important}.mega-col:nth-child(4){--c:3;animation-delay:135ms!important}
  .mega-col:nth-child(5){--c:4;animation-delay:180ms!important}.mega-col:nth-child(6){--c:5;animation-delay:225ms!important}
  .mega-col:nth-child(7){--c:6;animation-delay:270ms!important}.mega-col:nth-child(8){--c:7;animation-delay:315ms!important}
  .mega-col li:nth-child(2){--l:1}.mega-col li:nth-child(3){--l:2}.mega-col li:nth-child(4){--l:3}.mega-col li:nth-child(5){--l:4}
  .mega-col li:nth-child(6){--l:5}.mega-col li:nth-child(7){--l:6}.mega-col li:nth-child(8){--l:7}.mega-col li:nth-child(9){--l:8}
}
@media(max-width:920px){
  body.menu-open{overflow:hidden}
  body.menu-open .top{z-index:90}
  body.menu-open #fab-wrap,body.menu-open #tanit,body.menu-open #secnav{opacity:0;visibility:hidden;pointer-events:none}
  #menu-btn{width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:20px;transition:.25s}
  body.menu-open #menu-btn{font-size:0;border-color:rgba(225,19,29,.5);background:rgba(225,19,29,.12)}
  body.menu-open #menu-btn::after{content:"✕";font-size:18px}
  .nav-links{position:fixed;top:61px;left:0;right:0;bottom:auto;height:calc(100vh - 61px);height:calc(100dvh - 61px);
    display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px calc(28px + env(safe-area-inset-bottom));
    overflow-y:auto;overscroll-behavior:contain;border-bottom:0;
    background:radial-gradient(120% 60% at 100% 0%,rgba(227,50,168,.14),transparent 60%),linear-gradient(180deg,#140d2c,#0e0a1f 70%);
    transform:none;opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .45s cubic-bezier(.7,0,.2,1),opacity .3s,visibility 0s .45s}
  body.menu-open .nav-links{opacity:1;visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .5s cubic-bezier(.7,0,.2,1),opacity .2s}
  /* primer nivel: alineado a la izquierda, grande, en cascada */
  .nav-links>a:not(.nav-cta),.nav-dd>a{display:flex;align-items:center;text-align:left;padding:17px 4px;font:800 21px/1.1 "League Spartan",sans-serif;letter-spacing:.01em;color:var(--txt);border-radius:0;background:none!important}
  .nav-links>a:not(.nav-cta),.nav-dd{border-bottom:1px solid rgba(255,255,255,.07)}
  .nav-links>a:not(.nav-cta)::after{content:"→";margin-left:auto;font-size:16px;color:var(--dim);opacity:.6}
  .nav-links>a.on{color:var(--red2)}
  .nav-dd{flex-wrap:wrap;justify-content:flex-start;align-items:center}
  .nav-dd>a{flex:1}
  .nav-dd-tg{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.08);color:var(--txt)}
  .nav-links .nav-cta{display:flex;margin:22px 0 0!important;justify-content:center;padding:15px!important;font-size:16px!important;font-weight:700;color:#fff!important;border-radius:14px;background:var(--grad)!important}
  body.menu-open .nav-links>*{animation:pdmIn .5s cubic-bezier(.2,.8,.2,1) both}
  body.menu-open .nav-links>:nth-child(1){animation-delay:.12s}body.menu-open .nav-links>:nth-child(2){animation-delay:.17s}
  body.menu-open .nav-links>:nth-child(3){animation-delay:.22s}body.menu-open .nav-links>:nth-child(4){animation-delay:.27s}
  body.menu-open .nav-links>:nth-child(5){animation-delay:.32s}body.menu-open .nav-links>:nth-child(6){animation-delay:.37s}
  body.menu-open .nav-links>:nth-child(7){animation-delay:.42s}
  /* Servicios: tarjetas en fila, con su miniatura */
  .nav-mega{display:none;flex-basis:100%;margin:2px 0 14px;padding:0;border:0;background:none;box-shadow:none}
  .nav-mega::before,.nav-mega::after{display:none}
  .nav-dd.open>.nav-mega{display:block;animation:pdmDrop .35s cubic-bezier(.2,.8,.2,1) both;transform-origin:top}
  .mega-in{display:flex;flex-direction:column;gap:8px;padding:0}
  .mega-col{display:flex;flex-wrap:wrap;align-items:center;border:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)!important;border-radius:14px;background:rgba(255,255,255,.025);padding:6px 6px 6px 8px}
  .nav-dd.open .mega-col{animation:pdmIn .45s cubic-bezier(.2,.8,.2,1) both}
  .nav-dd.open .mega-col:nth-child(2){animation-delay:.04s}.nav-dd.open .mega-col:nth-child(3){animation-delay:.08s}
  .nav-dd.open .mega-col:nth-child(4){animation-delay:.12s}.nav-dd.open .mega-col:nth-child(5){animation-delay:.16s}
  .nav-dd.open .mega-col:nth-child(6){animation-delay:.2s}.nav-dd.open .mega-col:nth-child(7){animation-delay:.24s}
  .nav-dd.open .mega-col:nth-child(8){animation-delay:.28s}
  .mega-col.open{border-color:rgba(225,19,29,.35)!important;background:rgba(225,19,29,.06)}
  .nav-links .mega-card{flex:1;min-width:0;height:auto;padding:4px 0;gap:12px;display:flex;align-items:center;background:none;border:0}
  .mega-card img{position:static;width:56px;height:40px;border-radius:9px;flex:none;object-fit:cover;filter:none}
  .mega-card em{position:static;min-width:0;font-size:11px}
  .mega-card b{position:static;font-size:15.5px;line-height:1.15;color:var(--txt)}
  .mega-card::after,.mega-card small{display:none}
  .mega-col>.nav-dd-tg{width:38px;height:38px;border:0}
  .mega-col.open>.nav-dd-tg::before{transform:translateY(2px) rotate(-135deg)}
  /* lugares / qué incluye: etiquetas */
  .mega-col ul{display:none;flex-basis:100%;flex-wrap:wrap;gap:8px;margin:10px 0 6px;padding:0 2px}
  .mega-col.open ul{display:flex}
  .mega-col.open li{animation:pdmIn .4s cubic-bezier(.2,.8,.2,1) both}
  .mega-col.open li:nth-child(2){animation-delay:.03s}.mega-col.open li:nth-child(3){animation-delay:.06s}.mega-col.open li:nth-child(4){animation-delay:.09s}
  .mega-col.open li:nth-child(5){animation-delay:.12s}.mega-col.open li:nth-child(6){animation-delay:.15s}.mega-col.open li:nth-child(7){animation-delay:.18s}
  .mega-col.open li:nth-child(8){animation-delay:.21s}.mega-col.open li:nth-child(9){animation-delay:.24s}.mega-col.open li:nth-child(10){animation-delay:.27s}
  .nav-links .mega-col li a{display:inline-flex;justify-content:flex-start;padding:8px 13px;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.12);border-radius:99px;background:rgba(255,255,255,.03);white-space:nowrap}
  .mega-col li.z,.mega-col li.todos{flex-basis:100%}
  .nav-links .mega-col li.z a{border-color:rgba(232,207,142,.35);color:var(--gold);background:rgba(232,207,142,.06)}
  .mega-col li.z span{margin-left:8px;color:var(--gold)}
  .nav-links .mega-col li.todos a{border:0;background:none;padding:6px 2px;color:var(--red2)}
  .mega-foot{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:12px 4px 0;border-top:0}
  .nav-links .mega-foot a{padding:6px 0;font-size:14px}
  .mega-foot span{display:none}
}

/* v37 · pie: dónde trabajamos */
.foot-zonas{flex-basis:100%;width:100%;margin:6px 0 4px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
.foot-zonas b{display:block;font:800 12px "League Spartan";letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.foot-zonas p{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;align-items:baseline}
.foot-zonas p span{color:var(--txt);font-weight:600;margin-right:4px}
.foot-zonas a{color:var(--dim)}.foot-zonas a:hover{color:var(--txt)}
