
:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#171717;background:#f6f5f1}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1120px;margin:auto}header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{font-weight:800;letter-spacing:.08em;color:inherit;text-decoration:none}.ghost,.job,.primary{font:inherit;border:0;cursor:pointer}.ghost{background:transparent;border:1px solid #d7d4cc;border-radius:999px;padding:9px 14px}.hero{padding:72px 24px 30px;max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:#67645d}h1{font-size:clamp(42px,7vw,78px);line-height:.98;margin:14px 0 20px;letter-spacing:-.055em}.sub{font-size:19px;line-height:1.5;max-width:700px;color:#595751}.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.job{text-align:left;padding:20px;border-radius:18px;background:#fff;border:1px solid #e4e1da}.job strong,.job span{display:block}.job span{margin-top:8px;color:#6a675f}.job.active{outline:2px solid #171717}.workspace{margin:20px 24px 72px;padding:30px;border-radius:24px;background:#fff;box-shadow:0 10px 40px #0000000d}.workspace h2{font-size:30px;margin:0 0 6px}.workspace p{color:#66635c;margin-top:0}form{margin-top:26px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}label{font-size:13px;font-weight:700}input,select{width:100%;margin-top:7px;padding:13px;border:1px solid #d8d5cd;border-radius:10px;background:white;font:inherit}.primary{margin-top:20px;padding:14px 20px;border-radius:12px;background:#171717;color:#fff;font-weight:700}.result-demo{padding:0 24px 80px}.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.result-grid div{padding:18px;background:#ebe9e3;border-radius:14px}.result-grid b,.result-grid span{display:block}.result-grid b{font-size:12px;color:#77736b}.result-grid span{margin-top:16px;font-weight:700}footer{border-top:1px solid #ddd9d0;padding:25px 24px 45px;display:flex;justify-content:space-between;color:#6c6962;font-size:13px}@media(max-width:760px){.jobs,.fields,.result-grid{grid-template-columns:1fr}.hero{padding-top:35px}.workspace{padding:22px}footer{display:block}footer span{display:block;margin-top:8px}}

