.infrastructure-page .main-nav .nav-group:first-of-type>summary{color:#79d4f1}
.infrastructure-hero{position:relative;isolation:isolate;min-height:485px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(110deg,#53617a 0%,#8998b3 53%,#b5cefb 100%)}
.infrastructure-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.24),transparent 37%),linear-gradient(90deg,rgba(9,23,47,.45),rgba(9,23,47,.03))}
.infrastructure-hero::after{content:"";position:absolute;right:-150px;bottom:-430px;width:670px;height:670px;border:1px solid rgba(255,255,255,.19);border-radius:50%;box-shadow:0 0 0 95px rgba(255,255,255,.035),0 0 0 190px rgba(255,255,255,.025);pointer-events:none}
.infrastructure-hero-inner{padding:150px 0 88px}
.infrastructure-hero .eyebrow{color:#edf7ff;border-color:rgba(255,255,255,.48);background:rgba(9,32,64,.09)}
.infrastructure-hero h1{max-width:850px;margin:23px 0 15px;color:#fff;font-size:clamp(42px,5.2vw,70px);line-height:1.08;letter-spacing:-.055em;font-weight:350}
.infrastructure-hero h1 strong{font-weight:800}
.infrastructure-hero p{max-width:590px;margin:0 0 25px;color:#edf5ff;font-size:16px;line-height:1.65}

.infrastructure-section{padding:86px 0 30px;background:#fff}
.road-section{padding-top:78px;padding-bottom:200px}
.infrastructure-heading{margin-bottom:27px}
.infrastructure-heading h2{margin:14px 0 0;color:#1a2b49;font-size:clamp(28px,2.75vw,39px);font-weight:350;letter-spacing:-.045em;line-height:1.2}
.infrastructure-heading h2 strong{font-weight:800}
.infrastructure-gallery{display:grid;gap:24px}
.railway-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.road-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.infrastructure-image{min-width:0;aspect-ratio:16/9;overflow:hidden;margin:0;border-radius:19px;background:#e8f1f8;box-shadow:0 16px 38px rgba(33,70,106,.12);transition:transform .25s,box-shadow .25s}
.infrastructure-image:hover{transform:translateY(-4px);box-shadow:0 23px 44px rgba(33,70,106,.18)}
.infrastructure-image img{display:block;width:100%;height:100%;object-fit:cover}

@media(max-width:850px){
  .road-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.road-section{padding-bottom:160px}
}
@media(max-width:680px){
  .infrastructure-hero{min-height:420px}.infrastructure-hero-inner{padding:135px 0 70px}.infrastructure-hero h1{font-size:clamp(38px,8vw,55px)}.infrastructure-hero p{font-size:14px}
  .infrastructure-section{padding-top:65px}.road-section{padding-top:55px;padding-bottom:125px}.infrastructure-gallery{gap:14px}.infrastructure-heading h2{font-size:29px}
}
@media(max-width:480px){
  .infrastructure-hero h1{font-size:38px}.infrastructure-hero p{font-size:13px}.railway-gallery,.road-gallery{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.infrastructure-image{transition:none}}

