/* Deterministic accessible presentation: text never relies on image contrast. */
:root{--clay:#713723!important}
.eyebrow{color:#713723!important}
.dark .eyebrow,.hero .eyebrow,.project-cta .eyebrow,.projects-page .eyebrow,.hours .eyebrow{color:#ffd1bc!important}
.button.clay{background:#713723!important;border-color:#713723!important;color:#fff!important}

/* Desktop hero: copy occupies a solid dark field; authentic project photo is a separate visual plane. */
.hero{background:#17221d!important;min-height:680px!important;overflow:hidden!important}
.hero-media{left:auto!important;right:0!important;width:46%!important;height:100%!important;opacity:1!important;object-fit:cover!important}
.hero:after{display:none!important}
.hero>.shell{position:relative!important;z-index:2!important}
.hero-content{max-width:680px!important;background:#17221d!important;padding:86px 42px 70px 0!important;margin:0!important}
.hero .eyebrow,.hero h1,.hero-lead,.hero-meta{color:#fff!important}
.hero .button.ghost{background:#101713!important;border-color:#fff!important;color:#fff!important}

/* Project captions are editorial bands below imagery, never text on a variable photo. */
.project{background:#17221d!important;display:flex!important;flex-direction:column!important}
.project img{position:relative!important;width:100%!important;height:calc(100% - 96px)!important;min-height:0!important;object-fit:cover!important;opacity:1!important;flex:1 1 auto!important}
.project:after{display:none!important}
.project-copy{position:relative!important;inset:auto!important;display:block!important;background:#17221d!important;width:100%!important;padding:17px 20px 18px!important;flex:0 0 auto!important}
.project-copy small,.project-copy strong{color:#fff!important}

/* Lower CTA uses the same split-field principle. */
.project-cta{background:#17221d!important;min-height:500px!important}
.project-cta img{left:auto!important;right:0!important;width:48%!important;height:100%!important;opacity:1!important;object-fit:cover!important}
.project-cta:after{display:none!important}
.project-cta-copy{max-width:650px!important;background:#17221d!important;padding:84px 42px 60px 0!important;margin:0!important}
.project-cta .eyebrow,.project-cta h2{color:#fff!important}
.project-cta .button.ghost{background:#101713!important;border-color:#fff!important;color:#fff!important}

.dark .feature-copy h2{color:#fff!important}
.dark .feature-copy p,.service-band p{color:#e0e5e1!important}
.service-band .label{color:#ffd1bc!important}
.service-group small{color:#713723!important}
.hours-row span{color:#e0e5e1!important}
.footer .smallprint{color:#c9d0cb!important}

@media(max-width:900px){
  .hero{display:flex!important;flex-direction:column!important;min-height:0!important}
  .hero-media{position:relative!important;order:1!important;inset:auto!important;width:100%!important;height:420px!important}
  .hero>.shell{order:2!important;width:100%!important;background:#17221d!important}
  .hero-content{max-width:none!important;padding:46px 0 52px!important}
  .project-cta{display:flex!important;flex-direction:column!important;min-height:0!important}
  .project-cta img{position:relative!important;order:1!important;inset:auto!important;width:100%!important;height:380px!important}
  .project-cta>.shell{order:2!important;width:100%!important;background:#17221d!important}
  .project-cta-copy{max-width:none!important;padding:44px 0 48px!important}
}
@media(max-width:680px){
  .hero-media{height:320px!important}
  .hero-content{padding:34px 0 42px!important}
  .hero h1{font-size:52px!important}
  .project:nth-child(n){min-height:0!important}
  .project img{height:270px!important;flex:none!important}
  .project-copy{padding:16px 17px 18px!important}
  .project-cta img{height:300px!important}
  .project-cta-copy{padding:34px 0 40px!important}
}
