/* Photograph and foreground share one coordinate system at every crop. */
.hero{--photo-x:54%;--photo-y:25%;--hero-parallax:0px;--title-drift:0px;min-height:720px;background:#171717}
.hero-depth{position:absolute;inset:0;overflow:hidden;transform:translate3d(0,var(--hero-parallax),0);will-change:transform;pointer-events:none}
.hero-photo{z-index:0}.hero-cut{z-index:3}
.photo-canvas{position:absolute;width:var(--photo-width);height:var(--photo-height);left:var(--photo-left);top:var(--photo-top);pointer-events:none}
.photo-canvas>img{position:absolute;inset:0;z-index:auto;width:100%;height:100%;max-width:none;object-fit:fill;will-change:auto;transform:none;filter:none;animation:none}
.hero-clip-defs{position:absolute;width:0;height:0;pointer-events:none}
.subject-canvas>img{clip-path:url(#hero-subject-clip)}
.hero-shade{z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.16),transparent 27%,transparent 71%,rgba(0,0,0,.4))}
.hero-copy{position:absolute;inset:0;z-index:2;padding:0;pointer-events:none;transform:translate3d(0,var(--title-drift),0)}
.hero-copy>.eyebrow{position:absolute;left:var(--pad);top:122px;margin:0;animation:small-arrive .7s cubic-bezier(.16,1,.3,1) .1s both}
.hero h1{position:absolute;left:var(--pad);right:var(--pad);top:var(--title-top,25%);font-size:clamp(78px,12.6vw,226px);line-height:.9;letter-spacing:-.065em;width:auto;max-width:none;margin:0}
.hero h1>.title-mask{display:block;width:100%;overflow:hidden;padding:0 .06em .12em 0;margin-bottom:-.12em}
.title-line{display:block;width:fit-content;white-space:nowrap;animation:title-arrive .9s cubic-bezier(.16,1,.3,1) .06s both}
.title-mask:nth-child(2) .title-line{animation-delay:.14s}
.hero h1 sup{top:-1.85em}.hero-bottom{z-index:5}.hero-bottom>.button,.hero-index{animation:small-arrive .8s cubic-bezier(.16,1,.3,1) .22s both}
@keyframes title-arrive{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes small-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.header{animation:small-arrive .65s cubic-bezier(.16,1,.3,1) .12s both}
.desktop-nav a[aria-current="location"]:after{right:0;background:var(--red)}
.letter-word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.12em;margin-bottom:-.12em;white-space:nowrap}
.letter{display:inline-block;transform:translateY(112%);transition:transform .78s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--letter-index)*26ms)}
.section-heading.is-visible .letter,.motion-heading.is-visible .letter{transform:translateY(0)}
.section-heading.motion-ready .rule{transform:scaleX(0);transform-origin:left center;transition:transform .78s cubic-bezier(.16,1,.3,1) .16s}
.section-heading.is-visible .rule{transform:scaleX(1)}
.section-heading .asterisk{transition:transform .9s cubic-bezier(.16,1,.3,1)}
.section-heading.motion-ready:not(.is-visible) .asterisk{transform:rotate(-90deg)}
.motion-reveal{transition:opacity .7s ease,translate .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal:not(.is-visible){opacity:0;translate:0 28px}
.cover-button{overflow:visible}.cover-viewport{display:block;overflow:hidden}.cover-viewport img{width:100%;aspect-ratio:1;object-fit:cover}
.motion-reveal .cover-viewport>img,.release-card.motion-reveal img,.product.motion-reveal img,.soboda-image.motion-reveal img{scale:1.075;transition:scale .95s cubic-bezier(.16,1,.3,1),transform .5s ease}
.motion-reveal.is-visible .cover-viewport>img,.release-card.motion-reveal.is-visible img,.product.motion-reveal.is-visible img,.soboda-image.motion-reveal.is-visible img{scale:1}
.menu-dialog[open]{animation:menu-arrive .45s cubic-bezier(.16,1,.3,1) both}.menu-dialog[open] nav>a{animation:small-arrive .6s cubic-bezier(.16,1,.3,1) both}.menu-dialog[open] nav>a:nth-child(2){animation-delay:45ms}.menu-dialog[open] nav>a:nth-child(3){animation-delay:90ms}.menu-dialog[open] nav>a:nth-child(4){animation-delay:135ms}
@keyframes menu-arrive{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@media(min-width:1500px){.hero{--photo-y:28%}}
@media(max-width:640px){.hero{--photo-x:55%;--photo-y:37%;height:100svh;min-height:650px;max-height:1000px}.hero-copy{padding:0}.hero-copy>.eyebrow{top:104px;font-size:11px}.hero h1{font-size:13.6vw;line-height:.97}.hero-bottom{bottom:calc(28px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.hero-depth,.hero-copy{transform:none!important;will-change:auto;animation:none!important}.title-line,.letter{transform:none!important;animation:none!important}.motion-reveal{opacity:1!important;translate:none!important}.section-heading.motion-ready .rule{transform:none!important}.motion-reveal img{scale:1!important}.letter-word{overflow:visible}.section-heading .asterisk{transform:none!important}}
