:root{--bg:#f7f6f3;--surface:#fff;--ink:#292b27;--muted:#6e7069;--line:#eaeaea;--green:#edf3ec;--green-ink:#346538;--amber:#fbf3db;--amber-ink:#805d16;--red:#fdebec;--red-ink:#9f2f2d}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,summary{font:inherit}button,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #536949;outline-offset:4px}
button{transition:background .18s,transform .18s}button:active:not(:disabled){transform:scale(.985)}a{color:inherit}p{margin:0 0 16px}h1,h2,h3{margin:0;font-weight:400}h1,h2,.wordmark,.footer-brand{font-family:"Iowan Old Style","Baskerville","Times New Roman",serif}
.site-header{max-width:1440px;margin:auto;padding:26px 64px;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:40px;letter-spacing:-2px;line-height:1;white-space:nowrap}.header-description,.local-label,.eyebrow,.meta,.file-rules,.quiet-note,footer{font-size:10px;letter-spacing:1.5px}.header-description{padding-top:8px;color:var(--muted)}.local-label{margin-left:auto;display:flex;align-items:center;gap:9px;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;background:#7c896e;border-radius:50%}.status-dot.amber{background:#a3874a}
main{max-width:1312px;margin:0 auto;padding:40px 64px 0}.eyebrow{margin-bottom:18px;color:var(--muted);font-weight:500}.small-note{color:var(--muted);font-size:12px}
.setup{background:#f1eee5;border:1px solid var(--line);border-radius:6px;padding:20px 24px;margin-bottom:28px;font-size:13px}.setup-top{display:flex;align-items:center;gap:10px;margin-bottom:6px}.setup p{margin-bottom:8px}.setup details{color:var(--muted)}.setup details p{padding:10px 0 0;max-width:800px}code{font-family:"SF Mono",Menlo,monospace;font-size:.9em}.error{background:var(--red);color:var(--red-ink);border:1px solid var(--line);padding:16px 20px;border-radius:6px;margin-bottom:24px;font-size:14px}
.workspace{display:grid;grid-template-columns:minmax(0, .92fr) minmax(0,1.15fr);gap:32px;align-items:start}.upload-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading .eyebrow{margin-bottom:10px}h2{font-size:32px;line-height:1.15;letter-spacing:-.8px}.meta{color:var(--muted);white-space:nowrap}.muted{color:var(--muted)}.upload-description{font-size:13px;margin:17px 0 24px;max-width:310px}.dropzone{width:100%;min-height:240px;background:#fafaf8;border:1px dashed #c9cbc1;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 16px;gap:6px}.dropzone svg{color:#7e866e;margin-bottom:12px}.dropzone:hover,.dropzone.dragging{background:#f0f3ec;border-color:#8a967c}.drop-title{font-size:16px}.dropzone .muted{font-size:12px}.file-rules{font-size:9px;letter-spacing:.8px;margin-top:18px;color:var(--muted)}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-card{position:relative;margin:0;min-width:0}.photo-open{padding:0;border:1px solid var(--line);background:#f3f2ef;border-radius:4px;width:100%;aspect-ratio:1/1.08;display:block;overflow:hidden}.photo-open img{width:100%;height:100%;object-fit:contain;display:block}.photo-card figcaption{font-size:10px;color:var(--muted);padding-top:6px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.remove-photo{position:absolute;top:7px;right:7px;width:27px;height:27px;border:1px solid var(--line);background:#fffffff2;border-radius:4px;line-height:1;font-size:19px}.photo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.text-button{border:0;border-bottom:1px solid #b8bcb0;background:transparent;padding:2px 0;font-size:12px}.text-button:hover{color:#536949}.view-guide{border-top:1px solid var(--line);margin:24px 0;padding-top:19px}.view-guide .eyebrow{font-size:9px;letter-spacing:1.2px}.view-guide p{font-size:11px;color:var(--muted);margin:9px 0 0}.view-guide p span{margin:0 4px;color:#bbc0b2}.primary{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:15px 20px;background:#292d26;color:#fff;border:0;border-radius:4px;font-size:14px}.primary:hover:not(:disabled){background:#40473b}.primary>span:last-child{font-size:21px;line-height:1}.upload-note{font-size:10px;line-height:1.6;color:var(--muted);margin:13px 0 0}.reset{display:block;margin:20px auto 0}
.photo-card:only-child{grid-column:1/-1}.photo-card:only-child .photo-open{aspect-ratio:4/3}#results{scroll-margin-top:24px;outline:none}
.report-panel{min-width:0}.empty-state{padding:32px 32px 24px}.empty-state h2{font-size:36px}.empty-description{font-size:13px;max-width:350px;margin-top:20px;margin-bottom:32px}.expectation{display:flex;gap:24px;padding:23px 0;border-top:1px solid var(--line)}.step-number{font-family:"Iowan Old Style",Georgia,serif;color:#8b917d;font-size:21px;line-height:1.2}.expectation h3{font-size:15px;margin-bottom:4px}.expectation p{font-size:12px;color:var(--muted);max-width:290px;margin:0}.quiet-note{border-top:1px solid var(--line);font-size:8px;letter-spacing:1px;padding-top:24px;color:#777c6c}.loading{padding:80px 40px;text-align:center}.loading .eyebrow{margin-top:28px}.loading h2{margin-bottom:20px}.loading p{font-size:13px}.loading-mark{display:block;margin:auto;width:35px;height:35px;border:1px solid #c6cbbb;border-top-color:#48573e;border-radius:50%;animation:turn 1.5s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}
.result-section{padding:28px 30px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#fff}.result-section .eyebrow{margin-bottom:12px}.result-section h2{margin-bottom:14px;font-size:32px}.result-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.badge{display:inline-block;border-radius:20px;background:var(--green);color:var(--green-ink);font-size:9px;text-transform:uppercase;letter-spacing:.7px;padding:4px 9px;white-space:nowrap}.badge.medium,.badge.low,.badge.moderate,.badge.unclear{background:var(--amber);color:var(--amber-ink)}.badge.severe{background:var(--red);color:var(--red-ink)}.result-summary{font-size:13px;color:var(--muted)}.attributes{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;border-top:1px solid var(--line);padding-top:18px;margin:22px 0}.attributes dt{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.attributes dd{font-size:13px;margin:0;overflow-wrap:anywhere}.subheading{font-size:12px;font-weight:500;margin:20px 0 9px}.plain-list{padding-left:16px;margin:0;font-size:12px;color:var(--muted)}.plain-list li{margin-bottom:7px}.confidence-note{font-size:10px;color:var(--muted);margin:16px 0 0}.observation{border-top:1px solid var(--line);padding:19px 0 2px}.observation h3{font-size:14px;font-weight:500}.observation p{font-size:12px;color:var(--muted);margin:8px 0}.photo-link{color:#526146;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;font-size:11px;margin-right:12px}.photo-link:hover{color:#303e26}.quote-section{background:#f0f2ec}.quote-disclaimer{font-size:11px;color:#666f5d;margin-bottom:20px}.service-option{display:grid;grid-template-columns:17px 1fr auto;align-items:start;gap:10px;border-top:1px solid var(--line);padding:15px 0}.service-option input{accent-color:#536949;margin:4px 0 0;width:15px;height:15px}.service-name{font-size:13px;display:block}.service-reason{display:block;font-size:11px;color:var(--muted);margin-top:4px}.service-price{font-size:12px;white-space:nowrap;margin-top:2px}.quote-total{border-top:1px solid #d9ded1;padding-top:20px;margin-top:6px;display:flex;flex-direction:column;gap:4px}.quote-total .eyebrow{font-size:9px;margin-bottom:0}.total-amount{font-family:"Iowan Old Style",Georgia,serif;font-size:36px;letter-spacing:-1px}.quote-footnote{font-size:10px;color:var(--muted);margin:12px 0 0}.custom-work{font-size:12px;border-top:1px solid var(--line);padding-top:16px}.custom-work p{margin-bottom:6px}.quote-error{color:var(--red-ink);font-size:12px;margin:12px 0 0}.other-services{font-size:12px;margin-top:12px}.other-services summary{margin-bottom:8px}.no-issues{font-size:13px;color:var(--muted)}
.rate-section{margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rate-section summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:22px 0;font-size:13px}.rate-section summary::-webkit-details-marker{display:none}.summary-plus{font-size:20px;font-weight:300}.rate-content{max-width:760px;font-size:12px;color:var(--muted);padding-bottom:22px}.rate-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:20px 0}.rate-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:10px 0;font-size:12px}footer{max-width:1312px;padding:35px 64px 45px;margin:auto;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:1.2px}.footer-brand{font-size:24px;letter-spacing:-1px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{max-width:min(900px,95vw);max-height:94vh;padding:40px 20px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#222820b3}.dialog-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:25px;width:28px;height:28px}dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}dialog p{text-align:center;font-size:12px;margin:12px 0 0}.reveal{animation:reveal .55s ease-out both}@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1100px){.upload-panel{position:sticky;top:24px}}
@media(max-width:1000px){.site-header{padding:24px 32px}.header-description{font-size:8px;letter-spacing:1px}main{padding:32px 32px 0}.workspace{gap:20px}.upload-panel,.result-section{padding:24px}.empty-state{padding:24px 18px}.empty-state h2{font-size:30px}footer{padding-left:32px;padding-right:32px}}
@media(max-width:720px){.site-header{padding:22px 22px}.header-description{display:none}.wordmark{font-size:35px}.local-label{font-size:8px}main{padding:28px 22px 0}.workspace{grid-template-columns:1fr;gap:24px}.upload-panel{padding:24px}.empty-state{padding:12px 4px 0}.empty-description{max-width:none}.expectation p{max-width:none}.dropzone{min-height:215px}.result-section{padding:24px}.rate-section{margin-top:26px}.rate-list{grid-template-columns:1fr}.setup{padding:18px}.setup-top{align-items:baseline}.file-rules{font-size:8px}.service-option{grid-template-columns:17px 1fr}.service-price{grid-column:2}.result-top{flex-wrap:wrap}.result-top h2{flex:1}.attributes{gap:14px}footer{padding:28px 22px}.loading{padding:50px 20px}.total-amount{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:720px){.result-section>.result-top{display:block}.result-section>.result-top .badge{margin-bottom:16px}}
