html { overflow-anchor: none; }
/* Static content is the default. Only successfully initialized scenes pin. */
.hero-next { padding: 36px 20px 80px; }
.hero-next h2 { margin: 0; font-size: clamp(38px, 6.5vw, 88px); font-weight: 600; line-height: 1.18; letter-spacing: -.055em; }
.hero-next h2 span { color: #da681e; }
.hero-next > p:last-child { margin-top: 24px; color: #747478; font-size: 16px; }
.hero-scroll-cue, .delivery-chapters, .verification-sheet, .delivery-drive, .delivery-orbit { display: none; }
.delivery-panel + .delivery-panel { margin-top: 45px; }
.delivery-panel h3 { margin: 0 0 25px; font-size: clamp(40px, 5.8vw, 78px); font-weight: 550; line-height: 1.13; letter-spacing: -.04em; }
.delivery-panel > p:last-child { margin: 0; color: #aaa9ad; font-size: 17px; line-height: 1.85; }
.delivery-summary > .quiet-link { color: #ffb373; }
.motion-toggle { position: fixed; right: 22px; bottom: 18px; z-index: 55; padding: 9px 14px; border: 1px solid #8a8a8a40; border-radius: 30px; background: #fffffff0; color: #505055; font: inherit; font-size: 11px; cursor: pointer; box-shadow: 0 3px 16px #00000008; }
.motion-toggle[hidden] { display: none; }
.motion-toggle:hover { color: #a94f16; border-color: #dc853a; }
.motion-toggle:focus-visible { outline: 2px solid #dc853a; outline-offset: 3px; }

@media (prefers-reduced-motion: no-preference) and (min-height: 620px) {
  .scroll-motion { --scene-top: 64px; }
  .scroll-motion .scene-pin { position: sticky; top: var(--scene-top); height: calc(100svh - var(--scene-top)); overflow: clip; }
  .scroll-motion .showcase-hero { height: 230svh; overflow: visible; }
  .scroll-motion .hero-pin { isolation: isolate; }
  .scroll-motion .showcase-copy { padding-top: clamp(38px, 7svh, 90px); opacity: var(--hero-opacity, 1); transform: translate3d(0, var(--hero-y, 0px), 0) scale(var(--hero-scale, 1)); }
  .scroll-motion .showcase-art { position: absolute; top: 48%; left: 50%; width: min(1050px, 100%); max-width: none; margin: 0; opacity: var(--art-opacity, 1); transform: translate3d(-50%, var(--art-y, 0px), 0) scale(var(--art-scale, 1)) rotate(var(--art-turn, 0deg)); z-index: -1; }
  .scroll-motion .showcase-art img { animation: none; }
  .scroll-motion .showcase-footnote { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); padding: 0; z-index: 3; }
  .scroll-motion .showcase-footnote a { margin-right: 130px; }
  .scroll-motion .hero-next { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0 20px 30px; pointer-events: none; opacity: var(--next-opacity, 0); transform: translate3d(0, var(--next-y, 50px), 0); }
  .scroll-motion .hero-next .section-label { margin-bottom: 26px; }
  .scroll-motion .hero-next h2 { font-size: clamp(42px, 6.8vw, 94px); }
  .scroll-motion .hero-scroll-cue { position: absolute; top: 48%; left: 50%; display: grid; justify-items: center; gap: 12px; transform: translateX(-50%); color: #8b817a; font-size: 10px; letter-spacing: .12em; opacity: var(--hero-opacity, 1); }
  .hero-scroll-cue i { display: block; width: 1px; height: 30px; background: linear-gradient(#be8b60, transparent); }
  .scroll-motion .delivery-showcase { padding-top: 0; overflow: visible; }
  .scroll-motion .delivery-scroll { height: 340svh; }
  .scroll-motion .delivery-pin { display: flex; align-items: center; }
  .scroll-motion .delivery-stage { width: var(--shell); min-height: 0; height: 100%; padding-bottom: 35px; grid-template-columns: 1fr 1.05fr; gap: 40px; }
  .scroll-motion .delivery-copy { position: relative; display: grid; }
  .scroll-motion .delivery-panel { grid-area: 1 / 1; align-self: center; margin: 0; }
  .scroll-motion .delivery-panel h2, .scroll-motion .delivery-panel h3 { font-size: clamp(42px, 5.5vw, 76px); }
  .scroll-motion .delivery-panel:nth-child(1) { opacity: var(--copy-one-opacity, 1); transform: translate3d(0, var(--copy-one-y, 0px), 0); }
  .scroll-motion .delivery-panel:nth-child(2) { opacity: var(--copy-two-opacity, 0); transform: translate3d(0, var(--copy-two-y, 40px), 0); }
  .scroll-motion .delivery-panel:nth-child(3) { opacity: var(--copy-three-opacity, 0); transform: translate3d(0, var(--copy-three-y, 40px), 0); }
  .scroll-motion .delivery-illustration { margin: 0; width: 100%; height: 450px; perspective: 1000px; }
  .scroll-motion .sheet-front { z-index: 2; opacity: var(--front-opacity, 1); transform: translate3d(var(--front-x, 0px), var(--front-y, 0px), 0) rotate(var(--front-turn, -12deg)) scale(var(--front-scale, 1)); }
  .scroll-motion .sheet-back { opacity: var(--back-opacity, 1); transform: translate3d(var(--back-x, 0px), var(--back-y, 0px), 0) rotate(var(--back-turn, 14deg)) scale(var(--back-scale, 1)); }
  .scroll-motion .verification-sheet { position: absolute; z-index: 3; top: 55px; left: 12%; display: block; width: 78%; padding: 30px; border: 1px solid #fff6; border-radius: 22px; color: #393533; background: linear-gradient(130deg, #fffefb, #e9e0d5); box-shadow: 0 35px 80px #0006; opacity: var(--phase-two, 0); transform: translate3d(0, var(--verify-y, 60px), 0) rotate(var(--verify-turn, 8deg)) scale(var(--verify-scale, .8)); }
  .verification-sheet > span { color: #8e7762; font-size: 9px; letter-spacing: .16em; }
  .verification-sheet > strong { display: block; margin: 20px 0; font-size: 25px; font-weight: 550; }
  .verification-sheet > div { display: flex; align-items: center; gap: 14px; padding: 17px 0; border-top: 1px solid #54432c24; font-size: 13px; }
  .verification-sheet b { color: #9c8f82; font-size: 10px; font-weight: 400; }
  .verification-sheet i { margin-left: auto; color: #af6a30; font-style: normal; }
  .verification-sheet small { display: block; margin-top: 14px; color: #8c7b6b; font-size: 10px; }
  .scroll-motion .delivery-drive { position: absolute; z-index: 4; top: 10px; left: 20%; display: flex; flex-direction: column; justify-content: space-between; width: 65%; height: 345px; padding: 30px; border: 1px solid #ffffff58; border-radius: 28px; background: linear-gradient(140deg, #6c6660, #34312e 40%, #232220); box-shadow: 7px 10px 0 #4b4640, 0 30px 80px #0006; opacity: var(--phase-three, 0); transform: translate3d(0, var(--drive-y, 80px), 0) rotate(var(--drive-turn, 10deg)) scale(var(--drive-scale, .75)); }
  .delivery-drive > span { color: #c3b8ac; font-size: 8px; letter-spacing: .12em; }
  .delivery-drive strong { font-size: 58px; font-weight: 500; line-height: 1.1; letter-spacing: -.06em; }
  .delivery-drive strong span { color: #ffb173; }
  .delivery-drive > div { display: flex; align-items: center; gap: 9px; color: #c3b8ac; font-size: 10px; }
  .delivery-drive i { width: 5px; height: 5px; border-radius: 50%; background: #ffb173; box-shadow: 0 0 10px #ffb173; }
  .scroll-motion .delivery-receipt { z-index: 5; opacity: var(--phase-three, 0); transform: translate3d(0, var(--receipt-y, 70px), 0); }
  .scroll-motion .delivery-orbit { position: absolute; z-index: -1; display: block; width: 115%; aspect-ratio: 1; top: -10%; left: -8%; border: 1px solid #ffe2b71c; border-radius: 50%; transform: rotateX(58deg) rotate(var(--orbit-turn, -20deg)) scale(var(--orbit-scale, .9)); }
  .delivery-orbit::after { content: ''; position: absolute; inset: 12%; border: 1px solid #ffe2b710; border-radius: 50%; }
  .scroll-motion .delivery-chapters { position: absolute; bottom: 58px; left: 50%; transform: translateX(-50%); display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 0 0 18px; border-bottom: 1px solid #ffffff26; font-size: 11px; color: #b2aba4; }
  .delivery-chapters span:nth-child(1) { opacity: calc(.4 + var(--phase-one, 1) * .6); }
  .delivery-chapters span:nth-child(2) { opacity: calc(.4 + var(--phase-two, 0) * .6); text-align: center; }
  .delivery-chapters span:nth-child(3) { opacity: calc(.4 + var(--phase-three, 0) * .6); text-align: right; }
  .delivery-chapters i { position: absolute; width: 100%; height: 1px; bottom: -1px; left: 0; background: #f6b17b; transform: scaleX(var(--scene-progress, 0)); transform-origin: left; }
  .scroll-motion .delivery-summary { padding-top: 36px; }
  .scroll-motion .delivery-steps { margin-top: 36px; }
  .scroll-motion .services-showcase .showcase-heading { opacity: var(--reveal-opacity, 1); transform: translate3d(0, var(--reveal-y, 0px), 0); }
  .scroll-motion .minimal-services .service-card { opacity: var(--card-opacity, 1); transform: translate3d(0, var(--card-y, 0px), 0); }
  .scroll-motion .minimal-services .service-card:focus-visible { opacity: 1; transform: none; }
  @media (max-width: 840px) {
    .scroll-motion { --scene-top: 60px; }
    .scroll-motion .showcase-hero { height: 210svh; }
    .scroll-motion .showcase-copy { padding-top: 8svh; }
    .scroll-motion .showcase-art { top: 50%; width: 140%; }
    .scroll-motion .showcase-footnote { font-size: 10px; bottom: 64px; }
    .scroll-motion .showcase-footnote a { margin-right: 0; }
    .scroll-motion .hero-next h2 { font-size: clamp(40px, 7.5vw, 70px); }
    .scroll-motion .hero-next > p:last-child { font-size: 13px; }
    .scroll-motion .delivery-scroll { height: 310svh; }
    .scroll-motion .delivery-stage { grid-template-columns: 1fr; grid-template-rows: auto auto; align-content: center; gap: 22px; padding-bottom: 42px; }
    .scroll-motion .delivery-panel { text-align: center; }
    .scroll-motion .delivery-panel h2, .scroll-motion .delivery-panel h3 { margin-bottom: 14px; font-size: clamp(36px, 6vw, 54px); }
    .scroll-motion .delivery-panel .section-label { margin-bottom: 14px; font-size: 11px; }
    .scroll-motion .delivery-panel > p:last-child { font-size: 13px; }
    .scroll-motion .delivery-illustration { width: min(380px, 100%); height: 320px; margin: 0 auto; }
    .scroll-motion .data-sheet { width: 170px; height: 220px; padding: 22px; }
    .scroll-motion .sheet-front { top: 65px; left: 25px; transform: translate3d(calc(var(--front-x, 0px) * .6), calc(var(--front-y, 0px) * .3), 0) rotate(var(--front-turn, -12deg)) scale(var(--front-scale, 1)); }
    .scroll-motion .sheet-back { top: 40px; right: 25px; transform: translate3d(calc(var(--back-x, 0px) * .6), calc(var(--back-y, 0px) * .3), 0) rotate(var(--back-turn, 14deg)) scale(var(--back-scale, 1)); }
    .scroll-motion .model-symbol { font-size: 65px; }
    .scroll-motion .verification-sheet { top: 12px; left: 9%; width: 82%; padding: 23px; }
    .verification-sheet > strong { margin: 13px 0; font-size: 22px; }
    .verification-sheet > div { padding: 13px 0; font-size: 12px; }
    .verification-sheet small { margin-top: 10px; font-size: 9px; }
    .scroll-motion .delivery-drive { top: 3px; left: 19%; width: 63%; height: 246px; padding: 23px; border-radius: 22px; }
    .delivery-drive strong { font-size: 43px; }
    .delivery-drive > span { font-size: 7px; }
    .scroll-motion .delivery-receipt { bottom: 7px; right: 8px; padding: 16px 20px; }
    .scroll-motion .delivery-chapters { bottom: 58px; }
  }
  @media (max-width: 560px) {
    .scroll-motion .showcase-art { width: 180%; top: 52%; }
    .scroll-motion .hero-next h2 { font-size: clamp(37px, 10.5vw, 58px); }
    .scroll-motion .hero-next .section-label { font-size: 11px; }
    .scroll-motion .showcase-footnote a { display: inline; font-size: 10px; }
    .scroll-motion .showcase-footnote > span { max-width: 170px; text-align: left; font-size: 9px; }
    .scroll-motion .showcase-footnote { justify-content: space-between; }
    .scroll-motion .hero-scroll-cue { top: 45%; }
    .scroll-motion .delivery-panel h2, .scroll-motion .delivery-panel h3 { font-size: 38px; }
  }
  @media (max-height: 720px) {
    .scroll-motion .showcase-copy { padding-top: 28px; }
    .scroll-motion .showcase-art { top: 50%; width: min(800px, 130%); }
    .scroll-motion .hero-scroll-cue { display: none; }
    .scroll-motion .delivery-stage { gap: 12px; }
    .scroll-motion .delivery-panel h2, .scroll-motion .delivery-panel h3 { font-size: 36px; }
    .scroll-motion .delivery-panel > p:last-child { font-size: 12px; }
    .scroll-motion .delivery-illustration { height: 270px; transform: scale(.85); transform-origin: top center; margin-bottom: -35px; }
  }
}
@media (max-width: 560px) { .motion-toggle { right: 12px; bottom: 10px; padding: 7px 11px; font-size: 10px; } }
@media print {
  .motion-toggle { display: none; }
  .scroll-motion .scroll-scene { height: auto; }
  .scroll-motion .scene-pin { position: static; height: auto; overflow: visible; }
  .scroll-motion .hero-next, .scroll-motion .showcase-art, .scroll-motion .showcase-footnote { position: relative; inset: auto; transform: none; opacity: 1; }
  .scroll-motion .showcase-copy, .scroll-motion .delivery-panel { opacity: 1; transform: none; }
  .scroll-motion .delivery-copy { display: block; }
  .scroll-motion .delivery-panel + .delivery-panel { margin-top: 30px; }
  .scroll-motion .delivery-illustration, .scroll-motion .delivery-chapters, .scroll-motion .hero-scroll-cue { display: none; }
}
