/* AIYOU China Travel — shared site styles v2 (.site = page root, .sc = component root) */
.site,.sc{
  --paper:#FBFAF7; --stone:#F1EEE7; --sand:#E8E0CF; --ink:#13241F; --ink2:#0D1A16; --ink3:#1C3530;
  --text:#18201D; --muted:#56605B; --line:#DFDACF; --accent:#B4351F; --accent-h:#962A17; --gold:#C9A45C;
  --on-ink:#F4F1EA; --on-ink-muted:#AEB8B3;
  --f-display:"Fraunces", Georgia, serif; --f-body:"Figtree", system-ui, sans-serif;
  --d-wght:380; --d-track:-0.015em;
  font-family:var(--f-body); color:var(--text);
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
.site{ background:var(--paper); position:relative; }
.pal-navy{ --paper:#FAFAF8; --stone:#EEF0F3; --sand:#E7E1D4; --ink:#121C2D; --ink2:#0B1220; --ink3:#1C2942;
  --text:#161B25; --muted:#565E6C; --line:#DCDFE4; --accent:#8A6520; --accent-h:#6F5019; --gold:#C9A45C; --on-ink-muted:#AFB7C6; }
.pal-jade{ --paper:#FAFBF9; --stone:#EDF1EE; --sand:#E3E7DC; --ink:#0F2925; --ink2:#0A1D1A; --ink3:#173A35;
  --text:#152220; --muted:#53625E; --line:#D9DFDA; --accent:#1C7259; --accent-h:#155A46; --gold:#C2A060; --on-ink-muted:#A9BAB5; }
.font-b{ --f-display:"Cormorant Garamond", Georgia, serif; --f-body:"Manrope", system-ui, sans-serif; --d-wght:600; --d-track:-0.01em; }
.font-c{ --f-display:"Archivo", system-ui, sans-serif; --f-body:"Archivo", system-ui, sans-serif; --d-wght:500; --d-track:-0.02em; }
.font-c .d{ font-stretch:112%; }

.site *,.sc *{ box-sizing:border-box; }
.site a,.sc a{ color:inherit; text-decoration:none; }
.site img,.sc img{ display:block; max-width:100%; }
.site h1,.site h2,.site h3,.site h4,.site p,.sc h4,.sc p{ margin:0; }
.d{ font-family:var(--f-display); font-weight:var(--d-wght); letter-spacing:var(--d-track); }
.h1{ font-size:68px; line-height:1.04; }
.h2{ font-size:44px; line-height:1.1; }
.h3{ font-size:24px; line-height:1.25; }
.h4{ font-size:18px; line-height:1.35; font-weight:600; font-family:var(--f-body); letter-spacing:0; }
.small{ font-size:14px; line-height:1.5; }
.muted{ color:var(--muted); }
.wrap{ width:100%; max-width:1320px; margin:0 auto; padding:0 40px; }
.sec{ padding:128px 0; }
.bg-paper{ background:var(--paper); } .bg-stone{ background:var(--stone); } .bg-sand{ background:var(--sand); }
.bg-ink{ background:var(--ink); color:var(--on-ink); } .bg-ink .muted{ color:var(--on-ink-muted); }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:48px; flex-wrap:wrap; }
.link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:var(--text); border-bottom:1px solid currentColor; padding-bottom:2px; }
.bg-ink .link-arrow{ color:var(--on-ink); }
.link-arrow svg,.arrow{ transition:transform .25s ease; }
.link-arrow:hover svg,.card:hover .arrow{ transform:translateX(4px); }
.ico{ width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }

/* buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; height:52px; padding:0 26px; border-radius:2px; font-weight:600; font-size:15px; border:1px solid transparent; cursor:pointer; transition:background .2s, color .2s, border-color .2s; font-family:var(--f-body); }
.btn-accent{ background:var(--accent); color:#fff; } .btn-accent:hover{ background:var(--accent-h); }
.btn-ghost{ border-color:rgba(255,255,255,.55); color:#fff; } .btn-ghost:hover{ background:#fff; color:var(--ink); }
.btn-dark{ background:var(--ink); color:#fff; } .btn-dark:hover{ background:var(--ink3); }

/* top bar + header */
.topbar{ background:var(--ink2); color:var(--on-ink-muted); font-size:13px; }
.topbar .wrap{ display:flex; justify-content:space-between; align-items:center; height:40px; gap:24px; }
.topbar span{ display:inline-flex; align-items:center; gap:8px; }
.topbar .ico{ width:15px; height:15px; }
.hdr{ position:relative; background:var(--paper); color:var(--text); border-bottom:1px solid var(--line); }
.hdr-over{ position:absolute; left:0; right:0; top:0; z-index:10; }
.hdr-over .hdr{ background:transparent; color:#fff; border-bottom:0; }
.hdr .wrap{ display:flex; align-items:center; justify-content:space-between; height:88px; gap:32px; }
.logo{ display:flex; align-items:center; gap:12px; }
.seal{ width:40px; height:40px; background:var(--accent); color:#fff; display:grid; place-items:center; font-size:22px; font-family:"Noto Serif SC", serif; font-weight:700; border-radius:3px; }
.logo b{ display:block; font-family:var(--f-display); font-weight:600; font-size:21px; letter-spacing:.06em; line-height:1; }
.logo i{ display:block; font-style:normal; font-size:12px; letter-spacing:.08em; opacity:.8; margin-top:4px; }
.nav{ display:flex; gap:30px; font-size:15px; font-weight:500; }
.nav a{ display:inline-flex; align-items:center; gap:5px; padding:8px 0; position:relative; }
.nav a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:1.5px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.nav a:hover::after,.nav a.on::after{ transform:scaleX(1); }
.nav .ico{ width:14px; height:14px; }
.hdr-r{ display:flex; align-items:center; gap:18px; }
.icon-btn{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:inherit; background:transparent; border:0; cursor:pointer; }
.icon-btn:hover{ background:var(--stone); }
.hdr-over .icon-btn:hover{ background:rgba(255,255,255,.12); }

/* hero */
.hero{ position:relative; height:820px; color:#fff; overflow:hidden; background:var(--ink); }
.hero > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:heroZoom 14s ease-out both; }
.hero-shade{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,16,14,.78) 0%, rgba(8,16,14,.42) 48%, rgba(8,16,14,.05) 80%), linear-gradient(0deg, rgba(8,16,14,.55) 0%, rgba(8,16,14,0) 40%); }
.hero-in{ position:relative; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:72px; }
.hero h1{ max-width:760px; animation:fadeUp .9s ease both .15s; }
.hero-sub{ font-size:19px; max-width:560px; margin-top:22px; color:rgba(255,255,255,.86); animation:fadeUp .9s ease both .3s; }
.finder{ margin-top:44px; background:#fff; color:var(--text); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)) auto; max-width:980px; border-radius:3px; box-shadow:0 24px 60px rgba(0,0,0,.28); animation:fadeUp .9s ease both .45s; }
.finder label{ display:flex; flex-direction:column; gap:2px; padding:16px 24px; border-right:1px solid var(--line); font-size:12px; font-weight:600; color:var(--muted); }
.finder select{ border:0; background:transparent; font:500 16px var(--f-body); color:var(--text); padding:2px 0; outline:none; appearance:none; cursor:pointer; }
.finder .btn{ height:auto; margin:10px; padding:0 30px; }
.hero-cap{ position:absolute; right:40px; bottom:40px; display:flex; align-items:center; gap:8px; font-size:13px; color:rgba(255,255,255,.85); }
.hero-cap .ico{ width:16px; height:16px; }

/* trust band */
.trust{ background:var(--sand); }
.trust .wrap{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); }
.trust-i{ display:flex; gap:16px; align-items:flex-start; padding:36px 28px; border-left:1px solid rgba(0,0,0,.08); }
.trust-i:first-child{ border-left:0; padding-left:0; }
.trust-i .ico{ width:30px; height:30px; color:var(--accent); stroke-width:1.4; }
.trust-i b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:24px; line-height:1.15; }
.trust-i span{ display:block; font-size:14px; color:var(--muted); margin-top:4px; }

