/* R31: scoped changes. Approved hero and testimonial rules remain untouched. */
.casa-coverage{gap:24px}.casa-coverage p{max-width:660px;line-height:1.65}
#need-repair figure img,#need-care figure img{aspect-ratio:4/3;object-position:center 40%}
#need-commercial figure img{aspect-ratio:4/3;object-position:center 36%}
.care-editorial .care-photo img{object-position:center 48%}
.project-opening{display:block!important;max-width:850px;margin-bottom:38px!important}
.project-opening>div{max-width:740px}.project-opening h2{max-width:700px}
.story-inline{position:relative}
.story-frame .story-opening-inset,.story-inline .story-opening-inset{position:absolute!important;right:5%;bottom:8%;width:31%!important;height:40%!important;aspect-ratio:3/4!important;object-fit:cover;border:4px solid #f4f5ed;border-radius:2px;box-shadow:0 8px 30px #052b3e44;z-index:2}
.contractor-photo{margin:0 0 22px}.contractor-photo img{width:100%;height:280px;object-fit:cover;object-position:center 38%;border-radius:3px}.contractor-photo figcaption{font-size:11px;line-height:1.5;color:#446572;margin-top:9px}
.contractors-copy .license-link{display:block;margin:22px 0;font-size:13px;text-underline-offset:4px}.contractors-copy .plans-link{display:block;margin-top:16px;min-height:44px;text-underline-offset:5px;font-size:14px}
.footer-brand .license-link{font-size:11px;color:#d4e8ef;display:inline-block;margin-top:12px}.footer-cities{grid-template-columns:1fr 1fr}
.request-email{display:block;color:inherit;font-size:16px;margin-top:18px;overflow-wrap:anywhere;text-underline-offset:5px;min-height:44px}.request-contact .contractor-link{margin-top:12px}
.quiz-card{scroll-margin-top:110px}.quiz-card h2{font-size:clamp(24px,2.2vw,32px);line-height:1.2;letter-spacing:-.035em;margin:0 0 26px;font-weight:500}.quiz-card h2:focus{outline:none}
.selected-service{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 16px;margin-bottom:19px;border-bottom:1px solid #d2dfe4;font-size:13px;font-weight:600}.selected-service button{background:transparent;border:0;color:#006598;text-decoration:underline;min-height:44px;padding:8px;font:inherit;cursor:pointer}
.choice-field{min-width:0;border:0;padding:0;margin:0 0 26px}.choice-field legend{font-weight:600;font-size:14px;margin-bottom:12px}.quiz-card .field{display:block;margin-bottom:23px}.quiz-card .field>span:first-child{font-size:14px;font-weight:600;display:block}
.quiz-card input,.quiz-card select,.quiz-card textarea{font-family:inherit;font-size:16px;color:#123a4b;background:#fff;border:1px solid #afc5cf;border-radius:5px;min-height:52px;width:100%;padding:12px 14px;display:block;margin-top:9px}.quiz-card textarea{resize:vertical;min-height:130px;line-height:1.6}
.quiz-card small:not(.quiz-note),.quiz-card .field-help{display:block;font-weight:400;font-size:12px;line-height:1.65;color:#486675;margin-top:9px}.quiz-card [aria-invalid=true]{border-color:#a5321c}.field-error{display:block;font-size:13px;color:#a5321c;font-weight:500;margin-top:8px}.field-error[hidden]{display:none}
.project-option{display:block;padding:16px 18px;margin-top:-12px;min-height:52px;border:1px solid #afc5cf;font-size:15px;color:#0e526e;text-decoration:none;border-radius:5px}.project-option:hover{background:#e7f1f5;border-color:#0082b4}
.quiz-card .quiz-options button{border-radius:5px;min-height:52px;font-size:15px;line-height:1.45}.quiz-card .quiz-options button::after{content:'';width:14px;height:14px;border:1px solid #6a909f;border-radius:50%;flex-shrink:0}.quiz-card .quiz-options button[aria-pressed=true]::after{background:#00729f;border:4px solid #e0f0f6;box-shadow:0 0 0 1px #00729f}
.quiz-card [data-field=services]::after{border-radius:3px}.quiz-summary dd{white-space:pre-line}.quiz-card .quiz-actions .button{border-radius:5px}.quiz-card .plans-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px;text-underline-offset:5px;color:#006598}
.timeline-details{margin:24px 0;padding:16px 0;border-block:1px solid #ccdbe2}.timeline-details summary{cursor:pointer;min-height:44px;font-size:14px;font-weight:600}.timeline-details[open] summary{margin-bottom:18px}.quiz-card .permit-note{border-left:3px solid #93afbc;background:#eef4f6;padding:14px 16px;font-size:12px;line-height:1.65;color:#325969}
.project-inquiry{background:#e1edf0;padding:60px 0 80px}.project-inquiry-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.12fr);gap:70px;align-items:start}.project-inquiry-intro{position:sticky;top:115px}.project-inquiry-intro h1{font-size:clamp(34px,3.6vw,52px);line-height:1.06;letter-spacing:-.045em;font-weight:400}.project-inquiry-intro>p{font-size:15px;line-height:1.7;color:#456672;margin:23px 0;max-width:440px}.project-inquiry-intro figure{margin:28px 0 20px}.project-inquiry-intro figure img{width:100%;height:235px;object-fit:cover;object-position:center 35%;border-radius:3px}.project-inquiry-intro .license-link{font-size:12px;color:#22566b;text-underline-offset:5px}.project-inquiry-intro a{overflow-wrap:anywhere}.service-return{display:inline-block;font-size:13px;min-height:44px;text-underline-offset:5px}.project-inquiry .quiz-card{border-radius:8px;border:1px solid #c7d8dd;box-shadow:0 15px 42px #12394c0c;padding:34px;background:#fff}.project-preview-note{text-align:center;font-size:11px;margin-top:15px;color:#537380}.project-footer{display:flex;justify-content:space-between;gap:24px;padding:30px max(24px,calc((100vw - 1180px)/2));color:#dfedf2;background:#123a4b;font-size:12px}
:where(.quiz-card,.project-inquiry,.contractors-section) :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #dd9c41;outline-offset:3px}
@media(max-width:1100px){.project-inquiry-grid{gap:35px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.project-inquiry-intro{position:static}.project-inquiry .quiz-card{padding:26px}.project-opening{max-width:none}.contractor-photo img{height:230px}}
@media(max-width:800px){.project-inquiry{padding:36px 0 50px}.project-inquiry-grid{grid-template-columns:1fr;gap:26px}.project-inquiry-intro h1{max-width:520px;font-size:38px}.project-inquiry-intro figure{display:none}.project-inquiry-intro>p{margin:14px 0}.project-inquiry-intro .service-return{margin-top:3px}.project-inquiry .quiz-card{padding:24px 20px}.project-footer{flex-direction:column;gap:9px}.care-editorial .care-photo{aspect-ratio:1.18;max-height:380px}.care-editorial .care-photo img{object-position:center 50%}.contractor-photo{margin-top:12px}.contractor-photo img{height:240px}.story-inline .story-opening-inset{right:4%;bottom:12%;width:31%!important;height:48%!important}.project-opening{margin-bottom:25px!important}.story-step{padding-block:22px!important}.story-step[data-story-step="1"] .story-inline{display:none}.story-step[data-story-step="2"]>.story-inline{display:none}.story-step[data-story-step="2"] .story-evidence{margin-top:18px}.project-inquiry-intro .section-label{font-size:10px}}
@media(max-width:400px){.selected-service{align-items:flex-start;font-size:12px}.selected-service button{padding-inline:4px}.quiz-card h2{font-size:25px}.project-inquiry .quiz-card{padding:24px 17px}.project-inquiry-intro h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){.quiz-card *,.project-option{transition:none!important;scroll-behavior:auto!important}}
/* With no secondary image, the mobile chapter copy uses the full column. */
@media(max-width:800px){.story-step:not(:first-child){grid-template-columns:minmax(0,1fr)}.story-step-copy>p{max-width:48ch}.project-inquiry #field-property_type .quiz-options{grid-template-columns:1fr 1fr}}
.skip:not(:focus){clip-path:inset(50%)}

@media(min-width:1101px){.project-inquiry .quiz-options{grid-template-columns:1fr 1fr}}

#field-need legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quiz-card .sms-now{display:flex;width:100%;margin:22px 0 0;text-align:center;text-decoration:none;color:#fff}.quiz-card .sms-now-hint{margin:10px 0 20px;font-size:13px}

/* R35: visible phone in header and hero. Layout only; no copy, claims or form changes. */
.header-call{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:5px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;flex-shrink:0;transition:background .2s}
.header-call:hover{background:#006a96}
.header-call .hc-num{font-weight:600;letter-spacing:.01em}
.header-call svg{flex:none}
.casa-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:30px}
.casa-actions .casa-primary{margin-top:0}
.casa-call{background:#f5f5efb3;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border:1px solid var(--ink);border-radius:5px;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s}
.casa-call:hover{background:var(--ink);color:#fff}
.casa-call svg{flex:none}
@media(max-width:1100px){.header-call{margin-left:auto}.header-call~.mobile-menu{margin-left:0}.header-call .hc-num{display:none}}
@media(max-width:650px){.casa-actions{margin-top:21px;gap:8px}.casa-call{font-size:12px;min-height:46px;padding-inline:16px}.header-call{padding:0 13px;min-height:44px}}
@media(max-width:360px){.header-call .hc-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.header-call{padding:0 12px}}
@media(prefers-reduced-motion:reduce){.header-call,.casa-call{transition:none}}
/* R35: very narrow phones (320px) - let the project intro column shrink instead of overflowing the page. */
@media(max-width:800px){.project-inquiry-grid{grid-template-columns:minmax(0,1fr)}.project-inquiry-intro,.project-inquiry-grid>div{min-width:0}.project-inquiry-intro h1,.project-inquiry-intro .section-label{overflow-wrap:anywhere}}
@media(max-width:800px){.project-inquiry #field-property_type .quiz-options{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-inquiry .quiz-options button{overflow-wrap:anywhere}}
