/* Editorial structure, useful motion, and a restrained merchant identity. */
.searchSubmit{border:0;background:none;color:var(--ink);padding:4px;font-size:10px;font-weight:800;white-space:nowrap}.searchSubmit span{font-size:17px;margin-left:5px}.search:focus-within{border-color:var(--ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ink) 10%,transparent)}.search input:focus-visible{outline:0}.merchantFooter{background:#eef0eb;color:#183047;margin-top:20px}.footerCallout{padding:50px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cbd4ce;gap:25px}.footerCallout h2{font-size:48px;margin:0}.footerCallout>a{font-size:24px;font-weight:600;white-space:nowrap}.footerCallout>a span{display:inline-block;margin-left:25px;transition:transform .25s}.footerCallout>a:hover span{transform:translate(4px,-4px)}.footerColumns{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr 1.35fr;gap:30px;padding:55px 5% 40px}.footerColumns h3{font-size:13px;margin-bottom:23px;letter-spacing:0}.footerColumns a,.footerColumns button{display:block;font-size:11px;margin:0 0 14px;line-height:1.6}.footerColumns a:hover,.footerColumns button:hover{text-decoration:underline;text-underline-offset:5px}.footerColumns button{background:none;color:inherit;border:0;padding:0;text-align:left}.footerAddress{font-size:11px}.footerAddress address{font-style:normal;line-height:1.9;margin-bottom:20px}.footerAddress a{overflow-wrap:anywhere}.footerAddress p{color:#52646f;font-size:10px}.footerBottom{text-align:center;padding:30px 5% 40px;border-top:1px solid #cbd4ce}.footerSignature{display:inline-flex;gap:12px;align-items:center;text-align:left;font-size:9px;font-weight:800;letter-spacing:.8px}.footerSignature img{object-fit:contain;background:white;border-radius:50%}.footerSocial{display:flex;justify-content:center;gap:12px;margin:25px 0}.footerSocial button{background:none;border:1px solid #c0ccc6;color:inherit;padding:12px 18px;font-size:11px;border-radius:30px}.footerSocial small{display:block;font-size:8px;opacity:.7}.footerBottom>p{font-size:10px;margin-bottom:12px}.footerBottom .companyDetails{opacity:.7;font-size:9px}.footerBottom .policyLinks{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:10px}.faqHeading{display:flex;justify-content:space-between;align-items:end;gap:25px}.faqHeading>p{color:var(--muted);font-size:12px}.faqHeading h2{margin-bottom:30px}.faq details summary{display:flex;align-items:baseline;gap:18px;padding-right:30px;position:relative;font-weight:600}.faqNumber{font-size:10px;color:var(--muted);font-weight:400}.faq details p{padding-left:34px;max-width:780px}.faqGroup{margin-top:40px;font-size:14px}.faqContact{display:flex;justify-content:space-between;gap:20px;background:var(--navy);color:#fff;padding:22px;margin-top:30px;font-size:12px}.faqContact a{white-space:nowrap}.faqMore{display:inline-block;margin-top:25px}.faqFull{padding-top:0}.sitemapGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.sitemapGrid a{border-bottom:1px solid var(--line);padding:20px 0}.cookieBanner{position:fixed;bottom:20px;left:20px;right:20px;max-width:1050px;margin:auto;z-index:8;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 70px #0003;padding:24px 28px;display:flex;gap:35px;align-items:center;border-top:3px solid var(--red)}.cookieBanner h2{font-size:30px;margin-bottom:9px}.cookieBanner .eyebrow{font-size:8px;margin-bottom:12px}.cookieBanner p{font-size:11px;margin:0;max-width:610px}.cookieBanner a{text-decoration:underline}.cookieButtons{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.cookieBanner .cookieButtons{flex-direction:column;max-width:230px}.cookieButtons button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:12px 16px;font-size:11px}.cookieButtons button:hover{background:var(--ink);color:var(--paper)}.cookieDialog{position:fixed;inset:0;margin:auto;width:min(660px,calc(100% - 32px));height:auto;max-height:85dvh;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:30px}.cookieDialog::backdrop{background:#071a2da8;backdrop-filter:blur(5px)}.cookieDialog h2{font-size:46px}.cookieDialog p{font-size:12px}.cookieDialogHead{display:flex;align-items:start;justify-content:space-between;gap:20px}.cookieDialogHead button{border:0;background:none;color:inherit;font-size:24px}.cookiePurpose{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:25px;align-items:center}.cookiePurpose h3{font-size:14px}.cookiePurpose p{font-size:11px;margin-bottom:10px}.cookiePurpose>span{font-size:10px;white-space:nowrap}.consentSwitch{font-size:11px;min-width:100px}.cookieDialog>a{display:inline-block;margin-top:20px;font-size:11px;text-decoration:underline}.roofDetail{margin-top:15px;border:1px solid var(--line);background:var(--paper)}.roofDetailHead{display:flex;justify-content:space-between;gap:15px;padding:18px 20px 0;align-items:baseline}.roofDetailHead h3{font-size:15px;margin:0}.roofDetailHead span{font-size:8px;color:var(--muted);letter-spacing:1px}.roofDetail svg{display:block;width:100%;height:auto}.roofDetail>p{font-size:10px;color:var(--muted);padding:0 20px 18px;margin:0}.plannerStage{align-self:start}.houseViewport svg [data-component]{transition:fill .35s,stroke .35s}.plannerControls .finishOption{transition:transform .2s,background .2s,border-color .2s}.plannerControls .finishOption:hover{transform:translateX(3px)}
@media(prefers-reduced-motion:no-preference){.faq details[open] p{animation:answerIn .28s ease-out}.mosaicTile>span i{transition:transform .3s}.mosaicTile:hover>span i{transform:translateX(5px)}.footerColumns a{transition:transform .2s}.footerColumns a:hover{transform:translateX(3px)}.cookieBanner{animation:answerIn .4s ease-out}@keyframes answerIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
[data-theme=night] .merchantFooter{background:#102431;color:#e4ecef}[data-theme=night] .footerCallout,[data-theme=night] .footerBottom{border-color:#344955}[data-theme=night] .footerAddress p{color:#b0bec5}[data-theme=night] .footerSocial button{border-color:#47616e}[data-theme=night] .cookieBanner,[data-theme=night] .cookieDialog{background:#192a36}[data-theme=night] .roofDetail{background:#1d303d}
@media(max-width:1050px){.footerColumns{grid-template-columns:repeat(3,1fr)}.footerCallout h2{font-size:40px}}
@media(max-width:650px){.footerColumns{grid-template-columns:1fr 1fr;gap:28px 20px;padding-top:30px}.footerAddress{grid-column:1/-1}.footerCallout{display:block}.footerCallout>a{display:inline-block;font-size:22px;margin-top:20px}.footerColumns h3{font-size:12px}.footerCallout h2{font-size:37px}.faqHeading{display:block}.faqHeading>p{display:none}.faqContact{display:block}.faqContact a{display:block;margin-top:10px}.faq details summary{font-size:12px;gap:12px}.faq details p{padding-left:23px}.cookieBanner{left:10px;right:10px;bottom:10px;padding:18px;display:block;max-height:60dvh;overflow:auto}.cookieBanner .cookieButtons{flex-direction:row;max-width:none;margin-top:15px}.cookieBanner h2{font-size:27px}.cookieButtons button{padding:10px;font-size:10px}.cookieDialog{padding:22px}.cookiePurpose{display:block}.cookiePurpose>span{display:block}.sitemapGrid{grid-template-columns:1fr}.roofDetailHead{padding:15px 14px 0}.roofDetailHead span{font-size:7px}.searchSubmit{min-height:30px}.search{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.houseViewport svg [data-component],.plannerControls .finishOption,.footerCallout>a span{transition:none}}
.houseViewport.zoomed svg{transform:none!important}.houseViewport.zoomed{aspect-ratio:735/305}.houseViewport.zoomed svg{height:100%;width:100%}
