:root{--cm-forest:#173f3a;--cm-coral:#ad3f2b;--cm-paper:#fff;--cm-wash:#f5f8f6;--cm-line:#dce4df;--cm-copy:#52615b;--cm-serif:Georgia,'Times New Roman',serif;--cm-sans:'Avenir Next',Avenir,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{font-family:var(--cm-sans)}h1,h2,h3{font-family:var(--cm-serif)}[hidden]{display:none!important}a,button,summary,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #37786b;outline-offset:4px}.nav__inner{grid-template-columns:auto 1fr auto}.nav__links{justify-content:center}.nav__links a[aria-current=page]{color:var(--cm-coral);text-decoration:underline;text-underline-offset:6px}.review-banner{margin:0;padding:9px 24px;text-align:center;font-size:11px;letter-spacing:.08em;background:#f5f0e6;color:#654919}
.publishing-main{padding-block:70px 100px}.publishing-hero{max-width:850px;padding-bottom:35px}.publishing-hero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.1;letter-spacing:-.03em}.publishing-hero .lede{font-size:21px}.guide-toc{display:flex;gap:10px 22px;flex-wrap:wrap;border-block:1px solid var(--cm-line);padding:14px 0;margin:0 0 40px;font-size:13px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.1) blur(8px);-webkit-backdrop-filter:saturate(1.1) blur(8px)}.guide-block{padding:36px 0;border-bottom:1px solid var(--cm-line);scroll-margin-top:120px}.guide-block h2,.publishing-home h2,.weekly-question h2{font-size:clamp(29px,3.4vw,43px);line-height:1.18;letter-spacing:-.025em}.guide-block>p{line-height:1.8}.guide-block .eyebrow{font-size:10px;letter-spacing:.15em}.guide-block .guide-block{border:0}.guide-block .small,.small{font-size:12px;color:var(--cm-copy);line-height:1.7}.journey-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;counter-reset:journey}.journey-flow li{counter-increment:journey;border-left:2px solid var(--cm-coral);background:var(--cm-wash);padding:20px 24px;line-height:1.6}.journey-flow li:before{content:counter(journey,decimal-leading-zero);display:block;color:var(--cm-coral);font-size:11px;letter-spacing:.1em;margin-bottom:9px}.travel-checklist{display:grid;gap:8px;margin:18px 0}.travel-checklist label{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:var(--cm-wash);line-height:1.45;cursor:pointer;font:600 15px/1.45 var(--cm-sans);color:var(--cm-forest)}.travel-checklist label span{flex:1;min-width:0}.travel-checklist input[type=checkbox]{accent-color:var(--cm-forest);width:18px;height:18px;min-width:18px;min-height:18px;margin:1px 0 0;padding:0;border:0;border-radius:4px;background:transparent;flex-shrink:0}.trust-label{display:inline-block;background:#e8eeea;color:var(--cm-forest);padding:3px 8px;font-size:11px}.source-note{font-size:12px;color:var(--cm-copy);line-height:1.8}.source-list{padding-left:20px;max-width:900px;overflow-wrap:anywhere}.source-list li{padding:8px 0;font-size:14px}.source-list span{display:block;color:var(--cm-copy);font-size:11px}.correction-link{display:inline-block;margin:20px 0;font-size:14px;color:var(--cm-coral)}
.catalog-tools{border-top:1px solid var(--cm-line);padding:25px 0 10px}.catalog-tools label{display:block;font-size:12px;letter-spacing:.04em;margin:12px 0 8px}.catalog-tools input{width:100%;border:1px solid #8aa59a;background:var(--cm-wash);padding:18px;font:18px var(--cm-sans);border-radius:3px}.catalog-tools select{padding:10px 14px;background:white;border:1px solid var(--cm-line);font:14px var(--cm-sans)}.catalog-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.catalog-filters button{border:1px solid var(--cm-line);background:white;color:var(--cm-forest);font:13px var(--cm-sans);padding:10px 15px;border-radius:2px;cursor:pointer}.catalog-filters button[aria-pressed=true]{background:var(--cm-forest);color:white}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.catalog-card{border-top:2px solid var(--cm-forest);padding:25px 0 30px;min-width:0}.catalog-card h3{font-size:29px;line-height:1.2;margin:15px 0}.catalog-card h3 a{color:var(--cm-forest);text-decoration:none}.catalog-card h3 a:hover{text-decoration:underline}.catalog-card>p{color:var(--cm-copy);font-size:14px;line-height:1.7}.catalog-card .eyebrow{color:var(--cm-coral);font-size:10px}.catalog-card .curator-note{background:var(--cm-wash);padding:14px;font-size:12px}.curator-note strong{display:block;color:var(--cm-forest)}.load-video{border:1px solid var(--cm-line);background:var(--cm-wash);padding:14px;color:var(--cm-forest);cursor:pointer;margin:10px 0}.load-video span{margin-right:10px}.catalog-card iframe{width:100%;aspect-ratio:16/9;border:0}.app-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.app-record{padding:20px;border:1px solid var(--cm-line);display:flex;gap:16px;align-items:start;min-width:0}.app-record img{width:52px;height:52px;object-fit:contain;border-radius:10px}.app-record h3{font-size:25px;line-height:1.2;margin:0 0 10px}.app-record h3 small{display:block;font:12px var(--cm-sans);color:var(--cm-copy);margin-top:5px}.app-record p{font-size:13px;line-height:1.7}.app-record summary{font-size:12px;color:var(--cm-coral);cursor:pointer}.app-record details p{overflow-wrap:anywhere}.app-record__downloads{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.app-record__downloads a{display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--cm-line);border-radius:999px;background:var(--cm-wash);color:var(--cm-forest);font:600 12px/1.2 var(--cm-sans);text-decoration:none}.app-record__downloads a:hover{border-color:var(--cm-coral)}.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.related-links a{display:block;border-top:1px solid var(--cm-forest);padding:18px 0;color:var(--cm-forest);text-decoration:none}.related-links small{display:block;color:var(--cm-coral);font-size:10px;margin-bottom:12px}.related-links strong{font:25px/1.25 var(--cm-serif)}.publishing-home{padding-block:55px 35px}.publishing-home>p{max-width:650px}.publishing-home .catalog-grid{margin-top:35px}.weekly-question{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:65px 85px;border-top:1px solid var(--cm-line)}.weekly-question aside{background:var(--cm-wash);padding:32px}.weekly-question p{font-size:15px;line-height:1.75}.weekly-question .button{white-space:normal;line-height:1.5;font-size:13px}.place-photo{margin:25px 0;max-width:900px}.place-photo img{width:100%;height:auto;max-height:520px;object-fit:cover}.place-photo figcaption{font-size:11px;color:var(--cm-copy);line-height:1.7;margin-top:10px}.chinese-name{font-size:34px}.place-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 24px}.place-directory a{border-bottom:1px solid var(--cm-line);padding:15px 0;text-decoration:none}.place-directory span{display:block;font-size:12px;color:var(--cm-copy);margin-top:5px}.draft-label{padding:15px 20px;background:#fff2dc;border-left:3px solid #9b641c;line-height:1.7;font-size:13px}.dependency-map{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.dependency-map a{padding:24px;background:var(--cm-wash);border-top:2px solid var(--cm-coral)}
@media(max-width:820px){.nav__inner{height:auto;min-height:68px;grid-template-columns:1fr auto;gap:10px;padding:16px 0}.nav__links{grid-column:1/-1;grid-row:2;display:flex!important;justify-content:flex-start;gap:18px;overflow-x:auto;white-space:nowrap;padding-bottom:4px}.nav__links a{font-size:13px}.nav__action{grid-column:2;grid-row:1;padding:9px 13px;font-size:12px}.catalog-grid,.app-records{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-question{gap:25px}.place-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.publishing-main{padding-top:40px}}
@media(max-width:560px){.catalog-grid,.app-records,.related-links,.journey-flow,.weekly-question,.dependency-map{grid-template-columns:1fr}.publishing-hero h1{font-size:45px}.publishing-hero .lede{font-size:18px}.weekly-question{padding-block:35px;gap:30px}.catalog-card h3{font-size:28px}.app-record{padding:17px}.publishing-home{padding-block:35px}.place-directory{grid-template-columns:1fr}.guide-toc{gap:12px 18px}.review-banner{font-size:10px}.high-tech-article .guide-block h2{font-size:29px}}

.demo-tool,.affiliate-note{background:var(--cm-wash);padding:25px;margin:25px 0}.demo-tool label{display:block;margin:15px 0}.demo-tool select{display:block;padding:12px;margin:8px 0;width:min(100%,400px);background:white;border:1px solid var(--cm-line)}.fact-note{border-left:2px solid var(--cm-line);padding:12px 20px;margin:18px 0}.fact-note p{line-height:1.75;font-size:15px}

.review-records{display:grid;gap:1rem}.review-record{border-bottom:1px solid var(--line,#d8ddd6);padding:1rem 0}.review-record summary{cursor:pointer;line-height:1.6}.import-source{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8}.review-record a{overflow-wrap:anywhere}

.author-block{margin:28px 0 8px;padding:22px 24px;border:1px solid var(--cm-line);background:var(--cm-wash)}.author-block p{margin:8px 0;line-height:1.7;font-size:15px}.author-block .eyebrow{margin-bottom:4px}.meaning-block,.faq-block,.cta-block{background:linear-gradient(180deg,#f7faf8,transparent)}.faq-item{border:1px solid var(--cm-line);padding:14px 18px;margin:12px 0;background:#fff}.faq-item summary{cursor:pointer;font-weight:600;line-height:1.5}.faq-item p{margin:12px 0 4px;line-height:1.75;color:var(--cm-copy)}.cta-block .button{margin-top:12px}.faq-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 40px}.faq-index__item{display:block;padding:18px 20px;border-top:2px solid var(--cm-forest);background:var(--cm-wash);text-decoration:none;color:var(--cm-forest)}.faq-index__item strong{display:block;font:22px/1.3 var(--cm-serif);margin-bottom:8px}.faq-index__item span{display:block;font-size:13px;color:var(--cm-copy);line-height:1.6}.footer__inner{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}.footer__links{display:flex;flex-wrap:wrap;gap:14px 18px}.footer__links a{font-size:13px}
@media(max-width:820px){.faq-index{grid-template-columns:1fr}}

.daily-pack{margin-top:70px;padding-top:40px;border-top:2px solid var(--cm-forest)}.daily-pack .pack-intro{max-width:760px;font-size:16px;line-height:1.75;color:var(--cm-copy)}.daily-pack .pack-intro strong{color:var(--cm-forest)}.pack-filters{margin:24px 0 8px}.pack-group{margin:36px 0 20px}.pack-group-title{font-size:clamp(22px,2.4vw,30px);margin:0 0 18px;line-height:1.25}.pack-card{border-top-color:#9b641c}.pack-card .pack-status{margin:8px 0 0;background:#fff2dc;color:#9b641c}.pack-card h3{font-size:24px}.pack-card h3 a{overflow-wrap:anywhere}.daily-pack code{font-size:12px}
@media(max-width:820px){.daily-pack{margin-top:45px;padding-top:28px}}

/* long-form reading UX */
.guide-toc a{white-space:nowrap}
details.guide-fold{display:block}
details.guide-fold>summary.guide-disclosure{list-style:none;cursor:pointer;display:block;padding:2px 0 6px;position:relative;padding-right:28px}
details.guide-fold>summary.guide-disclosure::-webkit-details-marker{display:none}
details.guide-fold>summary.guide-disclosure::after{content:"";position:absolute;right:4px;top:1.1em;width:8px;height:8px;border-right:2px solid var(--cm-forest);border-bottom:2px solid var(--cm-forest);transform:rotate(45deg);transition:transform .18s ease}
details.guide-fold[open]>summary.guide-disclosure::after{transform:rotate(225deg);top:1.35em}
details.guide-fold>summary.guide-disclosure .eyebrow{margin:0 0 8px}
details.guide-fold>summary.guide-disclosure h2{margin:0;display:block}
details.guide-fold>summary.guide-disclosure+*{margin-top:18px}

/* steps heading rhythm — section h2 + chapter h3 */
#steps.guide-block>h2{margin:0 0 14px}
#steps.guide-block>h3:first-of-type{margin-top:6px}
#steps.guide-block h3{font-size:clamp(22px,2.5vw,30px);line-height:1.28;letter-spacing:-.02em;margin:28px 0 10px;color:var(--cm-forest)}
#steps.guide-block>p,#steps.guide-block li{line-height:1.75}
.guide-block>h2{margin:0 0 14px}
@media(max-width:820px){.guide-toc{top:0;gap:10px 16px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:12px}.guide-block{scroll-margin-top:96px}}
@media(max-width:560px){.publishing-hero h1{font-size:clamp(36px,11vw,45px)}}
.breadcrumbs{font-size:12px;letter-spacing:.04em;color:var(--cm-copy);margin:0 0 18px;line-height:1.7}.breadcrumbs a{color:var(--cm-forest);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline;color:var(--cm-coral)}.scenic-tools{margin-top:8px}.scenic-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:18px 0}.scenic-facts div{border-top:1px solid var(--cm-line);padding-top:10px}.scenic-facts dt{font-size:11px;letter-spacing:.06em;color:var(--cm-coral);margin:0 0 6px}.scenic-facts dd{margin:0;font-size:15px;line-height:1.5;color:var(--cm-forest)}.scenic-facts code{font:14px/1.4 ui-monospace,Menlo,monospace}.scenic-maps{margin:18px 0 8px}.scenic-maps a{color:var(--cm-forest)}.scenic-attribution{max-width:720px;margin-top:12px}.scenic-card p[lang=zh]{font-size:16px;color:var(--cm-forest);margin:8px 0}@media(max-width:560px){.scenic-facts{grid-template-columns:1fr}}

/* Destinations / 5A scenic cards + detail hero */
.scenic-grid .scenic-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.scenic-card__media{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#e8eef5,#d5dee8);overflow:hidden}
.scenic-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.scenic-card__media--empty{background:linear-gradient(135deg,#eef2f6 0%,#d9e2ec 55%,#c5d0dc 100%)}
.scenic-card__body{padding:1rem 1.1rem 1.15rem}
.scenic-hero{margin:0 0 1.5rem;border-radius:12px;overflow:hidden;background:#e8eef5}
.scenic-hero img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block}
.scenic-hero figcaption{padding:.55rem .85rem;color:var(--muted, #5b6570)}

.scenic-province-group{margin:1.75rem 0 2.25rem}
.scenic-province-heading{font-size:1.15rem;margin:0 0 .85rem;color:var(--cm-forest,#1a3a2a);letter-spacing:.01em}
.scenic-province-count{font-weight:500;color:var(--cm-copy,#5b6570);font-size:.95rem}
.location-prose{max-width:42rem;line-height:1.7}
.location-prose h2,.location-prose h3{margin-top:1.6rem;color:var(--cm-forest,#1a3a2a)}
.location-prose p{margin:0 0 1rem}
.location-faq{border-top:1px solid var(--cm-line,#d9e2ec);padding:1rem 0}
.location-faq h3{margin:0 0 .4rem;font-size:1.05rem}
.location-meta{margin:.25rem 0 1rem}
