/* Desktop layout based on the supplied 1920px artwork. */
html{scrollbar-gutter:stable}
.swiper-container{position:relative;overflow:hidden;width:100%;margin:0 auto;z-index:1}
.hero .hero-plane{width:43.75%;left:28.125%;top:0}
.brand::after{content:"";position:absolute;inset:0;background:url('../images/logo_ci.png') center/100% 100% no-repeat;clip-path:inset(0 80% 0 0);pointer-events:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:1100px;background:#779bd2;color:#fff;font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif}button{font:inherit;cursor:pointer;border:0;padding:0;color:inherit}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #ff98ba;outline-offset:6px}[hidden]{display:none!important}main{container-type:inline-size}section{position:relative;background-size:100% 100%;background-repeat:no-repeat;isolation:isolate}header{position:absolute;inset:0 0 auto;z-index:10}.brand{position:absolute;left:3.8%;top:3.5cqw;width:13.7%}.brand img{filter:brightness(0) invert(1)}.menu-toggle{position:absolute;right:2.5%;top:3cqw;width:2.8%;padding:.25cqw;border:2px solid #fff;border-radius:.4cqw;background:transparent}.menu-toggle img{filter:brightness(0) invert(1)}#site-menu{position:absolute;right:2.5%;top:7cqw;width:17cqw;padding:1cqw;background:rgba(27,57,100,.97);border:1px solid #c9d6e9;border-radius:.6cqw;box-shadow:0 8px 30px #17335633}#site-menu a{display:block;padding:.6cqw;font-size:1.1cqw;border-radius:.3cqw}#site-menu a:hover{background:#ffffff20}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:#18375f;z-index:100}.skip-link:focus{top:10px}
.hero{aspect-ratio:1920/2132;background-image:url('../images/s01/bg_01.jpg')}.hero-plane{position:absolute;width:48.75%;left:25.625%;top:.7%}.hero h1{position:absolute;width:65.46875%;left:17.265625%;top:16.66%}.hero-subtitle{position:absolute;width:37.76%;left:31.12%;top:25%}.timetable{position:absolute;left:20.3%;top:72.8%;width:59.4%;scroll-margin-top:30px}.route-tabs{display:flex;gap:.43cqw;margin-bottom:.85cqw}.route-tabs button{width:25%;background:none;border-radius:99px;transition:filter .2s}.route-tabs button:hover{filter:brightness(1.1)}.schedule-note{text-align:center;margin-top:1.1cqw;font-family:"Noto Serif TC",serif;font-size:1.15cqw;letter-spacing:.2cqw}.discount{position:absolute;width:50.05%;left:24.975%;top:90.3%}
.section-title{position:absolute;top:6.1cqw;left:50%;transform:translateX(-50%);font-size:2.6cqw;font-weight:700;line-height:1.3;letter-spacing:.25cqw;text-align:center;white-space:nowrap;padding-bottom:1.1cqw;border-bottom:.3cqw solid white}.section-intro{position:absolute;top:11.8cqw;left:10%;width:80%;font-family:"Noto Serif TC",serif;font-size:1.2cqw;line-height:1.8;letter-spacing:.15cqw;text-align:center}
.lottery{aspect-ratio:1920/1206;background-image:url('../images/s02/bg_02.jpg')}.lottery-intro{position:absolute;top:13.7cqw;width:100%;text-align:center;font-size:1.95cqw;line-height:1.9;letter-spacing:.12cqw}.lottery-intro p+p{margin-top:.3cqw}.prize-grid{position:absolute;left:5.73%;top:36.32%;width:88.54%;display:grid;grid-template-columns:repeat(5,1fr);gap:2.5cqw}.lottery-actions{position:absolute;top:81.55%;width:100%;display:flex;justify-content:center;gap:2.3cqw}.pill{display:flex;align-items:center;justify-content:center;gap:.7cqw;background:#fff;color:#294b73;font-size:1.3cqw;font-weight:500;letter-spacing:.17cqw;line-height:1.55;padding:0 1.1cqw;border-radius:.8cqw;transition:transform .2s}.pill span{font:300 1.8cqw/1 sans-serif}.pill:hover{transform:translateY(-3px)}.pink{background:#ec566d;color:#fff}
.cities{aspect-ratio:1920/899;background-image:url('../images/s03/bg_03.jpg')}.cities .section-title{top:4.6cqw}.city-grid{position:absolute;top:43.27%;left:4.74%;width:90.52%;display:grid;grid-template-columns:repeat(4,1fr);gap:1.77cqw}.city-grid a{transition:transform .2s}.city-grid a:hover{transform:translateY(-6px)}
.journeys{aspect-ratio:1920/1782;background-image:url('../images/s04/bg_04.jpg')}.journeys .section-title{top:3.35cqw}.journeys .section-intro{top:10.75cqw}.video-grid{position:absolute;left:15.625%;top:19.58%;width:68.75%;display:grid;grid-template-columns:repeat(2,1fr);column-gap:3.55cqw;row-gap:1.4cqw}.video-grid figure{min-width:0}.video-trigger{display:block;width:100%;background:none;border-radius:1.8cqw;transition:filter .2s}.video-trigger:hover{filter:brightness(1.12)}figcaption{text-align:center;font-size:1.55cqw;font-weight:500;line-height:1.5;margin-top:1cqw}
.cabin{aspect-ratio:1920/1254}.business{background-image:url('../images/s05/bg_05.jpg')}.economy{aspect-ratio:1920/1252;background-image:url('../images/s06/bg_06.jpg')}.cabin h3{position:absolute;top:14.7cqw;width:100%;text-align:center;font-size:1.95cqw;font-weight:400;letter-spacing:.05cqw}.cabin-intro{position:absolute;top:19.1cqw;width:100%;text-align:center;font-family:"Noto Serif TC",serif;font-size:1.17cqw;line-height:1.85;letter-spacing:.13cqw}.cabin-carousel{position:absolute;top:43.05%;left:13.85%;width:73.1%}.cabin-carousel .swiper-slide{width:29.4%}.cabin-carousel .swiper-slide img{width:100%;height:auto}.carousel-prev,.carousel-next{position:absolute;top:48%;z-index:2;width:2.6cqw;height:3.4cqw;border-radius:99px;background:#16315480;font:2.8cqw/1 serif;color:#fff;opacity:.75;transition:opacity .2s}.carousel-prev:hover,.carousel-next:hover{opacity:1}.carousel-prev{left:-4.3cqw}.carousel-next{right:-4.3cqw}.swiper-button-disabled{opacity:.2;cursor:default}
.dining{aspect-ratio:1920/890;background-image:url('../images/s07/bg_07.jpg')}.dining .section-title{top:5.9cqw;line-height:1.3}.food-carousel{position:absolute;top:39.89%;left:13.02%;width:73.91%}.food-card{position:relative}.food-copy{position:absolute;left:53.25%;top:20.5%;width:42.3%;color:#4987b8;font-family:"Noto Serif TC",serif;letter-spacing:.12cqw}.food-copy h3{font-size:1.65cqw;line-height:1.5;font-weight:400}.food-copy h3 span{display:block;color:#f18094}.food-copy p{margin-top:1.45cqw;font-size:1.04cqw;line-height:1.6;text-align:justify;letter-spacing:.08cqw}.food-pagination{display:flex;justify-content:center;gap:1.2cqw;margin-top:1.65cqw}.food-pagination .swiper-pagination-bullet{display:block;border:0;width:1cqw;height:1cqw;border-radius:50%;background:#fff;opacity:1;cursor:pointer}.food-pagination .swiper-pagination-bullet-active{background:#f08595}.back-top{position:fixed;bottom:25px;right:22px;width:42px;background:none;z-index:15;opacity:.85}.back-top:hover{opacity:1}
dialog{width:min(760px,80vw);max-height:80vh;padding:48px;border:0;border-radius:18px;color:#294b73;background:#f9fbff;line-height:1.9;overflow:visible;display:flex;flex-direction:column}dialog::backdrop{background:#102643b8}dialog h2{flex:0 0 auto;font-size:28px;margin:0 0 18px}#dialog-content{min-height:0;overflow:auto;padding-right:10px}dialog p+p{margin-top:16px}.rules-content h3{margin:22px 0 4px;font-size:18px}.rules-content ol{margin:0;padding-left:1.7em}.rules-content li+li{margin-top:7px}.rules-content p{margin:0;text-align:justify}.rules-content p:first-child{font-weight:700}.dialog-close{position:absolute;top:-45px;right:0;padding:0;border:0;background:none;font-size:36px;color:#fff;line-height:1;cursor:pointer;transition:all .2s ease}.dialog-close:hover{color:#e53e65;transform:scale(1.15)}body:has(dialog[open]){overflow:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.video-frame {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.video-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:60px 20px 40px;background:rgba(0,0,0,.65);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.video-modal-overlay.active{opacity:1;visibility:visible}.video-modal-container{position:relative;width:min(960px,100%);padding:20px;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.25);transform:translateY(-20px);transition:transform .3s ease}.video-modal-overlay.active .video-modal-container{transform:translateY(0)}.video-modal-close{position:absolute;top:-45px;right:0;padding:0;border:0;background:none;color:#fff;font-size:36px;line-height:1;cursor:pointer;transition:all .2s ease}.video-modal-close:hover{color:#e53e65;transform:scale(1.15)}
