/* High Desert Scan & Locate — Industrial Precision v5.4.1 */
:root{--black:#03060a;--ink:#07101c;--navy:#081523;--navy-2:#0c2035;--blue:#0868df;--blue-bright:#35a1ff;--steel:#53677b;--steel-light:#8fa0b1;--ice:#e9f1f7;--cloud:#f4f7fa;--white:#fff;--line:#d6e0e8;--line-dark:rgba(167,196,221,.2);--display:"Space Grotesk",system-ui,sans-serif;--sans:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--wrap:min(1280px,calc(100% - 48px));--shadow:0 28px 70px rgba(5,18,31,.14);--scroll-progress:0%;--hero-parallax:0px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0 auto auto 0;z-index:1000;width:var(--scroll-progress);height:3px;background:linear-gradient(90deg,var(--blue),var(--blue-bright));pointer-events:none}img,svg{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:where(a,button,input,select,textarea):focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #075fc9}::selection{background:var(--blue);color:var(--white)}
.wrap{width:var(--wrap);margin-inline:auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:16px;top:-100px;z-index:2000;background:var(--white);color:var(--ink);padding:12px 18px;font-weight:700}.skip-link:focus{top:16px}

/* Header */
.topbar{height:40px;background:var(--black);color:#aab9c7;border-bottom:1px solid rgba(255,255,255,.08);font:600 10px/40px var(--mono);letter-spacing:.12em;text-transform:uppercase}.topbar .wrap{display:flex;align-items:center;justify-content:space-between}.lang{display:flex;gap:7px;align-items:center;color:#6f8497}.lang a{min-width:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;color:#d9e4ed;transition:color .2s ease}.lang a:hover,.lang a[aria-current="true"]{color:var(--blue-bright)}.sep{opacity:.35}
.masthead{position:sticky;top:0;z-index:900;background:rgba(7,16,28,.94);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px) saturate(130%);transition:box-shadow .3s ease,background .3s ease}.masthead.is-scrolled{background:rgba(3,8,14,.97);box-shadow:0 16px 40px rgba(0,0,0,.22)}.masthead>.wrap{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;flex-direction:column;align-items:flex-start;flex:0 0 230px;min-width:0}.brand__logo-mark{width:210px;height:58px;display:block;background:url("images/logo.svg") center/contain no-repeat;filter:brightness(0) invert(1)}.nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0}.nav__links{display:flex;align-items:center;gap:clamp(13px,1.45vw,23px);margin:0;padding:0;list-style:none}.nav__links a{position:relative;color:#d4dee7;font:600 12px/1.2 var(--sans);white-space:nowrap;transition:color .2s ease}.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:-11px;height:2px;background:var(--blue-bright);transition:right .25s ease}.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--white)}.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{right:0}.nav__call{display:grid;place-items:center;min-height:44px;padding:0 17px;border:1px solid rgba(90,171,255,.55);color:#fff;background:rgba(11,115,246,.11);font:700 12px/1 var(--mono);letter-spacing:.02em;white-space:nowrap;transition:.25s ease}.nav__call:hover{background:var(--blue);border-color:var(--blue);box-shadow:0 12px 28px rgba(11,115,246,.28)}.nav__toggle{display:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;padding:10px 13px;font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.bars{display:inline-block;width:16px;height:10px;margin-right:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;vertical-align:middle}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;border-bottom:1px solid var(--line-dark)}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,#07101c 0%,#0a1c30 60%,#123452 100%)}.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.34;background-image:linear-gradient(rgba(115,169,211,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(115,169,211,.13) 1px,transparent 1px),linear-gradient(115deg,transparent 49.7%,rgba(53,161,255,.34) 50%,transparent 50.3%);background-size:80px 80px,80px 80px,100% 100%;mask-image:linear-gradient(90deg,transparent 0%,#000 52%)}.hero__inner{position:relative;z-index:3;max-width:880px;padding:clamp(86px,9vw,140px) 0 clamp(92px,10vw,150px)}.hero--compact .hero__inner{padding:clamp(74px,7.5vw,112px) 0 clamp(78px,8vw,120px)}.hero--photo::before{background:linear-gradient(90deg,rgba(3,7,12,.98) 0%,rgba(3,8,14,.92) 43%,rgba(3,9,16,.56) 66%,rgba(3,8,14,.22) 100%),var(--hero-image) var(--hero-position,72% 50%)/cover no-repeat;transform:scale(1.025)}.hero--photo .hero__inner{max-width:760px}.hero--concrete{--hero-image:url("images/gssi-hero-concrete.webp");--hero-position:68% 50%}.hero--utility{--hero-image:url("images/gssi-hero-utility.webp");--hero-position:64% 50%}.hero--gpr{--hero-image:url("images/gssi-hero-gpr.webp");--hero-position:70% 54%}.hero--engineering{--hero-image:url("images/gssi-hero-engineering.webp");--hero-position:72% 50%}.hero--homeowners{--hero-image:url("images/gssi-hero-homeowners.webp");--hero-position:68% 58%}.hero--about{--hero-image:url("images/gssi-hero-about.webp");--hero-position:72% 48%}.hero--contact{--hero-image:url("images/gssi-hero-contact.webp");--hero-position:70% 50%}.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 24px;color:#82c4ff;font:600 11px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase}.eyebrow::before{content:"";width:36px;height:1px;background:var(--blue-bright)}.hero h1{max-width:13ch;margin:0;font:600 clamp(3.5rem,7.3vw,7.1rem)/.93 var(--display);letter-spacing:-.065em;text-wrap:balance}.hero h1 em{font-style:normal;color:#8dcaff}.hero__lead{max-width:62ch;margin:30px 0 0;color:#c3d1dd;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 23px;border:1px solid transparent;font:700 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--blue);color:#fff;box-shadow:0 14px 30px rgba(11,115,246,.28)}.btn--primary:hover{background:#075fc9;box-shadow:0 18px 38px rgba(7,95,201,.38)}.btn--ghost{border-color:rgba(255,255,255,.32);color:#fff;background:rgba(255,255,255,.045);backdrop-filter:blur(10px)}.btn--ghost:hover{border-color:#fff;background:#fff;color:var(--ink)}.btn--onpanel{border-color:rgba(255,255,255,.35);color:#fff}.btn--onpanel:hover{border-color:#fff;background:#fff;color:var(--ink)}
.hero--home{min-height:clamp(700px,78vh,900px);display:flex;align-items:stretch;background:#050b12}.hero--home>.wrap{position:relative;display:flex;align-items:center}.hero--home::before{inset:0;background:linear-gradient(90deg,rgba(3,7,12,.98) 0%,rgba(3,8,14,.95) 34%,rgba(3,9,16,.55) 61%,rgba(3,8,14,.18) 100%),url("images/gssi-home-01.webp") 66% calc(50% + var(--hero-parallax))/cover no-repeat;transform:scale(1.035)}.hero--home::after{z-index:1;opacity:.42;background-image:linear-gradient(rgba(93,149,194,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(93,149,194,.12) 1px,transparent 1px),linear-gradient(90deg,transparent 49.9%,rgba(53,161,255,.55) 50%,transparent 50.1%);background-size:96px 96px,96px 96px,100% 100%;mask-image:linear-gradient(90deg,transparent 36%,#000 100%)}.hero--home .hero__inner{width:min(650px,56%);padding:clamp(82px,9vw,136px) 0 clamp(94px,10vw,150px)}.hero--home h1{max-width:10ch;font-size:clamp(4rem,7.2vw,7.3rem)}.hero--home .hero__lead{max-width:55ch}

/* Cinematic photo sequence: three distinct GSSI field images. */
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#03070c 0%,rgba(3,8,14,.97) 31%,rgba(3,9,16,.7) 50%,rgba(3,8,14,.1) 88%),linear-gradient(0deg,rgba(3,7,12,.48),transparent 46%)}.hero-media__slide{position:absolute;inset:-3%;opacity:0;background-image:url("images/gssi-home-01.webp");background-size:cover;background-position:var(--x,66%) calc(var(--y,50%) + var(--hero-parallax));transform:scale(1.055);transition:opacity 1.2s ease,transform 8s ease}.hero-media__slide:nth-child(2){--x:64%;--y:52%;background-image:url("images/gssi-home-02.webp");background-size:cover}.hero-media__slide:nth-child(3){--x:58%;--y:54%;background-image:url("images/gssi-home-03.webp");background-size:cover}.hero-media__slide.is-active{opacity:1;transform:scale(1.015)}.hero-media__nav{position:absolute;right:max(24px,calc((100vw - min(1280px,calc(100vw - 48px)))/2));bottom:34px;z-index:4;display:flex;gap:6px;pointer-events:auto}.hero-media__nav button{width:44px;height:44px;border:1px solid rgba(255,255,255,.24);background:rgba(4,12,21,.55);color:#9badbd;font:600 10px/1 var(--mono);cursor:pointer;backdrop-filter:blur(12px);transition:.25s ease}.hero-media__nav button:hover,.hero-media__nav button[aria-current="true"]{border-color:#55adff;background:var(--blue);color:#fff}

/* The rejected decorative radar panel is intentionally removed. */
.radargram{display:none!important}

/* Technical proof rail */
.specrail{position:relative;background:#091726;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.specrail::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,115,246,.2),transparent 25%,transparent 75%,rgba(11,115,246,.12));pointer-events:none}.specrail__grid{display:grid;grid-template-columns:repeat(4,1fr);border-inline:1px solid rgba(159,193,220,.18)}.specrail__cell{position:relative;min-height:132px;padding:28px 30px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(159,193,220,.18)}.specrail__cell:last-child{border-right:0}.specrail__cell::before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:var(--blue-bright)}.specrail__cell::after{content:"";position:absolute;right:13px;top:13px;width:8px;height:8px;border-top:1px solid #57728b;border-right:1px solid #57728b}.specrail__k{margin-bottom:10px;color:#7890a5;font:600 10px/1 var(--mono);letter-spacing:.17em;text-transform:uppercase}.specrail__v{color:#fff;font:600 clamp(.92rem,1.15vw,1.05rem)/1.35 var(--display);letter-spacing:-.015em}.specrail__v a:hover{color:#8bc8ff}.specrail__v--hot{color:#81c3ff}

/* Sections */
.section{position:relative;padding:clamp(88px,10vw,150px) 0;overflow:hidden}.section--surface{background:#fff}.section--paper{background:var(--cloud)}.section--paper::before{content:"";position:absolute;inset:0;opacity:.6;background-image:linear-gradient(#dfe7ee 1px,transparent 1px),linear-gradient(90deg,#dfe7ee 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 15%,#000 100%);pointer-events:none}.section>.wrap{position:relative;z-index:1}.split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(54px,8vw,130px);align-items:start}.split h2,.section__head h2{margin:0;font:600 clamp(2.65rem,4.7vw,5.2rem)/1 var(--display);letter-spacing:-.055em;text-wrap:balance}.split h2::before,.section__head h2::before{content:"";display:block;width:46px;height:3px;margin-bottom:28px;background:var(--blue)}.split__body{max-width:700px;padding-top:8px;color:#415266;font-size:clamp(1.05rem,1.35vw,1.2rem)}.split__body p{margin:0 0 24px}.link-arrow{display:inline-flex;align-items:center;gap:14px;margin-top:12px;color:#075fc9;font:700 12px/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase}.link-arrow::after{content:"→";font-size:18px;transition:transform .2s ease}.link-arrow:hover::after{transform:translateX(6px)}

/* Image-led services. Mobile becomes a swipeable visual rail. */
:is(#services,#servicios){background:#06101c;color:#fff}:is(#services,#servicios)::before{content:"FIELD SERVICES";position:absolute;right:-.02em;bottom:-.15em;color:rgba(108,151,186,.08);font:600 clamp(6rem,18vw,18rem)/.8 var(--display);letter-spacing:-.08em;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column;min-height:650px;background:#0d1c2b;border:1px solid rgba(153,185,210,.19);box-shadow:0 24px 70px rgba(0,0,0,.18);transition:transform .35s cubic-bezier(.2,.75,.25,1),border-color .35s ease,box-shadow .35s ease}.card::before{content:"";height:245px;flex:0 0 245px;background-image:linear-gradient(180deg,rgba(6,16,28,.02),rgba(6,16,28,.78)),url("images/gssi-card-concrete.webp");background-size:cover;background-position:50% 52%;filter:saturate(.55) contrast(1.08);transition:transform .7s cubic-bezier(.2,.75,.25,1),filter .5s ease}.card:nth-child(2)::before{background-image:linear-gradient(180deg,rgba(6,16,28,.02),rgba(6,16,28,.78)),url("images/gssi-card-utility.webp");background-position:54% 50%;background-size:cover}.card:nth-child(3)::before{background-image:linear-gradient(180deg,rgba(6,16,28,.02),rgba(6,16,28,.78)),url("images/gssi-card-gpr.webp");background-position:50% 56%;background-size:cover}.card::after{position:absolute;right:20px;top:210px;color:rgba(255,255,255,.24);font:600 68px/1 var(--display);letter-spacing:-.08em}.card:nth-child(1)::after{content:"01"}.card:nth-child(2)::after{content:"02"}.card:nth-child(3)::after{content:"03"}.card:hover{transform:translateY(-9px);border-color:rgba(83,174,255,.62);box-shadow:0 36px 90px rgba(0,0,0,.32)}.card:hover::before{transform:scale(1.045);filter:saturate(.75) contrast(1.12)}.card__body{padding:34px 28px 12px;flex:1}.card__index{margin:0 0 15px;color:#70bbff;font:600 10px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase}.card h3{margin:0 0 20px;color:#fff;font:600 clamp(1.65rem,2.25vw,2.35rem)/1.05 var(--display);letter-spacing:-.04em}.card p{color:#aebdca;font-size:.99rem;line-height:1.65}.card>.link-arrow{margin:0;padding:23px 28px;border-top:1px solid rgba(154,187,214,.16);color:#fff}.card>.link-arrow::after{margin-left:auto;color:#6ebaff}
.depth-rule{height:1px;background:linear-gradient(90deg,transparent 0%,#9cb1c3 20%,#0b73f6 50%,#9cb1c3 80%,transparent 100%)}

/* CTA */
.cta{position:relative;isolation:isolate;overflow:hidden;padding:clamp(92px,11vw,160px) 0;background:#030a12;color:#fff}.cta::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 80% 50%,rgba(11,115,246,.3),transparent 35%),linear-gradient(125deg,#02070c,#0a1b2c 72%,#102b46)}.cta::after{content:"";position:absolute;z-index:-1;width:min(72vw,900px);aspect-ratio:1;border:1px solid rgba(76,163,240,.2);border-radius:50%;right:-22%;top:50%;transform:translateY(-50%);box-shadow:0 0 0 80px rgba(76,163,240,.045),0 0 0 160px rgba(76,163,240,.025)}.cta h2{max-width:13ch;margin:0;font:600 clamp(3rem,6.3vw,6.4rem)/.95 var(--display);letter-spacing:-.065em;text-wrap:balance}.cta p{max-width:62ch;margin:28px 0 0;color:#b6c6d4;font-size:1.12rem}.cta .btn-row{margin-top:36px}

/* Forms and utility layouts */
.form{max-width:920px;margin-inline:auto;padding:clamp(30px,5vw,68px);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:24px}.field label{display:block;margin-bottom:9px;color:#253548;font:700 10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}.req{color:var(--blue)}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd7e0;background:#f8fafc;color:var(--ink);padding:14px 15px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,115,246,.1)}.form__note{margin:22px 0 0;color:#5e6e7d;font-size:.92rem}.form__note a{color:#075fc9;font-weight:700}.price{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.price__figure{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,70px);background:#071524;color:#fff}.price__amount{font:600 clamp(3rem,6vw,6rem)/1 var(--display);letter-spacing:-.06em}.price__unit{color:#82c4ff;font:600 10px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase}.price__body{padding:clamp(32px,5vw,70px)}.contact-rail{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.contact-rail__item{padding:26px;border-right:1px solid var(--line)}.contact-rail__item:last-child{border-right:0}.contact-rail__k{display:block;margin-bottom:8px;color:#6b7c8b;font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.contact-rail__v{font:600 1rem/1.35 var(--display)}.media-slot{overflow:hidden;background:#dfe8ef}.media-slot__img{width:100%;height:100%;display:block;object-fit:cover}.media-slot--wide{aspect-ratio:16/9}.media-slot--card{aspect-ratio:3/2}.testimonial{padding:40px;border-left:3px solid var(--blue);background:#fff}.testimonial blockquote{margin:0;font:500 1.5rem/1.5 var(--display)}.badges,.logo-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}.badges img,.logo-row img{max-height:55px;max-width:160px}.casestudies{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.casestudy{background:#fff;border:1px solid var(--line)}.casestudy__body{padding:24px}.casestudy__meta{font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}

/* Footer */
.footer{background:#02070c;color:#8fa0af;border-top:1px solid rgba(255,255,255,.08);padding:76px 0 30px}.footer__top{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:56px;padding-bottom:58px}.footer__brand .brand__logo-mark{width:220px;height:68px}.footer__brand p{max-width:360px;color:#8294a4;font-size:.92rem}.footer h4{margin:0 0 18px;color:#fff;font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.footer ul{margin:0;padding:0;list-style:none}.footer li{margin:0 0 10px;font-size:.9rem}.footer a{transition:color .2s ease}.footer a:hover{color:#7cc0ff}.footer__legal{display:flex;justify-content:space-between;gap:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:.76rem;color:#687b8b}.disclaimer{max-width:850px;margin:0}.footer__copy{margin:0;white-space:nowrap}

/* Purposeful reveal: masked vertical entry, staggered for service cards. */
.js .revealable{opacity:0;transform:translateY(28px);clip-path:inset(8% 0 0 0);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.25,1),clip-path .85s cubic-bezier(.2,.75,.25,1)}.js .revealable.is-visible{opacity:1;transform:none;clip-path:inset(0)}.js .cards .card:nth-child(2){transition-delay:.1s}.js .cards .card:nth-child(3){transition-delay:.2s}

@media (max-width:1180px){.masthead>.wrap{gap:20px}.brand{flex-basis:205px}.brand__logo-mark{width:190px}.nav{gap:15px}.nav__links{gap:12px}.nav__links a{font-size:11px}.nav__call{padding:0 13px}}
@media (max-width:980px){:root{--wrap:min(100% - 36px,900px)}.topbar{height:38px;line-height:38px}.masthead>.wrap{min-height:84px}.brand{flex-basis:205px}.brand__logo-mark{width:185px;height:51px}.nav__toggle{display:block}.nav__links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px 24px;background:#050d16;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 26px 40px rgba(0,0,0,.3)}.nav__links.is-open{display:flex}.nav__links li{border-bottom:1px solid rgba(255,255,255,.08)}.nav__links a{display:block;padding:15px 6px;font-size:13px}.nav__links a::after{display:none}.hero--home .hero__inner{width:68%}.hero--home h1{font-size:clamp(4rem,9vw,6rem)}.specrail__grid{grid-template-columns:1fr 1fr}.specrail__cell:nth-child(2){border-right:0}.specrail__cell:nth-child(-n+2){border-bottom:1px solid rgba(159,193,220,.18)}.split{grid-template-columns:1fr;gap:42px}.split__body{padding-top:0}.cards{grid-template-columns:1fr}.card{min-height:0;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr)}.card::before{height:auto;min-height:370px;grid-row:1/3}.card::after{left:218px;right:auto;top:24px}.card>.link-arrow{grid-column:2}.card__body{padding:46px 32px 20px}.footer__top{grid-template-columns:1.6fr 1fr 1fr;gap:40px}.footer__brand{grid-column:1/-1}}
@media (max-width:700px){:root{--wrap:calc(100% - 32px)}body{font-size:16px}.area{max-width:68vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{font-size:8px}.masthead>.wrap{min-height:82px;gap:12px}.brand{flex-basis:164px}.brand__logo-mark{width:155px;height:46px}.nav{gap:8px}.nav__call{min-height:40px;padding:0 10px;font-size:0}.nav__call span::before{content:"Call";font-size:10px}.nav__toggle{font-size:0;padding:11px}.bars{margin:0}.hero--home{min-height:790px;align-items:stretch}.hero--home>.wrap{align-items:flex-start}.hero--home::before{background:linear-gradient(180deg,#03070c 0%,rgba(3,8,14,.98) 48%,rgba(3,8,14,.54) 68%,rgba(3,8,14,.08) 100%),url("images/gssi-home-01.webp") 68% 100%/auto 50% no-repeat;transform:none}.hero--home::after{mask-image:linear-gradient(180deg,transparent 42%,#000 100%);background-size:64px 64px,64px 64px,100% 100%}.hero--home .hero__inner{width:100%;padding:54px 0 360px}.hero--home h1{max-width:11ch;font-size:clamp(3.35rem,15vw,4.7rem)}.hero h1{font-size:clamp(3.1rem,14vw,4.5rem)}.hero__lead{margin-top:22px;font-size:1rem}.eyebrow{font-size:9px;line-height:1.5;margin-bottom:18px}.btn-row{margin-top:26px}.btn{width:100%}.hero-media{top:47%}.hero-media::after{background:linear-gradient(180deg,#03070c 0%,rgba(3,8,14,.6) 18%,transparent 52%,rgba(3,8,14,.36) 100%)}.hero-media__slide{background-size:auto 100%;background-position:var(--x,68%) calc(var(--y,54%) + var(--hero-parallax))}.hero-media__slide:nth-child(2),.hero-media__slide:nth-child(3){background-size:auto 112%}.hero-media__nav{right:16px;bottom:16px}.hero--compact .hero__inner,.hero:not(.hero--home) .hero__inner{padding:64px 0 76px}.hero:not(.hero--home) h1{font-size:clamp(3rem,14vw,4.4rem)}.specrail__grid{grid-template-columns:1fr 1fr;border-inline:0}.specrail__cell{min-height:112px;padding:22px 16px}.specrail__v{font-size:.86rem}.section{padding:82px 0}.split{gap:34px}.split h2,.section__head h2{font-size:clamp(2.55rem,12vw,3.5rem)}.split__body{font-size:1rem}:is(#services,#servicios){padding-bottom:92px}.cards{display:flex;gap:14px;margin-right:-16px;padding-right:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#2c7bc7 #0b1c2d}.card{flex:0 0:min(86vw,370px);display:flex;min-height:650px;scroll-snap-align:start}.card::before{height:230px;min-height:230px;flex-basis:230px}.card::after{left:auto;right:18px;top:198px}.card__body{padding:32px 24px 12px}.card>.link-arrow{grid-column:auto;padding-inline:24px}.cta{padding:90px 0}.cta h2{font-size:clamp(3rem,13vw,4.35rem)}.cta::after{right:-65%;width:125vw}.form{padding:26px 20px}.form__row{grid-template-columns:1fr;gap:0}.price{grid-template-columns:1fr}.contact-rail{grid-template-columns:1fr}.contact-rail__item{border-right:0;border-bottom:1px solid var(--line)}.contact-rail__item:last-child{border-bottom:0}.footer{padding-top:62px}.footer__top{grid-template-columns:1fr 1fr;gap:36px}.footer__brand{grid-column:1/-1}.footer__legal{flex-direction:column;gap:18px}.footer__copy{white-space:normal}}
@media (max-width:390px){.nav__call{display:none}.brand{flex-basis:178px}.hero--home h1{font-size:3.45rem}.specrail__grid{grid-template-columns:1fr}.specrail__cell{border-right:0!important;border-bottom:1px solid rgba(159,193,220,.18)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .revealable{opacity:1;transform:none;clip-path:none;transition:none}.hero-media__slide{transition:none}.hero-media__slide:not(.is-active){display:none}.card,.card::before,.btn,.link-arrow::after{transition:none!important}}

/* Keep the full logo legible on small screens. */
@media (max-width:700px){.masthead>.wrap{min-height:94px}.brand{flex-basis:200px}.brand__logo-mark{width:160px}}
@media (max-width:390px){.brand{flex-basis:200px}}

/* Action links are buttons at every width so the complete surface is clickable. */
.link-arrow{display:inline-flex;align-items:center;justify-content:space-between;min-width:220px;min-height:60px;margin-top:18px;padding:17px 20px;gap:20px;border:2px solid #075fc9;border-radius:4px;background:#075fc9;color:#fff;font-size:15px;line-height:1.25;letter-spacing:.06em;box-shadow:0 10px 24px rgba(7,95,201,.18)}
.link-arrow::after{margin-left:auto;color:#fff;font-size:25px}
.link-arrow:hover,.link-arrow:focus-visible{background:#064fa7;border-color:#064fa7;color:#fff}
.card>.link-arrow{min-width:0;margin-top:0;background:#075fc9;border-color:rgba(255,255,255,.18);color:#fff}
@media (max-width:700px){
  .nav__call,.nav__toggle{min-width:48px;min-height:48px}
  .nav__links{padding:8px 16px 20px}
  .nav__links li{margin:0}
  .nav__links a{display:flex;align-items:center;min-height:58px;padding:16px 12px;font-size:16px;line-height:1.25}
  .link-arrow{display:flex;width:100%;min-width:0;min-height:64px;padding:18px 20px;font-size:16px}
  .link-arrow::after{font-size:27px}
  .card>.link-arrow{min-height:68px;margin-top:0;padding:20px 24px;border-width:0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;background:#075fc9;font-size:16px}
  .footer li{margin-bottom:2px}
  .footer li a{display:flex;align-items:center;min-height:48px;padding:9px 0;line-height:1.35;overflow-wrap:anywhere}
}

/* Keep direct quote-form links clear of the sticky header. */
#quote-form,#formulario-cotizacion{scroll-margin-top:150px}

/* Responsive service cards: never squeeze three cards into phone-sized columns. */
.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
@media (max-width:1100px){
  .cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-right:0;padding-right:0;overflow:visible;scroll-snap-type:none}
  .card{display:flex;flex-direction:column;min-width:0;min-height:0;width:100%}
  .card::before{display:block;width:100%;height:auto;min-height:0;flex:0 0 auto;aspect-ratio:16/10;grid-row:auto;background-size:cover}
  .card::after{left:auto;right:20px;top:18px}
  .card__body{padding:34px 28px 20px}
  .card>.link-arrow{grid-column:auto}
}
@media (max-width:820px){
  .cards{grid-template-columns:minmax(0,1fr);gap:24px}
  .card{max-width:none}
  .card::before{height:auto;min-height:0;flex-basis:auto;aspect-ratio:16/9;background-size:cover}
  .card::after{top:18px}
  .card h3{font-size:clamp(1.9rem,8vw,2.45rem)}
  .card p{font-size:1rem;line-height:1.65}
}

/* Responsive image system: proportional crops at every viewport width. */
.hero-media__slide,.hero-media__slide:nth-child(2),.hero-media__slide:nth-child(3){inset:0;background-size:cover;background-repeat:no-repeat}
.hero-media__slide:nth-child(2){--x:50%;--y:50%;background-image:url("images/hdsl-hero-utilityscan-v4.webp")}
.hero-media__slide:nth-child(3){--x:50%;--y:50%;background-size:cover}
.hero--photo::before,.hero--home::before,.card::before{background-repeat:no-repeat;background-size:cover}
@media (max-width:980px){
  .hero--photo::before{transform:none;background-size:cover}
  .hero-media__slide{background-size:cover;background-position:var(--x,62%) calc(var(--y,50%) + var(--hero-parallax))}
  .hero-media__slide:nth-child(2){--x:50%;--y:50%}
  .hero-media__slide:nth-child(3){--x:50%;--y:50%}
}
@media (max-width:700px){
  .hero--home::before{background-size:cover}
  .hero-media{top:44%;left:0;right:0;bottom:0}
  .hero-media__slide,.hero-media__slide:nth-child(2),.hero-media__slide:nth-child(3){inset:0;background-size:cover;background-repeat:no-repeat}
  .hero-media__slide:nth-child(1){--x:66%;--y:50%}
  .hero-media__slide:nth-child(2){--x:50%;--y:50%}
  .hero-media__slide:nth-child(3){--x:50%;--y:50%}
}

/* Large, touch-friendly contact choices. */
.contact-actions{display:grid;gap:12px;margin-top:28px}
.contact-actions .link-arrow{display:flex;width:100%;min-width:0;min-height:64px;margin-top:0;padding:18px 20px;overflow-wrap:anywhere}
@media (max-width:700px){
  .contact-actions{gap:14px}
  .contact-actions .link-arrow{min-height:68px;font-size:15px}
}
