/* Glass edition: translucent surfaces, soft corners, deliberate interaction. */
:root{--glass:rgba(255,255,255,.64);--card-glass:rgba(205,219,237,.86);--glass-line:rgba(255,255,255,.65);--glass-shadow:0 12px 42px #233d6110,0 1px 2px #fff9 inset;--round:30px}
body{background:radial-gradient(ellipse at 0 28%,#dfeafa80,transparent 48%),radial-gradient(ellipse at 100% 64%,#e4e8f2a8,transparent 46%),#f1f4f8}
.site-header{min-height:94px}
.site-header nav a{border-radius:30px;padding:12px 16px;transition:background .2s,color .2s}
.site-header nav a:hover{background:#ffffffb3;color:var(--blue)}
.site-header nav a[aria-current]:after{display:none}
.site-header nav a[aria-current]{background:#fff9;color:var(--blue)}
.button,.header-contact,.text-link,.arrival-link,.wecom-download,.wecom-float,.scene-selector button,.filter-bar button{border-radius:999px;transition:transform .22s cubic-bezier(.2,.7,.2,1),background .22s,box-shadow .22s,border-color .22s;min-height:46px}
.button,.header-contact{padding:14px 24px;gap:26px;border:1px solid #ffffff78;box-shadow:0 4px 16px #233d6110;font-weight:500}
.button.primary{background:linear-gradient(150deg,#4770ff,#244ae8);color:#fff;box-shadow:0 7px 20px #244ae82b,inset 0 1px 0 #ffffff55}
.button.outline,.header-contact{background:var(--glass);border-color:#fff;backdrop-filter:blur(18px);box-shadow:var(--glass-shadow)}
.button.light{background:#fffffff0;color:#132342;border:1px solid white;box-shadow:0 5px 25px #0b1b3425}
.text-link,.arrival-link{padding:12px 18px;border:1px solid #fff9;background:#ffffff7a;gap:24px;box-shadow:0 3px 14px #22365608}
.button>span,.text-link>span,.arrival-link>span,.header-contact>span{transition:transform .22s}
@media(hover:hover){
 .button:hover,.header-contact:hover,.text-link:hover,.arrival-link:hover,.wecom-float:hover{transform:translateY(-3px);box-shadow:0 10px 24px #233d6126}
 .button.primary:hover{background:linear-gradient(150deg,#5c7eff,#355bed)}
 .button>span:hover,.button:hover>span,.text-link:hover>span,.arrival-link:hover>span{transform:translate(2px,-2px)}
 .scene-selector button:hover,.filter-bar button:hover{background:#fff;transform:translateY(-2px)}
}
.button:active,.header-contact:active,.text-link:active,.arrival-link:active,.wecom-float:active,.scene-selector button:active,.filter-bar button:active{transform:scale(.97);box-shadow:0 2px 8px #233d6118}
.button:focus-visible,.arrival-link:focus-visible{outline:3px solid #7ea0ff;outline-offset:4px}
.scene-selector,.filter-bar{background:#e2e9f480;border:1px solid #fff9;border-radius:999px;padding:6px;gap:5px;backdrop-filter:blur(16px)}
.scene-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;align-self:center}
.scene-selector button{width:100%;min-width:0;text-align:center}
.scene-selector button,.filter-bar button{border:0;padding:11px 20px;background:transparent}
.scene-selector button[aria-pressed=true],.filter-bar button[aria-pressed=true]{background:#fff;color:var(--blue);box-shadow:0 3px 12px #304b7020}
.journey-planner,.scene-card,.editorial-card,.fleet-card,.activity-card,.about-statement,.note-banner,.faq details{border-radius:var(--round);background:var(--card-glass);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px)}
.wecom-panel{background:var(--card-glass)}
.section{padding-block:48px}
.arrival-landscape{padding-bottom:8px}
.section-heading{margin-bottom:28px}
.journey-planner{padding:30px 36px;width:100%}
.scene-card,.editorial-card{overflow:hidden;padding:12px}
.scene-card .scene-body,.editorial-card>:not(img){margin-left:14px;margin-right:14px}
.scene-card>img,.editorial-card>img,.fleet-card>img,.fleet-illustration,.activity-photo,.service-feature img,.article-visual img,.about-picture>img{border-radius:22px;overflow:hidden}
.scene-body{padding-bottom:16px}
.editorial-card .sample{margin-bottom:16px}
.fleet-card{overflow:hidden;padding:12px}
.fleet-card>div:not(.fleet-illustration){padding:24px 14px}
.activity-card{padding:18px;gap:34px;margin-bottom:22px}
.activity-copy{padding:10px 14px 10px 0}
.date-stamp{border-radius:999px;backdrop-filter:blur(16px);background:#ffffffd9;color:var(--ink);padding:10px 16px}
.approach{border-radius:40px;margin:0 auto;padding:54px 36px;background:linear-gradient(135deg,#cbd9eabf,#dce6f1b8);border:1px solid #fff;box-shadow:var(--glass-shadow)}
.approach-inner.wrap{width:100%}
.process-list li{border-radius:20px;padding:26px 22px;margin-bottom:12px;background:rgba(195,211,232,.8);border:1px solid #fff9}
.closing{border-radius:36px;margin-top:16px;margin-bottom:48px;background:linear-gradient(135deg,#385df2,#244ae8 60%,#617dfa);border:1px solid #7d99ff;box-shadow:0 20px 50px #244ae825,inset 0 1px 0 #fff5}
.faq details{padding:18px 24px;margin-bottom:12px}
.filter-bar{border-bottom:0}
.section-heading{align-items:center}
.article-disclaimer,.schedule,.sample{border-radius:14px}
/* The image and mask are already behind the opening text before JS runs. */
.scroll-arrival{width:calc(100% - 40px);margin:6px auto 50px}
.arrival-stage{border-radius:36px;isolation:isolate}
.arrival-opening{position:relative;z-index:3;min-height:660px;width:100%;padding:80px 6%;color:white;display:flex;flex-direction:column;justify-content:center}
.arrival-opening .hero-heading{display:block}
.arrival-opening .hero-heading h1,.motion-ready .arrival-opening .hero-heading h1{font-family:var(--sans);font-size:clamp(56px,6.1vw,92px);font-weight:500;letter-spacing:-3px;line-height:1.18}
.arrival-opening .hero-heading em{color:#e6eeff;font-style:normal;margin-left:0}
.arrival-opening .eyebrow{color:#f0f4ff;align-self:flex-start;padding:9px 14px;border:1px solid #ffffff36;border-radius:999px;background:#ffffff15;backdrop-filter:blur(18px);margin-bottom:24px}
.arrival-opening .eyebrow>span{background:#b8ccff}
.arrival-opening .hero-note{display:block;padding-top:22px}
.arrival-opening .hero-note p{color:#edf2ff;line-height:1.8;font-size:15px;margin:0 0 24px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-secondary{color:white;background:#ffffff20;border-color:#ffffff70;backdrop-filter:blur(20px)}
.arrival-screen{position:absolute;inset:0 0 auto;height:660px;max-height:none;margin:0;border-radius:36px;background:#20304a}
.scroll-arrival:not(.motion-ready) .arrival-stage{display:grid;grid-template-columns:minmax(0,1fr)}
.scroll-arrival:not(.motion-ready) .arrival-opening{grid-area:1/1}
.scroll-arrival:not(.motion-ready) .arrival-screen{grid-area:1/1;position:relative;height:auto;inset:auto;align-self:stretch}
.scroll-arrival:not(.motion-ready) .arrival-chapters{grid-area:2/1}
.scroll-arrival:not(.motion-ready) .arrival-controls{grid-area:3/1}
.arrival-screen .arrival-shade{z-index:2;opacity:1;background:linear-gradient(90deg,rgba(9,22,40,.8),rgba(9,22,40,.45) 44%,rgba(9,22,40,.02) 85%),linear-gradient(0deg,rgba(9,22,40,.5),transparent 70%)}
.arrival-screen .arrival-visual{object-position:65% center}
.scroll-arrival.motion-ready{height:300svh;margin-bottom:28px}
.motion-ready .arrival-stage{top:14px;height:calc(100dvh - 28px);overflow:hidden;background:#20304a}
.motion-ready .arrival-screen{height:100%;inset:0;border-radius:0;clip-path:inset(0)}
.motion-ready .arrival-opening{inset:0;min-height:0;padding:6% 6% 10%;height:100%}
.motion-ready .arrival-chapter{padding:6% 6% 10%}
.motion-ready .arrival-chapter-copy h2{font-family:var(--sans);font-weight:500;font-size:clamp(48px,5.5vw,80px);letter-spacing:-2px}
.motion-ready .arrival-link{background:#ffffff1f;color:#fff;border-color:#ffffff65;backdrop-filter:blur(18px)}
.motion-ready .arrival-controls{color:#fff;left:6%;right:6%;bottom:22px}
.motion-ready .arrival-chapter-nav{opacity:1;visibility:visible;gap:5px;padding:5px;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;backdrop-filter:blur(20px)}
.arrival-chapter-nav button{padding:8px 16px;gap:8px;border-radius:999px;transition:background .2s}
.arrival-chapter-nav button:hover{background:#ffffff20}
.arrival-chapter-nav button[aria-pressed=true]{background:#ffffffd9;color:#183153}
.arrival-tick{width:16px}
.arrival-motion-toggle{border:1px solid #ffffff35!important;border-radius:999px;padding:8px 14px;min-height:38px!important;background:#ffffff0c!important;backdrop-filter:blur(16px)}
.arrival-controls button:focus-visible{outline-color:#b9cdff}
.arrival-concept-label{display:none}
.motion-ready .arrival-concept-label{display:block;top:25px;opacity:.7}
.arrival-landscape>.journey-planner{margin-top:20px}
/* Keep contact available on every page; reserve space beside motion controls. */
.wecom-float{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.motion-ready .arrival-controls{right:190px}
.site-footer{padding-bottom:100px}
@media(max-width:1150px){.site-header nav{gap:6px}.site-header nav a{padding:9px 13px}.arrival-opening .hero-heading h1,.motion-ready .arrival-opening .hero-heading h1{font-size:clamp(52px,7.3vw,82px)}}
@media(max-width:767px){
 :root{--round:25px}
 .section{padding-block:32px}
 .arrival-landscape{padding-bottom:0}
 .section-heading{margin-bottom:22px}
 .site-header{min-height:88px}
 .site-header nav{border-radius:20px;background:#ffffff9c;padding:10px}
 .scroll-arrival{width:calc(100% - 24px);margin-top:0}
 .arrival-stage,.arrival-screen{border-radius:28px}
 .arrival-opening{min-height:620px;padding:45px 7% 70px}
 .arrival-screen{height:620px}
 .arrival-opening .hero-heading h1,.motion-ready .arrival-opening .hero-heading h1,html[lang^=en] .arrival-opening .hero-heading h1{font-size:clamp(40px,10.8vw,64px);letter-spacing:-2px}
 .arrival-opening .hero-heading em,html[lang^=en] .arrival-opening .hero-heading em{margin-left:0}
 .arrival-opening .hero-note p{font-size:12px}
 .arrival-opening .eyebrow{font-size:8px;padding:8px 10px;margin-bottom:20px}
 .hero-actions{gap:9px}
 .hero-actions .button{font-size:11px;padding:12px 15px;gap:14px}
 .scroll-arrival.motion-ready{height:260svh}
 .motion-ready .arrival-stage{top:10px;height:calc(100dvh - 20px)}
 .motion-ready .arrival-opening{padding:8% 7% 22%}
 .motion-ready .arrival-chapter{padding:8% 7% 23%}
 .motion-ready .arrival-chapter-copy h2{font-size:clamp(38px,10vw,58px);letter-spacing:-1.5px}
 .motion-ready .arrival-controls{left:7%;right:7%;bottom:160px}
 .motion-ready .arrival-chapter-nav{margin-bottom:12px;justify-content:space-around}
 .arrival-chapter-nav button{padding:7px 10px;font-size:10px;min-height:38px}
 .arrival-scroll-cue{font-size:8px}
 .arrival-motion-toggle{font-size:9px;min-height:34px!important}
 .motion-ready .arrival-concept-label{top:18px;font-size:7px}
 .motion-ready .arrival-screen .arrival-visual{object-position:62% center}
 .arrival-screen .arrival-shade{background:linear-gradient(90deg,#091a2bcc,#091a2b55),linear-gradient(0deg,#091a2bcc,transparent 80%)}
 .journey-planner{padding:24px 20px}
 .scene-selector{border-radius:20px}
 .scene-selector button{padding:10px 8px;font-size:11px}
 .scene-card{padding:12px;gap:14px}
 .scene-card .scene-body{margin:0;padding:6px 0}
 .scene-body .text-link{font-size:10px;padding:10px 11px;gap:8px}
 .editorial-card>img{height:220px}
 .activity-card{padding:12px;gap:16px}
 .activity-copy{padding:8px 10px 14px}
 .approach{margin-inline:auto;border-radius:28px;padding:36px 20px}
 .process-list li{padding:20px 17px}
 .closing{border-radius:28px;padding:32px 25px;margin-bottom:32px}
 .filter-bar{border-radius:24px;padding:8px}
 .filter-bar button{font-size:11px;padding:9px 13px}
 .wecom-float{min-height:44px}
}
@supports not (backdrop-filter:blur(1px)){.journey-planner,.scene-card,.editorial-card,.fleet-card,.activity-card,.button.outline,.header-contact{background:#f7f9fd}.hero-secondary,.motion-ready .arrival-link,.motion-ready .arrival-chapter-nav{background:#34475ae8}}
@supports not (backdrop-filter:blur(1px)){.journey-planner,.scene-card,.editorial-card,.fleet-card,.activity-card,.wecom-panel,.faq details{background:#d1dfef}}
@media(prefers-reduced-motion:reduce){.button,.text-link,.arrival-link{transition:none}.button:hover,.text-link:hover,.arrival-link:hover{transform:none}}
