/* Capa 3D de scroll — surper.es. Solo actúa con html.fx3d (lo pone fx3d.js). */
html.fx3d{scroll-behavior:auto}
html.fx3d #page-home.page.active{transform:none;position:relative;overflow-x:clip}
html.fx3d .fx-own{opacity:1;transition-property:border-color,box-shadow,background,color!important;transition-duration:.4s!important}
html.fx3d .fx-own.reveal{transform:none}

#fx3d-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:0;opacity:0;transition:opacity 1.2s ease}
#fx3d-canvas.on{opacity:1}
html.fx3d-gl #particles{display:none}

#fx-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1001;pointer-events:none;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#c7b900,#EFDF00 60%,#fff8a8);box-shadow:0 0 12px rgba(239,223,0,.55)}

html.fx3d #hero{perspective:1300px}
html.fx3d .hero-mockup{perspective:1400px}
html.fx3d #servicios .servicios-grid,
html.fx3d #resultados .resultados-grid{perspective:1400px;transform-style:preserve-3d}

/* Inclinación con el ratón (propiedad rotate: se suma al transform que gestiona el scroll) */
html.fx3d-desk .fx-tilt{transition:rotate .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s,background .4s!important}
html.fx3d-desk .fx-tilt.fx-tilting{transition:rotate .12s linear,border-color .4s,box-shadow .4s,background .4s!important}
html.fx3d-desk .fx-tilt::marker{display:none}
.fx-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(239,223,0,.13),transparent 45%);z-index:3}
.fx-tilt:hover .fx-glare{opacity:1}

/* Proceso en cilindro 3D (escritorio) */
html.fx3d-desk #proceso{min-height:100vh;display:flex;align-items:flex-start;overflow:hidden;padding-top:84px!important;padding-bottom:24px!important}
html.fx3d-desk #proceso .section-header{margin-bottom:1rem}
html.fx3d-desk #proceso>.container{width:100%}
html.fx3d-desk #proceso .proceso-stage{position:relative;height:330px;perspective:1500px;perspective-origin:50% 30%;margin-top:.5rem}
html.fx3d-desk #proceso .proceso-steps{position:absolute!important;left:50%;top:0;width:280px;height:300px;margin-left:-140px;display:block!important;transform-style:preserve-3d;gap:0}
html.fx3d-desk #proceso .proceso-step{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(165deg,#1c1f23,#141619);box-shadow:0 30px 70px rgba(0,0,0,.55)}
html.fx3d-desk #proceso .proceso-step::before{display:none}
html.fx3d-desk #proceso .proceso-step.fx-active{border-color:rgba(239,223,0,.55);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(239,223,0,.12)}
#proceso .fx-ring-floor{position:absolute;left:50%;top:calc(100% - 420px);width:840px;height:840px;margin-left:-420px;border-radius:50%;transform:rotateX(90deg);background:radial-gradient(circle,rgba(239,223,0,.16) 0%,rgba(239,223,0,.05) 38%,transparent 64%);box-shadow:inset 0 0 0 1px rgba(239,223,0,.14);pointer-events:none}
#proceso .fx-step-count{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:1.1rem;font-family:'Syne','DM Sans',sans-serif;font-weight:800;color:var(--gray,#9ca3af);font-size:.8rem;letter-spacing:.18em}
#proceso .fx-step-count b{color:#EFDF00;font-size:1.4rem;letter-spacing:0;min-width:2ch;text-align:right}
#proceso .fx-step-bar{width:160px;height:2px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
#proceso .fx-step-bar i{display:block;height:100%;width:100%;background:#EFDF00;transform-origin:0 50%;transform:scaleX(.2)}

/* Palabra gigante en el CTA final */
#cta-final{overflow:hidden}
#cta-final .fx-bigword{position:absolute;left:0;top:50%;white-space:nowrap;font-family:'Syne','DM Sans',sans-serif;font-weight:900;font-size:clamp(90px,17vw,270px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(239,223,0,.24);pointer-events:none;user-select:none;z-index:0;transform:translateY(-50%)}
#cta-final>.container{position:relative;z-index:1}

