/* Paletas: se prueban con ?theme=nombre. Cada una define 7 colores y qué letra va sobre el acento. La definitiva pasa a :root. */
:root{
  --on:var(--navy); --on2:#fff;
  --bl1:255,106,31; --bl2:42,69,214; --bl3:194,24,91;
  --hbg:var(--ink); --hfg:#fff; --hsub:#d6dcf0;
}
html[data-theme=paradise]{--ink:#0E2F34;--navy:#13393E;--paper:#FBF8F0;--orange:#FF5130;--blue:#00A0D2;--on:#13393E;--on2:#0E2F34;--hbg:#FFFC00;--hfg:#13393E;--hsub:#13393E;--bl1:255,252,0;--bl2:255,81,48;--bl3:0,160,210}
html[data-theme=vibes]{--ink:#00001E;--navy:#0828F8;--paper:#EDF3FF;--orange:#04DCF0;--blue:#0884F0;--on:#00001E;--on2:#00001E;--bl1:4,220,240;--bl2:8,40,248;--bl3:8,132,240}
html[data-theme=solutions]{--ink:#0C0C0C;--navy:#021C58;--paper:#EDF1F6;--orange:#50B0D8;--blue:#0810F8;--on:#0C0C0C;--on2:#fff;--bl1:80,176,216;--bl2:8,16,248;--bl3:104,0,0}
html[data-theme=nature]{--ink:#2A2522;--navy:#3A332E;--paper:#F4F1EA;--orange:#FBCC4B;--blue:#87A64F;--on:#2A2522;--on2:#2A2522;--bl1:251,204,75;--bl2:135,166,79;--bl3:162,163,155}
html[data-theme=relatorio]{--ink:#090F50;--navy:#424FAA;--paper:#F5F2E9;--orange:#E3B11C;--blue:#6E76B2;--on:#090F50;--on2:#090F50;--bl1:227,177,28;--bl2:66,79,170;--bl3:224,192,96}
html[data-theme=robotrock]{--ink:#1B1B1B;--navy:#262626;--paper:#F2F2F2;--orange:#00C0D8;--blue:#DCF2BC;--on:#1B1B1B;--on2:#1B1B1B;--bl1:0,192,216;--bl2:220,242,188;--bl3:140,140,140}
html[data-theme=crazy]{--ink:#00322F;--navy:#006860;--paper:#E4FFFF;--orange:#00FFFF;--blue:#008480;--on:#00322F;--on2:#fff;--bl1:0,255,255;--bl2:0,132,128;--bl3:160,160,160}
html[data-theme=red]{--ink:#100000;--navy:#400404;--paper:#F6EDE6;--orange:#D80808;--blue:#D89068;--on:#fff;--on2:#100000;--bl1:216,8,8;--bl2:216,144,104;--bl3:136,4,4}
html[data-theme=verde]{--ink:#0C0C0C;--navy:#022800;--paper:#F0F4EC;--orange:#64C038;--blue:#3A0040;--on:#0C0C0C;--on2:#fff;--bl1:100,192,56;--bl2:58,0,64;--bl3:38,0,40}
html[data-theme=paradise] .mesh{display:none}

/* hero: colores propios (puede ser claro u oscuro) */
.hero{background:var(--hbg);color:var(--hfg)}
.hb .sub{color:var(--hsub)}
.scrollhint{color:var(--hsub)}
.nav{color:var(--hfg)}.nav.solid{color:#fff}
.g{background:linear-gradient(90deg,var(--hfg) 0%,var(--orange) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.btn,.mq,.s-marca,.cta,.cur.big em{color:var(--on)}
.s-marca .btn{color:#fff}
.s-3d{color:var(--on2)}
.s-3d .btn{color:var(--navy)}
.nav.solid{background:color-mix(in srgb,var(--ink) 94%,transparent)}
::selection{color:var(--on)}

/* logo: los colores siguen la paleta */
.mk .mr,.mon .mr{fill:var(--navy)}
.mk .c1,.mon .a1{fill:var(--orange)}
.mk .c2,.mon .a2{fill:#fff}
.mon .tx{fill:#fff}.mon .tx2{fill:color-mix(in srgb,#fff 62%,var(--navy))}

/* cintas: separador = logo */
.mq span::after,.mq.big span::after{display:none}
.mq svg{width:.7em;height:.56em;flex:none;margin-inline:clamp(10px,1.6vw,26px)}
.mq .c1{fill:var(--on)}.mq .c2{fill:#fff}
.mq.big .c1{fill:var(--orange)}.mq.big .c2{fill:#fff}
.mq>div{align-items:center}

/* menú principal con desplegables */
.menu{display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}
.menu>a,.dd-b{font:500 15px var(--text);background:none;border:0;color:inherit;cursor:pointer;text-decoration:none;opacity:.92;display:flex;align-items:center;gap:8px;padding:10px 0}
.menu>a:hover,.dd-b:hover,.dd:focus-within .dd-b{opacity:1;color:var(--orange)}
.nav.solid .menu>a:hover,.nav.solid .dd-b:hover{color:var(--orange)}
.dd-b i{width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;rotate:45deg;translate:0 -2px;transition:rotate .25s}
.dd{position:relative}
.dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.dd-p{position:absolute;top:calc(100% + 12px);left:-18px;min-width:310px;background:var(--ink);color:#fff;padding:12px;display:none;gap:2px;border-top:4px solid var(--orange);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.dd-p.wide{min-width:600px;grid-template-columns:1fr 1fr}
.dd:hover .dd-p,.dd:focus-within .dd-p,.dd.open .dd-p{display:grid}
.dd:hover .dd-b i,.dd.open .dd-b i{rotate:225deg}
.dd-p a{display:grid;gap:2px;padding:12px 14px;text-decoration:none;color:#fff;transition:background .2s,padding .25s}
.dd-p a:hover{background:rgba(255,255,255,.08);padding-left:22px}
.dd-p b{font:700 16px var(--disp);letter-spacing:-.02em}
.dd-p span{font-size:13px;opacity:.7}
.dd-p a:hover b{color:var(--orange)}
.sp0{flex:1}

/* botón de contacto animado */
.cbtn{position:relative;display:inline-flex;align-items:center;gap:12px;overflow:hidden;background:var(--orange);color:var(--on);padding:13px 18px;font:700 14px var(--text);text-decoration:none;isolation:isolate}
.cbtn::before{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-101%);transition:transform .4s cubic-bezier(.2,.7,.2,1);z-index:-1}
.cbtn:hover::before,.cbtn:focus-visible::before{transform:none}
.cbtn:hover{color:var(--ink)}
.cb-i svg{width:22px;height:18px;display:block;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.cb-i .c1{fill:var(--on);transition:fill .3s}.cb-i .c2{fill:color-mix(in srgb,var(--on) 40%,transparent)}
.cbtn:hover .cb-i svg{transform:translateX(7px)}
.cbtn:hover .cb-i .c1{fill:var(--orange)}.cbtn:hover .cb-i .c2{fill:var(--ink)}
@keyframes ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--orange) 60%,transparent)}100%{box-shadow:0 0 0 14px transparent}}
@media(prefers-reduced-motion:no-preference){.cbtn{animation:ring 2.4s ease-out infinite}.cbtn:hover{animation:none}}

/* menú del celular */
.burger{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;color:inherit;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:3px;background:currentColor;transition:transform .3s,opacity .3s}
.burger i:nth-child(1){top:14px}.burger i:nth-child(2){top:21px}.burger i:nth-child(3){top:28px}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob{position:fixed;inset:64px 0 0 0;z-index:49;background:var(--ink);padding:24px var(--m);display:grid;align-content:start;gap:4px}
.mob[hidden]{display:none}
.mob a{color:#fff;text-decoration:none;font:700 clamp(28px,8vw,44px) var(--disp);letter-spacing:-.04em;padding:10px 0}
.mob a:hover{color:var(--orange)}
@media(max-width:1120px){.menu{display:none}.burger{display:block}.sp0{display:none}.nav{gap:10px}.logo{margin-right:auto}}
@media(min-width:1121px){.mob{display:none!important}}

/* filosofía y razones */
.fil{background:var(--paper)}
.fl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(28px,4vw,56px)}
.fl>div{background:#fff;padding:clamp(20px,2.4vw,32px);border-top:6px solid var(--orange);display:grid;gap:12px;align-content:start}
.fl .mk{width:30px;height:30px}
.fl h3{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.035em}
.fl p{font-size:15px}
@media(max-width:1000px){.fl{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fl{grid-template-columns:1fr}}
.raz{background:var(--navy);color:#fff}
.raz ol{list-style:none;padding:0;margin-top:clamp(28px,4vw,56px);display:grid;grid-template-columns:1fr 1fr;gap:12px}
.raz li{display:flex;gap:clamp(16px,2vw,28px);align-items:center;padding:clamp(16px,2vw,26px);background:rgba(255,255,255,.07)}
.raz li span{font:700 clamp(30px,3.6vw,56px)/1 var(--disp);letter-spacing:-.05em;color:var(--orange);min-width:2ch}
.raz li p{font:500 clamp(16px,1.5vw,20px)/1.3 var(--text);max-width:none}
@media(max-width:800px){.raz ol{grid-template-columns:1fr}}

.menu .dd:nth-child(2){position:static}.menu .dd:nth-child(2)::after{display:none}
.dd-p.wide{left:auto;right:var(--m);top:100%;min-width:min(640px,calc(100vw - 2 * var(--m)))}

/* ===== Paleta definitiva (decisión de Lucas): verde petróleo, naranja flúor y blanco ===== */
:root{--ink:#0E2F34;--navy:#13393E;--paper:#F8F7F3;--orange:#FF5B1F;--blue:#1E5961;--on:#0E2F34;--on2:#fff;--hbg:#0E2F34;--hfg:#fff;--hsub:#d4e3e4;--bl1:255,91,31;--bl2:30,89,97;--bl3:19,57,62}
.g{background:linear-gradient(90deg,#fff 0%,var(--orange) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.nav.solid{background:color-mix(in srgb,var(--ink) 94%,transparent)}
.hero .link{color:#fff}

/* barra: altura fija y botones que ocupan todo el alto, así el desplegable no se cierra al bajar el mouse */
.nav{height:72px;padding-block:0}
.menu{align-self:stretch}
.menu>a,.dd-b{height:72px;padding:0}
.dd-p,.dd-p.wide{top:100%}
.dd::after{display:none}
.mob{inset:72px 0 0 0}

/* cintas: contorno, mismo estilo arriba y abajo */
.mq{background:var(--paper);color:transparent;padding-block:clamp(8px,1vw,16px)}
.mq>div{-webkit-text-stroke:2px var(--ink);font-size:clamp(48px,8vw,130px)}
.mq .c1{fill:var(--orange)}.mq .c2{fill:var(--ink)}
.mq.big{background:var(--ink)}
.mq.big>div{-webkit-text-stroke:2px var(--orange);font-size:clamp(60px,12vw,200px)}
.mq.big .c1{fill:var(--orange)}.mq.big .c2{fill:#fff}

/* pie: contacto por email y por WhatsApp */
.cta .acts{display:grid;gap:6px;justify-items:start;justify-self:end;align-content:end}
.cta .addr{font:600 15px var(--text);margin-bottom:14px;word-break:break-all}
.btn.wa{background:#fff;color:var(--navy)}
.cta small{font-size:13px;opacity:.85}
@media(max-width:860px){.cta .acts{justify-self:start}}

/* paso a paso de la web dentro del servicio */
.wh{display:grid;gap:10px;margin-top:6px}
.wh h4{font:700 clamp(18px,1.6vw,24px) var(--disp);letter-spacing:-.03em}
.ws{list-style:none;padding:0;display:grid;gap:10px}
.ws li::before{display:none}.ws li{padding-left:0;display:flex;gap:12px;align-items:flex-start;font-size:15px}
.ws b{width:26px;height:26px;background:var(--orange);color:var(--on);display:grid;place-items:center;font:700 14px var(--disp);flex:none}

/* casos de ejemplo: Brasa Viva con estilo propio (pop callejero, redondeado, Rubik) */
.msite.pop,.igp.pop,.adp.pop{font-family:Rubik,sans-serif}
.msite.pop .m-nav b,.msite.pop .m-ht h4,.igp.pop .it,.adp.pop .ad-t b,.adp.pop .ad-c u{font-family:Rubik,sans-serif;font-weight:800}
.msite.pop .m-nav,.msite.pop .m-ht h4{letter-spacing:-.02em}
.msite.pop .m-nav em,.msite.pop .m-ht em,.adp.pop .ad-t span{border-radius:99px}
.msite.pop .m-ill{border-radius:3cqw;background:var(--c0)}
.msite.pop .m-nav{position:relative;margin-bottom:3cqw}
.msite.pop .m-nav::after{content:"";position:absolute;left:0;right:0;top:100%;height:3cqw;background:repeating-linear-gradient(90deg,var(--c0) 0 5cqw,var(--c2) 5cqw 10cqw,#fff 10cqw 15cqw);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/4cqw 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/4cqw 100%}
.igp.pop .ig-av{border-radius:50%}
.igp.pop .it.c0{background:var(--c0)}.igp.pop .it{border-radius:1.2cqw}

/* Fade Lab: el espaciado entre letras ya no descentra los logos */
.lx-card.f b{padding-left:.35em}.lx-card.f span{padding-left:.3em}
.plate b{padding-left:.18em}.plate span{padding-left:.6em}
.lx-tin b,.lx-tin span{padding-left:.3em}
/* Hogar Claro y Sonrisa Norte: letras con aire */
.bd-fresh *,.bd-soft *{letter-spacing:0;word-spacing:.06em}
.bd-fresh .fr-st b,.bd-fresh .fr-fly>b,.bd-soft .sf-bro .p1 b,.bd-soft .sf-sc h4{letter-spacing:-.01em}
.fr-st.k1{background:var(--c1);color:#fff}.fr-st.k3{background:var(--c2)}
.fr-st.k1 b{font-size:3cqw}
/* Torque 22 */
.van{filter:drop-shadow(0 2cqw 2cqw rgba(0,0,0,.45))}

/* 3D: logo modelado sobre una plataforma, con cubos que orbitan */
.v-3d .ped{position:absolute;bottom:13%;left:50%;width:64%;aspect-ratio:1;translate:-50% 0;transform:rotateX(72deg);background:rgba(255,255,255,.16);border:3px solid rgba(255,255,255,.6);box-shadow:inset 0 0 0 14px rgba(255,255,255,.08)}
.v-3d .x3{translate:0 -4%}
.orbit{position:absolute;left:50%;top:46%;width:0;height:0;transform-style:preserve-3d}
.cu{position:absolute;width:var(--cs);height:var(--cs);margin:calc(var(--cs) / -2);transform-style:preserve-3d}
.cu i{position:absolute;inset:0;background:var(--orange);border:2px solid rgba(0,0,0,.22)}
.cu i:nth-child(1){transform:translateZ(calc(var(--cs) / 2))}
.cu i:nth-child(2){transform:rotateY(90deg) translateZ(calc(var(--cs) / 2))}
.cu i:nth-child(3){transform:rotateY(180deg) translateZ(calc(var(--cs) / 2))}
.cu i:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--cs) / 2))}
.cu i:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--cs) / 2))}
.cu i:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--cs) / 2))}
.cu.c1{--cs:clamp(30px,4.4vw,58px);translate:clamp(150px,21vw,280px) -70px 0}
.cu.c2{--cs:clamp(22px,3.2vw,42px);translate:clamp(-250px,-18vw,-170px) 20px 90px}.cu.c2 i{background:#fff}
.cu.c3{--cs:clamp(26px,3.8vw,50px);translate:60px 120px clamp(-200px,-16vw,-120px)}.cu.c3 i{background:var(--ink)}

/* video: reel con escenas */
.mon{container-type:inline-size}
.mon .sc{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:2cqw;opacity:0}
.mon .s1{opacity:1;background:var(--c0);color:var(--cb)}
.mon .s1 .vi{width:30%}.mon .s1 b{font:800 7cqw/1 Rubik,sans-serif;letter-spacing:-.03em;text-transform:uppercase}
.mon .s2{background:var(--c2);color:var(--c1)}
.mon .s2 b{font:800 24cqw/.85 Rubik,sans-serif;letter-spacing:-.05em}.mon .s2 span{font:700 3.6cqw Rubik,sans-serif}
.mon .s3{background:var(--navy)}
.mon .s3 svg{width:100%;height:100%;position:absolute;inset:0}
.mon::after{display:none}
.subt{position:absolute;bottom:5cqw;left:50%;translate:-50% 0;background:rgba(0,0,0,.7);color:#fff;font:600 2.7cqw Inter,sans-serif;padding:.8cqw 2cqw;z-index:2;white-space:nowrap}
.rec{position:absolute;top:3cqw;left:3cqw;color:#fff;font:700 2cqw Inter,sans-serif;display:flex;gap:1cqw;align-items:center;z-index:2;text-shadow:0 0 6px rgba(0,0,0,.5)}
.rec i{width:2cqw;height:2cqw;background:#ff2d2d}
.wave{display:flex;gap:2px;align-items:center;height:clamp(26px,3.2vw,44px);background:#fff;padding:0 8px}
.wave i{flex:1;height:var(--h);background:var(--navy)}
@keyframes scn{0%{opacity:0;transform:scale(1.1)}4%{opacity:1}30%{opacity:1;transform:scale(1)}34%,100%{opacity:0}}
@keyframes las2{0%,66%{opacity:0;transform:translateX(-26px)}74%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes las1{0%,70%{opacity:0;transform:translateX(-26px)}78%,92%{opacity:1;transform:none}100%{opacity:0}}
@keyframes lstx{0%,78%{opacity:0;transform:translateX(-10px)}86%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes orb{to{transform:rotateY(360deg)}}
@keyframes tum{to{transform:rotateX(360deg) rotateY(360deg)}}
@media(prefers-reduced-motion:no-preference){
  .mon .s1{animation:scn 9s ease-out infinite}
  .mon .s2{animation:scn 9s ease-out 3s infinite both}
  .mon .s3{animation:scn 9s ease-out 6s infinite both}
  .mon .s3 .a2{animation:las2 9s cubic-bezier(.2,.7,.2,1) infinite}
  .mon .s3 .a1{animation:las1 9s cubic-bezier(.2,.7,.2,1) infinite}
  .mon .s3 .tx,.mon .s3 .tx2{animation:lstx 9s ease-out infinite}
  .ph{animation-duration:9s}
  .orbit{animation:orb 11s linear infinite}
  .cu{animation:tum 7s linear infinite}
}

/* barra siempre con fondo: el titular grande no se mete detras del menu */
.nav{background:var(--ink)}
.hero{padding-top:96px}

/* ===== v10: servicios en páginas propias, colores alternados, escenas con 5 marcas ===== */
.nav.hide{transform:none}
.g{background:none;color:var(--orange);-webkit-text-fill-color:var(--orange)}
.mq>div{animation:marq 42s linear infinite}
.sp.pt{background:var(--ink);color:#fff}.sp.wh{background:var(--paper);color:var(--ink)}
.sp.pt .btn{background:var(--orange);color:var(--ink)}.sp.wh .btn{background:var(--ink);color:#fff}
.sp li::before{width:18px;height:14px;top:.38em;background:var(--orange);clip-path:none;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='8 12 32 24'><polygon points='21,12 28,12 40,24 28,36 21,36 33,24'/><polygon points='8,12 15,12 27,24 15,36 8,36 20,24'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='8 12 32 24'><polygon points='21,12 28,12 40,24 28,36 21,36 33,24'/><polygon points='8,12 15,12 27,24 15,36 8,36 20,24'/></svg>") center/contain no-repeat}
.sp li{padding-left:30px}
.sp.wh .ix em,.sp.wh small{color:var(--ink)}
.link2{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* rotación de marcas */
.rot{display:grid;width:100%;height:100%;position:relative}
.rs{grid-area:1/1;position:relative;min-width:0;min-height:0;opacity:0;animation:rot 25s infinite;animation-delay:calc(var(--i) * 5s)}
@keyframes rot{0%{opacity:0}2%{opacity:1}18%{opacity:1}20%,100%{opacity:0}}
.rs:first-child{opacity:1}
.v-marca .rs{display:grid}.v-marca .bb{width:100%;height:100%}
.v-web .rs .wb{display:grid;grid-template-rows:auto 1fr;height:100%;background:#fff;overflow:hidden}
.v-web{display:block;aspect-ratio:5/4.4}
.v-web .rs .scr{overflow:hidden;width:100%;height:100%;container-type:inline-size}
.v-phone .scr{position:relative}
.v-phone .rs{height:100%}
.v-seo .ty2{display:inline}
.v-seo{display:block}
.v-seo .rot,.v-seo .rs{height:auto}

/* Instagram más real: círculos, publicaciones verticales, fotos completas */
.ig-av{border-radius:50%;background:var(--c0);overflow:hidden;box-shadow:0 0 0 .8cqw #fff,0 0 0 1.5cqw var(--c0)}
.ig-av svg{width:84%;height:84%}
.ig-head{padding-block:3cqw}
.ig-bio .cat{opacity:.6}
.ig-hl i{border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 .6cqw #fff,0 0 0 1.1cqw #ccc;overflow:hidden}
.ig-hl i svg{width:76%}.ig-hl i.c3{outline:none}
.it{aspect-ratio:3/4}
.it svg{right:var(--rx,-5cqw);top:var(--ry,-3cqw);width:84%}
.ad-h .ig-av{box-shadow:none}
.ad-c{background:var(--c0)}.ad-i{width:62%;right:2cqw;bottom:0}

/* automatizaciones */
.v-auto{aspect-ratio:auto;width:min(100%,520px);background:#fff;color:var(--ink);padding:clamp(18px,2.6vw,32px);box-shadow:0 30px 60px rgba(0,0,0,.25);container-type:inline-size;display:block}
.flow h5{font:700 4.4cqw var(--disp);letter-spacing:-.03em;margin-bottom:3cqw}
.flow ol{list-style:none;padding:0;display:grid;gap:3.4cqw;position:relative}
.flow ol::before{content:"";position:absolute;left:3.6cqw;top:3cqw;bottom:3cqw;width:.6cqw;background:#d9e0e1}
.flow li{display:flex;gap:3cqw;align-items:center;font:600 3.7cqw/1.2 var(--text);position:relative}
.flow li b{width:7.6cqw;height:7.6cqw;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 3.6cqw var(--disp);flex:none}
.flow li:nth-child(4) b{background:var(--orange);color:var(--ink)}
@media(prefers-reduced-motion:no-preference){.flow li{animation:fl 5s infinite;animation-delay:calc(var(--j) * .5s)}}
@keyframes fl{0%,60%{transform:none}70%{transform:translateX(1.4cqw)}80%,100%{transform:none}}

/* páginas de servicio y de nosotros */
.svp,.ab{padding-top:calc(72px + clamp(36px,5vw,72px))!important}
.sv .sp,.sv .sp-in{position:relative;min-height:0}
.svp h1{font-size:clamp(44px,7vw,110px);line-height:.92;letter-spacing:-.055em}
.crumb{font:600 14px var(--text);opacity:.8;text-decoration:none;color:inherit}
.svp .spt{gap:18px}
.svd{background:var(--paper);color:var(--ink)}
.svd-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:start}
.svd h2,.svx h2{font-size:clamp(34px,4.4vw,64px);letter-spacing:-.05em;margin-bottom:22px}
.svd h3{font-size:clamp(22px,2.2vw,30px);margin:34px 0 14px}
.inc{list-style:none;padding:0;display:grid;gap:12px}
.inc li{padding-left:30px;position:relative;font-size:clamp(16px,1.4vw,19px)}
.inc li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:14px;background:var(--orange);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='8 12 32 24'><polygon points='21,12 28,12 40,24 28,36 21,36 33,24'/><polygon points='8,12 15,12 27,24 15,36 8,36 20,24'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='8 12 32 24'><polygon points='21,12 28,12 40,24 28,36 21,36 33,24'/><polygon points='8,12 15,12 27,24 15,36 8,36 20,24'/></svg>") center/contain no-repeat}
.svd .pr{background:var(--ink);color:#fff;padding:clamp(22px,3vw,40px);gap:10px;margin:0}
.svd .pr b{font-size:clamp(34px,4vw,60px)}
.svd .pr p{font-size:13px;opacity:.75}
.svd .pr .btn{justify-self:start;background:var(--orange);color:var(--ink);margin-top:8px}
.svd .ws li{font-size:16px}
.svx{background:#fff;color:var(--ink)}
.xg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.xg>div{background:var(--paper);border-top:6px solid var(--orange);padding:24px}
.xg h3{font-size:22px;margin-bottom:8px}.xg p{font-size:15px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-block:clamp(28px,4vw,56px)}
.pn a{display:grid;gap:4px;padding:20px 24px;background:var(--ink);color:#fff;text-decoration:none}
.pn a:last-child{text-align:right}.pn span{font-size:13px;opacity:.7}.pn b{font:700 22px var(--disp);letter-spacing:-.03em}
.sv .bas{margin-top:0}
.ab{background:var(--ink);color:#fff;padding-bottom:clamp(40px,6vw,90px)}
.ab h1{font-size:clamp(36px,5.6vw,88px);line-height:.98;letter-spacing:-.05em;max-width:18ch;margin-top:14px}
.ab small{color:var(--orange);font:700 15px var(--text)}
@media(max-width:860px){.svd-g{grid-template-columns:1fr}.pn{grid-template-columns:1fr}}

.sp.wh .bars span:nth-child(even){background:var(--ink)}

/* ===== v11 ===== */
.svs{background:var(--paper)}
.svh{background:var(--orange);color:var(--ink)}.svh .sh{padding-block:clamp(34px,4.6vw,60px);grid-template-columns:1fr}.svh h2{font-size:clamp(44px,7vw,110px);letter-spacing:-.055em}
.mq.big{padding-block:clamp(8px,1.2vw,18px)}
.cta .addr{margin-bottom:12px}.btn.wa+.addr{margin-bottom:0}.cta small{margin-top:0}
.rs{animation:rot6 30s infinite;animation-delay:calc(var(--i) * 5s)}
@keyframes rot6{0%{opacity:0}2%{opacity:1}15%{opacity:1}16.7%,100%{opacity:0}}
.v-phone{background:none;padding:0;border-radius:0;box-shadow:none;aspect-ratio:9/19.5;width:min(50%,280px)}
.v-phone .rs{height:100%}
.v-seo,.v-auto{padding:0;background:none;box-shadow:none;width:min(100%,540px)}.gs,.fw{box-shadow:0 30px 60px rgba(0,0,0,.25)}
.v-web .rs .wb{background:#fff}.v-web .wb .scr{overflow:hidden;min-height:0;container-type:inline-size}
.iph .scr{height:auto!important;padding:0!important;border-radius:0!important;width:auto!important}
.v-seo .rot,.v-auto .rot{height:auto}

/* ===== v12 ===== */
.spt h3{font-size:clamp(38px,5.2vw,100px);overflow-wrap:anywhere;hyphens:auto}.svp h1{font-size:clamp(38px,5.2vw,100px);overflow-wrap:anywhere}
.sp-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.spv{min-width:0}.v{max-width:100%}
.wks .sh{padding-block:clamp(36px,4vw,56px) clamp(14px,2vw,26px)}
/* consultoría: las casillas se tildan de a una, siempre */
.v-ck li i{animation:none}.v-ck li i::after{opacity:0}
.v-ck li:nth-child(1) i{animation:k1 6s infinite}.v-ck li:nth-child(2) i{animation:k2 6s infinite}.v-ck li:nth-child(3) i{animation:k3 6s infinite}.v-ck li:nth-child(4) i{animation:k4 6s infinite}
.v-ck li:nth-child(1) i::after{animation:c1 6s infinite}.v-ck li:nth-child(2) i::after{animation:c2 6s infinite}.v-ck li:nth-child(3) i::after{animation:c3 6s infinite}.v-ck li:nth-child(4) i::after{animation:c4 6s infinite}
@keyframes k1{0%,4%{background:transparent}8%,90%{background:var(--orange)}96%,100%{background:transparent}}
@keyframes k2{0%,24%{background:transparent}28%,90%{background:var(--orange)}96%,100%{background:transparent}}
@keyframes k3{0%,44%{background:transparent}48%,90%{background:var(--orange)}96%,100%{background:transparent}}
@keyframes k4{0%,64%{background:transparent}68%,90%{background:var(--orange)}96%,100%{background:transparent}}
@keyframes c1{0%,5%{opacity:0}9%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes c2{0%,25%{opacity:0}29%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes c3{0%,45%{opacity:0}49%,90%{opacity:1}96%,100%{opacity:0}}
@keyframes c4{0%,65%{opacity:0}69%,90%{opacity:1}96%,100%{opacity:0}}

/* ===== v13 ===== */
.cbtn.cbl{padding:19px 28px;font-size:16px}
.fx.mouse .cur{mix-blend-mode:difference}.cur i{background:#fff}.cur em{mix-blend-mode:normal;border-color:#fff}.cur.big{mix-blend-mode:normal}.cur.big i{background:var(--orange)}
.ckpad{display:none}.fx .ckpad{display:block;height:80svh}
@media(max-width:900px){.fx .ckpad{display:none}}
.v-ck li i{transition:background .35s}.v-ck li i::after{transition:opacity .35s}
.ckscroll .v-ck li i,.ckscroll .v-ck li i::after{animation:none!important}
.ckscroll .v-ck li.on i{background:var(--orange)}.ckscroll .v-ck li.on i::after{opacity:1}
/* viñetas con los dos chevrones del logo: naranja + verde sobre claro, naranja + blanco sobre oscuro */
.sp li::before,.inc li::before{-webkit-mask:none;mask:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='8 12 32 24'><polygon points='21,12 28,12 40,24 28,36 21,36 33,24' fill='%230E2F34'/><polygon points='8,12 15,12 27,24 15,36 8,36 20,24' fill='%23FF5B1F'/></svg>") center/contain no-repeat;width:20px;height:15px}
.sp.pt li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='8 12 32 24'><polygon points='21,12 28,12 40,24 28,36 21,36 33,24' fill='white'/><polygon points='8,12 15,12 27,24 15,36 8,36 20,24' fill='%23FF5B1F'/></svg>")}
/* trabajos: Torque 22 y Fade Lab con los mismos diseños de las escenas */
.bd-pair{background-color:#0e1a2e;background-image:radial-gradient(circle at 78% 18%,rgba(255,255,255,.14),transparent 55%)}
.pr-l{position:absolute;left:5%;top:7%;height:86%;aspect-ratio:1}
.pr-r{position:absolute;right:7%;top:4%;height:92%;aspect-ratio:9/19.5;filter:drop-shadow(0 2cqw 3cqw rgba(0,0,0,.4))}
.v-ads .rs{place-items:center;padding-left:0}.v-ads .iph{width:46%;height:auto;aspect-ratio:9/19.5}

/* ===== v14 ===== */
.cbtn{white-space:nowrap}.cbtn .cb-i{order:0}
.hb .acts{flex-wrap:nowrap}@media(max-width:700px){.hb .acts{flex-wrap:wrap}}
/* prisma hexagonal */
.pw{display:grid;justify-items:center;gap:16px;width:100%}
.pz{container-type:inline-size;perspective:1800px;touch-action:pan-y;cursor:grab;position:relative}.pz:active{cursor:grabbing}
.pz.sq{width:64%;aspect-ratio:1}.pz.tall{width:min(44%,240px);aspect-ratio:9/19.5}.pz.seo{width:72%;aspect-ratio:1/1.28}
.pr3{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(-86.6cqw)}
.pf{position:absolute;inset:0;transform:rotateY(calc(var(--i) * 60deg)) translateZ(86.6cqw);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.pf>*{width:100%;height:100%}
.pf .iph{box-shadow:none;background:linear-gradient(145deg,#3b3b3f,#17171a 55%,#2c2c30)}
.pf:has(.iph){overflow:visible;box-shadow:none}
.pn3{display:flex;align-items:center;gap:16px;font:600 14px var(--text)}
.pn3 button{width:40px;height:40px;border:1.5px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-size:20px;line-height:1;display:grid;place-items:center}
.pn3 button:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.pl3{min-width:110px;text-align:center}
.v-marca{background:none;box-shadow:none;aspect-ratio:auto}
.v-ads,.v-phone,.v-seo{width:min(100%,560px);aspect-ratio:auto;background:none;box-shadow:none;padding:0}
.v-seo{display:grid}.v-seo .pf>*{height:100%}.gs{height:100%;overflow:hidden}
.v-phone .pf,.v-ads .pf{background:none}
.pz .rs{display:none}

/* trabajos v14: un rubro, un tipo de pieza */
.bd-store{background:#121212}
.st-wall{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#1b1b1b 0 4.2cqw,#121212 4.2cqw 4.5cqw),repeating-linear-gradient(90deg,transparent 0 9cqw,rgba(0,0,0,.4) 9cqw 9.3cqw)}
.st-sign{position:absolute;left:9%;right:9%;top:7%;height:21%;background:#0a0a0a;border:.45cqw solid var(--c0);display:grid;place-items:center;padding:1.2cqw;box-shadow:0 1cqw 3cqw rgba(0,0,0,.6)}.st-sign .lg{height:100%;width:auto}
.st-win{position:absolute;left:9%;top:33%;width:50%;height:56%;border:.7cqw solid var(--c0);background:linear-gradient(135deg,#27323a,#0f1417);overflow:hidden}
.st-glass{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.18) 0 18%,transparent 18% 32%,rgba(255,255,255,.08) 32% 40%,transparent 40%)}
.st-decal{position:absolute;left:5%;top:8%;color:var(--c0);font-family:'Playfair Display',serif;display:grid;gap:.4cqw}.st-decal b{font-size:4.4cqw;letter-spacing:.2em}.st-decal span{font-size:1.9cqw;letter-spacing:.2em;color:#f2ebdd}
.st-chair{position:absolute;right:6%;bottom:6%;width:36%}.st-chair svg{width:100%;display:block}
.st-door{position:absolute;left:63%;top:33%;width:28%;height:56%;border:.7cqw solid var(--c0);background:#0d0d0d}
.st-dg{margin:10% 10% 0;border:.25cqw solid var(--c0);padding:1.6cqw;text-align:center;color:var(--c0);font:600 1.8cqw 'Playfair Display',serif;display:grid;gap:.6cqw;letter-spacing:.08em}.st-dg b{color:#f2ebdd;font-size:2.2cqw}
.st-knob{position:absolute;right:8%;top:50%;width:1.4cqw;height:1.4cqw;background:var(--c0);border-radius:50%}
.st-frame{position:absolute;right:4%;bottom:3%;width:17%;aspect-ratio:.7;background:#f2ebdd;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);display:grid;place-content:center;text-align:center;color:#111;font:700 2.2cqw/1.15 'Playfair Display',serif;gap:.8cqw;padding-top:2cqw}.st-frame span{font-size:1.5cqw;color:#7a5f1c;font-weight:600}
.bd-kit{background:#CFEFF2;font-family:'Nunito',sans-serif;color:var(--c1)}
.kt-folder{position:absolute;left:5%;top:11%;width:30%;height:76%;background:var(--c0);color:#fff;border-radius:1.4cqw;display:grid;place-content:center;justify-items:center;gap:.8cqw;box-shadow:0 2cqw 4cqw rgba(15,59,68,.3)}.kt-folder::before{content:"";position:absolute;left:0;top:-2.4cqw;width:40%;height:2.6cqw;background:var(--c0);border-radius:1cqw 1cqw 0 0}
.kt-fl{width:10cqw;background:#fff;border-radius:50%;padding:.6cqw}.kt-fl svg{width:100%;display:block}.kt-folder b{font:800 3.4cqw Nunito}.kt-folder span{font-size:1.6cqw;letter-spacing:.2em;text-transform:uppercase}
.kt-box{position:absolute;left:38%;top:14%;width:19%;height:54%;background:#fff;border-radius:.8cqw;display:grid;align-content:center;justify-items:center;gap:.6cqw;padding:1.4cqw;text-align:center;box-shadow:0 2cqw 4cqw rgba(15,59,68,.25)}.kt-bp{width:70%;background:var(--c0);border-radius:50%;aspect-ratio:1;display:grid;place-items:center}.kt-bp svg{width:74%}.kt-box b{font:800 2cqw Nunito}.kt-box span{font-size:1.2cqw}
.kt-cal{position:absolute;right:5%;top:7%;width:26%;height:84%;background:#fff;border-radius:3cqw;border:.8cqw solid var(--c1);padding:2.4cqw;display:grid;align-content:start;gap:1.4cqw;box-shadow:0 2cqw 4cqw rgba(15,59,68,.3)}
.kt-ch{display:flex;justify-content:space-between;font:800 2.2cqw Nunito}.kt-cg{display:grid;grid-template-columns:repeat(7,1fr);gap:.4cqw;font-size:1.3cqw;text-align:center}.kt-cg i{font-style:normal;padding:.5cqw 0}.kt-cg i.on{background:var(--c0);color:#fff;border-radius:50%}
.kt-ct{background:var(--c3);border-radius:1cqw;padding:1.4cqw;display:grid;gap:.3cqw}.kt-ct b{font:800 1.9cqw Nunito}.kt-ct span{font-size:1.4cqw;color:var(--c0);font-weight:800}
.kt-card{position:absolute;left:38%;bottom:6%;width:30%;aspect-ratio:2.4;background:#fff;border-radius:1cqw;display:grid;place-content:center;justify-items:center;gap:.6cqw;padding:1.2cqw;box-shadow:0 1.6cqw 3cqw rgba(15,59,68,.25);font-size:1.2cqw}.kt-card .lg{width:70%}
.bd-van2{background:#DCE9FB;font-family:Poppins,sans-serif}
.vn-van{position:absolute;left:4%;top:30%;width:62%}.vn-van svg{width:100%;display:block;filter:drop-shadow(0 1.6cqw 2cqw rgba(11,42,91,.35))}.vn-lg{position:absolute;left:7%;top:44%;width:46%}.vn-url{position:absolute;left:8%;bottom:14%;font:600 1.5cqw Poppins;color:var(--c1)}
.vn-polo{position:absolute;right:20%;top:9%;width:17%}.vn-polo svg{width:100%;display:block;filter:drop-shadow(0 1cqw 1.6cqw rgba(0,0,0,.25))}.vn-ic{position:absolute;left:58%;top:30%;width:18%}.vn-ic svg{width:100%;display:block}
.vn-hang{position:absolute;right:5%;top:12%;width:12%;aspect-ratio:.42;background:#fff;border-radius:1cqw;display:grid;align-content:end;justify-items:center;gap:.6cqw;padding:1.2cqw;text-align:center;box-shadow:0 1.4cqw 2.4cqw rgba(0,0,0,.25);font-size:1cqw}.vn-hang i{position:absolute;top:2cqw;left:50%;translate:-50% 0;width:3.6cqw;height:3.6cqw;border-radius:50%;background:#DCE9FB}.vn-hi{width:5cqw}.vn-hi svg{width:100%;display:block}.vn-hang b{font:700 1.5cqw Poppins}.vn-hang u{text-decoration:none;color:var(--c0);font-weight:700}
.vn-badge{position:absolute;right:5%;bottom:7%;width:25%;background:#fff;border-radius:1cqw;padding:1.6cqw;display:grid;gap:.4cqw;box-shadow:0 1.4cqw 2.4cqw rgba(0,0,0,.2)}.vn-badge .lg{width:80%}.vn-badge b{font:700 1.8cqw Poppins}.vn-badge span{font-size:1.2cqw;opacity:.7}
.bd-bake{background-color:#D2B07A;background-image:radial-gradient(rgba(90,46,31,.14) 1px,transparent 1.4px);background-size:1.6cqw 1.6cqw;font-family:'Fraunces',serif;color:var(--c1)}
.bk-chalk{position:absolute;left:5%;top:8%;width:30%;height:82%;background:#232a27;border:1cqw solid #8a6a43;color:#f6ebd6;padding:2.4cqw;display:grid;align-content:start;gap:1.6cqw;box-shadow:0 2cqw 3cqw rgba(0,0,0,.35)}.bk-chalk b{font:800 3.4cqw Fraunces;border-bottom:.2cqw dashed rgba(255,255,255,.4);padding-bottom:1cqw}.bk-chalk ul{list-style:none;padding:0;display:grid;gap:1cqw;font-size:2cqw}.bk-chalk li{display:flex;gap:.6cqw;align-items:baseline}.bk-chalk li i{flex:1;border-bottom:.2cqw dotted rgba(255,255,255,.5)}.bk-w{position:absolute;right:2cqw;bottom:1.4cqw;width:9cqw;opacity:.9}.bk-w svg{width:100%}
.bk-box{position:absolute;left:39%;top:28%;width:32%;height:52%;background:#C79A5A;box-shadow:0 2cqw 3cqw rgba(60,30,10,.4);display:grid;place-items:center}.bk-box::before{content:"";position:absolute;left:0;right:0;top:0;height:14%;background:#A67C3F}.bk-win{width:60%;aspect-ratio:1.4;background:var(--c3);display:grid;place-items:center;margin-top:8%}.bk-win svg{height:90%}
.bk-lb{position:absolute;left:50%;bottom:6%;translate:-50% 0;display:flex;align-items:center;gap:.8cqw;background:var(--c3);padding:.8cqw 1.6cqw}.bk-lb .ic{width:3cqw;height:3cqw}.bk-lb b{font:800 1.8cqw Fraunces}
.bk-bag{position:absolute;right:5%;top:12%;width:20%;aspect-ratio:.64;background:#C79A5A;clip-path:polygon(4% 3%,96% 3%,100% 100%,0 100%);display:grid;place-items:center}.bk-bag::before{content:"";position:absolute;left:0;right:0;top:0;height:9%;background:#A67C3F}.bk-bl{background:var(--c3);padding:1.6cqw;display:grid;justify-items:center;gap:.4cqw;text-align:center}.bk-bl .ic{width:6cqw;height:6cqw}.bk-bl b{font:800 2cqw Fraunces}.bk-bl span{font:600 .9cqw Inter;letter-spacing:.2em}
.bk-st{position:absolute;right:8%;bottom:6%;display:flex;gap:1.4cqw}.bk-st i{width:8cqw;height:8cqw;border-radius:50%;background:var(--c2);display:grid;place-items:center;padding:1cqw;font-style:normal}.bk-st i.b{background:var(--c0);color:#fff}.bk-st b{font:800 1.5cqw Fraunces}.bk-st svg{width:100%}

/* ===== v15 ===== */
.pw{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.pz,.pz *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.pf .iph{width:100%!important;height:100%!important;aspect-ratio:auto!important}
.pn3 button{border:0!important;width:48px;height:34px;padding:6px;background:none!important;transition:transform .2s}
.pn3 button:hover{transform:scale(1.2);background:none!important;border:0!important}
.pn3 button svg{width:100%;height:100%;display:block}.pn3 button:first-child svg{transform:scaleX(-1)}
.pn3 .c1,.ar2 .c1{fill:var(--orange)}.pn3 .c2,.ar2 .c2{fill:currentColor}
.ar2{display:inline-block;width:1.5em;vertical-align:-.2em}.ar2 svg{width:100%;height:auto;display:block}.ar2.rev{transform:scaleX(-1)}
.link2,.crumb{display:inline-flex;align-items:center;gap:.5em}
.pn a span{display:flex;align-items:center;gap:.5em}.pn a:last-child span{justify-content:flex-end}
.vn-lg{top:42%;left:7%}
.bk-chalk{height:74%}

/* ===== v17 ===== */
.qs p{max-width:none}.qs summary:focus:not(:focus-visible){outline:none}
/* teléfonos con grosor */
.pf.p3{transform-style:preserve-3d;overflow:visible;backface-visibility:visible;-webkit-backface-visibility:visible}
.pf.p3>.iph{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pf>.sd{position:absolute;display:block;background:linear-gradient(90deg,#55555b,#222225 50%,#55555b)}
.pf>.sd.l{left:0;top:7%;bottom:7%;width:11cqw;height:auto;transform-origin:left center;transform:rotateY(90deg)}
.pf>.sd.r{left:auto;right:0;top:7%;bottom:7%;width:11cqw;height:auto;transform-origin:right center;transform:rotateY(-90deg)}
.pf>.sd.t{left:7%;right:7%;top:0;width:auto;height:11cqw;transform-origin:center top;transform:rotateX(-90deg)}
.pf>.sd.bm{left:7%;right:7%;bottom:0;top:auto;width:auto;height:11cqw;transform-origin:center bottom;transform:rotateX(90deg)}
.pf>.sd.k{inset:0;width:100%;height:100%;transform:translateZ(-11cqw) rotateY(180deg);background:linear-gradient(145deg,#34343a,#161618);border-radius:15% / 7%}
.sd.k u{position:absolute;left:8%;top:4%;width:30%;aspect-ratio:1;border-radius:24%;background:#0d0d0f;box-shadow:inset 0 0 0 1.4cqw #2a2a2e,inset 0 0 0 2.6cqw #0d0d0f;background-image:radial-gradient(circle at 30% 30%,#3a4a66 0 3cqw,#0000 3.2cqw),radial-gradient(circle at 70% 30%,#3a4a66 0 3cqw,#0000 3.2cqw),radial-gradient(circle at 50% 72%,#3a4a66 0 3cqw,#0000 3.2cqw)}
/* antes/después de los otros servicios */
.gx .stagebox{background:#e7eaea;display:block}
.gx .before{background:#e7eaea;font:inherit;color:inherit;padding:0}
.gx .after>*,.gx .before>*{height:100%}
.gx .gp{height:100%;display:grid;place-items:center;padding:3%}.gx .gp>.iph{height:100%;width:auto;aspect-ratio:9/19.5}
.gx .gc{height:100%;display:grid;place-items:center;padding:3%}.gx .gc>*{width:min(100%,360px);max-height:100%;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.2)}
.gm{position:relative;background:#f4f1ea}.gm span,.gm i{position:absolute;display:block}
.gm .m1{left:8%;top:12%;font:700 5.6cqw 'Times New Roman';color:#0a7a3c;transform:rotate(-4deg)}.gm .m2{left:46%;top:20%;font:italic 700 6.4cqw Georgia;color:#c0392b;transform:rotate(5deg)}
.gm .m3{left:14%;top:48%;font:700 4.4cqw 'Comic Sans MS',cursive;color:#8e44ad}.gm .m4{right:12%;top:8%;width:15cqw;aspect-ratio:1;border-radius:50%;background:#e67e22}.gm .m5{left:50%;top:58%;width:20cqw;height:12cqw;background:#2980b9;clip-path:polygon(0 0,100% 20%,80% 100%,10% 80%)}
.gm .m6{left:10%;bottom:10%;font:900 7cqw Impact,sans-serif;color:#333;letter-spacing:-.04em}
.gn{position:relative;background:#e7eaea}.gn span{position:absolute;padding:3cqw 4cqw;font:700 4.4cqw 'Comic Sans MS',cursive;box-shadow:0 1cqw 2cqw rgba(0,0,0,.2)}
.gn .n1{left:6%;top:8%;background:#ffe27a;transform:rotate(-6deg)}.gn .n2{left:46%;top:6%;background:#ff9fb2;transform:rotate(5deg)}.gn .n3{left:10%;top:36%;background:#a8e6cf;transform:rotate(4deg)}.gn .n4{left:56%;top:34%;background:#9bd0ff;transform:rotate(-5deg)}.gn .n5{left:8%;top:64%;background:#ffd0a1;transform:rotate(-3deg)}.gn .n6{left:46%;top:62%;background:#d6b8ff;transform:rotate(6deg)}
.gk{container-type:inline-size;background:#fff;color:var(--ink);padding:5cqw;display:grid;align-content:center;gap:3cqw}.gk h5{font:800 7cqw var(--disp);letter-spacing:-.04em}.gk ol{list-style:none;padding:0;display:grid;gap:2.4cqw}.gk li{display:flex;align-items:center;gap:3cqw;font:700 3.8cqw var(--disp)}.gk li b{width:8cqw;height:8cqw;background:var(--orange);color:var(--ink);display:grid;place-items:center;flex:none}.gk li span{flex:1}.gk li u{text-decoration:none;font:600 2.8cqw var(--text);opacity:.7}
.gk-t{display:flex;justify-content:space-between;background:var(--ink);color:#fff;padding:3cqw;font:600 3cqw var(--text)}.gk-t b{color:var(--orange)}

.gx .gc>*{width:min(94%,600px);max-height:100%}
.gx .gc>.gs,.gx .gc>.fw{height:auto}
.gx .gc>.idb{aspect-ratio:1;height:auto;width:min(96%,640px)}

/* ===== v18 ===== */
.rw{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.rl{overflow:hidden;width:100%;container-type:inline-size;cursor:grab;touch-action:pan-y;padding:22px 0;-webkit-mask:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000);mask:linear-gradient(90deg,#0000,#000 6%,#000 94%,#0000);-webkit-user-select:none;user-select:none}.rl:active{cursor:grabbing}
.rl-t{display:flex;width:max-content;will-change:transform}
.rl-c{flex:none;width:64cqw;margin-right:5cqw;aspect-ratio:1;overflow:hidden;position:relative;box-shadow:0 18px 36px rgba(0,0,0,.25);transition:transform .5s,opacity .5s,box-shadow .5s}
.rl-c.seo{aspect-ratio:1/1.28}.rl-c>*{width:100%;height:100%;pointer-events:none}
.rl.sel .rl-c{opacity:.35}.rl.sel .rl-c.on{opacity:1;transform:scale(1.05);z-index:2;box-shadow:0 26px 50px rgba(0,0,0,.4)}
.rl-h{font:600 14px var(--text);opacity:.85;text-align:center}
.pz .pf{transition:opacity .5s}.pz.sel .pf:not(.on){opacity:.4}
.v-marca,.v-seo{display:block;width:min(100%,640px);aspect-ratio:auto;background:none;box-shadow:none;padding:0;overflow:visible}
.v-seo .rl-c{background:#fff}
/* web de escritorio + celular */
.v-web{width:min(100%,760px);aspect-ratio:16/10;display:block;overflow:visible;background:none;box-shadow:none}
.v-web .wd{position:relative;height:100%}
.v-web .wd .wb{height:100%;display:grid;grid-template-rows:auto 1fr;background:#fff;overflow:hidden;box-shadow:0 30px 60px rgba(6,15,51,.28)}
.v-web .wph{position:absolute;right:-3%;bottom:-10%;width:21%;aspect-ratio:9/19.5;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.v-web .wph .iph{width:100%;height:100%;box-shadow:none}.v-web .wph .scr{bottom:3cqw}

.v-web .wb .web2{--u:.66cqw}

/* ===== v19 ===== */
.pz .pf{transition:none}.pz.sel .pf:not(.on){opacity:1}
/* mazo de tarjetas */
.dk{position:relative;width:min(72%,430px);aspect-ratio:1;margin:18px auto 8px;cursor:pointer;-webkit-user-select:none;user-select:none}
.dk.seo{aspect-ratio:1/1.28;width:min(66%,400px)}
.dk-c{position:absolute;inset:0;overflow:hidden;background:#fff;box-shadow:0 18px 36px rgba(0,0,0,.3);transform-origin:50% 100%;transform:translate(calc(var(--d) * 3.6%),calc(var(--d) * -3.2%)) scale(calc(1 - var(--d) * .055)) rotate(calc(var(--d) * 1.1deg));z-index:calc(20 - var(--d));opacity:1;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .4s}
.dk-c.far{opacity:0}.dk-c>*{width:100%;height:100%;pointer-events:none}
.dk-c.out{transform:translate(130%,-6%) rotate(16deg);opacity:0;transition:transform .55s cubic-bezier(.5,0,.8,.4),opacity .45s .1s;z-index:40}
/* carrusel que se desliza */
.sl{position:relative;overflow:hidden;width:100%;box-shadow:0 30px 60px rgba(0,0,0,.25);background:#fff}
.sl-t{display:flex;will-change:transform}.sl-s{flex:none;width:100%}.sl-s .fw{box-shadow:none;height:100%}
.sl-s .m{opacity:0}.sl-s.on .m{animation:pop .5s both;animation-delay:calc(var(--j) * .35s)}
.sl-d{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}
.sl-d button{width:26px;height:5px;border:0;background:rgba(0,0,0,.2);cursor:pointer;padding:0}.sl-d button.on{background:var(--orange)}
.v-auto .fw{padding-bottom:7cqw}
/* trabajos: título pegado a las tarjetas */
.wks .sh{grid-template-columns:1fr;padding-block:clamp(30px,3.6vw,52px) 0}
.fx .hpin{align-items:flex-start;padding-top:clamp(18px,3.5vh,40px)}
.wks .sh+.hs{margin-top:0}
.fx .hs{margin-top:clamp(-30px,-2vw,-10px)}
/* Clear Home: carrito de limpieza */
.ch-cad{position:absolute;left:30%;top:40%;width:44%}.ch-cad svg{width:100%;display:block;filter:drop-shadow(0 1.2cqw 1.6cqw rgba(11,42,91,.25))}.ch-bi{position:absolute;left:45%;top:69%;width:13%;translate:-50% -50%}.ch-bi svg{filter:none}

/* ===== v20 ===== */
.bd{position:relative;width:min(88%,520px);aspect-ratio:1;margin:12px auto 0}
.bd-b{position:absolute;inset:0}
.bd-s{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.bd-s.on{opacity:1;visibility:visible}
.bd-s .idb{box-shadow:0 24px 48px rgba(0,0,0,.3)}
.bd-s.on .idb>*{animation:pieceIn .8s cubic-bezier(.2,.85,.25,1) both}
.bd-s.on .idb>:nth-child(1){animation-delay:.05s}.bd-s.on .idb>:nth-child(2){animation-delay:.2s}.bd-s.on .idb>:nth-child(3){animation-delay:.35s}.bd-s.on .idb>:nth-child(4){animation-delay:.5s}.bd-s.on .idb>:nth-child(5){animation-delay:.65s}.bd-s.on .idb>:nth-child(6){animation-delay:.8s}
@keyframes pieceIn{from{opacity:0;transform:translateY(28%) scale(.8)}}
.bd-d{position:static;margin-top:6px}
.sp.pt .sl-d button{background:rgba(255,255,255,.3)}.sp.pt .sl-d button.on{background:var(--orange)}
/* anuncios: feed que se desliza dentro del teléfono */
.v-ads{display:grid;place-items:center}
.v-ads .iph{width:min(50%,270px);height:auto;aspect-ratio:9/19.5}
.iph .scr[data-feed]{overflow:hidden}[data-feed]>*{will-change:transform}
[data-feed] .ad2{position:relative;left:auto;top:auto;width:100%;box-shadow:none;border-bottom:3cqw solid #e9ebee}

.v-ads .iph{width:min(44%,240px)}

/* ===== v21 ===== */
/* franjas que se abren (Identidad de marca) */
.v-marca{width:min(100%,680px)}
.ex{display:flex;gap:6px;height:min(62vw,400px);width:100%;margin:10px auto 0}
.ex-c{position:relative;flex:0 0 48px;overflow:hidden;background:var(--bg);cursor:pointer;transition:flex .75s cubic-bezier(.65,0,.25,1);box-shadow:0 14px 28px rgba(0,0,0,.25)}
.ex-c.on{flex:1 1 auto;cursor:default}
.ex-s{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:14px 0;transition:opacity .35s}
.ex-s .ic{width:28px;height:28px;flex:none}
.ex-s b{writing-mode:vertical-rl;transform:rotate(180deg);font:700 15px var(--disp);color:var(--fg);letter-spacing:.04em;margin-bottom:auto;margin-top:18px}
.ex-c.on .ex-s{opacity:0;pointer-events:none}
.ex-b{position:absolute;inset:0;opacity:0;transition:opacity .5s .3s}.ex-c.on .ex-b{opacity:1}
.ex-b .idb{width:100%;height:100%}
.ex-c:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media(max-width:560px){.ex-c{flex-basis:30px}.ex-s .ic{width:20px;height:20px}.ex-s b{font-size:12px}}
/* flechas del carrusel con el logo */
.sl-a{position:absolute;top:50%;translate:0 -50%;z-index:5;width:46px;height:46px;border:0;padding:9px;background:rgba(255,255,255,.92);cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2);transition:transform .2s}
.sl-a.prev{left:10px}.sl-a.next{right:10px}.sl-a.prev svg{transform:scaleX(-1)}
.sl-a:hover{transform:translateY(0) scale(1.1)}.sl-a svg{width:100%;height:100%;display:block}
.sl-a .c1{fill:var(--orange)}.sl-a .c2{fill:var(--ink)}
/* webs dentro del carrusel */
.v-web{aspect-ratio:auto;height:auto}
.v-web .sl{overflow:hidden;box-shadow:none;background:none}
.v-web .sl-s{padding:0 4% 14% 0}
.v-web .wd{width:100%;height:auto;aspect-ratio:16/10}
.v-web .sl-d{bottom:2%}
.sl-s .wb,.sl-s .wph{pointer-events:auto}
/* trabajos: título y tarjetas juntos, centrados en pantalla */
.wks .sh{padding:0;grid-template-columns:1fr}
.fx .hs{margin-top:0}
.fx .hpin{flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(16px,3.4vh,38px);padding-top:var(--navh,72px)}
.fx .hpin .sh{width:100%}
.fx .hpin .track{align-self:flex-start}
/* títulos largos sin cortar palabras */
.spt h3,.svp h1{overflow-wrap:normal;hyphens:none;word-break:normal;font-size:clamp(36px,4.6vw,92px)}
/* consultoría en celular */
.v-ck{max-width:100%;box-sizing:border-box}
/* logo gigante del pie: alineado con el contenido */
.close .wrap{container-type:inline-size}
.giant{font-size:calc(100cqw / 4.62);text-align:left;margin-left:-.035em;letter-spacing:-.08em}

.spv{grid-template-columns:minmax(0,1fr)}
.v-web{width:100%;max-width:760px}
/* flechas del carrusel junto a los puntos */
.sl-a{top:auto;bottom:4px;translate:none;width:42px;height:28px;padding:3px;background:none;box-shadow:none}
.sl-a.prev{left:calc(50% - 160px)}.sl-a.next{left:auto;right:calc(50% - 160px)}
.sl-a:hover{transform:scale(1.2)}
.v-web .sl-a{bottom:calc(2% - 8px)}

.wks .sh{padding:0 var(--m)}

/* ===== v22 ===== */
[data-feed],[data-feed] *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.sp.pt .rl-h{color:#fff}.sp.wh .rl-h{color:var(--ink)}.rl-h .pl3{color:inherit}

/* ===== v23 ===== */
.scrollhint .sh-a{display:flex;flex-direction:column;width:22px;height:auto;background:none;gap:0}
.scrollhint .sh-a svg{width:22px;height:16px;transform:rotate(90deg);animation:shd 1.6s ease-in-out infinite}
.scrollhint .sh-a svg+svg{margin-top:-6px;animation-delay:.2s}
@keyframes shd{0%,100%{opacity:.35;translate:0 -3px}50%{opacity:1;translate:0 3px}}
.sell{margin-top:clamp(24px,3vw,44px)}
.sell span{display:inline-block;background:var(--orange);color:var(--on);font:700 clamp(26px,4vw,64px)/1.05 var(--disp);letter-spacing:-.04em;padding:.12em .3em}
.cta .pick{font-weight:700;margin-top:6px}
.ab .tp{max-width:46ch;margin-top:18px;color:#d6dcf0;font-size:clamp(16px,1.4vw,20px)}
.tf .tform{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:820px}
.tf label{display:grid;gap:6px;font-weight:600}
.tf .wide{grid-column:1/-1}
.tf input,.tf select,.tf textarea{font:inherit;padding:12px 14px;border:2px solid currentColor;background:transparent;color:inherit;border-radius:0}
.tf input:focus,.tf select:focus,.tf textarea:focus{outline:3px solid var(--orange);outline-offset:2px}
.tf .btn{justify-self:start;border:0;cursor:pointer}.tf .tn{align-self:center;font-size:14px;opacity:.7}
@media(max-width:640px){.tf .tform{grid-template-columns:1fr}}
.sell span{font-size:clamp(22px,3.3vw,56px);white-space:nowrap}
@media(max-width:640px){.sell span{white-space:normal}}
.stm .more{margin-top:clamp(28px,3.5vw,48px)}
.scrollhint{bottom:30px}
.scrollhint .sh-a{width:34px}.scrollhint .sh-a svg{width:34px;height:24px}.scrollhint .sh-a svg+svg{margin-top:-14px}


/* ===== v29: planes y precios ===== */
.plx{background:var(--paper);color:var(--ink)}
.plx h2{font-size:clamp(34px,4.4vw,64px);letter-spacing:-.05em;margin-bottom:12px}
.plsub{max-width:62ch;margin-bottom:28px;font-size:clamp(16px,1.4vw,19px)}
.plg{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;align-items:stretch;margin-top:8px}
.plc{position:relative;background:#fff;border:2px solid var(--ink);padding:30px 24px 24px;display:flex;flex-direction:column;gap:12px;color:var(--ink)}
.plc.hl{background:var(--ink);color:#fff}
.plc .tg{position:absolute;top:-14px;left:16px;background:var(--orange);color:var(--ink);font:700 12px var(--text);padding:5px 10px;text-transform:uppercase;letter-spacing:.06em;font-style:normal}
.plc h3{font-size:24px;margin:0}
.plc .who{font-size:14px;opacity:.8;margin:0}
.plc .amt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0}
.plc .amt b{font:700 clamp(34px,3.2vw,48px)/1 var(--disp);letter-spacing:-.05em}
.plc .amt span{font-size:13px;opacity:.75}
.plc ul{list-style:none;padding:0;margin:0;display:grid;align-content:start;gap:9px;font-size:15px;flex:1}
.plc li{padding-left:22px;position:relative}
.plc li::before{content:"";position:absolute;left:0;top:.4em;width:12px;height:12px;background:var(--orange);clip-path:polygon(0 0,45% 0,100% 50%,45% 100%,0 100%,55% 50%)}
.plc .btn{align-self:flex-start;margin-top:6px}
.plc.hl .btn{background:var(--orange);color:var(--ink)}
.plh3{font-size:clamp(22px,2.2vw,30px);margin:44px 0 10px}
.plex{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;list-style:none;padding:0;margin:0}
.plex li{background:#fff;padding:14px 16px;border-left:6px solid var(--orange);font-size:15px}
.plex.big li b{display:block;font-size:18px;margin-bottom:4px}
.plnote{margin-top:22px;font-size:14px;opacity:.8;max-width:72ch}
.sv .plx{background:#fff}.sv .plx .plc:not(.hl){background:var(--paper)}.sv .plx .plex li{background:var(--paper)}
.sv .svx{background:var(--paper)}
.prc .plx:nth-of-type(even){background:#fff}.prc .plx:nth-of-type(even) .plc:not(.hl){background:var(--paper)}.prc .plx:nth-of-type(even) .plex li{background:var(--paper)}
.pchips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pchips a{border:2px solid rgba(255,255,255,.7);color:#fff;padding:8px 14px;font-weight:600;font-size:14px;transition:background .2s,color .2s}
.pchips a:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.pbn{background:var(--orange);color:var(--on)}
.pbi{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,4vw,60px);align-items:end}
.pbn h2{font-size:clamp(34px,5vw,84px);letter-spacing:-.05em;line-height:1}
.pbn p{margin-top:14px;max-width:52ch;font-size:clamp(16px,1.4vw,20px)}
.pbn .acts{display:grid;gap:10px;justify-items:start;justify-self:end}
.pbn .btn{background:var(--ink);color:#fff}
.pbn small{font-size:13px}
@media(max-width:860px){.pbi{grid-template-columns:1fr}.pbn .acts{justify-self:start}}

/* ===== v30 ===== */
.scrollhint .sh-a svg .c1,.scrollhint .sh-a svg .c2{fill:#fff}
.plnote b{font-weight:700}

/* ===== v32: contacto y cotizador (clases ct-) ===== */
.ct-sec{background:var(--paper);color:var(--ink)}
.ct-form{display:grid;gap:28px;width:100%;max-width:880px}
.ct-form h2{font-size:clamp(24px,2.6vw,38px);letter-spacing:-.04em;grid-column:1/-1;margin:0}
.ct-form h2 span{font-size:.5em;letter-spacing:0;opacity:.6;font-weight:500}
.ct-form label{display:grid;gap:6px;font-weight:600}
.ct-form input:not([type=checkbox]):not([type=radio]),.ct-form select,.ct-form textarea{font:inherit;font-weight:400;padding:12px 14px;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:0;width:100%;min-width:0}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:3px solid var(--orange);outline-offset:2px}
.ct-form .wide{grid-column:1/-1}
.ct-blk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.ct-blk[hidden]{display:none}
.ct-blk>*{min-width:0}
.ct-topic{border:2px solid var(--ink);padding:18px 22px;display:grid;gap:12px;background:#fff;min-width:0}
.ct-topic legend{font:700 18px var(--disp);padding:0 8px}
.ct-form .ct-opt{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}
.ct-opt input{width:20px;height:20px;accent-color:var(--orange);flex:none;margin:0}
.ct-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.ct-lbl{font-weight:600;margin:0 0 10px}
.ct-help{margin:0;max-width:64ch;font-size:16px}
.ct-calc{grid-column:1/-1;display:grid;gap:12px}
.ct-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;align-items:center;background:#fff;padding:12px 16px;border-left:6px solid var(--orange)}
.ct-row select:disabled{opacity:.45}
.ct-sum{background:var(--ink);color:#fff;padding:24px 26px;display:grid;gap:10px}
.ct-sum ul{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:6px;font-size:15px}
.ct-sum p{margin:0}
.ct-sum .mini{font-size:15px;opacity:.85}
.ct-sum .big{font-size:18px}
.ct-sum .big b{font:700 clamp(28px,3vw,38px)/1.1 var(--disp);color:var(--orange);margin-left:6px}
.ct-sum .ann{font-size:16px;border-top:1px solid rgba(255,255,255,.3);padding-top:12px}
.ct-sum .ann b{font:700 22px var(--disp);color:var(--orange)}
.ct-form .btn{justify-self:start;border:0;cursor:pointer}
.ct-note{font-size:14px;opacity:.7;margin:0}
@media(max-width:700px){.ct-blk{grid-template-columns:1fr}.ct-row{grid-template-columns:1fr}}

/* ===== v33 ===== */
.ct-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.3fr)}
.ct-row select:disabled{opacity:.45}
.ct-sum hr{border:0;border-top:1px solid rgba(255,255,255,.3);margin:6px 0;width:100%}
.ct-sum .tot{font-size:18px;margin:0}
.ct-sum .tot b{font:700 clamp(30px,3.4vw,44px)/1.1 var(--disp);color:var(--orange);margin-left:6px}
.plc .amtann{font-size:13px;margin:-4px 0 0;color:var(--orange);font-weight:600}
.plc.hl .amtann{color:var(--orange)}
@media(max-width:900px){.ct-row{grid-template-columns:1fr}}

.plc .amtmo{font-size:13px;opacity:.8;margin:-6px 0 0}
.ct-opt{display:flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}
.tf .ct-opt{display:flex}
.ct-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.ct-lbl{font-weight:600;margin:0 0 10px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ct-ok{padding:40px 0}.ct-ok h2{font-size:clamp(34px,4vw,56px)}

/* ===== v35: botones animados, colores por variables ===== */
.cbtn{border:0;cursor:pointer;background:var(--cb-bg,var(--orange));color:var(--cb-fg,var(--ink))}
.cbtn::before{background:var(--cb-hbg,#fff)}
.cbtn:hover,.cbtn:focus-visible{color:var(--cb-hfg,var(--ink))}
.cbtn .cb-i .c1{fill:var(--cb-i1,var(--ink))}.cbtn .cb-i .c2{fill:var(--cb-i2,color-mix(in srgb,var(--ink) 40%,transparent))}
.cbtn:hover .cb-i .c1,.cbtn:focus-visible .cb-i .c1{fill:var(--cb-hi1,var(--orange))}
.cbtn:hover .cb-i .c2,.cbtn:focus-visible .cb-i .c2{fill:var(--cb-hi2,var(--ink))}
.cbtn.dark,.sp.wh .cbtn,.s-marca .cbtn,.pbn .cbtn{--cb-bg:var(--ink);--cb-fg:#fff;--cb-i1:var(--orange);--cb-i2:#fff}
.cbtn.wa{--cb-bg:#fff;--cb-fg:var(--ink);--cb-i1:var(--orange);--cb-i2:var(--ink);--cb-hbg:var(--ink);--cb-hfg:#fff;--cb-hi1:var(--orange);--cb-hi2:#fff}
.plc .cbtn{align-self:flex-start;margin-top:6px}
.ct-form .cbtn,.tf .cbtn{justify-self:start}
.plc .sav{font-size:13px;font-weight:700;color:var(--orange);margin:-6px 0 0}
.plc .was{font-size:20px;opacity:.55;margin-right:2px;align-self:center}
.plc .amt b{margin-right:2px}
.bill-tg{display:inline-flex;border:2px solid var(--ink);margin:0 0 20px;background:#fff}
.bill-tg button{border:0;background:#fff;color:var(--ink);padding:11px 18px;font:700 14px var(--text);cursor:pointer;transition:background .2s,color .2s}
.bill-tg button.on{background:var(--ink);color:#fff}
.bill-tg button:not(.on):hover{background:var(--orange)}

/* ===== v36 ===== */
.plc .amt{flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.plc .was{flex:0 0 100%;margin:0;align-self:auto;font-size:18px}
#paquete{scroll-margin-top:90px}
.ct-sum{gap:12px}
.ct-lines{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:baseline;font-size:15px}
.ct-lines em{font-style:normal;text-align:right;white-space:nowrap}
.ct-lines i{font-style:normal;font-size:.8em;opacity:.8}
.ct-lines.big{font-size:17px;row-gap:10px}
.ct-lines.big b{text-align:right;white-space:nowrap;font:700 clamp(24px,2.6vw,34px)/1.1 var(--disp);color:var(--orange)}
.ct-lines.big b i{font:500 14px var(--text);color:#fff;opacity:.85}
.ct-sum hr{border:0;border-top:1px solid rgba(255,255,255,.3);margin:4px 0;width:100%}

/* ===== v37: resumen alineado en columnas ===== */
.ct-row.solo .ct-plan{grid-column:2/-1}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto 4.2em;column-gap:10px;row-gap:9px;align-items:baseline;font-size:15px;font-variant-numeric:tabular-nums}
.ct-grid .n{font-weight:500;text-align:right}
.ct-grid .nt{font-style:normal;font-size:12px;opacity:.8}
.ct-grid .qt{grid-column:2/-1;font-style:normal;text-align:right}
.ct-grid hr{grid-column:1/-1;border:0;border-top:1px solid rgba(255,255,255,.3);margin:6px 0;width:100%}
.ct-grid .l.big{font-size:17px}
.ct-grid .u.big{font-size:17px;color:var(--orange);font-weight:700}
.ct-grid .n.big{font:700 clamp(26px,2.8vw,36px)/1.1 var(--disp);color:var(--orange)}
@media(max-width:560px){.ct-grid{grid-template-columns:minmax(0,1fr) auto auto 3.4em;font-size:14px}}

/* ===== v38: columnas fijas en el resumen ===== */
.ct-grid{grid-template-columns:minmax(0,1fr) 3em 9rem 5.6em}
.ct-grid .nt{text-align:left}
.ct-grid .u.disc,.ct-grid .n.disc{color:var(--orange)}
@media(max-width:560px){.ct-grid{grid-template-columns:minmax(0,1fr) 2.6em 6.8rem 5.2em}}

/* ===== v39: unidad más cerca del número ===== */
.ct-grid{grid-template-columns:minmax(0,1fr) 2.3em minmax(5.8rem,auto) 5.6em;column-gap:6px}
.ct-grid .u{text-align:right}
.ct-grid .nt{margin-left:4px}
.ct-grid .n.big{font:700 clamp(22px,2.3vw,28px)/1.1 var(--disp);color:var(--orange)}
@media(max-width:560px){.ct-grid{grid-template-columns:minmax(0,1fr) 2.2em minmax(5rem,auto) 4.8em}}

/* selector de idioma (EN / ES) y aviso para pasar al español */
.lang{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;margin-right:10px;border:1px solid rgba(255,255,255,.45);color:#fff;font:700 13px var(--text);letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.lang:hover{background:var(--orange);border-color:var(--orange);color:var(--on)}
.mob a.lang{display:inline-flex;width:max-content;margin:14px 0 0;padding:0 14px;font-size:15px;letter-spacing:.08em}
.lbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:center;padding:12px 44px 12px 16px;background:var(--ink);color:#fff;font:500 14px var(--text);box-shadow:0 -6px 24px rgba(0,0,0,.25)}
.lbar[hidden]{display:none}
.lbar b{font-weight:700}
.lbar a{color:var(--on);background:var(--orange);padding:8px 14px;font-weight:700;text-decoration:none}
.lbar button{position:absolute;right:8px;top:50%;translate:0 -50%;background:none;border:0;color:#fff;font-size:24px;line-height:1;padding:6px 10px;cursor:pointer}
