/* SOMOS — home v3 (rediseño). Solo lo carga index.html. No afecta al resto del sitio ni al panel. */
@font-face{font-family:Barlow;font-weight:300;font-style:normal;font-display:swap;src:url(../assets/fonts/barlow-300.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:300;font-style:italic;font-display:swap;src:url(../assets/fonts/barlow-300i.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:400;font-style:normal;font-display:swap;src:url(../assets/fonts/barlow-400.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:500;font-style:normal;font-display:swap;src:url(../assets/fonts/barlow-500.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:600;font-style:normal;font-display:swap;src:url(../assets/fonts/barlow-600.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:700;font-style:normal;font-display:swap;src:url(../assets/fonts/barlow-700.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:800;font-style:normal;font-display:swap;src:url(../assets/fonts/barlow-800.woff2) format("woff2")}
@font-face{font-family:"DM Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../assets/fonts/dm-mono-500.woff2) format("woff2")}
:root{--n:#0B0B0B;--c:#F3F0EA;--o:#FF5C00;--os:#F27032}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Barlow,system-ui,sans-serif;background:var(--n);color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased}
main{display:block;overflow-x:clip}
img{display:block;max-width:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul{list-style:none}
i,em{font-style:normal}
.sec{position:relative}
.cv{position:relative;width:1440px;margin:0 auto;zoom:var(--z,1)}
.cv>*{position:absolute}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mb{display:none!important}
.firma{font:600 12px/1 Barlow,sans-serif;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
.firma i{font-weight:300}
.m{font:500 11px/1.5 "DM Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.pill{display:inline-flex;align-items:center;gap:12px;border-radius:99px;padding:14px 24px;font:600 13px/1 Barlow,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:transform .25s,background .25s,color .25s}
.pill:hover{transform:translateX(4px)}
.ph{overflow:hidden}.ph img{width:100%;height:100%;object-fit:cover}
svg.ln{left:0;top:0;pointer-events:none;overflow:visible}svg.ln.sv-g,svg.ln.h-arc{overflow:hidden}
svg.ln.ov{overflow:visible}
svg.ln path,svg.ln circle.st{fill:none;stroke:var(--o);stroke-width:3;stroke-linecap:round}
svg.ln .dot{fill:var(--o);stroke:none}
.it{font-style:italic;font-weight:300;text-transform:none}
:focus-visible{outline:2px solid var(--o);outline-offset:3px}

/* ---------- NAV ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:60;transition:background .3s}
.nav .cv{height:108px;transition:height .3s}
.nav.sc{background:var(--n)}.nav.sc .cv{height:72px}
.nav-logo{left:64px;top:34px;transition:top .3s}.nav-logo img{height:40px}
.nav.sc .nav-logo{top:16px}
.nav-links{right:64px;top:34px;height:40px;display:flex;align-items:center;gap:34px;font:400 14px/1 Barlow,sans-serif;transition:top .3s}
.nav.sc .nav-links{top:16px}
.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--o)}
.nav-links .nav-cta{border:1.5px solid currentColor;border-radius:99px;padding:8px 18px;font-weight:600}
.nav-links .nav-x{display:none}
.nav-tog{display:none}

/* ---------- HERO ---------- */
.s-hero{background:var(--n)}.s-hero .cv{height:770px}
.h-ph{left:0;top:0;width:1440px;height:770px;z-index:2;clip-path:path('M 1440 84 H 1110 A 260 260 0 0 0 850 344 V 770 H 1440 Z')}
.h-ph img{position:absolute;left:850px;top:84px;width:590px;height:686px;object-fit:cover;object-position:50% 30%}
svg.ln.h-arc{z-index:3}svg.ln.h-arc path{fill:var(--o);stroke:none}
.h-l{z-index:1}
.h-f{left:64px;top:130px;z-index:5}
.h-t{left:0;top:0;z-index:5;text-transform:uppercase;font-weight:600}
.h-t1{position:absolute;left:61px;top:170px;font-size:113px;line-height:.9;letter-spacing:-.03em;white-space:nowrap}
.h-t1 span{font-weight:300}
.h-t2{position:absolute;left:64px;top:396px;font-size:50px;line-height:.86;letter-spacing:-.02em;white-space:nowrap}
.h-t2 i{font-weight:300;letter-spacing:-.02em}
.h-d{left:64px;top:486px;width:330px;font:300 19px/1.5 Barlow,sans-serif;color:#cfcfcf;z-index:5}
.h-cta{left:64px;top:572px;background:#fff;color:var(--n);z-index:5}
.h-met{left:64px;bottom:34px;display:flex;gap:56px;font:400 13px/1.4 Barlow,sans-serif;letter-spacing:.02em;color:#bdbdbd;z-index:6}
.h-met b{color:#fff;font-weight:600;font-size:18px;margin-right:8px}

/* ---------- QUIÉNES SOMOS ---------- */
.s-qs{background:var(--c);color:var(--n)}.s-qs .cv{height:865px}
.q-l{z-index:1}
.q-fm{left:64px;top:68px}
.q-lg{left:64px;top:108px;display:flex;gap:46px;align-items:center}
.q-lg img{filter:brightness(0);height:32px}.q-lg img.l1{height:38px;filter:invert(1) brightness(0)}.q-lg img.l2{height:24px}.q-lg img.l6{height:42px}
.q-f{left:64px;top:250px}
.q-t{left:60px;top:286px;font-size:100px;font-weight:700;letter-spacing:-.03em;line-height:.9;text-transform:uppercase;white-space:nowrap}
.q-t .it{font-size:1em;letter-spacing:-.02em}
.q-ph{left:860px;top:85px;width:640px;height:682px;z-index:4}
.q-tag{left:860px;top:47px;z-index:6;background:var(--o);color:#fff;font-size:13px;line-height:1;padding:12px 18px 13px}
.q-cap{left:860px;top:780px;z-index:5;font:400 13px/1.4 Barlow,sans-serif;letter-spacing:.02em;color:#666}

/* ---------- SERVICIOS ---------- */
.s-sv{background:var(--n)}.s-sv .cv{height:1132px}
.sv-g path.band{stroke-width:180}
.sv-c{z-index:3}
.sv-f{left:64px;top:104px}
.sv-t{left:60px;top:150px;white-space:nowrap}
.sv-t small{display:block;height:101px;padding-top:50px;margin-left:84px;color:var(--o);font:600 46px/1 Barlow,sans-serif;letter-spacing:-.01em}
.sv-t span{display:block;font:italic 300 136px/.9 Barlow,sans-serif;letter-spacing:-.035em;margin-top:-14px}
.sv-p{left:64px;top:390px;width:380px;font:300 20px/1.45 Barlow,sans-serif;color:#cfcfcf}
.sv-r{left:620px;width:756px;height:244px;border-top:1px solid #2e2e2e}
.sv-r>*{position:absolute;white-space:nowrap}
.sv-r1{top:96px}.sv-r2{top:340px}.sv-r3{top:584px}.sv-r4{top:828px}
.sv-end{left:620px;top:1072px;width:756px;height:1px;background:#2e2e2e}
.sv-P{font:700 84px/1 Barlow,sans-serif;letter-spacing:-.025em;text-transform:uppercase;left:0;top:38px}
.sv-s{font:300 38px/1 Barlow,sans-serif;letter-spacing:-.01em}
.sv-s u,.s-sv .m u{text-decoration:none;color:var(--o)}
.sv-d{font:400 17px/1.4 Barlow,sans-serif;color:#c4c4c4;left:2px;top:180px}
.sv-r1 .sv-s{left:178px;top:126px}
.sv-r2 .sv-s{left:-30px;top:98px}.sv-r2 .sv-s u{font-size:74px;font-weight:300;vertical-align:-10px;margin-right:10px}
.sv-r3 .sv-P{top:60px}.sv-r3 .sv-s{right:0;top:30px}
.sv-r4 .sv-s{left:64px;top:126px}
.s-sv .m{color:#e6e6e6;line-height:1;z-index:3}
.sv-m1{left:1070px;top:334px;background:var(--n);padding:0 14px}
.sv-m2{right:64px;top:490px;border:1px solid var(--o);border-radius:99px;padding:8px 14px}
.sv-m3{left:1398px;top:798px;transform:rotate(-90deg);transform-origin:left top;color:#9a9a9a!important}
.sv-ct text{font:500 11px "DM Mono",ui-monospace,monospace;letter-spacing:1.6px;fill:#e6e6e6}.sv-ct tspan{fill:var(--o)}
.sv-r .sv-P{transition:letter-spacing .4s}.sv-r:hover .sv-P{letter-spacing:-.01em}

/* ---------- TRABAJOS ---------- */
.s-tb{background:var(--c);color:var(--n)}.s-tb .cv{height:1560px}
.tb-f{left:64px;top:84px}
.tb-t{left:56px;top:124px;font:800 150px/1 Barlow,sans-serif;letter-spacing:-.04em;text-transform:uppercase}
.tb-m{left:64px;top:310px;color:var(--o)}
.tb-c{overflow:hidden;background:var(--n);z-index:2}
.tb-c img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.tb-c:hover img{transform:scale(1.05)}
.tb-lb{position:absolute;left:0;bottom:0;background:var(--n);color:#fff;padding:12px 16px}
.tb-lb b{display:block;font:700 15px/1 Barlow,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.tb-lb .m{display:block;margin-top:6px;opacity:.85}
.tb-co{left:64px;top:350px;width:500px;height:640px}
.tb-fo{left:574px;top:350px;width:390px;height:400px}
.tb-ba{left:574px;top:760px;width:390px;height:230px}
.tb-cv{left:974px;top:440px;width:466px;height:550px}
.tb-ru{left:64px;top:1000px;width:900px;height:450px}
.tb-all{left:974px;top:1000px;width:402px;height:300px;color:#fff}
.tb-all p{position:absolute;left:24px;top:24px;font:300 40px/1.02 Barlow,sans-serif;letter-spacing:-.02em}.tb-all p b{font-weight:700}
.tb-all span{position:absolute;right:22px;bottom:14px;font:300 72px/1 Barlow,sans-serif;color:var(--o);transition:transform .3s}
.tb-all:hover span{transform:translate(6px,-6px)}

/* ---------- COBERTURA ---------- */
.s-cb{background:var(--c);color:var(--n)}.s-cb .cv{height:1345px}
.cb-f{left:64px;top:84px}
.cb-t{left:60px;top:130px;font:700 104px/.9 Barlow,sans-serif;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap}
.cb-t .it{display:block;font-size:132px;letter-spacing:-.04em;color:var(--os)}
.cb-p{left:64px;top:500px;width:420px;font:400 19px/1.45 Barlow,sans-serif}
.cb-map{left:0;top:0}.cb-map use{fill:var(--os)}
.cb-pt{left:calc(var(--dx)*1px);top:calc(var(--dy)*1px);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--n);z-index:4;transition:width .3s,height .3s,margin .3s,opacity .3s}
.cb-pt::before{content:"";position:absolute;inset:-16px;border-radius:50%}
.cb-pt::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(11,11,11,.4);opacity:0;transform:scale(.6);transition:opacity .3s,transform .3s}
.cb-map-w.has .cb-pt{opacity:.35}
.cb-map-w.has .cb-pt.on{opacity:1;width:16px;height:16px;margin:-8px 0 0 -8px}
.cb-pt.on::after{opacity:1;transform:none}
.cb-map-w{left:0;top:0;width:100%;height:100%}.cb-map-w>*{position:absolute}
.cb-card{left:1100px;top:690px;z-index:4;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.cb-card.on{opacity:1;transform:none;pointer-events:auto}
.cb-card b{display:block;font:700 52px/1 Barlow,sans-serif;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.cb-card .m{display:block;margin-top:10px}
.cb-card a.m{display:inline-block;margin-top:14px;border-bottom:1.5px solid var(--n);padding-bottom:2px}
.cb-q{left:64px;top:620px}
.cb-q p:first-child{font:italic 300 64px/1 Barlow,sans-serif;letter-spacing:-.03em;white-space:nowrap}
.cb-q .m{margin:14px 0 18px}
.cb-q .pill{background:var(--n);color:#fff}
.cb-seo{left:64px;top:1050px;width:840px;border-top:1px solid rgba(11,11,11,.2);padding-top:20px}
.cb-seo h2{font:700 12px/1.3 Barlow,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;opacity:.7}
.cb-seo div{columns:3;column-gap:26px}
.cb-seo p{font:400 12.5px/1.55 Barlow,sans-serif;opacity:.55;margin-bottom:10px}
.cb-zl{left:0;top:0}

/* ---------- POR QUÉ ELEGIRNOS ---------- */
.s-pq{background:var(--n)}.s-pq .cv{height:1040px}
.pq-f{left:64px;top:84px}
.pq-t{left:58px;top:124px;font:800 98px/.88 Barlow,sans-serif;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}
.pq-t .it{display:block;font-size:114px;color:var(--o)}
.pq-list{left:0;top:0;width:100%;height:100%}
.pq-i{position:absolute;left:calc(var(--x)*1px);top:calc(var(--y)*1px)}
.pq-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--o);box-shadow:0 0 0 5px var(--n);transition:all .3s}
.pq-b{position:absolute;top:0;left:32px;font-size:calc(var(--s)*1px);transform:translateY(-.5em);white-space:nowrap;text-align:left;transition:opacity .35s,font-size .35s;cursor:pointer}
.pq-i.L .pq-b{left:auto;right:32px;text-align:right}
.pq-K{font:800 1em/.95 Barlow,sans-serif;letter-spacing:-.035em;text-transform:uppercase}
.pq-I{font:italic 300 1.05em/.95 Barlow,sans-serif;letter-spacing:-.035em;transition:color .3s}
.pq-I.sm{font-size:.8em}
.pq-d{font:400 15px/1.45 Barlow,sans-serif;color:#e4e4e4;width:300px;margin-top:10px;white-space:normal}
.pq-i.L .pq-d{margin-left:auto}
.pq-q{position:absolute;width:250px;white-space:normal;text-align:left;opacity:0;transform:translateY(8px);transition:opacity .35s .1s,transform .35s .1s;pointer-events:none}
.pq-q p{font:italic 300 17px/1.4 Barlow,sans-serif;color:var(--c)}
.pq-q .m{display:block;margin-top:10px;font-size:10px;color:var(--o);white-space:normal}
.pq-list.has .pq-i:not(.on) .pq-b{opacity:.28}
.pq-list.has .pq-i:not(.on) .pq-dot{background:#7a3410}
.pq-i.on .pq-b{font-size:calc(var(--s)*1.18px)}
.pq-i.on .pq-dot{left:-9px;top:-9px;width:18px;height:18px}
.pq-i.on .pq-I{color:var(--o)}
.pq-i.on .pq-q{opacity:1;transform:none}
.pq-i br.ba,.pq-i br.bm{display:none}.pq-i.on br.ba{display:inline}
.pqr .pq-dot{opacity:0;transform:scale(.3);transition:opacity .25s,transform .25s,left .3s,top .3s,width .3s,height .3s,background .3s}.pqr .pq-i.rch .pq-dot{opacity:1;transform:none}
.pq-i1 .pq-q{left:318px;top:137px}
.pq-i3.on .pq-b{font-size:calc(var(--s)*1.1px)}
section[id],#propuesta,#sumate,#faq{scroll-margin-top:72px}
.pq-i3 .pq-q{left:328px;top:70px}

/* ---------- FAQ ---------- */
.s-fq{background:var(--c);color:var(--n)}.s-fq .cv{height:auto;min-height:860px}
svg.ln.fq-ld{width:100%;height:100%}svg.ln.fq-ld path{vector-effect:non-scaling-stroke}
.fq-head{left:0;top:0;width:680px;height:400px;will-change:transform}.fq-head>*{position:absolute}
.fq-f{left:64px;top:84px}
.fq-t{left:58px;top:124px;font:800 80px/.9 Barlow,sans-serif;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}
.fq-t .it{display:block;font-size:108px;color:var(--os)}
.fq-list{position:relative;left:auto;top:auto;margin-left:680px;width:700px;padding:150px 0 30px}
.fq-i{margin-bottom:58px}
.fq-q{display:block;width:100%;text-align:left;font:400 34px/1.08 Barlow,sans-serif;letter-spacing:-.02em;color:rgba(11,11,11,.8);transition:font-size .35s,color .3s}
.fq-q b{font-weight:700}.fq-q i{font:italic 300 1.06em/1 Barlow,sans-serif;transition:color .3s}
.fq-q .pm{font-weight:300;color:var(--os);margin-left:14px}
.fq-q .pm::before{content:"+"}
.fq-a{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .3s}
.fq-a p{font:400 18px/1.5 Barlow,sans-serif;width:560px;padding-top:18px}
.fq-i.on{margin-bottom:50px}
.fq-i.on .fq-q{font-size:46px;color:var(--n)}.fq-i.on .fq-q i{color:var(--os)}
.fq-i.on .fq-q .pm::before{content:"—"}
.fq-i.on .fq-a{max-height:260px;opacity:1}
.fq-q:hover{color:var(--n)}

/* ---------- CIERRE ---------- */
.s-ct{background:var(--os);color:var(--n)}.s-ct .cv{height:980px}
.ct-top{left:0;top:0;width:100%;height:90px;background:var(--c)}
.ct-pan{left:780px;top:90px;width:660px;height:890px;background:var(--c)}
.ct-or{left:0;top:0;width:100%;height:100%}.ct-or>*{position:absolute}
svg.ln path.cr{stroke:var(--c)}
.t-m{display:none}
.ct-f{left:64px;top:174px}
.ct-t{left:58px;top:220px;font:800 118px/.88 Barlow,sans-serif;letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}
.ct-h{left:54px;top:420px;font:italic 300 160px/.9 Barlow,sans-serif;letter-spacing:-.04em;color:var(--c);white-space:nowrap}
.ct-p{left:64px;top:620px;width:520px;font:400 19px/1.45 Barlow,sans-serif}
.ct-s{left:64px;top:720px}
.ct-s .m{display:block}.ct-s .m:first-child{font-size:12px}
.ct-s a{display:block;font:italic 300 60px/.95 Barlow,sans-serif;letter-spacing:-.03em;margin:10px 0 14px;white-space:nowrap}
.ct-s a span{display:inline-block;color:var(--c);transition:transform .3s}.ct-s a:hover span{transform:translateX(10px)}
.ct-fm{left:780px;top:90px;width:660px;padding:70px 64px 0 60px}
.ct-fm h3{font:800 58px/.9 Barlow,sans-serif;letter-spacing:-.035em;text-transform:uppercase;margin:20px 0 34px}
.ct-fm h3 .it{display:block;font-size:72px;color:var(--os)}
.fr{display:flex;gap:28px;margin-bottom:26px}
.fr label{display:block;flex:1;min-width:0}
.fr label span{display:block;font-size:10px;margin-bottom:8px}
.fr input,.fr textarea{display:block;width:100%;border:0;border-bottom:1.5px solid var(--n);border-radius:0;background:transparent;padding:0 0 10px;font:300 18px/1.2 Barlow,sans-serif;color:var(--n);outline:none;resize:none;-webkit-appearance:none;appearance:none}
.fr input::placeholder,.fr textarea::placeholder{color:#8a8780;opacity:1}
.fr input:focus,.fr textarea:focus{border-bottom-color:var(--o)}
.fx{display:flex;align-items:center;gap:26px;margin-top:38px}
.fx button{background:var(--n);color:#fff;font-size:15px;padding:20px 30px}
.fx button[disabled]{opacity:.6}
.fx span{font:italic 300 22px/1.2 Barlow,sans-serif}.fx span a{border-bottom:1.5px solid var(--o)}
.fnote{margin-top:26px;font-size:10px;opacity:.7}
.fok{display:none;padding-top:10px}.fok b{display:block;font:800 44px/.95 Barlow,sans-serif;letter-spacing:-.03em;text-transform:uppercase}.fok p{font:400 19px/1.45 Barlow,sans-serif;margin-top:16px}
.ct-fm.sent form{display:none}.ct-fm.sent .fok{display:block}

/* ---------- FOOTER ---------- */
.s-ft{background:var(--n);color:#fff}.s-ft .cv{height:520px}
.ft-logo{left:64px;top:70px}.ft-logo img{height:84px}
.ft-p{left:64px;top:186px;width:340px;font:400 17px/1.45 Barlow,sans-serif;color:#cfcfcf}
.ft-r{left:64px;top:262px;color:var(--c)}.ft-r a:hover,.ft-col a:hover,.ft-z a:hover{color:var(--o)}
.ft-col{top:76px}.ft-col .m{display:block;color:var(--o);margin-bottom:6px}
.ft-col a{display:block;font:400 16px/1 Barlow,sans-serif;color:var(--c);margin-top:14px;white-space:nowrap}
.ft-c1{left:760px}.ft-c2{left:1010px}.ft-c3{left:1250px}
.ft-z{left:64px;right:64px;top:368px;border-top:1px solid #2b2b2b;padding-top:20px;display:flex;gap:22px;align-items:baseline}
.ft-z>.m:first-child{color:var(--o)}.ft-z .zl{color:var(--c)}.ft-z .zl i{color:var(--o)}
.ft-b{left:64px;right:64px;top:440px;border-top:1px solid #2b2b2b;padding-top:20px;display:flex;justify-content:space-between;color:#8c8c8c}
.ft-b .m{font-size:10px}
.wa-f{position:fixed;right:22px;bottom:22px;z-index:55;width:54px;height:54px;border-radius:50%;background:var(--n);color:var(--c);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1.5px var(--c);transition:transform .25s,background .25s}
.wa-f:hover{transform:scale(1.08);background:var(--o)}.wa-f svg{width:26px;height:26px}

/* ---------- animaciones de entrada (una sola vez) ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*1ms)}
.js .rv.in{opacity:1;transform:none}
.js .cb-pt{transform:scale(0);transition:transform .4s cubic-bezier(.3,1.6,.5,1) calc(var(--d,0)*1ms),width .3s,height .3s,margin .3s,opacity .3s}
.js .cb-map-w.in .cb-pt{transform:none}
.js .cb-map{opacity:0;transform:translateY(16px);transition:opacity .9s,transform .9s}
.js .cb-map-w.in .cb-map{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv,.js .cb-map,.js .cb-pt{opacity:1!important;transform:none!important;transition:none!important}}

/* =================== MOBILE (< 900 px) =================== */
@media (max-width:899px){
.cv{width:390px}
.dk{display:none!important}.mb{display:block!important}
.firma{font-size:10px}.m{font-size:9.5px}
svg.ln path,svg.ln circle.st{stroke-width:2.5}
.nav .cv{height:78px}.nav.sc .cv{height:64px}
.nav-logo{left:20px;top:22px}.nav-logo img{height:34px}.nav.sc .nav-logo{top:15px}
.nav-tog{display:block;right:8px;top:10px;width:50px;height:50px;z-index:3;transition:top .3s}.nav.sc .nav-tog{top:3px}
.nav-tog i{position:absolute;right:12px;height:2px;background:#fff;transition:transform .3s,opacity .3s,width .3s,top .3s}
.nav-tog i:nth-child(1){top:18px;width:26px}.nav-tog i:nth-child(2){top:27px;width:26px}.nav-tog i:nth-child(3){top:36px;width:16px}
.nav.open .nav-tog i:nth-child(1){top:27px;transform:rotate(45deg)}.nav.open .nav-tog i:nth-child(2){opacity:0}.nav.open .nav-tog i:nth-child(3){top:27px;width:26px;transform:rotate(-45deg)}
.nav-links{position:fixed;left:0;top:0;right:auto;width:390px;height:calc(100vh/var(--z,1));height:calc(100dvh/var(--z,1));background:var(--n);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;padding:112px 20px 28px;font:700 44px/1.08 Barlow,sans-serif;letter-spacing:-.03em;text-transform:uppercase;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s,transform .3s,visibility .3s;overflow:auto;z-index:2}
.nav.open .nav-links{opacity:1;visibility:visible;transform:none}
.nav.sc .nav-links{top:0}
.nav-links a:nth-child(even){font-style:italic;font-weight:300;text-transform:none;letter-spacing:-.02em;padding-left:34px}
.nav-links .nav-cta{border:0;border-radius:0;padding:0;font-weight:700;color:var(--o)}
.nav-links .nav-x{display:block;margin-top:auto;padding-top:26px;font:500 9.5px/2 "DM Mono",monospace;letter-spacing:.14em;color:#cfcfcf;text-transform:uppercase;width:100%;border-top:1px solid #2b2b2b}
.nav-links .nav-x a{font:inherit!important;padding:0!important;text-transform:uppercase!important;letter-spacing:inherit!important}
.nav-links .nav-x b{color:var(--o);font-weight:500;display:block}

.s-hero .cv{height:860px}
.h-ph{width:390px;height:860px;clip-path:path('M 390 440 H 264 A 130 130 0 0 0 134 570 V 860 H 390 Z')}
.h-ph img{left:134px;top:440px;width:256px;height:420px;object-position:58% 40%}
.h-f{left:20px;top:104px}
.h-t1{left:18px;top:128px;font-size:60px}
.h-t2{left:20px;top:250px;font-size:30px;line-height:1;font-weight:600}.h-t2 i{font-weight:300}
.h-d{left:20px;top:300px;width:250px;font:400 16px/1.45 Barlow,sans-serif}
.h-cta{left:20px;top:366px;font-size:12px;padding:14px 20px}
.h-met{left:20px;top:456px;bottom:auto;display:block;font-size:12px;line-height:1.3}
.h-met li{height:80px;width:104px}
.h-met b{display:block;font:700 26px/1 Barlow,sans-serif;margin:0 0 3px}

.s-qs .cv{height:1010px}
.q-fm{left:20px;top:44px}
.q-lg{left:20px;top:72px;width:350px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 18px}
.q-lg img{height:24px}.q-lg img.l1{height:30px}.q-lg img.l2{height:18px}.q-lg img.l6{height:30px}
.q-f{left:20px;top:228px}
.q-t{left:18px;top:252px;font-size:59px}
.q-ph{left:44px;top:530px;width:372px;height:396px}
.q-tag{left:44px;top:500px;font-size:9.5px;padding:9px 13px 10px}
.q-cap{left:44px;top:938px;font-size:12px}

.s-sv .cv{height:1500px}
.sv-g path.band{stroke-width:110}
.sv-f{left:20px;top:64px}
.sv-t{left:18px;top:96px}
.sv-t small{height:auto;padding:0;margin-left:58px;font-size:30px}
.sv-t span{font-size:92px;margin-top:2px}
.sv-p{left:20px;top:232px;width:300px;font-size:17px}
.sv-r{left:20px;width:350px}
.sv-r1{top:330px;height:214px}.sv-r2{top:544px;height:236px}.sv-r3{top:780px;height:196px}.sv-r4{top:976px;height:200px}
.sv-end{left:20px;top:1176px;width:350px}
.sv-P{font-size:60px;top:26px}.sv-s{font-size:27px}.sv-d{font-size:14px;left:0;top:140px;white-space:normal;width:300px}
.sv-r1 .sv-s{left:100px;top:92px}
.sv-r2 .sv-P{font-size:51px;top:30px}.sv-r2 .sv-s{left:-16px;top:78px}.sv-r2 .sv-s u{font-size:54px;vertical-align:-8px;margin-right:8px}.sv-r2 .sv-d{top:146px}
.sv-r3 .sv-P{font-size:54px;top:56px}.sv-r3 .sv-s{right:14px;top:24px}.sv-r3 .sv-d{top:124px}
.sv-r4 .sv-P{font-size:64px;top:26px}.sv-r4 .sv-s{left:32px;top:96px;font-size:24px}
.sv-m1{left:150px;top:537px;padding:0 10px}
.sv-m2{right:20px;top:722px;padding:6px 10px}
.sv-ct text{font-size:9px;letter-spacing:1.3px}

.s-tb .cv{height:1052px}
.tb-f{left:20px;top:64px}.tb-t{left:17px;top:88px;font-size:70px}.tb-m{left:20px;top:176px}
.tb-lb{padding:8px 10px}.tb-lb b{font-size:11px}.tb-lb .m{font-size:8px;margin-top:4px}
.tb-co{left:20px;top:206px;width:208px;height:300px}
.tb-fo{left:234px;top:206px;width:136px;height:170px}
.tb-ba{left:234px;top:382px;width:136px;height:124px}
.tb-cv{left:170px;top:512px;width:220px;height:290px}
.tb-all{left:20px;top:582px;width:144px;height:220px}
.tb-all p{left:14px;top:14px;font-size:22px;line-height:1.04}.tb-all span{right:12px;bottom:6px;font-size:48px}
.tb-ru{left:20px;top:808px;width:350px;height:220px}

.s-cb .cv{height:1693px}
.cb-f{left:20px;top:24px}
.cb-t{left:18px;top:50px;font-size:54px}.cb-t .it{font-size:84px}
.cb-p{left:20px;top:236px;width:230px;font-size:15px}
.cb-pt{left:calc(var(--mx)*1px);top:calc(var(--my)*1px)}
.cb-pt::before{inset:-13px}
.cb-card{left:226px;top:724px}
.cb-card b{font-size:34px}.cb-card .m{margin-top:8px;white-space:normal;width:160px}.cb-card a.m{margin-top:10px;width:auto;white-space:nowrap}.pq-i3.on .pq-b{font-size:calc(var(--ms)*1px)}
.cb-q{left:80px;top:1018px}
.cb-q p:first-child{font-size:46px}.cb-q .m{margin:10px 0 14px}.cb-q .pill{font-size:12px;padding:14px 20px}
.cb-seo{left:20px;top:1208px;width:350px;padding-top:18px}
.cb-seo h2{font-size:11px}.cb-seo div{columns:1}
.t-d{display:none}.t-m{display:inline}

.s-pq .cv{height:auto;padding-bottom:100px}
.pq-f{left:20px;top:56px}
.pq-t{left:17px;top:82px;font-size:66px}.pq-t .it{font-size:82px}
.pq-list{position:relative;left:auto;top:auto;height:auto;padding-top:300px}
.pq-i{position:relative;left:auto;top:auto;margin-left:calc(var(--mx)*1px);padding-bottom:42px}
.pq-dot{top:calc(var(--ms)*.5px - 5px);left:-5px;width:10px;height:10px;box-shadow:0 0 0 4px var(--n)}
.pq-b,.pq-i.L .pq-b{position:relative;left:auto;right:auto;margin-left:22px;text-align:left;transform:none;font-size:calc(var(--ms)*1px)}
.pq-K,.pq-I{line-height:.98}
.pq-I.sm{font-size:.86em}
.pq-d,.pq-i.L .pq-d{font-size:14px;width:270px;margin:8px 0 0;display:none}
.pq-q{position:static;width:270px;display:none;margin-top:14px;opacity:1;transform:none}
.pq-q .m{font-size:9.5px}
.pq-list.has .pq-i:not(.on) .pq-b{opacity:.52}
.pq-i.on .pq-b{font-size:calc(var(--ms)*1px)}
.pq-i.on .pq-dot{left:-8px;top:calc(var(--ms)*.5px - 8px);width:16px;height:16px;box-shadow:0 0 0 4px var(--n),0 0 0 5.5px var(--o)}
.pq-i.on .pq-d,.pq-i.on .pq-q{display:block}
.pq-i br.bm{display:inline}.pq-i br.ba,.pq-i.on br.ba{display:none}
.pq-ml{left:0;top:0;width:390px;height:100%}
svg.ln.pq-ml path.bg{display:none}svg.ln.pq-ml .hd{fill:var(--o);stroke:var(--n);stroke-width:3}

.s-fq .cv{height:auto;padding-bottom:30px}
.fq-f{left:20px;top:56px}
.fq-t{left:17px;top:82px;font-size:54px}.fq-t .it{font-size:84px}
.fq-list{width:340px;margin-left:20px;padding:300px 0 0}
.s-fq .cv{min-height:0}.fq-head{width:390px;transform:none!important}
.fq-i{margin-bottom:34px}.fq-i.on{margin-bottom:34px}
.fq-q{font-size:23px;line-height:1.1}.fq-q .pm{margin-left:10px}
.fq-i.on .fq-q{font-size:30px}
.fq-a p{font-size:15px;width:auto;padding-top:14px}
.fq-i.on .fq-a{max-height:300px}
.fq-l2{top:auto!important;bottom:0}

.s-ct .cv{height:auto}
.ct-top,.ct-pan{display:none}
.ct-or{position:relative!important;width:390px;height:630px}
.ct-or>*{position:absolute}
.ct-f{left:20px;top:56px}
.ct-t{left:17px;top:84px;font-size:66px}
.ct-h{left:15px;top:204px;font-size:90px}
.ct-p{left:20px;top:310px;width:300px;font-size:16px}
.ct-s{left:20px;top:460px}
.ct-s .m:first-child{font-size:9.5px}.ct-s .m:last-child{white-space:normal;width:300px}
.ct-s a{font-size:44px;margin:8px 0 12px}
.ct-fm{position:relative!important;left:auto;top:auto;width:390px;padding:52px 20px 60px;background:var(--c)}
.ct-fm h3{font-size:46px;margin:16px 0 30px}.ct-fm h3 .it{font-size:58px}
.fr{gap:18px;margin-bottom:24px}.fr.w{display:block}.fr.w label+label{margin-top:24px}
.fr label span{font-size:9.5px}.fr input,.fr textarea{font-size:17px}
.fx{display:block;margin-top:34px;text-align:center}
.fx button{display:flex;width:100%;justify-content:center;font-size:14px;padding:19px 0}
.fx span{display:block;font-size:20px;margin-top:20px}
.fnote{text-align:center;margin-top:20px;font-size:9.5px}

.s-ft .cv{height:764px}
.ft-logo{left:20px;top:52px}.ft-logo img{height:64px}
.ft-p{left:20px;top:150px;width:300px;font-size:16px}
.ft-r{left:20px;top:226px}
.ft-c1{left:20px;top:304px}.ft-c2{left:214px;top:304px}.ft-c3{left:214px;top:440px}
.ft-col .m{margin-bottom:4px}
.ft-z{left:20px;right:20px;top:544px;display:block;padding-top:18px}
.ft-z>.m:first-child{display:block;margin-bottom:10px}.ft-z .zl{display:block;white-space:normal;line-height:2.1}
.ft-b{left:20px;right:20px;top:660px;display:block;padding-top:18px}
.ft-b .m{display:block;font-size:9px;white-space:normal}.ft-b .m+.m{margin-top:10px}
.wa-f{right:14px;bottom:14px;width:50px;height:50px}
}
/* =================== TABLET (600–899 px): versión celular con tamaño tope, centrada =================== */
@media (min-width:586px) and (max-width:899px){
main .cv,.s-ft .cv{overflow:hidden}
.s-ct{background:linear-gradient(var(--os) 0,var(--os) calc(630px*var(--z,1)),var(--c) calc(630px*var(--z,1)))}
.nav-links{width:calc(100vw/var(--z,1));padding-left:calc((100vw/var(--z,1) - 390px)/2 + 20px);padding-right:calc((100vw/var(--z,1) - 390px)/2 + 20px)}
}

/* --- menú: desplegables de Cobertura y Trabajos --- */
.nav-dd{position:relative;display:flex;align-items:center;height:100%}
.nav-dt{display:none}
.nav-dp{position:absolute;left:-22px;top:100%;min-width:190px;padding:14px 0 10px;background:var(--n);border:1px solid #262626;border-top:2px solid var(--o);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:5}
.nav-dd::after{content:"";position:absolute;left:-22px;right:-22px;top:100%;height:14px}
.nav-dp{margin-top:10px}
.nav-dd:hover .nav-dp,.nav-dd:focus-within .nav-dp,.nav-dd.op .nav-dp{opacity:1;visibility:visible;transform:none}
.nav-dd.cl .nav-dp{opacity:0!important;visibility:hidden!important}
.nav-dp a{position:relative;padding:9px 26px 9px 22px;font:400 14px/1.2 Barlow,sans-serif;white-space:nowrap;color:#fff;transition:color .2s,padding .2s}
.nav-dp a::before{content:"";position:absolute;left:10px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--o);opacity:0;transition:opacity .2s}
.nav-dp a:hover,.nav-dp a:focus-visible{color:var(--o);padding-left:26px;padding-right:22px}.nav-dp a:hover::before,.nav-dp a:focus-visible::before{opacity:1}
@media (max-width:899px){
.nav-dd{display:flex;flex-wrap:wrap;align-items:center;width:100%;height:auto}.nav-dd::after{display:none}
.nav-dd>a{flex:0 1 auto}
.nav-dd.nav-it>a{font-style:italic;font-weight:300;text-transform:none;letter-spacing:-.02em;padding-left:34px}
.nav-dt{display:block;position:relative;width:44px;height:44px;margin-left:6px;flex:none}
.nav-dt i::before,.nav-dt i::after{content:"";position:absolute;left:13px;top:21px;width:18px;height:2px;background:var(--o);transition:transform .25s}
.nav-dt i::after{transform:rotate(90deg)}.nav-dd.op .nav-dt i::after{transform:rotate(0)}
.nav-dp{position:static;flex:0 0 100%;min-width:0;margin:0;padding:0;border:0;background:none;opacity:1;visibility:visible;transform:none;display:none}
.nav-dd.op .nav-dp{display:flex;padding:8px 0 14px 4px}.nav-dd.nav-it.op .nav-dp{padding-left:38px}
.nav-links .nav-dp a{font:400 20px/1.2 Barlow,sans-serif!important;letter-spacing:0!important;text-transform:none!important;padding:7px 0 7px 16px!important;color:#e6e6e6}
.nav-dp a::before{left:0;opacity:1}
.nav-dd:hover .nav-dp,.nav-dd:focus-within .nav-dp{transform:none}
}
.nav-mo{display:none}
@media (max-width:899px){
.nav-dk{display:none!important}.nav-mo{display:block}
.nav-dd>a{flex:1 1 0;min-width:0}.nav-dd.nav-it>a{flex:1 1 0}
.nav-dd{cursor:pointer;-webkit-tap-highlight-color:transparent}
.nav-dt{pointer-events:none;order:1;margin-left:0}.nav-dp{order:3}
.nav-dd.op .nav-dp{padding:6px 0 16px 4px}.nav-dd.nav-it.op .nav-dp{padding-left:38px}
.nav-links .nav-dp a{font:500 15px/1.2 Barlow,sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:9px 0 9px 16px!important;color:#e6e6e6;font-style:normal!important}
.nav-links .nav-dp a.nav-mo{color:var(--o)}
}
