/* ===== FX layer: cinematic motion ===== */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

/* preloader */

/* page wipe */

/* cursor */

/* hero */
.xhero{position:relative;height:100vh;min-height:620px;overflow:hidden;background:#000;color:#fff;padding:0!important}
.xhero .xvid,.xhero .xvid video{position:absolute;inset:0;width:100%;height:100%}
.xhero video{object-fit:cover;transition:opacity .8s ease}
.xhero .xshade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.2) 60%,rgba(0,0,0,0)),linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 45%)}
[dir="rtl"] .xhero .xshade{background:linear-gradient(270deg,rgba(0,0,0,.72),rgba(0,0,0,.2) 60%,rgba(0,0,0,0)),linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0) 45%)}
.xhero .xcopy{position:absolute;inset:auto 0 0 0;z-index:3;padding-bottom:9vh}
.xhero.live .xcopy{pointer-events:auto}
.xhero .xcopy h1{color:#fff;font-size:clamp(46px,7.2vw,110px);line-height:.98;max-width:12em;margin:14px 0 18px}
.xhero .xcopy h1 em{font-style:normal;color:#F6C9A8}
.xhero .xcopy .eyebrow{color:#F6C9A8}
.xhero .xcopy .lede{color:#E5EAF5;font-size:19px;max-width:36em}

/* marquee */
.marq{background:#C23B2A;color:#fff;overflow:hidden;white-space:nowrap;padding:18px 0;position:relative;z-index:2}
.marq .mtrack{display:inline-flex;gap:48px;font-family:var(--display);font-size:clamp(28px,4vw,56px);line-height:1;will-change:transform}
.marq .mtrack span{display:inline-flex;align-items:center;gap:48px}
.marq .mtrack b{font-family:var(--han);font-weight:400;opacity:.9}
.marq .mtrack i{font-style:normal;font-size:.5em;opacity:.7}

/* horizontal destinations */
.hsec{padding:0!important;background:#0B0B0E;color:#fff;overflow:hidden}
.hsec .hpin{height:100vh;display:flex;align-items:center;overflow:hidden}
.hsec .htrack{display:flex;gap:2vw;padding:0 4vw;height:76vh;align-items:stretch;will-change:transform}
.hsec .hintro{flex:0 0 min(520px,80vw);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4vh}
.hsec .hintro .eyebrow{color:#F6C9A8}
.hsec .hintro h2{color:#fff;font-size:clamp(44px,6vw,96px);line-height:.95}
.hsec .hintro p{color:#AEB9D3;margin-top:18px;max-width:28em}
.hsec .hintro .hint{margin-top:28px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#F6C9A8;display:flex;align-items:center;gap:12px}
.hsec .hintro .hint::after{content:"";width:60px;height:1px;background:currentColor}
.hsec .bento{display:contents}
.hsec .bc,.hsec .bc:nth-child(n){flex:0 0 auto;width:min(46vw,620px);height:100%;grid-column:auto;grid-row:auto;border-radius:6px}
.hsec .bc:nth-child(3n+2){width:min(34vw,460px);height:86%;align-self:flex-end}
.hsec .bc:nth-child(3n){width:min(40vw,540px);height:92%}
.hsec .bc h3{font-size:clamp(34px,4vw,64px)!important}
.hsec .bc p{display:block!important;font-size:15px}
.hsec .bc .bh{font-size:clamp(90px,10vw,170px);top:-10px;opacity:.9;will-change:transform}
.hsec .bc img{inset:-6% -12%;width:124%;height:112%;will-change:transform}
.hsec .bc .bn{font-family:var(--display);font-size:18px}
.hsec .hprog{position:absolute;bottom:5vh;left:4vw;right:4vw;height:2px;background:rgba(255,255,255,.15)}
.hsec .hprog i{display:block;height:100%;width:0;background:#C23B2A}
.hsec .hhead{position:absolute;top:96px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#8E9AB8}
@media (max-width:900px){.hsec .hpin{height:auto;padding:80px 0}.hsec .htrack{flex-direction:column;height:auto;padding:0 16px;gap:14px}.hsec .bc,.hsec .bc:nth-child(n){width:100%;height:62vh;align-self:auto}.hsec .hprog,.hsec .hhead{display:none}}

/* stacked culture cards */
.stackwrap{position:relative}
.stackwrap .rail{display:block;overflow:visible;padding:0}
.stackwrap .rc{position:sticky;top:110px;width:100%;aspect-ratio:auto;height:min(72vh,640px);margin-bottom:6vh;border-radius:22px;transform-origin:center top;align-items:flex-end}
.stackwrap .rc div{padding:clamp(24px,4vw,56px);max-width:720px}
.stackwrap .rc h3{font-size:clamp(30px,4vw,58px)!important;line-height:1.05}
.stackwrap .rc p{font-size:clamp(15px,1.3vw,19px)}
.stackwrap .rc .cnum{position:absolute;top:24px;inset-inline-end:28px;font-family:var(--han);font-size:clamp(70px,9vw,140px);line-height:1;color:#fff;opacity:.85}

/* reveal helpers */
.fx-clip{clip-path:inset(0 0 0 0)}
.split-line{overflow:hidden;display:block}
.word-dim{opacity:.18}

/* city fx */
.hz video.kbimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h-full>video,.h-gate>video,.h-neon>video,.h-vert>video{z-index:-2}
.h-card .cardpic video{z-index:-2}
.cprog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:60;background:var(--c-accent,#C23B2A)}
[dir="rtl"] .cprog{transform-origin:100% 50%}
.city .stats b{font-variant-numeric:tabular-nums}
.city .lead2 .story .w{transition:none}
.city .hz h1 .sch{display:inline-block;will-change:transform}
.hcar-pin{overflow:hidden}
.hcar-pin .v-car{overflow:visible;scroll-snap-type:none;grid-auto-columns:minmax(320px,30vw)}
.seasons.acc{display:flex;gap:12px;height:420px}
.seasons.acc .season{flex:1;transition:flex .6s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;justify-content:flex-end}
.seasons.acc .season:hover{flex:2.4}
.seasons.acc .season .sz{font-size:140px;opacity:.16}
@media (max-width:900px){.seasons.acc{display:grid;height:auto}}
.magnet{display:inline-flex;will-change:transform}

/* nav over dark heroes */
.nav{transition:background .4s ease,border-color .4s ease}
.nav.ondark{background:rgba(8,8,12,.28);border-bottom-color:rgba(255,255,255,.08)}
.nav.ondark nav a,.nav.ondark .brand b,.nav.ondark .brand small{color:#fff}
.nav.ondark .lang{border-color:rgba(255,255,255,.8)}
.nav.ondark .lang button{color:#fff}
.nav.ondark .lang button[aria-pressed="true"]{background:#fff;color:#111}
.xhero{margin-top:-68px}
.city>.hz.h-full,.city>.hz.h-gate,.city>.hz.h-neon,.city>.hz.h-vert,.city>.hz.h-split{margin-top:-68px}
.city>.hz .back{top:88px}
.city>.hz.h-split .pane{padding-top:170px}
/* ===== story framework (shared) ===== */
.city.story{--s-bg:#0B0B0E;--s-ink:#F2EEE6;--s-accent:#C23B2A;background:var(--s-bg);color:var(--s-ink);position:relative}
.city.story .sback{position:fixed;z-index:40;top:86px;inset-inline-start:20px;color:#fff;text-decoration:none;font-weight:700;font-size:13px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);padding:8px 14px;border-radius:999px;mix-blend-mode:normal}
.plan{background:#F4F1EA;color:#16161A;padding:88px 0}
.plan h2{color:#16161A;font-size:clamp(32px,4vw,56px);line-height:1.05}
.plan .kicker2{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#C23B2A;margin-bottom:8px}
.plan-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
.plan-cta{display:flex;flex-wrap:wrap;gap:12px}
.plan .btn.primary{background:#16161A;border-color:#16161A;color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{background:#fff;border:1px solid #E3DDD0;border-radius:999px;padding:10px 18px;font-weight:700;font-size:15px}
.chips small{display:block;font-weight:700;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8A8377}
.plan details.more{margin-top:24px;border-top:1px solid #E3DDD0;padding-top:16px}
.plan details.more summary{font-weight:700;font-size:16px}
.moregrid{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;margin-top:16px}
.moregrid p,.moregrid li{font-size:15px;color:#4A4640}
.moregrid ol{margin:0;padding-inline-start:20px;display:grid;gap:8px}
.halalnote{background:#EAF4EC;border-radius:12px;padding:16px}
.halalnote b{color:#2E7D4F}
@media (max-width:760px){.moregrid{grid-template-columns:1fr}}
[dir="rtl"] .plan h2{font-family:var(--arabic)}
.city.story~* .fab,.fab{width:50px;height:50px;bottom:16px}
.fab svg{width:26px;height:26px}
.s-guangzhou h1{text-shadow:0 2px 28px rgba(0,0,0,.65),0 0 2px rgba(0,0,0,.6)}
/* ===== map v2: night flight ===== */
.mapsec2{position:relative;background:#05070F;color:#E9EEF8;padding:0!important;overflow:hidden}
.mstage{position:relative;height:100vh;min-height:640px;overflow:hidden;background:radial-gradient(ellipse at 60% 45%,#101a3d 0%,#070b1a 55%,#03050b 100%)}
.mstars{position:absolute;inset:0;width:100%;height:100%}
.mhead{position:absolute;z-index:3;top:110px;inset-inline-start:4vw;max-width:420px}
.mhead .eyebrow{color:#F6C9A8}
.mhead h2{color:#fff;font-size:clamp(40px,5vw,78px);line-height:.95;margin:8px 0 12px}
.mhead p{color:#AEB9D3;font-size:15.5px}
.msvgbox{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center}
.mapsvg2{width:100%;height:100%;display:block}
.mapsvg2 .dots circle{fill:rgba(160,180,255,.12)}
.mapsvg2 .riv{fill:none;stroke:url(#rivg);stroke-width:2.6;stroke-linecap:round}
.mapsvg2 .riv-glow{fill:none;stroke:#3D7BFF;stroke-width:9;opacity:.35}
.mapsvg2 .rlabel2{fill:#7FA2EE;font-size:12px;font-style:italic;letter-spacing:.08em}
.mapsvg2 .flight{fill:none;stroke:#F6C9A8;stroke-width:1.6;stroke-dasharray:3 7;opacity:.85}
.mapsvg2 .flight.alt{opacity:.35}
.mapsvg2 .dubai2{fill:#F6C9A8;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.mapsvg2 .leg{fill:none;stroke:url(#routeg);stroke-width:2;stroke-linecap:round;filter:url(#glow);opacity:.9}
.mapsvg2 .mcity{cursor:pointer}
.mapsvg2 .mcity .halo{opacity:.55;transform-box:fill-box;transform-origin:center;transition:opacity .4s}
.mapsvg2 .mcity .ring{fill:none;stroke:#FFD58A;stroke-width:1.4;opacity:.6;transform-box:fill-box;transform-origin:center}
@keyframes ringp{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.6);opacity:0}}
.mapsvg2 .mcity .core{fill:#FFE7B5;filter:url(#glow)}
.mapsvg2 .mcity .zh{fill:#fff;font-family:var(--han);font-size:22px;opacity:.9}
.mapsvg2 .mcity .en{fill:#C9D3E6;font-size:12px;font-weight:700;letter-spacing:.06em}
.mapsvg2 .mcity.on .halo{opacity:1}
.mapsvg2 .mcity.on .core{fill:#fff}
.mapsvg2 .mcity.on .zh{fill:#FFD58A}
.mapsvg2 .mcity:focus{outline:none}
.mcard{position:absolute;z-index:3;inset-inline-end:4vw;bottom:9vh;width:min(360px,80vw);color:#fff}
.mcard .mnum{font-family:var(--display);font-size:15px;letter-spacing:.2em;color:#F6C9A8}
.mcard .mnum span{opacity:.5}
.mcard .mzh{font-family:var(--han);font-size:clamp(70px,8vw,120px);line-height:1;color:#fff;text-shadow:0 0 40px rgba(255,180,90,.35);margin:4px 0 10px}
.mcard figure{margin:0 0 16px;width:100%;aspect-ratio:16/10;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,213,138,.25)}
.mcard figure img{width:100%;height:100%;object-fit:cover;display:block}
.mcard h3{color:#fff;font-size:30px;margin-bottom:6px}
[dir="rtl"] .mcard h3{font-family:var(--arabic)}
.mcard p{color:#C9D3E6;font-size:15px;margin-bottom:16px}
.mcard p b{font-family:var(--han);font-weight:400;color:#FFD58A;font-size:17px}
.mprog{position:absolute;z-index:3;left:4vw;right:4vw;bottom:4vh;height:2px;background:rgba(255,255,255,.12)}
.mprog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#C23B2A,#FFD58A)}
@media (max-width:900px){.mstage{height:auto;min-height:0;padding:96px 0 40px}.mhead{position:relative;top:0;padding:0 16px;max-width:none}.msvgbox{position:relative;height:62vh}.mcard{position:relative;inset:auto;margin:0 16px;width:auto}.mprog{display:none}}
/* home polish */
.promises>div{position:relative;overflow:hidden;padding-top:70px!important}
.promises>div::before{content:attr(data-g);position:absolute;top:10px;inset-inline-start:20px;font-family:var(--han);font-size:52px;line-height:1;color:var(--seal);opacity:.9}
.promises>div::after{content:attr(data-g);position:absolute;bottom:-30px;inset-inline-end:-10px;font-family:var(--han);font-size:150px;line-height:1;color:var(--cobalt);opacity:.05;pointer-events:none}
.steps{position:relative}
.steps .stepline{position:absolute;top:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--seal),#F6C9A8);transform-origin:0 50%}
[dir="rtl"] .steps .stepline{transform-origin:100% 50%}
.step .n{font-size:64px!important}
.vbig{font-family:var(--display);font-size:clamp(48px,5vw,72px);line-height:1;color:var(--seal);margin-bottom:8px;font-variant-numeric:tabular-nums}
.vbig small{font-size:.32em;color:var(--muted);letter-spacing:.06em}
.vq{color:var(--cobalt)}
footer{position:relative;overflow:hidden;padding-top:0!important}
.bigmark{font-family:var(--han);font-size:clamp(90px,22vw,320px);line-height:1;color:rgba(255,255,255,.06);text-align:center;letter-spacing:.06em;padding:40px 0 10px;white-space:nowrap;pointer-events:none}
#how{background:linear-gradient(180deg,var(--porcelain),#EEF1F7)}
.inq .wrap>div:first-child{position:relative;border-radius:22px;overflow:hidden;padding:44px 36px;color:#fff;background:#0B1430 url(img2/guilin_hero.webp) center/cover;isolation:isolate;align-self:start}
.inq .wrap>div:first-child::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,14,34,.35),rgba(8,14,34,.88))}
.inq .wrap>div:first-child h2{color:#fff}
.inq .wrap>div:first-child .eyebrow{color:#F6C9A8}
.inq .wrap>div:first-child p,.inq .contact small{color:#D5DCEB!important}
.inq .contact a,.inq .contact span{color:#fff!important}
.inq form{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 30px 80px rgba(20,32,63,.08)}
.xhero .xvid picture,.xhero .xvid img{position:absolute;inset:0;width:100%;height:100%}
.xhero .xvid img{object-fit:cover;object-position:center 60%}
@keyframes heroDrift{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@media (prefers-reduced-motion:reduce){.xhero .xvid img{animation:none}}
/* promises v2 */
.pz{padding:72px 0 40px;background:var(--porcelain)}
.pzrow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pzc{position:relative;height:460px;border-radius:22px;overflow:hidden;color:#fff;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;box-shadow:0 18px 50px rgba(20,32,63,.14);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pzc:hover{transform:translateY(-8px)}
.pzbg{position:absolute;inset:0;z-index:-2;background:var(--img) center/cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.pzc:hover .pzbg{transform:scale(1.07)}
.pzc::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,12,28,.15) 0%,rgba(8,12,28,.35) 45%,rgba(8,12,28,.9) 100%)}
.pseal{position:absolute;top:20px;inset-inline-start:20px;width:72px;height:72px;display:grid;place-items:center;background:#C23B2A;color:#fff;font-family:var(--han);font-size:46px;line-height:1;border-radius:10px;transform:rotate(-5deg);box-shadow:0 10px 24px rgba(0,0,0,.35),inset 0 0 0 3px rgba(255,255,255,.18)}
.pztx b{display:block;font-family:var(--display);font-weight:400;font-size:26px;margin-bottom:6px;color:#fff}
[dir="rtl"] .pztx b{font-family:var(--arabic);font-weight:600;font-size:21px}
.pztx span{font-size:14.5px;color:#DCE4F7;line-height:1.5}
.pzart{position:absolute;left:24px;right:24px;top:110px;bottom:130px;display:flex;align-items:center;justify-content:center}
.bubs{flex-direction:column;align-items:flex-start;gap:10px}
.bub{display:inline-block;padding:9px 16px;border-radius:18px 18px 18px 4px;background:rgba(255,255,255,.94);color:#14203F;font-weight:700;font-size:18px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.bub.b1{font-family:var(--han);font-weight:400;font-size:22px}
.bub.b2{align-self:center;background:#F6C9A8}
.bub.b3{align-self:flex-end;border-radius:18px 18px 4px 18px;font-family:var(--arabic);background:#1F8F55;color:#fff}
.ring svg{width:170px;height:170px}
.ring .spin{transform-origin:100px 100px}
@keyframes spinr{to{transform:rotate(360deg)}}
.ring text{fill:#fff;font-size:13px;font-weight:700;letter-spacing:2px}
.ring .rmid{font-family:var(--han);font-size:34px;letter-spacing:0;font-weight:400}
.icons{flex-wrap:wrap;gap:10px;align-content:center}
.icons i{font-style:normal;display:flex;flex-direction:column;align-items:center;gap:4px;width:66px;padding:10px 4px;border-radius:14px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25)}
.icons svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icons small{font-size:11px;font-weight:700;color:#fff}
.chat{flex-direction:column;gap:8px;align-items:stretch}
.cm{max-width:86%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.35;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.cm.in{align-self:flex-start;background:#fff;color:#14203F;border-top-left-radius:4px}
.cm.out{align-self:flex-end;background:#DCF8C6;color:#14203F;border-top-right-radius:4px}
[dir="rtl"] .cm.in{align-self:flex-end;border-top-left-radius:14px;border-top-right-radius:4px}
[dir="rtl"] .cm.out{align-self:flex-start;border-top-right-radius:14px;border-top-left-radius:4px}
@media (max-width:900px){.pzrow{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78vw;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 4px 14px;scrollbar-width:none}.pzrow::-webkit-scrollbar{display:none}.pzc{scroll-snap-align:center;height:440px}}
/* mobile map tour */
.mnav{display:none}
@media (max-width:900px){
.mnav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:18px 16px 0;color:#C9D3E6}
.mnav .mbtn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,213,138,.45);background:rgba(255,255,255,.06);color:#FFD58A;font-size:18px;cursor:pointer}
.mnav .mdots{display:flex;gap:7px;flex:1;justify-content:center}
.mnav .mdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.28);transition:all .35s;cursor:pointer}
.mnav .mdots i.on{width:22px;border-radius:4px;background:#FFD58A}
.mnav .mhint{width:100%;text-align:center;font-size:12px;letter-spacing:.06em;opacity:.6}
.mcard{touch-action:pan-y}
}
.mstars{pointer-events:none}
@media (max-width:900px){.mnav{position:relative;z-index:4}}
.moregrid{grid-template-columns:1fr}
/* ===== round 6: home polish (mobile first) ===== */
.xhero{height:100vh;height:100svh}
.xhero .lede .l1{display:inline}
/* mobile menu */
.mtog{display:none}
#mmenu{display:none}
@media (max-width:860px){
.mtog{display:grid;place-content:center;gap:6px;width:44px;height:44px;margin-inline-start:4px;border:0;border-radius:50%;background:transparent;cursor:pointer;position:relative;z-index:31;-webkit-tap-highlight-color:transparent}
.mtog i{display:block;width:22px;height:2px;border-radius:2px;background:var(--ink);transition:transform .45s cubic-bezier(.7,0,.2,1),background .3s}
.nav.ondark .mtog i{background:#fff}
html.mm-open .mtog i{background:#fff}
html.mm-open .mtog i:first-child{transform:translateY(4px) rotate(45deg)}
html.mm-open .mtog i:last-child{transform:translateY(-4px) rotate(-45deg)}
html.mm-open .nav{background:transparent;border-bottom-color:transparent;backdrop-filter:none}
html.mm-open .nav .brand b,html.mm-open .nav .brand small{color:#fff}
html.mm-open .nav .lang{border-color:rgba(255,255,255,.8)}
html.mm-open .nav .lang button{color:#fff}
html.mm-open .nav .lang button[aria-pressed="true"]{background:#fff;color:#111}
#mmenu{display:flex;position:fixed;inset:0;z-index:19;flex-direction:column;justify-content:center;padding:96px 28px 40px;background:#0B1430;color:#fff;clip-path:circle(0% at calc(100% - 40px) 34px);transition:clip-path .6s cubic-bezier(.7,0,.2,1);overflow:hidden}
[dir="rtl"] #mmenu{clip-path:circle(0% at 40px 34px)}
#mmenu[hidden]{display:none}
html.mm-open #mmenu{clip-path:circle(150% at calc(100% - 40px) 34px)}
html.mm-open[dir="rtl"] #mmenu{clip-path:circle(150% at 40px 34px)}
.mm-links{display:flex;flex-direction:column}
.mm-links a{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;text-decoration:none;font-family:var(--display);font-size:clamp(28px,8vw,38px);line-height:1.1;opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
[dir="rtl"] .mm-links a{font-family:var(--arabic);font-size:26px}
.mm-links a b{font-family:var(--han);font-weight:400;font-size:.8em;color:#F6C9A8;width:1.2em;text-align:center}
.mm-links a:active{color:#F6C9A8}
html.mm-open .mm-links a{opacity:1;transform:none}
html.mm-open .mm-links a:nth-child(1){transition-delay:.18s}html.mm-open .mm-links a:nth-child(2){transition-delay:.24s}html.mm-open .mm-links a:nth-child(3){transition-delay:.3s}html.mm-open .mm-links a:nth-child(4){transition-delay:.36s}html.mm-open .mm-links a:nth-child(5){transition-delay:.42s}
.mm-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:32px;opacity:0;transition:opacity .5s ease .45s;color:#AEB9D3;font-size:15px}
html.mm-open .mm-foot{opacity:1}
.mm-mark{position:absolute;bottom:-30px;inset-inline-end:-10px;font-family:var(--han);font-size:52vw;line-height:1;color:rgba(255,255,255,.04);pointer-events:none}
html.mm-open body{overflow:hidden}
html.mm-open .fab{opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){#mmenu,.mm-links a,.mm-foot,.mtog i{transition:none!important}}

/* map: glass panel behind the city card on desktop so labels never collide with text */
@media (min-width:900px){
.mcard{padding:20px 22px 22px;background:rgba(5,8,22,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,213,138,.16);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.mcard .mzh{margin-top:0}
}

@media (max-width:899px){
/* section rhythm */
#home section{padding-top:64px;padding-bottom:64px}
#home section.xhero,#home section.hsec,#home section.mapsec2{padding:0}
#culture,#visa{padding-top:0!important}
.head{margin-bottom:26px}
.pz{padding:40px 0 28px}
/* hero: one sentence on phones, CTAs clear of the home bar */
.xhero .xcopy{padding-bottom:calc(7vh + env(safe-area-inset-bottom))}
.xhero .xcopy h1{font-size:clamp(46px,13vw,64px);margin:12px 0 14px}
.xhero .xcopy .lede{font-size:17px;line-height:1.5}
.xhero .lede .l1{display:none}
.xhero .xcopy .eyebrow{font-size:11.5px}
.xhero .ctas{margin-top:22px}
/* map: card floats on the map, the whole tour fits one screen */
.mstage{display:grid;grid-template-columns:100%;padding:76px 0 24px}
.mhead{grid-area:1/1;padding:0 20px}
.mhead h2{font-size:44px;margin:6px 0 8px}
.mhead p{font-size:14.5px;max-width:30em}
.msvgbox{grid-area:2/1;height:min(70svh,600px);margin-top:4px}
.mcard{grid-area:2/1;align-self:end;z-index:3;margin:0 12px 12px;display:grid;grid-template-columns:96px 1fr auto;grid-template-rows:auto auto 1fr auto;column-gap:14px;padding:12px;border-radius:20px;background:rgba(6,10,26,.74);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,213,138,.2);box-shadow:0 24px 60px rgba(0,0,0,.55)}
.mcard figure{grid-column:1;grid-row:1/5;margin:0;aspect-ratio:auto;height:100%;min-height:118px;border-radius:13px;box-shadow:none}
.mcard .mnum{grid-column:2;grid-row:1;font-size:11px}
.mcard .mzh{grid-column:3;grid-row:1/5;writing-mode:vertical-rl;font-size:30px;line-height:1.05;margin:0;align-self:center;text-shadow:0 0 24px rgba(255,180,90,.45)}
.mcard h3{grid-column:2;grid-row:2;font-size:21px;line-height:1.15;margin:2px 0 3px}
[dir="rtl"] .mcard h3{font-size:17px}
.mcard p{grid-column:2;grid-row:3;font-size:12.5px;line-height:1.4;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mcard p b{font-size:14px}
.mcard .btn{grid-column:2;grid-row:4;justify-self:start;padding:7px 14px;font-size:13px;border-width:1px}
.mnav{grid-area:3/1;margin:14px 16px 0}
/* destinations: sticky card deck */
.hsec{overflow:visible;overflow-x:clip}
.hsec .hpin{overflow:visible;padding:64px 0 28px}
.hsec .hintro{flex:none;padding:0 4px 18px}
.hsec .hintro h2{font-size:44px}
.hsec .hintro .hint{display:none}
.hsec .htrack{gap:0}
.hsec .bc,.hsec .bc:nth-child(n){position:sticky;top:calc(78px + var(--i,0)*8px);height:min(62svh,540px);margin-bottom:16px;transform-origin:50% 0;box-shadow:0 -10px 40px rgba(0,0,0,.45);border-radius:22px}
.hsec .bc:last-child{margin-bottom:0}
.hsec .bc::after{content:"";position:absolute;inset:0;z-index:1;background:#000;opacity:var(--dim,0);pointer-events:none}
.hsec .bc>a{padding:22px 22px 68px}
.hsec .bc h3{font-size:clamp(34px,10vw,44px)!important;line-height:1.02}
.hsec .bc .bh{font-size:84px;top:8px}
.hsec .bc img{inset:0;width:100%;height:100%;transform-origin:50% 40%}
.hsec .bc .add{bottom:20px;padding:9px 16px;font-size:13.5px}
/* culture: readable cards, text below the photo */
#cult.rail{grid-auto-columns:82vw;gap:12px;scrollbar-width:none;padding-bottom:6px;margin:0 -16px;padding-inline:16px;scroll-padding-inline:16px}
#cult.rail::-webkit-scrollbar{display:none}
#cult .rc{aspect-ratio:auto;flex-direction:column;align-items:stretch;background:#0F1733;border-radius:20px}
#cult .rc img{position:relative;inset:auto;height:58vw;max-height:300px;z-index:0}
#cult .rc::before{display:none}
#cult .rc div{padding:16px 18px 20px}
#cult .rc h3{font-size:23px;line-height:1.15}
#cult .rc p{font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* how it works: numeral beside each step */
.step{display:grid;grid-template-columns:58px 1fr;column-gap:12px;padding-top:16px}
.step .n{grid-row:1/3;font-size:46px!important}
.step h3{margin:2px 0 4px;font-size:21px}
.step p{font-size:15px}
.steps{gap:18px}
/* visa: number beside title */
.visa{gap:12px}
.vcard{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px;padding:18px 18px 18px 20px}
.vcard .vbig{font-size:44px;margin:0;white-space:nowrap}
.vcard h3{font-size:19px;margin:0;line-height:1.2}
.vcard p{grid-column:1/-1;font-size:14.5px;margin-top:10px;line-height:1.55}
/* form */
.inq .wrap>div:first-child{padding:32px 24px}
.inq form{padding:22px 18px}
}
/* halal checkbox aligned with its label */
.f label:has(#q-halal){display:flex;flex-wrap:nowrap;align-items:center;gap:10px;font-weight:600}
#q-halal{width:20px;height:20px;flex:none;margin:0;accent-color:var(--cobalt)}
@media (max-width:860px){
.nav .wrap{gap:8px;padding:0 12px}
.brand{gap:9px;min-width:0}
.brand .seal{width:36px;height:36px;font-size:20px;flex:none}
.brand b{font-size:16.5px;white-space:nowrap}
.brand small{font-size:11.5px;letter-spacing:.16em;white-space:nowrap}
.lang{flex:none}
.lang button{padding:6px 10px;font-size:13px}
.mtog{width:40px;height:40px;flex:none}
}
@media (max-width:899px){
#culture{padding-top:48px!important}
footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media (max-width:374px){.brand b{font-size:14.5px}.brand small{letter-spacing:.08em}}
@media (min-width:900px){.mcard .mzh{white-space:nowrap;font-size:clamp(60px,6vw,100px)}}
[dir="rtl"] .hsec .hintro h2,[dir="rtl"] .mhead h2{line-height:1.3}
[dir="rtl"] .hsec .bc h3{line-height:1.25}
/* city back button: tucks away while scrolling down, returns on scroll up */
.city.story .sback{transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .3s ease;will-change:transform}
.city.story .sback.hid{transform:translateY(-160%);opacity:0;pointer-events:none}
@media (max-width:899px){.city.story .sback{top:78px;inset-inline-start:12px;font-size:12px;padding:6px 12px}}
@media (prefers-reduced-motion:reduce){.city.story .sback{transition:none}}
/* how it works: seal numerals + faint watermark */
#how{position:relative;overflow:hidden}
.step{position:relative}
.step::after{content:attr(data-g);position:absolute;top:-6px;inset-inline-end:0;font-family:var(--han);font-size:120px;line-height:1;color:var(--cobalt);opacity:.05;pointer-events:none}
.step .n{width:56px;height:56px;display:grid;place-items:center;border-radius:12px;background:var(--seal);color:#fff!important;font-size:32px!important;line-height:1;transform:rotate(-4deg);box-shadow:inset 0 0 0 3px rgba(255,255,255,.22),0 8px 18px rgba(196,30,58,.22);margin-bottom:8px}
@media (max-width:860px){
  .steps .stepline{display:none}
  .step{border-top:0;grid-template-columns:52px 1fr;column-gap:16px;padding-top:0}
  .step .n{width:48px;height:48px;font-size:26px!important;margin:0}
  .step:not(:last-child)::before{content:"";position:absolute;top:56px;bottom:-14px;inset-inline-start:23px;border-inline-start:2px dotted rgba(196,30,58,.35)}
  .step::after{font-size:92px;top:-10px}
  .step h3{margin-top:10px}
}
/* FAQ: numbered, seal toggle, accent when open */
#faq{position:relative;overflow:hidden}
#faq::before{content:"问";position:absolute;top:30px;inset-inline-end:-20px;font-family:var(--han);font-size:clamp(180px,26vw,360px);line-height:1;color:var(--cobalt);opacity:.04;pointer-events:none}
#faq .faq{counter-reset:fq;position:relative}
#faq details{counter-increment:fq;position:relative;padding:18px 0;padding-inline-start:52px;transition:background .3s ease}
#faq details::before{content:"";position:absolute;inset-block:12px;inset-inline-start:0;width:3px;border-radius:2px;background:var(--seal);transform:scaleY(0);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
#faq details[open]:not(.closing)::before{transform:scaleY(1)}
#faq summary{align-items:center}
#faq summary::before{content:counter(fq,decimal-leading-zero);position:absolute;inset-inline-start:14px;top:21px;font-family:var(--display);font-size:15px;color:var(--seal);letter-spacing:.04em}
#faq summary::after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(29,63,140,.3);font-size:20px;font-weight:400;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
#faq details[open]:not(.closing) summary::after{content:"+";transform:rotate(45deg);background:var(--seal);border-color:var(--seal);color:#fff}
#faq details p{overflow:hidden}
#faq summary::-webkit-details-marker{display:none}
@media (max-width:860px){#faq details{padding-inline-start:40px}#faq summary::before{inset-inline-start:4px}#faq summary{font-size:16.5px}}
@media (prefers-reduced-motion:reduce){#faq details::before,#faq summary::after{transition:none}}
/* map controls clear of the WhatsApp button on mobile (FAB sits at inline-end) */
@media (max-width:900px){.mnav{padding-inline-end:56px}.mnav .mhint{padding-inline-start:56px}}
/* map v3: real relief + China outline */
.mapsvg2 .relief{opacity:.95}
.mapsvg2 .cn-glow{fill:none;stroke:#F2B45C;stroke-width:calc(5px*var(--k,1));opacity:.35}
.mapsvg2 .cn-line{fill:none;stroke:#FFD58A;stroke-width:calc(1.3px*var(--k,1));stroke-linejoin:round;opacity:.9}
.mapsvg2 .cn-prov{fill:none;stroke:rgba(255,236,200,.16);stroke-width:calc(.7px*var(--k,1));stroke-linejoin:round}
.mapsvg2 .cn-nh{fill:none;stroke:rgba(255,213,138,.8);stroke-width:calc(1px*var(--k,1))}
.mapsvg2 .mcity .zh{font-size:calc(22px*var(--k,1))}
.mapsvg2 .mcity .en{font-size:calc(12px*var(--k,1))}
.mapsvg2 .rlabel2{font-size:calc(12px*var(--k,1))}
.mapsvg2 .dubai2{font-size:calc(13px*var(--k,1))}
.mapsvg2 .riv{stroke-width:calc(2.6px*var(--k,1))}
.mapsvg2 .flight{stroke-width:calc(1.6px*var(--k,1))}
.mapsvg2 .leg{stroke-width:calc(2px*var(--k,1))}

/* map perf + plain background */
.mstage{background:#0A1022}
.mstars{display:none}
.mapsvg2 .leg{filter:none}
.mapsvg2 .mcity .core{filter:none}
.mapsvg2 .riv-glow{opacity:.18}
.mapsvg2 .cn-glow{stroke-width:calc(7px*var(--k,1));opacity:.16}
.mapsvg2{shape-rendering:geometricPrecision}

/* ===== r7: new positioning — signature journeys, ways, trust, gateways ===== */
.jsec{background:var(--porcelain)}
.jgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.jc{position:relative;display:flex;flex-direction:column;background:var(--paper);border-radius:24px;overflow:hidden;box-shadow:0 1px 0 var(--line),0 24px 60px rgba(20,32,63,.08);transition:box-shadow .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.jc:hover{transform:translateY(-4px);box-shadow:0 1px 0 var(--line),0 34px 80px rgba(20,32,63,.14)}
.jc.on{box-shadow:0 0 0 2px var(--cobalt),0 24px 60px rgba(20,32,63,.12)}
.jfig{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;background:#0B1430;isolation:isolate}
.jfig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.jc:hover .jfig img{transform:scale(1.05)}
.jfig::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,34,.35) 0%,rgba(8,14,34,0) 30%,rgba(8,14,34,0) 55%,rgba(8,14,34,.6) 100%);pointer-events:none}
.jno{position:absolute;z-index:2;top:18px;inset-inline-start:22px;font-family:var(--display);font-size:15px;letter-spacing:.2em;color:#fff}
.jdays{position:absolute;z-index:2;top:14px;inset-inline-end:16px;background:rgba(255,255,255,.94);color:var(--ink);font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;letter-spacing:.02em}
.jhan{position:absolute;z-index:2;bottom:-14px;inset-inline-end:18px;font-family:var(--han);font-size:clamp(88px,9vw,132px);line-height:1;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.35);opacity:.95;pointer-events:none}
.jbody{position:relative;display:flex;flex-direction:column;flex:1;padding:26px 28px 24px}
.jc.hasin .jbody{padding-top:58px}
.jin{position:absolute;top:-44px;inset-inline-start:24px;width:88px;height:88px;border-radius:50%;overflow:hidden;border:4px solid var(--paper);box-shadow:0 10px 30px rgba(20,32,63,.25);background:var(--mist)}
.jin img{width:100%;height:100%;object-fit:cover;display:block}
.jbody h3{font-size:clamp(26px,2.4vw,32px);line-height:1.12}
[dir="rtl"] .jbody h3{font-family:var(--arabic);font-weight:700;font-size:24px;line-height:1.35}
.jroute{margin-top:8px;font-size:13.5px;color:var(--muted);letter-spacing:.02em}
.jmeta{display:grid;grid-template-columns:auto 1fr;gap:16px 28px;margin:20px 0 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jmeta div{min-width:0}
.jmeta dt{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--seal)}
[dir="rtl"] .jmeta dt{letter-spacing:0;font-size:12px}
.jmeta dd{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.35}
.jchips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.jchips li{font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:#EEF2FA;color:var(--cobalt)}
.jfoot{margin-top:auto;padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.jprice{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.jprice::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--seal);flex:none}
.jact{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.jcta{padding:12px 20px;font-size:15px}
.jadd{border:0;background:none;padding:6px 0;font:inherit;font-size:14px;font-weight:700;color:var(--cobalt);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.jadd[aria-pressed="true"]{color:#1F8F55;text-decoration:none}
@media (max-width:899px){
  .jgrid{grid-template-columns:1fr;gap:20px}
  .jfig{aspect-ratio:4/3}
  .jbody{padding:22px 20px 20px}
  .jc.hasin .jbody{padding-top:50px}
  .jin{width:76px;height:76px;top:-38px;inset-inline-start:18px}
  .jbody h3{font-size:26px}
  .jmeta{grid-template-columns:1fr;gap:10px;padding:14px 0}
  .jmeta div{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:baseline}
  .jmeta dd{margin:0}
  .jfoot{flex-direction:column;align-items:stretch;gap:12px}
  .jact{justify-content:space-between}
  .jcta{flex:1;justify-content:center}
  .jhan{font-size:96px}
}
/* three ways */
.ways{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.way{position:relative;padding:28px 28px 26px;border-inline-start:1px solid var(--line);display:flex;flex-direction:column;gap:8px;overflow:hidden;transition:background .3s ease}
.way:first-child{border-inline-start:0}
.way.on{background:#EEF2FA}
.way .wn{position:absolute;top:6px;inset-inline-end:10px;font-family:var(--han);font-size:110px;line-height:1;color:var(--cobalt);opacity:.07;pointer-events:none}
.way small{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--seal)}
[dir="rtl"] .way small{letter-spacing:0;font-size:13px}
.way h3{font-size:24px;line-height:1.2;max-width:14em}
[dir="rtl"] .way h3{font-family:var(--arabic);font-weight:700;font-size:20px;line-height:1.4}
.way p{color:var(--muted);font-size:15.5px}
.wbtn{margin-top:auto;align-self:flex-start;border:1px solid var(--cobalt);background:transparent;color:var(--cobalt);border-radius:999px;padding:8px 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.way p{margin-bottom:10px}
.wbtn[aria-pressed="true"]{background:var(--cobalt);color:#fff}
@media (max-width:899px){
  .wgrid{grid-template-columns:1fr}
  .way{border-inline-start:0;border-bottom:1px solid var(--line);padding:22px 4px 22px}
  .way.on{padding-inline:14px}
  .way .wn{font-size:84px}
}
/* trust */
.trust{background:#0B1430;color:#E9EEF8;position:relative;overflow:hidden}
.trust::after{content:"信";position:absolute;inset-inline-end:-2vw;bottom:-8vw;font-family:var(--han);font-size:36vw;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}
.trust h2{color:#fff}
.trust .eyebrow{color:#F6C9A8}
.tlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;z-index:1}
.tlist li{display:flex;flex-direction:column;gap:16px;padding:6px 22px 4px;border-inline-start:1px solid rgba(255,255,255,.12)}
.tlist li:first-child{border-inline-start:0;padding-inline-start:0}
.tlist .tg{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:var(--seal);color:#fff;font-family:var(--han);font-size:30px;line-height:1;transform:rotate(-4deg);box-shadow:inset 0 0 0 3px rgba(255,255,255,.2)}
.tlist b{display:block;font-family:var(--display);font-weight:400;font-size:20px;line-height:1.25;color:#fff;margin-bottom:6px}
[dir="rtl"] .tlist b{font-family:var(--arabic);font-weight:700;font-size:17px;line-height:1.5}
.tlist div span{font-size:14.5px;color:#AEB9D3;line-height:1.5}
@media (max-width:1100px) and (min-width:900px){.tlist{grid-template-columns:repeat(3,1fr);row-gap:36px}.tlist li:nth-child(4){border-inline-start:0;padding-inline-start:0}}
@media (max-width:899px){
  .tlist{grid-template-columns:1fr;gap:0}
  .tlist li{flex-direction:row;align-items:flex-start;gap:16px;padding:18px 0;border-inline-start:0;border-top:1px solid rgba(255,255,255,.1)}
  .tlist li:first-child{border-top:0;padding-top:4px}
  .tlist .tg{width:46px;height:46px;font-size:26px;flex:none}
  .tlist b{font-size:19px}
}
/* destinations: gateway divider + pending placeholders */
.hsec .gwdiv{flex:0 0 min(440px,72vw);display:flex;align-items:flex-end;padding:0 1vw 4vh 3vw;border-inline-start:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.gwdiv .gwk{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#F6C9A8}
[dir="rtl"] .gwdiv .gwk{letter-spacing:0}
.gwdiv h3{color:#fff;font-size:clamp(40px,4.2vw,64px);line-height:.98;margin:10px 0 14px;white-space:nowrap}
[dir="rtl"] .gwdiv h3{white-space:normal}
[dir="rtl"] .gwdiv h3{font-family:var(--arabic);font-weight:700;line-height:1.3;font-size:clamp(36px,4vw,60px)}
.gwdiv p{color:#AEB9D3;max-width:24em;font-size:15.5px}
.gwdiv .gwz{position:absolute;top:2vh;inset-inline-end:0;font-family:var(--han);font-size:clamp(110px,12vw,190px);line-height:1;color:rgba(255,255,255,.06);writing-mode:vertical-rl;pointer-events:none}
.bc.noimg{background:linear-gradient(160deg,#23408E 0%,#0B1430 70%)}
.bc.noimg .ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--han);font-size:min(60vw,320px);color:rgba(255,255,255,.07);z-index:-1;line-height:1}
@media (max-width:899px){
  .hsec .gwdiv{position:sticky;top:calc(78px + var(--i,0)*8px);flex:none;display:block;padding:28px 24px 30px;margin-bottom:16px;border-radius:22px;border:1px solid rgba(255,213,138,.22);background:#11182F;box-shadow:0 -10px 40px rgba(0,0,0,.45)}
  .gwdiv h3{font-size:44px}
  .gwdiv .gwz{font-size:120px;top:10px;inset-inline-end:6px}
}
/* map: gateways */
.mapsvg2 .gwmark{fill:none;stroke:#FFD58A;stroke-width:calc(1.2px*var(--k,1));stroke-dasharray:calc(3px*var(--k,1)) calc(3px*var(--k,1));opacity:.85;transform-box:fill-box;transform-origin:center}
.mleg{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FFD58A}
[dir="rtl"] .mleg{letter-spacing:0}
.mleg i{width:18px;height:18px;border-radius:50%;border:1.5px dashed #FFD58A;flex:none}
.mcard .mgw{font-style:normal;font-size:10.5px;letter-spacing:.14em;margin-inline-start:8px;padding:2px 8px;border:1px dashed rgba(255,213,138,.6);border-radius:999px;color:#FFD58A;opacity:1;vertical-align:2px}
[dir="rtl"] .mcard .mgw{letter-spacing:0}
.mcard figure.ph{display:grid;place-items:center;background:linear-gradient(160deg,#23408E,#0B1430)}
.mcard figure.ph span{font-family:var(--han);font-size:72px;color:rgba(255,255,255,.35);line-height:1}
@media (max-width:899px){.mleg{margin-top:8px;font-size:11px}.mcard .mgw{display:none}}
/* form: style + journeys */
.flab{font-size:14px;font-weight:700}
.picks.seg label{padding:9px 14px}
#jpicks label{border-radius:12px}

@media (max-width:900px){.hsec .bc img,.hsec .bc .bh{will-change:auto!important}.hsec .bc.hgone{visibility:hidden}.hsec .bc{box-shadow:0 -6px 20px rgba(0,0,0,.4)!important}}

@media (max-width:900px){.hsec .bc{transition:filter .4s ease}.hsec .bc.hdim{filter:brightness(.55)}.hsec .bc img{transform:none!important}}

/* ===================================================================
   POLISH PASS (Nov 2026): one rhythm, one heading scale, calm touch
   =================================================================== */
:root{--sec:112px;--head-gap:44px;--r-card:20px;--sh-card:0 18px 44px rgba(20,32,63,.12);--h2:clamp(30px,4.2vw,46px)}
@media (max-width:899px){:root{--sec:88px;--head-gap:32px}}
@media (max-width:599px){:root{--sec:72px;--head-gap:28px}}

/* --- section rhythm: every home section uses --sec; same-colour neighbours share one gap --- */
#home>section:not(.xhero):not(.hsec){padding-top:var(--sec)!important;padding-bottom:var(--sec)!important}
#home #why,#home #how,#home #cband,#home #faq{padding-top:0!important}
#home #visa{padding-top:var(--sec)!important}
#home .head{margin-bottom:var(--head-gap)}
#how .tlh{margin-bottom:var(--head-gap)}
.revsec{border-top:0;border-bottom:0}

/* --- headings: same eyebrow / h2 everywhere --- */
#home .eyebrow,#planview .eyebrow{font-size:13px;letter-spacing:.18em;font-weight:700;line-height:1.4}
[dir="rtl"] #home .eyebrow,[dir="rtl"] #planview .eyebrow{letter-spacing:0;font-size:14px}
#home .head h2,#how .tlh h3,#cband .cbin h2{font-family:var(--display);font-weight:400;font-size:var(--h2);line-height:1.12;margin-top:10px;max-width:22ch}
[dir="rtl"] #home .head h2,[dir="rtl"] #how .tlh h3,[dir="rtl"] #cband .cbin h2{font-family:var(--arabic);font-weight:600;line-height:1.35}
#how .tlh .eyebrow{display:block}
#home .head p{font-size:16px;line-height:1.6;color:var(--muted)}
.xhero .xcopy .eyebrow{font-size:12.5px}
.hsec .hintro h2{margin-top:10px}

/* --- buttons: one height, one radius --- */
#home .btn,#planview .btn{min-height:52px;padding:12px 24px;line-height:1.2;border-radius:999px;font-size:16px;justify-content:center;box-sizing:border-box}
#planview .paper .btn.primary{min-width:220px}

/* --- cards: one radius, one shadow on light sections --- */
.pzc,#cult .rc,.rev,.vq,.vpage,.cbin,.hsec .bc,.hsec .bc:nth-child(n),.hsec .gwdiv,.stackwrap .rc{border-radius:var(--r-card)}
.pzc,.vq,.vpage{box-shadow:var(--sh-card)}
.vq{border-color:rgba(20,32,63,.08)}
.cbin{box-shadow:0 24px 60px rgba(20,32,63,.22)}

/* --- small / low-contrast text --- */
.icons small{font-size:12px}
.tls small{font-size:12px;letter-spacing:.14em}
.tls p{color:#55607A}
.vsum span,.note{color:#55607A}
.vpg-h span{font-size:11.5px}
.paper .contact small{font-size:12px;color:#6b5c45}
.rev .who small{color:#55607A}
[dir="rtl"] .tls small,[dir="rtl"] .icons small{letter-spacing:0;font-size:13px}

/* --- why: promise cards line up; snap row swipes natively --- */
.pzrow{align-items:stretch}
.pztx span{display:block}
@media (hover:hover) and (pointer:fine){.pzc:hover{transform:translateY(-8px)}}
@media (hover:none),(pointer:coarse){.pzc:hover{transform:none}.pzc:hover .pzbg{transform:none}.rc:hover img{transform:none}}
@media (max-width:900px){
  .pzrow{grid-auto-columns:min(78vw,340px);gap:14px;margin:0 -16px;padding:4px 16px 18px;scroll-padding-inline:16px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
  .pzc{scroll-snap-align:start;scroll-snap-stop:always;height:440px}
  .pzc,.pzc *{will-change:auto}
}
@media (min-width:421px) and (max-width:900px){.pzrow{margin:0 -24px;padding-inline:24px;scroll-padding-inline:24px}}

/* --- culture rail: native momentum, no transforms on children --- */
.rail{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#cult.rail>.rc{scroll-snap-stop:always}
@media (max-width:899px){
  #cult.rail{grid-auto-columns:min(82vw,360px)}
  #cult .rc{height:100%}
  #cult .rc img{transition:none}
}
@media (min-width:421px) and (max-width:899px){#cult.rail{margin:0 -24px;padding-inline:24px;scroll-padding-inline:24px}}

/* --- destinations mobile stack: full-width on tablets, dim with an overlay (no filter repaint) --- */
@media (max-width:900px){
  .hsec .hpin{display:block}
  .hsec .htrack{width:100%;box-sizing:border-box;will-change:auto!important;transform:none!important}
  .hsec .bc{transition:none}
  .hsec .bc.hdim{filter:none}
  .hsec .bc::after{transition:opacity .35s ease}
  .hsec .bc.hdim::after{opacity:.45}
  .hsec .hpin{padding-bottom:0}
  .hsec .htrack{padding-bottom:var(--sec)}
}
@media (min-width:421px) and (max-width:900px){.hsec .htrack{padding-inline:24px}}

/* --- hero: no endless Ken Burns layer on touch devices --- */
html.fx-touch .xhero .xvid img{animation:none;will-change:auto;transform:scale(1.04)}

/* --- reviews: arrows match FAQ/visa control sizes; card heights stable --- */
.revnav{margin-top:24px}
.revnav button.arr{width:44px;height:44px}

/* --- FAQ: summary text never runs under the toggle --- */
#faq summary{gap:16px}
#faq details p{color:#55607A}

/* --- visa: two panels same height on desktop --- */
@media (min-width:861px){.vpass{align-items:stretch}.vpage{min-height:0;height:100%}}
.note{max-width:62em;margin-top:20px;font-size:14px}

/* --- timeline --- */
@media (max-width:860px){.tlist2{gap:28px}}

/* --- conversion band: last block, generous bottom --- */
@media (max-width:760px){.cbin{padding:36px 24px}.cbact .btn{width:100%}}
@media (min-width:761px){.cbin{padding:56px 56px}.cbact .btn{min-width:200px}}

/* --- WhatsApp FAB: steps aside over WhatsApp CTAs / footer, never on the form page --- */
.fab{transition:opacity .3s ease,transform .3s ease;bottom:calc(16px + env(safe-area-inset-bottom))}
.fab.off{opacity:0;transform:scale(.6);pointer-events:none}
body.onplan .fab{display:none}
@media (max-width:899px){footer{padding-bottom:calc(40px + env(safe-area-inset-bottom))}}

/* --- #inquire: contact details never clip --- */
.paper .contact{gap:18px 40px}
.paper .contact>div{min-width:0;max-width:100%}
.paper .contact a,.paper .contact span{font-size:17px;overflow-wrap:anywhere}
.paper .contact a[href^="mailto"]{word-break:break-all}
@media (max-width:420px){.paper .contact{flex-direction:column}.paper .contact a,.paper .contact span{font-size:15.5px}.paper .contact a[href^="mailto"]{word-break:normal;overflow-wrap:normal;font-size:clamp(13.5px,4vw,15.5px)}}
[dir="rtl"] .paper .contact a,[dir="rtl"] .paper .contact span{text-align:right}

/* --- footer RTL --- */
[dir="rtl"] footer .pcred summary{text-align:right}
/* FAQ: heading aligns with every other section; the list keeps a readable measure */
#faq .wrap.faq{max-width:1180px}
#faq details{max-width:860px}
#home .head h2,#how .tlh h3{max-width:24ch}

/* ---------- adaptive header: dark glass whenever the header sits over a dark section or a photo ---------- */
.nav.autodark{background:rgba(9,13,28,.62);border-bottom-color:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
.nav.autodark nav a,.nav.autodark .brand b,.nav.autodark .brand small{color:#fff}
.nav.autodark nav a:hover{color:#F6C9A8}
.nav.autodark .lang{border-color:rgba(255,255,255,.8)}
.nav.autodark .lang button{color:#fff}
.nav.autodark .lang button[aria-pressed="true"]{background:#fff;color:#111}
.nav.autodark .mtog i{background:#fff}
.nav .brand small{transition:color .4s ease}.nav nav a,.nav .brand b{transition:color .4s ease}


/* hero: "Get a free quote" is the main button */
.btn.xquote{background:#C23B2A;border-color:#C23B2A;color:#fff}
.btn.xquote:hover{background:#A9301F;border-color:#A9301F}

/* trust strip under the hero (pattern used by leading tailor-made operators) */
#home section.trust,.trust{background:#0B0B0F;color:#E9EEF8;padding:34px 0 30px!important;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.trust li{display:flex;flex-direction:column;gap:4px;padding-inline-start:18px;position:relative}
.trust li::before{content:"";position:absolute;inset-inline-start:0;top:8px;width:7px;height:7px;border-radius:2px;background:#C23B2A;transform:rotate(45deg)}
.trust b{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.25;color:#fff}
[dir="rtl"] .trust b{font-family:var(--arabic);font-weight:600;font-size:16px}
.trust span{font-size:14px;color:#AEB9D3;line-height:1.45}
@media (max-width:900px){.trust ul{grid-template-columns:1fr 1fr;gap:20px 16px}.trust b{font-size:17px}.trust span{font-size:13px}}
/* ---------- People & places (deep.js) ---------- */
.dp{background:#F6F2EA;color:#1C1B19;padding:96px 0 40px;font-family:var(--body)}
.dp .wrap{max-width:1180px}
.dp-hd{max-width:760px;margin-bottom:56px}
.dp-k{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#C23B2A;margin-bottom:10px}
.dp h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.4vw,58px);line-height:1.05;color:#1C1B19;margin:0 0 18px}
.dp-lead{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:#3A3732;margin:0}
.dp-t{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:start;padding:48px 0;border-top:1px solid rgba(28,27,25,.14)}
.dp-t:nth-of-type(even) .dp-tx{order:2}
.dp-t.solo{grid-template-columns:minmax(0,1fr)}.dp-t.solo .dp-tx{max-width:760px}
.dp-tx{position:relative}@media (min-width:861px){.dp-tx{position:sticky;top:96px}}
.dp-han{position:absolute;inset-inline-end:0;top:-6px;font-family:var(--han);font-size:44px;line-height:1;color:#C23B2A;opacity:.85}
.dp-tk{display:flex;align-items:baseline;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6B655B;margin-bottom:12px;padding-inline-end:72px}
.dp-tk b{font-family:var(--display);font-weight:400;font-size:15px;letter-spacing:0;color:#C23B2A}
.dp h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,36px);line-height:1.12;margin:0 0 16px;color:#1C1B19;padding-inline-end:56px}
.dp-tx p{font-size:17px;line-height:1.75;color:#34312C;margin:0 0 22px}
.dp-hil{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6B655B;margin-bottom:8px}
.dp-hi{list-style:none;margin:0;padding:0}
.dp-hi li{position:relative;padding:9px 0 9px 22px;border-top:1px solid rgba(28,27,25,.1);font-size:15.5px;line-height:1.45;color:#1C1B19}
.dp-hi li:before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:50%;background:#C23B2A}
[dir="rtl"] .dp-hi li{padding:9px 22px 9px 0}[dir="rtl"] .dp-hi li:before{left:auto;right:2px}
.dp-g{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dp-g figure{margin:0;position:relative;overflow:hidden;border-radius:6px;background:#E6E0D4;aspect-ratio:4/3}
.dp-g.n1 figure,.dp-g.n3 figure:first-child,.dp-g.n5 figure:first-child{grid-column:1/-1;aspect-ratio:16/10}
.dp-g img{width:100%;height:100%;object-fit:cover;display:block}
.dp-g figcaption{position:absolute;inset:auto 0 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.62));color:#fff;font-size:13px;line-height:1.35}
[dir="rtl"] .dp,[dir="rtl"] .dp h2,[dir="rtl"] .dp h3,[dir="rtl"] .dp-tk,[dir="rtl"] .dp-k,[dir="rtl"] .dp-hil{font-family:var(--arabic);letter-spacing:0}
.plan.pj .pj-route{margin:14px 0 6px;font-size:15px;font-weight:700;color:#1C1B19;line-height:1.5}
.plan.pj .pj-note{margin:0;max-width:620px;font-size:16px;line-height:1.6;color:#4A463F}
@media (max-width:860px){
  .dp{padding:64px 0 24px}.dp-hd{margin-bottom:28px}
  .dp-t{grid-template-columns:minmax(0,1fr);gap:22px;padding:36px 0}
  .dp-t:nth-of-type(even) .dp-tx{order:0}
  .dp-han{font-size:36px}
  .dp-tx p{font-size:16.5px}
  .dp-g{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-24px;padding-inline:24px;scroll-padding-inline:24px;scrollbar-width:none}
  .dp-g::-webkit-scrollbar{display:none}
  .dp-g figure{flex:0 0 84%;scroll-snap-align:center;aspect-ratio:4/3!important}
  .dp-g.n1 figure{flex-basis:100%}
}
@media (max-width:420px){.dp-g{margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}}
/* People & places, woven into each city's story: one compact stop block after the matching section */
.dps{position:relative;z-index:2;background:#F6F2EA;color:#1C1B19;padding:clamp(48px,7vw,88px) 0;font-family:var(--body)}
.dps.dk{background:#14110F;color:#F3EEE6}
.dps-in{max-width:1180px;margin:0 auto;padding:0 24px}
.dps-hd{display:flex;align-items:center;gap:18px}
.dps-han{font-family:"Ma Shan Zheng",serif;font-size:clamp(40px,5vw,64px);line-height:1;color:#C23B2A;flex:none}
.dps-k{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.65}
.dps h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.08;margin:6px 0 0;color:inherit}
.dps-p{max-width:62ch;margin:18px 0 0;font-size:clamp(16px,1.25vw,18px);line-height:1.6;opacity:.85}
.dps-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.dps-g figure{margin:0;min-width:0;overflow:visible!important}
.dps-g .f{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#0002}
.dps-g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.dps-g figure:hover img{transform:scale(1.05)}
.dps-g figcaption{margin-top:8px;font-size:13.5px;line-height:1.4;opacity:.75}
.dps-g.n1{grid-template-columns:minmax(0,720px)}
.dps-g.n2{grid-template-columns:1.4fr 1fr}
.dps-g.n4{grid-template-columns:repeat(4,1fr)}
.dps-g.n5 figure:first-child,.dps-g.n7 figure:first-child{grid-column:span 2}
.dps-g.n4 .f{aspect-ratio:3/4}
.dps-hl{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.dps-hl li{position:relative;padding:9px 15px 8px 29px;border-radius:999px;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);font-size:14.5px;line-height:1.35}
.dps.dk .dps-hl li{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.dps-hl li:before{content:"";position:absolute;inset-inline-start:13px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#C23B2A}
[dir="rtl"] .dps-hl li{padding:9px 29px 8px 15px}
[dir="rtl"] .dps,[dir="rtl"] .dps h3{font-family:var(--arabic);letter-spacing:0}
[dir="rtl"] .dps-k{letter-spacing:0}
@media (max-width:860px){
 .dps-g,.dps-g.n1,.dps-g.n2,.dps-g.n4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-24px;padding:0 24px;scrollbar-width:none;overscroll-behavior-x:contain}
 .dps-g::-webkit-scrollbar{display:none}
 .dps-g figure{flex:0 0 80%;scroll-snap-align:start;scroll-margin-inline:24px}
 .dps-g.n1 figure{flex-basis:100%}
 .dps-g.n4 .f{aspect-ratio:4/3}
}
@media (max-width:420px){.dps-in{padding:0 16px}.dps-g{margin-inline:-16px;padding:0 16px}}

/* ==== Headings: English/Arabic lead, Chinese is a small accent (site-wide override) ==== */
/* home */
.bc .bh{font-size:30px!important;opacity:.6!important}
.pzc .pseal{font-size:26px!important}
/* Beijing */
.s-beijing .bx-hzh{font-size:clamp(22px,2.4vw,34px)!important;opacity:.85}
.s-beijing h2 .bx-zh{font-size:.42em!important;opacity:.8}
.s-beijing .bx-opb .bx-zh{font-size:26px!important}
.s-beijing .bx-off .bx-zh{font-size:clamp(20px,2vw,28px)!important;opacity:.8}
.s-beijing .bx-off span:not(.bx-zh){font-size:clamp(30px,4.2vw,56px)!important;letter-spacing:.04em!important;text-transform:none!important;color:var(--ink,#2B2622)!important}
/* Shanghai */
.s-shanghai .sh-lab .sh-zh{font-size:clamp(26px,3vw,46px)!important;opacity:.85}
.s-shanghai .sh-lab .sh-en{font-size:clamp(34px,6vw,96px)!important}
.s-shanghai .sh-ndzh{font-size:clamp(22px,2.4vw,34px)!important}
.s-shanghai .sh-lon>b{font-size:clamp(28px,3vw,44px)!important}
.s-shanghai .sh-lt .sh-lzh{font-size:clamp(30px,3.4vw,52px)!important}
.s-shanghai .sh-mh .sh-ye{font-size:clamp(22px,2.2vw,32px)!important}
/* Xi'an (calligraphy exercise glyphs stay: they are the activity itself) */
.s-xian .xa-neon{font-size:clamp(56px,8vw,120px)!important}
.s-xian .xa-nlab{font-size:clamp(22px,2.6vw,36px)!important;letter-spacing:.06em!important;text-transform:none!important}
.s-xian .dps-han{font-size:.5em!important}
.s-xian .xa-glyph{font-size:clamp(48px,5vw,72px)!important}
/* Chengdu */
.s-chengdu .cd-lvzh>span{font-size:clamp(28px,3vw,44px)!important}
.s-chengdu .cd-anyi-zh{font-size:clamp(48px,6vw,90px)!important}
.s-chengdu .cd-face-zh{font-size:clamp(34px,3.6vw,52px)!important}
.s-chengdu .cd-panda-h>b,.s-chengdu .cd-near-h>b{font-size:.5em!important}
/* Chongqing */
.s-chongqing .cqr-nm .zh{font-size:clamp(22px,2.4vw,34px)!important}
.s-chongqing .cqr-nm .en{font-size:clamp(44px,6vw,92px)!important}
.s-chongqing .cqr-sign .zh{font-size:clamp(14px,3.6vw,20px)!important;letter-spacing:.2em!important;opacity:.85}
.s-chongqing .cqr-sign .en{font-size:clamp(26px,7vw,42px)!important;letter-spacing:.08em!important}
.s-chongqing .cqr-pw .zh{font-size:clamp(44px,6vw,80px)!important}
.s-chongqing .cqr-pw .en{font-size:clamp(40px,6.5vw,96px)!important;letter-spacing:.04em!important}
/* Guilin */
.s-guilin h1.gl-cn{font-size:clamp(34px,4vw,58px)!important;opacity:.85}
.s-guilin .gl-head .big{font-size:clamp(46px,5vw,72px)!important}
.s-guilin .gl-tail .big{font-size:clamp(36px,3.6vw,52px)!important}
.s-guilin .gl-stat>.gl-brush{font-size:clamp(30px,3vw,44px)!important}
.s-guilin .gl-dhead>.gl-brush,.s-guilin .gl-cave-in>.gl-brush{font-size:clamp(28px,2.8vw,40px)!important;opacity:.85}
.s-guilin .dps-han{font-size:.5em!important}
/* Zhangjiajie */
.s-zhangjiajie .zj-cn{font-size:clamp(28px,3vw,44px)!important}
.s-zhangjiajie .gt-cn,.s-zhangjiajie .av-cn,.s-zhangjiajie .cl-cn{font-size:clamp(28px,3vw,44px)!important}
.s-zhangjiajie .dw-cn{font-size:clamp(36px,4vw,60px)!important}
.s-zhangjiajie .rv-cn{font-size:clamp(36px,4vw,64px)!important}
/* Hangzhou */
.s-hangzhou .hz-hcn{font-size:clamp(26px,2.6vw,40px)!important}
.s-hangzhou .hz-hcn span{font-size:inherit!important}
.s-hangzhou .hz-cn,.s-hangzhou .hz-cn span{font-size:clamp(20px,1.8vw,28px)!important}
.s-hangzhou .se-big{font-size:clamp(120px,16vw,240px)!important;opacity:.16!important}
.s-hangzhou .zv,.s-hangzhou .zv span{font-size:clamp(22px,2vw,30px)!important}
/* Guangzhou */
.s-guangzhou .gz-fhcn .gz-cn{font-size:clamp(30px,3vw,44px)!important}
.s-guangzhou .gz-ltx .gz-cn,.s-guangzhou .hd .gz-cn,.s-guangzhou .gz-side.gz-cn{font-size:clamp(22px,2.2vw,32px)!important}
.s-guangzhou .m .cl{font-size:clamp(30px,3vw,46px)!important}
.s-guangzhou .gz-sz .cn{font-size:clamp(34px,4vw,60px)!important}
.s-guangzhou .gz-sz .cn small{font-size:clamp(40px,6vw,96px)!important;letter-spacing:.06em!important;display:block}
.s-guilin .gl-hen{position:relative;z-index:2;display:block;font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(34px,4.4vw,64px);line-height:1.05;color:var(--ink);text-align:center}
.s-guilin .gl-hen small{display:block;margin-top:.5em;font-family:Karla,system-ui,sans-serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.s-guilin .is-ar .gl-hen,.s-guilin [dir=rtl] .gl-hen{font-family:var(--arabic)}
.s-guilin .gl-head .big{font-size:clamp(30px,3.2vw,46px)!important;opacity:.8}
.s-guilin .gl-tail .big{font-size:clamp(26px,2.6vw,38px)!important;opacity:.8}
.s-guilin .gl-poem{font-size:clamp(18px,2.2vw,28px)!important;opacity:.85}
.s-guilin .gl-cue .gl-brush{font-size:28px!important}
.s-guangzhou .m .cl{font-size:clamp(26px,2.4vw,36px)!important}
.s-guangzhou div.gz-cn,.s-guangzhou .gz-shd .gz-cn{font-size:clamp(20px,2.2vw,32px)!important}
.s-guangzhou .gz-sz .cn.gz-cn{font-size:clamp(28px,4vw,60px)!important}
@media (max-width:899px){
 .s-zhangjiajie .dw-cn,.s-zhangjiajie .rv-cn{font-size:24px!important}
 .s-chongqing .cqr-pw .zh{font-size:30px!important}
 .s-chengdu .cd-face-zh,.s-chengdu .cd-anyi-zh{font-size:28px!important}
 .s-hangzhou .hz-hcn,.s-hangzhou .zh>span{font-size:20px!important}
 .s-shanghai .sh-mix>b{font-size:20px!important}
 .s-shanghai .sh-lab .sh-zh,.s-chengdu .cd-lvzh>span,.s-zhangjiajie .zj-cn{font-size:19px!important}
 .s-guilin .gl-head .big,.s-guilin .gl-tail .big,.s-guilin .gl-dhead>.gl-brush,.s-guilin .gl-cave-in>.gl-brush{font-size:20px!important}
 .s-chongqing .cqr-pw .zh{font-size:24px!important}
}
/* Site audit fixes (2026-11-03): gateway divider on phones, Arabic hero + header */
[dir="rtl"] .xhero .xcopy h1{line-height:1.28}
@media (max-width:899px){
  .hsec .gwdiv{position:relative;top:auto}
  .gwdiv h3{font-size:34px;line-height:1.08;white-space:normal}
  [dir="rtl"] .gwdiv h3{font-size:32px;line-height:1.35}
  [dir="rtl"] .xhero .xcopy h1{font-size:clamp(38px,11vw,54px);line-height:1.3}
  [dir="rtl"] .brand{flex:1 1 auto;min-width:0;overflow:hidden}
  [dir="rtl"] .brand b{font-size:14px;overflow:hidden;text-overflow:ellipsis}
}
