/* Independent columns follow the reference's 1140px flow, 450px photograph,
   broad opening text and large section gaps. Client copy determines content. */
.column-page .column-hero{height:31.25vw;min-height:0}.column-page .column-hero:after{display:none}.column-page .column-heading{padding:0 0 70px}.column-page h1{font-size:44.8px;line-height:52.8px;letter-spacing:0;margin:0;font-weight:700}.column-intro{font-size:17px;line-height:1.5}.column-intro p{margin:0 0 30px}.column-section{padding:45px 0 40px;scroll-margin-top:95px}.column-section h2{font-size:34px;font-weight:400;line-height:1.2;margin-bottom:28px}.column-section p{font-size:17px;line-height:1.6}.column-page .tour-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.column-page .tour-card{padding:5px}.column-page .tour-card img{height:auto;aspect-ratio:3/2}.column-page>.container{padding-bottom:50px}.column-toc{background:#f8f3ed;border-radius:6px;padding:40px 30px 30px 60px;margin:0 0 16px}.column-toc ul{columns:2;column-gap:50px;list-style-type:square;padding:0;margin:0}.column-toc li{break-inside:avoid;margin:0 0 10px;line-height:1.44rem;overflow-wrap:anywhere}.column-toc a{text-decoration:underline;text-underline-offset:3px}.column-page>.container>.breadcrumb{padding:0;margin:20px 0 80px;font-size:14px;line-height:17px;min-height:17px}.column-page.guide-index .column-hero{height:27.34375vw}.destination-map{margin:35px 0 50px}.destination-map img{width:100%;height:auto}.destination-map figcaption{font-size:12px;line-height:1.55;color:#666;margin-top:12px}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 30px}.article-grid article{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:start}.article-cover{display:block}.article-grid img{width:100%;aspect-ratio:3/2;object-fit:cover}.article-grid h3{font-size:22px;line-height:1.3;margin:0 0 14px;font-weight:400}.article-grid p{font-size:15px;line-height:1.6;margin-bottom:12px}.article-grid a{color:inherit}.article-grid small{display:block;font-size:12px;color:#666;margin-top:10px}.custom-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.custom-feature>img{aspect-ratio:3/2;width:100%;object-fit:cover}.center-section{text-align:center}.review-component-pending{min-height:300px;display:flex;flex-direction:column;justify-content:center;text-align:center;border:1px dashed #bbb;background:#f7f7f7;padding:45px;max-width:950px;margin:35px auto}.company-video-reserve{aspect-ratio:16/9;background:#efeeeb;display:grid;place-items:center;text-align:center;margin:45px 0}.company-video-reserve>div{max-width:500px;padding:30px}.company-video-reserve strong{font-size:28px;font-weight:400}.company-video-reserve p{font-size:16px;margin-top:20px;color:#666}.service-columns,.team-reserve{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:30px 0}.service-columns h3{font-size:25px;font-weight:400;margin:0 0 18px}.service-columns p{font-size:16px}.company-details{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px 30px;margin:25px 0 35px;font-size:17px;line-height:1.6}.company-details dt{font-weight:600}.company-details dd{margin:0}.attraction-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 45px;padding-left:22px;line-height:1.6;margin:30px 0}.city-landscape{width:100%;max-height:620px;aspect-ratio:16/9;object-fit:cover;margin:40px 0 0}.article-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(0,340px);gap:40px}.article-layout>article>p{font-size:17px;line-height:1.6;margin:0 0 30px}.article-layout .article-status{font-size:12px;color:#666}.column-sidebar{background:#f7f7f7;border-top:5px solid #b71426;padding:25px;height:fit-content}.column-sidebar h2{font-size:25px;line-height:1.3;margin-bottom:22px}.column-sidebar h3{font-size:20px;margin:35px 0 15px}.column-sidebar p{font-size:16px;line-height:1.6}.column-sidebar ul{list-style:none;padding:0;margin:0}.column-sidebar li{border-bottom:1px solid #ddd;padding:12px 0;font-size:15px}.column-sidebar li a{text-decoration:none}.planning-steps{counter-reset:step;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:0;margin:35px 0}.planning-steps li{line-height:1.6}.planning-steps li:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:48px;height:48px;border:1px solid #c91632;color:#c91632;border-radius:50%;margin-bottom:20px}.ref-route-diagram{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.nav-link.active{text-decoration:underline;text-underline-offset:7px}
@media(max-width:1100px){.article-grid article{grid-template-columns:1fr}.article-layout{grid-template-columns:minmax(0,1fr) 280px;gap:30px}.company-details{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:900px){.column-page .tour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{display:block}.column-sidebar{margin-top:40px}.team-reserve,.service-columns{gap:20px}.planning-steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.column-page .column-hero,.column-page.guide-index .column-hero{height:280px}.column-page h1{font-size:31px;line-height:1.2;letter-spacing:-.4px;overflow-wrap:anywhere}.column-intro,.column-section p{font-size:16px;line-height:1.65}.column-page .tour-grid,.article-grid,.team-reserve,.service-columns,.custom-feature,.planning-steps{grid-template-columns:1fr}.column-section{padding:28px 0 30px}.column-section h2{font-size:28px;line-height:1.2}.article-grid{gap:32px}.article-grid article{grid-template-columns:1fr;gap:18px}.article-grid h3{font-size:23px}.article-grid p{font-size:16px}.review-component-pending{padding:30px 20px}.company-details{grid-template-columns:1fr;gap:8px}.company-details dd{margin-bottom:18px;overflow-wrap:anywhere}.company-video-reserve{aspect-ratio:4/3}.company-video-reserve strong{font-size:24px}.company-video-reserve p{font-size:14px}.attraction-list{grid-template-columns:1fr;gap:15px}.city-landscape{aspect-ratio:3/2}.column-page .ref-content-reserve strong{font-size:18px}.column-page .ref-content-reserve p{font-size:15px}.planning-steps{gap:28px}.planning-steps li:before{margin-bottom:12px}.ref-route-diagram{grid-template-columns:1fr}}

@media(max-width:600px){.column-page>.container>.breadcrumb{margin:20px 0 35px;line-height:1.5}.column-page h1{line-height:1.2}}

/* About Us service/team geometry from the saved China Highlights reference. */
.about-page .column-section{padding:44px 0}
.about-page .column-section h2{margin:0 0 28px}
.about-page #our-services{padding-bottom:0}
.about-page #our-services>h2{text-align:center;font-size:34px;line-height:40px;margin-bottom:58.22px}
.about-page .service-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0;margin:0;padding:0 11.2px 0 0;align-items:start}
.about-page .service-reference-item{display:flow-root;min-width:0;min-height:96px;padding:0 20px}
.about-page .service-reference-icon{float:left;box-sizing:border-box;width:96px;height:96px;margin-right:15px;padding:8px;border-radius:50%;background:#999;color:white}
.about-page .service-reference-icon img,.about-page .service-reference-icon svg{display:block;width:55px;height:55px;margin:11px auto 0;object-fit:contain}
.about-page .service-reference-item h3{font-size:20px;font-weight:600;line-height:20px;margin:0 0 5px;padding:0}
.about-page .service-reference-item p{font-size:17px;font-weight:400;line-height:20px;margin:0;padding:0}
.about-page .about-team-band{background:#f4f4f4;padding:50px 0 40px}
.about-page .about-team-band h2{text-align:center;font-size:34px;line-height:40px;margin:0 0 28px}
.about-page .team-reserve{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 40px;align-items:start}
.about-page .team-profile{min-width:0;text-align:center}
.about-page .team-portrait{width:200px;height:200px;border-radius:50%;background:#e1ddd8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;overflow:hidden;margin:0 auto 10px}
.about-page .team-portrait svg{width:112px;height:112px;fill:#b2a99f}
.about-page .team-profile h3{font-size:19px;line-height:23px;font-weight:600;margin:0 0 5px;padding:0}
.about-page .team-role{font-size:17px;line-height:22px;margin:0;padding:0}
.about-page .team-enquiry{text-align:center}
.about-page .team-enquiry .button{color:#ad1818;background:white;border:0;border-radius:24px;font-size:16px;line-height:20px;font-style:italic;font-weight:400;text-transform:uppercase;min-height:0;padding:8px 30px}
@media(max-width:1100px){.about-page .team-portrait{width:170px;height:170px}}
@media(max-width:900px){.about-page .service-reference-item{padding-inline:12px}.about-page .team-portrait{width:145px;height:145px}}
@media(max-width:767px){.about-page .service-reference-grid{grid-template-columns:1fr;gap:30px;padding:0}.about-page .service-reference-item{padding-inline:0}.about-page .team-reserve{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.about-page .team-portrait{width:min(145px,100%);height:auto;aspect-ratio:1}.about-page .team-profile h3{font-size:17px}.about-page .team-role{font-size:16px}}
@media(max-width:600px){.about-page .column-section{padding:30px 0}.about-page #our-services{padding-bottom:0}.about-page #our-services>h2{font-size:28px;line-height:34px;margin-bottom:35px}.about-page .service-reference-item h3{font-size:20px;line-height:24px}.about-page .service-reference-item p{font-size:17px;line-height:24px}.about-page .about-team-band{padding:40px 0}.about-page .about-team-band h2{font-size:28px;line-height:34px;margin-bottom:28px}.about-page .team-reserve{margin-bottom:30px}.about-page .team-enquiry .button{font-size:14px;padding:9px 20px;max-width:100%}}

/* City articles preserve the saved destination-specific editorial structure. */
.city-editorial-layout{display:grid;grid-template-columns:minmax(0,750px) minmax(0,340px);gap:50px;align-items:start}
.city-editorial-main{min-width:0}
.city-editorial-main .column-section{padding:30px 0 25px}
.city-editorial-main .column-section h2{font-size:34px;line-height:40px;margin:0 0 25px}
.city-editorial-main .column-intro p,.city-editorial-main .city-place p{font-size:17px;line-height:26px;margin:0 0 25px}
.city-place{margin:0 0 35px}
.city-place h3,.city-map-reservations>h3{font-size:24px;line-height:1.3;font-weight:600;margin:0 0 18px}
.city-place figure{margin:25px 0 30px}
.city-place figure>img{display:block;width:100%;height:auto;aspect-ratio:750/450;object-fit:cover;border-radius:5px}
.city-place figure>.source-photo-slot{aspect-ratio:750/450;border-radius:5px}
.city-editorial-main .source-editorial-slot{max-width:none}
.city-editorial-main .article-grid.source-article-grid,.city-editorial-main .source-practical-grid,.city-editorial-main .source-attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-editorial-main .source-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-editorial-main .source-month-grid h3{font-size:18px;line-height:22px}
.city-sidebar-feature{position:relative;overflow:hidden;border-radius:6px;background:#f3dfb0;min-height:340px}
.city-sidebar-feature>img{width:100%;height:340px;object-fit:cover;display:block}
.city-sidebar-feature>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;background:linear-gradient(transparent,#000b);color:white}
.city-sidebar-feature h2{font-size:28px;line-height:1.2;margin:0 0 15px;font-weight:600}
.city-sidebar-feature p{font-size:17px;line-height:24px;margin:0 0 20px}
.city-sidebar-feature .button{align-self:flex-start}
.city-tour-links{padding-left:20px;font-size:17px;line-height:1.6}
.city-tour-links li{margin-bottom:15px}
.city-practical-anchor,.city-map-reservations,#additional-practical{scroll-margin-top:95px}
.city-map-reservations{margin-top:30px}
.city-supplement{margin:25px 0;border-block:1px solid #ddd;padding:18px 0}
.city-supplement>summary{cursor:pointer;font-size:17px;line-height:26px;font-weight:600}
.city-supplement[open]>summary{margin-bottom:25px}
.city-supplement .source-city-practical{margin-bottom:10px}
@media(min-width:901px) and (max-width:1100px){.city-editorial-layout{grid-template-columns:minmax(0,1fr) 280px;gap:30px}}
@media(max-width:900px){.city-editorial-layout{grid-template-columns:1fr}.city-sidebar{margin:0 0 30px}.city-sidebar-feature{max-width:500px}}
@media(max-width:600px){.city-editorial-main .column-section{padding:25px 0 20px}.city-editorial-main .column-section h2{font-size:28px;line-height:34px}.city-editorial-main .column-intro p,.city-editorial-main .city-place p{font-size:16px;line-height:26px}.city-place h3,.city-map-reservations>h3{font-size:23px;line-height:30px}.city-place{margin-bottom:30px}.city-place figure{margin:20px 0 25px}.city-editorial-main .article-grid.source-article-grid,.city-editorial-main .source-practical-grid,.city-editorial-main .source-attraction-grid,.city-editorial-main .source-month-grid{grid-template-columns:1fr}.city-sidebar-feature{min-height:300px}.city-sidebar-feature>img{height:300px}.city-supplement>summary{font-size:16px}.city-editorial-layout{gap:30px}}

/* City titles remain visible in the first screen, in both supported languages. */
.column-page .city-hero{position:relative;isolation:isolate}
.column-page .city-hero:after{display:block;content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.42) 60%,rgba(0,0,0,.25));pointer-events:none}
.city-hero-heading{position:absolute;inset:0;z-index:1;display:flex;align-items:center;text-align:center;color:#fff;padding:24px 0}
.city-hero-heading>.container{width:calc(100% - 48px);max-width:1140px}
.column-page .city-hero-heading h1{color:#fff;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.65);overflow-wrap:anywhere}
@media(max-width:600px){.city-hero-heading{padding:24px 0}.city-hero-heading>.container{width:calc(100% - 36px)}}

/* Match the reference directory at its mobile breakpoint; avoid top margins inside columns. */
@media(max-width:767px){.column-toc{padding:30px 30px 30px 50px;margin:0}.column-toc ul{columns:1;column-gap:0}}

/* Shared column openers follow the reference typography and 750px breakpoint. */
@font-face{font-family:"U2 Reference Sans";src:url('/reference-mirror-assets/7905921d94d59e6bf531.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"U2 Reference Sans";src:url('/reference-mirror-assets/0e3b169c363fea3f69d4.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
.column-page>.container>:is(.column-heading,.column-intro,.column-toc){font-family:-apple-system,BlinkMacSystemFont,"U2 Reference Sans",sans-serif;word-spacing:1px}
.column-page .column-heading{padding:0 0 70px}
.column-page .column-heading h1{font-size:44.8px;line-height:52.8px;letter-spacing:0}
.column-page>.container>.column-intro,.column-page>.container>.column-intro p{font-size:17px;line-height:26px}
@media(max-width:750px){
 .column-page .column-heading{padding:0 0 50px}
 .column-page .column-heading h1{font-size:35px;line-height:40px}
}

/* Reviews page: the live reference places its review grid directly after the introduction. */
.reviews-page #official-reviews{container-type:inline-size;scroll-margin-top:95px}
.reviews-page .source-reviews-full{padding:15px 10px 0;margin:0 0 15px;font-family:-apple-system,BlinkMacSystemFont,"U2 Reference Sans",sans-serif}
.reviews-page .source-reviews-full .source-review-grid{grid-template-columns:1fr;gap:20px}
.reviews-page .source-reviews-full .source-review-card{background:#f4f4f4;border:0;border-radius:10px;padding:20px;min-height:325px;display:flex;flex-direction:column}
.reviews-page .source-reviews-full .source-review-card header{gap:15px;min-height:42px}
.reviews-page .source-reviews-full .source-review-card header>div:last-child{min-width:0}
.reviews-page .source-reviews-full .source-review-card h3{font-size:16px;line-height:22.4px;font-weight:600;margin:0;overflow-wrap:anywhere}
.reviews-page .source-reviews-full .source-review-card header small{font-size:14px;line-height:19.6px}
.reviews-page .source-reviews-full .source-review-rating{font-size:14px!important;line-height:19px!important;margin:11px 0!important}
.reviews-page .source-reviews-full .source-review-body{min-height:0;flex:1}
.reviews-page .source-reviews-full .source-review-body p{font-size:16px!important;line-height:23.2px!important}
.reviews-page .source-reviews-full .source-review-bottom{padding:20px 0 0;color:#777;line-height:1.5}
.reviews-page #review-recognition{padding:0;margin:30px 0 0}
.reviews-page #review-recognition>h2{text-align:left;font-size:34px;line-height:40px;margin:0 0 28px}
@container(min-width:600px){.reviews-page .source-reviews-full .source-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(min-width:900px){.reviews-page .source-reviews-full .source-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* Province map keeps its reference image and scales native city links with the image. */
.destination-map-stage{position:relative}
.destination-map-stage>img{display:block}
.destination-map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.destination-map-link{pointer-events:auto;cursor:pointer}
.destination-map-hit{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke}
.destination-map-dot{fill:#c91632;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.destination-map-link:hover .destination-map-hit,.destination-map-link:focus-visible .destination-map-hit{fill:#c9163220;stroke:#c91632}
.destination-map-link:focus{outline:none}
.destination-map-cities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 20px;margin-top:16px}
.destination-map-cities a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:17px;line-height:24px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.destination-map-cities a:before{content:"";width:8px;height:8px;border-radius:50%;background:#c91632;flex:none}
.destination-map-cities a:hover{color:#c91632}
.destination-map-cities a:focus-visible{outline:2px solid #c91632;outline-offset:2px}
@media(max-width:750px){.destination-map-cities{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}}
