/* Image-led homepage treatment; other service pages retain their layout. */
.home-visuals #hero .wrap { grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.home-visuals #hero { padding-block:64px; }
.home-hero-image { margin:0; position:relative; overflow:hidden; background:#e5e0d8; }
.home-hero-image img { display:block; width:100%; height:580px; object-fit:cover; object-position:58% 48%; }
.home-hero-image figcaption { position:absolute; bottom:0; left:0; right:0; padding:70px 28px 26px; color:white; background:linear-gradient(transparent,rgba(22,17,12,.88)); }
.home-hero-image figcaption > span { font-size:9px; font-weight:600; letter-spacing:.12em; }
.home-hero-image figcaption p { margin:12px 0 0; font-size:23px; line-height:1.35; letter-spacing:-.025em; }
.home-work-grid { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:65px; }
.home-work-image { margin:0; overflow:hidden; background:#122035; }
.home-work-image img { display:block; width:100%; height:460px; object-fit:cover; object-position:70% 45%; }
.home-work-copy .intro { font-size:17px; line-height:1.8; }
.home-work-copy .text-link { display:inline-block; margin-top:25px; }
@media (max-width:900px) {
  .home-visuals #hero .wrap,.home-work-grid { grid-template-columns:1fr; gap:35px; }
  .home-hero-image img { height:480px; object-position:center 46%; }
  .home-work-image img { height:440px; }
}
@media (max-width:600px) {
  .home-visuals #hero { padding-block:36px; }
  .home-hero-image img { height:360px; }
  .home-hero-image figcaption { padding:60px 20px 20px; }
  .home-hero-image figcaption > span { font-size:8px; }
  .home-hero-image figcaption p { font-size:21px; }
  .home-work-image img { height:340px; object-position:74% 43%; }
}

/* Aggregate counters: flat brand surfaces; motion belongs only to the numerals. */
.business-counters { padding:clamp(24px,3vw,36px) 0; background:var(--white); font-family:var(--sans); }
.business-counters dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:1000px; margin-block:0; }
.business-counters .counter-card {
  position:relative; isolation:isolate; overflow:hidden; min-width:0;
  display:flex; flex-direction:column-reverse; align-items:flex-start;
  padding:26px 30px; border:1px solid color-mix(in srgb,var(--muted) 35%,transparent); border-radius:12px;
  color:var(--white); background:var(--body);
  container-type:inline-size;
}
.business-counters .counter-card--serving { background:var(--accent); }
.counter-card::before,.counter-card::after {
  content:''; position:absolute; z-index:-1;
  border:1px solid color-mix(in srgb,var(--muted) 35%,transparent); border-radius:50%;
  pointer-events:none;
}
.counter-card::before { width:270px; height:270px; right:-130px; bottom:-145px; }
.counter-card::after { width:328px; height:328px; right:-159px; bottom:-174px; }
.business-counters dt { position:relative; font-size:13px; line-height:1.4; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--white); margin-top:12px; padding-left:26px; }
.business-counters dt::before { content:''; position:absolute; left:0; top:.65em; width:14px; height:1px; background:color-mix(in srgb,var(--white) 65%,transparent); }
.business-counters dd { width:100%; margin:0; }
.counter-emblem { display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin-bottom:14px; border:1px solid color-mix(in srgb,var(--muted) 35%,transparent); border-radius:50%; color:color-mix(in srgb,var(--white) 65%,transparent); }
.counter-emblem svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.business-counters data { display:block; width:100%; font-size:clamp(42px,6vw,80px); font-weight:500; line-height:1; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
@supports (font-size:1cqw) { .business-counters data { font-size:min(80px,calc(120cqw / var(--counter-length,3))); } }
.counter-accessible { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.counter-digit { display:inline-block; height:1em; overflow:hidden; vertical-align:top; }
.counter-reel { display:block; will-change:transform; }
.counter-reel > span { display:block; height:1em; line-height:1; }
@media (max-width:600px) {
  .business-counters dl { gap:12px; }
  .business-counters .counter-card { padding:20px 18px; border-radius:10px; }
  .counter-emblem { width:30px; height:30px; margin-bottom:16px; }
  .counter-emblem svg { width:19px; height:19px; }
  .business-counters dt { font-size:12px; letter-spacing:.04em; padding-left:0; margin-top:12px; }
  .business-counters dt::before { display:none; }
  .counter-card::before { right:-205px; bottom:-165px; }
  .counter-card::after { right:-234px; bottom:-194px; }
}
