/* FXCHS V3.23 / softer motion, straighter objects, responsive cinema composition. */

/* The rounded television frame is the contrast. Its controls and floating
   objects read as softly rounded rectangles, never exaggerated eggs. */
body.fxv2 .fxv2-world .fxv2-pano-hotspots>[data-v2-hotspot].fxv2-bubble-morph,
body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-world-copy.fxv2-bubble-morph{
  clip-path:none!important;
  -webkit-clip-path:none!important;
  border-radius:18px 21px 17px 19px!important;
  border:1px solid rgba(235,250,243,.48)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 10px 35px #0005!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots>[data-v2-hotspot].fxv2-bubble-morph .fxv2-morph-outline{
  display:none!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots>a[data-v2-hotspot]:not(.fxv257-room-teaser){
  border-radius:12px 14px 11px 13px!important;
}
body.fxv2 .fxv2-hybrid-panel :is(.fxv2-card,.fxv2-card-link,.fxv2-button),
body.fxv2 .fxv2-detail-panel :is(.fxv2-card,.fxv2-card-link,.fxv2-button),
body.fxv2 .fxv321-quick,body.fxv2 .fxv322-map-card,
body.fxv2 .fxv322-offer-bridge,body.fxv2 .fxv322-music-tracks{
  border-radius:clamp(11px,1.45vw,17px)!important;
}
body.fxv2 .fxv2-world .fxv2-world-open,
body.fxv2 .fxv2-page-intro .fxv2-button,
body.fxv2 .fxv2-archive-search button,
body.fxv2 .fxv2-hybrid-panel button:not([data-v2-menu-expand]){
  border-radius:10px 12px 9px 11px!important;
}

/* One large info window, two middle teasers, smaller links between them. The
   360 collision solver still owns their exact positions during a swipe. */
body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-world-copy.fxv2-bubble-morph.fxv323-home-story{
  box-sizing:border-box!important;
  width:min(370px,36vw)!important;
  max-width:calc(100vw - 36px)!important;
  min-height:0!important;
  padding:clamp(14px,1.9vw,25px)!important;
  text-align:center!important;
  background:linear-gradient(145deg,rgba(4,17,15,.77),rgba(23,43,37,.65))!important;
  backdrop-filter:blur(7px) saturate(1.08)!important;
}
body.fxv2 .fxv323-home-story>small{display:block;letter-spacing:.13em;font-size:10px;color:#a2f1c4;font-weight:800;margin-bottom:7px}
body.fxv2 .fxv323-home-story h1{font-size:clamp(22px,2.25vw,34px)!important;line-height:1.05!important;margin:0 0 8px!important;letter-spacing:-.04em}
body.fxv2 .fxv323-home-story p{font-size:clamp(11px,1.04vw,14px)!important;line-height:1.48!important;margin:0 0 11px!important;max-width:32ch}
body.fxv2 .fxv323-home-story .fxv2-world-open{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:37px!important;padding:7px 16px!important;
  margin:0!important;border-radius:10px!important;
  background:rgba(230,255,238,.1)!important;border:1px solid rgba(233,255,242,.55)!important;
  font-size:12px!important;text-decoration:none!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots>a.fxv257-room-teaser.fxv323-home-teaser{
  box-sizing:border-box!important;width:clamp(150px,17.5vw,215px)!important;
  max-width:50vw!important;min-height:110px;
  border-radius:14px 17px 13px 15px!important;
  padding:12px 13px!important;
  background:linear-gradient(145deg,#09221bdc,#1a3830ca)!important;
}
body.fxv2 .fxv323-home-teaser strong{font-size:clamp(12px,1.1vw,15px)!important;line-height:1.22!important}
body.fxv2 .fxv323-home-teaser em{font-size:11px!important;line-height:1.35!important}

/* The film is always full bleed. These are tiny displacement coordinates,
   independent of its existing opacity and scale transitions. */
body.fxv2 .fxv321-video-player{
  translate:var(--fxv323-video-x,0px) var(--fxv323-video-y,0px);
}

/* A discreet line instrument at the top of the menu. */
body.fxv2 .fxv323-fluidity{
  position:relative;z-index:4;width:min(275px,calc(100% - 85px));
  margin:0 0 3px 13px;padding:3px 2px 8px;box-sizing:border-box;
  color:#d9ede2;display:grid;gap:3px;
}
body.fxv2 .fxv323-fluidity>label{font-size:10px;line-height:1.2;letter-spacing:.08em;font-weight:700;color:#daece0}
body.fxv2 .fxv323-fluidity-control{display:flex;align-items:center;gap:6px}
body.fxv2 .fxv323-fluidity-control button{
  display:grid;place-items:center;flex:0 0 20px;min-width:20px;min-height:26px;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  background:transparent!important;color:#e4f3e9!important;padding:0!important;
  font:500 18px/1 system-ui,sans-serif!important;cursor:pointer;
}
body.fxv2 .fxv323-fluidity-control input[type=range]{
  appearance:none;-webkit-appearance:none;width:100%;flex:1 1 auto;
  margin:0;padding:0;height:22px;min-width:0;background:transparent;cursor:pointer;
}
body.fxv2 .fxv323-fluidity-control input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#8cb2ab,#d9ffdf);border-radius:0}
body.fxv2 .fxv323-fluidity-control input[type=range]::-moz-range-track{height:2px;background:linear-gradient(90deg,#8cb2ab,#d9ffdf);border-radius:0}
body.fxv2 .fxv323-fluidity-control input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border:1.5px solid #fff;border-radius:50%;background:#163b2d;box-shadow:0 0 0 2px #234b35;
}
body.fxv2 .fxv323-fluidity-control input[type=range]::-moz-range-thumb{width:10px;height:10px;border:1.5px solid #fff;border-radius:50%;background:#163b2d;box-shadow:0 0 0 2px #234b35}
body.fxv2 .fxv323-fluidity-control :is(button,input):focus-visible{outline:2px solid #aeebca;outline-offset:2px}

/* Footprints wander on the underlay. The navigation and links always remain
   above them and receive pointer events normally. */
body.fxv2 .fxv2-footer-foxpath{display:none!important}
body.fxv2 .fxv2-footer-compact,body.fxv2 .fxv2-menu-shell{isolation:isolate}
body.fxv2 .fxv323-fox-layer{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:layout paint}
body.fxv2 .fxv323-fox-layer i{
  display:block;position:absolute;left:0;top:0;pointer-events:none;
  background:url('/assets/fox-paw.png') center/contain no-repeat;
  width:var(--v323-paw-size,29px);height:var(--v323-paw-size,29px);
  transform:translate(-50%,-50%) rotate(var(--v323-paw-angle,0deg));
  opacity:0;animation:fxv323-fox-step var(--v323-paw-time,5s) ease-in-out both;
  animation-delay:var(--v323-paw-delay,0s);
}
body.fxv2 .fxv2-footer-compact>.fxv2-social-nav,
body.fxv2 .fxv2-footer-compact>.fxv2-legal-nav{position:relative;z-index:1}
body.fxv2 .fxv2-menu-shell>.fxv2-menu-list,
body.fxv2 .fxv2-menu-shell>.fxv2-menu-results,
body.fxv2 .fxv2-menu-shell>.fxv2-menu-empty{position:relative;z-index:1}
body.fxv2 .fxv2-menu-shell>.fxv2-menu-exit{z-index:8}
@keyframes fxv323-fox-step{
  0%,8%{opacity:0;scale:.88}
  13%,42%{opacity:var(--v323-paw-opacity,.26);scale:1}
  85%,100%{opacity:0;scale:.94}
}

@media(max-width:690px){
  body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-world-copy.fxv2-bubble-morph.fxv323-home-story{
    width:min(250px,64vw)!important;padding:13px 15px!important;
  }
  body.fxv2 .fxv323-home-story h1{font-size:23px!important}
  body.fxv2 .fxv323-home-story p{font-size:11px!important;line-height:1.37!important}
  body.fxv2 .fxv2-world .fxv2-pano-hotspots>a.fxv257-room-teaser.fxv323-home-teaser{width:145px!important;max-width:49vw!important;min-height:0;padding:9px 10px!important}
  body.fxv2 .fxv323-fluidity{width:min(235px,calc(100% - 70px));margin-left:7px}
  body.fxv2 .fxv321-current-caption{max-width:min(300px,65vw)!important}
}
@media(prefers-reduced-motion:reduce){
  body.fxv2 .fxv321-video-player{translate:0 0!important}
  body.fxv2 .fxv323-fox-layer{display:none!important}
}
