:root{--navy:#101d30;--navy-2:#17283e;--ink:#18293d;--steel:#637183;--silver:#dfe5eb;--paper:#f6f8fa;--white:#fff;--accent:#b6c5d4;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block}.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:8px}:focus-visible{outline:3px solid #91adc5;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.05}h1,h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:.005em}h2{font-size:clamp(3rem,5.1vw,5.25rem);font-weight:700;margin-bottom:0}h3{font-family:"Barlow Condensed",Impact,sans-serif;font-size:2rem;text-transform:uppercase;font-weight:700}.topline{background:#0b1625;color:#aebac7;font-size:.72rem;font-weight:700;letter-spacing:.18em}.topline-inner{display:flex;justify-content:space-between;padding:9px 0}.site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid #e7ebef}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;color:var(--navy)}.brand-mark{width:54px;height:54px;color:var(--navy)}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-type strong{font-family:"Barlow Condensed",Impact,sans-serif;font-size:2.45rem;font-weight:800;letter-spacing:.055em}.brand-type small{font-size:.58rem;font-weight:700;letter-spacing:.19em;white-space:nowrap;margin-top:3px;color:#667487}.primary-nav{display:flex;align-items:center;gap:clamp(15px,2vw,32px);font-size:.89rem;font-weight:700}.primary-nav>a:not(.nav-cta):hover,.text-link:hover,.back-top:hover{color:#6b8199}.nav-cta{background:var(--navy);color:#fff;padding:15px 20px;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;white-space:nowrap}.nav-cta span,.button span,.text-link span{margin-left:15px}.nav-cta:hover,.button-primary:hover{background:#2d4764}.menu-toggle{display:none}.hero{position:relative;min-height:670px;overflow:hidden;background:var(--navy);color:#fff}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(11,23,39,.97) 0%,rgba(11,23,39,.93) 32%,rgba(11,23,39,.56) 64%,rgba(11,23,39,.35) 100%),url('hero-commercial.png');background-position:center;background-size:cover}.hero-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:95px 95px;mask-image:linear-gradient(90deg,transparent 30%,#000 100%)}.hero-content{position:relative;padding-top:112px;padding-bottom:35px;min-height:670px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.73rem;letter-spacing:.22em;font-weight:700;color:#60758a;margin-bottom:25px;display:flex;align-items:center;gap:13px}.eyebrow-light{color:#bbc8d6}.rule{display:inline-block;width:35px;height:2px;background:#8ea6bf;flex-shrink:0}.hero h1{font-size:clamp(4.3rem,7.4vw,8.2rem);font-weight:700;max-width:870px;margin:0 0 23px}.hero h1 em{font-style:normal;color:#b4c5d6}.hero-copy{max-width:630px;color:#d2dce5;font-size:1.12rem;line-height:1.7;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 22px;text-transform:uppercase;font-size:.78rem;font-weight:700;letter-spacing:.12em;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s}.button-primary{background:#e4ebf2;color:#11243b}.button-outline{background:transparent;border-color:#718398;color:#fff}.button-outline:hover{background:rgba(255,255,255,.11);border-color:#c5d0dc}.hero-foot{display:flex;gap:25px;width:100%;margin-top:auto;padding-top:70px;color:#9fb2c4;font-size:.69rem;font-weight:700;letter-spacing:.17em}.hero-foot span:last-child{margin-left:auto}.intro-band{background:#e8edf2;border-bottom:1px solid #d8e0e8}.intro-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:22px;padding-bottom:22px}.intro-inner p{font:700 1.47rem "Barlow Condensed",Impact,sans-serif;letter-spacing:.05em;white-space:nowrap;margin:0}.intro-inner strong{color:#496682}.intro-inner>span{color:#637183;font-size:.87rem;text-align:right}.section{padding:105px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-head>div{max-width:760px}.section-head>p{max-width:340px;color:#657386;line-height:1.65;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-card{min-height:410px;padding:35px 38px;display:flex;flex-direction:column;background:var(--paper);border:1px solid #e1e6eb}.service-card.dark{background:#1d3046;border-color:#1d3046;color:#fff}.service-number,.cap-index,.project-grid article>span,.aside-label,.panel-kicker{font-size:.72rem;font-weight:700;letter-spacing:.18em;color:#7d8fa2}.service-card.dark .service-number{color:#a9bfd2}.service-icon{height:75px;margin:44px 0 18px;color:#627e98}.service-card.dark .service-icon{color:#a8c0d4}.service-icon svg{width:58px;height:58px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:square}.service-card h3{max-width:430px;margin-bottom:10px}.service-card p{max-width:520px;color:#667487;margin-bottom:25px}.service-card.dark p{color:#c4d1dd}.text-link{margin-top:auto;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.capabilities{background:#f3f6f8}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d7e0e8;border-left:1px solid #d7e0e8}.capability-grid article{min-height:210px;padding:28px;border-right:1px solid #d7e0e8;border-bottom:1px solid #d7e0e8;background:#fff}.capability-grid h3{font-size:1.55rem;margin:25px 0 7px}.capability-grid p{color:#69788a;font-size:.9rem;margin:0;max-width:285px}.approach{background:#16283e;color:#fff;padding:105px 0}.approach-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px}.approach-main h2{max-width:700px}.approach-main>p:not(.eyebrow){max-width:635px;color:#c9d5df;margin:25px 0 30px}.approach-aside{border-left:1px solid #3c5269;padding-left:42px}.aside-label{display:block;margin-bottom:25px;color:#b7c7d6}.approach-aside>div{position:relative;padding:18px 0 20px 42px;border-top:1px solid #3c5269}.approach-aside b{position:absolute;top:21px;left:0;color:#8fa8be;font-size:.7rem}.approach-aside h3{font-size:1.6rem;margin-bottom:5px}.approach-aside p{color:#bfccd8;font-size:.88rem;margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.project-grid article{min-height:250px;padding:30px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(145deg,#e8edf2,#d3dee8);border-top:4px solid #8299b0}.project-grid article:nth-child(2){background:linear-gradient(145deg,#dfe6ed,#c7d3df)}.project-grid article:nth-child(3){background:linear-gradient(145deg,#d7e1ea,#b8c9d8)}.project-grid h3{margin:28px 0 8px}.project-grid p{color:#4c6175;font-size:.9rem;max-width:275px;margin:0}.portfolio-note{border:1px solid #dce4eb;margin-top:20px;padding:20px 25px;display:flex;gap:25px;align-items:center;background:#fafbfc}.portfolio-note strong{font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.portfolio-note span{color:#6f7d8b;font-size:.88rem}.safety{background:#314960;color:#fff;padding:72px 0}.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.safety h2{font-size:clamp(2.9rem,4.2vw,4.5rem)}.safety-grid>div:last-child>p{color:#d4e0ea;max-width:555px}.safety-points{display:flex;flex-wrap:wrap;gap:8px}.safety-points span{border:1px solid #8ca3b8;padding:10px 12px;font-size:.65rem;font-weight:700;letter-spacing:.11em}.contact{background:#0d1c2d;color:#fff;padding:105px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact h2{font-size:clamp(3.6rem,6vw,6rem)}.contact-grid>div:first-child>p:not(.eyebrow){max-width:520px;color:#c5d2de;margin-top:24px}.contact-panel{background:#e9eff4;color:#1a2d40;padding:36px 42px}.panel-kicker{color:#57718a}.contact-panel h3{font-size:2.15rem;margin:20px 0 10px}.contact-panel p{font-size:.9rem;color:#596d80}.contact-panel ul{padding-left:20px;color:#283e53;font-size:.9rem;line-height:1.85;margin:25px 0}.contact-panel .button-primary{background:#172b42;color:#fff}.contact-panel .contact-placeholder{border-top:1px solid #c9d4df;padding-top:18px;margin:24px 0 0;font-size:.8rem}.footer{background:#091522;color:#b6c4d1}.footer-main{padding:50px 0;display:flex;align-items:center;gap:55px}.brand-footer{color:#e0e8f0}.brand-footer .brand-mark{color:#d3e0ec}.brand-footer .brand-type small{color:#9dafc0}.footer-main>p{max-width:320px;font-size:.86rem;margin:0}.back-top{margin-left:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #314258;padding:20px 0 30px;font-size:.68rem;letter-spacing:.13em}
@media(max-width:950px){.header-inner{height:83px}.menu-toggle{display:flex;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid #d4dde5;background:#fff;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;background:var(--navy)}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 32px 28px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 15px 25px rgba(0,0,0,.12)}.primary-nav.is-open{display:flex}.primary-nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid #e8edf2}.nav-cta{margin-top:20px;text-align:center}.approach-grid{gap:50px}.section-head{gap:20px}.intro-inner{align-items:flex-start;flex-direction:column;gap:4px}.intro-inner>span{text-align:left}.hero-image{background-image:linear-gradient(90deg,rgba(11,23,39,.97),rgba(11,23,39,.6)),url('hero-commercial.png')}}
@media(max-width:700px){.container{width:min(calc(100% - 36px),var(--max))}.topline-inner{gap:15px;font-size:.58rem}.topline-inner span:last-child{text-align:right}.brand-mark{width:42px;height:42px}.brand-type strong{font-size:1.95rem}.brand-type small{font-size:.48rem}.hero,.hero-content{min-height:650px}.hero-content{padding-top:78px}.hero h1{font-size:clamp(3.8rem,13vw,6rem)}.hero-copy{font-size:1rem}.hero-foot{flex-wrap:wrap;gap:10px 20px;padding-top:50px}.hero-foot span:last-child{margin-left:0}.intro-inner p{font-size:1.26rem;white-space:normal}.section{padding:75px 0}.section-head{align-items:start;flex-direction:column;margin-bottom:32px}.section-head>p{max-width:550px}.service-grid,.approach-grid,.safety-grid,.contact-grid{grid-template-columns:1fr}.service-card{min-height:365px;padding:28px}.service-icon{margin:35px 0 12px}.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-grid article{min-height:205px}.approach,.contact{padding:75px 0}.approach-grid,.safety-grid,.contact-grid{gap:35px}.approach-aside{border-left:0;border-top:1px solid #3c5269;padding-left:0;padding-top:25px}.project-grid{grid-template-columns:1fr}.project-grid article{min-height:200px}.portfolio-note{align-items:start;flex-direction:column;gap:8px}.safety{padding:70px 0}.footer-main{align-items:start;flex-direction:column;gap:25px}.back-top{margin-left:0}.footer-bottom{gap:10px;flex-wrap:wrap}}
@media(max-width:440px){.topline-inner span:last-child{max-width:160px}.hero-actions{width:100%;flex-direction:column}.hero-actions .button{width:100%}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:170px}.contact-panel{padding:28px}.contact-panel .button{width:100%;gap:10px;font-size:.7rem}.hero-foot{font-size:.6rem}.service-card h3{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* Polished metallic depth across the marketing surfaces. */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.site-header{box-shadow:0 7px 28px rgba(8,23,40,.12);border-bottom:1px solid rgba(116,140,162,.35)}
.brand-mark{filter:drop-shadow(0 3px 2px rgba(12,31,50,.16))}
.nav-cta{background:linear-gradient(120deg,#102039 0%,#28435f 48%,#12243c 100%);box-shadow:inset 0 1px rgba(255,255,255,.16),0 9px 20px rgba(13,34,55,.2);border:1px solid #314b65}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 77% 20%,rgba(177,203,227,.18),transparent 35%),linear-gradient(117deg,transparent 58%,rgba(218,234,247,.07) 64%,transparent 71%);pointer-events:none}
.hero-content{z-index:1}
.hero h1{text-shadow:0 9px 30px rgba(2,10,20,.42)}
.hero-copy{text-shadow:0 2px 8px rgba(3,12,24,.35)}
.button-primary{background:linear-gradient(135deg,#fff 0%,#d6e2ed 50%,#f8fbfd 100%);border-color:#e5edf5;box-shadow:inset 0 1px rgba(255,255,255,.95),0 12px 22px rgba(5,17,31,.24)}
.button-primary:hover{background:linear-gradient(135deg,#eef5fb,#b7cbdc,#e7f0f8);color:#10253c;transform:translateY(-2px)}
.button-outline{box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 20px rgba(5,17,31,.18);backdrop-filter:blur(6px)}
.button-outline:hover{transform:translateY(-2px)}
.intro-band{background:linear-gradient(110deg,#f4f7fa 0%,#dbe5ee 55%,#eef3f7 100%);box-shadow:inset 0 1px #fff,inset 0 -1px #cdd9e4}
.service-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f0f5f8 55%,#e4ebf1);box-shadow:0 18px 42px rgba(14,40,64,.12),0 2px 5px rgba(14,40,64,.07);border:1px solid #d2dee8;transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 25px 52px rgba(14,40,64,.17)}
.service-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#274a69,#b3c8da 50%,#274a69)}
.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(122deg,rgba(255,255,255,.45),transparent 28%,transparent 68%,rgba(255,255,255,.18));pointer-events:none}
.service-card.dark{background:linear-gradient(145deg,#13253c,#2b4660 56%,#16283f);border-color:#446079;box-shadow:inset 0 1px rgba(255,255,255,.2),0 20px 42px rgba(14,40,64,.2)}
.service-card.dark::before{background:linear-gradient(90deg,#587c9e,#d6e5f1,#587c9e)}
.service-card.dark::after{background:linear-gradient(122deg,rgba(203,225,241,.12),transparent 35%,transparent 68%,rgba(222,238,248,.09))}
.service-card>*{position:relative;z-index:1}
.capabilities{background:linear-gradient(135deg,#eaf0f5,#f7f9fb 55%,#e4edf4)}
.capability-grid{box-shadow:0 20px 42px rgba(17,47,72,.1)}
.capability-grid article{background:linear-gradient(145deg,#fff,#f4f7fa);transition:background .2s,box-shadow .2s}
.capability-grid article:hover{background:#fff;box-shadow:inset 0 3px #7897b2,0 8px 20px rgba(17,47,72,.11)}
.approach{background:radial-gradient(ellipse at 83% 30%,rgba(142,176,204,.18),transparent 34%),linear-gradient(145deg,#0d2035,#223c55 56%,#11263d)}
.approach-aside>div{transition:background .2s}.approach-aside>div:hover{background:rgba(255,255,255,.04)}
.project-grid article{position:relative;overflow:hidden;box-shadow:0 15px 34px rgba(22,50,73,.16);border:1px solid #b5c8d9;border-top:4px solid #6e91ae;transition:transform .25s,box-shadow .25s}
.project-grid article:hover{transform:translateY(-4px);box-shadow:0 21px 42px rgba(22,50,73,.2)}
.project-grid article::before{content:"";position:absolute;inset:0;background:linear-gradient(124deg,rgba(255,255,255,.75),transparent 38%,rgba(255,255,255,.22) 60%,transparent 75%);pointer-events:none}
.project-grid article>*{position:relative}
.portfolio-note{box-shadow:0 8px 24px rgba(22,50,73,.06);border-left:4px solid #7897b2}
.safety{background:radial-gradient(ellipse at 82% 10%,rgba(213,232,245,.13),transparent 35%),linear-gradient(130deg,#213c55,#405f78 55%,#263e55);box-shadow:inset 0 1px rgba(255,255,255,.18)}
.safety-points span{background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.02));box-shadow:inset 0 1px rgba(255,255,255,.17)}
.contact{background:radial-gradient(ellipse at 15% 15%,rgba(126,166,202,.14),transparent 42%),linear-gradient(145deg,#08182b,#152d44 60%,#0b1d31)}
.contact-panel{background:linear-gradient(137deg,#fff,#e7eff5 52%,#d6e3ed);border:1px solid #ebf2f7;box-shadow:0 28px 56px rgba(0,9,21,.38),inset 0 1px #fff}
.contact-panel .button-primary{background:linear-gradient(120deg,#0f223a,#375978 52%,#112941);border:1px solid #4e6f8b;box-shadow:inset 0 1px rgba(255,255,255,.18),0 11px 22px rgba(12,37,60,.24)}
.contact-panel .button-primary:hover{color:#fff;background:linear-gradient(120deg,#193a58,#537693,#193a58)}
.footer{box-shadow:inset 0 1px rgba(255,255,255,.12)}
.brand-approved{gap:2px;align-items:center;white-space:nowrap}
.approved-mark,.approved-wordmark{display:block;flex:none;background-image:url('DEC.png');background-repeat:no-repeat;background-color:#fff}
.approved-mark{width:80px;height:62px;background-size:116px 116px;background-position:-18px -11px}
.approved-wordmark{width:220px;height:55px;background-size:250px 250px;background-position:-14px -157px}
.brand-approved:hover{filter:brightness(1.08)}
.hero-brand-badge{position:absolute;right:max(32px,calc((100vw - 1240px)/2));bottom:100px;z-index:2;width:215px;height:215px;padding:10px;background:linear-gradient(135deg,#fff,#d4e1eb 50%,#fff);border:1px solid rgba(255,255,255,.7);box-shadow:0 25px 55px rgba(0,8,20,.42),inset 0 1px #fff}
.hero-brand-badge::before{content:"";position:absolute;inset:5px;border:1px solid #bfd0de;pointer-events:none}
.hero-brand-badge img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}
.brand-footer{padding:5px;background:#fff;box-shadow:0 14px 25px rgba(0,0,0,.22),inset 0 1px #fff}
@media(max-width:1100px){.hero-brand-badge{display:none}}
@media(max-width:700px){.approved-mark{width:62px;height:49px;background-size:90px 90px;background-position:-14px -8px}.approved-wordmark{width:170px;height:43px;background-size:195px 195px;background-position:-11px -122px}.brand-approved{gap:1px}.brand-footer{padding:4px}}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{padding:32px 28px}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:950px){.service-grid{grid-template-columns:1fr}.service-card{min-height:350px}.service-icon{margin-top:28px}}
@media(max-width:700px){.project-grid{grid-template-columns:1fr}}
.capability-grid .capability-fire-alarm{grid-column:1/-1;min-height:144px;display:grid;grid-template-columns:48px 1fr 1.2fr;gap:24px;align-items:center;background:linear-gradient(120deg,#e5edf4,#fff)}
.capability-grid .capability-fire-alarm h3{margin:0}
.capability-grid .capability-fire-alarm p{max-width:none}
@media(max-width:700px){.capability-grid .capability-fire-alarm{display:block;min-height:210px}.capability-grid .capability-fire-alarm h3{margin:25px 0 7px}}
.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.copy-checklist{min-height:44px;padding:8px 0;border:0;background:transparent;color:#284760;text-align:left;cursor:pointer}
.contact-details{display:grid;gap:10px;border-top:1px solid #b8c9d7;padding-top:22px;margin-top:18px;font-size:1rem;font-weight:600}
.contact-details a{width:fit-content;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-details a:hover{color:#3e6585}
