/* Marín Grúas · tema-560.css v6 · prototipo (solo /dev/). Parte 1: recoloreo generado desde site.css (mismo selector, solo colores). Parte 2: layout envolvente, menú y correcciones. */
:root{--azul:#08337D;--int:#08337D;--lum:#08337D;--yl:#FDCC0D;--soft:rgba(8,51,125,.08);--tint:rgba(8,51,125,.05);--ysoft:rgba(253,204,13,.24);--ink:#08337D;--mut:rgba(8,51,125,.72);--line:rgba(8,51,125,.14);--sh:0 6px 26px rgba(8,51,125,.07);--sh2:0 18px 50px rgba(8,51,125,.12)}body{background:linear-gradient(rgba(8,51,125,.05),rgba(8,51,125,.05)) #FFFFFF}.btn-yl{box-shadow:0 8px 22px rgba(253,204,13,.35)}.btn-yl:hover{box-shadow:0 12px 30px rgba(253,204,13,.55)}.btn-az{box-shadow:0 8px 22px rgba(8,51,125,.28)}.btn-az:hover{background:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16)) #08337D}.btn-nv:hover{background:linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16)) #08337D}header.hd{background:transparent}header.hd.mini{background:rgba(8,51,125,.97);box-shadow:0 10px 34px rgba(8,51,125,.35)}nav.mainnav{background:rgba(8,51,125,.35)}header.hd.mini nav.mainnav{background:rgba(255,255,255,.1)}.mega{box-shadow:0 24px 60px rgba(8,51,125,.18)}.mega-help:hover{background:rgba(8,51,125,.12)}.burger{background:rgba(8,51,125,.4)}.mnav{background:rgba(8,51,125,.42)}.mnav .panel{background:var(--azul)}.heroF .veil{background:linear-gradient(10deg,rgba(8,51,125,.94) 8%,rgba(8,51,125,.5) 45%,rgba(8,51,125,.18) 75%,rgba(8,51,125,.08))}.reqbar{box-shadow:0 20px 54px rgba(8,51,125,.3)}.reqbar .reqgo:hover{box-shadow:0 12px 26px rgba(253,204,13,.55)}.stars::before{color:#FDCC0D}.rev-card{box-shadow:0 4px 14px rgba(8,51,125,.05)}.rev-card:hover{border-color:rgba(10,65,140,.18);box-shadow:0 10px 24px rgba(8,51,125,.1)}.rev-src{background:#F3F6FA}.rev-src .ic{color:#517EB4}.rev-nav{box-shadow:0 6px 16px rgba(8,51,125,.14)}.heroA .ha-veil{background:linear-gradient(180deg,rgba(8,51,125,.82),rgba(8,51,125,.7) 40%,rgba(8,51,125,.94)),radial-gradient(900px 500px at 50% 16%,rgba(253,204,13,.12),transparent 60%)}.hero-ph .tag-t{box-shadow:0 10px 26px rgba(8,51,125,.18)}.hero-ph .tag-b{box-shadow:0 14px 34px rgba(8,51,125,.2)}.accesos{background:rgba(8,51,125,.5)}.accesos-lite a:hover{box-shadow:var(--sh)}.fam:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.12)}.man-opt:hover .tile{box-shadow:0 8px 18px rgba(8,51,125,.14)}.man-opt.on .tile{box-shadow:0 8px 20px rgba(228,184,12,.42)}.man-view .rest span{background:rgba(253,204,13,.18)}.mht-hd .mht-lbl{color:rgba(253,204,13,.85)}.mht-c:hover{border-color:var(--yl);background:rgba(255,255,255,.1)}.mht-ic{background:rgba(253,204,13,.14)}.p6{border:0;border-radius:12px}.p6.hl{background:rgba(253,204,13,.07)}.p6::before{background:rgba(253,204,13,.55)}.p6 i{border-radius:50%;border:2px solid rgba(253,204,13,.65)}.osv .bar span{background:rgba(253,204,13,.18)}.osv .st.g{background:rgba(253,204,13,.16);color:#FDCC0D}.osv .st.y{background:rgba(253,204,13,.18)}.pexp-n{box-shadow:0 6px 16px rgba(228,184,12,.3)}.p6.hl i{box-shadow:0 0 0 6px rgba(253,204,13,.18)}.p6::before{background:rgba(253,204,13,.28)}.osv .row.live{border-color:rgba(253,204,13,.42)}.caso:hover{box-shadow:var(--sh2)}.caso .ph .loc{background:rgba(8,51,125,.85)}.caso-c{border:1px solid rgba(10,65,140,.09);border-radius:18px}.caso-c:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.12)}.caso-c .loc{background:rgba(8,51,125,.82)}.gar{background:radial-gradient(700px 300px at 88% -30%,rgba(253,204,13,.13),transparent 60%),linear-gradient(120deg,var(--e),var(--e2))}.gar .sello{background:rgba(253,204,13,.16)}.gar-chips span{border:1px solid rgba(253,204,13,.28);border-radius:999px}.eh-plain{background:rgba(8,51,125,.06)}.faq{border:1px solid var(--line);border-radius:13px}.faq[open]{border-color:rgba(228,184,12,.55);box-shadow:0 6px 16px rgba(8,51,125,.07)}.cap-callout{background:linear-gradient(120deg,rgba(253,204,13,.14),rgba(253,204,13,.05));border:1px solid rgba(228,184,12,.32);border-radius:14px}.cap-var:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.1)}.cap-anal{background:linear-gradient(120deg,rgba(253,204,13,.13),rgba(253,204,13,.06));border:1px solid rgba(228,184,12,.3);border-radius:16px}.cap-cap{background:rgba(253,204,13,.14);border-color:rgba(253,204,13,.4)}.cmp-c.mg{background:linear-gradient(180deg,rgba(253,204,13,.09),rgba(253,204,13,.05))}.cmp-out{background:linear-gradient(120deg,rgba(253,204,13,.16),rgba(253,204,13,.07));border:1px solid rgba(228,184,12,.38);border-radius:14px}.faq-chip{border:1px solid rgba(228,184,12,.5);border-radius:999px}.cierre::before{background:linear-gradient(105deg,var(--e) 0%,rgba(8,51,125,.9) 38%,rgba(8,51,125,.6) 62%,rgba(8,51,125,.3) 100%)}.cierre::after{background:linear-gradient(0deg,rgba(8,51,125,.5) 0%,transparent 30%)}.c-panel{background:rgba(8,51,125,.62)}.cb-yl .cb-ic{background:rgba(8,51,125,.14)}.cb-ln .cb-ic{background:rgba(253,204,13,.16)}@media(max-width:900px){.cierre::before{background:linear-gradient(160deg,var(--e) 0%,rgba(8,51,125,.92) 45%,rgba(8,51,125,.78) 100%)}}.mapc{background:linear-gradient(180deg,#FBFCFD,#F2F5F9)}.mapc .st{fill:rgba(8,51,125,.3)}.mapc .st:hover{fill:rgba(253,204,13,.6)}.covsearch{box-shadow:0 12px 32px rgba(8,51,125,.16)}.covsearch:focus-within{box-shadow:0 12px 32px rgba(8,51,125,.16),0 0 0 3px rgba(8,51,125,.1)}.covres .badge{background:rgba(253,204,13,.22);color:#08337D}.covres .badge.rev{background:rgba(253,204,13,.32);color:#08337D}.covres .cities .ct.hit{box-shadow:0 3px 8px rgba(228,184,12,.35)}.cbx{box-shadow:0 18px 44px rgba(8,51,125,.2)}.mapreset{background:rgba(8,51,125,.84);box-shadow:0 8px 22px rgba(8,51,125,.3)}.mapreset:hover{background:rgba(8,51,125,.95)}.pgh-cov .cs.grow{background:rgba(253,204,13,.12);border-color:rgba(253,204,13,.3)}.pgh-cov .cs.grow .dot{box-shadow:0 0 0 0 rgba(253,204,13,.6)}@keyframes growpulse{0%{box-shadow:0 0 0 0 rgba(253,204,13,.55)}70%{box-shadow:0 0 0 8px rgba(253,204,13,0)}100%{box-shadow:0 0 0 0 rgba(253,204,13,0)}}.lista-ch svg.ic{background:rgba(253,204,13,.4)}.plaza{border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh)}.plaza:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.1)}@keyframes plazaFlash{0%,100%{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.1)}50%{box-shadow:inset 0 0 0 2.5px var(--yl),0 10px 26px rgba(228,184,12,.35)}}.chatw .body{background:linear-gradient(160deg,rgba(8,51,125,.06),rgba(8,51,125,.1))}.chatw .msg.bot{box-shadow:0 4px 14px rgba(8,51,125,.07)}.chatw .msg.user{background:rgba(253,204,13,.35)}.chatw .qr button{border:1.5px solid rgba(8,51,125,.4);border-radius:999px}footer.ft{background:linear-gradient(120deg,var(--e),var(--e2))}.mbar{box-shadow:0 -8px 30px rgba(8,51,125,.3)}.fab-label{box-shadow:0 6px 18px rgba(8,51,125,.18)}.fab-circle{box-shadow:0 10px 24px rgba(8,51,125,.26)}.fc-tel{background:linear-gradient(135deg,#FED94A,var(--yl) 55%,var(--yd))}.fc-cot{background:linear-gradient(140deg,#114F99,var(--azul))}.fc-cob{background:linear-gradient(140deg,#114F99,#08337D)}.fc-gru{border:1.5px solid rgba(253,204,13,.3)}.fab-hint{box-shadow:0 6px 18px rgba(8,51,125,.18)}.fc-toggle{background:var(--azul)}.fc-toggle{background:radial-gradient(120% 110% at 30% 18%,rgba(17,79,153,.55) 0%,transparent 62%),
             linear-gradient(160deg,#0A418C 0%,#08337D 46%,#05245C 100%);box-shadow:0 14px 30px rgba(5,36,92,.5),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -14px 26px rgba(0,0,0,.3)}.fc-toggle::after{box-shadow:0 0 0 1.4px rgba(253,204,13,.9),0 0 20px 2px rgba(253,204,13,.42)}.fab-tap .tap-dot{filter:drop-shadow(0 0 3px rgba(253,204,13,.95))}.fab-tap .tap-halo{filter:drop-shadow(0 0 2px rgba(253,204,13,.8))}.fab-x{box-shadow:0 3px 8px rgba(8,51,125,.35)}@keyframes fabpulse-tel{0%{box-shadow:0 0 0 0 rgba(253,204,13,.45)}70%{box-shadow:0 0 0 5px rgba(253,204,13,0)}100%{box-shadow:0 0 0 0 rgba(253,204,13,0)}}.fab.open .fc-toggle{background:#114F99}.gbar{background:rgba(8,51,125,.9);box-shadow:0 12px 34px rgba(8,51,125,.34)}.gbar-ic{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 4px 10px rgba(228,184,12,.3)}:root{--e:#08337D;--e2:#0A418C;--e3:#114F99;--yd:#E4B80C;--bl:#4172AD;--ln2:rgba(10,65,140,.11);--mut2:rgba(8,51,125,.55)}body{background:linear-gradient(180deg,#E6ECF4 0%,#F1F4F9 40%,#EDF2F7 100%)}header.hd{background:linear-gradient(120deg,rgba(8,51,125,.97),rgba(10,65,140,.97));box-shadow:0 14px 36px rgba(8,51,125,.35),inset 0 1px 0 rgba(255,255,255,.1)}header.hd.mini{background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(8,51,125,.16),inset 0 1px 0 #fff}nav.mainnav{background:rgba(255,255,255,.08)}header.hd.mini nav.mainnav{background:rgba(10,65,140,.05)}.nvitem>a:hover,.nvitem:hover>a{box-shadow:0 4px 12px rgba(8,51,125,.12)}header.hd.mini .nvitem>a{color:rgba(8,51,125,.66)!important}header.hd.mini .nvitem>a:hover,header.hd.mini .nvitem:hover>a{box-shadow:0 4px 12px rgba(8,51,125,.2)}.hd-cta .btn-yl{background:linear-gradient(94deg,#FED94A,var(--yl) 40%,var(--yd));box-shadow:0 8px 20px rgba(228,184,12,.35),inset 0 1px 0 rgba(255,255,255,.5)}.burger{background:rgba(255,255,255,.1)}header.hd.mini .burger{background:rgba(10,65,140,.05)}.pgh{box-shadow:0 22px 50px rgba(8,51,125,.25)}.btn.go{background:linear-gradient(94deg,#FED94A,var(--yl) 40%,var(--yd));box-shadow:0 10px 24px rgba(228,184,12,.38),inset 0 1px 0 rgba(255,255,255,.5)}.btn.go:hover{box-shadow:0 14px 30px rgba(228,184,12,.48)}.ap-hero{box-shadow:0 30px 70px rgba(8,51,125,.24)}.ap-hero .v{background:linear-gradient(94deg,rgba(8,51,125,.94) 0%,rgba(10,65,140,.72) 42%,rgba(10,65,140,.06) 70%),linear-gradient(0deg,rgba(8,51,125,.5),transparent 45%)}.ap-hero .chips span{background:rgba(255,255,255,.12)}@media(min-width:901px){.ap-hero.ap-split{background:linear-gradient(115deg,#08337D 0%,#08337D 54%,#0A418C 100%)}.ap-hero.ap-split>img{box-shadow:0 18px 44px rgba(5,36,92,.42)}.ap-hero.ap-split .v{background:radial-gradient(880px 400px at 4% 2%,rgba(253,204,13,.085),transparent 60%),linear-gradient(0deg,rgba(5,36,92,.34),transparent 52%)}}.qbar{box-shadow:0 26px 60px rgba(8,51,125,.4),inset 0 1px 0 rgba(255,255,255,.1)}.qbar .lab{background:linear-gradient(120deg,#FED94A,var(--yl) 45%,var(--yd));box-shadow:0 8px 22px rgba(228,184,12,.35),inset 0 1px 0 rgba(255,255,255,.5)}.qbar .lab .seal{box-shadow:0 4px 10px rgba(8,51,125,.3)}.qbar .lab small{color:rgba(8,51,125,.72)}.qbar .f .n{background:rgba(10,65,140,.1)}.qbar .f input,.qbar .f select{color:rgba(8,51,125,.55)}.qbar .f input::placeholder{color:rgba(8,51,125,.42)}.qbar .f .tail{color:rgba(8,51,125,.45)}.qbar .gow{background:linear-gradient(120deg,#FED94A,var(--yl) 45%,var(--yd));box-shadow:0 10px 26px rgba(228,184,12,.4),inset 0 1px 0 rgba(255,255,255,.5)}.qbar .gow::after{border-radius:999px;border:2px solid rgba(253,204,13,.45)}.ap-stats>div{box-shadow:0 6px 18px rgba(8,51,125,.06),inset 0 1px 0 #fff}.ap-stats>div:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.12)}.ap-stats .ico{box-shadow:0 5px 12px rgba(228,184,12,.35)}.ap-stats .ico.ico-flag{box-shadow:0 4px 10px rgba(8,51,125,.12)}.ap .gc.gc-cta::before{background:radial-gradient(circle at center,rgba(253,204,13,.16),transparent 62%)}.gc-cta-ic{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 8px 18px rgba(228,184,12,.3)}.ap .fleet{box-shadow:0 6px 18px rgba(8,51,125,.06),inset 0 1px 0 #fff}.ap .gc{border:1px solid rgba(10,65,140,.09);border-radius:18px}.ap .gc:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.12)}.ap .gc .tag{background:linear-gradient(92deg,#FED94A,var(--yl));box-shadow:0 3px 8px rgba(8,51,125,.25)}.ap .flow{box-shadow:0 6px 18px rgba(8,51,125,.06),inset 0 1px 0 #fff}.ap .nose{box-shadow:0 18px 44px rgba(8,51,125,.28),inset 0 1px 0 rgba(255,255,255,.07)}.ap .nose::before{background:radial-gradient(circle at center,rgba(253,204,13,.14),transparent 62%)}.ap .nose-ic{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 8px 18px rgba(228,184,12,.32)}.ap .stp .ln{background:repeating-linear-gradient(180deg,rgba(65,114,173,.4) 0 4px,transparent 4px 8px)}.ap .stp .ico{background:#F2F5F9}.ap-low .cov{box-shadow:0 18px 44px rgba(8,51,125,.3),inset 0 1px 0 rgba(255,255,255,.08)}.ap-low .mxmini .st{fill:#527FB5;stroke:rgba(211,222,236,.5);stroke-width:.5}.ap-low .mxmini .st:nth-of-type(3n){fill:#7398C3}.ap-low .mxmini .st:nth-of-type(3n+1){fill:#4172AD}.ap-low .mxmini .covdot{stroke:#08337D;stroke-width:.5}.ap-low .leg .a{background:#4172AD}.ap-low .leg .b{background:#7398C3}.ap-low .leg .c{background:#ADC2DC}.ap-low .ask{box-shadow:0 18px 44px rgba(8,51,125,.3),inset 0 1px 0 rgba(255,255,255,.08)}.ap-low .ask .fd{background:linear-gradient(95deg,var(--e) 0%,rgba(8,51,125,.92) 24%,rgba(8,51,125,.55) 52%,rgba(8,51,125,.18) 76%,transparent 100%)}.ap-logos span{color:rgba(8,51,125,.3)}@media(max-width:1180px){.ap-hero .v{background:linear-gradient(180deg,rgba(8,51,125,.94) 0%,rgba(8,51,125,.55) 45%,rgba(8,51,125,.8) 100%)}}@media(max-width:640px){.ap-hero .v{background:linear-gradient(180deg,rgba(8,51,125,.96) 0%,rgba(8,51,125,.86) 34%,rgba(8,51,125,.25) 62%,rgba(8,51,125,.55) 100%)}.ap .gc{border-radius:16px}}.mapc .st{fill:#4172AD}.mapc .st:nth-of-type(3n){fill:#4273AE}.mapc .st:nth-of-type(3n+1){fill:#114F99}.mapc .st:hover{fill:#7297C3}.mapc .covdot{fill:#FDCC0D}.mapc .cl-c{filter:drop-shadow(0 2px 4px rgba(8,51,125,.35))}.mapc .cl:hover .cl-c{fill:#114F99}.covleg{box-shadow:0 8px 22px rgba(8,51,125,.08)}.covleg .d-st{background:#4172AD}.covleg .d-pin{box-shadow:0 0 0 2px rgba(253,204,13,.28)}.cs-tag{border:1px solid rgba(228,184,12,.35);border-radius:999px}.covres .near li .pin{box-shadow:0 0 0 2px rgba(253,204,13,.3)}.covres .badge{background:rgba(253,204,13,.18);color:var(--azul)}.covres .badge.rev{background:rgba(10,65,140,.08);color:var(--mut2)}.wsteps .ws{background:rgba(10,65,140,.05)}.wbar{background:rgba(10,65,140,.08)}.wcov{background:rgba(10,65,140,.05)}.wcov.near{background:rgba(253,204,13,.14)}.wurg.u2{background:rgba(253,204,13,.16)}.solbar:not(.open):hover{border-color:rgba(10,65,140,.16);box-shadow:0 14px 30px rgba(8,51,125,.13),0 5px 12px rgba(228,184,12,.14)}.solbar-toggle:hover{background:rgba(253,204,13,.045)}.st-ic{background:linear-gradient(120deg,#FED94A,var(--yl) 45%,var(--yd));box-shadow:0 6px 16px rgba(228,184,12,.3)}.st-go{box-shadow:0 4px 12px rgba(228,184,12,.28)}.st-chev{background:rgba(10,65,140,.06)}.cal-pop{box-shadow:0 20px 54px rgba(8,51,125,.24)}.cal-day:hover:not(:disabled){background:rgba(253,204,13,.22)}.famc{border:1px solid var(--line);border-radius:24px;box-shadow:var(--sh)}.famc .ph{background:#0A418C}.famc-cta::before{background:radial-gradient(circle at top right,rgba(253,204,13,.16),transparent 55%)}.famc-cta:hover{box-shadow:0 16px 40px rgba(8,51,125,.3)}.famc-cta-ic{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 8px 18px rgba(228,184,12,.3)}.rednac .num-c{border-radius:12px}.rednac .num-c:hover{background:rgba(8,51,125,.05)}.rednac .num-ic{box-shadow:0 4px 10px rgba(8,51,125,.18)}.ac-it:hover,.ac-it.on{background:rgba(253,204,13,.18)}.hqk:hover{background:rgba(253,204,13,.14)}.hqk-ic{background:rgba(253,204,13,.16)}.hub-c-alt .hub-ic{background:rgba(253,204,13,.18)}.caso:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.12)}.hub-c:hover,.hub-k:hover{box-shadow:inset 0 0 0 1.5px var(--yl),0 8px 18px rgba(8,51,125,.12)}.fam:hover,.ap .gc:hover,.ap .gc.gc-cta:hover,.caso-c:hover,.caso:hover,.cap-var:hover,.plaza:hover,.ap-stats>div:hover,.hub-c:hover,.hub-k:hover{border-color:rgba(10,65,140,.16);box-shadow:0 14px 30px rgba(8,51,125,.13),0 5px 12px rgba(228,184,12,.14)}.accesos-lite a:hover{box-shadow:0 14px 30px rgba(8,51,125,.13),0 5px 12px rgba(228,184,12,.14)}.mht-c:hover{border-color:rgba(253,204,13,.45);background:rgba(253,204,13,.1)}.rednac .num-c:hover{background:rgba(253,204,13,.07)}.ap-low .cov::before{background:linear-gradient(120deg,#FFFFFF,#F1F5F9)}.ap-low .cov:hover,.ap-low .ask:hover{box-shadow:0 24px 54px rgba(8,51,125,.22),inset 0 1px 0 rgba(255,255,255,.4)}.proj-shell{background:linear-gradient(180deg,#FFFFFF,#FDFEFE)}.capx-badge{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 6px 14px rgba(228,184,12,.3)}.cxr-r{background:linear-gradient(120deg,var(--azul),#114F99)}.cxr-c{background:linear-gradient(120deg,rgba(253,204,13,.18),rgba(253,204,13,.08));border:1.5px solid rgba(228,184,12,.5)}.capx-slider{background:rgba(8,51,125,.14)}.capx-marks span.on{box-shadow:0 3px 8px rgba(228,184,12,.35)}.capx-keep li::before{box-shadow:0 0 0 2.5px rgba(253,204,13,.25)}.c2h-yes{background:linear-gradient(120deg,var(--azul),#114F99);box-shadow:0 6px 16px rgba(8,51,125,.22)}.c2h-vs{box-shadow:0 4px 10px rgba(228,184,12,.4)}.c2-r{background:linear-gradient(120deg,rgba(253,204,13,.16),rgba(253,204,13,.07));border:1px solid rgba(228,184,12,.28);border-radius:11px}.c2-r .v{box-shadow:0 3px 7px rgba(228,184,12,.35)}.pq-foot{border:1px solid rgba(228,184,12,.38);background:linear-gradient(120deg,rgba(253,204,13,.14),rgba(253,204,13,.06));border-radius:15px}.garn{box-shadow:0 24px 60px rgba(8,51,125,.3)}.garn-veil{background:linear-gradient(100deg,rgba(5,36,92,.985) 0%,rgba(5,36,92,.96) 32%,rgba(5,36,92,.86) 58%,rgba(5,36,92,.72) 100%),
             linear-gradient(0deg,rgba(5,36,92,.9) 0%,rgba(5,36,92,.2) 46%,transparent 70%),
             radial-gradient(760px 320px at 88% -8%,rgba(253,204,13,.09),transparent 62%)}.garn-cta{box-shadow:0 12px 30px rgba(253,204,13,.3)}.gnc{background:rgba(8,51,125,.62)}.gnc:hover{background:rgba(8,51,125,.72);border-color:rgba(253,204,13,.5)}.gnc[aria-expanded="true"]{background:rgba(8,51,125,.78)}.gnc-ic{border-radius:50%;border:1.6px solid rgba(253,204,13,.62)}.gnc-k{color:rgba(255,255,255,.82)}.gnp{border-radius:16px;background:linear-gradient(180deg,#FFFFFF,#F5F7FB);border:1px solid rgba(8,51,125,.1)}.gnp p{color:rgba(8,51,125,.86)}.garn-seal{border-radius:13px;background:rgba(253,204,13,.12);border:1px solid rgba(253,204,13,.42)}.ap-hero a.cpill:hover{border-color:rgba(253,204,13,.55)}footer.ft .fav-ic{border-radius:50%;background:rgba(253,204,13,.11);border:1px solid rgba(253,204,13,.36)}footer.ft .fpay-sello{border-radius:10px;background:rgba(253,204,13,.12);border:1px solid rgba(253,204,13,.4)}footer.ft .fpay-banks img:hover{border-color:rgba(253,204,13,.4)}@media(max-width:760px){.ap-seals .seals-l li,.ap-seals .seals-r{background:rgba(8,51,125,.07);border:1px solid rgba(8,51,125,.12);border-radius:999px}}@media(max-width:760px){.mcol-more{border-radius:999px;border:1.5px solid var(--line)}}.ap-hero .chips span{background:rgba(8,51,125,.42)}.ap-hero .chip-ck{background:rgba(253,204,13,.92)}.ap-micro .micro-dot{background:rgba(253,204,13,.45)}.garn-veil{background:linear-gradient(100deg,rgba(8,51,125,.97) 0%,rgba(8,51,125,.93) 32%,rgba(10,65,140,.86) 58%,rgba(10,65,140,.72) 100%),
             linear-gradient(0deg,rgba(8,51,125,.9) 0%,rgba(8,51,125,.2) 46%,transparent 70%),
             radial-gradient(760px 320px at 88% -8%,rgba(253,204,13,.1),transparent 62%)}.gnc-k{color:#FED94A}@media(max-width:760px){body{background:linear-gradient(180deg,#E7EDF5 0%,#F3F6FA 40%,#FBFCFD 100%)}header.hd,header.hd.mini{background:linear-gradient(118deg,rgba(8,51,125,.97),rgba(8,51,125,.97));box-shadow:0 14px 34px rgba(8,51,125,.34),inset 0 1px 0 rgba(255,255,255,.1)}header.hd .hd-cta .btn-yl.hd-tel{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 6px 14px rgba(228,184,12,.32)}.mnav{background:rgba(5,36,92,.6)}.mnav .panel{background:linear-gradient(165deg,#08337D 0%,#0A418C 44%,#08337D 100%)}.mnav .it .tile{background:rgba(253,204,13,.15)}.tabbar{box-sizing:border-box;background:linear-gradient(118deg,rgba(8,51,125,.97),rgba(8,51,125,.97));box-shadow:0 -14px 34px rgba(8,51,125,.34),inset 0 1px 0 rgba(255,255,255,.1)}.tb.on{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd))}.ap-seals .seals-l li{border:1px solid rgba(8,51,125,.07);border-radius:13px;box-shadow:0 3px 10px rgba(8,51,125,.05)}.ap-hero .v{background:
    linear-gradient(180deg,rgba(5,36,92,.7) 0%,rgba(5,36,92,.3) 26%,rgba(5,36,92,.6) 56%,rgba(5,36,92,.94) 100%)}.ap-hero .chips span{background:rgba(255,255,255,.13)}.rieldots i{background:rgba(8,51,125,.2)}.ap-stats > div{border:1px solid rgba(8,51,125,.07);border-radius:17px;box-shadow:0 7px 18px rgba(8,51,125,.07)}.ap .fleet .row .gc{box-shadow:0 12px 28px rgba(8,51,125,.22)}.ap .fleet .row .gc .ph::after{background:linear-gradient(0deg,rgba(5,36,92,.94) 8%,rgba(5,36,92,.5) 40%,rgba(5,36,92,.04) 70%)}.ap .fleet .row .gc .tag{box-shadow:0 5px 14px rgba(5,36,92,.45)}.ap .fleet .row .gc .bt i{box-shadow:0 6px 16px rgba(5,36,92,.4)}.cardw:not([style]){border-radius:17px;border:1px solid rgba(8,51,125,.06);box-shadow:0 6px 18px rgba(8,51,125,.07)}.cardw:not([style]) > .tile{background:rgba(8,51,125,.08)}.grid3 .cardw:nth-child(3n+1) > .tile{background:rgba(82,127,181,.12);color:#527FB5}.grid4 .cardw:nth-child(4n+1) > .tile{background:rgba(82,127,181,.12);color:#527FB5}.faq{border-radius:15px;border-color:rgba(8,51,125,.07);box-shadow:0 4px 13px rgba(8,51,125,.05)}.faq[open] summary{border-bottom:1px solid rgba(8,51,125,.06)}.p6{border-radius:15px;border:1px solid rgba(8,51,125,.06);box-shadow:0 4px 12px rgba(8,51,125,.05)}.p6.hl{background:linear-gradient(120deg,#FFFBEE,#FFF6D6);border-color:rgba(228,184,12,.4);box-shadow:0 7px 18px rgba(228,184,12,.18)}.plaza{border-radius:14px;box-shadow:0 5px 14px rgba(8,51,125,.06);border-color:rgba(8,51,125,.07)}a,button,summary,input,select,textarea{-webkit-tap-highlight-color:rgba(8,51,125,.12)}}@media(max-width:760px){.plg-btn{border:1px solid rgba(8,51,125,.07);border-radius:17px;box-shadow:0 7px 18px rgba(8,51,125,.07)}.plg-chev{background:rgba(8,51,125,.08)}.mcol-more{border-radius:17px;border:1px solid rgba(8,51,125,.07);box-shadow:0 6px 18px rgba(8,51,125,.07)}.ff{border:1px solid rgba(8,51,125,.1);border-radius:999px;box-shadow:0 3px 10px rgba(8,51,125,.06)}.ff.on{box-shadow:0 6px 16px rgba(8,51,125,.26)}.famc{border-radius:17px;border:1px solid rgba(8,51,125,.07);box-shadow:0 7px 18px rgba(8,51,125,.07)}.famc .tx .go{box-shadow:0 6px 14px rgba(8,51,125,.2)}}@media(max-width:760px){.mnc-tel{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 7px 16px rgba(228,184,12,.3)}footer.ft{background:linear-gradient(160deg,rgba(8,51,125,.99),rgba(8,51,125,.99));box-shadow:0 -10px 30px rgba(8,51,125,.26),inset 0 1px 0 rgba(255,255,255,.09)}footer.ft .cdat a .ic{background:rgba(253,204,13,.14)}.sc:not(.dark) .plg-sec,section.sc.alt .plg-sec{border-color:rgba(8,51,125,.07);box-shadow:0 6px 16px rgba(8,51,125,.07)}.sc:not(.dark) .plg-sec .plg-chev{background:rgba(8,51,125,.08)}}@media(max-width:760px){.fabx-lb{background:rgba(8,51,125,.93);box-shadow:0 6px 16px rgba(8,51,125,.24)}.fabx-c{box-shadow:0 10px 22px rgba(8,51,125,.28)}.fx-tel .fabx-c{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd))}.fx-mail .fabx-c{border:1px solid rgba(8,51,125,.08)}.pq-comp .c2h-no,.pq-comp .c2h-yes{border-radius:14px;border:1px solid rgba(8,51,125,.1)}.pq-comp[data-lado="l"] .c2h-no{box-shadow:0 7px 16px rgba(8,51,125,.22)}.pq-comp[data-lado="r"] .c2h-yes{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 7px 16px rgba(228,184,12,.26)}.pq-comp .cmp2-row{border-radius:14px;border:1px solid rgba(8,51,125,.07);box-shadow:0 4px 12px rgba(8,51,125,.05)}.mapc{background:none}.mapc .mxwrap{background:#F2F5F9}}@media(max-width:760px){.ap .ap-seals .seals-l li{border:1px solid rgba(8,51,125,.08);border-radius:999px;box-shadow:0 3px 10px rgba(8,51,125,.05)}}@media(max-width:760px){.pq-faq .pq-all{border-radius:17px;border:1px solid rgba(8,51,125,.07);box-shadow:0 6px 16px rgba(8,51,125,.07)}}@media(max-width:760px){.hub-kgrid .hub-k{border-radius:16px;border:1px solid rgba(8,51,125,.07);box-shadow:0 5px 14px rgba(8,51,125,.06)}.hub-kgrid .hub-k-soon{background:#FDFEFE}.hub-kgrid .hub-go{background:rgba(8,51,125,.08)}#soluciones .hub-c .hub-go{background:rgba(8,51,125,.08)}#soluciones .hub-c-alt .hub-go{background:rgba(253,204,13,.18)}}@media(max-width:760px){.mapc .busca.covsearch{box-shadow:0 6px 18px rgba(8,51,125,.1)}}@media(max-width:760px){.ap-hero .v{background:linear-gradient(180deg,
    rgba(5,36,92,.68) 0%,rgba(5,36,92,.30) 18%,rgba(5,36,92,.58) 42%,
    rgba(5,36,92,.88) 70%,rgba(5,36,92,.97) 100%)}.covpanel .covnote{background:rgba(8,51,125,.05)}}@media(max-width:760px){header.hd.mini .burger{background:rgba(255,255,255,.19)}}@media(max-width:760px){.wiz .wloc .btn.btn-yl{border:1.5px solid rgba(8,51,125,.16)}}@media(max-width:760px){.mapc .mxwrap{background:linear-gradient(180deg,#FBFCFD,#EFF3F8)}.rednac .num-c{border-radius:16px;border:1px solid rgba(8,51,125,.07);box-shadow:0 5px 14px rgba(8,51,125,.06)}}@media(max-width:760px){.covres .cov-stats3 > span{background:rgba(8,51,125,.05)}}@media(max-width:760px){.famc{border-radius:19px;border:1px solid rgba(8,51,125,.07);box-shadow:0 8px 22px rgba(8,51,125,.08)}.famc .tx .go{box-shadow:none}}.telbox{background:rgba(5,36,92,.62)}.telbox-p{background:linear-gradient(160deg,#08337D 0%,#0A418C 46%,#08337D 100%);box-shadow:0 30px 70px rgba(5,36,92,.5),inset 0 1px 0 rgba(255,255,255,.09)}.telbox-copy{background:linear-gradient(120deg,#FED94A,var(--yl) 55%,var(--yd));box-shadow:0 10px 24px rgba(228,184,12,.3)}.telbox-copy:hover{box-shadow:0 14px 30px rgba(228,184,12,.42)}
/* ===== Marín Grúas · Tema 560 «Blanco central · Azul envolvente» =====
   Paleta: azul #114F99 → #08337D (degradado), amarillo #FDCC0D (acción y acento), blanco #FFFFFF.
   Verde #25D366 solo para WhatsApp. Esta capa va DESPUÉS de site.css; no lo modifica. */
:root{--az1:#114F99;--az2:#08337D;--amar:#FDCC0D;--int:#114F99;--lum:#114F99;--env:linear-gradient(165deg,#114F99 0%,#0C4290 48%,#08337D 100%);--panel-r:34px;--panel-x:clamp(10px,1.75vw,24.5px)}
html{background:#08337D}
body{background:var(--env) fixed #08337D}
/* Panel blanco central */
main{background:#FFFFFF;margin:calc(var(--hd) + 22px) var(--panel-x) 0;border-radius:var(--panel-r);overflow:clip;padding-top:14px;box-shadow:0 30px 80px rgba(3,24,66,.35)}
main>.ap{width:auto;margin:0 14px 10px}
body>section.sc{background:#FFFFFF;margin:14px var(--panel-x) 0;border-radius:var(--panel-r);overflow:clip}
/* Cabecera y pie sobre el azul envolvente */
header.hd{border:1px solid rgba(255,255,255,.14)}
footer.ft{background:none;box-shadow:none;margin-top:26px}
/* Acento amarillo en iconos circulares sobre tarjetas blancas */
@media(max-width:760px){
  :root{--panel-r:24px;--panel-x:8px}
  main{margin-top:0;padding-top:10px}
  main>.ap{margin:0 10px 8px}
}
/* Corrección: fichas de proyecto anidan .ap dentro de .ap (doble margen = hueco bajo la cabecera y desborde a la derecha) */
.ap .ap{margin:0;width:auto}
/* Flotantes: se retira el botón de accesos rápidos (duplica el menú); quedan WhatsApp y teléfono */
.fab.fab-left{display:none!important}
/* Frase clave de los títulos: amarillo solo sobre fondos azules; sobre blanco, azul claro sin subrayado (decisión del dueño, cuestionario 5.2) */
.cap-l h2 em,.st-tx b em,.rednac .tx h2 em,.hl-yl{color:#114F99;background:none;padding:0}
.rev-head-tx .kk{color:#114F99}
/* ===================== v2 · armonía de paleta y menú ===================== */
/* Espaciado entre palabras: la tipografía con letter-spacing negativo juntaba palabras («Sincompromiso») */
body{word-spacing:.05em}
/* Cabecera compacta (al hacer scroll): se mantiene azul con logo blanco, igual que el envolvente */
header.hd.mini{background:linear-gradient(120deg,rgba(8,51,125,.97),rgba(17,79,153,.97))!important;box-shadow:0 12px 34px rgba(3,24,66,.42)!important;border-color:rgba(255,255,255,.16)}
header.hd.mini .logo .lgA{display:block!important}
header.hd.mini .logo .lgB{display:none!important}
header.hd.mini nav.mainnav{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important}
header.hd.mini .nvitem>a{color:rgba(255,255,255,.88)!important}
header.hd.mini .nvitem>a:hover,header.hd.mini .nvitem:hover>a{background:#FFFFFF!important;color:#08337D!important;box-shadow:0 4px 12px rgba(3,24,66,.25)!important}
header.hd.mini .burger{background:rgba(255,255,255,.12)}
.nvitem>a svg.ic{width:11px;height:11px;opacity:.8}
.nvitem.active>a{color:#FDCC0D}
/* Menú desplegable */
.mega{border:0;border-radius:22px;padding:16px 16px 14px;box-shadow:0 30px 70px rgba(3,24,66,.42),0 0 0 1px rgba(8,51,125,.06)}
.mega::after{content:"";position:absolute;top:-6px;left:50%;width:14px;height:14px;background:#FFFFFF;transform:translateX(-50%) rotate(45deg);border-radius:3px;pointer-events:none}
.mega .g-title{color:#114F99;display:flex;align-items:center;gap:7px;margin-bottom:6px}
.mega .g-title::before{content:"";width:14px;height:3px;border-radius:2px;background:#FDCC0D;flex:none}
.mega .g-sub{color:rgba(8,51,125,.62)}
.mega a.it{padding:8px 10px}
.mega a.it b{font-size:13.5px;color:#08337D}
.mega a.it small{font-size:11.5px;color:rgba(8,51,125,.66)}
.mega a.it:hover,.mega .mlist a:hover{background:#EEF3FA}
.mega a.it:hover b,.mega .mlist a:hover{color:#114F99}
.mega a.it .tile,.mega .mli{background:rgba(253,204,13,.22);color:#08337D;transition:background .16s}
.mega a.it:hover .tile,.mega .mlist a:hover .mli{background:#FDCC0D}
.mega a.it .th{border-radius:10px;box-shadow:0 0 0 1px rgba(8,51,125,.1)}
.mega-all{color:#114F99;border-top-color:rgba(8,51,125,.1)}
.mega-all .ic{color:#E4B80C}
.mega-help{background:linear-gradient(120deg,#114F99,#08337D);transition:filter .16s}
.mega-help:hover{background:linear-gradient(120deg,#114F99,#08337D);filter:brightness(1.1)}
.mega-help b{color:#FFFFFF}
.mega-help small{color:rgba(255,255,255,.78)}
/* Reseñas: avatares con colores de la paleta (antes morado, rojo, verde, café) */
.rev-av{background:#114F99!important;color:#FFFFFF!important}
.rev-card:nth-child(3n+2) .rev-av{background:#08337D!important}
.rev-card:nth-child(3n) .rev-av{background:#FDCC0D!important;color:#08337D!important}
.rev-verif,.rev-verif .ic{color:#114F99}
/* Comparativa: el lado «Sin Marín» en azul neutro en lugar de rojo */
.cmp-c.plain .ric,.c2-l .ric{background:rgba(8,51,125,.07);color:rgba(8,51,125,.55)}
.c2h-no .x{background:rgba(8,51,125,.1);color:rgba(8,51,125,.6)}
/* Tarjetas de proyecto: etiquetas en azul (antes naranja y verde) */
.caso dt:nth-of-type(1),.caso dt:nth-of-type(3){color:#114F99}
@media(max-width:760px){
  /* Iconos de tarjetas: un solo estilo (antes azul, verde, naranja y morado alternados) */
  .grid3 .cardw:nth-child(n)>.tile,.grid4 .cardw:nth-child(n)>.tile{background:rgba(253,204,13,.22)!important;color:#08337D!important}
  /* Cinta de sellos desplazable: se desvanece a la derecha para indicar que hay más */
  .ap .ap-seals{-webkit-mask-image:linear-gradient(90deg,#000 80%,transparent);mask-image:linear-gradient(90deg,#000 80%,transparent)}
}
/* Corrección: en páginas internas el hero tiene un solo mensaje pero mostraba 3 puntitos de carrusel que no hacían nada */
.ap-hero .hdots{display:none!important}
/* Legibilidad (contraste medido): texto secundario pasaba de 3.3:1 a 5:1 */
:root{--mut2:rgba(8,51,125,.7)}
.famc .tx b{color:#114F99}
.hub-soon{color:#08337D}
.ap .fleet .row .gc .tag{color:#08337D!important}
/* Transporte: «Borrar respuestas» era azul sobre azul (invisible) */
.tr-copy .tr-form-reset,.tr-form-reset{color:rgba(255,255,255,.78)}
/* Fichas de proyecto (escritorio): la columna izquierda quedaba con ~600px vacíos junto a galería + ficha.
   Ahora: título, texto y ficha técnica a la izquierda; galería a la derecha, fija al hacer scroll. */
@media(min-width:901px){
  .px-split{row-gap:16px}
  .px-split>.px-col{display:contents}
  .px-split .px-txt{grid-column:1;grid-row:1}
  .px-split .px-intro{grid-column:1;grid-row:2}
  .px-split .px-placa{grid-column:1;grid-row:3}
  .px-split .px-gal{grid-column:2;grid-row:1/4;position:sticky;top:calc(var(--hd) + 26px)}
}
/* Corrección: las 66 fichas de proyecto no tenían la regla que las páginas principales sí tienen;
   entre 961 y 1260px el menú se encimaba sobre el botón de WhatsApp. Misma regla que el resto del sitio. */
@media(max-width:1260px){
  nav.mainnav,.hd-cta .btn-az,.hd-cta .btn-ws{display:none}
  .burger{display:grid}
}
/* Inicio · «Fuerza operativa nacional»: sin las cifras repetidas, los 4 atributos pasan a la columna derecha como tarjetas */
@media(min-width:761px){
  #red-resumen .rednac{grid-template-columns:1fr 1fr;align-items:center}
  #red-resumen .rn-feats{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:0;margin:0;padding:0}
  #red-resumen .rn-feats span{background:#F4F7FC;border:1px solid rgba(8,51,125,.08);border-radius:16px;padding:16px;font-size:14px;gap:10px}
  #red-resumen .rn-feats svg.ic{width:20px;height:20px;color:#08337D;background:rgba(253,204,13,.25);border-radius:50%;padding:7px;box-sizing:content-box}
}
/* ===================== v4 · cuestionario 29-oct ===================== */
/* Iconos: set relleno sólido (decisión 5.1); los glifos de flecha/medida siguen lineales con trazo más firme */
svg.ic{stroke-width:2.1}
/* Franja de clientes */
.ap-logos{display:flex;flex-direction:column;align-items:center;gap:10px;padding-block:14px 6px;text-align:center}
.ap-logos .tl{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:rgba(8,51,125,.62)}
.ap-logos .cl-names{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 30px;font-style:normal;letter-spacing:0}
.ap .ap-logos{display:flex!important}
.ap-logos .cl-names b{font-size:clamp(15px,1.7vw,20px);font-weight:800;letter-spacing:-.3px;color:rgba(8,51,125,.5);transition:color .2s}
.ap-logos .cl-names b:hover{color:#08337D}
@media(max-width:760px){.ap-logos .cl-names{gap:6px 18px}.ap-logos .cl-names b{font-size:14px}}
/* Celular: el subtítulo del encabezado se cortaba a 3 líneas con «…»; ahora se lee completo */
@media(max-width:760px){.ap-hero .hslide .sub{-webkit-line-clamp:unset!important;line-clamp:unset!important;overflow:visible!important;display:block!important}}
/* ═══ v5 · «Cómo se elige la grúa»: herramienta rediseñada (radio → capacidad) ═══ */
#capacidad .cq{--v:.3333;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"scene reads" "scene ctrl" "scene curve" "keep keep" "foot foot";gap:14px 22px;margin-top:22px;padding:20px;border-radius:30px;background:#fff;border:1px solid rgba(8,51,125,.09);box-shadow:0 34px 70px -34px rgba(8,51,125,.32),0 1px 0 #fff inset}
.cq-scene{grid-area:scene;position:relative;display:flex;align-items:flex-end;border-radius:22px;overflow:hidden;background:#F7FAFE;min-height:100%}
.cq-svg{display:block;width:100%;height:auto}
.cq-svg *,.cq-csvg *{transition:none!important}
.cq-svg text{font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.cq-ruler text{font-size:10px;font-weight:700;fill:#5674A2}
.cq-axis text{font-size:10px;font-weight:700;fill:#5674A2;letter-spacing:.03em}
#cqPillT{font-size:11.5px;font-weight:800;fill:#FDCC0D;letter-spacing:.02em}
.cq-chip{position:absolute;top:14px;left:14px;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 10px;border-radius:999px;background:#FDCC0D;color:#08337D;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 18px -6px rgba(228,184,12,.6)}
.cq-chip svg.ic{width:17px;height:17px}
.cq-reads{grid-area:reads;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cq-read{display:flex;flex-direction:column;gap:4px;padding:14px 16px 15px;border-radius:20px;min-width:0}
.cq-read small{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.82}
.cq-read b{font-size:clamp(34px,3.3vw,44px);line-height:1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cq-read b i{font-style:normal;font-size:.45em;font-weight:700;margin-left:4px;letter-spacing:0;opacity:.8}
.cq-read em{font-style:normal;font-size:13px;font-weight:600;opacity:.72;font-variant-numeric:tabular-nums}
.cq-read-r{background:linear-gradient(150deg,#114F99 0%,#08337D 100%);color:#fff;box-shadow:0 16px 30px -18px rgba(8,51,125,.7)}
.cq-read-c{background:linear-gradient(160deg,#FFF9DE,#FFF3C2);color:#08337D;border:1px solid rgba(228,184,12,.45)}
.cq-stepper{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:2px}
.cq-btn{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28)!important;color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background .18s,transform .12s,opacity .18s}
.cq-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.cq-btn:hover{background:rgba(255,255,255,.24)}
.cq-btn:active{transform:scale(.92)}
.cq-btn:focus-visible{outline:2px solid #FDCC0D;outline-offset:2px}
.cq-btn:disabled{opacity:.3;cursor:default;transform:none}
.cq-meter{grid-column:1/-1;display:flex;align-items:center;gap:12px}
.cq-meter-bar{flex:1;height:8px;border-radius:8px;background:rgba(8,51,125,.1);overflow:hidden}
.cq-meter-bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#FED94A,#E4B80C);transition:width .35s cubic-bezier(.2,.7,.2,1)}
.cq-meter p{margin:0;font-size:13px;color:rgba(8,51,125,.7);white-space:nowrap}
.cq-meter p b{color:#08337D;font-variant-numeric:tabular-nums}
.cq-ctrl{grid-area:ctrl;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:20px;background:#F5F8FC;border:1px solid rgba(8,51,125,.07)}
.cq-range{position:relative}
#cqSlider{-webkit-appearance:none;appearance:none;display:block;width:100%;height:30px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:pan-y}
#cqSlider:focus{outline:none}
#cqSlider::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,#114F99 0,#114F99 calc(14px + (100% - 28px)*var(--v)),rgba(8,51,125,.13) calc(14px + (100% - 28px)*var(--v)))}
#cqSlider::-moz-range-track{height:8px;border-radius:8px;background:rgba(8,51,125,.13)}
#cqSlider::-moz-range-progress{height:8px;border-radius:8px;background:#114F99}
#cqSlider::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:#FDCC0D;border:4px solid #fff;box-shadow:0 0 0 1px rgba(8,51,125,.18),0 6px 14px rgba(8,51,125,.28);transition:transform .15s}
#cqSlider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#FDCC0D;border:4px solid #fff;box-shadow:0 0 0 1px rgba(8,51,125,.18),0 6px 14px rgba(8,51,125,.28)}
#cqSlider:active::-webkit-slider-thumb{transform:scale(1.12)}
#cqSlider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #114F99,0 6px 14px rgba(8,51,125,.28)}
#cqSlider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #114F99}
.cq-ticks{position:relative;height:24px;margin-top:2px}
.cq-ticks span{position:absolute;top:0;white-space:nowrap;left:calc(14px + (100% - 28px)*var(--f));transform:translateX(-50%);padding:3px 7px;border-radius:999px;font-size:11.5px;font-weight:700;line-height:1.4;color:rgba(8,51,125,.55);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .2s,color .2s}
.cq-ticks span::before{content:"";position:absolute;left:50%;top:-5px;width:1.5px;height:4px;background:rgba(8,51,125,.25);transform:translateX(-50%)}
.cq-ticks span:hover{color:#08337D}
.cq-ticks span.on{background:#08337D;color:#FDCC0D}
.cq-ticks span:last-child::after{content:" m"}
.cq-msg{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:14px;line-height:1.5;color:#173E7A}
.cq-msg svg.ic{width:18px;height:18px;margin-top:2px;color:#E4B80C;flex:0 0 auto}
.cq-msg span{min-width:0}
.cq-msg b{color:#08337D}
.cq-curve{grid-area:curve;padding:13px 16px 8px;border-radius:20px;border:1px solid rgba(8,51,125,.09);background:#fff}
.cq-h{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#08337D}
.cq-h i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600;opacity:.6}
.cq-csvg{display:block;width:100%;height:auto;margin-top:4px}
.cq-csvg text{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:10px;font-weight:700;fill:rgba(8,51,125,.55)}
.cq-grid path{stroke:rgba(8,51,125,.08);stroke-width:1}
.cq-base{stroke:rgba(8,51,125,.28);stroke-width:1.2}
.cq-guide{fill:none;stroke:#08337D;stroke-width:1.2;stroke-dasharray:3 4;opacity:.45}
.cq-keep{grid-area:keep;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 0;padding:0;list-style:none}
.cq-keep li{display:flex;align-items:flex-start;gap:9px;padding:11px 14px;border-radius:16px;background:#F5F8FC;font-size:13.5px;line-height:1.45;color:#173E7A}
.cq-keep li::before{content:none}
.cq-keep svg.ic{width:18px;height:18px;margin-top:1px;color:#114F99;flex:0 0 auto}
#capacidad .cq-foot{grid-area:foot;margin:0;padding:0 4px;font-size:12.5px;line-height:1.5;color:rgba(8,51,125,.62);text-align:left}
@media(max-width:1000px){
 #capacidad .cq{grid-template-columns:minmax(0,1fr);grid-template-areas:"scene" "reads" "ctrl" "curve" "keep" "foot";padding:12px;gap:12px;border-radius:26px}
 .cq-scene{min-height:0;border-radius:18px}
 .cq-keep{grid-template-columns:minmax(0,1fr);gap:8px}
}
@media(max-width:560px){
 .cq-ruler text{font-size:17px}
 .cq-axis text{display:none}
 #cqPillT{font-size:15px}
 #cqPill rect{width:70px;x:-5px;height:26px;y:-13px;rx:13px}
 .cq-read small{font-size:10px;letter-spacing:.07em}
 .cq-keep{gap:0;padding:6px 0;border-radius:16px;background:#F5F8FC}
 .cq-keep li{background:none;padding:7px 14px}
 .cq-chip{top:10px;left:10px;font-size:11px;padding:6px 11px 6px 9px}
 .cq-read{padding:12px 13px 13px}
 .cq-btn{width:36px;height:36px}
 .cq-meter p{font-size:12px}
 .cq-csvg text{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.cq-meter-bar span,.cq-btn,.cq-ticks span{transition:none}}
/* ═══ v5 · Movimiento sutil (referencia: páginas de producto de Apple). Todo respeta «reducir movimiento». ═══ */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
:where(a,button,summary,input,select,textarea):focus-visible{outline:2.5px solid #FDCC0D;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
 /* entrada de secciones: más recorrido, curva larga y suave */
 .rv{transform:translateY(26px);transition:opacity .8s var(--ease-out),transform 1.05s var(--ease-out)}
 .rv.in{transform:none}
 /* tarjetas en cascada (tema.js marca la lista con data-mgst y el orden con --i) */
 .rv [data-mgst]>*{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*70ms + 120ms)}
 .rv.in [data-mgst]>*{opacity:1;transform:none}
 /* encabezado principal: la foto entra con un acercamiento lento y el texto sube */
 .ap-hero>img{animation:mgHeroImg 1.8s var(--ease-out) both}
 .ap-hero .in{animation:mgHeroTx 1s .15s var(--ease-out) both}
 @keyframes mgHeroImg{from{transform:scale(1.06);opacity:.6}to{transform:none;opacity:1}}
 @keyframes mgHeroTx{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
 /* al salir de pantalla, el texto del encabezado se desvanece un poco (solo navegadores con scroll-timeline) */
 @supports (animation-timeline:view()){
  .ap-hero .in{animation:mgHeroTx 1s .15s var(--ease-out) both,mgHeroOut linear both;animation-timeline:auto,view();animation-range:normal,exit 0% exit 90%}
  @keyframes mgHeroOut{to{transform:translateY(-28px);opacity:.25}}
 }
 /* botones: se elevan al pasar el cursor y se hunden al presionar */
 .btn,.hd-cta .btn,.st-go,.gow{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),background-color .2s,color .2s,border-color .2s}
 .btn:active,.st-go:active,.gow:active{transform:scale(.97);transition-duration:.12s}
 .btn svg.ic:has(use[href="#i-arrow"]),.btn svg.ic:has(use[href="#i-arr"]){transition:transform .4s var(--ease-out)}
 /* tarjetas: misma curva para elevación, borde y sombra; la foto se acerca despacio */
 .gc,.caso,.caso-c,.fam,.famc,.hub-c,.hub-k,.cap-var,.plaza,.ap-stats>div,.accesos-lite a,.ap-low .cov,.ap-low .ask{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .3s,background-color .3s}
 .gc .ph img,.famc .ph img,.caso img,.ap-low .ask>img{transition:transform 1.2s var(--ease-out)}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
 .btn:hover{transform:translateY(-2px)}
 .btn:hover svg.ic:has(use[href="#i-arrow"]),.btn:hover svg.ic:has(use[href="#i-arr"]){transform:translateX(3px)}
 .ap .gc:hover,.caso:hover,.caso-c:hover,.fam:hover,.hub-c:hover,.hub-k:hover,.cap-var:hover,.plaza:hover,.accesos-lite a:hover{transform:translateY(-4px)}
 .famc:hover .ph img,.caso:hover img{transform:scale(1.04)}
}
/* ═══ v6 · Formulario y chat: datos obligatorios, altura y radio ═══ */
.mg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wfield label.mg-nose{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:13px;font-weight:600;color:rgba(8,51,125,.75);cursor:pointer}
.wfield label.mg-nose input{width:18px;height:18px;margin:0;accent-color:#114F99;flex:0 0 auto}
.wiz input:disabled{opacity:.5;cursor:not-allowed}
.mg-req{margin:6px 0 0;padding:10px 13px;border-radius:12px;background:#FFF4F4;border:1px solid rgba(214,69,69,.35);color:#9E2B2B;font-size:13.5px;font-weight:600}
.wiz textarea.err{border-color:#d64545;background:#fff6f6}
.mg-chatf{display:grid;grid-template-columns:1fr;gap:8px;margin:4px 0 6px auto;max-width:300px;width:100%}
.mg-chatf input{width:100%;padding:11px 13px;border-radius:12px;border:1.5px solid rgba(8,51,125,.18);background:#fff;font:inherit;font-size:14px;color:#08337D}
.mg-chatf input:focus{outline:none;border-color:#114F99;box-shadow:0 0 0 3px rgba(17,79,153,.15)}
.mg-chatf input.err{border-color:#d64545;background:#fff6f6}
.mg-chatf .btn{justify-self:end}
.mg-chatf-e{margin:0;font-size:12.5px;font-weight:600;color:#9E2B2B}

/* ═══ v7 · ajustes de la página Grúas ═══ */
/* Filtro de familias: en computadora también se ve como botones (antes salía como texto plano) */
.famfil{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.famfil .ff{flex:0 0 auto;border:1px solid rgba(16,44,78,.1);background:#fff;color:#08337D;border-radius:999px;padding:9px 16px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(10,40,80,.06);min-height:40px;transition:background .18s,color .18s,border-color .18s}
.famfil .ff:hover{border-color:#FDCC0D}
.famfil .ff.on{background:#08337D;color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(8,29,54,.26)}
.famfil .ff:focus-visible{outline:2px solid #FDCC0D;outline-offset:2px}
@media(max-width:640px){.famfil{flex-wrap:nowrap;overflow-x:auto;margin:0 -2px 6px}}
/* «Ver todo»: la flecha se giraba dentro del ícono y quedaba cortada; ahora gira el ícono completo */
.mcol-more .ic use{transform:none}
.mcol-more .ic{transform:rotate(90deg)}
.mcol-more[aria-expanded="true"] .ic{transform:rotate(-90deg)}


/* ═══ v8 · pantallas intermedias (761–1260 px: laptops chicas, iPad horizontal, ventanas no maximizadas) ═══
   En ese rango el sitio cambia al botón de menú, pero los estilos del encabezado y del menú solo
   existían hasta 760 px: los botones quedaban al centro y las miniaturas del menú se estiraban. */
@media(min-width:761px) and (max-width:1260px){
  header.hd .hd-cta{grid-column:3;justify-self:end}
  .mnav{background:rgba(6,20,38,.6);backdrop-filter:blur(7px)}
  .mnav .panel{width:min(400px,92vw);gap:0;padding:16px 18px 26px;
    background:linear-gradient(165deg,#0A3D6A 0%,#0B2C52 44%,#081D36 100%);box-shadow:-24px 0 60px rgba(6,20,38,.35)}
  .mn-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
  .mn-kk{color:var(--yl);font-size:11px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase}
  .mnav .cerrar{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.13);margin:0}

  .mn-g + .mn-g{margin-top:18px}
  .mn-t{display:block;color:rgba(255,255,255,.45);font-size:10.5px;font-weight:800;
    letter-spacing:1.8px;text-transform:uppercase;margin-bottom:8px}
  .mn-rows{display:grid;gap:6px}
  .mnav .it{display:grid;grid-template-columns:44px 1fr;align-items:center;column-gap:11px;
    padding:9px 11px;border-radius:14px;background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.09);min-height:56px}
  .mnav .it img.th{width:44px;height:36px;border-radius:10px;object-fit:cover}
  .mnav .it .tile{width:38px;height:38px;border-radius:11px;background:rgba(255,196,0,.15);
    display:grid;place-items:center}
  .mnav .it .tile .ic{width:17px;height:17px;color:var(--yl)}
  .mnav .it b{display:block;color:#fff;font-size:14px;line-height:1.2;letter-spacing:-.2px}
  .mnav .it small{display:block;color:rgba(255,255,255,.55);font-size:11.5px;line-height:1.3;margin-top:2px}
  .mn-all{display:inline-flex;align-items:center;gap:6px;margin-top:9px;
    color:var(--yl);font-size:13px;font-weight:800;min-height:40px}
  .mn-all .ic{width:13px;height:13px}
  .mnav .accs{display:grid;gap:8px;margin-top:0}
  .mnav .accs .btn{min-height:50px;font-size:14.5px;justify-content:flex-start;padding-left:16px}
}

/* ══ v11 · rediseños (franja, campos del inicio, menú, catálogo, biblioteca, teclado) ══ */
/* campos del inicio: píldoras de vidrio con ícono, como el resto del bloque */
.ap .hform .hform-sel,.ap .hform .hform-txt{border-radius:999px;border:1.5px solid rgba(255,255,255,.3);background-color:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:54px;padding:0 46px 0 50px;font-size:16px;font-weight:600;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 18px rgba(4,22,60,.18);background-repeat:no-repeat;transition:border-color .2s,background-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.ap .hform .hform-sel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDCC0D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5zM3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:18px 50%,calc(100% - 18px) 50%;background-size:20px,16px}
.ap .hform .hform-txt{padding-right:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FDCC0D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");background-position:18px 50%;background-size:20px}
.ap .hform .hform-txt::placeholder{color:rgba(255,255,255,.9);opacity:1}
.ap .hform .hform-sel:invalid{color:rgba(255,255,255,.9)}
.ap .hform .hform-sel:focus,.ap .hform .hform-txt:focus{outline:none;border-color:#FDCC0D;background-color:rgba(255,255,255,.2);box-shadow:0 0 0 4px rgba(253,204,13,.22),0 6px 18px rgba(4,22,60,.18)}
.ap .hform .hform-btn{border-radius:999px}

/* franja de confianza: tablero tipo aeropuerto (solo celular) */
.mgflip{display:none}
@media(max-width:760px){
 /* reserva desde el inicio la altura de la franja, para que el contenido no brinque cuando aparece */
 .ap .ap-seals{min-height:51px;box-sizing:border-box}
 .ap-seals.mg-flip-on{overflow:visible!important;display:block!important;-webkit-mask-image:none!important;mask-image:none!important}
 .ap-seals.mg-flip-on>:not(.mgflip){display:none!important}
 .mgflip{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;padding:0 16px 0 9px;border-radius:999px;background:#fff;border:1px solid rgba(8,51,125,.09);box-shadow:0 6px 18px rgba(8,51,125,.08);position:relative;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}
 .mgflip:focus-visible{outline:2px solid #114F99;outline-offset:2px}
 .mgf-ic{width:32px;height:32px;border-radius:50%;background:#FFF4C4;display:grid;place-items:center;flex:none}
 .mgf-ic .ic{width:17px;height:17px;color:#9A7200}
 .mgf-win{flex:1;min-width:0;height:24px;position:relative;perspective:300px}
 .mgf-tx{position:absolute;inset:0;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#34466B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform-origin:50% 50% -12px;backface-visibility:hidden}
 .mgf-tx span{overflow:hidden;text-overflow:ellipsis}
 .mgf-tx b{font-weight:800;font-size:15.5px;color:#08337D;font-variant-numeric:tabular-nums;letter-spacing:-.2px}
 .mgf-tx.out{animation:mgfOut .3s ease-in forwards}.mgf-tx.in{animation:mgfIn .45s cubic-bezier(.2,.9,.3,1.25) both}
 .mgflip:after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(100deg,transparent 0%,rgba(253,204,13,.0) 20%,rgba(255,236,160,.55) 50%,rgba(253,204,13,0) 80%,transparent 100%);transform:translateX(-130%) skewX(-12deg);pointer-events:none}
 .mgflip.brilla:after{animation:mgfSheen 1.15s cubic-bezier(.35,.1,.25,1) .1s both}
 .mgf-ic{box-shadow:0 0 0 0 rgba(253,204,13,.0);perspective:200px}.mgf-ic.gira .ic{animation:mgfIc .7s cubic-bezier(.3,.7,.3,1.2) both}.mgf-ic.gira{animation:mgfHalo 1.1s ease-out both}
 .mgf-dots{display:flex;gap:3px;flex:none;align-items:center}.mgf-dots i{width:5px;height:5px;border-radius:50%;background:rgba(8,51,125,.16);transition:width .35s cubic-bezier(.2,.9,.3,1),background .35s}
 @media(max-width:400px){.mgflip{padding:0 12px 0 8px;gap:9px}.mgf-tx{font-size:13px}.mgf-tx b{font-size:14.5px}}
 @media(max-width:374px){.mgf-dots{display:none}.mgf-tx{font-size:12.8px}}
 .mgf-dots i.on{width:14px;border-radius:3px;background:linear-gradient(90deg,#E0A800,#FDCC0D)}
}
@keyframes mgfOut{to{transform:rotateX(90deg);opacity:0}}
@keyframes mgfIn{from{transform:rotateX(-90deg);opacity:0}to{transform:none;opacity:1}}
@keyframes mgfSheen{to{transform:translateX(260%) skewX(-12deg)}}
@keyframes mgfIc{from{transform:rotateY(-180deg) scale(.7)}to{transform:none}}
@keyframes mgfHalo{0%{box-shadow:0 0 0 0 rgba(253,204,13,.55)}100%{box-shadow:0 0 0 10px rgba(253,204,13,0)}}

/* menú del celular */
.mnav.mn-v11 .panel{gap:20px;padding:16px 16px calc(26px + env(safe-area-inset-bottom,0px))}
.mnav.mn-v11 .mn-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 -4px}
.mnav.mn-v11 .mn-kk{color:rgba(255,255,255,.7);letter-spacing:.14em}
.mnav.mn-v11 .cerrar{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16)}
.mnav.mn-v11 .mn-cta-g .mn-t{display:none}
.mnav.mn-v11 .mn-cta-g .accs{display:grid;gap:10px}
.mnav.mn-v11 .mn-cta-g .btn-yl{justify-content:center;min-height:56px;font-size:16px;border-radius:999px;padding:0 20px;box-shadow:0 10px 24px rgba(228,184,12,.32)}
.mnav.mn-v11 .mn-cta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mnav.mn-v11 .mn-titan{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;margin-top:2px;padding:10px 14px 10px 12px;border-radius:18px;background:linear-gradient(120deg,rgba(253,204,13,.18),rgba(255,255,255,.05));border:1px solid rgba(253,204,13,.35);cursor:pointer;color:#fff;-webkit-tap-highlight-color:transparent}
.mnav.mn-v11 .mn-titan:focus-visible{outline:2px solid #FDCC0D;outline-offset:2px}
.mnav.mn-v11 .mn-titan img{width:38px;height:auto;flex:none;animation:mnBob 2.8s ease-in-out infinite;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))}
.mnav.mn-v11 .mn-titan b{display:block;font-size:14px;line-height:1.25}.mnav.mn-v11 .mn-titan small{display:block;font-size:12px;line-height:1.35;color:rgba(255,255,255,.72);margin-top:2px}
.mnav.mn-v11 .mn-titan svg{margin-left:auto;flex:none;color:#FDCC0D}
.mnav.mn-v11 .mn-t{color:rgba(255,255,255,.62)}
.mnav.mn-v11 .mn-fam .mn-rows,.mnav.mn-v11 .mn-sec .mn-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mnav.mn-v11 .mn-fam .it{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);min-height:0;margin:0}
.mnav.mn-v11 .mn-fam .it img.th{width:100%;height:auto;aspect-ratio:16/10;border-radius:0;object-fit:cover;display:block}
.mnav.mn-v11 .mn-fam .it>span:last-child{padding:9px 11px 11px}
.mnav.mn-v11 .mn-fam .it b{font-size:13.5px}.mnav.mn-v11 .mn-fam .it small{font-size:11px}
.mnav.mn-v11 .mn-cap{position:absolute;top:8px;left:8px;z-index:1;font-style:normal;font-size:11px;font-weight:800;line-height:1;color:#08337D;background:#FDCC0D;border-radius:999px;padding:5px 8px;box-shadow:0 4px 10px rgba(0,0,0,.2)}
.mnav.mn-v11 .mn-fam .mn-all-t{justify-content:center;align-items:center;text-align:center;gap:8px;padding:14px 10px;background:rgba(253,204,13,.1);border-color:rgba(253,204,13,.3);color:#fff;text-decoration:none}
.mnav.mn-v11 .mn-fam .mn-all-t>span:last-child{padding:0}
.mnav.mn-v11 .mn-all-ic{width:42px;height:42px;border-radius:50%;background:#FDCC0D;display:grid;place-items:center}.mnav.mn-v11 .mn-all-ic .ic{width:22px;height:22px;color:#08337D}
.mnav.mn-v11 .mn-sec .it{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 13px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);min-height:118px;margin:0}
.mnav.mn-v11 .mn-sec .it .tile{width:40px;height:40px;border-radius:12px}
.mnav.mn-v11 .mn-sec .it small{font-size:11.5px}
.mnav.mn-v11 .it.aqui{border-color:#FDCC0D;box-shadow:inset 0 0 0 1.5px #FDCC0D}
.mnav.mn-v11 .mn-pie{margin:0;color:rgba(255,255,255,.6);font-size:12px;font-weight:600;line-height:1.55;text-align:center}
.mnav.mn-v11.open .panel>*{animation:mnIn .42s cubic-bezier(.16,1,.3,1) both}
.mnav.mn-v11.open .panel>:nth-child(2){animation-delay:.04s}.mnav.mn-v11.open .panel>:nth-child(3){animation-delay:.08s}.mnav.mn-v11.open .panel>:nth-child(4){animation-delay:.12s}.mnav.mn-v11.open .panel>:nth-child(5){animation-delay:.16s}
@keyframes mnIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes mnBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* catálogo de grúas */
.famfil.mg-oculto{display:none!important}
.famc .ph{position:relative}
.fam-cap{position:absolute;left:12px;top:12px;z-index:2;background:#FDCC0D;color:#08337D;font-weight:800;font-size:12.5px;line-height:1;border-radius:999px;padding:6px 11px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.famc-titan .tx{align-items:center;text-align:center}
.famc-titan .ft-img{width:58px;height:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.3));animation:mnBob 3s ease-in-out infinite}
.famc-titan h3{color:#fff;margin:0}.famc-titan p{color:rgba(255,255,255,.82);margin:0}
.escala{margin-top:22px;background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:20px;padding:18px 18px 12px;box-shadow:0 8px 22px rgba(8,51,125,.06)}
.esc-h{display:grid;gap:3px;margin-bottom:12px}.esc-h b{color:#08337D;font-size:16px;font-weight:800}.esc-h span{color:#5A6C8C;font-size:13px;line-height:1.45}
.esc-row{display:grid;grid-template-columns:96px minmax(0,1fr) 72px;gap:10px;align-items:center;padding:8px 0;text-decoration:none;color:inherit}
.esc-n{font-weight:800;color:#08337D;font-size:14px}.esc-row em{font-style:normal;font-weight:800;color:#08337D;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}
.esc-bar{position:relative;height:12px;border-radius:999px;background:#EEF2F8}.esc-bar i{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#114F99,#2C74D1)}
.esc-row:hover .esc-bar i{background:linear-gradient(90deg,#E0A800,#FDCC0D)}
.esc-ax{display:grid;grid-template-columns:96px minmax(0,1fr) 72px;gap:10px;margin-top:4px}.esc-t{position:relative;height:16px}
.esc-t i{position:absolute;transform:translateX(-50%);font-style:normal;font-size:10.5px;font-weight:700;color:#5A6C8C;white-space:nowrap}.esc-t i:first-child{transform:none}.esc-t i:last-child{transform:translateX(-100%)}
@media(max-width:760px){
 .famgrid.fam-v11{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .famgrid.fam-v11 .famc{display:flex!important;flex-direction:column;border-radius:16px;min-width:0;margin:0!important;width:auto!important}
 .famgrid.fam-v11 .famc .ph{aspect-ratio:4/3!important;height:auto!important;min-height:0!important;max-height:none!important;flex:none!important}
 .famgrid.fam-v11 .famc .ph img{height:100%!important;width:100%!important;object-fit:cover}
 .famgrid.fam-v11 .famc .tx{padding:10px 11px 12px;gap:3px}
 .famgrid.fam-v11 .famc .tx .fam-t{font-size:14px;line-height:1.2;margin:0}
 .famgrid.fam-v11 .famc .tx b{font-size:12px;line-height:1.3;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .famgrid.fam-v11 .famc:not(.famc-titan) .tx p,.famgrid.fam-v11 .famc .go{display:none}
 .famgrid.fam-v11 .fam-cap{font-size:11px;padding:5px 8px;left:8px;top:8px}
 .famgrid.fam-v11 .famc-titan .tx{padding:12px 10px;gap:6px;justify-content:center}
 .famgrid.fam-v11 .famc-titan h3{font-size:14.5px}.famgrid.fam-v11 .famc-titan p{display:none}
 .famgrid.fam-v11 .famc-titan .btn{min-height:36px;padding:0 12px;font-size:12.5px}
 .famgrid.fam-v11 .famc-titan .ft-img{width:46px}
 .esc-row,.esc-ax{grid-template-columns:78px minmax(0,1fr) 62px;gap:8px}
}

/* biblioteca de proyectos */
.lib{display:grid;gap:16px;margin-top:6px}
.lib-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);gap:10px}
.lib-q,.lib-sel{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:999px;background:#fff;border:1.5px solid rgba(8,51,125,.12);box-shadow:0 6px 16px rgba(8,51,125,.06)}
.lib-q:focus-within,.lib-sel:focus-within{border-color:#114F99;box-shadow:0 0 0 4px rgba(17,79,153,.12)}
.lib-q svg{width:19px;height:19px;flex:none;fill:none;stroke:#114F99;stroke-width:2.2;stroke-linecap:round}
.lib-q input,.lib-sel select{border:0;outline:0;background:none;width:100%;min-width:0;font:600 15.5px/1.2 inherit;color:#0B1F3F;-webkit-appearance:none;appearance:none}
.lib-sel{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23114F99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:calc(100% - 16px) 50%;background-size:16px}
.lib-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
.lib-map{background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:20px;padding:12px 12px 8px;box-shadow:0 8px 22px rgba(8,51,125,.06)}
.lib-mapw svg{width:100%;height:auto;display:block}
.lib-mapw path{fill:#E3EAF5;stroke:#fff;stroke-width:1;transition:fill .2s}
.lib-mapw path.con{fill:rgba(17,79,153,var(--a,.6));cursor:pointer}.lib-mapw path.con:hover,.lib-mapw path.con:focus{fill:#E0A800;outline:none}
.lib-mapw path.sel{fill:#FDCC0D!important}
.lib-map-h{margin:6px 4px 2px;font-size:12.5px;font-weight:700;color:#5A6C8C;text-align:center}
.lib-fs{display:grid;gap:8px}.lib-ft{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5A6C8C;margin-top:4px}
.lib-f{display:flex;flex-wrap:wrap;gap:7px}
.lib-f button{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 13px;border-radius:999px;font-size:13px;font-weight:700;color:#08337D;background:#fff;border:1.5px solid rgba(8,51,125,.12);transition:background .15s,border-color .15s}
.lib-f button em{font-style:normal;opacity:.6;margin-left:2px}.lib-f button:hover{border-color:#114F99}
.lib-f button.on{background:#08337D;border-color:#08337D;color:#fff}.lib-f button:focus-visible{outline:2px solid #114F99;outline-offset:2px}
.lib-n{margin:2px 0 -4px;font-size:13.5px;font-weight:700;color:#5A6C8C}
.lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lib-c{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 8px 20px rgba(8,51,125,.06);transition:transform .2s,box-shadow .2s}
.lib-c:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,51,125,.12)}
.lib-c img,.lib-ph{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:#DCE5F2}
.lib-tx{display:grid;gap:6px;padding:12px 14px 14px}
.lib-loc{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#7A5B00;text-transform:uppercase;letter-spacing:.04em}.lib-loc .ic{width:13px;height:13px;flex:none}
.lib-tx b{font-size:15px;line-height:1.3;color:#08337D;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lib-tags{display:flex;gap:6px;flex-wrap:wrap}.lib-tags i{font-style:normal;font-size:11.5px;font-weight:800;color:#08337D;background:#EEF3FB;border-radius:999px;padding:3px 9px}.lib-tags i.cg{background:#FFF4C4;color:#7A5B00}
.lib-vacio{display:grid;justify-items:center;text-align:center;gap:8px;padding:26px 16px;border:1.5px dashed rgba(8,51,125,.18);border-radius:18px;background:#FBFCFE;color:#5A6C8C}.lib-vacio b{color:#08337D;font-size:16px}
.lib-mas-w{text-align:center;margin:0}
@media(max-width:900px){.lib-cols{grid-template-columns:minmax(0,1fr)}.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .lib-top{grid-template-columns:minmax(0,1fr)}
 .lib-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .lib-c{flex-direction:row;align-items:stretch;border-radius:16px}
 .lib-c img,.lib-ph{width:118px;min-width:118px;aspect-ratio:auto;height:auto;min-height:100%}
 .lib-tx{padding:10px 12px;gap:4px;align-content:center}.lib-tx b{font-size:14px}
 .lib-f{flex-wrap:wrap}
}

/* cifras de la portada (inicio): en celular, todas a la vista en una cuadrícula en lugar de deslizar */
@media(max-width:760px){
 .ap-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;scroll-snap-type:none!important;padding-bottom:0!important}
 .ap-stats>div{min-width:0!important;width:auto!important;flex:none!important;margin:0!important}
 .ap-stats>div:last-child:nth-child(odd){grid-column:1/-1}
 .ap-stats+.rieldots,.ap-stats~.rieldots{display:none!important}
}
/* cobertura: maniobras reales por estado */
.mg-real-c{background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:24px;padding:24px;box-shadow:0 10px 26px rgba(8,51,125,.07);display:grid;gap:16px}
.mg-real-h h2{margin:4px 0 6px}.mg-real-l{display:flex;flex-wrap:wrap;gap:8px}
.mg-real-l a{display:inline-flex;align-items:center;gap:8px;padding:9px 12px 9px 14px;border-radius:999px;background:#F4F7FC;border:1.5px solid rgba(8,51,125,.1);text-decoration:none;color:#08337D;font-size:13.5px;font-weight:700;transition:border-color .15s,background .15s,transform .15s}
.mg-real-l a:hover{border-color:#114F99;background:#fff;transform:translateY(-1px)}.mg-real-l a:focus-visible{outline:2px solid #114F99;outline-offset:2px}
.mg-real-l em{font-style:normal;font-size:12px;font-weight:800;color:#08337D;background:#FDCC0D;border-radius:999px;min-width:22px;padding:2px 7px;text-align:center}
.mg-real-n{margin:0;font-size:13.5px;color:#5A6C8C;font-weight:600}.mg-real-n a{color:#114F99;font-weight:800}
@media(max-width:600px){.mg-real-c{padding:18px 16px;border-radius:20px}.mg-real-l a{font-size:13px;padding:8px 10px 8px 12px}}
/* formulario de solicitud (celular): la lista de ciudades sugeridas no debe tapar el botón «Confirmar» */
@media(max-width:760px){.wloc .ac-list{top:calc(100% + 6px)!important;left:0!important;width:100%!important}}
/* teclado del celular: la barra inferior y el botón de contacto se ocultan mientras se escribe */
html.mg-kbd .tabbar,html.mg-kbd .fabx{transform:translateY(200%)!important;opacity:0!important;pointer-events:none!important;transition:transform .2s,opacity .2s}
@media(prefers-reduced-motion:reduce){.mnav.mn-v11.open .panel>*,.mnav.mn-v11 .mn-titan img,.famc-titan .ft-img{animation:none!important}}

/* botones flotantes: el contenedor invisible (139×165 px arriba del botón de chat) ya no bloquea los toques al contenido que tiene debajo */
.fabx{pointer-events:none}
.fabx .fabx-tog,.fabx.on .fabx-items{pointer-events:auto}
.fabx .fabx-items{pointer-events:none}
.fabx.on .fabx-items{pointer-events:auto}

/* iconos y flechas con aire: nunca pegados al texto (site.css dejó gap:0 en las tarjetas de Soluciones en celular) */
@media (max-width:760px){
#soluciones .hub-c{column-gap:12px}
#soluciones .hub-c .hub-go{margin-left:2px}
/* la flecha quedaba 5.5 px abajo del centro de su círculo: el texto oculto (tamaño 0) ocupaba una fila invisible encima de ella */
.hub-kgrid .hub-go,#soluciones .hub-c .hub-go{display:flex;align-items:center;justify-content:center;line-height:0;gap:0}
}
.lib-loc,#casos a,label.tr-chip,.tr-chips .tr-chip{gap:7px}   /* label.tr-chip: le gana al estilo que trae la propia página */
/* calculadora: con dos dígitos (10 a 24 m) el número ya no se mete debajo del botón «+» en celulares angostos */
.cq-stepper b{flex:1 1 auto;min-width:0;text-align:center;white-space:nowrap}
@media (max-width:420px){
.cq-stepper{gap:4px}
.cq-btn{width:32px;height:32px}
.cq-btn svg{width:18px;height:18px}
.cq-stepper b{font-size:28px}
.cq-stepper b i{font-size:13px;margin-left:2px}
}
@media (max-width:380px){.cq-stepper b{font-size:26px}}

/* ── Mapa de maniobras (proyectos): cifras, mapa de los 32 estados y panel del estado elegido ── */
.mp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mp-kpis>div{background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:18px;padding:14px 16px;box-shadow:0 8px 20px rgba(8,51,125,.06);display:grid;gap:2px;align-content:start}
.mp-kpis b{font-size:28px;line-height:1.05;font-weight:800;color:#08337D;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mp-kpis span{font-size:13px;font-weight:700;color:#5A6C8C;line-height:1.3}
.mp-kpis .mp-k-y{background:linear-gradient(135deg,#0E4E9E,#08337D);border-color:transparent}
.mp-kpis .mp-k-y b{color:#FDCC0D}.mp-kpis .mp-k-y span{color:rgba(255,255,255,.84)}
.mp-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:stretch}
.mp-map{position:relative;background:linear-gradient(180deg,#F5F8FD,#fff);border:1px solid rgba(8,51,125,.08);border-radius:22px;padding:16px 16px 12px;box-shadow:0 10px 26px rgba(8,51,125,.07);display:flex;flex-direction:column;justify-content:center}
.mp-mapw svg{width:100%;height:auto;display:block;overflow:visible}
.mp-mapw path{stroke:#fff;stroke-width:1.2;stroke-linejoin:round;cursor:pointer;transition:fill .2s;outline:none}
.mp-mapw path.sin{fill:#DCE6F4}.mp-mapw path.sin:hover,.mp-mapw path.sin:focus-visible{fill:#C3D3EB}
.mp-mapw path.con{fill:rgba(17,79,153,var(--a,.7))}.mp-mapw path.con:hover,.mp-mapw path.con:focus-visible{fill:#0B3F86}
.mp-mapw path.isla{fill:#DCE6F4;pointer-events:none}
.mp-mapw path.sel,.mp-mapw path.sel:hover{fill:#FDCC0D!important}
.mp-mapw path:focus-visible{stroke:#08337D;stroke-width:2.5}
.mp-badges{pointer-events:none}.mp-badges circle{fill:#FDCC0D;stroke:#fff;stroke-width:2.5}.mp-badges text{fill:#08337D;font-weight:800;text-anchor:middle;font-family:"Plus Jakarta Sans",system-ui,sans-serif}
.mp-ley{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-top:10px;font-size:12.5px;font-weight:700;color:#5A6C8C}
.mp-ley span{display:inline-flex;align-items:center;gap:7px}.mp-ley i{width:14px;height:14px;border-radius:4px;display:inline-block;flex:none}.mp-ley i.c1{background:#114F99}.mp-ley i.c0{background:#DCE6F4;box-shadow:inset 0 0 0 1px #C3D3EB}
.mp-tt{position:absolute;z-index:3;left:0;top:0;transform:translate(-50%,calc(-100% - 14px));pointer-events:none;background:#08337D;color:#fff;border-radius:12px;padding:8px 11px;font-size:12.5px;font-weight:600;line-height:1.35;white-space:nowrap;box-shadow:0 8px 20px rgba(8,51,125,.28);display:grid}
.mp-tt b{font-size:13.5px;font-weight:800}.mp-tt[hidden]{display:none}
.mp-panel{background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:22px;padding:18px;box-shadow:0 10px 26px rgba(8,51,125,.07);display:flex;flex-direction:column;gap:12px;min-width:0}
.mp-p-k{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7A5B00}
.mp-p-h h3{margin:3px 0 4px;font-size:22px;line-height:1.15;color:#08337D;font-weight:800}
.mp-p-h p{margin:0;font-size:14px;line-height:1.45;color:#3B5274}.mp-p-h p b{color:#08337D}
.mp-p-x{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#114F99;align-self:flex-start;padding:4px 0}.mp-p-x .ic{width:14px;height:14px}.mp-p-x:focus-visible{outline:2px solid #114F99;outline-offset:3px;border-radius:6px}
.mp-rank{list-style:none;margin:0;padding:0 4px 0 0;display:grid;gap:2px;overflow:auto;max-height:372px}
.mp-rank.corto li:nth-child(n+9){display:none}
.mp-rank button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 34% 26px;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;font-size:13.5px;font-weight:700;color:#0B1F3F}
.mp-rank button:hover,.mp-rank button:focus-visible{background:#F1F5FB;outline:none}
.mp-r-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-r-b{height:8px;border-radius:999px;background:#EEF3FB;overflow:hidden}.mp-r-b i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#114F99,#2D6FC2)}
.mp-rank em{font-style:normal;font-weight:800;color:#08337D;text-align:right;font-variant-numeric:tabular-nums}
.mp-p-l{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mp-p-l a{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;text-decoration:none;color:inherit;padding:6px;border-radius:14px;border:1px solid rgba(8,51,125,.08);transition:background .15s,border-color .15s}
.mp-p-l a:hover{background:#F5F8FD;border-color:rgba(8,51,125,.16)}
.mp-p-l img,.mp-p-l .lib-ph{width:76px;min-width:0;height:56px;min-height:0;border-radius:10px;object-fit:cover;display:block;aspect-ratio:auto}
.mp-p-l b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.3;color:#08337D;font-weight:800}
.mp-p-l em{display:block;font-style:normal;font-size:12px;font-weight:700;color:#5A6C8C;margin-top:2px}
.mp-p-ok{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mp-p-ok li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:#0B1F3F}.mp-p-ok .ic{width:16px;height:16px;color:#16A34A;flex:none}
.mp-p-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.mp-p-a .btn{flex:1 1 auto;justify-content:center}
.mp-nota{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:14px;background:#F3F7FC;border:1px solid rgba(17,79,153,.12);font-size:13.5px;line-height:1.5;color:#3B5274}
.mp-nota svg{width:18px;height:18px;flex:none;margin-top:1px;fill:none;stroke:#114F99;stroke-width:2;stroke-linecap:round}.mp-nota b{color:#08337D}
.lib-fbar{display:grid;gap:12px;padding-top:16px;border-top:1px solid rgba(8,51,125,.08)}
@media(max-width:900px){.mp-body{grid-template-columns:minmax(0,1fr)}.mp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-rank{max-height:none}}
@media(max-width:560px){.mp-kpis{gap:8px}.mp-kpis>div{padding:11px 12px;border-radius:14px}.mp-kpis b{font-size:22px}.mp-kpis span{font-size:12px}.mp-map{padding:10px 6px;border-radius:18px}.mp-panel{padding:14px;border-radius:18px}.mp-p-h h3{font-size:19px}.mp-ley{font-size:11.5px;gap:4px 12px}}
@media(prefers-reduced-motion:reduce){.mp-mapw path{transition:none}}
/* biblioteca: tarjetas que existen (para los buscadores) pero aún no se muestran; fecha de la maniobra */
.lib-c.lib-mas-oc{display:none}
.lib-tags time{margin-left:auto;align-self:center;font-size:11.5px;font-weight:700;color:#7286A6;white-space:nowrap}

/* ── Página de cada maniobra: texto a un ancho cómodo de leer y panel lateral (en celular va debajo del texto) ── */
.px-lay{display:grid;grid-template-columns:minmax(0,760px) 330px;justify-content:space-between;gap:40px;align-items:start}
.px-lay .px-art{min-width:0}
.px-art p,.px-art li{font-size:16.5px;line-height:1.7}
.px-aside{position:sticky;top:calc(var(--hd,84px) + 22px);display:grid;gap:14px}
.pxa-cta{display:grid;gap:8px;padding:20px;border-radius:22px;background:linear-gradient(150deg,#0E4E9E,#08337D);color:#fff;box-shadow:0 14px 30px rgba(8,51,125,.22)}
.pxa-cta .kk{color:#FDCC0D}.pxa-cta b{font-size:21px;line-height:1.2;font-weight:800}.pxa-cta p{margin:0 0 6px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.86)}
.pxa-cta .btn{justify-content:center;width:100%}
.pxa-wa{background:#25D366;color:#fff;gap:8px}.pxa-wa .ic{width:18px;height:18px}
.pxa-exp{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(8,51,125,.1);box-shadow:0 8px 22px rgba(8,51,125,.06)}
.pxa-exp ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.pxa-exp a{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;text-decoration:none;color:#08337D;font-size:14.5px;font-weight:700;transition:background .15s}
.pxa-exp a:hover,.pxa-exp a:focus-visible{background:#F1F5FB}
.pxa-exp .ic{width:18px;height:18px;color:#114F99}
.pxa-exp em{font-style:normal;font-size:12.5px;font-weight:800;color:#08337D;background:#EEF3FB;border-radius:999px;padding:2px 9px;font-variant-numeric:tabular-nums}
.px-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(8,51,125,.1)}
.px-nav a{display:grid;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid rgba(8,51,125,.1);background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.px-nav a:hover{border-color:rgba(17,79,153,.35);box-shadow:0 8px 20px rgba(8,51,125,.08)}
.px-nav span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7A5B00}.px-nav .ic{width:13px;height:13px}
.px-nav b{font-size:14.5px;line-height:1.35;color:#08337D;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.px-nav .pxn-s{text-align:right}.px-nav .pxn-s span{justify-content:flex-end}
@media(max-width:1000px){.px-lay{grid-template-columns:minmax(0,1fr);gap:22px}.px-aside{position:static}}
@media(max-width:560px){.px-art p,.px-art li{font-size:16px}.px-nav{grid-template-columns:minmax(0,1fr)}.px-nav .pxn-s{text-align:left}.px-nav .pxn-s span{justify-content:flex-start}}
/* fotos a pantalla completa */
.pxl-t{cursor:zoom-in}.pxl-t:focus-visible{outline:3px solid #FDCC0D;outline-offset:3px}
.pxl{position:fixed;inset:0;z-index:10050;display:none;background:rgba(4,16,40,.97)}
.pxl.on{display:block}
.pxl-b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:56px 64px 24px}
.pxl figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.pxl img{max-width:min(1100px,100%);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);object-fit:contain;border-radius:12px;background:#0B1F3F}
.pxl figcaption{display:flex;gap:14px;align-items:baseline;justify-content:center;flex-wrap:wrap;color:#fff;font-size:14.5px;line-height:1.45;text-align:center;max-width:760px}
.pxl-n{font-size:12.5px;font-weight:800;color:#FDCC0D;white-space:nowrap}
.pxl-x,.pxl-p,.pxl-s{all:unset;box-sizing:border-box;position:absolute;cursor:pointer;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;transition:background .15s}
.pxl-x:hover,.pxl-p:hover,.pxl-s:hover{background:rgba(255,255,255,.24)}.pxl-x:focus-visible,.pxl-p:focus-visible,.pxl-s:focus-visible{outline:2px solid #FDCC0D;outline-offset:2px}
.pxl-x{top:calc(12px + env(safe-area-inset-top,0px));right:12px;font-size:30px;line-height:1}
.pxl-p{left:12px;top:50%;transform:translateY(-50%)}.pxl-s{right:12px;top:50%;transform:translateY(-50%)}
.pxl-p .ic,.pxl-s .ic{width:20px;height:20px}
.pxl-abierto,.pxl-abierto body{overflow:hidden}
@media(max-width:640px){.pxl-b{padding:60px 8px 20px}.pxl-p,.pxl-s{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:none}.pxl img{max-height:calc(100dvh - 200px)}}

/* ── Pie de página compacto en celular: misma información, sin huecos ──
   marca y redes en una fila · teléfono y WhatsApp lado a lado, correo abajo · secciones y avisos como filas parejas */
@media (max-width:760px){
footer.ft{padding:10px 0 12px}
footer.ft .cols{padding:12px 0 8px}
footer.ft .brand{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding-bottom:12px}
footer.ft .brand>img{grid-column:1;grid-row:1;margin:0;height:28px;width:auto}
footer.ft .brand .ft-social{grid-column:2;grid-row:1;margin:0;gap:6px}
footer.ft .brand .ft-social a{width:34px;height:34px;padding:0;display:grid;place-items:center}
footer.ft .brand .ft-tag{grid-column:1/-1;margin:6px 0 0;font-size:13px}
footer.ft .brand .cdat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-top:10px}
footer.ft .cdat a{min-height:40px;padding:4px 8px;gap:8px;font-size:14.5px;min-width:0}
footer.ft .cdat a:nth-child(3){grid-column:1/-1}
footer.ft .cdat a svg{width:28px;height:28px;padding:6px;flex:none}
footer.ft .cdat a span,footer.ft .cdat a b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
footer.ft .fcol .fh{padding:11px 2px;margin:0;font-size:13px}
footer.ft + .wrap .plg-btn,.plg-btn.plg-sec{padding:9px 14px;margin-bottom:6px;font-size:15px;border-radius:14px}
.plg-btn.plg-sec .plg-chev{width:28px;height:28px}
footer.ft .fbot{padding:10px 0 6px;gap:3px 14px;font-size:11.5px;line-height:1.45}
}
@media (max-width:760px){
footer.ft .cdat a{white-space:nowrap}
footer.ft .fcol.fcol-open{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;padding-bottom:10px}
footer.ft .fcol.fcol-open .fh{grid-column:1/-1}
footer.ft .fcol .l{padding:8px 2px;font-size:13.5px}
}
@media (max-width:380px){footer.ft .cdat a{font-size:13.5px;gap:6px;padding:4px 6px}footer.ft .cdat a svg{width:26px;height:26px;padding:5px}}

/* ═══ Mapa de cobertura: ficha del resultado (tema.js → cobPanel) ═══ */
.covres.mgc-on{padding:0;display:block}
.covres.mgc-on + .cov-mas{display:none!important}
.mgc{display:grid;gap:14px;color:#08337D}
.mgc-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.mgc-ck{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1F9D55;color:#fff;box-shadow:0 6px 14px rgba(31,157,85,.28)}
.mgc-ck .ic{width:20px;height:20px}
.mgc-ht{min-width:0;display:grid;gap:1px}
.mgc-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1F9D55}
.mgc-ht b{font-size:clamp(19px,2vw,22px);line-height:1.15;color:#08337D;overflow-wrap:anywhere}
.mgc-ver{display:inline-flex;align-items:center;gap:2px;padding:7px 8px 7px 12px;border-radius:999px;background:#EEF3FB;color:#08337D;font-size:12.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.mgc-ver svg{width:15px;height:15px}
.mgc-ver:hover{background:#FFF4C4}
.mgc-dat{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.mgc-dat span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:#F3F6FA;border:1px solid rgba(8,51,125,.08);font-size:12.5px;font-weight:600;color:#3D5683;white-space:nowrap}
.mgc-dat b{color:#08337D;font-weight:800}
.mgc-dat .ic{width:14px;height:14px;color:#114F99}
.mgc-sec{display:grid;gap:8px;min-width:0}
.mgc-t{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7286A6}
.mgc-th{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.mgc-th a{display:inline-flex;align-items:center;gap:1px;font-size:13px;font-weight:800;color:#08337D;text-decoration:none;white-space:nowrap}
.mgc-th a svg{width:15px;height:15px}
.covpanel .covres .mgc .cities{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -2px;padding:2px 2px 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.covpanel .covres .mgc .cities .ct{flex:none;scroll-snap-align:start;padding:7px 12px;border-radius:999px;font-size:13px}
.mgc-pl{display:grid;grid-auto-flow:column;grid-auto-columns:168px;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.mgc-pl a{scroll-snap-align:start;display:grid;grid-template-rows:auto auto auto;align-content:start;gap:3px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid rgba(8,51,125,.1);text-decoration:none;color:#08337D;transition:transform .2s,box-shadow .2s}
.mgc-pl a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,51,125,.12)}
.mgc-pl img,.mgc-ph{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:#DCE5F2}
.mgc-pl b{padding:6px 10px 0;font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mgc-pl em{padding:0 10px 9px;font-style:normal;font-size:11.5px;font-weight:600;color:#7286A6}
.mgc-nada{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:12px;background:#F3F6FA;font-size:13px;line-height:1.45;color:#3D5683}
.mgc-nada .ic{flex:none;width:16px;height:16px;margin-top:1px;color:#1F9D55}
.mgc-a{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
.mgc-a .btn{margin:0;min-height:46px;padding:0 10px;justify-content:center;font-size:14px;white-space:nowrap}
.mgc-a .covsol .ic{width:16px;height:16px}
@media (max-width:760px){
  .covpanel .covres.mgc-on{padding:16px 2px 4px}
  .mgc{gap:12px}
  .mgc-a{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .mgc-a .covsol{grid-column:1/-1}
  .mgc-pl{grid-auto-columns:150px}
}
@media (prefers-reduced-motion:reduce){.mgc-pl a{transition:none}}
/* estado inicial del panel: los datos en una fila compacta, sin mosaicos */
.covres .cov-stats3{display:flex!important;flex-wrap:wrap;gap:6px}
.covres .cov-stats3>span{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;padding:6px 11px!important;min-height:0!important;border-radius:999px!important;background:#F3F6FA!important;border:1px solid rgba(8,51,125,.08)!important;box-shadow:none!important}
.covres .cov-stats3 .s3t{display:inline-flex!important;flex-direction:row!important;align-items:baseline;gap:4px}
.covres .cov-stats3>span{flex:none!important;width:auto!important;max-width:100%}
.covres .cov-stats3 .s3t b,.covres .cov-stats3 .s3t i{display:inline!important;position:static!important;margin:0!important;line-height:1.2!important;white-space:nowrap}
.covres .cov-stats3 .s3t b{font-size:13px!important}
.covres .cov-stats3 .s3t i{font-size:12px!important;font-style:normal;font-weight:600}
.covres .cov-stats3 .ic{width:14px!important;height:14px!important}

/* área de toque cómoda para los puntos de la galería de cada proyecto (se ven chicos, se tocan grandes) */
.px-gal-n button{position:relative}.px-gal-n button::after{content:"";position:absolute;left:-8px;right:-8px;top:-14px;bottom:-14px}

/* ═══ Transporte · cobertura nacional (mapa interactivo de corredores + ruta a WhatsApp) ═══ */
#tr-cobertura .trc{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:28px;align-items:center;padding:34px 34px 30px;border-radius:28px;color:#fff;background:radial-gradient(760px 380px at 82% -6%,rgba(253,204,13,.15),transparent 60%),radial-gradient(600px 420px at 10% 110%,rgba(94,200,255,.12),transparent 60%),linear-gradient(135deg,#062A69 0%,#0A3A83 50%,#0F4A97 100%);box-shadow:0 26px 60px rgba(8,51,125,.3);overflow:hidden}
#tr-cobertura .trc .kk{color:#FDCC0D}
#tr-cobertura .trc h2{margin:4px 0 0;color:#fff;font-size:clamp(26px,3.1vw,38px);line-height:1.08;text-wrap:balance}
.trc-sub{margin:12px 0 0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.86);max-width:52ch}
.trc-dat{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.trc-dat li{display:flex;align-items:center;gap:12px}
.trc-dat .ic{flex:none;width:38px;height:38px;padding:9px;border-radius:12px;background:rgba(253,204,13,.16);color:#FDCC0D;box-sizing:border-box}
.trc-dat span{display:grid;font-size:13.5px;line-height:1.35;color:rgba(255,255,255,.78)}
.trc-dat b{font-size:15px;color:#fff}
.trc-f{margin-top:20px;padding:16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);display:grid;gap:10px}
.trc-ft{margin:0;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FDCC0D}
.trc-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}
.trc-f label{display:grid;gap:5px;min-width:0}
.trc-f label span{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.8)}
.trc-f input{width:100%;box-sizing:border-box;height:46px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#fff;color:#08337D;font:inherit;font-size:15px;transition:box-shadow .25s}
.trc-f input:focus{outline:3px solid rgba(253,204,13,.55);outline-offset:1px}
.trc-ar{display:grid;place-items:center;height:46px;color:#FDCC0D}.trc-ar .ic{width:20px;height:20px}
.trc-e{margin:0;font-size:13px;font-weight:700;color:#FED94A}
.trc-a{display:flex;flex-wrap:wrap;gap:8px}
.trc-a .btn{margin:0;min-height:48px;justify-content:center}
.trc-a .btn-gh{color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
.trc-n{margin:0;font-size:12.5px;color:rgba(255,255,255,.7)}
/* mapa */
.trc-mapa{margin:0;position:relative;display:grid;gap:10px}
.trc-cor{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}
.trc-cor::-webkit-scrollbar{display:none}
.trc-cor button{flex:none;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.trc-cor button:hover{border-color:#FDCC0D}
.trc-cor button.on{background:#FDCC0D;border-color:#FDCC0D;color:#08337D}
.trc-svg{display:block;width:100%;height:auto;overflow:visible}
.trc-grid path{fill:none;stroke:rgba(255,255,255,.07);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 5}
.trc-st path{fill:url(#trcEdo);stroke:rgba(160,205,255,.4);stroke-width:.9;vector-effect:non-scaling-stroke}
.trc-gl{fill:none;stroke:#FDCC0D;stroke-width:7;stroke-linecap:round;opacity:.28;transition:opacity .3s}
.trc-r{fill:none;stroke:#FDCC0D;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 6;vector-effect:non-scaling-stroke;animation:trcFluye 1.4s linear infinite;animation-delay:var(--d,0s);transition:opacity .3s,stroke-width .3s}
@keyframes trcFluye{to{stroke-dashoffset:-22}}
.trc-mv{fill:url(#trcMv);transition:opacity .3s}
.trc-sel{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-dasharray:10 8;vector-effect:non-scaling-stroke;opacity:0;animation:trcFluye 1s linear infinite;filter:drop-shadow(0 0 6px rgba(255,255,255,.7))}
.trc-svg.ruta .trc-sel{opacity:1}
.trc-svg.filtra .trc-r:not(.on),.trc-svg.filtra .trc-gl:not(.on),.trc-svg.filtra .trc-mv:not(.on){opacity:.08}
.trc-svg.filtra .trc-hub:not(.on){opacity:.35}
.trc-svg.ruta .trc-r,.trc-svg.ruta .trc-gl,.trc-svg.ruta .trc-mv{opacity:.18}
.trc-svg.hover .trc-r.vec{stroke-width:3.4;opacity:1}.trc-svg.hover .trc-gl.vec{opacity:.6}
.trc-hub{cursor:pointer;outline:none;transition:opacity .3s}
.trc-hub .hit{fill:transparent}
.trc-hub .pulse{fill:none;stroke:#FDCC0D;stroke-width:1.5;opacity:0;vector-effect:non-scaling-stroke}
.trc-hub.big .pulse{animation:trcPulso 2.8s ease-out infinite}
@keyframes trcPulso{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.trc-hub .s{stroke-width:2;vector-effect:non-scaling-stroke;transition:transform .2s}
.trc-hub.t-i .s{fill:#FDCC0D;stroke:#fff}
.trc-hub.t-p .s{fill:#5EC8FF;stroke:#fff}
.trc-hub.t-f .s{fill:#fff;stroke:#FDCC0D}
.trc-hub:hover .s,.trc-hub:focus-visible .s{transform:scale(1.35)}
.trc-hub:focus-visible .hit{stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}
.trc-hub.o .s,.trc-hub.d .s{transform:scale(1.6);fill:#fff;stroke:#FDCC0D;stroke-width:3}
.trc-hub.o .pulse,.trc-hub.d .pulse{animation:trcPulso 1.6s ease-out infinite}
.trc-ls text{font:800 16px/1 "Plus Jakarta Sans",system-ui,sans-serif;fill:#fff;paint-order:stroke;stroke:#062A69;stroke-width:4.5px;stroke-linejoin:round;pointer-events:none;letter-spacing:.01em}
.trc-rosa circle{fill:rgba(255,255,255,.05);stroke:rgba(255,255,255,.25);stroke-width:1;vector-effect:non-scaling-stroke}
.trc-rosa path{fill:rgba(253,204,13,.85)}
.trc-rosa text{font:800 13px/1 "Plus Jakarta Sans",system-ui,sans-serif;fill:rgba(255,255,255,.8)}
.trc-tip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 12px));min-width:140px;padding:9px 12px;border-radius:12px;background:#fff;color:#08337D;box-shadow:0 12px 30px rgba(0,0,0,.28);display:grid;gap:1px;pointer-events:none;text-align:center}
.trc-tip b{font-size:14px}.trc-tip span{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#114F99}.trc-tip em{font-style:normal;font-size:11.5px;color:#7286A6}
.trc-tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.trc-ruta{justify-self:start;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;background:rgba(255,255,255,.96);color:#08337D;font-size:13px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.trc-ruta button{border:0;border-radius:999px;padding:6px 10px;background:#EEF3FB;color:#08337D;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.trc-ley{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.82)}
.trc-ley span{display:inline-flex;align-items:center;gap:6px}
.trc-ley em{font-style:normal;font-size:11px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.12)}
.trc-ley i{display:inline-block;flex:none}
.trc-ley .l-r{width:18px;border-top:2.5px dashed #FDCC0D}
.trc-ley .l-i{width:10px;height:10px;border-radius:50%;background:#FDCC0D;box-shadow:0 0 0 2px #fff}
.trc-ley .l-p{width:9px;height:9px;border-radius:2px;background:#5EC8FF;transform:rotate(45deg);box-shadow:0 0 0 2px #fff}
.trc-ley .l-f{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #fff}
.trc-ley .trc-hint{margin-left:auto;color:#FDCC0D}
.trc-z{margin-top:16px;border-radius:18px;border:1px solid rgba(8,51,125,.12);background:#fff;padding:4px 18px}
.trc-z summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;font-weight:800;font-size:15px;color:#08337D}
.trc-z summary::-webkit-details-marker{display:none}
.trc-z summary::after{content:"";flex:none;width:9px;height:9px;border-right:2.4px solid currentColor;border-bottom:2.4px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.trc-z[open] summary::after{transform:rotate(-135deg)}
.trc-gs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px 22px;padding:2px 0 8px}
.trc-g b{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#114F99}
.trc-g b em{font-style:normal;font-size:11.5px;padding:2px 7px;border-radius:999px;background:#EEF3FB;color:#08337D}
.trc-g .tr-zonas{display:flex;flex-wrap:wrap;gap:6px;margin:0;justify-content:flex-start}
.trc-zn{margin:4px 0 14px;font-size:13.5px;color:#5A6C8C}
@media (max-width:960px){#tr-cobertura .trc{grid-template-columns:minmax(0,1fr);padding:22px 16px;gap:18px;border-radius:24px}.trc-mapa{order:-1}.trc-ley .trc-hint{margin-left:0;flex-basis:100%}}
@media (max-width:560px){.trc-in{grid-template-columns:minmax(0,1fr)}.trc-ar{display:none}.trc-a .btn{flex:1 1 100%}.trc-ls text{font-size:22px;stroke-width:5.5px}.trc-z{padding:2px 14px}.trc-ruta{font-size:12px}}
@media (prefers-reduced-motion:reduce){.trc-r,.trc-sel,.trc-hub .pulse{animation:none!important}}

/* ═══ Transporte · mapa: un color por corredor y más contraste ═══ */
#tr-cobertura .trc{--c-pacifico:#2DD4BF;--c-tmec:#FDCC0D;--c-norte:#FB923C;--c-bajio:#A3E635;--c-golfo:#F472D0;background:radial-gradient(760px 380px at 82% -6%,rgba(253,204,13,.12),transparent 60%),radial-gradient(640px 440px at 8% 112%,rgba(45,212,191,.12),transparent 60%),linear-gradient(135deg,#021637 0%,#05265F 52%,#08357C 100%)}
.trc-st path{fill:#123F7E;stroke:rgba(150,196,255,.55);stroke-width:1;transition:fill .25s}
.trc-st path:hover{fill:#1A4F98}
.trc-grid path{stroke:rgba(150,196,255,.09)}
.trc-r[data-c="pacifico"],.trc-gl[data-c="pacifico"]{stroke:var(--c-pacifico)}
.trc-r[data-c="tmec"],.trc-gl[data-c="tmec"]{stroke:var(--c-tmec)}
.trc-r[data-c="norte"],.trc-gl[data-c="norte"]{stroke:var(--c-norte)}
.trc-r[data-c="bajio"],.trc-gl[data-c="bajio"]{stroke:var(--c-bajio)}
.trc-r[data-c="golfo"],.trc-gl[data-c="golfo"]{stroke:var(--c-golfo)}
.trc-r{stroke-width:2.8;stroke-dasharray:7 5}
.trc-gl{stroke-width:9;opacity:.38}
.trc-mv{stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke}
.trc-mv[data-c="pacifico"]{fill:var(--c-pacifico)}.trc-mv[data-c="tmec"]{fill:var(--c-tmec)}.trc-mv[data-c="norte"]{fill:var(--c-norte)}.trc-mv[data-c="bajio"]{fill:var(--c-bajio)}.trc-mv[data-c="golfo"]{fill:var(--c-golfo)}
.trc-svg.filtra .trc-r.on{stroke-width:3.8}.trc-svg.filtra .trc-gl.on{opacity:.6;stroke-width:12}
.trc-svg.filtra .trc-r:not(.on),.trc-svg.filtra .trc-gl:not(.on),.trc-svg.filtra .trc-mv:not(.on){opacity:.06}
/* puntos: blanco = polo industrial, azul cielo = puerto, rojo = cruce fronterizo */
.trc-hub.t-i .s{fill:#fff;stroke:#021637;stroke-width:2.5}
.trc-hub.t-i.big .s{fill:#fff;stroke:#FDCC0D;stroke-width:3}
.trc-hub.t-p .s{fill:#38BDF8;stroke:#fff;stroke-width:2}
.trc-hub.t-f .s{fill:#FB4D6D;stroke:#fff;stroke-width:2}
.trc-hub .pulse{stroke:#fff}
.trc-hub.o .s,.trc-hub.d .s{fill:#FDCC0D;stroke:#fff;stroke-width:3}
.trc-ls text{fill:#fff;stroke:#021637;stroke-width:5px;font-weight:800}
.trc-sel{stroke:#fff;stroke-width:4.5;filter:drop-shadow(0 0 8px rgba(255,255,255,.85))}
/* botones de corredor con su color */
.trc-cor button{display:inline-flex;align-items:center;gap:7px;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.trc-cor button[data-c]:not([data-c=""])::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cc,#fff);box-shadow:0 0 0 2px rgba(255,255,255,.25),0 0 10px var(--cc,#fff)}
.trc-cor button[data-c="pacifico"]{--cc:var(--c-pacifico)}.trc-cor button[data-c="tmec"]{--cc:var(--c-tmec)}.trc-cor button[data-c="norte"]{--cc:var(--c-norte)}.trc-cor button[data-c="bajio"]{--cc:var(--c-bajio)}.trc-cor button[data-c="golfo"]{--cc:var(--c-golfo)}
.trc-cor button.on{background:var(--cc,#FDCC0D);border-color:var(--cc,#FDCC0D);color:#021637}
.trc-cor button.on::before{background:#021637!important;box-shadow:none!important}
.trc-cor button[data-c=""].on{background:#fff;border-color:#fff;color:#021637}
/* leyenda */
.trc-ley .l-r{width:26px;height:4px;border:0;border-radius:4px;background:linear-gradient(90deg,var(--c-pacifico) 0 20%,var(--c-tmec) 20% 40%,var(--c-norte) 40% 60%,var(--c-bajio) 60% 80%,var(--c-golfo) 80%)}
.trc-ley .l-i{background:#fff;box-shadow:0 0 0 2px #021637,0 0 0 3.5px #fff}
.trc-ley .l-p{background:#38BDF8}
.trc-ley .l-f{border-bottom-color:#FB4D6D}
.trc-tip span{color:#05265F}
/* puntos más grandes y con contorno fino (en pantalla chica el contorno grueso tapaba el color) */
.trc-hub .s{transform:scale(1.25)}
.trc-hub.t-i .s{fill:#fff;stroke:#021637;stroke-width:1.2}
.trc-hub.t-i.big .s{fill:#fff;stroke:#FDCC0D;stroke-width:2;transform:scale(1.15)}
.trc-hub.t-p .s{fill:#38BDF8;stroke:#fff;stroke-width:1.3}
.trc-hub.t-f .s{fill:#FB4D6D;stroke:#fff;stroke-width:1.3;transform:scale(1.3)}
.trc-hub:hover .s,.trc-hub:focus-visible .s{transform:scale(1.65)}
.trc-hub.o .s,.trc-hub.d .s{fill:#FDCC0D;stroke:#fff;stroke-width:2.5;transform:scale(1.75)}
.trc-hub.t-p .s{transform:rotate(45deg) scale(1.2)}
.trc-hub.t-p:hover .s,.trc-hub.t-p:focus-visible .s{transform:rotate(45deg) scale(1.6)}
.trc-hub.t-p.o .s,.trc-hub.t-p.d .s{transform:rotate(45deg) scale(1.7)}
@media (min-width:961px){.trc-cor{flex-wrap:wrap;overflow:visible}}
@media (max-width:960px){.trc-cor{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:24px}}

/* ═══ Medidor de maniobra (peso · distancia · altura) — tema.js → mgMedidas ═══ */
.mgm{--mz:#08337D;--mz2:#114F99;--my:#FDCC0D;--mm:#5A6C8C;--ml:rgba(8,51,125,.12);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px;align-items:start;padding:20px;border-radius:26px;background:#fff;border:1px solid var(--ml);box-shadow:0 22px 50px rgba(8,51,125,.1);color:var(--mz);text-align:left}
.mgm-vis{position:sticky;top:90px;display:grid;gap:10px}
.mgm-svg{display:block;width:100%;height:auto;border-radius:16px;box-shadow:inset 0 0 0 1px var(--ml)}
.mgm-grid line{stroke:rgba(8,51,125,.07);stroke-width:1}
.mgm-ed{fill:#C9D8EC;stroke:#9FB4D3;stroke-width:1}
.mgm-vent rect{fill:#E9F0FA}
.mgm-pluma{stroke:var(--my);stroke-width:9;stroke-linecap:round}
.mgm-pluma2{stroke:#E0B000;stroke-width:12;stroke-linecap:round}
.mgm-piv{fill:var(--mz);stroke:#fff;stroke-width:2}
.mgm-cable{stroke:#0B1F3A;stroke-width:1.6}
.mgm-gancho{fill:none;stroke:#0B1F3A;stroke-width:1.6;stroke-linejoin:round}
.mgm-cj{fill:var(--mz2);stroke:#062A69;stroke-width:1.5}
.mgm-cjt{fill:#fff;font:800 10px "Plus Jakarta Sans",system-ui,sans-serif}
.mgm-cota .l{stroke:var(--mz);stroke-width:1.4;stroke-dasharray:4 3}
.mgm-cota .a{fill:none;stroke:var(--mz);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mgm-cota .b{fill:var(--mz)}
.mgm-cota text{fill:#fff;font:800 11px "Plus Jakarta Sans",system-ui,sans-serif}
.mgm-ca .b{fill:#E0B000}.mgm-ca .l,.mgm-ca .a{stroke:#B98F00}.mgm-ca text{fill:#08337D}
.mgm-tip{margin:0;padding:10px 12px;border-radius:12px;background:#F3F6FA;font-size:13px;line-height:1.45;color:var(--mm)}
.mgm-ley{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mgm-ley li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;font-size:13px;line-height:1.45;color:var(--mm)}
.mgm-ley b{color:var(--mz)}
.mgm-ley i{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px;background:#EEF3FB;color:var(--mz)}
.mgm-chat .mgm-ley,.mgm-form .mgm-ley{display:none}
.mgm-cs{display:grid;gap:14px}
.mgm-c{display:grid;gap:8px;padding:14px 14px 12px;border-radius:18px;border:1px solid var(--ml);background:#FBFCFE;transition:border-color .2s,box-shadow .2s}
.mgm-c:focus-within{border-color:rgba(17,79,153,.45);box-shadow:0 0 0 3px rgba(17,79,153,.08)}
.mgm-h{display:flex;align-items:center;gap:10px}
.mgm-h label{flex:1;font-size:15.5px;font-weight:800;color:var(--mz)}
.mgm-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--mz);color:#fff;font-size:13px;font-weight:800}
.mgm-ay{margin:-4px 0 0 36px;font-size:12.5px;line-height:1.4;color:var(--mm)}
.mgm-u{display:inline-flex;padding:3px;border-radius:999px;background:#EEF3FB}
.mgm-u button{border:0;background:none;padding:5px 12px;border-radius:999px;font:inherit;font-size:13px;font-weight:800;color:var(--mm);cursor:pointer}
.mgm-u button[aria-pressed="true"]{background:var(--mz);color:#fff}
.mgm-v{display:grid;grid-template-columns:auto minmax(56px,84px) auto auto;align-items:center;gap:8px}
.mgm-c[data-k="peso"] .mgm-v{grid-template-columns:minmax(64px,96px) auto}
.mgm-in{box-sizing:border-box;width:100%;height:44px;padding:0 10px;border-radius:12px;border:1px solid var(--ml);background:#fff;color:var(--mz);font:inherit;font-size:20px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.mgm-in::placeholder{color:rgba(8,51,125,.35);font-weight:700;font-size:15px}
.mgm-in:focus{outline:3px solid rgba(253,204,13,.55);outline-offset:1px}
.mgm-un{font-size:15px;font-weight:800;color:var(--mm);min-width:16px}
.mgm-st{width:40px;height:40px;border-radius:50%;border:1px solid var(--ml);background:#fff;color:var(--mz);font:inherit;font-size:20px;font-weight:800;line-height:1;cursor:pointer;display:grid;place-items:center}
.mgm-st:hover{background:var(--my);border-color:var(--my)}
.mgm-sl{grid-column:1/-1;-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:2px 0 0;cursor:pointer;--p:30%}
.mgm-sl::-webkit-slider-runnable-track{height:8px;border-radius:8px;background:linear-gradient(90deg,var(--mz2) 0 var(--p),#E3EAF4 var(--p) 100%)}
.mgm-sl::-moz-range-track{height:8px;border-radius:8px;background:linear-gradient(90deg,var(--mz2) 0 var(--p),#E3EAF4 var(--p) 100%)}
.mgm-sl::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-9px;border-radius:50%;background:#fff;border:6px solid var(--mz2);box-shadow:0 4px 12px rgba(8,51,125,.3)}
.mgm-sl::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:6px solid var(--mz2);box-shadow:0 4px 12px rgba(8,51,125,.3)}
.mgm-sl:focus-visible{outline:2px solid var(--mz2);outline-offset:4px;border-radius:8px}
.mgm-c.sin .mgm-sl{--p:0%!important;opacity:.55}
.mgm-c.sin .mgm-sl::-webkit-slider-thumb{border-color:#9FB4D3}
.mgm-tk{position:relative;height:14px;margin:-6px 13px 0}
.mgm-tk span{position:absolute;left:calc(var(--f) * 100%);transform:translateX(-50%);font-size:11px;font-weight:700;color:rgba(8,51,125,.45);white-space:nowrap}
.mgm-tk span:last-child{transform:translateX(-85%)}
.mgm-q{display:flex;flex-wrap:wrap;gap:6px}
.mgm-q button,.mgm-h .mgm-ns{border:1px solid var(--ml);background:#fff;padding:6px 10px;border-radius:999px;font:inherit;font-size:12.5px;font-weight:700;color:var(--mz);cursor:pointer}
.mgm-q button.on{background:var(--mz);border-color:var(--mz);color:#fff}
.mgm-q button:hover,.mgm-h .mgm-ns:hover{border-color:var(--mz2)}
.mgm .mgm-ns[aria-pressed="true"]{background:#FFF4C4;border-color:var(--my);color:#7A5B00}
.mgm-fin{display:grid;gap:10px;padding:14px;border-radius:18px;background:linear-gradient(120deg,#08337D,#114F99);color:#fff}
.mgm-res{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.85)}
.mgm-res b{color:#fff}
.mgm-go{margin:0;width:100%;justify-content:center;min-height:50px}
.mgm-nota{margin:0;font-size:12.5px;color:rgba(255,255,255,.72)}
@media (max-width:900px){.mgm{grid-template-columns:minmax(0,1fr);padding:14px;gap:14px;border-radius:22px}.mgm-vis{position:static}}
@media (max-width:420px){.mgm-v{grid-template-columns:auto minmax(52px,1fr) auto auto}.mgm-h label{font-size:15px}}
/* dentro del chat de Titán: compacto */
.mgm-chat{grid-template-columns:minmax(0,1fr);padding:10px;gap:10px;border-radius:16px;box-shadow:none;margin:4px 0}
.mgm-chat .mgm-vis{position:static}
.mgm-chat .mgm-svg{max-height:150px}
.mgm-chat .mgm-tip{display:none}
.mgm-chat .mgm-c{padding:10px;gap:6px;border-radius:14px}
.mgm-chat .mgm-h label{font-size:14px}
.mgm-chat .mgm-ay{display:none}
.mgm-chat .mgm-in{height:38px;font-size:17px}
.mgm-chat .mgm-st{width:34px;height:34px;font-size:18px}
.mgm-chat .mgm-q button{padding:5px 8px;font-size:12px}
.mgm-chat .mgm-fin{padding:10px;border-radius:14px}.mgm-chat .mgm-res{font-size:12.5px}.mgm-chat .mgm-go{min-height:44px}
/* en la solicitud: sin tarjeta exterior */
.mgm-form{margin:14px 0;box-shadow:none;background:#F7F9FC;padding:14px}.mgm-form .mgm-tip{display:none}.mgm-form .mgm-vis{top:100px}
@media (prefers-reduced-motion:reduce){.mgm-c{transition:none}}

/* Ficha del proyecto: los subtítulos (15 t, Guanajuato, Estimado) van en minúsculas normales: «15 T» se leería como teslas */
.px-placa dl dd small{text-transform:none;letter-spacing:.2px;font-size:12px}

/* Mapa de maniobras: tarjetas parejas. El título completo (hasta 3 renglones, sin cortar «Nuevo León» a la mitad),
   la ubicación en azul como en las fichas y la fecha siempre en su propio renglón, al pie */
.lib-tx b{-webkit-line-clamp:3;line-clamp:3}
.lib-loc{color:#1D4F9E}
.lib-tags{align-items:center}
.lib-tags time{flex-basis:100%;margin:2px 0 0;text-align:left}
.lib-tx{align-content:start}

/* «Ver todo» (preguntas y secciones plegables): flecha dibujada con CSS; la del ícono rotado se veía rota en iPhone */
.mcol-more .ic{display:none}
.mcol-more::after{content:"";display:inline-block;width:8px;height:8px;margin-left:10px;border-right:2.4px solid currentColor;border-bottom:2.4px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .22s}
.mcol-more[aria-expanded="true"]::after{transform:translateY(2px) rotate(-135deg)}

/* ── Pie de página en celular (rediseño): sin acordeones ni huecos. Cada grupo es un título corto con sus enlaces
   como pastillas que se acomodan solas; horarios y pagos quedan a la vista en renglones compactos ── */
@media (max-width:760px){
  footer.ft .cols{display:block;padding:6px 0 4px}
  footer.ft .fcol,footer.ft .fcol.fcol-open{display:flex!important;flex-wrap:wrap;gap:8px;padding:14px 0 16px;border-top:1px solid rgba(255,255,255,.1)}
  html footer.ft .cols .fcol .fh{flex:0 0 100%;display:block;padding:0 2px!important;margin:0 0 2px!important;min-height:0;height:auto;line-height:1.3;font-size:11.5px;letter-spacing:.16em;color:#FDCC0D;pointer-events:none;background:none;border:0}
  footer.ft .fcol .fh::after,footer.ft .fcol .fh::before{display:none!important}
  footer.ft .fcol .l,footer.ft .cols .fcol a.l{display:inline-flex!important;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:13.5px;font-weight:600;color:rgba(255,255,255,.9);line-height:1.2}
  footer.ft .fcol .l:active{background:rgba(253,204,13,.18)}
  html body .wrap:has(> .fav) > .plg-btn.plg-sec,html body .wrap:has(> .fpayrow) > .plg-btn.plg-sec{display:none!important}
  html body .wrap > div.fav,html body .wrap > div.fav.plg-off{display:grid!important;gap:8px;padding:14px 0 6px;border-top:1px solid rgba(255,255,255,.1);margin:0}
  footer.ft .fav-i{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:0;margin:0;background:none;border:0;box-shadow:none}
  footer.ft .fav-ic{width:30px;height:30px;display:grid;place-items:center}
  footer.ft .fav-ic svg{width:15px;height:15px}
  footer.ft .fav-lb{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:0 0 1px}
  footer.ft .fav-v{margin:0;font-size:13.5px;line-height:1.35;color:#fff}
  footer.ft .fav-tx small{display:block;font-size:12px;line-height:1.4;color:rgba(255,255,255,.62);margin-top:2px}
  html body .wrap > div.fpayrow,html body .wrap > div.fpayrow.plg-off{display:grid!important;gap:10px;padding:14px 0 12px;border-top:1px solid rgba(255,255,255,.1);margin:0}
  footer.ft .fpay-tx{margin:0;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.75)}
  footer.ft .fpay-banks{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
  html body .wrap > div.fav .fav-i{background:none!important;border:0!important;box-shadow:none!important;padding:2px 0!important;border-radius:0!important}
  html body .wrap > div.fpayrow .fpay-tx{display:block!important;text-align:left}
  html body .wrap > div.fpayrow .fpay-tx>*{display:inline!important;vertical-align:middle}
  html body .wrap > div.fpayrow .fpay-sep{display:none!important}
  html body .wrap > div.fpayrow .fpay-sello{display:inline-grid!important;place-items:center;width:24px;height:24px;margin-right:6px;border-radius:7px}
  html body .wrap > div.fpayrow .fpay-sello svg{width:13px;height:13px}
  html body .wrap > div.fpayrow .fpay-lb{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-right:6px}
  html body .wrap > div.fpayrow .fpay-banks{gap:8px}
  html body .wrap > div.fpayrow .fpay-banks img{height:32px!important;width:auto!important;max-width:44%;box-sizing:border-box!important;padding:8px 11px!important;object-fit:contain}
  html body .wrap > div.fav{background:none!important;border:0!important;border-top:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important;padding:14px 0 8px!important;border-radius:0!important}
  footer.ft .fbot{padding:12px 64px calc(84px + env(safe-area-inset-bottom,0px)) 0;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px}
}

/* Portada: texto e imagen aparecen juntos. Un velo del color de la portada la cubre hasta que la foto está lista
   (máximo 2.4 s, aunque falle el script); y sin animaciones de transparencia, el vidrio esmerilado se ve bien desde el inicio */
.ap-hero{position:relative}
.ap-hero::after{content:"";position:absolute;inset:0;z-index:30;border-radius:inherit;background:#08337D;pointer-events:none;opacity:1;transition:opacity .45s ease;animation:mgVelo 0s linear 2.4s forwards}
.ap-hero.mg-lista::after{opacity:0;animation:none}
@keyframes mgVelo{to{opacity:0;visibility:hidden}}
.ap-hero .in{animation:none!important;opacity:1!important;transform:none!important}
.ap-hero>img{animation:mgHeroImg2 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes mgHeroImg2{from{transform:scale(1.04)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.ap-hero::after{transition:none}.ap-hero>img{animation:none}}

/* ── Computadora: columnas parejas, sin huecos ── */
@media (min-width:961px){
  /* Inicio · Proceso: los 6 pasos a la izquierda y el detalle del paso a la derecha (antes todo quedaba en media pantalla) */
  #como-trabajamos #procExp.proc{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start;max-width:none;width:100%}
  #como-trabajamos #procExp .pexp{position:sticky;top:100px;margin:0;max-width:none;width:auto}
  #como-trabajamos #procExp .pasos6{max-width:none;width:auto}
  /* Inicio · Proyectos: un solo título (el de la sección); el enlace «Ver todos» queda a la derecha */
  #casos .fleet-proj .hh{justify-content:flex-end}
  #casos .fleet-proj .hh h2{display:none}
  /* Transporte · «Diez datos»: dos columnas de preguntas en tarjetas, en vez de una lista larga a media pantalla */
  #tr-datos #tr-form.tr-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:stretch}
  #tr-datos #tr-form.tr-form > *{grid-column:1/-1}
  #tr-datos #tr-form.tr-form > .tr-campo{grid-column:auto;margin:0;padding:16px 18px;background:#fff;border:1px solid rgba(8,51,125,.08);border-radius:18px;box-shadow:0 8px 20px rgba(8,51,125,.05)}
  /* Nosotros · Red nacional: foto en proporción 4:3 (antes una columna altísima que dejaba el texto flotando) */
  #red .bloq{align-items:center}
  #red .bloq .ph img{aspect-ratio:4/3;height:auto;width:100%;object-fit:cover}
  /* Proyectos: la galería acompaña al texto y a la ficha mientras bajas (sin columna vacía debajo de la foto) */
  .px-split>.px-col:has(.px-gal){position:sticky;top:96px}
}

/* ── Medidor de maniobra · versión compacta (tarjetas suaves, deslizables grandes) ── */
.mgm.mgm{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:0;background:none;border:0;box-shadow:none;max-width:560px;margin-inline:auto;color:#08337D;text-align:left}
.mgm.mgm .mgm-svg,.mgm.mgm .mgm-n,.mgm.mgm .mgm-ay,.mgm.mgm .mgm-st,.mgm.mgm .mgm-res{display:none}
.mgm.mgm .mgm-vis{position:static;display:grid;gap:14px;align-content:start}
.mgm.mgm .mgm-top{position:relative;overflow:hidden;border-radius:28px;padding:18px 18px 16px;color:#fff;background:radial-gradient(120% 140% at 100% 0%,rgba(120,200,255,.55) 0%,rgba(120,200,255,0) 55%),linear-gradient(150deg,#0E4A9F 0%,#08337D 55%,#062A6A 100%);box-shadow:0 18px 40px rgba(8,51,125,.25),inset 0 1px 0 rgba(255,255,255,.25)}
.mgm.mgm .mgm-k{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.mgm.mgm .mgm-big{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.mgm.mgm .mgm-big>div{display:grid;gap:2px;min-width:0}
.mgm.mgm .mgm-big b{font-size:clamp(22px,6.4vw,32px);line-height:1.05;font-weight:800;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.mgm.mgm .mgm-big .vacio b{color:rgba(255,255,255,.4)}
.mgm.mgm .mgm-big span{font-size:12px;font-weight:600;color:rgba(255,255,255,.7)}
.mgm.mgm .mgm-tip{margin:12px 0 0;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.88)}
.mgm.mgm .mgm-cs{display:grid;gap:0;padding:6px;border-radius:28px;background:#fff;border:1px solid rgba(8,51,125,.07);box-shadow:0 18px 40px rgba(8,51,125,.08)}
.mgm.mgm .mgm-c{display:grid;gap:8px;padding:12px 12px;border:0;border-radius:0;background:none;box-shadow:none}
.mgm.mgm .mgm-c+.mgm-c{border-top:1px solid rgba(8,51,125,.07)}
.mgm.mgm .mgm-h{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0}
.mgm.mgm .mgm-ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#FFFFFF,#EEF2F8);box-shadow:0 4px 10px rgba(8,51,125,.1),inset 0 0 0 1px rgba(8,51,125,.06)}
.mgm.mgm .mgm-ico svg,.mgm.mgm .mgm-ley i svg{width:19px;height:19px;fill:none;stroke:#08337D;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mgm.mgm .mgm-h label{display:grid;gap:1px;font-size:15px;font-weight:800;line-height:1.2;color:#08337D;margin:0}
.mgm.mgm .mgm-h label small{font-size:12px;font-weight:500;color:#6A7B98}
.mgm.mgm .mgm-val{display:flex;align-items:baseline;gap:4px;justify-content:flex-end}
.mgm.mgm .mgm-in{width:4.4ch;min-width:0;height:auto;padding:0;border:0;background:none;box-shadow:none;text-align:right;font-family:inherit;font-size:24px;font-weight:800;line-height:1.1;color:#08337D;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.mgm.mgm .mgm-in::placeholder{color:#B4C0D3;font-weight:700}
.mgm.mgm .mgm-in:focus{outline:none;border-bottom:2px solid #FDCC0D}
.mgm.mgm .mgm-un{font-size:14px;font-weight:700;color:#6A7B98;margin:0}
.mgm.mgm .mgm-sl{-webkit-appearance:none;appearance:none;width:100%;height:30px;margin:0;background:transparent;cursor:pointer}
.mgm.mgm .mgm-sl::-webkit-slider-runnable-track{height:10px;border-radius:10px;background:linear-gradient(90deg,#2F7BE0 0%,#08337D var(--p,50%),#E8EDF5 var(--p,50%));box-shadow:inset 0 1px 2px rgba(8,51,125,.12)}
.mgm.mgm .mgm-sl::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0%,#F3F6FB 70%,#E2E8F2 100%);border:1px solid rgba(8,51,125,.12);box-shadow:0 6px 14px rgba(8,51,125,.28)}
.mgm.mgm .mgm-sl::-moz-range-track{height:10px;border-radius:10px;background:#E8EDF5}
.mgm.mgm .mgm-sl::-moz-range-progress{height:10px;border-radius:10px;background:linear-gradient(90deg,#2F7BE0,#08337D)}
.mgm.mgm .mgm-sl::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid rgba(8,51,125,.12);box-shadow:0 6px 14px rgba(8,51,125,.28)}
.mgm.mgm .mgm-c.sin .mgm-sl::-webkit-slider-runnable-track{background:linear-gradient(90deg,#C9D6EA 0%,#C9D6EA var(--p,50%),#E8EDF5 var(--p,50%))}
.mgm.mgm .mgm-pie{display:flex;align-items:center;gap:8px;min-width:0}
.mgm.mgm .mgm-q{display:flex;flex-wrap:nowrap!important;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;margin:0;padding:2px 0}
.mgm.mgm .mgm-q::-webkit-scrollbar{display:none}
.mgm.mgm .mgm-q button,.mgm.mgm .mgm-ns,.mgm.mgm .mgm-u button{flex:none;height:32px;padding:0 12px;border-radius:999px;border:0;background:#F1F4F9;color:#08337D;font-family:inherit;font-size:12.5px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(8,51,125,.06);cursor:pointer}
.mgm.mgm .mgm-q button.on,.mgm.mgm .mgm-ns[aria-pressed="true"],.mgm.mgm .mgm-u button[aria-pressed="true"]{background:#08337D;color:#fff;box-shadow:0 6px 12px rgba(8,51,125,.25)}
.mgm.mgm .mgm-u{display:flex;gap:2px;padding:3px;border-radius:999px;background:#F1F4F9;flex:none}
.mgm.mgm .mgm-u button{height:26px;padding:0 10px;background:none;box-shadow:none}
.mgm.mgm .mgm-tk{display:none!important;position:static;justify-content:space-between;flex:1;min-width:0;padding:0 4px;font-size:11px;font-weight:700;color:#97A6BE}
.mgm.mgm .mgm-tk span{position:static;transform:none}
.mgm.mgm .mgm-ns{margin-left:auto}
.mgm.mgm .mgm-c[data-k="peso"] .mgm-ns{margin-left:0}
.mgm.mgm .mgm-q{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.mgm.mgm .mgm-fin{display:grid;gap:8px;padding:6px;margin:0;border-radius:0;background:none;box-shadow:none}
.mgm.mgm .mgm-go{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:60px;padding:0 8px 0 22px;border:0;border-radius:999px;background:linear-gradient(135deg,#FFE066 0%,#FDCC0D 55%,#F2B800 100%);color:#08337D;font-family:inherit;font-size:16px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 14px 28px rgba(253,204,13,.38),inset 0 1px 0 rgba(255,255,255,.6)}
.mgm.mgm .mgm-go i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#08337D;box-shadow:0 6px 14px rgba(8,51,125,.3)}
.mgm.mgm .mgm-go i svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mgm.mgm .mgm-nota{margin:0;text-align:center;font-size:12px;color:#6A7B98}
.mgm.mgm .mgm-ley{display:grid;gap:10px;margin:0;padding:4px 2px;list-style:none}
.mgm.mgm .mgm-ley li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;font-size:13px;line-height:1.45;color:#5A6C8C}
.mgm.mgm .mgm-ley i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 4px 10px rgba(8,51,125,.08);font-style:normal}
.mgm.mgm .mgm-ley b{color:#08337D}
@media (max-width:960px){.mgm.mgm .mgm-ley{display:none}}
@media (min-width:961px){
  .mgm.mgm:not(.mgm-chat):not(.mgm-form){max-width:1040px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-vis{position:sticky;top:100px}
}
/* en el chat de Titán y en la solicitud: aún más compacto */
.mgm.mgm.mgm-chat,.mgm.mgm.mgm-form{max-width:none;gap:10px}
.mgm.mgm.mgm-chat .mgm-top{padding:12px 14px;border-radius:20px}
.mgm.mgm.mgm-chat .mgm-big b{font-size:22px}
.mgm.mgm.mgm-chat .mgm-tip,.mgm.mgm.mgm-form .mgm-top,.mgm.mgm.mgm-chat .mgm-ley,.mgm.mgm.mgm-form .mgm-ley{display:none}
.mgm.mgm.mgm-chat .mgm-c,.mgm.mgm.mgm-form .mgm-c{padding:12px 10px}
.mgm.mgm.mgm-form .mgm-cs{box-shadow:none;background:#F7F9FC}
/* distancia y altura: deslizable y «No lo sé» en el mismo renglón (sin renglón vacío) */
.mgm.mgm .mgm-c:not([data-k="peso"]){grid-template-columns:minmax(0,1fr) auto;column-gap:12px;align-items:center}
.mgm.mgm .mgm-c:not([data-k="peso"]) .mgm-h{grid-column:1/-1}
.mgm.mgm .mgm-c:not([data-k="peso"]) .mgm-sl{grid-column:1}
.mgm.mgm .mgm-c:not([data-k="peso"]) .mgm-pie{grid-column:2}
/* el dibujo de la grúa vuelve, dentro de la tarjeta del resumen: se ve mientras ajustas las medidas */
.mgm.mgm .mgm-svg{display:block;width:100%;height:auto;max-height:none;border-radius:16px;box-shadow:none}
.mgm.mgm .mgm-esc{margin-top:12px;border-radius:18px;overflow:hidden;background:#EAF2FF;box-shadow:0 8px 20px rgba(2,15,46,.25),inset 0 0 0 1px rgba(255,255,255,.4)}
.mgm.mgm.mgm-chat .mgm-esc,.mgm.mgm.mgm-form .mgm-esc{display:none}
@media (max-width:960px){
  /* en celular la tarjeta del dibujo se queda fija arriba mientras bajas a los deslizables */
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-vis{position:sticky;top:calc(74px + env(safe-area-inset-top,0px));z-index:3}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-top{padding:12px 12px 12px;border-radius:24px}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-big{margin-top:6px}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-big b{font-size:22px}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-big span{font-size:11px}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-k{display:none}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-esc{margin-top:10px}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-svg{height:150px}
  .mgm.mgm:not(.mgm-chat):not(.mgm-form) .mgm-tip{display:none}
}

/* fotos de fondo lejanas: se cargan al acercarse (tema.js · fondosDiferidos) */
.cierre-bg:not(.mg-bg),.garn:not(.mg-bg){background-image:none!important}
