:root{--bg-canvas:#1c1f24;--bg-surface:#292e34;--bg-surface-hover:#333a40;--text-primary:#e5e7eb;--text-muted:#bbc2c8;--accent-primary:#14b8a6;--accent-secondary:#99e5d4;--border-subtle:#465058;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(0,0,0,.25);--glow-accent:0 0 24px -4px rgba(20,184,166,.22);--glass-backdrop:blur(16px) saturate(180%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:17px/1.8 system-ui,"Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere;hyphens:auto}h1,h2,h3{font-weight:800;line-height:1.14;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(2.5rem,6vw,5rem);margin:.3em 0 .5em}h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 .8em}h3{font-size:1.35rem}p,ul,ol{margin:0 0 1.3em}a{color:var(--accent-secondary);text-underline-offset:.25em}a:hover{color:#fff}button,input,textarea,select{font:inherit}button,a,input,textarea,select{border-radius:0}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent-secondary);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}figcaption{font-size:.85rem;color:var(--text-muted);padding:.8rem 0}blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:4px solid var(--accent-primary);font-size:1.4rem;line-height:1.5;font-weight:650}blockquote cite{display:block;font-size:.9rem;font-weight:400;margin-top:1rem}small,.muted{color:var(--text-muted)}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.reading{width:min(100%,68ch);margin:0 auto}.skip{position:absolute;left:1rem;top:-100px;background:var(--bg-surface);padding:.6rem;z-index:20}.skip:focus{top:1rem}.site-header{position:relative;border-bottom:1px solid var(--border-subtle)}.brand-row{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;gap:1rem}.brand{display:flex;align-items:center;gap:12px;color:var(--text-primary);text-decoration:none;font-size:1.1rem;font-weight:800;letter-spacing:-.035em}.brand-mark{display:inline-block;width:22px;height:25px;border-left:5px solid var(--accent-primary);border-right:5px solid var(--accent-secondary);transform:skewY(-18deg)}.site-nav{display:flex;justify-content:center;gap:2.1rem;padding:10px 20px 20px}.site-nav a{font-size:.9rem;color:var(--text-primary);text-decoration:none;position:relative}.site-nav a:after,.text-action:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--accent-primary);transition:width .3s var(--ease-kinetic)}.site-nav a:hover:after,.site-nav a[aria-current=page]:after,.text-action:hover:after{width:100%}.menu-toggle{display:none;background:none;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:2rem;line-height:1;padding:.25rem .8rem}.eyebrow{color:var(--accent-secondary);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:750;margin-bottom:1.1rem}.hero{position:relative;padding:76px 0 92px;background:linear-gradient(125deg,#1c1f24,#293a37,#1c1f24);background-size:200% 200%;animation:gradientShift 12s ease infinite}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}.hero p{max-width:52ch}.lead{font-size:1.2rem;color:var(--text-muted);line-height:1.85}.primary-action{display:inline-block;padding:.8rem 1.3rem;background:var(--accent-primary);color:#10231f;text-decoration:none;font-weight:800;box-shadow:var(--shadow-elevation);transition:transform .35s var(--ease-kinetic),box-shadow .35s}.primary-action:hover{color:#10231f;transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}.text-action{position:relative;display:inline-block;background:none;border:0;padding:.2rem 0;color:var(--accent-secondary);text-decoration:none;font-weight:650}.section{padding:80px 0}.section-tone{position:relative;background:var(--bg-surface);clip-path:polygon(0 28px,100% 0,100% calc(100% - 28px),0 100%);padding:100px 0}.section-curve{background:radial-gradient(ellipse at 50% 0,#31433c 0,transparent 65%);padding:80px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.card{background:var(--bg-surface);padding:28px;box-shadow:var(--shadow-elevation);transition:transform .4s var(--ease-kinetic),box-shadow .4s,background .4s}.card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}.card h3{margin-top:.6rem}.card p:last-child{margin-bottom:0}.card-number{font-size:.8rem;letter-spacing:.15em;color:var(--accent-secondary)}.wide-break{margin:3rem 0}.image-banner{aspect-ratio:16/9;background:var(--bg-surface)}.image-grid{aspect-ratio:4/3;background:var(--bg-surface)}.image-thumb{aspect-ratio:1/1;width:100px;flex-shrink:0}.split-card{display:grid;grid-template-columns:1fr 1fr;padding:0}.split-card .card-copy{padding:30px}.split-card img{min-height:260px}.compact-card{display:flex;gap:24px;align-items:center}.feature{position:relative;min-height:350px;display:flex;align-items:end;background:var(--bg-surface)}.feature img{position:absolute;inset:0}.feature-copy{position:relative;background:rgba(28,31,36,.9);backdrop-filter:var(--glass-backdrop);padding:28px;margin:24px;max-width:65ch}.comparison{border-top:1px solid var(--border-subtle);margin:2rem 0}.comparison-row{display:grid;grid-template-columns:130px 1fr 1fr;gap:22px;padding:23px 0;border-bottom:1px solid var(--border-subtle)}.comparison-row h3{margin:0}.comparison-row p{margin:0;font-size:.95rem}.chain{position:relative;counter-reset:step;margin:2.5rem auto;padding-left:44px;max-width:68ch}.chain:before{content:"";position:absolute;left:13px;top:16px;bottom:25px;width:2px;background:var(--border-subtle)}.chain-step{counter-increment:step;position:relative;padding:0 0 36px 20px}.chain-step:before{content:counter(step);position:absolute;left:-44px;top:0;width:28px;height:28px;background:var(--bg-surface);color:var(--accent-secondary);text-align:center;font-size:.85rem;font-weight:800;border:1px solid var(--accent-primary);z-index:1}.chain-step.reveal-visible:before{background:var(--accent-primary);color:#10231f}.chain-step h3{margin-top:0}.callout{background:#263b35;padding:26px;margin:2rem 0;border-left:3px solid var(--accent-primary)}.callout h3{margin-top:0}.page-intro{padding:65px 0 35px}.page-intro h1{font-size:clamp(2.5rem,5vw,4.4rem)}.article-body{padding-bottom:70px}.article-body h2{margin-top:2.2em;font-size:1.9rem}.article-body h3{margin-top:1.8em}.article-meta{font-size:.85rem;color:var(--text-muted)}.sources{font-size:.9rem;border-top:1px solid var(--border-subtle);padding-top:24px;margin-top:40px}.sources li{margin-bottom:.7rem}details{border-bottom:1px solid var(--border-subtle);padding:20px 0}summary{cursor:pointer;font-weight:750;padding-right:1rem}details p{margin:1.1rem 0 .4rem;color:var(--text-muted)}.site-footer{background:#171a1e;padding:50px 0;font-size:.9rem}.footer-scope{max-width:68ch}.footer-links{display:flex;flex-wrap:wrap;gap:.7rem 1.7rem;margin:1.4rem 0}.company{border-top:1px solid var(--border-subtle);padding-top:24px;color:var(--text-muted)}.company p{margin-bottom:.5rem}.company address{font-style:normal}.render-triptych{position:relative;min-height:390px;isolation:isolate}.instrument{position:absolute;width:51%;height:270px;background:linear-gradient(145deg,#45504e,#262d2d 65%);box-shadow:0 20px 35px #0005,inset 0 1px 0 #ffffff25;display:flex;align-items:center;justify-content:center}.instrument:after{content:attr(data-label);position:absolute;bottom:15px;left:16px;right:12px;font-size:.65rem;letter-spacing:.1em;color:#d5ded8;text-transform:uppercase}.rain-gauge-render{top:22px;left:0;transform:rotate(-7deg);z-index:1}.forest-sensor-render{top:100px;left:26%;transform:rotate(5deg);z-index:3}.storm-instrument-render{top:0;right:0;transform:rotate(10deg);z-index:2}.gauge-body{width:70px;height:145px;background:linear-gradient(90deg,#53635e,#ced9ca 42%,#6b7e72);box-shadow:12px 12px 18px #0005;position:relative}.gauge-body:before{content:"";position:absolute;top:-20px;left:-20px;width:110px;height:30px;border-radius:50%;background:radial-gradient(ellipse,#263e35 40%,#c4d3c5 45%,#82978a 70%)}.gauge-body:after{content:"";position:absolute;left:20px;top:30px;width:30px;height:90px;background:repeating-linear-gradient(0deg,#2c5544 0 2px,transparent 2px 15px)}.sensor-body{width:82px;height:105px;background:linear-gradient(105deg,#99ab95,#d7dfcd 45%,#6d856d);box-shadow:15px 15px 15px #0005;position:relative}.sensor-body:before{content:"";position:absolute;width:5px;height:70px;top:-65px;left:39px;background:#b4c5ad}.sensor-body:after{content:"";position:absolute;left:20px;top:35px;width:42px;height:35px;background:repeating-linear-gradient(#273e31 0 4px,#70866d 4px 7px)}.storm-body{height:140px;width:9px;background:linear-gradient(90deg,#718175,#d9e1d4);position:relative;box-shadow:12px 10px 12px #0004}.storm-body:before{content:"";position:absolute;top:10px;left:-54px;width:116px;height:9px;background:#b6c9b3;transform:rotate(-17deg);box-shadow:0 15px 24px #0005}.storm-body:after{content:"";position:absolute;top:-20px;left:-35px;width:72px;height:32px;border-radius:50%;background:linear-gradient(160deg,#e2e8d9,#65806a);box-shadow:22px 38px 0 -7px #b4cbb4,-20px 54px 0 -8px #879e83}.render-caption{font-size:.78rem;color:var(--text-muted);margin:10px 0 0}.render-strip{min-height:330px;max-width:650px;margin:20px auto}.render-strip .instrument{height:230px}.form-grid{display:grid;gap:22px}label{display:block;font-weight:650;margin-bottom:7px}input,textarea,select{width:100%;background:#22272c;border:1px solid var(--border-subtle);color:var(--text-primary);padding:12px 14px}textarea{resize:vertical;min-height:180px}.tool-actions{display:flex;flex-wrap:wrap;gap:24px;margin:20px 0}.review{background:var(--bg-surface);padding:24px;margin-top:30px}.review textarea{font-size:.9rem}.status{min-height:1.8em;color:var(--accent-secondary)}[hidden]{display:none!important}.js .reveal{opacity:0;transform:translateY(22px);transition:all .7s var(--ease-kinetic)}.js .reveal-visible{opacity:1;transform:translateY(0)}
@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(min-width:1025px){.hero-layout{min-height:420px}.site-nav{gap:2.5rem}}
@media(min-width:769px) and (max-width:1024px){.hero-layout{gap:20px}.render-triptych{min-height:350px}.instrument{height:235px}.site-nav{gap:1.4rem}}
@media(min-width:481px) and (max-width:768px){.wrap{width:calc(100% - 40px)}.hero-layout{grid-template-columns:1fr}.render-triptych{max-width:500px;width:100%;margin:auto}.split-card{grid-template-columns:1fr}}
@media(max-width:767px){.brand-row{padding:18px 20px}.brand{font-size:1rem}.menu-toggle{display:block}.js .site-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:10;background:var(--bg-surface);box-shadow:var(--shadow-elevation);padding:20px;flex-direction:column;align-items:flex-start;gap:14px}.js .site-nav.is-open{display:flex;animation:menuDown .25s var(--ease-kinetic)}.site-nav{flex-wrap:wrap;gap:10px 20px}.section{padding:55px 0}.section-tone{padding:75px 0}.comparison-row{grid-template-columns:1fr;gap:10px}.hero{padding:45px 0 65px}.feature-copy{margin:12px;padding:22px}}
@media(max-width:480px){.wrap{width:calc(100% - 32px)}.hero-layout{grid-template-columns:1fr;gap:28px}.hero h1{font-size:2.65rem}.render-triptych{min-height:315px}.instrument{height:215px}.forest-sensor-render{top:75px}.gauge-body{height:115px;width:60px}.gauge-body:before{width:90px;left:-15px}.sensor-body{width:65px;height:90px}.sensor-body:before{left:30px;height:50px;top:-45px}.sensor-body:after{left:13px;width:38px}.storm-body{height:120px}.grid{grid-template-columns:minmax(0,1fr)}.split-card{grid-template-columns:1fr}.compact-card{align-items:flex-start;gap:15px;padding:20px}.image-thumb{width:75px}.card{padding:24px}.split-card{padding:0}.page-intro{padding-top:45px}.brand-mark{flex-shrink:0}.chain{padding-left:35px}.chain-step{padding-left:14px}.chain-step:before{left:-35px}.chain:before{left:13px}}
@keyframes menuDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.card:hover,.primary-action:hover{transform:none}}