/* Art direction shared by the desktop and phone compositions. */
[hidden]{display:none!important}
.preview-pages{display:flex;gap:20px;align-items:center}
.preview-pages a{text-decoration:none;padding:7px 0;color:#4c627c}
.preview-pages a[aria-current=page]{color:#002f87;box-shadow:0 2px 0 #007e9e;font-weight:650}
.checkout-tax,.checkout-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;font-size:15px}
.checkout-tax{color:#4a657f}
.checkout-total{border-top:1px solid #d6e7ef;font-size:22px;margin-top:5px}
.checkout-total strong{color:#00718f}
#olympus-page {
  --track-opacity:.7;
  background:radial-gradient(ellipse 90% 700px at 50% 19%,#eef6fa 0%,transparent 100%),linear-gradient(180deg,#fff 0%,#f4f9fc 24%,#f8fbfd 61%,#f0f8fc 100%);
}
.brand-header,.hero,.attractions,.story-layout,.how-section,.stay-section {position:relative;z-index:1}
.brand-header{height:158px}
.brand img{width:265px;height:130px}
.hero{height:clamp(410px,36vw,490px);min-height:0;box-shadow:0 8px 14px -8px #143b5a26,0 27px 40px -24px #1337504d}
.hero h1{font-size:clamp(36px,3.5vw,48px);letter-spacing:-1.65px;line-height:1.09;font-weight:700}
.hero-copy{max-width:650px;left:5%;bottom:14%;width:53%}
.hero-subline{font-size:clamp(16px,1.5vw,19px);font-weight:400;line-height:1.5;margin-top:15px;letter-spacing:-.25px}
.hero-shade{background:linear-gradient(90deg,rgba(0,19,30,.58),rgba(0,19,30,.18) 41%,transparent 65%),linear-gradient(0deg,rgba(0,19,30,.13),transparent 40%)}
.hero-image[data-photo=chief]{object-position:60% 50%}
.hero-image[data-photo=secret]{object-position:center 45%}
.hero-image[data-photo=park]{object-position:center 48%}
.hero-action{font-weight:500;margin-top:17px;padding-block:8px}
.attractions{padding-top:47px}
.section-heading{margin-bottom:26px}
.attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.attraction-grid>.arrival:last-child{grid-column:1/-1}
.attraction-tile{--card-shadow:0 3px 7px rgba(12,48,74,.045),0 20px 34px -13px rgba(12,48,74,.19),0 38px 58px -34px var(--glow);background:#fff;border:1px solid #dceaf1;border-radius:27px;box-shadow:var(--card-shadow);transition:transform 280ms var(--motion-ease),box-shadow 280ms ease}
.chief-tile{--glow:rgba(190,133,39,.29)}
.secret-tile{--glow:rgba(37,117,191,.28)}
.park-tile{--glow:rgba(0,145,157,.2);display:grid;grid-template-columns:29% 1fr;border-radius:23px}
.attraction-photo{aspect-ratio:1.9}
.attraction-photo img{opacity:1;filter:none}
.attraction-photo [data-photo=chief]{object-position:63% 54%}
.attraction-photo [data-photo=secret]{object-position:50% 51%}
.attraction-content{padding:22px 25px 19px}
.attraction-content h3{font-size:23px;min-height:0;display:block;line-height:1.2;letter-spacing:-.7px}
.attraction-subtitle{min-height:0;margin-top:7px;font-size:14px}
.quantity-row{grid-template-columns:46px 1fr 46px;margin-top:19px}
.quantity-button{width:46px;height:46px;box-shadow:inset 0 1px 0 #ffffffaa,0 2px 3px #063b6210}
.unit-price{font-size:30px}
.unit-price span{font-size:15px}
.line-total{padding-top:12px;margin-top:14px}
.line-total strong{font-size:23px}
.line-total p{font-size:13px}
.park-tile .attraction-photo{min-height:160px;aspect-ratio:auto;height:100%}
.park-tile .attraction-content{display:grid;grid-template-columns:1fr 220px;gap:6px 26px;align-content:center;padding:21px 26px}
.park-tile h3{font-size:21px;align-self:end}
.park-tile .attraction-subtitle{grid-column:1;grid-row:2;font-size:13px;margin:0}
.park-tile .quantity-row{grid-column:2;grid-row:1/3;margin:0}
.park-tile .unit-price{font-size:26px}
.park-tile .line-total{grid-column:2;grid-row:3;margin:5px 0 0;padding-top:8px}
.park-tile .line-total p{display:inline;font-size:12px;margin-right:9px}
.park-tile .line-total strong{font-size:17px}
.park-tile .line-total strong>span+span{font-size:11px}
.selection-bar{background:linear-gradient(110deg,#fff,#eaf6fb);border-color:#d4e7ef;box-shadow:0 10px 25px -16px #2047674a;margin-top:28px}
.story-section{background:none;padding:132px 0 100px}
.story-watermark{color:#dcecf3;opacity:.8;font-size:clamp(70px,10vw,142px);top:88px;letter-spacing:-5px}
.story-back{box-shadow:0 15px 30px -12px #19476033}
.story-front{box-shadow:0 6px 12px #14415d16,0 24px 35px -14px #153c626b}
.story-back img{object-position:64% center}
.story-front img{object-position:center center}
.story-copy h2 .headline-line{color:#071a48}
.story-copy h2 .accent-line,.stay-content h2 .accent-line{color:#00758f}
.headline-line{display:block}
.story-copy h2 .word-clip,.story-copy h2 .word{color:inherit}
.stay-content h2 .headline-line{color:#071a48}
.stay-content h2 .accent-line{color:#00758f}
.stay-content h2 .word-clip,.stay-content h2 .word{color:inherit}
.how-section{padding-bottom:85px}
.step{background:#fff;border-color:#d8e8ef;box-shadow:0 10px 20px -15px #21456047}
.stay-section{background:linear-gradient(120deg,#fff,#e4f3fa);box-shadow:0 5px 10px #19476309,0 23px 40px -22px #174f7170;border-color:#d4e6ef}
.stay-visual img{object-position:47% 50%}
.word-clip{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .015em .1em;margin-bottom:-.1em}
.word{display:inline-block;will-change:transform}
.motion-ready [data-words] .word{opacity:0;transform:translate3d(-22px,9px,0);transition:transform 760ms var(--motion-ease),opacity 560ms ease;transition-delay:var(--word-delay,0ms)}
.motion-ready [data-words].in-view .word{opacity:1;transform:none}
.motion-ready [data-copy]{opacity:0;transform:translateX(-18px);transition:transform 850ms var(--motion-ease),opacity 650ms ease;transition-delay:var(--delay,0ms)}
.motion-ready [data-copy].in-view{opacity:1;transform:none}
.motion-ready .hero-preparing .hero-line{transform:translateY(110%)}
.motion-off [data-words] .word,.no-text-entrances [data-words] .word,.motion-off [data-copy],.no-text-entrances [data-copy]{transform:none!important;opacity:1!important;transition:none!important}
.no-text-entrances .hero-line,.no-text-entrances .hero-subline,.no-text-entrances .hero-action{animation:none!important;transform:none!important;opacity:1!important}
#olympus-page[data-elevation=soft] .attraction-tile{--card-shadow:0 3px 7px #0c304a07,0 14px 28px -15px #0c304a25,0 25px 38px -30px var(--glow)}
#olympus-page[data-elevation=bold] .attraction-tile{--card-shadow:0 4px 8px #0c304a0c,0 24px 42px -13px #0c304a40,0 40px 62px -30px var(--glow)}
.motion-off .attraction-tile{box-shadow:var(--card-shadow)}
.settings-dialog{width:470px}
@media(hover:hover) and (pointer:fine){
  .attraction-tile:hover{transform:translateY(calc(-1 * var(--lift)));box-shadow:0 5px 9px #0c304a0d,0 27px 45px -13px #0c304a38,0 40px 64px -29px var(--glow)}
  .quantity-button:not(:disabled):hover{transform:none;background:#cbeefa}
  .motion-off .attraction-tile:hover{box-shadow:var(--card-shadow)}
}
/* Desktop uses a wider editorial composition. */
@media(min-width:1100px){
  .page-width{width:calc(100% - 132px);max-width:1280px}
  .section-width{width:calc(100% - 196px);max-width:1152px}
  .attraction-grid{gap:32px}
  .hero-copy{bottom:13%}
  .story-layout{gap:88px}
  .story-images{height:432px}
  .story-front{width:55%;height:226px}
  .stay-content{padding:49px 47px}
}
@media(min-width:761px) and (max-width:1099px){
  .page-width{width:calc(100% - 56px)}
  .section-width{width:calc(100% - 88px)}
  .hero{height:405px}
  .hero h1{font-size:38px}
  .attraction-grid{gap:24px}
  .attraction-content h3{font-size:21px}
  .park-tile .attraction-content{grid-template-columns:1fr 190px;column-gap:20px;padding:21px}
  .park-tile h3{font-size:18px}
  .park-tile .line-total p{display:block;margin-right:0;margin-bottom:3px}
  .story-layout{gap:50px}
  .story-copy h2{font-size:35px}
}
/* Phone composition: shorter hero, individual featured cards, compact park. */
@media(max-width:760px){
  .page-width{width:calc(100% - 30px)}
  .section-width{width:calc(100% - 42px)}
  .brand-header{height:134px}
  .brand img{width:222px;height:110px}
  .hero{height:372px;border-radius:26px}
  .hero-copy{left:7%;bottom:18%;width:86%;max-width:none}
  .hero h1{font-size:clamp(27px,7.1vw,34px);line-height:1.12;letter-spacing:-1.1px;font-weight:650}
  .hero-subline{font-size:16px;line-height:1.45;max-width:265px;margin-top:13px}
  .hero-action{font-size:13px;margin-top:13px;padding-bottom:8px}
  .hero-image[data-photo=chief]{object-position:35% center}
  .hero-image[data-photo=secret]{object-position:53% center}
  .hero-image[data-photo=park]{object-position:30% center}
  .hero-shade{background:linear-gradient(0deg,rgba(0,17,30,.7),rgba(0,17,30,.08) 68%,transparent)}
  .hero-controls{bottom:16px;right:16px;gap:7px}
  .attractions{padding-top:32px}
  .section-heading{margin-bottom:24px}
  .section-heading h2{font-size:30px;letter-spacing:-1px}
  .section-heading p{margin-top:9px;font-size:13px}
  .attraction-grid{grid-template-columns:1fr;gap:26px}
  .attraction-grid>.arrival:last-child{grid-column:auto}
  .attraction-tile{border-radius:25px}
  .attraction-photo{aspect-ratio:1.65}
  .attraction-content{padding:22px 23px 19px}
  .attraction-content h3{font-size:23px}
  .attraction-subtitle{font-size:14px}
  .quantity-row{grid-template-columns:46px 1fr 46px;margin-top:20px}
  .unit-price{font-size:30px}
  .park-tile{display:grid;grid-template-columns:30% 1fr;border-radius:23px}
  .park-tile .attraction-photo{height:100%;min-height:220px;aspect-ratio:auto}
  .park-tile .attraction-photo img{object-position:58% center}
  .park-tile .attraction-content{display:block;padding:20px 18px}
  .park-tile h3{font-size:18px;line-height:1.2}
  .park-tile .attraction-subtitle{font-size:11px;margin-top:6px}
  .park-tile .quantity-row{grid-template-columns:44px 1fr 44px;gap:5px;margin-top:16px}
  .park-tile .quantity-button{width:44px;height:44px;font-size:26px}
  .park-tile .unit-price{font-size:24px}
  .park-tile .unit-price span{font-size:12px}
  .park-tile .line-total{margin-top:12px;padding-top:9px}
  .park-tile .line-total p{font-size:11px;display:block;margin:0 0 4px}
  .park-tile .line-total strong{font-size:19px}
  .selection-bar{margin-top:27px;padding:23px 21px}
  .selection-bar .primary-button{min-height:50px}
  .story-section{padding:82px 0 65px}
  .story-watermark{top:56px;font-size:13.2vw;color:#d9eaf2;opacity:.7;letter-spacing:-3px}
  .story-layout{gap:36px}
  .story-images{height:350px;width:93%;padding-bottom:51px}
  .story-front{height:192px;width:53%;right:-5%;border-width:6px}
  .story-copy h2{font-size:35px;letter-spacing:-1.25px}
  .story-copy p{font-size:15px;line-height:1.65}
  .story-copy{padding-inline:0}
  .how-section{padding-bottom:60px}
  .step{padding:19px 20px}
  .stay-visual{height:230px}
  .stay-content{padding:30px 25px 33px}
  .stay-content h2{font-size:31px;line-height:1.13}
  .stay-content>p{font-size:14px}
  .stay-section{margin-bottom:62px}
  .motion-ready [data-words] .word{transform:translate3d(-13px,5px,0)}
  .motion-ready [data-words].in-view .word{transform:none}
  .motion-ready [data-copy]{transform:translateX(-12px)}
  .motion-ready [data-copy].in-view{transform:none}
}
@media(max-width:430px){
  .hero{height:350px}
  .hero-copy{bottom:20%}
  .hero h1{font-size:clamp(26px,7.1vw,30px)}
  .hero-subline{font-size:15px}
  .section-heading h2{font-size:28px}
  .attraction-content h3{font-size:21px}
  .park-tile{grid-template-columns:1fr}
  .park-tile .attraction-photo{min-height:0;height:115px;aspect-ratio:auto}
  .park-tile .attraction-photo img{object-position:50% 42%}
  .park-tile .attraction-content{display:grid;grid-template-columns:1fr;gap:0;padding:18px 21px 16px}
  .park-tile h3,.park-tile .attraction-subtitle,.park-tile .quantity-row,.park-tile .line-total{grid-column:1;grid-row:auto}
  .park-tile h3{font-size:18px}
  .park-tile .quantity-row{grid-template-columns:46px 1fr 46px;margin-top:14px}
  .park-tile .quantity-button{width:46px;height:46px}
  .park-tile .unit-price{font-size:27px}
  .park-tile .line-total p{display:inline;margin-right:8px}
  .story-images{height:290px}
  .story-front{height:163px}
  .story-copy h2{font-size:32px}
  .stay-content h2{font-size:29px}
}
@media(prefers-reduced-motion:reduce){
  [data-words] .word,[data-copy]{opacity:1!important;transform:none!important;transition:none!important}
}

/* Sculptural landmark art: one coherent mountain, or two metal figures. */
.track-art{position:absolute;z-index:0;pointer-events:none;background:url('/attractions-assets/race-mountain-relief.png') center/contain no-repeat;mix-blend-mode:multiply;opacity:calc(var(--track-opacity) * .46);width:470px;height:314px}
.track-art-left{left:-50px;top:-4px}
.track-art-right{display:none}
#olympus-page:not([data-page=all]) .attraction-grid{grid-template-columns:1fr;max-width:980px;margin-inline:auto}
#olympus-page:not([data-page=all]) .attraction-tile{display:grid;grid-template-columns:1fr 1fr}
#olympus-page:not([data-page=all]) .attraction-photo{aspect-ratio:auto;height:100%;min-height:270px}
#olympus-page:not([data-page=all]) .attraction-content{align-self:center;padding:30px 38px}
#olympus-page:not([data-page=all]) .hero-copy{max-width:620px;width:58%}
#olympus-page:not([data-page=all]) .hero-subline{max-width:400px}
#olympus-page:not([data-page=all]) .hero-copy{bottom:15%}
.relief-detail{background:#fff;border-width:5px}
.relief-detail img{object-fit:contain;padding:7px;mix-blend-mode:multiply}
#olympus-page[data-page=secret] .relief-detail{height:310px;width:43%;right:-2%;bottom:-20px;border-radius:26px;background:#f4f9fc}
#olympus-page[data-page=secret] .story-back img{object-position:50% center}
@media(min-width:1800px){
 .track-art-left{width:clamp(300px,calc((100vw - 1280px)/2),480px);height:360px;left:max(0px,calc((100vw - 2240px)/2));top:280px}
 #olympus-page[data-page=chief] .track-art-left{top:245px}
}
@media(min-width:761px) and (max-width:1099px){
 .track-art-left{width:330px;height:240px;left:-20px;top:0}
 #olympus-page:not([data-page=all]) .attraction-content{padding:28px}
}
@media(max-width:760px){
 .preview-tools{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;padding-bottom:11px}
 .preview-tools>div{justify-self:end}
 .preview-pages{grid-column:1/-1;grid-row:2;justify-content:center;gap:27px;font-size:12px}
 .preview-pages a{padding:10px 0}
 .track-art-left{width:205px;height:145px;left:-65px;top:12px;opacity:calc(var(--track-opacity) * .4)}
 #olympus-page:not([data-page=all]) .attraction-tile{display:block}
 #olympus-page:not([data-page=all]) .attraction-photo{height:auto;min-height:0;aspect-ratio:1.65}
 #olympus-page:not([data-page=all]) .attraction-content{padding:23px}
 #olympus-page:not([data-page=all]) .hero-copy{width:86%;bottom:12%}
 #olympus-page:not([data-page=all]) .hero-subline{font-size:16px;max-width:275px}
 #olympus-page[data-page=secret] .hero-image{object-position:51% center}
 #olympus-page[data-page=secret] .relief-detail{height:230px;bottom:-6px}
}

#olympus-page[data-page=secret] .hero-shade{background:linear-gradient(90deg,rgba(0,19,30,.78),rgba(0,19,30,.52) 42%,transparent 72%)}
@media(max-width:760px){#olympus-page[data-page=secret] .hero-shade{background:linear-gradient(0deg,rgba(0,17,30,.78) 0%,rgba(0,17,30,.58) 58%,transparent 94%)}}
.selection-edit{display:inline-block;margin-top:8px;font-size:12px;color:#00718f;text-underline-offset:3px}

/* Give the complete section title its own row, clear of the photographs. */
.story-section{padding-top:100px}
.story-watermark{position:relative;left:auto;top:auto;width:calc(100% - 196px);max-width:1152px;margin:0 auto 36px;color:#b7d5e3;font-size:clamp(44px,6.8vw,100px);line-height:1.15;letter-spacing:-.045em;white-space:nowrap;text-align:left;opacity:1}
.motion-ready .story-watermark[data-words] .word{transform:translate3d(-70px,0,0);transition-duration:1100ms}
.motion-ready .story-watermark[data-words].in-view .word{transform:none}
@media(min-width:761px) and (max-width:1099px){.story-watermark{width:calc(100% - 88px);font-size:7vw}}
@media(max-width:760px){.story-section{padding-top:65px}.story-watermark{width:calc(100% - 42px);font-size:7.8vw;margin-bottom:28px;letter-spacing:-.04em;line-height:1.2}}

/* The race course is the page's environment, spanning every section. */
#olympus-page:not([data-page=secret]) .track-art-left{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 100%)}
@media(max-width:760px){
 #olympus-page:not([data-page=secret]) .track-art-left{inset:0;width:100%;height:100%;background-size:auto 100%;background-position:41% top;opacity:calc(var(--track-opacity) * .21)}
}

/* Top Secret: oversized inward-facing helmets form a continuous backdrop. */
#olympus-page[data-page=secret]{--helmet-height:max(1050px,112svh);--helmet-width:calc(var(--helmet-height) * .666667)}
#olympus-page[data-page=secret] .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 0%,#000 5%,#000 80%,transparent 100%)}
#olympus-page[data-page=secret] .track-art-left{left:max(-310px,calc(50% - 1140px));right:auto;top:-80px;background-image:url('/attractions-assets/optimus-helmet.png')}
#olympus-page[data-page=secret] .track-art-right{right:max(-350px,calc(50% - 1180px));left:auto;top:35px;background-image:url('/attractions-assets/metal-sculpture-face-v2.png')}
@media(max-width:760px){
 #olympus-page[data-page=secret] .track-art{width:520px;height:max(1000px,120svh);background-size:auto 100%;opacity:calc(var(--track-opacity) * .15)}
 #olympus-page[data-page=secret] .track-art-left{left:-325px;right:auto;top:-100px}
 #olympus-page[data-page=secret] .track-art-right{right:-325px;left:auto;top:0}
}
