:root{color-scheme:dark;--bg:#65758e;--panel:rgba(77,89,109,0.82);--panel-border:rgba(255,255,255,0.1);--text:#f7fbff;--muted:rgba(247,251,255,0.7);--accent:#f5cd7a;--scene-glow:rgba(253,187,95,0.3)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:radial-gradient(circle at top,rgba(255,255,255,.16),transparent 20%),linear-gradient(180deg,#718099,#61718b 50%,#586884)}a{color:inherit}.page-shell{min-height:100vh;padding:32px}.website-shell{width:min(100%,1240px);margin:0 auto;padding:0;position:relative;background:none;border:none;box-shadow:none;border-radius:0;overflow:visible}.website-shell:before{display:none}.website-shell>*{position:relative;z-index:1}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px}.site-mark{display:inline-flex;align-items:center;gap:12px;font-weight:700}.site-mark__droplet{font-size:1.3rem;line-height:1;filter:drop-shadow(0 0 8px rgba(120,200,255,.6))}.site-nav{display:inline-flex;color:var(--muted);font-size:.94rem}.hero-stage,.site-nav{align-items:center;gap:24px}.hero-stage{display:flex;flex-direction:column;width:100%}.hero-copy{text-align:center;padding:0;background:transparent;border:none;box-shadow:none;max-width:720px}.hero-kicker,.section-kicker{margin:0;font-size:.78rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.hero-title{margin:12px 0 0;font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.15;font-weight:700}.hero-stat-row{display:grid;grid-template-columns:repeat(3,minmax(160px,220px));grid-gap:14px;gap:14px;width:100%;max-width:720px;justify-content:center}.hero-stat{padding:16px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);text-align:center}.hero-stat--primary{background:rgba(255,255,255,.12)}.hero-stat__label{display:block;margin-bottom:8px;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.hero-stat strong{display:block;font-size:1.04rem;line-height:1.35}.hero-scene-panel{width:100%;max-width:880px;padding:16px;border-radius:28px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.scene-shell{margin-top:0;min-height:540px;position:relative;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.1),transparent 30%),linear-gradient(180deg,#7a8caa,#5d6e88 60%,#4d5d77)}.scene-sun{position:absolute;width:110px;height:110px;top:56px;right:70px;border-radius:50%;background:radial-gradient(circle,#fff4cc 0,#ffd97a 50%,rgba(255,217,122,0) 75%);filter:blur(1px);box-shadow:0 0 80px rgba(255,217,122,.55)}.scene-cloud{position:absolute;background:linear-gradient(180deg,#ffffff,#d9e1ec);border-radius:999px;filter:drop-shadow(0 12px 18px rgba(20,24,34,.18));animation:drift 6s ease-in-out infinite alternate}.scene-cloud:after,.scene-cloud:before{content:"";position:absolute;background:inherit;border-radius:inherit}.scene-cloud--front{width:180px;height:56px;top:130px;left:50px}.scene-cloud--front:before{width:90px;height:90px;left:18px;top:-42px}.scene-cloud--front:after{width:70px;height:70px;right:24px;top:-28px}.scene-cloud--back{width:150px;height:48px;top:90px;right:30px;opacity:.85;animation-duration:8s}.scene-cloud--back:before{width:70px;height:70px;left:14px;top:-32px}.scene-cloud--back:after{width:60px;height:60px;right:20px;top:-24px}.scene-stage{position:absolute;inset:0}.scene-base{bottom:0;transform:translateX(-50%);width:420px}.scene-base,.scene-base__top{position:absolute;left:50%;height:90px}.scene-base__top{top:0;width:360px;transform:translateX(-50%) perspective(800px) rotateX(60deg);background:linear-gradient(135deg,#3a4663,#2d3852);border-radius:14px;box-shadow:inset 0 2px 0 rgba(255,255,255,.1)}.scene-base__side{position:absolute;bottom:-8px;width:180px;height:28px;background:linear-gradient(180deg,#8a6d52,#6b5340)}.scene-base__side--left{left:50px;transform:skewX(-30deg);border-bottom-left-radius:6px}.scene-base__side--right{right:50px;transform:skewX(30deg);border-bottom-right-radius:6px}.scene-city{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:380px;height:280px;z-index:1}.city-3d-canvas{position:absolute;inset:0;z-index:1;cursor:-webkit-grab;cursor:grab}.city-3d-canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.city-3d-canvas canvas{width:100%!important;height:100%!important;display:block;outline:none}.building,.building__face{position:absolute;bottom:0}.building__face--front{background:linear-gradient(180deg,#d9b078,#b3895a);border-radius:4px 4px 0 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}.building__face--side{background:linear-gradient(180deg,#8a6a48,#6b5236);transform-origin:left bottom;transform:skewY(-30deg);border-radius:4px 4px 0 0}.building__roof{position:absolute;top:-10px;left:0;width:100%;height:14px;background:linear-gradient(180deg,#4a5b7a,#2d3a55);border-radius:4px 4px 0 0;box-shadow:0 2px 0 rgba(0,0,0,.15)}.building__roof--spire{top:-56px;left:50%;width:24px;height:56px;transform:translateX(-50%)}.building__roof--peak,.building__roof--spire{background:linear-gradient(180deg,#4a5b7a,#2d3a55);-webkit-clip-path:polygon(50% 0,100% 100%,0 100%);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.building__roof--peak{top:-22px;left:0;width:100%;height:26px}.building__windows{position:absolute;top:12px;left:8px;right:8px;bottom:8px;background-image:linear-gradient(rgba(255,220,140,.85) 50%,transparent 0),linear-gradient(90deg,rgba(255,220,140,.85) 50%,transparent 0);background-size:12px 14px,12px 14px;background-position:0 0;opacity:.85;mix-blend-mode:screen}.building__windows--grid{background-size:14px 16px,14px 16px}.building__windows--small{background-size:10px 12px,10px 12px}.building__windows--tower{top:80px;background-size:8px 10px,8px 10px}.building__windows--arch{background-size:12px 18px,12px 18px}.building__clock{position:absolute;top:30px;left:50%;width:28px;height:28px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#fff4cc 0,#e0c896 100%);box-shadow:0 0 14px rgba(255,217,122,.5),inset 0 0 0 2px #2d3a55}.building--tower{left:60px;bottom:0;z-index:3}.building--tower,.building--tower .building__face--front{width:70px;height:200px}.building--tower .building__face--side{width:22px;height:200px;left:70px}.building--main{left:130px;bottom:0;z-index:2}.building--main,.building--main .building__face--front{width:130px;height:130px}.building--main .building__face--side{width:22px;height:130px;left:130px}.building--short{left:20px;bottom:0;z-index:4}.building--short,.building--short .building__face--front{width:50px;height:80px}.building--short .building__face--side{width:18px;height:80px;left:50px}.building--bridge{right:20px;bottom:0;z-index:2}.building--bridge,.building--bridge .building__face--front{width:70px;height:150px}.building--bridge .building__face--side{width:22px;height:150px;left:70px}.scene-lamp{position:absolute;bottom:18px;width:4px;height:36px;background:#2d3a55;border-radius:2px;z-index:2}.scene-lamp:before{content:"";position:absolute;top:-6px;left:-4px;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle,#fff4cc 0,#ffd97a 60%,rgba(255,217,122,0) 100%);box-shadow:0 0 14px rgba(255,217,122,.7)}.scene-lamp--left{left:130px}.scene-lamp--right{right:140px}.timeline-controls{display:flex;align-items:center;gap:14px;width:100%;max-width:880px;padding:0 16px}.timeline-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:var(--text);font-size:1.2rem;cursor:pointer;transition:background .2s,transform .1s;flex-shrink:0}.timeline-btn:hover:not(:disabled){background:rgba(255,255,255,.18)}.timeline-btn:active:not(:disabled){transform:scale(.94)}.timeline-btn:disabled{opacity:.35;cursor:not-allowed}.timeline-slider{flex:1 1;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.14);border-radius:999px;outline:none;cursor:pointer}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff1ca 0,var(--accent) 100%);box-shadow:0 0 14px rgba(255,217,140,.55),0 2px 6px rgba(0,0,0,.25);cursor:-webkit-grab;cursor:grab;border:none}.timeline-slider::-webkit-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.timeline-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff1ca 0,var(--accent) 100%);box-shadow:0 0 14px rgba(255,217,140,.55),0 2px 6px rgba(0,0,0,.25);cursor:grab;border:none}.timeline-readout{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:880px;padding:0 16px;font-size:.78rem;color:var(--muted);letter-spacing:.06em}.timeline-readout__current{color:var(--text);font-weight:700;font-size:.92rem;letter-spacing:.04em}.metrics-panel{width:100%;max-width:720px;padding:20px 24px;border-radius:26px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;text-align:center}.metrics-grid strong{display:block;font-size:1.04rem}.metrics-grid span{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}@keyframes drift{0%{transform:translateX(0)}to{transform:translateX(10px)}}@media (max-width:1080px){.scene-shell{min-height:460px}}@media (max-width:720px){.page-shell{padding:16px}.site-header{flex-direction:column;align-items:flex-start}.site-nav{gap:16px;flex-wrap:wrap}.timeline-controls,.timeline-readout{max-width:100%}.hero-stat-row,.metrics-grid{grid-template-columns:1fr}.hero-title{font-size:clamp(1.3rem,5vw,1.8rem)}.scene-shell{min-height:400px}}.scene-shell--sun{background:radial-gradient(circle at 72% 18%,rgba(255,243,188,.5),transparent 35%),linear-gradient(180deg,#a8c4e8,#7ba3d4 50%,#5d7fa8)}.scene-shell--drought{background:radial-gradient(circle at 72% 14%,rgba(255,180,60,.6),transparent 38%),linear-gradient(180deg,#c8955a,#a87040 50%,#7a5030)}.scene-shell--clear{background:radial-gradient(circle at 68% 22%,rgba(220,230,255,.25),transparent 28%),linear-gradient(180deg,#3a4a6a,#2d3a55 60%,#1e2840)}.scene-shell--overcast{background:linear-gradient(180deg,#5a6070,#454d5c 50%,#353d4c)}.scene-shell--rain{background:linear-gradient(180deg,#3a4255,#2d3448 50%,#1e2438)}.scene-shell--snow{background:linear-gradient(180deg,#6a7585,#8090a0 30%,#a0b0c0)}.scene-shell--hail{background:linear-gradient(180deg,#2a3040,#1e2535 50%,#141a28)}.scene-shell--flood{background:linear-gradient(180deg,#2a3a55,#1e2d45 50%,#0e1a30)}.scene-moon{position:absolute;width:88px;height:88px;top:48px;right:64px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#f0ecd8 0,#d4cdb0 55%,#b8b098 100%);box-shadow:0 0 40px rgba(220,215,180,.45),0 0 80px rgba(200,195,160,.2)}.scene-shell--hail .scene-moon,.scene-shell--overcast .scene-moon,.scene-shell--rain .scene-moon{opacity:.35;filter:blur(2px)}.scene-shell--flood .scene-cloud,.scene-shell--hail .scene-cloud,.scene-shell--overcast .scene-cloud,.scene-shell--rain .scene-cloud{background:linear-gradient(180deg,#6a7080,#505868)}.scene-shell--snow .scene-cloud{background:linear-gradient(180deg,#c8d4e0,#a8b8c8)}.scene-cloud--extra{width:220px;height:64px;top:168px;left:50%;transform:translateX(-20%);animation-duration:9s;animation-direction:alternate-reverse}.scene-cloud--extra:before{width:100px;height:100px;left:24px;top:-48px}.scene-cloud--extra:after,.scene-cloud--extra:before{content:"";position:absolute;background:inherit;border-radius:inherit}.scene-cloud--extra:after{width:80px;height:80px;right:28px;top:-36px}.scene-shell--drought .scene-sun{width:130px;height:130px;background:radial-gradient(circle,#fff0a0 0,#ffb830 50%,rgba(255,184,48,0) 75%);box-shadow:0 0 120px rgba(255,184,48,.7);filter:blur(2px)}.scene-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.particle{position:absolute;top:-10px;border-radius:999px;animation:fall linear infinite}.particle--rain{width:2px;height:18px;background:linear-gradient(180deg,rgba(180,210,255,.9),rgba(140,180,255,.3));transform:skewX(-12deg)}.particle--snow{width:6px;height:6px;background:rgba(255,255,255,.92);border-radius:50%;filter:blur(.5px);animation-name:fall-snow}.particle--hail{width:5px;height:5px;background:rgba(200,220,255,.95);border-radius:50%;box-shadow:0 0 3px rgba(200,220,255,.5);animation-name:fall-hail}@keyframes fall{0%{transform:translateY(-10px) skewX(-12deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(560px) skewX(-12deg);opacity:0}}@keyframes fall-snow{0%{transform:translateY(-10px) translateX(0);opacity:0}10%{opacity:1}50%{transform:translateY(280px) translateX(14px)}90%{opacity:1}to{transform:translateY(560px) translateX(-8px);opacity:0}}@keyframes fall-hail{0%{transform:translateY(-10px);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translateY(560px);opacity:0}}.scene-flood{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:380px;height:160px;background:linear-gradient(180deg,rgba(40,100,200,.45),rgba(20,65,160,.8) 45%,rgba(10,40,120,.98));border-radius:40% 40% 0 0/24px 24px 0 0;animation:flood-rise 3s ease-in-out infinite;z-index:3;overflow:hidden}.scene-flood:before{top:-14px;left:-10%;width:120%;height:30px;background:rgba(80,160,255,.4);animation:flood-surface 2.8s ease-in-out infinite}.scene-flood:after,.scene-flood:before{content:"";position:absolute;border-radius:50%}.scene-flood:after{top:-6px;left:5%;width:110%;height:18px;background:rgba(140,200,255,.28);animation:flood-surface 2.8s ease-in-out infinite reverse}@keyframes flood-rise{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}@keyframes flood-surface{0%,to{transform:translateX(0)}50%{transform:translateX(12px)}}@keyframes flood-wave{0%,to{transform:translateY(0) scaleX(1)}50%{transform:translateY(-6px) scaleX(1.01)}}@keyframes flood-ripple{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.04)}}.scene-shell--flood .building__face--front,.scene-shell--rain .building__face--front{filter:brightness(.75) saturate(.8)}.scene-shell--drought .building__face--front{filter:brightness(1.1) sepia(.3)}.scene-shell--snow .building__face--front{filter:brightness(.9) saturate(.6)}.scene-shell--hail .building__face--front{filter:brightness(.6) saturate(.7)}.scene-shell--flood .scene-lamp:before,.scene-shell--hail .scene-lamp:before,.scene-shell--rain .scene-lamp:before{box-shadow:0 0 22px rgba(255,217,122,.9);background:radial-gradient(circle,#fff8e0 0,#ffd97a 50%,rgba(255,217,122,0) 100%)}.scene-shell--snow .scene-lamp:before{box-shadow:0 0 28px rgba(220,240,255,.8);background:radial-gradient(circle,#e8f4ff 0,#b8d8ff 50%,rgba(184,216,255,0) 100%)}.reservoir-gauge{position:absolute;top:50%;right:22px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:6;pointer-events:none}.reservoir-gauge__label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:700}.reservoir-gauge__tank{position:relative;width:28px;height:110px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.35);border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.3)}.reservoir-gauge__fill{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(180deg,#6ec3ff,#2980d8 70%,#1a5da8);border-radius:0 0 4px 4px;transition:height .4s ease;box-shadow:inset 0 2px 6px rgba(255,255,255,.25)}.reservoir-gauge__value{font-size:.85rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.site-credits{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.85rem;color:var(--muted)}.site-credits a{color:var(--text);text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .2s,color .2s}.site-credits a:hover{color:var(--accent);border-color:var(--accent)}