/* cards */
.grid3{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; }
.card{ display:block; background:#fff; transition:transform .3s ease, box-shadow .3s ease; }
.card:hover{ transform:translateY(-6px); box-shadow:0 22px 48px rgba(19,36,31,.14); }
.media{ position:relative; overflow:hidden; background:var(--stone); }
.media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.card:hover .media img{ transform:scale(1.05); }
.r32{ aspect-ratio:3/2; } .r45{ aspect-ratio:4/5; }
.chip{ position:absolute; left:16px; top:16px; background:#fff; color:var(--text); font-size:13px; font-weight:600; padding:6px 12px; border-radius:2px; }
.tour-b{ padding:26px 28px 28px; display:flex; flex-direction:column; gap:12px; }
.tour-route{ font-size:14px; color:var(--muted); }
.tour-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.tag{ font-size:12px; font-weight:600; padding:4px 10px; border-radius:2px; background:var(--stone); color:var(--muted); }
.tour-f{ display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); padding-top:18px; margin-top:6px; }
.price{ font-size:14px; color:var(--muted); }
.price b{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:24px; color:var(--text); margin:0 4px; }
.ph{ background:#FFF0B8; color:#5C4500; padding:0 4px; border-radius:2px; }

/* duration scale */
.dur{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; }
.dur-i{ background:#fff; padding:28px 26px 30px; display:flex; flex-direction:column; gap:10px; transition:transform .3s, box-shadow .3s; }
.dur-i:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(19,36,31,.12); }
.dur-bar{ height:4px; background:var(--line); position:relative; margin-bottom:14px; }
.dur-bar i{ position:absolute; left:0; top:0; bottom:0; background:var(--accent); }
.dur-n{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:48px; line-height:1; letter-spacing:var(--d-track); }
.dur-n small{ font-family:var(--f-body); font-size:15px; font-weight:500; margin-left:6px; color:var(--muted); letter-spacing:0; }

/* themes */
.themes{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.site .theme{ color:#fff; }
.theme{ position:relative; padding:32px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; transition:transform .3s, box-shadow .3s; }
.theme:hover{ transform:translateY(-6px); box-shadow:0 22px 48px rgba(0,0,0,.2); }
.theme .big{ position:absolute; right:-18px; bottom:-18px; width:180px; height:180px; opacity:.14; stroke-width:1.1; transition:transform .5s ease; }
.theme:hover .big{ transform:scale(1.06) rotate(-4deg); }
.theme-top{ display:flex; justify-content:space-between; align-items:center; }
.theme-top .ico{ width:34px; height:34px; stroke-width:1.4; }
.theme-k{ font-size:13px; font-weight:600; letter-spacing:.02em; opacity:.85; }
.theme h3{ margin-top:8px; max-width:300px; }
.theme p{ font-size:14px; opacity:.85; margin-top:10px; max-width:320px; }
.t-food{ background:#A9432C; } .t-nature{ background:#476E35; } .t-panda{ background:#2B3134; }
.t-snow{ background:#2F6596; } .t-silk{ background:#8C601E; } .t-rail{ background:#38457F; }

/* styles on dark */
.styles{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; }
.style-i{ background:var(--ink3); padding:30px 26px; display:flex; flex-direction:column; gap:14px; min-height:290px; transition:background .25s, transform .3s; }
.style-i:hover{ background:#24423B; transform:translateY(-6px); }
.pal-navy .style-i:hover{ background:#24345A; } .pal-jade .style-i:hover{ background:#1E4842; }
.style-i .ico{ width:32px; height:32px; color:var(--gold); stroke-width:1.4; }
.style-i .sug{ margin-top:auto; border-top:1px solid rgba(255,255,255,.12); padding-top:16px; font-size:14px; color:var(--on-ink-muted); }
.style-i .sug b{ display:block; color:var(--on-ink); font-weight:600; margin-top:4px; min-height:3em; }

/* destinations */
.dest-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.dest{ position:relative; overflow:hidden; display:block; }
.dest img{ width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .6s ease; }
.dest:hover img{ transform:scale(1.05); }
.dest-lab{ position:absolute; left:20px; bottom:20px; right:20px; background:#fff; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.dest-lab b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:24px; line-height:1.15; }
.dest-lab span{ font-size:14px; color:var(--muted); }
.regions{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); margin-top:24px; border-top:1px solid var(--line); }
.region{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:22px 20px 22px 0; border-bottom:1px solid var(--line); transition:color .2s; }
.region:hover{ color:var(--accent); }
.region b{ display:block; font-weight:600; font-size:16px; }
.region span{ display:block; font-size:14px; color:var(--muted); }

/* steps */
.steps{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:32px; position:relative; }
.step{ position:relative; }
.step-ic{ width:64px; height:64px; border-radius:50%; background:var(--ink); color:var(--gold); display:grid; place-items:center; position:relative; z-index:1; }
.step-ic .ico{ width:28px; height:28px; stroke-width:1.4; }
.step::before{ content:""; position:absolute; left:64px; right:-32px; top:32px; height:1px; background:var(--line); }
.step:last-child::before{ display:none; }
.step-n{ font-size:13px; font-weight:600; color:var(--accent); margin-top:24px; }
.step h3{ margin-top:6px; }
.step p{ margin-top:8px; font-size:15px; color:var(--muted); }
.pay{ margin-top:56px; padding-top:32px; border-top:1px solid var(--line); display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:14px; color:var(--muted); }
.pay-m{ border:1px solid var(--line); background:#fff; padding:8px 14px; font-weight:700; font-size:13px; color:var(--text); border-radius:2px; }

/* about */
.about{ display:grid; grid-template-columns:7fr 5fr; gap:56px; align-items:stretch; }
.about-photo{ position:relative; overflow:hidden; min-height:440px; }
.about-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.img-lab{ position:absolute; left:16px; bottom:16px; background:#fff; padding:8px 14px; font-size:13px; font-weight:600; }
.about-txt{ display:flex; flex-direction:column; gap:22px; justify-content:center; }
.facts{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1px; background:rgba(0,0,0,.1); margin-top:8px; }
.facts div{ background:var(--sand); padding:18px 0; }
.facts b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:30px; line-height:1.1; }
.facts span{ font-size:14px; color:var(--muted); }
.certs{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; margin-top:56px; }
.cert{ background:#fff; padding:14px; transition:transform .3s, box-shadow .3s; }
.cert:hover{ transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.12); }
.cert .media{ aspect-ratio:4/5; }
.cert b{ display:block; font-size:15px; font-weight:600; margin-top:14px; }
.cert span{ display:block; font-size:13px; color:var(--muted); }

/* guide */
.guide{ display:flex; gap:22px; background:#fff; padding:28px; align-items:flex-start; border:1px solid var(--line); }
.guide-ic{ width:56px; height:56px; flex:none; display:grid; place-items:center; background:var(--stone); color:var(--accent); }
.guide-ic .ico{ width:28px; height:28px; stroke-width:1.4; }
.guide p{ font-size:15px; color:var(--muted); margin-top:8px; }
.guide .h3{ font-size:22px; }

/* cta */
.cta{ position:relative; overflow:hidden; color:#fff; background:var(--ink); }
.cta > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.38; }
.cta .wrap{ position:relative; padding-top:120px; padding-bottom:120px; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap; }
.cta h2{ max-width:640px; }
.cta-b{ display:flex; gap:14px; flex-wrap:wrap; }

/* footer */
.ftr{ background:var(--ink2); color:var(--on-ink-muted); font-size:14px; }
.ftr-top{ display:grid; grid-template-columns:1.4fr repeat(4, minmax(0,1fr)); gap:40px; padding:88px 0 64px; }
.ftr h4{ color:var(--on-ink); font-size:15px; font-weight:600; margin-bottom:18px; font-family:var(--f-body); }
.ftr ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.ftr a:hover{ color:#fff; }
.ftr .logo{ color:var(--on-ink); margin-bottom:22px; }
.ftr-c{ display:flex; flex-direction:column; gap:10px; }
.ftr-c span{ display:flex; gap:10px; align-items:flex-start; }
.ftr-c .ico{ width:16px; height:16px; margin-top:3px; }
.ftr-btm{ border-top:1px solid rgba(255,255,255,.1); padding:24px 0 32px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:13px; }

/* mega menu */
.mega{ background:#fff; color:var(--text); box-shadow:0 30px 60px rgba(0,0,0,.16); border-top:1px solid var(--line); }
.mega-in{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)) 1.3fr; gap:40px; padding-top:44px; padding-bottom:48px; }
.mega h4{ font-size:13px; color:var(--muted); font-weight:600; margin-bottom:16px; font-family:var(--f-body); }
.mega ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.mega li a{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; font-size:16px; font-weight:500; border-bottom:1px solid transparent; transition:color .2s, border-color .2s; }
.mega li a:hover{ color:var(--accent); border-bottom-color:var(--line); }

@keyframes fadeUp{ from{ opacity:0; transform:translateY(18px);} to{ opacity:1; transform:none;} }
@keyframes heroZoom{ from{ transform:scale(1.06);} to{ transform:scale(1);} }

@media (max-width: 1100px){
  .nav{ display:none; }
  .styles{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .dur{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .regions{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .ftr-top{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width: 760px){
  .site{ font-size:16px; }
  .wrap{ padding:0 20px; }
  .sec{ padding:72px 0; }
  .h1{ font-size:42px; } .h2{ font-size:32px; } .h3{ font-size:21px; }
  .topbar .wrap > span:nth-child(n+2){ display:none; }
  .hero{ height:auto; min-height:760px; }
  .hero-in{ padding-top:180px; padding-bottom:88px; }
  .finder{ grid-template-columns:1fr; }
  .finder label{ border-right:0; border-bottom:1px solid var(--line); }
  .hero-cap{ left:20px; right:auto; bottom:28px; }
  .trust .wrap,.grid3,.themes,.dest-cards,.steps,.about,.certs{ grid-template-columns:1fr; }
  .certs{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .trust-i{ border-left:0; padding:20px 0; border-top:1px solid rgba(0,0,0,.08); }
  .styles,.dur,.regions{ grid-template-columns:1fr; }
  .step::before{ display:none; }
  .ftr-top{ grid-template-columns:1fr 1fr; }
  .mega-in{ grid-template-columns:1fr; }
  .hdr-r .btn{ display:none; }
}

/* ============ v2: inner pages ============ */
.ph-img{ width:100%; height:100%; min-height:100%; background:#DCD6C9; color:#5E5A50; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:600; text-align:center; padding:16px; }
.ph-img .ico{ width:28px; height:28px; opacity:.7; }
.ph-img.dk{ background:#26352F; color:#9FB0A8; }
.media .ph-img{ position:absolute; inset:0; }

/* page header */
.phead{ background:var(--stone); padding:72px 0 64px; border-bottom:1px solid var(--line); }
.crumb{ display:flex; gap:8px; align-items:center; font-size:13px; color:var(--muted); margin-bottom:20px; flex-wrap:wrap; }
.crumb a:hover{ color:var(--accent); }
.crumb .ico{ width:14px; height:14px; }
.phead p.lead{ font-size:19px; color:var(--muted); margin-top:16px; max-width:720px; }
.phead-img{ position:relative; color:#fff; background:var(--ink); overflow:hidden; }
.phead-img > img,.phead-img > .ph-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.phead-img .hero-shade{ position:absolute; inset:0; }
.phead-img .wrap{ position:relative; min-height:520px; display:flex; flex-direction:column; justify-content:flex-end; padding-top:120px; padding-bottom:64px; }
.phead-img .crumb{ color:rgba(255,255,255,.8); }
.phead-img p.lead{ color:rgba(255,255,255,.86); }

/* listing */
.listing{ display:flex; flex-wrap:wrap; gap:48px; align-items:flex-start; }
.filters{ flex:1 1 260px; max-width:300px; display:flex; flex-direction:column; gap:32px; }
.results{ flex:999 1 560px; min-width:0; }
.fgroup h4{ font-size:15px; font-weight:700; margin-bottom:14px; font-family:var(--f-body); }
.fgroup label{ display:flex; align-items:center; gap:10px; font-size:15px; padding:6px 0; cursor:pointer; }
.fgroup label span{ margin-left:auto; font-size:13px; color:var(--muted); }
.fgroup input[type=checkbox],.fgroup input[type=radio]{ width:18px; height:18px; accent-color:var(--accent); margin:0; }
.toolbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-bottom:20px; margin-bottom:28px; border-bottom:1px solid var(--line); }
.chips{ display:flex; gap:8px; flex-wrap:wrap; }
.fchip{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; background:#fff; border:1px solid var(--line); font-size:13px; font-weight:600; border-radius:2px; }
.fchip.on{ background:var(--ink); color:#fff; border-color:var(--ink); }
.sel{ border:1px solid var(--line); background:#fff; height:44px; padding:0 14px; font:500 15px var(--f-body); color:var(--text); border-radius:2px; }
.grid2{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px; }
.res-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.res-grid .tour-b{ padding:22px 22px 24px; }
.res-grid .h3{ font-size:21px; }
.pager{ display:flex; gap:8px; justify-content:center; margin-top:56px; }
.pager a{ width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--line); background:#fff; font-weight:600; font-size:15px; }
.pager a.on{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* tour detail */
.gal{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:280px 280px; gap:10px; }
.gal > div{ position:relative; overflow:hidden; background:var(--stone); }
.gal > div:first-child{ grid-row:1 / 3; }
.gal img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.gal > div:hover img{ transform:scale(1.05); }
.gal .img-lab{ left:12px; bottom:12px; font-size:12px; padding:6px 10px; }
.facts-bar{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); border:1px solid var(--line); background:#fff; margin-top:32px; }
.facts-bar div{ padding:20px 22px; border-left:1px solid var(--line); display:flex; gap:12px; align-items:flex-start; }
.facts-bar div:first-child{ border-left:0; }
.facts-bar .ico{ color:var(--accent); width:22px; height:22px; margin-top:2px; }
.facts-bar b{ display:block; font-size:13px; color:var(--muted); font-weight:600; }
.facts-bar span{ display:block; font-size:15px; font-weight:600; line-height:1.4; margin-top:2px; }
.tabs{ display:flex; gap:32px; border-bottom:1px solid var(--line); margin-top:56px; font-weight:600; font-size:15px; overflow-x:auto; }
.tabs a{ padding:16px 0; border-bottom:2px solid transparent; white-space:nowrap; }
.tabs a.on,.tabs a:hover{ border-bottom-color:var(--accent); color:var(--accent); }
.t-layout{ display:flex; flex-wrap:wrap; gap:56px; align-items:flex-start; }
.t-main{ flex:999 1 600px; min-width:0; }
.t-side{ flex:1 1 360px; max-width:400px; position:sticky; top:24px; }
.blk{ padding:64px 0; border-bottom:1px solid var(--line); }
.blk:last-child{ border-bottom:0; }
.blk > .h2{ font-size:36px; margin-bottom:28px; }
.prose p{ font-size:17px; line-height:1.75; margin-top:16px; }
.prose p:first-child{ margin-top:0; }
.prose h2{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:32px; line-height:1.2; margin:48px 0 8px; }
.prose h3{ font-size:20px; font-weight:700; margin:32px 0 4px; }
.prose ul{ margin:12px 0 0; padding-left:22px; } .prose li{ margin:6px 0; line-height:1.65; }
.tagline{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:24px; margin-top:24px; color:var(--accent); }
.hl{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 40px; }
.hl-i{ display:flex; gap:18px; padding:20px 0; border-top:1px solid var(--line); }
.hl-i b{ font-family:var(--f-display); font-weight:var(--d-wght); color:var(--accent); font-size:22px; min-width:32px; line-height:1.2; }
.hl-i h3{ font-size:17px; font-weight:700; font-family:var(--f-body); letter-spacing:0; line-height:1.4; }
.hl-i p{ font-size:15px; color:var(--muted); margin-top:4px; }
.tbl-box{ overflow-x:auto; }
.tbl{ width:100%; border-collapse:collapse; font-size:15px; background:#fff; }
.tbl th,.tbl td{ text-align:left; padding:14px 18px; border-bottom:1px solid var(--line); vertical-align:top; }
.tbl th{ font-size:13px; color:var(--muted); font-weight:700; background:var(--stone); }
.tbl td:first-child{ font-weight:600; white-space:nowrap; }
.tbl.kv td:first-child{ width:34%; color:var(--muted); }
.days{ display:flex; flex-direction:column; }
.day{ display:grid; grid-template-columns:72px minmax(0,1fr); gap:24px; padding:28px 0; border-top:1px solid var(--line); }
.day-n{ width:56px; height:56px; border-radius:50%; background:var(--ink); color:var(--on-ink); display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.day-n small{ font-size:10px; font-weight:600; letter-spacing:.06em; opacity:.75; }
.day-n b{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:22px; }
.day h3{ font-size:22px; }
.day .zh{ font-size:14px; color:var(--muted); margin-top:4px; }
.day ul{ margin:14px 0 0; padding-left:20px; font-size:16px; line-height:1.65; }
.day-meta{ display:flex; gap:24px; flex-wrap:wrap; margin-top:16px; font-size:14px; }
.day-meta span{ display:flex; gap:8px; align-items:flex-start; color:var(--muted); }
.day-meta b{ color:var(--text); font-weight:600; }
.day-meta .ico{ width:18px; height:18px; color:var(--accent); margin-top:1px; }
.area h3.area-t{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:24px; margin:40px 0 18px; }
.area:first-child h3.area-t{ margin-top:0; }
.sights{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; }
.sight{ background:#fff; border:1px solid var(--line); }
.sight .media{ aspect-ratio:16/9; }
.sight-b{ padding:18px 20px 22px; }
.sight-b h4{ font-size:17px; font-weight:700; font-family:var(--f-body); }
.sight-b h4 span{ font-weight:500; color:var(--muted); font-size:14px; margin-left:6px; }
.sight-b p{ font-size:15px; color:var(--muted); margin-top:6px; line-height:1.6; }
.inc{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px; }
.inc-c{ background:#fff; border:1px solid var(--line); padding:28px 28px 24px; }
.inc-c h3{ font-size:20px; font-weight:700; font-family:var(--f-body); letter-spacing:0; display:flex; gap:10px; align-items:center; margin-bottom:10px; }
.inc-c ul{ list-style:none; margin:0; padding:0; }
.inc-c li{ display:flex; gap:10px; padding:9px 0; font-size:15px; line-height:1.55; border-top:1px solid var(--line); }
.inc-c li:first-child{ border-top:0; }
.inc-c li .ico{ width:18px; height:18px; margin-top:2px; }
.yes .ico{ color:#2E7D4F; } .no .ico{ color:var(--accent); }
.hotels{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.hotel{ background:#fff; border:1px solid var(--line); padding:22px; }
.hotel b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:20px; margin-bottom:10px; }
.hotel li{ font-size:14px; line-height:1.5; margin:8px 0; }
.hotel ul{ list-style:none; padding:0; margin:0; }
.hotel li span{ display:block; color:var(--muted); font-size:13px; }
.why{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.why-i{ background:var(--sand); padding:24px; display:flex; gap:16px; }
.why-i .ico{ color:var(--accent); width:26px; height:26px; stroke-width:1.4; }
.why-i h3{ font-size:17px; font-weight:700; font-family:var(--f-body); letter-spacing:0; }
.why-i p{ font-size:14px; color:var(--muted); margin-top:4px; }
.faq details{ border-top:1px solid var(--line); }
.faq details:last-child{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; padding:20px 0; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:600; font-size:17px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .ico{ transition:transform .25s; color:var(--accent); }
.faq details[open] summary .ico{ transform:rotate(45deg); }
.faq .ans{ padding:0 40px 22px 0; color:var(--muted); font-size:16px; line-height:1.7; }
.faq .ans ul{ margin:8px 0 0; padding-left:20px; }

/* booking panel */
.book{ background:#fff; border:1px solid var(--line); box-shadow:0 24px 60px rgba(19,36,31,.10); }
.book-h{ background:var(--ink); color:var(--on-ink); padding:24px 26px; }
.book-h span{ font-size:14px; color:var(--on-ink-muted); }
.book-h b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:36px; line-height:1.1; margin-top:2px; }
.book-b{ padding:24px 26px 26px; display:flex; flex-direction:column; gap:18px; }
.fld{ display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:700; color:var(--text); }
.fld input,.fld select,.fld textarea{ border:1px solid var(--line); background:#fff; height:48px; padding:0 14px; font:500 15px var(--f-body); color:var(--text); border-radius:2px; width:100%; }
.fld textarea{ height:auto; min-height:140px; padding:12px 14px; line-height:1.6; resize:vertical; }
.fld input:focus,.fld select:focus,.fld textarea:focus{ outline:2px solid var(--accent); outline-offset:-1px; }
.fld .opt{ font-weight:500; color:var(--muted); }
.seg{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); border:1px solid var(--line); }
.seg button{ height:48px; background:#fff; border:0; border-left:1px solid var(--line); font:600 15px var(--f-body); color:var(--text); cursor:pointer; }
.seg button:first-child{ border-left:0; }
.seg button.on{ background:var(--ink); color:#fff; }
.ptab{ width:100%; border-collapse:collapse; font-size:14px; }
.ptab td{ padding:10px 0; border-bottom:1px solid var(--line); }
.ptab td:last-child{ text-align:right; font-weight:600; }
.ptab tr.on td{ color:var(--accent); }
.sum-row{ display:flex; justify-content:space-between; font-size:15px; }
.sum-row.total{ font-size:17px; font-weight:700; border-top:1px solid var(--line); padding-top:14px; }
.book .btn{ width:100%; }
.btn-line{ border-color:var(--line); color:var(--text); background:#fff; } .btn-line:hover{ border-color:var(--ink); }
.note-list{ list-style:none; padding:0; margin:0; font-size:13px; color:var(--muted); display:flex; flex-direction:column; gap:6px; }
.note-list li{ display:flex; gap:8px; } .note-list .ico{ width:15px; height:15px; margin-top:2px; }
.side-help{ margin-top:16px; background:var(--sand); padding:20px 22px; display:flex; gap:14px; font-size:14px; }
.side-help .ico{ color:var(--accent); }
.side-help b{ display:block; font-size:15px; }

/* checkout */
.stepper{ display:flex; gap:0; margin-top:28px; }
.stepper div{ flex:1; display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; color:var(--muted); padding-bottom:16px; border-bottom:3px solid var(--line); }
.stepper div.on{ color:var(--text); border-bottom-color:var(--accent); }
.stepper div.done{ color:var(--text); border-bottom-color:var(--ink); }
.stepper i{ font-style:normal; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--line); color:var(--text); font-size:14px; }
.stepper .on i{ background:var(--accent); color:#fff; } .stepper .done i{ background:var(--ink); color:#fff; }
.co{ display:flex; flex-wrap:wrap; gap:48px; align-items:flex-start; }
.co-main{ flex:999 1 600px; min-width:0; display:flex; flex-direction:column; gap:24px; }
.co-side{ flex:1 1 360px; max-width:420px; position:sticky; top:24px; }
.panel{ background:#fff; border:1px solid var(--line); padding:32px; }
.panel > h2{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:26px; margin-bottom:22px; display:flex; align-items:center; gap:12px; }
.panel > h2 i{ font-style:normal; font-family:var(--f-body); font-size:14px; width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:#fff; }
.fgrid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 20px; }
.fgrid .full{ grid-column:1 / -1; }
.fgrid3{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px 20px; }
.pm{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.pm label{ border:1px solid var(--line); padding:18px; display:flex; gap:12px; align-items:center; cursor:pointer; font-weight:600; }
.pm label.on{ border:2px solid var(--accent); padding:17px; }
.pm input{ accent-color:var(--accent); width:18px; height:18px; margin:0; }
.pm small{ display:block; font-weight:500; color:var(--muted); font-size:13px; }
.check{ display:flex; gap:12px; align-items:flex-start; font-size:14px; color:var(--muted); line-height:1.55; }
.check input{ accent-color:var(--accent); width:18px; height:18px; margin:2px 0 0; flex:none; }
.check a{ color:var(--text); text-decoration:underline; }
.paysel{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.paysel label{ border:1px solid var(--line); padding:18px; cursor:pointer; display:flex; gap:12px; }
.paysel label.on{ border:2px solid var(--accent); padding:17px; }
.paysel input{ accent-color:var(--accent); width:18px; height:18px; margin:2px 0 0; flex:none; }
.paysel b{ display:block; font-size:16px; }
.paysel span{ font-size:14px; color:var(--muted); }
.mini{ display:flex; gap:16px; }
.mini .media{ width:120px; aspect-ratio:3/2; flex:none; }
.mini b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:18px; line-height:1.3; }
.mini span{ font-size:13px; color:var(--muted); }
.lock{ display:flex; gap:8px; align-items:center; justify-content:center; font-size:13px; color:var(--muted); }
.lock .ico{ width:16px; height:16px; }

/* confirmation */
.conf{ max-width:860px; margin:0 auto; }
.conf-top{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:16px; }
.conf-ic{ width:84px; height:84px; border-radius:50%; background:#E3EFE6; color:#2E7D4F; display:grid; place-items:center; }
.conf-ic .ico{ width:40px; height:40px; stroke-width:1.8; }
.conf-no{ display:inline-flex; gap:10px; background:#fff; border:1px solid var(--line); padding:10px 18px; font-size:15px; }
.conf-no b{ letter-spacing:.04em; }
.next{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; margin-top:24px; }
.next div{ background:#fff; border:1px solid var(--line); padding:24px; }
.next .ico{ color:var(--accent); width:28px; height:28px; stroke-width:1.4; }
.next h3{ font-size:17px; font-weight:700; font-family:var(--f-body); letter-spacing:0; margin-top:14px; }
.next p{ font-size:14px; color:var(--muted); margin-top:6px; }

/* destinations */
.reg-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; }
.reg{ background:#fff; display:block; transition:transform .3s, box-shadow .3s; }
.reg:hover{ transform:translateY(-6px); box-shadow:0 22px 48px rgba(19,36,31,.14); }
.reg:hover .media img{ transform:scale(1.05); }
.reg .media{ aspect-ratio:3/2; }
.reg-b{ padding:24px 26px 26px; }
.reg-b .h3{ display:flex; justify-content:space-between; align-items:center; }
.reg-b p{ font-size:14px; color:var(--muted); margin-top:8px; }
.reg-b .tour-tags{ margin-top:14px; }
.sight-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.sight-grid .sight .media{ aspect-ratio:4/3; }
.best{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.best div{ background:#fff; padding:24px; border-top:3px solid var(--line); }
.best div.top{ border-top-color:var(--accent); }
.best b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:22px; }
.best span{ display:block; font-size:13px; font-weight:700; color:var(--accent); margin-top:2px; }
.best p{ font-size:14px; color:var(--muted); margin-top:8px; }
.intro2{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:56px; }
.intro2 .media{ aspect-ratio:4/3; }

/* themes page */
.th-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; }
.th{ background:#fff; display:block; transition:transform .3s, box-shadow .3s; }
.th:hover{ transform:translateY(-6px); box-shadow:0 22px 48px rgba(19,36,31,.14); }
.th:hover .media img{ transform:scale(1.05); }
.th .media{ aspect-ratio:3/2; }
.th-bar{ height:4px; }
.th-b{ padding:24px 26px 26px; }
.th-k{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; }
.th-k .ico{ width:18px; height:18px; }
.th-b h3{ margin-top:10px; }
.th-b p{ font-size:14px; color:var(--muted); margin-top:8px; }
.th-b .tour-f{ margin-top:16px; }
.c-food{ color:#A9432C; } .c-nature{ color:#476E35; } .c-panda{ color:#2B3134; } .c-snow{ color:#2F6596; } .c-silk{ color:#8C601E; } .c-rail{ color:#38457F; } .c-heritage{ color:#7A2E3A; } .c-slow{ color:#4E6B5C; } .c-modern{ color:#3B5B7A; } .c-ethnic{ color:#8A4B7A; }
.b-food{ background:#A9432C; } .b-nature{ background:#476E35; } .b-panda{ background:#2B3134; } .b-snow{ background:#2F6596; } .b-silk{ background:#8C601E; } .b-rail{ background:#38457F; } .b-heritage{ background:#7A2E3A; } .b-slow{ background:#4E6B5C; } .b-modern{ background:#3B5B7A; } .b-ethnic{ background:#8A4B7A; }

/* custom trip */
.ct{ display:flex; flex-wrap:wrap; gap:48px; align-items:flex-start; }
.ct-main{ flex:999 1 620px; min-width:0; }
.ct-side{ flex:1 1 340px; max-width:400px; display:flex; flex-direction:column; gap:16px; }
.pick{ display:flex; flex-wrap:wrap; gap:10px; }
.pick label{ display:inline-flex; gap:8px; align-items:center; border:1px solid var(--line); background:#fff; padding:10px 14px; font-size:14px; font-weight:600; cursor:pointer; }
.pick label.on{ border-color:var(--ink); background:var(--ink); color:#fff; }
.pick input{ accent-color:var(--accent); margin:0; }
.vsteps{ background:var(--ink); color:var(--on-ink); padding:32px; }
.vsteps h3{ margin-bottom:20px; }
.vs{ display:flex; gap:16px; padding:16px 0; border-top:1px solid rgba(255,255,255,.12); }
.vs i{ font-style:normal; width:32px; height:32px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); display:grid; place-items:center; font-size:14px; font-weight:700; flex:none; }
.vs b{ display:block; font-size:16px; }
.vs span{ font-size:14px; color:var(--on-ink-muted); }
.contact-c{ background:#fff; border:1px solid var(--line); padding:26px; display:flex; flex-direction:column; gap:12px; font-size:15px; }
.contact-c span{ display:flex; gap:10px; align-items:flex-start; }
.contact-c .ico{ width:18px; height:18px; color:var(--accent); margin-top:2px; }

/* guide */
.feat-art{ display:grid; grid-template-columns:7fr 5fr; background:#fff; transition:box-shadow .3s; }
.feat-art:hover{ box-shadow:0 22px 48px rgba(19,36,31,.14); }
.feat-art:hover .media img{ transform:scale(1.05); }
.feat-art .media{ min-height:420px; }
.feat-art-b{ padding:48px; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.cat{ font-size:13px; font-weight:700; color:var(--accent); }
.art-meta{ font-size:13px; color:var(--muted); display:flex; gap:16px; }
.art-c .media{ aspect-ratio:3/2; }
.art-c .tour-b{ gap:10px; }
.art-c p{ font-size:15px; color:var(--muted); }
.article{ display:flex; flex-wrap:wrap; gap:72px; align-items:flex-start; }
.article .prose{ flex:999 1 600px; min-width:0; max-width:760px; }
.article aside{ flex:1 1 300px; max-width:360px; position:sticky; top:24px; display:flex; flex-direction:column; gap:16px; }
.toc{ background:#fff; border:1px solid var(--line); padding:24px; }
.toc h4{ font-size:13px; color:var(--muted); font-weight:700; margin-bottom:10px; font-family:var(--f-body); }
.toc a{ display:block; padding:8px 0; font-size:15px; font-weight:500; border-top:1px solid var(--line); }
.toc a:hover{ color:var(--accent); }
.callout{ background:var(--sand); padding:22px 26px; margin-top:24px; display:flex; gap:14px; font-size:16px; line-height:1.6; }
.callout .ico{ color:var(--accent); margin-top:2px; }
.art-hero{ aspect-ratio:21/9; position:relative; overflow:hidden; margin-top:40px; }
.art-hero img{ width:100%; height:100%; object-fit:cover; }

/* about */
.timeline{ display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:0; border-top:1px solid rgba(255,255,255,.18); }
.tl{ padding:28px 20px 0 0; position:relative; }
.tl::before{ content:""; position:absolute; top:-6px; left:0; width:11px; height:11px; border-radius:50%; background:var(--gold); }
.tl b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:32px; color:var(--gold); line-height:1; }
.tl p{ font-size:14px; color:var(--on-ink-muted); margin-top:10px; line-height:1.55; }
.honors{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
.guides{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
.guide-c{ background:#fff; border:1px solid var(--line); padding:24px; display:flex; gap:16px; align-items:center; }
.guide-c img,.guide-c .av{ width:72px; height:72px; border-radius:50%; object-fit:cover; object-position:center 20%; flex:none; background:var(--stone); }
.guide-c b{ display:block; font-size:17px; }
.guide-c span{ display:block; font-size:13px; color:var(--muted); }
.guide-c .lang{ display:inline-block; margin-top:6px; font-size:12px; font-weight:700; color:var(--accent); }
.lic{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; }
.lic-c{ background:#fff; border:1px solid var(--line); display:grid; grid-template-columns:200px minmax(0,1fr); }
.lic-c .media{ aspect-ratio:3/4; }
.lic-c div.lic-b{ padding:26px; display:flex; flex-direction:column; gap:8px; justify-content:center; }
.lic-c b{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:22px; }
.lic-c span{ font-size:14px; color:var(--muted); }
.photo3{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.photo3 .media{ aspect-ratio:3/2; }

/* policies */
.pol{ display:flex; flex-wrap:wrap; gap:72px; align-items:flex-start; }
.pol aside{ flex:1 1 260px; max-width:300px; position:sticky; top:24px; }
.pol .prose{ flex:999 1 600px; min-width:0; max-width:800px; }
.ctab{ width:100%; border-collapse:collapse; margin-top:16px; font-size:15px; background:#fff; }
.ctab th,.ctab td{ border:1px solid var(--line); padding:14px 18px; text-align:left; }
.ctab th{ background:var(--stone); font-size:13px; color:var(--muted); }

@media (max-width: 1100px){
  .res-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .hotels{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .facts-bar{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .timeline{ grid-template-columns:repeat(3, minmax(0,1fr)); row-gap:32px; }
  .honors,.guides{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .t-side,.co-side{ position:static; max-width:none; }
}
@media (max-width: 760px){
  .phead{ padding:48px 0 40px; }
  .phead-img .wrap{ min-height:440px; }
  .filters{ max-width:none; }
  .res-grid,.grid2,.hl,.sights,.inc,.why,.hotels,.reg-grid,.sight-grid,.best,.intro2,.th-grid,.next,.photo3,.lic,.fgrid,.fgrid3,.pm,.paysel,.honors,.guides{ grid-template-columns:1fr; }
  .gal{ grid-template-columns:1fr 1fr; grid-template-rows:240px 140px 140px; }
  .gal > div:first-child{ grid-column:1 / 3; grid-row:auto; }
  .gal > div:nth-child(n+4){ display:none; }
  .facts-bar{ grid-template-columns:1fr 1fr; }
  .facts-bar div{ border-left:0; border-top:1px solid var(--line); }
  .blk{ padding:48px 0; }
  .day{ grid-template-columns:1fr; gap:14px; }
  .feat-art{ grid-template-columns:1fr; }
  .feat-art .media{ min-height:240px; }
  .feat-art-b{ padding:28px; }
  .timeline{ grid-template-columns:1fr 1fr; }
  .lic-c{ grid-template-columns:120px minmax(0,1fr); }
  .stepper div span{ display:none; }
  .panel{ padding:22px; }
  .t-side,.co-side,.ct-side,.article aside,.pol aside{ max-width:none; }
  .pol aside{ position:static; }
}

/* ============ v3 fixes ============ */
.site .btn-accent,.sc .btn-accent,.site .btn-dark,.site .btn-ghost{ color:#fff; }
.site .btn-ghost:hover{ color:var(--ink); }
.site .btn-line{ color:var(--text); }
.menu-btn{ display:none; }
.card.bg-ink{ background:var(--ink); color:var(--on-ink); }
.hero-shade{ background:linear-gradient(180deg, rgba(8,16,14,.55) 0%, rgba(8,16,14,0) 26%), linear-gradient(90deg, rgba(8,16,14,.78) 0%, rgba(8,16,14,.42) 48%, rgba(8,16,14,.05) 80%), linear-gradient(0deg, rgba(8,16,14,.55) 0%, rgba(8,16,14,0) 40%); }
.lic-c{ grid-template-columns:280px minmax(0,1fr); }
.lic-c .media{ aspect-ratio:4/3; align-self:center; }
.fld .opt{ font-size:12px; margin-top:-4px; }
@media (max-width: 1100px){ .menu-btn{ display:grid; } }
@media (max-width: 760px){
  .lic-c{ grid-template-columns:1fr; }
  .hdr .wrap{ height:72px; }
  .logo b{ font-size:18px; } .seal{ width:34px; height:34px; font-size:19px; }
  .topbar .wrap{ justify-content:center; }
  .topbar .wrap > span:last-child{ display:none; }
  .sec-head{ margin-bottom:32px; }
  .cta .wrap{ padding-top:80px; padding-bottom:80px; }
  .tour-b{ padding:22px; }
  .phead-img .wrap{ padding-top:150px; }
}

/* ============ v4: photo theme tiles, travel-style backdrop ============ */
.site .theme{ background:var(--ink); min-height:300px; }
.theme .tbg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.theme:hover .tbg{ transform:scale(1.05); }
.theme .tshade{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,14,12,.88) 0%, rgba(8,14,12,.40) 55%, rgba(8,14,12,.12) 100%); }
.theme > div{ position:relative; z-index:1; }
.theme .theme-k{ padding:5px 10px; border-radius:2px; opacity:1; color:#fff; }
.t-food .theme-k{ background:#A9432C; } .t-nature .theme-k{ background:#476E35; } .t-panda .theme-k{ background:#2B3134; }
.t-snow .theme-k{ background:#2F6596; } .t-silk .theme-k{ background:#8C601E; } .t-rail .theme-k{ background:#38457F; }
.theme p{ opacity:.9; }
.style-sec{ position:relative; overflow:hidden; }
.style-sec .sec-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.24; }
.style-sec .wrap{ position:relative; }
.style-sec .style-i{ background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.style-sec .style-i:hover{ background:rgba(255,255,255,.14); }
.chips .tchip{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; color:#fff; font-size:14px; font-weight:600; border-radius:2px; }
.chips .tchip .ico{ width:18px; height:18px; }

/* ============ v5: tour template, place template ============ */
.gal3{ grid-template-columns:2fr 1fr; grid-template-rows:260px 260px; }
.gal1{ display:block; height:520px; position:relative; overflow:hidden; }
.gal1 img{ width:100%; height:100%; object-fit:cover; }
.points{ list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 32px; }
.points li{ display:flex; gap:12px; font-size:16px; line-height:1.55; padding:14px 0; border-top:1px solid var(--line); }
.points .ico{ color:var(--accent); width:20px; height:20px; margin-top:2px; }
.note{ background:var(--sand); padding:20px 24px; display:flex; gap:14px; font-size:15px; line-height:1.6; margin-top:24px; }
.note .ico{ color:var(--accent); margin-top:2px; }
.day p.dtxt{ font-size:16px; line-height:1.65; margin-top:8px; color:var(--text); }
.sight-row{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.sight-row .sight .media{ aspect-ratio:4/3; }
@media (max-width: 760px){
  .gal3{ grid-template-columns:1fr; grid-template-rows:240px 140px 140px; }
  .gal3 > div:first-child{ grid-row:auto; }
  .gal1{ height:280px; }
  .points,.sight-row{ grid-template-columns:1fr; }
}
.phead-img .pbg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ============ v6: journey ruler, route strip, bento themes ============ */
.ruler{ position:relative; height:560px; margin-top:8px; }
.r-axis{ position:absolute; left:0; right:0; top:280px; height:10px; display:flex; gap:3px; }
.r-axis span{ height:10px; border-radius:2px; }
.r-seg1{ flex:3; background:#E7C3B9; } .r-seg2{ flex:4; background:#D99684; } .r-seg3{ flex:3; background:#C9654D; } .r-seg4{ flex:4; background:#B4351F; } .r-seg5{ flex:2; background:#7E2414; }
.r-ticks{ position:absolute; left:0; right:0; top:298px; height:20px; }
.r-ticks i{ position:absolute; top:0; width:1px; height:8px; background:var(--muted); opacity:.5; font-style:normal; }
.r-ticks b{ position:absolute; top:12px; transform:translateX(-50%); font-size:12px; font-weight:600; color:var(--muted); }
.r-band{ position:absolute; top:326px; font-size:13px; color:var(--muted); line-height:1.35; }
.r-band strong{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:22px; color:var(--text); }
.pin{ position:absolute; width:140px; transform:translateX(-50%); display:block; }
.pin.up{ top:0; } .pin.down{ top:418px; }
.pin .ph-c{ position:relative; overflow:hidden; aspect-ratio:3/2; background:var(--stone); }
.pin img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.pin:hover img{ transform:scale(1.06); }
.pin .pb{ background:#fff; padding:10px 12px 12px; box-shadow:0 10px 28px rgba(19,36,31,.10); transition:box-shadow .3s; }
.pin:hover .pb{ box-shadow:0 18px 40px rgba(19,36,31,.18); }
.pin .pb b{ display:block; font-size:14px; line-height:1.3; }
.pin .pb span{ font-size:12px; color:var(--accent); font-weight:700; }
.pin::after{ content:""; position:absolute; left:50%; width:1px; background:var(--text); opacity:.35; }
.pin.up::after{ top:100%; height:calc(280px - 100%); }
.pin.down::after{ bottom:100%; height:128px; }
.pin .dot{ position:absolute; left:50%; width:16px; height:16px; margin-left:-8px; border-radius:50%; background:#fff; border:3px solid var(--accent); z-index:2; }
.pin.up .dot{ top:calc(280px - 3px); } .pin.down .dot{ top:-141px; }
.pin.dash .pb{ background:transparent; box-shadow:none; border:1.5px dashed var(--muted); }
.pin.dash .ph-c{ display:none; }
.pin.edge{ transform:translateX(-100%); } .pin.edge::after,.pin.edge .dot{ left:auto; right:0; margin-left:0; } .pin.edge .dot{ right:-8px; }

.route{ display:flex; gap:4px; margin-bottom:40px; align-items:stretch; }
.route .rs{ position:relative; padding:16px 16px 14px; color:#fff; min-width:0; }
.route .rs b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:20px; line-height:1.2; }
.route .rs span{ font-size:12px; opacity:.85; font-weight:600; }
.route .rs:nth-child(4n+1){ background:var(--ink); } .route .rs:nth-child(4n+2){ background:#2C4A42; } .route .rs:nth-child(4n+3){ background:var(--accent); } .route .rs:nth-child(4n+4){ background:#8C601E; }
.route .rs .ico{ position:absolute; right:12px; top:14px; width:18px; height:18px; opacity:.8; }
.days{ position:relative; }
.day{ position:relative; }
.day::before{ content:""; position:absolute; left:28px; top:84px; bottom:-28px; width:2px; background:var(--line); }
.day:last-child::before{ display:none; }

.themes.bento{ grid-template-columns:repeat(4, minmax(0,1fr)); grid-auto-rows:300px; }
.themes.bento .theme:nth-child(1),.themes.bento .theme:nth-child(6){ grid-column:span 2; }
.themes.bento .theme h3{ max-width:420px; }

@media (max-width: 1100px){
  .themes.bento{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .themes.bento .theme:nth-child(6){ grid-column:span 2; }
}
@media (max-width: 900px){
  .ruler{ height:auto; display:flex; flex-direction:column; gap:14px; }
  .r-axis,.r-ticks,.r-band{ display:none; }
  .pin,.pin.up,.pin.down,.pin.edge{ position:relative; top:auto; left:auto !important; transform:none; width:100%; display:grid; grid-template-columns:120px 1fr; }
  .pin::after,.pin .dot{ display:none; }
  .pin.dash{ grid-template-columns:1fr; }
  .route{ flex-wrap:wrap; } .route .rs{ flex:1 1 40% !important; }
  .themes.bento{ grid-template-columns:1fr; grid-auto-rows:260px; }
  .themes.bento .theme:nth-child(1),.themes.bento .theme:nth-child(6){ grid-column:auto; }
}

/* ============ v7: months strip, heatmap, refund countdown, year axis, rail map, mini route, next timeline, wave steps ============ */
/* months */
.mo-wrap{ position:relative; padding-top:44px; }
.mo-hol{ position:absolute; top:0; transform:translateX(-50%); font-size:12px; font-weight:700; color:var(--accent); white-space:nowrap; display:flex; flex-direction:column; align-items:center; gap:4px; }
.mo-hol::after{ content:""; width:1px; height:14px; background:var(--accent); }
.mo{ display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:3px; }
.mo div{ height:64px; display:flex; flex-direction:column; justify-content:flex-end; padding:8px 10px; font-size:13px; font-weight:700; }
.mo .b{ background:var(--accent); color:#fff; } .mo .g{ background:#E3B4A6; color:#5A1C10; } .mo .o{ background:#fff; color:var(--muted); border:1px solid var(--line); }
.mo-notes{ display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:3px; margin-top:16px; }
.mo-notes div{ border-top:2px solid var(--text); padding-top:12px; padding-right:12px; }
.mo-notes b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:20px; }
.mo-notes span{ display:block; font-size:12px; font-weight:700; color:var(--accent); }
.mo-notes p{ font-size:14px; color:var(--muted); margin-top:6px; line-height:1.5; }
.legend{ display:flex; gap:20px; font-size:13px; color:var(--muted); margin-top:20px; flex-wrap:wrap; }
.legend i{ display:inline-block; width:14px; height:14px; vertical-align:-2px; margin-right:6px; }
.legend .b{ background:var(--accent); } .legend .g{ background:#E3B4A6; } .legend .o{ background:#fff; border:1px solid var(--line); }
/* heatmap */
.heat{ width:100%; border-collapse:separate; border-spacing:3px; margin-top:20px; font-size:13px; }
.heat th{ font-weight:700; color:var(--muted); padding:4px 0; text-align:center; }
.heat th:first-child{ text-align:left; }
.heat td{ height:38px; }
.heat td:first-child{ font-weight:600; font-size:14px; padding-right:10px; white-space:nowrap; width:180px; }
.heat td.b{ background:var(--accent); } .heat td.g{ background:#E3B4A6; } .heat td.o{ background:#fff; border:1px solid var(--line); }
/* refund countdown */
.cd{ margin-top:28px; }
.cd-ends{ display:flex; justify-content:space-between; font-size:13px; font-weight:700; margin-bottom:10px; }
.cd-ends span{ display:flex; align-items:center; gap:6px; }
.cd-ends .ico{ width:16px; height:16px; color:var(--accent); }
.cd-bar{ display:flex; gap:3px; }
.cd-bar div{ padding:16px 14px; color:#fff; min-width:0; }
.cd-bar b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:28px; line-height:1; }
.cd-bar span{ display:block; font-size:12px; font-weight:600; margin-top:8px; opacity:.9; }
.cd1{ flex:40; background:#2C4A42; } .cd2{ flex:25; background:#C9654D; } .cd3{ flex:20; background:#B4351F; } .cd4{ flex:15; background:#5E1A0E; }
.cd-mark{ position:relative; height:34px; }
.cd-mark span{ position:absolute; top:8px; transform:translateX(-50%); font-size:12px; font-weight:700; color:var(--muted); white-space:nowrap; }
.cd-mark span::before{ content:""; position:absolute; left:50%; top:-8px; width:1px; height:6px; background:var(--muted); }
/* year axis */
.yax{ position:relative; height:400px; margin-top:8px; }
.yax-line{ position:absolute; left:0; right:0; top:200px; height:2px; background:rgba(255,255,255,.25); }
.yax-range{ position:absolute; top:196px; height:10px; background:var(--gold); border-radius:5px; }
.yax-tick{ position:absolute; top:212px; transform:translateX(-50%); font-size:12px; color:var(--on-ink-muted); }
.yev{ position:absolute; width:170px; transform:translateX(-50%); }
.yev.up{ bottom:216px; } .yev.down{ top:236px; }
.yev b{ display:block; font-family:var(--f-display); font-weight:var(--d-wght); font-size:30px; color:var(--gold); line-height:1; }
.yev p{ font-size:14px; color:var(--on-ink-muted); margin-top:8px; line-height:1.45; }
.yev::after{ content:""; position:absolute; left:50%; width:1px; background:rgba(255,255,255,.3); }
.yev.up::after{ top:100%; height:16px; } .yev.down::after{ bottom:100%; height:30px; }
.yev i{ position:absolute; left:50%; width:14px; height:14px; margin-left:-7px; border-radius:50%; background:var(--ink); border:3px solid var(--gold); }
.yev.up i{ bottom:-23px; } .yev.down i{ top:-43px; }
.yev.edge-r{ transform:translateX(-100%); text-align:right; } .yev.edge-r::after,.yev.edge-r i{ left:auto; right:0; } .yev.edge-r i{ right:-7px; margin-left:0; }
.yev.edge-l{ transform:none; } .yev.edge-l::after,.yev.edge-l i{ left:0; } .yev.edge-l i{ left:-7px; margin-left:0; }
/* rail map */
.rmap{ position:relative; height:780px; background:#fff; border:1px solid var(--line); overflow:hidden; }
.rmap svg{ position:absolute; inset:0; width:100%; height:100%; }
.rmap svg path{ fill:none; stroke-width:7; stroke-linecap:round; stroke-linejoin:round; }
.st{ position:absolute; transform:translate(-50%,-50%); display:block; }
.st i{ display:block; width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid var(--text); transition:transform .2s; }
.st.hub i{ width:24px; height:24px; border-width:4px; }
.st:hover i{ transform:scale(1.25); }
.st span{ position:absolute; white-space:nowrap; font-size:14px; font-weight:700; color:var(--text); }
.st.hub span{ font-family:var(--f-display); font-weight:var(--d-wght); font-size:20px; }
.st .r{ left:28px; top:50%; transform:translateY(-50%); } .st .l{ right:28px; top:50%; transform:translateY(-50%); }
.st .t{ bottom:28px; left:50%; transform:translateX(-50%); } .st .bt{ top:28px; left:50%; transform:translateX(-50%); }
.st:hover span{ color:var(--accent); }
.rlegend{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px 24px; margin-top:20px; }
.rlegend a{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; }
.rlegend a:hover{ color:var(--accent); }
.rlegend i{ width:28px; height:6px; border-radius:3px; flex:none; }
.rlegend i.dash{ background:repeating-linear-gradient(90deg, currentColor 0 6px, transparent 6px 10px) !important; }
/* mini route on cards */
.mroute{ display:flex; gap:2px; height:6px; }
.mroute i{ display:block; border-radius:1px; }
.mroute i:nth-child(4n+1){ background:var(--ink); } .mroute i:nth-child(4n+2){ background:#2C4A42; } .mroute i:nth-child(4n+3){ background:var(--accent); } .mroute i:nth-child(4n+4){ background:#8C601E; }
/* next timeline (confirmation) */
.ntl{ position:relative; margin-top:28px; padding-top:8px; }
.ntl-line{ position:absolute; left:0; right:0; top:27px; height:2px; background:var(--line); }
.ntl-row{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:16px; position:relative; }
.ntl-row > div{ padding-top:44px; position:relative; }
.ntl-row > div::before{ content:""; position:absolute; top:10px; left:0; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--accent); }
.ntl-row > div.done::before{ background:var(--accent); }
.ntl-row > div.go::before{ background:var(--ink); border-color:var(--ink); }
.ntl-row b{ display:block; font-size:13px; color:var(--accent); font-weight:700; }
.ntl-row h3{ font-size:16px; font-weight:700; font-family:var(--f-body); letter-spacing:0; margin-top:4px; }
.ntl-row p{ font-size:14px; color:var(--muted); margin-top:4px; line-height:1.5; }
/* wave steps */
.wave{ position:relative; height:440px; }
.wave > svg{ position:absolute; inset:0; width:100%; height:100%; }
.wave > svg path{ fill:none; stroke:var(--line); stroke-width:3; stroke-dasharray:2 10; stroke-linecap:round; }
.wstep{ position:absolute; width:260px; }
.wstep .step-ic{ margin-bottom:18px; }
.wstep .step-n{ margin-top:0; }
.wstep p{ margin-top:8px; font-size:15px; color:var(--muted); }

@media (max-width: 900px){
  .mo{ grid-template-columns:repeat(6, minmax(0,1fr)); } .mo-hol{ display:none; } .mo-wrap{ padding-top:0; }
  .mo-notes{ grid-template-columns:1fr 1fr; } .mo-notes div{ grid-column:auto !important; }
  .heat{ font-size:11px; } .heat td:first-child{ width:auto; font-size:12px; }
  .cd-bar{ flex-direction:column; } .cd-mark{ display:none; }
  .yax{ height:auto; display:flex; flex-direction:column; gap:22px; border-left:2px solid rgba(255,255,255,.25); padding-left:24px; }
  .yax-line,.yax-range,.yax-tick{ display:none; }
  .yev,.yev.up,.yev.down,.yev.edge-r,.yev.edge-l{ position:relative; left:auto !important; top:auto; bottom:auto; transform:none; width:auto; text-align:left; }
  .yev::after,.yev i{ display:none; }
  .rmap{ height:520px; } .st span{ font-size:11px; } .st.hub span{ font-size:14px; } .st i{ width:12px; height:12px; border-width:2px; } .st.hub i{ width:16px; height:16px; border-width:3px; }
  .rlegend{ grid-template-columns:1fr; }
  .ntl-line{ display:none; } .ntl-row{ grid-template-columns:1fr; }
  .wave{ height:auto; display:flex; flex-direction:column; gap:28px; } .wave > svg{ display:none; } .wstep{ position:relative; left:auto !important; top:auto !important; width:auto; }
}
.hgrid{ display:grid; grid-template-columns:190px repeat(12, minmax(0,1fr)); gap:3px; margin-top:20px; font-size:13px; }
.hgrid .hh{ font-weight:700; color:var(--muted); text-align:center; padding:4px 0; }
.hgrid .hh:first-child{ text-align:left; }
.hgrid .hn{ font-weight:600; font-size:14px; display:flex; align-items:center; padding-right:8px; }
.hgrid .b,.hgrid .g,.hgrid .o{ height:38px; }
.hgrid .b{ background:var(--accent); } .hgrid .g{ background:#E3B4A6; } .hgrid .o{ background:#fff; border:1px solid var(--line); }
@media (max-width: 900px){ .hgrid{ grid-template-columns:96px repeat(12, minmax(0,1fr)); font-size:10px; } .hgrid .hn{ font-size:11px; } .hgrid .b,.hgrid .g,.hgrid .o{ height:28px; } }

.wave{ height:480px; }
.wstep.up{ top:0; height:204px; display:flex; flex-direction:column; justify-content:flex-end; }
.wstep.up .step-ic{ margin:18px 0 0; }
.wstep.down{ top:268px; }
.wstep .h3{ margin-top:4px; }
@media (max-width: 900px){ .wstep.up{ height:auto; flex-direction:column-reverse; } .wstep.up .step-ic{ margin:0 0 18px; } }
.cd-bar .ph{ display:inline; margin:0; padding:0 3px; font-size:inherit; opacity:1; }
.st .br{ top:22px; left:8px; } .st .bl{ top:22px; right:8px; }
.st .br2{ top:16px; left:18px; }

/* ============ v8: ink-wash textures ============ */
.phead{ background-color:var(--stone); background-image:url(img/19a879-img60.jpg); background-size:cover; background-position:right bottom; background-blend-mode:multiply; }
.phead.clouds{ background-image:url(img/9dd914-img61.jpg); background-position:center; }
.ink-tex{ background-color:var(--ink); background-image:url(img/65e5c1-img62.jpg); background-size:cover; background-position:center bottom; background-blend-mode:luminosity; }
.ftr{ background-color:var(--ink2); background-image:url(img/65e5c1-img62.jpg); background-size:cover; background-position:center top; background-blend-mode:luminosity; }
/* v8b: texture as overlay layer */
.phead,.phead.clouds{ background-image:none; position:relative; overflow:hidden; }
.phead::before{ content:""; position:absolute; inset:0; background:url(img/19a879-img60.jpg) right bottom / auto 150% no-repeat; mix-blend-mode:multiply; filter:contrast(2.2) brightness(1.02); opacity:.85; pointer-events:none; }
.phead.clouds::before{ background-image:url(img/9dd914-img61.jpg); background-position:center; background-size:cover; }
.phead > .wrap{ position:relative; }
.ink-tex,.ftr{ background-image:none; position:relative; overflow:hidden; }
.ink-tex::before,.ftr::before{ content:""; position:absolute; inset:0; background:url(img/65e5c1-img62.jpg) center bottom / cover no-repeat; mix-blend-mode:screen; filter:contrast(3) brightness(1.4); opacity:.55; pointer-events:none; }
.ink-tex > .wrap,.ftr > .wrap{ position:relative; }
/* v8c: processed textures */
.phead::before{ background-image:url(img/d76306-tex60.jpg); background-size:auto 160%; background-position:right 0 bottom 0; filter:none; opacity:.55; }
.phead.clouds::before{ background-image:url(img/1c31f3-tex61.jpg); background-size:cover; background-position:center; opacity:.45; }
.ink-tex::before,.ftr::before{ background-image:url(img/b42a79-tex62.jpg); filter:none; opacity:.8; }
.phead::before{ background-size:cover; background-position:right bottom; }
.ink-tex::before,.ftr::before{ opacity:.65; }

/* ============ v9: tinted panels inside long tour pages ============ */
.blk.tint-sand,.blk.tint-stone,.blk.tint-ink{ padding:56px 48px; border-bottom:0; margin:40px 0; }
.tint-sand{ background:var(--sand); } .tint-stone{ background:var(--stone); }
.tint-ink{ background:var(--ink); color:var(--on-ink); }
.tint-ink .why-i{ background:var(--ink3); } .tint-ink .why-i p{ color:var(--on-ink-muted); } .tint-ink .why-i .ico{ color:var(--gold); }
.tint-sand .hl-i{ border-top-color:rgba(0,0,0,.12); }
.tint-stone .sight,.tint-stone .inc-c{ border-color:transparent; }
.tint-stone .tbl th{ background:var(--sand); }
@media (max-width: 760px){ .blk.tint-sand,.blk.tint-stone,.blk.tint-ink{ padding:36px 20px; margin:24px -20px; } }

/* preview-only: hover mega menu + mobile menu */
.hdr{position:relative}
.mx{position:absolute;left:0;right:0;top:100%;z-index:60;display:none;text-align:left}
.mx.open{display:block}
.mob{display:none;position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.16);padding:8px 16px 20px}
.mob.open{display:block}.mob a{display:block;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text);font-weight:600}
@media (max-width:1100px){.mx{display:none!important}}
