:root{--red:#A60B16;--dark-red:#70000A;--gold:#D4AF37;--light-gold:#F3D79B;--navy:#0B1F33;--white:#FFFFFF;--ink:var(--navy);--ink-soft:#122a42;--mist:#f4f6f8;--paper:#ffffff;--line:rgba(212,175,55,0.28);--gold-strong:var(--light-gold);--teal:var(--red);--accent:var(--red);--text:#142033;--muted:#5b6b7c;--shadow:0 24px 60px rgba(11,31,51,0.16);--radius:1.25rem;--shell:min(1120px,calc(100% - 2.5rem));--font-display-en:"Fraunces",Georgia,serif;--font-display-zh:"Noto Serif TC","Songti TC",serif;--font-body-en:"Sora",system-ui,sans-serif;--font-body-zh:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at top right,rgba(212,175,55,0.08),transparent 32%),radial-gradient(circle at top left,rgba(166,11,22,0.05),transparent 28%),linear-gradient(180deg,#ffffff 0%,#f7f8fa 55%,#eef2f6 100%);font-family:var(--font-body-en);line-height:1.65;overflow-x:hidden}body.locale-zh_HK{font-family:var(--font-body-zh)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--gold);color:var(--ink);padding:0.6rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:linear-gradient(180deg,rgba(11,31,51,0.96),rgba(112,0,10,0.92));border-bottom:1px solid rgba(212,175,55,0.28);color:var(--white);transition:background 0.3s ease,box-shadow 0.3s ease}.site-header.is-scrolled{background:linear-gradient(180deg,rgba(11,31,51,0.98),rgba(112,0,10,0.96));box-shadow:0 10px 30px rgba(11,31,51,0.28)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:0;padding-block:0.45rem}.brand{display:flex;align-items:center;gap:0.75rem;text-decoration:none;color:inherit;min-width:0}.brand>picture{display:block;flex:0 0 auto;line-height:0}.brand-logo{display:block;height:72px;width:auto;max-width:none;object-fit:contain;object-position:left center;flex:0 0 auto;border-radius:0;background:transparent;box-shadow:none}.brand-logo[hidden]{display:none}.brand-mark{width:2.4rem;height:2.4rem;border-radius:999px;display:grid;place-items:center;background:radial-gradient(circle at 30% 28%,rgba(243,215,155,0.55),transparent 42%),linear-gradient(145deg,var(--red),var(--dark-red));box-shadow:inset 0 0 0 1px rgba(212,175,55,0.55);flex:0 0 auto}.brand-mark-text{font-family:var(--font-body-en);font-size:0.72rem;font-weight:700;letter-spacing:0.04em;color:var(--light-gold);line-height:1}.brand-text{display:grid;gap:0.1rem;min-width:0}.brand-text strong{font-size:clamp(0.95rem,1.8vw,1.15rem);font-weight:650;letter-spacing:0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.locale-zh_HK .brand-text strong,body.locale-zh_HK .hero-brand,body.locale-zh_HK h1,body.locale-zh_HK h2,body.locale-zh_HK h3{font-family:var(--font-display-zh)}body.locale-en .brand-text strong,body.locale-en .hero-brand,body.locale-en h1,body.locale-en h2{font-family:var(--font-display-en)}.brand-text small{color:rgba(243,215,155,0.78);font-size:0.72rem;letter-spacing:0.04em}.nav-desktop{display:none;gap:1.15rem;font-size:0.9rem;color:rgba(255,255,255,0.78)}.nav-desktop a:hover,.mobile-nav a:hover{color:var(--gold-strong)}.header-actions{display:flex;align-items:center;gap:0.75rem}.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;border:1px solid rgba(212,175,55,0.45);border-radius:999px;color:var(--light-gold);font-size:0.85rem;font-weight:600;transition:background 0.25s ease,color 0.25s ease}.lang-switch:hover{background:rgba(212,175,55,0.16);color:var(--white)}.nav-toggle{width:2.6rem;height:2.6rem;border:0;background:transparent;display:grid;place-content:center;gap:0.35rem;cursor:pointer}.nav-toggle span{display:block;width:1.25rem;height:2px;background:var(--gold-strong)}.mobile-nav{display:grid;gap:0.85rem;padding:0 1.25rem 1.25rem;color:rgba(255,255,255,0.86)}.mobile-nav[hidden]{display:none}.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:3rem;padding:0.75rem 1.35rem;border-radius:999px;background:linear-gradient(135deg,var(--light-gold),var(--gold));color:var(--navy);font-weight:600;letter-spacing:0.01em;transition:transform 0.25s ease,box-shadow 0.25s ease,filter 0.25s ease;box-shadow:0 10px 28px rgba(166,11,22,0.18);border:1px solid rgba(212,175,55,0.55);line-height:1.2;text-align:center}.btn:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 16px 36px rgba(166,11,22,0.24)}.btn-small{min-height:2.5rem;padding:0.55rem 1rem;font-size:0.88rem}.header-actions .btn,.header-actions .btn-bilingual{color:var(--navy)}.header-actions .btn-bilingual .label-en,.header-actions .btn-bilingual .label-zh,.mobile-nav .btn-bilingual .label-en,.mobile-nav .btn-bilingual .label-zh{color:inherit}.mobile-nav .btn{justify-self:start;max-width:100%}.hero-actions .btn-bilingual{min-width:min(100%,11.5rem)}.btn-ghost{background:transparent;color:var(--white);border:1px solid rgba(243,215,155,0.55);box-shadow:none}.btn-ghost:hover{background:rgba(243,215,155,0.1);color:var(--light-gold)}.btn-primary{background:linear-gradient(135deg,#f7e3b0,var(--gold) 48%,#c49a2a);color:var(--navy);border:1px solid rgba(212,175,55,0.7);box-shadow:0 12px 32px rgba(166,11,22,0.26);min-height:3.35rem;padding:0.9rem 1.55rem;font-size:1.02rem}.btn-primary:hover{filter:brightness(1.04);box-shadow:0 16px 38px rgba(166,11,22,0.32)}.btn-primary .label-en{font-weight:700}.btn-primary .label-zh{color:rgba(11,31,51,0.78)}.btn-secondary-outline{background:transparent;color:var(--light-gold);border:1px solid rgba(243,215,155,0.42);box-shadow:none;min-height:3rem;padding:0.7rem 1.2rem;font-weight:400}.btn-secondary-outline:hover{background:rgba(243,215,155,0.08);color:var(--white);border-color:rgba(243,215,155,0.62)}.btn-secondary-outline .label-zh{color:rgba(243,215,155,0.78)}.hero{position:relative;min-height:calc(100svh - 4.75rem);max-height:760px;display:grid;align-items:center;overflow:hidden;color:var(--white);background:var(--navy)}.hero-media{position:absolute;inset:0;pointer-events:none;z-index:0}.hero-photo,.hero-photo img{position:absolute;inset:0;width:100%;height:100%;display:block}.hero-photo img{object-fit:cover;object-position:center right}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient( 90deg,rgba(11,31,51,0.65) 0%,rgba(11,31,51,0.48) 28%,rgba(11,31,51,0.22) 52%,rgba(112,0,10,0.28) 78%,rgba(112,0,10,0.45) 100% )}.hero-content{position:relative;z-index:2;padding:3.25rem 0 3.5rem;max-width:40rem;text-shadow:0 2px 18px rgba(11,31,51,0.45)}.eyebrow{margin:0 0 0.85rem;color:var(--light-gold);font-size:0.84rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase}.hero-zh,.cta-zh{display:block;margin-top:0.35rem;font-family:var(--font-body-zh);font-weight:400;color:rgba(243,215,155,0.82);font-size:0.92rem;letter-spacing:0.02em}.hero-brand .hero-zh{margin-top:0.45rem;font-size:clamp(1rem,2.4vw,1.25rem);color:rgba(243,215,155,0.88)}.hero-headline .hero-zh{margin-top:0.4rem;font-size:clamp(0.95rem,2vw,1.1rem);color:rgba(255,255,255,0.72)}.hero-lead .hero-zh{margin-top:0.45rem;font-size:0.95rem;color:rgba(255,255,255,0.62)}.btn .cta-zh,.btn-ghost .cta-zh{margin-top:0.12rem;font-size:0.72rem;opacity:0.88}.btn .cta-zh{color:rgba(11,31,51,0.78)}.btn-ghost .cta-zh{color:rgba(243,215,155,0.85)}body.locale-zh_HK .eyebrow{letter-spacing:0.18em;text-transform:none}.hero-brand{margin:0 0 1rem;font-size:clamp(2.4rem,7vw,4.4rem);line-height:1.08;font-weight:700;letter-spacing:-0.02em}.hero-headline{margin:0 0 1rem;font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:400;line-height:1.35;color:rgba(255,255,255,0.92)}.hero-lead{margin:0 0 2rem;color:rgba(255,255,255,0.72);font-size:1.05rem;max-width:34rem}.hero-actions{display:flex;flex-wrap:wrap;gap:0.85rem}.section{padding:clamp(4rem,8vw,6.5rem) 0}.section-alt{background:linear-gradient(180deg,rgba(11,31,51,0.04),rgba(166,11,22,0.03))}.pricing-note{margin:0.85rem 0 0;max-width:40rem}.pricing-note .label-en,.pricing-note .label-zh{display:block}.pricing-note .label-en{color:var(--text);font-weight:600}.pricing-note .label-zh{margin-top:0.25rem;color:var(--muted);font-size:0.95rem}.price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid rgba(166,11,22,0.12);border-top:3px solid var(--dark-red);background:#ffffff;box-shadow:0 14px 32px rgba(11,31,51,0.08)}.price-table{width:100%;min-width:640px;border-collapse:collapse;text-align:left}.price-table thead th{padding:0.95rem 1rem;background:linear-gradient(135deg,var(--navy),var(--dark-red));color:var(--light-gold);font-size:0.9rem;font-weight:700;letter-spacing:0.02em}.price-table tbody th,.price-table tbody td{padding:1rem;border-top:1px solid rgba(11,31,51,0.08);vertical-align:top}.price-table tbody tr:nth-child(even){background:rgba(243,215,155,0.08)}.price-table tbody th{font-weight:650;color:var(--navy);min-width:14rem}.price-route-en,.price-route-zh{display:block}.price-route-zh{margin-top:0.25rem;font-size:0.86rem;font-weight:400;color:var(--muted);font-family:var(--font-body-zh)}.price-table tbody td{white-space:nowrap;color:var(--text)}.price-amount{font-weight:700;color:var(--dark-red);font-variant-numeric:tabular-nums}.price-currency{margin-left:0.25rem;font-size:0.85rem;color:var(--muted);font-weight:600}@media (max-width:640px){.price-table{min-width:560px}.price-table thead th,.price-table tbody th,.price-table tbody td{padding:0.8rem 0.75rem;font-size:0.9rem}}.section-head{max-width:38rem;margin-bottom:2.5rem}.section-head h2,.contact-panel h2{margin:0 0 0.85rem;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;letter-spacing:-0.02em}.section-lead{margin:0;color:var(--muted);font-size:1.05rem}.route-list,.fleet-list,.why-list{display:grid;gap:1.25rem}.route-item,.fleet-item,.why-item,.step-item,.faq-item,.contact-panel,.package-points{background:rgba(255,255,255,0.72);border:1px solid rgba(18,32,51,0.06);border-radius:var(--radius)}.route-item,.fleet-item,.why-item,.faq-item,.contact-panel{padding:1.5rem 1.4rem}.fleet-item{padding:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:#ffffff;border:1px solid rgba(166,11,22,0.12);border-top:3px solid var(--dark-red);box-shadow:0 14px 32px rgba(11,31,51,0.08)}.fleet-media{display:grid;place-items:center;height:220px;padding:0.85rem 1rem;background:#ffffff;border-bottom:1px solid rgba(212,175,55,0.28)}.fleet-media picture,.fleet-media img{display:block;width:100%;height:100%}.fleet-media img{object-fit:contain;object-position:center;background:#ffffff}.fleet-body{display:grid;gap:0.55rem;align-content:start;padding:1.25rem 1.35rem 1.4rem}.fleet-name{margin:0;font-size:1.15rem;font-weight:650;line-height:1.3;color:var(--navy)}.fleet-capacity{margin:0;color:var(--dark-red);font-weight:700;font-size:0.95rem}.fleet-desc{margin:0 0 0.35rem;color:var(--muted)}.fleet-book{justify-self:start;margin-top:0.35rem;background:linear-gradient(135deg,var(--light-gold),var(--gold));color:var(--navy);border:1px solid rgba(212,175,55,0.65)}.fleet-book .label-zh{color:rgba(11,31,51,0.78)}.route-item{display:grid;gap:0.75rem}.route-path{display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:650}body.locale-en .route-path{font-family:var(--font-display-en)}body.locale-zh_HK .route-path{font-family:var(--font-display-zh)}.route-arrow{width:2.5rem;height:1px;background:linear-gradient(90deg,var(--teal),var(--gold));position:relative}.route-arrow::after{content:"";position:absolute;right:-1px;top:50%;width:0.45rem;height:0.45rem;border-right:1px solid var(--gold);border-top:1px solid var(--gold);transform:translateY(-50%) rotate(45deg)}.route-item p,.why-item p,.step-item p,.faq-item p{margin:0;color:var(--muted)}.package-grid{display:grid;gap:1.5rem;align-items:start}.package-points{list-style:none;margin:0;padding:1.5rem;display:grid;gap:1rem}.package-points li{position:relative;padding-left:1.4rem;color:var(--text)}.package-points li::before{content:"";position:absolute;left:0;top:0.55rem;width:0.55rem;height:0.55rem;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--gold))}.why-item h3,.step-item h3{margin:0 0 0.55rem;font-size:1.15rem}.steps-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.step-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.35rem 1.4rem}.step-num{color:var(--gold);font-family:var(--font-display-en);font-size:1.4rem;font-weight:650;line-height:1}.faq-list{display:grid;gap:0.85rem}.faq-item summary{cursor:pointer;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";float:right;color:var(--teal);font-weight:400}.faq-item[open] summary::after{content:"–"}.faq-item p{margin-top:0.85rem}.contact-section{padding-bottom:5rem}.contact-panel{text-align:left;background:linear-gradient(145deg,rgba(11,31,51,0.97),rgba(112,0,10,0.92));color:var(--white);box-shadow:var(--shadow)}.contact-panel .section-lead,.contact-note{color:rgba(255,255,255,0.72)}.contact-details{margin-top:1.35rem;display:grid;gap:1.15rem;max-width:36rem}.contact-brand{margin:0;font-size:1.15rem;font-weight:700;color:var(--light-gold)}.contact-address{margin:0;font-style:normal;display:grid;gap:0.2rem;line-height:1.45;color:rgba(255,255,255,0.88)}.contact-channels{list-style:none;margin:0;padding:0;display:grid;gap:0.65rem}.contact-channel{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.35rem 0.65rem;padding:0.85rem 1rem;border-radius:0.9rem;background:rgba(255,255,255,0.08);border:1px solid rgba(243,215,155,0.22);color:#ffffff;text-decoration:none;transition:background 0.2s ease,border-color 0.2s ease}.contact-channel:hover{background:rgba(255,255,255,0.14);border-color:rgba(243,215,155,0.45);color:#ffffff}.contact-channel-label{font-size:0.78rem;font-weight:650;letter-spacing:0.04em;text-transform:uppercase;color:var(--light-gold);min-width:5.5rem}.contact-channel-value{font-weight:600;word-break:break-word}.contact-booking-btn{justify-self:start;min-height:3rem}.contact-details--booking{max-width:none}.contact-details--booking .contact-brand{color:var(--dark-red)}.contact-details--booking .contact-address{color:var(--ink,#122033)}.contact-details--booking .contact-channel{background:rgba(166,11,22,0.05);border-color:rgba(166,11,22,0.12);color:var(--ink,#122033)}.contact-details--booking .contact-channel:hover{background:rgba(166,11,22,0.09);border-color:rgba(166,11,22,0.22);color:var(--ink,#122033)}.contact-details--booking .contact-channel-label{color:var(--dark-red)}.booking-contact-block{margin:1.75rem 0 1.5rem;padding:1.25rem 1.2rem;border-radius:var(--radius);background:rgba(255,255,255,0.82);border:1px solid rgba(18,32,51,0.08)}.booking-contact-title{margin:0 0 0.35rem;font-size:1.35rem;display:grid;gap:0.15rem}.booking-contact-title .label-zh{font-size:0.95rem;font-weight:500;color:var(--muted)}.contact-note{margin:0}.site-footer{background:var(--ink);color:rgba(255,255,255,0.68);padding:2rem 0}.footer-inner{display:grid;gap:0.65rem}.footer-brand{margin:0;color:var(--gold-strong)}.footer-address{margin:0;font-style:normal;display:grid;gap:0.15rem;font-size:0.9rem;line-height:1.4;color:rgba(255,255,255,0.7)}.footer-contact{display:flex;flex-wrap:wrap;gap:0.55rem 1rem;font-size:0.9rem}.footer-contact a{color:rgba(243,215,155,0.92)}.footer-contact a:hover{color:var(--white)}.footer-nav{display:flex;flex-wrap:wrap;gap:0.75rem 1.1rem;font-size:0.9rem}.footer-nav a{color:rgba(243,215,155,0.88)}.footer-nav a:hover{color:var(--white)}.footer-copy{margin:0;font-size:0.9rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity 0.7s ease,transform 0.7s ease;transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(4%,6%,0) scale(1.08)}}@media (max-width:640px){.fleet-media{height:210px}.fleet-name{font-size:1.05rem}}@media (min-width:768px){.route-list,.fleet-list{grid-template-columns:repeat(3,1fr)}.why-list{grid-template-columns:repeat(2,1fr)}.package-grid{grid-template-columns:1.1fr 0.9fr;gap:2rem;align-items:center}.steps-list{grid-template-columns:repeat(3,1fr)}}@media (min-width:641px) and (max-width:979px){.brand-logo{height:64px}.header-inner{padding-block:0.4rem}.hero{min-height:calc(100svh - 4.85rem);max-height:680px}.hero-photo img{object-position:72% center}.hero-content{padding:2.75rem 0 3.25rem}}@media (min-width:980px){.nav-desktop{display:flex}.nav-toggle,.mobile-nav{display:none!important}.header-inner{padding-block:0.4rem}.brand-logo{height:72px}.hero{min-height:calc(100svh - 5.25rem);max-height:720px}.hero-photo img{object-fit:cover;object-position:center right}.hero-content{padding:3.5rem 0 4rem;max-width:38rem}}@media (max-width:640px){.header-actions .btn-small{display:none}.brand-text small{display:none}.brand-text strong{font-size:0.88rem;max-width:9.5rem}.brand-logo{height:52px}.header-inner{gap:0.65rem;padding-block:0.35rem}.hero{min-height:calc(100svh - 4.25rem);max-height:none;align-items:end}.hero-photo img{object-position:78% 45%}.hero-overlay{background:linear-gradient( 180deg,rgba(11,31,51,0.35) 0%,rgba(11,31,51,0.55) 42%,rgba(112,0,10,0.58) 100% )}.hero-content{padding:2.25rem 0 2.75rem;max-width:100%}.hero-brand{font-size:clamp(2rem,9vw,2.7rem);margin-bottom:0.75rem}.hero-lead{margin-bottom:1.5rem}.hero-actions{width:100%;gap:0.7rem}.hero-actions .btn,.hero-actions .btn-primary,.hero-actions .btn-secondary-outline{flex:1 1 100%}}.booking-hero{background:linear-gradient(155deg,var(--navy) 0%,#1a0a10 42%,var(--dark-red) 78%,#4a0810 100%);color:var(--white);padding:5.25rem 0 2.75rem;border-bottom:1px solid rgba(212,175,55,0.28)}.booking-hero .eyebrow{color:var(--light-gold)}.booking-hero h1{margin:0 0 0.75rem;color:var(--white);font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.15}.booking-hero .hero-zh{margin-top:0.35rem;font-size:clamp(1rem,2.4vw,1.2rem);color:rgba(243,215,155,0.88)}.booking-hero .booking-lead{color:rgba(255,255,255,0.78);max-width:36rem}.booking-hero .booking-lead .hero-zh{color:rgba(255,255,255,0.62);font-size:0.95rem}.booking-hero-inner{max-width:40rem}.booking-lead{margin-bottom:0}.booking-section{padding-top:2.25rem;padding-bottom:6.5rem;background:var(--white)}.form-notice{margin-bottom:1.25rem;padding:1rem 1.15rem;border-radius:0.9rem;background:rgba(166,11,22,0.07);border:1px solid rgba(166,11,22,0.18);color:var(--dark-red);font-weight:600}.booking-form{padding:1.5rem;border-radius:var(--radius);background:#ffffff;border:1px solid rgba(11,31,51,0.08);box-shadow:0 18px 40px rgba(11,31,51,0.08)}.booking-form,.summary-panel{border-top:3px solid var(--dark-red)}.form-grid{display:grid;gap:1.1rem}.form-field{display:grid;gap:0.45rem}.form-field label,.vehicle-fieldset legend{font-weight:600;font-size:0.95rem;color:var(--text)}.label-stack{display:grid;gap:0.12rem;line-height:1.25}.label-en{display:block;font-weight:600;font-size:0.95rem;color:var(--text)}.label-zh{display:block;font-weight:400;font-size:0.78rem;color:#7a8796;font-family:var(--font-body-zh)}.btn-bilingual{display:inline-flex;flex-direction:column;align-items:center;gap:0.15rem;line-height:1.2}.btn-bilingual .label-en{font-size:1rem;color:inherit}.btn-bilingual .label-zh{font-size:0.75rem;font-weight:400;color:inherit;opacity:0.82}.booking-wa-note .label-en,.booking-wa-note .label-zh{display:block}.booking-wa-note .label-zh{margin-top:0.2rem}.vehicle-copy{display:grid;gap:0.1rem}.vehicle-copy .label-zh{font-size:0.76rem}.vehicle-copy small{margin-top:0.15rem}.wa-float .label-stack{gap:0.05rem}.wa-float .label-en{font-size:0.92rem;color:inherit}.wa-float .label-zh{font-size:0.68rem;color:inherit;opacity:0.85}.optional{color:var(--muted);font-weight:400}.form-field input,.form-field textarea,.form-field select{width:100%;min-height:3rem;padding:0.75rem 0.9rem;border:1px solid #c5ccd4;border-radius:0.85rem;background:#fff;color:var(--text);font:inherit;transition:border-color 0.2s ease,box-shadow 0.2s ease}.form-field textarea{min-height:7rem;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(166,11,22,0.16)}.field-hint{margin:0;color:var(--muted);font-size:0.85rem}.checkbox-label{display:grid;grid-template-columns:auto 1fr;gap:0.7rem;align-items:start;cursor:pointer;font-weight:600}.checkbox-label input{width:auto;min-height:auto;margin-top:0.2rem}.summary-panel{padding:1.5rem;border-radius:var(--radius);background:#ffffff;border:1px solid rgba(11,31,51,0.08);box-shadow:0 18px 40px rgba(11,31,51,0.08);display:grid;gap:1.5rem}.summary-list{margin:0;display:grid;gap:0.85rem}.summary-list>div{display:grid;gap:0.2rem;padding-bottom:0.75rem;border-bottom:1px solid rgba(18,32,51,0.08)}.summary-list dt{font-size:0.82rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted)}.summary-list dd{margin:0;font-weight:600}.summary-price{padding:1.1rem 1.2rem;border-radius:0.95rem;background:linear-gradient(135deg,var(--navy),var(--dark-red));color:var(--white);border:1px solid rgba(212,175,55,0.35)}.price-label{margin:0 0 0.35rem;color:var(--light-gold);font-size:0.85rem;letter-spacing:0.04em;text-transform:uppercase}.price-value{margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-family:var(--font-display-en);font-weight:600}.price-note{margin:0.55rem 0 0;color:rgba(255,255,255,0.75);font-size:0.9rem}.price-breakdown{margin:0.75rem 0 0;padding:0;list-style:none;color:rgba(255,255,255,0.78);font-size:0.92rem;display:grid;gap:0.25rem}.summary-actions{display:grid;gap:0.85rem;justify-items:start}.btn-whatsapp{background:linear-gradient(135deg,#1ebe57,#25d366);color:#073b1a;border-color:rgba(37,211,102,0.45)}.btn-whatsapp:hover{background:linear-gradient(135deg,#19a84c,#1ebe57);color:#052814}.is-hidden{display:none!important}.booking-lang-notice{margin-bottom:1.1rem;padding:0.95rem 1.15rem;border-radius:0.95rem;border:1px solid rgba(166,11,22,0.16);background:rgba(166,11,22,0.06)}.booking-lang-notice .label-en{margin:0;color:var(--dark-red);font-weight:700}.booking-lang-notice .label-zh{margin:0.25rem 0 0;color:rgba(112,0,10,0.72)}.booking-wa-panel{margin-bottom:1.25rem;padding:1.15rem 1.25rem;border-radius:var(--radius);background:linear-gradient(135deg,rgba(37,211,102,0.1),rgba(255,255,255,0.9));border:1px solid rgba(37,211,102,0.28);display:grid;gap:0.75rem;justify-items:stretch}.booking-chat-actions{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:stretch;width:100%}.booking-chat-actions .btn{flex:1 1 220px;max-width:100%}.btn-whatsapp-green{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.15rem;padding:0.85rem 1.35rem;border-radius:0.9rem;background:#25d366;color:#073b1a;font-weight:700;box-shadow:0 10px 24px rgba(37,211,102,0.28);border:1px solid rgba(37,211,102,0.45)}.btn-whatsapp-green:hover{background:#1ebe57;color:#052814}.btn-line{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:3rem;padding:0.75rem 1.2rem;border-radius:0.9rem;background:#06c755;color:#ffffff;font-weight:650;box-shadow:0 8px 20px rgba(6,199,85,0.22);border:1px solid rgba(5,166,70,0.35)}.btn-line:hover{background:#05b34c;color:#ffffff}.btn-line .label-en,.btn-line .label-zh{color:inherit}.booking-wa-note{margin:0;color:var(--muted);font-size:0.95rem}.chat-float-stack{position:fixed;right:1rem;bottom:5.35rem;z-index:60;display:grid;grid-auto-flow:row;gap:0.75rem;justify-items:end;align-content:end;max-width:min(17rem,calc(100vw - 1.5rem));pointer-events:none}.wa-float,.line-float{position:static;display:inline-flex;align-items:center;gap:0.45rem;min-height:3.1rem;max-width:100%;padding:0.6rem 0.95rem 0.6rem 0.7rem;border-radius:999px;font-weight:700;box-shadow:0 12px 28px rgba(7,17,31,0.22);pointer-events:auto;box-sizing:border-box}.wa-float{order:1;background:#25d366;color:#073b1a}.wa-float:hover{background:#1ebe57;color:#052814}.line-float{order:2;background:#06c755;color:#ffffff;min-height:2.95rem;font-weight:650;box-shadow:0 10px 22px rgba(6,199,85,0.24)}.line-float:hover{background:#05b34c;color:#ffffff}.line-float .label-en,.line-float .label-zh{color:inherit}.wa-float-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;flex:0 0 auto}.wa-float-text{font-size:0.95rem;min-width:0}@media (min-width:900px){.wa-float-text{font-size:0.9rem}.booking-chat-actions{flex-wrap:nowrap}.booking-chat-actions .btn-whatsapp-green{flex:1.15 1 0}.booking-chat-actions .btn-line{flex:0.95 1 0}}@media (max-width:640px){.booking-chat-actions{flex-direction:column}.booking-chat-actions .btn{flex:1 1 auto;width:100%}.chat-float-stack{right:0.7rem;bottom:max(5.1rem,calc(env(safe-area-inset-bottom,0px)+4.6rem));gap:0.55rem;max-width:min(13.5rem,calc(100vw - 1.25rem))}.wa-float,.line-float{min-height:2.75rem;padding:0.5rem 0.75rem 0.5rem 0.55rem;gap:0.35rem}.wa-float-icon{width:1.85rem;height:1.85rem}.wa-float-text .label-en{font-size:0.82rem}.wa-float-text .label-zh{font-size:0.62rem}}.booking-section input[type="date"],.booking-section input[type="time"]{font-variant-numeric:tabular-nums;letter-spacing:0.01em}.btn-secondary{color:var(--dark-red);font-weight:600;text-decoration:underline;text-underline-offset:0.2em}.form-actions .btn,.form-actions .btn-primary{background:linear-gradient(135deg,var(--light-gold),var(--gold));color:var(--navy);border:1px solid rgba(212,175,55,0.65);box-shadow:0 10px 28px rgba(166,11,22,0.16)}.form-actions .btn:hover,.form-actions .btn-primary:hover{filter:brightness(1.03)}@media (max-width:640px){.booking-hero{padding:4.5rem 0 2.1rem}.booking-form,.summary-panel{padding:1.15rem}.booking-wa-panel{padding:1rem}}@media (min-width:768px){.summary-list{grid-template-columns:repeat(2,1fr)}.summary-panel{padding:2rem}}.form-field.has-error input,.form-field.has-error textarea,.form-field.has-error select,.form-field.has-error .vehicle-fieldset{border-color:#b42318}.field-error{margin:0;color:#b42318;font-size:0.88rem}.field-error-bilingual{display:grid;gap:0.15rem;line-height:1.3}.field-error-bilingual .error-en{display:block;font-size:0.88rem;font-weight:600;color:#b42318}.field-error-bilingual .error-zh{display:block;font-size:0.78rem;font-weight:400;color:#c25148;font-family:var(--font-body-zh)}.vehicle-fieldset{margin:0;padding:0.85rem 1rem 1rem;border:1px solid #c5ccd4;border-radius:0.95rem}.vehicle-fieldset:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(166,11,22,0.12)}.vehicle-options{display:grid;gap:0.75rem;margin-top:0.75rem}.vehicle-option{display:grid;grid-template-columns:auto 1fr;gap:0.75rem;align-items:start;padding:0.95rem 1rem;border:1px solid #c5ccd4;border-radius:0.9rem;cursor:pointer;background:#fff;transition:border-color 0.2s ease,box-shadow 0.2s ease,background 0.2s ease}.vehicle-option strong{display:block}.vehicle-option small{color:var(--muted)}.vehicle-option:has(input:checked){border-color:var(--red);box-shadow:inset 0 0 0 1px rgba(166,11,22,0.2);background:rgba(166,11,22,0.04)}.form-actions{margin-top:1.5rem;display:grid;gap:0.85rem;justify-items:start}.form-note{margin:0;color:var(--muted);font-size:0.9rem}.contact-qr-section{margin-top:2rem;padding:1.5rem;border-radius:var(--radius);background:#ffffff;border:1px solid rgba(11,31,51,0.08);border-top:3px solid var(--dark-red);box-shadow:0 18px 40px rgba(11,31,51,0.08)}.contact-qr-head{margin-bottom:1.35rem;max-width:40rem}.contact-qr-head h2{margin:0 0 0.55rem;font-size:clamp(1.35rem,3vw,1.75rem);color:var(--dark-red);line-height:1.25}.contact-qr-head h2 .label-zh{margin-top:0.25rem;font-size:0.95rem;color:rgba(112,0,10,0.72);font-weight:400}.contact-qr-lead{margin:0}.contact-qr-lead .label-en,.contact-qr-lead .label-zh{display:block}.contact-qr-lead .label-en{color:var(--text);font-weight:400}.contact-qr-lead .label-zh{margin-top:0.2rem;color:var(--muted)}.contact-qr-grid{display:grid;gap:1rem;grid-template-columns:1fr}.contact-qr-card{display:grid;justify-items:center;gap:0.75rem;padding:1.25rem 1.1rem 1.35rem;border-radius:1rem;background:#fafbfc;border:1px solid rgba(11,31,51,0.08);text-align:center}.contact-qr-card--whatsapp{border-color:rgba(37,211,102,0.28)}.contact-qr-card--line{border-color:rgba(6,199,85,0.28)}.contact-qr-frame{display:grid;place-items:center;width:220px;height:220px;max-width:100%;padding:0.65rem;border-radius:0.85rem;background:#ffffff;border:1px solid rgba(11,31,51,0.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.8)}.contact-qr-frame img{width:200px;height:200px;max-width:100%;object-fit:contain;image-rendering:auto}.contact-qr-name{margin:0;font-size:1.05rem;font-weight:700;color:var(--navy)}.contact-qr-id{margin:0;font-size:0.9rem;font-weight:600;color:var(--muted);letter-spacing:0.01em}.contact-qr-btn{width:min(100%,16.5rem)}@media (min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-field-full{grid-column:1 / -1}.vehicle-options{grid-template-columns:repeat(3,1fr)}.booking-form{padding:2rem}.contact-qr-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;align-items:stretch}.contact-qr-section{padding:1.75rem 2rem}}@media (max-width:640px){.contact-qr-section{margin-top:1.5rem;padding:1.15rem}.contact-qr-frame{width:200px;height:200px}.contact-qr-frame img{width:180px;height:180px}}@media (max-width:640px){.contact-channel{flex-direction:column;align-items:flex-start;gap:0.2rem;min-height:3.1rem;padding:0.9rem 1rem}.contact-channel-label{min-width:0}.contact-booking-btn{width:100%;justify-self:stretch}.footer-contact{flex-direction:column;gap:0.45rem}.footer-contact a{min-height:2.5rem;display:inline-flex;align-items:center}}.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;border-radius:999px;background:#25d366;color:#ffffff;font-weight:700;text-decoration:none;border:1px solid rgba(18,140,70,0.35);box-shadow:0 8px 20px rgba(37,211,102,0.28);transition:background 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease;box-sizing:border-box}.btn-wa:hover{background:#1ebe57;color:#ffffff;box-shadow:0 10px 24px rgba(37,211,102,0.36)}.btn-wa-icon{display:grid;place-items:center;flex:0 0 auto;color:#ffffff;line-height:0}.btn-wa-label{color:#ffffff;white-space:nowrap;line-height:1.1}.btn-wa-header{min-height:2.55rem;padding:0.45rem 0.85rem 0.45rem 0.7rem;font-size:0.82rem}.btn-wa-mobile-nav{width:100%;min-height:3rem;margin-top:0.35rem;padding:0.7rem 1rem;font-size:1rem;border-radius:0.9rem}.btn-wa-hero{min-height:3.25rem;padding:0.85rem 1.35rem;font-size:1.05rem;border-radius:0.95rem;box-shadow:0 12px 28px rgba(37,211,102,0.35)}.site-wa-float{position:fixed;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom,0px));z-index:65;display:inline-flex;align-items:center;gap:0.45rem;min-height:3.25rem;max-width:min(12.5rem,calc(100vw - 1.5rem));padding:0.65rem 1rem 0.65rem 0.7rem;border-radius:999px;background:#25d366;color:#ffffff;font-weight:700;text-decoration:none;box-shadow:0 14px 30px rgba(7,17,31,0.28);border:1px solid rgba(18,140,70,0.35);box-sizing:border-box}.site-wa-float:hover{background:#1ebe57;color:#ffffff}.site-wa-float-icon{display:grid;place-items:center;width:2.15rem;height:2.15rem;flex:0 0 auto;color:#ffffff;line-height:0}.site-wa-float-label{color:#ffffff;font-size:0.95rem;line-height:1.1}main{padding-bottom:4.75rem}@media (max-width:640px){.header-actions{gap:0.45rem}.btn-wa-header{min-height:2.7rem;min-width:2.7rem;padding:0.45rem 0.65rem;font-size:0.78rem}.btn-wa-header .btn-wa-label{display:inline}.btn-wa-hero{width:100%;min-height:3.35rem;font-size:1.05rem}.site-wa-float{right:0.7rem;bottom:max(0.7rem,env(safe-area-inset-bottom,0px));min-height:3.1rem;padding:0.55rem 0.85rem 0.55rem 0.6rem;max-width:min(11.5rem,calc(100vw - 1.25rem))}.site-wa-float-icon{width:2rem;height:2rem}.site-wa-float-label{font-size:0.88rem}}@media (min-width:641px) and (max-width:899px){.btn-wa-header .btn-wa-label{display:inline}}