:root{--ink:#213c35;--green:#24594a;--paper:#faf9f5;--line:#dcded5;--muted:#68736c;--gold:#b88049}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,select{font:inherit;color:inherit}button,a,summary,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #ce9d58;outline-offset:4px}header{height:88px;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:28px;position:relative;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-weight:600;letter-spacing:1px}.brand-mark{font:italic 40px Georgia,serif}.brand small{display:block;font-size:9px;letter-spacing:2.4px;line-height:1.2}nav{display:flex;gap:32px;font-size:13px}.print{border:1px solid var(--line);background:none;padding:8px 18px;font-size:12px}.hero{height:min(760px,81vh);min-height:530px;position:relative;color:#fff;margin:0 22px}.hero>img,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(10,31,30,.68),rgba(13,32,30,.08)),linear-gradient(0deg,rgba(10,31,30,.5),transparent 35%)}.hero-text{position:absolute;top:16%;left:7%}.eyebrow{font-size:10px;letter-spacing:2.8px;font-weight:600}.green{color:var(--green)}h1,h2,h3,p{margin:0}h1{font-family:'Songti SC','Noto Serif CJK SC',serif;font-size:clamp(52px,6.3vw,90px);font-weight:500;line-height:1.25;letter-spacing:4px;margin:28px 0 25px}.hero p{font-size:15px;line-height:2;color:#f3f5ee}.hero-button{display:inline-flex;gap:60px;align-items:center;background:#f8f7ef;color:var(--ink);padding:13px 22px;margin-top:32px;font-size:13px}.hero-foot{position:absolute;bottom:27px;left:7%;right:5%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:2px}.wrap{max-width:1220px;width:88%;margin:auto}h2{font-family:'Songti SC','Noto Serif CJK SC',serif;font-weight:500;font-size:38px;line-height:1.45;letter-spacing:1px;margin:14px 0 22px}h3{font-size:22px;line-height:1.5;font-weight:500}.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding:88px 0}.intro>div>p{max-width:600px;padding-top:10px;color:var(--muted)}.stats{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.stats strong{font:42px Georgia,serif}.stats strong span{font:13px sans-serif;margin-left:7px}.stats small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.route-section{background:#eef0e7;padding:65px 0}.route-grid{display:grid;grid-template-columns: .8fr 1.2fr;align-items:center;gap:70px}.route-grid p{color:#52645b;margin-bottom:20px}.muted{font-size:12px;color:var(--muted)}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid #7c9284;font-size:12px;padding-bottom:5px}.route-legend{display:flex;gap:25px;font-size:11px;margin-top:20px}.route-legend i{display:inline-block;width:18px;border-top:2px solid #326f58;vertical-align:middle;margin-right:7px}.route-legend .dashed{border-top:2px dashed #a8774d}.map svg{width:100%;height:auto}.land{fill:#e2e7da;stroke:#c7d4c5;stroke-width:2}.road{fill:none;stroke:#42745c;stroke-width:2.5;stroke-linejoin:round}.detour{fill:none;stroke:#a8774d;stroke-dasharray:5;stroke-width:2}.nodes circle{fill:#f7f7eb;stroke:#275640;stroke-width:2}.labels{font-size:13px;fill:#234c3b}.ocean{font:italic 13px Georgia;letter-spacing:4px;fill:#869d96}.region{font-size:11px;letter-spacing:3px;fill:#8c9b88}.mapnote{font-size:9px;letter-spacing:1px;fill:#6f8374}.journey{padding:88px 0 50px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-bottom:28px}.section-heading p{font-size:12px;color:var(--muted)}.journey-controls{position:sticky;top:0;background:rgba(250,249,245,.97);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:42px}.filters{display:flex;gap:5px}.filters button{border:0;background:transparent;font-size:12px;padding:9px 17px;border-radius:2px}.filters button.active{background:var(--ink);color:white}.date-select{font-size:11px}.date-select select{border:1px solid var(--line);background:transparent;padding:6px;margin-left:8px;max-width:140px}.day{margin:0 0 60px;border-bottom:1px solid var(--line);padding-bottom:42px;display:grid;grid-template-columns: .8fr 1.2fr;column-gap:48px;scroll-margin-top:95px}.day[hidden]{display:none}.day-photo{position:relative;align-self:start}.day-photo img{width:100%;height:300px;object-fit:cover;display:block}.photo-label{position:absolute;bottom:14px;left:16px;font-size:10px;letter-spacing:2px;color:white;text-shadow:0 1px 5px black}.day-number{position:absolute;top:15px;left:18px;background:var(--paper);width:56px;height:62px;text-align:center;font:30px/1.3 Georgia;padding-top:3px}.day-number small{display:block;font:8px/1.7 sans-serif;letter-spacing:2px}.day-tags{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0;font-size:11px}.tag{background:#e6ece1;padding:3px 10px}.tag.solo{background:#ece5d6}.tag.split{background:#e9e2d9}.day h3{font-family:'Songti SC',serif;font-size:27px;margin:10px 0}.day-sub{color:var(--muted);font-size:13px}.day-meta{font-size:12px;margin-top:19px;padding-top:15px;border-top:1px solid var(--line)}.day-meta div+div{margin-top:5px}.day-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.day-links a{font-size:11px;border-bottom:1px solid #9caea1}.timeline{margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:105px 1fr;gap:15px;position:relative;padding:0 0 23px}.timeline time{font:11px/1.8 ui-monospace,monospace;color:#557361;padding-top:3px}.timeline li>div{border-left:1px solid #cfdbce;padding-left:23px;position:relative}.timeline li>div:before{content:'';position:absolute;width:5px;height:5px;background:#597d61;left:-3px;top:9px;border-radius:50%}.timeline b{font-size:14px;font-weight:600}.timeline p{font-size:12px;color:var(--muted);margin-top:4px}.day-note{font-size:12px;line-height:1.9;background:#f0eee5;padding:16px 18px;margin-top:0}.day-note strong{display:block;font-size:10px;letter-spacing:1px;margin-bottom:4px}.stays-section{background:#f0f1e9;padding:70px 0}.stay-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:55px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;color:#5c7160;font-weight:500;border-bottom:1px solid #b9c9b8;padding:12px 10px}td{padding:13px 10px;border-bottom:1px solid #d4dccf}td:nth-child(2){font-weight:600}.stay-note{border-left:1px solid #c7d2c1;padding-left:30px}.stay-note h3{margin:17px 0}.stay-note p{font-size:12px;color:#596d5d;margin-top:12px}.winter{padding:85px 0}.winter-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;gap:25px;padding:25px 8px;align-items:center;font-size:19px}summary::-webkit-details-marker{display:none}summary>span{font:italic 25px Georgia;color:#a1ad9d}summary small{display:block;color:var(--muted);font-size:11px;margin-top:5px}summary b{margin-left:auto;font-weight:400}details[open] summary b{transform:rotate(45deg)}.winter-body{padding:0 45px 28px 65px;font-size:13px;max-width:1050px}.winter-body p{margin-bottom:14px}.winter-body a{text-decoration:underline;font-size:12px}.practical{background:#21473b;color:#f4f3e8;padding:70px 0}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.practical p{font-size:12px;color:#d1dfd2;margin-top:20px}.practical a{text-decoration:underline}.practical h3{font-size:18px}.practical h3 small{display:block;font-size:10px;font-weight:400;color:#bacbbc;margin-top:6px}.budget{border-top:1px solid #547261;padding-top:20px}.check{display:flex;align-items:flex-start;gap:13px;padding:14px 0;border-bottom:1px solid #476655;font-size:12px;cursor:pointer}.check input{margin-top:5px;accent-color:#d2b985;width:16px;height:16px;flex-shrink:0}.check:has(input:checked) span{text-decoration:line-through;color:#a8bfad}#checklist{margin-top:18px}.sources{padding:70px 0} .sources>p{font-size:12px;color:var(--muted);max-width:850px}#source-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:25px 0}#source-links a{font-size:12px;border-bottom:1px solid #acbbad}.sources summary{font-size:12px;padding-left:0}#photo-credits{font-size:11px;padding:0 0 24px;color:var(--muted)}#photo-credits a{text-decoration:underline}footer{padding:25px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:0}@media(min-width:1500px){.hero{max-width:1600px;margin:auto}}@media(max-width:850px){header{height:76px;padding:0 5%}.brand{font-size:12px}nav{gap:16px;font-size:11px}.print{display:none}.hero{margin:0 12px;min-height:570px;height:75vh}.hero-text{left:7%;top:17%}.hero-foot{font-size:8px;flex-wrap:wrap}.hero-foot span:last-child{display:none}.intro{gap:35px;padding:60px 0}.route-grid{grid-template-columns:1fr;gap:15px}.route-grid>div:first-child{max-width:600px}.map{max-width:650px}.day{column-gap:25px;grid-template-columns:.85fr 1.15fr}.day-photo img{height:230px}.timeline li{grid-template-columns:80px 1fr;gap:7px}.timeline li>div{padding-left:15px}.stay-grid{gap:25px;grid-template-columns:1.3fr .7fr}.practical-grid{gap:45px}.section-heading{gap:20px}h2{font-size:32px}}@media(max-width:600px){body{font-size:14px}.brand-mark{font-size:32px}.brand small{font-size:7px}.brand{gap:8px}nav{gap:12px}nav a:nth-child(3){display:none}.hero{min-height:570px;height:76vh}.hero-text{top:17%}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:55px;letter-spacing:2px;margin-top:26px}.hero p{font-size:12px}.hero-foot{left:7%;right:7%;gap:8px;font-size:8px;letter-spacing:1px}.wrap{width:88%}.intro{grid-template-columns:1fr;gap:12px;padding:48px 0}.intro h2 br{display:none}.stats strong{font-size:35px}.stats small{font-size:9px}.route-section{padding:40px 0}.route-grid{gap:10px}.labels{font-size:14px}.map{margin:0 -13px}.journey{padding-top:50px}.section-heading{display:block;margin-bottom:20px}.section-heading p{font-size:11px}.journey-controls{padding:10px 0;flex-wrap:wrap;gap:8px;margin-bottom:27px}.filters{width:100%;justify-content:space-between}.filters button{font-size:11px;padding:8px 11px}.date-select{display:block;width:100%;text-align:right;font-size:10px}.date-select select{font-size:10px;padding:4px}.day{grid-template-columns:1fr;gap:24px;padding-bottom:30px;margin-bottom:36px;scroll-margin-top:125px}.day-photo img{height:240px}.day h3{font-size:25px}.day-tags{margin:15px 0 8px}.day-meta{margin-top:12px}.timeline li{grid-template-columns:91px 1fr;gap:5px;padding-bottom:19px}.timeline b{font-size:13px}.timeline time{font-size:10px}.timeline p{font-size:12px}.stay-grid{grid-template-columns:1fr;gap:25px}.stay-note{padding:0;border:0}.stays-section{padding:45px 0}th,td{padding:11px 5px;font-size:10px}.table-wrap{overflow-x:auto}.winter{padding:50px 0}summary{gap:16px;font-size:16px;padding:22px 0}summary small{font-size:10px}.winter-body{padding:0 0 22px;font-size:12px}.practical{padding:45px 0}.practical-grid{grid-template-columns:1fr;gap:35px}.sources{padding:45px 0}footer{flex-wrap:wrap;font-size:9px}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.hero-button,.journey-controls,.print,.map,.filters,.check,.hero-shade{display:none!important}.hero{height:120px;min-height:0;color:#213c35;margin:0}.hero>img,.hero p,.hero .eyebrow,.hero-foot{display:none}.hero-text{position:static}h1{font-size:30px;margin:0}h1 br{display:none}.wrap{width:100%}.intro,.journey,.winter,.sources,.stays-section,.practical,.route-section{padding:20px 0}.day[hidden]{display:grid}.day{break-inside:avoid;margin-bottom:20px;padding-bottom:15px;grid-template-columns:1fr 1.4fr}.day-photo img{height:130px}.day h3{font-size:20px}.timeline li{padding-bottom:10px}.practical{color:#213c35;background:white}.practical p{color:#213c35}.winter-body{display:block!important}.day-note{font-size:10px}.sources{break-before:page}a{text-decoration:none}footer{padding:10px}}
/* Destination photography */
.photo-open{display:block;border:0;padding:0;background:#dce4da;position:relative;width:100%;overflow:hidden;color:#fff;text-align:left}.photo-open img{transition:transform .3s ease}.photo-open:hover img{transform:scale(1.025)}.zoom-hint{position:absolute;right:12px;bottom:12px;background:rgba(19,45,36,.8);font-size:10px;padding:4px 9px;letter-spacing:1px}.day-number,.photo-label{pointer-events:none}.main-photo-caption{font-size:10px;color:var(--muted);margin-top:7px}.day-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:24px}.day-gallery figure{margin:0;min-width:0}.day-gallery img{width:100%;height:135px;object-fit:cover;display:block}.day-gallery figcaption{font-size:11px;margin-top:7px;color:#516659;line-height:1.6}.photo-dialog{border:0;padding:50px 22px 22px;width:min(1100px,96vw);max-width:96vw;max-height:95vh;background:#132b23;color:#f4f2e7;overflow:auto}.photo-dialog::backdrop{background:rgba(4,17,13,.86)}.photo-close{position:absolute;top:10px;right:15px;padding:6px 12px;border:1px solid #718679;background:transparent;color:white;font-size:12px}.lightbox-image{position:relative;display:flex;justify-content:center;min-height:150px}.lightbox-image img{max-width:100%;width:auto;height:auto;max-height:70vh;object-fit:contain}.photo-prev,.photo-next{position:absolute;top:45%;background:rgba(12,30,23,.78);color:white;border:1px solid #6c8373;width:44px;height:48px;font:36px Georgia;z-index:1}.photo-prev{left:0}.photo-next{right:0}.photo-prev[hidden],.photo-next[hidden]{display:none}.lightbox-caption{margin:15px 0 0;display:grid;grid-template-columns:1fr auto;gap:8px 20px}.lightbox-caption strong{font-size:16px;font-weight:500}.lightbox-caption span{font-size:11px;align-self:center;color:#c6d5c7}.lightbox-caption small{grid-column:1/-1;font-size:10px;color:#b4c5b7}.lightbox-caption a{text-decoration:underline}@media(max-width:600px){.day-gallery{margin-top:18px}.day-gallery img{height:125px}.photo-dialog{padding:50px 12px 18px}.lightbox-image img{max-height:65vh}.lightbox-caption{gap:6px}.lightbox-caption strong{font-size:14px}.lightbox-caption span{font-size:9px}}@media(prefers-reduced-motion:reduce){.photo-open img{transition:none}}@media print{.photo-dialog,.zoom-hint{display:none!important}.day-gallery{gap:8px;margin-top:10px}.day-gallery img{height:85px}.day-gallery figcaption{font-size:8px}.photo-open{background:none}}

.timeline-photo{margin:0;width:125px}.timeline-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.timeline-photo figcaption{font-size:10px;line-height:1.3;color:#667;margin-top:4px}@media(max-width:600px){.timeline-photo{width:84px}}