@media(prefers-reduced-motion:reduce){#fx3d-canvas,#fx-progress,#cta-final .fx-bigword{display:none!important}}

/* El túnel 3D se ve a través del hero */
html.fx3d-gl #hero,html.fx3d-gl #hero .hero-slide{background-color:transparent}
html.fx3d-gl #hero .hero-slide-bg{opacity:.42}
html.fx3d-gl #hero .hero-slide-overlay{opacity:.62}
@media(max-width:700px){#cta-final .fx-bigword{display:none}}
html.fx3d-desk #proceso .proceso-step::after{content:'';position:absolute;inset:0;border-radius:inherit;background:#0b0c0e;opacity:var(--dim,0);pointer-events:none;z-index:2}

/* ===== Galería 3D de proyectos ===== */
#proyectos-section.pg-on .proyectos-carousel-wrap,#proyectos-section.pg-on .proyectos-nav{display:none!important}
.pg{position:relative;margin-top:1rem}
.pg-card{position:relative;border-radius:16px;overflow:hidden;background:#17191c;border:1px solid rgba(255,255,255,.08);cursor:pointer;box-shadow:0 30px 70px rgba(0,0,0,.55);transition:border-color .35s,box-shadow .35s}
.pg-card.is-active{border-color:rgba(239,223,0,.7);box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 46px rgba(239,223,0,.22)}
.pg-img{aspect-ratio:16/10;overflow:hidden;background:#0f1012}
.pg-img img{width:100%;height:100%;object-fit:cover;display:block}
.pg-cap{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem .85rem}
.pg-cap span{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#EFDF00}
.pg-cap strong{font-family:'Syne','DM Sans',sans-serif;font-size:.98rem;line-height:1.25;color:#fff;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pg-cat{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#131517;background:#EFDF00;padding:.28rem .6rem;border-radius:6px}
.pg-title{font-family:'Syne','DM Sans',sans-serif;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.15;margin:.6rem 0 .45rem;color:#fff}
.pg-desc{color:var(--gray,#9ca3af);font-size:.92rem;line-height:1.55;margin:0 0 1rem}
.pg-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.pg-actions a{min-height:44px;display:inline-flex;align-items:center}
.pg-hud{display:flex;align-items:center;gap:.8rem;font-family:'Syne','DM Sans',sans-serif;color:var(--gray,#9ca3af);font-weight:800;letter-spacing:.12em;font-size:.8rem}
.pg-n{color:#EFDF00;font-size:1.5rem;letter-spacing:0}
.pg-bar{width:140px;height:2px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.pg-bar i{display:block;height:100%;background:#EFDF00;transform-origin:0 50%;transform:scaleX(0);transition:transform .4s}
.pg-skip{margin-left:.6rem;background:none;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:999px;padding:.5rem .95rem;font:600 .78rem 'DM Sans',sans-serif;letter-spacing:.02em;cursor:pointer;min-height:40px}
.pg-skip:hover{border-color:#EFDF00;color:#EFDF00}
.pg-bignum{position:absolute;pointer-events:none;user-select:none;font-family:'Syne','DM Sans',sans-serif;font-weight:800;line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(239,223,0,.14)}

/* Escritorio: túnel */
#proyectos-section.pg-tunel{min-height:100vh;padding-top:84px!important;padding-bottom:0!important;overflow:hidden}
#proyectos-section.pg-tunel .section-header{margin-bottom:.6rem}
#proyectos-section.pg-tunel .section-header .section-sub{display:none}
#proyectos-section.pg-tunel .filter-bar{margin-bottom:0}
#proyectos-section.pg-tunel .container>div[style*="text-align:center"]{display:none}
.pg-tunel .pg{height:calc(100vh - 300px);min-height:380px}
.pg-tunel .pg-stage{position:absolute;inset:0;perspective:1100px;perspective-origin:50% 42%;overflow:visible}
.pg-tunel .pg-track{position:absolute;left:64%;top:44%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.pg-tunel .pg-card{position:absolute;width:420px;left:-210px;top:-150px;backface-visibility:hidden}
.pg-tunel .pg-info{position:absolute;left:0;bottom:22px;width:min(350px,26vw);z-index:5;background:linear-gradient(180deg,rgba(19,21,23,.55),rgba(19,21,23,.92));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.1rem 1.2rem 1.2rem}
.pg-tunel .pg-hud{position:absolute;right:0;bottom:30px;z-index:5}
.pg-tunel .pg-bignum{right:-1%;top:6%;font-size:clamp(140px,17vw,280px);z-index:0}

/* Móvil y tablet: carrusel 3D */
.pg-carrusel .pg-stage{margin:0 -5%}
.pg-carrusel .pg-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 11vw 22px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pg-carrusel .pg-track::-webkit-scrollbar{display:none}
.pg-carrusel .pg-card{flex:0 0 min(78vw,420px);scroll-snap-align:center;transform-origin:50% 50%}
.pg-carrusel .pg-info{text-align:center;padding:.4rem 4% 0;min-height:200px}
.pg-carrusel .pg-actions{justify-content:center}
.pg-carrusel .pg-hud{justify-content:center;margin-top:.9rem}
.pg-carrusel .pg-skip,.pg-carrusel .pg-bignum{display:none}

/* ===== Portfolio: anillo 3D ===== */
.pr{position:relative;margin:.5rem 0 2.2rem;outline:none;--cw:270px}
.pr-stage{position:relative;height:calc(var(--cw) * .82 + 90px);perspective:1500px;perspective-origin:50% 20%;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;overflow:hidden;margin:0 -5%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.pr-stage:active{cursor:grabbing}
.pr-ring{position:absolute;left:50%;top:36%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
.pr-card{position:absolute;width:var(--cw);left:calc(var(--cw) / -2);top:calc(var(--cw) * -.42);backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;overflow:hidden;background:#17191c;border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 50px rgba(0,0,0,.5);transition:border-color .3s,box-shadow .3s}
.pr-card.is-front{border-color:rgba(239,223,0,.75);box-shadow:0 26px 70px rgba(0,0,0,.6),0 0 40px rgba(239,223,0,.25)}
.pr-img{aspect-ratio:16/10;background:#0f1012}
.pr-img img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.pr-cap{padding:.55rem .75rem .65rem;font:700 .8rem/1.3 'Syne','DM Sans',sans-serif;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-arrow{position:absolute;top:calc((var(--cw) * .82 + 90px) / 2);transform:translateY(-50%);z-index:3;width:48px;height:48px;border-radius:50%;border:1px solid rgba(239,223,0,.35);background:rgba(19,21,23,.75);color:#EFDF00;font-size:1.6rem;line-height:1;cursor:pointer;backdrop-filter:blur(6px)}
.pr-arrow:hover{background:#EFDF00;color:#131517}
.pr-prev{left:0}.pr-next{right:0}
.pr-info{text-align:center;max-width:640px;margin:.4rem auto 0;min-height:210px}
.pr-count{display:block;font:800 .78rem 'Syne','DM Sans',sans-serif;letter-spacing:.18em;color:var(--gray,#9ca3af);margin-bottom:.5rem}
.pr-cat{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#131517;background:#EFDF00;padding:.28rem .6rem;border-radius:6px}
.pr-title{font-family:'Syne','DM Sans',sans-serif;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.15;margin:.6rem 0 .45rem}
.pr-desc{color:var(--gray,#9ca3af);font-size:.93rem;line-height:1.55;margin:0 0 1rem}
.pr-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.pr-actions a{min-height:44px;display:inline-flex;align-items:center}
.pr-hint{font-size:.75rem;color:var(--gray2,#6b7280);margin-top:.8rem;letter-spacing:.04em}
@media(min-width:1024px){.pr-stage{height:calc(var(--cw) * .82 + 90px)}.pr-arrow{top:calc((var(--cw) * .82 + 90px) / 2)}#page-portfolio .pr{margin-top:-.6rem}}
@media(max-width:600px){.pr-arrow{width:42px;height:42px;font-size:1.3rem}.pr-stage{margin:0 -6%}}

/* Cuadrícula del portfolio: entrada 3D */
#portfolioFullGrid{perspective:1400px}
#portfolioFullGrid .pf3d{opacity:0;translate:0 60px;rotate:x 28deg;transform-origin:50% 0;transition:opacity .7s ease var(--d,0ms),translate .9s cubic-bezier(.16,1,.3,1) var(--d,0ms),rotate .9s cubic-bezier(.16,1,.3,1) var(--d,0ms),border-color .3s,box-shadow .3s}
#portfolioFullGrid .pf3d.pf3d-in{opacity:1;translate:0 0;rotate:none}
@media(hover:hover) and (pointer:fine){#portfolioFullGrid .pf3d.pf3d-in{transition:opacity .7s ease var(--d,0ms),translate .9s cubic-bezier(.16,1,.3,1) var(--d,0ms),rotate .25s ease-out,border-color .3s,box-shadow .3s}}
@media(prefers-reduced-motion:reduce){#portfolioFullGrid .pf3d{opacity:1;translate:none;rotate:none}}

/* ===== Home épica: cintas cruzadas, hero con volumen ===== */
.fx-ribbons{position:relative;z-index:2;height:clamp(150px,19vw,260px);margin:-30px 0 -10px;overflow:hidden;perspective:900px;pointer-events:none}
.fx-rib{position:absolute;left:-12vw;width:124vw;top:50%;margin-top:-34px;height:68px;display:flex;align-items:center;overflow:hidden;transform-style:preserve-3d;will-change:transform;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.fx-rib-a{background:#EFDF00;z-index:2}
.fx-rib-b{background:#0f1012;border-top:1px solid rgba(239,223,0,.35);border-bottom:1px solid rgba(239,223,0,.35)}
.fx-rib-track{display:flex;align-items:center;gap:1.4rem;white-space:nowrap;will-change:transform;padding-left:2rem}
.fx-rib-track span{font:800 clamp(1.25rem,2.6vw,2.3rem)/1 'Syne','DM Sans',sans-serif;letter-spacing:-.01em}
.fx-rib-track i{font-style:normal;font-size:clamp(.9rem,1.6vw,1.3rem)}
.fx-rib-a span,.fx-rib-a i{color:#131517}
.fx-rib-b span{color:transparent;-webkit-text-stroke:1.2px #EFDF00}
.fx-rib-b i{color:#EFDF00}
@media(max-width:600px){.fx-rib{height:52px;margin-top:-26px}.fx-ribbons{margin:-10px 0 -6px}}

html.fx3d-desk #hero .hero-content h1 .yellow{text-shadow:0 1px 0 #d8c900,0 2px 0 #c2b400,0 3px 0 #ab9f00,0 4px 0 #948900,0 5px 0 #7d7400,0 6px 0 #665f00,0 14px 26px rgba(239,223,0,.28),0 26px 40px rgba(0,0,0,.45)}
html.fx3d-desk .hero-mockup{transition:rotate .2s linear}
html.fx3d-desk #heroMockup{animation:fxFloat 6s ease-in-out infinite}
@keyframes fxFloat{0%,100%{translate:0 0}50%{translate:0 -14px}}
html.fx3d-desk .hero-mockup::after{content:'';position:absolute;left:8%;right:8%;bottom:-38px;height:34px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(239,223,0,.22),transparent 70%);filter:blur(6px);pointer-events:none}
html.fx3d-gl #hero .hero-slide-bg{opacity:.3}
html.fx3d-gl #hero .hero-slide-overlay{opacity:.5}

/* ===== Barra de auditoría gratuita: tarjeta flotante (escritorio) y píldora desplegable (móvil) ===== */
#leadBar{transition:opacity .35s ease,transform .45s cubic-bezier(.16,1,.3,1)}
#leadBar.lb-hide{opacity:0;transform:translateY(24px)!important;pointer-events:none}
#leadBar .lead-bar-toggle{display:none}
@media(min-width:901px){
  #leadBar.lead-bar{left:24px;right:auto;bottom:80px;width:350px;flex-direction:column;align-items:stretch;gap:.65rem;padding:1rem 1.1rem 1.1rem;border:1px solid rgba(239,223,0,.3);border-radius:16px;background:linear-gradient(165deg,rgba(28,30,34,.97),rgba(15,16,18,.97));box-shadow:0 26px 60px rgba(0,0,0,.55),0 0 34px rgba(239,223,0,.08)}
  #leadBar .lead-bar-text{color:#fff;font-size:.98rem;font-weight:700;padding-right:30px;line-height:1.3}
  #leadBar .lead-bar-text::after{content:'Te enviamos el informe en menos de 24 h, sin compromiso.';display:block;font-size:.76rem;font-weight:500;color:var(--gray,#9ca3af);margin-top:.25rem}
  html[lang]:not([lang^="es"]) #leadBar .lead-bar-text::after{content:none}
  #leadBar form{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
  #leadBar input{width:auto!important;min-width:0;padding:.6rem .7rem;font-size:.85rem}
  #leadBar form button{grid-column:1/-1;padding:.65rem;font-size:.9rem}
  #leadBar .lead-bar-close{position:absolute;top:6px;right:6px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}
  body:has(#cookieBanner.show) #leadBar.visible{bottom:150px}
}
@media(max-width:900px){
  #leadBar.lead-bar{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;padding:.55rem 3.4rem .55rem 4%;padding-bottom:calc(.55rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(239,223,0,.3)}
  #leadBar .lead-bar-text{width:auto;text-align:left;font-size:.86rem;padding:0;color:#fff}
  #leadBar .lead-bar-toggle{display:inline-flex;align-items:center;min-height:42px;padding:.5rem 1rem;border-radius:999px}
  #leadBar:not(.lb-open) form{display:none}
  #leadBar.lb-open{flex-wrap:wrap;padding-top:.85rem}
  #leadBar.lb-open .lead-bar-toggle{display:none}
  #leadBar.lb-open .lead-bar-text{width:100%;text-align:center}
  #leadBar.lb-open form{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:.45rem}
  #leadBar.lb-open input{width:auto!important;min-width:0}
  #leadBar.lb-open form button{grid-column:1/-1;width:100%}
  #leadBar .lead-bar-close{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}
  #leadBar.lb-open .lead-bar-close{top:0;transform:none}
  body:has(#leadBar.visible:not(.lb-open)){padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
  body:has(#leadBar.visible:not(.lb-open)) .whatsapp-float{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
  body:has(#leadBar.lb-open) .whatsapp-float{bottom:calc(200px + env(safe-area-inset-bottom,0px))!important}
  body:has(#leadBar.visible:not(.lb-open)) .scroll-top{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
  body:has(#leadBar.visible.lb-open) .scroll-top{bottom:calc(200px + env(safe-area-inset-bottom,0px))!important}
  body:has(#leadBar.visible.lb-hide) .whatsapp-float,body:has(#leadBar.visible.lb-hide) .scroll-top{bottom:16px!important}
}
@media(min-width:901px){
  #leadBar.lead-bar:not(.lb-open){width:auto;flex-direction:row;align-items:center;gap:.8rem;padding:.55rem .55rem .55rem 1.1rem;padding-right:3rem;border-radius:999px}
  #leadBar:not(.lb-open) form{display:none}
  #leadBar:not(.lb-open) .lead-bar-text::after{display:none}
  #leadBar:not(.lb-open) .lead-bar-text{padding-right:0;font-size:.9rem}
  #leadBar:not(.lb-open) .lead-bar-toggle{display:inline-flex;align-items:center;min-height:38px;padding:.45rem 1rem;border-radius:999px}
  #leadBar:not(.lb-open) .lead-bar-close{top:50%;transform:translateY(-50%)}
}

/* ===== Cierre: 3 vías para empezar ===== */
#cta-final .cf-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1040px;margin:2rem auto 0;text-align:left}
#cta-final .cf-route{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:1.5rem 1.4rem 1.3rem;border-radius:18px;background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.1);color:#fff;font:inherit;cursor:pointer;text-align:left;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s}
#cta-final .cf-route:hover{transform:translateY(-6px);border-color:rgba(239,223,0,.55);box-shadow:0 24px 50px rgba(0,0,0,.45),0 0 30px rgba(239,223,0,.12)}
#cta-final .cf-route-main{border-color:rgba(239,223,0,.6);background:linear-gradient(165deg,rgba(239,223,0,.14),rgba(239,223,0,.03));box-shadow:0 0 40px rgba(239,223,0,.1)}
#cta-final .cf-badge{position:absolute;top:-11px;right:16px;background:#EFDF00;color:#131517;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px}
#cta-final .cf-ico{width:46px;height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(239,223,0,.1);border:1px solid rgba(239,223,0,.25);color:#EFDF00}
#cta-final .cf-ico .ico{width:22px;height:22px}
#cta-final .cf-route b{font-family:'Syne','DM Sans',sans-serif;font-size:1.15rem;line-height:1.2}
#cta-final .cf-txt{color:var(--gray,#9ca3af);font-size:.9rem;line-height:1.5;flex:1}
#cta-final .cf-route em{font-style:normal;font-weight:700;color:#EFDF00;font-size:.92rem;margin-top:.3rem}
#cta-final .cf-route-main em{display:inline-flex;align-self:flex-start;background:#EFDF00;color:#131517;padding:.6rem 1.1rem;border-radius:10px;min-height:44px;align-items:center}
#cta-final .cf-steps{list-style:none;display:flex;justify-content:center;gap:2.2rem;flex-wrap:wrap;margin:2rem auto 0;padding:0;max-width:1040px}
#cta-final .cf-steps li{display:flex;align-items:center;gap:.6rem;color:#fff;font-size:.9rem;font-weight:600}
#cta-final .cf-steps b{width:30px;height:30px;border-radius:50%;background:#EFDF00;color:#131517;display:inline-flex;align-items:center;justify-content:center;font-family:'Syne','DM Sans',sans-serif;font-size:.85rem;flex-shrink:0}
@media(max-width:860px){#cta-final .cf-routes{grid-template-columns:1fr;max-width:480px}#cta-final .cf-steps{flex-direction:column;align-items:flex-start;gap:.8rem;max-width:480px}}

/* ===== Precios en una línea ===== */
.servicio-price .price-amount{white-space:nowrap}
@media(min-width:1025px){.servicios-grid .price-amount{font-size:clamp(1.25rem,1.7vw,1.6rem)}}

/* ===== Contacto: formulario primero en móvil, iconos en línea ===== */
.contacto-dato{flex-wrap:nowrap!important;align-items:flex-start}
.contacto-dato>.ico{flex-shrink:0;margin-top:.1rem}
.contacto-dato>span,.contacto-dato>a{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){#page-contacto .contacto-grid{display:flex;flex-direction:column;gap:2rem}#page-contacto .contacto-form{order:-1}}
#cta-final .fx-bigword{top:22%;-webkit-text-stroke-color:rgba(239,223,0,.1)}
@media(max-width:900px){#page-contacto .contacto-form,#page-contacto .contacto-info{width:100%;align-self:stretch}}
/* Safari / iOS */
.pg-tunel .pg-card{-webkit-backface-visibility:hidden}
.pr-arrow{-webkit-backdrop-filter:blur(6px)}

/* ===== Precios que no caben y tarjeta de servicio final a todo el ancho ===== */
.servicio-price .price-amount.pa-wrap{white-space:normal;line-height:1.15}
#serviciosGrid .servicio-card.svc-wide{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon title price" "icon text cta";column-gap:1.8rem;row-gap:.35rem;align-items:center;padding:1.7rem 2rem}
#serviciosGrid .svc-wide .servicio-icon{grid-area:icon;margin:0}
#serviciosGrid .svc-wide h3{grid-area:title;margin:0}
#serviciosGrid .svc-wide p{grid-area:text;margin:0;max-width:640px}
#serviciosGrid .svc-wide .servicio-price{grid-area:price;justify-self:end;border-top:0;padding-top:0;margin:0;justify-content:flex-end}
#serviciosGrid .svc-wide .servicio-cta{grid-area:cta;justify-self:end}

/* ===== Letrero de auditoría siempre visible (11/2026) ===== */
#leadBar:not(.lb-open) .lead-bar-close{display:none!important}
#leadBar .lead-bar-text::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#EFDF00;margin-right:.6rem;vertical-align:middle;box-shadow:0 0 0 0 rgba(239,223,0,.55);animation:lbPulse 2.2s ease-out infinite}
#leadBar.lb-open .lead-bar-text::before{display:none}
@keyframes lbPulse{0%{box-shadow:0 0 0 0 rgba(239,223,0,.55)}70%{box-shadow:0 0 0 10px rgba(239,223,0,0)}100%{box-shadow:0 0 0 0 rgba(239,223,0,0)}}
@media(prefers-reduced-motion:reduce){#leadBar .lead-bar-text::before{animation:none}}
@media(min-width:901px){
  #leadBar.lead-bar{left:50%;right:auto;bottom:20px;translate:-50% 0}
  #leadBar.lead-bar:not(.lb-open){padding-right:.55rem;box-shadow:0 18px 44px rgba(0,0,0,.55),0 0 0 1px rgba(239,223,0,.35),0 0 30px rgba(239,223,0,.12)}
  #leadBar.lead-bar.lb-open{bottom:24px}
  body:has(#cookieBanner.show) #leadBar.visible{bottom:104px}
}
@media(max-width:900px){
  #leadBar.lead-bar:not(.lb-open){padding-right:4%}
}

/* ===== Arreglos de maquetación detectados en la QA (11/2026) ===== */
/* Cabecera de servicio: el formulario no puede salirse de la pantalla aunque el título tenga palabras largas */
.sp-hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media(max-width:1180px) and (min-width:901px){.sp-hero-inner{gap:2.2rem}.sp-title{font-size:clamp(2rem,4.1vw,3rem)!important}}
.sp-title{overflow-wrap:break-word}
/* Palabras largas con la tipografía ancha de títulos */
.servicio-card h3,.benefit-card h4{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.servicio-card{min-width:0}
@media(min-width:601px) and (max-width:900px){.svc-list-card h3{font-size:.86rem;line-height:1.3;letter-spacing:-.01em}}
@media(min-width:901px) and (max-width:1024px){.svc-list-card h3{font-size:.95rem;line-height:1.28}}
/* Con el aviso de cookies abierto, el letrero espera a que se cierre */
body:has(#cookieBanner.show) #leadBar{display:none!important}
@media(min-width:601px) and (max-width:900px){#serviciosFullGrid.servicios-full-grid{grid-template-columns:1fr}#serviciosFullGrid .svc-list-card h3{font-size:1.1rem}}
/* Túnel: deja hueco abajo para el letrero de auditoría */
@media(min-width:1024px){.pg-tunel .pg-info{bottom:86px}.pg-tunel .pg-hud{bottom:94px}.pg-tunel .pg-track{top:38%}}
