@font-face { font-family:"China Postcard"; src:url("../../cdn/fonts/caveat-postcard-bold.ttf") format("truetype"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"China Display"; src:url("../../cdn/fonts/gloock-china-regular.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
.home-page .hero { min-height:100vh; min-height:100dvh; position:relative; isolation:isolate; overflow:visible; color:#f7faf7; background:var(--cp-night); border:0; }
.home-page .hero::after { display:block; content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(11,34,31,.82),rgba(11,34,31,.45) 58%,rgba(11,34,31,.16)),linear-gradient(0deg,var(--cp-night),transparent 48%); pointer-events:none; }
.home-page nav:not(.public-nav) { height:auto; min-height:80px; flex-wrap:wrap; padding-block:14px; gap:16px; }
.home-page nav:not(.public-nav) .links { flex-wrap:wrap; gap:10px 20px; }
.home-page nav:not(.public-nav) .links a { display:inline-flex; min-height:44px; align-items:center; }
.home-skip-link { position:absolute; z-index:20; left:16px; top:-90px; background:var(--cp-surface); color:var(--cp-accent); padding:12px 18px; }
.home-skip-link:focus { top:12px; }
.home-page .home-hero { flex:1 0 auto; display:flex; flex-direction:column; justify-content:center; padding-block:48px 80px; }
.home-hero-copy { position:relative; z-index:2; max-width:850px; }
.home-page .home-hero-copy>.eyebrow { display:flex; align-items:center; gap:14px; color:#edcfad; letter-spacing:.24em; font-size:11px; }
.home-page .home-hero-copy>.eyebrow::before { content:""; flex:0 0 30px; height:1px; background:currentColor; opacity:.75; }
.home-page .home-hero-copy>h1 { font:600 clamp(3rem,5.4vw,4.7rem)/1.05 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing:-.045em; margin:18px 0 24px; color:#fff; max-width:850px; }
.home-page .home-hero-copy>.hero-wordmark { margin:14px 0 34px; font-size:1rem; line-height:1; letter-spacing:normal; }
.hero-wordmark-country { display:flex; align-items:center; gap:22px; width:fit-content; max-width:100%; color:#fff8ec; font:400 clamp(5.5rem,12vw,11rem)/.94 "China Display",Georgia,"Times New Roman",serif; letter-spacing:.045em; }
.hero-wordmark-name { display:block; white-space:nowrap; text-transform:uppercase; }
@media(max-width:360px) { html:not([lang="zh-CN"]) .hero-wordmark-country { letter-spacing:.02em; } }
.hero-wordmark-stop { color:#e5b88b; }
.hero-wordmark-seal { display:flex; justify-content:center; align-items:center; flex:none; width:42px; height:64px; border:3px double #f0d0b6; border-radius:3px; background:#a84836; color:#fff6e9; font:600 20px/1 "Songti SC","Noto Serif CJK SC","Noto Serif SC",SimSun,serif; letter-spacing:.12em; writing-mode:vertical-rl; text-orientation:upright; transform:rotate(-5deg); pointer-events:none; }
.hero-wordmark-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 14px; padding-top:18px; }
.hero-wordmark-intro { color:#f3f6f0; font:500 clamp(1.125rem,2.4vw,2.3rem)/1.25 var(--public-font,system-ui,sans-serif); letter-spacing:-.04em; }
.hero-wordmark-postcard { position:relative; display:inline-block; max-width:100%; padding:0 .07em .12em 0; color:var(--cp-cream,#f6f5e9); font:700 clamp(3.05rem,5.2vw,4.7rem)/1 "China Postcard","Segoe Print","Bradley Hand",cursive; letter-spacing:normal; white-space:nowrap; }
.hero-wordmark-swash { position:absolute; left:-.02em; bottom:-.07em; width:100%; height:.27em; color:#b7e4cd; opacity:.9; overflow:visible; pointer-events:none; }
.home-hero-copy>p { max-width:62ch; font-size:17px; line-height:1.8; margin:0 0 28px; color:#e5efea; }
.home-page .home-search { max-width:660px; background:transparent; border:0; border-radius:0; padding:0; box-shadow:none; }
.home-search label { display:block; font-size:12px; font-weight:600; margin-bottom:9px; color:#dce9e3; }
.home-search>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; border:1px solid rgba(255,255,255,.38); padding:6px; border-radius:999px; background:rgba(8,29,27,.62); backdrop-filter:blur(10px); }
.home-page .home-search input[type=search] { min-height:48px; padding:12px 18px; border-radius:999px; font-size:15px; min-width:0; border:0; background:transparent; color:#fff; box-shadow:none; }
.home-page .home-search input[type=search]::placeholder { color:#d5e1db; opacity:1; }
.home-page .home-search button { min-height:48px; display:flex; justify-content:center; align-items:center; gap:22px; border:0; border-radius:999px; padding:12px 23px; background:var(--cp-cream); color:var(--cp-night); font-weight:700; font-size:14px; }
.home-page .home-search button:hover { background:#fff; }
.home-page .hero :is(a,button,input,summary):focus-visible { outline:3px solid #b7e4cd; outline-offset:4px; }
.home-popular { display:flex; align-items:center; flex-wrap:wrap; gap:0 18px; margin-top:6px; font-size:12px; color:#d5e1db; }
.home-popular a { display:inline-flex; align-items:center; min-height:44px; color:#f6f8f3; text-underline-offset:5px; }
.home-personal-link { display:inline-flex; min-height:44px; align-items:center; gap:22px; color:#f6f8f3; font-size:14px; line-height:1.6; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.35); margin-top:5px; }
.home-personal-link:hover { border-bottom-color:#fff; }
.home-hero-photo { margin:0; position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.home-hero-photo>img { position:absolute; inset:0; z-index:0; width:100%; height:100%; max-height:none; min-height:0; object-fit:cover; object-position:center 42%; border-radius:0; }
.hero-scene-image { transform-origin:center center; }
.hero-gallery-controls[hidden] { display:none!important; }
.hero-gallery-controls { position:absolute; z-index:3; right:max(32px,calc((100vw - 1280px)/2)); bottom:26px; display:flex; align-items:center; gap:16px; color:#f6f8f3; }
.hero-gallery-dots,.hero-gallery-actions { display:flex; align-items:center; gap:4px; }
.hero-gallery-count { margin-right:12px; font:500 11px/1.2 var(--public-font,system-ui,sans-serif); font-variant-numeric:tabular-nums; letter-spacing:.12em; white-space:nowrap; }
.home-page .hero-gallery-controls button { display:inline-flex; justify-content:center; align-items:center; min-width:44px; min-height:44px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#f6f8f3; background:rgba(8,29,27,.65); cursor:pointer; }
.home-page .hero-gallery-controls button:hover { background:rgba(255,255,255,.18); }
.home-page .hero-gallery-controls button:active { transform:scale(.97); }
.home-page .hero-gallery-controls .hero-gallery-dot { background:transparent; border-color:transparent; }
.hero-gallery-dot span { display:block; width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.45); transition:transform .3s ease,opacity .3s ease; }
.hero-gallery-dot[aria-pressed="true"] span { background:#f6f5e9; transform:scale(1.45); }
.hero-gallery-dot[aria-pressed="true"] { outline:1px solid rgba(255,255,255,.42); outline-offset:-9px; }
.home-page .hero-gallery-controls .hero-gallery-toggle { min-width:74px; padding-inline:12px; font:500 12px/1.3 var(--public-font,system-ui,sans-serif); }
.hero-gallery-arrow { font-size:19px; }
.home-page .hero-gallery-controls button:disabled { opacity:.7; cursor:default; }
.hero-gallery-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1120px) { .hero-gallery-controls { position:relative; right:auto; bottom:auto; width:fit-content; max-width:100%; margin-top:24px; flex-wrap:wrap; gap:4px 18px; } .home-page .home-hero { padding-bottom:32px; } }
@media(max-width:520px) { .hero-gallery-controls { align-items:flex-start; flex-direction:column; gap:0; } .hero-gallery-actions { gap:6px; } .hero-gallery-count { min-width:64px; margin-right:8px; } }
@media(prefers-reduced-motion:reduce) { .home-hero-photo>img,.hero-gallery-controls button,.hero-gallery-dot span { animation:none!important; transition:none!important; transform:none!important; } }
.home-page .home-paths { width:100%!important; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:28px max(32px,calc((100vw - 1280px)/2)) 34px; gap:24px; border:0; background:var(--cp-night); color:#eef6ef; }
body.home-page .home-paths.shell { width:100%!important; max-width:none; }
.home-paths>a { position:relative; min-width:0; display:block; padding:12px 24px 12px 0; text-decoration:none; }
.home-paths>a+a { border-left:1px solid rgba(255,255,255,.16); padding-left:24px; }
.home-paths span { display:block; color:#a9cbbb; font-size:10px; letter-spacing:.17em; text-transform:uppercase; margin-bottom:12px; }
.home-paths strong { font-size:18px; font-weight:600; }
.home-paths p { margin:8px 0 0; color:#c4d7cb; font-size:13px; line-height:1.75; }
.home-paths b { position:absolute; top:12px; right:0; color:#b7e4cd; }
.home-paths a:hover strong { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.home-page :is(.sample-journeys,.planner) { padding-block:64px; }
.home-page :is(.sample-heading h2,.section-head h2,.toolkit-home h2,.planner-intro h2,.home-how h2) { font:600 clamp(1.8rem,3vw,2.5rem)/1.18 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing:-.035em; }
.home-page :is(.sample-heading,.section-head) { margin-bottom:24px; }
.home-page .sample-heading p { font-size:15px; line-height:1.8; }
.home-travel-styles { display:flex; flex-wrap:wrap; gap:8px; margin-block:14px 18px; }
.home-travel-styles a { min-height:44px; display:inline-flex; align-items:center; padding:10px 15px; border:1px solid var(--cp-border); border-radius:30px; font-size:13px; text-decoration:none; background:var(--cp-surface); color:var(--cp-accent); }
.home-travel-styles a:hover { border-color:var(--cp-accent); }
.home-page #sampleCards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.home-page #sampleCards>.sample-route-card:first-child { grid-column:1/-1; }
.home-page .sample-route-card h3 { font-size:1.45rem; line-height:1.4; }
.home-page .sample-route-card p { font-size:14px; }
.home-page .sample-route-actions { gap:10px 16px; }
.home-page .sample-route-actions a { font-size:13px; }
.home-page #sampleRouteCount,.home-page .sample-caption { color:var(--cp-text-muted); font-size:12px; line-height:1.7; }
.home-how { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.5fr); gap:50px; padding-block:32px 52px; border-top:1px solid var(--cp-border); }
.home-how h2 { margin:14px 0; }
.home-how ol { display:grid; gap:18px; margin:0; padding:0; list-style:none; counter-reset:planning; }
.home-how li { counter-increment:planning; position:relative; padding-left:48px; }
.home-how li::before { content:"0" counter(planning); position:absolute; left:0; top:0; color:var(--cp-accent); font-size:13px; }
.home-how strong { font-size:15px; }
.home-how p { font-size:14px; line-height:1.7; color:var(--cp-text-muted); margin:6px 0 0; }
.home-page .journeys { padding-block:56px; }
.home-page .journey-track { grid-auto-columns:clamp(270px,30vw,390px); gap:18px; scroll-snap-type:none; }
.home-page .journey-progress-bar { width:100%; transform-origin:left center; transition:none; }
.home-page #journeyToggle { width:auto; padding-inline:14px; font-size:12px; }
.home-page #journeyToggle[hidden] { display:none; }
.home-page .journey { min-height:400px; border-radius:26px; padding:28px; }
.home-page .journey h3 { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1.7rem; font-weight:600; letter-spacing:-.03em; line-height:1.18; }
.home-page .journey p { font-size:13px; }
.home-page .journey-photo-credit { font-size:10px; }
.home-page .journey-progress-bar { transition:none; }
.home-page .toolkit-home { padding-block:64px; }
.home-page .planner { border-top:1px solid var(--cp-border); }
.home-page .planner-intro { text-align:left; max-width:none; margin:0 0 20px; }
.home-page .planner-intro p { max-width:65ch; font-size:16px; }
.home-brief-note { padding:16px 20px; background:var(--cp-accent-soft); border-left:3px solid var(--cp-accent); color:var(--cp-text-muted); font-size:13px; line-height:1.7; margin:0 0 36px; }
.home-page .planner-layout { gap:40px; }
.home-page .step-dot { min-height:44px; font-size:13px; }
.home-page .form-step h3 { font-size:clamp(1.8rem,3vw,2.4rem); }
.home-page .video-highlights { padding-block:40px; }
.home-page .video-highlights h2 { font-size:clamp(2.1rem,3.4vw,3.2rem); }
.home-page .promise { min-height:0; margin-top:24px; padding-block:28px; }
.home-page .promise h2 { font:600 clamp(2rem,3.4vw,3rem)/1.15 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing:-.035em; }
.home-page .promise .hero-cta { background:var(--cp-accent); color:var(--cp-accent-fg); backdrop-filter:none; border:0; border-radius:999px; }
.home-nav-band { position:relative; z-index:5; width:100%; flex:none; background:rgba(10,31,29,.26); }
.home-nav-band::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:rgba(255,255,255,.14); pointer-events:none; }
.home-nav-band>nav { border-bottom-color:transparent; }
.home-page .hero .public-nav { color:#f4f7f4; background:transparent; border-bottom:1px solid transparent; }
.home-page .hero .public-nav .public-brand { color:#fff; }
.home-page .hero .public-brand :is(.seal,span) { border-color:rgba(255,255,255,.65); color:#f2f6ef; border-radius:50%; }
.home-page .hero .public-nav .public-nav-links a { color:#e9f1eb; }
.home-page .hero .public-nav .public-nav-links a:hover { color:#fff; }
.home-page .hero .public-nav .public-nav-links .public-plan-link { background:var(--cp-cream); color:var(--cp-night); border-color:transparent; }
.home-page .hero .public-nav .public-nav-links .public-plan-link:hover { background:#fff; color:var(--cp-night); }
.home-page .hero .public-menu-toggle { border-color:rgba(255,255,255,.35); background:rgba(10,31,29,.7); color:#fff; border-radius:999px; }
@media(max-width:1120px) { .home-page .hero .public-nav-links { border-color:rgba(255,255,255,.15); background:var(--cp-night); border-radius:18px; padding:12px; } }
@media(max-width:700px) { .home-page .home-hero-copy>.hero-wordmark { margin:18px 0 30px; font-size:1rem; } .hero-wordmark-country { gap:12px; font-size:clamp(3.875rem,20vw,6.25rem); } .hero-wordmark-seal { width:28px; height:44px; border-width:2px; font-size:15px; } .hero-wordmark-line { gap:2px 9px; padding-top:14px; } .hero-wordmark-intro { font-size:clamp(1.125rem,5.5vw,1.7rem); } .hero-wordmark-postcard { font-size:clamp(2.8rem,12vw,3.75rem); } }
@media(max-width:700px) { .home-page .hero::after { background:linear-gradient(180deg,rgba(9,30,28,.64),rgba(9,30,28,.60) 52%,var(--cp-night)); } }
@media(max-width:1000px) { .home-page .home-paths { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } .home-paths>a:nth-child(3) { border-left:0; padding-left:0; } }
@media(max-width:700px) { .home-page .home-hero { padding-block:36px 32px; } .home-page .home-hero-copy>h1 { font-size:clamp(2.65rem,9.6vw,3.7rem); margin:18px 0 22px; } .home-hero-copy>p { font-size:16px; line-height:1.7; } .home-page .home-search>div { grid-template-columns:1fr; border-radius:22px; padding:8px; gap:4px; } .home-page .home-search input[type=search] { padding-inline:14px; font-size:16px; } .home-page .home-search button { min-height:48px; } .home-popular { gap:0 14px; } .home-popular>span { flex-basis:100%; margin-top:8px; } .home-hero-photo>img { object-position:61% center; } .home-page .home-paths { padding:20px 16px 26px; gap:8px 18px; } .home-paths strong { font-size:16px; } .home-paths>a { padding-right:0; } .home-paths>a+a { padding-left:18px; } .home-paths b { display:none; } .home-paths p { font-size:13px; } .home-how { grid-template-columns:1fr; gap:24px; } .home-page :is(.sample-journeys,.planner,.toolkit-home) { padding-block:42px; } .home-page #sampleCards { grid-template-columns:1fr; } .home-page .journeys { padding-block:42px; } .home-page .planner-layout { gap:24px; } }
