.shop-page{--sky-blue:#315bff;--sky-soft:#eef2ff;--sky-mid:#d9e0f7;--cloud:#f8faff;--white:#fff;--ink:#172048;--muted:#5f6991;--coral:#ff765d;--sun:#ffd95a;background:var(--cloud);min-height:100vh;color:var(--ink);font-family:var(--font-shop-sans), "PingFang TC", sans-serif;overflow:hidden}.shop-page *,.shop-page :before,.shop-page :after{box-sizing:border-box}.shop-page h1,.shop-page h2,.shop-page h3,.shop-page p{text-wrap:pretty}.shop-page h1,.shop-page h2,.shop-page .brand-placeholder,.shop-page .hero-kicker,.shop-page .boarding-ticket,.shop-page .destination-card header,.shop-page .how-intro>p,.shop-page .steps-list>li>span,.shop-page .shop-footer{font-family:var(--font-shop-display), sans-serif}.shop-page a,.shop-page button,.shop-page input,.shop-page summary{color:inherit;font:inherit}:is(.shop-page a:focus-visible,.shop-page button:focus-visible,.shop-page input:focus-visible,.shop-page summary:focus-visible){outline:3px solid var(--coral);outline-offset:3px}.shop-header{border-bottom:2px solid var(--ink);background:var(--white);grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;min-height:84px;padding:0 clamp(24px,5vw,80px);display:grid}.brand-placeholder{border:1px dashed var(--muted);width:fit-content;color:var(--muted);letter-spacing:.03em;justify-self:start;padding:9px 12px;font-size:12px;font-weight:700}.brand-placeholder span{color:var(--coral)}.shop-header nav{gap:clamp(24px,3vw,48px);display:flex}.shop-header nav a{font-size:14px;font-weight:700;position:relative}.shop-header nav a:after{content:"";background:var(--sky-blue);transform-origin:100%;height:2px;transition:transform .16s ease-out;position:absolute;bottom:-9px;left:0;right:0;transform:scaleX(0)}.shop-header nav a:hover:after{transform-origin:0;transform:scaleX(1)}.shop-header nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.shop-header-actions{justify-self:end}.shop-header-actions>button{border:1px solid var(--sky-mid);background:var(--sky-soft);border-radius:12px;min-height:46px;padding:0 16px;font-size:13px;font-weight:700}.shop-header-actions>button span{background:var(--white);min-width:23px;min-height:23px;color:var(--sky-blue);border-radius:999px;place-items:center;margin-left:9px;display:inline-grid}.shop-header-actions>button:disabled,.destination-card button:disabled,.support-section button:disabled{cursor:not-allowed;opacity:.65}.mobile-nav{display:none}.shop-hero{border-bottom:2px solid var(--ink);background:var(--sky-soft);grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:clamp(56px,7vw,112px);min-height:720px;padding:clamp(64px,8vw,120px) clamp(24px,6vw,96px);display:grid;position:relative;overflow:hidden}.hero-sun{aspect-ratio:1;background:var(--sun);border-radius:50%;width:min(42vw,640px);position:absolute;top:-31%;right:-8%}.hero-copy,.hero-visual{z-index:1;position:relative}.hero-kicker{border:1px solid var(--sky-blue);background:var(--white);width:fit-content;color:var(--sky-blue);letter-spacing:.04em;border-radius:999px;margin:0 0 22px;padding:7px 11px;font-size:12px;font-weight:700}.hero-copy h1{letter-spacing:-.075em;max-width:820px;margin:0;font-size:clamp(58px,7.2vw,112px);font-weight:800;line-height:.93}.hero-copy h1 span{color:var(--sky-blue);margin-top:.09em;display:block}.hero-lead{max-width:620px;color:var(--muted);margin:28px 0 0;font-size:clamp(16px,1.4vw,19px);line-height:1.75}.destination-finder{border:2px solid var(--ink);background:var(--white);max-width:680px;box-shadow:8px 9px 0 var(--sky-blue);border-radius:16px;margin-top:36px;padding:10px 10px 10px 20px}.destination-finder>label{color:var(--muted);font-size:11px;font-weight:700;display:block}.destination-finder>div{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:2px;display:grid}.destination-finder input{min-width:0;height:48px;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:17px;font-weight:650}.destination-finder input::placeholder{color:#7f88aa;opacity:1}.destination-finder a{background:var(--sky-blue);min-height:48px;color:var(--white);border-radius:12px;align-items:center;padding:0 20px;font-size:14px;font-weight:750;display:inline-flex}.search-note{color:var(--muted);margin:18px 0 0;font-size:12px}.hero-visual{place-items:center;min-height:520px;display:grid}.boarding-ticket{border:2px solid var(--ink);background:var(--white);width:min(100%,620px);box-shadow:14px 16px 0 var(--sky-blue);grid-template-columns:minmax(0,1fr) 148px;display:grid;position:relative;transform:rotate(2deg)}.ticket-main{min-width:0;padding:clamp(24px,3vw,36px)}.ticket-heading{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:start;gap:20px;padding-bottom:18px;display:flex}.ticket-heading>div{flex-direction:column;display:flex}.ticket-heading span,.ticket-heading p{font-family:var(--font-shop-display), sans-serif;letter-spacing:.1em;font-size:10px;font-weight:800}.ticket-heading b{margin-top:5px;font-size:12px}.ticket-heading p{color:var(--coral);text-align:right;margin:0}.ticket-route{grid-template-columns:minmax(80px,1fr) minmax(58px,.7fr) minmax(100px,1fr);align-items:end;gap:14px;padding:30px 0 28px;display:grid}.ticket-airport{flex-direction:column;display:flex}.ticket-airport:last-child{text-align:right;align-items:flex-end}.ticket-airport small{color:var(--muted);font-family:var(--font-shop-display), sans-serif;letter-spacing:.14em;font-size:9px;font-weight:750}.ticket-airport strong{font-family:var(--font-shop-display), sans-serif;letter-spacing:-.06em;margin-top:6px;font-size:clamp(44px,4vw,64px);line-height:1}.ticket-airport span{color:var(--muted);margin-top:4px;font-size:11px;font-weight:650}.ticket-route-line{place-items:center;min-height:50px;display:grid;position:relative}.ticket-route-line i{border-top:2px dashed #8993b8;width:100%;height:1px}.ticket-route-line b{background:var(--white);color:var(--coral);padding:3px 6px;font-size:25px;position:absolute}.ticket-details{border:1px solid var(--sky-mid);background:var(--sky-soft);grid-template-columns:.85fr .7fr 1.45fr;margin:0;display:grid}.ticket-details>div{border-right:1px solid var(--sky-mid);min-width:0;padding:13px 12px}.ticket-details>div:last-child{border-right:0}.ticket-details dt,.ticket-details dd,.ticket-stub dt,.ticket-stub dd{margin:0}.ticket-details dt{color:var(--muted);font-size:9px}.ticket-details dd{margin-top:4px;font-size:12px;font-weight:750;line-height:1.45}.ticket-stub{border-left:2px dashed var(--ink);background:#fff8d9;flex-direction:column;min-width:0;padding:26px 20px 20px;display:flex;position:relative}.ticket-stub:before,.ticket-stub:after{content:"";z-index:2;border:2px solid var(--ink);background:var(--sky-soft);border-radius:50%;width:24px;height:24px;position:absolute;left:-13px}.ticket-stub:before{top:-14px}.ticket-stub:after{bottom:-14px}.stub-heading{flex-direction:column;display:flex}.stub-heading small{color:var(--muted);letter-spacing:.12em;font-size:8px;font-weight:800}.stub-heading strong{color:var(--sky-blue);font-family:var(--font-shop-display), sans-serif;letter-spacing:-.05em;margin-top:3px;font-size:26px}.ticket-stub dl{gap:10px;margin:28px 0 20px;display:grid}.ticket-stub dl>div{border-bottom:1px solid #1720483d;justify-content:space-between;gap:8px;display:flex}.ticket-stub dt,.ticket-stub dd{font-family:var(--font-shop-display), sans-serif;letter-spacing:.08em;font-size:8px;font-weight:750}.ticket-barcode{width:100%;height:78px;color:var(--ink);margin-top:auto;display:block}.ticket-barcode rect{fill:currentColor}.visual-caption{border:2px solid var(--ink);background:var(--coral);color:var(--ink);justify-self:end;margin:-5px 0 0;padding:11px 15px;font-size:13px;font-weight:800;transform:rotate(-4deg)}.destination-section{border-bottom:2px solid var(--ink);background:var(--white);padding:clamp(72px,8vw,120px) clamp(24px,6vw,96px)}.section-heading,.destination-grid,.how-section,.support-section,.shop-footer{width:min(1360px,100%);margin-inline:auto}.section-heading{grid-template-columns:minmax(300px,1fr) minmax(300px,.62fr);align-items:end;gap:48px;margin-bottom:40px;display:grid}.section-heading>div>p,.how-intro>p,.support-section>div>p{color:var(--coral);margin:0;font-size:12px;font-weight:800}.section-heading h2,.how-intro h2,.support-section h2{letter-spacing:-.06em;margin:7px 0 0;font-size:clamp(40px,5vw,72px);line-height:1}.section-heading>p{color:var(--muted);margin:0;font-size:15px;line-height:1.75}.destination-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.destination-card{border:2px solid var(--ink);background:var(--cloud);border-radius:16px;flex-direction:column;min-height:390px;padding:26px;display:flex}.destination-card:nth-child(2){background:#fff1ed}.destination-card:nth-child(3){background:#fff8d9}.destination-card header{letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:11px;font-weight:750;display:flex}.destination-card header span{border:2px solid var(--ink);background:var(--white);place-items:center;width:52px;height:52px;font-size:18px;display:grid}.destination-card header small{color:var(--muted)}.destination-card h3{letter-spacing:-.055em;margin:46px 0 28px;font-size:clamp(36px,4vw,58px);line-height:1}.destination-card dl{margin:auto 0 22px}.destination-card dl>div{border-top:1px solid #17204840;justify-content:space-between;gap:20px;padding:13px 0;display:flex}.destination-card dt,.destination-card dd{margin:0;font-size:12px}.destination-card dt{color:var(--muted)}.destination-card dd{text-align:right;font-weight:700}.destination-card button{background:var(--ink);min-height:48px;color:var(--white);border:0;border-radius:12px;font-weight:700}.how-section{background:var(--sky-blue);color:var(--white);grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(56px,8vw,128px);padding:clamp(72px,8vw,120px) clamp(24px,6vw,96px);display:grid}.how-section:before{content:"";position:absolute}.how-intro>p{color:var(--sun)}.how-intro h2{max-width:560px}.steps-list{margin:0;padding:0;list-style:none}.steps-list li{border-top:1px solid #fff6;grid-template-columns:58px minmax(150px,.7fr) minmax(220px,1fr);align-items:start;gap:22px;padding:28px 0;display:grid}.steps-list li:last-child{border-bottom:1px solid #fff6}.steps-list>li>span{color:var(--sun);font-size:15px;font-weight:800}.steps-list h3,.steps-list p{margin:0}.steps-list h3{font-size:21px}.steps-list p{color:#ffffffc7;font-size:14px;line-height:1.75}.support-section{border-bottom:2px solid var(--ink);background:var(--coral);color:var(--ink);grid-template-columns:minmax(320px,1fr) minmax(260px,.65fr) auto;align-items:center;gap:clamp(32px,5vw,72px);padding:clamp(56px,7vw,92px) clamp(24px,6vw,96px);display:grid}.support-section>div>p{color:var(--ink)}.support-section h2{font-size:clamp(36px,4vw,58px)}.support-section>p{margin:0;font-size:15px;line-height:1.75}.support-section button{border:2px solid var(--ink);background:var(--sun);min-height:50px;color:var(--ink);border-radius:12px;padding:0 18px;font-weight:750}.shop-footer{background:var(--ink);min-height:92px;color:var(--white);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:24px;padding:24px clamp(24px,6vw,96px);font-size:12px;font-weight:700;display:flex}.shop-footer a{color:var(--sun)}@media (max-width:1040px){.shop-hero{grid-template-columns:1fr .8fr;gap:48px}.hero-copy h1{font-size:clamp(58px,8vw,86px)}.section-heading,.how-section{grid-template-columns:1fr}.support-section{grid-template-columns:1fr 1fr}.support-section button{width:fit-content}}@media (max-width:800px){.shop-header{grid-template-columns:1fr auto;min-height:74px}.shop-header>nav,.shop-header-actions>button{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{border:1px solid var(--sky-mid);background:var(--sky-soft);cursor:pointer;border-radius:12px;place-items:center;min-width:64px;min-height:44px;font-size:13px;font-weight:750;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav>div{z-index:10;border:2px solid var(--ink);background:var(--white);width:200px;box-shadow:7px 8px 0 var(--sky-blue);border-radius:12px;padding:9px;display:grid;position:absolute;top:52px;right:0}.mobile-nav>div a{border-bottom:1px solid var(--sky-mid);align-items:center;min-height:44px;padding:0 12px;font-size:14px;font-weight:700;display:flex}.mobile-nav>div a:last-child{border-bottom:0}.shop-hero{grid-template-columns:1fr}.hero-sun{width:640px;top:auto;bottom:-280px;right:-360px}.hero-visual{min-height:460px}.destination-grid{grid-template-columns:1fr}.destination-card{min-height:330px}.support-section{grid-template-columns:1fr}}@media (max-width:560px){.shop-header{padding-inline:16px}.brand-placeholder{padding-inline:9px;font-size:10px}.shop-hero{min-height:auto;padding:58px 20px 76px}.hero-copy h1{font-size:clamp(50px,15vw,72px)}.hero-lead{font-size:16px}.destination-finder{padding:14px}.destination-finder>div{grid-template-columns:1fr}.destination-finder a{justify-content:center}.hero-visual{min-height:390px}.boarding-ticket{box-shadow:9px 10px 0 var(--sky-blue);grid-template-columns:1fr;transform:rotate(1deg)}.ticket-main{padding:22px}.ticket-heading{gap:12px}.ticket-heading p{max-width:90px}.ticket-route{grid-template-columns:minmax(72px,1fr) 54px minmax(90px,1fr);gap:8px}.ticket-airport strong{font-size:42px}.ticket-details>div{padding-inline:8px}.ticket-stub{border-top:2px dashed var(--ink);border-left:0;grid-template-columns:.7fr 1fr 1.15fr;align-items:center;gap:18px;min-height:144px;padding:20px 22px;display:grid}.ticket-stub:before,.ticket-stub:after{top:-13px;bottom:auto}.ticket-stub:before{left:-13px}.ticket-stub:after{left:auto;right:-13px}.ticket-stub dl{margin:0}.ticket-barcode{height:80px;margin-top:0}.visual-caption{margin-top:4px}.destination-section,.how-section,.support-section{padding:64px 20px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading h2,.how-intro h2,.support-section h2{font-size:44px}.destination-card{min-height:310px;padding:22px}.destination-card h3{margin-block:36px 22px}.steps-list li{grid-template-columns:42px 1fr;gap:14px}.steps-list p{grid-column:2}.shop-footer{flex-direction:column;align-items:flex-start;padding:28px 20px}}@media (prefers-reduced-motion:reduce){.shop-page *,.shop-page :before,.shop-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
