/* ORVIA_COMPONENT: hdc-visual-hero-v2
   Owns split hero geometry across service, utility and machine-guide families.
   Captions are outside the image. Whole objects use contain; context uses cover. */
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual {
  min-height:0; padding:clamp(3rem,6vw,6rem) 0;
  background:#0B1013; color:#FFFFFF;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .shell {
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center; gap:clamp(2rem,4vw,4rem);
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .shell > .page-hero__content {
  grid-column:1; grid-row:1; min-width:0; display:flex;
  flex-direction:column; align-items:flex-start; gap:1.5rem;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__content h1 {
  max-width:15ch; margin:.7rem 0 0; font-size:clamp(2.75rem,5.4vw,5.5rem);
  line-height:1.02; letter-spacing:-.04em; overflow-wrap:normal;
  word-break:normal; hyphens:none; text-wrap:balance;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__content .lede {
  grid-column:auto; margin:0; max-width:38rem; font-size:clamp(1.05rem,1.5vw,1.3rem);
  line-height:1.55; color:#A9B3B7; text-shadow:none;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .eyebrow { color:#D89A63; }
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media {
  position:relative; grid-column:2; grid-row:1; margin:0; width:100%; min-width:0;
  min-height:0; aspect-ratio:auto; overflow:visible; border:0; background:transparent;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media img {
  display:block; width:100%; height:auto; aspect-ratio:3/2;
  object-fit:cover; object-position:var(--media-position,center); background:#171D21;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media--portrait img {
  aspect-ratio:3/4; object-fit:contain; background:#F0EFED;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media--wide img { aspect-ratio:16/9; }
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media figcaption {
  position:static; display:flex; flex-wrap:wrap; justify-content:space-between;
  gap:.35rem 1rem; padding:.85rem 0 0; color:#A9B3B7;
  background:none; font-size:.75rem; line-height:1.5;
}
body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media figcaption span:first-child {
  color:#D89A63; font-weight:500; letter-spacing:.06em;
}
@media(max-width:900px) {
 body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .shell { grid-template-columns:minmax(0,1fr); gap:2rem; }
 body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .shell > .page-hero__content { grid-column:1; grid-row:1; }
 body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media { grid-column:1; grid-row:2; }
 body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__content h1 { font-size:clamp(2.5rem,7.5vw,4.5rem); max-width:20ch; }
 body:is(.hdc-service-system,.hdc-machine-page,[data-page]) .page-hero.page-hero--visual .page-hero__media--portrait { max-width:28rem; justify-self:center; }
}
