:root{--ink:#122f3a;--muted:#6c7b80;--paper:#f4f1e9;--card:#fff;--line:#dfe5e2;--teal:#1a6670;--blue:#267ea0;--gold:#d79a43;--coral:#d95b47;--shadow:0 18px 45px rgba(18,47,58,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.65}.site-header{position:sticky;top:0;z-index:20;height:72px;display:flex;align-items:center;gap:32px;padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(244,241,233,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,47,58,.1)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff;font-family:serif;font-size:21px}.brand b,.brand small{display:block;line-height:1.25}.brand b{font-size:15px}.brand small{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:3px}.site-header nav{display:flex;gap:8px;margin-left:auto}.site-header nav a,.print-btn{border:0;background:transparent;color:var(--ink);text-decoration:none;padding:8px 12px;border-radius:999px;font-size:13px}.site-header nav a:hover{background:#fff}.print-btn{background:var(--ink);color:#fff;cursor:pointer}.hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,34,.82),rgba(5,27,34,.32) 60%,rgba(5,27,34,.08)),linear-gradient(0deg,rgba(5,27,34,.5),transparent 55%)}.hero-copy{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));margin:0 auto;padding-bottom:76px;color:#fff}.eyebrow,.section-head>p,.photo-break p{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero h1{font-family:"Songti SC","STSong",serif;font-size:clamp(54px,8vw,100px);line-height:.94;margin:18px 0 24px;letter-spacing:-.04em}.hero h1 span{color:#d9efe9}.hero-date{font-size:17px;letter-spacing:.08em}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.hero-pills span{padding:8px 14px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);border-radius:999px;font-size:13px}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.route-card{position:relative;margin-top:-34px;z-index:2;background:var(--card);border-radius:22px;padding:28px 32px;box-shadow:var(--shadow)}.route-meta{display:flex;gap:22px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px}.route-meta span{font-size:11px;letter-spacing:.16em;color:var(--blue);font-weight:800;white-space:nowrap}.route-meta strong{font-size:18px;line-height:1.45}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0}.stats article{border-right:1px solid var(--line);padding:0 26px}.stats article:first-child{padding-left:0}.stats article:last-child{border:0}.stats b,.stats span{display:block}.stats b{font:48px/1 Georgia,serif;color:var(--teal)}.stats span{font-size:12px;color:var(--muted);margin-top:6px}.notice{padding:13px 16px;background:#fff5df;border-radius:12px;font-size:13px;color:#70572f}.notice span{font-weight:800;margin-right:10px}.day-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:32px;overflow-x:auto;padding-bottom:10px}.day-strip a{min-width:116px;background:rgba(255,255,255,.58);color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:15px 13px;transition:.2s}.day-strip a:hover{transform:translateY(-3px);background:#fff;box-shadow:var(--shadow)}.day-strip em,.day-strip b,.day-strip span{display:block}.day-strip em{font-style:normal;color:var(--blue);font-size:10px;letter-spacing:.12em}.day-strip b{font-family:Georgia,serif;font-size:19px}.day-strip span{font-size:11px;color:var(--muted);white-space:nowrap}.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;margin:88px 0 28px;border-left:4px solid var(--teal);padding-left:18px}.section-head p{grid-column:1;margin:0;color:var(--blue)}.section-head h2{grid-column:1;font:700 40px/1.1 "Songti SC",serif;margin:4px 0 0}.section-head span{grid-column:2;grid-row:1/3;color:var(--muted);font-size:13px}.days{display:grid;gap:18px}.day-card{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 6px 24px rgba(18,47,58,.04)}.day-head{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:26px 28px;cursor:pointer}.day-no{font:italic 44px/1 Georgia,serif;color:var(--teal)}.day-title h3{font-size:24px;margin:0}.day-title p{margin:3px 0 0;color:var(--muted);font-size:13px}.day-tags{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:390px}.tag{font-size:11px;padding:6px 9px;border-radius:999px;background:#edf5f4;color:var(--teal);font-weight:700}.tag.hard{background:#fff0eb;color:var(--coral)}.toggle{border:0;background:#eef1ef;width:34px;height:34px;border-radius:50%;cursor:pointer;margin-left:6px;transition:.2s}.day-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;border-top:1px solid var(--line)}.timeline{padding:22px 30px 30px}.time-item{position:relative;display:grid;grid-template-columns:112px 1fr;gap:18px;padding:13px 0 13px 15px;border-left:1px solid #c8d7d5}.time-item:before{content:"";position:absolute;left:-5px;top:22px;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #e8f1f2}.time-item time{font:700 14px Georgia,serif;color:var(--blue)}.time-item h4{font-size:16px;margin:0 0 4px}.time-item p{font-size:13px;color:#52656b;margin:0}.day-aside{background:#f6f7f3;padding:26px;border-left:1px solid var(--line)}.day-aside h4{margin:0 0 12px;font-size:12px;letter-spacing:.12em;color:var(--muted)}.day-aside p{font-size:13px;margin:0 0 18px}.day-aside .hard-note{background:#fff0eb;color:#7f3d30;padding:13px;border-radius:12px}.day-card.collapsed .day-body{display:none}.day-card.collapsed .toggle{transform:rotate(180deg)}.photo-break{position:relative;height:520px;margin-top:96px;overflow:hidden}.photo-break img{width:100%;height:100%;object-fit:cover}.photo-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,34,.7),rgba(5,27,34,.04))}.photo-break div{position:absolute;z-index:2;left:max(24px,calc((100vw - 1180px)/2));top:50%;transform:translateY(-50%);color:#fff;max-width:560px}.photo-break h2{font:700 clamp(36px,5vw,64px)/1.08 "Songti SC",serif;margin:12px 0 18px}.photo-break span{font-size:14px}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stay-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.stay-card .date{font:700 13px Georgia,serif;color:var(--blue)}.stay-card h3{margin:8px 0 10px;font-size:17px;line-height:1.35}.stay-card p{font-size:12px;color:var(--muted);margin:4px 0}.stay-card .pending{color:var(--coral);font-weight:800}.checklist-section{padding-bottom:90px}.checklist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.check-group{background:#fff;border-radius:18px;padding:20px;border:1px solid var(--line)}.check-group h3{font-size:15px;margin:0 0 12px}.check-group label{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;color:#43575e;cursor:pointer}.check-group input{accent-color:var(--teal);margin-top:4px}.check-group input:checked+span{text-decoration:line-through;color:#9aa4a5}.reset-list{margin-top:16px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 14px;color:var(--muted);cursor:pointer}.footnote{background:var(--ink);color:#fff;padding:26px 30px;border-radius:18px;margin-bottom:70px}.footnote p{margin:6px 0 0;color:#c9d4d6;font-size:13px}footer{border-top:1px solid rgba(18,47,58,.12);padding:28px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;color:var(--muted);font-size:12px}footer a{color:var(--ink)}
@media(max-width:860px){.site-header nav{display:none}.hero{min-height:560px}.hero-copy{padding-bottom:60px}.route-card{padding:22px}.stats{grid-template-columns:repeat(2,1fr);gap:18px}.stats article:nth-child(2){border-right:0}.day-body{grid-template-columns:1fr}.day-aside{border-left:0;border-top:1px solid var(--line)}.day-tags{display:none}.stay-grid,.checklist-grid{grid-template-columns:1fr 1fr}.section-head span{display:none}.photo-break{height:440px}}
@media(max-width:560px){.site-header{height:64px}.brand small{display:none}.hero{min-height:510px}.hero-copy{width:calc(100% - 32px)}.hero h1{font-size:48px}.container{width:calc(100% - 28px)}.route-card{margin-top:-24px}.route-meta{display:block}.route-meta span{display:block;margin-bottom:8px}.stats article{padding:0 12px}.stats b{font-size:38px}.day-strip{width:calc(100% - 14px);margin-left:14px}.section-head{margin-top:64px}.section-head h2{font-size:34px}.day-head{padding:20px 18px;gap:12px}.day-no{font-size:34px}.day-title h3{font-size:19px}.timeline{padding:16px 18px 24px}.time-item{grid-template-columns:78px 1fr;gap:10px;padding-left:12px}.stay-grid,.checklist-grid{grid-template-columns:1fr}.photo-break div{left:20px;right:20px}.photo-break h2{font-size:38px}}
@media print{.site-header,.print-btn,.day-strip,.photo-break,.reset-list{display:none!important}.hero{min-height:320px}.route-card{margin-top:0;box-shadow:none}.day-card{break-inside:avoid}.day-body{display:grid!important}.container{width:94%}.section-head{margin-top:36px}body{background:#fff}}

/* Final itinerary additions */
.checklist-section{padding-bottom:36px}
.safety-note{margin-bottom:22px;border-left:4px solid var(--coral);background:#fff0eb;border-radius:0 18px 18px 0;padding:22px 26px}
.safety-note h2{font-size:18px;margin:0 0 8px;color:#7f3d30}
.safety-note p{margin:0;color:#6f4138;font-size:14px}
