/* Selected-section port from Terminal FeaturesSteps runtime evidence.
   Brand font/colors retained; all media intentionally deferred. */
body.home-page:not(.checkout-focus):not(.attract-demo-body) > main { overflow: clip; }
.service-story { position: relative; background: #fff; padding: 48px 0 max(128px, 15vw); }
.service-story-inner { --story-index: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: min(1.042vw, 26.667px); margin-inline: min(3.646vw, 93.333px); align-items: start; }
.service-story-content { grid-column: 1 / 6; grid-row: 1; display: grid; grid-template-columns: subgrid; margin-block: 240px; color: var(--blue); }
.service-story-counter { grid-column: 1; grid-row: 1; position: sticky; top: 50svh; align-self: start; display: flex; justify-content: flex-end; gap: 2px; padding-right: 22px; color: #747474; font-family: var(--font-mono, monospace); font-size: max(10px, min(.677vw, 17.333px)); line-height: 1.2; letter-spacing: .1em; }
.service-story-digit-window { height: 1.2em; overflow: hidden; }
[data-story-digits] { display: flex; flex-direction: column; transform: translateY(calc(var(--story-index) * -1.2em)); transition: transform 400ms cubic-bezier(.16,1,.3,1); }
[data-story-digits] > span { height: 1.2em; }
.service-story-chapters { grid-column: 2 / -1; grid-row: 1; display: flex; flex-direction: column; gap: 344px; list-style: none; margin: 0; padding: 0; min-width: 0; }
.service-story-chapter { position: relative; scroll-margin-top: 180px; min-width: 0; }
.service-story-chapter h3, .service-story-chapter p { font-size: min(2.396vw, 61.333px); line-height: 1.2; letter-spacing: -.02em; color: var(--blue); }
.service-story-chapter h3 { font-weight: 700; margin: 0 0 1.2em; }
.service-story-chapter p { font-weight: 400; margin: 0; }
.service-story-word { display: inline-block; white-space: nowrap; }
.service-story-ready .service-story-char { color: #d9dde0; transition: color 400ms ease-out; }
.service-story-ready .service-story-char.is-read { color: var(--blue); }
.service-story-link { display: inline-flex; align-items: center; gap: 32px; min-height: 48px; font-size: 13px; font-weight: 600; line-height: 1.5; letter-spacing: 0; color: var(--blue); border-bottom: 1px solid currentColor; margin-top: 32px; }
.service-story a:focus-visible, .service-story button:focus-visible, .service-story-chapters:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.service-story-link:hover { color: #885014; }
.service-story-media { grid-column: 7 / -1; grid-row: 1; width: 100%; height: min(calc(720px + var(--story-header-reveal, 0px)), calc(100svh - var(--story-sticky-top, 180px) - 40px)); position: sticky; top: var(--story-sticky-top, 180px); transition: top 440ms cubic-bezier(.22,1,.36,1), height 440ms cubic-bezier(.22,1,.36,1); }
.service-story-placeholder { width: 100%; height: 100%; background: #d7d7d7; border-radius: 10px; overflow: hidden; }
.service-story-gallery { position: relative; isolation: isolate; }
.service-story-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transform: scale(1.025); transition: opacity 650ms cubic-bezier(.16,1,.3,1), transform 900ms cubic-bezier(.16,1,.3,1); }
.service-story-image.is-active { opacity: 1; transform: scale(1); z-index: 1; }
.service-story-ready .service-story-placeholder { clip-path: url(#service-story-clip); }
.service-story-mask { position: absolute; pointer-events: none; }
.service-story-mobile-controls, .service-story-mobile-index { display: none; }
@media (max-width: 1023px) {
  .service-story { padding: 0 0 80px; }
  .service-story-inner { display: flex; flex-direction: column-reverse; margin: 0; gap: 32px; }
  .service-story-media { position: relative; top: auto; width: 100%; height: auto; aspect-ratio: 400 / 480; max-height: 60svh; transition: none; }
  .service-story-placeholder { position: absolute; inset: 0; border-radius: 0; }
  .service-story-image { transition-duration: 450ms, 650ms; }
  .service-story-content { display: flex; flex-direction: column; gap: 24px; margin: 0; width: 100%; min-width: 0; }
  .service-story-counter { display: none; }
  .service-story-chapters { flex-direction: row; gap: 0; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; padding: 0 5.128vw 8px; scroll-padding-inline-start: 5.128vw; }
  .service-story-chapters::-webkit-scrollbar { display: none; }
  .service-story-chapter { flex: 0 0 85%; padding-right: 30px; scroll-snap-align: start; }
  .service-story-chapter:last-child { flex-basis: 100%; }
  .service-story-chapter h3, .service-story-chapter p { font-size: 24px; line-height: 1.2; }
  .service-story-chapter h3 { margin-bottom: 1.2em; }
  .service-story-mobile-controls { display: flex; position: absolute; bottom: 40px; right: 20px; gap: 10px; }
  .service-story-mobile-controls button { width: 60px; height: 60px; border-radius: 8px; border: 0; background: #fff; font-size: 24px; cursor: pointer; }
  .service-story-mobile-controls .swl-icon-stack { width: 20px; height: 20px; margin: auto; }
  .service-story-mobile-controls button:disabled { opacity: .4; cursor: default; }
  .service-story-mobile-index { display: flex; gap: 18px; margin-inline: 5.128vw; border-bottom: 2px solid #e9e9e9; }
  .service-story-mobile-index button { background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -2px; min-height: 44px; min-width: 44px; padding: 8px 0; font-family: var(--font-mono, monospace); font-size: 13px; color: #767676; cursor: pointer; }
  .service-story-mobile-index button[aria-current] { color: var(--blue); border-bottom-color: var(--blue); }
  .service-story-ready .service-story-char { color: var(--blue); }
}
@media (prefers-reduced-motion: reduce) {
  .service-story-ready .service-story-char { color: var(--blue); transition: none; }
  [data-story-digits] { transition: none; }
  .service-story-chapters { scroll-behavior: auto; }
  .service-story-image { transition: none; transform: none; }
}
@media (prefers-contrast: more) {
  .service-story-ready .service-story-char { color: var(--blue); }
}
