/* Hallmark: architectural, warm, estimate-led. Existing hero/footer retain their own styles.
   Critique: philosophy 5, hierarchy 5, execution 4, specificity 5, restraint 4, variety 4. */
.quote-focused-home {
 --home-bg:var(--color-paper); --home-bg-deep:var(--color-glass); --home-white:var(--color-paper);
 --home-navy:var(--color-ink); --home-text:var(--color-ink); --home-muted:var(--color-muted);
 --home-line:var(--color-line); --home-accent:var(--color-accent); --quote-soft:#f7f4ef;
 --quote-error:#a12724; --quote-shadow:0 12px 40px rgb(48 41 34 / 5%);
 color:var(--home-text); background:var(--home-white);
}
.quote-focused-home .home-section { padding-block:64px; }
.quote-focused-home :is(h2,h3) { min-width:0; overflow-wrap:anywhere; font-style:normal; }
.quote-focused-home h2 { font-size:clamp(28px,3.2vw,40px); line-height:1.14; letter-spacing:-.035em; font-weight:500; }
.quote-focused-home .section-heading { margin-bottom:30px; align-items:end; }
.quote-focused-home .section-heading h2 { max-width:24ch; }
.quote-focused-home .section-heading p { max-width:62ch; margin-top:14px; font-size:16px; line-height:1.6; }
.quote-focused-home .home-section--tint { background:var(--quote-soft); }
.quote-focused-home .home-facts { border-block:1px solid var(--home-line); background:var(--quote-soft); }
.quote-focused-home .home-facts .home-frame { padding-block:24px; }
.quote-focused-home .home-facts strong { font-size:17px; font-weight:600; }
.quote-focused-home .home-facts span { font-size:13px; }
.quick-estimate-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
.quick-estimate-copy { padding-top:24px; }
.quote-focused-home .quick-estimate-copy h2 { max-width:17ch; font-size:clamp(32px,3.7vw,46px); }
.quick-estimate-copy > p { margin-top:20px; max-width:42ch; font-size:17px; line-height:1.65; color:var(--home-muted); }
.estimate-assurances { list-style:none; margin:28px 0 24px; padding:0; }
.estimate-assurances li { display:grid; gap:4px; padding:17px 0; border-top:1px solid var(--home-line); }
.estimate-assurances strong { font-size:16px; font-weight:600; }
.estimate-assurances span { font-size:14px; color:var(--home-muted); }
.estimate-phone { display:inline-flex; align-items:center; min-height:44px; font-weight:600; font-size:15px; text-underline-offset:5px; }
.quick-estimate-card { padding:32px; border:1px solid var(--home-line); border-radius:16px; background:var(--home-white); box-shadow:var(--quote-shadow); }
.quote-focused-home .quick-estimate-card h3 { font-size:26px; font-weight:600; letter-spacing:-.025em; line-height:1.25; }
.quick-estimate-card > p { margin-top:10px; color:var(--home-muted); font-size:14px; }
.quick-estimate-card .quote-form { margin-top:25px; }
.quick-estimate-card .quote-status:empty { display:none; }
.quick-estimate-card .form-captcha { margin:0; }
.quick-estimate-card .quote-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.quick-estimate-card .quote-field { display:grid; gap:7px; min-width:0; }
.quick-estimate-card .quote-field--wide { grid-column:1/-1; }
.quick-estimate-card .quote-field > span { font-size:14px; font-weight:600; }
.quick-estimate-card small { font-size:12px; font-weight:400; color:var(--home-muted); }
.quick-estimate-card :is(input,select,textarea) { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid var(--home-line); background:var(--home-white); color:var(--home-text); border-radius:7px; font-size:16px; line-height:1.4; }
.quick-estimate-card textarea { resize:vertical; min-height:85px; }
.quick-estimate-card :is(input,select,textarea):focus-visible { outline:2px solid var(--color-focus); outline-offset:2px; }
.quick-estimate-card [aria-invalid=true] { border-color:var(--quote-error); }
.quote-focused-home .quick-estimate-card .quote-submit { width:100%; min-height:54px; border-radius:var(--radius-pill); background:var(--color-accent); color:var(--color-accent-ink); font-size:16px; font-weight:600; margin-top:4px; cursor:pointer; }
.quick-estimate-card .quote-submit:disabled { cursor:default; opacity:.7; }
.quick-estimate-card .quote-response { margin:0; font-size:12px; line-height:1.55; text-align:center; }
.quick-estimate-card .quote-status:not(:empty) { padding:14px; border-radius:7px; margin-top:12px; border:1px solid currentColor; font-size:14px; }
.quick-estimate-card .planner-alternative { border-top:1px solid var(--home-line); padding-top:18px; margin-top:22px; font-size:13px; line-height:1.7; }
.quote-focused-home .service-cards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.quote-focused-home .service-card { background:none; border:0; border-radius:0; padding:0 0 14px; border-bottom:1px solid var(--home-line); }
.quote-focused-home .service-card img { margin:0 0 18px; width:100%; aspect-ratio:4/3; height:auto; border-radius:12px; object-fit:cover; }
.quote-focused-home .service-card h3,.quote-focused-home .service-card p { margin-inline:0; }
.quote-focused-home .service-card h3 { padding:0; overflow-wrap:normal; font-size:20px; line-height:1.3; font-weight:500; }
.quote-focused-home .service-card p { font-size:14px; line-height:1.55; padding-right:0; margin-top:10px; }
.quote-focused-home .service-card .card-arrow { position:static; display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid var(--home-line); border-radius:50%; margin-top:18px; background:var(--home-white); color:var(--home-text); }
.quote-focused-home .team-panel { border-block:1px solid var(--home-line); padding-block:38px; }
.quote-focused-home .team-panel h2 { max-width:19ch; }
.quote-focused-home .team-panel .section-link { margin-top:20px; }
.quote-focused-home .product-series-grid { gap:0; border-block:1px solid var(--home-line); }
.quote-focused-home .product-series-card { padding:26px; border:0; border-right:1px solid var(--home-line); border-radius:0; background:transparent; }
.quote-focused-home .product-series-card:last-child { border-right:0; }
.quote-focused-home .product-series-card > span { text-transform:none; font-size:14px; color:var(--home-muted); letter-spacing:0; }
.quote-focused-home .product-series-card h3 { margin-top:12px; font-size:22px; line-height:1.2; font-weight:500; }
.quote-focused-home .product-series-card p { font-size:14px; line-height:1.6; }
.quote-focused-home .product-series-actions { gap:16px; }
.quote-focused-home .installation-layout { gap:52px; }
.quote-focused-home .process-steps { display:block; background:var(--quote-soft); border:1px solid var(--home-line); border-radius:12px; padding:12px 28px; }
.quote-focused-home .process-steps li { position:relative; padding:18px 0 18px 44px; border-bottom:1px solid var(--home-line); }
.quote-focused-home .process-steps li:last-child { border-bottom:0; }
.quote-focused-home .process-steps li::before { position:absolute; top:18px; left:0; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; margin:0; font-size:14px; line-height:1; background:var(--home-white); color:var(--home-text); border:1px solid var(--home-line); }
.quote-focused-home .process-steps h3 { color:var(--home-text); font-size:18px; }
.quote-focused-home .process-steps p { color:var(--home-muted); font-size:14px; line-height:1.6; }
.quote-focused-home .home-offer { background:var(--home-navy); color:var(--home-white); }
.quote-focused-home .home-offer h2 { max-width:22ch; }
.quote-focused-home .home-offer p { line-height:1.65; }
.quote-focused-home .home-offer .buying-links { border-color:var(--home-muted); }
.quote-focused-home .reviews-faq-grid { display:block; max-width:900px; margin:auto; }
.quote-focused-home .question-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.estimate-close-panel { display:flex; align-items:center; justify-content:space-between; gap:32px; border:1px solid var(--home-line); border-radius:14px; padding:36px; background:var(--quote-soft); }
.quote-focused-home .estimate-close h2 { max-width:23ch; font-size:32px; }
.estimate-close-panel p { margin-top:14px; color:var(--home-muted); }
.estimate-close-actions { flex-shrink:0; display:grid; justify-items:center; gap:8px; }
@media(max-width:1000px) {
 .quick-estimate-layout { gap:32px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
 .quick-estimate-card { padding:24px; }
 .quote-focused-home .service-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 20px; }
 .quote-focused-home .product-series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .quote-focused-home .product-series-card:nth-child(2) { border-right:0; }
 .quote-focused-home .product-series-card:nth-child(-n+2) { border-bottom:1px solid var(--home-line); }
 .estimate-close-panel { flex-direction:column; align-items:start; }
 .estimate-close-actions { display:flex; flex-wrap:wrap; justify-content:start; }
}
@media(max-width:760px) {
 .quote-focused-home .home-section { padding-block:42px; }
 .quick-estimate-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .quick-estimate-copy { padding:0; }
 .quote-focused-home .quick-estimate-copy h2 { max-width:24ch; font-size:32px; }
 .quick-estimate-copy > p { margin-top:12px; font-size:16px; }
 .estimate-assurances { display:none; }
 .quick-estimate-copy .estimate-phone { margin-top:10px; }
 .quote-focused-home .section-heading { display:block; margin-bottom:24px; }
 .quote-focused-home .section-heading .section-link { margin-top:18px; }
 .quote-focused-home .installation-layout { grid-template-columns:minmax(0,1fr); gap:26px; }
 .quote-focused-home .question-cards { grid-template-columns:minmax(0,1fr); }
 .estimate-close-panel { padding:24px; }
 .quote-focused-home .estimate-close h2 { font-size:28px; }
}
@media(max-width:414px) {
 .quick-estimate-card { padding:20px 16px; border-radius:12px; }
 .quote-focused-home .quick-estimate-card h3 { font-size:24px; }
 .quick-estimate-card .quote-fields { gap:16px 12px; }
 .quote-focused-home .service-cards { gap:26px 14px; }
 .quote-focused-home .service-card h3 { font-size:18px; }
 .quote-focused-home .product-series-card { padding:22px 16px; }
 .quote-focused-home .product-series-card h3 { font-size:20px; }
 .quote-focused-home .product-series-actions { align-items:start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .quote-focused-home * { transition:none!important; animation:none!important; } }

.quote-focused-home .lomax-gallery { padding-block:0; }
