@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--ink:#18262b;--muted:#667179;--paper:#f6f3eb;--line:#d8d9d2;--orange:#ed6b43;--teal:#1b5b66;--mono:'DM Mono',monospace;--sans:'Noto Sans SC',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 64px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(246,243,235,.94)}.header-inner{height:82px;display:flex;align-items:center;gap:40px}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.025em;font-size:17px;white-space:nowrap}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:9px;font-size:18px}.site-header nav{display:flex;gap:32px;margin-left:auto;font-size:14px;color:#58656b}.site-header nav a:hover,.text-link:hover,.card-link:hover{color:var(--orange)}.header-link{font-size:13px;border-bottom:1px solid var(--ink);padding:5px 0;white-space:nowrap}.header-link span{margin-left:9px}.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center;min-height:670px;padding-top:70px;padding-bottom:80px}.eyebrow{display:flex;align-items:center;gap:11px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.eyebrow-line{width:29px;height:1px;background:var(--teal)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,4.9vw,72px);line-height:1.28;letter-spacing:-.055em;margin:24px 0 26px;font-weight:700}h1 em,.closing h2 em{font-style:normal;color:var(--orange)}.hero-lead{font-size:17px;line-height:2;color:#566268;max-width:520px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:37px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:16px 23px;font-size:14px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#d85c36}.text-link{font-size:14px;font-weight:600}.text-link span{margin-left:7px}.hero-footnote{font:11px var(--mono);color:#8b9495;letter-spacing:.04em;margin-top:85px}.hero-art{height:460px;background:#173b45;border-radius:4px;box-shadow:16px 18px 0 #d9dfd8;display:flex;flex-direction:column;color:#bdd5d3;overflow:hidden}.art-top,.art-bottom{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font:11px var(--mono);letter-spacing:.05em}.art-top{border-bottom:1px solid #41616a}.art-bottom{border-top:1px solid #41616a}.art-dots{display:flex;gap:6px}.art-dots i{width:7px;height:7px;background:#91acae;border-radius:50%}.art-dots i:first-child{background:var(--orange)}.signal{color:#9de3bd}.art-grid{flex:1;position:relative;overflow:hidden;background-image:linear-gradient(#365962 1px,transparent 1px),linear-gradient(90deg,#365962 1px,transparent 1px);background-size:32px 32px;background-position:center;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #64828a;border-radius:50%}.orbit-one{width:240px;height:240px}.orbit-two{width:360px;height:360px;opacity:.55}.art-core{width:122px;height:122px;background:#f0b78d;color:#173b45;border:11px solid #d57655;display:flex;align-items:center;justify-content:center;font:700 55px var(--sans);z-index:1;box-shadow:0 0 0 18px #25505a,0 0 0 20px #547881}.core-lines{height:45px;width:7px;border-left:1px solid #855f4c;margin:0 3px}.node{position:absolute;width:13px;height:13px;border-radius:50%;background:#f0b78d;border:3px solid #173b45;box-shadow:0 0 0 1px #a7c3c0}.node-a{top:22%;left:19%}.node-b{top:30%;right:14%}.node-c{bottom:23%;left:14%}.node-d{bottom:17%;right:24%}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#edece5}.intro-inner{min-height:84px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.intro-inner>span:first-child{color:#7e8787;font-size:12px;margin-right:auto}.intro-inner strong{font-size:14px;font-weight:600}.separator{color:#aeb5b1}.section{padding-top:120px;padding-bottom:125px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:43px}.section-heading h2{font-size:clamp(34px,3.4vw,49px);letter-spacing:-.045em;margin:13px 0 0}.accent-dot{color:var(--orange)}.section-heading p{max-width:300px;font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-card{border:1px solid var(--line);background:#faf9f5}.project-visual{height:260px;position:relative;display:grid;place-items:center;overflow:hidden}.project-water .project-visual{background:#275e69}.project-alarm .project-visual{background:#bb735c}.visual-caption,.visual-index{position:absolute;font:11px var(--mono);letter-spacing:.09em;color:#d4e3e0}.visual-caption{top:22px;left:24px}.visual-index{right:25px;bottom:20px}.water-symbol{width:190px;height:140px;border:2px solid #aad5d0;border-radius:50% 50% 44% 44%;transform:rotate(-8deg);display:flex;align-items:center;justify-content:center;gap:13px;box-shadow:0 0 0 22px #33717a,0 0 0 24px #72a9a9}.water-symbol span{width:13px;height:65px;background:#b7dfd8;border-radius:8px}.water-symbol span:nth-child(2){height:102px}.alarm-symbol{display:grid;grid-template-columns:repeat(2,80px);gap:17px;transform:rotate(-8deg)}.alarm-symbol i{height:80px;background:#edbd99;border:11px solid #915344;border-radius:16px;box-shadow:5px 7px 0 #8e4d42}.alarm-symbol i:first-child{background:#ffdb98}.project-body{padding:31px 32px 35px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{border:1px solid #cdd4d1;padding:5px 8px;color:#617174;font:10px var(--mono)}.project-body h3{font-size:25px;margin:22px 0 11px}.project-body p{font-size:14px;line-height:1.95;color:#657176;min-height:83px}.card-link{display:inline-flex;gap:28px;font-size:13px;font-weight:700;border-bottom:1px solid #a4aeac;padding-bottom:8px;margin-top:15px}.notes-wrap{background:#e8ece9}.notes-wrap .section{padding-top:105px;padding-bottom:115px}.note-list{border-top:1px solid #bfcac6}.note-row{display:grid;grid-template-columns:65px 1fr 35px;gap:20px;align-items:start;padding:31px 9px;border-bottom:1px solid #bfcac6;transition:padding .2s,background .2s}.note-row:hover{padding-left:20px;background:#f0f3ef}.note-num{font:12px var(--mono);color:#7b9492;margin-top:7px}.note-main{display:flex;flex-direction:column;gap:10px}.note-main small{color:var(--teal);font:11px var(--mono)}.note-main strong{font-size:21px}.note-main>span{font-size:13px;color:#6b7777;line-height:1.7}.note-arrow{font-size:21px;color:var(--orange)}.closing{text-align:center;padding-top:130px;padding-bottom:135px}.closing .eyebrow{justify-content:center}.closing h2{font-size:clamp(37px,4.3vw,59px);line-height:1.38;letter-spacing:-.04em;margin:22px 0}.closing p{color:var(--muted);font-size:15px;margin-bottom:30px}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#33474c}.site-footer{background:#17272c;color:#e1e8e4}.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-brand .brand-mark{background:#eb6c48}.footer-inner>span:not(.brand){color:#aebbb8;font-size:12px}.article-page{max-width:790px;margin:0 auto;padding:74px 0 130px}.back-link{font-size:13px;color:var(--teal);font-weight:600}.article-page .eyebrow{margin-top:48px}.article-page h1{font-size:clamp(36px,4vw,57px);line-height:1.35;margin:20px 0}.article-deck{font-size:18px;line-height:1.9;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:32px}.article-page h2{font-size:25px;margin:43px 0 14px}.article-page p,.article-page li{font-size:15px;line-height:2;color:#455258}.article-page ul{padding-left:25px}.article-page li{margin-bottom:8px}.article-page .article-callout{border-left:3px solid var(--orange);background:#ebece6;padding:20px 25px;margin:32px 0}.article-page .article-callout p{margin:0}.article-page .article-next{margin-top:55px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.article-page .article-next a{color:var(--teal);font-size:14px;font-weight:600}
@media(max-width:800px){.container{width:min(100% - 36px,600px)}.header-inner{height:70px;gap:15px}.site-header nav{gap:14px;margin-left:auto;font-size:12px}.header-link{display:none}.hero{grid-template-columns:1fr;gap:43px;min-height:0;padding-top:64px;padding-bottom:70px}.hero-footnote{margin-top:45px}.hero-art{height:340px;box-shadow:9px 10px 0 #d9dfd8}.intro-inner{gap:12px;padding:20px 0;min-height:0}.intro-inner>span:first-child{width:100%}.section{padding-top:78px;padding-bottom:85px}.section-heading{display:block}.section-heading p{margin-top:14px}.project-grid{grid-template-columns:1fr}.project-body p{min-height:0}.closing{padding-top:90px;padding-bottom:100px}.footer-inner{flex-wrap:wrap;padding:24px 0}.article-page{padding-top:45px;padding-bottom:90px}.note-row{grid-template-columns:32px 1fr 20px;gap:8px}.note-main strong{font-size:17px}}
@media(max-width:420px){.brand{font-size:15px}.site-header nav{gap:10px;font-size:11px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-art{height:300px}.orbit-two{width:270px;height:270px}.orbit-one{width:195px;height:195px}.intro-inner strong{font-size:12px}.note-main>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.note-row{transition:none}}
.project-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .4s}.project-card:hover .project-photo{transform:scale(1.035)}.project-visual:has(.project-photo){background:#dce2df}.project-visual:has(.project-photo) .visual-caption{background:rgba(23,39,44,.82);padding:7px 9px;color:#fff}.icp-link{color:#d8e2df;font-size:12px;text-decoration:underline;text-decoration-color:#718481;text-underline-offset:4px}.icp-link:hover{color:#fff}.article-figure{margin:30px 0 40px}.article-figure img{display:block;width:100%;max-height:580px;object-fit:contain;background:#e9e9e4}.article-figure figcaption,.video-grid figcaption{font-size:12px;color:var(--muted);margin-top:10px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 42px}.video-grid figure{margin:0}.video-grid video{display:block;width:100%;max-height:460px;background:#18262b;border-radius:4px}@media(max-width:650px){.video-grid{grid-template-columns:1fr}.video-grid video{max-height:500px}.footer-inner{justify-content:flex-start}}
