:root{--navy:#173347;--muted:#667b83;--teal:#287f85;--deep-teal:#156c73;--cream:#f9f7ef;--sage:#e3eee7;--border:#dde8e3;--orange:#ed985b;--shadow:0 22px 65px rgba(21,67,75,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f6f8f2;color:var(--navy);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}
.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}
.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#fff;border-bottom:1px solid #edf1ec}
.brand{display:flex;gap:13px;align-items:center;font-size:20px;line-height:1;letter-spacing:.045em;font-weight:900}.brand-light{font-weight:500;color:var(--teal)}.brand small{display:block;margin-top:6px;font-size:9px;letter-spacing:.18em;color:#7c9297;font-weight:800}
.brand-mark{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#bfe7df;border:3px solid var(--navy);font-size:27px;line-height:1;position:relative}.brand-dot{position:absolute;width:9px;height:9px;border:2px solid var(--navy);border-radius:50%;background:#fff;right:3px;bottom:4px}
.site-header nav{display:flex;align-items:center;gap:9px}.nav-link{padding:10px 17px;border-radius:50px;font-size:13px;font-weight:800;color:#60757d}.nav-link:hover,.nav-link.active{background:#e7f2ec;color:var(--deep-teal)}
.intro{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr .84fr;align-items:center;min-height:485px;padding:48px max(6vw,24px) 84px;background:radial-gradient(circle at 64% 12%,#f9d7b7 0,transparent 21%),radial-gradient(circle at 90% 85%,#c4e6dc 0,transparent 31%),linear-gradient(115deg,#d8ede5,#f1f3df 58%,#f7e7c9)}
.intro:after{content:"";position:absolute;bottom:0;left:0;right:0;height:65px;background:#f6f8f2;clip-path:polygon(0 60%,6% 55%,13% 65%,22% 46%,31% 58%,40% 45%,51% 58%,61% 42%,71% 54%,81% 44%,90% 59%,100% 41%,100% 100%,0 100%)}
.intro-copy{position:relative;z-index:2;max-width:700px}.kicker,.section-label{font-size:11px;letter-spacing:.18em;font-weight:900;color:var(--deep-teal)}.kicker{display:flex;align-items:center;gap:10px}.kicker-dot,.live-dot{width:9px;height:9px;background:#52a997;border-radius:50%;box-shadow:0 0 0 5px rgba(82,169,151,.14)}
h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.8rem,6vw,6.65rem);line-height:.99;letter-spacing:-.065em;max-width:730px;margin:22px 0}h1 em{color:#2c908e;font-weight:400}.intro-text{color:#526c70;font-size:17px;line-height:1.72;max-width:555px;margin-bottom:27px}.intro-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 20px 16px 23px;border-radius:10px;background:var(--navy);color:#fff;font-weight:800;font-size:14px;box-shadow:0 12px 22px #17334722;transition:transform .2s,background .2s}.primary-link:hover{transform:translateY(-2px);background:#23566b}.primary-link span{font-size:22px;font-weight:400;line-height:.6}.text-link{color:var(--deep-teal);font-size:14px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link span{margin-left:6px}
.intro-art{position:relative;height:425px;display:grid;place-items:center}.intro-art img{z-index:2;width:min(380px,80%);height:auto;filter:drop-shadow(0 25px 16px rgba(42,96,92,.22));transform:rotate(-8deg);animation:float 5s ease-in-out infinite}.quagsire-glow{position:absolute;width:350px;height:350px;border-radius:50%;background:#f9f6de;box-shadow:0 0 0 35px #fff5d944,0 0 0 85px #ffffff2f}.orbit{position:absolute;border:2px dashed rgba(43,127,125,.22);border-radius:50%;transform:rotate(-15deg)}.orbit-one{width:460px;height:310px}.orbit-two{width:590px;height:410px}.art-note{z-index:3;position:absolute;bottom:1px;right:4%;background:#fffdf4;border:1px solid #dfecdf;border-radius:100px;padding:11px 16px;color:#507b7d;box-shadow:0 9px 24px #496b6b1b;font-size:10px;font-weight:900;letter-spacing:.12em}.art-note b{color:var(--orange);margin:0 5px}
.intro-stats{position:absolute;z-index:3;left:max(6vw,24px);bottom:42px;display:flex;gap:28px}.intro-stats div{display:flex;gap:8px;align-items:baseline}.intro-stats strong{font-family:Georgia,serif;color:#2b7778;font-size:25px}.intro-stats span{font-size:11px;font-weight:800;color:#678184;text-transform:uppercase;letter-spacing:.06em}@keyframes float{50%{transform:translateY(-13px) rotate(-6deg)}}
main{overflow:hidden}.explore-section,.route-section{max-width:1480px;margin:0 auto;padding:54px max(4vw,24px) 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:25px}.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.55rem,4vw,4rem);line-height:1.06;letter-spacing:-.05em;margin:7px 0 0}.section-heading>p{max-width:310px;color:#718489;font-size:14px;line-height:1.6;margin:0 0 6px}.section-label{margin:0}.heading-spark{color:var(--orange);font-family:Arial,sans-serif;font-size:.55em;vertical-align:top;margin-left:8px}
.explorer{height:690px;display:grid;grid-template-columns:minmax(318px,390px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;border:1px solid #deebe5;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.lid-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:#fff}.panel-head{padding:23px 21px 15px;border-bottom:1px solid #e9efec}.panel-title{display:flex;align-items:center;gap:11px;margin-bottom:20px}.panel-title strong{display:block;font-size:17px}.panel-title span:not(.mini-pokeball){display:block;color:#91a0a0;font-size:11px;font-weight:700;margin-top:3px}.mini-pokeball{position:relative;width:35px;height:35px;border:3px solid #2d6e78;border-radius:50%;background:linear-gradient(#a7d6d4 0 45%,#2d6e78 45% 55%,white 55%)}.mini-pokeball:after{content:"";position:absolute;width:9px;height:9px;top:10px;left:10px;background:white;border:2px solid #2d6e78;border-radius:50%}.search-wrap{display:flex;gap:10px;align-items:center;padding:0 12px;height:43px;border:1px solid #dce7e4;border-radius:9px;color:#8ca3a4;background:#f8faf7}.search-wrap:focus-within{border-color:#63b2ad;box-shadow:0 0 0 3px #a7d9d344}.search-wrap input{width:100%;border:0;background:transparent;outline:0;color:var(--navy);font-size:13px}.search-wrap input::placeholder{color:#9aabad}.filters{display:flex;gap:7px;margin-top:15px}.filter{border:1px solid #e5ece8;background:#fff;color:#688187;border-radius:100px;padding:7px 10px;font-size:11px;font-weight:900}.filter span{margin-left:5px;color:#9eaeae}.filter.active{background:#dff0ec;border-color:#cbe8df;color:#156c73}.filter.active span{color:#398b88}.filter:hover{border-color:#80bab5}
.lid-list{overflow:auto;padding:12px;scrollbar-color:#c8ded9 transparent;scrollbar-width:thin}.lid-item{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:11px;border:1px solid transparent;background:#fff;border-radius:12px;transition:background .18s,border-color .18s,transform .18s}.lid-item+.lid-item{margin-top:4px}.lid-item:hover{background:#f5faf5;transform:translateX(2px)}.lid-item.active{background:#edf8f4;border-color:#d3ece3}.lid-item img{width:63px;height:63px;object-fit:contain;flex:none;border-radius:50%;background:#f6f8f1}.lid-item-copy{flex:1;min-width:0}.lid-item-copy strong{font-size:14px;display:block;margin-bottom:4px}.lid-item-copy small{font-size:11px;color:#82999b;font-weight:700}.lid-item-num{align-self:start;margin-top:5px;font-size:11px;color:#6ba8a3;font-weight:900}.empty-state{padding:36px 20px;text-align:center;color:#759092;font-size:13px}
.map-column{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.map-wrap{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:#e7eede}.map{display:block;height:100%;width:100%;border:0}.map-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #e9efec}.map-kicker{display:flex;align-items:center;gap:10px;padding:7px 3px;font-size:10px;font-weight:900;letter-spacing:.16em;color:#3d6a70}.map-kicker .live-dot{width:7px;height:7px}.map-tool{border:1px solid #d9e7e2;border-radius:8px;background:#f7faf7;padding:8px 11px;color:#28767c;font-size:17px;line-height:1}.map-tool span{font-size:11px;font-weight:900;vertical-align:middle;margin-left:5px}.map-tool:hover{background:#eef7f2}.map-note{margin:12px 5px 0;color:#839697;font-size:11px}
.selected-card{position:static;display:flex;gap:12px;align-items:center;background:#fff;padding:10px 14px;margin:10px 12px 12px;border:1px solid #e4ece7;border-radius:12px;box-shadow:0 5px 15px #194b530d}.selected-card img{width:68px;height:68px;flex:none;object-fit:contain;border-radius:9px;background:#f4f7ef}.selected-copy{min-width:0}.selected-overline{display:block;color:#368687;font-size:9px;letter-spacing:.1em;font-weight:900}.selected-copy h3{font-family:Georgia,serif;font-size:20px;letter-spacing:-.035em;margin:3px 0}.selected-copy p{font-size:11px;color:#809497;margin:0 0 8px}.selected-actions{display:flex;gap:7px;flex-wrap:wrap}.selected-actions a{padding:7px 9px;background:#e6f2ef;color:#176f72;border-radius:6px;font-size:10px;font-weight:900}.selected-actions a:first-child{background:var(--navy);color:#fff}.selected-actions a:hover{filter:brightness(.94)}
.route-section{padding-top:94px;padding-bottom:94px}.route-heading>p{max-width:435px}.route-banner{display:flex;align-items:center;gap:15px;padding:16px 19px;background:#e4f1eb;border:1px solid #d4e9e0;border-radius:13px;margin-bottom:22px}.route-banner-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:50%;background:#327d80;color:#fff;font-size:24px;line-height:1}.route-banner p{font-size:13px;line-height:1.5;color:#54777b;margin:0}.route-banner strong{color:#1c626c}.route-legs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.leg{position:relative;display:flex;flex-direction:column;min-height:235px;background:#fff;border:1px solid #e2eae5;border-radius:15px;padding:19px;box-shadow:0 8px 24px #28535a0c;transition:transform .2s,box-shadow .2s}.leg:hover{transform:translateY(-4px);box-shadow:0 14px 30px #28535a18}.leg-top{display:flex;align-items:start;justify-content:space-between}.leg-number{display:grid;place-items:center;width:29px;height:29px;background:#d9efe9;color:#1d777a;border-radius:8px;font-size:12px;font-weight:900}.leg-arrow{font-size:24px;color:#67a6a0}.leg h3{font-family:Georgia,serif;font-size:20px;letter-spacing:-.035em;margin:20px 0 7px}.leg p{color:#809296;font-size:11px;line-height:1.5;margin:0 0 18px}.leg-route{margin-top:auto;font-size:11px;font-weight:900;color:#17747a}.leg-route span{margin-left:4px}.leg:focus-visible,.lid-item:focus-visible,.filter:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #f3a369;outline-offset:3px}
.site-footer{display:flex;justify-content:space-between;align-items:start;gap:35px;background:#193d49;color:#e3eee9;padding:34px max(5vw,24px)}.site-footer>div{min-width:260px}.site-footer strong{display:block;font-family:Georgia,serif;font-size:19px;font-weight:400}.site-footer span{display:block;color:#9fb7ba;font-size:11px;margin-top:7px}.site-footer p{max-width:680px;font-size:11px;line-height:1.7;color:#a9c1c2;margin:0}.site-footer a{text-decoration:underline;text-underline-offset:2px}
.lid-map-icon{display:grid;place-items:center;width:62px;height:62px;padding:0;appearance:none;background:transparent;border:0;cursor:pointer;transition:width .18s,height .18s}.lid-map-icon img{display:block;width:57px;height:57px;object-fit:contain;border:2px solid #fff;border-radius:50%;background:#fff;box-shadow:0 2px 8px #17334766;transition:width .18s,height .18s}.lid-map-icon.is-selected.zoomed-in{width:124px;height:124px;z-index:1}.lid-map-icon.is-selected.zoomed-in img{width:114px;height:114px}.maplibregl-popup-content{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--navy);font-size:12px;line-height:1.6}.maplibregl-popup-content strong{font-size:14px}.maplibregl-popup-content a{color:var(--deep-teal);font-weight:800}
@media(max-width:1160px){.route-legs{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-art{height:360px}.intro-art img{width:310px}.orbit-two{width:440px}.orbit-one{width:380px}}
@media(max-width:800px){.site-header{height:72px}.site-header nav{gap:0}.nav-link{padding:8px;font-size:11px}.intro{grid-template-columns:1fr;padding-top:45px;padding-bottom:90px}.intro-copy{max-width:640px}.intro-art{height:250px;grid-row:1}.intro-art img{width:230px}.quagsire-glow{width:220px;height:220px;box-shadow:0 0 0 22px #fff5d944,0 0 0 50px #ffffff2f}.orbit-one{width:290px;height:200px}.orbit-two{width:370px;height:280px}.art-note{display:none}.intro-stats{bottom:42px}.explorer{height:auto;grid-template-columns:1fr;grid-template-rows:370px 610px}.lid-panel{height:370px;border-right:0;border-bottom:1px solid var(--border)}.route-legs{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:start;flex-direction:column;gap:10px}.section-heading>p{max-width:580px}}
@media(max-width:540px){.brand{font-size:16px;gap:8px}.brand-mark{width:36px;height:36px;font-size:22px}.brand small{font-size:7px}.site-header{padding:0 15px}.site-header nav .nav-link:first-child{display:none}.intro{padding-left:22px;padding-right:22px}.intro-art{height:235px}.intro-art img{width:215px}h1{font-size:3.75rem}.intro-text{font-size:14px}.intro-stats{left:22px;gap:11px}.intro-stats strong{font-size:20px}.intro-stats span{font-size:8px}.explore-section,.route-section{padding-left:15px;padding-right:15px}.explore-section{padding-top:45px}.explorer{grid-template-rows:350px 560px;border-radius:15px}.lid-panel{height:350px}.panel-head{padding:16px}.map-tool span{display:inline}.map-topline{padding:8px 10px}.map-kicker{font-size:8px;padding:6px 2px}.selected-card{margin:8px}.selected-card img{width:56px;height:56px}.selected-copy h3{font-size:18px}.selected-copy p{margin-bottom:7px}.route-section{padding-top:75px;padding-bottom:65px}.route-legs{grid-template-columns:1fr}.leg{min-height:180px}.leg h3{margin-top:14px}.site-footer{display:block}.site-footer p{margin-top:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-art img{animation:none}*,*:before,*:after{transition:none!important}}
