:root{--ink:#20352d;--muted:#6c7b73;--line:#e0e7e1;--paper:#f7f8f4;--green:#2f604b}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}.shell{max-width:1600px;margin:auto;padding:0 34px 20px}header{height:78px;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,header{display:flex;align-items:center}.brand{gap:11px;text-decoration:none;font-weight:800;font-size:23px;letter-spacing:-1px}.mark{width:37px;height:37px;display:grid;place-items:center;background:var(--green);color:white;border-radius:11px 11px 11px 3px}.light{color:#7c9b87}.brand small{display:block;margin-top:5px;font-size:8px;letter-spacing:1.7px;color:var(--muted)}.beta{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--muted)}.intro{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:38px 0 30px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#6e8d78;margin:0 0 10px}h1{font-family:Georgia,serif;font-size:clamp(35px,4vw,52px);line-height:1.03;letter-spacing:-1.7px;font-weight:500;margin:0}.lede{font-size:15px;margin:15px 0 0}.intro aside,.lede{color:var(--muted);line-height:1.5}.intro aside{width:260px;border-left:2px solid #b3c9b8;padding:5px 0 5px 15px;font-size:12px;flex-shrink:0}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:590px;border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden;box-shadow:0 8px 35px #243b2d0a}.side{padding:23px 20px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column}h2{font-size:19px;letter-spacing:-.5px;margin:0}.muted{color:var(--muted);font-size:12px;line-height:1.55;margin:7px 0 21px}.feature{display:flex;align-items:center;gap:10px;border-top:1px solid #edf0ec;padding:14px 0}.featureicon{background:#e8f0e9;color:var(--green);width:33px;height:33px;border-radius:9px;display:grid;place-items:center;font-size:20px;flex-shrink:0}.feature b,.feature small{display:block}.feature b{font-size:12px;margin-bottom:4px}.feature small{color:var(--muted);font-size:10px}.feature em{margin-left:auto;font-style:normal;font-size:8px;letter-spacing:.5px;color:#3f8061;font-weight:800;white-space:nowrap}.selected{margin-top:16px;padding:15px;border-radius:10px;background:#f6f8f5;border:1px solid #e7ede7}.selected .eyebrow{font-size:9px;margin-bottom:8px}.selected h3{margin:0 0 6px;font-size:14px}.selected p:last-child{font-size:11px;overflow-wrap:anywhere;margin:0}.selected p:last-child,.warning{color:var(--muted);line-height:1.5}.warning{font-size:10px;margin:15px 0}.warning b{color:var(--ink)}.source{margin-top:auto;padding-top:14px;color:#8a968e;font-size:9px;line-height:1.5}.mapcol{display:flex;flex-direction:column;min-width:0}.maphead{height:63px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.maphead b,.maphead small{display:block}.maphead b{font-size:12px;margin-bottom:4px}.maphead small,.maphead>span{font-size:10px;color:var(--muted)}.mapwrap{position:relative;flex:1 1;min-height:470px}.mapcanvas{position:absolute;inset:0;width:100%;height:100%}.mapfoot{gap:10px;padding:10px 15px;color:#8a968e;border-top:1px solid var(--line)}.mapfoot,footer{display:flex;justify-content:space-between;font-size:9px}footer{padding:18px 0 0;color:#87948b;letter-spacing:.4px}footer span{letter-spacing:0}@media(max-width:900px){.shell{padding:0 16px 16px}.intro{align-items:start;flex-direction:column;padding:30px 0 22px;gap:20px}.intro aside{width:auto;max-width:450px}.workspace{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line)}.source{margin-top:12px}.mapwrap{min-height:55vh}}@media(max-width:500px){header{height:67px}.beta{font-size:8px}.brand{font-size:21px}.maphead{padding:0 12px}.maphead>span{display:none}.mapfoot,footer{flex-direction:column}}.mapcol{position:relative}.parcel-toggle{position:absolute;right:16px;top:65px;z-index:5;border:1px solid #b9cec4;background:#fff;color:#174f40;padding:9px 13px;border-radius:8px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #00000012}.parcel-toggle:hover{background:#eaf4ef}.parcel-toggle:focus-visible{outline:3px solid #347b61;outline-offset:2px}.parcel-toggle[aria-pressed=false]{color:#56645f;background:#f5f6f5}.lot-controls{display:grid;grid-template-columns:minmax(145px,1fr) minmax(170px,1fr) minmax(220px,1.6fr);grid-gap:12px;gap:12px;padding:12px 16px;background:#f9fbf8;border-bottom:1px solid var(--line);align-items:start}.map-options{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:9px}.map-options legend{font-size:11px;font-weight:800;margin-bottom:9px}.map-options label{font-size:12px;display:flex;align-items:center;gap:7px;cursor:pointer}.map-options input{accent-color:#2f604b}.segmented{display:flex;gap:3px;background:#e6eee8;padding:3px;border-radius:8px}.segmented button{flex:1 1;border:0;border-radius:6px;padding:8px 6px;background:transparent;color:#315b49;cursor:pointer;font-weight:700;font-size:11px}.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #0002}.house-options{display:flex;flex-direction:column;gap:7px}.house-options strong{font-size:11px}.house-options small{font-size:10px;line-height:1.45;color:var(--muted)}.placement-button{background:var(--green);color:white;border:0;border-radius:7px;padding:9px 12px;cursor:pointer;font-weight:700;font-size:11px}.placement-button:focus-visible,.segmented button:focus-visible{outline:3px solid #e4aa4b;outline-offset:2px}.heading-label{font-size:11px;font-weight:700;display:flex;justify-content:space-between}.house-options input[type=range]{width:100%;accent-color:#2f604b}.placement-disclaimer{font-size:10px;color:#795e31;background:#fff9ed;padding:10px 15px;margin:0;border-top:1px solid #f1e6cc;line-height:1.5}.parcel-toggle{display:none}@media(max-width:1100px){.lot-controls{grid-template-columns:1fr 1fr}.house-options{grid-column:1/-1}}@media(max-width:600px){.lot-controls{grid-template-columns:1fr 1fr;padding:12px;gap:16px}.house-options{grid-column:1/-1}}.fit-status{padding:9px 10px;border-radius:7px;font-size:11px;font-weight:700;line-height:1.4;background:#fff4d9;color:#735017}.fit-inside{background:#e5f5eb;color:#146344}.fit-outside{background:#ffebe9;color:#922f2c}.fit-unknown{background:#fff4d9;color:#735017}.mirror-control{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:600;color:#274c3f;margin:8px 0}.mirror-control input{accent-color:#2d7961}.property-search{padding:15px 16px;background:#fff;border-bottom:1px solid var(--line)}.property-search-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.property-search-title strong{font-size:13px}.property-search-title span{font-size:10px;color:#6b766f}.property-search-row{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap}.property-search-modes{display:flex;gap:3px;background:#e6eee8;border-radius:8px;padding:3px}.property-search-modes button{border:0;border-radius:6px;padding:9px 12px;background:transparent;color:#315b49;font-size:11px;font-weight:700;cursor:pointer}.property-search-modes button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #0002}.property-search-input{flex:1 1;min-width:200px;display:flex}.property-search-input input{width:100%;border:1px solid #b9cec4;border-radius:7px;padding:9px 11px;font:inherit;font-size:12px;color:var(--ink)}.property-search-submit{border:0;border-radius:7px;padding:9px 13px;background:#e5e9e6;color:#67746b;font-size:11px;font-weight:700;cursor:not-allowed}.property-search-note{font-size:10px;line-height:1.5;color:var(--muted);margin:8px 0 0}.property-search button:focus-visible,.property-search input:focus-visible{outline:3px solid #e4aa4b;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:650px){.property-search-title{align-items:flex-start;flex-direction:column;gap:4px}.property-search-modes{width:100%}.property-search-modes button{flex:1 1}.property-search-submit{width:100%}}.property-search-submit:not(:disabled){background:#2f604b;color:white;cursor:pointer}.property-search-submit:disabled{opacity:.7}.parcel-search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));grid-gap:7px;gap:7px;margin-top:10px;max-height:190px;overflow:auto}.parcel-search-results button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid #b9cec4;background:#f6faf7;border-radius:7px;padding:9px 11px;text-align:left;cursor:pointer;color:#274c3f}.parcel-search-results button strong{font-size:12px;overflow-wrap:anywhere}.parcel-search-results button span{font-size:10px;color:#60766b}.parcel-search-results button:hover{border-color:#2f604b;background:#e8f3eb}.parcel-additional{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:10px}.parcel-additional button{border:1px solid #2f604b;border-radius:7px;padding:9px 12px;background:#fff;color:#245440;font-weight:700;font-size:11px;cursor:pointer}.parcel-additional button:disabled{opacity:.65;cursor:wait}.parcel-additional span{color:var(--muted);font-size:10px}.sun-panel{padding:13px 16px;background:#fffaf0;border-bottom:1px solid #e8dec6}.sun-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sun-heading small,.sun-heading strong{display:block}.sun-heading strong{font-size:13px}.sun-heading small{font-size:10px;color:#6f7368;margin-top:3px}.sun-heading label{font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px}.sun-panel input[type=checkbox]{accent-color:#ad7924}.sun-fields{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px}.sun-fields label{font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px}.sun-fields input{border:1px solid #d6c8ab;border-radius:6px;padding:5px;background:white;color:#24372e;font:inherit;font-size:11px}.sun-readout{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:11px}.sun-readout b{color:#67512b}.sun-note{margin:9px 0 0;font-size:10px;color:#766b55;line-height:1.5}.sun-panel input:focus-visible{outline:3px solid #dcae4c;outline-offset:2px}.sun-sliders{display:grid;grid-gap:7px;gap:7px;margin-top:12px}.sun-height label,.sun-sliders label{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;font-weight:700;color:#334b3e}.sun-height output,.sun-sliders output{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#855c18}.sun-height input[type=range],.sun-sliders input[type=range]{width:100%;accent-color:#b9872c;cursor:pointer}.sun-slider-ends{display:flex;justify-content:space-between;font-size:10px;color:#796e58;margin-bottom:8px}.sun-height{display:grid;grid-gap:6px;gap:6px;margin-top:10px;border-top:1px solid #eadfc6;padding-top:10px}.orientation-panel{padding:14px 16px;background:#f3f7f4;border-bottom:1px solid #d5e3d9}.orientation-heading small,.orientation-heading strong{display:block}.orientation-heading strong{font-size:13px;color:#254b3c}.orientation-heading small,.orientation-location{font-size:11px;color:#64776b;margin-top:4px}.orientation-table-wrap{overflow-x:auto;margin-top:12px}.orientation-table{width:100%;border-collapse:collapse;font-size:11px;min-width:520px}.orientation-table td,.orientation-table th{padding:9px 7px;border-bottom:1px solid #d6e3d9;text-align:left;vertical-align:middle}.orientation-table th{color:#315b49;background:#e5eee7}.orientation-current{background:#e9f5eb;font-weight:700}.orientation-table meter{width:70px;height:10px;vertical-align:middle}.orientation-table button{border:1px solid #2f604b;border-radius:6px;background:#fff;color:#245440;font-size:11px;font-weight:700;padding:6px 8px;cursor:pointer}.orientation-table button:disabled{opacity:.55;cursor:default}.orientation-note{font-size:10px;line-height:1.6;color:#65756b;margin:10px 0 0}.placement-recommendations{padding:15px 16px;background:#f7f8f2;border-bottom:1px solid #d9e2d6}.placement-feedback,.placement-intro{font-size:11px;line-height:1.5;color:#526a5b;margin:9px 0}.placement-preferences{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin:12px 0}.placement-preferences label{display:grid;grid-gap:7px;gap:7px;font-size:11px;font-weight:650;color:#2b4f3f}.placement-preferences label span{display:flex;justify-content:space-between;gap:8px}.placement-preferences input{width:100%;accent-color:#2f7860}.placement-calculate,.placement-result button{background:#2f604b;color:white;border:0;border-radius:7px;padding:9px 12px;font-weight:700;font-size:11px;cursor:pointer}.placement-calculate:focus-visible,.placement-result button:focus-visible{outline:3px solid #dcae4c;outline-offset:2px}.placement-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.placement-result{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;background:white;border:1px solid #d5e3d9;border-radius:9px;font-size:11px}.placement-result strong{color:#254b3c;font-size:12px}.placement-result span{line-height:1.5;color:#536b5c}.lot-workspace{display:grid;grid-template-columns:minmax(280px,370px) minmax(0,1fr);align-items:start;grid-gap:0;gap:0;min-width:0}.lot-preference-sidebar{min-width:0;border-right:1px solid var(--line);background:#fff}.lot-accordion{border-bottom:1px solid var(--line);min-width:0}.lot-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;font-size:13px;font-weight:800;color:var(--ink);background:#f5f8f5;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lot-accordion>summary::-webkit-details-marker{display:none}.lot-accordion>summary:after{content:"+";font-size:21px;line-height:1;color:#2f604b;flex-shrink:0}.lot-accordion[open]>summary:after{content:"−"}.lot-accordion>summary:focus-visible{outline:3px solid #e4aa4b;outline-offset:-3px}.lot-accordion .lot-controls{grid-template-columns:1fr;gap:15px}.lot-accordion .house-options{grid-column:auto}.lot-accordion .orientation-panel,.lot-accordion .placement-recommendations,.lot-accordion .sun-panel{border-bottom:0}.lot-map-pane{position:-webkit-sticky;position:sticky;top:12px;min-width:0;height:min(74vh,760px);min-height:470px;background:#e8eee8}.lot-map-pane .mapwrap{height:100%;min-height:0}.lot-accordion .orientation-table-wrap{overflow-x:auto}@media(max-width:850px){.lot-workspace{display:flex;flex-direction:column}.lot-map-pane{order:-1;position:relative;top:auto;width:100%;height:clamp(300px,46vh,500px);min-height:300px;border-bottom:1px solid var(--line)}.lot-preference-sidebar{width:100%;border-right:0}.lot-accordion .lot-controls{grid-template-columns:1fr 1fr}.lot-accordion .house-options{grid-column:1/-1}}@media(max-width:540px){.lot-accordion .lot-controls{grid-template-columns:1fr}.lot-accordion .house-options{grid-column:auto}}.lot-accordion .orientation-panel{padding:12px 10px}.lot-accordion .orientation-table-wrap{overflow-x:visible;max-width:100%;margin-top:9px}.lot-accordion .orientation-table{width:100%;min-width:0;table-layout:fixed;font-size:10px}.lot-accordion .orientation-table td,.lot-accordion .orientation-table th{padding:7px 3px;overflow-wrap:anywhere}.lot-accordion .orientation-table th:first-child{width:19%}.lot-accordion .orientation-table th:nth-child(2),.lot-accordion .orientation-table th:nth-child(3){width:23%}.lot-accordion .orientation-table th:nth-child(4){width:35%}.lot-accordion .orientation-table meter{display:block;width:100%;max-width:58px;height:8px}.lot-accordion .orientation-score{display:block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.lot-accordion .orientation-current-label{display:block;font-size:9px;font-weight:500}.lot-accordion .orientation-table button{display:block;width:100%;max-width:100%;padding:7px 3px;font-size:10px;line-height:1.2;white-space:normal}.plan-library-select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:9px 10px;border:1px solid #a9c1b4;border-radius:7px;background:#fff;color:#214a39;font:inherit;margin:7px 0}.plan-library-label{display:block}.plan-upload-panel{display:grid;grid-gap:9px;gap:9px;padding:12px;margin-top:14px;border:1px solid #b9cfc4;border-radius:9px;background:#f5faf7;min-width:0}.plan-upload-panel input[type=file],.plan-upload-panel input[type=number]{width:100%;min-width:0;box-sizing:border-box}.plan-calibration{display:grid;grid-gap:9px;gap:9px;min-width:0}.plan-calibration p{margin:0;font-size:12px}.plan-calibration-image{position:relative;width:100%;overflow:hidden;border:1px solid #8da99b;background:#fff;max-height:380px}.plan-calibration-image img{display:block;width:100%;height:100%;object-fit:fill;cursor:crosshair;-webkit-user-select:none;-moz-user-select:none;user-select:none}.plan-calibration-dot{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:#155b49;color:white;font-size:11px;font-weight:700;display:grid;place-items:center;pointer-events:none;box-shadow:0 0 0 2px white}.lot-workspace{position:relative;grid-template-columns:minmax(270px,32%) minmax(0,1fr);padding-top:40px}.lot-sidebar-toggle{position:absolute;top:5px;left:12px;z-index:3;border:1px solid #b9cfc4;border-radius:7px;background:#fff;color:#285740;font-size:12px;font-weight:700;padding:7px 11px;cursor:pointer}.lot-sidebar-toggle:focus-visible,.plan-visual-card:focus-visible{outline:3px solid #dcae4c;outline-offset:2px}.lot-workspace-expanded{grid-template-columns:minmax(0,1fr)}.lot-preference-sidebar[hidden]{display:none!important}.plan-visual-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:10px 0}.plan-visual-card{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;padding:8px;border:1px solid #cbd9d0;border-radius:9px;background:white;text-align:left;cursor:pointer;color:#263d32}.plan-visual-card svg{width:100%;height:68px;background:#f4f8f4;border-radius:5px}.plan-visual-card.is-selected{border:2px solid #2f7959;background:#f0faf3;padding:7px}.plan-visual-name{font-size:11px;font-weight:750;overflow-wrap:anywhere;line-height:1.3}.plan-visual-dim{font-size:10px;color:#637568}.plan-visual-upload-icon{height:68px;display:grid;place-items:center;font-size:36px;background:#f4f8f4;color:#397a61}@media(max-width:850px){.lot-workspace{padding-top:40px}.lot-workspace-expanded .lot-map-pane{order:0}}.gis-feasibility-panel{padding:12px 14px;display:grid;grid-gap:10px;gap:10px;font-size:13px}.gis-feasibility-panel p{margin:0;line-height:1.5}.gis-readiness-notice{border-left:3px solid #b68a36;padding:9px 11px;background:#fff7e8;color:#594319}.gis-layer-list{display:grid;grid-gap:9px;gap:9px}.gis-layer-entry{border:1px solid #d6e0d8;border-radius:8px;padding:9px;background:#fafcfb}.gis-layer-entry label{display:flex;gap:8px;align-items:center;line-height:1.3}.gis-layer-entry input{margin:0;accent-color:#3a8060}.gis-layer-entry small{display:block;padding-left:27px;margin-top:5px;color:#596d63;line-height:1.5}.gis-layer-entry a{color:#1b6651;text-decoration:underline}.gis-swatch{display:inline-block;width:11px;height:11px;flex:none;border-radius:2px}.gis-feasibility-disclaimer{font-size:12px;color:#5d6d62}.fema-legend{border:1px solid #b7c9d6;border-radius:8px;background:#f8fbff;padding:10px;color:#203a4a}.fema-legend summary{cursor:pointer;font-weight:750;line-height:1.5}.fema-legend-intro,.fema-legend-note{font-size:12px;line-height:1.5;margin:9px 0!important}.fema-legend-items{display:grid;grid-gap:6px;gap:6px;list-style:none;margin:10px 0;padding:0;max-height:245px;overflow:auto}.fema-legend-items li{display:flex;align-items:center;gap:10px;padding:5px 7px;background:white;border:1px solid #d7e2ea;border-radius:5px;font-size:12px}.fema-legend-items img{width:36px;height:22px;object-fit:contain;flex:none;border:1px solid #cad3db;background:white}.fema-zone-guide{padding:9px;background:#fff;border-radius:6px;border:1px solid #d7e2ea}.fema-zone-guide dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:7px 12px;gap:7px 12px;margin:9px 0 0;font-size:12px;line-height:1.5}.fema-zone-guide dt{font-weight:750;white-space:nowrap}.fema-zone-guide dd{margin:0}.fema-legend a{color:#175a80;text-decoration:underline}.fema-legend :focus-visible{outline:3px solid #c68b2f;outline-offset:2px}