:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#173247;background:#f6f9fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}.brand{text-decoration:none;font-weight:850;letter-spacing:-.05em;font-size:23px;color:#12334b;white-space:nowrap}.brand em{font-style:normal;color:#a84d10}.lead{font-size:19px;line-height:1.58;color:#d7e8ef;max-width:770px;margin:0 0 27px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 21px;border-radius:8px;text-decoration:none;font-weight:750;text-align:center}.orange{background:#a84d10;color:white}.orange:hover{background:#8b3d0b}.primary{background:#a84d10;color:white;border:0}.primary:hover{background:#8b3d0b}.ghost{color:white;border:1px solid #92afbd}.section{padding:70px 0}.section h2{font-size:clamp(29px,3.5vw,42px);letter-spacing:-.04em;line-height:1.15;margin:0 0 14px}.intro{font-size:18px;color:#586f7e;line-height:1.55;max-width:740px;margin:0 0 28px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile,.form-card{background:#fff;border:1px solid #dbe6eb;border-radius:13px;padding:26px}.tile h3{font-size:21px;margin:0 0 10px}.tile p,.prose p,.prose li{color:#5a7180;line-height:1.6}.soft{background:#eaf1f5}.dark{background:#0b293f;color:#fff}.dark p{color:#d0e0e9;line-height:1.6}.cta{display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{max-width:670px}.narrow{max-width:850px}.narrow details{background:#fff;padding:18px 20px;border-radius:9px;border:1px solid #dbe6eb;margin:10px 0}.narrow summary{cursor:pointer;font-weight:750}.narrow details p{color:#5a7180;line-height:1.6}.form-card{max-width:800px}.form-card h2{margin-bottom:9px}.field{display:grid;gap:6px;margin:17px 0;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid #a9bec9;border-radius:8px;padding:13px;font:inherit;color:#173247;background:white;min-height:48px}.field textarea{min-height:115px}.form-card button{cursor:pointer;font:inherit}.note{font-size:14px;color:#617788;line-height:1.5}.message{display:none;padding:14px;border-radius:8px;background:#fff4e8;color:#623513;margin-top:15px}.message.show{display:block}.area-list{display:flex;flex-wrap:wrap;gap:11px}.area-list a{background:white;border:1px solid #d7e3e9;border-radius:50px;text-decoration:none;padding:11px 16px;font-weight:700}.area-list a:hover{border-color:#dc762c}.prose{max-width:800px}.prose h2{margin-top:34px}footer{background:#071e30;color:#fff;padding:45px 0}.foot{display:flex;justify-content:space-between;gap:30px;line-height:1.8}.foot .brand{color:white}.foot p{font-size:14px;color:#b4cbd6}.mobile{display:none}.consent{position:fixed;bottom:20px;left:20px;z-index:8;background:white;box-shadow:0 10px 35px #0a293f44;border:1px solid #dbe6eb;border-radius:12px;padding:17px;max-width:360px}.consent[hidden]{display:none}.consent p{margin:0 0 12px;line-height:1.4}.consent div{display:flex;gap:8px}.consent button{background:#11344d;color:white;border:0;border-radius:6px;padding:10px 14px;cursor:pointer;font:inherit}.consent button:first-child{background:#eaf1f5;color:#173247}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.brand{font-size:20px}.lead{font-size:17px}.grid{grid-template-columns:1fr}.section{padding:54px 0}.cta,.foot{display:block}.cta .btn{margin-top:10px}.mobile{display:flex;position:sticky;bottom:0;background:#fff;box-shadow:0 -4px 20px #12344b22;z-index:5;padding:9px 15px;gap:8px}.mobile a{flex:1;text-align:center;background:#a84d10;color:#fff;text-decoration:none;font-weight:750;padding:12px;border-radius:8px}.mobile a:last-child{background:#12344b}.consent{bottom:74px;left:12px;right:12px;max-width:none}}
/* Responsive UX hardening */
img,video,svg{max-width:100%;height:auto}.hero-video{max-width:none;height:100%}body{overflow-x:hidden}@media(max-width:1024px){.section{padding:62px 0}}@media(max-width:850px){.cta{align-items:flex-start}.tile,.form-card{padding:22px}}@media(max-width:600px){.section h2{font-size:clamp(28px,8.5vw,36px)}.actions{width:100%}.actions .btn{flex:1 1 145px}.tile,.form-card{padding:20px}.field input,.field textarea,.field select{font-size:16px}.foot>*{min-width:0}.consent{max-height:calc(100vh - 100px);overflow:auto}}@media(max-width:380px){.brand{font-size:18px}.btn{padding:12px 15px}.mobile{padding-inline:10px}}/* Mobile primary navigation: keep all five destinations visible */@media(max-width:600px){}@media(max-width:380px){}@media(max-width:850px){}@media(max-width:600px){}.mobile a{min-height:48px;display:inline-flex;align-items:center;justify-content:center}@media(max-width:850px){}@media(max-width:600px){.mobile a{min-height:48px}}

