/* Restore the approved limestone, evergreen and warm bronze direction. */
.site-header.is-scrolled,.site-header.inner-header { background:#183c34; backdrop-filter:none; -webkit-backdrop-filter:none; }
.hero h1 { font-size:clamp(76px,7.8vw,116px); letter-spacing:-.06em; }
.hero-line:last-child { font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.13em; letter-spacing:-.035em; }
.hero-description { max-width:440px; }
h2 { line-height:1.12; letter-spacing:-.045em; }
p { text-wrap:pretty; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-footer { background:var(--graphite); }
.tone-soft { background:#e9e8df; }
.expertise { background:#e5e8dd; }
.story { background:#edece2; }
.story p,.considered p { color:var(--muted); }
.footer-social { display:flex; flex-wrap:wrap; gap:0 18px; margin-top:20px; max-width:260px; }
.footer-social a { min-height:44px; justify-content:flex-start; font-size:12px; }
.business-profile-links { display:grid; grid-template-columns:repeat(3,1fr); gap:0 32px; margin-top:32px; }
.business-profile-links a { display:block; min-height:52px; padding:15px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:600; }
.project-card h2 { font:600 22px/1.3 var(--sans); letter-spacing:-.025em; margin-bottom:12px; }
.project-card img,.service-hub-photo img,.service-photo img { object-fit:contain; background:#dedfd8; }
.projects-gallery-grid .project-card img { width:100%; height:360px; object-fit:contain; }
.work-photo-column .family-photo img { object-fit:contain; }
.site-navigation .desktop-nav { gap:clamp(10px,1.1vw,20px); font-size:12px; }
.site-navigation .nav-disclosure-toggle { width:26px; margin-left:0; padding:5px; }
.site-navigation .nav-dropdown-areas { right:0; }
.site-navigation .brand { gap:12px; }
.site-navigation .brand-name { font-size:13px; }
.site-navigation .brand img { width:68px; height:68px; }
/* An ivory plate preserves the original black and gray artwork on evergreen. */
.brand img,.footer-brand img { box-sizing:border-box; object-fit:contain; background:#f3f0e7; padding:3px; border:1px solid #d8cbb6; border-radius:4px; filter:none; box-shadow:0 2px 10px #0e201b1a; }
.footer-brand img { padding:5px; }
.header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; }
.header-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 13px; border:1px solid #ffffff50; font-size:11px; font-weight:700; line-height:1.2; white-space:nowrap; transition:background .2s,color .2s; }
.header-action svg { width:17px; height:17px; }
.header-action:hover { background:#ffffff15; }
.header-action-estimate { background:var(--ochre); border-color:var(--ochre); color:#142f27; }
.header-action-estimate:hover { background:#d8bb98; }
.header-action-whatsapp { padding:10px; }
.header-action-whatsapp svg { width:21px; height:21px; }
.site-navigation .desktop-nav { margin-left:auto; }
.service-inline-photo { display:none; }
.material-track { gap:0; padding:0; animation:material-loop 24s linear infinite; will-change:transform; }
.material-group { display:flex; align-items:center; flex-shrink:0; gap:50px; padding-right:50px; }
@keyframes material-loop { to { transform:translateX(-50%); } }
.material-ribbon.motion-paused .material-track { animation-play-state:paused; }
.site-navigation .mobile-menu > .mobile-primary-link,.site-navigation .mobile-menu > .mobile-home-link { font:500 24px/1.3 var(--sans); min-height:62px; }
.site-navigation .mobile-nav-group > summary { font-family:var(--sans); font-size:24px; font-weight:500; }
.form-status { margin:16px 0; padding:16px; border:1px solid var(--line); font-size:14px; line-height:1.6; }
.form-status:empty { display:none; }
.form-status.is-error { color:#8b2b22; border-color:#8b2b2255; background:#fff3ed; }
.honey-field { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
button[disabled] { cursor:wait; opacity:.65; }
@media(min-width:1181px) and (max-width:1380px) { .site-header { padding-inline:28px; gap:18px; } .site-navigation .brand-name { display:none; } .site-navigation .brand img { width:58px; height:58px; } .site-navigation .desktop-nav { gap:12px; } .header-action { padding-inline:11px; } }
@media(max-width:1180px) { .site-header { gap:14px; } .header-actions { position:relative; z-index:54; } .site-navigation .menu-toggle { flex-shrink:0; } }
@media(max-width:900px) { .site-navigation .brand-name { display:none; } .expertise-grid { grid-template-columns:1fr; gap:30px; } .expertise-visual .surface-image { display:none; } .service-inline-photo { display:block; overflow:hidden; margin:8px 0 20px; background:var(--concrete); } .service-inline-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; } .service-content { padding-left:0; padding-right:0; } .service-item summary { grid-template-columns:36px 1fr 25px; min-height:76px; } .service-item h3 { font-size:18px; } }
@media(max-width:700px) { .hero h1 { font-size:clamp(58px,16vw,84px); } .business-profile-links { grid-template-columns:1fr; } .projects-gallery-grid .project-card img { height:290px; } .site-navigation .mobile-menu > .mobile-primary-link,.site-navigation .mobile-menu > .mobile-home-link,.site-navigation .mobile-nav-group > summary { font-size:24px; } }
@media(max-width:700px) {
  body { padding-bottom:0; }
  .site-header.is-scrolled { position:fixed; top:0; left:0; right:0; width:100%; z-index:50; }
  .site-header,.site-header.is-scrolled,.site-header.inner-header { padding:12px 20px; gap:8px; }
  .site-navigation .brand img,.site-header.is-scrolled .brand img,.site-header.inner-header .brand img { width:58px; height:58px; }
  .header-actions { gap:5px; }
  .header-action { min-height:42px; padding:10px; font-size:10px; gap:6px; }
  .header-action-call span { display:none; }
  .header-action-estimate { padding-inline:11px; }
  .header-action-estimate svg { width:15px; height:15px; }
  .header-action-whatsapp { padding-inline:9px; }
  .site-navigation .menu-toggle { width:40px; padding:10px; }
  .hero { display:flex; flex-direction:row; align-items:center; min-height:max(740px,100svh); height:auto; padding-top:0; }
  .hero-picture { position:absolute; inset:0; display:block; width:100%; aspect-ratio:auto; }
  .hero-image { object-fit:cover; object-position:center; }
  .hero-shade { display:block; background:linear-gradient(90deg,rgba(8,29,23,.75),rgba(8,29,23,.22)),linear-gradient(180deg,rgba(8,29,23,.33),rgba(8,29,23,.08) 58%,rgba(8,29,23,.68)); }
  .hero-content { width:calc(100% - 42px); margin-inline:auto; padding:160px 0 150px; }
  .hero h1 { font-size:clamp(55px,15.5vw,72px); }
  .hero-eyebrow { font-size:8px; margin-bottom:24px; letter-spacing:.09em; }
  .hero-description { margin-top:26px; font-size:16px; max-width:330px; }
  .hero-actions { margin-top:26px; gap:18px; }
  .hero-bottom { position:absolute; inset:auto 0 30px; width:calc(100% - 42px); padding:0; margin-inline:auto; }
  .material-group { gap:25px; padding-right:25px; }
  .material-track { animation-duration:19s; }
}
@media(max-width:370px) {
  .site-header,.site-header.is-scrolled,.site-header.inner-header { padding-inline:12px; gap:5px; }
  .site-navigation .brand img,.site-header.is-scrolled .brand img,.site-header.inner-header .brand img { width:48px; height:48px; }
  .header-action { padding:9px; font-size:9px; }
  .header-action-estimate { padding-inline:9px; gap:5px; }
  .hero h1 { font-size:52px; }
  .hero-description { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) {
  .material-track { animation:none; will-change:auto; }
}
