@font-face{font-family:Barlow Condensed;src:url('assets/BarlowCondensed-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
#facebook-embed{overflow:hidden}.facebook-updates iframe{margin-top:18px}
.facebook-layout>*{min-width:0}#facebook-embed{width:100%;max-width:100%}.hero h1 .hero-region{display:block;font-family:Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.15em;line-height:1.3;text-transform:uppercase;margin:0 0 16px}.hero .hero-content{padding-top:123px}
@media(max-width:800px){.hero .hero-content{padding-top:90px}.hero h1 .hero-region{font-size:12px;margin-bottom:14px}}
@media(max-width:560px){.hero .hero-content{padding-top:90px}.hero h1 .hero-region{font-size:11px;letter-spacing:.12em}}
.brand-logo{aspect-ratio:1074 / 457;height:auto;overflow:hidden;position:relative;display:block}.brand-logo img{width:100%;height:auto;max-width:none;position:absolute;left:0;top:0}.direction-icon{width:19px;height:19px;display:inline-block;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.site-header #navigation .nav-call{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;flex:0 0 auto;min-height:44px;max-height:48px;padding:12px 18px;line-height:20px}.site-header #navigation .nav-call .direction-icon{width:15px;height:15px;flex:0 0 15px}
:root{--navy:#101c31;--navy-deep:#0b1528;--red:#d71933;--red-dark:#b8142b;--ink:#101c31;--paper:#f4f2ec;--muted:#596572;--container:1320px;--line:#d2d5d4}
body{font-size:17px;background:var(--paper)}.container{width:min(var(--container),calc(100% - 128px))}h1,h2,h3{font-family:Barlow Condensed,Arial,sans-serif;font-weight:700;letter-spacing:-.015em}h2{font-size:clamp(48px,5.4vw,80px);line-height:.96}h3{font-size:38px}.section{padding:90px 0}.eyebrow{font-size:11px;letter-spacing:.13em}.button{min-height:56px;padding:17px 24px;font-size:12px;border-radius:0}.header-inner{height:100px;gap:20px}.site-header .brand-logo{width:202px}.site-header{background:#0b1528b0}.header-inner nav a{font-size:12px}.hero{height:800px;min-height:720px;max-height:none}.hero:before{background:linear-gradient(90deg,#0b1528f7 0%,#0b1528e5 24%,#0b15289c 43%,#0b152826 68%,#0b15280d 100%),linear-gradient(0deg,#0b1528d9,transparent 30%)}.hero-media img,.hero-media video{object-position:70% 52%}.hero-media img{animation:none!important}.hero-grid{display:none}.hero-content{padding-top:87px;padding-bottom:100px}.hero h1{font-family:Barlow Condensed,Arial,sans-serif;font-size:clamp(88px,8.6vw,128px);line-height:.87;letter-spacing:-.018em;margin:27px 0 28px;max-width:640px}.hero h1 span{color:#f4f2ec}.hero-content>p{font-size:18px;line-height:1.6;max-width:390px;color:#e2e6eb;margin-bottom:28px}.hero-actions{gap:26px}.hero-phone{font-size:12px}.hero-footer{bottom:0;min-height:72px;border-top:1px solid #ffffff45;gap:24px;font-size:10px;letter-spacing:.12em}.hero-footer a{font-size:10px}.hero-footer button{min-height:36px}.service-strip{display:none}
.chapter-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;align-items:end;margin-bottom:55px}.chapter-intro>.eyebrow{grid-column:1/-1}.chapter-intro h2{margin:0}.chapter-intro p{max-width:420px;margin:0 0 5px;line-height:1.7}.service-chapters{background:var(--paper)}.service-chapter.service-card{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center;position:relative;background:none;border:0;border-top:2px solid var(--red);box-shadow:none;padding:30px 0;margin:0 0 28px;min-height:0}.service-chapter.service-card:before,.service-chapter.service-card:after{display:none}.chapter-copy{padding-right:25px}.chapter-number{font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--muted)}.service-chapter h3{font-size:56px;text-transform:uppercase;margin:22px 0 20px;line-height:.95}.service-chapter p{font-size:17px;line-height:1.7;max-width:385px;margin-bottom:26px}.service-chapter a{font-size:12px;font-weight:700;text-decoration:none}.chapter-copy>a{display:inline-flex;gap:28px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--ink)}.chapter-photo{display:block;overflow:hidden;aspect-ratio:3/2}.chapter-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.chapter-photo:hover img{transform:scale(1.025)}.chapter-2.service-card{grid-template-columns:7fr 5fr}.chapter-2 .chapter-photo{grid-column:1;grid-row:1}.chapter-2 .chapter-copy{grid-column:2;grid-row:1;padding-left:24px;padding-right:0}.chapter-3.service-card{grid-template-columns:4fr 8fr}.chapter-3 .chapter-photo{aspect-ratio:16/9}.service-chapter:last-child{margin-bottom:0}
.home-portfolio{padding-top:35px}.portfolio-heading{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin-bottom:35px}.portfolio-heading>.eyebrow{grid-column:1/-1}.portfolio-heading h2{margin:0}.portfolio-heading a{margin-bottom:7px}.portfolio-composition{display:grid;grid-template-columns:8fr 4fr;grid-template-rows:250px 250px;gap:20px}.portfolio-composition>a{display:block;position:relative;overflow:hidden;color:white;text-decoration:none;background:var(--navy)}.portfolio-composition img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.portfolio-composition a:hover img{transform:scale(1.025)}.portfolio-lead{grid-row:1/3}.portfolio-composition span{position:absolute;left:0;right:0;bottom:0;padding:45px 22px 20px;background:linear-gradient(transparent,#0b1528cf);font-size:12px;font-weight:700;letter-spacing:.04em}.facebook-section{border-top:1px solid var(--line);padding-top:70px}.facebook-content h2{font-size:68px;text-transform:uppercase}.facebook-photo img{height:460px}.facebook-layout{gap:65px}.facebook-load{min-height:44px}.facebook-updates p{font-size:12px}
.page-hero{padding:155px 0 62px;min-height:350px;background:var(--navy);border-bottom:0}.page-hero:before,.page-hero:after{display:none}.page-hero h1{font-size:80px;line-height:.94;text-transform:uppercase;letter-spacing:-.01em;max-width:610px}.page-hero p{font-size:17px;line-height:1.6;max-width:460px}.page-hero.has-photo{min-height:520px;padding:178px 0 68px;display:flex;align-items:center}.page-hero.has-photo>.container{position:relative}.has-photo h1,.has-photo .eyebrow,.has-photo p,.has-photo .breadcrumbs{max-width:43%}.page-hero-photo{position:absolute;top:100px;bottom:0;right:0;width:53%;overflow:hidden}.page-hero-photo img{width:100%;height:100%;object-fit:cover}.page-hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101c3140,transparent 35%)}.page-hero.has-photo .eyebrow{margin-bottom:23px}.service-index{display:flex;gap:40px;border-bottom:1px solid var(--line);min-height:76px;align-items:center}.service-index a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em;padding:17px 0}.service-index a:hover{color:var(--red)}.service-detail{padding-top:70px}.detail-layout{grid-template-columns:7fr 5fr;gap:60px}.detail-layout article{max-width:640px}.detail-layout h2{font-size:60px}.detail-layout h3{font-size:32px}.detail-layout p,.detail-list{font-size:16px;line-height:1.8}.detail-image img{height:520px;object-fit:cover}.service-planning{background:var(--paper);border-top:1px solid var(--line)}.service-planning-grid h3{font-size:32px}.service-planning-grid p{font-size:16px}.service-photo-break{height:460px;position:relative;overflow:hidden;background:var(--navy)}.service-photo-break img{width:100%;height:100%;object-fit:cover}.service-photo-break span{position:absolute;bottom:24px;left:64px;color:white;font-size:10px;letter-spacing:.12em;padding:10px 15px;background:#101c31d9}.service-faq h2{font-size:64px}.service-faq summary{font-size:16px}.service-faq details p{font-size:16px}.faq-layout{gap:80px}.related-services{padding:45px 0;border-top:1px solid var(--line)}.related-links a{font-family:Barlow Condensed,Arial,sans-serif;font-size:38px}.excavation-overview h2{text-transform:uppercase}.excavation-overview .detail-image img{height:520px}.excavation-overview p{font-size:16px}.planning-grid h3{font-size:32px}.planning-grid p{font-size:15px}.wide-service-photo{min-height:470px}.photo-caption h2{text-transform:uppercase;font-size:68px}
.page-callout{background:var(--navy);color:white;padding:70px 0}.page-callout .dark{color:#c2ccdc}.page-callout h2{font-size:78px;text-transform:uppercase}.page-callout p{color:#c2ccdc;font-size:16px;max-width:600px}.page-callout .text-link{color:white}.site-footer{background:#0b1528}.footer-top{padding:35px 0}.footer-links a{font-size:12px}.footer-bottom{font-size:10px}.about-layout{gap:65px}.about-copy h2{font-size:64px}.about-copy p{font-size:16px}.about-copy .intro{font-size:20px}.coverage{padding:60px 0;background:#e5e7e5}.county-list h3{font-size:40px}.county-list p{font-size:11px}.contact-copy h2{font-size:76px}.contact-copy>p{font-size:17px}.contact-form{box-shadow:none;border-top:2px solid var(--red)}.contact-form h3{font-size:38px}.form-intro,.field label,.form-footnote{font-size:12px}.consent{font-size:12px}.form-row{gap:20px}
.projects-gallery{background:var(--paper);color:var(--ink);padding-top:55px}.gallery-toolbar{align-items:center;margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:16px}#gallery-filters{gap:25px}#gallery-filters button{color:var(--muted);border:0;border-bottom:2px solid transparent;background:none;font-size:12px;font-weight:700;padding:12px 0;border-radius:0;min-height:44px}#gallery-filters button[aria-pressed=true]{color:var(--red);background:none;border-color:var(--red)}#gallery-status{color:var(--muted);font-size:11px}.expanded-gallery{grid-template-columns:repeat(12,1fr);gap:22px}.project-photo{grid-column:span 6;text-align:left;border:0;background:none;color:var(--ink);display:flex;flex-direction:column;min-width:0}.project-photo:nth-child(1){grid-column:span 8;grid-row:span 2}.project-photo:nth-child(2),.project-photo:nth-child(3){grid-column:span 4}.project-photo:nth-child(4n+4){grid-column:span 7}.project-photo:nth-child(4n+5){grid-column:span 5}.project-photo:nth-child(4n+6){grid-column:span 5}.project-photo:nth-child(4n+7){grid-column:span 7}.project-photo .photo-frame{height:300px;aspect-ratio:auto;overflow:hidden;display:block;width:100%}.project-photo:nth-child(1) .photo-frame{height:100%;min-height:480px}.project-photo:nth-child(2) .photo-frame,.project-photo:nth-child(3) .photo-frame{height:225px}.project-photo img{height:100%;width:100%;object-fit:cover;transition:transform .2s}.project-photo:hover img{transform:scale(1.025)}.project-photo .photo-text{background:none;color:var(--ink);padding:12px 0 17px;min-height:0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px}.project-photo .photo-text span:first-child{font-size:12px;font-weight:700;max-width:85%}.gallery-source-note{color:var(--muted);font-size:12px}.gallery-source-note a{color:var(--ink)}#gallery-load-more{color:var(--ink);border-color:var(--ink);margin-top:35px}#gallery-load-more:hover{color:white;background:var(--navy)}
@media(max-width:1100px){.container{width:calc(100% - 80px)}.hero h1{font-size:104px}.service-chapter.service-card{gap:35px}.page-hero h1{font-size:70px}.header-inner nav{gap:20px}.chapter-2 .chapter-copy{padding-left:0}.detail-layout{gap:40px}.portfolio-composition{grid-template-rows:210px 210px}.facebook-layout{gap:40px}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.section{padding:60px 0}.header-inner{height:88px}.site-header .brand-logo{width:170px}.hero{height:780px;min-height:740px}.hero-content{padding-top:60px;padding-bottom:90px}.hero h1{font-size:88px;max-width:500px}.hero-media img{object-position:67% 50%}.hero:before{background:linear-gradient(90deg,#0b1528eb,#0b152894 60%,#0b152857),linear-gradient(0deg,#0b1528c9,transparent 35%)}.hero-footer{flex-wrap:wrap;gap:10px;padding-block:15px}.hero-footer a{display:none}.chapter-intro{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.chapter-intro>.eyebrow{grid-column:auto}.chapter-intro p{max-width:540px}.service-chapter.service-card,.chapter-2.service-card,.chapter-3.service-card{grid-template-columns:1fr;gap:25px;padding-top:25px;margin-bottom:20px}.chapter-copy{padding:0}.chapter-2 .chapter-copy{grid-column:auto;grid-row:auto;padding:0}.chapter-2 .chapter-photo{grid-column:auto;grid-row:auto}.service-chapter h3{font-size:48px;margin:14px 0}.service-chapter p{max-width:620px;font-size:16px;margin-bottom:18px}.chapter-photo{aspect-ratio:3/2}.chapter-3 .chapter-photo{aspect-ratio:3/2}.portfolio-heading{grid-template-columns:1fr}.portfolio-heading>.eyebrow{grid-column:auto}.portfolio-composition{grid-template-columns:1fr 1fr;grid-template-rows:350px 220px}.portfolio-lead{grid-column:1/-1;grid-row:auto}.facebook-layout{gap:30px}.facebook-content h2{font-size:58px}.page-hero.has-photo{padding:133px 0 0;display:block;min-height:0}.has-photo h1,.has-photo .eyebrow,.has-photo p,.has-photo .breadcrumbs{max-width:100%}.page-hero.has-photo>.container{padding-bottom:35px}.page-hero-photo{position:relative;top:auto;bottom:auto;width:100%;height:310px;order:2}.page-hero.has-photo{display:flex;flex-direction:column}.page-hero-photo:after{display:none}.page-hero h1{font-size:66px}.page-hero p{font-size:16px}.page-hero{padding-top:140px}.service-index{gap:30px;min-height:66px}.detail-layout{grid-template-columns:1fr;gap:35px}.detail-image img,.excavation-overview .detail-image img{height:410px}.service-planning-grid p,.service-faq details p{font-size:15px}.service-photo-break{height:360px}.service-photo-break span{left:20px;font-size:9px}.faq-layout{gap:35px}.page-callout h2{font-size:62px}.page-callout{padding:55px 0}.about-copy h2{font-size:58px}.about-photo,.about-photo>img{height:420px;min-height:420px}.photo-label{padding:0}.expanded-gallery{grid-template-columns:repeat(2,1fr);gap:20px}.project-photo:nth-child(n){grid-column:span 1;grid-row:auto}.project-photo:nth-child(1){grid-column:span 2}.project-photo:nth-child(n) .photo-frame{height:250px;min-height:0}.project-photo:nth-child(1) .photo-frame{height:390px}.gallery-toolbar{align-items:flex-start}.gallery-toolbar #gallery-status{margin-top:0}#gallery-filters{gap:18px}.footer-links{gap:20px}}
@media(max-width:560px){.header-inner{height:80px}.site-header .brand-logo{width:158px}.hero{height:740px;min-height:700px}.hero-content{padding-top:65px}.hero h1{font-size:clamp(60px,17vw,76px);margin:27px 0 25px;line-height:.92}.hero-content>p{font-size:16px;max-width:290px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-footer{font-size:8px;letter-spacing:.08em}.hero-media img{object-position:63% 50%}.hero:before{background:linear-gradient(90deg,#0b1528ec,#0b15289e 72%,#0b15286b),linear-gradient(0deg,#0b1528b0,transparent 50%)}h2{font-size:54px}.section{padding:48px 0}.chapter-intro h2{font-size:58px}.chapter-intro p{font-size:15px}.service-chapter h3{font-size:46px}.chapter-photo{aspect-ratio:4/3}.chapter-3 .chapter-photo{aspect-ratio:4/3}.portfolio-heading h2{font-size:60px}.portfolio-composition{grid-template-rows:300px 180px;gap:12px}.portfolio-composition span{font-size:9px;padding:30px 12px 12px}.facebook-content h2{font-size:54px}.facebook-photo img{height:300px}.page-hero.has-photo{padding-top:113px}.page-hero h1{font-size:58px}.page-hero p{font-size:15px}.page-hero-photo{height:265px}.page-hero .eyebrow{font-size:9px}.service-index{gap:22px;justify-content:space-between}.service-index a{font-size:10px}.detail-image img,.excavation-overview .detail-image img{height:320px}.detail-layout h2{font-size:52px}.detail-layout p,.detail-list{font-size:15px}.service-photo-break{height:300px}.service-faq h2{font-size:54px}.service-faq summary{font-size:15px}.photo-caption h2{font-size:52px}.wide-service-photo{min-height:390px}.page-callout h2{font-size:58px}.page-callout p{font-size:15px}.page-callout .callout-actions{gap:18px}.about-copy h2{font-size:52px}.about-copy .intro{font-size:19px}.about-copy p{font-size:15px}.about-photo,.about-photo>img{height:360px;min-height:360px}.coverage h2{font-size:56px}.coverage p{font-size:15px}.county-list h3{font-size:36px}.contact-copy h2{font-size:58px}.contact-copy>p{font-size:16px}.contact-email{font-size:12px}.contact-form{padding:26px 20px}.expanded-gallery{grid-template-columns:1fr;gap:22px}.project-photo:nth-child(n){grid-column:auto}.project-photo:nth-child(n) .photo-frame{height:280px}.project-photo:nth-child(1) .photo-frame{height:340px}.project-photo .photo-text span:first-child{font-size:12px}#gallery-filters{gap:15px;flex-wrap:wrap}#gallery-filters button{font-size:11px}.gallery-toolbar{gap:12px;flex-direction:column}.footer-top .brand-logo{width:195px}.footer-links{gap:16px}.footer-links a{font-size:11px}.footer-bottom{font-size:9px}.contact .contact-layout{gap:30px}.service-planning-grid h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){.chapter-photo:hover img,.portfolio-composition a:hover img,.project-photo:hover img{transform:none}}
