/* Short, deliberate motion follows the visitor's progress. No animation library. */
.story-route{margin:28px 0 5px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-years{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:1px}
.story-route svg{display:block;width:100%;height:auto;margin:8px 0 12px;overflow:visible}
.story-route p{font-size:12px;line-height:1.7;color:var(--muted);max-width:360px}
.connector-bed{stroke:#ccd0c1;stroke-width:3;stroke-linecap:round}
.connector-progress{stroke:#d1b900;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--route-progress,0))}
[data-scroll-route] circle{fill:#171817;stroke:#f2d300;stroke-width:3}
[data-scroll-route] .route-destination{fill:#f5f6ef;stroke:#b9c0aa;transition:fill .25s,stroke .25s}
.route-arrived .route-destination{fill:#171817;stroke:#f2d300}
.contact-route{max-width:850px;margin:0 auto 55px}
.contact-route .route-years{font-size:9px;letter-spacing:1.5px}
.contact-route svg{display:block;width:100%;height:auto;margin-top:15px;overflow:visible}
.contact-route .connector-bed{stroke:#d1bd34;stroke-width:16}
.contact-route .connector-dashes{stroke:#f4e06a;stroke-width:1;stroke-dasharray:7 7}
.contact-route .connector-progress{stroke:#171817;stroke-width:3}
.contact-route circle{stroke:#171817}
.contact-route .route-destination{fill:#f2d300;stroke:#b1a128}
.contact-route.route-arrived .route-destination{fill:#171817;stroke:#171817}
.footer-story{max-width:240px;font-size:11px!important;line-height:1.8!important;margin-top:13px!important;color:#a6aa9e!important}
.product-grid.business-only{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid.business-only .product-card{grid-column:span 1}.business-only .product-photo{height:270px}
@media(max-width:760px){.contact-route{margin-bottom:35px;padding:0 6px}.contact-route .route-years{font-size:8px;letter-spacing:.7px}.story-route{margin:23px 0 3px;padding:20px 0}.story-route p{font-size:11px}.business-only .product-photo{height:210px}}
@media(max-width:520px){.product-grid.business-only{grid-template-columns:1fr}.business-only .product-photo{height:230px}}
@media(prefers-reduced-motion:reduce){.connector-progress{stroke-dashoffset:0!important}[data-scroll-route] .route-destination{transition:none;fill:#171817;stroke:#f2d300}}
.hero-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:435px;margin:25px 0 0;padding:0;list-style:none}
.hero-process li{position:relative;display:flex;flex-direction:column;gap:9px;font-size:11px;line-height:1.4;font-weight:600}
.hero-process li:not(:last-child):after{content:'';position:absolute;top:11px;left:32px;right:0;height:1px;background:var(--line)}
.hero-process li:not(:last-child):before{content:'';position:absolute;z-index:1;top:10px;left:32px;right:0;height:3px;background:linear-gradient(90deg,transparent 20%,var(--yellow) 50%,transparent 80%);background-size:220% 100%;animation:process-link 6s linear infinite;animation-delay:calc(var(--phase)*2s);animation-play-state:paused}
.process-node{display:grid;place-items:center;width:23px;height:23px;border:1px solid #b7b9ae;border-radius:50%;font-size:8px;font-weight:700;font-variant-numeric:tabular-nums;animation:process-node 6s ease-in-out infinite;animation-delay:calc(var(--phase)*2s);animation-play-state:paused}
.hero-process.in-view .process-node,.hero-process.in-view li:before{animation-play-state:running}
.scene-caption{right:24px}
.scene-caption strong{display:block;white-space:pre-line;min-height:2.5em}
.scene-button{position:relative;overflow:hidden;transition:background .2s,box-shadow .2s}
.scene-autoplay .scene-button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--black);transform:scaleX(var(--scene-progress,0));transform-origin:left;opacity:.68}
.scene-button:focus-visible{outline:2px solid var(--black);outline-offset:3px}
.scene-index span{font-variant-numeric:tabular-nums}
.road-traveler{fill:var(--yellow);stroke:#fff5c4;stroke-width:2;filter:drop-shadow(0 0 7px #f2d30099)}
.step-marker{transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.journey-step.is-current .step-marker{background:var(--yellow);color:var(--black);border-color:var(--yellow);box-shadow:0 0 0 10px #171817bb,0 0 0 11px #f2d30055}
.journey-step.is-complete .step-marker{border-color:var(--yellow);color:var(--yellow)}
.journey-step h3{transition:color .25s}
.journey-step.is-current h3{color:var(--yellow)}
.reveal{transition-duration:.48s;transition-timing-function:cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .will-reveal{transform:translateY(22px)}
.button .icon,.path-icon,.product-icon{transition:transform .22s ease}
.button:active{transform:translateY(0) scale(.98);box-shadow:none}
.scene-button:active{box-shadow:inset 0 0 0 2px #17181722}
.product-card{transition-property:opacity,transform,border-color,box-shadow;transition-duration:.48s,.48s,.22s,.22s}
.product-photo img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){
  .button:hover .icon:last-child{transform:translateX(4px)}
  .path-item:hover .path-icon{transform:translateY(-4px)}
  .product-card:hover .product-icon{transform:rotate(-6deg)}
  .product-card:hover .product-photo img{transform:scale(1.04)}
  .product-card:hover{border-color:#a39537;box-shadow:0 12px 28px #1718170a}
}
@keyframes process-link{0%,8%{background-position:100% 0;opacity:0}15%,33%{opacity:1}42%,100%{background-position:-120% 0;opacity:0}}
@keyframes process-node{0%,30%{background:var(--yellow);border-color:var(--yellow);box-shadow:0 0 0 4px #f2d30016}42%,100%{background:transparent;border-color:#b7b9ae;box-shadow:0 0 0 0 transparent}}
html.motion-is-paused{scroll-behavior:auto}
.motion-paused .road-traveler{opacity:0}
.motion-paused .reveal{transition:none}
.page-hidden *, .page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}
@media(max-width:760px){
  .hero-process{max-width:435px;margin-top:21px;gap:11px}
  .hero-process li{font-size:10px}
  .scene-button{min-width:44px;padding-inline:8px}
  .scene-button.active{flex:0 0 auto}
  .scene-button .icon{flex-shrink:0}
  .journey-line{background:#f2d30030;overflow:hidden}
  .journey-line:after{content:'';position:absolute;inset:0;background:var(--yellow);transform:scaleY(var(--journey-progress,0));transform-origin:top}
  .journey-step.is-current .step-marker{box-shadow:0 0 0 7px var(--black),0 0 0 8px #f2d30055}
  .scene-caption strong{font-size:clamp(19px,5vw,25px)}
}
@media(max-width:389px){
  .scene-button.active{flex:1}
  .scene-button.active span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .process-node,.hero-process li:before{animation:none!important}
  .road-traveler,.scene-autoplay .scene-button.active:after{display:none}
  .road-progress{stroke-dashoffset:0!important}
  .journey-line:after{transform:scaleY(1)}
  .product-card,.step-marker,.journey-step h3,.button .icon,.path-icon,.product-icon,.product-photo img{transition:none}
}
