@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--navy:#102436;--navy-2:#142e41;--ink:#152632;--muted:#57636a;--cream:#f5f3ed;--paper:#fbfaf7;--line:#d6d9d8;--gold:#bc8e56}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}.skip{position:absolute;top:-100px;left:10px;z-index:100;padding:10px;background:white}.skip:focus{top:10px}
.site-header{position:relative;z-index:10;background:var(--navy);color:#fff}.header-inner{min-height:90px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px}.brand-symbol{height:43px;width:43px;border:1px solid #b99d75;display:flex;align-items:center;justify-content:center;color:#efdfbb;font-family:Georgia,serif;font-size:18px;letter-spacing:-2px}.brand-symbol span{color:var(--gold);padding:0 3px}.brand-name{font-weight:700;letter-spacing:.18em;line-height:1.11;font-size:13px}.brand-name small{font-size:9px;letter-spacing:.25em;color:#caa875;margin-left:3px}.site-nav{display:flex;align-items:center;gap:40px}.site-nav a{text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:700;color:#e6eaeb}.site-nav a:hover,.site-nav a:focus-visible{color:#e2bb87}.menu-toggle{display:none}
.hero{position:relative;min-height:625px;display:flex;align-items:center;color:white;background:#142938;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('/assets/hero.webp') center 48%/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(7,29,47,.74),rgba(7,29,47,.12) 72%),linear-gradient(0deg,rgba(9,32,49,.2),transparent 45%)}.hero-content{position:relative;z-index:1;padding-top:26px;padding-bottom:36px}.hero-kicker,.section-label,.detail-eyebrow,.card-topline,.journey-index{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero-kicker{display:flex;gap:16px;align-items:center;color:#e7d8c2}.hero-kicker span{width:28px;height:1px;background:#d5b183}.hero h1,.section h2,.journeys-section h2,.detail-hero h1,.detail-main h2,.itinerary-section h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.036em}.hero h1{font-size:clamp(60px,6.2vw,104px);margin:28px 0 22px;max-width:950px}.hero h1 em,.section h2 em,.journeys-section h2 em,.detail-main h2 em,.itinerary-section h2 em,.closing em{font-weight:400;color:#cba26c}.hero p{max-width:525px;font-size:18px;line-height:1.8;color:#f0f0e9;margin:0 0 34px}.hero-link{display:inline-flex;align-items:center;justify-content:space-between;width:205px;padding:14px 0;border-bottom:1px solid #e4c796;font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.hero-link span{font-size:22px;font-weight:400;line-height:1}.hero-side{position:absolute;right:31px;bottom:45px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.18em;font-size:10px;color:#f5e6d0}
.intro-strip{background:var(--navy);color:#dbe2e4}.intro-inner{display:flex;align-items:center;gap:48px;min-height:76px}.intro-inner span{font-size:11px;letter-spacing:.18em;color:#cda46e}.intro-inner p{margin:0;flex:1;font-size:14px}.intro-inner a{font-size:23px;color:#cda46e}
.section{padding-top:107px;padding-bottom:125px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.section-label{color:#aa7d49}.section-heading h2,.itinerary-section h2{font-size:clamp(52px,5.6vw,84px);margin:15px 0 0}.section-heading p{width:min(390px,100%);margin:0 0 9px;color:var(--muted);line-height:1.85}.destinations-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.destination-card{min-height:273px;display:flex;flex-direction:column;padding:27px 29px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .2s,transform .2s}.destination-card:hover,.destination-card:focus-visible{background:#f4f0e8}.card-num{font-family:Georgia,serif;color:#aeb7b9;font-size:15px;margin-bottom:25px}.card-topline{color:#aa7d49}.card-title{font-family:'Playfair Display',Georgia,serif;font-size:39px;line-height:1.2;letter-spacing:-.03em;margin:4px 0 9px}.card-desc{font-size:14px;color:var(--muted);line-height:1.55;max-width:310px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:22px;color:#51616a;font-size:12px}.card-bottom span:last-child{font-size:19px;color:#aa7d49}
.journeys-section{background:var(--cream);padding:105px 0 124px}.journeys-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey-card{background:var(--navy);color:#fff;min-height:390px;padding:31px;display:flex;flex-direction:column;transition:transform .2s,background .2s}.journey-card:hover,.journey-card:focus-visible{background:#21465b;transform:translateY(-4px)}.journey-index{color:#cead7b}.journey-length{font-family:Georgia,serif;font-style:italic;color:#c0a278;margin-top:57px}.journey-title{font-family:'Playfair Display',Georgia,serif;font-size:35px;line-height:1.2;letter-spacing:-.02em;margin-top:12px}.journey-summary{font-size:14px;color:#d6dee0;margin-top:13px;line-height:1.6}.journey-route{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:28px;border-top:1px solid #506472;font-size:12px;color:#d3dedf}.journey-route span{font-size:20px;color:#d7b27d}.closing{padding-top:100px;padding-bottom:120px;text-align:center}.closing p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(31px,4vw,55px);line-height:1.37;max-width:850px;margin:20px auto 0}
.site-footer{background:#0d2232;color:#dce4e4;padding-top:67px}.footer-grid{display:grid;grid-template-columns:1.2fr .6fr 1.2fr;gap:80px;padding-bottom:74px}.footer-brand{font-size:16px;letter-spacing:.18em;font-weight:700;color:#f7e6cb}.footer-grid p{font-size:14px;color:#a9b7bd;line-height:1.8;max-width:370px}.footer-grid strong{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:#cbaa7b;margin-bottom:18px}.footer-grid a{display:block;font-size:14px;margin:12px 0}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #294254;display:flex;justify-content:space-between;padding:22px 0;font-size:11px;letter-spacing:.1em;color:#91a1a9}
.detail-hero{background:#142e41;color:#fff;position:relative;overflow:hidden}.detail-hero:after{content:"";position:absolute;width:520px;height:520px;right:-100px;top:50px;border:1px solid #436072;border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.015),0 0 0 140px rgba(255,255,255,.016);pointer-events:none}.detail-hero-inner{min-height:460px;position:relative;z-index:1;padding-top:36px;padding-bottom:72px;display:flex;flex-direction:column;align-items:flex-start}.back-link{font-size:12px;color:#d1d9d9;letter-spacing:.08em}.back-link:hover{text-decoration:underline}.detail-eyebrow{color:#d7af77;margin-top:auto}.detail-hero h1{font-size:clamp(62px,8vw,118px);margin:12px 0 12px}.detail-period{color:#d7af77}.detail-hero p{font-size:18px;line-height:1.65;max-width:670px;margin:0;color:#e1e9e9}.detail-main{display:grid;grid-template-columns:1fr 330px;gap:100px;padding-top:105px;padding-bottom:120px}.detail-main h2{font-size:clamp(40px,4.5vw,65px);margin:16px 0 28px}.detail-copy>p{font-size:18px;line-height:1.85;color:var(--muted);max-width:690px}.highlights{background:var(--cream);padding:33px 32px;align-self:start}.highlights ul{list-style:none;padding:0;margin:20px 0 0}.highlights li{padding:13px 0;border-bottom:1px solid #d9d9d0;font-size:15px}.highlights li:last-child{border-bottom:0}.itinerary-section{background:#edf0ef;padding:105px 0 115px}.itinerary-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.itinerary-layout>div:first-child p{max-width:330px;color:#58666d;line-height:1.8}.timeline{border-top:1px solid #c1cbcc}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:20px;border-bottom:1px solid #c1cbcc;padding:24px 0}.timeline-tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:#a4723b}.timeline-item p{margin:0;font-size:16px;line-height:1.75}.next-strip{padding-top:55px;padding-bottom:75px}.next-strip a{display:flex;justify-content:space-between;font-family:'Playfair Display',Georgia,serif;font-size:34px;border-bottom:1px solid #aeb9b8;padding-bottom:20px}.next-strip a span{color:#ad8150}.journey-detail-hero{background:#234450}
@media(max-width:950px){.wrap{width:min(100% - 48px,1200px)}.destinations-grid{grid-template-columns:repeat(2,1fr)}.journeys-grid{grid-template-columns:repeat(2,1fr)}.detail-main{gap:45px;grid-template-columns:1fr 290px}.itinerary-layout{gap:40px}.footer-grid{gap:35px}}
@media(max-width:680px){.wrap{width:calc(100% - 38px)}.header-inner{min-height:72px}.brand-symbol{height:37px;width:37px}.brand-name{font-size:11px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:1px;background:#fff}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:10px 20px 25px;flex-direction:column;align-items:flex-start;gap:0}.site-nav.open{display:flex}.site-nav a{padding:14px 0;width:100%}.hero{min-height:590px}.hero-image{background-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(7,29,47,.82),rgba(7,29,47,.24)),linear-gradient(0deg,rgba(9,32,49,.38),transparent 50%)}.hero h1{font-size:clamp(53px,12vw,74px)}.hero p{font-size:16px;max-width:420px}.hero-kicker{font-size:9px;letter-spacing:.13em}.hero-kicker span{width:14px}.hero-side{display:none}.intro-inner{gap:10px;min-height:75px}.intro-inner span{font-size:9px;max-width:105px}.intro-inner p{font-size:12px;line-height:1.4}.section,.journeys-section{padding-top:75px;padding-bottom:85px}.section-heading{display:block;margin-bottom:36px}.section-heading h2,.itinerary-section h2{font-size:59px}.section-heading p{margin-top:18px}.destinations-grid,.journeys-grid{grid-template-columns:1fr}.destination-card{min-height:232px;padding:22px}.card-num{margin-bottom:12px}.card-title{font-size:37px}.journey-card{min-height:320px}.journey-length{margin-top:32px}.closing{padding-top:70px;padding-bottom:75px}.footer-grid{grid-template-columns:1fr;gap:18px;padding-bottom:45px}.footer-bottom{gap:20px;flex-wrap:wrap}.detail-hero-inner{min-height:390px}.detail-hero h1{font-size:clamp(58px,12vw,85px)}.detail-hero p{font-size:16px}.detail-hero:after{opacity:.35}.detail-main,.itinerary-layout{grid-template-columns:1fr;gap:32px}.detail-main{padding-top:75px;padding-bottom:80px}.itinerary-section{padding:75px 0 85px}.timeline-item{grid-template-columns:78px 1fr;gap:13px}.next-strip a{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.destination-card{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#193344;border-color:#d8dedb;min-height:335px}.destination-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(10,26,35,.25) 0%,rgba(8,25,38,.33) 38%,rgba(5,20,31,.88) 100%),var(--card-image);background-size:cover;background-position:center;z-index:-1;transition:transform .35s}.destination-card:hover,.destination-card:focus-visible{background:#193344;color:#fff}.destination-card:hover:before,.destination-card:focus-visible:before{transform:scale(1.055)}.destination-card .card-num,.destination-card .card-topline,.destination-card .card-desc,.destination-card .card-bottom{color:#f1ede4}.destination-card .card-bottom span:last-child{color:#f0c894}
.destination-detail-hero{background-image:linear-gradient(90deg,rgba(6,24,36,.83),rgba(6,24,36,.39)),var(--detail-image);background-size:cover;background-position:center 47%}.destination-detail-hero:after{opacity:.15}.interior-hero .detail-hero-inner{min-height:370px}.interior-hero .detail-eyebrow{margin-top:auto}.about-note{background:var(--cream);padding:95px 0}.about-note h2,.contact-intro h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(42px,4.4vw,70px);letter-spacing:-.035em;line-height:1.1;margin:16px 0}.about-note p{max-width:650px;line-height:1.8;color:var(--muted)}.solid-link{display:inline-block;background:var(--navy);color:#fff;margin-top:24px;padding:17px 23px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.contact-section{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:8%;padding-top:100px;padding-bottom:120px}.contact-intro h2 em{color:#b48755;font-weight:400}.contact-intro>p{color:var(--muted);line-height:1.85;max-width:380px}.direct-contact{margin-top:52px;display:flex;flex-direction:column;gap:12px}.direct-contact a{font-size:19px;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#d0bc9e;text-underline-offset:7px}.social-contact{display:flex;gap:15px;margin-top:42px}.social-card{background:var(--cream);padding:16px;display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.qr-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px dashed #a9aaa3;aspect-ratio:1;color:#69757a;font-size:12px;line-height:1.6;margin-bottom:6px}.social-card strong{font-size:13px}.social-card small{color:var(--muted);font-size:11px}.inquiry-form{background:var(--cream);padding:40px 43px 42px;align-self:start}.form-kicker{font-size:12px;font-weight:700;color:#a4784c;letter-spacing:.16em}.second-kicker{border-top:1px solid #d9dcd6;padding-top:32px;margin-top:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 18px;margin-top:24px}.inquiry-form label{font-size:13px;font-weight:700;color:#223844;display:flex;flex-direction:column;gap:8px}.inquiry-form label span{color:#a85b4c}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-width:0;min-height:46px;border:1px solid #c7cfcd;border-radius:0;background:#fff;padding:11px 12px;font:400 14px/1.4 inherit;color:#223844}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:2px solid #b48b59;outline-offset:1px}.full-label{margin-top:25px}.inquiry-form textarea{resize:vertical;min-height:135px}.form-actions{margin-top:28px}.form-actions button{width:100%;background:var(--navy);border:0;color:#fff;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;font:700 13px inherit;letter-spacing:.08em;cursor:pointer}.form-actions button:hover{background:#31526a}.form-note,#form-status{font-size:12px;line-height:1.65;color:var(--muted)}#form-status:empty{display:none}
@media(max-width:950px){.contact-section{gap:5%}.inquiry-form{padding:30px}.social-contact{flex-direction:column}.social-card{flex-direction:row;align-items:center}.qr-placeholder{width:85px;flex:none;margin:0}.social-card small{margin-left:auto}}
@media(max-width:680px){.destination-card{min-height:290px}.contact-section{grid-template-columns:1fr;gap:40px;padding-top:75px;padding-bottom:85px}.contact-intro h2{font-size:55px}.direct-contact{margin-top:32px}.social-contact{flex-direction:row;margin-top:28px}.social-card{display:flex;flex-direction:column;align-items:stretch}.social-card small{margin-left:0}.qr-placeholder{width:100%}.inquiry-form{padding:26px 20px}.form-grid{grid-template-columns:1fr;gap:18px}}
.qr-image{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#fff;padding:6px;margin-bottom:6px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{font-family:inherit;font-size:14px}.form-actions button{font-family:inherit;font-size:13px}
.qr-frame{display:block;box-sizing:border-box;aspect-ratio:1;width:100%;padding:0;background:transparent;margin:0 auto 6px}.qr-crop{display:block;position:relative;overflow:hidden;aspect-ratio:1;width:100%;background:transparent}.qr-crop img{display:block;position:absolute;max-width:none;height:auto;mix-blend-mode:multiply}.qr-whatsapp img{width:246%;left:-73%;top:-188%}.qr-wechat img{width:148%;left:-24%;top:-52%}
@media(min-width:681px) and (max-width:950px){.social-card .qr-frame{width:110px;flex:0 0 110px;margin:0}}
.inquiry-form[hidden],.inquiry-success[hidden]{display:none}.inquiry-success{background:var(--cream);padding:54px 44px;align-self:start}.inquiry-success h2{font-size:clamp(32px,4vw,50px);line-height:1.14;margin:20px 0}.inquiry-success p{color:var(--muted);line-height:1.8;max-width:430px}.inquiry-success a{display:inline-block;margin-top:24px;color:var(--navy);text-decoration:underline;text-underline-offset:6px}.inquiry-success:focus{outline:none}.form-actions button:disabled{opacity:.65;cursor:wait}@media(max-width:680px){.inquiry-success{padding:40px 26px}}
.destination-detail-hero,.journey-detail-hero{background-color:#193344;background-image:linear-gradient(90deg,rgba(6,24,36,.79),rgba(6,24,36,.22) 84%),var(--detail-image),var(--detail-fallback);background-size:cover;background-position:center,center 48%,center}.destination-detail-hero .detail-hero-inner,.journey-detail-hero .detail-hero-inner{min-height:530px}.hero-photo-credit{position:absolute;z-index:2;right:22px;bottom:14px;font-size:10px;color:#f4eee9;text-shadow:0 1px 3px #142e41}.hero-photo-credit a{text-decoration:underline;text-underline-offset:2px}.destination-photos{padding-bottom:110px}.photo-section-heading{display:flex;gap:25px;align-items:baseline;padding-bottom:25px}.photo-section-heading h2{font:400 clamp(34px,4vw,55px)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.03em;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.photo-grid.one{grid-template-columns:1fr}.photo-tile{margin:0;min-width:0;background:#edf0ef}.photo-tile img{display:block;width:100%;height:310px;object-fit:cover;background:#d6dfda}.photo-grid.one img{height:min(53vw,490px)}.photo-tile figcaption{display:flex;flex-direction:column;gap:9px;padding:15px 19px 18px}.photo-tile figcaption strong{font:400 24px 'Playfair Display',Georgia,serif}.photo-tile figcaption small{font-size:10px;color:#596a70;line-height:1.6}.photo-tile figcaption a{text-decoration:underline;text-underline-offset:2px}.featured-route{display:inline-flex;align-items:center;gap:24px;margin-top:17px;padding:12px 0;border-bottom:1px solid #a77d55;color:#1c3946;font-size:14px;font-weight:700}.featured-route span{font-size:22px;font-weight:400}@media(max-width:680px){.destination-detail-hero .detail-hero-inner,.journey-detail-hero .detail-hero-inner{min-height:455px}.hero-photo-credit{right:12px;bottom:9px;max-width:90%;font-size:8px;text-align:right}.destination-photos{padding-bottom:75px}.photo-section-heading{display:block}.photo-section-heading h2{margin-top:8px}.photo-grid{grid-template-columns:1fr}.photo-tile img,.photo-grid.one img{height:240px}}
.photo-tile img[hidden]{display:none}
/* V7: local photography and accessible, swipeable route galleries. */
.hero-image{background-image:var(--home-image);background-position:center;}
.hero-photo-credit{max-width:70%;line-height:1.6;background:rgba(8,25,34,.45);padding:4px 8px;border-radius:3px}
.detail-hero:after{display:none}.detail-hero-inner{padding-bottom:70px}.journey-detail-hero h1{font-size:clamp(44px,5.6vw,84px);max-width:1100px}
.destination-routes,.route-itinerary{background:#f0f2ee;padding:75px 0}.destination-photos{padding-top:70px}.route-collection{padding-top:70px;padding-bottom:90px}
.browse-all a{display:inline-block;border-bottom:1px solid;padding:15px 0;margin-top:30px}.journey-card{background-image:linear-gradient(0deg,rgba(4,24,36,.92),rgba(4,24,36,.22)),var(--journey-image);background-position:center;background-size:cover}.journey-summary{color:#fff}
.route-overview{display:grid;grid-template-columns:2fr 1fr;gap:50px;padding-top:65px;padding-bottom:65px}.route-overview h2{font:400 34px/1.3 Georgia,serif}.route-overview p{line-height:1.8}.route-overview aside{border-left:1px solid #cad0cc;padding-left:35px}.route-overview aside strong{font:400 48px Georgia,serif}.route-note{line-height:1.8;border-left:3px solid #b78c55;padding:15px 22px;margin-top:35px;background:#fff}
.route-day{background:#fff;border:1px solid #dce1dc;margin:0 0 28px;padding:32px;border-radius:5px}.route-day h3{font:400 clamp(26px,3vw,38px)/1.2 Georgia,serif;margin:12px 0 18px}.route-day p{line-height:1.85;max-width:850px;margin:12px 0}.day-stops{font-size:13px;color:#526a6d}.day-stops span{padding:0 8px;color:#aa8150}.overnight{display:inline-block;font-size:12px;letter-spacing:.04em;background:#eff2ed;padding:8px 12px;margin-bottom:15px}
.gallery-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:12px 0}.gallery-toolbar>span{font-size:11px;color:#526369}.gallery-buttons{display:flex;gap:8px}.gallery-buttons button{height:40px;width:43px;border:1px solid #becac5;background:#fff;color:#163341;font-size:22px;cursor:pointer;border-radius:3px}.gallery-buttons button:disabled{opacity:.3;cursor:default}.gallery-buttons button:hover:not(:disabled){background:#173947;color:white}
.photo-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:0 0 14px;overscroll-behavior-x:contain}.photo-track .photo-tile{flex:0 0 44%;scroll-snap-align:start;background:#f1f3ef;border-radius:4px;overflow:hidden}.photo-track .photo-tile:only-child{flex-basis:70%}.photo-open{display:block;position:relative;cursor:zoom-in}.photo-track .photo-tile img{height:280px;object-fit:cover;width:100%;display:block}.photo-tile figcaption strong{font:400 20px/1.3 Georgia,serif}.photo-attribution summary{font-size:10px;color:#56666c;cursor:pointer}.photo-attribution small{display:block;margin-top:8px}.expand-photo{position:absolute;right:12px;bottom:12px;background:#fff;color:#193344;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.photo-track:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ba8c50;outline-offset:3px}
.photo-lightbox{border:0;padding:45px 20px 15px;background:#102633;color:white;max-width:96vw;max-height:95vh;width:1100px}.photo-lightbox::backdrop{background:rgba(3,12,19,.88)}.photo-lightbox img{display:block;width:100%;max-height:76vh;object-fit:contain}.photo-lightbox p{text-align:center;font-size:14px}.lightbox-close{position:absolute;right:12px;top:4px;border:0;background:transparent;color:white;font-size:34px;cursor:pointer}
@media(max-width:680px){.route-overview{grid-template-columns:1fr;gap:24px}.route-overview aside{border-left:0;border-top:1px solid #cad0cc;padding:22px 0 0}.route-day{padding:20px 14px}.photo-track .photo-tile,.photo-track .photo-tile:only-child{flex-basis:88%}.photo-track .photo-tile img{height:230px}.photo-track{gap:12px}.gallery-toolbar>span{max-width:185px;line-height:1.5}.journey-detail-hero h1{font-size:46px}.hero-photo-credit{max-width:92%;font-size:8px}.route-day h3{font-size:28px}.route-itinerary{padding:50px 0}.photo-section-heading h2{font-size:36px}.hero-kicker{max-width:85%;flex-wrap:wrap}.hero-side{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.destination-detail-hero,.journey-detail-hero{background-image:linear-gradient(90deg,rgba(6,24,36,.79),rgba(6,24,36,.22) 84%),var(--detail-image)}

.travel-documents{margin-top:44px;margin-bottom:20px;padding:34px 40px;border:1px solid #d8dfda;background:#f3f5f1}.travel-documents h2{font:400 clamp(30px,3.6vw,48px)/1.2 Georgia,serif;margin:10px 0 16px}.travel-documents>p{max-width:930px;line-height:1.8}.travel-documents ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;padding-left:20px;line-height:1.65}.travel-documents li{padding-left:3px}.travel-documents .document-source{font-size:12px;color:#53636a;border-top:1px solid #d8dfda;margin-top:22px;padding-top:15px}.travel-documents a{text-decoration:underline;text-underline-offset:2px}@media(max-width:680px){.travel-documents{padding:26px 21px}.travel-documents ul{grid-template-columns:1fr}}

/* Clickable navigation, with destination and route levels. */
.nav-item{position:relative}.nav-trigger{border:0;background:transparent;color:#e6eaeb;text-transform:uppercase;font-size:12px;letter-spacing:.18em;font-weight:700;cursor:pointer;padding:14px 0}.nav-trigger span{font-size:17px;line-height:0;margin-left:5px}.nav-trigger:hover,.nav-trigger:focus-visible,.nav-trigger[aria-expanded="true"]{color:#e2bb87}.nav-panel[hidden]{display:none}.nav-panel{position:absolute;top:calc(100% + 13px);left:-25px;z-index:20;min-width:260px;max-height:min(70vh,630px);overflow:auto;padding:14px 22px 20px;background:#fff;color:#183141;box-shadow:0 16px 35px rgba(3,20,28,.2);border-top:3px solid #c39862}.nav-journeys{min-width:410px}.nav-panel a{display:block;width:auto;padding:9px 3px;color:#203a48;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.nav-panel a:hover,.nav-panel a:focus-visible{color:#875c2c;text-decoration:underline}.nav-panel .nav-view-all{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#976d3e;border-bottom:1px solid #e1e5e0;margin-bottom:7px;padding-bottom:13px}.nav-region{border-bottom:1px solid #e1e5e0}.nav-region summary{display:flex;align-items:center;justify-content:space-between;padding:10px 3px;list-style:none;font-size:14px;font-weight:700;cursor:pointer}.nav-region summary::-webkit-details-marker{display:none}.nav-region summary span{font-size:20px;font-weight:400;transition:transform .2s}.nav-region[open] summary span{transform:rotate(90deg)}.nav-routes{padding:0 8px 12px 17px;background:#f7f7f3}.nav-routes a{border-bottom:1px solid #e7e9e5;line-height:1.35}.nav-routes a:last-child{border-bottom:0}.nav-routes a span{display:inline-block;min-width:57px;margin-right:9px;color:#9d7448;font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}.nav-routes .nav-region-all{color:#92704b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.offices{padding-top:20px;padding-bottom:110px}.offices .section-heading{margin-bottom:36px}.offices h2{font:400 clamp(48px,5vw,70px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.03em;margin:16px 0 0}.offices h2 em{color:#ba8c50}.office-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.office-card{background:#f1f2ee;border-top:3px solid #b88a52;padding:30px;display:flex;flex-direction:column;min-height:300px}.office-card h3{font:400 34px Georgia,serif;margin:10px 0 23px}.office-card address{font-style:normal;font-size:14px;line-height:1.7}.office-card address small{display:block;margin-top:12px;color:#66757b;font-size:12px}.office-card p{border-top:1px solid #d7ddda;padding-top:17px;margin:auto 0 0;font-size:14px;font-weight:700}.office-card a{border-bottom:1px solid #a87942;color:#1d4051}.image-sources{padding-top:70px;padding-bottom:110px}.image-sources>p{max-width:820px;line-height:1.8;color:#56656b}.image-sources ul{columns:2;column-gap:45px;padding:0;list-style:none}.image-sources li{break-inside:avoid;border-bottom:1px solid #dde2de;padding:14px 0;font-size:12px;line-height:1.65}.image-sources li strong{font-size:14px}.image-sources a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:950px){.office-grid{grid-template-columns:1fr 1fr}.site-nav{gap:20px}.nav-journeys{left:auto;right:-30px}}
@media(max-width:680px){.site-nav{max-height:calc(100vh - 72px);overflow-y:auto;padding-bottom:40px}.site-nav .nav-item{width:100%}.site-nav .nav-trigger{display:flex;width:100%;justify-content:space-between;padding:14px 0}.site-nav .nav-panel{position:static;min-width:0;max-height:none;box-shadow:none;padding:6px 12px 18px;border-top:1px solid #bd9365;background:#19394a}.site-nav .nav-panel a{color:#e8ecea;padding:11px 3px}.site-nav .nav-panel .nav-view-all,.site-nav .nav-routes .nav-region-all{color:#e1bd88}.site-nav .nav-region{border-color:#45606c}.site-nav .nav-region summary{color:white}.site-nav .nav-routes{background:#244554}.site-nav .nav-routes a{border-color:#4a6873}.site-nav .nav-routes a span{color:#dbb27b}.office-grid{grid-template-columns:1fr}.office-card{min-height:0}.image-sources ul{columns:1}}

/* Lightly tinted glass keeps the photograph visible behind every desktop menu level. */
@media(min-width:681px){
  .nav-panel{top:100%;left:0;right:auto;max-height:none;overflow:visible;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.005) 55%),rgba(7,27,42,.035);border:1px solid rgba(255,255,255,.52);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 20px 44px rgba(3,20,28,.18);-webkit-backdrop-filter:blur(1.5px) saturate(1.1);backdrop-filter:blur(1.5px) saturate(1.1);color:#fff;animation:nav-reveal .28s ease-out both}
  .nav-destinations{min-width:228px}
  .nav-journeys{min-width:218px;width:218px;padding:12px 14px 15px}
  .nav-panel a{line-height:1.3;color:#fff;text-shadow:0 1px 4px rgba(3,20,28,.75)}
  .nav-panel a:hover,.nav-panel a:focus-visible{color:#ffe0ad}
  .nav-panel .nav-view-all{color:#ffe0ad;border-color:rgba(255,255,255,.28)}
  .nav-region-list{position:static}
  .nav-region,.nav-duration{position:static;border-color:rgba(255,255,255,.22)}
  .nav-region summary,.nav-duration summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:7px 8px;border-radius:7px;font-size:13px;font-weight:600;line-height:1.5;color:#fff;text-shadow:0 1px 4px rgba(3,20,28,.75);cursor:pointer}
  .nav-region summary::-webkit-details-marker,.nav-duration summary::-webkit-details-marker{display:none}
  .nav-region summary span,.nav-duration summary span{font-size:17px;line-height:1;transition:none}
  .nav-region[open]>summary,.nav-duration[open]>summary,.nav-region summary:hover,.nav-duration summary:hover{background:rgba(255,255,255,.17);color:#ffe0ad}
  .nav-region[open]>summary span{transform:none}
  .nav-routes,.nav-duration-routes{position:absolute;top:-3px;bottom:0;left:100%;right:auto;padding:13px 12px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.005) 60%),rgba(7,27,42,.035);border:1px solid rgba(255,255,255,.48);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),14px 20px 40px rgba(3,20,28,.14);-webkit-backdrop-filter:blur(1.5px) saturate(1.1);backdrop-filter:blur(1.5px) saturate(1.1);animation:nav-reveal .28s ease-out both}
  .nav-routes{width:178px}
  .nav-duration-routes{left:100%;width:300px}
  .nav-routes .nav-region-all{display:block;margin-bottom:9px;padding:9px 7px 12px;border-bottom:1px solid rgba(255,255,255,.28);color:#ffe0ad}
  .nav-routes a{border-color:rgba(255,255,255,.22)}
  .nav-duration-routes a{display:block;padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.22);font-size:13px;font-weight:500}
  .nav-duration-routes a:last-child{border-bottom:0}
  .nav-duration-routes a:hover,.nav-duration-routes a:focus-visible{background:rgba(255,255,255,.16);text-decoration:none}
  @keyframes nav-reveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){@media(min-width:681px){.nav-panel,.nav-routes,.nav-duration-routes{background:rgba(8,30,46,.88)}}}
@media(min-width:681px){.nav-about{left:auto;right:0;min-width:205px}}
@media(min-width:951px){.nav-journeys{left:-65px}}
@media(min-width:1101px) and (max-width:1360px){.nav-journeys{left:-112px}}
@media(min-width:1600px){.nav-journeys{left:0}}
@media(max-width:680px){
  .nav-region-list{display:block}
  .nav-duration{border-top:1px solid #4a6873}
  .nav-duration summary{display:flex;justify-content:space-between;padding:11px 9px;color:#f0f3ef;list-style:none;font-size:13px;font-weight:600;cursor:pointer}
  .nav-duration summary::-webkit-details-marker{display:none}
  .nav-duration-routes{position:static;padding:0 8px 8px 17px;background:#2b5060}
  .nav-duration-routes a{display:block;padding:10px 4px;border-bottom:1px solid #53707b;font-size:12px}
  .nav-duration-routes a:last-child{border-bottom:0}
}
@media(min-width:681px) and (max-width:1100px){
  .nav-journeys{left:-230px;min-width:218px;width:218px}
  .nav-routes{width:155px}
  .nav-duration-routes{left:100%;width:265px}
}
@media(min-width:681px) and (max-width:950px){
  .header-inner{min-height:72px}
  .menu-toggle{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:12px;cursor:pointer}
  .menu-toggle span{display:block;width:22px;height:1px;background:#fff}
  .site-nav{display:none;position:absolute;top:72px;left:0;right:0;max-height:calc(100vh - 72px);overflow-y:auto;background:var(--navy);padding:10px 24px 30px;flex-direction:column;align-items:stretch;gap:0}
  .site-nav.open{display:flex}
  .site-nav .nav-item{width:100%}
  .site-nav .nav-trigger{display:flex;width:100%;justify-content:space-between;padding:14px 0}
  .site-nav .nav-panel{position:static;width:auto;min-width:0;max-height:none;overflow:visible;padding:6px 12px 18px;background:#19394a;border:0;border-top:1px solid #bd9365;box-shadow:none;animation:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-nav .nav-panel a{color:#e8ecea;padding:11px 3px}
  .site-nav .nav-view-all,.site-nav .nav-region-all{color:#e1bd88}
  .site-nav .nav-region{border-color:#45606c}
  .site-nav .nav-region summary,.site-nav .nav-duration summary{color:white}
  .site-nav .nav-routes,.site-nav .nav-duration-routes{position:static;width:auto;min-height:0;padding:0 8px 12px 17px;background:#244554;border:0;box-shadow:none;animation:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .site-nav .nav-duration-routes{background:#2b5060}
  .site-nav .nav-duration{border-top:1px solid #4a6873}
  .site-nav .nav-routes a{border-color:#4a6873}
}
.destination-choices{border:0;padding:0;margin:22px 0 0;min-width:0}
.destination-choices legend{padding:0;font-size:13px;font-weight:700;color:#223844}
.destination-choices>p{margin:4px 0 15px;font-size:12px;color:var(--muted)}
.destination-choices .destination-selection{margin:12px 0 0;color:#8e6335;font-weight:700}
.destination-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.inquiry-form .destination-choice{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:43px;padding:8px 10px;background:#fff;border:1px solid #ccd3cf;font-size:12px;line-height:1.25;cursor:pointer}
.inquiry-form .destination-choice:has(input:checked){border-color:#aa7d49;background:#f4eadc;color:#65431e}
.inquiry-form .destination-choice input{width:15px;height:15px;min-height:0;margin:0;accent-color:#a87942;flex:none}
.inquiry-form .destination-choice span{color:inherit}
.inquiry-form .destination-choice:focus-within{outline:2px solid #b48b59;outline-offset:1px}
.inquiry-form .other-destination{margin-top:14px}
.inquiry-form .other-destination[hidden]{display:none}
@media(max-width:950px){.destination-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.destination-choice-grid{grid-template-columns:1fr 1fr}.inquiry-form .destination-choice{font-size:11px}}

.g318-section{padding-top:35px;padding-bottom:90px}
.g318-intro{max-width:930px;margin-bottom:32px}
.g318-intro h2{font:400 clamp(38px,4.2vw,61px)/1.14 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:13px 0 18px}
.g318-intro h2 em{color:#ad7f4a;font-weight:400}
.g318-intro p{font-size:16px;line-height:1.8;color:var(--muted);margin:0}
.g318-map-visual{overflow-x:auto;background:#f5f2e8;border:1px solid #e2e0d6}
.g318-map-visual img{display:block;width:100%;min-width:1800px;height:auto}
.g318-map-trigger{display:block;position:relative;width:100%;min-width:1800px;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
.g318-map-trigger img{min-width:0}
.g318-map-zoom{position:absolute;right:22px;bottom:22px;display:flex;align-items:center;gap:9px;padding:11px 16px;background:rgba(13,39,54,.86);color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:opacity .18s,transform .18s;pointer-events:none}
.g318-map-zoom span{font-size:23px;line-height:1}
.g318-map-trigger:hover .g318-map-zoom,.g318-map-trigger:focus-visible .g318-map-zoom{opacity:1;transform:none}
@media(min-width:951px){.g318-map-trigger{min-width:0}}
@media(hover:none){.g318-map-zoom{opacity:1;transform:none}}
.g318-map-dialog{padding:0;border:1px solid #c5d0ca;background:#f8f7f2;color:#153344;width:96vw;max-width:1800px;height:93vh;max-height:93vh;box-shadow:0 25px 80px rgba(3,14,22,.4)}
.g318-map-dialog[open]{display:flex;flex-direction:column}
.g318-map-dialog::backdrop{background:rgba(3,13,20,.88)}
.g318-map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:none;background:#102b3d;color:#fff;padding:12px 18px}
.g318-map-dialog-head h2{font:400 21px Georgia,serif;margin:0}
.g318-map-controls{display:flex;align-items:center;gap:7px}
.g318-map-controls button{height:34px;min-width:35px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:22px;cursor:pointer}
.g318-map-controls button:disabled{opacity:.35;cursor:default}
.g318-map-controls output{min-width:45px;text-align:center;font-size:12px}
.g318-map-stage{flex:1;min-height:0;overflow:auto;cursor:grab;overscroll-behavior:contain}
.g318-map-stage.is-dragging{cursor:grabbing}
.g318-map-stage img{display:block;width:100%;max-width:none;height:auto;user-select:none;-webkit-user-drag:none}
.g318-legs{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#d5dcd8;padding:1px;margin:0}
.g318-legs li{display:flex;flex-direction:column;gap:5px;min-height:116px;background:#f3f4ef;padding:18px 19px}
.g318-legs span{font-size:10px;font-weight:700;letter-spacing:.15em;color:#9b7040}
.g318-legs strong{font-size:13px;line-height:1.35;color:#193847}
.g318-legs b{margin-top:auto;font:400 21px Georgia,serif;color:#a47640}
.g318-map-note{font-size:12px;line-height:1.6;color:#66757a;margin:15px 0 0}
.g318-map-note a{color:#785733;text-decoration:underline;text-underline-offset:3px;margin-right:9px;white-space:nowrap}
@media(max-width:950px){.g318-legs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.g318-section{padding-top:18px;padding-bottom:65px}.g318-legs li{min-height:105px;padding:15px 12px}.g318-intro p{font-size:14px}.g318-map-visual img{min-width:1800px}}
@media(max-width:680px){.g318-map-dialog{width:100vw;height:100dvh;max-height:100dvh}.g318-map-dialog-head{padding:10px}.g318-map-dialog-head h2{font-size:14px}.g318-map-zoom{right:12px;bottom:12px}}

.journey-day-explorer{background:#eef1ec;padding:42px 0 65px}
.journey-day-heading{margin-bottom:20px}
.journey-day-heading h2{font:400 clamp(38px,4vw,55px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:9px 0 8px}
.journey-day-heading>p{max-width:780px;margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.journey-day-layout{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);height:clamp(650px,75vh,760px);overflow:hidden;border-radius:18px;background:#526c6b;box-shadow:0 24px 58px rgba(18,43,51,.16)}
.journey-day-backdrop{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;filter:blur(5px) brightness(.65) saturate(1.08);z-index:-1;transition:opacity .3s}
.journey-day-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 20px 23px;background:linear-gradient(120deg,rgba(8,31,43,.31),rgba(8,31,43,.13));-webkit-backdrop-filter:blur(2px) saturate(1.08);backdrop-filter:blur(2px) saturate(1.08);scrollbar-color:rgba(255,255,255,.3) transparent;scrollbar-width:thin;text-shadow:0 1px 5px rgba(2,17,26,.68)}
.journey-day-item{border-bottom:1px solid rgba(255,255,255,.23)}
.journey-day-item:last-child{border-bottom:0}
.journey-day-tab{display:grid;grid-template-columns:62px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:48px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;cursor:pointer;transition:background .22s,color .22s;text-shadow:inherit}
.journey-day-tab>span:first-child{color:#f0c38a;font-size:10px;font-weight:800;letter-spacing:.1em;white-space:nowrap}
.journey-day-tab strong{font-size:13px;font-weight:650;line-height:1.35}
.journey-day-chevron{font-size:18px;color:#f5f5ef;line-height:1;transition:transform .2s}
.journey-day-item.is-active .journey-day-chevron{transform:rotate(180deg)}
.journey-day-tab:hover,.journey-day-tab:focus-visible,.journey-day-item.is-active .journey-day-tab{background:rgba(255,255,255,.14)}
.journey-day-tab:focus-visible,.journey-photo-indicator:focus-visible{outline:2px solid #b68a50;outline-offset:2px}
.journey-day-item.is-active .journey-day-tab strong{color:#ffe3b8}
.journey-day-details{display:grid;grid-template-rows:0fr;opacity:0;color:#f5f7f4;transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.journey-day-item.is-active .journey-day-details{grid-template-rows:1fr;opacity:1}
.journey-day-details-inner{min-height:0;overflow:hidden}
.journey-day-details-copy{padding:0 21px 15px 81px}
.journey-day-details p{margin:4px 0 10px;font-size:12px;line-height:1.6}
.journey-day-details ol{list-style:none;margin:0;padding:0}
.journey-day-details li{display:grid;grid-template-columns:minmax(0,116px) minmax(0,1fr);gap:9px;padding:4px 0;font-size:11px;line-height:1.5}
.journey-day-details li strong{color:#fff;font-weight:700}
.journey-day-details li span{color:#edf2f0}
.journey-day-details small{display:block;margin-top:10px;color:#f0c38a;font-size:10px;font-weight:800;letter-spacing:.04em}
.journey-day-media{position:relative;min-width:0;min-height:0;overflow:hidden}
.journey-day-media:before{position:absolute;z-index:2;top:0;bottom:0;left:0;width:28px;background:linear-gradient(90deg,rgba(7,26,36,.2),transparent);content:'';pointer-events:none}
.journey-photo-set{position:absolute;inset:0}
.journey-photo-set[hidden]{display:none}
.journey-photo-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.journey-photo-track.is-dragging{cursor:grabbing}
@media(hover:hover){.journey-photo-track{cursor:grab}}
.journey-photo-track::-webkit-scrollbar{display:none}
.journey-photo-slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start}
.journey-photo-slide img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.journey-photo-slide:after{position:absolute;z-index:1;right:0;bottom:0;left:0;height:140px;background:linear-gradient(transparent,rgba(4,23,32,.58));content:'';pointer-events:none}
.journey-photo-caption{position:absolute;z-index:2;right:24px;bottom:47px;left:29px;color:#fff;font:400 clamp(22px,2.3vw,31px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.72);pointer-events:none}
.journey-photo-indicators{position:absolute;z-index:2;bottom:14px;left:50%;display:flex;gap:2px;align-items:center;transform:translateX(-50%)}
.journey-photo-indicator{display:grid;place-items:center;width:36px;height:24px;padding:0;border:0;background:transparent;cursor:pointer}
.journey-photo-indicator:after{display:block;width:30px;height:2px;border-radius:2px;background:rgba(255,255,255,.45);box-shadow:0 1px 4px rgba(0,0,0,.35);content:'';transition:background .2s,height .2s}
.journey-photo-indicator:hover:after,.journey-photo-indicator.is-active:after{height:3px;background:#fff}
.journey-day-explorer .route-note{margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.journey-day-explorer .featured-route{margin-top:12px}
@media(max-width:950px){.journey-day-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.journey-day-list{padding:12px}.journey-day-tab{grid-template-columns:52px minmax(0,1fr) 16px;gap:6px}.journey-day-tab strong{font-size:11px}.journey-day-details-copy{padding-left:65px}.journey-day-details li{grid-template-columns:1fr;gap:1px}}
@media(max-width:680px){.journey-day-explorer{padding:48px 0 60px}.journey-day-heading h2{font-size:39px}.journey-day-heading>p{font-size:13px}.journey-day-layout{grid-template-columns:1fr;grid-template-rows:minmax(330px,44vh) minmax(270px,38vh);height:auto;max-height:none;border-radius:15px}.journey-day-list{padding:12px 11px 14px}.journey-day-media{min-height:270px}.journey-day-tab{min-height:45px;grid-template-columns:59px minmax(0,1fr) 17px}.journey-day-tab strong{font-size:12px}.journey-day-details-copy{padding-left:78px}.journey-day-details li{grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:6px}.journey-photo-caption{left:18px;right:18px;bottom:43px;font-size:24px}}
@media(prefers-reduced-motion:reduce){.journey-day-details,.journey-day-backdrop,.journey-photo-indicator:after{transition:none}}

/* Editorial destination stories: copy beside the existing place photographs. */
.destination-story{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(42px,5vw,90px);padding-top:96px;padding-bottom:110px}
.destination-story-copy h2{font-size:clamp(46px,4.8vw,72px);line-height:1.12;margin:17px 0 31px}
.destination-story-copy p{max-width:560px;margin:0 0 18px;color:#43545b;font-size:16px;line-height:1.8}
.destination-story-copy p:first-of-type{color:#223945;font-size:18px}
.destination-story-note{display:block;margin-top:29px;color:#aa7d49;font-size:11px;font-weight:700;letter-spacing:.16em}
.destination-story-media{position:relative;min-width:0;height:clamp(450px,43vw,610px);overflow:hidden;border-radius:16px;background:#193344;box-shadow:0 22px 48px rgba(18,43,51,.14)}
.destination-story-media .journey-photo-track{touch-action:pan-y pan-x}
.destination-story-media .journey-photo-slide img{object-position:center}
.destination-story-media .journey-photo-indicators{z-index:3}
.destination-story-media .journey-photo-indicators.is-many{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));width:min(calc(100% - 22px),330px);gap:0 2px;bottom:8px}
.destination-story-media .journey-photo-indicators.is-many .journey-photo-indicator{width:100%}
.destination-story-media .journey-photo-indicators.is-many .journey-photo-indicator:after{width:75%}
.destination-story-media:has(.journey-photo-indicators.is-many) .journey-photo-caption{bottom:72px}
@media(max-width:950px){.destination-story{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:35px}.destination-story-copy p{font-size:14px;line-height:1.7}.destination-story-copy p:first-of-type{font-size:16px}}
@media(max-width:680px){.destination-story{grid-template-columns:1fr;gap:32px;padding-top:72px;padding-bottom:82px}.destination-story-copy h2{font-size:clamp(43px,10vw,59px);margin-bottom:23px}.destination-story-media{height:min(78vw,420px);min-height:310px;border-radius:12px}.destination-story-copy p{font-size:15px}.destination-story-copy p:first-of-type{font-size:17px}}
.journey-card:hover,.journey-card:focus-visible{background-image:linear-gradient(0deg,rgba(4,24,36,.86),rgba(4,24,36,.17)),var(--journey-image)}
.social-card{background:transparent}
.social-contact .social-card{padding:0;text-align:left}
.social-contact .qr-frame{margin-left:0;margin-right:0}
.contact-intro .social-contact{gap:clamp(28px,3vw,50px)}
.contact-intro .social-card{flex:0 1 160px}
.contact-intro .qr-frame{width:100%}
@media(min-width:681px) and (max-width:950px){.social-contact .social-card{flex-direction:column;align-items:flex-start}.social-contact .social-card small{margin-left:0}}

/* One destination entry, sharing the map's non-overlapping regional taxonomy. */
/* Geographic flyouts: region, province and destination in adjacent glass columns. */
.nav-geography .nav-directory-link{font-size:11px;padding-top:12px}
@media(min-width:951px){
 .nav-geography{width:210px;min-width:210px;padding:12px 14px 15px;left:var(--geography-offset,-160px)}
 .nav-geography .nav-region-places{width:190px;bottom:auto;min-height:100%;overflow:visible}
 .nav-geography .nav-provinces{display:block}
 .nav-geography .nav-city-links{width:225px;bottom:auto;min-height:100%;top:-1px}
 .nav-geography .nav-province>a{font-size:13px;padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.22)}
 .nav-geography .nav-province summary{padding:9px 8px}
 .nav-geography .nav-directory-link{border:0}
 .nav-geography .nav-province>summary span{transform:none}
}
@media(max-width:950px){
 .site-nav .nav-geography .nav-region-places{position:static;width:auto;padding:8px 12px;background:#244554}
 .nav-geography .nav-provinces{display:block}
 .nav-geography .nav-province>a{padding:12px 9px}
 .nav-geography .nav-city-links{position:static;width:auto;min-height:0}
}
.province-directory{margin-top:38px}
.province-directory>h3{font-family:var(--sans);font-size:15px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 20px;color:#98754a}
.region-directory{padding-top:45px;padding-bottom:40px;scroll-margin-top:30px;border-bottom:1px solid var(--line)}
.region-directory h2{font:400 clamp(32px,4vw,48px)/1.2 'Playfair Display',Georgia,serif;margin:0 0 12px}
.region-directory>p{font-size:15px;color:var(--muted);max-width:750px}
.province-directory-links{display:flex;flex-wrap:wrap;gap:14px 24px;margin:24px 0 32px}
.province-directory-links a{font-size:13px;border-bottom:1px solid #b59061;padding-bottom:5px}
.region-directory .destinations-grid{margin-top:24px}
.across-directory .destinations-grid{grid-template-columns:1fr}
.across-directory .destination-card{min-height:280px}

/* Keep short destination collections balanced and match the editorial heading style. */
.destination-story-copy h2,.destination-routes .section-heading h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.1;letter-spacing:-.03em}
@media(min-width:951px){.destination-routes .journeys-grid-short{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Interest-led discovery and the shared bespoke journey request. */
.nav-customize{color:var(--gold)!important}
.interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;padding-block:50px 110px}
.interest-tile{padding:42px 0;border-bottom:1px solid #cad0cc;color:inherit;text-decoration:none}
.interest-tile h2,.interest-story h2{font:400 clamp(34px,3.8vw,58px)/1.15 'Playfair Display',Georgia,serif;margin:22px 0}
.interest-tile p,.interest-story p,.interest-story li{color:var(--muted);line-height:1.85}
.interest-link{display:inline-block;margin-top:20px;color:#9b713f}
.interest-tile:hover h2{color:#a77c47}
.interest-story{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-block:70px 100px}
.interest-story figure{margin:0}.interest-story img{width:100%;height:560px;object-fit:cover;border-radius:14px}
.interest-story h3{margin-top:30px}.interest-story li{margin:8px 0}
.interest-story:not(:has(figure)){grid-template-columns:minmax(0,780px)}
.customize-section{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:6%;align-items:start}
.customizer-form{background:transparent;padding:0}
.customizer-form .form-kicker{font-size:13px}.form-section-note{font-size:13px;line-height:1.65;color:var(--muted)}
.planning-process{padding-left:20px;color:var(--muted);line-height:2.2;margin-top:30px}
.customizer-form .destination-choices{border:0;padding:0;margin:24px 0}
.customizer-form .destination-choices legend{font-size:15px;font-weight:600;margin-bottom:12px}
.customizer-form .destination-choice{flex-direction:row;align-items:flex-start;font-weight:400;gap:10px;line-height:1.5;padding:9px 0;background:transparent;border:0}
.customizer-form .destination-choice input{width:17px;height:17px;min-height:17px;flex:0 0 17px;padding:0;margin:2px 0;accent-color:#a98250}
.customizer-form .destination-choice span{color:var(--ink)}
.customizer-form .destination-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px}
.planning-region,.planning-city{border-bottom:1px solid #d2d8d4;padding:15px 0}
.planning-region summary,.planning-city summary{cursor:pointer;color:var(--ink);font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.planning-region summary:after,.planning-city summary:after{content:'+';color:#9b713f;font-size:20px;font-weight:400}
.planning-region[open]>summary:after,.planning-city[open]>summary:after{content:'−'}
.planning-region[open]>.destination-choice-grid{padding-top:13px}
.planning-options{margin-top:30px}.planning-city[hidden]{display:none}
.customizer-form .other-destination{margin:20px 0}.customizer-form .other-destination[hidden]{display:none}
.request-review{border-block:1px solid #d2d8d4;padding:20px 0;margin-top:35px}.request-review h3{font:400 25px Georgia,serif;margin:0 0 12px}.request-review p{font-size:14px;line-height:1.8;color:var(--muted)}
.selected-journey{font-size:14px;line-height:1.6;color:#886338;border-left:2px solid #b28b54;padding-left:15px}
@media(min-width:951px){.site-nav{gap:clamp(16px,2vw,34px)}.site-nav>a,.nav-trigger{font-size:11px;letter-spacing:.09em}}
@media(max-width:950px){.customize-section{grid-template-columns:1fr;gap:55px}.customize-section .contact-intro{max-width:680px}.customize-section .social-contact{flex-direction:row}.interest-story{gap:5%}.interest-story img{height:440px}}
@media(max-width:680px){.interest-grid,.interest-story{grid-template-columns:1fr}.interest-grid{padding-block:20px 60px}.interest-story{padding-block:45px 65px;gap:30px}.interest-story img{height:350px}.customizer-form .destination-choice-grid{grid-template-columns:1fr}.customize-section .inquiry-form{padding:0}.customizer-form .form-actions button{letter-spacing:0;font-size:13px}.customize-section .contact-intro h2{font-size:45px}}
@media(max-width:950px){.customize-section .contact-intro{order:2}.customize-section .customizer-form,.customize-section .inquiry-success{order:1}}
@media(min-width:951px){.site-nav{gap:clamp(12px,1.7vw,28px)}.nav-trigger{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.nav-trigger>span{margin-left:0}.site-nav>.nav-item{flex-shrink:0}.brand{flex-shrink:0}}
@media(min-width:951px) and (max-width:1100px){.header-inner.wrap{width:calc(100% - 40px)}.site-nav{gap:15px}.site-nav>a,.nav-trigger{font-size:10.5px}}

/* Contact details stay within the original footer contact column. */
.site-footer{scroll-margin-top:90px}
.footer-grid a{overflow-wrap:anywhere}
.footer-contact .footer-branch{margin-top:24px}
.footer-contact .footer-branch h2{font:600 13px/1.5 'Inter',sans-serif;letter-spacing:.04em;color:#d2af7e;margin:0 0 7px}
.footer-contact .footer-branch address{font-style:normal;font-size:12px;line-height:1.7;color:#b3c0c6}
.footer-contact .footer-branch p{font-size:12px;line-height:1.6;margin:7px 0 0}
.footer-contact .footer-branch a{display:inline;font-size:inherit;margin:0;color:#dce4e4;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#72858d}

/* Province choices switch city cards within one horizontal region row. */
.province-tabs{display:flex;gap:32px;overflow-x:auto;border-bottom:1px solid var(--line);margin-top:30px;scrollbar-width:thin}
.province-tabs a{flex:0 0 auto;padding:12px 0 14px;border-bottom:2px solid transparent;color:var(--muted);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.province-tabs a:hover,.province-tabs a[aria-selected="true"]{color:#98754a;border-bottom-color:#b88a52}
.province-tabs a:focus-visible{outline:2px solid #b88a52;outline-offset:-2px}
.province-directory[hidden]{display:none}
.province-tabs-ready .province-directory{margin-top:0}
.province-tabs-ready .destinations-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px}
.province-tabs-ready .destination-card{min-width:0;scroll-snap-align:start}
@media(max-width:950px){.province-tabs-ready .destinations-grid{grid-auto-columns:calc((100% - 22px)/2)}}
@media(max-width:680px){.province-tabs{gap:25px;margin-top:22px}.province-tabs a{font-size:12px}.province-tabs-ready .destinations-grid{grid-auto-columns:88%;gap:16px}}

/* A compact, unruled region heading with one shared China label. */
.destination-browser{padding-top:38px;scroll-margin-top:105px}
.region-selector{--region-large:clamp(48px,5.8vw,84px);display:flex;align-items:baseline;gap:16px;overflow-x:auto;padding:12px 0 14px;scrollbar-width:thin;min-height:calc(var(--region-large) * 1.45)}
.region-tabs{display:flex;align-items:baseline;flex:0 0 auto;gap:16px;min-height:calc(var(--region-large) * 1.15);padding-top:4px}
.region-tabs a{flex:0 0 auto;color:var(--muted);font:400 clamp(20px,1.8vw,26px)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.035em;white-space:nowrap;transition:font-size .32s ease,color .25s ease}
.region-tabs a span{display:inline-block}
.region-tabs a[aria-selected="true"]{font-size:var(--region-large);color:#98754a}
@media(hover:hover){.region-tabs a:hover{font-size:var(--region-large);color:var(--ink)}}
.region-tabs a:focus-visible{font-size:var(--region-large);outline:2px solid #b88a52;outline-offset:5px}
.region-china{flex:0 0 auto;font:400 var(--region-large)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.035em;color:var(--ink)}
.region-directory[hidden]{display:none}
.region-tabs-ready .region-directory{padding-top:8px;border:0}
.destination-browser .province-tabs{border:0;margin-top:10px}
.destination-browser .province-tabs a{border:0}
.destination-browser .destinations-grid,.destination-browser .destination-card{border:0}
.destinations-index-hero{background-position:center,center 52%}
.destinations-index-hero .detail-hero-inner{min-height:490px}
@media(max-width:680px){.destination-browser{padding-top:20px;scroll-margin-top:85px}.region-selector{--region-large:46px;gap:13px}.region-tabs{gap:13px}.region-tabs a{font-size:21px}.destinations-index-hero .detail-hero-inner{min-height:420px}}
@media(prefers-reduced-motion:reduce){.region-tabs a{transition:none}}
