/* One scene image at a time. The edge fill contains no duplicate ring/reflection. */
.hero-scene-plane{position:absolute;inset:0;transform-origin:50% 72%;will-change:transform;backface-visibility:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 100%)}
.hero-visual .hero-scene-plane img,.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transform:none!important;will-change:auto;-webkit-mask-image:none;mask-image:none}
.hero-film{visibility:hidden;pointer-events:none}
.hero.film-ready .hero-scene-plane img{visibility:hidden}
.hero.film-ready .hero-film{visibility:visible}
.hero.motion-paused .hero-scene-plane{will-change:auto}
.scene-toggle{position:absolute;z-index:11;left:max(24px,env(safe-area-inset-left));right:auto;bottom:max(20px,env(safe-area-inset-bottom));min-height:44px;padding:10px 16px;border:1px solid #f3efe757;border-radius:30px;color:#f3efe7;background:#23383ae8;font:500 .75rem/1.4 var(--sans);letter-spacing:.025em;cursor:pointer}
.scene-toggle[hidden]{display:none}
.scene-toggle:hover{background:#172b2c}
.scene-toggle:focus-visible{outline:2px solid #f3efe7;outline-offset:4px}
/* Remove only the hero booking row; retain the brand copy and header booking. */
.hero-cta{display:none}
.hero-copy{opacity:var(--copy-opacity,1);pointer-events:var(--copy-events,auto)}
.hero-copy:focus-within{opacity:1;pointer-events:auto}
.hero-cta:focus-visible{outline-color:var(--ivory);outline-offset:6px}
.hero-aside{opacity:var(--copy-opacity,1)}
.hero-ritual-note{left:50%;bottom:30px;padding-left:0;transform:translateX(-50%);white-space:nowrap;opacity:var(--copy-opacity,1)}
.hero-ritual-note::before{display:none}
@media(max-width:900px){
  .hero-scene-plane{-webkit-mask-image:none;mask-image:none}
  .hero-visual .hero-scene-plane img,.hero-film{object-position:50% 68%}
  .scene-toggle{left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom))}
  .hero-copy{left:50%;top:calc(var(--header) + clamp(24px,5.5svh,56px));width:min(430px,calc(100% - 48px));text-align:center;transform:translate3d(calc(-50% + var(--copy-x,0px)),var(--copy-y,0px),0) scale(var(--copy-scale,1));transform-origin:center top}
  .hero h1{font-size:clamp(3.5rem,16vw,4.6rem);line-height:.94}
  .hero-copy .hero-disciplines{margin:18px 0 22px;font-size:.6875rem;line-height:1.5;letter-spacing:.22em}
  .hero-rule{display:none}
  .hero-cta{width:252px;min-height:50px;padding:11px 22px;font-size:.75rem;letter-spacing:.1em;background:#23383ac7;border-color:#e0ceaa;backdrop-filter:none}
  .hero-cta:hover{background:#23383a}
  .scene-shade{background:linear-gradient(180deg,#172b2c55 0%,#172b2c0d 46%,transparent 65%)}
}
@media(max-width:1024px) and (max-height:540px) and (orientation:landscape){
  .hero{height:200svh}
  .hero-scene-plane{-webkit-mask-image:none;mask-image:none}
  .hero-visual{background:none}
  .hero-visual .hero-scene-plane img,.hero-film{object-position:50% 80%}
  .hero-aside,.hero-ritual-note,.hero-rule,.hero-copy .hero-kicker{display:none}
  .hero-copy{left:max(24px,var(--safe-inline));top:calc(var(--header) + 16px);width:min(280px,34vw);text-align:left;transform:translate3d(var(--copy-x,0px),var(--copy-y,0px),0) scale(var(--copy-scale,1));transform-origin:left top}
  .hero h1{font-size:clamp(2.8rem,7.5vw,3.8rem)}
  .hero-copy .hero-disciplines{margin:12px 0 16px;font-size:.625rem;line-height:1.5;letter-spacing:.16em;white-space:normal}
  .scene-shade{background:linear-gradient(90deg,#172b2c44,transparent 58%)}
  .hero-cta{width:236px;min-height:44px;margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  .hero-scene-plane{transform:none!important;will-change:auto}
  .hero.film-ready .hero-scene-plane img{visibility:visible}
  .hero-film,.scene-toggle{display:none!important}
}
@media(prefers-reduced-motion:reduce) and (max-width:900px){
  .hero-copy{transform:translate3d(-50%,0,0)!important}
}
@media(prefers-reduced-motion:reduce) and (max-width:1024px) and (max-height:540px) and (orientation:landscape){
  .hero,.cinema{height:100svh;min-height:0}
  .hero-copy{transform:none!important}
}
