:root{--navy:#05284e;--navy-deep:#031b37;--blue:#0879be;--blue-bright:#0b8fda;--ink:#071e39;--muted:#62758a;--line:#d9e3eb;--paper:#fff;--cool:#f2f6f9;--header-h:76px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.is-loading,body.menu-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,svg{display:block}
img{max-width:100%}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
::selection{background:#b8e8ff;color:var(--navy)}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.container{width:min(100% - 8.5vw,1320px);margin-inline:auto}
.section-pad{padding-block:clamp(92px,11vw,170px)}
.eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 34px;color:var(--blue);font:800 11px/1.2 'Manrope',Arial,sans-serif;letter-spacing:.25em}
.eyebrow-line{display:block;flex:none;width:35px;height:1px;background:currentColor}
.preloader{position:fixed;inset:0;z-index:1000;display:grid;align-content:center;justify-items:center;gap:28px;background:#fff;transition:opacity .65s ease,visibility .65s ease}
.preloader img{width:min(70vw,330px);height:auto;animation:loader-appear .8s both}
.loader-line{width:min(45vw,210px);height:2px;overflow:hidden;background:#dce7ef;border-radius:20px}
.loader-line span{display:block;height:100%;width:50%;background:var(--blue);animation:loader-sweep 2.5s cubic-bezier(.15,.7,.2,1) forwards}
.preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes loader-sweep{from{transform:translateX(-100%)}to{transform:translateX(200%)}}
@keyframes loader-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.site-header{height:var(--header-h);position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 max(4.25vw,24px);background:#fff;box-shadow:0 5px 24px rgba(3,27,55,.07)}
.logo-link{flex:none;display:flex;align-items:center;max-width:265px}
.logo-link img{width:100%;height:auto}
.desktop-nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,42px);margin-left:auto}
.desktop-nav a{position:relative;color:#183451;font-size:13px;font-weight:700;transition:color .25s}
.desktop-nav a::after{content:'';position:absolute;bottom:-9px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.desktop-nav a:hover{color:var(--blue)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.header-call{flex:none;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:7px;background:var(--navy);color:#fff;font:800 13px 'Manrope',Arial,sans-serif;transition:transform .25s,background .25s,box-shadow .25s}
.header-call:hover{transform:translateY(-3px);background:#064075;box-shadow:0 10px 25px rgba(4,51,91,.2)}
.header-call svg{width:17px;height:17px}
.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;display:flex;align-items:center;min-height:clamp(650px,calc(100svh - var(--header-h)),920px);overflow:hidden;background:var(--navy-deep);color:#fff;isolation:isolate}
.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.07);transition:transform 2.4s cubic-bezier(.22,1,.36,1)}
.is-ready .hero-photo img{transform:scale(1)}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(2,23,47,.93) 0%,rgba(3,32,63,.83) 25%,rgba(3,34,62,.43) 49%,rgba(3,28,52,.02) 78%),linear-gradient(0deg,rgba(2,23,47,.35),transparent 32%)}
.hero-content{position:relative;padding-block:85px 105px}
.hero-eyebrow{color:#3dc3ff;opacity:0;transform:translateY(18px)}
.hero h1{max-width:760px;margin:0;font:800 clamp(52px,5.6vw,91px)/1.04 'Manrope',Arial,sans-serif;letter-spacing:-.072em;opacity:0;transform:translateY(24px)}
.hero h1 em{font-style:normal;color:#7dd5ff}
.hero-description{max-width:540px;margin:31px 0 31px;color:#e1eaf2;font-size:clamp(15px,1.18vw,18px);line-height:1.65;opacity:0;transform:translateY(24px)}
.hero-actions{display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(24px)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:56px;padding:0 22px;border:1px solid transparent;border-radius:7px;font:800 13px 'Manrope',Arial,sans-serif;white-space:nowrap;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s}
.button:hover{transform:translateY(-4px)}
.button svg{width:19px;height:19px;flex:none}
.button .button-arrow{width:17px;height:17px;margin-left:12px;transition:transform .25s}
.button:hover .button-arrow{transform:translateX(5px)}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 10px 34px rgba(0,50,93,.2)}
.button-primary:hover{background:var(--blue-bright);box-shadow:0 16px 40px rgba(0,50,93,.28)}
.button-outline{border-color:rgba(255,255,255,.9);color:#fff;background:rgba(1,25,50,.28)}
.button-outline:hover{background:rgba(255,255,255,.13)}
.button-navy{background:var(--navy);color:#fff}
.button-navy:hover{background:#084576;box-shadow:0 16px 36px rgba(2,40,78,.2)}
.hero-tagline{display:flex;align-items:center;gap:10px;margin:28px 0 0;color:#b7cada;font-size:13px;opacity:0;transform:translateY(18px)}
.tagline-dot{width:6px;height:6px;border-radius:50%;background:#50c9ff;box-shadow:0 0 0 5px rgba(80,201,255,.12)}
.is-ready .hero-eyebrow{animation:rise .8s .08s both}
.is-ready .hero h1{animation:rise .9s .2s both}
.is-ready .hero-description{animation:rise .8s .36s both}
.is-ready .hero-actions{animation:rise .8s .52s both}
.is-ready .hero-tagline{animation:rise .8s .65s both}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
.hero-scroll{position:absolute;bottom:36px;right:4.25vw;display:flex;align-items:center;gap:20px;color:#dbeaf4;font:700 10px 'Manrope',Arial,sans-serif;letter-spacing:.17em;writing-mode:vertical-rl}
.scroll-stem{display:block;width:1px;height:62px;background:rgba(255,255,255,.7);position:relative;overflow:hidden}
.scroll-stem::after{content:'';position:absolute;inset:-100% 0 auto;height:100%;background:#4ccaff;animation:stem-slide 2s infinite}
@keyframes stem-slide{to{transform:translateY(200%)}}
.hero-index{position:absolute;left:4.25vw;bottom:28px;color:rgba(255,255,255,.6);font:700 10px 'Manrope',Arial,sans-serif;letter-spacing:.18em}
.trust-bar{position:relative;background:#f5f8fa;border-bottom:1px solid var(--line)}
.trust-inner{display:grid;grid-template-columns:repeat(3,1fr);min-height:112px;align-items:center}
.trust-item{display:flex;align-items:center;gap:16px;padding:8px 38px;border-right:1px solid #d7e1e9}
.trust-item:first-child{padding-left:0}
.trust-item:last-child{border-right:0}
.trust-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#e7f2f9;color:var(--blue)}
.trust-icon svg{width:22px;height:22px}
.trust-item strong,.trust-item small{display:block}
.trust-item strong{font:800 13px 'Manrope',Arial,sans-serif}
.trust-item small{margin-top:3px;color:var(--muted);font-size:12px}
.services{background:#fff}
.services-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(48px,8vw,150px);align-items:start}
.services-intro{position:sticky;top:120px}
.services h2,.feature h2,.coverage h2{margin:0;font:800 clamp(36px,3.4vw,57px)/1.13 'Manrope',Arial,sans-serif;letter-spacing:-.055em}
.services h2 span{color:#6f869a}
.services-intro>p:not(.eyebrow){max-width:445px;margin:29px 0 28px;color:var(--muted);font-size:16px;line-height:1.75}
.text-link{display:inline-flex;align-items:center;gap:13px;padding-bottom:9px;border-bottom:1px solid var(--blue);color:var(--blue);font:800 13px 'Manrope',Arial,sans-serif;transition:gap .25s}
.text-link:hover{gap:22px}
.text-link svg{width:17px;height:17px}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:60px minmax(0,1fr) 20px;gap:16px;align-items:center;min-height:142px;padding:24px 5px;border-bottom:1px solid var(--line);transition:background .3s,padding-left .3s}
.service-row:hover{padding-left:15px;background:#f4f9fc}
.service-icon{display:grid;place-items:center;width:54px;height:54px;background:#e7f3fa;border-radius:9px;color:var(--blue);transition:transform .3s,background .3s,color .3s}
.service-row:hover .service-icon{transform:rotate(-8deg);background:var(--blue);color:#fff}
.service-icon svg{width:27px;height:27px}
.service-num{display:block;margin-bottom:7px;color:#90a1af;font:800 10px 'Manrope',Arial,sans-serif;letter-spacing:.18em}
.service-copy h3{margin:0;font:800 clamp(17px,1.35vw,20px)/1.3 'Manrope',Arial,sans-serif;letter-spacing:-.025em}
.service-copy p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.service-arrow{width:18px;height:18px;color:var(--blue);transform:rotate(-45deg);transition:transform .3s}
.service-row:hover .service-arrow{transform:rotate(0) translateX(3px)}
.feature{background:var(--cool)}
.feature-layout{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:clamp(60px,8vw,145px);align-items:center}
.feature-media{position:relative;min-height:520px;overflow:hidden;background:#d9e8f1}
.feature-media img{width:100%;height:100%;min-height:520px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.feature-media:hover img{transform:scale(1.05)}
.feature-media::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(1,24,46,.64),transparent 33%);pointer-events:none}
.feature-media-label{position:absolute;z-index:2;left:30px;bottom:25px;display:flex;align-items:center;gap:11px;color:#fff;font:800 10px 'Manrope',Arial,sans-serif;letter-spacing:.2em}
.feature-media-label svg{width:24px;height:24px}
.feature-copy h2{max-width:570px}
.feature-copy h2 em{font-style:normal;color:var(--blue)}
.feature-copy>p:not(.eyebrow){max-width:495px;margin:30px 0;color:#52687e;font-size:16px;line-height:1.8}
.feature-points{display:grid;gap:14px;margin:0 0 34px}
.feature-points div{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700}
.feature-points svg{width:22px;height:22px;padding:4px;border-radius:50%;background:#d9ecf7;color:var(--blue);stroke-width:2.4}
.coverage{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:#fff}
.coverage::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 74% 55%,#10446f 0%,#052b53 29%,#031b37 65%)}
.coverage-rings{position:absolute;z-index:-1;right:-22%;top:-37%;width:75vw;aspect-ratio:1;border:1px solid rgba(124,205,250,.2);border-radius:50%;box-shadow:0 0 0 7vw rgba(60,155,220,.025),0 0 0 14vw rgba(60,155,220,.02);animation:ring-breathe 7s ease-in-out infinite alternate}
@keyframes ring-breathe{to{transform:scale(1.07);opacity:.65}}
.coverage-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;min-height:490px}
.coverage .eyebrow{color:#69cafa}
.coverage h2{font-size:clamp(42px,4.3vw,70px)}
.coverage h2 em{font-style:normal;color:#79d4ff}
.coverage-copy>p:not(.eyebrow){max-width:525px;margin:28px 0 32px;color:#c1d6e5;font-size:16px;line-height:1.75}
.coverage-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.coverage-phone{display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid #74cefb;padding-bottom:7px;color:#fff;font:800 16px 'Manrope',Arial,sans-serif;letter-spacing:.015em}
.coverage-phone svg{width:17px;height:17px;transition:transform .25s}
.coverage-phone:hover svg{transform:translateX(5px)}
.coverage-mark{display:grid;justify-items:center;align-content:center;gap:38px;min-height:390px}
.coverage-mark-inner{display:grid;place-items:center;width:245px;height:245px;border:1px solid rgba(165,220,255,.55);border-radius:50%;box-shadow:0 0 0 28px rgba(116,197,242,.035),0 0 0 56px rgba(116,197,242,.025)}
.coverage-mark-inner svg{width:95px;height:95px;color:#7bd3ff;stroke-width:1.2}
.mark-caption{color:#bad6e9;font:800 10px 'Manrope',Arial,sans-serif;letter-spacing:.21em;text-align:center}
.footer{background:#fff}
.footer-inner{display:grid;grid-template-columns:1.1fr 1fr .7fr auto;gap:40px;align-items:center;min-height:168px}
.footer-inner img{width:205px;height:auto}
.footer p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.footer-links{display:grid;gap:8px;font-size:12px;font-weight:700}
.footer-links a:hover{color:var(--blue)}
.footer small{color:#8999a6;font-size:11px;white-space:nowrap}
.floating-contact{position:fixed;z-index:40;right:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.floating-contact a{display:flex;align-items:center;justify-content:center;gap:8px;width:50px;height:50px;border-radius:50%;color:#fff;box-shadow:0 9px 26px rgba(1,24,46,.24);transition:transform .25s,box-shadow .25s,width .25s,border-radius .25s}
.floating-contact a:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 15px 35px rgba(1,24,46,.3)}
.float-phone{background:var(--navy)}
.float-whatsapp{background:#168b60}
.floating-contact svg{width:23px;height:23px}
.floating-contact span{display:none;font:800 12px 'Manrope',Arial,sans-serif}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.reveal.in-view{opacity:1;transform:translateY(0)}
.service-row:nth-child(2){transition-delay:.08s}.service-row:nth-child(3){transition-delay:.16s}.service-row:nth-child(4){transition-delay:.24s}
@media(max-width:1080px){.site-header{gap:18px}.logo-link{width:220px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.header-call{padding:11px 12px}.services-layout,.feature-layout{gap:55px}.trust-item{padding-inline:18px}}
@media(max-width:850px){:root{--header-h:70px}.desktop-nav,.header-call{display:none}.logo-link{width:225px}.menu-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;background:var(--navy);border-radius:6px;color:#fff;cursor:pointer}.menu-toggle svg{width:23px;height:23px}.mobile-nav{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:8vw;background:var(--navy-deep);color:#fff;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}.mobile-nav.is-open{transform:translateX(0)}.mobile-nav>a{font:800 clamp(27px,6vw,42px) 'Manrope',Arial,sans-serif;letter-spacing:-.04em}.mobile-nav-contact{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:20px;border-top:1px solid #40607a;font-size:17px!important}.mobile-nav-contact svg{width:20px;height:20px}.menu-close{position:absolute;top:24px;right:8vw;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #6d8da7;border-radius:6px;background:transparent;color:#fff;cursor:pointer}.hero h1{max-width:620px}.services-layout,.feature-layout{grid-template-columns:1fr;gap:60px}.services-intro{position:static}.services-intro>p:not(.eyebrow){max-width:620px}.feature-media,.feature-media img{min-height:430px}.feature-copy{max-width:660px}.coverage-layout{grid-template-columns:1fr auto;gap:25px}.coverage-mark-inner{width:180px;height:180px}.coverage-mark-inner svg{width:65px;height:65px}.footer-inner{grid-template-columns:1fr 1fr;gap:24px;padding-block:35px}}
@media(max-width:700px){:root{--header-h:68px}.container{width:min(100% - 38px,520px)}.section-pad{padding-block:94px}.site-header{padding-inline:19px}.logo-link{width:205px}.hero{min-height:calc(100svh - var(--header-h));align-items:flex-start}.hero-photo img{object-position:center center}.hero-shade{background:linear-gradient(180deg,rgba(2,20,41,.95) 0%,rgba(2,24,47,.89) 23%,rgba(2,26,50,.57) 48%,rgba(2,23,44,.08) 73%,rgba(1,20,37,.45) 100%)}.hero-content{padding-top:clamp(42px,7svh,65px);padding-bottom:32px}.hero .eyebrow{margin-bottom:21px;font-size:9px;letter-spacing:.19em}.hero .eyebrow-line{width:27px}.hero h1{max-width:560px;font-size:clamp(37px,10.1vw,58px);line-height:1.09;letter-spacing:-.065em}.hero-description{max-width:480px;margin:19px 0 21px;font-size:13.5px;line-height:1.55}.hero-actions{gap:8px}.hero-actions .button{min-height:49px;padding-inline:13px;font-size:11px}.hero-actions .button svg{width:17px;height:17px}.hero-actions .button .button-arrow{width:14px;height:14px;margin-left:1px}.hero-tagline{margin-top:20px;font-size:11px}.hero-scroll,.hero-index{display:none}.trust-inner{grid-template-columns:1fr;gap:0;padding-block:15px}.trust-item,.trust-item:first-child{min-height:60px;padding:8px 0;border-right:0;border-bottom:1px solid #dce6ed}.trust-item:last-child{border-bottom:0}.trust-icon{width:36px;height:36px}.trust-icon svg{width:19px;height:19px}.trust-item strong{font-size:12px}.trust-item small{font-size:11px}.services-layout{gap:42px}.services h2,.feature h2{font-size:clamp(34px,8.3vw,47px)}.services-intro>p:not(.eyebrow),.feature-copy>p:not(.eyebrow){font-size:14px;margin-top:23px}.service-row{grid-template-columns:49px minmax(0,1fr) 14px;gap:12px;min-height:116px;padding-block:17px}.service-icon{width:44px;height:44px}.service-icon svg{width:23px;height:23px}.service-copy h3{font-size:15px}.service-copy p{font-size:12px}.service-arrow{width:15px;height:15px}.feature-layout{gap:43px}.feature-media,.feature-media img{min-height:330px}.feature-media-label{left:20px;bottom:19px;font-size:9px}.feature-points{margin-bottom:28px}.feature-points div{font-size:13px}.coverage-layout{grid-template-columns:1fr;min-height:0;gap:60px}.coverage h2{font-size:clamp(39px,9vw,58px)}.coverage-copy>p:not(.eyebrow){font-size:14px}.coverage-mark{min-height:220px;gap:27px}.coverage-mark-inner{width:145px;height:145px;box-shadow:0 0 0 20px rgba(116,197,242,.035),0 0 0 40px rgba(116,197,242,.025)}.coverage-mark-inner svg{width:55px;height:55px}.mark-caption{font-size:9px}.coverage-rings{width:115vw;right:-75%;top:30%}.footer-inner{grid-template-columns:1fr 1fr;gap:20px}.footer-inner img{width:170px}.footer p{font-size:11px}.footer small{grid-column:1/-1}.floating-contact{right:13px;bottom:max(14px,env(safe-area-inset-bottom))}.floating-contact a{width:47px;height:47px}}
@media(max-width:390px){.hero-actions{flex-direction:column;align-items:stretch;max-width:270px}.hero-actions .button{width:100%;justify-content:center}.hero-actions .button-primary{font-size:11px}.hero-actions .button-outline{font-size:11px}.hero h1{font-size:clamp(35px,9.5vw,40px)}.hero-description{font-size:12.5px}.footer-inner{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-eyebrow,.hero h1,.hero-description,.hero-actions,.hero-tagline,.reveal{opacity:1;transform:none}}

/* Cuatro servicios siempre visibles */
.services-gallery{overflow:hidden;background:#fff;color:var(--ink)}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;padding-block:clamp(56px,6vw,82px) 38px}
.gallery-heading .eyebrow{margin-bottom:20px}
.gallery-heading h2{margin:0;font:800 clamp(42px,4.7vw,68px)/1.07 'Manrope',Arial,sans-serif;letter-spacing:-.065em}
.gallery-heading h2 em{font-style:normal;color:var(--blue)}
.gallery-heading-action{flex:none;max-width:345px}
.gallery-heading-action p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.55}
.gallery-heading-action .button{min-height:49px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:clamp(440px,38vw,560px);background:var(--navy)}
.gallery-panel{position:relative;display:block;min-width:0;overflow:hidden;border-right:1px solid rgba(255,255,255,.4);color:#fff;isolation:isolate}
.gallery-panel:last-child{border-right:0}
.gallery-panel::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(1,18,36,.44),rgba(1,18,36,.02) 33%,rgba(1,18,36,.22) 56%,rgba(1,18,36,.88) 100%);transition:background .35s}
.gallery-panel img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s}
.gallery-panel:nth-of-type(1) img{object-position:55% center}
.gallery-panel:nth-of-type(2) img{object-position:40% center}
.gallery-panel:nth-of-type(3) img{object-position:51% center}
.gallery-panel:nth-of-type(4) img{object-position:61% center}
.gallery-panel:hover img,.gallery-panel:focus-visible img{transform:scale(1.07);filter:saturate(1.12)}
.gallery-panel:focus-visible{outline:3px solid #53c8ff;outline-offset:-3px}
.gallery-number{position:absolute;top:28px;left:clamp(18px,2vw,34px);font:800 clamp(40px,4.2vw,64px)/1 'Manrope',Arial,sans-serif;letter-spacing:-.055em}
.gallery-number::after{content:'';display:block;width:36px;height:3px;margin-top:14px;background:#32bfff}
.gallery-panel-copy{position:absolute;left:clamp(18px,2vw,34px);right:22px;bottom:32px}
.gallery-panel-copy strong,.gallery-panel-copy small{display:block}
.gallery-panel-copy strong{max-width:310px;font:800 clamp(21px,2vw,30px)/1.13 'Manrope',Arial,sans-serif;letter-spacing:-.045em}
.gallery-panel-copy small{margin-top:10px;color:#d4e9f7;font:600 12px/1.4 'DM Sans',Arial,sans-serif}
.gallery-arrow{position:absolute;right:22px;top:38px;width:20px;height:20px;transform:rotate(-45deg);transition:transform .3s}
.gallery-panel:hover .gallery-arrow{transform:rotate(0) translateX(4px)}
.gallery-detail-bar{background:var(--navy-deep)}
.gallery-detail-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:105px;align-items:center}
.gallery-detail-inner p{display:flex;align-items:center;min-height:53px;margin:0;padding:0 clamp(15px,2vw,32px);border-right:1px solid rgba(159,207,238,.26);color:#d1e1eb;font-size:13px;line-height:1.5}
.gallery-detail-inner p:first-child{padding-left:0}
.gallery-detail-inner p:last-child{border-right:0}
@media(max-width:1000px){.gallery-heading{gap:26px}.gallery-heading h2{font-size:clamp(39px,4.8vw,54px)}.gallery-heading-action{max-width:285px}.gallery-panel-copy strong{font-size:21px}.gallery-detail-inner p{font-size:12px}}
@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.gallery-panel{height:310px}.gallery-panel:nth-of-type(2){border-right:0}.gallery-panel:nth-of-type(-n+2){border-bottom:1px solid rgba(255,255,255,.4)}.gallery-panel-copy strong{font-size:27px}.gallery-detail-bar{display:none}}
@media(max-width:700px){.gallery-heading{display:block;padding-block:65px 31px}.gallery-heading .eyebrow{margin-bottom:17px;font-size:9px}.gallery-heading h2{font-size:clamp(37px,9vw,49px)}.gallery-heading-action{max-width:480px;margin-top:16px}.gallery-heading-action p{margin:0;font-size:13px}.gallery-heading-action .button{display:none}.gallery-grid{grid-template-columns:1fr}.gallery-panel,.gallery-panel:nth-of-type(2){height:145px;border-right:0;border-bottom:1px solid rgba(255,255,255,.42)}.gallery-panel:last-child{border-bottom:0}.gallery-panel img,.gallery-panel:nth-of-type(n) img{object-position:center 48%}.gallery-panel:nth-of-type(3) img{object-position:center 36%}.gallery-number{top:17px;left:19px;font-size:31px}.gallery-number::after{width:25px;height:2px;margin-top:7px}.gallery-panel-copy{left:19px;right:45px;bottom:18px}.gallery-panel-copy strong{font-size:20px;line-height:1.15}.gallery-panel-copy small{margin-top:4px;font-size:11px}.gallery-arrow{top:22px;right:19px;width:16px;height:16px}}
@media(max-width:360px){.gallery-panel,.gallery-panel:nth-of-type(2){height:138px}.gallery-panel-copy strong{font-size:18px}.gallery-panel-copy small{font-size:10px}}

/* En móvil, el agua avanza por la tubería al desplazarse por los cuatro servicios. */
.mobile-service-pipe{display:none}
@media(max-width:700px){
  .services-gallery{background:#f3f8fb}
  .gallery-heading{padding-bottom:37px}
  .gallery-grid{--panel-height:198px;--panel-gap:12px;--pipe-lead:44px;position:relative;gap:var(--panel-gap);height:auto;padding:0 18px 27px 67px;background:transparent;overflow:visible}
  .gallery-panel,.gallery-panel:nth-of-type(2){height:var(--panel-height);border:0;border-radius:15px;box-shadow:0 11px 26px rgba(9,45,72,.14)}
  .gallery-panel::after{background:linear-gradient(0deg,rgba(0,22,43,.92),rgba(1,22,43,.08) 87%)}
  .gallery-panel-copy{left:19px;right:20px;bottom:20px}
  .gallery-panel-copy strong{font-size:22px}
  .gallery-number{top:18px;left:20px;font:800 12px/1.2 'Manrope',Arial,sans-serif;letter-spacing:.13em}
  .gallery-number::after{content:' / 04';display:inline;width:auto;height:auto;margin:0;background:none;color:#a9daf2}
  .gallery-arrow{top:17px;right:17px}
  .mobile-service-pipe{display:block;position:absolute;z-index:3;top:calc(-1 * var(--pipe-lead));bottom:41px;left:26px;width:26px;pointer-events:none;--pipe-progress:0}
  .mobile-pipe-track{position:absolute;inset:0 9px;border-radius:99px;background:linear-gradient(90deg,#a7c0ce,#f8ffff 45%,#8eaebe);box-shadow:0 0 0 1px #91afbf}
  .mobile-pipe-fill{position:absolute;top:0;left:11px;width:4px;height:calc(var(--pipe-progress) * 100%);max-height:100%;border-radius:99px;background:#0b9edc;box-shadow:0 0 12px #00b5ff}
  .mobile-pipe-node{position:absolute;left:0;top:calc(var(--pipe-lead) + var(--node-index) * (var(--panel-height) + var(--panel-gap)) + var(--panel-height) / 2 - 13px);width:26px;height:26px;border:4px solid #deedf4;border-radius:50%;background:#b7cfdb;box-shadow:0 0 0 2px #94b2c2,0 5px 12px #16557936;transition:background .25s,box-shadow .25s}
  .mobile-pipe-node.is-active{background:#078dce;box-shadow:0 0 0 2px #94b2c2,0 0 14px #13b7ec77}
  .mobile-pipe-drop{position:absolute;left:7px;top:calc(var(--pipe-progress) * 100%);width:13px;height:13px;border-radius:0 100% 100% 100%;background:#62d5ff;transform:translateY(-50%) rotate(45deg);box-shadow:0 0 15px #04aee9}
}
@media(max-width:360px){.gallery-grid{--panel-height:184px;padding-right:14px;padding-left:65px}.gallery-panel,.gallery-panel:nth-of-type(2){height:var(--panel-height)}.gallery-panel-copy strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.mobile-pipe-fill{height:100%}.mobile-pipe-drop{display:none}.mobile-pipe-node{background:#078dce;transition:none}}
