



/* Only the requested additions. The website's two original stylesheets are intact. */
.overview[data-study-native]>.sheet-face{display:flex;flex-direction:column}
.overview[data-study-native] .overview-track{order:1}
.overview[data-study-native] .overview-track{display:grid!important;width:100%!important;transform:none!important}
.overview[data-study-native] .overview-panel{grid-area:1/1;width:100%;height:auto;min-height:100svh;align-self:stretch}
.overview[data-study-native] .overview-panel:not(.is-active){display:flex!important;visibility:hidden;opacity:0;pointer-events:none}
.overview[data-study-native] .overview-controls{position:absolute!important;inset:0!important;order:0;z-index:4;transform:none!important;display:block;margin:0!important;padding:0!important;min-height:0;background:transparent!important;color:var(--ink);border:0!important;pointer-events:none}
.overview[data-study-native] .overview-stops{position:absolute;top:24px;left:var(--gutter);width:auto;pointer-events:auto}
.overview[data-study-native] .overview-stop-line{display:none}
.overview[data-study-native] .overview-stop-label{display:block;width:auto;height:auto;background:none;font:inherit;opacity:1}
.overview[data-study-native][data-overview-index="1"] .overview-controls,.overview[data-study-native][data-overview-index="2"] .overview-controls{color:var(--paper);text-shadow:0 1px 8px #13121155}
/* Tabs inherit the shared underline focus treatment; do not add a separate focus box. */
.study-coming{font-size:15px;color:var(--brown);padding-top:8px}
.study-news-section{padding:118px var(--gutter) 92px}
.study-news-section .section-heading{padding:0}
.study-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.study-news-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.study-update{min-width:0}
.study-update-photo{display:block;overflow:hidden}
.study-update-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.study-update-photo:hover img{transform:scale(1.02)}
.study-update-meta{font-size:13px;color:var(--brown);margin:22px 0 14px}
.study-update h3{font-size:clamp(24px,2.1vw,30px);line-height:1.55;margin-bottom:18px}
.study-update>p:not(.study-update-meta){font-size:16px;line-height:1.9;color:var(--brown);margin-bottom:20px}
.study-update .text-link{font-size:15px}
.study-news-more{display:flex;justify-content:flex-end;margin-top:48px}
.study-news-list{padding-bottom:100px}
.study-reader-title.detail-hero{display:block;padding-bottom:45px}
.study-reader-title .detail-hero-copy{max-width:980px}
.study-reader-title h1{max-width:100%;font-size:var(--detail-title)}
.study-filters{display:flex;gap:18px 30px;flex-wrap:wrap;margin:0 0 18px}
.study-filters button{padding:8px 0;min-height:44px;border-bottom:1px solid transparent;font-size:16px}
.study-filters button[aria-pressed=true]{border-bottom-color:var(--brown)}
.study-filter-result{font-size:13px;color:var(--brown);margin-bottom:36px}
.study-news-list .study-news-grid{row-gap:65px}
.study-article-photo img{width:100%;max-height:650px;aspect-ratio:2/1;object-fit:cover}
.study-article-copy{max-width:740px;margin:65px auto 100px;padding-inline:26px;font-size:var(--detail-body);line-height:2}
.study-article-copy h2{font-size:var(--detail-subtitle);margin:48px 0 24px}
.study-article-copy>p{margin:24px 0;color:var(--brown)}
.study-type{font-size:13px;color:var(--brown);margin-bottom:15px}
.study-offer{background:var(--pale);border-left:2px solid var(--brown);padding:28px;margin:35px 0}
.study-offer h3{font-size:27px;margin-bottom:22px}
.study-offer dl{font-size:15px}.study-offer dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;margin:14px 0}.study-offer dd{margin:0}.study-offer>p{font-size:13px;line-height:1.9;margin-top:22px}
.study-article-links{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:28px;margin-top:50px}
.study-compare{position:fixed;z-index:19;right:20px;bottom:18px;display:flex;align-items:center;gap:15px;background:var(--paper);color:var(--brown);border:1px solid var(--line);box-shadow:0 3px 15px #1312110b;padding:5px 8px 5px 16px;font:12px/1.6 -apple-system,'PingFang SC',sans-serif}
.study-compare a{padding:8px 0}.study-compare button{min-width:30px;min-height:36px;font-size:20px}
.study-reader .detail-hero-copy h1{overflow-wrap:normal}
@media(max-width:1099px){.study-news-grid{gap:30px}.study-hotel-news .detail-reading-grid{display:block}.study-hotel-news .detail-section-heading{max-width:650px;margin-bottom:40px}.study-update h3{font-size:26px}}
@media(max-width:767px){
 .overview[data-study-native] .overview-stops{top:20px;left:26px;right:26px;width:auto}.overview[data-study-native] .reason-panel{padding-top:110px;padding-bottom:110px}
 .study-news-section{padding:96px 26px 80px}.study-news-grid,.study-news-grid-two{grid-template-columns:1fr;gap:44px}.study-update h3{font-size:27px}.study-update-photo img{aspect-ratio:4/3}.study-update>p:not(.study-update-meta){font-size:16px}.study-news-more{margin-top:30px}.study-filters{gap:10px 24px}.study-news-list{padding-bottom:70px}.study-reader-title.detail-hero{padding-bottom:35px}.study-article-photo img{aspect-ratio:4/3}.study-article-copy{margin-top:40px;margin-bottom:70px}.study-article-copy h2{font-size:30px;margin:35px 0 22px}.study-offer{padding:24px}.study-offer dl>div{grid-template-columns:1fr;gap:5px}.study-article-links{flex-direction:column;align-items:flex-start;gap:25px}.study-compare{right:12px;bottom:12px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.study-update-photo img{transition:none}}

/* Brand reading page: distinct paragraphs use the existing reading rhythm. */
#story .detail-stories p+p,#principles .detail-stories p+p{margin-top:1em}
/* The same reading hierarchy serves named places, hotels, dining and experiences. */
.study-feature-index{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:30px;font-size:15px;line-height:1.8}
.study-feature-index a{padding-block:5px;border-bottom:1px solid var(--line)}
.study-feature{padding-top:30px;border-top:1px solid var(--line);scroll-margin-top:110px}
.study-feature .study-type{margin-bottom:10px}
.study-feature h3{font-size:clamp(24px,2vw,30px);line-height:1.5;margin-bottom:7px}
.study-feature .study-feature-en{font:15px/1.6 Atelier,"Cuixing Content",serif;margin:0 0 18px;overflow-wrap:anywhere}
.study-feature .study-feature-lead{color:var(--ink);margin:0 0 22px;font-size:18px}
.study-feature>p+p{margin-top:18px}
.study-feature .study-feature-en+.study-feature-lead{margin-top:0}
.study-feature-note{margin:22px 0 0;font-size:15px;line-height:1.9}
.study-feature-note>div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px}
.study-feature-note dt{color:var(--ink)}.study-feature-note dd{margin:0;color:var(--brown)}
.study-feature-days{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;font-size:14px}
.study-feature-days span{color:var(--brown)}.study-feature-days a{border-bottom:1px solid var(--line)}
.study-feature .study-feature-source{font-size:14px;margin-top:20px}
@media(max-width:767px){.study-feature-index{gap:8px 18px;margin:24px 0 34px}.study-feature{padding-top:24px}.study-feature-note>div{grid-template-columns:1fr;gap:5px}.study-feature .study-feature-lead{font-size:17px}}

/* Shared navigation uses the same soft brass as the header/footer marks. */
:root{--study-brand-copper:#8F764E}
.site-header .header-links a,.site-header .header-book,.site-header .menu-toggle,#menu-panel .dialog-content nav a,.privacy-header>.text-link{color:var(--study-brand-copper)}
/* Crossfade the existing overlapping frames; hidden frames remain inert. */
.overview[data-study-native] .overview-panel{opacity:1;visibility:visible;z-index:1}
.overview[data-study-native] .overview-panel:not(.is-active){opacity:0;visibility:hidden;z-index:0}
.overview[data-study-native].study-fade-ready .overview-panel{transition:opacity .9s ease,visibility 0s linear}
.overview[data-study-native].study-fade-ready .overview-panel:not(.is-active){transition:opacity .9s ease,visibility 0s linear .9s}
/* Reuse the selected underline's dimensions, with one compositor animation clock. */
.overview[data-study-native] .overview-stops>button[aria-selected=true]::after{background:transparent}
.overview[data-study-native] .overview-progress{position:absolute;left:6px;right:6px;bottom:0;height:1px;background:color-mix(in srgb,currentColor 24%,transparent);display:none;pointer-events:none}
.overview[data-study-native] [aria-selected=true]>.overview-progress{display:block}
.overview[data-study-native] .overview-progress i{position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:left center}
.overview[data-study-native] .overview-controls{transition:color .9s ease}
@media(prefers-reduced-motion:reduce){.overview[data-study-native].study-fade-ready .overview-panel,.overview[data-study-native].study-fade-ready .overview-panel:not(.is-active),.overview[data-study-native] .overview-controls{transition:none}}
/* Different text layouts fade through, while their backgrounds crossfade. */
.overview[data-study-native] .overview-panel:not(.is-active) :is(.about-composition,.reason-composition){opacity:0}
.overview[data-study-native] .overview-panel.is-active :is(.about-composition,.reason-composition){opacity:1}
.overview[data-study-native].study-fade-ready .overview-panel:not(.is-active) :is(.about-composition,.reason-composition){transition:opacity .3s ease}
.overview[data-study-native].study-fade-ready .overview-panel.is-active :is(.about-composition,.reason-composition){transition:opacity .6s ease .3s}
@media(prefers-reduced-motion:reduce){.overview[data-study-native].study-fade-ready .overview-panel :is(.about-composition,.reason-composition){transition:none}}
/* Frame one shares the typography and reading grid of the other brand frames. */
.overview[data-study-native] .about-panel{background:var(--paper);color:var(--ink);padding:125px var(--gutter) 80px}
.overview[data-study-native] .about-composition{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:8vw;width:100%;max-width:1450px;align-items:center;text-align:left}
.overview[data-study-native] .about-identity{margin:0;align-self:center;width:100%;text-align:center}
.overview[data-study-native] .about-logo{width:clamp(220px,25vw,350px);max-width:100%;height:auto}
.overview[data-study-native] .about-identity .about-bird{margin:38px auto 0;height:24px;width:auto}
.overview[data-study-native] .about-reading{width:100%;max-width:none;text-align:left;margin:0}
.overview[data-study-native] .about-heading{margin:0 0 34px;padding:0}
.overview[data-study-native] .about-title span{white-space:normal;text-wrap:balance}
.overview[data-study-native] .about-heading .about-english{color:var(--brown);opacity:.75}
.overview[data-study-native] .about-copy .reasons{gap:28px 32px;margin:0}
.overview[data-study-native] .about-introduction{grid-column:1/-1}
.overview[data-study-native] .about-copy .reason-item{border-color:var(--line)}
.overview[data-study-native] .about-copy .reason-item p{color:var(--brown);opacity:1;text-align:left;text-wrap:pretty}
.overview[data-study-native] .about-copy .reason-item p+p{margin-top:12px}
@media(min-width:768px) and (max-width:1099px){
 .overview[data-study-native] .about-composition{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:5vw}
 .overview[data-study-native] .about-copy .reasons{grid-template-columns:1fr;gap:26px}
 .overview[data-study-native] .about-logo{width:220px}
}
@media(min-width:1100px) and (min-height:740px) and (max-height:850px){.overview[data-study-native] .about-panel{padding-top:110px;padding-bottom:55px}}
@media(max-width:767px){
 .overview[data-study-native] .about-panel{padding:110px 26px}
 .overview[data-study-native] .about-composition{grid-template-columns:1fr;gap:50px;max-width:540px}
 .overview[data-study-native] .about-logo{width:180px}
 .overview[data-study-native] .about-identity .about-bird{height:20px;margin-top:24px}
 .overview[data-study-native] .about-heading{margin-bottom:32px}
 .overview[data-study-native] .about-copy .reasons{grid-template-columns:1fr;gap:30px}
}
.overview[data-study-native] .about-copy .reason-item p{font-family:Atelier,"Cuixing Content","Songti SC",serif}
@media(max-width:767px){.overview[data-study-native] .about-copy .reason-item p{line-height:1.8}}
/* Optional photography fits the existing feature reading column without cropping. */
.study-feature-media{margin:26px 0}
.study-feature-media img{display:block;width:100%;height:auto;max-width:100%}
.study-feature-media.is-portrait{max-width:420px;margin-inline:auto}
.study-feature-media figcaption{margin-top:10px;font-size:13px;line-height:1.7;color:var(--brown)}
@media(max-width:767px){.study-feature-media{margin-block:22px}.study-feature-media.is-portrait{max-width:100%}}

/* A centered, longer track has the same visual length across the brand tabs. */
.overview[data-study-native] .overview-stops{gap:20px}
.overview[data-study-native] .overview-stops>button{position:relative;display:flex;justify-content:center;align-items:center;width:120px;min-width:0;padding-inline:0;text-align:center}
.overview[data-study-native] .overview-progress{left:50%;right:auto;width:104px;transform:translateX(-50%)}
@media(max-width:767px){
 .overview[data-study-native] .overview-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .overview[data-study-native] .overview-stops>button{width:100%}
 .overview[data-study-native] .overview-progress{width:clamp(72px,25vw,96px)}
}

/* Brand and destination tabs share the same responsive font-size token. */
:root{--study-section-tab-font-size:20px}
.destination-tabs button,.overview[data-study-native] .overview-stops>button{font-size:var(--study-section-tab-font-size)}
.overview[data-study-native] .about-identity .about-bird{height:36px;width:auto;margin-top:48px}
@media(max-width:767px){
 :root{--study-section-tab-font-size:15px}
 .overview[data-study-native] .about-identity .about-bird{height:30px;margin-top:32px}
}

/* Frame one's title aligns to the same reading edge as its introduction. */
.overview[data-study-native] .about-heading,.overview[data-study-native] .about-heading .about-english,.overview[data-study-native] .about-heading .about-title{text-align:left}

/* The three frames share one story entry, with color suited to each background. */
.overview[data-study-native] [data-brand-story]{font-family:Atelier,"Cuixing Content","Songti SC",serif}
.overview[data-study-native] .about-panel .reason-copy>[data-brand-story]{color:var(--ink);border-color:var(--line)}

/* Region navigation reuses the destination/brand underline and type scale. */
#journeys .journey-control .journey-tabs button,.study-journey-filters button{font-size:var(--study-section-tab-font-size)}
#journeys .journey-control>.journey-tabs{gap:clamp(16px,3vw,40px);flex-wrap:wrap;justify-content:center}
#journeys .journey-browser .journey-control{position:relative;top:auto;border:0;padding:0;background:transparent;margin-top:32px}
.study-all-journeys{display:flex;justify-content:center;margin:44px 0 0}
.study-journey-list{padding-bottom:100px}
.study-journey-filters{gap:12px 30px;margin:0 0 24px}
.study-journey-filters button[aria-pressed=true]{opacity:1}
.study-journey-filters button[aria-pressed=true]::after{content:"";height:1px;background:currentColor;position:absolute;bottom:0;left:6px;right:6px}
.study-trip-count{font-size:14px;color:var(--brown);margin:0 0 38px}
.study-trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 44px}
.study-trip-card{min-width:0}
.study-trip-card-link{display:block}
.study-trip-photo{overflow:hidden;margin:0}
.study-trip-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
.study-trip-card-link:hover img{transform:scale(1.025)}
.study-trip-card h2{font-size:clamp(25px,2.4vw,34px);line-height:1.55;margin:0 0 18px;text-wrap:pretty}
.study-trip-meta{font-size:14px;color:var(--brown);margin:24px 0 14px}
.study-trip-description{color:var(--brown);font-size:17px;line-height:1.9;margin:0 0 18px}
.study-trip-route{font-size:14px;color:var(--brown);line-height:1.8;margin:0 0 18px}
.study-trip-card .text-link{font-size:15px}
.study-catalog-note{margin-top:60px;max-width:700px}
.study-journey-empty{padding:60px 0;min-height:220px;color:var(--brown);grid-column:1/-1}
.study-journey-empty h2{font-size:28px;line-height:1.6;margin-bottom:20px}
.study-journey-empty .text-link{display:table;margin-top:24px}
[data-trip-catalog] [hidden]{display:none!important}
.study-trip-card-link:focus-visible{outline:2px solid var(--study-brand-copper);outline-offset:7px}
@media(max-width:767px){
 #journeys .journey-control>.journey-tabs{gap:8px;justify-content:space-between;width:100%}
 #journeys .journey-control .journey-tabs button{font-size:15px;min-width:38px;padding-inline:3px}
 #journeys .journey-browser .journey-control{order:0;margin:0 0 28px}
 .study-all-journeys{margin-top:36px;justify-content:center}
 .study-journey-filters{gap:8px 17px}.study-trip-grid{grid-template-columns:1fr;gap:48px}
 .study-trip-count{margin-bottom:28px}.study-trip-meta{margin-top:20px}
 .study-trip-card h2{font-size:27px}.study-trip-description{font-size:16px}
 .study-journey-list{padding-bottom:70px}.study-catalog-note{margin-top:44px}
}
@media(prefers-reduced-motion:reduce){.study-trip-photo img{transition:none}}

/* Approved preview updates; original brand type, photography and copy retained. */
:root{--preview-nav-text:#75603F;--preview-phone-header:calc(70px + env(safe-area-inset-top,0px))}
.site-header .header-links a,.site-header .header-book,#menu-panel .dialog-content nav a,.privacy-header>.text-link{color:var(--preview-nav-text)}
.site-header.on-image .header-links a,.site-header.on-image .header-book{color:var(--paper)}
@media(min-width:768px){
 .site-header .header-links a,.site-header .header-book,.site-header.on-image .header-links a,.site-header.on-image .header-book{color:var(--study-brand-copper,#8F764E)}
}
.overview[data-study-native] .overview-playback{position:absolute;right:var(--gutter);top:24px;pointer-events:auto;height:44px;width:auto;min-width:60px;justify-content:center;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:15px/1.6 Atelier,"Cuixing Content",serif}
.overview[data-study-native] .overview-playback:hover{background:transparent;color:inherit}
.overview[data-study-native] .overview-playback[hidden]{display:none!important}
h1,h2,h3{text-wrap:balance;overflow-wrap:normal;word-break:normal}
.feature-disclosure>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--brown);font-size:15px;line-height:24px}
.feature-disclosure>summary::marker{color:var(--brown)}
.feature-details-content>p{font-size:var(--detail-body);line-height:2;color:var(--brown);margin:18px 0}
.study-feature-days a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:15px}
.booking-actions{display:grid;gap:12px;width:100%}
.booking-actions .booking-consent{display:grid;grid-template-columns:18px minmax(0,1fr);gap:0 12px;font-size:13px;line-height:1.75;margin:0;padding:0;color:var(--brown)}
.booking-actions .booking-consent input{width:18px;height:18px;margin:3px 0 0}
.booking-actions>.solid-button{width:100%;margin:0;min-height:52px}
.booking-actions .form-error,.booking-actions .field-error{margin:0;font-size:13px;line-height:1.7}
.booking-actions [hidden]{display:none!important}
@media(min-width:768px){.feature-disclosure[open]>summary{display:none}}
@media(max-width:767px){
 html{scroll-padding-top:var(--preview-phone-header)}
 .site-header{position:fixed;inset:0 0 auto;z-index:10;height:var(--preview-phone-header);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(80,72,62,.16)}
 .site-header::before{display:block;background:rgba(246,242,229,.86);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
 .site-header.on-image::before{background:rgba(19,18,17,.62)}
 .site-header .menu-toggle,.site-header.on-image .menu-toggle{color:var(--study-brand-copper,#8F764E)}
 .privacy-header{position:sticky;top:0;z-index:10;background:rgba(246,242,229,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
 /* Opaque underlap covers the header's translucent 1px border, including
    fractional scroll positions. Match each bar's own surface. */
 [data-preview-sticky-tabs]{position:sticky!important;top:var(--preview-phone-header)!important;z-index:4!important;background:var(--preview-tab-surface,var(--paper))!important;box-shadow:0 -2px 0 var(--preview-tab-surface,var(--paper))}
 [data-preview-sticky-tabs="journeys"]{--preview-tab-surface:var(--pale);min-height:68px;padding:10px 0!important;border-block:1px solid var(--line)!important}
 .overview[data-study-native] .overview-controls{position:sticky!important;inset:auto!important;top:var(--preview-phone-header)!important;display:flex;align-items:center;flex:none;align-self:stretch;width:100%;min-height:68px;padding:10px 26px!important;background:var(--preview-tab-surface,var(--paper))!important;pointer-events:auto}
 .overview[data-study-native] .overview-stops{position:relative;inset:auto;width:100%}
 .overview[data-study-native][data-overview-index="1"] .overview-controls,.overview[data-study-native][data-overview-index="2"] .overview-controls{--preview-tab-surface:#25221c}
 .taste-embedded [data-preview-sticky-tabs="days"]{top:0!important}
 .taste-itinerary .day-detail{scroll-margin-top:calc(var(--preview-phone-header) + 100px)}
 main{--section-english-size:22px}
 main :is(.section-heading,.process-heading,.faq-heading,.closing-writing)>.section-english{font-size:22px;line-height:1.45;margin-bottom:16px}
 main .section-heading>.section-label,main .process-heading>.section-label{margin-bottom:16px}
 .overview-panel{--overview-english-size:22px}
 .overview[data-study-native] .about-heading .about-english,.overview[data-study-native] .reason-heading .reason-english{font-size:22px;line-height:1.45}
 .detail-hero-copy>.editorial-title,.itinerary-title>.editorial-title,.study-reader-title .editorial-title{font-size:22px;line-height:1.45}
 .overview[data-study-native] .about-panel,.overview[data-study-native] .reason-panel{padding:32px 26px 64px}
 .overview[data-study-native] .about-composition{gap:28px}
 .overview[data-study-native] .about-identity .about-bird{margin-top:24px}
 .overview[data-study-native] .overview-progress{display:none!important}
 .overview[data-study-native] .overview-stops>button[aria-selected=true]::after{content:'';position:absolute;bottom:0;left:50%;width:clamp(72px,25vw,96px);height:1px;background:currentColor;transform:translateX(-50%)}
 .itinerary-facts{grid-template-columns:1fr!important;gap:18px!important}
 .itinerary-facts dd{white-space:normal;text-wrap:balance;line-height:1.8}
 .study-news-section{padding:64px 26px}
 #news .study-news-grid{gap:26px}
 #news .study-update:not(:first-child){display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:18px;padding-top:24px;border-top:1px solid var(--line)}
 #news .study-update:not(:first-child) .study-update-photo{grid-column:1;grid-row:1/4;align-self:start}
 #news .study-update:not(:first-child) .study-update-photo img{aspect-ratio:3/4}
 #news .study-update:not(:first-child) .study-update-meta{margin:0 0 8px;font-size:12px}
 #news .study-update:not(:first-child) h3{font-size:22px;line-height:1.5;margin:0 0 6px}
 #news .study-update:not(:first-child)>p:not(.study-update-meta){display:none}
 #news .study-update:not(:first-child)>.text-link{grid-column:2;min-height:44px;margin:0;font-size:14px}
 .process-section .process-heading{margin-bottom:32px}
 .process-editorial .process-carousel{height:220px;aspect-ratio:auto}
 .process-editorial .process-slides,.process-editorial .process-slide{height:100%}
 .process-editorial .process-slide img{width:100%;height:100%;object-fit:cover}
 .process-editorial .process-steps,.process-editorial .process-carousel+.process-steps{margin:32px 0;gap:24px}
 .process-steps li{padding-left:40px}
 .process-steps h3{font-size:22px;margin-bottom:8px}
 .process-steps h3::before{position:absolute;left:0;top:4px;margin:0;font-size:13px}
 .process-steps p{font-size:17px;line-height:1.8}
 .process-editorial .itinerary-preview{grid-template-columns:minmax(0,1fr) 112px;gap:20px;padding-top:28px;align-items:center}
 .itinerary-preview .itinerary-copy h3{font-size:27px;line-height:1.4}
 .itinerary-preview .itinerary-copy p{font-size:16px;line-height:1.8;margin:16px 0}
 .itinerary-preview .text-link{font-size:14px;min-height:44px;column-gap:10px}
 .itinerary-image{height:auto;aspect-ratio:390/1195;width:100%;max-width:none}
 .itinerary-image img{object-fit:contain;object-position:center top}
 .booking-dialog textarea{min-height:72px;height:72px;resize:vertical}
 .booking-dialog .field-hint{margin-top:6px}
 .booking-dialog .dialog-footer{padding:10px 26px max(18px,env(safe-area-inset-bottom,0px))}
 .booking-actions{gap:10px}
 .reader-footer{padding-bottom:max(18px,env(safe-area-inset-bottom,0px))}
 .feature-disclosure{margin-top:12px}
 .feature-details-content>.study-feature-media:first-child{margin-top:14px}
}
@media(max-width:350px){
 .process-editorial .itinerary-preview{grid-template-columns:minmax(0,1fr) 96px;gap:14px}
 .itinerary-preview .itinerary-copy h3{font-size:24px}
 #news .study-update:not(:first-child){grid-template-columns:82px minmax(0,1fr);gap:14px}
}
@media(prefers-reduced-transparency:reduce){.site-header::before,.privacy-header{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.on-image::before{background:var(--ink)}}

/* Shared November layout tokens, built on the approved r22 color and typography. */
@font-face { font-family: "Cuixing Content"; src: url("/november-assets/cuixing-content-400.woff2?v=89e97a55c167") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Cuixing Content"; src: url("/november-assets/cuixing-content-600.woff2?v=6a3705567486") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Cuixing Hero"; src: url("/november-assets/cuixing-hero-200.woff2?v=8a88f8671a5c") format("woff2"); font-weight: 200; font-display: swap; }
@font-face { font-family: Patung; src: url("/assets/manuscript/Patung.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
#hero-title { font-family: "Cuixing Hero", "Cuixing Content", serif; font-size: calc(.76 * var(--hero-grid-unit)); font-weight: 200; font-synthesis: none; }
:root {
  --cx-inline: var(--gutter);
  --cx-band-space: clamp(68px, 8.75vw, 148px);
  --cx-home-band-space: clamp(84px, 11.6vw, 160px);
  --cx-stack: clamp(20px, 3vw, 44px);
  --cx-gap: clamp(18px, 3.2vw, 52px);
  --cx-reading: 820px;
  --cx-wide: 1440px;
  --cx-arch-ratio: calc(2 / 3);
  --cx-arch-radius-y: calc(50% * var(--cx-arch-ratio));
  --cx-wide-inset: max(var(--cx-inline), calc((100% - var(--cx-wide)) / 2));
  --cx-body: 16px;
  --cx-body-line: 28px;
  --cx-title: clamp(36px, 3.75vw, 54px);
  --cx-section-title: clamp(36px, 3vw, 40px);
  --cx-feature-title: clamp(25px, 2.2vw, 32px);
  --cx-card-title: 19px;
  --cx-eyebrow: 20px;
  --cx-patung-scale: 1.18;
  --cx-annotation: 14px;
  --cx-paragraph-gap: 18px;
  --cx-label: 13px;
  --cx-tab-height: 62px;
  --cx-copper: var(--study-brand-copper, #8F764E);
  --study-section-tab-font-size: 17px;
}
.site-header::before {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
#menu-panel .dialog-content nav a { color: var(--cx-copper); }
@media (prefers-reduced-transparency: reduce) {
  .site-header::before {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
[hidden] { display: none !important; }
main { --section-display-size: var(--cx-section-title); --section-english-size: var(--cx-eyebrow); }
main > :is(#ways, #journeys, #news, #process, #faq, #voices) { padding-block: var(--cx-home-band-space); }
#places > .sheet-face > .section-heading { padding-block-start: var(--cx-home-band-space); }
.cx-detail, .cx-about, #ways, #journeys, #news { font-family: Atelier, "Cuixing Content", serif; }
.cx-band-inner { width: min(var(--cx-wide), calc(100% - 2 * var(--cx-inline))); margin-inline: auto; }
@media (min-width: 768px) {
  .site-header { padding-inline: var(--cx-wide-inset); }
  .site-header.on-image :is(.header-links a, .header-book, .menu-toggle) { color: var(--cx-copper); }
  .site-header.on-image::before { background: linear-gradient(to bottom, rgba(19,18,17,.76), rgba(19,18,17,.65)); }
  .site-header .brand-symbol { width: auto; min-width: 44px; padding-inline: 0; }
  .site-header .menu-toggle { width: 44px; justify-content: flex-end; }
  main > :is(#ways, #journeys, #news, #process, #faq, #voices) > .sheet-face,
  .site-footer > :is(.footer-main, .footer-fineprint) {
    width: min(100%, var(--cx-wide));
    margin-inline: auto;
  }
  #intro :is(.about-composition, .reason-composition) { max-width: var(--cx-wide); }
  #intro .overview-stops { left: var(--cx-wide-inset); }
  :where(.cx-detail) .detail-shell { width: min(var(--cx-wide), calc(100% - 2 * var(--cx-inline))); }
}
@media (min-width: 768px) and (prefers-reduced-transparency: reduce) {
  .site-header.on-image::before { background: var(--ink); }
}
@media (min-width: 768px) and (max-width: 899px) {
  .site-header .header-links { padding-inline: 12px; }
}
@media (min-width: 1440px) {
  #intro :is(.about-composition, .reason-composition),
  #process > .sheet-face,
  #faq > .sheet-face { column-gap: min(8vw, var(--cx-wide) * .08); }
  #journeys .journey-sheet { column-gap: min(5vw, var(--cx-wide) * .05); }
}
.cx-label { color: var(--brown); font-size: var(--cx-label); line-height: 1.65; letter-spacing: .055em; }
:is(.cx-band-inner,.cx-section,.cx-about-section-heading) > h2 { font-size: var(--cx-section-title); font-weight: 400; line-height: 1.26; margin: 0 0 var(--cx-stack); }
.cx-band-inner > .section-english { font: italic 400 var(--cx-eyebrow)/1.4 Atelier, serif; margin: 0 0 8px; color: var(--brown); }
.cx-band-inner p, .cx-section p { max-width: 65ch; line-height: var(--cx-body-line); overflow-wrap: anywhere; }
.cx-band-inner p:not(.cx-label, .section-english), .cx-section p:not(.cx-label) { font-size: var(--cx-body); }
.cx-band-inner h3, .cx-section h3, .cx-editorial h4 { font-size: var(--cx-card-title); font-weight: 400; margin: 0 0 10px; line-height: 1.38; }
.cx-editorial h4 { font-family: "Cuixing Content", Atelier, serif; }
.cx-section h3 + p { margin-top: 0; }
:is(a[href],button,summary,[tabindex]):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.cx-tabs { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--cx-tab-height); padding-inline: var(--cx-inline); }
.cx-tab-track { display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: none; min-width: 0; }
.cx-tab-track::-webkit-scrollbar { display: none; }
.cx-tabs :is(button,a), .cx-journal-filters a {
  display: inline-flex; position: relative; align-items: center; justify-content: center; flex: 0 0 auto;
  min-height: 44px; padding: 0 clamp(10px, 1.7vw, 24px); background: transparent; color: inherit;
  border: 0; font: 400 var(--cx-annotation)/1.4 Atelier, "Cuixing Content", serif; text-decoration: none; white-space: nowrap;
}
.cx-tabs :is(button,a):is([aria-selected="true"],[aria-current="location"])::after,
.cx-journal-filters [aria-current="true"]::after {
  content: ""; position: absolute; inset: auto 10px 4px; height: 1px; background: currentColor;
}
.cx-tabs .cx-progress {
  position: absolute; inset: auto 10px 4px; height: 2px; background: var(--cx-copper); transform-origin: left; transform: scaleX(0);
}
.cx-tabs button.cx-play {
  width: 44px; height: 44px; padding: 0; margin: 0; border: 0;
  background: transparent; color: inherit;
}
.cx-play svg { width: 18px; height: 18px; }
.cx-play[aria-pressed="true"] .cx-pause-icon,
.cx-play:not([aria-pressed="true"]) .cx-play-icon { display: none; }
.cx-tabs .cx-step { font-size: 24px; padding: 0 9px; min-width: 32px; }
:is(#journeys,#voices) .cx-carousel-tabs > .cx-tab-track {
  flex: 0 1 auto; width: auto; flex-wrap: nowrap; justify-content: flex-start;
}
.cx-carousel-tabs > .cx-tab-track > :first-child { margin-inline-start: auto; }
.cx-carousel-tabs > .cx-tab-track > :last-child { margin-inline-end: auto; }
.cx-carousel-tabs .cx-tab-track > button { max-inline-size: 100%; }
.cx-carousel-tabs .cx-tab-label { overflow: hidden; text-overflow: ellipsis; }
.cx-carousel-tabs .cx-tab-track > button:focus-visible { outline-offset: -2px; }
.cx-carousel-tabs > :is(.cx-step,.cx-play) { flex: 0 0 auto; }
#journeys .cx-carousel-tabs > button:hover { background: transparent; color: inherit; }
/* Keep the original r22 frames and shared control placement. Only the
   selected panel contributes height so full bios do not stretch other frames. */
#intro.cx-about { overflow: clip; }
#intro.cx-about .overview-track { display: block !important; }
#intro .overview-panel[hidden] { display: none !important; }
#intro .overview-controls[data-preview-sticky-tabs] { border: 0 !important; }
#intro .overview-stops, #journeys .journey-tabs { scrollbar-width: none; }
#intro .overview-stops { display: flex; flex-wrap: nowrap; }
#intro .overview-stops button, #journeys .journey-tabs button {
  font-family: Atelier, "Cuixing Content", serif;
  font-size: var(--study-section-tab-font-size, 20px);
  padding-inline: 6px;
}
[data-cx-cycle] .cx-tab-track > button[data-cx-tab][aria-selected="true"]::after,
[data-cx-cycle] .cx-tab-track > button[data-cx-tab] .cx-progress {
  width: auto; height: 1px; inset: auto 6px 0; opacity: 1;
}
[data-cx-cycle] .cx-tab-track > button[data-cx-tab][aria-selected="true"]::after {
  background: color-mix(in srgb, currentColor 25%, transparent); transform: none;
}
[data-cx-cycle] .cx-tab-track > button[data-cx-tab] .cx-progress { background: currentColor; }
#intro .overview-controls .cx-play {
  position: absolute; top: 24px; right: var(--cx-wide-inset);
}
#intro[data-overview-index="3"] .overview-controls { color: var(--paper); text-shadow: 0 1px 8px #13121155; }
#intro :is(.about-title, .reason-heading h2, .cx-brand-prose), #journeys .journey-copy h3 {
  font-family: Atelier, "Cuixing Content", serif;
}
#intro .overview-panel {
  --overview-display-size: var(--cx-section-title);
  --overview-english-size: var(--cx-eyebrow);
}
:is(#intro,.cx-detail) .cx-brand-prose p { font-size: var(--cx-body); line-height: var(--cx-body-line); text-wrap: wrap; }
:is(#intro,.cx-detail) .cx-brand-prose > p { margin: 0; }
:is(#intro,.cx-detail) .cx-brand-prose > p + p { margin-block-start: var(--cx-paragraph-gap); }
#intro .reason-item h3 { font-size: var(--cx-card-title); line-height: 1.45; margin-bottom: 10px; }
.cx-principle { padding: 18px 0; border-top: 1px solid var(--line); }
.reason-panel .cx-principle { border-color: #f6f2e547; }
#intro .cx-philosophy-backdrop .reason-backdrop::after {
  background: color-mix(in srgb, var(--paper) 90%, transparent);
}
.cx-people { display: grid; gap: var(--cx-stack); }
#intro :is(.cx-people,.cx-principles) { display: grid; gap: 24px clamp(16px,2.6vw,40px); }
.cx-person { min-width: 0; border-top: 1px solid var(--line); padding-top: 16px; }
.reason-panel .cx-person { border-color: #f6f2e547; }
.cx-person-heading { display: grid; grid-template-columns: minmax(66px, 100px) minmax(0, 1fr); gap: 18px; margin-bottom: 16px; }
.cx-person-heading:not(:has(.cx-image)) { grid-template-columns: minmax(0, 1fr); }
.cx-person img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
:is(#intro .cx-brand-prose, .cx-section) .cx-person .cx-person-role {
  font-size: var(--cx-annotation); line-height: 1.55;
}
:is(#intro .cx-brand-prose, .cx-section) .cx-person .cx-label {
  font-size: var(--cx-label); line-height: 1.55;
}
.reason-panel .cx-person :is(.cx-label, figcaption) { color: var(--paper); }
.cx-person .cx-person-heading p { margin: 0 0 8px; }
.cx-person-quote { margin: 10px 0; color: inherit; }
.cx-person .cx-person-quote p { margin: 0; }
.cx-person h3 a {
  text-decoration: underline;
  text-decoration-color: var(--cx-copper);
  text-underline-offset: .2em;
}
.cx-portrait-link { display: block; }
.cx-portfolio-title .cx-planner-credit {
  margin-block-start: 16px;
  font-size: var(--cx-label);
  color: var(--brown);
}
.cx-planner-credit a:hover { text-decoration: underline; text-underline-offset: .2em; }
.cx-planner-identity {
  display: grid;
  grid-template-columns: clamp(84px, 15vw, 164px) minmax(0, 1fr);
  align-items: end;
  gap: clamp(18px, 4vw, 44px);
}
.cx-planner-identity:not(:has(.cx-planner-portrait)) { grid-template-columns: minmax(0, 1fr); }
.cx-planner-portrait { position: relative; margin-block-start: 18px; }
.cx-planner-identity .cx-planner-portrait > .editorial-title {
  position: absolute;
  inset: 0 auto auto 0;
  width: max-content;
  margin: 0;
  padding-inline-end: .3em;
  background: var(--paper);
  transform: translateY(-72%);
}
.cx-planner-heading .cx-image { margin: 0; }
.cx-planner-heading .cx-image img { aspect-ratio: 1; object-fit: cover; }
.cx-planner-identity .editorial-title { margin-block-end: 8px; }
.cx-planner-identity h1 { margin-block: 0 8px; }
.cx-planner-identity .cx-person-role {
  margin: 0; font-size: var(--cx-body); line-height: 1.55;
}
.cx-planner-heading > .cx-person-quote {
  max-inline-size: 36em;
  margin: clamp(24px, 5vw, 44px) 0 0;
  padding-inline-start: 14px;
  border-inline-start: 1px solid var(--cx-copper);
  font-size: var(--cx-card-title); line-height: 1.65;
}
.cx-planner-heading > .cx-person-quote p { margin: 0; }
.cx-planner-heading > .cx-label { margin: 16px 0 0; }
.cx-planner-page .cx-brand-prose { max-width: 38rem; }
#intro .about-identity .cx-brand-positioning,
.cx-about-opening > .cx-brand-positioning {
  margin: 14px 0 0;
  font-size: var(--cx-body);
  line-height: 1.65;
  text-wrap: balance;
}
#intro .about-identity .cx-brand-positioning { text-align: center; }
#ways { background: var(--paper); }
#ways .window-photo {
  --cx-arch-inset: 10px;
  padding: 0;
  aspect-ratio: var(--cx-arch-ratio);
  border-radius: 50% / var(--cx-arch-radius-y);
}
#ways .window-photo .photograph {
  position: absolute;
  inset: var(--cx-arch-inset);
  width: auto;
  height: auto;
  clip-path: inset(0 round 50% / var(--cx-arch-radius-y));
}
@media (min-width: 768px) {
  #intro :is(.cx-people,.cx-principles) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #intro .cx-person-heading { grid-template-columns: minmax(44px,clamp(44px,6vw,85px)) minmax(0,1fr); gap: clamp(10px,1.3vw,18px); }
  #ways .ways-grid { grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 7%; }
}
#ways .way-hotels img { object-position: 70% center; }
#ways .way-cruises img { object-position: 90% center; }
#journeys, #process, #voices { background: var(--pale); }
#journeys { --cx-journey-photo-height: clamp(340px, 53svh, 540px); }
#journeys .journey-photo { align-self: start; height: auto; min-height: 0; max-height: none; }
#journeys .journey-photo-link {
  display: block;
  height: var(--cx-journey-photo-height);
  background: var(--pale);
}
@media (min-width: 768px) {
  /* Keep the controls below the photos aligned when only some frames have captions. */
  #journeys .journey-sheets:has(.journey-photo figcaption) .journey-photo {
    min-height: calc(var(--cx-journey-photo-height) + 27px);
  }
}
.journey-photo-link img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cx-photo-credit { margin-top: 9px; color: var(--brown); font-size: 12px; line-height: 1.5; }
.cx-photo-credit a, .cx-image figcaption a { text-decoration: underline; text-underline-offset: 2px; }
.cx-image-source { margin-block-start: 3px; }
.cx-image-source > summary {
  display: inline-flex; align-items: center; gap: 6px;
  font: inherit; color: inherit; list-style: none; cursor: pointer;
}
.cx-image-source > summary::-webkit-details-marker { display: none; }
.cx-image-source > summary::before {
  content: ""; width: 5px; height: 5px; margin-inline: 1px 2px;
  border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(-45deg);
}
.cx-image-source[open] > summary::before { transform: rotate(45deg); }
.cx-image-source > div { margin-block-start: 3px; overflow-wrap: anywhere; }
.cx-trip-fact { display: inline-block; white-space: nowrap; }
#journeys #places { position: absolute; inset-block-start: 0; scroll-margin-top: var(--preview-phone-header, 80px); }
@media (max-width: 767px) {
  #journeys .journey-facts { grid-template-columns: minmax(0,1fr); }
  #journeys .cx-journey-overview dd { white-space: nowrap; }
}

@media (min-width: 768px) {
  #news .study-news-grid[data-count="3"] { grid-template-columns: 1.35fr repeat(2,minmax(0,1fr)); }
  #news .study-news-grid[data-count="2"] { grid-template-columns: 1.35fr minmax(0,1fr); }
  #news .study-news-grid[data-count="1"] { grid-template-columns: minmax(0, 36rem); }
}
#voices .cx-carousel-tabs {
  --preview-tab-surface: var(--pale);
  margin: clamp(18px, 4vw, 40px) 0 0;
  padding-inline: 0;
  border-block-end: 1px solid var(--line);
}
#voices .cx-carousel-tabs [data-cx-tab] { padding-inline: 10px; }
.cx-guest-frames {
  max-width: 62rem;
  margin: clamp(28px, 5vw, 56px) auto 0;
  text-align: start;
}
.cx-guest-frame {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(22px, 4vw, 56px);
}
.cx-guest-writing { width: min(100%, 34rem); margin-inline: auto; }
.cx-guest-identity { display: flex; align-items: center; gap: 15px; }
.cx-guest-identity > div:last-child { min-width: 0; overflow-wrap: anywhere; }
.cx-guest-avatar { flex: 0 0 56px; }
.cx-guest-writing > .cx-image-source { margin-block-start: 10px; }
.cx-guest-avatar img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.cx-guest-identity h3 { margin: 0; font-size: var(--cx-feature-title); font-weight: 400; }
.cx-guest-trip { margin: 3px 0 0; font-size: var(--cx-body); }
.cx-guest-tags {
  display: flex; flex-wrap: wrap; row-gap: 2px;
  margin: 6px 0 0; padding: 0; list-style: none;
}
.cx-guest-tags li { min-width: 0; max-width: 100%; }
.cx-guest-tags li + li::before { content: "｜"; }
.cx-guest-writing blockquote {
  margin: clamp(18px, 3vw, 30px) 0 0;
  font-size: var(--cx-body); line-height: var(--cx-body-line);
}
.cx-guest-writing blockquote p { margin: 0; }
.cx-guest-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cx-guest-gallery > :only-child { grid-column: 1 / -1; }
.cx-guest-gallery figure { margin: 0; }
.cx-guest-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cx-guest-gallery > :only-child img { aspect-ratio: 16 / 9; }
@media (min-width: 768px) {
  .cx-guest-frame:has(.cx-guest-gallery) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
}
@media (prefers-reduced-motion: no-preference) {
  .cx-guest-frame.is-active { animation: cx-guest-appear 240ms ease-out; }
  @keyframes cx-guest-appear { from { opacity: 0; } to { opacity: 1; } }
}
.cx-card > a { color: inherit; text-decoration: none; display: block; height: 100%; }
.cx-card:has(> .cx-photo-credit) > a { height: auto; }
.cx-card-link { display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid currentColor; padding: 0 0 5px; }
.site-footer .footer-return { gap: clamp(16px, 3vw, 32px); }
.cx-detail .site-footer .footer-action { min-width: 0; min-height: 40px; padding: 6px 0; font-size: 12px; }
.site-footer .footer-fineprint:has(.cx-footer-map) {
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: "links social" "identity actions" "legal actions";
  column-gap: clamp(24px, 6vw, 96px);
}
.cx-footer-map {
  grid-area: links;
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px;
  max-width: 36rem; margin-block: 12px 24px;
}
.cx-footer-map summary {
  list-style: none; color: var(--ink); font-size: var(--cx-body); font-weight: 600;
}
.cx-footer-map summary::-webkit-details-marker { display: none; }
.cx-footer-map ul { margin: 8px 0 0; padding: 0; list-style: none; }
.cx-footer-map li a { display: inline-flex; align-items: center; min-height: 32px; font-size: var(--cx-body); }
.cx-footer-map li a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-fineprint:has(.cx-footer-map) > .footer-identity { grid-area: identity; }
.footer-fineprint:has(.cx-footer-map) > .footer-meta-nav { grid-area: legal; }
.footer-fineprint:has(.cx-footer-map) > .footer-return { grid-area: actions; align-self: end; }
.cx-footer-social {
  grid-area: social; justify-self: end; align-self: start;
  display: flex; gap: 8px; position: relative;
  color: var(--brown);
}
.cx-social-channel > button {
  display: grid; place-items: center; width: 44px; height: 44px;
  padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer;
}
.cx-social-channel > button[aria-expanded="true"] { color: var(--cx-copper); }
.cx-social-channel > button:focus-visible {
  outline-offset: -3px;
}
.cx-social-channel svg { width: 24px; height: 24px; fill: currentColor; }
.cx-social-channel .cx-social-wordmark { width: 34px; height: auto; }
.cx-social-popover {
  position: absolute; z-index: 2; inset: auto 0 100% auto;
  width: min(25rem, calc(100vw - 2 * var(--gutter)));
  display: grid; grid-template-columns: minmax(80px, 34%) minmax(0,1fr);
  align-items: center; gap: clamp(12px, 2.6vw, 22px);
  padding: clamp(12px, 2vw, 22px);
  border: 1px solid var(--line); background: var(--paper);
  box-shadow: 0 8px 24px #30241b16;
}
.cx-social-qr { text-align: center; }
.cx-social-qr img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.cx-social-qr span { display: block; margin-block-start: 4px; font-size: 11px; }
.cx-social-popover h3 { color: var(--ink); font-size: var(--cx-card-title); font-weight: 400; margin: 0 0 8px; }
.cx-social-popover p { font-size: var(--cx-body); line-height: 1.7; margin: 0; }
.cx-menu-index {
  color: inherit; opacity: .7; font: 400 .7em/1 Atelier, serif;
  font-variant-numeric: tabular-nums; margin-inline-end: .45em;
}
#menu-panel .cx-menu-index { display: inline-block; min-inline-size: 2em; }
@media (max-width: 767px) {
  .site-footer .footer-fineprint:has(.cx-footer-map) {
    grid-template-columns: minmax(0,1fr);
    grid-template-areas: "links" "social" "identity" "legal" "actions";
  }
  .cx-footer-map { display: block; margin: 0 0 8px; }
  .cx-footer-map details + details { border-block-start: 1px solid var(--line); }
  .cx-footer-map summary {
    display: flex; align-items: center; justify-content: space-between;
    min-height: 48px; cursor: pointer;
  }
  .cx-footer-map summary::after { content: "+"; font: 400 20px/1 Atelier, serif; }
  .cx-footer-map details[open] summary::after { content: "−"; }
  .cx-footer-map ul { margin: 0 0 12px; }
  .cx-footer-social { justify-self: start; }
  .cx-social-popover { inset-inline: 0 auto; }
}

.cx-detail main { padding: calc(80px + clamp(22px, 3vw, 44px)) 0 var(--cx-band-space); }
.cx-detail .breadcrumb { margin-bottom: var(--cx-stack); }
.cx-detail-heading { margin-bottom: var(--cx-stack); }
.cx-detail h1 { font-size: var(--cx-title); font-weight: 400; line-height: 1.18; margin: 0 0 20px; max-width: min(100%, 18em); }
.cx-detail .cx-lead { color: var(--brown); font-size: var(--cx-body); line-height: var(--cx-body-line); max-width: 56ch; }
.cx-detail .editorial-title { margin: 0 0 12px; }
.cx-detail .editorial-title:lang(zh) { font-family: "Cuixing Content", serif; }
.cx-detail .cx-highlights { font-size: var(--cx-body); line-height: var(--cx-body-line); }
.cx-section { width: min(var(--cx-reading), calc(100% - 2 * var(--cx-inline))); margin: var(--cx-band-space) auto 0; }
.cx-section > h3:not(:first-child) { margin-top: var(--cx-stack); }
.cx-section .text-link { margin-right: 24px; }
.cx-section details:where(:not(.cx-image-source)) { border-block-end: 1px solid var(--line); padding: 12px 0; }
.cx-section details:where(:not(.cx-image-source)) > summary { min-height: 44px; cursor: pointer; padding-block: 9px; font-size: var(--cx-card-title); }
.cx-image { margin: 0; }
.cx-image img { display: block; width: 100%; height: auto; max-height: 72vh; object-fit: cover; }
.cx-image figcaption { color: var(--brown); font-size: var(--cx-label); line-height: 1.6; margin-top: 9px; }
.cx-reasons { display: grid; gap: 14px; }
.cx-reasons article { border-top: 1px solid var(--line); padding-top: 18px; }
.cx-service .cx-section:has(.cx-cards), .cx-journal-list .cx-section { width: min(var(--cx-wide), calc(100% - 2 * var(--cx-inline))); }
.cx-service-hero { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); align-items: center; gap: var(--cx-gap); }
.cx-service-hero:not(:has(figure)) { grid-template-columns: minmax(0, 1fr); }
.cx-service-hero > .cx-image { width: min(100%, 640px); justify-self: center; }
/* The top half of the homepage arch has the same radius and half the height. */
.cx-service-hero .cx-image img {
  aspect-ratio: calc(2 * var(--cx-arch-ratio));
  max-height: none;
  border-radius: 50% 50% 0 0 / calc(2 * var(--cx-arch-radius-y)) calc(2 * var(--cx-arch-radius-y)) 0 0;
}
.cx-service-hero[data-service="chauffeur"] .cx-image img { object-position: center top; }
.cx-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 248px), 1fr)); gap: var(--cx-stack) var(--cx-gap); margin: 22px 0; }
.cx-card { min-width: 0; max-width: 540px; border-block-start: 1px solid var(--line); }
.cx-card img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.cx-card-body { padding-block: 17px; }
.cx-card h3 { margin-bottom: 10px; }
.cx-related { display: flex; gap: 10px 22px; flex-wrap: wrap; }
.cx-related .text-link { margin: 0; }
.cx-facts { margin: 18px 0 0; }
.cx-facts > div { display: grid; grid-template-columns: minmax(135px, 26%) minmax(0, 1fr); gap: 18px; padding: 14px 0; border-top: 1px solid var(--line); }
.cx-facts dd { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.cx-facts dd a { display: flex; width: fit-content; }
.cx-collection .cx-facts dd > .cx-image { margin-block-start: var(--cx-paragraph-gap); }
.cx-collection .cx-facts dd .cx-image a { display: inline; }
.cx-day-layout { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: var(--cx-stack); align-items: start; }
.cx-day-layout .cx-tabs { position: sticky; top: 98px; padding: 0; }
.cx-day-layout .cx-tab-track { display: flex; flex-direction: column; width: 100%; }
.cx-day-layout .cx-tab-track a { min-width: 44px; justify-content: flex-start; padding-inline: 0; }
.cx-day-layout .cx-tab-track a[aria-current="location"]::after { inset-inline: 0 auto; width: 1.75em; }
.cx-day-layout .cx-tab-track a:focus-visible { outline-offset: -2px; }
.cx-day { min-width: 0; padding-block-start: 16px; scroll-margin-top: 110px; }
.cx-day-route { color: var(--brown); }
.cx-stay { display: flex; gap: 12px; padding: 12px 16px; background: var(--pale); }
.cx-stay > .cx-itinerary-mark { flex: 0 0 auto; color: var(--brown); font-size: var(--cx-label); }
.cx-itinerary-mark { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; vertical-align: middle; }
.cx-itinerary-mark svg {
  flex: none; width: max(15px, 1em); height: max(15px, 1em);
  fill: none; stroke: #253D34; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round;
}

/* Portfolio pages read as a continuous itinerary. The day links are shortcuts. */
.cx-portfolio main { --cx-trip-width: 1120px; --cx-trip-inset: clamp(18px, 3vw, 42px); }
.cx-portfolio main > :is(.detail-shell,.cx-section) {
  width: min(var(--cx-trip-width), calc(100% - 2 * var(--cx-inline)));
}
.cx-portfolio-title { display: grid; align-items: end; gap: var(--cx-stack); padding-block: 12px clamp(20px,4vw,54px); }
.cx-portfolio-title h1 { margin-block: 12px 22px; }
.cx-portfolio-subtitle { display: block; margin-block-start: 8px; font-size: var(--cx-feature-title); line-height: 1.4; }
.cx-portfolio-summary { display: grid; gap: 18px; margin: 0; }
.cx-portfolio-summary dt, .cx-portfolio #journey-needs dt { font-size: var(--cx-label); color: var(--brown); margin-block-end: 5px; }
.cx-portfolio-summary dd { margin: 0; font-size: var(--cx-body); line-height: var(--cx-body-line); }
.cx-portfolio-photo .cx-image img { aspect-ratio: 16 / 7; max-height: none; }
.cx-portfolio #journey-needs .cx-facts {
  display: grid; gap: var(--cx-stack); margin: 0;
  padding: var(--cx-trip-inset); background: var(--pale);
}
.cx-portfolio #journey-needs .cx-facts > div { display: block; border: 0; padding: 0; }
.cx-portfolio #journey-needs dd { line-height: var(--cx-body-line); }
.cx-day-sequence { display: grid; gap: clamp(52px, 7vw, 94px); min-width: 0; max-width: 42rem; }
.cx-day-heading { margin-block-end: clamp(12px, 1.65vw, 21px); }
.cx-day-heading::after {
  content: ""; display: block; block-size: 1px; max-inline-size: 39rem;
  margin-block-start: clamp(11px, 1.25vw, 17px);
  background: repeating-linear-gradient(to right, var(--line) 0 4px, transparent 4px 8px);
}
.cx-day-heading .cx-label { margin: 0 0 8px; }
.cx-portfolio .cx-day-heading h3 {
  font-size: var(--cx-feature-title); line-height: 1.4; margin: 0 0 10px; text-wrap: wrap;
}
.cx-portfolio .cx-day-heading .cx-day-route { font-size: var(--cx-annotation); line-height: 1.7; margin: 0; }
.cx-day-body > * { margin-block: 0; }
.cx-day-body > * + * { margin-block-start: var(--cx-paragraph-gap); }
.cx-day-body > :is(h4,h5) {
  font-size: var(--cx-card-title); font-weight: 400; line-height: 1.4; margin-block-start: clamp(22px,3vw,34px);
}
.cx-day-body > :is(h4,h5):first-child { margin-block-start: 0; }
.cx-day-body > :is(h4,h5) + p { margin-block-start: 6px; }
.cx-day-body > p { max-width: 39em; }
.cx-day-body > .cx-stay { line-height: 1.65; }
.cx-optional-stops { display: grid; gap: var(--cx-stack); }
.cx-optional-stops > article { background: var(--pale); padding: var(--cx-trip-inset); }
.cx-optional-stops p { margin-block-end: 0; }
.cx-optional-stops .cx-image { margin-block-start: var(--cx-paragraph-gap); }

#home-collection { padding-block: var(--cx-home-band-space); background: var(--paper); }
.cx-portfolio #journey-inquiry { background: var(--pale); padding: var(--cx-trip-inset); }
.cx-portfolio #journey-inquiry h2 { font-size: var(--cx-feature-title); margin-block-end: 16px; }
.cx-portfolio #journey-inquiry .text-link { margin-block-start: 8px; }

@media (min-width: 768px) {
  .cx-portfolio #journey-needs .cx-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cx-optional-stops { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); }
  .cx-day-layout .cx-tab-track { align-items: flex-start; }
}
@media (min-width: 900px) {
  .cx-portfolio-title { grid-template-columns: minmax(0,1.85fr) minmax(200px,.8fr); gap: clamp(48px,7vw,100px); }
  .cx-portfolio .cx-day-layout { grid-template-columns: minmax(116px, .33fr) minmax(0,1fr); gap: clamp(46px,7vw,98px); }
}
.cx-editorial blockquote { border-inline-start: 1px solid var(--cx-copper); margin-inline: 0; padding-inline-start: 24px; }
.cx-journal-filters { gap: clamp(16px, 5vw, 28px); padding-block: 4px; }
.cx-journal-filters a {
  min-width: 44px; padding-inline: 0; justify-content: flex-start;
  font-size: var(--study-section-tab-font-size);
}
.cx-journal-filters [aria-current="true"]::after { inset-inline: 0; }
.cx-detail .cx-journal-filters a:focus-visible { outline-offset: -2px; }
.cx-journal-list .cx-section { margin-top: var(--cx-stack); }
@media (min-width: 1024px) {
  .cx-journal-list .cx-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.cx-editorial {
  --cx-editorial-section-gap: clamp(36px, 4.5vw, 60px);
  --cx-editorial-heading-gap: clamp(10px, 1.2vw, 16px);
}
.cx-editorial > * { margin-block: 0; }
.cx-editorial > * + * { margin-block-start: var(--cx-paragraph-gap); }
.cx-editorial > :is(h2,h3,h4) { margin-block: 0; }
.cx-editorial > :is(h2,aside,section):not(:first-child) { margin-block-start: var(--cx-editorial-section-gap); }
.cx-editorial > :is(h3,h4):not(:first-child) { margin-block-start: clamp(24px, 3vw, 40px); }
.cx-editorial > :is(h2,h3,h4) + :not(h2) { margin-block-start: var(--cx-editorial-heading-gap); }
.cx-editorial > .cx-section { width: 100%; }
.cx-article-facts .cx-facts + p { margin-block-start: var(--cx-paragraph-gap); }

.cx-about-page .cx-about-opening {
  margin-block-end: 0;
  padding-block-start: clamp(34px, 5.6vw, 84px);
  text-align: center;
}
.cx-about-opening-logo {
  display: block; width: clamp(154px, 17vw, 214px); max-width: 100%; height: auto;
  margin: 0 auto clamp(42px, 6vw, 84px);
}
.cx-about-opening h1 { margin-inline: auto; }
.cx-about-opening > .cx-brand-prose { max-width: 38rem; margin: clamp(36px, 5vw, 68px) auto 0; }
.cx-about-divider {
  display: block; width: clamp(22px, 2.3vw, 30px); height: auto;
  margin: clamp(54px, 7vw, 104px) auto;
}
.cx-about-page .cx-section {
  display: grid; gap: 28px;
  width: min(680px, calc(100% - 2 * var(--cx-inline)));
  margin-block: 0;
}
.cx-about-section-heading { text-align: center; }
.cx-about-section-heading > h2 { margin: 0; }
.cx-about-page .cx-section > .cx-brand-prose { width: min(100%, 34rem); margin-inline: auto; }
.cx-about-page .cx-principles { display: grid; gap: var(--cx-stack); }
@media (min-width: 768px) {
  .cx-about-page :is(.cx-people-full,.cx-principles) { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 900px) {
  .cx-about-page .cx-section {
    width: min(1130px, calc(100% - 2 * var(--cx-inline)));
    grid-template-columns: minmax(165px, .32fr) minmax(0,1fr);
    gap: clamp(44px, 7vw, 110px);
  }
  .cx-about-section-heading { text-align: start; }
  .cx-about-page .cx-section > .cx-brand-prose { margin-inline: 0; }
}

/* Map the inherited home, reader and dialog typography onto the same scale. */
.hero-writing .hero-script {
  --cx-patung-base: clamp(22px, 2.2vw, 34px);
  display: grid; place-items: center; min-block-size: var(--hero-grid-unit);
  margin-block: 0; padding-block: 0;
}
.hero-scene {
  --cx-hero-action-span: var(--hero-grid-unit);
  --cx-hero-services-center: calc(var(--hero-title-top) + 3.5 * var(--hero-grid-unit) + var(--cx-hero-action-span));
  --cx-hero-services-clearance: calc(28px + env(safe-area-inset-bottom, 0px));
  --cx-hero-height: max(100svh, calc(var(--cx-hero-services-center) + var(--cx-hero-services-clearance)));
  min-block-size: var(--cx-hero-height);
}
.hero-writing .hero-actions {
  block-size: var(--cx-hero-action-span);
  align-items: flex-end;
  margin-block-start: 0;
}
.hero-writing .hero-entry::after { inset-block-end: -1.5px; }
.hero-scene .hero-services {
  inset-block: var(--cx-hero-services-center) auto;
  transform: translateY(-50%);
}
@supports (height: round(up, 1px, 1px)) {
  .hero-scene { --cx-hero-action-span: round(up, 48px, var(--hero-grid-unit)); }
  .hero-scene .hero-services {
    /* Use the lowest grid midpoint with room for the service line and safe area. */
    --cx-hero-services-room: max(0px, calc(var(--cx-hero-height) - var(--cx-hero-services-clearance) - var(--cx-hero-services-center)));
    inset-block-start: calc(var(--cx-hero-services-center) + round(down, var(--cx-hero-services-room), var(--hero-grid-unit)));
  }
}
#journeys .journey-display {
  --cx-patung-base: clamp(23px, 3.2vw, 48px);
  font-size: calc(var(--cx-patung-base) * var(--cx-patung-scale));
}
.hero-services, #process .process-heading > .section-label { font-size: var(--cx-label); }
main :is(.section-heading,.process-heading,.faq-heading,.closing-writing,.guest-heading) > .section-english,
main :is(.section-heading,.journeys-heading,.cx-detail-heading,.cx-service-hero) .editorial-title,
.privacy-main > .detail-english {
  font-size: var(--cx-eyebrow); line-height: 1.45;
}
.hero-writing .hero-script,
#intro .overview-panel :is(.about-english, .reason-english),
main :is(.section-heading,.process-heading,.faq-heading,.closing-writing,.guest-heading) > .section-english,
#places .destination-en, #journeys .journey-display span,
.cx-detail main .editorial-title[lang="en"], .privacy-main > .detail-english[lang="en"] {
  font-family: Patung, Atelier, serif;
  font-size: calc(var(--cx-patung-base, var(--cx-eyebrow)) * var(--cx-patung-scale));
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
}
#voices .guest-heading h2 { font-size: var(--cx-section-title); }
#places .destination-copy h3 { font-size: var(--cx-section-title); }
#journeys .journey-copy h3 { font-size: var(--cx-feature-title); }
#ways .way h3, #news .study-news-grid .study-update h3, #process .process-steps h3,
#process .itinerary-preview .itinerary-copy h3, #faq .faq-item summary,
.privacy-main h2, #menu-panel .dialog-content nav a { font-size: var(--cx-card-title); }
#ways .way-body, #places .destination-body, #journeys .journey-copy .journey-description,
#process :is(.process-steps,.itinerary-preview .itinerary-copy) p,
#process .process-heading > p:not(.section-label,.section-english),
#faq :is(.faq-heading > p:not(.section-english),.faq-answer),
.cx-section :is(dl,li), .privacy-main > p:not(.privacy-date,.detail-english), .privacy-main section p,
dialog .dialog-content > p, .booking-dialog .dialog-content > :is(p,.booking-explanation) {
  font-size: var(--cx-body); line-height: var(--cx-body-line);
}
#journeys .journey-facts :is(dt,dd) { font-size: var(--cx-annotation); line-height: 1.65; }
#news .study-update > p:not(.study-update-meta) { font-size: var(--cx-body); line-height: var(--cx-body-line); }
.privacy-main h1 { font-size: var(--cx-title); }
dialog :is(.dialog-content h2,.dialog-bar .dialog-title) { font-size: var(--cx-feature-title); }
.booking-dialog :is(label,.booking-consent,.field-optional),
.booking-dialog .booking-actions :is(.form-error,.field-error) { font-size: var(--cx-annotation); }
.booking-dialog :is(input,textarea,select) { font-size: 16px; }

@media (max-width: 767px) {
  :root {
    --cx-body: 14px;
    --cx-body-line: 25px;
    --cx-title: clamp(29px, 8vw, 34px);
    --cx-section-title: clamp(26px, 7.1vw, 28px);
    --cx-feature-title: 23px;
    --cx-card-title: 17px;
    --cx-eyebrow: 17px;
    --cx-paragraph-gap: 14px;
    --cx-home-band-space: 84px;
    --cx-tab-height: 68px;
    --study-section-tab-font-size: 15px;
  }
  .cx-tabs[data-preview-sticky-tabs="days"] { min-height: var(--cx-tab-height); padding: 10px var(--cx-inline) !important; }
  .cx-tabs .cx-tab-track { flex: 1 1 auto; }
  #intro[data-overview-index="3"] .overview-controls { --preview-tab-surface: #25221c; }
  #intro .overview-stops button, #journeys .journey-tabs button { font-size: 15px; }
  #intro .overview-stops { gap: 4px; }
  #intro .overview-controls[data-preview-sticky-tabs] { padding-inline: 12px !important; }
  #intro .overview-stops button { width: auto; min-width: 44px; padding-inline: 3px; }
  #intro .overview-controls .cx-play { position: relative; inset: auto; }
  #intro .reason-panel .reason-editorial { min-height: 305px; }
  .cx-carousel-tabs > .cx-step { display: inline-flex; min-width: 32px; width: 34px; border: 0; }
  :is(#journeys,#voices) .cx-carousel-tabs { gap: 3px; }
  :is(#journeys,#voices) .cx-carousel-tabs > .cx-tab-track { gap: 4px; }
  #journeys { --cx-journey-photo-height: clamp(210px, 37svh, 340px); }
  #journeys .journey-photo { width: 90%; align-self: center; }
  .cx-tabs :is(button,a) { padding-inline: 10px; }
  .cx-journal-filters[data-preview-sticky-tabs] { gap: 12px; padding-block: 10px; }
  .cx-service-hero, .cx-day-layout { grid-template-columns: 1fr; }
  .cx-service-hero > .cx-image { grid-row: 1; }
  #ways .ways-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 5%; overflow: visible; margin: 0; padding: 0; }
  #ways .way .text-link { gap: 5px; white-space: normal; font-size: 14px; }
  .cx-detail main { padding-top: calc(var(--preview-phone-header) + 22px); }
  .cx-detail h1 { overflow-wrap: anywhere; }
  .cx-facts > div { grid-template-columns: 1fr; gap: 4px; }
  .cx-day-layout .cx-tabs { margin-inline: calc(-1 * var(--cx-inline)); }
  .cx-day-layout .cx-tab-track { flex-direction: row; }
  .cx-day { scroll-margin-top: calc(var(--cx-tab-height) + 8px); }
  .cx-portfolio-photo .cx-image img { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  [data-cx-cycle] .cx-tab-track > button[data-cx-tab][aria-selected="true"]::after { background: currentColor; }
  [data-cx-cycle] .cx-progress { display: none; }
}
