@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--ink:#e7f2f1;--muted:#98adb2;--dim:#6f8a93;--bg:#091720;--panel:#0e222c;--panel2:#132c36;--edge:#24404a;--green:#4bdec1;--green2:#1d866f;--gold:#ffca7d;--red:#ff857d;--blue:#76b6ce;--font:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--display:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased}body.drawer-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}.shell{max-width:1392px;margin-inline:auto;padding-inline:clamp(18px,4.4vw,66px)}.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}
.topbar{border-bottom:1px solid #243c44;background:rgba(8,23,31,.96);position:sticky;top:0;z-index:900;backdrop-filter:blur(18px)}.topbar-inner{display:flex;align-items:center;gap:24px;justify-content:space-between;min-height:79px}.brand{display:flex;gap:11px;align-items:center;flex-shrink:0}.brand-icon{display:grid;place-items:center;color:#83e8d3;width:46px;height:46px;border:1px solid #306759;background:#12382f;border-radius:13px}.brand-text{font:700 16px/1.05 var(--display);letter-spacing:.03em}.brand-text strong{color:var(--green)}.brand-text small{display:block;font:700 9px/1.7 var(--font);letter-spacing:.23em;color:#82a4a9;margin-top:4px}.top-nav{display:flex;gap:29px;color:#acc2c2;font-weight:600;font-size:13px}.top-nav a:hover,.header-link:hover{color:var(--green)}.header-link{border:1px solid #33505a;padding:10px 15px;border-radius:8px;font-weight:700;font-size:12px}.header-link span{color:var(--green);margin-left:6px}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:44px;padding-top:57px;padding-bottom:45px;align-items:stretch}.hero-text{padding:30px 0 14px;min-width:0}.eyebrow,.kicker{font-size:10px;font-weight:800;letter-spacing:.23em;color:var(--green)}.eyebrow{display:flex;align-items:center;gap:8px}.eyebrow-mark{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 5px rgba(75,222,193,.12)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.06}h1{font-size:clamp(49px,5.7vw,82px);letter-spacing:-.052em;max-width:720px;margin:24px 0 20px;font-weight:700}h1 em{color:var(--green);font-weight:600;font-style:normal}.hero-text>p{font-size:15px;line-height:1.8;color:#b2c5c8;max-width:536px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:27px}.button{padding:12px 19px;border-radius:8px;display:inline-flex;gap:24px;align-items:center;justify-content:space-between;font-weight:700;font-size:13px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--green);color:#0c2726}.button.ghost{background:#122730;border:1px solid #2b4a53;color:#d9e9e9}.button span{font-size:18px;line-height:1}.hero-status{margin-top:28px;font-size:12px;color:#9db4b7;display:flex;align-items:center;gap:9px}.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(75,222,193,.1)}.status-dot.warn{background:var(--gold)}.status-dot.neutral{background:#778a91}
.hero-art{min-height:385px;border:1px solid #35606a;border-radius:18px;overflow:hidden;position:relative;background:radial-gradient(circle at 76% 30%,#215258 0,#15383e 29%,transparent 65%),linear-gradient(125deg,#16353b,#0e2931 60%,#122934)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 75%,rgba(91,194,174,.08))}.art-topline,.art-bottom{position:absolute;z-index:1;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;color:#8fbab9;letter-spacing:.15em;font-weight:800;font-size:10px}.art-topline{top:23px}.art-topline span{color:#77a6a5;font-size:9px}.art-bottom{bottom:23px}.art-bottom b{font-size:20px;color:#74dcc3}.art-rings{position:absolute;left:50%;top:50%;width:240px;height:240px;transform:translate(-50%,-50%)}.art-rings span{display:block;position:absolute;border:1px solid #568e89;border-radius:50%;opacity:.5;inset:0}.art-rings span:nth-child(2){inset:36px}.art-rings span:nth-child(3){inset:76px;border-color:#8aceb6;opacity:.85}.art-rings:after{content:"";display:block;position:absolute;background:var(--green);height:10px;width:10px;left:calc(50% - 5px);top:calc(50% - 5px);border-radius:50%;box-shadow:0 0 26px 12px rgba(93,223,196,.25)}.art-water{position:absolute;width:120%;height:190px;bottom:-7px;left:-10%;opacity:.25;stroke:#67dacb;stroke-width:1.6}.art-float{position:absolute;z-index:2;left:31px;top:40%;transform:rotate(-4deg);background:#173f44;border:1px solid #4e8885;border-radius:8px;box-shadow:0 14px 34px #07171c70;color:#e6fcf8;font-size:11px;font-weight:800;letter-spacing:.07em;padding:14px 16px}.art-float span{font-size:9px;color:#7bbcb8;margin-right:10px}.art-float strong{margin-left:13px;color:var(--green)}.art-float.two{left:auto;right:26px;top:66%;transform:rotate(3deg)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:68px}.metric{background:#112730;border:1px solid #25424b;display:flex;align-items:center;gap:17px;padding:18px 23px;min-height:102px}.metric:first-child{border-radius:12px 0 0 12px}.metric:last-child{border-radius:0 12px 12px 0}.metric-symbol{background:#183e40;border:1px solid #2a5f58;color:var(--green);font-size:25px;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.metric div{display:flex;flex-direction:column}.metric strong{font:700 29px/1.1 var(--display)}.metric span:last-child{font-size:11px;color:#98b5b8;margin-top:5px}.metric-live strong{font-size:17px;letter-spacing:-.02em}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.section-heading h2,.about h2{font-size:44px;letter-spacing:-.04em;margin:8px 0 6px}.section-heading p{color:#94aeb2;max-width:540px;margin:0}.score-legend{display:flex;gap:17px;flex-wrap:wrap;color:#a2b8bd;font-size:11px;white-space:nowrap}.score-legend span{display:flex;align-items:center;gap:7px}.score-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}.legend-good{background:var(--green)}.legend-okay{background:var(--gold)}.legend-poor{background:var(--red)}
.filter-panel{background:#11252f;border:1px solid #2b4650;border-radius:11px;padding:12px;margin-bottom:23px}.filters-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;border-bottom:1px solid #27434b}.tab{padding:9px 14px;border-radius:7px;border:1px solid transparent;background:transparent;color:#9fb9bb;font-size:12px;font-weight:700;white-space:nowrap}.tab span{margin-left:7px;color:#8fa8ae;font-size:10px}.tab:hover{background:#1b3840}.tab.active{background:#183e3e;color:#7fe1d0;border-color:#2e6b63}.tab.active span{color:#b9efdd}.filters-fields{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(140px,.57fr) minmax(170px,.7fr);gap:10px;padding-top:12px}.search-field{position:relative}.search-field input,.select-wrap select{width:100%;height:43px;background:#0a1c25;color:#d6e8e9;border:1px solid #304650;border-radius:6px;outline:none;padding:0 13px;font-size:12px}.search-field input{padding-left:36px}.search-field input::placeholder{color:#719197}.search-icon{position:absolute;top:3px;left:11px;font-size:25px;color:#84a9ad}.select-wrap select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='m2 2 5 5 5-5' stroke='%2395b8b9' fill='none' stroke-width='2'/%3E%3C/svg%3E");background-position:right 12px center;background-size:13px;background-repeat:no-repeat;padding-right:33px}
.results-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(320px,.87fr);gap:24px;align-items:start}.results-row{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#a5bac0;font-weight:700;font-size:12px;margin:0 0 13px}.scale-text{letter-spacing:.14em;font-size:9px;color:#648a93}.location-list{display:grid;gap:10px}.spot-card{display:grid;grid-template-columns:86px minmax(0,1fr) 22px;gap:17px;align-items:center;width:100%;text-align:left;border:1px solid #26424c;background:#102630;border-radius:11px;color:var(--ink);padding:17px;transition:background .15s,border-color .15s,transform .15s;cursor:pointer}.spot-card:hover,.spot-card:focus-visible{background:#17323d;border-color:#3b897d;transform:translateY(-1px)}.score-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:86px;gap:5px;background:#173c39;border:1px solid #2d6860;border-radius:8px;color:var(--green)}.score-box.mid{background:#3d3527;border-color:#79633d;color:var(--gold)}.score-box.low{background:#432e32;border-color:#85514e;color:var(--red)}.score-box.pending{background:#20323d;border-color:#405661;color:#a9c2c7}.score-box strong{font:700 32px/1 var(--display)}.score-box small{font:700 9px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase}.score-box strong span{font-size:12px;opacity:.7}.spot-title{font:600 17px/1.18 var(--display);letter-spacing:-.02em;margin-bottom:5px}.spot-kicker{font-size:10px;letter-spacing:.09em;color:#75aaa8;text-transform:uppercase;font-weight:800;margin-bottom:6px}.spot-desc{color:#9bafb6;font-size:11px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.tag{display:inline-flex;align-items:center;gap:5px;background:#19343e;border:1px solid #2b4c55;padding:3px 7px;border-radius:5px;color:#bcd1d2;font-size:10px}.tag.crab{background:#153a36;border-color:#2b695b;color:#7be6ce}.tag.danger{background:#4a312f;border-color:#815650;color:#ffb8a6}.tag.pending{color:#9fb3bb}.card-arrow{font-size:21px;color:#82b8bc}.empty-state{padding:52px 24px;text-align:center;background:#11252f;border:1px dashed #37545e;color:#a1bdc0;border-radius:11px}
.map-column{position:sticky;top:101px;min-width:0}.map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#112930;border:1px solid #2d5058;border-bottom:0;border-radius:12px 12px 0 0;padding:19px 20px}.map-label{font-weight:800;color:var(--green);letter-spacing:.18em;font-size:9px}.map-head h3{font:600 22px var(--display);letter-spacing:-.025em;margin:3px 0 0}.map-reset{background:#153940;color:#acd5d5;border:1px solid #38636b;border-radius:6px;font-weight:700;font-size:11px;padding:9px 11px}.map{height:480px;background:#0f2b34;border:1px solid #2d5058;overflow:hidden}.map-fallback{color:#a9c2c5;text-align:center;padding:40px}.map-foot{display:flex;justify-content:space-between;gap:10px;color:#87a8a9;padding:12px 14px;font-size:10px;background:#0c202a;border:1px solid #28434c;border-top:0;border-radius:0 0 11px 11px}.map-foot i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}.feature-note{margin-top:18px;display:flex;gap:15px;border-radius:11px;padding:21px;background:linear-gradient(130deg,#163c3b,#153039);border:1px solid #30645e}.feature-icon{color:#9ff0d1;background:#1d5650;border:1px solid #3c7369;border-radius:9px;width:45px;height:45px;display:grid;place-items:center;font-size:27px;flex-shrink:0}.feature-note strong{font:600 18px var(--display)}.feature-note p{color:#a7c3c0;font-size:12px;margin:6px 0 9px}.feature-note a{font-size:11px;font-weight:800;color:#65ead4}.leaflet-container{font-family:var(--font)!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#132d35!important;color:#e3f1f0!important}.leaflet-popup-content{margin:12px 15px!important}.leaflet-popup-content strong{display:block;font-size:13px}.leaflet-popup-content button{background:#4bdec1;border:0;padding:7px 10px;border-radius:5px;font-weight:700;margin-top:8px;color:#123238}.leaflet-control-attribution{font-size:9px!important}.custom-map-dot{display:flex;align-items:center;justify-content:center;border:2px solid #061f27;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 9px #0008;cursor:pointer}.custom-map-dot.good{background:#49e4bc}.custom-map-dot.mid{background:#ffce7b}.custom-map-dot.low{background:#ff8780}.custom-map-dot.pending{background:#819ca1}
.about{padding-top:112px;padding-bottom:76px}.about-top{margin-bottom:28px}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.about-grid article{border:1px solid #27444f;background:#112630;border-radius:12px;padding:25px}.about-icon{font:500 27px var(--display);color:var(--green)}.about h3{font:600 20px var(--display);letter-spacing:-.02em;margin:20px 0 11px}.about-grid p{font-size:13px;color:#9bb6b9;line-height:1.75;margin:0}.source-line{font-size:11px;color:#819fa2;margin-top:27px}.source-line a{text-decoration:underline;text-underline-offset:3px}.source-line a:hover{color:var(--green)}.footer{background:#07121a;border-top:1px solid #1e3840}.footer-inner{display:flex;justify-content:space-between;gap:25px;padding-block:24px;align-items:center;font-size:11px;color:#78999e}.footer-inner b{color:#74d7c4}.footer-inner em{font-style:normal;color:#8cabaf}
.drawer-backdrop{position:fixed;inset:0;background:rgba(3,14,20,.76);z-index:1490;backdrop-filter:blur(3px)}.details-drawer{position:fixed;right:0;top:0;bottom:0;width:min(490px,100vw);background:#0e232e;z-index:1500;border-left:1px solid #365560;overflow:auto;box-shadow:-20px 0 70px #020e14a0}.drawer-inner{padding:35px 30px 50px}.drawer-close{display:grid;place-items:center;width:35px;height:35px;margin-left:auto;border:1px solid #3a5c64;background:#173642;color:#cce2e4;border-radius:8px}.drawer-label{color:var(--green);font-weight:800;font-size:10px;letter-spacing:.2em;margin:17px 0 12px}.drawer-title{font:700 37px/1.08 var(--display);letter-spacing:-.035em;margin:0 0 14px}.drawer-meta{color:#acc3c6;font-size:13px}.drawer-score{display:flex;gap:15px;align-items:center;background:#13343a;border:1px solid #2e6661;border-radius:12px;padding:18px;margin:27px 0 22px}.drawer-score strong{font:700 49px/1 var(--display);color:var(--green)}.drawer-score strong.mid{color:var(--gold)}.drawer-score strong.low{color:var(--red)}.drawer-score strong.pending{color:#a4bbc0}.drawer-score span{font-size:13px;color:#b5d4d3}.drawer-heading{font:600 20px var(--display);margin:26px 0 11px}.drawer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.drawer-cell{border:1px solid #294852;background:#112b36;padding:12px;border-radius:8px}.drawer-cell small{display:block;color:#8fabb0;font-size:10px;margin-bottom:4px}.drawer-cell strong{font-size:14px}.drawer-callout{padding:12px 14px;background:#263a35;border-left:3px solid var(--gold);font-size:12px;color:#d4d9d0;margin:12px 0}.drawer-callout.danger{background:#3b292b;border-color:var(--red)}.reason{border-bottom:1px solid #2b464f;padding:9px 0;color:#c6d9d9;font-size:13px}.reason:before{content:'✓';font-weight:bold;color:var(--green);margin-right:10px}.reason.bad:before{content:'!';color:var(--red)}.species-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #29444d;padding:10px 0;font-size:12px}.species-row b{font:700 17px var(--display)}.species-bar{height:5px;border-radius:5px;background:#29454e;margin-top:6px;width:120px;overflow:hidden}.species-bar span{display:block;background:var(--green);height:100%}.species-bar span.mid{background:var(--gold)}.species-bar span.low{background:var(--red)}.drawer-link{display:block;border:1px solid #2a5358;padding:11px 14px;border-radius:8px;color:#92edda;font-size:12px;font-weight:700;margin-top:9px}.drawer-footnote{font-size:11px;color:#86a4a8;margin-top:25px;line-height:1.7}
@media(max-width:1100px){.hero{grid-template-columns:1fr 1fr;gap:25px}.top-nav{gap:16px}.metrics{grid-template-columns:repeat(2,1fr)}.metric:first-child{border-radius:12px 0 0 0}.metric:nth-child(2){border-radius:0 12px 0 0}.metric:nth-child(3){border-radius:0 0 0 12px}.metric:last-child{border-radius:0 0 12px 0}.results-layout{grid-template-columns:1fr}.map-column{position:static;order:-1}.map{height:340px}.location-list{grid-template-columns:repeat(2,minmax(0,1fr))}.spot-card{grid-template-columns:66px minmax(0,1fr) 14px;padding:12px;gap:10px}.score-box{min-height:78px}.score-box strong{font-size:27px}.spot-title{font-size:15px}.section-heading{flex-wrap:wrap}}
@media(max-width:720px){.shell{padding-inline:16px}.topbar-inner{min-height:65px}.brand-icon{width:40px;height:40px}.brand-text{font-size:13px}.brand-text small{font-size:8px}.top-nav{display:none}.header-link{padding:8px 10px;font-size:10px}.hero{display:flex;flex-direction:column;gap:18px;padding-top:25px;padding-bottom:30px}.hero-text{padding:10px 0}.hero-text>p{font-size:14px}.hero-art{min-height:230px}.art-rings{width:160px;height:160px}.art-rings span:nth-child(2){inset:25px}.art-rings span:nth-child(3){inset:53px}.art-float{top:32%;left:15px;font-size:9px;padding:10px}.art-float.two{right:10px;top:70%}.art-topline,.art-bottom{left:15px;right:15px;font-size:8px}.art-topline span{font-size:7px}.metrics{gap:8px;margin-bottom:58px}.metric,.metric:first-child,.metric:nth-child(2),.metric:nth-child(3),.metric:last-child{border-radius:9px;min-height:85px;padding:12px;gap:9px}.metric-symbol{width:35px;height:35px;font-size:19px}.metric strong{font-size:21px}.metric-live strong{font-size:13px}.metric span:last-child{font-size:10px}.section-heading h2,.about h2{font-size:36px}.score-legend{gap:12px}.filters-fields{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.location-list{grid-template-columns:1fr}.map{height:300px}.map-foot{flex-direction:column}.about{padding-top:70px;padding-bottom:40px}.about-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.drawer-inner{padding:22px 18px 35px}.drawer-title{font-size:32px}}
