/* Home-centered studio. Existing map and estimate behavior remains shared. */
:root{--cream:#f5f4ef;--ink:#183f37;--green:#215747;--muted:#62736d;--line:#dce2db;--lime:#e4edb7}
.estimator{max-width:1480px;padding:0 4%;}.estimator-intro h2{font-size:38px}.stepper{grid-template-columns:repeat(3,1fr);margin-bottom:28px;padding:5px;background:#e9ede4}.stepper button{min-height:72px}.stepper b{font-size:14px}.stepper small{font-size:11px}.workspace{display:block}.plan-card{display:none}.workspace[data-stage="2"],.workspace[data-stage="3"]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:30px}.builder{min-width:0}.panel{border:0;padding:30px;border-radius:16px;box-shadow:0 2px 3px #1d382808}.studio-column{position:sticky;top:24px;min-width:0}.studio-view{margin:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px}.visualizer-heading{display:block}.visualizer-heading h3{font-size:29px;letter-spacing:-1px}.visualizer-heading p{font-size:12px}.visualizer-heading>.pill{margin-bottom:16px}.visualizer-heading .eyebrow{font-size:9px}.comparison-heading{gap:12px}.comparison-heading h3{font-size:15px}.comparison-heading p{font-size:11px!important}.preview-material-label{display:none}.roof-comparison{height:390px;border-radius:9px}.satellite-label{font-size:8px;padding:8px}.preview-disclaimer{font-size:10px;line-height:1.65;margin-bottom:0}.texture-details summary{font-size:11px;padding:12px 0;cursor:pointer}.studio-caption{display:grid;grid-template-columns:1fr auto;gap:9px 15px;padding:20px 8px}.studio-caption>span:first-child{font-size:9px;letter-spacing:1.7px;grid-column:1/-1;color:var(--muted)}.studio-caption b{font-size:18px;letter-spacing:-.6px}.studio-caption>span:last-child{font-size:11px;color:var(--muted);align-self:center}.workspace[data-stage="3"] .studio-caption{display:none}.workspace[data-stage="3"] .texture-details,.workspace[data-stage="3"] .compare-modes{display:none}
#step-1{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:0 32px}#step-1>.sectionhead,#step-1>.searchbox,#step-1>.error,#step-1>.step-actions{grid-column:1/-1}#step-1>.mode-tabs{grid-column:1}#satellite-pane,#manual-pane{grid-column:1;grid-row:4/7}#step-1>.visual-question{grid-column:2;grid-row:3/6;margin:23px 0 0;padding:20px;background:#f5f6f0;border-radius:12px}#step-1 .pitch-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#step-1>.measurement-summary{grid-column:2;grid-row:6;flex-wrap:wrap;gap:15px;margin:18px 0 0;padding:17px}#step-1 .measurement-summary>.pill{margin:0}#step-1 .map-shell{height:420px}#step-1 .roof-picture-card img{aspect-ratio:1.6}#step-1 .roof-picture-copy{padding:10px;min-height:62px}#step-1 .roof-picture-copy small{font-size:10px}#step-1 .visual-question legend{font-size:19px;float:left;width:100%;margin:0 0 9px}#step-1 .question-help{clear:both}#step-1 .pitch-helper{gap:0}#step-1 .pitch-helper .text-button{font-size:11px}#step-1 .sectionhead h2{font-size:30px}.map-guide{min-height:78px}.map-guide .text-button{white-space:normal;max-width:80px}.map-instruction{white-space:normal;text-align:center;width:max-content;max-width:90%}
#step-2 .sectionhead h2{font-size:29px}#step-2 .material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#step-2 .material-photo{aspect-ratio:1.45}#step-2 .material-info{padding:12px}#step-2 .material-info>b{font-size:13px;letter-spacing:-.2px}#step-2 .material-info>small{font-size:11px;line-height:1.5}#step-2 .material-info>.tag{font-size:8px;letter-spacing:.8px}#step-2 .climate-teaser{display:none}#step-2 .material-selected{font-size:8px;padding:6px 8px;top:8px;left:8px}#step-2 .material-card input{width:16px;height:16px;right:8px;top:8px}.finish-selector{margin:24px 0}.finish-selector>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px}.finish-selector h3{font-size:16px;margin:0}.finish-selector #finish-name{font-size:12px;color:var(--muted)}#finish-swatches{display:flex;gap:12px;margin:15px 0}.finish-swatch{width:46px;height:46px;border:2px solid transparent;padding:4px;background:transparent;border-radius:50%}.finish-swatch>span{display:block;background:var(--swatch);border-radius:50%;width:100%;height:100%;border:1px solid #0002}.finish-swatch[aria-pressed="true"]{border-color:var(--ink)}.finish-selector .hint{font-size:10px}.compare-open{width:100%;background:#f3f5ed;justify-content:space-between}.climate-panel{padding:20px;background:#eff3e6;margin-top:23px}.climate-panel h3{font-size:19px}.climate-facts{grid-template-columns:1fr;gap:16px;margin-top:20px}.climate-facts p{font-size:12px;line-height:1.65}.climate-question{font-size:11px;padding:13px}.climate-panel-heading>span{width:34px;height:34px;font-size:21px}.climate-panel-heading{gap:10px}.climate-panel-heading .eyebrow{font-size:8px;letter-spacing:1px}.finish-options{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0}.finish-options>summary{padding:20px 0;cursor:pointer;font-size:15px;font-weight:600}.finish-options>summary small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:8px 0 0}.finish-options .extras{display:grid;grid-template-columns:1fr;gap:13px}.finish-options .extra-card{display:grid;grid-template-columns:110px 1fr;align-items:stretch;min-height:150px}.finish-options .extra-card img{width:100%;height:100%;object-fit:cover}.finish-options .extra-copy{padding:14px 30px 14px 13px}.finish-options .extra-copy>b{font-size:14px}.finish-options .extra-copy>span:not(.tag){font-size:11px}.finish-options .extra-fact{display:none!important}.finish-options .tag{font-size:8px;letter-spacing:.7px}.finish-options .extra-card input{right:8px;top:10px}.finish-options .check-indicator{display:none}.finish-options .fact-sources{margin-bottom:14px}.selection-note{display:none}.step-actions{position:relative;gap:8px}.step-actions .button{font-size:12px}.result-panel .sectionhead{display:block}.result-panel .sectionhead .pill{margin-top:14px}.result-panel .sectionhead h2{font-size:30px}.result-image{height:210px}.result-top{padding:22px 18px}.quote-range{font-size:clamp(28px,3vw,43px);letter-spacing:-1.7px;white-space:nowrap}.quote-facts{gap:12px}.quote-facts b{font-size:12px}.result-cta{padding:22px 18px}.result-cta p{font-size:12px}.result-finish{font-size:12px;font-weight:600}.quote-actions{flex-wrap:wrap}.quote-actions .button{font-size:12px;flex:1 1 160px}.saved-plan-banner{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#e7eedb;border-radius:12px;margin-bottom:22px;gap:16px}.saved-plan-banner b{font-size:14px;display:block}.saved-plan-banner span{font-size:11px;color:var(--muted);display:block;margin-top:5px}#compare-dialog{max-width:820px;width:calc(100% - 32px);padding:28px}.favorite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.favorite-grid article{min-width:0}.favorite-grid img{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:9px;margin:18px 0}.favorite-grid h3{font-size:21px;min-height:58px}.favorite-grid b{font-size:12px}.favorite-grid p{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 18px}.favorite-grid article>button{width:100%}.favorite-grid select{font-size:12px}.confidence{margin-top:80px}
@media(min-width:1500px){.roof-comparison{height:450px}}
@media(max-width:1050px){.workspace[data-stage="2"],.workspace[data-stage="3"]{grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);gap:18px}.studio-view,.panel{padding:22px}.studio-caption{grid-template-columns:1fr}.studio-column{top:15px}.roof-comparison{height:340px}.satellite-label{font-size:7px;letter-spacing:0}.visualizer-heading h3{font-size:25px}#step-1{gap:0 22px}#step-1 .roof-picture-copy b{font-size:10px}#step-1 .map-shell{height:435px}.quote-range{font-size:30px}.step-actions .button{padding:12px}}
@media(max-width:800px){.estimator{padding:0 3%}.estimator-intro h2{font-size:29px}.estimator-intro>p{display:none}#step-1{display:block}#step-1 .map-shell{height:380px}#step-1 .pitch-image-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#step-1 .measurement-summary{margin:20px 0}.workspace[data-stage="2"],.workspace[data-stage="3"]{display:block}.studio-column{position:static;margin-bottom:20px}.studio-view{padding:20px}.visualizer-heading h3{font-size:25px}.visualizer-heading .eyebrow{margin-bottom:8px}.studio-caption{grid-template-columns:1fr auto;padding:16px 8px}.roof-comparison{height:340px}.satellite-label{font-size:9px}.panel{padding:24px}#step-2 .material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.climate-facts{grid-template-columns:1fr 1fr}.finish-options .extras{grid-template-columns:1fr}.step-actions{background:white;position:sticky;bottom:0;padding:16px 0 8px;margin-top:20px;z-index:5}.quote-range{font-size:42px}.result-image{height:240px}.result-panel .step-actions{position:static}}
@media(max-width:540px){.estimator{padding:0 4%}.estimator-intro{margin-bottom:20px}.estimator-intro h2{font-size:26px}.estimator-intro .eyebrow{font-size:8px}.stepper{gap:3px;margin-bottom:18px}.stepper button{padding:12px 5px;min-height:78px;text-align:center}.stepper button>span{position:static;margin:0 auto 7px;width:24px;height:24px;font-size:11px}.stepper button b{font-size:10px}.stepper small{display:none}.panel{padding:19px 16px;border-radius:12px}.sectionhead{gap:10px}#step-1 .sectionhead{display:block}#step-1 .sectionhead>.pill{margin-top:12px}#step-1 .sectionhead h2{font-size:25px}.searchbox>span{display:none}.searchbox .button{font-size:10px;padding:10px}.searchbox input{font-size:11px!important}#step-1 .pitch-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#step-1>.visual-question{padding:15px}#step-1 .roof-picture-copy b{font-size:12px}.map-guide{padding:12px;gap:8px}.map-guide b{font-size:11px}.map-guide p{font-size:10px}.map-guide .text-button{font-size:9px;max-width:65px}#step-1 .map-shell{height:330px}.drawing-toolbar .button{font-size:10px;padding:11px}.measurement-summary b{font-size:25px}#step-1>.measurement-summary{gap:18px}.studio-view{padding:16px}.visualizer-heading h3{font-size:25px}.visualizer-heading p{font-size:11px}.visualizer-heading .eyebrow{font-size:8px}.roof-comparison{height:300px}.satellite-label{font-size:7px;padding:7px;top:8px}.preview-disclaimer{font-size:10px}.studio-caption{grid-template-columns:1fr;padding:15px 4px;gap:6px}.studio-caption b{font-size:18px}.comparison-heading{display:block}.compare-modes{margin-bottom:12px}.comparison-heading #preview-address{font-size:11px!important}#step-2 .material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#step-2 .material-info{padding:10px}#step-2 .material-info>.tag{font-size:7px;letter-spacing:.4px}#step-2 .material-info>b{font-size:12px}#step-2 .material-info>small{font-size:10px}#step-2 .material-photo{aspect-ratio:1.2}#step-2 .sectionhead h2{font-size:26px}.climate-facts{grid-template-columns:1fr}.climate-panel{padding:17px}.climate-panel h3{font-size:18px}.climate-panel-heading .eyebrow{font-size:7px}.finish-options .extra-card{grid-template-columns:92px 1fr}.finish-options .extra-copy>b{font-size:13px}.finish-options .extra-copy .tag{font-size:7px}.step-actions .button{font-size:11px;min-height:46px;padding:12px}.step-actions>span{font-size:10px}.result-panel .sectionhead h2{font-size:27px}.quote-range{font-size:32px}.quote-facts b{font-size:10px}.quote-facts span{font-size:9px}.result-image{height:180px}.result-top{padding:20px 12px}.result-cta{padding:20px 15px}.saved-plan-banner{padding:16px;flex-wrap:wrap}.saved-plan-banner .button{width:100%}#compare-dialog{padding:20px;width:calc(100% - 20px)}.favorite-grid{gap:14px}.favorite-grid img{aspect-ratio:1.1}.favorite-grid h3{font-size:15px;min-height:58px}.favorite-grid p{font-size:11px}.favorite-grid b{font-size:11px}.favorite-grid .button{padding:11px 9px;font-size:11px}.favorite-grid select{font-size:11px;padding:8px}.confidence{margin-top:50px}}
@media print{.studio-column,.saved-plan-banner{display:none!important}.workspace[data-stage]{display:block}#step-1,#step-2{display:none!important}#step-3{display:block!important}.panel{box-shadow:none}.result-panel .result-cta,#save-status{display:none!important}.quote-range{font-size:36px}.result-panel .sectionhead{display:block}}

.manual-inspiration{margin:0;border-radius:16px;overflow:hidden;background:white;border:1px solid var(--line)}.manual-inspiration>img{width:100%;aspect-ratio:1.2;object-fit:cover}.manual-inspiration figcaption{padding:24px}.manual-inspiration figcaption>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.manual-inspiration h3{font-size:26px;margin:12px 0}.manual-inspiration p{font-size:12px;color:var(--muted);margin:0}.result-top .result-finish{font-size:11px;margin:12px 0 0;color:var(--green)}#forget-plan{font-size:10px}.visualizer-heading{margin-bottom:20px}.comparison-heading{margin-top:0}@media(max-width:540px){.roof-comparison{height:260px}.manual-inspiration>img{aspect-ratio:1.6}.manual-inspiration figcaption{padding:18px}.manual-inspiration h3{font-size:23px}.studio-view .visualizer-heading{margin-bottom:14px}.studio-view .visualizer-heading>.pill{margin-bottom:6px}.studio-view .preview-disclaimer{font-size:9px}.studio-view .comparison-heading{margin-top:0}}@media print{#forget-plan{display:none!important}}

/* Audit pass, September 23: header label, home-size hero, step 1 layout, one next step, phone type floor. */
.label-short{display:none}

.hero-search>label span,.address-field>label span{font-weight:400;color:var(--muted);margin-left:6px}
.hero-stories{border:0;padding:0;margin:12px 0 0;min-width:0}
.hero-stories legend{float:left;padding:0;margin:0 10px 0 0;line-height:40px;font-size:13px;font-weight:600}
.hero-stories label{position:relative;display:inline-block;margin:0 8px 0 0}
.hero-stories input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.hero-stories span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:14px;font-weight:600;color:var(--ink)}
.hero-stories input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero-stories input:focus-visible+span{outline:3px solid var(--green);outline-offset:3px}
#step-1{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start}
#step-1>*{grid-column:1}
#step-1>.sectionhead,#step-1>.error,#step-1>.step-actions{grid-column:1/-1}
#satellite-pane,#manual-pane{grid-column:1;grid-row:auto}
#step-1>.visual-question{grid-column:2;grid-row:2/span 6;margin:0}
#step-1>.measurement-summary{grid-column:1;grid-row:auto;margin:18px 0 0}
#step-1:not(.has-size)>.measurement-summary{display:none}
.address-field{margin:22px 0 0}
.address-field>label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.address-field>div{display:flex;gap:8px}
.address-field input{margin:0!important;flex:1}
#step-1,#step-2,#home-pane,.result-top{scroll-margin-top:16px}
.quote-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-actions{display:flex;flex-direction:column;flex-wrap:nowrap;gap:10px}
.quote-actions>.button{flex:none;width:100%}
.quote-actions #booking-link{min-height:54px;font-size:15px}
.quote-secondary{display:flex;flex-wrap:wrap;gap:10px}
.quote-secondary .button{flex:1 1 180px}
.more-options>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);padding:10px 0}
.more-options>div{display:flex;flex-wrap:wrap;gap:0 18px}
.more-options .text-button{font-size:13px}
.confidence-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}

@media(min-width:801px){.workspace[data-stage="3"] #result-image{display:none}}
@media(max-width:1050px){.confidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
.workspace[data-stage="2"] #manual-inspiration,.workspace[data-stage="3"] #manual-inspiration,.workspace[data-stage] .studio-caption{display:none}
.workspace[data-stage] .studio-column{margin-bottom:0}
input:not([type=radio]):not([type=checkbox]):not([type=range]),select,textarea{font-size:16px!important}
.eyebrow,.hero .eyebrow,.estimator-intro .eyebrow,.sectionhead .eyebrow,.faq .eyebrow,.climate-panel-heading .eyebrow{font-size:11px;letter-spacing:1px}.hero-search>label,.hero-stories legend{font-size:14px}.stepper b,.stepper button b{font-size:12px}
.sectionhead p:not(.eyebrow),.hint,.question-help,.finish-selector .hint,.manual-heading p,.saved-plan-banner span{font-size:13px}
label,.stories-choice legend,.address-field>label{font-size:14px}
.manual-card>label>span,.field-grid label span,#lead-form>label>span{font-size:12px}
.measurement-summary>div>span,.measurement-summary>.pill,.pill,.material-selected,#step-2 .material-selected{font-size:11px}.measurement-summary small{font-size:12px}
.roof-picture-copy b,#step-1 .roof-picture-copy b{font-size:14px}.roof-picture-copy small,#step-1 .roof-picture-copy small{font-size:12px}
.material-info .tag,#step-2 .material-info>.tag,.finish-options .tag,.finish-options .extra-copy .tag,.extra-copy .tag{font-size:11px;letter-spacing:.6px}
#step-2 .material-info>b{font-size:15px}#step-2 .material-info>small{font-size:13px}
.climate-facts p,.climate-question{font-size:14px}
.finish-options>summary small,.finish-options .extra-copy>span:not(.tag){font-size:13px}
.step-actions .button,.quote-actions .button{font-size:15px}.step-actions>span,.autosave-status{font-size:13px}
.quote-facts span{font-size:12px}.quote-facts b{font-size:15px}
.result-top>p:not(.eyebrow),.result-top .result-finish,.company span{font-size:13px}
.quote-line,.total-row,.breakdown summary,.result-cta p,.confidence-grid p,.faq details p{font-size:14px}
.disclaimer,.page-footer p,.image-caption span,#gate-demo-note{font-size:12px}
.faq summary{font-size:15px}.confidence-grid h3{font-size:17px}
#lead-form .gate-consent>span{font-size:13px}
}
@media(max-width:480px){
.confidence-grid{grid-template-columns:1fr}
}


@media(max-width:800px){
.measurement-summary,#step-1>.measurement-summary{flex-wrap:wrap;gap:12px 22px}
.measurement-summary>div{flex:1 1 40%}
.measurement-summary>.pill{flex:none}
.step-actions{flex-wrap:wrap}.step-actions>span{display:none}
.step-actions>.button.quiet{flex:none;width:auto;padding:12px 10px}
.step-actions>.button.primary{flex:1 1 0;width:auto;min-width:0}
}
/* Second audit pass, September 23: a photo on the first phone screen, one style caption, open markers, compare dialog. */
.hero-search .button[aria-busy=true]{cursor:progress;opacity:.8}
.breakdown summary>span,.faq summary>span{display:inline-block;transition:transform .2s}
.breakdown[open] summary>span,.faq details[open] summary>span{transform:rotate(45deg)}
.manual-inspiration .manual-style-finish{font-size:13px;font-weight:600;color:var(--ink);margin:-4px 0 10px}
@media(max-width:540px){
#compare-dialog .dialog-head{position:sticky;top:-20px;z-index:3;margin:-20px -20px 4px;padding:20px 20px 8px;background:#fff}
}
@media(max-width:480px){
.favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.favorite-grid article{display:contents}
.favorite-grid article>label,.favorite-grid article>select{grid-column:1/-1;width:100%}
.favorite-grid article>label{margin-top:10px}
.favorite-grid article:first-child>label{grid-row:1}.favorite-grid article:first-child>select{grid-row:2}
.favorite-grid article:last-child>label{grid-row:3}.favorite-grid article:last-child>select{grid-row:4}
.favorite-grid article:first-child>div{grid-row:5;grid-column:1}.favorite-grid article:last-child>div{grid-row:5;grid-column:2}
.favorite-grid article:first-child>button{grid-row:6;grid-column:1}.favorite-grid article:last-child>button{grid-row:6;grid-column:2}
.favorite-grid select{padding:10px}
#compare-dialog>.hint{margin-top:16px}
}
