:root{--forest:#263c32;--deep:#1d2e27;--cream:#f4f0e7;--paper:#fffcf6;--clay:#a25838;--gold:#bfa16a;--ink:#2e3932;--muted:#687066;--line:#d8d8cd;--sans:"Meiryo","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.9 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,dl,dd,ol{margin:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #be823f;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:bold;color:var(--clay);margin-bottom:23px}h2{font:500 clamp(29px,3vw,43px)/1.65 var(--serif);letter-spacing:.07em}h3{color:var(--forest)}.section-heading{margin-bottom:45px}.section-heading>p:last-child:not(.eyebrow){margin-top:20px}.small-note{font-size:11px;line-height:1.95;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;text-decoration:none;padding:17px 24px;font-size:12px;font-weight:bold;border:1px solid transparent;transition:background .18s,color .18s}.button.light{color:var(--forest);background:var(--paper)}.button.light:hover{background:#eee2c8}.button.dark{color:white;background:var(--forest)}.button.dark:hover{background:#3d5847}.button.outline{color:var(--forest);border-color:var(--forest);background:transparent}.skip{position:absolute;left:15px;top:-80px;z-index:100;background:white;color:var(--forest);padding:15px}.skip:focus{top:15px}
.site-header{position:absolute;top:0;left:0;width:100%;z-index:3;padding:27px 4%;display:flex;align-items:center;gap:35px;color:white;border-bottom:1px solid #ffffff3b}.brand{text-decoration:none;font:20px/1.4 var(--serif);letter-spacing:.06em;white-space:nowrap}.brand small{display:block;font:8px/1.9 var(--sans);letter-spacing:.2em;margin-top:6px}.site-header nav{margin-left:auto;display:flex;gap:26px;font-size:11px}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.header-contact{border:1px solid #ffffff8a;padding:11px 18px;text-decoration:none;font-size:11px;white-space:nowrap}
.hero{position:relative;min-height:820px;min-height:max(820px,100svh);display:flex;align-items:center;background:var(--deep);color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,24,.78) 0,rgba(15,30,24,.40) 36%,rgba(15,30,24,.04) 75%),linear-gradient(0deg,rgba(15,30,24,.6),transparent 20%,transparent 80%,rgba(15,30,24,.3))}.hero-content{position:relative;width:min(1160px,calc(100% - 96px));margin:140px auto 135px}.hero .eyebrow{color:#ede5cd;font-size:12px;letter-spacing:.17em}.hero h1{font:400 clamp(65px,7vw,108px)/1.25 var(--serif);letter-spacing:.08em}.hero h1 span{color:#cfb581}.hero-subtitle{font:500 19px/1.8 var(--serif);letter-spacing:.06em;margin-top:23px}.hero-description{font-size:12px;line-height:2.1;margin-top:21px;color:#f3f0e7}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:33px}.duration{font:28px/1.4 var(--serif);letter-spacing:.1em}.duration small{display:block;font:10px/1.7 var(--sans);letter-spacing:0;margin-top:5px;color:#ece9dc}.hero-bottom{position:absolute;bottom:22px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#f5f2e7}.hero-bottom>.image-open{border:1px solid #ffffff7c;background:#1d2e276b;color:white;padding:10px 14px;font-size:11px;white-space:nowrap}
.fare-band{padding:35px max(48px,calc((100vw - 1160px)/2));background:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.small-label{font-size:11px;letter-spacing:.06em;color:var(--muted)}.main-fare{font:46px/1.3 Georgia,serif;color:var(--forest);white-space:nowrap;margin-top:8px}.main-fare small{font:10px var(--sans);margin-right:12px}.main-fare>span{font:16px var(--sans);margin-left:7px}.fare-band p:not(.main-fare){font-size:10px;margin-top:8px}.departure-band{border-left:1px solid #c8cbbf;padding-left:35px}.departure-band strong{display:block;font:24px/1.5 Georgia,serif;letter-spacing:.02em;margin-top:10px}
.story{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:start}.story-copy>p:not(.small-note){font-size:14px;line-height:2.2;margin-bottom:22px}.story-copy .small-note{border-left:2px solid var(--gold);padding-left:16px;margin-top:27px}.source-link{display:inline-block;font-size:10px;color:var(--muted);margin-top:15px}.village-scene{width:100%;background:var(--forest)}.scene-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent}.scene-button img{width:100%;height:auto}.scene-button>span{position:absolute;right:4%;bottom:25px;color:white;background:#263c32cf;border:1px solid #ffffff78;padding:9px 15px;font-size:11px}.village-scene figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:24px 4%;color:white}.village-scene figcaption>span{font:23px/1.6 var(--serif);letter-spacing:.06em}.village-scene figcaption small{font-size:10px;color:#d5ddcf}.walking{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:start}.walking>div>p:last-child{margin-top:24px;font-size:13px;max-width:360px}.walking-details>div{border-top:1px solid var(--line);padding:21px 0;display:grid;grid-template-columns:110px 1fr;gap:20px}.walking-details>div:last-child{border-bottom:1px solid var(--line)}.walking-details dt{font-size:11px;color:var(--muted)}.walking-details dd{font-size:14px;color:var(--forest)}.walking-details small{font-size:10px;line-height:1.9;display:block;color:var(--muted);margin-top:5px}
.itinerary-section{background:var(--cream)}.route-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border-block:1px solid #c6cec1;padding:20px 0;margin-bottom:48px;font-size:12px;color:var(--forest)}.route-line i{font-style:normal;color:var(--clay)}.days{max-width:960px;margin-inline:auto}.day{display:grid;grid-template-columns:80px 1fr;gap:40px;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.day:last-child{margin-bottom:20px}.day-index{display:flex;flex-direction:column;align-items:center;color:var(--clay)}.day-index small{font-size:10px;letter-spacing:.17em}.day-index b{font:52px/1.25 Georgia,serif}.day-route{font-size:11px;letter-spacing:.05em;color:var(--clay);margin-bottom:9px}.day h3{font:500 27px/1.7 var(--serif);margin-bottom:16px}.day h3+p{font-size:13px;line-height:2.1}.travel-time{font-size:11px;border-left:2px solid var(--gold);padding-left:14px;margin-top:20px;color:var(--forest)}.day-foot{display:flex;flex-wrap:wrap;gap:10px 30px;font-size:10px;color:var(--muted);margin-top:18px}.itinerary-section>.wrap>.small-note{max-width:840px;margin-left:auto}
.highlights{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}.highlights>li{display:grid;grid-template-columns:43px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding:26px 0}.highlights>li>span{font:30px/1.4 Georgia,serif;color:var(--clay)}.highlights h3{font-size:16px;line-height:1.75;margin-bottom:10px}.highlights p{font-size:12px;line-height:2}
.conditions-section{background:#e9ecdf}.conditions-layout{display:grid;grid-template-columns:.8fr 1fr;gap:90px}.condition-price{font:54px/1.3 Georgia,serif;color:var(--forest);margin:23px 0 8px}.condition-price span{font:19px var(--sans);margin-left:7px}.condition-price+p{font-size:11px;line-height:1.9}.conditions-layout .button{margin-top:25px}.conditions>div{display:grid;grid-template-columns:125px 1fr;gap:25px;padding:17px 0;border-top:1px solid #c6cdbc}.conditions>div:last-child{border-bottom:1px solid #c6cdbc}.conditions dt{font-size:11px;color:var(--muted)}.conditions dd{font-size:12px}.conditions dd small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.faq-section{display:grid;grid-template-columns:.65fr 1fr;gap:80px;align-items:start}.faq-intro{font-size:12px;margin-top:20px;line-height:2}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;list-style:none;cursor:pointer;font-size:13px;font-weight:bold;color:var(--forest);padding-left:35px;padding-right:25px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{position:absolute;left:0;font:16px/1.8 Georgia,serif;color:var(--clay)}.faq-list summary:after{content:"＋";position:absolute;right:0;font-weight:normal}.faq-list details[open] summary:after{content:"−"}.faq-list details>p{padding-left:35px;font-size:12px;line-height:2.1;margin-top:16px}
.contact-section{background:var(--cream)}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-card{display:block;color:white;text-decoration:none;padding:30px 35px}.contact-card.reservation{background:var(--forest)}.contact-card.inquiry{background:#8a4a33}.contact-card>span{font-size:10px;letter-spacing:.18em;opacity:.8}.contact-card h3{color:white;font:26px/1.6 var(--serif);margin-top:10px}.contact-card strong{display:block;font-size:25px;margin:13px 0 12px;overflow-wrap:anywhere}.contact-card small{display:block;font-size:11px;opacity:.85}.contact-card:hover strong{text-decoration:underline;text-underline-offset:5px}.telephone{text-align:right;font-size:11px;margin-top:20px}.telephone a{font-size:21px;font-weight:bold;text-decoration:none;margin-left:12px}.form-intro{margin-top:60px;margin-bottom:25px}.form-intro h3{font-size:20px;margin-bottom:10px}.form-intro p{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}.form-grid label{display:block;font-size:12px;font-weight:bold;min-width:0}.form-grid label>span{font-size:9px;font-weight:normal;color:var(--clay);margin-left:6px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #c9cec0;background:var(--paper);color:var(--ink);border-radius:0;min-height:48px;font-size:14px}.form-grid textarea{resize:vertical}.form-grid small{font-size:10px;font-weight:normal;color:var(--muted);display:block;margin-top:5px}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:27px}.form-bottom p{font-size:12px;font-weight:bold;color:var(--forest);overflow-wrap:anywhere}form>.small-note{margin-top:15px}.mail-preview{padding:30px;border:1px solid var(--line);background:var(--paper);margin-top:35px}.mail-preview h3{font-size:19px}.mail-preview p{font-size:12px;margin-top:12px}.mail-preview textarea{width:100%;border:1px solid var(--line);padding:15px;font-size:13px;line-height:1.9;resize:vertical;margin-top:17px}.mail-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:18px}.text-button{border:0;background:transparent;text-decoration:underline;color:var(--forest);font-size:12px}.company-section{padding-block:75px}.company-section h2{font-size:28px}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:35px}.company-role{font-size:11px;color:var(--clay);margin-bottom:12px}.company-grid h3{font-size:16px;margin-bottom:13px}.company-grid article>p:not(.company-role){font-size:11px;line-height:2.1}.company-grid a{display:inline-block;font-size:11px;margin-top:18px}.legal-links{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.legal-links+.small-note{margin-top:20px}.sources{margin-top:23px;font-size:10px;color:var(--muted)}.sources summary{cursor:pointer}.sources p{margin-top:12px}
footer{background:var(--deep);color:#ecebdc;padding:45px 0}footer>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>.wrap>a:last-child{font-size:10px}dialog{padding:50px 15px 15px;background:var(--deep);color:white;border:0;width:min(1600px,96vw);max-height:95vh}dialog::backdrop{background:#12231df0}dialog>button{position:absolute;right:15px;top:10px;border:1px solid #eae8db88;background:transparent;color:white;padding:4px 14px;font-size:12px}dialog>img{width:100%;height:auto;max-height:76vh;object-fit:contain}dialog>p{font-size:11px;text-align:center;padding:15px 10px 0}
@media(min-width:1800px){.hero-content{width:calc(100% - 200px)}.hero h1{font-size:115px}}
@media(max-width:1100px){.site-header{gap:20px}.site-header nav{gap:16px;font-size:10px}.header-contact{font-size:10px;padding:10px}.wrap,.hero-content{width:calc(100% - 64px)}.hero-content{margin-block:150px 120px}.hero h1{font-size:80px}.fare-band{padding:30px 32px;gap:20px}.fare-band .button{font-size:11px;padding:15px;gap:15px}.main-fare{font-size:40px}.departure-band{padding-left:20px}.departure-band strong{font-size:21px}.story,.walking,.conditions-layout{gap:50px}.faq-section{gap:45px}.contact-card{padding:27px}.contact-card strong{font-size:21px}.section{padding-block:85px}}
@media(max-width:850px){.site-header nav{display:none}.header-contact{margin-left:auto}.hero{min-height:max(760px,100svh)}.hero h1{font-size:76px}.hero-subtitle{font-size:17px}.hero-content{margin-top:125px}.fare-band{flex-wrap:wrap}.fare-band>.button{width:100%;justify-content:center}.story,.walking,.conditions-layout{grid-template-columns:1fr;gap:30px}.walking>div>p:last-child{max-width:600px}.walking-details>div{grid-template-columns:130px 1fr}.conditions>div{grid-template-columns:150px 1fr}.village-scene figcaption{display:block}.village-scene figcaption small{display:block;margin-top:7px}.highlights{gap:0 25px}.highlights>li{grid-template-columns:30px minmax(0,1fr);gap:13px}.highlights h3{font-size:15px}.faq-section{grid-template-columns:1fr;gap:30px}.contact-card strong{font-size:18px}.company-grid{gap:30px}.route-line{gap:10px;font-size:10px}.day{grid-template-columns:55px 1fr;gap:25px}footer>.wrap{flex-wrap:wrap}}
@media(max-width:600px){.wrap,.hero-content{width:calc(100% - 40px)}.section{padding-block:65px}.site-header{padding:18px 20px;gap:10px}.brand{font-size:16px}.brand small{font-size:6px}.header-contact{font-size:9px;padding:9px 10px}.hero{min-height:max(750px,100svh)}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#12231dc9,#12231d61 70%),linear-gradient(0deg,#12231da6,transparent 30%)}.hero-content{margin-block:125px 125px}.hero .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:22px}.hero h1{font-size:clamp(55px,14vw,72px);line-height:1.35}.hero-subtitle{font-size:14px;letter-spacing:.02em;margin-top:21px}.hero-description{font-size:11px;margin-top:17px}.hero-actions{gap:20px;align-items:start;flex-direction:column;margin-top:25px}.hero-actions>.button{font-size:11px;padding:13px 18px}.duration{font-size:24px}.duration small{font-size:9px}.hero-bottom{left:20px;right:20px;bottom:17px;align-items:start;gap:10px}.hero-bottom>span{font-size:8px;max-width:200px}.hero-bottom>.image-open{font-size:9px;padding:7px 9px}.fare-band{padding:27px 20px;gap:24px}.fare-band>div:first-child{width:100%}.main-fare{font-size:48px}.fare-band p:not(.main-fare){font-size:9px}.departure-band{border-left:0;border-top:1px solid var(--line);width:100%;padding:18px 0 0}.departure-band strong{font-size:25px}.fare-band>.button{padding:14px;font-size:12px}.eyebrow{font-size:9px;margin-bottom:16px}h2{font-size:31px}.story-copy>p:not(.small-note){font-size:13px}.small-note{font-size:10px}.source-link{font-size:9px}.scene-button>span{right:15px;bottom:15px;font-size:9px;padding:6px 9px}.village-scene figcaption{padding:20px}.village-scene figcaption>span{font-size:18px}.village-scene figcaption small{font-size:9px}.walking-details>div{grid-template-columns:82px 1fr;gap:16px;padding:18px 0}.walking-details dd{font-size:12px}.walking-details dt{font-size:10px}.walking-details small{font-size:9px}.section-heading{margin-bottom:30px}.section-heading>p:last-child:not(.eyebrow){font-size:12px}.route-line{flex-wrap:wrap;justify-content:flex-start;gap:6px 11px;font-size:10px;margin-bottom:35px}.day{grid-template-columns:35px 1fr;gap:18px;padding-bottom:28px;margin-bottom:28px}.day-index b{font-size:34px}.day-index small{font-size:8px}.day-route{font-size:9px}.day h3{font-size:22px;line-height:1.6;margin-bottom:12px}.day h3+p{font-size:12px}.travel-time{font-size:10px;padding-left:10px;margin-top:15px}.day-foot{font-size:9px;gap:5px 15px}.highlights{grid-template-columns:1fr}.highlights>li{grid-template-columns:35px 1fr;gap:15px;padding:24px 0}.highlights h3{font-size:16px}.highlights p{font-size:12px}.condition-price{font-size:50px}.conditions>div{grid-template-columns:90px 1fr;gap:18px}.conditions dd{font-size:11px}.conditions dt{font-size:10px}.faq-list summary{font-size:12px;padding-left:30px}.faq-list details>p{font-size:11px;padding-left:30px}.contact-options{grid-template-columns:1fr;gap:16px}.contact-card{padding:25px}.contact-card strong{font-size:clamp(18px,5.5vw,25px)}.telephone{text-align:left;font-size:10px}.telephone a{display:block;margin:5px 0 0;font-size:23px}.form-intro{margin-top:40px}.form-intro h3{font-size:17px}.form-intro p{font-size:11px}.form-grid{grid-template-columns:1fr;gap:20px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.form-bottom{align-items:stretch;flex-direction:column}.form-bottom .button{justify-content:center}.form-bottom p{font-size:11px}.mail-preview{padding:20px}.mail-preview h3{font-size:17px}.mail-actions{align-items:stretch;flex-direction:column}.mail-actions .button{justify-content:center}.company-section h2{font-size:25px}.company-grid{grid-template-columns:1fr;gap:30px}.company-grid h3{font-size:15px}.legal-links{font-size:10px}.company-grid article>p:not(.company-role){font-size:10px}footer>.wrap{display:block}footer p{margin-top:20px}footer>.wrap>a:last-child{display:inline-block;margin-top:20px}dialog{width:100vw;padding:50px 8px 12px}dialog p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Airport welcome, vehicle photographs and selectable tour pricing */
.fare-band p.alternative-fare{font-size:13px;margin-top:10px;color:var(--forest)}.alternative-fare strong{font:24px/1.3 Georgia,serif;margin-left:10px}.fare-band>div:first-child{min-width:0}.airfare-options{margin-top:28px}.airfare-options>div+div{margin-top:23px;padding-top:23px;border-top:1px solid #c6cdbc}.airfare-options>div>span{font-size:12px}.airfare-options .condition-price{margin:6px 0 0;font-size:51px}.fare-basis{margin-top:22px;font-size:11px}
.transfer-section{background:#e9ecdf}.transfer-intro{padding-block:75px 45px}.transfer-intro>p:last-child{margin-top:22px}.airport-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}.airport-gallery figure{min-width:0}.airport-gallery figcaption{padding:20px 8%;border-right:1px solid #c6cdbc}.airport-gallery figcaption strong{font:23px/1.7 var(--serif);display:block}.airport-gallery figcaption small{font-size:12px;color:var(--muted)}.airport-gallery .scene-button img{width:100%;height:auto}.transfer-image-note{padding:0 4% 30px;font-size:10px;color:var(--muted)}.vehicle-heading{padding-block:55px 35px}.vehicle-heading>p:last-child{margin-top:20px}.vehicle-scene{width:100%;background:var(--forest)}.vehicle-scene+.vehicle-scene{padding-top:12px;background:var(--deep)}.vehicle-scene .scene-button img{width:100%;height:auto}.vehicle-scene figcaption{padding:26px 4%;display:flex;justify-content:space-between;align-items:end;gap:24px;color:white}.vehicle-scene figcaption span{font-size:10px;letter-spacing:.18em;color:#d8c49d}.vehicle-scene h3{font:27px/1.6 var(--serif);color:white;margin-top:7px}.vehicle-scene figcaption p{font-size:12px;margin-top:7px}.vehicle-scene figcaption small{font-size:10px;color:#d5ddcf}
.tour-options,.guest-options{border:0;padding:0;margin:0;min-width:0}.tour-options>legend,.guest-options>legend{font:600 20px/1.7 var(--serif);padding:0;margin-bottom:24px;color:var(--forest)}.tour-options>.small-note{margin-top:16px}.quote-panel{margin:30px 0 42px;padding:30px;background:var(--paper);border:1px solid #bfc8b5;display:grid;grid-template-columns:1.05fr 1fr;gap:20px 32px}.quote-panel .eyebrow{font-size:9px;margin-bottom:12px}.quote-panel h3{font-size:17px;margin-bottom:15px}.quote-lines>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.quote-lines dd{white-space:nowrap;font-weight:bold}.quote-result{border-left:1px solid var(--line);padding-left:32px;align-self:center;color:var(--forest)}.quote-result>p:first-child{font-size:12px;font-weight:bold}.quote-result output{display:block;font:54px/1.4 Georgia,serif;margin-top:8px;overflow-wrap:anywhere}.quote-result output span{font:18px var(--sans);margin-left:7px}.quote-result #room-summary{font-size:12px;margin-top:9px}.quote-result #per-person-summary{font-size:10px;margin-top:8px;line-height:1.9}.quote-footnote{grid-column:1/-1;border-top:1px solid var(--line);padding-top:17px;font-size:10px;color:var(--muted)}
@media(max-width:850px){.quote-panel{grid-template-columns:1fr;padding:25px}.quote-result{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.vehicle-scene figcaption{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:600px){.fare-band p.alternative-fare{font-size:12px}.alternative-fare strong{font-size:23px}.airfare-options .condition-price{font-size:46px}.transfer-intro{padding-block:55px 30px}.transfer-intro>p:last-child,.vehicle-heading>p:last-child{font-size:12px}.airport-gallery figcaption{padding:15px 12px}.airport-gallery figcaption strong{font-size:16px}.airport-gallery figcaption small{font-size:10px;display:block;margin-top:5px}.airport-gallery .scene-button>span{font-size:8px;padding:4px 6px;bottom:8px;right:8px}.transfer-image-note{font-size:9px;padding:0 20px 20px}.vehicle-heading{padding-block:35px 25px}.vehicle-scene figcaption{padding:22px 20px}.vehicle-scene h3{font-size:23px}.vehicle-scene figcaption p{font-size:11px}.vehicle-scene figcaption small{font-size:9px}.quote-panel{padding:20px;gap:16px}.quote-lines>div{font-size:11px;gap:12px}.quote-result output{font-size:45px}.tour-options>legend,.guest-options>legend{font-size:18px}.quote-footnote{font-size:9px}}

/* Flexible departure, hotel and extended-stay choices */
.flexibility-band{background:var(--forest);color:white;padding:28px 0}.flexibility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.flexibility-grid>a{display:block;text-decoration:none;border-left:1px solid #ffffff50;padding-left:25px}.flexibility-grid>a:first-child{border-left:0;padding-left:0}.flexibility-grid span{display:block;font-size:9px;letter-spacing:.15em;color:#ded0b4}.flexibility-grid strong{display:block;font:24px/1.6 var(--serif);margin:6px 0}.flexibility-grid small{display:block;font-size:10px;color:#e5e9df}.flexibility-grid a:hover strong{text-decoration:underline;text-underline-offset:6px}.hotel-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.hotel-choice{border:1px solid var(--line);padding:32px;display:flex;align-items:start;flex-direction:column;background:var(--cream)}.hotel-choice.upgrade{background:#e9ecdf;border-color:#b6c3ad}.hotel-choice .eyebrow{font-size:10px;margin-bottom:17px}.hotel-choice h3{font:25px/1.7 var(--serif);margin-bottom:22px;min-height:85px}.hotel-choice-fee{font-size:12px;margin-bottom:12px}.hotel-choice-fee strong{display:block;font-size:24px;color:var(--forest);margin-top:5px}.hotel-choice>p:not(.eyebrow):not(.hotel-choice-fee):not(.small-note){font-size:12px}.hotel-choice .small-note{margin-top:12px;margin-bottom:24px}.hotel-choice .button{margin-top:auto;width:100%}.hotel-choice-note{margin-top:20px}.longer-stay{padding:24px 28px;background:var(--forest);color:white;margin-top:28px}.longer-stay strong{font-size:17px}.longer-stay p{font-size:12px;margin-top:10px}.extension-estimate-note{font-size:11px;font-weight:bold;color:var(--clay);margin-top:12px}#extension-cost-row dd{white-space:normal;color:var(--clay)}
@media(max-width:850px){.flexibility-grid{gap:18px}.flexibility-grid>a{padding-left:18px}.flexibility-grid strong{font-size:20px}.hotel-choice{padding:25px}.hotel-choice h3{font-size:22px}.hotel-choice-fee strong{font-size:22px}}
@media(max-width:600px){.flexibility-grid{grid-template-columns:1fr;gap:16px}.flexibility-grid>a,.flexibility-grid>a:first-child{border-left:0;border-top:1px solid #ffffff40;padding:16px 0 0}.flexibility-grid>a:first-child{border-top:0;padding-top:0}.flexibility-grid strong{font-size:22px}.hotel-choice-grid{grid-template-columns:1fr;gap:18px}.hotel-choice h3{min-height:0}.longer-stay{padding:22px}.longer-stay strong{font-size:15px}.longer-stay p{font-size:11px}}

/* Hotel exterior photographs: two equal-width columns on all screens. */
.hotel-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-bottom:25px;align-items:start}.hotel-photo-pair figure{min-width:0;background:var(--cream);border:1px solid var(--line)}.hotel-photo-pair figure:nth-child(2){background:#e9ecdf}.hotel-photo-pair .scene-button img{display:block;width:100%;height:auto}.hotel-photo-pair figcaption{padding:20px 24px}.hotel-photo-pair figcaption strong{display:block;font:21px/1.7 var(--serif);color:var(--forest);margin:7px 0;overflow-wrap:anywhere}.hotel-photo-plan{display:block;font-size:11px;font-weight:700;color:var(--clay)}.hotel-photo-pair figcaption small{display:block;font-size:10px;color:var(--muted)}
@media(max-width:600px){.hotel-photo-pair{gap:12px;margin-bottom:20px}.hotel-photo-pair figcaption{padding:13px 10px}.hotel-photo-pair figcaption strong{font-size:14px}.hotel-photo-plan,.hotel-photo-pair figcaption small{font-size:9px}.hotel-photo-pair .scene-button>span{right:6px;bottom:6px;padding:3px 6px;font-size:8px}}

.fare-band p.airport-fare-note{font-size:12px;font-weight:700;margin-top:9px;color:var(--forest)}.departure-band strong.minimum-departure{font:700 13px/1.8 var(--sans);letter-spacing:0;margin-top:7px}.photography-purpose-section{background:#e9ecdf}.photography-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.photography-purpose-grid article{border-top:1px solid #aab9a1;padding-top:20px}.photography-purpose-grid article>span{font-size:10px;color:var(--clay);letter-spacing:.12em}.photography-purpose-grid h3{font:22px/1.7 var(--serif);margin:12px 0;color:var(--forest)}.photography-purpose-grid p{font-size:13px;line-height:2}.photography-guidance{margin-top:30px}.photography-guidelines{margin-top:24px;border-top:1px solid #aab9a1;padding-top:20px}.photography-guidelines summary{cursor:pointer;font-size:14px;font-weight:700}.photography-guidelines p{font-size:12px;line-height:2;margin:15px 0}.photography-guidelines a{font-size:11px;color:var(--forest)}
@media(max-width:850px){.photography-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.photography-purpose-grid h3{font-size:20px}}
@media(max-width:600px){.photography-purpose-grid{grid-template-columns:1fr;gap:25px}.photography-purpose-grid h3{font-size:21px}.photography-purpose-grid p{font-size:12px}.fare-band p.airport-fare-note{font-size:10px}.photography-guidelines summary{font-size:13px}}

/* Quan Ba: earth walls, indigo craft and karst landscapes. */
:root{--forest:#28433c;--deep:#19332d;--clay:#a45736;--gold:#b69b65}.geopark-note{margin:28px 0;padding:25px;background:#e8ecdf;border-left:3px solid var(--clay)}.geopark-note>strong{font:21px/1.7 var(--serif);color:var(--forest)}.geopark-note p{font-size:12px;line-height:2;margin:12px 0}.geopark-note a{font-size:10px}.village-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:25px}.village-info-grid article{padding:30px;background:var(--cream);border-top:3px solid var(--clay)}.village-info-grid article:nth-child(2){border-color:#395878;background:#e9edef}.village-number{font-size:10px;letter-spacing:.14em;color:var(--clay)}.village-info-grid h3{font:29px/1.6 var(--serif);margin:15px 0}.ethnic-label{font-size:13px;font-weight:700;margin-bottom:18px}.village-info-grid article>p:not(.ethnic-label){font-size:13px;line-height:2}.village-info-grid dl{margin-top:24px}.village-info-grid dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;border-top:1px solid var(--line);padding:16px 0}.village-info-grid dt{font-size:10px;color:var(--muted)}.village-info-grid dd{font-size:12px}.viewpoint-strip{margin-top:55px;padding-top:35px;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:40px}.viewpoint-strip h3{font:28px/1.7 var(--serif)}.viewpoint-strip>div>p:not(.eyebrow){font-size:13px;line-height:2;margin-bottom:20px}.textile-scene{background:#263c4c}
@media(max-width:850px){.village-info-grid{gap:24px}.village-info-grid article{padding:25px}.viewpoint-strip{gap:25px}}
@media(max-width:600px){.village-info-grid,.viewpoint-strip{grid-template-columns:1fr}.village-info-grid h3{font-size:25px}.geopark-note{padding:20px}.geopark-note>strong{font-size:18px}.geopark-note p{font-size:11px}.viewpoint-strip{margin-top:35px}}

/* One full-width welcome image; retain both full-width vehicle images. */
.airport-gallery.single-welcome{grid-template-columns:minmax(0,1fr)}
.airport-gallery.single-welcome .scene-button img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

.hero-geopark{font-size:clamp(14px,1.5vw,20px);font-weight:600;line-height:1.65;letter-spacing:.04em;margin:16px 0 8px;color:#fff}.day p+p{margin-top:14px}

.form-documents{margin-top:30px;padding:24px;border:1px solid var(--line);background:var(--paper)}.form-documents h3,.official-documents-heading{font-size:16px;line-height:1.7}.form-documents>p{font-size:11px;margin-top:8px}.official-document-links{gap:12px;margin-top:16px;padding-top:16px}.official-document-links a{display:inline-block;border:1px solid var(--forest);padding:11px 14px;text-decoration:none;color:var(--forest);background:var(--paper);line-height:1.7}.official-document-links a:hover,.official-document-links a:focus-visible{background:var(--forest);color:white}.official-documents-heading{margin-top:30px}#travel-documents>.small-note{margin-top:12px}@media(max-width:600px){.form-documents{padding:18px}.official-document-links{display:grid;grid-template-columns:1fr}.official-document-links a{font-size:12px}.official-documents-heading{font-size:14px}}

/* Sapa tour */
.sapa-holiday{margin:22px 0 0;font-size:15px;letter-spacing:.1em}.sapa-villages,.sapa-hotels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.sapa-villages article{padding:26px;border-top:2px solid var(--gold);background:var(--cream)}.sapa-villages h3{font-size:23px;margin:12px 0}.sapa-villages .ethnic-label{min-height:4em}.sapa-villages article>p:not(.ethnic-label){margin:18px 0}.sapa-villages dl div{border-top:1px solid var(--line);padding:12px 0}.sapa-villages dt{font-size:11px;color:var(--muted)}.sapa-hotels .hotel-choice{display:flex;flex-direction:column;padding:27px}.sapa-hotels h3{min-height:3.3em;font-size:21px;line-height:1.6}.hotel-english{font-size:11px;color:var(--muted);min-height:3em}.sapa-hotels .button{margin-top:20px;gap:10px}.sapa-hotels .source-link{margin-top:auto;padding-top:20px}.airport-gallery{display:grid;grid-template-columns:1fr 1fr}.airport-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover}.hotel-photo-pair img{object-fit:contain;background:#e6e9e2}.sapa-hotels .small-note{margin:18px 0}.vehicle-scene img{height:auto;object-fit:contain}.village-scene>button img{width:100%;height:auto;max-height:none;object-fit:contain}.hero-content{padding-top:115px;padding-bottom:125px}.hero-bottom{font-size:11px}.faq-list summary{font-size:14px}.small-note{font-size:12px}.walk-estimate-note{font-size:13px}.hotel-choice-note{margin-top:24px}.form-grid label small{font-size:12px}
@media(max-width:1000px){.sapa-hotels,.sapa-villages{grid-template-columns:1fr}.sapa-hotels h3,.hotel-english,.sapa-villages .ethnic-label{min-height:0}.sapa-hotels .hotel-choice{padding:26px}.site-header nav{display:none}}
@media(max-width:600px){.airport-gallery{grid-template-columns:1fr}.hero-content{padding-top:135px}.hero-bottom{gap:12px;align-items:flex-start}.hero-bottom>span{max-width:62%}.sapa-holiday{font-size:13px}.village-scene figcaption{position:static;background:var(--deep);color:white;padding:20px}.hotel-photo-pair img{height:auto;aspect-ratio:3/2}.walk-metrics{overflow-x:auto}.route-line{flex-wrap:wrap}.contact-card strong{overflow-wrap:anywhere}}

/* Sapa photography appeal and four-day holiday copy */
.sapa-holiday{padding-left:18px;border-left:2px solid #d6bc8a;max-width:540px;line-height:1.8}.sapa-holiday span{display:block;font-size:13px;letter-spacing:.08em}.sapa-holiday strong{display:block;font:500 clamp(17px,1.6vw,23px)/1.8 var(--serif);letter-spacing:.05em;margin-top:5px}.sapa-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 50px}.sapa-benefit-grid p{font-size:14px}.sapa-short-break{margin-top:58px;padding:35px 0 0;border-top:1px solid #aab9a1;display:grid;grid-template-columns:1fr 1fr;gap:50px}.sapa-short-break h3{font:500 clamp(22px,2.1vw,30px)/1.8 var(--serif)}.sapa-short-break p+p{margin-top:16px}.sapa-short-break .source-link{display:inline-block;margin-top:20px}.sapa-short-break .small-note{margin-top:17px;font-size:12px}
@media(max-width:700px){.sapa-benefit-grid,.sapa-short-break{grid-template-columns:1fr;gap:25px}.sapa-short-break{margin-top:38px;padding-top:25px}.sapa-holiday strong{font-size:18px}.sapa-benefit-grid p{font-size:13px}}

/* Mai Chau room choices */
.mai-chau-hotels{grid-template-columns:repeat(2,minmax(0,1fr))}.room-features{padding-left:1.3em;line-height:1.85;margin:20px 0}.room-features li{margin:6px 0}.hotel-photo-pair img{aspect-ratio:3/2;object-fit:cover}.hero h1{font-size:clamp(50px,6.8vw,108px)}#room-bed-note{background:#fff4df;padding:10px 12px;color:#624821;border-left:3px solid #b58a45}.hotel-choice-note strong{font-weight:700}@media(max-width:760px){.mai-chau-hotels{grid-template-columns:1fr}.hero h1{font-size:clamp(45px,10vw,76px)}}

/* Cao Bang tour */
:root{--forest:#203e3c;--accent:#ae663e}.cao-bang-villages{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{isolation:isolate}.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.hero-facts span{border:1px solid #ffffff80;border-radius:30px;padding:7px 15px;font-size:.82rem;color:#fff}.hero-credit{position:absolute;right:25px;bottom:10px;left:25px;text-align:right;font-size:.7rem;color:#fff;z-index:2;text-shadow:0 1px 4px #000;margin:0}.cao-contact-band{background:#254742;color:#fff;padding:28px 32px;margin:25px 0 35px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.cao-contact-band span{display:block;font-size:.85rem;opacity:.8;margin-bottom:7px}.cao-contact-band a{color:white;font-size:clamp(1rem,2vw,1.55rem);font-weight:700;overflow-wrap:anywhere}.cao-contact-band p{grid-column:1/-1;margin:0;border-top:1px solid #ffffff40;padding-top:15px}.cao-contact-band p a{font-size:1.1rem}.hotel-choice .small-note{font-size:.75rem}.hotel-photo-pair img{width:100%;height:320px;object-fit:cover}.hotel-photo-pair figcaption strong,.hotel-photo-pair figcaption small{display:block}.hotel-choice-grid .button{margin-top:18px}.village-scene img{height:auto}.faq-list details summary{cursor:pointer}.faq-list details summary span{margin-right:16px;color:#a26b3c}.faq-list details p{padding:0 20px 20px;line-height:1.9}.hero-image{object-position:56% 50%}@media(max-width:720px){.cao-bang-villages,.cao-contact-band{grid-template-columns:1fr}.hero-credit{font-size:.6rem;line-height:1.5}.hotel-photo-pair img{height:220px}.cao-contact-band{padding:22px}.hero-facts{gap:6px}.hero-facts span{font-size:.72rem;padding:5px 9px}}
.quote-result output.quote-pending{font-size:clamp(24px,3vw,36px);line-height:1.5;overflow-wrap:anywhere}

/* Full-width Ban Gioc opening image */
.site-header{position:relative;background:var(--forest)}
.waterfall-opening{width:100%;margin:0;background:var(--forest);color:#fff}
.waterfall-image-button{display:block;width:100%;padding:0;border:0;background:transparent;line-height:0}
.waterfall-image-button img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.waterfall-opening figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4%}
.waterfall-opening figcaption span{display:block;font-size:10px;letter-spacing:.19em;color:#d6decc}
.waterfall-opening figcaption strong{display:block;font:500 26px/1.6 var(--serif);letter-spacing:.1em;margin-top:3px}
.waterfall-opening figcaption small{font-size:11px;line-height:1.8;color:#e1e8dc;max-width:530px}
@media(max-width:600px){.waterfall-opening figcaption{display:block;padding:16px 20px}.waterfall-opening figcaption strong{font-size:22px}.waterfall-opening figcaption small{display:block;margin-top:9px;font-size:10px}}

/* Large guide images and two equal-width vehicle images */
#transfer .guide-gallery-large{grid-template-columns:minmax(0,1fr);width:100%;gap:0}
#transfer .guide-gallery-large .scene-button img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
#transfer .guide-gallery-large figcaption{padding:22px 4%;border-right:0}
#transfer .guide-gallery-large figure+figure{border-top:1px solid #c6cdbc}
#transfer .vehicle-gallery-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;background:var(--forest)}
#transfer .vehicle-gallery-pair .vehicle-scene{min-width:0;width:100%;margin:0;padding-top:0;background:var(--forest)}
#transfer .vehicle-gallery-pair .scene-button img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
#transfer .vehicle-gallery-pair figcaption{display:block;padding:24px 8%;overflow-wrap:anywhere}
#transfer .vehicle-gallery-pair figcaption small{display:block;margin-top:12px}
@media(max-width:600px){
  #transfer .guide-gallery-large figcaption{padding:18px 20px}
  #transfer .vehicle-gallery-pair figcaption{padding:15px 12px}
  #transfer .vehicle-gallery-pair h3{font-size:16px;line-height:1.7}
  #transfer .vehicle-gallery-pair figcaption p{font-size:10px}
  #transfer .vehicle-gallery-pair .scene-button>span{right:7px;bottom:7px;padding:4px 6px;font-size:8px}
}

/* Geopark introduction above the tour title */
.hero .hero-geopark{
  display:table;
  max-width:100%;
  margin:0 0 26px;
  padding:11px 18px;
  border-left:3px solid #cfb581;
  background:rgba(19,43,35,.72);
  color:#f8edcd;
  font:500 clamp(16px,1.8vw,24px)/1.75 var(--serif);
  letter-spacing:.05em;
  text-shadow:0 1px 5px rgba(0,0,0,.3);
}
@media(max-width:600px){
  .hero .hero-geopark{padding:10px 13px;margin-bottom:21px;font-size:16px;letter-spacing:.03em}
}
