:root{--navy:#10283f;--blue:#205b83;--purple:#10283f;--line:#dbe2e8;--muted:#526373;--bg:#f1f5f7;--ink:#142d42}
body{line-height:1.7;word-break:keep-all;overflow-wrap:break-word}a{transition:background .18s,color .18s}a:focus-visible{outline:3px solid #ddad55;outline-offset:5px}header{height:94px;max-width:none;padding-inline:max(28px,calc((100% - 1200px)/2));gap:28px}.brand{gap:13px;flex-shrink:0}.mark{width:46px;height:46px;border-radius:0;font-size:14px;background:var(--navy);border-bottom:3px solid #c49749}.brand b{font-size:19px;letter-spacing:-.04em}.brand small{font-size:12px;letter-spacing:.1em;color:#62778a}header nav{gap:26px;font-size:14px}.head-call{border-left:1px solid var(--line);padding-left:25px;white-space:nowrap}.head-call small{font-size:12px}.head-call b{font-size:19px}
.hero{background:#10283f;min-height:620px;padding:92px max(28px,calc((100% - 1200px)/2)) 76px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;position:relative;border-bottom:5px solid #c49749}.hero h1{font-size:clamp(2rem,4vw,3.65rem);line-height:1.3;letter-spacing:-.055em;margin:0 0 26px}.hero-specialty{font-size:.55em;font-weight:500;letter-spacing:-.025em;color:#c0d2df;display:inline-block;margin-bottom:14px}.hero-name{color:#fff}.company-intro{font-size:18px!important;line-height:1.8!important;color:#d1dde5!important;margin:0 0 24px}.field-tags{display:flex;flex-wrap:wrap;gap:8px 0;margin:0 0 30px}.field-tags span{font-size:14px;color:#c7d5df;padding:0 12px;border-right:1px solid #536575;line-height:1.3}.field-tags span:first-child{padding-left:0}.field-tags span:last-child{border-right:0}.actions{margin:30px 0;flex-wrap:wrap;gap:12px}.actions a{font-size:16px;padding:15px 23px;min-height:54px}.primary{background:#e4bc78;color:#10283f}.primary:hover{background:#f1d29c}.secondary{border-color:#8093a2}.secondary:hover{background:#294258}.hero-meta{margin-top:37px;padding-top:25px;border-top:1px solid #3e5365;gap:24px;flex-wrap:wrap}.hero-meta div,.hero-meta div:first-child{padding:0;border:0}.hero-meta b{font-size:14px;font-weight:600}.hero-meta span{font-size:12px;color:#b3c3cf}
.hero-panel{box-shadow:none;border:1px solid #64798b;background:#fff;align-self:center}.panel-top{height:auto;min-height:56px;padding:16px 25px;gap:12px;background:#eaf0f4}.panel-top span{font-size:14px;letter-spacing:0}.panel-top small{font-size:12px;color:#536373}.panel-main{padding:27px 25px}.panel-main>p{font-size:24px;letter-spacing:-.045em;line-height:1.5;margin-bottom:25px}.panel-main dl div{grid-template-columns:78px minmax(0,1fr);gap:10px;padding:16px 0}.panel-main dt{font-size:14px;color:#5b6d7c}.panel-main dd{font-size:14px;font-weight:500}.hero-panel>a{background:#eaf0f4;color:var(--navy);padding:22px 25px}.hero-panel>a:hover{background:#dce7ef}.hero-panel>a span{font-size:12px;color:#4e6375}.hero-panel>a b{font-size:clamp(1.4rem,2.3vw,1.85rem);letter-spacing:-.02em}.hero-panel>a i{font-size:22px}
.section{max-width:1256px;padding:90px 28px}.section-head{margin-bottom:38px;gap:30px}.section-head p,.why-copy>p,.contact>div>p{font-size:12px;letter-spacing:.16em;margin:0 0 14px}.section-head h2,.why-copy h2{font-size:clamp(1.9rem,3.1vw,2.6rem);line-height:1.4;letter-spacing:-.045em}.section-head>span,.why-copy>span{font-size:16px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));border-left:0;gap:0 32px}.service-grid article{min-height:210px;padding:27px 0;border-right:0}.service-grid article>b{font-size:12px;letter-spacing:.06em}.service-grid h3{font-size:22px;margin:12px 0}.service-grid p{font-size:16px;padding-bottom:25px}.service-grid article>span{font-size:12px;bottom:19px;position:static;display:block;letter-spacing:.1em;color:#657d8d}.service-grid article:last-child{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:40px 180px 1fr;align-items:baseline;gap:12px;background:#edf2f5;padding:22px 26px;border:0;margin-top:12px}.service-grid article:last-child h3{margin:0}.service-grid article:last-child p{padding:0}.service-grid article:last-child>span{display:none}
.why{padding:78px max(28px,calc((100% - 1200px)/2));gap:64px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.why-copy h2{margin:10px 0 22px}.why-list{display:block;border:0}.why-list article{padding:22px 0;border:0;border-bottom:1px solid #cbd5de;background:transparent;gap:22px}.why-list article:first-child{padding-top:0}.why-list article>b{font-size:12px;padding-top:3px}.why-list h3{font-size:18px;margin-bottom:7px}.why-list p{font-size:16px}.system ol{gap:32px}.system li{padding:28px 0;border-right:0}.system li>b{font-size:32px;color:#69859a;font-weight:500}.system h3{font-size:21px;margin:17px 0 10px}.system li p{font-size:16px}.faq{padding-top:0}.faq-grid article{gap:40px;padding:25px 0}.faq-grid h3,.faq-grid p{font-size:16px}.contact{max-width:1200px;margin:0 auto 80px;padding:48px;background:var(--navy);gap:32px}.contact h2{font-size:clamp(1.7rem,3vw,2.2rem)}.contact>div>span{font-size:16px}.contact aside{flex-shrink:0;width:350px;padding:25px}.contact aside>small{font-size:14px}.contact aside>a{font-size:28px}.contact aside>div a{font-size:14px;min-height:46px}
footer{grid-template-columns:1fr 2fr;align-items:start;gap:25px 45px;background:#0b1d2b;font-size:14px;padding:44px max(28px,calc((100% - 1200px)/2));color:#b1c0cb}footer .brand small{color:#9eafbc}footer .mark{border:1px solid #5d7282;border-bottom:3px solid #c49749}footer p{margin:0 0 7px}footer>small{grid-column:1/-1;font-size:12px;border-top:1px solid #354857;padding-top:22px;color:#91a5b5}.mobile-bar{padding-bottom:env(safe-area-inset-bottom);height:auto;min-height:68px}.mobile-bar>a{min-height:68px;font-size:14px}.mobile-bar small{font-size:12px}.mobile-bar b{font-size:16px}
@media(max-width:1050px){header nav{display:none}.hero{gap:32px;padding-block:65px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.hero h1{font-size:38px}.why{gap:40px}.contact{margin-inline:28px}.contact aside{width:310px}.contact aside>a{font-size:25px}}
@media(max-width:900px){header{height:78px}.hero{grid-template-columns:1fr;padding:50px 24px;gap:35px}.hero h1{font-size:clamp(1.9rem,6vw,3.4rem)}.hero-panel{width:100%;max-width:580px}.hero-meta{gap:20px 30px}.section{padding:65px 24px}.section-head>span{margin-top:20px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.service-grid article:last-child{grid-template-columns:30px 1fr}.service-grid article:last-child p{grid-column:2}.why{grid-template-columns:1fr;padding:60px 24px;gap:35px}.system ol{grid-template-columns:1fr;gap:0}.system li{display:grid;grid-template-columns:50px 1fr;gap:8px 18px;border-bottom:1px solid var(--line)}.system li>b{grid-row:1/3}.system h3{margin:0}.system li p{grid-column:2}.faq{padding-top:0}.faq-grid article{gap:12px}.contact{padding:32px;margin:0 24px 60px}.contact aside{width:100%;max-width:450px}footer{grid-template-columns:1fr;padding:38px 24px calc(105px + env(safe-area-inset-bottom))}footer>small{grid-column:1}}
@media(max-width:480px){header{padding-inline:20px}.brand b{font-size:17px}.brand small{font-size:12px}.hero{padding-inline:20px}.hero h1{font-size:clamp(1.7rem,7.4vw,2.3rem)}.hero-specialty{font-size:.66em}.company-intro{font-size:16px!important}.field-tags span{font-size:14px;padding-inline:9px}.actions{display:grid;grid-template-columns:1fr;width:100%}.actions a{text-align:center}.hero-meta{grid-template-columns:1fr 1fr}.panel-main>p{font-size:22px}.panel-top{flex-wrap:wrap}.section{padding-inline:20px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0;padding:24px 0}.service-grid article:last-child{padding:20px 14px;gap:10px}.service-grid p{padding-bottom:12px}.section-head h2{font-size:28px}.contact{margin-inline:20px;padding:25px 20px}.contact aside{padding:20px}.contact aside>a{font-size:clamp(1.1rem,6vw,1.65rem)}.faq-grid article{padding:23px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}

/* Explicit foregrounds keep service headings readable across display themes. */
.section h2,.section h3,.why h2,.why h3,.panel-main>p{color:#142d42}
.section-head>span,.service-grid p,.system li p,.faq-grid p,.why-copy>span,.why-list p{color:#405365}
.service-grid article>span{color:#486174}

/* Show the supplied emblem directly, preserving the original artwork. */
.brand-logo{position:relative;display:block;flex:0 0 50px;width:50px;height:51px;overflow:hidden;background:#fff;border-radius:4px}
.brand-logo img{position:absolute;display:block;width:768%;height:auto;max-width:none;left:-44%;top:-45.1%}
footer .brand-logo{background:#fff}
/* Field photography, consistent service cards and accessible mobile contact. */
.hero{isolation:isolate;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero:has(.hero-photo)::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,44,.94),rgba(10,28,44,.84) 48%,rgba(10,28,44,.55));z-index:-1}
.photo-credit{grid-column:1/-1;color:#d7e2ea;font-size:12px;margin:0;text-align:right}
.photo-credit a{text-decoration:underline}
.hero-meta .meta-icon{display:inline-block;font-size:21px;color:#e4bc78;margin:0 8px 0 0;vertical-align:middle;line-height:1}
.trust-strip{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #dbe2e8;padding:30px 0;gap:26px}
.trust-strip div{padding:0 24px;border-left:3px solid #c49749}
.trust-strip small,.trust-strip b,.trust-strip span{display:block}
.trust-strip small{font-size:14px;color:#526373}.trust-strip b{font-size:20px;color:#142d42;margin:5px 0}.trust-strip span{font-size:14px;color:#405365;overflow-wrap:anywhere}
.service-grid{gap:18px;border:0}.service-grid article,.service-grid article:last-child{display:block;grid-column:auto;min-height:230px;padding:25px;background:#f1f5f7;border:1px solid #dbe2e8;margin:0}.service-grid article h3,.service-grid article:last-child h3{margin:12px 0}.service-grid article p,.service-grid article:last-child p{padding:0 0 18px}.service-grid article>span,.service-grid article:last-child>span{display:block;position:static;font-size:12px;color:#486174}
@media(max-width:900px){.trust-strip{padding:28px 24px;gap:20px;grid-template-columns:1fr}.trust-strip div{padding-left:18px}.mobile-bar{grid-template-columns:1fr 2fr;background:#10283f;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar>a{min-height:72px}.mobile-bar>a:last-child{background:#e4bc78;color:#10283f}.mobile-bar small{color:#30485a}.mobile-bar b{font-size:18px}.photo-credit{text-align:left}.hero{row-gap:30px}}
@media(max-width:480px){.service-grid article,.service-grid article:last-child{min-height:0;padding:24px}.hero-meta{grid-template-columns:1fr;gap:15px}.hero-meta>div{display:block}}
@media(max-width:480px){.brand-logo{flex-basis:44px;width:44px;height:44.88px}}

/* Keep the worker photograph and consultation card in separate, non-overlapping rows. */
.hero-aside{min-width:0;display:grid;gap:16px;align-self:center}
.hero-portrait{margin:0;background:#10283f;overflow:hidden}
.hero .hero-portrait .hero-photo{position:static;display:block;width:100%;height:auto;object-fit:contain;z-index:auto}
.hero:has(.hero-photo)::before{display:none}
.hero-aside .hero-panel{width:100%;max-width:none}
@media(max-width:900px){.hero-aside{width:100%;max-width:580px}}

/* Background photo occupies a clear band above the consultation panel. */
.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:36px 60px;align-items:end;padding-top:80px;padding-bottom:35px}
.hero>.hero-photo{position:absolute;inset:0 0 auto auto;width:55%;height:430px;object-fit:cover;object-position:40% 28%;z-index:-2}
.hero:has(>.hero-photo)::before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10283f 0%,rgba(16,40,63,.95) 35%,rgba(16,40,63,0) 63%),linear-gradient(0deg,#10283f 0%,#10283f 22%,rgba(16,40,63,0) 65%);z-index:-1}
.hero>.hero-panel{margin-top:300px;align-self:end}
.hero>.hero-copy{align-self:center}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:290px;gap:28px}.hero>.hero-photo{width:100%;height:330px;object-position:center 27%}.hero:has(>.hero-photo)::before{background:linear-gradient(0deg,#10283f 0%,#10283f calc(100% - 290px),rgba(16,40,63,.1) 100%)}.hero>.hero-panel{margin-top:0}.hero>.hero-copy{position:relative}}

/* Architectural background has no subject to obscure, restoring a compact hero. */
.hero{padding-top:80px;padding-bottom:38px;align-items:center}
.hero>.hero-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero:has(>.hero-photo)::before{background:linear-gradient(90deg,rgba(10,28,44,.92),rgba(10,28,44,.75) 52%,rgba(10,28,44,.42))}
.hero>.hero-panel{margin-top:0;align-self:center}
@media(max-width:900px){.hero{padding-top:55px}.hero>.hero-photo{height:100%;width:100%;object-position:55% center}.hero:has(>.hero-photo)::before{background:rgba(10,28,44,.8)}}
