.studio-link{color:#002f87;font-weight:600;text-decoration:none;padding:8px}
.preview-tools{grid-template-columns:1fr auto 1fr}
.preview-tools>div{justify-self:end}
html[data-page-mode=standalone] .preview-tools{display:none}
/* The shared template must not show other attractions while its page settings
   are loading. Keep the final layout in place beneath the branded status. */
.storefront-loading{display:none;position:absolute;inset:180px 24px auto;z-index:2;text-align:center;color:#355479;font-size:16px;font-weight:600;line-height:1.5}
.storefront-loading-help{margin-top:8px;font-size:12px;font-weight:400}
html[data-page-mode=standalone]:not([data-storefront-ready=true]) #olympus-page main{visibility:hidden}
html[data-page-mode=standalone]:not([data-storefront-ready=true]) .storefront-loading{display:block}
@media(max-width:760px){.storefront-loading{top:160px}}
.catalog-error{background:#fff2e6;border:1px solid #ebbd91;border-radius:16px;padding:20px;color:#683d1a}
.ticket-offer-badge{display:inline-flex;margin:9px 0 2px;padding:6px 10px;border-radius:999px;background:#e5f8f1;color:#08745f;font-size:11px;font-weight:750;line-height:1.35}
.attraction-tile{border-radius:var(--studio-radius,28px)!important}
.attraction-grid{gap:var(--studio-gap,24px)!important}
.attraction-grid[data-layout=featured][data-count="3"]>.arrival{grid-column:auto}
.attraction-grid[data-layout=featured][data-count="3"]>.arrival:has(.park-tile){grid-column:1/-1}
.no-waves .ticket-waves{display:none}
.hero-image{transition-duration:var(--hero-fade,1.8s);object-position:var(--studio-focal-desktop,50% 50%)!important}
#olympus-page{--track-opacity:var(--studio-art-desktop,.7)}
/* One uninterrupted canvas avoids pale image panels around the transparent logo.
   Keep the portrait within its native resolution, with its own phone framing. */
#olympus-page[data-background=water] .track-art-left{display:block;position:fixed;inset:0;width:100%;height:100svh;background-image:url('/attractions-assets/park-icarus-tower-v2.png');background-repeat:no-repeat;background-size:auto min(1400px,125svh);background-position:left max(-230px,calc(50vw - 1060px)) top 55px;transform:none;opacity:calc(var(--track-opacity) * .19);mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 85%,transparent)}
#olympus-page[data-background=water] .track-art-right{display:none}
#olympus-page[data-background=icarus-character] .track-art-left{display:block;position:fixed;inset:0;width:100%;height:100svh;background-image:url('/attractions-assets/park-icarus-character-v1.png');background-repeat:no-repeat;background-size:auto max(1000px,115svh);background-position:left max(-300px,calc(50vw - 1060px)) top 45px;transform:none;opacity:calc(var(--track-opacity) * .23);mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 86%,transparent)}
#olympus-page[data-background=icarus-character] .track-art-right{display:none}
#olympus-page[data-background=mixed] .track-art-left,#olympus-page[data-background=race-mountain] .track-art-left{display:block;position:absolute;inset:0;width:100%;height:100%;background-image:url('/attractions-assets/race-mountain-environment.png');background-size:100% 100%;background-position:center top;opacity:calc(var(--track-opacity) * .28);mask-image:linear-gradient(to bottom,#000,#000 88%,transparent)}
#olympus-page[data-background=mixed] .track-art-right,#olympus-page[data-background=race-mountain] .track-art-right{display:none}
#olympus-page[data-background=robots]{--helmet-height:max(1050px,112svh);--helmet-width:calc(var(--helmet-height) * .666667)}
#olympus-page[data-background=robots] .track-art{display:block;position:fixed;width:var(--helmet-width);height:var(--helmet-height);background-size:100% 100%;background-position:center top;transform:none;opacity:calc(var(--track-opacity) * .18);mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 80%,transparent)}
#olympus-page[data-background=robots] .track-art-left{left:max(-310px,calc(50% - 1140px));right:auto;top:-80px;background-image:url('/attractions-assets/metal-sculpture-profile-v1.png')}
#olympus-page[data-background=robots] .track-art-right{right:max(-350px,calc(50% - 1180px));left:auto;top:35px;background-image:url('/attractions-assets/metal-sculpture-face-v2.png')}
#olympus-page[data-custom-background=true] .track-art-left{display:block;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-image:var(--studio-bg-desktop)!important;background-position:center top!important;background-size:cover!important;opacity:var(--track-opacity)!important}
#olympus-page[data-custom-background=true] .track-art-right{display:none}
.attraction-grid[data-layout=grid]>.arrival{grid-column:auto}
.attraction-grid[data-layout=grid]{grid-template-columns:repeat(3,minmax(0,1fr))}
.attraction-grid[data-layout=grid] .park-tile{display:block}
.attraction-grid[data-layout=grid] .park-tile .attraction-content{display:block}
.attraction-grid[data-layout=grid] .park-tile .attraction-photo{aspect-ratio:1.9;height:auto}
.attraction-grid[data-layout=grid] .park-tile .quantity-row{margin-top:19px}
.attraction-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.attraction-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.attraction-grid[data-count="2"]>.arrival:last-child{grid-column:auto}
.attraction-grid[data-layout=carousel]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:35px;margin-bottom:-20px}
.attraction-grid[data-layout=carousel]>.arrival{min-width:min(86%,470px);scroll-snap-align:start;flex:1}
.attraction-grid[data-layout=carousel] .park-tile{display:block}
.attraction-grid[data-layout=carousel] .park-tile .attraction-content{display:block}
.attraction-grid[data-layout=carousel] .park-tile .attraction-photo{height:auto;aspect-ratio:1.9}
@media(max-width:760px){
  .preview-tools{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}
  .preview-tools>.development-badge{display:block;grid-column:1;grid-row:1;font-size:9px}
  .preview-tools>div{grid-column:2;grid-row:1;justify-self:end}
  .preview-pages{grid-column:1/-1;grid-row:2;justify-self:center}
  #olympus-page[data-background=water] .track-art-left{inset:0;width:100%;height:100svh;background-size:auto min(1080px,125svh);background-position:center 65px;opacity:calc(var(--track-opacity) * .16);mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 88%,transparent)}
  #olympus-page[data-background=water] .track-art-right{display:none}
  #olympus-page[data-background=icarus-character] .track-art-left{inset:0;width:100%;height:100svh;background-size:auto 105svh;background-position:left -120px top 65px;opacity:calc(var(--track-opacity) * .18);mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 88%,transparent)}
  #olympus-page[data-background=robots] .track-art{width:520px;height:max(1000px,120svh);background-size:auto 100%;opacity:calc(var(--track-opacity) * .15)}
  #olympus-page[data-background=robots] .track-art-left{left:-325px;right:auto;top:-100px}
  #olympus-page[data-background=robots] .track-art-right{right:-325px;left:auto;top:0}
  #olympus-page{--track-opacity:var(--studio-art-mobile,.7)}
  #olympus-page[data-custom-mobile=true] .track-art-left{display:block;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-image:var(--studio-bg-mobile)!important;background-position:center top!important;background-size:cover!important;opacity:var(--track-opacity)!important}
  #olympus-page[data-custom-mobile=true] .track-art-right{display:none}
  .hero-image{transition-duration:var(--hero-fade,1.8s);object-position:var(--studio-focal-mobile,50% 50%)!important}
  .attraction-grid[data-layout=grid],.attraction-grid[data-count="2"]{grid-template-columns:minmax(0,1fr)}
  .development-badge{font-size:9px}.studio-link{font-size:11px}
}
/* Tall displays need width-bounded portraits: height-driven sizing makes the
   two faces overlap. Keep their native ratio and a clear space between them.
   Eye overlays share these bounds, so the light stays on each aperture. */
@media (orientation:portrait),(max-width:760px){
  #olympus-page[data-background=robots]{--helmet-width:min(960px,90vw);--helmet-height:calc(var(--helmet-width) * 1.5)}
  #olympus-page[data-background=robots] .track-art{width:var(--helmet-width);height:var(--helmet-height);background-size:100% 100%;opacity:calc(var(--track-opacity) * .12);mask-composite:intersect}
  #olympus-page[data-background=robots] .track-art-left{left:calc(var(--helmet-width) * -.55);right:auto;top:60px;mask-image:linear-gradient(to right,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 75%,transparent)}
  #olympus-page[data-background=robots] .track-art-right{right:calc(var(--helmet-width) * -.55);left:auto;top:120px;mask-image:linear-gradient(to left,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 75%,transparent)}
  #olympus-page[data-background=robots][data-custom-background=true] .track-art-left{mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 80%,transparent);mask-composite:add}
}
@media(max-width:760px){
  #olympus-page[data-background=robots][data-custom-mobile=true] .track-art-left{mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 80%,transparent);mask-composite:add}
}

/* Give the ticket artwork its own rounded, raised frame. */
#olympus-page[data-page=secret] .attraction-tile{overflow:visible;transform:none!important}
#olympus-page[data-page=secret] .attraction-photo[data-ticket-photo]{
  align-self:center;height:auto;min-height:0;aspect-ratio:16/9;margin:18px 0 18px 18px;
  border-radius:var(--studio-radius,28px);background:#090807;overflow:hidden;
  box-shadow:0 15px 25px -9px #0b263f70,0 3px 8px #0b263f22;
  transition:transform .3s ease,box-shadow .3s ease;
}
#olympus-page[data-page=secret] .attraction-photo[data-ticket-photo] img{object-position:var(--ticket-photo-desktop,50% 50%);transform:none!important}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  #olympus-page[data-page=secret]:not(.motion-off) .attraction-photo[data-ticket-photo]:hover{
    transform:translateY(calc(-1 * var(--lift,6px)));
    box-shadow:0 23px 34px -11px #0b263f80,0 5px 12px #0b263f22;
  }
}
#olympus-page[data-page=secret] .attraction-photo[data-ticket-photo]:focus-visible{outline:3px solid #0083a6;outline-offset:5px}
@media(max-width:760px){
  #olympus-page[data-page=secret] .attraction-photo[data-ticket-photo]{margin:16px 16px 0}
  #olympus-page[data-page=secret] .attraction-photo[data-ticket-photo] img{object-position:var(--ticket-photo-mobile,50% 50%)}
}
@media(min-width:761px) and (max-width:1024px) and (orientation:portrait){
  #olympus-page[data-page=secret] .attraction-tile{display:block}
  #olympus-page[data-page=secret] .attraction-photo[data-ticket-photo]{margin:20px 20px 0;height:auto;min-height:0;aspect-ratio:16/9}
  #olympus-page[data-page=secret] .attraction-photo[data-ticket-photo] img{object-position:var(--ticket-photo-mobile,50% 50%)}
}
@media(prefers-reduced-motion:reduce){
  #olympus-page[data-page=secret] .attraction-photo[data-ticket-photo]{transform:none!important;transition:none}
}
