/* The WebGL plane and the DOM cover share a measured endpoint. */
.sector-page{animation:none!important;transition:none}
body[data-navigation-state]:not([data-navigation-state=idle]){overflow-x:clip}
body.motion-opening #home{display:block;position:fixed;inset:0}
body.motion-opening #sector-page{opacity:0;transition:opacity .38s ease}
body.motion-opening.motion-reveal #sector-page{opacity:1}
body.motion-opening .campaign-hero-picture{visibility:hidden}
body.motion-opening.motion-handoff .campaign-hero-picture{visibility:visible}
body.motion-opening .page-header .header-actions,body.motion-opening .quiet-hero-caption{opacity:0}
body.motion-opening.motion-handoff .page-header .header-actions,body.motion-opening.motion-handoff .quiet-hero-caption{opacity:1}
body.webgl-ready #gallery-world,body.gallery-return #gallery-world{animation:none!important}
body.motion-opening:not(.motion-handoff) #gallery-world{opacity:1;visibility:visible;z-index:100;transition:none}
body.motion-handoff #gallery-world{opacity:0;visibility:visible;transition:opacity .22s ease}
body.motion-opening #home .home-header,body.motion-opening #home .gallery-controls,body.motion-opening #home .sector-tabs{opacity:0;transition:opacity .3s ease}
body.motion-closing .page-header .header-actions,body.motion-closing .quiet-hero-caption,
body.motion-closing .hero-cover-controls,body.motion-closing .club-hero-price{opacity:0;transition:opacity .22s ease}
body.motion-closing #page-content> :not(.campaign-hero){opacity:0;transition:opacity .3s ease}
body.gallery-transition #gallery-backdrop{z-index:90}
body.motion-handoff #gallery-backdrop{z-index:0}
body.gallery-transition #home,body.gallery-transition #sector-page{pointer-events:none}
body.motion-closing.gallery-return #gallery-world{opacity:1;visibility:visible;transition:none}
body.motion-home-ready #home .home-header,body.motion-home-ready #home .gallery-controls,body.motion-home-ready #home .sector-tabs{opacity:1;transition:opacity .45s ease}
.home-header,.gallery-controls,.sector-tabs{transition:opacity .45s ease}
/* Keep the route tabs above the legal dock so both remain clickable. */
#home .sector-tabs{bottom:50px}
body.motion-closing .legal-home-dock{opacity:0;pointer-events:none}
body.motion-home-ready .legal-home-dock{opacity:1;transition:opacity .45s ease}
@media(max-width:700px){
  #home .sector-tabs{bottom:40px}
  #home .gallery-controls{top:min(calc(var(--gallery-card-bottom) + 38px),calc(100svh - 118px))}
}
.sector-page .motion-card{opacity:0;transform:translate3d(0,22px,0);transition:opacity .65s ease var(--motion-delay,0ms),transform .8s cubic-bezier(.22,1,.36,1) var(--motion-delay,0ms),border-color .25s ease}
.sector-page .motion-card.motion-visible{opacity:1;transform:translate3d(0,0,0)}
@media(hover:hover){.sector-page .motion-card.motion-visible:hover{transform:translate3d(0,-3px,0);transition-delay:0s}}
#dialog[open]{animation:dialog-unfold .52s cubic-bezier(.22,1,.36,1)!important;transform-origin:50% 65%}
#dialog::backdrop{animation:dialog-backdrop-in .38s ease}
@keyframes dialog-unfold{from{opacity:0;transform:perspective(1200px) translateY(22px) scale(.95) rotateX(3deg)}to{opacity:1;transform:perspective(1200px) translateY(0) scale(1) rotateX(0deg)}}
@keyframes dialog-backdrop-in{from{opacity:0}to{opacity:1}}
@supports(interpolate-size:allow-keywords){
  .producer-card,.glass-fold{interpolate-size:allow-keywords}
  .producer-card::details-content,.glass-fold::details-content{height:0;opacity:0;overflow:clip;transition:height .42s cubic-bezier(.22,1,.36,1),opacity .28s,content-visibility .42s;transition-behavior:allow-discrete}
  .producer-card[open]::details-content,.glass-fold[open]::details-content{height:auto;opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .sector-page .motion-card{opacity:1;transform:none!important;transition:none!important}
  #dialog[open],#dialog::backdrop{animation:none!important}
  body.motion-opening #sector-page{transition:none}
}
