/* Standalone pages share the landing page sections and modal components. */
.page-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* The same header on a light page surface, with room for its initial position. */
.section-page{padding-top:148px}
.section-page .site-header:not(.is-floating),.section-page .site-header:not(.is-floating) nav:not(.is-open){color:var(--teal);text-shadow:none}
.section-page .site-header:not(.is-floating) .brand img{filter:none}
.section-page .site-header:not(.is-floating) .hero-header-trip{color:var(--teal);border-color:currentColor}
.section-page .site-header:not(.is-floating) .menu-toggle{color:var(--teal)}
@media(max-width:760px){.section-page{padding-top:120px}}
.section-page #rooms{padding-top:56px}.section-page #room-panel{display:block}.section-page .room-details-content{max-width:none;padding-inline:0}.inline-room-title{font-size:clamp(28px,4vw,48px);letter-spacing:-.7px;line-height:1.1;margin:28px 0 0}
.section-page [data-room-inline][hidden]{display:none}.section-page [data-room-inline] .room-details-content{padding-top:24px}
.section-page-rooms .site-footer{margin-top:40px}

.journey{padding-block:100px}.journey-route{position:relative;margin:80px auto 0;max-width:1160px}.journey-stops{list-style:none;margin:0;padding:0}.journey-stops>li{position:relative;display:grid;grid-template-columns:1fr 100px 1fr;align-items:start;min-height:370px;padding-bottom:100px}.journey-stops>li:last-child{min-height:0;padding-bottom:0}.journey-marker{grid-column:2;grid-row:1;justify-self:center;display:grid;place-items:center;position:relative;z-index:2;width:72px;height:72px;background:var(--ivory);border:1px solid #143b5933;border-radius:50%;color:var(--teal);transition:border-color .5s,box-shadow .5s,color .5s}.journey-marker svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.journey-destination img{width:62px;height:54px;object-fit:contain}.journey-copy{grid-column:1;grid-row:1;padding:8px 40px 0 0;text-align:right}.journey-stops>li:nth-child(even) .journey-copy{grid-column:3;padding:8px 0 0 40px;text-align:left}.journey-copy .eyebrow{display:block;font-size:11px;letter-spacing:1.7px;margin-bottom:20px}.journey-copy h3{font-size:clamp(28px,3.2vw,44px);line-height:1.15;margin:0 0 22px}.journey-copy p{font-size:16px;line-height:1.85;margin:0 0 22px}.journey-time{display:block;font-size:13px;font-weight:600;line-height:1.6;margin-bottom:12px}.journey-copy small{display:block;font-size:12px;line-height:1.8;color:#61726d}.journey-facts{display:flex;justify-content:flex-end;gap:32px;margin:26px 0 20px}.journey-facts span{font-size:12px;line-height:1.7}.journey-facts strong{display:block;font-weight:400;font-family:var(--serif);font-size:30px;color:var(--brand-blue)}.journey-rail{position:absolute;top:36px;left:50%;width:2px;background:#143b591a;transform:translateX(-50%);height:calc(100% - 72px);pointer-events:none}.journey-fill{position:absolute;inset:0;background:linear-gradient(#0d4e86,#088bad,#64a64e);transform:scaleY(var(--journey-progress,0));transform-origin:top}.journey-traveller{position:absolute;left:50%;top:calc(var(--journey-progress,0)*100%);width:10px;height:10px;background:#088bad;border:3px solid var(--ivory);box-shadow:0 0 0 4px #088bad20;border-radius:50%;transform:translate(-50%,-50%)}.journey-enhanced .journey-copy{opacity:0;transform:translate(-24px,18px);transition:opacity .75s ease,transform .9s cubic-bezier(.22,1,.36,1)}.journey-enhanced li:nth-child(even) .journey-copy{transform:translate(24px,18px)}.journey-enhanced .is-reached .journey-copy{opacity:1;transform:translate(0,0)}.journey-enhanced .is-reached .journey-marker{border-color:#088bad80;color:#0783a0;box-shadow:0 0 0 7px #088bad08}.journey-action{display:flex;justify-content:center;margin-top:64px}
@media(max-width:760px){.public-page-header{min-height:120px;padding:12px 76px}.public-page-header img{width:102px;height:89px}.page-back{top:20px;right:20px}.section-page #rooms{padding-top:32px}.journey{padding-block:56px}.journey-route{margin-top:48px}.journey-stops>li{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);min-height:330px;padding-bottom:64px}.journey-marker{width:38px;height:38px}.journey-marker svg{width:20px;height:20px}.journey-destination img{width:33px;height:29px}.journey-copy{padding:0 12px 0 0}.journey-stops>li:nth-child(even) .journey-copy{padding:0 0 0 12px}.journey-copy h3{font-size:26px;line-height:1.15;margin-bottom:16px}.journey-copy .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:14px}.journey-copy p{font-size:13px;line-height:1.75}.journey-time{font-size:11px}.journey-copy small{font-size:11px}.journey-facts{flex-direction:column;gap:12px}.journey-facts strong{font-size:28px}.journey-rail{top:19px}.journey-enhanced .journey-copy{transform:translate(-8px,12px)}.journey-enhanced li:nth-child(even) .journey-copy{transform:translate(8px,12px)}}
@media(prefers-reduced-motion:reduce){.page-back svg,.journey-marker,.journey-copy{transition:none!important}.journey-enhanced .journey-copy{opacity:1;transform:none!important}}

/* A travel lane with a moving guide and completed destination badges. */
.section-page-getting-here .journey{padding-top:48px;padding-bottom:40px}
.journey-rail{width:18px;border-radius:20px;background:#e4eceb;box-shadow:inset 0 0 0 1px #143b5910}
.journey-rail::after{content:'';position:absolute;inset:0 8px;background:repeating-linear-gradient(to bottom,#ffffffa6 0 8px,transparent 8px 21px);pointer-events:none}
.journey-fill{border-radius:20px;transform:none;height:calc(var(--journey-progress,0)*100%);bottom:auto;background:linear-gradient(to bottom,#0e548c 0%,#078caa 65%,#65a64e 100%);box-shadow:0 0 16px #078caa16}
.journey-traveller{z-index:3;width:28px;height:46px;border:3px solid var(--ivory);border-radius:12px;background:#0785a4;box-shadow:0 3px 15px #143b5933;display:grid;place-items:center}
.journey-traveller svg{width:17px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.journey-marker{transition:background .55s ease,color .55s ease,border-color .55s ease,box-shadow .55s ease;box-shadow:0 0 0 9px var(--ivory)}
.journey-enhanced .is-reached .journey-marker{background:#0e548c;border-color:#0e548c;color:#fff;box-shadow:0 0 0 9px var(--ivory),0 0 0 10px #0e548c22}
.journey-enhanced li:nth-child(3).is-reached .journey-marker{background:#078caa;border-color:#078caa}
.journey-enhanced li:nth-child(n+4).is-reached .journey-marker{background:#589848;border-color:#589848}
.journey-enhanced .is-reached .journey-destination img{filter:brightness(0) invert(1)}
.journey-route.is-complete .journey-traveller{opacity:0;transition:opacity .3s ease}
.section-page-getting-here #island{padding-top:80px}
@media(max-width:760px){.section-page-getting-here .journey{padding-top:32px}.journey-rail{width:12px}.journey-rail::after{inset-inline:5px}.journey-traveller{width:22px;height:36px;border-width:2px;border-radius:8px}.journey-traveller svg{width:14px;height:20px}.journey-marker{box-shadow:0 0 0 5px var(--ivory)}.journey-enhanced .is-reached .journey-marker{box-shadow:0 0 0 5px var(--ivory),0 0 0 6px #0e548c22}}

/* Small screens use a single centered journey, with the lane between stops. */
@media(max-width:760px){
 .section-page-getting-here .section-heading,.section-page-getting-here .heading-aside,.section-page-getting-here #island .island-copy{text-align:center}
 .section-page-getting-here .heading-aside{margin-inline:auto}
 .journey-stops>li{display:flex;flex-direction:column;align-items:center;min-height:0;padding-bottom:80px}
 .journey-marker{width:58px;height:58px;flex:0 0 58px}
 .journey-marker svg{width:26px;height:26px}
 .journey-destination img{width:48px;height:42px}
 .journey-copy,.journey-stops>li:nth-child(even) .journey-copy{position:relative;z-index:4;width:100%;padding:28px 12px 20px;margin-top:12px;background:var(--ivory);text-align:center}
 .journey-copy h3{font-size:32px}.journey-copy p{font-size:15px;line-height:1.8}.journey-copy .eyebrow{font-size:10px}.journey-time{font-size:13px}.journey-copy small{font-size:12px}
 .journey-facts{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:20px 28px}
 .journey-enhanced .journey-copy,.journey-enhanced li:nth-child(even) .journey-copy{transform:translateY(14px)}
 .journey-enhanced .is-reached .journey-copy{transform:translateY(0)}
 .journey-action .button{max-width:100%;text-align:center;justify-content:center}
 .section-page-getting-here #island .text-link{justify-content:center}
}

.journey-traveller svg{width:22px;height:26px;stroke-width:1.5}
@media(max-width:760px){.journey-traveller{width:28px;height:36px}.journey-traveller svg{width:20px;height:24px}}

.journey-word{color:var(--brand-cyan,#008ac5)}
.journey-traveller svg{color:#fff}

.journey-island-photo{margin:24px 0;border-radius:80px 80px 8px 8px;overflow:hidden;aspect-ratio:4/3}.journey-island-photo img,.journey-island-photo video{display:block;width:100%;height:100%;object-fit:cover}

.journey-mobile-lane{display:none}.journey-route>.journey-traveller{position:absolute;pointer-events:none}
@media(max-width:760px){
 .journey-rail{display:none}
 .journey-mobile-lane{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
 .journey-mobile-lane path{fill:none;stroke-linejoin:round;stroke-linecap:round}
 .journey-mobile-track{stroke:#e4eceb;stroke-width:12px}
 .journey-mobile-fill{stroke:#078caa;stroke-width:12px}
 .journey-mobile-dashes{stroke:#ffffffa6;stroke-width:1.5px;stroke-dasharray:7 14}
 .journey-copy,.journey-stops>li:nth-child(even) .journey-copy{width:calc(100% - 56px);padding:24px 0 20px;background:transparent}
 .journey-stops>li{padding-bottom:88px}
 .journey-route>.journey-traveller{z-index:5}
}

/* The same continuous winding route on desktop and mobile. */
.journey-rail{display:none}
.journey-mobile-lane{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.journey-mobile-lane path{fill:none;stroke-linejoin:round;stroke-linecap:round}
.journey-mobile-track{stroke:#e4eceb;stroke-width:12px}
.journey-mobile-fill{stroke:#078caa;stroke-width:12px}
.journey-mobile-dashes{stroke:#ffffffa6;stroke-width:1.5px;stroke-dasharray:7 14}
.journey-route>.journey-traveller{z-index:5}

/* Keep copy below the horizontal lane; only the outer corners bend. */
@media(min-width:761px){
 .journey-copy{padding-top:76px}
 .journey-stops>li:nth-child(even) .journey-copy{padding-top:76px}
}

/* The vehicle itself follows the lane, with no surrounding badge. */
.journey-route>.journey-traveller{width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--brand-blue,#054e93)}
.journey-route>.journey-traveller svg{width:38px;height:38px;color:inherit;stroke-width:1.7;transform:rotate(var(--travel-heading,0deg));filter:drop-shadow(0 1px 1px var(--ivory)) drop-shadow(0 -1px 1px var(--ivory));transition:transform .12s linear}
@media(max-width:760px){.journey-route>.journey-traveller{width:40px;height:40px}.journey-route>.journey-traveller svg{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.journey-route>.journey-traveller svg{transition:none}}

/* Destination badges sit above the passing vehicle. */
.journey-marker{z-index:7}
@media(min-width:761px){
 .journey-copy,.journey-stops>li:nth-child(even) .journey-copy{text-align:center}
 .journey-facts{justify-content:center}
}

/* Center each destination's entire content block inside the desktop route. */
@media(min-width:761px){
 .journey-copy,.journey-stops>li:nth-child(even) .journey-copy{grid-column:1 / -1;justify-self:center;width:min(680px,calc(100% - 120px));padding:96px 0 0;text-align:center}
 .journey-island-photo{max-width:560px;margin-inline:auto}
}

/* Larger desktop journey markers for preview. */
@media(min-width:761px){
 .journey-marker{width:96px;height:96px}
 .journey-marker svg{width:40px;height:40px}
 .journey-destination img{width:82px;height:72px}
 .journey-route>.journey-traveller{width:58px;height:58px}
 .journey-route>.journey-traveller svg{width:50px;height:50px}
 .journey-copy,.journey-stops>li:nth-child(even) .journey-copy{padding-top:120px}
}
@media(max-width:760px){
 .journey-marker{width:72px;height:72px;flex-basis:72px}
 .journey-marker svg{width:32px;height:32px}
 .journey-destination img{width:60px;height:52px}
 .journey-route>.journey-traveller{width:48px;height:48px}
 .journey-route>.journey-traveller svg{width:42px;height:42px}
}

/* Reuse the welcome logo drawing at the final destination. */
.journey-destination .welcome-logo{width:82px;height:72px;fill:none;stroke:none;filter:brightness(0) invert(1)}
.journey-destination .welcome-logo-pen{opacity:0;stroke-dashoffset:1}
.is-reached .journey-destination .welcome-logo-pen{animation:welcome-logo-write var(--dur) linear var(--delay) both}
@media(max-width:760px){.journey-destination .welcome-logo{width:60px;height:52px}}
@media(prefers-reduced-motion:reduce){.journey-destination .welcome-logo-pen{animation:none!important;opacity:1;stroke-dashoffset:0}}

.contact-section{padding-block:56px 88px}.contact-section .section-heading{align-items:center}.contact-section .heading-aside{max-width:400px;font-size:17px;line-height:1.8}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:64px;align-items:start;margin-top:56px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:30px}.contact-details h3{font-size:32px;margin-bottom:14px}.contact-details address{font-style:normal;line-height:1.9}.contact-details>div>a{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;line-height:1.9}.contact-link{position:relative}.contact-link::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .25s}.contact-link:hover::after,.contact-link:focus-visible::after{right:0}.contact-details .text-link:hover{text-decoration:none}@media(prefers-reduced-motion:reduce){.contact-link::after{transition:none}}.contact-map{min-width:0}.contact-map iframe{display:block;width:100%;height:520px;border:0;border-radius:24px;background:#e4eceb}.contact-map>.text-link{margin-top:12px;font-size:14px}
@media(max-width:760px){.contact-section{padding-block:32px 56px}.contact-section .heading-aside{margin-top:24px;max-width:none}.contact-layout{grid-template-columns:1fr;gap:36px;margin-top:32px}.contact-map iframe{height:400px}.contact-details{gap:24px}}
