/* Hero video and progressive page choreography. */
.hero-scroll{position:relative}
@media(prefers-reduced-motion:no-preference){
  .motion-enhanced[data-hero-pin="on"] .hero-scroll{height:calc(var(--hero-height,700px) + var(--hero-scroll-distance,100svh))}
  .motion-enhanced[data-hero-pin="on"] .hero-scroll>.hero{position:sticky;top:var(--hero-pin-top,0px)}
}
.hero-art{inset:0;width:100%;height:100%;overflow:hidden;z-index:0}
.hero-art img{inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 70%;max-width:100%;opacity:1;transform:none;transform-origin:75% 70%}
.hero-art::after{z-index:2;background:linear-gradient(90deg,rgba(13,17,15,.52),rgba(13,17,15,.22) 35%,transparent 62%),linear-gradient(0deg,rgba(13,17,15,.58),transparent 24%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:75% 70%;opacity:0;pointer-events:none}
.video-ready .hero-video{opacity:1}
.video-ready .hero-video.hero-video-pending{opacity:0}
.hero-copy{animation:none;transform:translate3d(0,var(--hero-copy-y,0px),0);opacity:var(--hero-copy-opacity,1);will-change:transform}
.hero-line{display:block;overflow:clip;padding:.1em 0;margin:-.1em 0}
.hero-line>span,.hero-line>em{display:block}
.hero-caption{animation:none;top:32px;bottom:auto;right:5%;z-index:1}
.hero-bottom{gap:20px;z-index:3}
.hero-bottom-actions{display:flex;align-items:center;gap:24px}
.motion-toggle{border:0;border-bottom:1px solid #7c8277;background:transparent;padding:5px 0;color:#c7ccbf;font-size:12px;letter-spacing:.015em;cursor:pointer}
.motion-toggle:hover{color:var(--copper);border-color:var(--copper)}
.motion-toggle[hidden]{display:none}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--copper);transform:scaleX(0);transform-origin:left;z-index:90;pointer-events:none}
.motion-reveal{transition:opacity .8s cubic-bezier(.2,.65,.2,1),translate .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-enhanced[data-motion="on"] .reveal-waiting{opacity:0;translate:0 35px}
.reveal-complete{opacity:1;translate:0 0}
.kit-visual img,.philosophy-art img{transform:translate3d(0,var(--image-pan,0px),0) scale(1.105);transform-origin:70% 50%;will-change:transform}
.footer-wordmark{transition-duration:1.25s}
.footer-wordmark.reveal-waiting{translate:0 50px}
.card-photo{transform:perspective(1000px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .5s cubic-bezier(.2,.65,.2,1)}
.card-link span{transition:transform .35s ease}
.product-card:hover .card-link span{transform:rotate(90deg)}
.text-link,.header-contact{background-image:linear-gradient(var(--copper),var(--copper));background-repeat:no-repeat;background-size:0 1px;background-position:left bottom;transition:background-size .35s ease,color .25s ease}
.text-link:hover,.header-contact:hover{background-size:100% 1px}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.button-copper:hover{box-shadow:0 8px 22px #0002;transform:translateY(-3px)}
.faq details[open]>p{animation:answer-arrive .35s ease both}
@keyframes answer-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  html:not([data-motion="paused"]) .hero-line>span,html:not([data-motion="paused"]) .hero-line>em{animation:hero-line-in 1.15s cubic-bezier(.16,1,.3,1) both;animation-delay:.08s}
  html:not([data-motion="paused"]) .hero-line:nth-child(2)>span{animation-delay:.19s}
  html:not([data-motion="paused"]) .hero-line:nth-child(3)>em{animation-delay:.3s}
  html:not([data-motion="paused"]) .hero-copy>.eyebrow,html:not([data-motion="paused"]) .hero-description,html:not([data-motion="paused"]) .hero-actions,html:not([data-motion="paused"]) .hero-caption{animation:hero-detail-in 1s .45s both}
  html:not([data-motion="paused"]) .hero-actions{animation-delay:.6s}
  @keyframes hero-line-in{from{transform:translateY(112%) rotate(2deg)}to{transform:translateY(0) rotate(0)}}
  @keyframes hero-detail-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
}
html[data-motion="paused"] .hero-copy,html[data-motion="paused"] .card-photo{transform:none!important;opacity:1!important}
html[data-motion="paused"] .motion-reveal{opacity:1!important;translate:none!important;transition:none!important}
html[data-motion="paused"] .kit-visual img,html[data-motion="paused"] .philosophy-art img{transform:none!important}
html[data-motion="paused"] *,html[data-motion="paused"] *::before,html[data-motion="paused"] *::after{animation:none!important;transition:none!important}
html[data-motion="paused"]{scroll-behavior:auto}
html[data-motion="paused"] .card-photo:hover img,html[data-motion="paused"] .button:hover,html[data-motion="paused"] .product-card:hover .card-link span{transform:none!important}
@media(max-width:760px){
  .hero-art{top:auto;bottom:0;height:455px;width:100%;left:0;right:0}
  .hero-art img{inset:0;object-position:75% 70%;transform-origin:75% 70%}
  .hero-art::after{background:linear-gradient(180deg,#0d110f,rgba(13,17,15,.2) 17%,transparent 32%,transparent 73%,rgba(13,17,15,.8))}
  .hero-bottom{left:6%;right:6%;justify-content:flex-end}
  .hero-bottom-actions{width:100%;justify-content:space-between;gap:16px}
  .hero-bottom-actions>a{font-size:9px;letter-spacing:.06em}
  .hero-bottom-actions>a span{margin-left:7px;font-size:18px}
  .motion-toggle{font-size:12px}
  .motion-enhanced[data-motion="on"] .reveal-waiting{translate:0 22px}
  .hero-copy{will-change:auto}
}
@media(max-width:1100px){.hero-caption{display:none}}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}.hero-copy{transform:none!important;opacity:1!important}
  .motion-reveal{opacity:1!important;translate:none!important}
  .kit-visual img,.philosophy-art img,.card-photo{transform:none!important}
  .reading-progress{display:none}
  .card-photo:hover img,.button:hover,.product-card:hover .card-link span{transform:none!important}
}
@media print{.hero-video,.motion-toggle,.reading-progress{display:none}.motion-reveal{opacity:1!important;translate:none!important}}
