/* Only the two owner-approved image headings. No font or palette changes elsewhere.
   Original PNGs are unchanged. Images keep their intrinsic ratio and remain unclipped.
   Frames measure the lettering while transparent canvas extends outside the frame. */
[data-heading-art] .heading-art__text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
[data-heading-art] .heading-art__visual {
  position: relative;
  display: block;
  width: 100%;
  overflow: visible;
  line-height: 0;
}
[data-heading-art] .heading-art__visual img {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  aspect-ratio: 3;
  object-fit: contain;
}
#svc-h[data-heading-art] { width: clamp(140px, 20vw, 300px); }
#svc-h .heading-art__visual { aspect-ratio: 2172 / 384; }
#svc-h .heading-art__visual img { top: -46.354167%; }
#why-h[data-heading-art] { width: clamp(140px, 17vw, 240px); }
#why-h .heading-art__visual { aspect-ratio: 2172 / 287; }
#why-h .heading-art__visual img { top: -75.958188%; }
[data-heading-art].heading-art--fallback .heading-art__visual { display: none; }
[data-heading-art].heading-art--fallback .heading-art__text {
  position: static; width: auto; height: auto; margin: 0; overflow: visible;
  clip: auto; white-space: normal;
}
@media (forced-colors: active) {
  [data-heading-art] .heading-art__visual { display: none; }
  [data-heading-art] .heading-art__text {
    position: static; width: auto; height: auto; margin: 0; overflow: visible;
    clip: auto; white-space: normal; color: CanvasText;
  }
}

/* Individual image regions receive the original letter transforms and opacity. */
[data-heading-art] .heading-art__glyph {
  position: absolute; display: block; inset: 0; width: 100%; height: 100%;
  line-height: 0; pointer-events: none; will-change: transform, opacity;
}
[data-heading-art] .has-glyphs:not(.is-assembled) > img { visibility: hidden; }
[data-heading-art] .is-assembled .heading-art__glyph { visibility: hidden; }

/* Opening-logo light: same masked gold materials, 300% band, 84-to-16 sweep,
   duration, opacity stops and easing. The existing letter motion owns geometry. */
[data-heading-art] .heading-art__visual { isolation: isolate; }
[data-heading-art] .heading-art__fx {
  position: absolute; display: block; left: 0; width: 100%; height: auto;
  aspect-ratio: 3; pointer-events: none; visibility: hidden;
  background-repeat: no-repeat; background-size: 300% 100%; background-position: 84% 0;
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-position: 0 0; mask-position: 0 0;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-mode: alpha; mask-mode: alpha;
}
#svc-h .heading-art__fx { top: -46.354167%; }
#why-h .heading-art__fx { top: -75.958188%; }
@keyframes heading-logo-light {
  0% { opacity: 0; background-position: 84% 0; }
  45% { opacity: 1; background-position: 84% 0; }
  100% { opacity: 1; background-position: 16% 0; }
}
[data-heading-art] .is-assembled > .heading-art__fx {
  visibility: visible; animation: heading-logo-light 3.1s cubic-bezier(.3,.5,.3,1) both;
}
@media (prefers-reduced-motion: reduce) {
  [data-heading-art] .heading-art__fx { display: none; animation: none; }
}
