.roofingSite{color:var(--roof-night);background:var(--color-background);font-family:var(--roof-font-body);font-size:var(--text-base);line-height:1.68}.roofingSite h1,.roofingSite h2,.roofingSite h3,.roofingSite h4{font-family:var(--roof-font-heading);font-weight:760;line-height:1.12}.roofingSite li,.roofingSite p{line-height:1.72}.roofingHeaderShell{display:block;position:-webkit-sticky;position:sticky;top:0;z-index:220;width:100%;min-height:var(--header-height-scrolled);background:#ffffff;border-bottom:1px solid rgba(69,86,100,.18);box-shadow:0 8px 24px rgba(40,48,73,.06);transition:box-shadow .18s ease;overflow:visible}.roofingHeader{display:flex;align-items:center;flex-wrap:nowrap;min-height:82px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:min-height .18s ease,padding .18s ease;overflow:visible}.roofingHeader,.roofingSite .roofingHeader{justify-content:space-between;gap:clamp(12px,1.45vw,24px);width:min(100%,1440px);margin:0 auto;padding:8px clamp(18px,2vw,28px)}.roofingHeaderShell.isScrolled{box-shadow:0 14px 30px rgba(40,48,73,.12)}.roofingTopBar{color:#ffffff;background:var(--roof-night);overflow:hidden;transition:max-height .18s ease,opacity .18s ease;max-height:36px}.roofingHeaderShell.isScrolled .roofingTopBar{max-height:0;opacity:0}.roofingTopInner{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,3vw,36px);width:min(100%,1440px);min-height:34px;margin:0 auto;padding:0 24px;font-size:var(--text-sm);font-weight:650;letter-spacing:.01em}.roofingSite .roofingTopInner{width:min(100%,1440px);margin:0 auto;padding-inline:24px}.roofingTopInner a,.roofingTopInner span{position:relative;color:rgba(255,255,255,.9);white-space:nowrap}.roofingTopInner a:before,.roofingTopInner span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;vertical-align:.08em;background:var(--roof-orange);border-radius:999px}.roofingHeaderShell.isScrolled .roofingHeader{min-height:72px;padding-block:6px}.roofingBrand{display:inline-flex;align-items:center;flex:0 1 218px;gap:10px;min-width:174px;color:var(--roof-night)}.roofingBrand img{flex:0 0 auto;object-fit:contain}.roofingBrand img,.roofingSite .roofingBrand img{width:clamp(64px,5vw,76px);height:clamp(64px,5vw,76px)}.roofingBrand strong{display:block;color:var(--roof-night);font-size:clamp(1.05rem,1.35vw,1.2rem);font-weight:760;line-height:1.1;white-space:nowrap}.roofingBrandText{display:none}@media (min-width:768px){.roofingBrandText{display:grid;grid-gap:2px;gap:2px}}.roofingBrandText>span{display:block;color:var(--roof-steel);margin-top:3px;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.roofingNav{display:flex;align-items:center;justify-content:center;min-width:0;gap:clamp(5px,.7vw,12px);flex:1 1 auto}.roofingNav a,.roofingNavDropdown>button{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:0 4px;color:var(--roof-night);background:transparent;border:0;font-family:var(--roof-font-body);font-size:clamp(.85rem,.72vw,.94rem);font-weight:620;line-height:1;white-space:nowrap;flex:0 0 auto;cursor:pointer;transition:color .18s ease,background .18s ease}.roofingNav a:after,.roofingNavDropdown>button:after{content:"";position:absolute;bottom:5px;height:2px;background:var(--roof-orange);border-radius:999px;opacity:0;transform:scaleX(.35);transition:opacity .18s ease,transform .18s ease}.roofingNav a.active,.roofingNav a:focus-visible,.roofingNav a:hover,.roofingNavDropdown>button.active,.roofingNavDropdown>button:focus-visible,.roofingNavDropdown>button:hover{color:var(--roof-orange)}.roofingNav a.active:after,.roofingNav a:focus-visible:after,.roofingNav a:hover:after,.roofingNavDropdown>button.active:after,.roofingNavDropdown>button:focus-visible:after,.roofingNavDropdown>button:hover:after{opacity:1;transform:scaleX(1)}.roofingNavDropdown{position:relative;flex:0 0 auto}.roofingDropdownPanel{position:absolute;top:calc(100% + 12px);left:50%;display:grid;grid-gap:6px;gap:6px;min-width:230px;padding:14px 12px 12px;border:1px solid rgba(69,86,100,.16);border-radius:var(--roof-radius);box-shadow:0 22px 48px rgba(40,48,73,.14);transform:translateX(-50%);animation:roofingDropdownIn .15s ease both}.roofingDropdownPanel,.roofingSite .roofingDropdownPanel{z-index:1200;background:#ffffff}.roofingDropdownPanel:before{content:"";position:absolute;top:-14px;right:0;left:0;height:14px}.roofingDropdownPanel.services,.roofingSite .roofingDropdownPanel.services{grid-template-columns:repeat(2,minmax(210px,1fr));width:min(560px,calc(100vw - 48px))}.roofingDropdownPanel a{min-height:42px;padding:0 12px;color:var(--roof-night);background:#ffffff;border-radius:7px;font-size:.94rem;font-weight:600}.roofingDropdownPanel a:after{display:none}.roofingDropdownPanel a.active,.roofingDropdownPanel a:focus-visible,.roofingDropdownPanel a:hover{color:var(--roof-orange);background:rgba(238,97,2,.06)}@keyframes roofingDropdownIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.roofingHeaderActions{display:flex;align-items:center;flex:0 0 auto;justify-content:flex-end;gap:7px;min-width:0}.roofingHeaderCta{min-height:38px;padding-inline:15px;font-size:.9rem}.accountMenu{position:relative;flex:0 0 auto}.accountMenuSkeleton{width:132px;height:42px;border-radius:999px;background:linear-gradient(90deg,#eef2f5,#f8fafc 50%,#eef2f5);background-size:200% 100%;animation:accountMenuShimmer 1.2s ease-in-out infinite}@keyframes accountMenuShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.accountMenuTrigger{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:4px 11px 4px 4px;border:1px solid rgba(69,86,100,.22);border-radius:999px;background:rgba(255,255,255,.92);color:#283049;font:inherit;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease}.accountMenu.is-open .accountMenuTrigger,.accountMenuTrigger:hover{border-color:rgba(238,97,2,.65);background:#fff;box-shadow:0 8px 24px rgba(40,48,73,.1)}.accountMenuTrigger:focus-visible{outline:2px solid rgba(238,97,2,.45);outline-offset:2px}.accountMenuTriggerGuest{padding-right:12px}.accountMenuGuestIcon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:rgba(15,118,110,.12);color:#0f766e}.accountMenuLabel{font-size:.875rem;font-weight:600}.accountMenuAvatar,.accountMenuInitials{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:999px;object-fit:cover}.accountMenuInitials{background:linear-gradient(135deg,#0f766e,#134e4a);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.04em}.accountMenuIdentity{display:grid;grid-gap:1px;gap:1px;max-width:148px;text-align:left}.accountMenuIdentity strong{font-size:.84rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.accountMenuIdentity small{font-size:.72rem;color:#64748b;font-weight:500}.accountMenuChevron{flex-shrink:0;color:#64748b;transition:transform .18s ease}.accountMenu.is-open .accountMenuChevron{transform:rotate(180deg)}.accountMenuPanel{position:absolute;top:calc(100% + 10px);right:0;z-index:1200;display:none;min-width:260px;padding:8px;border:1px solid rgba(69,86,100,.16);border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(23,40,58,.16)}.accountMenu.is-open .accountMenuPanel{display:grid;grid-gap:2px;gap:2px}.accountMenuPanelHeader{display:none;align-items:center;gap:10px;padding:10px 10px 12px;margin-bottom:4px;border-bottom:1px solid #e2e8f0}.accountMenuPanelHeader strong{display:block;font-size:.92rem}.accountMenuPanelHeader span{display:block;font-size:.78rem;color:#64748b}.accountMenuItem{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#1e293b;font:inherit;font-size:.88rem;font-weight:500;text-align:left;cursor:pointer;transition:background .15s ease}.accountMenuItem:focus-visible,.accountMenuItem:hover{background:#f4f6f8;outline:none}.accountMenuDivider{height:1px;margin:6px 8px;background:#e2e8f0}.accountMenu--mobile{width:100%}.accountMenu--mobile .accountMenuTrigger{width:100%;justify-content:flex-start;border-radius:12px;padding:10px 12px}.accountMenu--mobile .accountMenuIdentity{max-width:none;flex:1 1}.accountMenu--mobile .accountMenuPanel{position:static;display:none;width:100%;min-width:0;margin-top:8px;box-shadow:none;border-radius:12px;background:rgba(255,255,255,.72)}.accountMenu--mobile.is-open .accountMenuPanel{display:grid}.accountMenu--mobile .accountMenuPanelHeader{display:flex}.roofingMobileAccount{margin-top:8px;padding-top:12px;border-top:1px solid rgba(69,86,100,.14)}@media (max-width:860px){.accountMenu--header .accountMenuIdentity{display:none}.accountMenu--header .accountMenuTrigger{padding-right:10px}}@media (max-width:1240px){.accountMenu--header,.language-switcher{display:none}}.language-switcher{position:relative;flex:0 0 auto}.language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:64px;min-height:38px;padding:0 .62rem;border:1px solid rgba(69,86,100,.22);border-radius:8px;background:rgba(255,255,255,.92);color:#283049;font-family:var(--roof-font-body);font-size:.875rem;font-weight:600;line-height:1;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.language-trigger.is-open,.language-trigger:hover{border-color:rgba(238,97,2,.65);background:#ffffff;box-shadow:0 8px 24px rgba(40,48,73,.1);transform:translateY(-1px)}.language-trigger:focus-visible{outline:3px solid rgba(238,97,2,.25);outline-offset:3px}.language-trigger-code{letter-spacing:0}.language-trigger-chevron{color:#4f657e;transition:transform .2s ease,color .18s ease}.language-trigger.is-open .language-trigger-chevron,.language-trigger:hover .language-trigger-chevron{color:#ee6102}.language-trigger.is-open .language-trigger-chevron{transform:rotate(180deg)}.language-flag{width:22px;height:16px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(40,48,73,.1);flex-shrink:0}.language-menu{position:absolute;top:calc(100% + .6rem);right:0;min-width:164px;padding:.35rem;border:1px solid rgba(69,86,100,.14);border-radius:10px;background:#ffffff;box-shadow:0 18px 45px rgba(40,48,73,.16);z-index:1200;transform-origin:top right;animation:languageMenuIn .18s ease-out}.language-option{display:grid;grid-template-columns:24px 1fr auto;align-items:center;grid-gap:.6rem;gap:.6rem;width:100%;min-height:42px;padding:.45rem .55rem;border:0;border-radius:7px;background:transparent;color:#283049;font-family:var(--roof-font-body);font-size:.86rem;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .16s ease,color .16s ease}.language-option:hover{background:rgba(79,101,126,.08)}.language-option.is-active{background:rgba(238,97,2,.1);color:#283049;font-weight:650}.language-option-meta{display:inline-flex;align-items:center;gap:.45rem}.language-option-code{color:#4f657e;font-size:.75rem;font-weight:700;letter-spacing:0}.language-option.is-active .language-option-code{color:#283049}.language-option-check{color:#ee6102;flex-shrink:0}@keyframes languageMenuIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.language-menu{animation:none}.language-trigger.is-open,.language-trigger:hover{transform:none}.language-trigger-chevron{transition:color .18s ease}}.language-mobile-section{margin-top:auto;padding:20px 0 8px;border-top:1px solid rgba(69,86,100,.16)}.language-mobile-title{margin:0 0 12px;color:#283049;font-family:var(--roof-font-heading);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.language-mobile-options{display:grid;grid-gap:8px;gap:8px}.language-mobile-option{display:grid;grid-template-columns:24px 1fr auto;align-items:center;grid-gap:.75rem;gap:.75rem;width:100%;min-height:52px;padding:.75rem .9rem;border:1px solid rgba(69,86,100,.18);border-radius:10px;background:#ffffff;color:#283049;font-family:var(--roof-font-body);font-size:.9375rem;font-weight:600;text-decoration:none;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.language-mobile-option:hover{border-color:rgba(238,97,2,.45);background:rgba(79,101,126,.05)}.language-mobile-option.is-active{border-color:rgba(238,97,2,.75);background:rgba(238,97,2,.1);box-shadow:0 8px 20px rgba(40,48,73,.08);font-weight:700}.language-mobile-option-name{text-align:left}.language-mobile-option-meta{display:inline-flex;align-items:center;gap:.5rem}.roofingButton,.roofingButtonSecondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:8px;font-family:var(--roof-font-body);font-size:.96rem;font-weight:650;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.roofingButton{color:#ffffff;background:var(--roof-orange);box-shadow:0 10px 22px rgba(238,97,2,.18)}.roofingButtonSecondary{color:#ffffff;background:var(--roof-night);box-shadow:0 16px 32px rgba(40,48,73,.18)}.roofingButton:hover,.roofingButtonSecondary:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(40,48,73,.18)}.roofingButton:hover{background:#d95400}.roofingMenuButton{display:none;width:46px;height:46px;color:#ffffff;background:var(--roof-night);border:0;border-radius:8px;cursor:pointer}.roofingHero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);grid-gap:clamp(28px,5vw,72px);gap:clamp(28px,5vw,72px);padding:clamp(56px,7vw,96px) clamp(18px,5vw,72px);background:linear-gradient(135deg,rgba(40,48,73,.94),rgba(69,86,100,.86)),radial-gradient(circle at 78% 20%,rgba(238,97,2,.2),transparent 32%),var(--roof-night);color:#ffffff}.roofingHero:after{content:"";position:absolute;inset:auto -8% -40% 36%;height:72%;background:linear-gradient(135deg,rgba(238,97,2,.18),rgba(255,255,255,.06));transform:skewY(-10deg)}.roofingHeroCard,.roofingHeroContent{position:relative;z-index:1}.roofingEyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;color:#ffffff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.roofingHero h1{max-width:820px;margin:0;color:#ffffff;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08;letter-spacing:0}.roofingHero p{max-width:660px;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.35vw,1.125rem);line-height:1.72}.roofingHeroActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.roofingHeroCard{align-self:end;padding:28px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.4);border-radius:8px;box-shadow:var(--roof-shadow)}.roofingHeroCard img{display:block;width:min(250px,70%);margin:0 auto 20px}.roofingHeroCard h2{margin:0 0 10px;color:var(--roof-night);font-size:clamp(1.5rem,2.1vw,2rem)}.roofingHeroCard li,.roofingHeroCard p{color:var(--roof-steel)}.roofingHeroCard ul{display:grid;grid-gap:10px;gap:10px;margin:18px 0 0;padding:0;list-style:none}.roofingHeroCard li{display:flex;gap:10px;align-items:flex-start}.roofingSection{padding:clamp(52px,7vw,88px) clamp(18px,5vw,72px)}.roofingSection.alt{background:var(--roof-cream)}.roofingSection.dark{color:#ffffff;background:linear-gradient(135deg,var(--roof-night),var(--roof-slate)),var(--roof-night)}.roofingSectionHeader{max-width:720px;margin-bottom:30px}.roofingSectionHeader.center{margin-right:auto;margin-left:auto;text-align:center}.roofingSectionHeader h2{margin:0;color:inherit;font-size:clamp(2rem,3.2vw,2.625rem);line-height:1.14}.roofingSectionHeader p{color:var(--roof-steel);max-width:660px;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.72}.dark .roofingSectionHeader p{color:rgba(255,255,255,.76)}.roofingGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.roofingCard{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;min-height:100%;padding:22px;background:#ffffff;border:1px solid var(--roof-line);border-radius:8px;box-shadow:0 16px 38px rgba(40,48,73,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.roofingCard:before{content:"";display:block;width:58px;height:4px;margin-bottom:18px;background:var(--roof-orange);border-radius:999px}.roofingCard h3{margin:0 0 10px;color:var(--roof-night);font-size:clamp(1.25rem,1.6vw,1.625rem)}.roofingCard p{color:var(--roof-steel)}.roofingCard a{margin-top:auto;color:var(--roof-orange);font-weight:700}.roofingCard:hover{transform:translateY(-5px);border-color:rgba(238,97,2,.34);box-shadow:0 24px 55px rgba(40,48,73,.14)}.roofingSplit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:clamp(22px,5vw,64px);gap:clamp(22px,5vw,64px);align-items:center}.roofingPanel{padding:clamp(24px,4vw,42px);background:#ffffff;border:1px solid var(--roof-line);border-radius:8px;box-shadow:var(--roof-shadow)}.roofingSteps{display:grid;grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none;counter-reset:steps}.roofingSteps li{counter-increment:steps;display:grid;grid-template-columns:46px 1fr;grid-gap:14px;gap:14px;align-items:center;min-width:0;padding:16px;background:#ffffff;border:1px solid var(--roof-line);border-radius:8px}.roofingSteps li:before{content:counter(steps);display:grid;place-items:center;width:46px;height:46px;color:#ffffff;background:var(--roof-orange);border-radius:50%;font-weight:900}.roofingFaqList{display:grid;grid-gap:14px;gap:14px}.roofingFaqList article{padding:22px;background:#ffffff;border:1px solid var(--roof-line);border-radius:8px}.roofingFaqList h3{margin:0 0 8px;color:var(--roof-night)}.roofingQuoteHero{position:relative;display:grid;align-items:center;min-height:clamp(520px,62vh,680px);overflow:hidden;color:#ffffff;isolation:isolate}.roofingFinalQuoteCta img,.roofingQuoteHero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.roofingFinalQuoteOverlay,.roofingQuoteHeroOverlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,48,73,.52),rgba(40,48,73,.28) 52%,rgba(40,48,73,.1)),linear-gradient(180deg,rgba(255,255,255,.06),rgba(40,48,73,.22))}.roofingFinalQuoteContent,.roofingQuoteHeroContent{width:min(760px,calc(100% - 36px));margin-left:clamp(18px,6vw,84px)}.roofingFinalQuoteContent h2,.roofingQuoteHero h1{margin:0;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;font-size:clamp(2.125rem,4.2vw,3.75rem);line-height:1.1}.roofingFinalQuoteContent p,.roofingQuoteHero p{max-width:660px;color:rgba(255,255,255,.9)!important;font-size:clamp(1rem,1.35vw,1.125rem)}.roofingButtonSecondary.light{color:#ffffff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.36)}.roofingIntroBand{position:relative;overflow:hidden;padding-block:clamp(3rem,6vw,5rem);background:radial-gradient(ellipse 70% 55% at 12% 0,rgba(238,97,2,.09),transparent 58%),radial-gradient(ellipse 55% 45% at 92% 100%,rgba(40,48,73,.07),transparent 55%),linear-gradient(180deg,#ffffff,#f3f4f2 52%,#f7f8f6)}.roofingIntroBandInner{position:relative;width:min(980px,100%);margin-inline:auto;padding:clamp(1.75rem,3.5vw,2.75rem);background:rgba(255,255,255,.82);border:1px solid rgba(69,86,100,.12);border-radius:var(--radius-lg,16px);box-shadow:0 24px 60px rgba(40,48,73,.1),inset 0 1px 0 rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.roofingIntroOrb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(36px);animation:roofingIntroPulse 7s ease-in-out infinite}.roofingIntroOrb--left{top:-40px;left:-30px;width:160px;height:160px;background:rgba(238,97,2,.22)}.roofingIntroOrb--right{right:-20px;bottom:-30px;width:140px;height:140px;background:rgba(40,48,73,.14);animation-delay:1.4s}.roofingIntroLine{position:absolute;top:0;left:50%;width:min(420px,70%);height:3px;background:linear-gradient(90deg,transparent,rgba(238,97,2,.75),transparent);border-radius:999px;transform:translateX(-50%) scaleX(.35);transform-origin:center;animation:roofingIntroLineGrow 1.1s cubic-bezier(.22,1,.36,1) .2s both}@keyframes roofingIntroPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}@keyframes roofingIntroLineGrow{0%{transform:translateX(-50%) scaleX(.15);opacity:.35}to{transform:translateX(-50%) scaleX(1);opacity:1}}.roofingIntroBandContent{position:relative;z-index:1;max-width:720px;margin-inline:auto;text-align:center}.roofingIntroBadge{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.4rem .9rem;color:var(--roof-orange);background:rgba(238,97,2,.09);border:1px solid rgba(238,97,2,.22);border-radius:999px;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;animation:roofingIntroBadgeIn .7s cubic-bezier(.22,1,.36,1) both}.roofingIntroBadge svg{animation:roofingIntroIconSpin 4s linear infinite}@keyframes roofingIntroBadgeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes roofingIntroIconSpin{0%,88%,to{transform:rotate(0deg)}92%{transform:rotate(14deg)}96%{transform:rotate(-8deg)}}.roofingIntroTitle{margin:0 0 1rem;color:var(--roof-night);font-family:var(--roof-font-heading);font-size:clamp(1.625rem,3.2vw,2.375rem);font-weight:760;line-height:1.16;letter-spacing:-.015em}.roofingIntroText{margin:0 auto 1.25rem;max-width:62ch;color:var(--roof-steel);font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.75}.roofingIntroNote{display:inline-flex;align-items:center;gap:.55rem;margin:0;padding:.65rem 1rem;color:var(--roof-night);background:linear-gradient(135deg,rgba(238,97,2,.08),rgba(255,255,255,.9));border:1px solid rgba(238,97,2,.2);border-radius:999px;font-size:.94rem;font-weight:700;box-shadow:0 8px 22px rgba(238,97,2,.1)}.roofingIntroNote svg{flex-shrink:0;color:var(--roof-orange)}.roofingIntroCards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(.75rem,2vw,1.125rem);gap:clamp(.75rem,2vw,1.125rem);margin-top:clamp(1.75rem,3vw,2.25rem)}.roofingIntroCard{position:relative;display:grid;grid-gap:.75rem;gap:.75rem;justify-items:center;padding:1.25rem 1rem 1.35rem;overflow:hidden;text-align:center;background:linear-gradient(160deg,#ffffff,#fafaf8);border:1px solid rgba(69,86,100,.12);border-radius:var(--radius-md,12px);box-shadow:0 12px 32px rgba(40,48,73,.07);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,border-color .32s ease}.roofingIntroCard:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(238,97,2,.07),transparent 55%);opacity:0;transition:opacity .32s ease}.roofingIntroCard:hover{transform:translateY(-6px);border-color:rgba(238,97,2,.28);box-shadow:0 20px 44px rgba(40,48,73,.12)}.roofingIntroCard:hover:before{opacity:1}.roofingIntroCardIcon{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;color:var(--roof-orange);background:rgba(238,97,2,.1);border:1px solid rgba(238,97,2,.2);border-radius:14px;transition:transform .32s cubic-bezier(.22,1,.36,1),background .32s ease,color .32s ease}.roofingIntroCard:hover .roofingIntroCardIcon{color:#ffffff;background:var(--roof-orange);transform:scale(1.06) rotate(-3deg)}.roofingIntroCardLabel{position:relative;z-index:1;color:var(--roof-night);font-size:.98rem;font-weight:700;line-height:1.45}.roofingIntroCardShine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);transform:translateX(-130%);transition:transform .7s cubic-bezier(.22,1,.36,1);pointer-events:none}.roofingIntroCard:hover .roofingIntroCardShine{transform:translateX(130%)}.roofingMutedNote{color:var(--roof-steel);font-weight:700}@media (max-width:768px){.roofingIntroCards{grid-template-columns:1fr}.roofingIntroBandInner{padding:1.35rem}}@media (prefers-reduced-motion:reduce){.roofingIntroBadge,.roofingIntroBadge svg,.roofingIntroCard,.roofingIntroCardIcon,.roofingIntroCardShine,.roofingIntroLine,.roofingIntroOrb{animation:none!important;transition:none!important}.roofingIntroCard:hover{transform:none}}.roofingQuoteFormSection{background:radial-gradient(circle at 8% 0,rgba(238,97,2,.08),transparent 28%),#f7f8f6}.roofingQuoteLayout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);grid-gap:clamp(22px,4vw,44px);gap:clamp(22px,4vw,44px);align-items:start}.roofingQuoteFormCard{display:grid;grid-gap:22px;gap:22px;padding:clamp(24px,4vw,42px);background:#ffffff;border:1px solid rgba(69,86,100,.16);border-radius:8px;box-shadow:0 28px 70px rgba(40,48,73,.14)}.roofingFormHeader h2{margin:0;color:var(--roof-night);font-size:clamp(2rem,3vw,2.625rem)}.roofingFormHeader p{max-width:640px;color:var(--roof-steel)}.roofingAssistantPanel{display:grid;grid-gap:18px;gap:18px;padding:clamp(18px,3vw,26px);overflow:hidden;background:linear-gradient(140deg,rgba(40,48,73,.04),rgba(238,97,2,.06)),#fbfcfa;border:1px solid rgba(69,86,100,.14);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.86)}.roofingAssistantHeader{display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:start}.roofingAssistantAvatar,.roofingAssistantBubbleIcon{display:grid;place-items:center;flex:0 0 auto;color:#ffffff;background:linear-gradient(135deg,var(--roof-night),#0f766e);box-shadow:0 10px 24px rgba(40,48,73,.18)}.roofingAssistantAvatar{width:52px;height:52px;border-radius:14px}.roofingAssistantHeader h3{margin:4px 0 6px;color:var(--roof-night);font-size:clamp(1.25rem,2vw,1.7rem)}.roofingAssistantHeader p{margin:0;max-width:62ch;color:var(--roof-steel);line-height:1.6}.roofingAssistantStatus{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;color:#12643f;background:#eaf8f0;border:1px solid #b8e5c8;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.roofingAssistantStatus:before{content:"";width:7px;height:7px;background:#16a34a;border-radius:50%}.roofingAssistantMessages{display:grid;align-content:start;grid-gap:14px;gap:14px;max-height:440px;padding:18px;overflow:auto;background:#ffffff;border:1px solid rgba(69,86,100,.12);border-radius:8px;scroll-behavior:smooth}.roofingAssistantMessage{display:flex;gap:10px;align-items:flex-end;max-width:min(86%,660px);animation:roofingChatIn .26s ease both}.roofingAssistantMessage.visitor{justify-self:end;flex-direction:row-reverse}.roofingAssistantBubbleIcon{width:30px;height:30px;border-radius:50%}.roofingAssistantMessage.visitor .roofingAssistantBubbleIcon{background:linear-gradient(135deg,var(--roof-orange),#b45309)}.roofingAssistantMessage p{margin:0;padding:13px 15px;color:var(--roof-night);background:#f3f6f4;border:1px solid rgba(69,86,100,.12);border-radius:8px 8px 8px 2px;line-height:1.55;white-space:pre-wrap}.roofingAssistantMessage.visitor p{color:#ffffff;background:var(--roof-night);border-color:rgba(40,48,73,.18);border-radius:8px 8px 2px 8px}.roofingAssistantMessage.typing p{display:inline-flex;align-items:center;gap:5px;color:var(--roof-steel)}.roofingAssistantMessage.typing span{width:7px;height:7px;background:var(--roof-orange);border-radius:50%;animation:roofingTyping 1s ease-in-out infinite}.roofingAssistantMessage.typing span:nth-child(2){animation-delay:.14s}.roofingAssistantMessage.typing span:nth-child(3){animation-delay:.28s}.roofingAssistantMessage.typing em{margin-left:5px;font-style:normal;font-size:.9rem}.roofingAssistantSuggestions{display:flex;flex-wrap:wrap;gap:10px}.roofingAssistantReset,.roofingAssistantSuggestions button{min-height:40px;padding:0 13px;color:var(--roof-night);background:#ffffff;border:1px solid rgba(69,86,100,.18);border-radius:999px;font:inherit;font-size:.92rem;font-weight:760;cursor:pointer;transition:border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.roofingAssistantReset:hover,.roofingAssistantSuggestions button:hover{color:var(--roof-orange);border-color:rgba(238,97,2,.4);box-shadow:0 8px 20px rgba(40,48,73,.08);transform:translateY(-1px)}.roofingAssistantComposer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.roofingAssistantComposer input{width:100%;min-height:50px;padding:0 15px;color:var(--roof-night);background:#ffffff;border:1px solid rgba(69,86,100,.22);border-radius:8px;font:inherit;outline:none}.roofingAssistantComposer input:focus{border-color:var(--roof-orange);box-shadow:0 0 0 4px rgba(238,97,2,.11)}.roofingAssistantComposer button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 16px;color:#ffffff;background:var(--roof-orange);border:0;border-radius:8px;font:inherit;font-weight:800;cursor:pointer}.roofingAssistantComposer button:disabled,.roofingAssistantSuggestions button:disabled{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}.roofingAssistantReset{justify-self:start;color:var(--roof-steel);background:transparent}.roofingAssistantFinalHeader{display:grid;grid-gap:8px;gap:8px;padding-top:4px}.roofingAssistantFinalHeader p{margin:0;color:var(--roof-steel);line-height:1.65}@keyframes roofingChatIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes roofingTyping{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.roofingQuoteFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.roofingQuoteField{display:grid;grid-gap:8px;gap:8px;min-width:0;color:var(--roof-night);font-size:.96rem;font-weight:700}.roofingQuoteField.wide{grid-column:1/-1}.roofingCommuneCheck input,.roofingQuoteField input:not(.communeAutocomplete__input),.roofingQuoteField select,.roofingQuoteField textarea{width:100%;min-height:54px;padding:0 15px;color:var(--roof-night);background:#f9faf8;border:1px solid rgba(69,86,100,.28);border-radius:8px;font:inherit;font-weight:500;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.roofingQuoteField textarea{min-height:150px;padding-top:14px;line-height:1.6;resize:vertical}.roofingCommuneCheck input:focus,.roofingQuoteField input:not(.communeAutocomplete__input):focus,.roofingQuoteField select:focus,.roofingQuoteField textarea:focus{background:#ffffff;border-color:var(--roof-orange);box-shadow:0 0 0 4px rgba(238,97,2,.12)}.roofingQuoteField [aria-invalid=true]{border-color:#b42318}.roofingFieldError,.roofingQuoteField small{margin:0;color:#b42318;font-size:.9rem;font-weight:700}.roofingPhotoUploader{display:grid;grid-gap:14px;gap:14px}.roofingPhotoInput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.roofingPhotoDropzone{display:grid;place-items:center;grid-gap:8px;gap:8px;min-height:168px;padding:24px;text-align:center;background:#f9faf8;border:1px dashed rgba(69,86,100,.34);border-radius:8px;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.roofingPhotoDropzone:hover,.roofingPhotoInput:focus-visible+.roofingPhotoDropzone,.roofingPhotoUploader.isDragOver .roofingPhotoDropzone{background:#fffaf2;border-color:rgba(238,97,2,.58);transform:translateY(-1px)}.roofingPhotoDropIcon{display:grid;place-items:center;width:54px;height:54px;color:var(--roof-orange);background:#fff;border:1px solid rgba(238,97,2,.24);border-radius:50%}.roofingPhotoDropzone strong{color:var(--roof-night);font-size:1rem}.roofingPhotoDropzone span:last-child{max-width:520px;color:var(--roof-steel);font-size:.92rem;line-height:1.5}.roofingPhotoMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--roof-steel);font-size:.9rem;font-weight:760}.roofingPhotoMeta button{padding:0;color:var(--roof-orange);background:transparent;border:0;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.roofingPhotoPreviewGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.roofingPhotoPreviewGrid li{position:relative;overflow:hidden;min-height:188px;background:#fff;border:1px solid rgba(69,86,100,.16);border-radius:8px}.roofingPhotoPreviewGrid img{display:block;width:100%;height:128px;object-fit:cover}.roofingPhotoPreviewGrid li>div{display:grid;grid-gap:2px;gap:2px;padding:10px 12px}.roofingPhotoPreviewGrid span{overflow:hidden;color:var(--roof-night);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.roofingPhotoPreviewGrid small{color:var(--roof-steel);font-size:.78rem}.roofingPhotoPreviewGrid button{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:34px;height:34px;color:#fff;background:rgba(20,26,28,.78);border:1px solid rgba(255,255,255,.22);border-radius:50%;cursor:pointer}.roofingPhotoEmpty{gap:8px;margin:0;font-size:.9rem}.roofingConsent,.roofingPhotoEmpty{display:inline-flex;align-items:center;color:var(--roof-steel)}.roofingConsent{width:-moz-fit-content;width:fit-content;max-width:100%;gap:10px;font-size:.95rem;line-height:1.55;cursor:pointer}.roofingConsent input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--roof-orange)}.roofingConsent:focus-within{outline:none;box-shadow:none}.roofingConsent input:focus-visible{outline:2px solid var(--roof-orange);outline-offset:2px}.roofingSubmitButton{width:100%;gap:9px;min-height:56px;border:0;cursor:pointer}.roofingSubmitButton:disabled{opacity:.68;cursor:not-allowed;transform:none}.roofingFormMessage{margin:0;padding:13px 14px;border-radius:8px;font-weight:700}.roofingFormMessage.success{color:#12643f;background:#eaf8f0;border:1px solid #b8e5c8}.roofingFormMessage.error{color:#b42318;background:#fff1f0;border:1px solid #f4c7c3}.roofingQuoteReassurance{position:-webkit-sticky;position:sticky;top:138px;display:grid;grid-gap:20px;gap:20px;padding:clamp(24px,3.5vw,36px);color:#ffffff;background:linear-gradient(145deg,rgba(238,97,2,.14),transparent 28%),#283049;border-radius:8px;box-shadow:0 28px 64px rgba(40,48,73,.24);transform:translateY(18px)}.roofingQuoteReassurance h2,.roofingQuoteReassurance h3{margin:0;color:#ffffff}.roofingQuoteReassurance p{color:rgba(255,255,255,.74)}.roofingReassuranceList{display:grid;grid-gap:14px;gap:14px}.roofingReassuranceList article{display:grid;grid-template-columns:42px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px}.roofingReassuranceList svg{display:grid;place-items:center;width:42px;height:42px;padding:10px;color:var(--roof-orange);background:rgba(255,255,255,.1);border-radius:50%}.roofingReassuranceList p{margin:5px 0 0;font-size:.94rem}.roofingUrgencyNote{margin:0;padding-left:14px;border-left:3px solid var(--roof-orange);font-weight:700}.roofingProcessPremium{background:#ffffff}.roofingProcessLine{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.roofingProcessLine:before{content:"";position:absolute;top:36px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,rgba(238,97,2,.1),rgba(238,97,2,.72),rgba(238,97,2,.1))}.roofingProcessLine article{position:relative;display:grid;grid-gap:10px;gap:10px;padding:24px 20px;background:#ffffff;border:1px solid var(--roof-line);border-radius:8px;box-shadow:0 18px 46px rgba(40,48,73,.09)}.roofingProcessLine article>span{display:grid;place-items:center;width:54px;height:54px;color:#ffffff;background:var(--roof-orange);border-radius:50%;box-shadow:0 12px 24px rgba(238,97,2,.24);font-weight:800}.roofingProcessLine svg{color:var(--roof-steel)}.roofingAdviceGrid h3,.roofingProcessLine h3{margin:0;color:var(--roof-night)}.roofingAdviceGrid p,.roofingProcessLine p{color:var(--roof-steel)}.roofingAdviceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px}.roofingAdviceGrid article{display:grid;grid-gap:12px;gap:12px;padding:24px;background:#ffffff;border:1px solid var(--roof-line);border-radius:8px;box-shadow:0 18px 46px rgba(40,48,73,.08)}.roofingAdviceGrid svg{color:var(--roof-orange)}.roofingZoneSection{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:center}.roofingZoneVisual{position:relative;min-height:430px;overflow:hidden;border-radius:8px;box-shadow:0 28px 68px rgba(40,48,73,.16)}.roofingZoneVisual img{width:100%;height:100%;min-height:430px;object-fit:cover}.roofingZoneMap{position:absolute;right:24px;bottom:24px;display:grid;place-items:center;width:150px;height:150px;color:#ffffff;background:rgba(40,48,73,.82);border:1px solid rgba(255,255,255,.28);border-radius:50%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.roofingZoneMap span{position:absolute;inset:18px;border:2px dashed rgba(238,97,2,.88);border-radius:50%}.roofingCommuneCheck{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;max-width:520px;margin:22px 0}.roofingFinalQuoteCta{position:relative;display:grid;align-items:center;min-height:440px;overflow:hidden;color:#ffffff;isolation:isolate}.roofingFinalQuoteOverlay{background:linear-gradient(90deg,rgba(40,48,73,.58),rgba(40,48,73,.34) 50%,rgba(40,48,73,.12)),radial-gradient(circle at 18% 22%,rgba(238,97,2,.16),transparent 32%)}.roofingFooter{display:grid;grid-template-columns:1fr;grid-gap:28px;gap:28px;padding:54px clamp(18px,5vw,72px) 36px;color:#ffffff;background:#283049;border-top:4px solid #ee6102}.roofingFooterBrandBar{display:none}.roofingFooterLogo{width:clamp(72px,8vw,96px);height:auto;object-fit:contain;background:transparent;border:0}.roofingFooterGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:clamp(20px,3vw,36px);gap:clamp(20px,3vw,36px);align-items:start}.roofingFooterSignature{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}.roofingFooterSignature .developerSignature{justify-content:flex-start;color:rgba(255,255,255,.72)}.roofingFooterSignature .developerSignatureLink{color:#ffffff}.roofingFooter a,.roofingFooter p,.roofingFooter span{color:rgba(255,255,255,.78)}.roofingFooter h3{color:#ffffff}.roofingFooterColumn{display:grid;align-content:start;grid-gap:10px;gap:10px;min-width:0}.roofingFooterColumn h3{margin:0 0 4px;font-size:1rem;line-height:1.25}.roofingFooterColumn a:focus-visible,.roofingFooterColumn a:hover{color:#ee6102}.roofingFooterColumn span{color:rgba(255,255,255,.72)}@media (max-width:1040px){.roofingFooterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.roofingFooterGrid,.roofingHero,.roofingSplit{grid-template-columns:1fr}}.roofingMobileLayer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;align-items:stretch;pointer-events:none}.roofingMobileOverlay{position:absolute;inset:0;background:rgba(15,23,42,.46);border:0;pointer-events:auto}.roofingMobilePanel{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;width:min(390px,100vw);height:100dvh;margin:0;padding:24px 22px 28px;overflow-y:auto;background:#fbfcfb;box-shadow:-24px 0 60px rgba(40,48,73,.24);pointer-events:auto}@media (prefers-reduced-motion:no-preference){.roofingMobilePanel{animation:roofingDrawerIn .26s ease-out}}@keyframes roofingDrawerIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.roofingMobileNav{flex:1 1}.roofingClose{position:-webkit-sticky;position:sticky;top:0;align-self:flex-end;flex-shrink:0;z-index:2;width:46px;height:46px;color:#ffffff;background:var(--roof-night);border:0;border-radius:8px}.roofingMobileBrand{display:inline-flex;align-items:center;gap:13px;color:var(--roof-night)}.roofingMobileBrand img{width:72px;height:72px;object-fit:contain}.roofingMobileBrand strong{display:block;font-family:var(--roof-font-heading);font-size:1.1rem;line-height:1.1}.roofingMobileBrand span span{display:block;margin-top:4px;color:var(--roof-steel);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.roofingMobileNav{display:grid;grid-gap:10px;gap:10px}.roofingMobileGroup summary,.roofingMobileNav a{display:flex;align-items:center;min-height:50px;padding:0 15px;color:var(--roof-night);background:#ffffff;border:1px solid var(--roof-line);border-radius:8px;font-weight:700}.roofingMobileGroup summary{justify-content:space-between;cursor:pointer;list-style:none}.roofingMobileGroup summary::-webkit-details-marker{display:none}.roofingMobileGroup summary:after{content:"+";color:var(--roof-orange);font-size:1.2rem;font-weight:700}.roofingMobileGroup[open] summary:after{content:"-"}.roofingMobileGroup{display:grid;grid-gap:8px;gap:8px}.roofingMobileGroup a{min-height:44px;margin-left:12px;color:var(--roof-steel);background:rgba(255,255,255,.72)}.roofingMobileGroup.active summary,.roofingMobileNav a.active{color:var(--roof-orange);border-color:rgba(238,97,2,.38);background:rgba(238,97,2,.06)}.roofingMobileNav .roofingButton{justify-content:center;margin-top:4px;color:#ffffff;border-color:transparent}@media (prefers-reduced-motion:no-preference){.roofingAdviceGrid article,.roofingCard,.roofingFinalQuoteContent,.roofingFormHeader,.roofingHeroCard,.roofingHeroContent,.roofingPanel,.roofingProcessLine article,.roofingQuoteFormCard,.roofingQuoteHeroContent,.roofingQuoteReassurance,.roofingSectionHeader,.roofingSteps li,.roofingZoneVisual{animation:roofingReveal .68s ease both}.roofingFinalQuoteCta img,.roofingQuoteHero img{animation:roofingImageReveal .9s ease both}.roofingAdviceGrid article:nth-child(2),.roofingCard:nth-child(2),.roofingProcessLine article:nth-child(2),.roofingSteps li:nth-child(2){animation-delay:90ms}.roofingAdviceGrid article:nth-child(3),.roofingCard:nth-child(3),.roofingProcessLine article:nth-child(3),.roofingSteps li:nth-child(3){animation-delay:.16s}.roofingCard:nth-child(4),.roofingProcessLine article:nth-child(4),.roofingSteps li:nth-child(4){animation-delay:.23s}@keyframes roofingReveal{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes roofingImageReveal{0%{opacity:.82;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}}@media (max-width:1240px){.roofingNav{display:none}.roofingHeader{justify-content:space-between;min-height:88px;gap:16px}.roofingHeaderActions{display:flex;margin-left:auto}.roofingMenuButton{display:grid;place-items:center;flex-shrink:0}.roofingBrand img,.roofingSite .roofingBrand img{width:76px;height:76px}}@media (max-width:1040px){.roofingQuoteLayout,.roofingZoneSection{grid-template-columns:1fr}.roofingQuoteReassurance{position:relative;top:auto;transform:none}.roofingProcessLine{grid-template-columns:repeat(2,minmax(0,1fr))}.roofingProcessLine:before{display:none}}@media (max-width:860px){.roofingGrid,.roofingHero,.roofingSplit{grid-template-columns:1fr}.roofingHero{padding-top:48px}.roofingHeaderActions .roofingButton{min-width:auto;padding-inline:15px}.roofingHeaderActions{display:none}.roofingTopInner{justify-content:flex-end}.roofingTopInner a,.roofingTopInner span:nth-child(2){display:none}.roofingQuoteHero{min-height:480px}.roofingFinalQuoteContent,.roofingQuoteHeroContent{width:min(100% - 32px,660px);margin-inline:16px}.roofingAdviceGrid,.roofingProcessLine,.roofingQuoteFields{grid-template-columns:1fr}.roofingAssistantHeader{grid-template-columns:46px minmax(0,1fr)}.roofingAssistantAvatar{width:46px;height:46px}.roofingAssistantStatus{grid-column:1/-1;justify-self:start}.roofingAssistantMessage{max-width:94%}.roofingCommuneCheck,.roofingPhotoUploader{grid-template-columns:1fr}.roofingPhotoMeta{align-items:flex-start;flex-direction:column}.roofingPhotoPreviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.roofingCommuneCheck .roofingButtonSecondary{width:100%}.roofingZoneVisual,.roofingZoneVisual img{min-height:320px}}@media (max-width:640px){.roofingHeader{gap:12px;min-height:74px}.roofingHeader,.roofingSite .roofingHeader{padding-inline:14px}.roofingBrand{min-width:0;flex-basis:auto}.roofingBrand img,.roofingSite .roofingBrand img{width:58px;height:58px}.roofingBrandText{display:grid}.roofingBrand strong{font-size:.98rem}.roofingBrandText>span{font-size:.64rem}.roofingTopInner{min-height:32px;padding-inline:14px;font-size:.76rem}.roofingTopBar{display:none}}@media (max-width:520px){.roofingHeaderCta{display:none}.roofingHero h1{font-size:clamp(2.125rem,9vw,2.625rem)}.roofingFinalQuoteContent h2,.roofingQuoteHero h1{font-size:clamp(2.125rem,9vw,2.5rem)}.roofingHeroActions{display:grid}.roofingButton,.roofingButtonSecondary,.roofingSubmitButton{width:100%}.roofingQuoteFormCard{padding:22px 16px}.roofingAssistantPanel{padding:16px 12px}.roofingAssistantMessages{max-height:380px;padding:12px}.roofingAssistantComposer{grid-template-columns:1fr}.roofingAssistantComposer button{width:100%}.roofingAdviceGrid article,.roofingProcessLine article,.roofingQuoteReassurance{padding:20px}.roofingZoneMap{right:14px;bottom:14px;width:118px;height:118px}}.roofingSite .phoneCountryField{display:grid!important;grid-template-columns:minmax(94px,auto) 1px minmax(0,1fr)!important;align-items:center!important;grid-gap:0!important;gap:0!important;width:100%!important;min-width:0!important;min-height:56px!important;padding:0 14px!important;border:1px solid rgba(148,163,184,.62)!important;border-radius:14px!important;background:#ffffff!important;box-shadow:none!important;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.roofingSite .phoneCountryField:focus-within{border-color:var(--roof-orange,#ee6102)!important;box-shadow:0 0 0 4px rgba(238,97,2,.12)!important}.roofingSite .clientSignupPhoneWrap .phoneCountryField,.roofingSite .form-control-shell .phoneCountryField{min-height:100%!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.roofingSite .phoneCountryField input.phoneCountryNumber,.roofingSite .phoneCountryField select.phoneCountrySelect{width:100%!important;min-width:0!important;min-height:54px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--roof-night,#283049)!important;-webkit-text-fill-color:var(--roof-night,#283049)!important;font:inherit!important;font-size:1rem!important;font-weight:650!important;line-height:1.35!important;outline:none!important}.roofingSite .phoneCountryField select.phoneCountrySelect{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;padding-right:12px!important;cursor:pointer}.roofingSite .phoneCountryField input.phoneCountryNumber{padding-left:14px!important}.roofingSite .phoneCountryField input.phoneCountryNumber::placeholder{color:#98a2b3!important;-webkit-text-fill-color:#98a2b3!important;font-weight:520!important;opacity:1!important}.roofingSite .phoneCountryDivider{display:block!important;width:1px!important;height:26px!important;background:rgba(40,48,73,.16)!important}.roofingSite .phoneCountryField input[type=hidden]{display:none!important}@media (max-width:520px){.roofingSite .phoneCountryField{grid-template-columns:minmax(82px,auto) 1px minmax(0,1fr)!important;min-height:54px!important;padding-inline:12px!important}.roofingSite .phoneCountryField input.phoneCountryNumber,.roofingSite .phoneCountryField select.phoneCountrySelect{min-height:52px!important;font-size:16px!important}}.roofingSite{--roof-font-heading:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--roof-font-body:"Avenir Next","Segoe UI",Roboto,Arial,sans-serif;--roof-night:#1f2b2d;--roof-orange:#a95f34;--roof-steel:#65706b;--roof-slate:#384447;--roof-cream:#f4efe5;--roof-line:rgba(75,69,58,0.2);--roof-radius:4px;color:#1f2b2d;background:#faf7ef}.roofingSite h1,.roofingSite h2,.roofingSite h3,.roofingSite h4{letter-spacing:0}.roofingHeaderShell{background:#fffaf0;border-bottom:1px solid rgba(75,69,58,.22);box-shadow:none}.roofingTopBar{background:#1f2b2d}.roofingTopInner{justify-content:space-between;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.roofingTopInner a:before,.roofingTopInner span:before{background:#a95f34;border-radius:0}.roofingHeader,.roofingSite .roofingHeader{min-height:86px;background:rgba(255,250,240,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.roofingBrand{flex-basis:250px}.roofingBrand img,.roofingSite .roofingBrand img{width:clamp(58px,4.6vw,72px);height:clamp(58px,4.6vw,72px)}.roofingBrand strong{font-family:var(--roof-font-heading);font-size:clamp(1.12rem,1.5vw,1.34rem);letter-spacing:0}.roofingBrandText>span{color:rgba(31,43,45,.62);letter-spacing:.12em}.roofingNav{gap:clamp(2px,.45vw,8px)}.roofingNav a,.roofingNavDropdown>button{min-height:42px;padding-inline:8px;color:rgba(31,43,45,.82);font-size:clamp(.82rem,.72vw,.92rem);letter-spacing:.01em}.roofingNav a:after,.roofingNavDropdown>button:after{right:8px;bottom:0;left:8px;height:1px;background:#a95f34;border-radius:0}.roofingNav a.active,.roofingNav a:focus-visible,.roofingNav a:hover,.roofingNavDropdown>button.active,.roofingNavDropdown>button:focus-visible,.roofingNavDropdown>button:hover{color:#a95f34}.roofingDropdownPanel,.roofingSite .roofingDropdownPanel{background:#fffaf0;border-color:rgba(75,69,58,.2);border-radius:0;box-shadow:0 24px 54px rgba(31,43,45,.16)}.roofingDropdownPanel a{border-radius:0;background:transparent}.roofingDropdownPanel a.active,.roofingDropdownPanel a:focus-visible,.roofingDropdownPanel a:hover{color:#a95f34;background:rgba(169,95,52,.08)}.accountMenuTrigger,.language-trigger{border-radius:0;background:#fffaf0;border-color:rgba(75,69,58,.24)}.accountMenuPanel,.language-menu{border-radius:0;background:#fffaf0}.roofingButton,.roofingButtonSecondary{border-radius:0;letter-spacing:.02em}.roofingButton{background:#a95f34;box-shadow:none}.roofingButtonSecondary{background:#1f2b2d;border-color:rgba(255,250,240,.18)}.roofingButton:hover{background:#8f4d2b}.roofingButtonSecondary:hover{background:#384447}.roofingMenuButton{border-radius:0;background:#1f2b2d}.innerHero.pageHero,.newsHeroPremium,.pageHero,.pricingHeroPremium,.servicesHeroPremium{border-radius:0!important}.innerHero.pageHero>.heroTextPanel{border-radius:0!important;background:rgba(31,43,45,.78)!important;border-left:6px solid #a95f34!important}.articleContent,.articleHeaderBlock,.clientRoofingPanel,.clientRoofingStatCard,.contactLayout,.legalPage,.roofingAuthCard,.roofingQuoteCard,.roofingQuotePanel,.roofingSite .phoneCountryField,.roofingSite .phoneCountryInput,.roofingSite .phoneCountryNumber,.roofingSite .phoneCountrySelect,.roofingSite input,.roofingSite select,.roofingSite textarea{border-radius:0!important}.roofingFooter{background:linear-gradient(120deg,#1f2b2d 0 68%,#a95f34 68% 100%);border-top:0}.roofingFooterLogo{border-radius:0}.roofingFooter h3{font-family:var(--roof-font-heading);letter-spacing:0}@media (max-width:1240px){.roofingHeader,.roofingSite .roofingHeader{min-height:76px}}@media (max-width:760px){.roofingTopInner{justify-content:center;gap:14px;letter-spacing:.04em}.roofingTopInner span:nth-child(2){display:none}.roofingBrand{flex-basis:auto;min-width:0}}