/* ANVILSTEAD V1.4.3 — 2026-10-15
   Full-width editorial grid. Loaded LAST to prevent older centered-shell rules
   and earlier responsive rules from overruling the approved page alignment.
   This stylesheet intentionally leaves imagery, branding and existing type treatments intact.
*/
:root { --layout-gutter: clamp(24px, 4.0vw, 78px); }
@media (min-width: 761px) {
  /* One consistent left guide for the logo, hero, inner pages and footer. */
  .shell,
  .site-header .shell,
  .hero > .shell,
  .inner-hero .shell,
  .case-hero > .shell,
  .footer > .shell {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: var(--layout-gutter);
    padding-right: var(--layout-gutter);
  }
  .site-header .shell { min-height: 88px; }
  .hero .shell { align-items: center; }
  /* Let the sculpture remain the star without pushing headline off-grid. */
  .hero-copy { width: min(620px, 45vw); padding-top: 26px; }
  .hero h1 { font-size: clamp(68px, 6.0vw, 110px); max-width: 630px; }
  .hero-lead { max-width: 470px; }
  .hero-art { inset: 0 0 0 23%; }
  .hero-art img { object-position: 52% 47%; }
  .hero-art::before {background:linear-gradient(90deg,#030b10 0%,rgba(3,11,16,.81) 7%,rgba(3,11,16,.43) 32%,rgba(3,11,16,.09) 57%,transparent 82%),linear-gradient(0deg,#030b10b8,transparent 29%,transparent 76%,#030b1070);}
  .hero-foot { left:var(--layout-gutter); right:var(--layout-gutter); }
  .hero-counter { right:var(--layout-gutter); }
  .case-hero > .shell { padding-top:142px; padding-bottom:95px; }
  .case-hero h1 { max-width: min(680px,50vw); }
  .case-hero .case-art-caption { right:var(--layout-gutter); }
  .inner-hero .page-title { max-width: 850px; }
  .inner-hero .intro { max-width: 620px; }
  /* Long-form text doesn't expand beyond a comfortable reading width. */
  .work-grid,.service-list,.service-list,.footer-main,.process-items { max-width: 1760px; }
  .contact-grid,.about-layout,.trust-layout,.inner-grid,.case-story-grid { max-width: 1560px; }
  .v13-work-context,.v131-work-note,.case-story .story-copy { max-width: 860px; }
}
@media (min-width: 761px) and (max-width: 1140px) {
  .hero-copy { width: 55vw; }
  .hero h1 { font-size: clamp(62px, 6.3vw, 82px); }
  .hero-art {left:22%;}
  .hero-counter {top:115px;}
  .case-hero h1 {max-width: 62vw;}
}
@media (max-width: 760px) {
  :root { --layout-gutter: 22px; }
  .site-header .shell,.hero > .shell,.inner-hero .shell,.case-hero > .shell,.footer > .shell {
    width:100%;max-width:none;margin-inline:0;padding-left:var(--layout-gutter);padding-right:var(--layout-gutter);
  }
  .hero-foot {left:var(--layout-gutter);right:var(--layout-gutter);}
  .hero-counter {right:var(--layout-gutter);}
  .case-hero .case-art-caption {left:var(--layout-gutter);right:var(--layout-gutter);}
}
/* Avoid inheriting an accidentally centered 1340px shell on very wide screens. */
@media (min-width: 2100px) {
  .hero-copy {width:min(740px, 40vw);}
  .hero h1 {font-size:clamp(114px, 5.2vw, 132px);}
  .hero-art {left:24%;}
}