.site-result{margin-top:28px}.site-head h2{margin-top:4px}.decision-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.decision-strip div,.parcel-card,.money-row,.future-case{padding:16px;border:1px solid #e2dfd7;border-radius:14px}.decision-strip small,.decision-strip b{display:block}.decision-strip b{margin-top:7px}.site-result section{margin-top:28px}.parcel-card,.money-row{display:flex;gap:18px;flex-wrap:wrap}.future-case{margin-top:24px}.site-result details{margin-top:24px}@media(max-width:760px){.decision-strip{grid-template-columns:1fr 1fr}}

.find-results{margin-top:28px}.find-results-head{display:flex;align-items:end;justify-content:space-between}.find-results-head h2{margin:4px 0}.ranking-note,.map-fallback{color:#66635c}.opportunity-list{display:grid;gap:12px;margin-top:20px}.opportunity-card{display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center;padding:18px;border:1px solid #e2dfd7;border-radius:16px}.rank{font-size:22px;font-weight:800}.opportunity-main h3{margin:3px 0 14px}.opportunity-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.opportunity-metrics small,.opportunity-metrics b{display:block}.opportunity-metrics small{color:#77736b;margin-bottom:5px}@media(max-width:760px){.opportunity-card{grid-template-columns:32px 1fr}.opportunity-card>.primary{grid-column:2}.opportunity-metrics{grid-template-columns:1fr 1fr}}

.audit-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:20px 0}.audit-steps span{padding:10px;border:1px solid #e2dfd7;border-radius:10px;font-size:12px;font-weight:700}.delta-list{display:grid;gap:8px}.delta-list div{display:grid;grid-template-columns:1fr 2fr 1fr;gap:10px;padding:13px;border-bottom:1px solid #e8e5de}.audit-decision{padding:18px;border:1px solid #d8d5cd;border-radius:14px}.audit-result details{margin-top:20px}@media(max-width:760px){.audit-steps{grid-template-columns:1fr 1fr}.delta-list div{grid-template-columns:1fr}}

.ux-state{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px 18px;margin:16px 0;border:1px solid #d8d5cd;border-radius:14px;background:#fff}.ux-state b{font-size:15px}.ux-state p{margin:4px 0 0;color:#66635c}.state-reliability{font-weight:800;white-space:nowrap}.ux-state[data-tone="caution"]{border-style:dashed}.ux-state[data-tone="positive"]{border-width:2px}@media(max-width:760px){.ux-state{grid-template-columns:1fr}}

.assumption-controls{margin-top:22px}.preset-row{display:flex;gap:8px;margin-bottom:18px}.preset-row button{padding:9px 14px;border:1px solid #d8d5cd;border-radius:999px;background:#fff;font:inherit}.preset-row button[aria-pressed="true"]{border-width:2px;font-weight:700}.slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.slider-grid label{display:grid;grid-template-columns:1fr auto;gap:7px}.slider-grid input{grid-column:1/-1;padding:0;border:0}.slider-grid output{font-variant-numeric:tabular-nums}.control-note,.scenario-toggle span{color:#6c6962;font-size:12px}.scenario-toggle{display:flex;gap:8px;align-items:center;margin-top:18px}@media(max-width:760px){.slider-grid{grid-template-columns:1fr}}

.result-viz{display:grid;gap:14px;margin-top:24px}.viz-block{padding:18px;border:1px solid #e2dfd7;border-radius:16px;background:#fff}.viz-block h3{margin:0 0 16px}.metric-bar{display:grid;grid-template-columns:90px 1fr 120px;gap:12px;align-items:center;margin:10px 0}.bar-track{height:8px;background:#ebe9e3;border-radius:999px;overflow:hidden}.bar-track i{display:block;height:100%;background:currentColor}.metric-bar b{text-align:right;font-variant-numeric:tabular-nums}.scenario-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scenario-strip div{padding:12px;border:1px solid #e8e5de;border-radius:12px}.scenario-strip span,.scenario-strip b,.scenario-strip small{display:block}.scenario-strip b{font-size:20px;margin-top:8px}.delta-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .7fr;gap:8px;padding:9px 0;border-bottom:1px solid #ebe9e3}.regulatory-compare p,.viz-principle{color:#6c6962}@media(max-width:760px){.metric-bar{grid-template-columns:70px 1fr}.metric-bar b{grid-column:2}.scenario-strip{grid-template-columns:1fr}.delta-row{grid-template-columns:1fr 1fr}.delta-row span:first-child{grid-column:1/-1;font-weight:700}}

.workspace-nav{display:flex;align-items:center;gap:10px;margin:18px 0 26px}.workspace-nav button{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px;font:inherit}.workspace-nav button span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cbc8c0;border-radius:50%;font-size:12px}.workspace-nav button[data-state="active"]{font-weight:800}.workspace-nav button[data-state="active"] span{border-width:2px}.workspace-nav button[data-state="complete"]{text-decoration:underline;text-underline-offset:3px}.workspace-nav button:disabled{opacity:.4}.workspace-nav i{font-style:normal;color:#8b877f}@media(max-width:560px){.workspace-nav{gap:3px}.workspace-nav button{padding:5px}.workspace-nav i{font-size:11px}}

.map-panel{margin-top:20px;border:1px solid #dedbd3;border-radius:16px;overflow:hidden}.map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.map-toolbar h3{margin:3px 0}.map-toolbar button{background:transparent;border:1px solid #d5d2ca;border-radius:10px;padding:8px 12px}.map-placeholder{min-height:320px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#f1f0eb,#e6e4dd);color:#65625b}.map-rule{padding:0 18px 16px;color:#6c6962;font-size:12px}.map-unavailable{padding:18px}.parcel-preview{padding:18px;border:1px solid #d8d5cd;border-radius:14px}.parcel-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parcel-preview dt{font-size:11px;color:#77736b}.parcel-preview dd{margin:3px 0;font-weight:700}

/* v2.88 responsive/accessibility polish */
:root{--content-max:1180px;--focus-ring:3px solid currentColor;--tap:44px}
html{scroll-behavior:smooth}body{line-height:1.5;text-rendering:optimizeLegibility}
main,.shell{max-width:var(--content-max);margin-inline:auto}
button,input,select,textarea{font:inherit}
button,[role="button"],input[type="checkbox"],input[type="range"]{min-height:var(--tap)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring);outline-offset:3px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
[aria-busy="true"]{cursor:progress}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.result-viz,.ux-state,.parcel-preview,.map-panel{max-width:100%}
@media(max-width:760px){
 body{font-size:16px}
 main,.shell{width:100%;padding-inline:16px}
 h1{font-size:clamp(28px,9vw,42px);line-height:1.05}
 h2{font-size:clamp(22px,7vw,30px)}
 .workspace-nav{overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
 .workspace-nav button{min-width:max-content}
 .map-placeholder{min-height:240px}
 .parcel-preview dl{grid-template-columns:1fr}
 .preset-row{overflow-x:auto;padding-bottom:4px}
 .preset-row button{min-width:max-content}
}
@media(max-width:420px){
 main,.shell{padding-inline:12px}
 .ux-state,.viz-block,.parcel-preview{padding:14px}
 .metric-bar{grid-template-columns:1fr}
 .metric-bar b{grid-column:1;text-align:left}
 .bar-track{grid-column:1}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(prefers-contrast:more){
 button,input,select,textarea,.ux-state,.viz-block,.parcel-preview,.map-panel{border-width:2px}
}

.first-run-guide{max-width:900px;margin:28px auto}.first-run-guide h2{margin:5px 0 18px}.job-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.job-cards button{min-height:116px;text-align:left;padding:18px;border:1px solid #ddd9d0;border-radius:16px;background:#fff}.job-cards strong,.job-cards span{display:block}.job-cards span{margin-top:7px;color:#6b675f}.next-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e6e3dc}.next-action>span{font-size:12px;color:#6b675f;text-transform:uppercase;letter-spacing:.07em}@media(max-width:760px){.job-cards{grid-template-columns:1fr}.job-cards button{min-height:88px}}

/* Sprint D1 — decision-first shell */
.market-badge{font-size:12px;font-weight:700;color:#6c6962}
.job{display:flex;flex-direction:column;min-height:170px}
.job-question{font-size:18px;font-weight:800;color:#171717;line-height:1.25}
.job strong{margin-top:auto;padding-top:24px}
.job small{margin-top:6px;color:#77736b;line-height:1.4}
.job.active{outline:0;border:2px solid #171717}
.advanced-disclosure{margin-top:18px;padding:0;border:0}
.advanced-disclosure summary{display:inline-block;cursor:pointer;font-size:13px;font-weight:700;color:#5f5c55;text-decoration:underline;text-underline-offset:4px}
.advanced-disclosure[open] summary{margin-bottom:14px}
.form-rule{margin:12px 0 0!important;font-size:12px;max-width:620px}
.result-demo h2{margin:5px 0 22px;font-size:26px}
.workflow-result{margin-top:28px;padding-top:26px;border-top:1px solid #dedbd3;scroll-margin-top:90px}
.result-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.result-top h2{font-size:32px;line-height:1.15;margin:5px 0}
.grade{text-align:right;min-width:160px}.grade small,.grade b,.grade span{display:block}.grade b{margin:4px 0;font-size:16px}.grade span{color:#6c6962;font-size:12px}
.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.answer-grid article{padding:18px;border:1px solid #e2dfd7;border-radius:14px}.answer-grid small,.answer-grid b{display:block}.answer-grid small{color:#77736b;margin-bottom:8px}
.result-next{padding:18px;background:#f0eee8;border-radius:14px}.result-next small,.result-next strong{display:block}.result-next small{color:#6c6962;margin-bottom:5px}
.workflow-result details{margin-top:18px;padding-top:16px;border-top:1px solid #e6e3dc}
@media(max-width:760px){.job{min-height:120px}.result-top{display:block}.grade{text-align:left;margin-top:14px}.answer-grid{grid-template-columns:1fr}}

/* Sprint D2 — minimal inputs and explicit workflow states */
.optional{font-size:11px;font-weight:500;color:#858178;margin-left:6px}
.workflow-state{margin:22px 0 0;padding:16px 18px;border:1px solid #d8d5cd;border-radius:14px;background:#faf9f6}
.workflow-state b,.workflow-state strong{display:block}.workflow-state p{margin:5px 0 0!important}
.workflow-state[data-state="loading"]{border-style:dashed}
.workflow-state[data-state="insufficient"],.workflow-state[data-state="preliminary"]{border-left-width:4px}
.workflow-state[data-state="decision_grade"]{border-width:2px}
.workflow-state[data-state="provider_failure"]{border-style:dashed}

/* Sprint D3 — actionable result workspace */
.verification-work{margin:24px 0;padding:20px;border:1px solid #dedbd3;border-radius:16px}
.verification-work h3{margin:4px 0 16px}
.verification-work ul{list-style:none;padding:0;margin:0}
.verification-item{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:13px 0;border-top:1px solid #ebe8e1}
.verification-item:first-child{border-top:0}.verification-item b,.verification-item small{display:block}.verification-item small{margin-top:4px;color:#77736b}
.verification-item button{align-self:center}.verification-help{grid-column:1/-1;margin:2px 0 4px!important;font-size:12px;color:#67635c}
.verification-active{background:#faf9f6}
.result-next button{margin-top:14px}

/* Sprint D4 — local advisory Guide */
.guide-open{position:fixed;right:24px;bottom:24px;z-index:20;padding:12px 18px;border-radius:999px;border:1px solid #171717;background:#171717;color:white;font-weight:800}
.guide-panel{position:fixed;right:24px;bottom:78px;z-index:21;width:min(390px,calc(100vw - 32px));padding:20px;border:1px solid #d8d5cd;border-radius:18px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.12)}
.guide-head{display:flex;justify-content:space-between;align-items:flex-start}.guide-head small,.guide-head b{display:block}.guide-head button{border:0;background:transparent;font-size:24px}
.guide-answer{min-height:80px;padding:16px 0;line-height:1.5}.guide-prompts{display:grid;gap:7px}.guide-prompts button{text-align:left;padding:10px 12px;background:#faf9f6;border:1px solid #e2dfd7;border-radius:10px}
.guide-boundary{font-size:11px!important;color:#77736b;margin:14px 0 0!important}
@media(max-width:600px){.guide-open{right:16px;bottom:16px}.guide-panel{right:16px;bottom:68px}}

/* Sprint D5 — recovery, keyboard and small-screen closure */
[hidden]{display:none!important}
.ux-state button{padding:10px 14px;border:1px solid #171717;border-radius:10px;background:#fff;font-weight:700;cursor:pointer}
@media(max-width:600px){
 header{height:60px;padding:0 16px}.market-badge{font-size:10px}
 .hero{padding-inline:16px}.jobs{margin-top:24px}
 .workspace{margin:12px 16px 84px;padding:18px;border-radius:18px}
 .guide-panel{left:12px;right:12px;bottom:70px;width:auto;max-height:calc(100dvh - 90px);overflow:auto}
 .verification-item{grid-template-columns:1fr}.verification-item button{justify-self:start}.verification-help{grid-column:1}
 .result-top h2{font-size:27px}
}
