:root{--paper:#f4f1e9;--paper-deep:#e9e6dc;--white:#fffdf8;--ink:#22302d;--muted:#66716c;--forest:#183d38;--forest-dark:#102f2c;--gold:#c29d62;--line:#d7d6cc;--serif:Georgia,"Times New Roman",serif;--sans:"Aptos","Segoe UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}section{scroll-margin-top:86px}.section-shell{max-width:1500px;margin:auto;padding-left:clamp(24px,5.5vw,92px);padding-right:clamp(24px,5.5vw,92px)}.preview-ribbon{padding:7px 16px;background:var(--forest-dark);color:#e4e8dd;text-align:center;font-size:10px;letter-spacing:.19em;font-weight:700}.site-header{height:82px;display:flex;align-items:center;gap:38px;padding:0 clamp(24px,5.5vw,92px);background:var(--paper);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(24,61,56,.1)}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--forest)}.brand-mark{font-size:43px;font-weight:300;line-height:1;color:var(--gold);transform:rotate(-10deg)}.brand-text{display:flex;flex-direction:column;line-height:.9}.brand-text strong{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:-.06em}.brand-text small{font-size:10px;letter-spacing:.46em;margin-top:8px;font-weight:700}.primary-nav{display:flex;align-items:center;gap:clamp(16px,2vw,35px);margin-left:auto}.primary-nav>a{font-size:12px;font-weight:650;letter-spacing:.045em;white-space:nowrap;transition:color .2s}.primary-nav>a:hover,.footer-links>a:hover{color:var(--gold)}.primary-nav .nav-enquire{background:var(--forest);color:#fff;padding:14px 19px}.primary-nav .nav-enquire:hover{background:#27584f;color:#fff}.nav-enquire span{margin-left:12px}.language-toggle{border:0;border-left:1px solid var(--line);padding:7px 0 7px 20px;background:none;display:flex;gap:6px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.lang-divider{opacity:.35}html[lang="en"] .lang-en,html[lang="zh"] .lang-zh{color:var(--forest)}.menu-toggle{display:none}.hero{min-height:min(700px,calc(100vh - 110px));display:grid;grid-template-columns:46% 54%;background:#efece3}.hero-copy{padding:clamp(50px,6.3vw,100px) clamp(24px,4vw,75px) 30px clamp(24px,5.5vw,92px);display:flex;flex-direction:column;min-width:0}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:.21em;color:#77847c}.eyebrow{display:flex;align-items:center;gap:14px}.eyebrow-line{height:1px;width:28px;background:var(--gold)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(51px,5.8vw,92px);line-height:1.08;letter-spacing:-.065em;margin:clamp(48px,7.4vw,112px) 0 31px;color:var(--forest);max-width:680px}.hero h1 em,.section-heading h2 em,.short-on-time h2 em,.photo-copy h2 em,.about-section h2 em,.enquire-section h2 em,.large-copy em,.image-quote em{font-weight:400;color:var(--gold)}.hero-copy>p{max-width:450px;font-size:16px;line-height:1.8;color:#5a6863}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;min-height:52px;padding:0 21px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.045em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--forest);color:#fff}.button-dark:hover{background:#27584f}.hero-caption{font-family:var(--serif);font-size:13px;font-style:italic;color:#7b8278}.hero-index{margin-top:auto;padding-top:50px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.13em;color:#8c948d}.hero-image-wrap{position:relative;min-height:570px;overflow:hidden}.hero-image{height:100%;width:100%;object-fit:cover;object-position:center 50%}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.04),transparent 40%)}.image-stamp{position:absolute;right:37px;top:38px;z-index:2;width:96px;height:96px;border:1px solid rgba(255,255,255,.85);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:white;transform:rotate(12deg);font-size:8px;letter-spacing:.12em}.stamp-dot{font-size:22px;line-height:1}.photo-credit{position:absolute;bottom:25px;right:30px;color:white;font-size:9px;letter-spacing:.23em;font-weight:700;z-index:2;text-shadow:0 1px 7px #0007}.intro{display:grid;grid-template-columns:28% 1fr;gap:6%;padding-top:125px;padding-bottom:130px;border-bottom:1px solid var(--line)}.section-number{color:#8a938d;font-size:11px;font-weight:700;letter-spacing:.2em;padding-top:12px}.large-copy{font-family:var(--serif);font-size:clamp(28px,3.1vw,48px);line-height:1.32;letter-spacing:-.045em;margin-bottom:29px;max-width:950px}.body-copy{color:var(--muted);line-height:1.8;max-width:600px;font-size:15px}.explore-section{padding-top:120px;padding-bottom:140px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-heading h2,.short-on-time h2,.photo-copy h2,.about-section h2,.enquire-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.1vw,76px);line-height:1.08;letter-spacing:-.06em;color:var(--forest);margin:20px 0 0}.section-heading>p{max-width:330px;color:var(--muted);line-height:1.7;font-size:14px;margin-bottom:5px}.entry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.entry-card{height:clamp(365px,38vw,520px);position:relative;overflow:hidden;background:var(--forest);color:white}.entry-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s;filter:saturate(.92)}.entry-card:hover img{transform:scale(1.045)}.entry-card-chc img{object-position:53% center}.entry-card-seasonal img{object-position:48% center}.entry-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,transparent 35%,rgba(0,0,0,.75) 100%)}.entry-top{position:absolute;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:16px}.entry-top span{font-family:var(--sans);font-size:21px;transition:transform .2s}.entry-card:hover .entry-top span{transform:translate(3px,-3px)}.entry-bottom{position:absolute;bottom:25px;left:23px;right:18px;display:flex;flex-direction:column}.entry-bottom small{font-size:9px;font-weight:700;letter-spacing:.17em;line-height:1.5}.entry-bottom strong{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.5vw,38px);line-height:1.05;margin:9px 0 11px;letter-spacing:-.045em}.entry-bottom small:last-child{font-size:11px;font-weight:400;letter-spacing:.01em;color:#f0eee3}.image-quote{height:470px;position:relative;overflow:hidden;background:#a05326}.image-quote>img{height:100%;width:100%;object-fit:cover;object-position:center 51%}.image-quote:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,34,31,.68),rgba(19,34,31,.1))}.image-quote-content{position:absolute;left:clamp(24px,10vw,150px);top:50%;transform:translateY(-50%);z-index:2;color:white}.image-quote .kicker{color:#eee3d3}.image-quote-content p{font-family:var(--serif);font-size:clamp(45px,5.7vw,82px);line-height:1.05;letter-spacing:-.055em;margin:20px 0}.image-quote-content em{color:#f3d9ac}.image-quote-content>span:last-child{display:block;max-width:340px;line-height:1.6;font-size:13px;color:#faf4e9}.journeys-section{padding-top:125px;padding-bottom:130px}.journeys-heading{margin-bottom:42px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-bottom:34px}.filter-button{border:1px solid #cbd1c9;background:none;padding:11px 15px;color:var(--forest);font-size:11px;font-weight:700;letter-spacing:.03em}.filter-button.active,.filter-button:hover{background:var(--forest);border-color:var(--forest);color:white}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 18px}.journey-card{border-bottom:1px solid var(--line);padding-bottom:18px;text-align:left;background:transparent;display:block;width:100%;border-top:0;border-left:0;border-right:0;color:var(--ink)}.journey-card img{height:260px;width:100%;object-fit:cover;transition:filter .2s}.journey-card:hover img{filter:brightness(.92)}.journey-card-meta{display:flex;justify-content:space-between;gap:8px;margin-top:20px;color:#77837c;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.journey-card h3{font-family:var(--serif);font-size:clamp(24px,2.25vw,34px);line-height:1.12;letter-spacing:-.045em;font-weight:400;margin:10px 0}.journey-card p{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 15px}.journey-card-bottom{display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.11em;color:var(--forest);text-transform:uppercase}.journey-card-bottom b{font-size:19px;font-weight:400;line-height:0}.journeys-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:60px;border-top:1px solid var(--line);padding-top:24px}.journeys-footer p{font-family:var(--serif);font-size:23px;margin:0}.text-link{font-size:12px;font-weight:700;color:var(--forest);border-bottom:1px solid var(--gold);padding-bottom:8px;white-space:nowrap}.text-link span:last-child{margin-left:10px}.link-button{background:none;border-top:0;border-left:0;border-right:0}.short-on-time{background:var(--paper-deep);padding-top:65px;padding-bottom:67px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.short-on-time h2{font-size:clamp(44px,4vw,60px);margin-top:15px}.short-on-time p{max-width:390px;color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:24px}.photography-section{display:grid;grid-template-columns:50% 50%;min-height:630px;background:var(--forest);color:white}.photo-image{position:relative;min-height:560px;overflow:hidden}.photo-image img{height:100%;width:100%;object-fit:cover}.photo-image span{position:absolute;bottom:24px;left:30px;font-size:9px;letter-spacing:.18em;color:white;text-shadow:0 1px 5px #000}.photo-copy{padding:clamp(54px,6vw,100px) clamp(28px,7vw,115px);display:flex;flex-direction:column;align-items:start;justify-content:center}.photo-copy .kicker{color:#c8d6c7}.photo-copy h2{color:white;margin:20px 0 28px}.photo-copy h2 em{color:#ddbf8e}.photo-copy p{color:#dae3da;line-height:1.8;font-size:14px;max-width:490px}.photo-divider{width:100%;border-top:1px solid #ffffff44;margin:26px 0}.photo-copy h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 9px}.photo-copy .text-link{color:white;margin-top:12px}.about-section{display:grid;grid-template-columns:1fr 42%;gap:12%;padding-top:135px;padding-bottom:135px;align-items:center}.about-section h2{margin-bottom:30px}.about-main>p{line-height:1.8;max-width:510px;color:var(--muted);font-size:15px}.about-main .about-note{color:#9a9e96;font-size:12px;border-left:2px solid var(--gold);padding-left:13px;margin-top:30px}.about-photo{position:relative;height:430px}.about-photo img{height:100%;width:100%;object-fit:cover}.about-photo span{position:absolute;bottom:17px;right:17px;background:var(--paper);padding:10px 13px;font-size:9px;font-weight:700;letter-spacing:.13em;color:var(--forest)}.enquire-section{background:#dcded2}.enquire-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:120px;padding-bottom:125px}.enquire-section h2{margin-bottom:28px}.enquire-copy>p{max-width:430px;color:#52615a;line-height:1.8;font-size:15px}.enquire-copy .form-disclaimer{margin-top:45px;font-size:12px;color:#64766a;border-left:2px solid var(--forest);padding-left:13px}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;align-content:center}.enquiry-form label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700;color:var(--forest);letter-spacing:.04em}.enquiry-form label:nth-child(n+3){grid-column:1/-1}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid #93a499;padding:12px 0;background:transparent;border-radius:0;color:var(--forest);outline:0;font-weight:400;font-size:14px;letter-spacing:0}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-bottom-color:var(--forest)}.enquiry-form textarea{resize:vertical}.button-light{background:var(--forest);color:white;width:max-content;margin-top:7px}.form-status{font-size:12px;color:#425c52;margin:20px 0 0}.site-footer{min-height:245px;padding-top:56px;padding-bottom:30px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.site-footer p{color:var(--muted);font-family:var(--serif);font-style:italic;margin-top:15px}.footer-links{display:flex;gap:16px 26px;flex-wrap:wrap;justify-content:end;align-content:start;font-size:12px;font-weight:700}.footer-small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-family:var(--sans)!important;font-style:normal!important;font-size:10px;letter-spacing:.12em}.journey-dialog{position:fixed;border:0;padding:0;width:min(930px,calc(100vw - 28px));max-height:min(90vh,950px);background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #0005;overflow-y:auto}.journey-dialog::backdrop{background:#0d2724bd}.dialog-close{position:fixed;z-index:2;transform:translate(-52px,12px);width:40px;height:40px;border:0;background:var(--paper);font-size:28px;color:var(--forest)}.dialog-photo{height:330px;width:100%;object-fit:cover}.dialog-main{padding:35px clamp(25px,5vw,60px) 48px}.dialog-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:10px;font-weight:700;color:#738078;letter-spacing:.1em;text-transform:uppercase}.dialog-main h2{font-family:var(--serif);font-weight:400;font-size:clamp(37px,4vw,55px);line-height:1.1;letter-spacing:-.05em;color:var(--forest);margin:17px 0 20px}.dialog-main>p{font-size:15px;color:var(--muted);line-height:1.75;max-width:720px}.dialog-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--forest);margin-top:27px}.dialog-highlights{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.dialog-highlights span{border:1px solid var(--line);padding:10px 12px;font-size:12px;color:var(--forest)}.dialog-note{border-top:1px solid var(--line);padding-top:17px;margin-top:28px!important;font-size:12px!important}.dialog-cta{margin-top:17px}.no-results{grid-column:1/-1;color:var(--muted);font-size:14px;padding:35px 0}
@media(max-width:1150px){.primary-nav{gap:15px}.hero{grid-template-columns:48% 52%}.hero h1{font-size:clamp(49px,5vw,70px)}.entry-grid{grid-template-columns:repeat(2,1fr)}.entry-card{height:420px}.journey-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:72px;gap:16px}.brand-text strong{font-size:23px}.brand-mark{font-size:38px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;color:var(--forest);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.primary-nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:20px 24px 26px;box-shadow:0 17px 25px #0e28201a;flex-direction:column;align-items:stretch;gap:21px}.primary-nav.open{display:flex}.primary-nav .nav-enquire{text-align:center}.language-toggle{margin-left:0;padding-left:14px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:540px;padding:55px 24px 25px}.hero h1{margin:80px 0 25px;font-size:clamp(55px,9vw,85px)}.hero-image-wrap{min-height:470px;max-height:650px}.intro{grid-template-columns:1fr;gap:30px;padding-top:90px;padding-bottom:90px}.explore-section,.journeys-section{padding-top:90px;padding-bottom:90px}.photography-section{grid-template-columns:1fr}.photo-image{height:480px;min-height:0}.photo-copy{padding:75px 35px}.about-section{grid-template-columns:1fr;gap:40px;padding-top:90px;padding-bottom:90px}.about-photo{height:440px}.enquire-inner{grid-template-columns:1fr;gap:40px;padding-top:90px;padding-bottom:90px}.enquire-copy .form-disclaimer{margin-top:28px}}
@media(max-width:600px){.preview-ribbon{font-size:8px;letter-spacing:.09em}.section-heading{display:block}.section-heading>p{margin-top:22px}.entry-grid{grid-template-columns:1fr;gap:10px}.entry-card{height:410px}.image-quote{height:430px}.journey-grid{grid-template-columns:1fr}.journey-card img{height:260px}.journeys-footer{display:block}.journeys-footer .text-link{display:inline-block;margin-top:20px}.short-on-time{grid-template-columns:1fr;gap:25px}.photo-image{height:350px}.about-photo{height:330px}.enquiry-form{grid-template-columns:1fr}.enquiry-form label{grid-column:1/-1}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:start}.hero-copy{min-height:520px}.hero-image-wrap{min-height:410px}.hero-actions{gap:18px}.hero-index span:last-child{max-width:145px;text-align:right}.image-stamp{width:78px;height:78px;right:20px;top:20px;font-size:7px}.dialog-photo{height:230px}.dialog-close{transform:translate(-44px,8px)}.dialog-main{padding:30px 24px 40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
html[lang="zh"] .hero h1{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(42px,4.2vw,65px);line-height:1.25;letter-spacing:-.075em;font-weight:500}html[lang="zh"] em{font-style:normal}html[lang="zh"] .section-heading h2,html[lang="zh"] .short-on-time h2,html[lang="zh"] .photo-copy h2,html[lang="zh"] .about-section h2,html[lang="zh"] .enquire-section h2{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(38px,3.7vw,56px);line-height:1.23;font-weight:500;letter-spacing:-.055em}html[lang="zh"] .large-copy{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(25px,2.6vw,39px);line-height:1.5;font-weight:400}html[lang="zh"] .image-quote-content p{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(39px,4.6vw,68px);line-height:1.25}html[lang="zh"] .entry-bottom strong{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(25px,2vw,32px)}html[lang="zh"] .journey-card h3{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(22px,2vw,29px);line-height:1.3}html[lang="zh"] .dialog-main h2{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-size:clamp(31px,3.4vw,46px);line-height:1.24}
@media(max-width:600px){html[lang="zh"] .hero h1{font-size:clamp(39px,9vw,53px)}}
html[lang="zh"] .hero h1 .hero-line{display:block;white-space:nowrap}
@media(max-width:600px){html[lang="zh"] .hero h1{font-size:clamp(23px,8.4vw,42px)}}
@media(max-width:400px){.site-header{padding-left:14px;padding-right:14px;gap:8px}.brand{gap:5px}.brand-mark{font-size:31px}.brand-text strong{font-size:20px}.brand-text small{font-size:8px;letter-spacing:.3em}.menu-toggle{font-size:10px}.language-toggle{padding-left:8px;font-size:10px}}
.gallery-section{padding-top:125px;padding-bottom:135px}.gallery-heading{margin-bottom:45px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(185px,17vw,260px);gap:10px}.gallery-item{border:0;padding:0;min-width:0;position:relative;overflow:hidden;text-align:left;background:var(--forest);color:white}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .3s}.gallery-item:hover img{transform:scale(1.04);filter:brightness(.9)}.gallery-item:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#071d1c8c);pointer-events:none}.gallery-feature{grid-column:span 2;grid-row:span 2}.gallery-caption{position:absolute;left:18px;bottom:17px;z-index:1;font-family:var(--serif);font-size:clamp(17px,1.55vw,23px);line-height:1.1}.gallery-feature .gallery-caption{font-size:clamp(24px,2.8vw,42px);left:28px;bottom:25px}.gallery-footnote{font-size:12px;color:var(--muted);margin:20px 0 0}.gallery-dialog{border:0;padding:15px 15px 10px;background:var(--paper);color:var(--forest);max-width:min(1100px,calc(100vw - 30px));max-height:92vh;box-shadow:0 22px 80px #0005;overflow:visible}.gallery-dialog::backdrop{background:#0d2724d9}.gallery-dialog img{display:block;max-width:100%;max-height:calc(92vh - 70px);object-fit:contain}.gallery-dialog p{font-family:var(--serif);font-size:17px;margin:10px 3px 0}.gallery-dialog-close{position:absolute;right:15px;top:15px;z-index:2;border:0;background:var(--paper);color:var(--forest);width:40px;height:40px;font-size:26px}.gallery-item:focus-visible,.gallery-dialog-close:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(max-width:1180px){.site-header{gap:18px}.primary-nav{gap:14px}.primary-nav>a{font-size:11px}.primary-nav .nav-enquire{padding:12px 14px}.language-toggle{padding-left:12px}}
@media(max-width:980px){.menu-toggle{display:block;margin-left:auto;background:none;border:0;color:var(--forest);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.primary-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--paper);padding:20px 24px 26px;box-shadow:0 17px 25px #0e28201a;flex-direction:column;align-items:stretch;gap:21px}.primary-nav.open{display:flex}.primary-nav>a{font-size:13px}.primary-nav .nav-enquire{text-align:center}}
@media(max-width:820px){.primary-nav{top:72px}.gallery-section{padding-top:90px;padding-bottom:95px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(150px,30vw,260px)}}
@media(max-width:600px){.gallery-grid{gap:7px;grid-auto-rows:155px}.gallery-feature{grid-column:span 2;grid-row:span 2}.gallery-caption{font-size:15px;left:11px;bottom:11px}.gallery-feature .gallery-caption{font-size:27px;left:17px;bottom:15px}.gallery-dialog{padding:8px}.gallery-dialog-close{right:8px;top:8px}}
/* Route detail: swipeable photo story and a fuller journey introduction. */
.journey-dialog .dialog-close{position:absolute;top:12px;right:12px;transform:none;z-index:3}.route-carousel{position:relative;background:var(--forest);overflow:hidden}.route-slides{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}.route-slides::-webkit-scrollbar{display:none}.route-slide{flex:0 0 100%;height:360px;scroll-snap-align:start}.route-slide img{width:100%;height:100%;object-fit:cover}.route-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:44px;height:44px;border:1px solid #fff9;background:#102f2c9c;color:white;font-size:23px;line-height:1;display:grid;place-items:center}.route-carousel-arrow:hover{background:var(--forest)}.route-carousel-prev{left:18px}.route-carousel-next{right:18px}.route-carousel-status{position:absolute;bottom:16px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.09em;text-shadow:0 1px 5px #0009}.route-carousel-count{background:#102f2ca6;padding:8px 10px}.route-carousel-dots{display:flex;gap:7px}.route-carousel-dot{width:8px;height:8px;border:1px solid #fff;background:#fff5;border-radius:50%;padding:0}.route-carousel-dot.active{background:#fff}.dialog-subtitle{font-size:17px!important;color:#52655c!important}.dialog-story{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px 42px;padding:18px 0 22px;border-top:1px solid var(--line);margin-top:25px}.dialog-story .dialog-label{margin:0 0 12px}.dialog-story p{color:var(--muted);font-size:14px;line-height:1.85;margin:0}.route-carousel-arrow:focus-visible,.route-carousel-dot:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.route-slide{height:245px}.route-carousel-arrow{width:35px;height:35px;font-size:19px}.route-carousel-prev{left:10px}.route-carousel-next{right:10px}.route-carousel-status{left:10px;right:10px;bottom:10px}.dialog-story{grid-template-columns:1fr;gap:23px}.dialog-subtitle{font-size:15px!important}}
/* The site owns the 4:3 frame. Prepared route images arrive already cropped for it. */
.route-slide{height:auto;aspect-ratio:4/3;border:0;padding:0;position:relative;overflow:hidden;background:var(--forest-dark)}.route-slide img{position:absolute;inset:0;z-index:1;object-fit:cover}.route-carousel-status{z-index:2}.route-slide:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
.route-optional{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.35fr);gap:28px 38px;margin-top:31px;padding:27px 0 4px;border-top:1px solid var(--line)}.route-optional .dialog-label{margin:0 0 11px}.route-optional p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}.route-optional-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.route-optional-photo{border:0;padding:0;aspect-ratio:4/3;overflow:hidden;background:var(--forest-dark)}.route-optional-photo img{display:block;width:100%;height:100%;object-fit:cover}.route-optional-photo:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
@media(max-width:600px){.route-slide{height:auto;aspect-ratio:4/3}}
@media(max-width:700px){.route-optional{grid-template-columns:1fr;gap:18px}.route-optional-photos{gap:6px}}
/* Desktop route details: show the photo story and itinerary together on first open. */
@media(min-width:901px){.journey-dialog{width:min(1420px,calc(100vw - 40px));height:min(90vh,920px);max-height:920px}.journey-dialog #dialog-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr);align-items:start;min-height:100%}.journey-dialog .dialog-close{position:fixed;top:max(5vh,12px);right:max(32px,calc((100vw - 1420px)/2 + 12px))}.route-carousel{position:sticky;top:0}.dialog-main{padding:48px clamp(30px,3.4vw,58px) 54px}.dialog-story{grid-template-columns:1fr;gap:23px}.route-optional{grid-template-columns:1fr;gap:18px}.route-optional-photos{gap:7px}}
.route-carousel-media{position:relative;overflow:hidden}.route-carousel-caption{display:none}
@media(min-width:901px){.journey-dialog #dialog-content{align-items:stretch}.route-carousel{align-self:stretch;min-height:100%;background:var(--forest-dark)}.route-carousel-caption{display:flex;gap:18px;align-items:flex-start;padding:24px 28px 28px;color:#eef2e8;border-top:1px solid #ffffff2b}.route-carousel-caption-index{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--gold);padding-top:4px}.route-carousel-caption p{margin:0;font-family:var(--serif);font-size:18px;line-height:1.45}.route-carousel-status{bottom:16px}}
/* On desktop the photo panel stays fixed; only the itinerary column scrolls. */
@media(min-width:901px){.journey-dialog{overflow:hidden}.journey-dialog #dialog-content{height:100%;min-height:0;overflow:hidden}.route-carousel{position:relative;top:auto;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.route-carousel-media{flex:0 0 auto}.route-carousel-caption{flex:1 1 auto;min-height:76px}.dialog-main{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}}
@media(max-width:900px){.dialog-main{height:auto;overflow:visible}}

/* Long-form journeys: a scrollable day-by-day story synced to the fixed photo panel. */
.long-route-main{padding-top:0}.long-day-nav{position:sticky;top:0;z-index:4;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 clamp(-58px,-3.4vw,-30px);padding:17px clamp(30px,3.4vw,58px);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.long-day-nav::-webkit-scrollbar{display:none}.long-day-nav button{flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--forest);min-width:41px;padding:8px 10px;font-size:10px;font-weight:800;letter-spacing:.08em}.long-day-nav button:first-child{padding-left:13px;padding-right:13px}.long-day-nav button.active,.long-day-nav button:hover{background:var(--forest);border-color:var(--forest);color:#fff}.long-route-intro{padding-top:38px;padding-bottom:48px;scroll-margin-top:82px}.long-day-list{border-top:1px solid var(--line)}.long-day-section{min-height:43vh;padding:43px 0 52px;border-bottom:1px solid var(--line);scroll-margin-top:82px}.long-day-heading{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start}.long-day-heading>span{padding-top:7px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.12em}.long-day-heading h3{margin:0;color:var(--forest);font-family:var(--serif);font-weight:400;font-size:clamp(27px,2.4vw,38px);line-height:1.15;letter-spacing:-.045em}.long-day-heading p{margin:8px 0 0;color:#78847d;font-size:11px;font-weight:700;letter-spacing:.05em}.long-day-body{margin:25px 0 22px 74px!important;color:var(--muted);font-size:14px!important;line-height:1.9!important}.long-day-stops{display:flex;flex-wrap:wrap;gap:7px;margin-left:74px}.long-day-stops span{border:1px solid var(--line);padding:9px 11px;color:var(--forest);font-size:11px}.long-day-notice{display:flex;gap:10px;margin:22px 0 0 74px!important;padding:14px 16px;background:#e9e6dc;color:#637069!important;font-size:11px!important;line-height:1.65!important}.long-day-notice span{color:var(--gold);font-weight:800}.route-photo-badge{position:absolute;z-index:2;top:17px;left:17px;background:#f2eee3e8;color:var(--forest);padding:8px 10px;font-size:9px;font-weight:800;letter-spacing:.12em}.route-slide-placeholder{display:grid;place-items:center;color:#edf1e8;text-align:center;background:linear-gradient(145deg,#173f3a,#0b2927)}.route-slide-placeholder>div{max-width:430px;padding:35px}.route-slide-placeholder span{display:block;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.17em;margin-bottom:17px}.route-slide-placeholder strong{display:block;font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:400;margin-bottom:15px}.route-slide-placeholder p{margin:0;color:#cad6cd;font-size:13px;line-height:1.75}.long-route-detail .route-carousel-caption-index{white-space:nowrap}.long-route-detail .route-carousel-caption p{font-size:17px}
@media(max-width:900px){.long-route-main{padding-top:0}.long-day-nav{top:0;margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.long-route-intro{padding-top:30px}.long-day-section{min-height:0;padding:36px 0 42px}.long-day-body,.long-day-stops,.long-day-notice{margin-left:0!important}.long-day-heading{grid-template-columns:48px 1fr}.long-day-heading h3{font-size:28px}.route-photo-badge{top:12px;left:12px}.route-slide-placeholder>div{padding:28px}}
html[lang="zh"] .long-day-heading h3,html[lang="zh"] .route-slide-placeholder strong{font-family:"Microsoft YaHei","Segoe UI",sans-serif;letter-spacing:-.035em}

/* Two-day route itinerary summary. */
.dialog-daily-itinerary{min-width:0}.dialog-day-list{border-top:1px solid var(--line)}.dialog-day{padding:15px 0 17px;border-bottom:1px solid var(--line)}.dialog-day-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:start}.dialog-day-heading>span{padding-top:3px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.1em}.dialog-day-heading strong{color:var(--forest);font-family:var(--serif);font-size:17px;line-height:1.45;font-weight:500}.dialog-day>p{margin:9px 0 11px!important;color:var(--muted);font-size:12px!important;line-height:1.75!important}.dialog-day-stops{display:flex;flex-wrap:wrap;gap:6px}.dialog-day-stops span{border:1px solid var(--line);padding:6px 8px;color:var(--forest);font-size:10px;line-height:1.35}
html[lang="zh"] .dialog-day-heading strong{font-family:"Microsoft YaHei","Segoe UI",sans-serif;font-weight:600}

/* Compact route summary shown before the detailed day-by-day story. */
.overview-itinerary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.overview-day{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.overview-day>span{padding-top:2px;color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.1em}.overview-day strong,.overview-day small{display:block}.overview-day strong{color:var(--forest);font-size:11px;line-height:1.5;font-weight:700}.overview-day small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.45}.journey-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.journey-feature-list span{position:relative;border:1px solid var(--line);padding:13px 14px 13px 29px;color:var(--forest);font-size:11px;line-height:1.5}.journey-feature-list span:before{content:'✦';position:absolute;left:12px;top:13px;color:var(--gold);font-size:9px}
@media(max-width:600px){.overview-itinerary,.journey-feature-list{grid-template-columns:1fr}}
/* Keep journey-card content rhythm consistent when English copy wraps differently. */
@media(min-width:601px){.journey-grid{align-items:stretch}.journey-card{display:flex;flex-direction:column;min-width:0}.journey-card h3{min-height:2.24em}.journey-card p{flex:1 0 auto;min-height:3.3em}.journey-card-bottom{margin-top:auto}}
 .filter-custom{display:inline-flex;align-items:center}

/* Region- and season-based photo collection */
#gallery-overview[hidden],#gallery-album-view[hidden]{display:none!important}
.gallery-category-group{margin-top:10px}
.gallery-group-title{margin:0 0 16px;color:var(--forest);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.gallery-theme-group{margin-top:34px}
.gallery-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(165px,16vw,230px);gap:10px}
.gallery-collection-card{display:block}
.gallery-collection-count{position:absolute;right:16px;bottom:16px;z-index:1;padding:7px 9px;background:#102f2cbb;color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em}
.gallery-feature .gallery-collection-count{right:26px;bottom:26px}
.gallery-footnote{margin-top:18px}
.gallery-back-button{display:inline-flex;align-items:center;gap:9px;margin:0 0 24px;padding:0 0 7px;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--forest);font-size:11px;font-weight:700}
.gallery-back-button span:first-child{font-size:17px;font-weight:400}
.gallery-album-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.gallery-album-heading h3{margin:0;color:var(--forest);font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.15}
.gallery-album-count{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em;white-space:nowrap}
.gallery-album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(165px,16vw,230px);gap:10px}
.gallery-album-grid .gallery-caption{font-size:clamp(14px,1.2vw,18px)}
@media(max-width:820px){.gallery-album-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(155px,27vw,220px)}}
@media(max-width:600px){.gallery-theme-grid{grid-auto-rows:145px;gap:7px}.gallery-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:145px;gap:7px}.gallery-album-heading h3{font-size:27px}.gallery-collection-count{right:10px;bottom:10px;padding:6px 7px;font-size:8px}.gallery-feature .gallery-collection-count{right:17px;bottom:17px}}

/* Albums are continuous, drag-to-browse photo reels rather than selectable cards. */
.gallery-album-heading{align-items:center}
.gallery-album-count{display:flex;align-items:center;gap:18px}
.gallery-reel-hint{color:var(--forest);font-size:10px;font-weight:600;letter-spacing:.04em;opacity:.72}
.gallery-album-grid{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;outline:none}
.gallery-album-grid::-webkit-scrollbar{display:none}
.gallery-album-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.gallery-album-grid:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gallery-reel-slide{position:relative;flex:0 0 clamp(620px,78vw,1180px);height:clamp(380px,68vh,720px);min-width:0;margin:0;overflow:hidden;background:var(--forest);scroll-snap-align:start}
.gallery-reel-slide img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.gallery-reel-slide:after{content:"";position:absolute;inset:45% 0 0;pointer-events:none;background:linear-gradient(transparent,#071d1c9c)}
.gallery-reel-slide .gallery-caption{left:clamp(20px,3vw,42px);bottom:clamp(18px,2.8vw,36px);font-size:clamp(20px,2vw,30px);line-height:1.2}
@media(max-width:820px){.gallery-reel-slide{flex-basis:88vw;height:clamp(360px,62vh,620px)}}
@media(max-width:600px){.gallery-album-heading{align-items:flex-start;flex-direction:column;gap:10px}.gallery-album-count{width:100%;justify-content:space-between;gap:8px}.gallery-reel-hint{font-size:9px}.gallery-reel-slide{flex-basis:88vw;height:clamp(320px,55vh,500px)}.gallery-reel-slide .gallery-caption{left:18px;bottom:18px;font-size:20px}}

/* Full-screen photo wall: each image keeps its own original proportions. */
.gallery-album-view{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#101010;color:white}
.gallery-album-view::backdrop{background:#101010}
.gallery-album-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gallery-album-view .gallery-back-button{position:absolute;top:20px;left:20px;z-index:2;margin:0;padding:12px 16px;border:0;background:#102a27c9;color:#fff;font-size:12px;letter-spacing:.02em}
.gallery-album-view .gallery-back-button:focus-visible{outline:2px solid white;outline-offset:3px}
.gallery-album-grid{width:100%;height:100%;display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#999 #222;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.gallery-album-grid::-webkit-scrollbar{display:block;height:8px}
.gallery-album-grid::-webkit-scrollbar-thumb{background:#999}
.gallery-album-grid::-webkit-scrollbar-track{background:#222}
.gallery-album-grid.is-dragging{cursor:grabbing;user-select:none}
.gallery-album-grid:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.gallery-reel-image{display:block;flex:0 0 auto;width:auto;height:100%;max-width:none;object-fit:initial;pointer-events:none;user-select:none}
@media(max-width:600px){.gallery-album-view .gallery-back-button{top:12px;left:12px;padding:10px 12px;font-size:11px}}

/* Phone layouts: readable controls, compact route media and complete gallery photos. */
@media(max-width:600px){
  .site-header{gap:10px}
  .menu-toggle{min-height:44px;padding:8px}
  .language-toggle{min-height:44px;padding-left:10px}
  .primary-nav{max-height:calc(100dvh - 72px);overflow-y:auto}
  .primary-nav>a{padding:8px 0;font-size:14px}
  .primary-nav .nav-enquire{padding:14px 19px}
  .hero-copy{min-height:0;padding-top:52px;padding-bottom:28px}
  .hero h1{margin-top:55px}
  .hero-index{padding-top:42px}
  .hero-image-wrap{min-height:340px;height:56vh;max-height:480px}
  .entry-card{height:300px}
  .filter-bar{gap:8px}
  .filter-button{min-height:44px;font-size:12px}
  .journey-grid{gap:30px}
  .journey-card img{height:auto;aspect-ratio:1.55;object-fit:cover}
  .journey-card h3{overflow-wrap:anywhere}
  .gallery-caption{line-height:1.25;right:10px;overflow-wrap:anywhere}
  .gallery-reel-image{height:auto;max-height:100%;max-width:100vw;align-self:center;object-fit:contain}
  .gallery-album-view{background:var(--paper);color:var(--forest)}
  .gallery-album-view::backdrop{background:var(--paper)}
  .gallery-album-grid{display:block;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;touch-action:pan-y;overscroll-behavior-y:contain;background:var(--paper)}
  .gallery-album-grid::-webkit-scrollbar{display:none}
  .gallery-reel-image{display:block;width:100%;height:auto;max-width:100%;max-height:none;margin:0;object-fit:initial;box-shadow:none}
  .gallery-album-view .gallery-back-button{background:#102a27dc;color:#fff;box-shadow:0 2px 12px #0002}
  .gallery-album-view .gallery-back-button{min-height:44px}
  .journey-dialog{inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;overscroll-behavior:contain}
  .journey-dialog .dialog-close{position:fixed;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:44px;height:44px;z-index:10}
  .route-slides{touch-action:pan-x pan-y}
  .route-carousel-arrow{width:44px;height:44px}
  .route-carousel-dots{gap:6px;max-width:58%;overflow-x:auto;padding:7px 2px}
  .route-carousel-dot{flex:0 0 9px;height:9px}
  .long-route-detail .route-carousel{position:sticky;top:0;z-index:5}
  .long-route-detail .route-slide{height:auto;aspect-ratio:4/3}
  .long-route-main .long-day-nav{top:75vw;z-index:4;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible;padding-top:10px;padding-bottom:10px;scrollbar-width:none;touch-action:auto}
  .long-route-main .long-day-nav button,.long-route-main .long-day-nav button:first-child{min-width:0;min-height:44px;width:100%;padding:8px 4px;font-size:9px;letter-spacing:.02em;white-space:nowrap}
  .long-route-intro,.long-day-section{scroll-margin-top:calc(75vw + 132px)}
  .long-route-intro{padding-top:25px}
  .long-day-section{padding:30px 0 34px}
  .dialog-main{padding-left:22px;padding-right:22px}
  .long-route-main .long-day-nav{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}
  .enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px}
  .footer-links{justify-content:start}
}
