@import url('fonts.css');
:root{--paper:#f5f5ed;--ink:#17372b;--muted:#667768;--line:#d5ddd0;--green:#007663;--light:#e5ecde;--aqua:#c8ebd7;--amber:#a4652e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:1.55}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #0a9b8b;outline-offset:4px}button{color:inherit}a{color:inherit}aside{position:fixed;inset:0 auto 0 0;width:228px;border-right:1px solid var(--line);padding:34px 24px;display:flex;flex-direction:column;z-index:4;background:var(--paper)}.brand{font-weight:800;font-size:25px;letter-spacing:-1px;display:flex;gap:10px;align-items:center;text-decoration:none}.brand svg{width:24px;height:30px}.side-note{font-size:9px;letter-spacing:1.5px;line-height:1.8;margin:24px 0 42px;color:var(--muted)}nav{display:grid;gap:8px}.nav{width:100%;border:0;background:transparent;padding:12px 10px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:4px;font-size:13px}.nav span{font-size:18px;width:18px}.nav small{margin-left:auto;color:#748675;font-size:10px}.nav.active{background:var(--ink);color:var(--paper)}.nav.active small{color:#b5cbb8}.nav:hover:not(.active){background:var(--light)}.side-bottom{margin-top:auto}.module-glyph{width:64px;height:70px;border:1px solid #aebcac;border-radius:32px 32px 2px 2px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;margin-bottom:20px}.module-glyph span{font-size:8px;align-self:flex-end;margin:0 0 10px 5px}.side-bottom>b{font-size:17px;line-height:1.35}.side-bottom p{font-size:11px;color:var(--muted);line-height:1.8}.text-btn{border:0;background:none;padding:0;font-size:12px;color:var(--green);text-align:left}.team{border-top:1px solid var(--line);padding-top:20px;margin-top:26px;font-size:9px;letter-spacing:1px}.team span{font-size:8px;color:var(--muted);letter-spacing:0}main{margin-left:228px;padding:0 40px;max-width:1900px}header{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px}.breadcrumb{color:#7b8b7c}.header-right{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1px}.demo-dot{width:6px;height:6px;border-radius:50%;background:#ac873d}.small-btn{margin-left:18px;border:1px solid var(--line);padding:7px 12px;background:none;border-radius:4px;font-size:10px;letter-spacing:0}.intro{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;padding:37px 0 32px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:var(--muted);margin-bottom:12px}h1{font-size:clamp(32px,3.1vw,54px);font-weight:600;line-height:1.16;letter-spacing:-2px;margin:0}h1 em{font-style:normal;color:var(--green)}.intro-right p,.intro-copy{font-size:12px;color:var(--muted);line-height:1.9;max-width:300px;margin-bottom:16px}.primary{border:0;background:var(--green);color:#fffefa;border-radius:3px;padding:12px 19px;font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:38px}.primary:hover{background:#005e50}.primary span{font-size:17px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:25px}.metric-strip>div{padding-left:24px;border-left:1px solid var(--line)}.metric-strip>div:first-child{padding-left:0;border:0}.metric-strip span{font-size:11px;color:var(--muted)}.metric-strip strong{font-size:40px;font-weight:500;line-height:1.4;letter-spacing:-1.8px;display:block}.metric-strip i{font-style:normal}.metric-strip small{font-size:15px;color:var(--muted);letter-spacing:0;margin-left:8px}.metric-strip p{font-size:10px;margin:0;color:var(--muted)}.metric-strip .word{font-size:26px;letter-spacing:-1px;line-height:2.15}.word .arrow{font-size:28px;margin-left:20px;color:var(--green)}.system-panel{background:#e3ecdc;border:1px solid #cdd9c6;border-radius:5px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.panel-head b{font-size:13px;font-weight:600}.panel-head span{font-size:8px;letter-spacing:1px;color:var(--muted);margin-left:15px}.status{font-size:10px;color:var(--green);border:1px solid #c3d5bd;background:#eef4e8;border-radius:4px;padding:7px 10px}.status.stopped{color:#8e5426;background:#f3e5cb;border-color:#dbbf92}.diagram{padding:0 16px}.diagram svg{display:block;width:100%;height:auto;max-height:425px}.diagram svg text{font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:1px;fill:#47614b}.equipment{cursor:pointer;transition:filter .2s}.equipment:hover,.equipment.selected{filter:drop-shadow(0 4px 6px #30836733)}.flow{animation:water 3s linear infinite}.paused .flow{animation-play-state:paused;opacity:0}.paused .sensor{fill:#c78640}.step-bar{border-top:1px solid #c8d5bf;display:grid;grid-template-columns:repeat(4,1fr)}.step{background:transparent;border:0;border-right:1px solid #c8d5bf;padding:15px 20px;text-align:left;font-size:11px}.step:last-child{border:0}.step b{margin-right:12px;font-size:10px;color:#72866a}.step.selected{background:#f3f6ed;color:var(--green)}.step.selected b{color:var(--green)}.under-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;padding:30px 0 8px}.component-info h2{font-size:21px;font-weight:500;letter-spacing:-.6px;margin:0 0 10px}.component-info p{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 16px;max-width:420px}.component-info .eyebrow{font-size:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}h3{font-size:12px;font-weight:600;margin:0}.data-tag{font-size:7px;letter-spacing:1px;color:var(--muted)}.performance{border-left:1px solid var(--line);padding-left:30px}.performance svg{display:block;width:100%;margin-top:12px;max-height:135px}.legend{display:flex;gap:20px;font-size:9px;color:#738274}.legend span:nth-child(2){color:var(--green)}.legend p{margin:0 0 0 auto;text-align:right;font-size:8px;max-width:170px}.footnote{font-size:9px;color:var(--muted);padding:20px 0;line-height:1.9}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:20px 0;font-size:9px;color:var(--muted);margin-top:24px}.lab-layout{display:grid;grid-template-columns:1fr 1.3fr;border:1px solid var(--line);margin:8px 0 24px}.lab-inputs{padding:30px}.lab-inputs h2,.econ-inputs h2,h2{font-size:23px;font-weight:500;letter-spacing:-.6px}label{display:block;font-size:12px;margin:20px 0}label output{float:right;font-weight:700}input[type=range]{display:block;width:100%;margin:16px 0;accent-color:var(--green);height:4px}.check-label{font-size:11px;margin:28px 0}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;vertical-align:middle;margin-right:8px}.faults{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.faults button:not(.text-btn){border:1px solid #ccd8c8;padding:8px 12px;background:var(--paper);border-radius:3px;font-size:11px}.faults button.engaged{background:#f1d8bf;border-color:#b57a44}.fine{font-size:10px;color:var(--muted);line-height:1.9}.lab-output{background:#e1ecdb;padding:35px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.lab-state{font-size:10px;letter-spacing:1.5px;color:var(--green);border-bottom:1px solid #c1d1b9;padding-bottom:20px}.lab-output.stopped .lab-state{color:#9c5c27}.air-read{display:flex;justify-content:space-around;align-items:center;margin:25px 0}.air-read>div{display:flex;flex-direction:column}.air-read span{font-size:10px}.air-read strong{font-size:67px;letter-spacing:-4px;font-weight:500}.air-arrow{font-size:30px!important;color:#658573}.pad-drawing{display:flex;justify-content:center;align-items:center;gap:30px;height:150px}.pad-bars{display:flex;gap:4px;transform:skewY(-12deg)}.pad-bars i{width:8px;height:110px;background:#4eac8e;border:1px solid #31856f}.hot-air{font-size:22px;color:#b97d43;writing-mode:vertical-lr}.cool-air{font-size:22px;color:var(--green);writing-mode:vertical-lr}.stopped .pad-bars i{background:#a6b8a0;border-color:#8da183}.stopped .cool-air{color:#9da994}.logic-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.logic-checks span{font-size:10px;border-bottom:1px solid #c5d4be;padding:7px 0}.logic-checks .bad{color:#975a25}#logicMessage{font-size:13px;min-height:45px}.safety-note{padding:24px;border:1px solid var(--line);border-left:4px solid var(--green)}.safety-note p{font-size:12px;color:var(--muted);margin:5px 0}.economics-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;padding:20px 0}.econ-result{padding:40px;background:var(--ink);color:var(--paper)}.econ-result>span{font-size:9px;letter-spacing:1.6px;color:#b9cebc}.payback{display:flex;align-items:baseline;gap:15px;margin:0 0 20px}.payback strong{font-size:110px;font-weight:400;letter-spacing:-7px;line-height:1.4;color:#bef29d}.payback>span{font-size:18px;color:#c0cebe}.benefit-row{display:flex;justify-content:space-between;font-size:11px;padding:12px 0;border-top:1px solid #49604f}.benefit-row b{font-weight:500}.payback-chart{height:110px;display:flex;align-items:flex-end;gap:9px;margin:25px 0 30px}.payback-chart>div{flex:1;background:#a9c59e;position:relative;min-height:3px}.payback-chart>div.negative{background:#546b59}.payback-chart span{position:absolute;bottom:-22px;left:0;font-size:9px;color:#b3c4b0}.econ-result>p{font-size:10px;color:#b9cdb9}.formula{padding:25px 0;border-top:1px solid var(--line);display:flex;gap:50px;font-size:12px}.formula p{margin:0;color:var(--muted);line-height:1.9}.pilot-phases{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:18px 0 36px}.pilot-phases article{padding:25px;border-right:1px solid var(--line)}.pilot-phases article:first-child{padding-left:0}.pilot-phases article:last-child{border:0}.pilot-phases span{font-size:9px;letter-spacing:1px;color:var(--green)}.pilot-phases h2{font-size:30px;line-height:1.25;margin:20px 0}.pilot-phases p{font-size:11px;color:var(--muted);line-height:1.9}.pilot-bottom{display:grid;grid-template-columns:1fr 1fr;gap:65px}.pilot-checks label{display:flex;border-bottom:1px solid var(--line);padding-bottom:15px;align-items:flex-start}.pilot-checks span{display:flex;flex-direction:column}.pilot-checks small{color:var(--muted);font-size:10px;margin-top:4px}#progress{color:var(--green);font-size:11px}form{background:var(--light);padding:28px 32px}form h2{margin-top:0}form>p{font-size:12px}input:not([type=range]):not([type=checkbox]),textarea{display:block;width:100%;padding:10px;margin-top:8px;border:1px solid #c2ceba;background:#f5f8ef;border-radius:3px;color:var(--ink)}textarea{height:80px;resize:vertical}dialog{width:min(680px,90vw);background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:40px;max-height:85vh;overflow:auto}dialog::backdrop{background:#0c2119aa;backdrop-filter:blur(4px)}dialog h2{font-size:32px}dialog p,dialog li{font-size:12px;line-height:1.9}dialog li{margin-bottom:10px}.close{position:absolute;right:16px;top:8px;background:none;border:0;font-size:28px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 24px;border-radius:5px;z-index:12;opacity:0;pointer-events:none;transition:opacity .2s;font-size:12px}.toast.show{opacity:1}[hidden]{display:none!important}@keyframes water{to{stroke-dashoffset:-96}}@media(min-width:1600px){main{padding:0 60px}.diagram svg{max-height:480px}.intro{padding-top:48px}.metric-strip{padding:28px 0}}@media(max-width:1120px){aside{width:190px;padding:26px 16px}main{margin-left:190px;padding:0 25px}.intro{gap:20px}h1{font-size:34px}.intro-right p{font-size:10px}.panel-head span{display:none}.metric-strip strong{font-size:32px}.metric-strip .word{font-size:20px}.metric-strip>div{padding-left:15px}.under-grid{gap:25px}.legend p{display:none}.air-read strong{font-size:52px}.econ-result{padding:28px}}@media(max-width:760px){aside{width:auto;position:sticky;top:0;height:auto;padding:14px 20px;border-right:0;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.brand{font-size:19px}.brand svg{width:17px;height:24px}.side-note,.side-bottom{display:none}nav{display:flex;gap:2px}.nav{width:auto;font-size:0;padding:8px 10px}.nav span{font-size:18px}.nav small{display:none}main{margin:0;padding:0 20px}header{height:60px;font-size:10px}.header-right{font-size:7px;letter-spacing:.5px}.small-btn{margin-left:5px;font-size:8px;padding:6px}.intro{display:block;padding:28px 0 25px}h1{font-size:35px;letter-spacing:-1.7px}.intro-right{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.intro-right p{font-size:10px;line-height:1.65;margin:0}.primary{font-size:10px;padding:10px 14px;gap:20px;white-space:nowrap}.metric-strip{grid-template-columns:1fr 1fr;gap:20px 0;padding:20px 0}.metric-strip>div:nth-child(3){padding-left:0;border:0}.metric-strip strong{font-size:34px}.metric-strip .word{line-height:2.2;font-size:22px}.metric-strip span{font-size:10px}.metric-strip p{font-size:8px}.panel-head{padding:14px 14px 4px}.panel-head b{font-size:11px}.status{font-size:8px;padding:5px 7px}.diagram{padding:0;overflow:auto}.diagram svg{width:640px;max-width:none;height:314px;margin-left:-30px}.step{padding:11px 8px;font-size:9px}.step b{margin-right:4px;font-size:8px}.under-grid{grid-template-columns:1fr;gap:25px}.component-info h2{font-size:22px}.performance{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}footer{display:block;font-size:8px}footer span{display:block;margin-bottom:7px}.footnote{font-size:8px}.lab-layout,.economics-layout,.pilot-bottom{grid-template-columns:1fr}.lab-inputs{padding:24px}.lab-output{border-left:0;border-top:1px solid var(--line);padding:24px}.economics-layout{gap:20px;padding-top:0}.econ-result{padding:28px}.formula{display:block}.formula p{font-size:11px;margin-top:10px}.pilot-phases{grid-template-columns:1fr 1fr}.pilot-phases article,.pilot-phases article:first-child{padding:20px 15px;border-bottom:1px solid var(--line)}.pilot-phases article:nth-child(2){border-right:0}.pilot-phases h2{font-size:27px}.pilot-bottom{gap:25px}.intro-copy{max-width:100%;margin-top:20px}#pilot .intro .primary{margin-top:22px}dialog{padding:28px}.lab-output .fine{font-size:9px}.air-read strong{font-size:64px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Physical installation, drawn specifically for AQUORA. */
.scene-shell{position:relative;height:470px;overflow:hidden;background:#dce9d4;isolation:isolate}.three-stage{position:absolute;inset:0;touch-action:pan-y;cursor:grab}.three-stage:active{cursor:grabbing}.three-stage canvas{display:block;width:100%;height:100%}.scene-caption{position:absolute;top:26px;left:30px;z-index:2;pointer-events:none}.scene-caption>span{display:block;font-size:8px;letter-spacing:1.7px;color:#53785e}.scene-caption>b{display:block;font-size:26px;font-weight:500;letter-spacing:-1px;line-height:1.25;margin:10px 0}.scene-caption>small{font-size:7px;letter-spacing:1px;color:#5d7860}.scene-tools{position:absolute;bottom:24px;right:24px;z-index:2;display:flex;gap:6px}.scene-tools button{background:#f4f7eadd;backdrop-filter:blur(10px);border:1px solid #a8bfa0;padding:10px 13px;font-size:10px;border-radius:3px}.scene-key{position:absolute;left:30px;bottom:28px;display:flex;gap:20px;font-size:8px;color:#3e6c53}.scene-key span:first-child{color:#00715f}.scene-key span:last-child{color:#a66d3a}.fallback-diagram{display:none}.scene-shell:has(.failed)+.fallback-diagram{display:block}.scene-shell:has(.failed){display:none}.system-panel .panel-head{padding:18px 24px}.lab-scene-host .scene-shell{height:310px;margin:-35px -35px 24px}.lab-scene-host .scene-caption{top:18px;left:20px}.lab-scene-host .scene-caption>b{font-size:18px}.lab-scene-host .scene-key{display:none}.lab-scene-host .scene-tools{bottom:14px;right:14px}.lab-scene-host .scene-tools button{font-size:8px;padding:7px}.lab-output{justify-content:flex-start}.lab-output:has(.three-stage.ready) .pad-drawing{display:none}.lab-output .air-read{margin:12px 0}.lab-output .air-read strong{font-size:52px}.lab-output #logicMessage{margin:8px 0}.lab-output .fine{margin-bottom:0}.intro h1{font-weight:550}.system-panel{border-radius:2px}.metric-strip strong{font-weight:450}.side-bottom .module-glyph{background:#d8e7d0;border-color:#abc39f}.nav.active{box-shadow:inset 3px 0 #bee4a3}.lab-output{background:#dce9d4}@media(min-width:1600px){.scene-shell{height:550px}}@media(max-width:760px){.scene-shell{height:390px}.scene-caption{left:18px;top:18px}.scene-caption>b{font-size:21px}.scene-tools{bottom:16px;right:16px}.scene-key{left:18px;bottom:64px}.lab-scene-host .scene-shell{margin:-24px -24px 20px;height:300px}.lab-output .air-read strong{font-size:55px}.system-panel:has(.scene-shell) .panel-head{border-top:1px solid #bed0b2}}
@media(max-width:760px){.lab-output{order:-1}.lab-scene-host .scene-caption>b{display:none}.lab-scene-host .scene-caption>small{display:block;margin-top:6px}.lab-inputs{border-top:1px solid var(--line)}}
.clear-saved{margin-top:18px}.handbook-link{display:block;font-size:11px;color:var(--green);margin-top:14px;text-decoration:none}
/* A visible, interruptible journey through the recovery loop. */
.loop-player{position:absolute;left:22px;right:22px;bottom:18px;z-index:5;background:#173d30;color:#f5f5ed;border:1px solid #507451;padding:16px 20px;box-shadow:0 8px 28px #173d3020;border-radius:4px;display:grid;grid-template-columns:1fr auto;gap:8px 24px}.loop-progress{display:flex;gap:6px;grid-column:1/-1}.loop-progress i{height:3px;flex:1;background:#486b51}.loop-progress i.done,.loop-progress i.current{background:#bdeea2}.loop-copy>span{display:block;font-size:9px;letter-spacing:1.6px;color:#bdeea2;margin:7px 0}.loop-copy h3{font-size:19px;font-weight:550;line-height:1.3;letter-spacing:-.4px}.loop-copy p{font-size:11px;line-height:1.6;color:#d0dfca;max-width:680px;margin:7px 0 0}.loop-actions{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:12px}.loop-actions>span{font-size:7px;letter-spacing:.7px;color:#bdcfb8}.loop-actions button{font-size:10px;background:none;color:#e8f2df;border:1px solid #71916b;border-radius:3px;padding:7px 12px;white-space:nowrap}.loop-actions button:hover{background:#30553d}.show-loop .scene-caption,.show-loop .scene-key,.show-loop .scene-tools{display:none}.show-loop .three-stage{bottom:146px}.scene-shell.show-loop{scroll-margin-top:20px}.scene-shell[data-loop-state=blocked] .loop-copy>span{color:#efc68b}.scene-shell[data-loop-state=blocked] .loop-progress i.current{background:#efc68b}.scene-shell:has(.three-stage.failed).show-loop{display:block}.show-loop:has(.three-stage.failed) .loop-player{position:relative;margin:20px;left:auto;right:auto;bottom:auto}.show-loop:has(.three-stage.failed) .three-stage{display:none}
@media(max-width:760px){.scene-shell.show-loop{height:470px;scroll-margin-top:76px}.show-loop .three-stage{bottom:185px}.loop-player{left:12px;right:12px;bottom:12px;padding:14px;gap:8px;grid-template-columns:1fr}.loop-copy h3{font-size:17px}.loop-copy p{font-size:11px;min-height:34px}.loop-actions{flex-direction:row;align-items:center;gap:8px}.loop-actions>span{font-size:6px;max-width:170px}.loop-actions button{font-size:9px}.loop-copy>span{margin:3px 0 6px}}

@media(max-width:760px){.metric-strip .word{font-size:20px;line-height:2.3;white-space:nowrap}}
