.flow{max-width:720px;margin:0 auto;padding-top:36px;padding-bottom:90px}.flow h1{outline:none;margin:10px 0 14px;font-size:clamp(27px,3.4vw,38px)}.lede{color:var(--ink-soft);max-width:56ch;margin-bottom:24px;font-size:17px}.quiet{color:var(--ink-soft);font-size:14px}.link-btn{color:var(--moss);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:500}.link-btn:hover{text-decoration:underline}.back-btn{margin-bottom:14px;display:inline-block}.dots{align-items:center;gap:8px;margin:0;padding:8px 0;list-style:none;display:flex}.dot{background:var(--sage);border-radius:50%;width:8px;height:8px;transition:transform .35s cubic-bezier(.2,.7,.3,1),background .35s}.dot.is-active{background:var(--moss);transform:scale(1.45)}.dot.is-done{background:color-mix(in srgb, var(--moss) 55%, var(--sage))}.step{display:none}.step.is-active{display:block}.step-enter{animation:.5s cubic-bezier(.2,.7,.3,1) both step-rise}@keyframes step-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.option-enter{animation:.4s cubic-bezier(.2,.7,.3,1) both option-rise}@keyframes option-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.match-enter{animation:.5s cubic-bezier(.2,.7,.3,1) both option-rise}.step[data-step=photo]{text-align:center}.step[data-step=photo] .lede{margin-inline:auto}.workbench:not(.has-photo) .dots{justify-content:center}.drop{border:2px dashed color-mix(in srgb, var(--moss) 45%, transparent);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px;padding:44px 24px;transition:border-color .15s,transform .15s;display:flex}.drop.is-over,.drop:hover{border-color:var(--moss);transform:translateY(-1px)}.drop.is-disabled{opacity:.55;pointer-events:none}.drop:focus-visible{outline:3px solid var(--moss);outline-offset:2px}.drop-icon{background:var(--sage);width:44px;height:44px;color:var(--moss);border-radius:50%;place-items:center;font-size:26px;font-weight:600;display:grid}.drop-hint{color:var(--ink-soft);font-size:14px}.hint-touch{display:none}@media (hover:none) and (pointer:coarse){.hint-pointer{display:none}.hint-touch{display:inline}}.ts-widget{justify-content:center;margin-top:14px;display:flex}#photo-status{margin-top:10px}.focus-note{background:var(--sage);border-radius:999px;margin-bottom:18px;padding:7px 16px;font-size:14px;display:inline-block}.room-panel{margin-bottom:20px}.room-photo-wrap{border-radius:var(--radius);padding:0;position:relative;overflow:hidden}.room-photo-wrap img{width:100%;display:block}.panel-caption{margin:10px 2px 6px}.scan-beam{pointer-events:none;position:absolute;inset:0;overflow:hidden}.scan-beam:before{content:"";background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--moss) 22%, transparent), transparent);height:40%;animation:1.9s ease-in-out infinite alternate beam;position:absolute;left:0;right:0}@keyframes beam{0%{top:-40%}to{top:100%}}.marker{background:color-mix(in srgb, var(--canvas) 92%, transparent);border:2px solid var(--moss);width:26px;height:26px;color:var(--forest);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:13px;font-weight:700;transition:transform .2s,background .2s,color .2s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 6px #00000040}.marker:hover{transform:translate(-50%,-50%)scale(1.12)}.marker.is-active{background:var(--forest);border-color:var(--canvas);color:var(--canvas);transform:translate(-50%,-50%)scale(1.12)}.q{border:none;min-width:0;margin:0 0 8px;padding:0;display:none}.q.is-current{display:block}.q legend{float:left;width:100%;margin-bottom:14px;padding:0}.q legend+*{clear:both}.q-title{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:4px;font-size:clamp(22px,2.6vw,27px);font-weight:560;line-height:1.15;display:block}.q-sub{max-width:52ch;display:block}.options{gap:10px;margin:14px 0 18px;display:grid}.options-2col{grid-template-columns:repeat(2,1fr)}.option{text-align:left;color:var(--ink);cursor:pointer;border:1px solid var(--hairline);padding:15px 20px;font-size:16px;font-weight:500;transition:transform .12s,border-color .12s,background .12s}.option:hover{border-color:var(--moss);transform:translateY(-1px)}.option:focus-visible{outline:3px solid var(--moss);outline-offset:2px}.option.is-selected{border-color:var(--moss);background:color-mix(in srgb, var(--moss) 12%, var(--card));box-shadow:inset 2.5px 0 0 var(--moss)}.geo{gap:10px;margin-top:18px;padding:18px 20px;display:grid}.geo .btn{justify-self:start}.see-matches{display:none}.step[data-step=results]{position:relative}.results-flora{width:240px;height:190px;top:-10px;right:-8px}.step[data-step=results]>:not(.results-flora){z-index:1;position:relative}.room-summary{flex-wrap:wrap;gap:7px;margin:12px 0 2px;display:flex}.room-summary:empty{margin:0}.chip{background:var(--sage);color:var(--ink);border-radius:999px;padding:5px 13px;font-size:13.5px;font-weight:500}.chip-warn{background:color-mix(in srgb, var(--clay) 18%, var(--card));color:color-mix(in srgb, var(--clay) 60%, var(--ink))}.spot-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 24px;display:flex}.tabs-label{color:var(--ink-soft);margin-right:2px;font-size:13px}.spot-tab-num{background:color-mix(in srgb, var(--moss) 18%, transparent);width:20px;height:20px;color:inherit;font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;margin-right:8px;font-size:12px;font-weight:700;display:inline-grid}.spot-tab.is-active .spot-tab-num{background:color-mix(in srgb, var(--canvas) 24%, transparent)}.spot-tab{border:1px solid var(--hairline);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;padding:6px 16px 6px 7px;font-size:14px;font-weight:500;display:inline-flex}.spot-tab.is-active{background:var(--forest);color:var(--canvas);border-color:var(--forest)}.list-divider{margin:22px 0 12px}.verdict-blocked{margin-bottom:14px;padding:20px}.verdict-blocked h3{margin:0 0 6px;font-size:20px}#r-list{gap:16px;display:grid}.match{align-content:start;gap:14px;padding:20px;display:grid}.match.is-hero{border-color:color-mix(in srgb, var(--moss) 40%, transparent);padding:24px}.match-head{align-items:center;gap:16px;display:flex}.match-photo{object-fit:cover;background:var(--sage);border-radius:12px;width:84px;height:84px}.match.is-hero .match-photo{width:120px;height:120px}.match h3{margin:0 0 2px;font-size:21px}.sci{color:var(--ink-soft);margin:0 0 6px;font-size:14px;font-style:italic}.score{color:var(--moss);margin:0;font-weight:600}.factors{grid-template-columns:repeat(2,1fr);gap:8px 18px;display:grid}.factor{grid-template-columns:58px 1fr 26px;align-items:center;gap:10px;display:grid}.factor-label{color:var(--ink-soft);font-size:13px}.factor-val{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px}.factor-bar{background:var(--sage);border-radius:3px;height:6px;display:block;overflow:hidden}.factor-bar span{background:var(--moss);border-radius:3px;height:100%;transition:width .9s cubic-bezier(.25,.9,.3,1);display:block}.match:not(.bars-live) .factor-bar span{width:0!important}.notes{color:var(--ink-soft);margin:0;padding-left:18px;font-size:14px}.tip{color:var(--ink-soft);margin:0;font-size:14px}.preview{max-width:560px;margin:2px 0 0}.preview-frame{background:var(--sage);border-radius:12px;position:relative;overflow:hidden}.preview-frame img{width:100%;display:block}.preview figcaption{margin-top:8px}.preview.is-growing .preview-frame img{filter:saturate(.55)brightness(.93);transition:filter .6s;transform:scale(1.015)}.preview.is-growing .preview-frame:after{content:"";background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--moss) 26%, transparent), transparent);height:45%;animation:2.2s ease-in-out infinite alternate beam;position:absolute;left:0;right:0}.preview.is-in .preview-frame img{animation:.8s cubic-bezier(.2,.7,.3,1) both preview-pop}@keyframes preview-pop{0%{opacity:.25;filter:saturate(.7);transform:scale(1.045)}to{opacity:1;filter:none;transform:none}}@media (prefers-reduced-motion:reduce){.preview.is-growing .preview-frame:after,.preview.is-in .preview-frame img{animation:none}}.card-ctas{flex-wrap:wrap;gap:10px;display:flex}.unlock{margin:4px 0 14px;padding:20px}.unlock h3{margin:0 0 6px;font-size:19px}.unlock-form{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.unlock-form input{border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--canvas);min-width:200px;color:var(--ink);flex:1;padding:12px 16px;font-size:15px}.excluded{margin-top:18px;padding:16px 20px}.excluded summary{cursor:pointer;font-weight:500}.excluded ul{color:var(--ink-soft);margin:10px 0 0;padding-left:18px;font-size:14px}.disclosure{margin-top:22px}@media (width>=980px){.flow.has-photo{max-width:1140px}.workbench.has-photo{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:44px;display:grid}.workbench.has-photo .room-panel{margin-bottom:0;position:sticky;top:86px}.workbench.has-photo .dots{display:none}.q{border-top:1px solid var(--hairline);padding:22px 0;display:block}.q:first-child{border-top:none;padding-top:4px}#form-progress{display:none}.see-matches{margin-top:10px;display:inline-flex}#back-btn,.workbench.has-photo .results-flora{display:none}#r-list{grid-template-columns:1fr 1fr}.match.is-hero,.list-divider,.verdict-blocked{grid-column:1/-1}}@media (width<=979px){.room-panel{display:none}.workbench.stage-results .room-panel{display:block}.form-title,.form-lede{display:none}.options-2col{grid-template-columns:repeat(2,1fr)}.results-flora{opacity:.6;width:150px;height:120px}}
