:root { --navy:#10283c; --blue:#1729c7; --ink:#13202e; --muted:#5d6874; --line:#dce3ea; --light:#f3f6f9; --white:#fff; }
.footer-details { align-items:start; column-gap:36px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.footer-contact-group { display:grid; gap:13px; }.footer-detail { display:block; }.footer-detail strong { color:var(--navy); display:block; font-size:12px; letter-spacing:.08em; margin-bottom:2px; text-transform:uppercase; }.footer-detail > a,.footer-detail > span { color:var(--ink); display:block; font-size:16px; font-weight:700; line-height:1.4; }.footer-detail .footer-email { color:var(--ink); font-size:15px; overflow-wrap:anywhere; }.footer-hours { border-left:2px solid var(--line); padding-left:22px; }.social-links a { font-size:17px !important; }
@media (max-width:800px) { .footer-details { gap:18px; grid-template-columns:1fr; }.footer-hours { border-left:0; border-top:2px solid var(--line); padding-left:0; padding-top:16px; } }
.nav-services summary::after { content:""; margin-left:0; }
.careers-details::before { border-left:4px solid var(--blue); color:var(--navy); content:"JOIN OUR GROWING FAMILY"; font-size:clamp(28px,3.4vw,44px); font-weight:800; grid-column:1 / -1; letter-spacing:-.055em; line-height:1; max-width:none; padding:6px 0 6px 22px; white-space:nowrap; }.careers-details { grid-template-columns:repeat(4,1fr) !important; } @media (max-width:800px) { .careers-details { grid-template-columns:1fr !important; }.careers-details::before { font-size:clamp(27px,8vw,38px); padding-left:18px; white-space:normal; } }
.slide:nth-child(1) img { object-position:center 52%; }.slide:nth-child(2) img { object-position:center 42%; }.slide:nth-child(3) img { object-position:center 88%; transform:scale(1.18) translateY(-7.5%); }.slide:nth-child(4) img { object-position:center 88%; }.slide:nth-child(5) img { object-position:center 34%; transform:scale(1.18) translateY(8%); }.slide:nth-child(6) img { object-position:center 56%; }.slide:nth-child(7) img { object-position:center 55%; }
.service-grid article:nth-child(2) img { aspect-ratio:1591 / 1400; height:auto; object-fit:cover; object-position:center 62%; }
.service-page-hero img.land-clearing-hero-image { object-position:center 50%; transform:none; }
.service-page-hero { height:clamp(696px,57vw,951px); min-height:696px; } .service-page-intro { background:var(--navy); color:white; }.service-page-intro .eyebrow { color:#c7ceff;}.service-page-intro h2 { color:white; }.service-page-intro > div:last-child p { color:#f0f4f8; } @media (max-width:800px) { .service-page-hero { aspect-ratio:4 / 3; height:auto; min-height:0; } .nav { align-items:stretch; } .nav > a:not(.nav-cta), body .nav-services summary { padding:4px 0; text-align:left; } .nav .nav-cta { align-self:flex-start; } }
.bid-credentials { margin-top:34px; overflow:hidden; position:relative; }.bid-credentials p { background:var(--navy); color:white; font-size:15px; line-height:1.55; margin:0; padding:22px; position:relative; z-index:1; }.bid-credentials img { display:block; height:220px; object-fit:cover; object-position:center; width:100%; }.bid-form { box-shadow:0 18px 34px rgba(16,40,60,.12); }.quote-form label span { color:var(--muted); font-weight:400; }.form-help { color:var(--muted); font-size:13px; line-height:1.5; margin:-3px 0 0; }
.service-page-intro { background:var(--navy); }.service-page-intro h2,.service-page-intro > div:last-child p { color:white !important; }.service-page-intro .eyebrow { color:#c7ceff; }
.policy-hero { background:var(--navy); color:white; padding:92px 7vw 76px; }.policy-hero .eyebrow { color:#c7ceff; }.policy-hero h1 { font-size:clamp(46px,6vw,78px); letter-spacing:-.055em; line-height:.95; margin:0; }.policy-hero > p:last-child { color:#f0f4f8; font-size:19px; line-height:1.55; margin:22px 0 0; max-width:580px; }.policy-content { margin:0 auto; max-width:900px; padding:76px 7vw 96px; }.policy-updated { color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.14em; margin:0 0 28px; }.policy-intro { color:var(--navy); font-size:22px; line-height:1.55; margin:0 0 52px; max-width:760px; }.policy-content section { border-top:1px solid var(--line); padding:30px 0; }.policy-content h2 { color:var(--navy); font-size:clamp(24px,3vw,33px); letter-spacing:-.035em; margin:0 0 12px; }.policy-content section > p:last-child { color:var(--muted); font-size:17px; line-height:1.65; margin:0; }.policy-content a { color:var(--blue); font-weight:700; }.policy-contact { background:var(--light); border-top:3px solid var(--blue) !important; margin-top:20px; padding:32px !important; }.policy-contact .eyebrow { color:var(--blue); }
@media (max-width:800px) { .policy-hero { padding:66px 7vw 54px; }.policy-content { padding:52px 7vw 70px; }.policy-intro { font-size:19px; margin-bottom:38px; }.policy-content section { padding:24px 0; }.policy-contact { padding:26px !important; } }
@media (max-width:800px) { .nav { align-items:center; }.nav > a:not(.nav-cta), body .nav-services summary { padding:4px 0; text-align:center; }.nav .nav-cta { align-self:center; } body .nav-services { align-self:stretch; width:100%; } body .service-submenu a { padding-left:18px; text-align:center; } }
@media (max-width:800px) { .service-page-hero { aspect-ratio:16 / 10; height:auto !important; min-height:0 !important; } .service-page-hero img.demolition-hero-image { object-position:center 46%; } .service-page-hero img.excavation-hero-image { object-position:center 55%; } .service-page-hero img.land-clearing-hero-image { object-position:center 52%; transform:none; } }
@media (max-width:800px) { .service-page-hero > div { bottom:18px; } .service-page-hero h1 { font-size:clamp(36px,10vw,44px); } .service-page-hero p:last-child { font-size:16px; line-height:1.45; margin-top:10px; } }
@media (max-width:800px) { .menu-toggle { font-size:0; height:42px; padding:0; position:relative; width:48px; } .menu-toggle::before { background:var(--navy); box-shadow:0 7px 0 var(--navy),0 14px 0 var(--navy); content:""; height:2px; left:12px; position:absolute; top:13px; width:22px; } }
@media (max-width:800px) { .menu-toggle { background:transparent; border:0; height:44px; width:44px; } .menu-toggle::before { left:10px; top:14px; width:24px; } .menu-toggle:focus-visible { outline:2px solid var(--blue); outline-offset:3px; } }
.social-links { align-items:center; gap:18px; }.social-links a { align-items:center; display:inline-flex; height:38px; justify-content:center; width:38px; }.social-links a svg { display:block; height:30px; width:30px; }
.careers-hero { background:var(--navy); height:min(52vw,650px); min-height:430px; overflow:hidden; position:relative; }.careers-hero img { display:block; height:100%; object-fit:cover; object-position:center 48%; width:100%; }.careers-hero::after { background:linear-gradient(90deg,rgba(8,24,38,.8),rgba(8,24,38,.1)); content:""; inset:0; position:absolute; }.careers-hero > div { bottom:12%; color:white; left:7vw; max-width:640px; position:absolute; z-index:1; }.careers-hero .eyebrow { color:#c7ceff; }.careers-hero h1 { font-size:clamp(48px,7vw,86px); letter-spacing:-.06em; line-height:.9; margin:0; }.careers-hero p:last-child { font-size:19px; line-height:1.5; margin:20px 0 0; }.careers-intro { background:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px 6vw; }.careers-intro h2 { color:var(--navy); font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; line-height:1.05; margin:0; }.careers-intro > div:last-child p { color:var(--muted); font-size:18px; line-height:1.6; margin:0 0 18px; }.careers-details { background:var(--light); display:grid; gap:22px; grid-template-columns:repeat(3,1fr); padding:70px 6vw; }.careers-details article { border-top:3px solid var(--blue); padding-top:18px; }.careers-details span { color:var(--blue); font-size:13px; font-weight:800; }.careers-details h3 { color:var(--navy); font-size:22px; margin:25px 0 8px; }.careers-details p { color:var(--muted); margin:0; }.careers-apply { background:var(--navy); display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px 6vw; }.careers-apply .eyebrow { color:#c7ceff; }.careers-apply h2 { color:white; font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; line-height:1.05; margin:0 0 18px; }.careers-apply-copy > p:not(.eyebrow) { color:#f0f4f8; font-size:18px; line-height:1.6; }.careers-apply .contact-note a { border-color:white; }.careers-apply .contact-note a:first-child { background:white; color:var(--navy); }.careers-apply .contact-note a:last-child { background:transparent; color:white; }.careers-apply .quote-form { align-self:start; }.careers-apply .button-primary { background:var(--blue); border-color:var(--blue); }
@media (max-width:800px) { .careers-intro,.careers-details,.careers-apply { grid-template-columns:1fr; }.careers-hero { height:570px; min-height:0; }.careers-hero > div { bottom:10%; left:7vw; right:7vw; } }
.nav-services { position:relative; }.nav-services summary { color:var(--ink); cursor:pointer; font-size:14px; font-weight:700; list-style:none; }.nav-services summary::-webkit-details-marker { display:none; }.nav-services summary::after { content:""; margin-left:0; }.nav-services summary:hover { color:var(--blue); }.service-submenu { background:white; border-top:3px solid var(--blue); box-shadow:0 12px 25px rgba(16,40,60,.16); display:none; left:-18px; min-width:180px; padding:8px 0; position:absolute; top:100%; z-index:12; }.nav-services[open] .service-submenu,.nav-services:hover .service-submenu,.nav-services:focus-within .service-submenu { display:block; }.service-submenu a { display:block; padding:9px 18px; white-space:nowrap; }.service-submenu a:hover,.service-submenu a[aria-current="page"] { background:var(--light); color:var(--blue); }
@media (max-width:800px) { body .nav-services { align-self:stretch; } body .nav-services summary { padding:4px 0; } body .service-submenu { box-shadow:none; left:0; margin-top:7px; position:static; width:100%; } body .service-submenu a { padding-left:18px; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.5; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:20px 6vw; border-bottom:1px solid var(--line); background:rgba(255,255,255,.97); position:sticky; top:0; z-index:5; }
.brand { align-items:center; display:flex; text-decoration:none; }
.brand img { display:block; height:60px; object-fit:contain; width:auto; }
.nav { display:flex; align-items:center; gap:28px; }.nav a { color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }.nav a:hover { color:var(--blue); }.nav .nav-cta { background:var(--navy); color:white; padding:11px 16px; }.menu-toggle { display:none; }
.hero { background:linear-gradient(115deg,#f5f8fb 0%,#f5f8fb 58%,#e5eaf2 58%,#e5eaf2 100%); display:grid; gap:7vw; grid-template-columns:1.3fr .7fr; min-height:570px; padding:100px 9vw; }
.eyebrow { color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.15em; margin:0 0 12px; }.hero h1 { color:var(--navy); font-size:clamp(45px,6vw,78px); letter-spacing:-.05em; line-height:.96; margin:0; max-width:680px; }.hero-text { color:var(--muted); font-size:20px; max-width:560px; margin:28px 0; }.hero-actions { display:flex; flex-wrap:wrap; gap:13px; }
.button { border:2px solid var(--blue); cursor:pointer; display:inline-block; font-size:14px; font-weight:700; padding:14px 22px; text-decoration:none; }.button-primary { background:var(--navy); border-color:var(--navy); color:white; }.button-secondary { color:var(--blue); }.button:hover { filter:brightness(.9); }
.hero-panel { align-self:center; background:var(--navy); color:white; padding:38px; box-shadow:18px 18px 0 var(--blue); }.panel-label { color:#aeb9ff; font-size:11px; font-weight:800; letter-spacing:.13em; }.hero-panel p:not(.panel-label) { font-size:28px; font-weight:700; line-height:1.16; }.hero-panel span { color:#bdc9d5; display:block; font-size:10px; font-weight:700; letter-spacing:.11em; margin-top:35px; }
.project-slideshow { background:var(--navy); height:clamp(600px,51vw,855px); overflow:hidden; position:relative; width:100%; }.slide { inset:0; opacity:0; position:absolute; transition:opacity .8s ease; }.slide.active { opacity:1; }.slide img { display:block; height:100%; object-fit:cover; width:100%; }.slide:nth-child(1) img { object-position:center 52%; }.slide:nth-child(2) img { object-position:center 62%; }.slide:nth-child(3) img { object-position:center 34%; }.slide:nth-child(4) img { object-position:center 88%; }.slide:nth-child(5) img { object-position:center 42%; }.slide:nth-child(6) img { object-position:center 55%; }.slide:nth-child(7) img { object-position:center 56%; }.slide-dots { bottom:33px; display:flex; gap:9px; position:absolute; right:7vw; z-index:3; }.slide-dots button { background:rgba(255,255,255,.55); border:0; border-radius:50%; cursor:pointer; height:10px; padding:0; width:10px; }.slide-dots button.active { background:white; }
.slideshow-message { background:rgba(16,40,60,.82); bottom:8%; color:white; left:7vw; padding:20px 24px; position:absolute; text-shadow:none; z-index:2; }.slideshow-message p { color:#dbe3ff; font-size:clamp(13px,1.65vw,21px); font-weight:800; letter-spacing:.16em; margin:0 0 10px; }.slideshow-message h1 { color:white; font-size:clamp(50px,7.4vw,116px); letter-spacing:-.06em; line-height:.82; margin:0; }.slideshow-service-line { color:white; display:block; font-size:clamp(12px,1.15vw,16px); font-weight:700; letter-spacing:.03em; line-height:1.45; margin-top:24px; max-width:660px; }.slideshow-bid-button { background:white; color:var(--navy); display:inline-block; font-size:14px; font-weight:800; margin-top:18px; padding:13px 19px; text-decoration:none; }.slideshow-bid-button:hover { background:#dbe3ff; }
.trust-bar { background:var(--navy); display:grid; grid-template-columns:repeat(3,1fr); margin:0; max-width:none; padding:34px 6vw; }.trust-bar p { border-left:3px solid #c7ceff; margin:0; padding:0 25px; }.trust-bar strong,.trust-bar span { display:block; }.trust-bar strong { color:white; }.trust-bar span { color:#f0f4f8; font-size:13px; margin-top:5px; }
.mission-section { background:var(--light); display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:80px max(6vw,calc((100vw - 1080px)/2)); }.mission-section h2 { color:var(--navy); font-size:clamp(32px,4vw,50px); letter-spacing:-.04em; line-height:1.05; margin:0; }.mission-copy { border-left:3px solid var(--blue); padding-left:28px; }.mission-copy p { color:var(--muted); font-size:18px; line-height:1.55; margin:0 0 18px; }.mission-copy p:last-child { margin-bottom:0; }
.section { margin:0; max-width:none; padding:94px 6vw; }.section-heading { max-width:720px; }.section h2,.quote-section h2 { color:var(--navy); font-size:clamp(30px,4vw,48px); letter-spacing:-.04em; line-height:1.05; margin:0 0 16px; }.section-heading > p:last-child { color:#334155; font-size:17px; }
.services-section { background:white; max-width:none; padding-left:6vw; padding-right:6vw; }.services-section .section-heading { max-width:720px; }.service-grid { align-items:start; display:grid; gap:22px; grid-template-columns:repeat(3,1fr); margin-top:44px; }.service-grid article { background:var(--light); border-top:4px solid var(--blue); overflow:hidden; padding:0 28px 28px; }.service-grid article img { display:block; height:auto; margin:0 -28px 24px; width:calc(100% + 56px); }.service-grid span { color:var(--blue); font-size:13px; font-weight:800; }.service-grid h3 { color:var(--navy); margin:13px 0 8px; }.service-grid p { color:#334155; font-size:14px; }
.service-card-clickable { cursor:pointer; transition:transform .2s ease, box-shadow .2s ease; }.service-card-clickable:hover,.service-card-clickable:focus { box-shadow:0 12px 24px rgba(16,40,60,.15); outline:none; transform:translateY(-3px); }
.service-detail-link { color:var(--navy); display:inline-block; font-size:13px; font-weight:700; margin-top:15px; text-decoration:none; }.service-detail-link::after { color:var(--blue); content:"  →"; }.service-detail-link:hover { color:var(--blue); }
.split-section { background:var(--navy); color:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; max-width:none; padding-left:max(6vw,calc((100vw - 1080px)/2)); padding-right:max(6vw,calc((100vw - 1080px)/2)); }.split-section .eyebrow { color:#c7ceff; }.split-section h2 { color:white; }.split-section p { color:#f0f4f8; }.check-list { list-style:none; margin:0; padding:0; }.check-list li { border-bottom:1px solid rgba(255,255,255,.26); padding:14px 0 14px 30px; position:relative; }.check-list li::before { color:#c7ceff; content:"✓"; font-weight:700; left:0; position:absolute; }.check-list strong,.check-list span { display:block; }.check-list strong { color:white; }.check-list span { color:#f0f4f8; font-size:14px; margin-top:3px; }
#why-us { padding-bottom:115px; padding-top:115px; } #why-us h2 { font-size:clamp(38px,5vw,64px); } #why-us > div > p:not(.eyebrow) { font-size:19px; line-height:1.65; } #why-us .check-list li { padding-bottom:20px; padding-top:20px; } #why-us .check-list strong { font-size:18px; } #why-us .check-list span { font-size:16px; margin-top:5px; }
.process-section { background:var(--navy); padding-bottom:105px; }.process-section .eyebrow { color:#c7ceff; }.process-section h2 { color:white; }.process-section .section-heading > p:last-child { color:#f0f4f8; }.process-list { counter-reset:step; display:grid; gap:24px; grid-template-columns:repeat(4,1fr); list-style:none; margin:46px 0 0; padding:0; }.process-list li { border-top:1px solid rgba(255,255,255,.7); padding-top:18px; }.process-list span { background:var(--blue); color:white; display:grid; font-size:13px; font-weight:800; height:28px; place-items:center; width:28px; }.process-list h3 { color:white; margin-top:26px; }.process-list p { color:#f0f4f8; font-size:14px; }
.service-area-section { background:var(--navy); color:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:58px max(6vw,calc((100vw - 1080px)/2)); }.service-area-section .eyebrow { color:#bfc9ff; }.service-area-section h2 { font-size:clamp(29px,3.5vw,43px); letter-spacing:-.04em; line-height:1.05; margin:0; }.service-area-section > p:last-child { align-self:end; font-size:17px; line-height:1.6; margin:0; }
.quote-section { background:var(--light); display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px max(6vw,calc((100vw - 1080px)/2)); }.contact-note { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }.contact-note a { background:white; border:2px solid var(--navy); color:var(--navy); font-size:13px; font-weight:800; padding:10px 15px; text-decoration:none; }.contact-note a:hover { background:var(--blue); border-color:var(--blue); color:white; }.quote-form { background:white; display:grid; gap:17px; grid-template-columns:1fr 1fr; padding:30px; }.quote-form label { color:var(--navy); font-size:12px; font-weight:700; }.quote-form input,.quote-form select,.quote-form textarea { border:1px solid var(--line); display:block; font:inherit; margin-top:5px; padding:12px; width:100%; }.full-width,.form-message { grid-column:1/-1; }.form-message { color:var(--blue); font-size:13px; font-weight:700; margin:0; }
.contact-page-hero { background:var(--navy); height:min(52vw,650px); min-height:430px; overflow:hidden; position:relative; }.contact-page-hero img { display:block; height:100%; object-fit:cover; object-position:center 48%; width:100%; }.contact-page-hero::after { background:linear-gradient(90deg,rgba(8,24,38,.78),rgba(8,24,38,.12)); content:""; inset:0; position:absolute; }.contact-page-hero > div { bottom:12%; color:white; left:7vw; max-width:670px; position:absolute; z-index:1; }.contact-page-hero .eyebrow { color:#c7ceff; }.contact-page-hero h1 { font-size:clamp(48px,7vw,86px); letter-spacing:-.06em; line-height:.9; margin:0; }.contact-page-hero p:last-child { font-size:19px; line-height:1.5; margin:20px 0 0; }.contact-page-body { background:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px 6vw; }.contact-page-copy h2 { color:var(--navy); font-size:clamp(32px,4vw,50px); letter-spacing:-.04em; line-height:1.06; margin:0 0 18px; }.contact-page-copy > p:not(.eyebrow) { color:var(--muted); font-size:17px; line-height:1.6; }
.mobile-call-button { display:none; }
.contact-note a,.footer-phone { color:inherit; text-decoration:none; }.contact-note a:hover,.footer-phone:hover { text-decoration:underline; }
.gallery-page-heading { background:var(--light); padding:82px 6vw 65px; }.gallery-page-heading h1 { color:var(--navy); font-size:clamp(46px,6vw,78px); letter-spacing:-.05em; line-height:.96; margin:0; }.gallery-page-heading > p:last-child { color:var(--muted); font-size:18px; margin:20px 0 0; max-width:620px; }.project-photo-grid { column-count:3; column-gap:18px; padding:50px 6vw 80px; }.project-photo-grid figure { break-inside:avoid; margin:0 0 18px; overflow:hidden; position:relative; }.project-photo-grid img { display:block; height:auto; transition:transform .25s ease; width:100%; }.project-photo-grid figure:hover img { transform:scale(1.02); }.project-photo-grid figcaption { background:rgba(16,40,60,.92); bottom:0; color:white; font-size:12px; font-weight:700; left:0; opacity:0; padding:10px 12px; position:absolute; right:0; transform:translateY(100%); transition:.25s ease; }.project-photo-grid figure:hover figcaption { opacity:1; transform:translateY(0); }.gallery-cta { background:var(--navy); color:white; padding:75px 6vw; text-align:center; }.gallery-cta .eyebrow { color:#bfc9ff; }.gallery-cta h2 { font-size:clamp(30px,4vw,48px); letter-spacing:-.04em; margin:0 0 24px; }.gallery-cta .button-primary { background:white; border-color:white; color:var(--navy); }
.about-hero { background:var(--navy); height:min(52vw,650px); min-height:430px; overflow:hidden; position:relative; }.about-hero img { display:block; height:100%; object-fit:cover; object-position:center 48%; width:100%; }.about-hero::after { background:linear-gradient(90deg,rgba(8,24,38,.78),rgba(8,24,38,.12)); content:""; inset:0; position:absolute; }.about-hero > div { bottom:12%; color:white; left:7vw; max-width:670px; position:absolute; z-index:1; }.about-hero .eyebrow { color:#c7ceff; }.about-hero h1 { font-size:clamp(48px,7vw,86px); letter-spacing:-.06em; line-height:.9; margin:0; }.about-hero p:last-child { font-size:19px; line-height:1.5; margin:20px 0 0; }.about-story { background:var(--light); display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px 6vw; }.about-story h2 { color:var(--navy); font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; line-height:1.05; margin:0; }.about-story > div:last-child p { color:var(--muted); font-size:18px; line-height:1.6; margin:0 0 18px; }.core-values-section { background:white; padding:82px 6vw; }.core-values-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); margin-top:42px; }.core-values-grid article { background:var(--light); border-top:3px solid var(--blue); padding:25px; }.core-values-grid span { color:var(--blue); font-size:13px; font-weight:800; }.core-values-grid h3 { color:var(--navy); font-size:22px; margin:24px 0 10px; }.core-values-grid p { color:#334155; font-size:15px; line-height:1.55; margin:0; }.about-audience { background:var(--navy); color:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:76px 6vw; }.about-audience .eyebrow { color:#c7ceff; }.about-audience h2 { font-size:clamp(30px,4vw,48px); letter-spacing:-.04em; line-height:1.06; margin:0; }.about-audience ul { align-self:center; list-style:none; margin:0; padding:0; }.about-audience li { border-bottom:1px solid rgba(255,255,255,.28); color:#f0f4f8; padding:14px 0 14px 28px; position:relative; }.about-audience li::before { color:#c7ceff; content:"✓"; font-weight:800; left:0; position:absolute; }
.about-difference { background:var(--light); padding:82px 6vw; }.about-difference-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); margin-top:42px; }.about-difference-grid article { border-top:3px solid var(--blue); padding:22px 0; }.about-difference-grid span { color:var(--blue); font-size:26px; font-weight:800; }.about-difference-grid h3 { color:var(--navy); font-size:22px; margin:20px 0 10px; }.about-difference-grid p { color:#334155; font-size:15px; line-height:1.55; margin:0; }.about-mission { background:var(--navy); color:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px 6vw; }.about-mission .eyebrow { color:#c7ceff; }.about-mission h2 { font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; line-height:1.05; margin:0; }.about-mission > div:last-child p { color:#f0f4f8; font-size:18px; line-height:1.6; margin:0 0 18px; }
.service-page-hero { background:var(--navy); height:min(52vw,650px); min-height:430px; overflow:hidden; position:relative; }.service-page-hero img { display:block; height:100%; object-fit:cover; object-position:center; width:100%; }.service-page-hero img.demolition-hero-image { object-position:center 32%; }.service-page-hero img.excavation-hero-image { object-position:center 50%; }.service-page-hero img.land-clearing-hero-image { object-position:center 38%; }.service-page-hero::after { background:linear-gradient(90deg,rgba(8,24,38,.72),rgba(8,24,38,.08)); content:""; inset:0; position:absolute; }.service-page-hero > div { bottom:12%; color:white; left:7vw; max-width:620px; position:absolute; z-index:1; }.service-page-hero .eyebrow { color:#c7ceff; }.service-page-hero h1 { font-size:clamp(48px,7vw,86px); letter-spacing:-.06em; line-height:.9; margin:0; }.service-page-hero p:last-child { font-size:19px; line-height:1.5; margin:20px 0 0; }.service-page-intro { display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:85px 6vw; }.service-page-intro h2 { color:var(--navy); font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; line-height:1.05; margin:0; }.service-page-intro > div:last-child p { color:var(--muted); font-size:18px; line-height:1.6; margin:0 0 18px; }.service-detail-list { background:var(--light); display:grid; gap:22px; grid-template-columns:repeat(3,1fr); padding:70px 6vw; }.service-detail-list article { border-top:3px solid var(--blue); padding-top:18px; }.service-detail-list span { color:var(--blue); font-size:13px; font-weight:800; }.service-detail-list h3 { color:var(--navy); font-size:22px; margin:25px 0 8px; }.service-detail-list p { color:var(--muted); margin:0; }.service-photo-row { display:grid; gap:18px; grid-template-columns:1fr 1fr; padding:60px 6vw; }.service-photo-row img { display:block; height:440px; object-fit:cover; width:100%; }
.service-scope-section { background:white; display:grid; gap:8vw; grid-template-columns:1fr 1fr; padding:82px 6vw; }.service-scope-section h2 { color:var(--navy); font-size:clamp(32px,4vw,50px); letter-spacing:-.04em; line-height:1.05; margin:0; }.service-scope-list { list-style:none; margin:30px 0 0; padding:0; }.service-scope-list li { border-bottom:1px solid var(--line); color:#334155; padding:14px 0 14px 28px; position:relative; }.service-scope-list li::before { color:var(--blue); content:"✓"; font-weight:800; left:0; position:absolute; }.service-bid-guide { align-self:start; background:var(--navy); color:white; padding:38px; }.service-bid-guide .eyebrow { color:#c7ceff; }.service-bid-guide h3 { font-size:28px; line-height:1.1; margin:0 0 18px; }.service-bid-guide p:not(.eyebrow) { color:#f0f4f8; line-height:1.6; }.service-bid-guide a { background:white; color:var(--navy); display:inline-block; font-size:14px; font-weight:800; margin-top:10px; padding:13px 18px; text-decoration:none; }.service-bid-guide a:hover { background:#dbe3ff; }.service-faq-section { background:var(--light); padding:78px 6vw; }.service-faq-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); margin-top:38px; }.service-faq-grid details { background:white; padding:22px; }.service-faq-grid summary { color:var(--navy); cursor:pointer; font-size:17px; font-weight:800; line-height:1.3; }.service-faq-grid p { color:var(--muted); line-height:1.55; margin:16px 0 0; }
footer { align-items:center; background:white; border-top:1px solid var(--line); color:var(--muted); display:flex; gap:28px; justify-content:space-between; padding:35px 6vw; } footer .brand { padding:0; } footer .brand img { height:58px; } footer p { font-size:12px; margin:0; }.footer-phone { color:var(--navy); font-size:15px; font-weight:700; line-height:1.8; }.footer-email { color:var(--muted); text-decoration:none; }.footer-email:hover { color:var(--blue); text-decoration:underline; }.footer-legal { color:var(--muted); font-size:12px; text-decoration:none; }.footer-legal:hover { color:var(--blue); text-decoration:underline; }.social-links { display:flex; gap:14px; }.social-links a { color:var(--navy); font-size:13px; font-weight:700; text-decoration:none; }.social-links a:hover { color:var(--blue); text-decoration:underline; }
@media (max-width:800px) { body { padding-bottom:66px; }.site-header { padding:16px 5vw; }.site-header .brand img { height:52px; }.menu-toggle { background:none; border:1px solid var(--navy); color:var(--navy); display:block; font-weight:700; padding:8px 10px; }.nav { background:white; box-shadow:0 12px 22px rgba(16,40,60,.15); display:none; flex-direction:column; left:0; padding:24px 5vw; position:absolute; right:0; top:84px; }.nav.open { display:flex; }.hero,.mission-section,.split-section,.service-area-section,.quote-section,.contact-page-body,.service-page-intro,.service-detail-list,.service-photo-row,.service-scope-section,.service-faq-grid,.about-story,.about-audience,.about-mission { grid-template-columns:1fr; }.hero { min-height:0; padding:70px 7vw; }.hero-panel { margin:20px 20px 0 0; }.project-slideshow { aspect-ratio:4 / 3; height:auto; }.slideshow-message { background:rgba(16,40,60,.78); bottom:50px; left:5vw; padding:9px 11px; right:5vw; text-shadow:none; }.slideshow-message p { color:#dbe3ff; font-size:8px; margin-bottom:5px; }.slideshow-message h1 { color:white; font-size:clamp(20px,4.5vw,26px); line-height:.9; }.slideshow-service-line { font-size:8px; margin-top:10px; }.slideshow-bid-button { font-size:10px; margin-top:9px; padding:8px 11px; }.slide-dots { bottom:22px; left:5vw; right:auto; }.trust-bar,.service-grid,.process-list,.core-values-grid,.about-difference-grid { grid-template-columns:1fr; }.trust-bar p { margin:12px 0; }.mission-copy { padding-left:20px; }.service-grid article { min-height:0; }.service-grid h3 { margin-top:18px; }.project-photo-grid { column-count:1; padding:32px 5vw 55px; }.gallery-page-heading { padding:65px 7vw 50px; }.service-page-hero,.about-hero,.contact-page-hero { height:570px; min-height:0; }.service-page-hero > div,.about-hero > div,.contact-page-hero > div { bottom:10%; left:7vw; right:7vw; }.service-photo-row img { height:auto; } footer { align-items:flex-start; flex-direction:column; }.mobile-call-button { align-items:center; background:var(--blue); bottom:0; color:white; display:flex; font-size:14px; font-weight:800; height:58px; justify-content:center; left:0; letter-spacing:.02em; position:fixed; right:0; text-decoration:none; z-index:10; }.mobile-call-button:hover { background:var(--navy); } }
