@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#14302f;--muted:#70837d;--green:#176955;--pale:#ebf4ef;--line:#e5ebe7;--bg:#f5f7f4;--amber:#b76e28}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans SC',system-ui,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.wrap{width:min(1250px,calc(100% - 48px));margin:auto}.topbar{background:#102c2b;color:white;position:sticky;top:0;z-index:20;box-shadow:0 4px 24px #092a241e}.top-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;font-weight:800;font-size:17px;letter-spacing:.03em}.brand small{display:block;font-size:9px;letter-spacing:.22em;color:#a8c2b6;font-weight:600;margin-top:2px}.brand-symbol{height:39px;width:39px;border:1px solid #89b4a0;border-radius:12px;display:grid;place-items:center;color:#cde8d5}.top-actions{display:flex;align-items:center;gap:24px;font-size:12px;color:#b7c9c4}.print-btn{border:1px solid #537269;background:transparent;color:#fff;padding:9px 14px;border-radius:9px;font-weight:700}.print-btn:hover{background:#296b57}.page{padding:25px 0 42px}.hero{height:398px;border-radius:25px;overflow:hidden;position:relative;background:linear-gradient(115deg,#24544d,#6c946a);color:white;display:flex;justify-content:space-between;box-shadow:0 17px 50px #24443320}.hero img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,28,.86) 0%,rgba(4,30,28,.6) 45%,rgba(4,30,28,.04) 80%)}.hero-copy{position:relative;align-self:end;padding:0 0 42px 53px;max-width:760px}.eyebrow,.kicker{font-size:11px;letter-spacing:.23em;font-weight:900;color:#84d4a9}.hero h1{font-size:clamp(38px,5.2vw,70px);line-height:1.2;letter-spacing:-.06em;margin:15px 0 17px;font-weight:900}.hero p{font-size:14px;color:#e4eee7;line-height:1.8;max-width:610px}.hero-tags{display:flex;gap:9px;margin-top:20px;flex-wrap:wrap}.hero-tags span{border:1px solid #ffffff6c;border-radius:30px;padding:6px 14px;font-size:11px;background:#ffffff1a}.hero-side{position:relative;align-self:stretch;min-width:230px;background:#133d379a;display:flex;flex-direction:column;justify-content:space-between;padding:34px;letter-spacing:.12em}.hero-side span{font-size:10px;color:#b2d6c7}.hero-side strong{font-size:24px;line-height:1.55;font-weight:500}.summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:17px;margin:20px 0 42px;box-shadow:0 8px 35px #24443309}.summary>div{padding:17px 27px;display:flex;align-items:center;gap:13px;border-right:1px solid var(--line)}.summary>div:last-child{border:0}.summary-icon{font-size:24px;color:var(--green);width:32px}.summary b,.summary small{display:block}.summary b{font-size:13px}.summary small{margin-top:3px;color:var(--muted);font-size:11px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:0 3px 20px}.section-title h2{font-size:29px;margin:5px 0 0;letter-spacing:-.05em}.section-title p{color:var(--muted);font-size:12px;margin:0 0 3px}.kicker{color:var(--green)}.layout{display:grid;grid-template-columns:296px minmax(0,1fr);gap:20px;align-items:start}.sidebar{background:#fff;border:1px solid var(--line);border-radius:21px;padding:21px;position:sticky;top:94px;max-height:calc(100vh - 111px);overflow:auto}.sidebar-heading{font-size:13px;font-weight:800;display:flex;justify-content:space-between;margin-bottom:17px}.sidebar-heading span{color:#95aaa0;font-size:11px}.day-tab{display:flex;gap:14px;align-items:center;width:100%;border:0;border-left:3px solid transparent;text-align:left;background:transparent;border-radius:10px;padding:12px;margin:2px 0;color:#394d46}.day-tab:hover{background:#f5f8f4}.day-tab.active{background:#edf6ef;border-left-color:#34a46f;box-shadow:0 4px 14px #14452c10}.day-number{font-size:11px;font-weight:900;color:#87a398;width:27px}.day-tab.active .day-number{color:#198357}.day-name{font-size:13px;font-weight:800;line-height:1.4}.day-date{display:block;font-size:10px;font-weight:500;color:#90a199;margin-top:4px}.sidebar-tip{background:#f0f6ee;border-radius:15px;padding:16px;margin-top:16px}.sidebar-tip span{color:var(--green);font-weight:800;font-size:12px}.sidebar-tip p{font-size:11px;line-height:1.85;color:#66786e;margin:9px 0 0}.detail{background:#fff;border:1px solid var(--line);border-radius:23px;overflow:hidden;box-shadow:0 12px 30px #123b2b09;min-height:800px}.detail-photo{height:250px;position:relative;background:linear-gradient(120deg,#2e675c,#abcaa5)}.detail-photo img{height:100%;width:100%;object-fit:cover}.detail-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#fff)}.detail-body{position:relative;margin-top:-41px;padding:0 34px 36px}.day-pill{display:inline-block;background:#dff1e6;color:#137051;padding:7px 13px;border-radius:30px;font-size:10px;font-weight:900;letter-spacing:.07em}.detail-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0 25px}.detail-heading h2{font-size:32px;line-height:1.3;letter-spacing:-.05em;margin:8px 0 5px}.detail-heading p{font-size:13px;color:var(--muted);margin:0}.date-big{text-align:right;white-space:nowrap}.date-big b{font-size:25px;display:block;color:var(--green)}.date-big small{font-size:10px;color:var(--muted)}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0 28px}.metric{padding:21px 22px;border-radius:16px;color:#fff;min-height:111px}.metric.stay{background:#25465b}.metric.drive{background:#176e58}.metric small{display:block;font-size:11px;opacity:.7;font-weight:700;margin-bottom:11px}.metric strong{font-size:18px;line-height:1.45}.metric em{font-size:11px;font-style:normal;opacity:.8;display:block;margin-top:4px}.content-title{font-size:14px;letter-spacing:.03em;margin:29px 0 15px}.timeline{display:grid;gap:10px}.stop{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:13px;border:1px solid var(--line);border-radius:13px;padding:15px 16px;transition:.2s}.stop:hover{border-color:#72b893;box-shadow:0 8px 24px #1b543318}.stop-index{border-radius:11px;background:#e9f3e9;color:#227d57;font-size:11px;font-weight:900;width:40px;height:40px;display:grid;place-items:center}.stop h4{font-size:14px;margin:0 0 5px}.stop p{color:var(--muted);font-size:11px;line-height:1.65;margin:0}.stop a{border:1px solid #d3e6d8;color:#228159;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:700;white-space:nowrap}.stop a:hover{background:#e9f5ec}.alert{background:#fff7e9;border:1px solid #f2e4c9;border-radius:15px;padding:17px 19px;margin-top:25px}.alert strong{color:#86531f;font-size:12px}.alert p{font-size:12px;color:#7f674b;line-height:1.8;margin:6px 0 0}.hotel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.hotel-head small{font-size:10px;color:var(--muted)}.hotel-list{display:grid;gap:9px}.hotel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;background:#f8faf8;border:1px solid #e9eeea;border-radius:13px;padding:15px 17px}.hotel h4{font-size:13px;margin:0 0 5px}.hotel p{color:var(--muted);font-size:10px;margin:0}.hotel-right{text-align:right}.hotel-right b{display:block;color:#156a53;font-size:17px}.hotel-right small{color:#83948b;font-size:10px}.hotel-right a{display:inline-block;color:#197354;font-size:11px;font-weight:800;margin-top:5px;text-decoration:underline;text-underline-offset:3px}.hotel-empty{font-size:11px;color:#9a6a35;background:#fff8e8;border-radius:10px;padding:12px 15px;line-height:1.7}.notes{margin-top:58px}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.note-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px}.note-grid span{font-size:13px;color:#259266;font-weight:900}.note-grid h3{font-size:16px;margin:14px 0 10px}.note-grid p{font-size:12px;line-height:1.9;color:#65786d;margin:0}footer{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #dfe7e0;margin-top:52px;padding:26px 3px;color:#65796e;font-size:11px}footer strong{font-size:17px;color:var(--ink)}footer p{line-height:1.8}.source-links{text-align:right;line-height:2}.source-links a{margin-left:10px;color:#196c56;text-decoration:underline}.fine{grid-column:1/-1;color:#8c9b90;margin:0}.fine a{text-decoration:underline}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none}.sidebar nav{display:flex;overflow:auto;gap:7px}.day-tab{min-width:135px;margin:0;border-left:0;border-bottom:3px solid transparent}.day-tab.active{border-bottom-color:#34a46f}.sidebar-tip{display:none}.hero-side{display:none}.hero-copy{padding:30px}.note-grid{grid-template-columns:1fr}}@media(max-width:580px){.wrap{width:min(100% - 26px,1250px)}.top-inner{height:60px}.brand{font-size:14px}.brand-symbol{width:32px;height:32px}.top-actions>span{display:none}.print-btn{font-size:11px;padding:8px}.page{padding-top:13px}.hero{height:340px;border-radius:17px}.hero-copy{padding:24px}.hero h1{font-size:39px}.hero p{font-size:12px}.summary{grid-template-columns:1fr;margin:13px 0 33px}.summary>div{padding:12px 18px;border-right:0;border-bottom:1px solid var(--line)}.summary>div:last-child{border:0}.section-title h2{font-size:24px}.section-title p{display:none}.sidebar{padding:14px}.detail-photo{height:200px}.detail-body{padding:0 17px 26px}.detail-heading h2{font-size:24px}.date-big b{font-size:18px}.metric-row{gap:8px}.metric{padding:15px;min-height:105px}.metric strong{font-size:15px}.stop{grid-template-columns:32px minmax(0,1fr);padding:12px;gap:9px}.stop-index{width:30px;height:30px}.stop a{grid-column:2;justify-self:start;padding:5px 9px}.hotel{padding:12px}.hotel h4{font-size:12px}.hotel-right b{font-size:15px}footer{grid-template-columns:1fr}.source-links{text-align:left}.source-links a:first-child{margin-left:0}}@media print{.topbar,.sidebar,.print-btn,.notes,.hero-side{display:none!important}.wrap{width:100%}.hero{height:150px}.hero-copy{padding:15px}.hero h1{font-size:28px}.hero p,.hero-tags{display:none}.layout{display:block}.detail{break-inside:avoid;min-height:0}.detail-photo{height:100px}.detail-body{margin-top:0}.summary{margin:10px 0}.stop,.hotel{break-inside:avoid}}
