.pricing-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding-top:45px;padding-bottom:45px}.pricing-intro h1{font-size:clamp(36px,4.5vw,64px);line-height:1.08;max-width:700px;margin:16px 0 22px}.pricing-intro p{font-size:18px;line-height:1.7;max-width:630px}.pricing-intro>img{width:100%;height:350px;object-fit:cover;border-radius:30px 90px 30px 30px}.pricing-intro .pricing-note{font-size:13px;color:#466078}.pricing-app{padding-bottom:65px}.pricing-mode{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px;background:#ecf2f7;padding:10px;border-radius:26px}.pricing-mode button{font-family:inherit;font-size:23px;font-weight:700;line-height:1.3;color:#173653;border:2px solid transparent;border-radius:20px;background:transparent;padding:18px;cursor:pointer;text-align:left}.pricing-mode button span{display:block;font-size:14px;font-weight:400;margin-top:5px}.pricing-mode button[aria-pressed=true]{background:#12304f;color:#fff;box-shadow:0 4px 15px #12304f20}.pricing-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:30px;align-items:start}.pricing-controls{min-width:0}.pricing-controls fieldset{border:1px solid #d7e2eb;background:white;border-radius:26px;padding:24px;margin:0 0 25px;min-width:0}.pricing-controls legend{font-size:21px;font-weight:750;color:#12304f;padding:0 9px;max-width:100%}.pricing-controls legend>span{display:inline-flex;color:#bc203b;margin-right:8px;font-size:14px}.pricing-space-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pricing-choice,.pricing-equipment{position:relative;cursor:pointer;display:block;min-width:0}.pricing-choice input,.pricing-equipment input{position:absolute;top:15px;left:12px;accent-color:#bb1e39}.pricing-choice>span{display:block;border:2px solid #dce5ee;border-radius:16px;padding:13px 13px 13px 37px;min-height:85px}.pricing-choice strong,.pricing-choice small{display:block}.pricing-choice small{font-size:12px;color:#536b80;margin-top:4px;line-height:1.5}.pricing-choice input:checked+span,.pricing-equipment input:checked+span{border-color:#bf203c;background:#fff7f8}.pricing-choice input:focus-visible+span,.pricing-equipment input:focus-visible+span{outline:3px solid #237aba;outline-offset:3px}.pricing-check{display:flex;align-items:center;gap:10px;margin-top:20px;min-height:44px}.pricing-check input,.pricing-option input{width:19px;height:19px;accent-color:#bc203b;flex-shrink:0}.pricing-fine{font-size:13px;line-height:1.65;color:#52687c;margin:14px 0}.pricing-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pricing-equipment>span{display:flex;flex-direction:column;height:100%;border:2px solid #dce5ee;border-radius:20px;padding:24px 15px 18px}.pricing-equipment img{width:100%;height:125px;object-fit:contain;background:white;border-radius:12px;margin:0 0 12px}.pricing-equipment small{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#a81933;font-weight:700}.pricing-equipment strong{font-size:19px;margin-top:5px}.pricing-model{font-size:11px;color:#52687c;margin:8px 0;overflow-wrap:anywhere}.pricing-equipment b{font-size:26px;margin-top:auto}.pricing-included{font-size:11px;color:#52687c;margin-top:5px}.pricing-option{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e1e8ee;cursor:pointer}.pricing-option span{flex:1;min-width:0}.pricing-option strong,.pricing-option small{display:block}.pricing-option small{font-size:12px;color:#52687c;line-height:1.5;margin-top:4px}.pricing-option b{font-size:15px;white-space:nowrap}.pricing-select{display:block;font-weight:600;margin-top:18px}.pricing-select select,.pricing-select input{display:block;width:100%;padding:14px 12px;border:1px solid #bccbd9;background:white;color:#12304f;border-radius:12px;font:inherit;font-size:16px;margin-top:8px;min-height:48px}.pricing-result{position:sticky;top:20px;background:#12304f;color:white;padding:28px;border-radius:28px 60px 28px 28px;box-shadow:0 12px 40px #12304f16;min-width:0}.pricing-result .eyebrow{color:#afcfe9;font-size:11px}.pricing-result h2{font-size:29px;line-height:1.2;margin:15px 0}.pricing-result h3{font-size:23px;color:white;margin:0 0 8px}.pricing-result p{line-height:1.6}.pricing-result .pricing-fine{color:#c1d1df}.pricing-result dl{margin:24px 0;padding:0}.pricing-result dl>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #ffffff22;font-size:13px}.pricing-result dt{max-width:75%}.pricing-result dd{margin:0;white-space:nowrap;font-weight:700}.pricing-result .pricing-total{font-size:47px;font-weight:800;line-height:1.2;margin:5px 0}.pricing-total-label{font-size:13px;margin-bottom:0}.pricing-result-included{padding-left:18px;font-size:13px;line-height:1.8;color:#d4e3ee}.pricing-next{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.pricing-next .button{width:100%;justify-content:center;text-align:center;font-size:14px}.pricing-secondary{border:1px solid #aac2d6;background:transparent;color:#fff;padding:11px 13px;border-radius:14px;cursor:pointer;font:inherit;font-size:12px}.pricing-central-quote{background:#ffffff09;padding:20px;border-radius:20px;border:1px solid #ffffff25;margin-top:20px}.pricing-central-quote p{font-size:13px}.pricing-compare{margin-top:20px;border-top:1px solid #dce5ee;padding-top:17px}.pricing-compare summary{cursor:pointer;min-height:44px;font-weight:700}.pricing-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pricing-comparison ul{padding-left:18px;font-size:12px;line-height:1.8}.pricing-explainer{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:35px;padding-bottom:65px;border-top:1px solid #d7e2eb}.pricing-explainer img{width:100%;height:390px;object-fit:cover;border-radius:28px 70px 28px 28px}.pricing-explainer h2{font-size:36px;margin:14px 0}.pricing-explainer p{line-height:1.8}.pricing-phone{display:block;margin-top:18px}.pricing-custom{background:#eaf2f8;padding:28px;border-radius:25px}.pricing-custom h2{font-size:28px}.pricing-custom p{line-height:1.7}.pricing-app button:focus-visible,.pricing-app select:focus-visible{outline:3px solid #d98213;outline-offset:3px}
@media(max-width:900px){.pricing-layout{grid-template-columns:minmax(0,1fr)}.pricing-result{position:static}.pricing-intro{gap:25px}.pricing-intro>img{height:290px}}
@media(max-width:600px){.pricing-intro{grid-template-columns:1fr;padding-top:25px;gap:22px}.pricing-intro>img{height:195px;order:-1;border-radius:22px 55px 22px 22px}.pricing-intro h1{font-size:38px}.pricing-intro p{font-size:16px}.pricing-mode{gap:6px;padding:6px}.pricing-mode button{font-size:17px;padding:13px}.pricing-mode button span{font-size:11px}.pricing-controls fieldset{padding:16px;border-radius:20px}.pricing-controls legend{font-size:18px}.pricing-choice>span{padding-left:32px;min-height:100px;font-size:14px}.pricing-choice input{left:9px}.pricing-equipment-grid{gap:8px}.pricing-equipment>span{padding:25px 10px 14px}.pricing-equipment img{height:95px}.pricing-equipment strong{font-size:16px}.pricing-equipment b{font-size:23px}.pricing-option strong{font-size:13px}.pricing-option b{font-size:13px}.pricing-result{padding:23px}.pricing-explainer{grid-template-columns:1fr;gap:25px}.pricing-explainer img{height:245px}.pricing-explainer h2{font-size:29px}.pricing-comparison{grid-template-columns:1fr}}
@media print{header,footer,.utility,.mobile-cta,.skip,.pricing-intro,.pricing-mode,.pricing-controls,.pricing-explainer,.pricing-next,.estimate-strip{display:none!important}.pricing-layout{display:block}.pricing-result{position:static;background:white;color:black;box-shadow:none;border:1px solid #ccc}.pricing-result *{color:black!important}.pricing-result:before{content:'Core Comfort HVAC • (602) 960-2278';display:block;font-weight:700}.pricing-app{padding:0}.pricing-result dl>div{border-color:#ddd}.pricing-central-quote{break-inside:avoid}.pricing-total{font-size:32px!important}}
.deposit-dialog{width:min(760px,calc(100% - 32px));max-height:90dvh;box-sizing:border-box;border:0;border-radius:28px;padding:clamp(24px,5vw,44px);color:#102e50;background:white}.deposit-dialog::backdrop{background:#102e50bb}.deposit-dialog h2{font-size:clamp(28px,5vw,40px);margin:12px 0 20px}.deposit-dialog p{line-height:1.6}.deposit-close{float:right;border:0;background:#edf3f8;border-radius:50%;width:40px;height:40px;font-size:28px;cursor:pointer}.deposit-totals{background:#edf3f8;padding:18px;border-radius:18px;display:grid;gap:10px}.deposit-totals span{display:flex;justify-content:space-between;gap:12px}.deposit-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.deposit-dialog form>label{margin-top:20px}.deposit-dialog label{display:grid;gap:8px;font-weight:600}.deposit-dialog input:not([type=checkbox]),.deposit-dialog textarea{width:100%;min-width:0;box-sizing:border-box;padding:12px;border:1px solid #b8c7d5;border-radius:10px;font:inherit;background:white;color:#102e50}.deposit-dialog input[type=file]{font-size:14px}.deposit-dialog .pricing-check{display:flex;align-items:flex-start;font-size:14px;font-weight:400}.deposit-dialog .pricing-check input{margin-top:5px;flex-shrink:0}.deposit-dialog .button{width:100%;justify-content:center;white-space:normal}.deposit-dialog button:disabled{opacity:.65;cursor:wait}.deposit-status{color:#a51836}.deposit-receipt{padding:25px;background:#edf3f8;border-left:4px solid #b51c39;margin-bottom:30px}.pricing-deposit{display:block;width:100%;margin-top:16px}.pricing-central-quote .pricing-deposit{font-size:14px}@media(max-width:550px){.deposit-fields{grid-template-columns:1fr}.deposit-dialog{padding:22px}.deposit-totals span{font-size:14px}}
/* Small, responsive movements keep attention on choices and the final price. */
.pricing-mode button,.pricing-choice>span,.pricing-equipment>span,.pricing-equipment img,.pricing-app .button,.pricing-secondary,.deposit-dialog .button,.deposit-close{transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease,transform 220ms cubic-bezier(.22,1,.36,1),color 180ms ease}
.pricing-mode button{position:relative;isolation:isolate}
.pricing-choice input:checked+span,.pricing-equipment input:checked+span{box-shadow:0 3px 14px #bc203b0c}
.pricing-option{transition:background-color 180ms ease;border-radius:10px}
.pricing-option:has(input:checked){background:#fff7f8}
.pricing-select input,.pricing-select select,.deposit-dialog input,.deposit-dialog textarea{transition:border-color 180ms ease,box-shadow 180ms ease}
.pricing-select input:focus,.pricing-select select:focus,.deposit-dialog input:focus,.deposit-dialog textarea:focus{border-color:#237aba;box-shadow:0 0 0 3px #237aba18}
.pricing-total{font-variant-numeric:tabular-nums}
@media(hover:hover) and (pointer:fine){
 .pricing-choice:hover>span,.pricing-equipment:hover>span{transform:translateY(-3px);border-color:#b86172;box-shadow:0 8px 20px #12304f0e}
 .pricing-equipment:hover img{transform:scale(1.035)}
 .pricing-mode button:hover{transform:translateY(-2px)}
 .pricing-app .button:hover,.pricing-secondary:hover,.deposit-dialog .button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #081c3020}
 .deposit-close:hover{transform:rotate(90deg);background:#dce8f1}
}
.pricing-app button:active,.deposit-dialog button:active{transform:translateY(1px) scale(.985)}
@keyframes pricing-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pricing-backdrop{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 .pricing-intro>div{animation:pricing-arrive 550ms cubic-bezier(.22,1,.36,1) both}
 .pricing-intro>img{animation:pricing-arrive 650ms 75ms cubic-bezier(.22,1,.36,1) both}
 .pricing-mode{animation:pricing-arrive 450ms 120ms cubic-bezier(.22,1,.36,1) both}
 .pricing-compare[open]>.pricing-comparison{animation:pricing-arrive 250ms ease-out}
 .deposit-dialog[open]{animation:pricing-arrive 300ms cubic-bezier(.22,1,.36,1)}
 .deposit-dialog[open]::backdrop{animation:pricing-backdrop 220ms ease-out}
 .deposit-dialog form{animation:pricing-arrive 250ms ease-out}
}
@media(prefers-reduced-motion:reduce){
 .pricing-intro *,.pricing-app *,.pricing-explainer *,.deposit-dialog,.deposit-dialog *,.deposit-dialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .pricing-app *:hover,.deposit-dialog *:hover,.pricing-app button:active,.deposit-dialog button:active{transform:none!important}
}
@media print{.pricing-intro *,.pricing-app *{animation:none!important;transform:none!important}.pricing-deposit{display:none!important}}
.pricing-photo-choice>span{padding:0;overflow:hidden;height:100%;background:#fff}
.pricing-photo-choice input{top:13px;left:13px;z-index:1;width:20px;height:20px;box-shadow:0 0 0 5px #fffffff0;border-radius:50%}
.pricing-photo-choice img{display:block;width:100%;height:155px;object-fit:cover;object-position:center;transition:transform 350ms cubic-bezier(.22,1,.36,1)}
.pricing-photo-label{display:block;padding:16px}
.pricing-project-photo{margin:0 0 20px;display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;overflow:hidden;border-radius:20px;background:#edf3f7}
.pricing-project-photo img{display:block;width:100%;height:235px;object-fit:cover;object-position:center 30%}
.pricing-project-photo figcaption{padding:22px;align-self:center;font-size:13px;line-height:1.6}
.pricing-project-photo figcaption>span,.pricing-project-photo strong{display:block}
.pricing-project-photo .eyebrow{font-size:10px;color:#ad2039;margin-bottom:7px}
.pricing-project-photo strong{font-size:21px;line-height:1.2;margin-bottom:10px;color:#12304f}
@media(hover:hover) and (pointer:fine){.pricing-photo-choice:hover img{transform:scale(1.025)}}
@media(max-width:600px){.pricing-photo-choice>span{padding:0}.pricing-photo-choice img{height:115px}.pricing-photo-label{padding:13px}.pricing-project-photo{grid-template-columns:1fr 1.15fr}.pricing-project-photo img{height:100%;min-height:225px}.pricing-project-photo figcaption{padding:15px}.pricing-project-photo strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.pricing-photo-choice:hover img{transform:none}}
.pricing-model-photo{margin:18px 0 16px;background:#fff;border-radius:20px;overflow:hidden;color:#52687c}
.pricing-model-photo img{display:block;width:100%;height:205px;object-fit:contain;padding:16px;box-sizing:border-box;background:#fff}
.pricing-model-photo figcaption{padding:9px 14px 12px;font-size:10px;line-height:1.5;border-top:1px solid #edf1f5;color:#52687c}
.pricing-specs{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.pricing-specs span{padding:6px 10px;border:1px solid #ffffff35;border-radius:99px;font-size:12px;color:#e3edf5;background:#ffffff08}
.pricing-equipment-model{font-size:12px!important;overflow-wrap:anywhere;color:#d4e3ee}
.pricing-result-details{border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding:12px 0;margin:14px 0}
.pricing-result-details summary{cursor:pointer;font-size:13px;font-weight:650;min-height:30px}
.pricing-result-details ul{padding-left:19px;font-size:12px;line-height:1.9;color:#d4e3ee}
.pricing-result-details p{font-size:11px;color:#b9cede}
.pricing-system-detail{font-size:12px!important;color:#c1d1df}
.pricing-equipment>span{padding-top:38px}
.pricing-central-result{position:static}
@media(max-width:600px){.pricing-model-photo img{height:195px}.pricing-equipment>span{padding-top:36px}}
@media(prefers-reduced-motion:no-preference){.pricing-result-details[open] ul{animation:pricing-arrive 220ms ease-out}}

/* Payment actions appear only after the server confirms checkout is enabled. */
#pricing-workspace:not(.deposits-available) [data-deposit]{display:none}
