@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Inter:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Inter:wght@400;500&display=swap";@import "https://googleapis.com";:root{--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--bg:#0d1509;--ink:#f2f5ee;--ink-soft:#9db08f;--ink-faint:#708262;--line:#ffffff17;--line-strong:#ffffff29;--surface:#ffffff0a;--surface-hover:#ffffff12;--panel:#131c0fdb;--panel-solid:#161f12;--accent:#7cc35c;--accent-hover:#8fd06e;--accent-press:#6bb14b;--accent-ink:#0c1707;--accent-ring:#7cc35c52;--accent-tint:#7cc35c1f;--accent-tint-strong:#7cc35c2e;--error:#f0906f;--error-tint:#f0906f1f;--error-ring:#f0906f47;--radius-lg:18px;--radius:12px;--radius-sm:9px;--shadow-lg:0 32px 64px -16px #000000a6;--shadow-md:0 12px 32px -8px #00000073;--shadow-pop:0 16px 40px -8px #00000080;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{font-size:16px}body{min-height:100vh;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior:none;margin:0;line-height:1.5;overflow-x:hidden}#root{min-height:100vh}p{margin:0}body:before{content:"";z-index:-2;background:url(/assets/darkened_landscape_plans-JZBH05du.jpg) 50%/cover no-repeat;position:fixed;inset:0}body:after{content:"";z-index:-1;background:radial-gradient(120% 90% at 50% 0,#0d150959,#0000 55%),linear-gradient(#0d15098c 0%,#0d1509d1 100%);position:fixed;inset:0}.page{justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(5.5rem,4rem + 6vh,8rem) 1.25rem 4rem;display:flex}.panel{text-align:center;width:100%;max-width:520px;animation:rise .5s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.eyebrow{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem;font-size:1.45rem;font-weight:600;display:block}.title{letter-spacing:-.025em;color:var(--ink);margin:0 0 .6rem;font-size:clamp(1.7rem,4vw,2.15rem);font-weight:600;line-height:1.15}.subtitle{color:var(--ink-soft);max-width:44ch;margin:0 auto 1.75rem;font-size:.95rem;line-height:1.6}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:left;box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0f;-webkit-backdrop-filter:blur(24px)saturate(1.3);backdrop-filter:blur(24px)saturate(1.3);padding:1.9rem}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.card{background:var(--panel-solid)}}.field{margin-bottom:1.35rem;position:relative}.field:last-of-type{margin-bottom:0}.field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}label{letter-spacing:.005em;color:var(--ink);margin-bottom:.45rem;font-size:.8rem;font-weight:600;display:block}.hint{font-family:var(--mono);color:var(--ink-faint);margin-top:.15rem;font-size:.68rem;font-weight:400;display:block}input[type=text],input[type=number],select{width:100%;font-size:12px;font-family:var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color .16s var(--ease), box-shadow .16s var(--ease), background .16s var(--ease);outline:none;padding:.7rem .8rem}input::placeholder{color:var(--ink-faint)}input[type=text]:hover,input[type=number]:hover,select:hover{background-color:var(--surface-hover)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239db08f' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:12px 8px;padding-right:2.4rem}select option{background:var(--panel-solid);color:var(--ink)}input[type=text]:focus-visible,input[type=number]:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background-color:var(--surface-hover)}.file-drop{border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;min-height:148px;transition:border-color .16s var(--ease), background .16s var(--ease), transform .16s var(--ease);justify-content:center;align-items:center;padding:.6rem;display:flex;overflow:hidden}.file-drop:hover{border-color:var(--accent);background:var(--accent-tint)}.file-drop:has(input:focus-visible){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);border-style:solid}.file-drop:has(.image-preview){border-style:solid;border-color:var(--line);padding:0}.file-drop-placeholder{font-family:var(--mono);color:var(--ink-faint);text-align:center;font-size:.76rem;line-height:1.5}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.full-width{grid-column:1/-1}.image-preview{object-fit:cover;border-radius:calc(var(--radius) - 2px);width:100%;height:100%;min-height:148px;max-height:200px;display:block}.file-name{font-family:var(--mono);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin-top:.5rem;font-size:.72rem;overflow:hidden}.submit{width:100%;font-size:.92rem;font-weight:600;font-family:var(--sans);letter-spacing:.005em;color:var(--accent-ink);background:linear-gradient(180deg, var(--accent-hover), var(--accent));border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 8px 20px -6px var(--accent-ring);transition:filter .16s var(--ease), transform 80ms var(--ease), box-shadow .16s var(--ease);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1.9rem;padding:.85rem 1rem;display:inline-flex}.submit-arrow{transition:transform .16s var(--ease)}.submit:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 12px 26px -6px var(--accent-ring)}.submit:hover:not(:disabled) .submit-arrow{transform:translate(3px)}.submit:active:not(:disabled){transform:translateY(1px)scale(.995)}.submit:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.submit:disabled{background:var(--surface-hover);color:var(--ink-faint);cursor:not-allowed;box-shadow:none}.loading-hint{text-align:center;color:var(--ink-soft);margin:.5rem 0 0;font-size:.8rem}.status{border-radius:var(--radius-sm);animation:rise .3s var(--ease) both;margin-top:1.35rem;padding:.9rem 1rem;font-size:.86rem;line-height:1.55}.status.error{background:var(--error-tint);color:var(--error);border:1px solid var(--error-ring)}.status.warning{color:#7a5d10;background:#fdf6e3;border:1px solid #eadfb8}.status-heading{margin:0 0 .45rem;font-weight:600}.status.warning ul{margin:0;padding-left:1.15rem}.status.warning li+li{margin-top:.35rem}.result{border-top:1px solid var(--line);animation:rise .4s var(--ease) both;margin-top:1.6rem;padding-top:1.6rem}.result-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .75rem;font-size:.68rem}.result-negative .result-label{color:var(--error)}.prediction-value{background:var(--accent-tint);border:1px solid var(--accent-tint-strong);border-radius:var(--radius);justify-content:center;align-items:center;gap:.65rem;padding:1.5rem 1rem;display:flex}.prediction-value:before{content:"";background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px var(--accent-tint-strong);border-radius:50%;flex-shrink:0}.prediction-text{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--accent);font-size:1.35rem;font-weight:700}.result-negative .prediction-value{background:var(--error-tint);border-color:var(--error-ring)}.result-negative .prediction-value:before{background:var(--error);box-shadow:0 0 0 4px var(--error-tint)}.result-negative .prediction-text{color:var(--error)}.prediction-caption{text-align:center;color:var(--ink-soft);margin:.7rem 0 0;font-size:.82rem;line-height:1.5}.result-negative .prediction-caption{color:var(--error)}.result-metrics{font-family:var(--mono);border:1px solid var(--line);border-radius:var(--radius-sm);gap:0;margin:1.35rem 0 0;font-size:.8rem;display:grid;overflow:hidden}.result-metrics>div{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.6rem .85rem;display:flex}.result-metrics>div:last-child{border-bottom:none}.result-metrics dt{color:var(--ink-soft)}.result-metrics dd{text-align:right;color:var(--ink);margin:0}.result-impact{color:var(--ink-soft);margin-top:1.35rem;font-size:.88rem;line-height:1.6}.result-impact-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .5rem;font-size:.68rem}.result-impact ul{margin:0;padding-left:1.15rem}.result-impact li{margin-bottom:.35rem}.result-impact li::marker{color:var(--accent)}.result-footnotes{gap:.5rem;margin-top:1.1rem;display:grid}.result-footnotes p{color:var(--ink-faint);margin:0;font-size:.74rem;font-style:italic;line-height:1.55}.field>.info-tooltip{position:absolute;top:0;right:0}.info-tooltip{display:inline-flex;position:relative}.info-tooltip-btn{border:1px solid var(--line-strong);background:var(--surface);width:1.2rem;height:1.2rem;color:var(--ink-soft);cursor:pointer;transition:border-color .16s var(--ease), color .16s var(--ease), background .16s var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.68rem;font-weight:700;line-height:1;display:flex}.info-tooltip-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.info-tooltip-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.info-tooltip-popup{background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:230px;box-shadow:var(--shadow-pop);z-index:20;animation:pop .18s var(--ease) both;padding:.85rem;position:absolute;top:calc(100% + .5rem);right:0}.info-tooltip-popup--floating{z-index:250;position:fixed;right:auto}.info-tooltip-popup p{color:var(--ink-soft);margin:0 0 .5rem;font-size:.78rem;line-height:1.5}.info-tooltip-close{color:var(--accent);font-family:var(--mono);cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem;font-weight:700}.info-tooltip-close:hover{text-decoration:underline}.sapling-loader{justify-content:center;align-items:center;padding:.5rem 0 0;display:flex}.sapling-svg{width:112px;height:112px;display:block}.sapling-stem{stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transform-origin:50px 90px;animation:3s ease-in-out infinite sapling-grow-stem}.sapling-leaf path{fill:#86b374}.sapling-leaf{transform-origin:50px 90px}.sapling-leaf-left{animation:3s ease-in-out infinite sapling-leaf-left}.sapling-leaf-right{animation:3s ease-in-out infinite sapling-leaf-right}.sapling-leaf-top{animation:3s ease-in-out infinite sapling-leaf-top}@keyframes sapling-grow-stem{0%,10%{transform:scaleY(0)}40%{transform:scaleY(1)}85%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes sapling-leaf-left{0%,35%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3)}}@keyframes sapling-leaf-right{0%,45%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3)}}@keyframes sapling-leaf-top{0%,55%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.navbar{z-index:50;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;position:fixed;top:0;left:0;right:0}.navbar:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(12px)saturate(1.2);backdrop-filter:blur(12px)saturate(1.2);opacity:0;pointer-events:none;background:#0d1509b8;border-bottom:1px solid #ffffff17;transition:opacity .25s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.navbar.is-scrolled:before{opacity:1}.navbar-logo-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;line-height:0;display:inline-flex}.navbar-logo-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #7cc35c52}.navbar-logo{width:auto;height:4rem;display:block}.navbar-actions{gap:.55rem;display:flex}.navbar-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f2f5ee;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#131c0fdb;border:1px solid #ffffff29;border-radius:999px;justify-content:center;align-items:center;height:2.3rem;padding:0 1rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:600;text-decoration:none;transition:border-color .16s cubic-bezier(.22,1,.36,1),background .16s cubic-bezier(.22,1,.36,1),color .16s cubic-bezier(.22,1,.36,1);display:flex}.navbar-btn:hover{color:#7cc35c;background:#7cc35c1f;border-color:#7cc35c}.navbar-btn:focus-visible{border-color:#7cc35c;outline:none;box-shadow:0 0 0 3px #7cc35c52}@media (width<=560px){.navbar{padding:.85rem}.navbar-logo{height:3.4rem}.navbar-btn{height:2.1rem;padding:0 .8rem;font-size:.68rem}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#080c069e;justify-content:center;align-items:center;padding:1.5rem;animation:.2s cubic-bezier(.22,1,.36,1) both modal-fade;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}}.modal-box{background:#161f12;border:1px solid #ffffff29;border-radius:18px;width:100%;max-width:440px;padding:1.9rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:.24s cubic-bezier(.22,1,.36,1) both modal-pop;box-shadow:0 32px 64px -16px #000000a6}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}.modal-title{letter-spacing:-.015em;color:#f2f5ee;margin:0 0 .75rem;font-size:1.2rem;font-weight:600}.modal-content{color:#9db08f;margin-bottom:1.6rem;font-size:.92rem;line-height:1.6}.modal-content a{color:#7cc35c;text-underline-offset:2px}.modal-content a:hover{color:#8fd06e}.modal-close{color:#0c1707;cursor:pointer;background:#7cc35c;border:none;border-radius:9px;padding:.6rem 1.3rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:filter .16s cubic-bezier(.22,1,.36,1)}.modal-close:hover{filter:brightness(1.06)}.modal-close:focus-visible{outline:none;box-shadow:0 0 0 3px #7cc35c52}.tut-lock,.tut-lock body{overflow:hidden!important}.tut{z-index:200;pointer-events:none;position:fixed;inset:0}.tut-scrim{pointer-events:auto;animation:tut-fade .2s var(--ease) both;background:#060a04bd;position:fixed;inset:0}.tut-block{pointer-events:auto;position:fixed}.tut-spotlight{border-radius:var(--radius);outline:2px solid var(--accent);outline-offset:2px;pointer-events:none;transition:top .3s var(--ease), left .3s var(--ease), width .3s var(--ease), height .3s var(--ease);position:fixed;box-shadow:0 0 0 9999px #060a04bd}.tut-card{background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(340px,100vw - 2.5rem);box-shadow:var(--shadow-pop);font-family:var(--sans);pointer-events:auto;animation:tut-fade .18s var(--ease) both;padding:1.15rem 1.2rem 1.05rem;position:fixed}.tut-card.is-above{transform:translateY(-100%)}.tut-card:after{content:"";background:var(--panel-solid);border:1px solid var(--line-strong);width:14px;height:14px;position:absolute;right:20px;transform:rotate(45deg)}.tut-card.is-above:after{border-top:none;border-left:none;bottom:-8px}.tut-card:not(.is-above):after{border-bottom:none;border-right:none;top:-8px}@keyframes tut-fade{0%{opacity:0}}.tut-step{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-faint);margin:0 0 .5rem;font-size:.66rem}.tut-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 .5rem;font-size:1rem;font-weight:600}.tut-body{color:var(--ink-soft);margin:0 0 1.1rem;font-size:.86rem;line-height:1.55}.tut-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tut-skip{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-faint);cursor:pointer;transition:color .16s var(--ease);background:0 0;border:none;padding:0;font-size:.72rem;font-weight:600}.tut-skip:hover{color:var(--ink-soft)}.tut-next{font-size:.82rem;font-weight:600;font-family:var(--sans);color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:filter .16s var(--ease);border:none;padding:.5rem 1.15rem;box-shadow:0 4px 12px -6px #00000080}.tut-next:hover{filter:brightness(1.06)}.tut-skip:focus-visible,.tut-next:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}:root{--main-font:"Ubuntu", system-ui, sans-serif;--green-main:#659251;--black-main:#050505;--white-main:#fff;--border:none}*{box-sizing:border-box}body{font-family:var(--main-font);margin:0}.page{min-height:100vh;color:var(--white-main);font-family:var(--main-font);position:relative}.page__bg{object-fit:cover;z-index:-2;will-change:transform;width:100%;height:120%;position:fixed;top:-10%;left:0}.page__overlay{z-index:-1;background:linear-gradient(100deg,#0a0a08b8 0%,#0a0a0873 45%,#0a0a0840 100%);position:fixed;inset:0}.hero__header{z-index:2;justify-content:space-between;align-items:center;padding:2rem 3rem;display:flex;position:relative}.hero__mark{color:var(--green-main);font-family:var(--main-font);letter-spacing:.01em;font-size:1.1rem;text-decoration:none}.hero__nav ul{gap:2.25rem;margin:0;padding:0;list-style:none;display:flex}.hero__nav a{color:var(--white-main);border-bottom:.02rem solid #0000;padding-bottom:.2rem;font-size:.95rem;text-decoration:none;transition:border-color .2s,color .2s}.hero__content{z-index:2;flex-direction:column;justify-content:center;max-width:34rem;min-height:100vh;padding:2rem 3rem 6rem;display:flex;position:relative}.hero__content:before{content:"";background:var(--green-main);width:25%;height:1.5rem;margin-bottom:2rem;display:block}.hero__title{font-family:var(--);color:var(--white-main);text-shadow:0 .2rem .5rem #00000080;text-align:center;margin:0 0 1.25rem;font-size:clamp(3rem,5vw,4rem);font-weight:500;line-height:1.08}.hero__subtitle{color:var(--green-main);max-width:30ch;margin:0 0 2rem;font-size:1.05rem;line-height:1.6}.hero__cta{letter-spacing:.005em;color:var(--white-main);background:var(--green-main);cursor:pointer;border:none;border-radius:9px;justify-content:center;align-self:flex-end;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.85rem 1.75rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:filter .16s cubic-bezier(.22,1,.36,1),transform 80ms cubic-bezier(.22,1,.36,1);display:inline-flex}.hero__cta:hover,.hero__cta:focus-visible{filter:brightness(1.08)}.hero__cta:active{transform:translateY(1px)scale(.995)}.hero__cta:focus-visible{outline:none;box-shadow:0 0 0 3px #65925166}.page__section{z-index:2;background:var(--black-main);padding:6rem 3rem;position:relative}h2{font-family:var(--main-font);font-weight:2rem;margin:0 0 1rem;font-size:2.5rem}.page__section p{max-width:40ch;margin:0}.section_break{padding-top:2rem}.section_break:before{content:"";background:var(--green-main);height:.3rem;margin-bottom:2rem;display:block}.section_break__title{color:var(--green-main)}.section_break__description{color:var(--white-main);padding:.5rem 0;font-size:1.25rem;font-style:italic}.contact_title{color:var(--green-main);margin:.25rem 0 0;font-size:.8rem;font-style:normal;font-weight:600}.contact_list{align-items:flex-start;gap:clamp(1.5rem,5vw,4rem);margin-top:1.5rem;display:flex}.contact_person{flex:1 1 0;min-width:0}.contact_name{color:var(--white-main);margin:0;font-size:.9rem;font-style:italic}.contact_email{color:var(--white-main);overflow-wrap:anywhere;margin-top:.65rem;font-size:.6rem;display:inline-block}.contact_email:hover,.contact_email:focus-visible{color:var(--green-main)}@media (width<=640px){.hero__header{padding:1.5rem}.hero__nav ul{gap:1.25rem}.hero__content{background-color:#000c;padding:1.5rem 1.5rem 4rem}.page__section{padding:4rem 1.5rem}.contact_list{flex-direction:column}}@media (prefers-reduced-motion:reduce){.hero__nav a,.hero__cta{transition:none}.page__bg{transform:none!important}}
