:root {
  --navy-980:#020b13;
  --navy-950:#02111f;
  --navy-900:#031b2d;
  --navy-850:#06243a;
  --navy-800:#0a3048;
  --cyan-600:#079dd6;
  --cyan-500:#25b5e5;
  --cyan-400:#44c8ef;
  --cyan-200:#bfefff;
  --green-600:#168f45;
  --green-500:#21a652;
  --green-100:#e7f7ed;
  --ink:#0c2132;
  --muted:#5a6d7b;
  --paper:#f5f8fa;
  --white:#fff;
  --line:rgba(9,39,58,.12);
  --dark-line:rgba(255,255,255,.12);
  --shadow:0 24px 60px rgba(0,22,38,.18);
  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:16px;
  --site-width:1420px;
  --header-height:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.58;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.site-shell{width:min(calc(100% - 40px),var(--site-width));margin-inline:auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:9999;left:16px;top:12px;padding:10px 14px;background:#fff;color:#000;transform:translateY(-150%);border-radius:8px}
.skip-link:focus{transform:none}
.ui-icon{width:34px;height:34px;display:block}

.site-header{height:var(--header-height);position:sticky;top:0;z-index:1000;background:rgba(2,17,31,.97);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.header-inner{height:100%;display:flex;align-items:center;gap:28px}
.site-brand{display:inline-flex;flex-direction:column;align-items:flex-start;min-width:190px;color:#fff}
.site-brand img{width:184px;height:auto}
.site-brand span{text-transform:uppercase;letter-spacing:.42em;font-size:10px;font-weight:800;margin:2px 0 0 35px}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:25px;flex:1;color:#fff;font-size:14px;font-weight:700}
.primary-nav>a{height:var(--header-height);display:inline-flex;align-items:center;position:relative;white-space:nowrap}
.primary-nav>a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:3px;background:var(--cyan-500);transition:.25s}
.primary-nav>a:hover::after,.primary-nav>a.is-active::after{left:0;right:0}
.primary-nav>a:hover,.primary-nav>a.is-active{color:var(--cyan-400)}
.language-switch{display:flex;gap:5px;align-items:center;font-size:12px;color:#95a8b7}
.language-switch a.is-current{color:#fff;font-weight:900}
.header-cta{background:linear-gradient(135deg,var(--cyan-600),var(--cyan-500));color:#fff;padding:13px 17px;border-radius:11px;font-size:12px;font-weight:900;text-transform:uppercase;white-space:nowrap;box-shadow:0 8px 24px rgba(37,181,229,.25)}
.header-cta span{margin-left:6px}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;width:44px;height:44px;padding:10px;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:5px 0}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:11px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#fff;background:linear-gradient(135deg,var(--cyan-600),var(--cyan-500));box-shadow:0 12px 30px rgba(15,171,218,.22)}
.button-green{color:#fff;background:linear-gradient(135deg,var(--green-600),#31b961);box-shadow:0 12px 30px rgba(28,158,77,.2)}
.button-ghost{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.34);backdrop-filter:blur(8px)}
.dark-ghost{color:var(--ink);border-color:rgba(9,39,58,.2);background:#fff}
.text-link{font-weight:900;color:var(--cyan-600)}

.home-hero{position:relative;isolation:isolate;min-height:550px;color:#fff;background:var(--navy-900);overflow:hidden;padding:64px 0 30px}
.hero-background{position:absolute;inset:0;z-index:-2;background-image:url('../img/hero-lake.jpg');background-size:cover;background-position:center}
.home-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(1,18,31,.89) 0%,rgba(2,26,44,.7) 42%,rgba(2,19,32,.38) 72%,rgba(2,17,31,.55) 100%)}
.home-hero::after{content:"";position:absolute;inset:auto 0 0;height:45%;z-index:-1;background:linear-gradient(transparent,rgba(1,18,31,.88))}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.95fr);gap:30px;align-items:center;min-height:340px}
.hero-copy{max-width:650px;padding-top:4px}
.hero-copy h1{font-size:clamp(44px,5vw,74px);line-height:1.01;letter-spacing:-.045em;margin:0 0 22px;text-shadow:0 5px 26px rgba(0,0,0,.4)}
.hero-copy h1 span{display:block;color:var(--cyan-400)}
.hero-lead{font-size:18px;max-width:620px;color:#e9f4fa;margin:0}
.hero-devices{height:345px;position:relative;align-self:end}
.laptop-mockup{position:absolute;right:0;bottom:22px;width:600px;filter:drop-shadow(0 24px 35px rgba(0,0,0,.45))}
.laptop-screen{height:312px;background:#07131d;border:8px solid #c7ced2;border-bottom-width:13px;border-radius:18px 18px 7px 7px;overflow:hidden;position:relative}
.laptop-screen img{width:100%;height:100%;object-fit:cover;object-position:51% 43%;transform:scale(1.02)}
.laptop-base{height:16px;background:linear-gradient(#d8dde0,#a7afb5);border-radius:0 0 48% 48%;margin:-2px -30px 0}
.phone-mockup{position:absolute;left:8px;bottom:8px;width:183px;height:352px;padding:9px;background:#080d12;border:4px solid #b7bec2;border-radius:31px;z-index:3;filter:drop-shadow(0 20px 28px rgba(0,0,0,.55));overflow:hidden}
.phone-mockup img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.phone-speaker{position:absolute;z-index:4;top:10px;left:50%;transform:translateX(-50%);width:52px;height:5px;background:#1e252a;border-radius:4px}
.product-shortcuts{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:20px}
.product-shortcuts a{min-height:72px;display:flex;align-items:center;gap:13px;padding:14px 15px;border:1px solid rgba(255,255,255,.12);background:rgba(10,50,73,.66);backdrop-filter:blur(14px);border-radius:14px;transition:.25s}
.product-shortcuts a:hover,.product-shortcuts a.is-featured{background:linear-gradient(135deg,rgba(30,142,112,.65),rgba(17,93,119,.76));border-color:rgba(121,244,186,.35);transform:translateY(-3px)}
.product-shortcuts .ui-icon{width:34px;height:34px;color:#9ae5ff;flex:none}
.product-shortcuts a.is-featured .ui-icon{color:#8ff0ba}
.product-shortcuts span:last-child{display:flex;flex-direction:column;min-width:0}
.product-shortcuts strong{font-size:13px;line-height:1.2;text-transform:uppercase}
.product-shortcuts small{font-size:11px;color:#d0e2eb;margin-top:3px}

.value-section{background:#fff;padding:28px 0}
.value-layout{display:grid;grid-template-columns:1.9fr .9fr;gap:28px;align-items:stretch}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.value-card{padding:13px 5px}
.value-icon{color:#087ed0;display:block;margin-bottom:15px}
.value-icon .ui-icon{width:42px;height:42px}
.value-card h2{font-size:15px;text-transform:uppercase;margin:0 0 10px}
.value-card p{font-size:13px;color:#364b5b;margin:0}
.featured-lake-card{display:grid;grid-template-columns:1.05fr .95fr;background:linear-gradient(145deg,#fff,#f6f9fb);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(0,24,42,.08);overflow:hidden;min-height:205px}
.featured-copy{padding:23px 0 22px 24px;position:relative;z-index:2}
.featured-label{color:var(--green-600);font-size:11px;font-weight:900;text-transform:uppercase;margin:0 0 4px}
.featured-copy h2{font-size:22px;margin:0 0 8px;text-transform:uppercase}
.featured-copy p{font-size:12px;color:#435866;margin:0 0 15px}
.featured-lake-card img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.06)}
.featured-lake-card .button{min-height:38px;padding:8px 13px;font-size:11px}

.impact-strip{background:linear-gradient(135deg,#021725,#042942);color:#fff;padding:32px 0;border-top:1px solid rgba(255,255,255,.06)}
.impact-layout{display:grid;grid-template-columns:2fr repeat(4,1fr);align-items:center}
.impact-intro{padding-right:34px}
.impact-kicker{color:var(--cyan-400);font-weight:900;text-transform:uppercase;font-size:15px;margin:0 0 6px}
.impact-intro p:last-child{color:#d8e7ee;font-size:13px;margin:0}
.impact-stat{text-align:center;padding:10px 24px;border-left:1px solid rgba(255,255,255,.08)}
.impact-stat strong{display:block;color:var(--cyan-400);font-size:30px;line-height:1.1}
.impact-stat span{font-size:12px;color:#dbe9f0}
.impact-origin{position:relative}
.impact-origin::after{content:"⌖";position:absolute;right:4px;top:-12px;font-size:52px;color:rgba(37,181,229,.18)}

.page-hero{padding:66px 0 58px;background:linear-gradient(135deg,#031b2d,#0a3853);color:#fff;position:relative;overflow:hidden}
.contour-hero::after,.contour-dark::after{content:"";position:absolute;inset:-30%;pointer-events:none;opacity:.18;background:repeating-radial-gradient(ellipse at 80% 20%,transparent 0 24px,rgba(102,215,255,.55) 25px 27px,transparent 28px 48px);transform:rotate(-7deg)}
.page-hero .site-shell{position:relative;z-index:1}
.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:12px;color:#b9d4df;margin-bottom:22px}
.breadcrumbs a:hover{color:#fff}
.page-title{font-size:clamp(42px,5vw,70px);line-height:1;margin:0 0 20px;letter-spacing:-.035em}
.page-lead{font-size:18px;max-width:940px;color:#ddecf2;margin:0}
.eyebrow{font-size:12px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.13em;color:var(--cyan-600);margin:0 0 10px}
.content-section{padding:70px 0;position:relative}
.content-section.white{background:#fff}
.content-section.dark{background:linear-gradient(145deg,#031b2d,#062a42);color:#fff;overflow:hidden}
.content-section.dark>.site-shell{position:relative;z-index:1}
.section-heading{max-width:880px;margin-bottom:34px}
.section-heading h2{font-size:clamp(30px,3vw,46px);line-height:1.12;letter-spacing:-.03em;margin:0 0 12px}
.section-heading p:last-child{color:var(--muted);font-size:16px;margin:0}
.dark .section-heading p:last-child{color:#bfd2dc}
.compact-heading{margin-bottom:24px}

.lake-map-section{background:linear-gradient(#f6f9fb,#edf3f6)}
.lake-map-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.lake-map-heading h2{font-size:34px;margin:0}
.map-legend{display:flex;gap:16px;font-size:12px;color:var(--muted)}
.map-legend span{display:flex;align-items:center;gap:7px}
.legend-dot{width:11px;height:11px;border-radius:50%;background:var(--cyan-500);box-shadow:0 0 0 4px rgba(37,181,229,.16)}
.legend-dot.is-ready{background:var(--green-500);box-shadow:0 0 0 4px rgba(33,166,82,.16)}
.lake-map-frame{height:680px;border-radius:24px;overflow:hidden;border:1px solid rgba(5,50,72,.16);box-shadow:var(--shadow);position:relative;background:#dce9ef}
.lakes-map{height:100%;width:100%;z-index:1}
.map-status{position:absolute;z-index:2;inset:0;display:grid;place-items:center;background:#e8f0f4;color:#526b79;font-weight:800}
.map-status.is-hidden{display:none}
.lake-map-frame .leaflet-control-zoom a{background:#06263a;color:#fff;border-color:rgba(255,255,255,.12)}
.lake-map-frame .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.82)}
.lake-marker{width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--cyan-500);border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,30,50,.42)}
.lake-marker::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;left:5.5px;top:5.5px}
.lake-marker.is-ready{background:var(--green-500);width:27px;height:27px}
.lake-popup h3{margin:0 0 4px;font-size:16px}.lake-popup p{margin:0 0 9px;font-size:12px;color:#566d78}.lake-popup a{display:inline-block;background:var(--green-500);color:#fff;font-size:11px;font-weight:900;padding:7px 10px;border-radius:7px;text-transform:uppercase}.lake-popup .pending{font-size:11px;font-weight:800;color:#6b7d86}
.map-explainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.map-explainer-grid article{background:#fff;padding:25px;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 28px rgba(0,34,54,.06)}
.map-explainer-grid .ui-icon{color:var(--cyan-600);width:38px;height:38px;margin-bottom:12px}
.map-explainer-grid h3{margin:0 0 8px}.map-explainer-grid p{margin:0;color:var(--muted);font-size:14px}
.compact-lake-list{margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px}
.compact-lake-list summary{cursor:pointer;font-weight:900;color:#23465a}
.compact-lake-names{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.compact-lake-names span,.compact-lake-names a{padding:6px 9px;border-radius:7px;background:#eef4f7;font-size:12px;color:#4a6573}.compact-lake-names a{background:var(--green-100);color:var(--green-600);font-weight:900}

.education-intro{background:#f4f8fa}
.education-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.education-feature{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 15px 35px rgba(0,28,47,.07)}
.education-feature.is-wide{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr;gap:26px}
.feature-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#e3f7ff,#e8f8ee);color:var(--cyan-600)}
.feature-icon .ui-icon{width:45px;height:45px}
.education-feature h2{font-size:28px;margin:0 0 12px}.education-feature p{color:#49616e}.education-feature .button{margin-top:8px}
.learning-shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.learning-shelf article{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);padding:24px;border-radius:18px;backdrop-filter:blur(8px)}
.learning-shelf strong{color:var(--cyan-400);font-size:30px}.learning-shelf h3{margin:8px 0}.learning-shelf p{color:#c3d7e0;font-size:14px;margin:0}

.lake-hero{background:linear-gradient(135deg,#031b2d,#092f47);color:#fff;padding:55px 0 48px;overflow:hidden;position:relative}
.lake-hero::after{content:"";position:absolute;right:-8%;bottom:-34%;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(37,181,229,.18),transparent 68%)}
.lake-hero-layout{display:grid;grid-template-columns:1.14fr .86fr;gap:48px;align-items:center;position:relative;z-index:1}
.lake-hero-copy h1{font-size:clamp(54px,6vw,86px);line-height:.95;margin:0 0 17px;letter-spacing:-.045em}
.lake-hero-copy>p{max-width:790px;color:#d5e6ed}.lake-hero-lead{font-size:20px;color:#fff!important}
.lake-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.lake-hero-illustration{margin:0;background:#f4f1e8;padding:12px;border-radius:22px;box-shadow:0 25px 55px rgba(0,0,0,.3);transform:rotate(1deg)}
.lake-hero-illustration img{aspect-ratio:16/10;object-fit:cover;border-radius:14px;filter:sepia(.08)}
.lake-hero-illustration figcaption{color:#60707a;font-size:11px;padding:8px 4px 2px;text-align:center}
.lake-facts-section{background:#fff;padding:24px 0;border-bottom:1px solid var(--line)}
.lake-facts-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}
.lake-facts-grid article{background:#f4f8fa;border:1px solid var(--line);border-radius:14px;padding:15px 16px}.lake-facts-grid span{display:block;color:#607682;font-size:11px;text-transform:uppercase;font-weight:800}.lake-facts-grid strong{display:block;font-size:20px;margin-top:3px}
.lake-about-section{padding-top:48px}
.lake-story-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.72fr);gap:30px}
.lake-story-main{background:#fff;border:1px solid var(--line);padding:32px;border-radius:22px;box-shadow:0 15px 40px rgba(0,32,52,.06)}
.lake-story-main>p{font-size:16px;color:#344f5e}
.important-fact{display:flex;align-items:center;gap:20px;background:linear-gradient(135deg,#e9f9ef,#e9f8fc);border-left:5px solid var(--green-500);padding:18px 21px;border-radius:12px;margin:25px 0}.important-fact strong{font-size:44px;color:var(--green-600);line-height:1}.important-fact span{font-size:18px;font-weight:900}
.story-details details{border-top:1px solid var(--line);padding:13px 0}.story-details summary{font-weight:900;cursor:pointer;color:#123c52}.story-details p{color:#526b78;margin:10px 0 3px}
.source-notes{background:#e9f6fb;border:1px solid #c8e6f2;border-radius:20px;padding:25px;align-self:start}.source-notes h3{margin-top:0}.source-notes ul{padding-left:18px}.source-notes li{margin:8px 0;font-size:13px}.source-notes a{color:#0878a7;text-decoration:underline}.source-notes p{font-size:12px;color:#55717f}
.fish-section{padding-top:0}.fish-card{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:36px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 16px 42px rgba(0,32,52,.08)}
.fish-visual{background:linear-gradient(135deg,#eef7ef,#e7f4f9);border-radius:18px;padding:18px;text-align:center}.fish-visual img{width:100%;height:auto}.fish-visual small{color:#667b86}.fish-card h2{font-size:34px;margin:0 0 12px}.fish-card p{color:#49616e}
.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.visual-grid.two-up{grid-template-columns:repeat(2,1fr)}
.visual-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 35px rgba(0,30,50,.07)}.visual-card h3{margin:0 0 14px}.visual-card img{width:100%;height:460px;object-fit:contain;background:#fff;border-radius:12px}.visual-card p{color:var(--muted);font-size:14px}
.data-table-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:22px;margin-top:24px}.table-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:23px;box-shadow:0 12px 35px rgba(0,30,50,.06)}.table-card h3{font-size:18px;margin:0 0 16px}.table-scroll{overflow:auto}.table-card table{border-collapse:collapse;width:100%;font-size:13px}.table-card th,.table-card td{padding:9px 10px;border-bottom:1px solid #e5edf1;text-align:left}.table-card th{color:#315064}.table-card thead th{background:#eaf4f8}.table-insight{background:#edf8f1;border-radius:10px;padding:12px;color:#38604b;font-size:13px}
.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.learning-grid.six-up{grid-template-columns:repeat(3,1fr)}.learning-card{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:23px}.learning-card>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(68,200,239,.14);color:var(--cyan-400);font-weight:900}.learning-card h3{margin:12px 0 8px}.learning-card p{color:#c6d9e2;font-size:14px;margin:0}
.live-layer-card{display:grid;grid-template-columns:1.5fr .85fr;gap:34px;align-items:center;background:linear-gradient(135deg,#eef9fc,#f0faf3);border:1px solid #cce6e8;border-radius:26px;padding:38px}.live-layer-card h2{font-size:38px;margin:0 0 13px}.live-layer-card p{color:#3c5967}.live-layer-list{display:grid;gap:10px}.live-layer-list div{background:#fff;border:1px solid rgba(9,39,58,.1);border-radius:12px;padding:14px;font-weight:800;color:#315064}
.credits-section{background:#f1f5f7}.credit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.credit-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:27px}.credit-card h2{font-size:22px;margin-top:0}.credit-card p{color:#4c6471}.accent-credit{border-top:4px solid var(--cyan-500)}

.site-footer{background:#021321;color:#fff;border-top:1px solid rgba(255,255,255,.1);padding:24px 0 15px}.footer-top{display:flex;justify-content:center;align-items:center}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:35px;color:#bdced7;font-size:12px}.footer-nav a:hover{color:var(--cyan-400)}.footer-bottom{color:#79909e;font-size:11px;padding-top:16px;margin-top:16px;border-top:1px solid rgba(255,255,255,.08);text-align:center}

@media(max-width:1180px){
  .header-cta{display:none}.primary-nav{gap:17px;font-size:13px}.hero-layout{grid-template-columns:1fr 1fr}.laptop-mockup{width:520px}.phone-mockup{left:-6px}.product-shortcuts{grid-template-columns:repeat(3,1fr)}.value-layout{grid-template-columns:1fr}.value-grid{grid-template-columns:repeat(4,1fr)}.impact-layout{grid-template-columns:1.5fr repeat(2,1fr)}.impact-stat:nth-last-child(-n+2){border-top:1px solid rgba(255,255,255,.08);margin-top:15px;padding-top:20px}.lake-facts-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  :root{--header-height:68px}.site-shell{width:min(calc(100% - 28px),var(--site-width))}.menu-toggle{display:block}.primary-nav{position:fixed;inset:var(--header-height) 0 auto;background:#031b2d;padding:20px 24px 28px;display:none;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - var(--header-height));overflow:auto}.primary-nav.is-open{display:flex}.primary-nav>a{height:48px;border-bottom:1px solid rgba(255,255,255,.08)}.primary-nav>a::after{display:none}.language-switch{padding-top:18px}.site-brand{min-width:auto}.site-brand img{width:160px}.hero-layout{grid-template-columns:1fr;min-height:auto}.home-hero{padding-top:48px}.hero-devices{height:330px}.laptop-mockup{width:85%;right:0}.phone-mockup{left:2%;width:160px;height:305px}.product-shortcuts{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:repeat(2,1fr)}.impact-layout{grid-template-columns:1fr 1fr}.impact-intro{grid-column:1/-1;margin-bottom:20px}.impact-stat{border-left:0;border-top:1px solid rgba(255,255,255,.08)}.lake-map-frame{height:590px}.map-explainer-grid{grid-template-columns:1fr}.education-feature-grid{grid-template-columns:1fr}.education-feature.is-wide{grid-column:auto;grid-template-columns:1fr}.learning-shelf{grid-template-columns:repeat(2,1fr)}.lake-hero-layout{grid-template-columns:1fr}.lake-story-grid{grid-template-columns:1fr}.fish-card{grid-template-columns:1fr}.visual-grid.two-up,.data-table-grid{grid-template-columns:1fr}.learning-grid.six-up{grid-template-columns:repeat(2,1fr)}.live-layer-card{grid-template-columns:1fr}.credit-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-nav{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:6px;text-align:center}.lake-map-heading{align-items:start;flex-direction:column}
}
@media(max-width:600px){
  .hero-copy h1{font-size:43px}.hero-lead{font-size:16px}.hero-devices{height:270px}.laptop-mockup{width:92%}.laptop-screen{height:230px;border-width:6px;border-bottom-width:10px}.phone-mockup{width:125px;height:240px;left:0}.product-shortcuts{grid-template-columns:1fr}.value-grid{grid-template-columns:1fr}.featured-lake-card{grid-template-columns:1fr}.featured-lake-card img{height:190px}.impact-layout{grid-template-columns:1fr}.impact-stat{padding:16px 5px}.page-hero{padding:48px 0}.page-title{font-size:43px}.page-lead{font-size:16px}.content-section{padding:48px 0}.lake-map-frame{height:520px;border-radius:16px}.map-legend{flex-direction:column;gap:6px}.lake-facts-grid{grid-template-columns:repeat(2,1fr)}.lake-hero-actions{flex-direction:column}.lake-hero-actions .button{width:100%}.lake-story-main{padding:22px}.important-fact{align-items:flex-start;flex-direction:column;gap:5px}.visual-card img{height:330px}.learning-shelf,.learning-grid.six-up{grid-template-columns:1fr}.live-layer-card{padding:25px}.live-layer-card h2{font-size:30px}.fish-card{padding:22px}.footer-nav{gap:14px}.footer-bottom{font-size:10px}
}

/* Viljandi support popup — additive only; the original approved Viljandi marker is preserved. */
.impact-origin{position:relative}
.impact-origin::after{content:"⌖";position:absolute;right:4px;top:-12px;font-size:52px;color:rgba(37,181,229,.18);transition:color .18s ease,text-shadow .18s ease,transform .18s ease}
.impact-origin>strong{transition:color .18s ease,text-shadow .18s ease}
.impact-origin-trigger{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  position:absolute;inset:0;z-index:3;width:100%;height:100%;
  margin:0;padding:0;border:0!important;background:transparent!important;
  color:transparent;font-size:0;cursor:pointer;border-radius:0;box-shadow:none!important;
}
.impact-origin:hover>strong{color:#fff;text-shadow:0 0 12px rgba(68,200,239,.72)}
.impact-origin:hover::after{color:var(--cyan-400);text-shadow:0 0 14px rgba(68,200,239,.82);transform:scale(1.08)}
.impact-origin-trigger:focus-visible{outline:2px solid var(--cyan-400);outline-offset:-4px}

.support-dialog{width:min(92vw,820px);max-height:86vh;padding:0;border:1px solid rgba(9,39,58,.12);border-radius:20px;background:#f7fafc;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.38);overflow:auto}
.support-dialog::backdrop{background:rgba(1,12,21,.76);backdrop-filter:blur(4px)}
.support-dialog-inner{position:relative;padding:36px 42px 34px;border-top:4px solid var(--cyan-500)}
.support-dialog-close{position:absolute;right:16px;top:14px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#021b2c;color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.support-dialog-close:hover{background:#073e5d}
.support-dialog-copy{max-width:none;margin:0;padding:0 48px 0 0}
.support-dialog-kicker{margin:0 0 8px;color:var(--cyan-600);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.support-dialog-copy h2{max-width:650px;margin:0 0 20px;font-size:32px;line-height:1.08}
.support-dialog-copy>p{max-width:690px;margin:0 0 15px;color:#49616e;font-size:15px;line-height:1.62}
.support-dialog-signature{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px;max-width:690px;margin-top:22px;padding:14px 16px;background:rgba(37,181,229,.07);border:1px solid rgba(37,181,229,.22);border-radius:12px}
.support-dialog-signature span{color:#59717d;font-size:12px}
.support-dialog-signature strong{font-size:15px;color:#17384a}
.support-dialog-note{max-width:690px!important;margin:17px 0 0!important;padding-top:14px;border-top:1px solid var(--line);font-size:11px!important;line-height:1.5!important;color:#71838c!important}
body.support-dialog-open{overflow:hidden}
@media(max-width:900px){.support-dialog{width:94vw;max-height:90vh}.support-dialog-inner{padding:31px 30px 29px}.support-dialog-copy{padding-right:40px}.support-dialog-copy h2{font-size:28px}}
@media(max-width:600px){.support-dialog{width:95vw;max-height:92vh;border-radius:16px}.support-dialog-inner{padding:26px 20px 23px}.support-dialog-copy{padding-right:30px}.support-dialog-copy h2{font-size:25px}.support-dialog-copy>p{font-size:14px}.support-dialog-signature{display:grid;gap:4px;padding:12px 13px}}
