
:root{--ink:#092733;--ink2:#153844;--green:#2f956b;--mint:#a7e1c9;--cream:#f4f0e7;--paper:#fcfbf7;--white:#fff;--muted:#6f7f84;--line:#dce4df;--gold:#d9a441;--danger:#c86f55;--shadow:0 20px 60px rgba(8,38,48,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 38px));margin:auto}.topbar{position:fixed;z-index:1000;top:0;left:0;right:0;height:72px;padding:0 max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:28px;background:rgba(4,31,40,.82);backdrop-filter:blur(18px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);font-size:20px}.brand b{display:block}.brand small{display:block;color:#acd0ce;font-size:11px}.topbar nav{display:flex;gap:22px;font-size:14px}.icon-btn{border:1px solid rgba(255,255,255,.22);color:#fff;background:transparent;width:40px;height:40px;border-radius:50%;font-size:18px}.hero{min-height:760px;position:relative;display:flex;align-items:flex-end;background:#06232d;color:white;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('../img/hero.png') center/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,30,.92) 0%,rgba(3,22,30,.64) 48%,rgba(3,22,30,.25)),linear-gradient(0deg,rgba(3,22,30,.75),transparent 60%)}.hero-inner{position:relative;width:min(1180px,calc(100% - 38px));margin:0 auto;padding:160px 0 68px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#9de1c8}.eyebrow.dark{color:#277f61}.hero h1,.section-head h2,.intro h2,.memories h2{font-family:Georgia,serif;font-weight:500;margin:14px 0 18px;letter-spacing:-.035em}.hero h1{font-size:clamp(52px,8vw,94px);line-height:.93;max-width:850px}.hero em,.intro em{color:#9de1c8;font-style:italic}.hero p{max-width:640px;font-size:18px;line-height:1.6;color:#d4e7e6}.hero-actions{display:flex;gap:12px;margin-top:30px}.btn{padding:14px 20px;border-radius:999px;font-weight:750;font-size:14px}.btn.primary{background:#fff;color:#07313c}.btn.ghost{border:1px solid rgba(255,255,255,.3);color:#fff}.stats{display:grid;grid-template-columns:repeat(4,minmax(90px,150px));gap:22px;margin-top:54px}.stats div{border-top:1px solid rgba(255,255,255,.22);padding-top:14px}.stats strong{display:block;font-size:28px}.stats span{font-size:12px;color:#9fc1c0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:100px 0}.intro h2,.section-head h2,.memories h2{font-size:clamp(36px,5vw,64px);line-height:1}.intro p{font-size:19px;line-height:1.8;color:#53656a;margin-top:34px}.map-section{background:#082a35;color:#fff;padding:80px 0 90px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-head h2{margin:8px 0 10px}.section-head p{max-width:680px;color:#b8d0d0;line-height:1.6}.section-head.light p{color:var(--muted)}.map-legend{display:flex;gap:16px;font-size:12px;color:#bad0d0;white-space:nowrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.dot.up{background:#5cc8a1}.dot.aur{background:#d9a441}.dot.down{background:#7ca5dd}.map-shell{width:min(1320px,calc(100% - 30px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 330px;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.22)}#map{height:650px}.map-info{color:var(--ink);padding:28px;background:#f8faf8;border-left:1px solid #e1e7e3}.map-info h3{font-family:Georgia,serif;font-size:28px;margin:12px 0}.map-info p{line-height:1.55;color:#64767a}.corridor-box{background:#e9f8f0;border-radius:14px;padding:14px;margin:18px 0;font-size:13px;line-height:1.45}.roadbook{padding:100px 0}.section-head.light{color:var(--ink)}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;font-weight:700}.filter.active{background:var(--ink);color:#fff}.searchrow{display:grid;grid-template-columns:1fr 280px;gap:12px;margin:24px 0 42px}.searchrow input,.searchrow select{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff;font:inherit;color:var(--ink)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:50px;top:10px;bottom:10px;width:1px;background:var(--line)}.day-card{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) 180px;align-items:center;gap:20px;padding:20px 18px;margin-bottom:10px;border:1px solid transparent;border-radius:20px;transition:.18s;background:transparent;cursor:pointer}.day-card:hover{background:#fff;border-color:var(--line);box-shadow:0 12px 30px rgba(8,40,49,.06);transform:translateY(-1px)}.day-num{position:relative}.day-num:before{content:"";position:absolute;left:28px;top:21px;width:9px;height:9px;background:var(--green);border:4px solid var(--paper);box-shadow:0 0 0 1px var(--line);border-radius:50%}.day-num strong{display:block;margin-left:52px;font-size:13px}.day-main small{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.day-main h3{font-family:Georgia,serif;font-size:28px;margin:5px 0 4px}.day-main p{color:#738186;margin:0;font-size:13px}.day-meta{text-align:right}.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#eaf6f0;color:#176648;font-size:11px;font-weight:800}.badge.rest{background:#f1eee6;color:#765d2a}.day-meta b{display:block;margin-top:8px;font-size:13px}.visited-check{position:absolute;right:10px;top:10px;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;background:#fff;display:none;place-items:center}.day-card.visited .visited-check{display:grid;background:var(--green);color:#fff}.memories{background:#0a2a34 url('../img/lakes.png') center/cover fixed;color:#fff;padding:100px 0;position:relative}.memories:before{content:"";position:absolute;inset:0;background:rgba(4,28,36,.86)}.memories .wrap{position:relative}.memories p{max-width:700px;color:#c6d9d9;font-size:17px}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.memory-card{min-height:130px;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(255,255,255,.06);backdrop-filter:blur(9px)}.memory-card strong{display:block;font-size:38px}.memory-card span{color:#bdd0cf}.memory-card.quote{font-family:Georgia,serif;font-size:26px;display:flex;align-items:center}.drawer{position:fixed;z-index:2000;inset:0;pointer-events:none;opacity:0;transition:.2s}.drawer.open{pointer-events:auto;opacity:1}.drawer-backdrop{position:absolute;inset:0;background:rgba(0,20,28,.58)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(590px,100%);background:#fff;overflow-y:auto;padding:0 0 60px;transform:translateX(100%);transition:.28s}.drawer.open .drawer-panel{transform:none}.drawer-close{position:sticky;z-index:3;top:14px;float:right;margin:14px 14px 0 0;width:42px;height:42px;border:0;border-radius:50%;font-size:28px;background:rgba(255,255,255,.9);box-shadow:0 4px 20px rgba(0,0,0,.12)}.drawer-hero{min-height:260px;background:#0a2b35 center/cover;position:relative;display:flex;align-items:end;padding:28px;color:#fff}.drawer-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,25,34,.9),rgba(0,25,34,.15))}.drawer-hero>*{position:relative}.drawer-hero h2{font-family:Georgia,serif;font-size:42px;margin:8px 0 0}.drawer-body{padding:28px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{padding:14px;background:#f3f6f4;border-radius:14px}.mini span{display:block;font-size:10px;color:#76868b;text-transform:uppercase}.mini b{display:block;margin-top:4px}.drawer-body h4{margin:26px 0 7px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#1e7c5c}.drawer-body p{line-height:1.65;color:#4c5e62}.nav-btn{display:flex;justify-content:center;margin-top:18px;background:var(--green);color:#fff;padding:15px;border-radius:14px;font-weight:800}.secondary-btn{display:flex;justify-content:center;margin-top:8px;background:#edf2ef;padding:13px;border-radius:14px;font-weight:750}.note-box{width:100%;min-height:120px;border:1px solid var(--line);border-radius:14px;padding:13px;font:inherit;resize:vertical}.checkrow{display:flex;gap:10px;align-items:center;margin-top:12px}.checkrow input{width:20px;height:20px}footer{background:#051d25;color:#bdd1d1;padding:28px 0}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer span{font-size:12px}.leaflet-popup-content-wrapper{border-radius:14px}.route-marker{border:0;background:transparent}.route-marker div{width:20px;height:20px;border-radius:50%;background:#2f956b;border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,.25)}
body.dark{--paper:#081e26;--ink:#e7f0ed;--line:#29434b;--muted:#9fb2b5;background:#081e26}.dark .roadbook,.dark .intro{color:#e7f0ed}.dark .day-card:hover,.dark .searchrow input,.dark .searchrow select,.dark .filter{background:#0e2b35;color:#e7f0ed}.dark .filter.active{background:#83d1b2;color:#06252f}.dark .day-main p{color:#9ab0b4}.dark .drawer-panel{background:#0a232c;color:#eaf3f0}.dark .drawer-body p{color:#b5c6c7}.dark .mini,.dark .secondary-btn{background:#12333e}.dark .map-info{background:#0d2a33;color:#eaf3f0}.dark .map-info p{color:#adc0c1}.dark .corridor-box{background:#103c36}
@media(max-width:800px){.topbar{height:62px}.topbar nav{display:none}.hero{min-height:690px}.hero-inner{padding-top:130px}.hero h1{font-size:54px}.hero p{font-size:16px}.stats{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr;gap:10px;padding:70px 0}.section-head{align-items:start;flex-direction:column}.map-shell{grid-template-columns:1fr;width:100%;border-radius:0}.map-info{border-left:0;border-top:1px solid var(--line)}#map{height:480px}.roadbook{padding:70px 0}.searchrow{grid-template-columns:1fr}.timeline:before{left:24px}.day-card{grid-template-columns:52px 1fr;gap:10px;padding:16px 6px}.day-num:before{left:18px}.day-num strong{margin-left:0;padding-top:28px;text-align:center;font-size:11px}.day-main h3{font-size:23px}.day-meta{grid-column:2;text-align:left}.visited-check{right:8px;top:8px}.memory-grid{grid-template-columns:1fr}.drawer-grid{grid-template-columns:1fr 1fr}footer .wrap{flex-direction:column}.map-legend{white-space:normal;flex-wrap:wrap}}
