/* Painting project estimator, aligned to the approved red / white / yellow site. */
:root{--calculator-red:#bd1531;--calculator-navy:#19283f;--calculator-yellow:#ffda41;--calculator-border:#dfe4ec;--calculator-muted:#5c697b}
.calculator-page .desktop-nav{gap:13px}
.nav-calculator-link{color:#b61935!important}
@media(min-width:900px) and (max-width:1150px){.desktop-nav{gap:9px!important}.desktop-nav a{font-size:11px!important}}
.calc-intro{background:linear-gradient(120deg,#b91431 10%,#c51b3a 60%,#a61029 100%);color:#fff;padding:74px 0 74px}
.calc-intro-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:75px;align-items:center}
.calc-crumbs{font-size:12px;display:flex;gap:12px;color:#ffe1e7;align-items:center;margin-bottom:32px}
.calc-crumbs a{text-decoration:underline;text-underline-offset:3px}
.calc-crumbs span:nth-child(2){opacity:.6}
.calc-overline,.calc-note-head,.calc-promo-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--calculator-yellow);text-transform:uppercase}
.calc-intro h1{font:900 clamp(2.8rem,4.65vw,5.1rem)/1.04 Arial,Helvetica,sans-serif;letter-spacing:-.056em;max-width:760px;margin:18px 0 24px}
.calc-intro-copy>p{font:400 17px/1.77 Arial,Helvetica,sans-serif;max-width:640px;color:#ffeaf0}
.calc-trust{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:32px}
.calc-trust span{font-size:11px;font-weight:800;border-left:3px solid #ffda41;padding-left:10px;color:#fff5f6}
.calc-intro-note{background:#fff;color:#19283f;padding:33px 32px;box-shadow:14px 14px 0 #8b1027;border-top:7px solid #ffda41}
.calc-note-head{color:#ba1a35;margin-bottom:15px}
.calc-intro-note strong{display:block;font:900 26px/1.18 Arial,Helvetica,sans-serif;letter-spacing:-.035em;margin-bottom:13px}
.calc-intro-note p{font-size:13px;line-height:1.8;color:#59677a;margin-bottom:15px}
.calc-intro-note a{font-size:12px;font-weight:800;color:#a70c25;text-decoration:underline;text-underline-offset:4px}
.calc-section{background:#f3f5f8;padding:86px 0 106px}
.calc-workspace{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1fr);gap:70px;align-items:start}
.calc-side{padding-top:26px}
.calc-side-label{font-size:11px;font-weight:900;letter-spacing:.16em;color:#bd1531}
.calc-side h2{font:900 clamp(2.35rem,3.2vw,3.6rem)/1.14 Arial,Helvetica,sans-serif;letter-spacing:-.05em;color:#15233a;margin:15px 0 23px}
.calc-side>p{font-size:15px;line-height:1.85;color:#536176;max-width:420px}
.calc-side-list{margin-top:36px;border-top:1px solid #d8e0e9}
.calc-side-list span{display:block;border-bottom:1px solid #d8e0e9;padding:12px 0;font-size:13px;font-weight:800;color:#243754}
.calc-side-footer{font-size:12px;line-height:1.75;color:#687487;margin-top:25px;max-width:420px}
.calc-card{background:#fff;border:1px solid #e0e5eb;box-shadow:14px 14px 0 #e0e5ed;min-width:0;padding:37px 37px 30px;border-top:7px solid #bd1531}
.calc-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.calc-form-eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;color:#a4162e;margin-bottom:8px}
.calc-progress-title{font-size:15px;font-weight:900;color:#1b2a42}
.calc-step-count{font-size:12px;font-weight:900;white-space:nowrap;color:#5a6a7e}
.calc-progress{width:100%;height:6px;background:#ebeff4;margin:22px 0 36px;overflow:hidden}
.calc-progress-fill{display:block;height:100%;background:#bd1531;transition:width .25s ease}
.calc-step[hidden],.calc-result[hidden],.calc-error[hidden],.calc-controls [hidden]{display:none!important}
.calc-question-head{margin-bottom:24px}
.calc-step-kicker{font-size:11px;letter-spacing:.14em;color:#bb1730;font-weight:900}
.calc-question-head h3{font:900 clamp(1.7rem,2.5vw,2.35rem)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.045em;color:#19283f;margin:9px 0 11px}
.calc-question-head p{font-size:14px;color:#687486;line-height:1.65;margin-bottom:0}
.calc-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calc-choice{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:13px;row-gap:3px;align-items:center;padding:17px 13px;border:1px solid #d9dfe9;cursor:pointer;transition:border-color .12s,background .12s;min-width:0}
.calc-choice:hover{border-color:#bb1730;background:#fff9f9}
.calc-choice:has(input:checked){border-color:#ad122a;outline:2px solid #bd1531;outline-offset:-2px;background:#fff5f6}
.calc-choice input{position:absolute;opacity:0;left:15px;top:15px;width:18px;height:18px}
.calc-choice input:focus-visible + .choice-icon{outline:3px solid #ed9e27;outline-offset:3px}
.choice-icon{grid-row:1 / span 2;display:grid;place-items:center;font:800 22px/1 Arial,Helvetica,sans-serif;width:35px;height:35px;color:#b41a35;background:#f7e9ed}
.calc-choice strong{display:block;font-size:13px;line-height:1.2;font-weight:900;color:#19283f}
.calc-choice small{font-size:10px;line-height:1.3;color:#657287}
.calc-field{display:flex;flex-direction:column;gap:7px;margin-bottom:21px}
.calc-zip{margin-top:28px;margin-bottom:0}
.calc-field label{font-size:13px;font-weight:900;color:#202b3e}
.calc-field label b{color:#bd1531}
.calc-field input,.calc-field select,.calc-field textarea{width:100%;min-width:0;min-height:48px;border:1px solid #d9dee8;background:#fff;border-radius:2px;padding:12px 13px;font:500 15px/1.5 Arial,Helvetica,sans-serif;color:#172339}
.calc-field textarea{min-height:113px;resize:vertical}
.calc-field input:focus,.calc-field select:focus,.calc-field textarea:focus{outline:3px solid #ffdc7790;border-color:#b71931}
.calc-field small{font-size:12px;line-height:1.5;color:#697689}
.calc-context,.calc-prep-notice{background:#fff7e2;border-left:4px solid #ebad22;padding:18px 20px;color:#49536b;font-size:13px;line-height:1.7}
.calc-prep-notice strong{color:#1d2c40}
.calc-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #ebedf0;padding-top:23px;margin-top:24px}
.calc-back{background:transparent;border:0;font:900 13px Arial,Helvetica,sans-serif;color:#40506a;padding:13px 5px}
.calc-back:hover{text-decoration:underline}
.calc-next{margin-left:auto;min-width:185px;cursor:pointer}
.calc-next[disabled]{opacity:.65;cursor:wait}
.calc-error{padding:13px 15px;background:#fff3ef;border:1px solid #da8f8b;color:#96252a;font-size:13px;line-height:1.6;margin-top:15px}
.calc-fine-print{font-size:10px;color:#8b94a2;margin-top:13px;line-height:1.5}
.calc-consent{font-size:12px;line-height:1.65;color:#667488;margin-top:2px;margin-bottom:0}
.calc-consent a{text-decoration:underline;color:#9c1429;font-weight:800}
.calc-result-eyebrow{font-size:11px;font-weight:900;letter-spacing:.15em;color:#17805c}
.calc-result h3{font:900 clamp(1.9rem,3vw,2.6rem)/1.1 Arial,sans-serif;color:#1d2b40;margin:12px 0 15px}
.calc-price{font:900 clamp(2.1rem,4vw,3.65rem)/1.05 Arial,sans-serif;color:#bd1531;letter-spacing:-.04em;overflow-wrap:anywhere;padding:14px 0 20px}
.calc-result-description{font-size:15px;line-height:1.75;color:#4f5d71}
.calc-result-scope{font-size:13px;font-weight:800;color:#253850;background:#f4f6f9;padding:17px 19px;margin-top:20px;line-height:1.75}
.calc-result-caution{font-size:12px;line-height:1.7;color:#58677d;margin:19px 0;border-top:1px solid #e7eaf0;padding-top:15px}
.calc-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:24px}
.calc-result-phone{font-size:13px;color:#ac102b;text-decoration:underline;text-underline-offset:3px;font-weight:900}
.calc-start-over{border:0;background:transparent;color:#4d5b6c;font-weight:800;font-size:12px;padding:15px 0;cursor:pointer;margin-top:12px}
.calc-explainer{padding:98px 0 107px;background:white}
.calc-explainer-heading{max-width:770px;margin-bottom:40px}
.calc-explainer h2,.calc-local h2,.calc-faq h2{font:900 clamp(2.25rem,4vw,4rem)/1.12 Arial,sans-serif;letter-spacing:-.05em;color:#19283f;margin:14px 0 18px}
.calc-explainer-heading>p,.calc-local p{font-size:15px;color:#606d80;line-height:1.85}
.calc-explainer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.calc-explainer article{border:1px solid #dfe5ec;padding:32px 28px 29px;background:#f9fafc}
.calc-line{display:block;background:#bb1730;width:45px;height:5px;margin-bottom:27px}
.calc-explainer article h3{font:900 22px/1.2 Arial,sans-serif;color:#1d2b43;margin:0 0 13px}
.calc-explainer article p{font-size:14px;color:#5d6b7e;line-height:1.8;margin:0}
.calc-local{background:#ffda41;padding:86px 0}
.calc-local-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.calc-local h2{color:#172338}
.calc-local p{color:#394153}
.calc-local-link{font-weight:900;color:#ad142e;text-decoration:underline;text-underline-offset:4px}
.calc-faq{background:#f5f6f8;padding:88px 0 100px}
.calc-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}
.calc-home-promo{background:#19283f;color:#fff;padding:68px 0}
.calc-home-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center}
.calc-home-promo h2{font:900 clamp(2.2rem,3.4vw,3.5rem)/1.14 Arial,Helvetica,sans-serif;letter-spacing:-.048em;margin:13px 0 15px;color:#fff}
.calc-home-promo p{font-size:15px;line-height:1.85;color:#d5e0ee;margin:0}
.calc-promo-aside{padding:26px 30px;border:1px solid #53657e;border-top:6px solid #ffda41;display:flex;align-items:flex-start;flex-direction:column;gap:17px}
.calc-promo-aside>span{font-size:10px;letter-spacing:.15em;font-weight:900;color:#ffe072}
.calc-promo-aside strong{font:800 22px/1.3 Arial,sans-serif;color:#fff}
@media(max-width:1000px){.calc-intro-grid{gap:35px}.calc-workspace{gap:35px}.calc-card{padding:26px 24px}.calc-choice{padding:13px 10px}}
@media(max-width:800px){.calc-intro-grid,.calc-workspace,.calc-home-grid,.calc-local-grid,.calc-faq-grid{grid-template-columns:1fr}.calc-intro-grid{gap:40px}.calc-intro-note{max-width:620px}.calc-side{padding:0}.calc-side h2{max-width:550px}.calc-side-list{display:none}.calc-workspace{gap:30px}.calc-explainer-grid{grid-template-columns:1fr 1fr}.calc-home-grid{gap:35px}}
@media(max-width:700px){.calc-intro{padding:38px 0 47px}.calc-crumbs{margin-bottom:24px}.calc-intro h1{font-size:clamp(2.6rem,11vw,3.7rem);letter-spacing:-.055em}.calc-intro-copy>p{font-size:15px}.calc-intro-note{padding:23px 23px;box-shadow:7px 7px 0 #8b1027}.calc-intro-note strong{font-size:22px}.calc-trust{margin-top:24px;gap:13px}.calc-section{padding:62px 0 80px}.calc-side h2{font-size:2.45rem}.calc-side>p{font-size:14px}.calc-card{border-top-width:6px;box-shadow:6px 6px 0 #e0e5ed;padding:24px 19px}.calc-progress{margin:18px 0 26px}.calc-progress-title{font-size:13px}.calc-question-head h3{font-size:1.8rem}.calc-choice-grid{grid-template-columns:1fr 1fr;gap:8px}.calc-choice{grid-template-columns:1fr;padding:12px 10px;gap:5px;min-height:114px;align-content:start}.choice-icon{grid-row:auto;width:28px;height:28px;font-size:19px;margin-bottom:4px}.calc-choice strong{font-size:12px}.calc-choice small{font-size:10px}.calc-controls{flex-wrap:wrap}.calc-next{min-width:0}.calc-fine-print{font-size:10px}.calc-explainer,.calc-faq{padding:68px 0}.calc-explainer-grid{grid-template-columns:1fr}.calc-explainer article{padding:25px}.calc-local{padding:66px 0}.calc-home-promo{padding:63px 0}.calc-home-grid{gap:25px}.calc-promo-aside{padding:22px}.calc-result-actions .btn{width:100%}.calc-price{font-size:2.5rem}}
@media(max-width:360px){.calc-card{padding:20px 14px}.calc-choice{padding:10px 8px}.calc-choice strong{font-size:11px}.calc-step-count{font-size:10px}.calc-intro h1{font-size:2.45rem}}
@media(prefers-reduced-motion:reduce){.calc-progress-fill,.calc-choice{transition:none}}

.calc-service-shortcut{display:inline-flex;color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:900;font-size:13px;align-items:center;gap:8px}
.calc-service-shortcut:hover{color:#ffda41}
@media(max-width:700px){.f-hero-actions .calc-service-shortcut{display:block;text-align:center;width:100%;margin-top:3px;padding:9px 0}}
/* Measured-surface cost build-up UI */
.calc-measurements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.calc-dimension-field input{font-variant-numeric:tabular-nums}
.calc-sizing-tip{font-size:12px;line-height:1.65;color:#52637a;margin:0 0 13px}
.calc-area-preview{background:#fff4d4;border-left:5px solid #ddab24;color:#192a41;font-size:14px;line-height:1.6;font-weight:800;padding:15px 17px;margin-top:4px}
.calc-result-materials{padding:17px 19px;margin-top:12px;border-left:4px solid #d4a21d;background:#fff8e7;color:#2b3e50;font-size:13px;line-height:1.65}
.calc-measurements[hidden],#calc-direct-area-wrap[hidden],#calc-sizing-tip[hidden],#calc-result-materials[hidden]{display:none!important}
@media(max-width:380px){.calc-measurements{grid-template-columns:1fr}}

/* Final mobile selections: real service photography instead of decorative icon tiles. */
.choice-photo{display:none}
@media(max-width:700px){
  .calc-choice{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0;overflow:hidden;min-height:0;background:#fff}
  .calc-choice .choice-icon{display:none!important}
  .calc-choice .choice-photo{display:block;width:100%;height:100px;overflow:hidden;background:#e6e9ed;margin-bottom:11px}
  .calc-choice .choice-photo img{width:100%;height:100%;display:block;object-fit:cover}
  .calc-choice strong{padding:0 12px;font-size:13px;line-height:1.25}
  .calc-choice small{padding:4px 12px 14px;line-height:1.4;font-size:11px}
  .calc-choice:has(input:checked) .choice-photo{box-shadow:inset 0 0 0 3px #bd1531}
  .calc-choice input:focus-visible ~ .choice-photo{outline:3px solid #ffbf24;outline-offset:-3px}
  /* Bottom actions retain their wording while decorative glyphs are removed. */
  .mobile-sticky .sticky-symbol{display:none!important}
  .mobile-sticky a{gap:0!important}
}
@media(max-width:360px){.calc-choice .choice-photo{height:85px}.calc-choice strong{font-size:12px}}
.calc-booking-box{margin:23px 0 20px;border:1px solid #e1e4e8;border-left:5px solid #bd1531;background:#f8fafc;padding:21px 23px}
.calc-booking-box>strong{display:block;color:#15243a;font-size:21px;letter-spacing:-.025em;line-height:1.25}
.calc-booking-box>p{margin:9px 0 18px;color:#4c5d70;font-size:14px;line-height:1.65}
.calc-booking-box .btn{white-space:normal;text-align:center}
.calc-booking-box .btn:disabled{opacity:.65;cursor:wait}
.calc-booking-box .calc-visit-status{margin:15px 0 0;padding:10px 12px;background:#fff;color:#172a3e;border:1px solid #d1e0d7;font-weight:700;font-size:13px}
.calc-result .calc-result-phone{display:inline-block;margin-top:5px}
@media(max-width:700px){.calc-booking-box{padding:19px 16px}.calc-booking-box .btn{width:100%;font-size:13px}}

/* Desktop photo-first service choices — share the same treatment as mobile. */
.calc-workspace{grid-template-columns:minmax(0,.52fr) minmax(0,1fr);gap:54px}
.calc-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.calc-choice{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0;overflow:hidden;min-height:0;background:#fff}
.calc-choice .choice-icon{display:none!important}
.calc-choice .choice-photo{display:block;width:100%;height:128px;overflow:hidden;background:#e6e9ed;margin-bottom:12px}
.calc-choice .choice-photo img{width:100%;height:100%;display:block;object-fit:cover}
.calc-choice strong{padding:0 13px;font-size:14px;line-height:1.3}
.calc-choice small{padding:5px 13px 16px;line-height:1.4;font-size:11px}
.calc-choice:hover .choice-photo img{transform:scale(1.035)}
.choice-photo img{transition:transform .25s ease}
.calc-choice:has(input:checked){outline:3px solid #bd1531;outline-offset:-3px;background:#fff8f8}
.calc-choice:has(input:checked)::after{content:'✓';position:absolute;right:9px;top:9px;display:grid;place-items:center;width:26px;height:26px;background:#bd1531;color:white;border:2px solid white;border-radius:50%;font:900 14px Arial,sans-serif}
.calc-choice input:focus-visible~.choice-photo{outline:3px solid #ffc932;outline-offset:-3px}
@media(max-width:700px){.calc-choice .choice-photo{height:110px;margin-bottom:11px}.calc-choice strong{font-size:13px;padding:0 12px}.calc-choice small{font-size:11px;padding:4px 12px 14px}}

/* Peter's Big Bundle: premium multi-service funnel */
.calc-bundle-banner{margin:25px 0 25px;padding:20px 22px 19px;background:#19283f;color:#fff;border-left:5px solid #ffda41;box-shadow:5px 5px 0 #e2e6ed}
.calc-bundle-banner.bundle-active{background:#86142b;border-left-color:#ffda41}
.calc-bundle-banner .bundle-mark{font-size:10px;font-weight:900;letter-spacing:.155em;color:#ffe078}
.calc-bundle-banner strong{display:block;font:900 21px/1.23 Arial,Helvetica,sans-serif;margin:8px 0 9px;letter-spacing:-.025em;color:#fff}
.calc-bundle-banner p{font-size:13px;line-height:1.65;color:#e9edf3;margin:0 0 11px}
.calc-bundle-banner .bundle-status{display:inline-block;background:#ffda41;color:#18263c;padding:8px 10px;font-size:11px;font-weight:900;line-height:1.35}
.calc-bundle-banner.bundle-featured{box-shadow:0 0 0 3px #f3bf3f}
.calc-projects{display:flex;flex-direction:column;gap:18px}
.calc-project-panel{padding:22px 22px 10px;background:#fbfcfe;border:1px solid #dce3ec;border-top:4px solid #bd1531;min-width:0}
.calc-project-head{display:flex;align-items:center;gap:9px;margin-bottom:20px}
.calc-project-dot{width:9px;height:9px;background:#bd1531;display:inline-block;flex:none}
.calc-project-head h4{font-size:17px;line-height:1.25;font-weight:900;color:#1d2d43;letter-spacing:-.025em;margin:0;flex:1}
.calc-project-label{color:#a21a33;font-weight:900;font-size:9px;letter-spacing:.1em;white-space:nowrap}
.calc-project-panel .calc-area-preview{font-size:12px;margin:4px 0 14px}
.calc-project-panel .calc-field{margin-bottom:17px}
.calc-project-panel .calc-measurements[hidden],.calc-project-panel .project-direct[hidden]{display:none!important}
.calc-bundle-result{background:#fff7df;border:1px solid #e8d291;border-left:5px solid #bd1531;padding:20px 21px;margin:18px 0 25px}
.calc-bundle-result[hidden]{display:none!important}
.calc-bundle-result>span{display:block;font-size:10px;font-weight:900;letter-spacing:.13em;color:#ac152e;margin-bottom:9px}
.calc-bundle-result>strong{font-size:18px;color:#1a2b41;font-weight:900;line-height:1.3;display:block}
.calc-bundle-result p{font-size:13px;line-height:1.7;color:#4f5967;margin:9px 0 0}
@media(max-width:980px){.calc-workspace{gap:28px;grid-template-columns:minmax(0,.57fr) minmax(0,1fr)}.calc-choice .choice-photo{height:105px}}
@media(max-width:800px){.calc-workspace{grid-template-columns:1fr}}
@media(max-width:420px){.calc-choice .choice-photo{height:94px}.calc-project-panel{padding:18px 14px 5px}.calc-bundle-banner{padding:18px 15px}.calc-project-head h4{font-size:15px}}
@media(max-width:340px){.calc-choice .choice-photo{height:80px}.calc-choice strong{font-size:11px}.calc-choice small{font-size:10px}}
