:root{--navy:#11284d;--navy2:#18365e;--blue:#1d3e6d;--red:#1d3e6d;--shadow:0 14px 35px rgba(12,34,64,.12)}
.container{width:min(1560px,calc(100% - clamp(32px,8vw,160px)))}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;transition:background .25s,box-shadow .25s}
.site-header.scrolled,.site-header.menu-open{background:rgba(15,35,65,.97);box-shadow:0 5px 18px rgba(4,17,35,.18)}
.header-inner{min-height:100px}
.site-nav{gap:clamp(13px,1.25vw,30px);font-size:clamp(.8rem,.78vw,.96rem)}
.site-nav>a:hover,.nav-group summary:hover{color:#dce8f6}
.site-nav .nav-contact{background:transparent;border:1.5px solid white;padding:10px 19px;border-radius:2px}
.site-nav .nav-contact:hover{background:#fff;color:var(--navy)}
.button{background:#213d6b;border-color:#213d6b;border-radius:2px;padding:13px 25px;font-weight:600;min-height:48px}
.button:hover{background:#152d51;border-color:#152d51}
.button-light{background:#fff;border-color:#fff;color:var(--navy)}
.button-light:hover{background:#e9eff7;border-color:#e9eff7}
.text-link{border-color:#8fa6c0}
.eyebrow,.fitting-head small{color:#315a8d}
.eyebrow.light{color:#f1f5fa}
.home-hero{min-height:100vh;min-height:100svh;background:linear-gradient(90deg,rgba(5,16,31,.78),rgba(5,16,31,.66) 42%,rgba(5,16,31,.28) 78%,rgba(5,16,31,.1)),var(--hero) center/cover no-repeat}
.home-hero-inner{width:64%;max-width:none;margin-left:18%;margin-right:0;padding-block:155px 75px}
.home-hero .eyebrow,.home-hero h1,.home-hero p{text-shadow:0 2px 12px rgba(0,0,0,.7)}
.home-hero h1{font-size:clamp(2.65rem,3.1vw,4.2rem);max-width:760px;line-height:1.1}
.home-hero p{font-size:clamp(1.06rem,1.15vw,1.35rem);max-width:720px}
.home-hero .button{min-width:155px}
.home-hero .text-link{border-color:#fff}
.page-hero{min-height:340px;height:auto;padding:118px 0 45px}
.page-hero-img{opacity:.55}
.page-hero:after{background:linear-gradient(90deg,rgba(8,24,47,.8),rgba(8,24,47,.25))}
.page-hero h1{font-size:clamp(2.4rem,3.7vw,4.5rem)}
.breadcrumb{padding-block:20px}
.section{padding-block:clamp(65px,5.5vw,106px)}
.split{gap:clamp(40px,5vw,100px)}
.section-heading{max-width:850px}
.card-grid{gap:clamp(18px,1.5vw,30px)}
.card img{height:clamp(210px,15vw,280px)}
.product-card img{height:clamp(190px,13vw,250px)}
.feature{min-height:172px;padding:28px;border-color:#d4dee8}
.feature-icon{width:60px;height:60px;object-fit:contain;object-position:left center;margin-bottom:19px}
.feature-mark{color:var(--blue)}
.credentials{background:#f7f9fb}
.credential-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:clamp(16px,3vw,60px);margin:34px 0 32px}
.credential-logo{width:100%;max-width:205px;max-height:160px;object-fit:contain;justify-self:center;mix-blend-mode:multiply}
.vision-wide{max-width:1000px;margin-bottom:30px}
.vision-wide>div{background:#fff;border-left:3px solid var(--blue);padding:22px}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery img{height:clamp(180px,14vw,260px)}
@media(min-width:1800px){.header-inner{min-height:115px}.brand{width:165px;height:115px}.brand img{width:165px;height:165px;transform:translateY(-29px)}.home-hero h1{font-size:4rem}.home-hero p{font-size:1.35rem}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.site-nav{gap:12px}.site-nav .nav-contact{padding:8px 12px}.home-hero-inner{width:72%;margin-left:14%}}
@media(max-width:800px){.header-inner{min-height:75px}.site-nav{background:#10294d}.site-header.menu-open{background:#10294d}.home-hero-inner{width:calc(100% - 48px);margin-inline:auto;padding-block:130px 70px}.home-hero{background-position:60% center}.page-hero{padding-top:110px}.credential-logos{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.home-hero{min-height:100svh;background:linear-gradient(90deg,rgba(5,16,31,.78),rgba(5,16,31,.42)),var(--hero) 60% center/cover no-repeat}.home-hero-inner{width:calc(100% - 36px);padding-block:115px 50px}.home-hero h1{font-size:clamp(2.25rem,10vw,3.25rem)}.home-hero p{font-size:1.05rem}.hero-actions{gap:15px}.page-hero{min-height:300px;padding:105px 0 36px}.page-hero h1{font-size:2.25rem}.credential-logo{max-height:115px}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feature{padding:17px;min-height:160px}.feature-icon{width:46px;height:46px;margin-bottom:12px}.feature h3{font-size:.93rem}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:140px}}
@media(max-width:380px){.feature-grid{grid-template-columns:1fr}.feature{min-height:0}.home-hero h1{font-size:2.15rem}}
.project-section{background:#fff}
.project-group{border-top:1px solid #cbd7e2;padding-top:30px;margin-top:42px}
.project-group-heading{margin-bottom:23px}
.project-group-heading h3{font-size:clamp(1.35rem,2vw,1.8rem);margin:0;letter-spacing:-.025em}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-gallery figure{margin:0;background:#f6f8fa;border:1px solid #d8e1e9;display:flex;flex-direction:column;min-width:0}
.project-gallery img{width:100%;height:clamp(220px,20vw,340px);object-fit:contain;background:#e9edf1}
.project-gallery figcaption{padding:16px 18px;color:var(--navy);font-size:.96rem;font-weight:650;line-height:1.4}
@media(min-width:1800px){.project-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.project-group{margin-top:31px;padding-top:22px}.project-gallery{grid-template-columns:1fr;gap:15px}.project-gallery img{height:260px}.project-gallery figcaption{padding:13px 15px}}
.media-frame.product-collage:before{display:none}
.about-hero .page-hero-img{background-position:center 72%}
.about-photo-collage{display:grid;grid-template-columns:1fr;gap:14px;align-self:center}
.about-photo-collage img{width:100%;height:clamp(260px,23vw,360px);object-fit:cover;background:#e8edf2}
.about-photo-collage img:first-child{object-position:center 45%}
.about-photo-collage img:last-child{object-position:center 35%}
.about-credentials{background:#f7f9fb}
.about-credential-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:28px;background:#fff;border:1px solid #dce5ec;padding:clamp(22px,4vw,55px)}
.about-credential-logos .credential-logo{max-width:190px;max-height:145px}
.about-vision .split{grid-template-columns:1.18fr .82fr}
.about-vision .vision-wide{grid-template-columns:1fr 1fr;max-width:none}
.about-map{display:flex;align-items:center;justify-content:center;min-height:520px;background:#fff;border:1px solid #dce5ec;padding:20px}
.about-map img{width:auto;height:480px;object-fit:contain}
@media(max-width:800px){.about-vision .split{grid-template-columns:1fr}.about-map{min-height:0}.about-map img{height:420px}}
@media(max-width:600px){.about-photo-collage{gap:9px}.about-photo-collage img{height:230px}.about-photo-collage img:last-child{height:280px}.about-credential-logos{gap:16px}.about-vision .vision-wide{grid-template-columns:1fr}.about-map img{height:340px}}
.media-frame.product-collage img{height:auto;max-height:none;object-fit:contain;box-shadow:none}
.photo-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.photo-feature{position:relative;min-height:250px;overflow:hidden;border-radius:4px;background:var(--navy)}
.photo-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,26,51,.03) 15%,rgba(9,26,51,.78) 100%)}
.photo-feature h3{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;margin:0;color:#fff;font-size:clamp(1.1rem,1.35vw,1.45rem);line-height:1.25;letter-spacing:-.015em;text-shadow:0 1px 5px rgba(0,0,0,.2)}
@media(max-width:900px){.photo-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.photo-feature-grid{grid-template-columns:1fr;gap:14px}.photo-feature{min-height:235px}}
.inspection-section{padding-top:30px}
@media(max-width:600px){.inspection-section{padding-top:20px}}
.media-frame.inspection-media img{object-position:62% center}
