/* Precision-cut typography: outline, opposing planes, exact registration. */
html.aps-responsive body #aps-main [data-m-hero-h1] {
  --prism-size: clamp(34px, min(calc(24px + 4vw), 14svh), 104px);
  width: min(620px, 100%);
  max-width: 100%;
  margin: 0 !important;
  font-size: clamp(20px, min(calc(14px + 1.5vw), 7svh), 36px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
}
html.aps-responsive body #aps-main .aps-hero-eyebrow {
  position: relative;
  width: fit-content;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: clamp(10px, 1.2vw, 18px) !important;
  font-size: clamp(10px, calc(8px + .45vw), 14px) !important;
  line-height: 1.3 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase;
  color: #fff;
}
[data-hero-type-rule] {
  display: block;
  width: 30px;
  height: 2px;
  flex: none;
  background: #F6B51E;
  transform-origin: left center;
}
html.aps-responsive body #aps-main [data-m-hero-h1] > .aps-prism-stage {
  font-size: var(--prism-size) !important;
  line-height: 1.14 !important;
  margin-bottom: .12em !important;
  text-transform: uppercase;
  letter-spacing: -.025em;
}
.aps-prism-type {
  position: relative;
  height: 1.22em;
  width: min(5.2em, 100%);
  isolation: isolate;
  overflow: hidden;
}
.aps-prism-static {
  display: block;
  color: #fff;
  padding-left: 0;
  white-space: nowrap;
}
.aps-prism-ready > .aps-prism-static { visibility: hidden; }
.aps-prism-face {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transform-origin: left center;
}
.aps-cut-scene { color: #fff; }
.aps-cut-scene--2 { color: #F6B51E; }
.aps-cut-type {
  position: absolute; inset: 0; display: block; padding-top: .045em;
  line-height: 1.08; white-space: nowrap; font-kerning: normal;
  transform-origin: left center;
}
.aps-cut-outline { color: transparent; -webkit-text-stroke: .7px #F6B51E; }
.aps-cut-plane { will-change: transform, opacity; }
.aps-cut-plane--0 { clip-path: inset(0 0 75% 0); }
.aps-cut-plane--1 { clip-path: inset(25% 0 50% 0); }
.aps-cut-plane--2 { clip-path: inset(50% 0 25% 0); }
.aps-cut-plane--3 { clip-path: inset(75% 0 0 0); }
.aps-prism-statement--gold { color: #F6B51E; }
/* One continuous scale avoids jumps between phone, tablet and desktop. */
html.aps-responsive body #aps-main [data-m-herosub] { margin-top: clamp(16px, 1.8vw, 24px) !important; }
html.aps-responsive body #aps-main [data-m-hcta] { gap: clamp(10px, 1.2vw, 16px) !important; }
html.aps-responsive body #aps-main [data-m-hcta] > a {
  font-size: clamp(14px, calc(12px + .35vw), 18px) !important;
  padding: 11px clamp(16px, 1.8vw, 28px) !important;
  min-height: 44px;
  box-sizing: border-box;
  letter-spacing: .06em !important;
}
@media (max-width: 600px) {
  html.aps-responsive body #aps-main .aps-hero-eyebrow { gap: 8px; letter-spacing: .11em !important; }
  [data-hero-type-rule] { width: 22px; }
}
@media (max-width: 360px) {
  html.aps-responsive body #aps-main [data-m-hcta] > a {
    font-size: 13px !important; padding-inline: 14px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .aps-prism-face { display: none; }
  .aps-prism-ready > .aps-prism-static { visibility: visible; }
}
@media (forced-colors: active) {
  .aps-cut-plane, .aps-prism-static { color: CanvasText; }
  .aps-cut-outline { display: none; }
}
