
:root{--ink:#102b45;--deep:#09243b;--blue:#195273;--sun:#f5bd31;--paper:#f5f7f5;--muted:#5c7080;--line:#dce5e7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;font:16px/1.6 'DM Sans',system-ui,sans-serif;color:var(--ink);background:white}a{color:inherit}button,input,select{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(2.65rem,5.7vw,5.7rem);max-width:850px;margin:0 0 24px}h2{font-size:clamp(2rem,3.7vw,3.65rem);margin:0 0 20px}h3{font-size:1.35rem}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.top{background:var(--deep);color:#c9dce6;font-size:13px}.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:36px}.top a{text-decoration:none}.nav{position:sticky;top:0;background:#fff;z-index:20;border-bottom:1px solid var(--line)}.nav .wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:220px;display:block}.links{display:flex;align-items:center;gap:26px;font-weight:700;font-size:14px}.links a{text-decoration:none}.links a:hover{color:#096895}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 19px;border-radius:7px;background:var(--sun);color:#172e40;border:0;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#ffd165;transform:translateY(-2px)}.button.dark{background:var(--deep);color:#fff}.button.ghost{background:transparent;border:1px solid #809aaa;color:#fff}.nav .button{min-height:42px}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#176a8b;display:block;margin-bottom:17px}.hero{background:var(--deep);color:white;overflow:hidden}.hero .wrap{min-height:580px;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}.hero-copy{padding:78px 0}.hero .eyebrow{color:var(--sun)}.hero h1 span{color:var(--sun)}.hero p{font-size:19px;max-width:610px;color:#d1e1e8;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-image{height:580px;align-self:stretch;position:relative;margin-right:calc((min(1240px,100vw - 48px) - 100vw)/2);overflow:hidden}.hero-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 66%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09243b33,transparent 35%),linear-gradient(0deg,#09243b9e,transparent 35%)}.hero-image figcaption{position:absolute;bottom:25px;left:26px;right:25px;color:#fff;z-index:1;font-size:14px;font-weight:700}.trust{border-bottom:1px solid var(--line);background:#fff}.trust .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-block:24px}.trust-item{padding:5px 28px;border-left:1px solid var(--line)}.trust-item:first-child{padding-left:0;border:0}.trust strong{display:block;font:800 17px Manrope}.trust span{display:block;color:var(--muted);font-size:14px}.section{padding:100px 0}.section-lead{font-size:18px;color:var(--muted);max-width:640px}.calc-section{background:#eaf2f3}.calc-layout{display:grid;grid-template-columns:.78fr 1.22fr;align-items:start;gap:70px}.calc-intro{position:sticky;top:115px}.calc-intro p{color:var(--muted);font-size:18px}.calc-points{padding:0;margin:28px 0;list-style:none}.calc-points li{padding:10px 0;border-top:1px solid #cbdadd;font-weight:700}.calc-points li:before{content:'✓';color:#14775f;margin-right:12px}.calc-preview{background:#fff;padding:34px;border:1px solid #d3e0e4;border-radius:14px;box-shadow:0 24px 60px #0d345018}.calc-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:22px}.calc-head b{font:800 20px Manrope}.calc-head small{color:var(--muted)}.calc-preview label{font-size:14px;font-weight:800}.calc-preview input,.calc-preview select{width:100%;padding:12px 13px;border:1px solid #b9ced6;border-radius:7px;margin:7px 0 17px;color:var(--ink);background:#fff}.calc-preview input:focus,.calc-preview select:focus,.button:focus-visible,.menu:focus-visible{outline:3px solid #79b5bd;outline-offset:2px}.calc-preview .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calc-preview .check{display:flex;align-items:center;gap:9px;margin:10px 0;font-weight:600}.calc-preview .check input{width:auto;margin:0}.calc-preview .extra{display:none}.calc-preview .extra.show{display:block}.answer{margin-top:22px;padding:20px;background:var(--deep);color:#fff;border-radius:10px}.answer span{display:block;color:#b9d1df;font-size:14px}.answer strong{display:block;font:800 43px Manrope;line-height:1.2;margin:5px 0;color:#fff}.answer p{color:#b9d1df!important}.calc-preview .button{width:100%;margin-top:17px}.calc-note{color:var(--muted);font-size:13px;line-height:1.5;margin:16px 0 0}.services{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-heading p{max-width:370px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{border:1px solid var(--line);border-radius:12px;padding:30px;min-height:250px;background:#fff;display:flex;flex-direction:column}.service small{font:800 13px Manrope;color:#16708a;letter-spacing:.08em;margin-bottom:29px}.service h3{margin-bottom:10px}.service p{color:var(--muted);margin-bottom:0}.service.feature{background:var(--deep);color:#fff;border-color:var(--deep)}.service.feature small{color:var(--sun)}.service.feature p{color:#cbdce4}.process{background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:43px}.step{border-top:3px solid var(--sun);padding-top:21px}.step b{font:800 14px Manrope;color:#1a6d87}.step h3{margin:15px 0 9px}.step p{color:var(--muted)}.news{background:#fff}.news-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.news-feature{border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:0 18px 38px #1038520c}.news-feature .tag{display:inline-block;background:#e5f1ed;color:#17644e;border-radius:99px;padding:5px 10px;font:800 12px Manrope;text-transform:uppercase;letter-spacing:.08em}.news-feature time{display:block;color:var(--muted);font-size:13px;margin:18px 0 12px}.news-feature h3{font-size:clamp(1.5rem,2.4vw,2.2rem)}.news-feature p{color:var(--muted)}.news-feature a{font-weight:800;text-decoration:none;color:#0b6687}.news-feature a:hover{text-decoration:underline}.contact{background:var(--deep);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.contact .eyebrow{color:var(--sun)}.contact p{color:#cbdce4;font-size:18px}.contact-card{background:#fff;color:var(--ink);padding:35px;border-radius:12px;display:grid;gap:20px}.contact-card small{display:block;color:var(--muted)}.contact-card a{text-decoration:none;font-weight:800}.footer{background:#061a2c;color:#c9dce6;padding:53px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer img{width:200px;background:#fff;padding:6px;border-radius:4px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer small{display:block;border-top:1px solid #ffffff2d;margin-top:34px;padding-top:20px;color:#a5bdc9}
@media(max-width:960px){.links{gap:13px}.brand img{width:180px}.hero .wrap{gap:25px}.calc-layout{gap:35px}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.top span{display:none}.top .wrap{justify-content:center}.nav .wrap{min-height:69px}.menu{display:block;padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:7px;font-weight:700}.links{display:none;position:absolute;top:69px;left:0;right:0;background:#fff;padding:24px;box-shadow:0 20px 30px #09243b21;flex-direction:column;align-items:stretch}.links.open{display:flex}.hero .wrap{grid-template-columns:1fr;gap:0}.hero-copy{padding:66px 0 35px}.hero-image{height:330px;margin:0 -24px}.trust .wrap{grid-template-columns:1fr;gap:0}.trust-item,.trust-item:first-child{border:0;border-bottom:1px solid var(--line);padding:15px 0}.section{padding:72px 0}.calc-layout,.news-layout,.contact-grid{grid-template-columns:1fr;gap:32px}.calc-intro{position:static}.service-grid{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:530px){.wrap{width:min(100% - 36px,1240px)}h1{font-size:clamp(2.5rem,11vw,4rem)}.hero p{font-size:17px}.hero-image{margin:0 -18px;height:275px}.calc-preview{padding:20px}.calc-preview .row{grid-template-columns:1fr;gap:0}.service-grid,.steps,.footer-grid{grid-template-columns:1fr}.service{min-height:0}.contact-card{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.article-head{background:var(--deep);color:white;padding:68px 0}.article-head .eyebrow{color:var(--sun)}.article-head h1{font-size:clamp(2.5rem,5vw,4.7rem)}.article-head p{color:#cbdce4;max-width:720px}.article-body{max-width:800px;padding:70px 0 100px}.article-body p,.article-body li{font-size:18px;line-height:1.7}.article-body h2{font-size:2rem;margin-top:42px}.article-body a{color:#0b6687}.article-list{display:grid;grid-template-columns:1fr;gap:18px}.article-list article{border:1px solid var(--line);padding:30px;border-radius:12px}.article-list time{color:var(--muted);font-size:14px}.article-list h2{font-size:1.7rem;margin:10px 0}.article-list a{font-weight:800;color:#0b6687}

.simple-links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:14px}.simple-links a{text-decoration:none}@media(max-width:530px){.simple-links a:not(.button){display:none}.simple-links .button{padding:9px 12px;font-size:13px;min-height:38px}}

.calc-preview .row{grid-template-columns:1fr}.calc-preview .row>div{min-width:0}.calc-preview .row small{display:block;margin:0 0 16px;color:#526e7b;line-height:1.5;font-size:13px}.calc-preview .object-address-wrap{margin-bottom:20px}.calc-preview .object-address-wrap .btn{background:#e7eee5;color:#17312d;border:0;border-radius:7px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer}.calc-preview .object-address-wrap .btn:focus-visible{outline:3px solid #79b5bd;outline-offset:2px}

.calc-preview .roof-directions{border:0;padding:0;margin:0}.calc-preview .roof-directions legend{font-size:14px;font-weight:700;margin-bottom:8px}.calc-preview .direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.calc-preview .direction-choice{display:flex;align-items:center;gap:8px;padding:6px 0;margin:0;min-height:32px;font-size:14px;font-weight:500;cursor:pointer}.calc-preview .direction-choice input{width:16px;height:16px;min-height:16px;flex:0 0 16px;padding:0;margin:0;accent-color:#195273}

.reviews{background:var(--paper);border-block:1px solid var(--line)}.reviews h2{max-width:650px}.reviews-link{font-size:14px;font-weight:700;color:var(--blue);text-underline-offset:4px;white-space:nowrap}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;min-width:0}.review-source{font-size:13px;color:var(--muted);font-weight:600}.review-card blockquote{margin:20px 0 24px;flex:1}.review-card blockquote p{font-size:18px;line-height:1.6;margin:0;color:var(--ink)}.review-card time{font-size:13px;color:var(--muted)}.reviews-note{font-size:13px;color:var(--muted);margin:20px 0 0}.reviews-note a{text-underline-offset:3px}@media(max-width:760px){.review-grid{grid-template-columns:1fr;gap:14px}.review-card{padding:23px}.reviews-link{display:inline-block;white-space:normal;margin-top:6px}}

.review-author{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700}.review-author img{width:40px;height:40px;border-radius:50%;object-fit:cover}.review-author a{color:var(--ink);text-underline-offset:3px}.review-stars{color:#8c6500;letter-spacing:2px;margin-top:16px;font-size:19px}.review-original{font-size:14px;margin-top:12px;color:var(--blue);text-underline-offset:3px}.google-maps-attribution{font-family:Roboto,Arial,sans-serif;font-style:normal;font-weight:400;font-size:14px;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}
