@charset "UTF-8";
:root{--paper:#f6f5ef;--ink:#203a34;--muted:#65716a;--line:#d9ded4;--green:#183d37;--accent:#c0d2ac;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #b68742;outline-offset:5px}button{border:0}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(38px,3.9vw,58px);line-height:1.12}em{font-weight:400}h3{font-weight:500}section[id]{scroll-margin-top:20px}.container{max-width:1320px;width:calc(100% - 112px);margin:0 auto}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 56px;max-width:1600px;margin:auto}.brand{display:inline-flex;align-items:center;gap:12px;font-size:18px;font-weight:650;line-height:1.3;letter-spacing:.1em;flex-shrink:0}.brand-symbol{width:42px;height:42px;display:grid;place-items:center;font-family:var(--serif);font-size:29px;font-weight:400;letter-spacing:0;border:1px solid var(--ink);border-radius:50%}.brand-caption{display:block;font-size:8px;letter-spacing:.19em;font-weight:500;margin-top:4px}.header nav{display:flex;gap:34px;font-size:13px}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--green)}.header-cta{font-size:12px;border:1px solid #bac5b8;border-radius:4px;padding:11px 18px}.header-cta span{margin-left:20px}.menu-toggle{display:none}.hero{position:relative;min-height:660px;max-height:900px;height:calc(100svh - 120px);color:white;margin:0 18px;overflow:hidden;border-radius:5px;background:#263c4f;isolation:isolate}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-photo{object-position:58% 52%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,22,29,.73),rgba(10,26,36,.2) 58%,rgba(8,20,28,.03)),linear-gradient(0deg,rgba(4,20,23,.75),transparent 30%)}.hero-content{padding:72px 6.2% 130px;max-width:900px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;line-height:1.6;margin-bottom:24px;color:#54705e}.eyebrow.light{color:#d0dfc1}.eyebrow.light>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d0dfc1;margin:0 9px 1px 0}h1{font-size:clamp(55px,6.3vw,94px);line-height:1.05;letter-spacing:-.055em}h1 em{color:#e8e9c9}.hero-description{font-size:15px;font-weight:350;line-height:1.8;margin-top:26px;color:#eef0ed}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border-radius:3px;font-size:12px;font-weight:600;padding:16px 23px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.cream{background:#f4f3e7;color:var(--ink);margin-top:29px}.button.cream:hover{background:#dbe4ce}.button.green{background:var(--green);color:white}.button.green:hover{background:#2c5145}.hero-bottom{position:absolute;bottom:24px;left:6.2%;right:4%;display:flex;align-items:end;justify-content:space-between;gap:25px;font-size:10px;color:#e5e9e2}.hero-bottom>span{font-size:28px;letter-spacing:.08em;line-height:1}.hero-bottom i{display:block;font:8px var(--sans);letter-spacing:.24em;margin-top:8px}.hero-bottom>a:nth-child(2){letter-spacing:.08em}.hero-bottom>a:nth-child(2) span{margin-left:30px}.hero-bottom .photo-credit{font-size:8px;color:#d9ded8}.intro{display:grid;grid-template-columns:1fr 1.15fr 60px;gap:70px;align-items:center;padding-top:104px;padding-bottom:100px;border-bottom:1px solid var(--line)}.intro .eyebrow{margin-bottom:18px}.intro-copy{font-size:15px;max-width:570px}.intro-copy .muted{color:var(--muted);margin-top:17px;font-size:13px}.intro-seal{font-family:var(--serif);font-size:24px;line-height:1.15;text-align:center;border:1px solid #b6bea9;padding:12px 9px;width:48px;color:#7e8b70}.places{padding-top:78px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.65}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:34px;margin-bottom:32px}.filters button{padding:9px 20px;border:1px solid var(--line);border-radius:30px;background:transparent;font-size:11px;transition:background .2s,color .2s}.filters button:hover{background:#e2e7dc}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.filters button span{font-size:9px;opacity:.65;margin-left:12px}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.place-card[hidden]{display:none}.card-image{position:relative;height:310px;overflow:hidden;border-radius:4px;background:#dae0d3}.card-image img{transition:transform .6s}.place-card:hover img{transform:scale(1.025)}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,28,26,.3),transparent 40%);pointer-events:none}.image-label{position:absolute;top:18px;left:18px;background:#f6f5efed;border-radius:2px;padding:7px 11px;font-size:8px;letter-spacing:.12em;z-index:1}.image-chinese{position:absolute;right:22px;bottom:14px;color:white;font-family:var(--serif);font-size:34px;z-index:1;letter-spacing:.1em}.water-town img{object-position:center 56%}.card-body{padding:20px 0 0}.card-meta{display:flex;justify-content:space-between;gap:10px;color:#66755f;font-size:8px;letter-spacing:.12em;font-weight:600}.card-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:9px 0}.card-title h3{font-family:var(--serif);font-size:29px;letter-spacing:-.025em}.round-button{border:1px solid #b9c4b4;border-radius:50%;width:38px;height:38px;background:transparent;font-size:21px;line-height:1;flex-shrink:0;transition:all .2s}.round-button:hover{color:white;background:var(--green);border-color:var(--green)}.card-body>p:not(.card-meta){max-width:540px;color:var(--muted);font-size:13px;line-height:1.75;min-height:69px}.card-tag{display:inline-block;font-size:10px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);width:100%;color:#64725d}.card-tag:before{content:'↳';margin-right:10px}.editorial-note{font-size:10px;color:var(--muted);margin-top:32px}.editorial-note a{text-decoration:underline;text-underline-offset:3px;margin-left:10px}.route-section{background:var(--green);color:#f5f3e7;padding:76px 0 80px}.route-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:100px}.route-intro h2{font-size:clamp(40px,4vw,60px)}.route-intro h2 em{color:#cdd9b5}.route-intro>p:not(.eyebrow){color:#bbcdc1;font-size:13px;margin-top:24px}.day-switch{display:inline-flex;background:#24483f;padding:5px;border-radius:5px;margin-top:28px;gap:4px}.day-switch button{background:transparent;border-radius:3px;padding:9px 19px;color:#d3ded1;font-size:11px}.day-switch button.active{background:#dce4ca;color:var(--green)}.route-download{display:block;width:fit-content;margin-top:20px;font-size:11px;border-bottom:1px solid #7c9984;padding-bottom:5px}.route-download span{margin-left:27px}.route-plan{padding-top:4px}.route-stop{display:flex;gap:25px;position:relative;padding:0 0 38px}.route-stop:last-child{padding-bottom:0}.route-stop:not(:last-child):before{content:'';position:absolute;top:35px;bottom:5px;left:18px;border-left:1px solid #506b58}.stop-index{width:37px;height:37px;border:1px solid #739077;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:10px;color:#d8e2c7}.stop-time{font-size:8px;letter-spacing:.15em;color:#b4c5ab;margin-top:7px}.route-stop h3{font-family:var(--serif);font-size:27px;letter-spacing:-.025em;line-height:1.3;margin:9px 0}.route-stop div>p:last-child{font-size:12px;color:#bdcfc1;max-width:405px;line-height:1.75}.notes{padding-top:80px;padding-bottom:70px}.notes-mark{font-family:var(--serif);font-size:60px;font-weight:400;color:#9daa91;line-height:1}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.notes-grid article{border-top:1px solid var(--line);padding-top:21px}.notes-grid article>span{font-size:8px;letter-spacing:.14em;color:#6b7b63}.notes-grid h3{font-family:var(--serif);font-size:25px;margin:15px 0 10px;letter-spacing:-.025em}.notes-grid p{font-size:12px;color:var(--muted)}.notes-grid a{display:inline-block;font-size:11px;margin-top:15px;text-decoration:underline;text-underline-offset:4px}.closing{text-align:center;border-top:1px solid var(--line);padding:65px 0 75px}.closing .eyebrow{margin-bottom:23px}.closing>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(30px,3.5vw,48px);line-height:1.25;letter-spacing:-.035em}.closing>p em{color:#76846a}.closing .button{margin-top:30px}.footer{border-top:1px solid var(--line);padding:32px 0 38px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer .brand{font-size:14px}.footer .brand-symbol{width:34px;height:34px;font-size:24px}.footer .brand-caption{font-size:6px}.footer p{font-size:10px;color:var(--muted)}.footer>div{display:flex;flex-direction:column;font-size:10px;gap:8px;text-align:right}.footer>div span{font-size:8px;color:var(--muted)}dialog{border:0;border-radius:8px;padding:45px;max-width:610px;width:calc(100% - 32px);background:var(--paper);color:var(--ink);box-shadow:0 25px 80px #0004;max-height:85svh;overflow:auto}dialog::backdrop{background:#0b211bbd;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:12px;background:transparent;font-size:29px;line-height:1.4;width:36px;height:36px}dialog .eyebrow{margin-bottom:12px;padding-right:25px}dialog h2{font-size:39px}dialog .cn-name{font-size:17px;color:#7a886b;margin:12px 0 20px}dialog p{font-size:14px;margin-top:14px;color:var(--muted)}dialog .dialog-hint{padding:15px;background:#e9ecdf;border-radius:3px;font-size:12px}dialog .dialog-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;font-size:12px}dialog .dialog-actions>a:not(.button){align-self:center;text-decoration:underline;text-underline-offset:4px}.skip{position:fixed;top:-70px;left:10px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.credits-page{max-width:850px;width:calc(100% - 40px);margin:60px auto}.credits-page h1{font-size:48px}.credits-page h2{font-size:27px;margin:40px 0 15px}.credits-page p,.credits-page li{font-size:14px;margin-top:15px}.credits-page a{text-decoration:underline;text-underline-offset:3px}.credits-page li{margin-bottom:22px}.credits-page .back{display:inline-block;font-size:12px;margin-bottom:30px}.credits-page ul{padding-left:20px}
@media(min-width:1600px){.hero{max-width:1564px;margin:auto}.hero-content{padding-top:100px}}
@media(max-width:1050px){.header{padding:0 30px;gap:20px}.header nav{gap:20px}.header-cta{display:none}.container{width:calc(100% - 64px)}.hero{height:690px;min-height:620px}.hero-content{padding-top:76px}.intro{gap:35px;grid-template-columns:1fr 1.2fr}.intro-seal{display:none}.route-layout{gap:50px}.card-image{height:260px}.card-title h3{font-size:25px}.notes-grid{gap:24px}.hero-bottom .photo-credit{max-width:170px;text-align:right}}
@media(max-width:650px){html{scroll-padding-top:25px}.header{height:78px;padding:0 22px;position:relative}.brand{font-size:15px}.brand-symbol{width:36px;height:36px;font-size:25px}.brand-caption{font-size:6px}.menu-toggle{display:block;background:transparent;font-size:22px;padding:7px 0 7px 16px}.header nav{display:none;position:absolute;z-index:5;left:0;right:0;top:78px;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 10px 10px #0001}.header nav.is-open{display:flex;flex-direction:column;gap:22px}.container{width:calc(100% - 44px)}.hero{margin:0 10px;min-height:650px;height:calc(100svh - 93px);max-height:820px;border-radius:4px}.hero-photo{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#071923b8,#12202f26),linear-gradient(0deg,#071c22d9,transparent 75%)}.hero-content{padding:58px 24px 140px}.hero .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:30px}h1{font-size:clamp(46px,10.9vw,69px);line-height:1.09}.hero-description{font-size:13px;margin-top:24px}.hero .button{margin-top:28px;padding:15px 21px}.hero-bottom{left:24px;right:22px;bottom:24px;align-items:center;gap:15px}.hero-bottom>span{font-size:24px}.hero-bottom>a:nth-child(2){display:none}.hero-bottom .photo-credit{font-size:7px;max-width:160px}.intro{display:block;padding:60px 0}.intro-copy{margin-top:28px;font-size:14px}.intro-copy .muted{font-size:12px}.eyebrow{font-size:8px}h2{font-size:40px}.places{padding:53px 0}.section-heading>p{display:none}.filters{gap:7px;margin:25px 0}.filters button{font-size:10px;padding:8px 13px}.filters button span{margin-left:6px}.place-grid{grid-template-columns:1fr;gap:33px}.card-image{height:260px}.card-body{padding-top:17px}.card-title{margin:8px 0 10px}.card-title h3{font-size:28px}.card-meta{font-size:7px}.card-body>p:not(.card-meta){min-height:0;font-size:12px}.card-tag{margin-top:15px}.editorial-note{font-size:9px;line-height:1.8}.editorial-note a{margin-left:0;display:block;margin-top:8px}.route-section{padding:55px 0}.route-layout{grid-template-columns:1fr;gap:43px}.route-intro h2{font-size:42px}.route-intro>p:not(.eyebrow){font-size:12px}.route-stop{gap:18px;padding-bottom:30px}.route-stop h3{font-size:26px}.notes{padding:53px 0}.notes-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.notes-grid h3{font-size:25px;margin:10px 0}.notes-grid p{font-size:12px}.notes-mark{font-size:47px}.closing{padding:48px 0 55px}.closing>p:not(.eyebrow){font-size:31px}.footer{flex-wrap:wrap;gap:25px;padding:26px 0}.footer p{font-size:9px}.footer>div{width:100%;text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.footer>div a{font-size:9px}.footer>div span{font-size:7px}dialog{padding:38px 24px 28px}dialog h2{font-size:31px}dialog .dialog-actions{gap:15px}.credits-page h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
