/* Consistent forest green, gold and comfortable mobile reading. */
body[data-site-panel="true"] #main-content .button-primary{background:#edcb69!important;color:#052e22!important;border-color:#b59a49!important;font-family:Arial,sans-serif!important;font-weight:700!important;line-height:1.4!important}
body[data-site-panel="true"] #main-content .button-primary:hover{background:#f4dc91!important}
body[data-site-panel="true"] .page-cta{background:#052e22!important;color:#fffdf8!important}
body[data-site-panel="true"] .page-cta p,body[data-site-panel="true"] .page-cta h2{color:#fffdf8!important}
body[data-site-panel="true"] .page-cta .section-kicker{color:#edcb69!important}
body[data-site-panel="true"] #main-content .button:focus-visible,body[data-site-panel="true"] .mobile-cta a:focus-visible{outline:3px solid #af8a25!important;outline-offset:4px}
#main-content [id]{scroll-margin-top:90px}
.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 14px}
.gallery-filters[hidden],#project-gallery>figure[hidden]{display:none!important}
.gallery-filters button,.motion-toggle{font:600 14px/1.3 Arial,sans-serif;cursor:pointer;min-height:44px;padding:11px 16px;border:1px solid #9cad9e;border-radius:5px;background:#fffdf8;color:#052e22}
.gallery-filters button[aria-pressed="true"]{background:#052e22;color:#fffdf8;border-color:#052e22}
.gallery-filters button:focus-visible,.motion-toggle:focus-visible{outline:3px solid #b5912e;outline-offset:3px}
.gallery-filter-status{font:400 14px/1.5 Arial,sans-serif!important;color:#506153!important;margin:0 0 24px!important}
.motion-toggle{background:transparent;color:#fffdf8;border-color:#788f7e;font-size:12px;padding:8px 12px}
.motion-toggle:disabled{cursor:default;opacity:.75}
body[data-site-panel="true"] .footer-bottom{gap:16px;flex-wrap:wrap}
@media(min-width:781px){body[data-site-panel="true"] .page-hero{background:#073b2c!important}body[data-site-panel="true"] .page-hero h1 em{color:#edcb69!important}}
@media(max-width:780px){
 body[data-site-panel="true"] .page-hero-copy{padding:32px 22px!important}
 body[data-site-panel="true"] .page-hero h1{font-size:clamp(34px,9vw,48px)!important;line-height:1.08!important;letter-spacing:-.04em!important;margin:18px 0 22px!important}
 body[data-site-panel="true"] .page-hero h1 em{color:#796126!important}
 body[data-site-panel="true"] .page-hero-copy>p:not(.eyebrow):not(.breadcrumb):not(.section-kicker){font-size:16px!important;line-height:1.65!important}
 body[data-site-panel="true"] .page-hero .breadcrumb{font-size:12px!important;line-height:1.5!important;letter-spacing:.06em!important;overflow-wrap:anywhere;margin-bottom:24px!important}
 body[data-site-panel="true"] #main-content .button{min-height:48px!important;white-space:normal!important}
 body[data-site-panel="true"] .page-section .service-feature p,body[data-site-panel="true"] .article-body p{font-size:16px!important;line-height:1.7!important}
 body[data-site-panel="true"] .topbar .brand .bfs-brand-wordmark strong{display:block!important;font-size:10px!important;line-height:1.15!important}
 body[data-site-panel="true"] .topbar .brand .bfs-brand-wordmark em{display:block!important;font-size:23px!important;line-height:1.05!important;margin-top:2px!important}
 body[data-site-panel="true"] .topbar .brand{flex-shrink:1!important;min-width:0!important}
 body[data-site-panel="true"] .quote-form input,body[data-site-panel="true"] .quote-form select,body[data-site-panel="true"] .quote-form textarea{font-size:16px!important;min-height:48px!important;border-radius:5px!important}
 body[data-site-panel="true"] .gallery-grid figure{border-radius:7px;overflow:hidden}
 body[data-site-panel="true"] .gallery-grid figcaption{padding:14px 16px!important;line-height:1.5!important}
 .gallery-filters{gap:8px}.gallery-filters button{font-size:13px;padding:10px 12px}
 body[data-site-panel="true"] .hero-meta{gap:8px!important}
 body[data-site-panel="true"] .hero-meta>span{padding:12px 8px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
html[data-motion="off"]{scroll-behavior:auto!important}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}

@media(max-width:780px){body[data-site-panel="true"] .work-library .section-heading{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;min-height:0!important;margin-bottom:20px!important}body[data-site-panel="true"] .work-library .section-heading p{margin:0!important;font-size:16px!important;line-height:1.65!important}}
@media(max-width:480px){body[data-site-panel="true"] .work-library .gallery-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}body[data-site-panel="true"] .work-library .gallery-grid figure{aspect-ratio:4/3!important;min-height:0!important}body[data-site-panel="true"] .work-library .gallery-grid img{width:100%!important;height:100%!important;object-fit:cover!important}}

/* The project-photo Explore control is a compact arrow on touch screens. The
   desktop cursor label must not overflow the image or compete with the copy. */
@media(max-width:780px){
 body[data-hero-family="home"] .showroom-image-link{inset:16px 16px auto auto!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:0!important;display:grid!important;place-items:center!important;border:1px solid rgba(255,253,248,.9)!important;border-radius:50%!important;background:#052e22e8!important;color:#fffdf8!important;z-index:4!important;overflow:hidden!important}
 body[data-hero-family="home"] .showroom-cursor-label{display:block!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:transparent!important;font-size:0!important;line-height:0!important;letter-spacing:0!important;overflow:visible!important;opacity:1!important;transform:none!important}
 body[data-hero-family="home"] .showroom-cursor-label::after{content:"↗"!important;display:block!important;width:48px!important;height:48px!important;margin:-24px 0 0 -24px!important;color:#fffdf8!important;font:700 22px/48px Arial,sans-serif!important;text-align:center!important}
 body[data-hero-family="home"] .showroom-image-link:focus-visible{outline:3px solid #efc94f!important;outline-offset:3px!important}
}

/* Cache-busted mobile reveal effects. The CSS path is deliberately independent
   of Element.animate so iOS Safari still gets a visible, smooth transition. */
html.bfs-motion-ready[data-motion="on"] .bfs-scroll-target:not(.bfs-scroll-visible){
  opacity:.001!important;
  transform:translate3d(0,34px,0)!important;
  will-change:opacity,transform!important;
  transition:opacity .82s cubic-bezier(.2,.7,.25,1),transform .82s cubic-bezier(.2,.7,.25,1)!important;
}
html.bfs-motion-ready[data-motion="on"] .bfs-scroll-target[data-arrival="photo"]:not(.bfs-scroll-visible){
  transform:scale(.965)!important;
}
html.bfs-motion-ready[data-motion="on"] .bfs-scroll-target.bfs-scroll-visible{
  opacity:1!important;
  transform:none!important;
  will-change:auto!important;
  transition:opacity .82s cubic-bezier(.2,.7,.25,1),transform .82s cubic-bezier(.2,.7,.25,1)!important;
  transition-delay:var(--bfs-arrival-delay,0ms)!important;
}
html.bfs-motion-ready[data-motion="on"] .bfs-scroll-target[data-arrival="photo"].bfs-scroll-visible{
  transform:none!important;
}
html[data-motion="off"] .bfs-scroll-target,
html:not(.bfs-motion-ready) .bfs-scroll-target{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
  html.bfs-motion-ready .bfs-scroll-target,
  html.bfs-motion-ready .bfs-scroll-target.bfs-scroll-visible{opacity:1!important;transform:none!important;transition:none!important}
}