/* Home-theme unification: shared pages */
:root{--pw-navy:#062844;--pw-navy2:#0a385a;--pw-orange:#f47716;--pw-ink:#10283d;--pw-muted:#617485;--pw-line:#dce5eb}.lead{color:#dbe8ef}.primary,.orange{background:var(--pw-orange)}.primary:hover,.orange:hover{background:#d95f08}.ghost{border-color:#bfd0da}.section{padding:76px 0}.section h2{color:var(--pw-ink)}.tile,.form-card,.narrow details{border-color:var(--pw-line);border-radius:14px;box-shadow:0 10px 28px #0628440a}.tile{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tile:hover{transform:translateY(-2px);border-color:#f4771666;box-shadow:0 14px 32px #06284412}.soft{background:#eef4f7}.dark{background:#052844}.dark h2{color:#fff}.area-list a{border-color:var(--pw-line);border-radius:10px}.area-list a:hover{border-color:var(--pw-orange);color:#d95f08}.field input,.field textarea,.field select{border-color:#b9cbd5;border-radius:10px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #f4771640;border-color:var(--pw-orange)}footer{background:#041d31}.foot .brand{letter-spacing:0}.mobile a:first-child{background:var(--pw-orange)}.mobile a:last-child{background:var(--pw-navy2)}@media(max-width:850px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.grid{grid-template-columns:1fr}.section{padding:58px 0}.tile,.form-card{padding:20px}.mobile{position:sticky;bottom:0;z-index:20}}/* Final mobile header containment */@media(max-width:600px){}


/* One shared shell across home, services, gallery, projects and areas. */
:root{--pw-navy:#062844;--pw-navy2:#0a385a;--pw-orange:#f47716;--pw-ink:#10283d;--pw-muted:#617485;--pw-line:#dce5eb;color:var(--pw-ink);background:#f6f8fa}
.wrap{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.top{background:#052844;color:#dbe8ef;font-size:13px}
.top .wrap{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.top a{color:#fff;text-decoration:none}
.nav{background:#fff;position:sticky;top:0;z-index:12;box-shadow:0 4px 18px #06284412}
.nav .wrap{min-height:88px;display:flex;align-items:center;gap:24px}
.brand-logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.brand-logo img{display:block;width:180px;height:76px;object-fit:contain;object-position:left center}
.nav nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav nav a{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 0;color:#122c42;text-decoration:none;font-size:15px;font-weight:750;white-space:nowrap}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;background:transparent}
.nav nav a[aria-current="page"],.nav nav a:hover{color:#a84d10}
.nav nav a[aria-current="page"]::after,.nav nav a:hover::after{background:var(--pw-orange)}
.navcall{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-left:8px;padding:13px 19px;background:var(--pw-orange);color:#fff;border-radius:10px;font-size:15px;font-weight:800;text-decoration:none;white-space:nowrap}
.nav a:focus-visible,.top a:focus-visible{outline:3px solid #a84d10;outline-offset:4px}
.page-hero{background:linear-gradient(110deg,#052844 0%,#0a385a 100%);color:#fff;padding:68px 0 76px}
.page-hero h1{max-width:820px;font-size:clamp(44px,5.2vw,66px);line-height:1.08;letter-spacing:-.045em;margin:24px 0 20px}
.eyebrow,.pw-kicker{display:flex;align-items:center;gap:14px;color:#ff8a2d;text-transform:uppercase;font-size:13px;letter-spacing:.08em;font-weight:900;margin:0}
.eyebrow::before{content:"";width:38px;height:4px;border-radius:9px;background:var(--pw-orange);flex-shrink:0}
.page-hero .lead{max-width:770px;font-size:19px;line-height:1.62;color:#dbe8ef;margin:0 0 26px}
footer{background:#041d31;color:#fff;padding:48px 0}
footer .foot{display:flex;justify-content:space-between;gap:34px;line-height:1.8}
footer .brand-logo img{width:180px;height:72px}
footer p{color:#bcd0da;line-height:1.65;font-size:14px}
footer a{color:#fff}
@media(max-width:1100px){.nav .wrap{gap:16px}.nav nav{gap:16px}.nav nav a{font-size:13px}.brand-logo img{width:160px}}
@media(max-width:900px){.nav .wrap{flex-wrap:wrap;gap:8px 18px;padding:8px 0}.navcall{margin-left:auto}.nav nav{order:3;flex-basis:100%;margin:0;justify-content:space-between;gap:8px}.nav nav a{padding:10px 4px}.brand-logo img{height:60px}}
@media(max-width:600px){.wrap{width:calc(100% - 26px)}.top{display:none}.nav{position:relative}.nav .wrap{display:grid;grid-template-columns:1fr auto;gap:4px 10px}.brand-logo img{width:145px;height:60px}.navcall{font-size:12px;padding:11px 12px;min-height:44px;margin:0}.nav nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:0}.nav nav a{font-size:12px;min-height:44px;padding:10px 2px;white-space:normal;text-align:center;line-height:1.2}.nav nav a::after{left:8px;right:8px}.page-hero{padding:45px 0 54px}.page-hero h1{font-size:clamp(36px,10vw,44px)}.page-hero .lead{font-size:17px}footer .foot{display:block}footer .foot>div+div{margin-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile,.item,.item img,.pw-card,.pw-service,.pw-btn{transition:none;transform:none}}

/* Shared content rhythm and action treatment. */
.section,.pw-section{padding:72px 0}
.section h2,.pw-section h2{font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-.04em;margin:0 0 14px}
.intro,.pw-intro{font-size:18px;line-height:1.6;color:var(--pw-muted)}
.tile,.pw-card,.form-card{border:1px solid var(--pw-line);border-radius:16px;padding:28px}
.btn,.pw-btn{min-height:54px;border-radius:10px;font-weight:800}
.mobile{display:none}
@media(max-width:600px){.section,.pw-section{padding:54px 0}.section h2,.pw-section h2{font-size:clamp(28px,8.5vw,36px)}.tile,.pw-card,.form-card{padding:20px}.mobile{display:flex;position:sticky;bottom:0;z-index:20;background:#fff;padding:9px 10px;box-shadow:0 -4px 20px #06284422;gap:8px}.mobile a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;padding:12px;background:var(--pw-orange);color:#fff;font-weight:800;text-decoration:none}.mobile a:last-child{background:var(--pw-navy2)}}

/* Mobile fixed header and accessible disclosure menu; desktop is unchanged. */
.menu-toggle{display:none}
@media(max-width:900px){
 body{padding-top:76px}
 .top{display:none}
 .nav{position:fixed;inset:0 0 auto;z-index:30}
 .nav .wrap{display:grid;grid-template-columns:1fr auto auto;gap:8px;min-height:76px;padding:8px 0}
 .nav .brand-logo img{width:145px;height:60px}
 .nav .navcall{margin:0;min-height:44px;font-size:12px;padding:11px 12px}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #c6d5df;border-radius:10px;background:#fff;color:#062844;cursor:pointer}
 .menu-toggle span{display:block;width:22px;height:2px;background:currentColor}
 .menu-toggle:focus-visible{outline:3px solid #a84d10;outline-offset:2px}
 .nav nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:12px 20px;max-height:calc(100dvh - 76px);overflow-y:auto;background:#fff;border-top:1px solid #dce5eb;box-shadow:0 12px 18px #06284422;grid-template-columns:1fr;gap:0}
 .nav.menu-open nav{display:grid}
 .nav nav a{justify-content:flex-start;min-height:48px;padding:12px 8px;font-size:15px}
 .nav nav a::after{left:8px;right:8px}
 .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:380px){.nav .brand-logo img{width:110px}.nav .navcall{font-size:11px;padding-inline:10px}}

/* Accessibility fixes confirmed by the mobile/desktop Lighthouse audit. */
.navcall,.orange,.primary,.mobile a:first-child{background:#a84d10}
@media(max-width:600px){.mobile{gap:10px}.mobile a{min-height:56px}}
