@font-face{font-family:Oswald;src:url('/assets/oswald-latin.ttf') format('truetype');font-style:normal;font-weight:600 700;font-display:swap}
:root{--green:#215554;--deep:#215554;--teal:#215554;--cream:#f4f5f6;--ink:#215554;--muted:#215554;--line:#ddf1f1;--sand:#ddf1f1;--gold:#215554;--accent:#215554;--charcoal:#215554}body{background:var(--cream)}h1,h2,h3{font-family:Oswald,'Arial Narrow',Arial,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:-.025em;line-height:1.12}h2{font-size:clamp(39px,4vw,58px)}h3{font-size:30px}.eyebrow{letter-spacing:.12em;font-size:10px}.button{background:var(--accent);border:1px solid var(--accent);color:#215554;font-size:11px;font-weight:800;letter-spacing:.05em;border-radius:0;min-height:56px;gap:35px}.button:hover{background:#215554;border-color:#215554}.button.light{background:var(--accent);border-color:var(--accent);color:#215554}.button.light:hover{background:#215554}.text-link{font-size:11px;letter-spacing:.04em;font-weight:800}.text-link:hover{color:#215554}header{background:#f4f5f6;border-bottom:0}.nav{min-height:96px}.brand img{width:170px}.brand span{font-size:8px;letter-spacing:.18em}.nav nav>a{font-size:11px;font-weight:700}.nav nav>a.button:hover{color:#215554}.nav .button.small{min-height:45px;padding:12px 20px;font-size:10px}.jobsite-hero{position:relative;isolation:isolate;background:var(--charcoal);color:#ffffff;min-height:690px;overflow:hidden}.jobsite-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-3}.jobsite-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(33,85,84,.96) 0%,rgba(33,85,84,.87) 29%,rgba(33,85,84,.32) 64%,rgba(33,85,84,.1) 100%)}.jobsite-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(33,85,84,.91),transparent 30%)}.jobsite-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;padding-top:60px;padding-bottom:52px;min-height:600px;align-items:end}.jobsite-layout .hero-copy{padding:0;max-width:620px}.jobsite-layout .eyebrow{display:flex;gap:11px;align-items:center;font-size:9px;color:#ddf1f1;margin-bottom:36px}.status-mark{height:7px;width:7px;background:var(--accent);display:inline-block}.trade-label{font-family:Oswald,sans-serif;font-size:18px;line-height:1.2;letter-spacing:.09em;color:#ddf1f1;margin-bottom:13px}.jobsite-layout h1{font-size:clamp(70px,6.7vw,96px);font-weight:700;letter-spacing:-.035em;line-height:1.06;margin-left:-3px;white-space:nowrap}.jobsite-layout h1>span{color:var(--accent)}.jobsite-layout .lead{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:27px;line-height:1.3;letter-spacing:.015em;margin:26px 0 16px}.jobsite-layout .lead br{display:none}.jobsite-layout .hero-description{font-size:13px;line-height:1.8;color:#ddf1f1;max-width:430px;margin-bottom:29px}.jobsite-layout .actions{gap:27px}.jobsite-layout .text-link{color:#ffffff;border-color:#4baeaa;font-size:10px}.hero-caption{justify-self:end;text-align:right;align-self:end;padding-bottom:8px}.caption-bar{display:inline-block;width:45px;height:4px;background:var(--accent);margin-bottom:14px}.hero-caption p{font:600 26px/1.15 Oswald,sans-serif;letter-spacing:.02em;margin:0 0 10px}.hero-caption small{font-size:8px;color:#ddf1f1}.hero-bottom{min-height:72px;display:flex;gap:40px;align-items:center;border-top:1px solid #4baeaa55;position:relative}.hero-bottom>span{font-size:9px;font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:10px}.hero-bottom>span:before{content:'';height:5px;width:5px;background:var(--accent)}.hero-bottom>a{margin-left:auto;color:white;font-weight:700;font-size:12px;text-decoration:none}.hero-bottom .arrow-icon{color:var(--accent);margin-left:15px}.service-strip{background:var(--accent);color:#215554;border:0}.service-strip>div{min-height:72px}.service-strip span{font-size:9px;color:#215554;letter-spacing:.08em}.service-strip strong{font-family:Oswald,sans-serif;font-size:23px;font-weight:600;letter-spacing:.025em}.service-strip i{color:#215554}.section{padding-top:90px;padding-bottom:90px}.section-top{grid-template-columns:1.25fr 1fr;gap:70px}.section-top .eyebrow{display:flex;align-items:center;gap:12px}.section-top .eyebrow:before{content:'';width:24px;height:3px;background:var(--accent)}.section-top>p{font-size:14px}.phase-layout{border:1px solid var(--line);grid-template-columns:.95fr 1.05fr;background:#f4f5f6}.phase-list{padding:0}.phase-tab{padding:28px 24px;gap:23px;min-height:128px;border-color:var(--line)}.phase-tab:last-child{border-bottom:0}.phase-tab>span{font:600 29px Oswald,sans-serif;color:#4baeaa}.phase-tab strong{font:600 29px/1.2 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.02em}.phase-tab small{font-size:11px}.phase-tab.active{background:var(--charcoal);color:white}.phase-tab.active>span{color:var(--accent)}.phase-tab.active strong{text-decoration:none}.phase-tab.active small{color:#ddf1f1}.phase-tab.active b{color:var(--accent)}.phase-panels{background:#ddf1f1;padding:39px 42px}.phase-panels h3{font-size:34px;max-width:350px}.phase-panels .eyebrow{color:#215554;font-size:9px}.checks li:before{content:'';width:6px;height:6px;background:#215554;top:9px}.projects{background:var(--charcoal);color:#f4f5f6}.projects .section-top>p{color:#ddf1f1}.projects .eyebrow{color:#ddf1f1}.project-grid{gap:0;border:1px solid #215554}.project-card{background:#215554;padding:42px;color:#f4f5f6;min-height:370px;border-bottom:4px solid transparent}.project-card:hover{background:#215554;transform:none;border-bottom-color:var(--accent)}.project-card h3{font-size:43px;line-height:1.14}.project-card p{color:#ddf1f1;font-size:13px}.project-card .project-no{color:var(--accent);font-size:9px}.project-card .text-link{border-color:#215554;color:white;margin-top:24px}.project-card .text-link:hover{color:var(--accent)}.project-card.dark{background:#215554;border-left:1px solid #215554}.project-card.dark:hover{background:#215554}.project-card.dark .text-link{border-color:#215554}.detail-image{border-bottom:6px solid var(--accent)}.detail-image img{filter:saturate(.5) contrast(1.1)}.detail-split h2{font-size:48px}.detail-split .lead{font-size:18px;font-weight:700}.detail-point>b{font:600 20px Oswald,sans-serif;color:#215554}.detail-point h3{font:600 22px Oswald,sans-serif;letter-spacing:.015em}.quote-band{background:#ddf1f1;text-align:left;padding:58px 0}.quote-band .wrap{max-width:1240px;display:grid;grid-template-columns:210px 1fr;gap:15px 40px}.quote-band blockquote{font:600 33px/1.3 Oswald,sans-serif;text-transform:uppercase;letter-spacing:0;margin:0;max-width:810px}.quote-band .eyebrow{font-size:9px;align-self:start;margin-top:9px;border-left:3px solid #215554;padding-left:14px}.quote-band p:last-child{grid-column:2;font-size:11px;display:flex;gap:15px;align-items:center}.quote-band p>span{display:inline;font-size:10px;margin:0}.planning h2{font-size:45px}.planning-list p{font-size:14px!important;font-weight:600;border-color:#ddf1f1}.planning-list span{font:600 22px Oswald,sans-serif;padding:0;color:#215554}.faq-section h2{font-size:45px}.area{padding-bottom:70px}.area h2{font-size:40px;max-width:800px}.bottom-cta{background:var(--accent);color:#215554;position:relative;overflow:hidden;padding:65px 0}.bottom-cta:after{content:'';position:absolute;top:0;right:0;width:23%;height:100%;background:repeating-linear-gradient(125deg,transparent,transparent 28px,rgba(33,85,84,.06) 28px,rgba(33,85,84,.06) 42px);pointer-events:none}.bottom-cta .eyebrow{color:#215554;font-weight:700;font-size:9px}.bottom-cta h2{font-size:65px;line-height:1.08}.bottom-cta .button{background:#215554;color:white;border-color:#215554;z-index:1;font-size:11px}.bottom-cta .button:hover{background:#215554}.footer-brand{font:600 32px Oswald,sans-serif;text-transform:uppercase}.footer-brand span{font-size:8px;letter-spacing:.17em;color:var(--accent)}footer{background:#215554;color:#ddf1f1}.footer-grid h3{font-size:10px}.footer-bottom{border-color:#215554}.subhero{padding-top:35px;padding-bottom:62px;background:var(--cream);border-bottom:3px solid var(--accent)}.subhero h1{font-size:68px;line-height:1.09;max-width:1000px}.subhero .eyebrow,.bid-intro .eyebrow{color:#215554}.subhero .lead{font-size:19px;max-width:700px}.article-layout article h2,.legal h2{font-family:Oswald,sans-serif;font-size:31px;letter-spacing:0}.article-layout aside{background:var(--charcoal);color:#f4f5f6;border-top:5px solid var(--accent)}.article-layout aside .eyebrow{color:#215554;font-size:9px}.article-layout aside h3{font-size:38px}.article-layout aside>a{border-color:#215554;font-size:12px}.bid-intro h1{font-size:76px}.bid-intro .lead{font-size:19px}.bid-form{border-top:5px solid var(--accent)}.form-heading{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:22px;letter-spacing:0}.form-heading span{font:10px Arial,sans-serif;text-transform:none;line-height:1.6}.bid-aside b{font-family:Oswald,sans-serif;font-size:20px;text-transform:uppercase;font-weight:600}.bid-aside li:before{font:600 20px Oswald,sans-serif;padding:0}.bid-aside li{padding-left:40px}.help h3{font-size:25px}.checklist-group h2{font-size:37px}.check-item input{accent-color:#215554}.legal h1{text-transform:uppercase}.mobile-cta a{border-color:#ddf1f1;color:#ddf1f1;background:#215554}.mobile-cta a:last-child{background:var(--accent);color:#215554;border-color:var(--accent)}.mobile-cta{background:#215554;border-top-color:#215554}.menu{color:var(--ink)}.image-note{font-size:8px}
@media(max-width:1100px){.jobsite-layout{gap:20px}.jobsite-layout h1{font-size:80px}.jobsite-layout .lead{font-size:23px}.hero-bottom{gap:25px}.hero-bottom>span{font-size:8px}.detail-split h2{font-size:42px}.bottom-cta h2{font-size:56px}.bottom-cta .button{font-size:10px}.quote-band .wrap{grid-template-columns:160px 1fr}.quote-band blockquote{font-size:29px}}
@media(max-width:800px){.nav{min-height:83px}.nav nav{background:#f4f5f6}.brand img{width:150px}.jobsite-layout{min-height:600px;padding-top:50px;padding-bottom:50px;grid-template-columns:1fr}.jobsite-layout .hero-copy{max-width:550px}.jobsite-layout h1{font-size:85px}.jobsite-layout .lead{font-size:25px}.jobsite-layout .hero-description{max-width:390px}.hero-caption{position:absolute;right:25px;bottom:110px;max-width:180px}.hero-caption p{font-size:22px}.jobsite-hero:before{background:linear-gradient(90deg,rgba(33,85,84,.96) 0%,rgba(33,85,84,.76) 50%,rgba(33,85,84,.3) 100%)}.hero-bottom{gap:22px;min-height:65px}.hero-bottom>span{font-size:7px;letter-spacing:.05em;gap:7px}.hero-bottom>a{font-size:10px}.hero-bottom .arrow-icon{margin-left:6px}.section-top{gap:40px}.section-top h2{font-size:43px}.phase-tab{padding:25px 19px;gap:15px}.phase-tab strong{font-size:25px}.phase-tab small{font-size:10px}.phase-panels{padding:32px 29px}.phase-panels h3{font-size:30px}.project-card{padding:32px;min-height:360px}.project-card h3{font-size:37px}.detail-split h2{font-size:39px}.quote-band .wrap{grid-template-columns:130px 1fr;gap:15px 30px}.quote-band blockquote{font-size:27px}.planning h2,.faq-section h2{font-size:39px}.bottom-cta h2{font-size:48px}.bottom-cta .button{right:25px;font-size:9px;gap:13px}.subhero h1{font-size:60px}.bid-intro h1{font-size:68px}.bid-aside b{font-size:18px}.area h2{font-size:35px}}
@media(max-width:560px){.nav{min-height:80px}.brand img{width:142px}.brand span{font-size:7px}.jobsite-hero{min-height:0}.jobsite-photo{height:560px;object-position:70% center}.jobsite-hero:before{background:linear-gradient(90deg,rgba(33,85,84,.92),rgba(33,85,84,.68)),linear-gradient(0deg,#215554,transparent 35%)}.jobsite-hero:after{background:linear-gradient(0deg,#215554 2%,transparent 45%)}.jobsite-layout{padding-top:37px;padding-bottom:32px;min-height:0;display:block}.jobsite-layout .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:28px}.trade-label{font-size:14px;letter-spacing:.075em;margin-bottom:13px}.jobsite-layout h1{font-size:clamp(54px,15vw,78px);line-height:1.1;letter-spacing:-.035em;white-space:nowrap}.jobsite-layout .lead{font-size:24px;line-height:1.35;margin:24px 0 17px}.jobsite-layout .lead br{display:block}.jobsite-layout .hero-description{font-size:12px;line-height:1.85;max-width:320px;margin-bottom:27px}.jobsite-layout .actions{gap:22px;align-items:flex-start}.jobsite-layout .button{font-size:10px;padding:15px 19px;gap:30px;min-height:53px}.jobsite-layout .text-link{font-size:9px;align-self:center}.hero-caption{position:static;text-align:left;margin-top:28px;padding:0}.hero-caption .caption-bar,.hero-caption p{display:none}.hero-caption small{font-size:7px;color:#ddf1f1}.hero-bottom{padding-top:17px;padding-bottom:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;min-height:0;margin-left:22px;margin-right:22px;padding-left:0;padding-right:0}.hero-bottom>span{font-size:7px;letter-spacing:.04em}.hero-bottom>a{font-size:10px;margin:0;justify-self:end}.hero-bottom>span:nth-child(3){font-size:7px}.service-strip>div{padding-top:20px;padding-bottom:20px;gap:13px}.service-strip span{font-size:8px;width:100%;text-align:center}.service-strip strong{font-size:21px}.service-strip i{font-size:12px}.section{padding-top:59px;padding-bottom:59px}.section-top{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.section-top .eyebrow{font-size:8px;margin-bottom:18px}.section-top h2{font-size:41px}.section-top>p{font-size:13px}.phase-layout{grid-template-columns:1fr}.phase-tab{min-height:104px;padding:23px 19px;gap:19px}.phase-tab strong{font-size:27px}.phase-tab>span{font-size:27px}.phase-tab small{font-size:10px}.phase-panels{padding:30px 24px}.phase-panels h3{font-size:32px}.phase-panels p{font-size:13px}.phase-panels .checks li{font-size:12px}.project-grid{gap:0}.project-card{padding:30px 25px;min-height:345px}.project-card.dark{border-left:0;border-top:1px solid #215554}.project-card h3{font-size:40px}.project-card p{font-size:12px}.project-card .project-no{font-size:8px}.project-card .text-link{font-size:10px}.detail-split{gap:32px}.detail-image{height:290px}.detail-split h2{font-size:43px}.detail-split .lead{font-size:17px}.detail-point h3{font-size:24px}.detail-point>b{font-size:23px}.quote-band{padding:43px 0}.quote-band .wrap{display:block}.quote-band .eyebrow{font-size:8px;margin-bottom:24px}.quote-band blockquote{font-size:29px;line-height:1.3;margin-bottom:22px}.quote-band p:last-child{display:block;font-size:11px}.quote-band p>span{display:block;margin-top:5px}.planning h2{font-size:40px}.planning-list p{font-size:13px!important}.planning-list span{font-size:22px}.faq-section{padding-top:5px}.faq-section h2{font-size:40px}.area{padding-bottom:48px}.area h2{font-size:33px}.bottom-cta{padding:47px 0}.bottom-cta h2{font-size:49px}.bottom-cta .eyebrow{font-size:8px}.bottom-cta .button{position:static;gap:40px;font-size:10px;margin-top:28px;min-height:53px}.bottom-cta:after{width:33%}.subhero{padding-top:25px;padding-bottom:42px}.subhero h1{font-size:48px;overflow-wrap:normal}.subhero .lead{font-size:17px}.subhero .eyebrow{font-size:8px}.breadcrumb{font-size:9px}.article-layout article h2{font-size:29px}.article-layout article p{font-size:14px}.article-layout aside{padding:28px}.bid-intro h1{font-size:58px}.bid-intro .lead{font-size:17px}.bid-aside b{font-size:22px}.bid-aside li:before{font-size:22px}.form-heading{font-size:23px}.checklist-group h2{font-size:32px}.footer-brand{font-size:30px}.footer-grid h3{font-size:9px}.mobile-cta a{font-size:11px;padding:12px 9px}.mobile-cta a .arrow-icon{width:13px;height:13px}.legal h2{font-size:27px}}
@media print{.jobsite-photo,.hero-caption,.hero-bottom{display:none}.subhero{border-bottom:1px solid #4baeaa}.subhero h1{font-size:35px}.checklist-group h2{font-size:24px}}

/* Polished Oak brand accents, with accessible contrast on dark surfaces. */
.button,.button.light,.nav nav>a.button:hover,.mobile-cta a:last-child{color:#ffffff}
.service-strip,.service-strip span,.service-strip i,.bottom-cta,.bottom-cta .eyebrow{color:#ffffff}
.jobsite-layout h1>span{color:#ffffff;text-decoration:underline;text-decoration-color:#215554;text-decoration-thickness:7px;text-underline-offset:12px}
.phase-tab.active{background:#215554}.phase-tab.active>span,.phase-tab.active b{color:#ffffff}
.project-card .project-no,.project-card .text-link:hover,.footer-brand span,.article-layout aside .eyebrow,.hero-bottom .arrow-icon{color:#ddf1f1}
.bottom-cta .button{background:#ffffff;color:#215554;border-color:#ffffff}.bottom-cta .button:hover{background:#ddf1f1}
.check-item input{accent-color:#215554}

/* Brand palette: dark green, teal, pale teal and neutral white. */
:root{--green:#215554;--deep:#215554;--teal:#4baeaa;--cream:#f4f5f6;--ink:#215554;--muted:#215554;--line:#ddf1f1;--sand:#ddf1f1;--gold:#215554;--accent:#215554;--charcoal:#215554}
.jobsite-photo,.detail-image img{filter:grayscale(1)}
.jobsite-hero:before{background:linear-gradient(90deg,rgba(33,85,84,.98),rgba(33,85,84,.88) 30%,rgba(33,85,84,.3) 75%,rgba(33,85,84,.12))}
.jobsite-layout h1>span{text-decoration-color:#4baeaa}
.jobsite-layout .eyebrow,.jobsite-layout .hero-description,.trade-label{color:#fff}
.status-mark,.caption-bar,.hero-bottom>span:before{background:#4baeaa}
.jobsite-layout .button{border-color:#4baeaa}.button:hover{background:#215554;box-shadow:inset 0 0 0 2px #4baeaa}
.local-seo{border-top:1px solid #ddf1f1}.local-seo .local-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.local-seo h2{margin-bottom:25px}.local-seo h3{font-size:28px;margin-bottom:15px}.local-seo p{max-width:72ch}.local-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}
@media(max-width:650px){.local-seo .local-grid{grid-template-columns:1fr;gap:30px}}

/* A quieter mobile introduction with one primary action. */
@media(max-width:560px){
 .nav{min-height:74px}.brand img{width:126px}.brand span{font-size:6px;letter-spacing:.15em}.menu{padding:10px 12px;min-height:44px;font-size:11px}
 .jobsite-layout{padding-top:32px;padding-bottom:32px}
 .jobsite-layout .eyebrow{display:none}.trade-label{font-size:12px;line-height:1.6;letter-spacing:.04em;max-width:290px;margin-bottom:23px}
 .jobsite-layout h1{font-size:clamp(44px,13vw,68px);line-height:1.12;letter-spacing:-.025em}
 .jobsite-layout h1>span{text-decoration:none}
 .jobsite-layout .lead{font:400 17px/1.5 Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:0;max-width:280px;margin:24px 0 16px}
 .jobsite-layout .lead br{display:none}
 .jobsite-layout .hero-description{font-size:13px;line-height:1.8;max-width:310px;margin-bottom:27px}
 .jobsite-layout .actions{display:block}.jobsite-layout .actions .text-link{display:none}.jobsite-layout .button{min-height:52px;padding:15px 22px;gap:40px;background:#215554;border-color:#4baeaa}
 .hero-caption{margin-top:24px}.hero-caption small{color:#ddf1f1}
 .hero-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px 18px;padding:19px 0;margin-left:22px;margin-right:22px}.hero-bottom>span{font-size:7px;letter-spacing:0}.hero-bottom>a{display:none}
 .service-strip>div{min-height:0;padding:19px 22px}.service-strip span{display:none}.service-strip strong{font-size:19px}
 body:has(.jobsite-hero):not(.past-hero) .mobile-cta{visibility:hidden;opacity:0;pointer-events:none}
 .mobile-cta{transition:opacity .15s}
}
@media(max-width:560px){.service-strip>div{display:grid;grid-template-columns:auto 14px auto 14px auto;gap:8px;justify-content:space-between}.service-strip strong{font-size:17px;white-space:nowrap}.service-strip i{width:14px}.service-strip .arrow-icon{width:14px;height:14px}}
