:root {
  --paper:#edeee7;--ink:#153c2f;--line:#153c2f30;--muted:#5c7267;
  font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);
}
* {box-sizing:border-box}
html {scroll-behavior:auto;scroll-padding-top:80px}
body {margin:0}
a {color:inherit;text-decoration:none}
button {font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible {outline:3px solid #b2692d;outline-offset:5px}
.skip {position:absolute;left:20px;top:-100px;z-index:100;background:var(--paper);padding:15px}
.skip:focus {top:10px}
.nav {height:70px;display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}
.wordmark {font-weight:800;letter-spacing:.03em;display:flex;gap:12px;align-items:center;font-size:15px}
.nav>.wordmark {padding:0 28px;border-right:1px solid var(--line)}
.brand-symbol {display:grid;place-items:center;background:var(--ink);color:var(--paper);width:29px;height:29px;border-radius:50% 50% 4px 50%;font-size:21px}
.wordmark-sub {font:10px ui-monospace,monospace;letter-spacing:.06em;font-weight:400}
.nav nav {display:flex;align-items:center;gap:36px;font:10px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.nav nav a:hover {text-decoration:underline;text-underline-offset:5px}
.nav-login {display:flex;align-items:center;gap:36px;background:var(--ink);color:var(--paper);padding:0 30px;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.nav-login span {font-size:18px}
.hero {padding:22px 4vw 0;overflow:hidden}
.hero-meta,.hero-foot,.section-marker,.scene-top,.scene-bottom,.console-nav,.micro,.mini-tags,.map-label,.map-scale {
  font:10px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em;
}
.hero-meta {display:flex;justify-content:space-between}
.hero-meta i,.console-nav i {display:inline-block;width:6px;height:6px;border-radius:50%;background:#65854e;margin-right:9px}
.hero-title {margin-top:23px;position:relative}
.hero-title>p {font:11px ui-monospace,monospace;letter-spacing:.6em;margin:0 0 5px 5px}
h1 {font-size:clamp(90px,19.8vw,310px);line-height:.82;letter-spacing:-.085em;margin:0;font-weight:900}
.title-dot {font:20px Arial;vertical-align:top;display:inline-block;margin-top:10px;margin-left:16px;letter-spacing:0}
.hero-copy {display:grid;grid-template-columns:1fr 1.4fr auto;gap:25px;align-items:center;margin:30px 0 25px}
.hero-copy h2 {font-size:26px;letter-spacing:-.045em;line-height:1.08;margin:0;font-weight:500}
.hero-copy p {font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:18px 23px;font-size:12px;transition:background .2s,transform .2s}
.button.primary {background:var(--ink);color:var(--paper)}
.button:hover {background:#286446;transform:translateY(-2px)}
.button span {font-size:21px}
.scene-wrap {position:relative;background:#203a2d;min-height:340px;height:clamp(340px,36vw,530px);color:#d1e3ce;overflow:hidden;border:1px solid var(--ink)}
.scene-top {position:absolute;top:20px;left:24px;right:24px;z-index:2;display:flex;justify-content:space-between;color:#a9c5ab}
.demo-tag {border:1px solid #c5ddba40;padding:5px 8px;font-size:8px}
.greenhouse {display:block;width:100%;height:100%;padding:12px 80px 20px;transition:transform 1s;overflow:visible}
.scene-wrap:hover .greenhouse {transform:scale(1.025)}
.physical-model {transition:opacity .8s}
.digital-model {opacity:0;transition:opacity .8s}
.scene-wrap.digital .physical-model {opacity:.18}
.scene-wrap.digital .digital-model {opacity:1}
.scene-floating {display:flex;position:absolute;right:22px;top:85px;gap:12px;font-size:11px;line-height:1.8;color:#adc7ad}
.scene-floating strong {color:#d4e6cf;font-weight:400}
.signal {width:8px;height:8px;border-radius:50%;background:#bdeea2;margin-top:6px;box-shadow:0 0 15px #a2db9f}
.scene-bottom {position:absolute;bottom:16px;left:24px;right:20px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a0b8a0}
.mode-switch {display:flex;border:1px solid #c8ddc34f;padding:3px}
.mode-switch button {font:9px ui-monospace,monospace;padding:10px 16px;border:0;background:transparent;color:#c2d1b7}
.mode-switch button[aria-pressed=true] {background:#d7e3c6;color:var(--ink)}
.hero-foot {display:flex;justify-content:space-between;padding:17px 0 22px;font-size:9px;border-bottom:1px solid var(--line)}
.hero-foot a {display:flex;gap:45px}
.sensor-ring {animation:sensorPulse 3s ease-in-out infinite}
@keyframes sensorPulse {50%{stroke-opacity:.25;fill-opacity:.2}}
@media(min-width:1500px){.hero{max-width:1800px;margin:auto}}
@media(max-width:850px){
  .nav nav {gap:15px;font-size:9px}.nav>.wordmark {padding:0 15px}.wordmark-sub {display:none}
  .nav-login {padding:0 20px;gap:15px}.hero-copy {grid-template-columns:1fr 1fr}
  .hero-copy .button {justify-self:start;grid-column:2;grid-row:1/span 2}
  .hero-copy p {grid-column:1;max-width:340px}.hero-copy br {display:none}
  .greenhouse {padding:30px 0}.scene-floating {display:none}.scene-bottom>span {max-width:140px;line-height:1.6}
}
@media(max-width:560px){
  .nav {height:60px}.nav nav {display:none}.wordmark{font-size:12px}
  .hero {padding:20px 20px 0}.hero-meta {font-size:8px}.hero-meta>span:last-child {display:none}
  .hero-title {margin-top:25px}.hero-title>p{font-size:8px}h1{font-size:20vw}.title-dot{font-size:12px;margin-left:6px}
  .hero-copy{grid-template-columns:1fr;margin-top:25px;gap:15px}.hero-copy h2{font-size:29px}
  .hero-copy .button{grid-column:1;grid-row:auto;justify-self:stretch;margin-top:5px}.hero-copy p{font-size:13px}
  .scene-wrap{height:350px;min-height:0}.greenhouse{width:115%;max-width:none;margin-left:-7.5%;padding:42px 0 35px}
  .scene-top{top:15px;left:12px;right:12px;font-size:8px}.demo-tag{font-size:6px}
  .scene-bottom{left:12px;right:12px;bottom:12px}.scene-bottom>span{display:none}.mode-switch{margin:auto}
  .hero-foot{font-size:7px;gap:20px;line-height:1.7}.hero-foot a{gap:10px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.sensor-ring{animation:none}*{transition:none!important}
}
