.roof-page{--roof-muted: #65665e;--roof-red: var(--partner-red, #ea1826);--roof-navy: var(--partner-navy, #102039);padding-top:76px;overflow:clip}.roof-page h1,.roof-page h2,.roof-page h3{font-weight:550;letter-spacing:-.055em;line-height:1.08}.roof-page h2{font-size:clamp(35px,4.2vw,60px)}.roof-page h2 span{display:block;color:#81735e}.roof-page h3{font-size:clamp(24px,2.3vw,31px);line-height:1.18;letter-spacing:-.04em}.roof-page p{line-height:1.75}.roof-page .eyebrow{font-size:10px;letter-spacing:.13em;line-height:1.6}.roof-page :is(section,details){scroll-margin-top:105px}.roof-page figure{margin:0}.roof-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:16px 25px;background:#252b23;color:#fff;border-radius:32px;font-size:13px;font-weight:560;line-height:1.5;text-align:center;transition:background .2s}.roof-button:hover{background:#424c3d}.roof-button:disabled{opacity:.55;cursor:wait}.roof-text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:12px;line-height:1.55;text-decoration:underline;text-underline-offset:5px}.roof-text-link:hover{color:#a12f32}.roof-location{display:flex;align-items:center;gap:9px;color:#646356}.roof-hero>.container{padding-block:57px 32px}.roof-hero-signature{margin-bottom:23px}.roof-hero-heading{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:60px;align-items:end;margin-top:22px}.roof-hero h1{font-size:clamp(45px,5.1vw,74px);letter-spacing:-.065em;line-height:1.04;max-width:820px}.roof-hero h1 span{display:block;color:#81735e}.roof-hero-intro>p{font-size:15px;color:var(--roof-muted);margin-bottom:24px;max-width:375px}.roof-hero-intro strong{font-weight:570;color:#30362c}.roof-hero-intro .roof-text-link{display:flex;width:fit-content;margin-top:8px}.roof-scope-line{display:flex;flex-wrap:wrap;gap:8px 27px;margin-top:33px;font-size:11px;color:#5f6157}.roof-scope-line span{display:flex;align-items:center;gap:9px}.roof-scope-line span:before{content:"";width:5px;height:5px;border-radius:50%;background:#81735e}.roof-hero-image{position:relative;margin:0 28px!important;overflow:hidden;border-radius:22px;background:#deddd2}.roof-hero-image>img{width:100%;height:auto;max-height:670px;object-fit:cover;object-position:center 63%}.roof-hero-image:after{content:"";position:absolute;top:65%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#172319ad);pointer-events:none}.roof-hero-image figcaption{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;gap:25px;align-items:end;color:#fff;z-index:1;font-size:11px;line-height:1.5;pointer-events:none}.roof-hero-image figcaption span:first-child{font-size:19px;letter-spacing:-.025em}.roof-section{padding-block:96px}.roof-heading{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:43px}.roof-heading .eyebrow,.roof-next .eyebrow,.roof-faq .eyebrow,.roof-contact .eyebrow{margin-bottom:20px}.roof-heading>p{max-width:335px;font-size:15px;color:var(--roof-muted)}.roof-offer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.roof-offer-list article{border-top:1px solid #c8c8ba;padding-top:22px}.roof-index{font-size:10px;letter-spacing:.11em;color:#656157}.roof-offer-list h3{margin-top:26px}.roof-offer-list p{font-size:14px;color:var(--roof-muted);margin-top:18px;max-width:350px}.roof-offer-note{display:grid;grid-template-columns:1fr auto;align-items:center;gap:48px;border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.roof-offer-note p{font-size:12px;color:var(--roof-muted);max-width:750px}.roof-offer-note strong{font-weight:600;color:#30362c}.roof-gallery-section{background:#eeeae2;padding-block:85px}.roof-gallery{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px}.roof-reference{min-width:0}.roof-reference-copy{margin-top:15px}.roof-reference-copy h3{font-size:23px}.roof-reference-copy p{font-size:12px;color:var(--roof-muted);margin-top:7px}.roof-gallery-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #ccc7bd;margin-top:40px;padding-top:30px}.roof-gallery-cta p{font-size:21px;font-weight:530;letter-spacing:-.035em}.roof-gallery-cta p span{display:block;font-size:13px;letter-spacing:0;font-weight:400;color:var(--roof-muted);margin-top:4px}.roof-partnership{background:var(--roof-navy);color:#fff;border-top:0;background-image:linear-gradient(90deg,#6650ff 0 50%,var(--roof-red) 50%);background-repeat:no-repeat;background-size:100% 2px;padding-block:82px}.roof-partnership-signature{margin-bottom:24px}.roof-partner-heading{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:65px}.roof-partner-heading h2 span{color:#bdc8d2}.roof-partner-heading>p{font-size:15px;color:#c3cdd7}.roof-partners{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:46px}.roof-partner{border-top:1px solid #475465;padding-top:25px}.roof-partner h3{font-size:25px;margin-top:24px}.roof-partner p{font-size:14px;color:#c3cdd7;max-width:460px;margin-top:14px}.roof-partner .roof-text-link{margin-top:12px;color:#e5eaf0}.roof-partner-label{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:560}.roof-partner-label:before{content:"";width:6px;height:6px;border-radius:2px;background:#9b8eff}.roof-partner-strehe .roof-partner-label:before{background:#ff6670}.roof-complete{margin-top:40px!important}.roof-complete>img{width:100%;height:480px;object-fit:cover;object-position:center 45%;border-radius:16px}.roof-complete figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#c3cdd7;font-size:11px;line-height:1.65;padding-top:10px}.roof-complete .roof-text-link{font-size:11px;color:#fff}.roof-next{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.roof-next h2{font-size:clamp(35px,3.8vw,55px)}.roof-next-region{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--roof-muted);margin-top:28px}.roof-next ol{list-style:none;padding:0;margin:0}.roof-next li{display:grid;grid-template-columns:28px 1fr;gap:18px;padding-block:27px;border-top:1px solid var(--line)}.roof-next li:first-child{padding-top:0;border:0}.roof-next li>span{font-size:11px;color:#72624e;padding-top:6px}.roof-next h3{font-size:24px}.roof-next li p{font-size:14px;color:var(--roof-muted);margin-top:14px}.roof-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding-block:0 95px}.roof-faq h2{font-size:45px}.roof-faq details{border-bottom:1px solid var(--line)}.roof-faq details:first-child{border-top:1px solid var(--line)}.roof-faq summary{list-style:none;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:23px 0;cursor:pointer;font-size:15px;font-weight:530;line-height:1.6}.roof-faq summary::-webkit-details-marker{display:none}.roof-faq details[open] summary svg{transform:rotate(45deg)}.roof-faq details p{font-size:14px;color:var(--roof-muted);padding-bottom:24px}.roof-contact{background:#e6e5dd;padding-block:82px;scroll-margin-top:76px!important}.roof-contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}.roof-contact h2{font-size:clamp(38px,4vw,57px)}.roof-contact-intro>p:not(.eyebrow){font-size:15px;color:#606358;margin-top:24px;max-width:420px}.roof-contact-person{display:flex;align-items:center;gap:18px;margin-top:35px}.roof-contact-person img{width:66px;height:82px;border-radius:9px;object-fit:cover;object-position:center 26%}.roof-contact-person>div{display:flex;flex-direction:column;align-items:start;min-width:0}.roof-contact-person strong{font-size:15px;font-weight:560}.roof-contact-person span{font-size:11px;margin-top:5px;color:#63685c}.roof-contact-person a{display:flex;align-items:center;gap:7px;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.roof-contact-intro .roof-contact-note{font-size:12px!important;margin-top:23px!important}.roof-form-wrap{background:#f8f7f4;border:1px solid #d8d8cc;border-radius:20px;padding:32px;min-width:0}.roof-inquiry-scope{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.roof-inquiry-scope strong,.roof-inquiry-scope span{display:block}.roof-inquiry-scope strong{font-size:18px;font-weight:560;letter-spacing:-.025em}.roof-inquiry-scope span{font-size:12px;color:var(--roof-muted);margin-top:7px;line-height:1.65}.roof-inquiry label{display:block;font-size:12px;line-height:1.6;min-width:0}.roof-inquiry input,.roof-inquiry select,.roof-inquiry textarea{display:block;margin-top:8px;width:100%;min-width:0;padding:12px 13px;min-height:47px;background:#fffefb;border:1px solid #c7c8bc;color:#282c24;border-radius:7px;font-size:14px;line-height:1.6}.roof-inquiry input::placeholder,.roof-inquiry textarea::placeholder{color:#77796d}.roof-inquiry textarea{min-height:105px;resize:vertical}.roof-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.roof-inquiry .lead-extra>.roof-field-row{margin-bottom:16px}.roof-inquiry .lead-extra>label{margin-bottom:16px}.roof-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:20px;min-height:54px;border-radius:32px;background:#252b23;color:#fff;padding:15px 20px;font-size:13px;font-weight:560}.roof-submit:hover{background:#424c3d}.roof-submit:disabled{opacity:.55;cursor:wait}.roof-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:1100px){.roof-hero-heading{gap:35px;grid-template-columns:1.45fr 1fr}.roof-hero h1{font-size:56px}.roof-contact-grid,.roof-partner-heading{gap:35px}.roof-next,.roof-faq{gap:45px}.roof-form-wrap{padding:25px}.roof-field-row{grid-template-columns:1fr}.roof-offer-note{gap:25px}}@media(max-width:800px){.roof-page .container{width:calc(100% - 48px)}.roof-hero-heading{grid-template-columns:1fr;gap:25px}.roof-hero h1{max-width:650px;font-size:clamp(45px,7.5vw,60px)}.roof-hero-intro>p{max-width:600px}.roof-hero-intro .roof-text-link{display:inline-flex;margin-left:22px}.roof-hero>.container{padding-top:40px}.roof-hero-image{margin-inline:16px!important}.roof-hero-image figcaption span:first-child{font-size:16px}.roof-hero-image figcaption span:last-child{max-width:200px}.roof-heading{align-items:start;gap:30px}.roof-heading>p{max-width:280px}.roof-offer-list{gap:24px}.roof-offer-list h3{font-size:24px}.roof-offer-note{grid-template-columns:1fr;gap:12px}.roof-section{padding-block:70px}.roof-gallery-section,.roof-partnership{padding-block:65px}.roof-partner-heading{grid-template-columns:1fr;gap:25px}.roof-partner-heading>p{max-width:560px}.roof-partners{gap:35px}.roof-complete>img{height:360px}.roof-next{grid-template-columns:1fr;gap:38px}.roof-next ol{max-width:620px}.roof-faq{grid-template-columns:1fr;gap:35px;padding-bottom:70px}.roof-contact-grid{grid-template-columns:1fr;gap:35px}.roof-contact-intro>p:not(.eyebrow){max-width:580px}.roof-field-row{grid-template-columns:1fr 1fr}.roof-contact{padding-block:65px}}@media(max-width:600px){.roof-page{padding-top:70px}.roof-page .container{width:calc(100% - 40px)}.roof-hero>.container{padding-block:29px 24px}.roof-page .eyebrow{font-size:9px;letter-spacing:.11em}.roof-hero-heading{margin-top:19px;gap:23px}.roof-hero h1{font-size:clamp(38px,9.1vw,53px);letter-spacing:-.06em}.roof-hero-intro>p{font-size:14px;margin-bottom:20px}.roof-hero-intro .roof-text-link{display:flex;margin:7px 0 0}.roof-scope-line{gap:8px 17px;margin-top:22px;font-size:10px}.roof-button{font-size:12px;gap:17px;padding-inline:22px}.roof-hero-image{margin-inline:10px!important;border-radius:13px}.roof-hero-image>img{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:60% center}.roof-hero-image figcaption{left:15px;right:15px;bottom:15px;display:block}.roof-hero-image figcaption span:first-child{display:none}.roof-hero-image figcaption span:last-child{display:block;font-size:10px;max-width:none}.roof-heading{display:block;margin-bottom:32px}.roof-heading>p{max-width:none;margin-top:23px;font-size:14px}.roof-heading .eyebrow{margin-bottom:17px}.roof-page h2{font-size:clamp(33px,8.2vw,44px)}.roof-section{padding-block:57px}.roof-offer-list{grid-template-columns:1fr;gap:28px}.roof-offer-list article{padding-top:18px}.roof-offer-list h3{font-size:27px;margin-top:17px}.roof-offer-list h3 br{display:none}.roof-offer-list p{margin-top:13px;max-width:none}.roof-offer-note{margin-top:27px;padding-top:22px}.roof-gallery-section,.roof-partnership{padding-block:55px}.roof-gallery{grid-template-columns:1fr;gap:30px}.roof-reference-copy h3{font-size:23px}.roof-gallery-cta{align-items:start;flex-direction:column;gap:19px;margin-top:30px;padding-top:25px}.roof-gallery-cta p{font-size:21px}.roof-partner-heading{gap:22px}.roof-partners{grid-template-columns:1fr;gap:30px;margin-top:32px}.roof-partner h3{font-size:25px}.roof-partner p{max-width:none}.roof-complete{margin-top:30px!important}.roof-complete>img{height:auto;aspect-ratio:16 / 9;border-radius:12px}.roof-complete figcaption{display:block;font-size:10px}.roof-complete .roof-text-link{display:flex;width:fit-content}.roof-next-region{font-size:12px}.roof-next li{gap:10px}.roof-next h3{font-size:24px}.roof-faq{padding-bottom:55px;gap:28px}.roof-faq summary{font-size:14px;padding-block:21px}.roof-contact{padding-block:55px}.roof-contact-person{gap:13px}.roof-contact-person a{font-size:11px}.roof-form-wrap{padding:22px 18px;border-radius:15px}.roof-field-row{grid-template-columns:1fr}.roof-inquiry-scope strong{font-size:18px}}@media(prefers-reduced-motion:reduce){.roof-page *{scroll-behavior:auto;transition:none!important}}
