@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#111314; --ink-2:#252525; --lime:#e9ff64; --cream:#f7f7f3; --paper:#fff; --line:#dedede; --muted:#666; --coral:#d77c54; --white:#fff; --shadow:0 22px 60px rgba(0,0,0,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'Manrope',Arial,sans-serif; line-height:1.5; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
.grain { position:fixed; inset:0; z-index:10; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.section-shell { width:min(1180px,calc(100% - 64px)); margin:0 auto; }
.site-header { width:min(1180px,calc(100% - 64px)); margin:0 auto; height:92px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; position:relative; }
.brand-logo { display:block; width:166px; height:auto; max-height:48px; object-fit:contain; object-position:left center; }
.brand-mark { width:31px; height:31px; display:inline-flex; align-items:flex-end; gap:3px; padding:5px 6px; border:1.5px solid var(--ink); border-radius:9px 9px 9px 2px; transform:rotate(-8deg); }
.brand-mark span { width:4px; border-radius:4px; background:var(--ink); display:block; transform:rotate(8deg); }.brand-mark span:nth-child(1){height:11px}.brand-mark span:nth-child(2){height:16px}.brand-mark span:nth-child(3){height:9px}
.brand-name { font-size:19px; font-weight:800; letter-spacing:.12em; }.brand-caption { color:var(--muted); font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.04em; text-transform:uppercase; padding-left:10px; border-left:1px solid #bdc7bc; }
.header-link { font-size:12px; font-weight:700; text-decoration:none; border-bottom:1px solid var(--ink); padding:3px 0; }.header-link span { font-size:16px; margin-left:6px; }
.hero { min-height:570px; display:grid; grid-template-columns:52% 48%; align-items:center; padding:54px 0 77px; }.eyebrow { margin:0 0 20px; color:var(--coral); text-transform:uppercase; font-family:'DM Mono',monospace; font-size:10px; font-weight:500; letter-spacing:.12em; display:flex; align-items:center; gap:9px; }.eyebrow-dot { width:7px; height:7px; background:var(--coral); border-radius:50%; display:inline-block; }
h1,h2,h3,p { margin-top:0; }.hero h1 { font-size:clamp(47px,6.3vw,84px); letter-spacing:-.075em; line-height:.99; max-width:700px; margin-bottom:26px; font-weight:800; }.hero h1 em,h2 em { font-family:Georgia,serif; font-weight:400; letter-spacing:-.08em; }.hero-intro { color:#444444; max-width:440px; font-size:16px; line-height:1.7; margin-bottom:34px; }.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.button { border:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:15px; text-decoration:none; font-weight:800; font-size:12px; min-height:49px; padding:0 21px; border-radius:2px; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }.button:hover { transform:translateY(-2px); }.button:focus-visible,.header-link:focus-visible,.step-item:focus-visible,.choice-card:focus-within,.tag-choice:focus-within,.consent-row:focus-within { outline:3px solid var(--coral); outline-offset:4px; }.button-primary { background:var(--lime); color:var(--ink); box-shadow:4px 4px 0 var(--ink); }.button-primary:hover { background:#f0ff99; }.button-dark { color:var(--cream); background:var(--ink); box-shadow:4px 4px 0 var(--coral); }.button-dark:hover { background:var(--ink-2); }.button-quiet { background:transparent; color:var(--ink); padding-left:0; padding-right:14px; }.button-quiet:hover { color:var(--coral); }.promise { display:flex; align-items:center; gap:10px; }.promise-icon { width:35px; height:35px; border:1px solid var(--coral); border-radius:50%; color:var(--coral); display:grid; place-items:center; font-family:'DM Mono',monospace; font-size:12px; }.promise strong,.promise small { display:block; }.promise strong { font-size:11px; }.promise small { font-size:10px; color:var(--muted); margin-top:2px; }
.hero-visual { height:450px; position:relative; }.greenhouse-card { width:370px; height:410px; background:var(--ink); color:var(--cream); position:absolute; top:18px; left:50%; transform:translateX(-50%) rotate(3deg); padding:23px 23px 19px; box-shadow:18px 18px 0 rgba(215,124,84,.85); z-index:2; }.greenhouse-topline,.greenhouse-footer { display:flex; justify-content:space-between; align-items:center; font-family:'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; font-size:9px; }.status-pill { color:var(--lime); border:1px solid rgba(233,255,100,.35); padding:5px 7px; }.status-pill i { display:inline-block; width:5px; height:5px; background:var(--lime); border-radius:50%; margin-right:4px; }.greenhouse-illustration { height:330px; position:relative; overflow:hidden; margin:5px 0 10px; background:linear-gradient(150deg,#234f3c 0%,#295b45 100%); }.greenhouse-illustration:after { content:''; position:absolute; inset:auto 0 0; height:43%; background:linear-gradient(170deg,transparent 0 8%,rgba(233,255,100,.07) 8% 9%,transparent 9% 20%,rgba(233,255,100,.06) 20% 21%,transparent 21%); }.house-roof { position:absolute; width:220px; height:150px; left:74px; top:77px; border:2px solid var(--lime); border-bottom:0; transform:perspective(300px) rotateX(47deg) rotateZ(0deg); transform-origin:bottom; opacity:.78; }.house-wall { position:absolute; left:74px; top:155px; width:220px; height:120px; border:2px solid var(--lime); opacity:.78; }.house-frame { position:absolute; top:155px; width:2px; height:120px; background:var(--lime); opacity:.6; }.frame-a{left:128px}.frame-b{left:184px}.frame-c{left:239px}.plant { position:absolute; z-index:1; bottom:57px; display:flex; align-items:flex-end; gap:4px; }.plant b { display:block; width:10px; border-radius:50% 50% 50% 0; background:var(--lime); transform:rotate(-40deg); }.plant b:nth-child(1){height:17px}.plant b:nth-child(2){height:26px; transform:rotate(35deg)}.plant b:nth-child(3){height:15px}.plant:after { content:''; position:absolute; width:3px; height:37px; background:var(--lime); left:20px; bottom:0; transform:rotate(5deg); }.plant-left{left:35px}.plant-middle{left:158px; transform:scale(1.3)}.plant-right{right:29px}.sensor { position:absolute; z-index:3; background:var(--cream); color:var(--ink); padding:7px 9px; font-family:'DM Mono',monospace; font-size:8px; line-height:1.2; }.sensor span,.sensor strong{display:block}.sensor strong{font-family:'Manrope',sans-serif;font-size:15px;margin-top:3px}.sensor-temp{left:14px;top:21px}.sensor-water{right:15px;bottom:21px}.greenhouse-footer { color:#ffffff; }.signal-bars { display:flex; align-items:flex-end; gap:3px; }.signal-bars i { width:4px; background:var(--lime); display:block; }.signal-bars i:nth-child(1){height:5px}.signal-bars i:nth-child(2){height:9px}.signal-bars i:nth-child(3){height:13px}.orbit { position:absolute; border:1px solid rgba(22,61,44,.23); border-radius:50%; }.orbit-one { width:460px; height:180px; top:95px; left:7%; transform:rotate(-26deg); }.orbit-two { width:500px; height:250px; top:60px; left:0; transform:rotate(23deg); }.sun-disc { position:absolute; z-index:3; width:84px; height:84px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-content:center; text-align:center; font-family:'DM Mono',monospace; font-size:10px; line-height:1.2; right:0; top:0; box-shadow:0 0 0 8px rgba(233,255,100,.28); }.sun-disc span{font-size:8px;}.hero-sticker { position:absolute; z-index:4; bottom:4px; left:14px; width:102px; height:102px; border-radius:50%; background:var(--coral); color:var(--cream); display:grid; place-content:center; text-align:center; font-family:'DM Mono',monospace; font-size:11px; line-height:1.1; transform:rotate(-12deg); }.hero-sticker strong{font-size:20px; margin-top:7px; }
.proof-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(3,1fr); padding:25px 0; }.proof-strip > div { display:grid; grid-template-columns:36px 1fr; column-gap:12px; padding:0 30px; border-left:1px solid var(--line); }.proof-strip > div:first-child { border-left:0; padding-left:0; }.proof-number { color:var(--coral); font-family:'DM Mono',monospace; font-size:10px; grid-row:span 2; }.proof-strip strong { font-size:12px; }.proof-strip small { color:var(--muted); font-size:10px; margin-top:3px; }
.form-section { padding:118px 0 130px; }.form-heading { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:48px; }.form-heading h2,.after-form h2 { font-size:clamp(35px,4.6vw,61px); letter-spacing:-.07em; line-height:1.02; margin:0; }.heading-note { color:var(--muted); text-align:right; font-family:'DM Mono',monospace; font-size:10px; line-height:1.7; margin-bottom:3px; }.heading-note span { color:var(--coral); }
.form-layout { display:grid; grid-template-columns:245px 1fr; gap:62px; background:var(--paper); padding:42px; box-shadow:var(--shadow); }.steps-rail { position:relative; padding:7px 0 0 2px; }.progress-line { position:absolute; width:1px; background:#d6ded4; left:15px; top:26px; bottom:116px; }.progress-line span { width:2px; background:var(--coral); display:block; height:25%; transition:height .3s ease; }.step-item { position:relative; display:block; width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:0 8px 31px 45px; color:var(--muted); }.step-item > span { position:absolute; left:0; top:0; z-index:1; width:31px; height:31px; background:var(--paper); border:1px solid #cad4c9; border-radius:50%; display:grid; place-items:center; font:10px 'DM Mono',monospace; }.step-item strong,.step-item small { display:block; }.step-item strong { font-size:12px; color:var(--ink); }.step-item small { font-size:10px; margin-top:4px; }.step-item.is-active > span,.step-item.is-complete > span { background:var(--coral); border-color:var(--coral); color:var(--white); }.step-item.is-active small { color:var(--coral); }.rail-note { border-top:1px solid var(--line); padding:18px 15px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }.rail-note span { color:var(--coral); font-size:16px; margin-right:5px; }
.quote-form { min-width:0; }.form-step { animation:fade-in .35s ease both; }.form-step[hidden] { display:none; }.step-heading { margin-bottom:32px; }.mobile-step-count { color:var(--coral); display:none; font:10px 'DM Mono',monospace; }.step-heading h3 { font-size:25px; letter-spacing:-.045em; margin:0 0 7px; }.step-heading p { font-size:12px; color:var(--muted); margin:0; }.field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:23px 18px; }.field { min-width:0; }.field.span-2 { grid-column:span 2; }.field label,.choice-fieldset legend { display:block; color:#3d3d3d; font-size:10px; font-weight:800; margin-bottom:8px; }.field label span,.choice-fieldset legend span,.consent-row b { color:var(--coral); }.field label small { color:var(--muted); font-weight:400; }.field input,.field select,.field textarea { width:100%; border:0; border-bottom:1px solid #bbc7bb; border-radius:0; background:transparent; color:var(--ink); padding:8px 0 11px; font-size:13px; outline:none; transition:border-color .2s ease; }.field textarea { resize:vertical; min-height:77px; border:1px solid #cbd5ca; padding:12px; }.field input:focus,.field select:focus { border-color:var(--coral); }.field textarea:focus { border-color:var(--coral); outline:2px solid rgba(215,124,84,.15); }.field input::placeholder,.field textarea::placeholder { color:#a3ada4; }.field select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 7px) 54%,100% 54%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; padding-right:20px; }
.choice-fieldset { border:0; margin:0 0 30px; padding:0; }.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.choice-card { cursor:pointer; min-width:0; }.choice-card input,.tag-choice input,.consent-row input { position:absolute; opacity:0; }.choice-box { height:100%; min-height:86px; border:1px solid #d6ddd4; padding:13px 14px; display:grid; grid-template-columns:22px 1fr; gap:1px 8px; align-content:center; transition:border-color .2s ease,background .2s ease,transform .2s ease; }.choice-box b { grid-row:span 2; font-size:17px; font-weight:400; color:var(--coral); }.choice-box strong,.choice-box small { display:block; }.choice-box strong { font-size:11px; line-height:1.3; }.choice-box small { color:var(--muted); font-size:9px; margin-top:4px; }.choice-card input:checked + .choice-box { border-color:var(--ink); background:#edf3df; box-shadow:inset 4px 0 var(--lime); }.choice-card:hover .choice-box { transform:translateY(-2px); border-color:var(--coral); }.choice-wide { grid-column:span 2; }.field-error { display:block; color:#b64d35; min-height:0; font-size:10px; margin-top:6px; }.has-error input,.has-error select,.has-error textarea { border-color:#b64d35; }.has-error .choice-box { border-color:#b64d35; }.compact-grid { margin-top:4px; }.function-fieldset { margin-top:31px; margin-bottom:0; }.tag-grid { display:flex; flex-wrap:wrap; gap:8px; }.tag-choice { cursor:pointer; position:relative; }.tag-choice span { display:block; border:1px solid #d6ddd4; padding:10px 12px; color:#3d3d3d; font-size:10px; transition:.2s ease; }.tag-choice:hover span,.tag-choice input:checked + span { background:var(--ink); border-color:var(--ink); color:var(--cream); }.consent-row { display:flex; align-items:flex-start; gap:12px; margin-top:29px; cursor:pointer; color:#3d3d3d; font-size:11px; line-height:1.5; max-width:550px; position:relative; }.consent-check { flex:none; width:21px; height:21px; border:1px solid #aebbad; display:grid; place-items:center; color:transparent; transition:.2s ease; }.consent-row input:checked + .consent-check { color:var(--ink); background:var(--lime); border-color:var(--ink); }.consent-row input:focus-visible + .consent-check { outline:3px solid var(--coral); outline-offset:2px; }.form-footer { display:flex; align-items:center; margin-top:45px; padding-top:22px; border-top:1px solid var(--line); }.footer-spacer { flex:1; }.form-alert { background:#fff0e9; color:#9e4934; font-size:11px; padding:11px 14px; margin-bottom:20px; border-left:3px solid var(--coral); }.form-alert[hidden] { display:none; }
.after-form { display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:50px; align-items:start; padding:77px 0 100px; border-top:1px solid var(--line); }.after-mark { font-size:70px; line-height:.8; color:var(--coral); }.after-form p:last-child { font-size:13px; color:#444444; line-height:1.7; margin-top:9px; }.site-footer { border-top:1px solid var(--line); min-height:110px; display:flex; align-items:center; justify-content:space-between; }.site-footer p { color:var(--muted); font-size:10px; line-height:1.55; margin:0; }.footer-year { color:var(--muted); font:10px 'DM Mono',monospace; }
.success-dialog { position:fixed; inset:0; background:rgba(22,61,44,.6); z-index:20; display:grid; place-items:center; padding:24px; }.success-dialog[hidden] { display:none; }.success-card { width:min(100%,420px); background:var(--paper); padding:38px; position:relative; box-shadow:12px 12px 0 var(--lime); }.success-card h2 { font-size:40px; letter-spacing:-.07em; margin:0 0 13px; }.success-card p:not(.eyebrow) { color:var(--muted); font-size:12px; line-height:1.7; margin-bottom:25px; }.success-icon { display:grid; place-items:center; width:39px; height:39px; border-radius:50%; background:var(--lime); font-weight:800; margin-bottom:25px; }.dialog-close { border:0; background:transparent; position:absolute; right:17px; top:15px; font-size:25px; color:var(--muted); cursor:pointer; }
.final-actions { display:flex; align-items:center; gap:11px; flex-wrap:wrap; }.final-actions .button { min-height:44px; }.final-routing-note { width:100%; color:var(--muted); font-size:10px; margin:0 0 3px; }
@keyframes fade-in { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
@media (max-width:900px){ .hero{grid-template-columns:1fr; padding-top:48px}.hero-copy{position:relative;z-index:2}.hero-visual{height:410px;margin-top:28px}.form-layout{grid-template-columns:190px 1fr;gap:30px;padding:27px}.after-form{grid-template-columns:1fr 1.5fr;gap:28px}.after-form>p{grid-column:2}.after-mark{grid-row:span 2} }
@media (max-width:680px){ .section-shell,.site-header{width:min(100% - 38px,520px)}.site-header{height:74px}.brand-logo{width:132px;max-height:38px}.brand-caption,.header-link{display:none}.hero{padding:35px 0 62px;min-height:0}.hero h1{font-size:52px}.hero-intro{font-size:14px}.hero-visual{height:350px;margin-left:-5px;margin-right:-5px}.greenhouse-card{width:300px;height:330px;padding:17px 17px 14px;top:10px}.greenhouse-illustration{height:262px}.house-roof{width:178px;height:120px;left:60px;top:60px}.house-wall{left:60px;top:124px;width:178px;height:95px}.frame-a{left:104px}.frame-b{left:149px}.frame-c{left:194px}.plant{bottom:40px;transform:scale(.8)}.plant-middle{transform:scale(1)}.sensor{transform:scale(.82);transform-origin:top left}.sensor-water{transform-origin:bottom right}.sun-disc{width:67px;height:67px;font-size:8px}.hero-sticker{width:83px;height:83px;font-size:9px;left:0;bottom:0}.proof-strip{display:block;padding:0}.proof-strip>div,.proof-strip>div:first-child{border-left:0;border-bottom:1px solid var(--line);padding:16px 0}.proof-strip>div:last-child{border-bottom:0}.form-section{padding:76px 0 83px}.form-heading{display:block;padding-bottom:31px}.heading-note{text-align:left;margin-top:17px}.form-layout{display:block;padding:22px 18px}.steps-rail{display:flex;gap:4px;padding:0 0 29px}.progress-line{height:2px;width:100%;left:0;right:0;top:16px;bottom:auto}.progress-line span{height:2px;width:25%;transition:width .3s ease}.step-item{padding:0;text-align:center;flex:1;z-index:1}.step-item>span{position:relative;left:auto;top:auto;margin:0 auto 8px}.step-item strong{font-size:9px}.step-item small,.rail-note{display:none}.mobile-step-count{display:block;margin-bottom:11px}.step-heading h3{font-size:22px}.field-grid{display:block}.field{margin-bottom:21px}.field.span-2{grid-column:auto}.choice-grid{display:block}.choice-card{display:block;margin-bottom:8px}.choice-wide{grid-column:auto}.choice-box{min-height:69px}.tag-grid{display:grid;grid-template-columns:1fr 1fr}.tag-choice span{height:100%}.form-footer{margin-top:33px}.after-form{display:block;padding:61px 0 70px}.after-mark{font-size:48px;margin-bottom:27px}.after-form h2{font-size:43px}.after-form>p{margin-top:31px}.site-footer{min-height:140px;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:27px 0}.site-footer .brand-logo{width:132px}.site-footer .footer-year{grid-column:span 2}.success-card{padding:31px 25px}.success-card h2{font-size:35px} }
