:root{--ink:#243f3a;--paper:#f5f4ee;--accent:#b75b3b;--muted:#647268;--line:#d9ded3;--green:#356249;--yellow:#8a641b;--red:#aa3f32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.shell{width:min(1420px,calc(100% - 80px));margin:auto}header{border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;gap:30px;align-items:center;min-height:100px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{object-fit:contain;mix-blend-mode:multiply}.brand>span{font-size:9px;letter-spacing:1.7px}.brand strong{display:block;font-size:25px;letter-spacing:2px;line-height:1.5}.header-inner nav{display:flex;gap:24px;align-items:center;font-size:12px}.header-inner nav>a{text-decoration:none}.header-inner nav>a:last-child{border:1px solid var(--ink);padding:10px 15px}#menu{display:none}.skip-link{position:fixed;top:-100px;left:15px;z-index:99;background:var(--ink);color:white;padding:15px}.skip-link:focus{top:15px}.hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:80px;padding:55px 0 40px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:1.8px;color:var(--accent);margin:0 0 20px}h1{font:normal 65px/1.08 Georgia,serif;letter-spacing:-1.7px;margin:0 0 24px}h1 em{color:var(--accent);font-weight:normal}.intro{font-size:15px;line-height:1.8;color:var(--muted);max-width:590px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;margin-top:23px}.hero-tags>span{border:1px solid var(--line);padding:7px 10px}.hero-note{border-left:1px solid var(--line);padding:20px 30px}.hero-note>p{font:31px/1.35 Georgia,serif;margin:15px 0 20px}.hero-note small{font-size:11px;line-height:1.8;color:var(--muted)}.toolbar{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:11px}.toolbar p{color:var(--muted);margin:0}button,.file-label{border:1px solid #a8b7a2;color:var(--ink);background:#e9edde;font-size:11px;padding:11px 14px;min-height:40px}.toolbar button{margin-left:auto;background:transparent}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.panel{background:white;border:1px solid var(--line);padding:26px;margin-bottom:20px}.section-title{display:flex;gap:15px;margin-bottom:22px}.section-title>span{font:24px Georgia,serif;color:var(--accent)}.section-title h2{font-size:20px;font-weight:500;margin:0 0 5px}.section-title p{font-size:11px;color:var(--muted);margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:17px}label{display:block;font-size:11px;min-width:0}input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea{display:block;width:100%;padding:11px 10px;border:1px solid #cbd2c6;border-radius:2px;background:#fafbf7;color:var(--ink);margin-top:7px;font:14px Arial;min-height:41px}select{font-size:12px}textarea{resize:vertical;line-height:1.7}input:disabled{opacity:.5}label>small,.help{font-size:10px;line-height:1.8;color:var(--muted)}label>small{display:block;margin-top:8px}.help{margin:14px 0}.single{margin-top:18px}.checkline{display:flex;align-items:flex-start;gap:9px;line-height:1.7;margin:17px 0;flex-wrap:wrap}.checkline input{width:17px;height:17px;accent-color:var(--ink);flex-shrink:0;margin:0}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,#plot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}details{border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}summary{list-style:none;cursor:pointer;padding-right:24px;position:relative}summary:after{content:'+';position:absolute;right:0;color:var(--accent)}details[open]>summary:after{content:'−'}.callout{background:#f1efe2;border-left:2px solid #b9a377;padding:14px 15px;font-size:11px;color:#685c3d;line-height:1.8}.wall-group{border:1px solid var(--line);padding:0 15px 17px;margin-top:20px;min-width:0}.wall-group legend{font-size:12px;padding:0 7px}.wall-group .fields{margin-top:12px}aside{position:sticky;top:15px;max-height:calc(100vh - 30px);overflow:auto;scrollbar-width:thin}.drawing-panel{background:#fafbf6;border:1px solid var(--line);padding:22px}.drawing-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.drawing-head .eyebrow{font-size:8px;margin-bottom:9px}.drawing-head h2{font:25px Georgia,serif;margin:0}.drawing-head>span{font:23px Georgia,serif;white-space:nowrap;color:var(--accent)}.drawing-tools{display:flex;align-items:end;gap:13px;margin-top:20px;flex-wrap:wrap}.drawing-tools label{flex:1;min-width:110px;font-size:10px}.drawing-tools select{font-size:11px}.drawing-tools input[type=range]{display:block;width:100%;margin:16px 0 10px;accent-color:var(--ink)}.drawing-tools button{font-size:9px;background:transparent;padding:10px}.drawing-help{font-size:9px}#plot{width:100%;height:390px;display:block;margin-top:15px;background:#f2f4eb;border:1px solid var(--line);touch-action:none}#plot text{fill:var(--ink);font-family:Arial,Helvetica,sans-serif;pointer-events:none;paint-order:stroke;stroke:#f5f6ef;stroke-width:.05px}#plot polygon,#plot polyline,#plot .dimension,#plot .north{vector-effect:non-scaling-stroke}#plot .parcel{fill:#e4ead8;fill-opacity:.6;stroke:#46573f;stroke-width:1.8}#plot .street{fill:#d9dcd6;stroke:none}#plot .build-boundary{fill:#5d89ad;fill-opacity:.04;stroke:#43749c;stroke-width:1.5;stroke-dasharray:7 4}#plot .build-line{fill:none;stroke:#873c54;stroke-width:2.5}#plot .setback{fill:#bcc7a6;fill-opacity:.35;stroke:#849a6c;stroke-width:.9;stroke-dasharray:4 3}#plot .setback.unknown{fill:none;stroke:#b08b4f;stroke-dasharray:3 4}#plot .garage-setback{fill:none;stroke:#aaa77d;stroke-dasharray:2 4;stroke-width:.7}#plot .building{fill:#38594b;fill-opacity:.85;stroke:#1d3c31;stroke-width:1.5}#plot .garage{fill:#b9a182;fill-opacity:.85;stroke:#7f6b54;stroke-width:1.5}#plot .conflict{fill:#cc7965;fill-opacity:.55;stroke:#a33629;stroke-width:2}#plot .movable{cursor:grab}#plot .movable:active{cursor:grabbing}#plot .movable text{fill:white;stroke:none}#plot .selected polygon{stroke-width:3}#plot .dimension{stroke:#9a805d;stroke-width:.7;stroke-dasharray:3 2}#plot .distance-label,#plot .wall-number{fill:#75492e;stroke:#f5f6ef;stroke-width:.11px}#plot .north{stroke:#33483b;fill:none;stroke-width:1.3}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:8px}.legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#d7e0c9;margin-right:4px;border:1px solid #829274}.legend .house-key:before{background:#38594b}.legend .boundary-key:before{background:#8fb4cf}.legend .line-key:before{background:#873c54}.legend .setback-key:before{background:#bcc7a6}.legend .error-key:before{background:#cc7965}#input-error:not(:empty){font-size:12px;padding:15px;border-left:2px solid var(--red);color:var(--red)}.result{padding:27px;background:var(--ink);color:#f5f5eb;margin-top:20px}.result>.eyebrow{color:#d6b68b;font-size:9px}.result h2{font:27px/1.2 Georgia,serif;margin:0 0 12px}.result h2.red{color:#f0bfaa}#status-description{font-size:11px;color:#cad5c6;line-height:1.8}.metric{border-top:1px solid #526858;padding:15px 0 0;margin-top:18px}.metric h3{font-size:12px;font-weight:normal;margin:0 0 10px;color:#cad5c6}.metric>div:first-of-type{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric strong{font:25px Georgia}.metric span,.metric p{font-size:10px;color:#d8e2cf}.metric .progress{height:4px;background:#58715e;margin:12px 0}.progress i{height:100%;display:block;background:#c0cda4}.progress i.over{background:#e8a186}.result-small{font-size:10px;color:#d1ddca;line-height:1.9}.actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #526858;padding-top:20px}.actions button,.file-label{background:transparent;color:#e1e8d7;border:1px solid #8a9c85;font-size:10px;padding:9px}.file-label{cursor:pointer;display:inline-flex;align-items:center;position:relative}.file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-label:focus-within{outline:2px solid #e8a186;outline-offset:3px}#project-note{font-size:10px;line-height:1.7}.report{margin:45px 0;border-top:1px solid var(--line);padding-top:35px}.status-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;margin-bottom:20px}.status-legend>span:nth-child(1){color:var(--green)}.status-legend>span:nth-child(2){color:var(--yellow)}.status-legend>span:nth-child(3){color:var(--red)}#findings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finding{padding:15px 16px;margin:0;display:flex;gap:12px;font-size:11px;border:1px solid var(--line);background:#fff}.finding strong{min-width:80px;font-size:10px}.finding.green{border-left:3px solid #73916b}.finding.yellow{border-left:3px solid #c3a35e}.finding.red{border-left:3px solid var(--red);background:#f9ece5}.finding.red strong{color:var(--red)}.finding.yellow strong{color:var(--yellow)}.finding.green strong{color:var(--green)}.report h3{font-size:18px;font-weight:normal;margin:30px 0 15px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;text-align:left;font-size:11px}caption{text-align:left;font-size:10px;color:var(--muted);padding:12px 0}th,td{padding:12px;border-bottom:1px solid var(--line)}th{font-weight:normal}thead{font-size:10px;color:var(--muted)}tbody td:not(:first-child){font-variant-numeric:tabular-nums}.next-steps{padding:1px 20px 15px;background:#edeede;margin-top:25px}.next-steps ol{padding-left:20px;font-size:12px;color:var(--muted);line-height:1.9}.lead{background:#e7ecdc;border:1px solid #ced6c2;padding:40px;margin:45px 0}.lead h2{font:37px/1.2 Georgia,serif;max-width:760px;margin:0 0 20px}.lead>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:850px;color:var(--muted)}.lead>button{background:var(--ink);border-color:var(--ink);color:#edf1e5;margin-top:12px;font-size:12px;padding:15px 20px}#contact-form{max-width:850px;margin-top:30px;padding-top:25px;border-top:1px solid #bcc9b3}#contact-status{font-size:12px}#contact-form .checkline{font-size:11px}.honeypot{display:none}.knowledge{border-top:1px solid var(--line);margin-top:40px;padding:40px 0;display:grid;grid-template-columns:1fr 2fr;gap:40px}.knowledge h2{font:36px/1.2 Georgia,serif;margin:0}.knowledge p,.knowledge li{color:var(--muted);font-size:11px;line-height:1.9}.knowledge li{margin:8px 0}footer{background:#26372e;color:#e5eadc;padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:35px;border-bottom:1px solid #ffffff30}.footer-top h2{font:36px Georgia,serif;margin:0 0 20px}.footer-top .eyebrow{color:#d5b08f}.footer-top a{font-size:12px}address{font:normal 12px/2 Arial;color:#ccd5c4}.footer-links{display:flex;gap:22px;flex-wrap:wrap;padding:27px 0;font-size:11px}footer small{font-size:9px;color:#c4cebf}#print-data,.print-statement{display:none}[hidden]{display:none!important}@media(max-width:1150px){.shell{width:calc(100% - 48px)}.header-inner nav{gap:16px;font-size:11px}.hero{gap:40px}h1{font-size:56px}.panel{padding:21px}.workspace{gap:20px}.drawing-panel{padding:18px}.drawing-head h2{font-size:23px}.fields{grid-template-columns:1fr}.drawing-tools label{min-width:100px}.finding{flex-direction:column;gap:5px}}@media(max-width:850px){#menu{display:block;background:none;border:0;font-size:13px}.header-inner{position:relative;min-height:85px}.header-inner nav{display:none;position:absolute;top:85px;right:0;left:0;background:var(--paper);padding:25px;z-index:8;border:1px solid var(--line);font-size:14px}.header-inner nav.open{display:flex;flex-direction:column;align-items:stretch;gap:20px}.hero{grid-template-columns:1fr}.hero-note{display:none}.workspace{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}aside{position:static;overflow:visible;max-height:none}.drawing-panel{padding:22px}.drawing-head h2{font-size:26px}#plot{height:460px}.toolbar{flex-wrap:wrap}.toolbar p{width:100%}.toolbar button{margin-left:0}#findings{grid-template-columns:1fr 1fr}}@media(max-width:550px){.shell{width:calc(100% - 32px)}.brand img{width:44px;height:44px}.brand strong{font-size:21px}.brand>span{font-size:7px}.header-inner{gap:15px}.hero{padding-top:35px}h1{font-size:47px}.intro{font-size:13px}.hero-tags{font-size:9px;gap:5px}.hero-tags>span{padding:6px 8px}.panel{padding:22px 17px}.fields{grid-template-columns:1fr}.drawing-panel{padding:19px 13px}.drawing-head h2{font-size:21px}.drawing-head>span{font-size:20px}.drawing-tools{gap:10px}.drawing-tools button{width:100%}#plot{height:380px}#findings{grid-template-columns:1fr}.finding{flex-direction:row;gap:10px}.finding strong{min-width:70px}.result{padding:23px}.report{margin-top:30px}.status-legend{gap:8px;flex-direction:column}.table-scroll table{min-width:430px}.lead{padding:26px 20px}.lead h2{font-size:31px}.knowledge{grid-template-columns:1fr;gap:20px}.knowledge h2{font-size:32px}.knowledge h2 br{display:none}.footer-top{flex-direction:column}.footer-top h2{font-size:32px}.footer-links{gap:16px}.checkline{flex-wrap:nowrap}.checkline a{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{@page{size:A4;margin:12mm}html{scroll-behavior:auto}body{background:white;font-size:10px}.shell{width:100%;max-width:none}.skip-link,.hero,.toolbar,#calculator,.drawing-tools,.drawing-help,.lead,.knowledge,footer,.actions,.legend,#input-error,.next-steps,.status-legend{display:none!important}.header-inner{min-height:65px;border-bottom:1px solid var(--line);padding-bottom:10px}.header-inner nav,#menu{display:none!important}.brand img{width:45px;height:45px}.brand strong{font-size:20px}.workspace{display:block}aside{position:static;max-height:none;overflow:visible}.drawing-panel{padding:12px 0;border:0}.drawing-head h2{font-size:22px}#plot{height:100mm;width:100%;margin-top:12px;background:#f5f6ef}.drawing-panel{break-inside:avoid}.result{background:#edf1e6;color:var(--ink);padding:17px;margin-top:10px;break-inside:avoid}.result h2{font-size:23px}.result h2.red{color:var(--red)}.result .eyebrow,.result h3,#status-description,.metric p,.metric span,.result-small{color:var(--ink)}#metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metric{padding:10px 0 0;margin-top:0;border-color:#bac8b0}.metric strong{font-size:22px}.progress{background:#d6dfcb!important}.progress i{background:#708761}.metric .over{background:#c87b67}.report{margin:20px 0;padding-top:15px;break-before:page}.report .section-title{margin-bottom:10px}.report .callout{font-size:10px}#findings{grid-template-columns:1fr;gap:5px}.finding{padding:8px 10px;flex-direction:row;break-inside:avoid;font-size:10px}.finding strong{min-width:90px}.table-scroll{overflow:visible}.table-scroll table{min-width:0}table{font-size:9px}th,td{padding:7px 5px}thead{display:table-header-group}tr{break-inside:avoid}#print-data{display:block;break-before:page}#print-data>p{font-size:9px;color:var(--muted)}#print-data table th{width:43%}#print-data td{overflow-wrap:anywhere;white-space:normal}.print-statement{display:block;font-size:9px;border-top:1px solid var(--line);margin-top:20px;padding-top:12px}#project-note{display:none}}
.mobile-shortcuts{display:none}@media(max-width:850px){.mobile-shortcuts{display:flex;position:fixed;bottom:10px;right:10px;left:10px;z-index:10;background:#243f3a;color:#f5f4ee;box-shadow:0 3px 15px #0002;justify-content:space-around}.mobile-shortcuts a{font-size:11px;text-decoration:none;padding:13px 10px}footer{padding-bottom:80px}}@media print{.mobile-shortcuts{display:none!important}}
.legend .garage-key:before{background:#b9a182}
