:root{color-scheme:light;--navy: #10457d;--navy-2: #0b315b;--lime: #cbe85f;--lime-2: #dff48a;--grey: #a6a6a6;--charcoal: #182331;--muted: #647081;--paper: #f7f9f4;--white: #ffffff;--line: #dce3df;--clay: #a85d3d;--shadow: 0 22px 60px rgba(12, 31, 54, .14);font-family:Manrope,Trebuchet MS,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--charcoal)}body:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;content:"";background:linear-gradient(135deg,rgba(16,69,125,.06) 0 1px,transparent 1px 100%),linear-gradient(90deg,rgba(166,166,166,.08),transparent 38%);background-size:28px 28px,auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;min-height:82px;padding:14px max(22px,calc((100vw - 1160px)/2));border-bottom:1px solid rgba(16,69,125,.12);background:#f7f9f4ed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center}.brand img,.site-footer img,.drawer-top img{height:auto}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:6px}.nav-link{display:inline-flex;align-items:center;gap:5px;padding:12px 13px;border-radius:7px;color:var(--navy-2);font-size:.94rem;font-weight:750}.nav-link:hover,.nav-link:focus-visible{background:#edf4ec;outline:none}.nav-group{position:relative}.nav-popover{position:absolute;top:calc(100% + 8px);left:50%;width:400px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.nav-popover.compact{width:315px}.nav-group:hover .nav-popover,.nav-group:focus-within .nav-popover{opacity:1;visibility:visible;transform:translate(-50%)}.popover-link{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:11px;border-radius:7px;color:var(--charcoal)}.popover-link svg{color:var(--navy)}.popover-link:hover,.popover-link:focus-visible{background:var(--paper);outline:none}.popover-link strong,.popover-link small{display:block}.popover-link small{margin-top:2px;color:var(--muted);line-height:1.35}.header-actions{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 18px;border:0;border-radius:7px;font-weight:800;line-height:1;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--navy);color:var(--white);box-shadow:0 14px 34px #10457d3b}.button-secondary{border:1px solid rgba(16,69,125,.22);background:var(--white);color:var(--navy)}.button-accent{background:var(--lime);color:var(--navy-2);box-shadow:0 12px 28px #7e982038}.button.full{width:100%}.menu-button,.icon-button{display:none;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--navy);cursor:pointer}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;background:#0b315b47}.drawer-panel{width:min(420px,100%);height:100%;margin-left:auto;padding:22px;overflow-y:auto;background:var(--paper);box-shadow:var(--shadow)}.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.drawer-nav{display:grid;gap:8px}.drawer-nav a{padding:13px 0;border-bottom:1px solid var(--line);color:var(--navy-2);font-weight:800}.drawer-nav .button{margin-top:14px;border-bottom:0}.drawer-label{margin-top:12px;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-section{position:relative;overflow:hidden;padding:68px 0 74px;background:linear-gradient(122deg,#10457df5,#10457deb 47%,#f7f9f400 47.2%),var(--paper)}.hero-section:after,.simple-hero:after,.detail-hero:after{position:absolute;right:-80px;bottom:-120px;width:420px;height:260px;content:"";background:linear-gradient(135deg,transparent 45%,rgba(203,232,95,.38) 45% 52%,transparent 52%),linear-gradient(45deg,transparent 48%,rgba(166,166,166,.28) 48% 54%,transparent 54%);transform:rotate(-4deg)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:44px;align-items:center;width:min(1180px,calc(100% - 40px));margin:0 auto}.hero-copy{color:var(--white)}.eyebrow{margin:0 0 12px;color:var(--lime);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hero-copy h1,.simple-hero h1,.detail-hero h1,.contact-hero h1{max-width:760px;margin:0;font-family:"Source Serif 4",Georgia,serif;font-size:clamp(3rem,5vw,5.9rem);line-height:.94;letter-spacing:0}.hero-copy p,.simple-hero p,.detail-hero p,.contact-hero p{max-width:680px;margin:22px 0 0;font-size:1.12rem;line-height:1.75}.hero-copy p{color:#ffffffdb}.hero-copy .hero-subtitle{max-width:660px;margin-top:18px;color:var(--white);font-size:1.42rem;font-weight:900;line-height:1.28}.hero-copy .hero-subtitle+p{margin-top:14px}.hero-points{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}.hero-points span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:7px;background:#ffffff14;color:inherit;font-size:.91rem;font-weight:800}.detail-hero .hero-points span{border-color:#10457d24;background:#eef5eb}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.cta-row.compact{margin:0}.hero-side{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;align-items:stretch}.hero-visual{position:relative;min-height:560px;overflow:hidden;border-radius:8px;box-shadow:var(--shadow);background:var(--navy)}.hero-visual img{width:100%;height:100%;object-fit:cover}.inspection-note{position:absolute;right:18px;bottom:18px;display:grid;grid-template-columns:30px 1fr;gap:10px;width:min(260px,calc(100% - 36px));padding:14px;border-radius:8px;background:#ffffffeb;color:var(--charcoal);box-shadow:0 16px 38px #0a162433}.inspection-note svg{color:var(--navy)}.inspection-note strong,.inspection-note span{display:block}.inspection-note span{color:var(--muted);font-size:.9rem;line-height:1.35}.inspection-note strong{color:var(--navy-2)}.lead-form{display:grid;gap:13px;align-content:start;padding:22px;border:1px solid rgba(16,69,125,.12);border-radius:8px;background:#fffffff2;box-shadow:var(--shadow)}.lead-form.dark{border-color:#ffffff2e;background:#ffffff14;box-shadow:none}.lead-form h3{margin:0;color:var(--navy-2);font-size:1.35rem;line-height:1.2}.lead-form.dark h3,.lead-form.dark label,.lead-form.dark .eyebrow{color:var(--white)}.lead-form label{display:grid;gap:7px;color:var(--charcoal);font-size:.86rem;font-weight:850}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #cfd8d3;border-radius:6px;background:var(--white);color:var(--charcoal);outline:none}.lead-form input,.lead-form select{min-height:45px;padding:0 12px}.lead-form textarea{resize:vertical;min-height:92px;padding:12px}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #cbe85f6b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-status{margin:0;color:var(--navy);font-size:.9rem;font-weight:800}.lead-form.dark .form-status{color:var(--lime)}.intro-band{padding:48px 0;background:var(--white)}.intro-layout,.roof-layout,.about-grid,.split-panel,.contact-block-grid,.bottom-cta-inner,.contact-grid,.simple-hero-grid,.detail-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px;align-items:center}.intro-layout h2,.roof-layout h2,.about-grid h2,.bottom-cta h2,.contact-block h2,.split-panel h2,.section-heading h2,.prose-block h2{margin:0;color:var(--navy-2);font-family:"Source Serif 4",Georgia,serif;font-size:clamp(2rem,3vw,3.3rem);line-height:1.02;letter-spacing:0}.intro-layout p,.roof-layout p,.about-grid p,.bottom-cta p,.contact-block p,.section-heading p,.prose-block p,.split-panel p{margin:18px 0 0;color:var(--muted);font-size:1rem;line-height:1.8}.section{padding:86px 0}.section.muted,.services-section{background:#edf3ee}.section-heading{max-width:760px;margin-bottom:36px}.section-heading.center{margin-right:auto;margin-left:auto;text-align:center}.reason-grid,.service-grid,.solution-grid,.process-grid{display:grid;gap:18px}.reason-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reason-card,.solution-card,.process-step{border:1px solid rgba(16,69,125,.12);border-radius:8px;background:var(--white)}.reason-card{min-height:234px;padding:24px}.reason-card svg,.solution-card svg{color:var(--navy)}.reason-card h3{margin:18px 0 0;color:var(--navy-2);font-size:1.1rem}.reason-card p{margin:10px 0 0;color:var(--muted);line-height:1.65}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{display:grid;grid-template-columns:48px 1fr 24px;gap:16px;min-height:220px;padding:22px;border:1px solid rgba(16,69,125,.12);border-radius:8px;background:var(--white);color:var(--charcoal);box-shadow:0 0 #0000;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.service-card.compact{min-height:180px}.service-card:hover,.service-card:focus-visible{border-color:#10457d47;box-shadow:0 18px 42px #10457d1c;transform:translateY(-3px);outline:none}.service-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#edf5e8;color:var(--navy)}.service-content{display:grid;gap:7px}.service-content small{color:var(--clay);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.service-content strong{color:var(--navy-2);font-size:1.22rem}.service-content span{color:var(--muted);line-height:1.65}.roof-band{padding:86px 0;background:var(--navy);color:var(--white)}.roof-band h2,.roof-band p{color:var(--white)}.roof-cards{display:grid;grid-template-columns:1fr;gap:16px}.process-section{background:var(--paper)}.method-line{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.method-line div{display:grid;gap:12px;min-height:128px;padding:18px;border-top:5px solid var(--lime);border-radius:8px;background:var(--white)}.method-line span,.process-step span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--white);font-weight:900}.method-line strong{color:var(--navy-2);font-size:1.05rem}.about-preview{background:var(--white)}.about-mark{position:relative;min-height:360px;overflow:hidden;border-radius:8px;background:linear-gradient(140deg,transparent 46%,var(--lime) 46% 51%,transparent 51%),linear-gradient(140deg,transparent 34%,rgba(255,255,255,.18) 34% 38%,transparent 38%),var(--navy)}.about-mark span{position:absolute;left:14%;right:14%;bottom:20%;height:32%;border:12px solid rgba(255,255,255,.75);border-top:0}.about-mark:before{position:absolute;left:9%;right:9%;top:23%;height:46%;content:"";border-top:14px solid var(--grey);border-left:14px solid var(--grey);transform:skewY(-28deg)}.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:var(--navy);font-weight:900}.simple-hero,.detail-hero,.contact-hero{position:relative;overflow:hidden;padding:76px 0;background:var(--white)}.simple-hero-grid,.detail-hero-grid,.contact-grid{position:relative;z-index:1}.simple-hero h1,.detail-hero h1,.contact-hero h1{color:var(--navy-2)}.simple-hero p,.detail-hero p,.contact-hero p{color:var(--muted)}.hero-meter{display:grid;gap:10px;padding:26px;border-radius:8px;background:var(--navy);color:var(--white)}.hero-meter span,.hero-meter strong{display:block;min-height:56px;padding:16px;border-radius:7px}.hero-meter span{background:#ffffff1a}.hero-meter strong{background:var(--lime);color:var(--navy-2);font-size:1.6rem}.two-column{display:grid;grid-template-columns:280px 1fr;gap:58px;align-items:start}.sticky-label{position:sticky;top:112px;display:grid;gap:16px;padding:22px;border-left:5px solid var(--lime);border-radius:8px;background:var(--white);color:var(--navy);font-weight:900;box-shadow:0 12px 36px #10457d14}.prose-block{max-width:820px}.solution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-card{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;min-height:126px;padding:22px}.solution-card p{margin:0;color:var(--charcoal);line-height:1.65}.split-panel{align-items:start;padding:36px;border-radius:8px;background:var(--navy);color:var(--white)}.split-panel h2,.split-panel p{color:var(--white)}.check-list{display:grid;gap:13px}.check-list p{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:0;color:#ffffffdb}.check-list svg{color:var(--lime)}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.process-step{min-height:170px;padding:20px}.process-step p{margin:18px 0 0;color:var(--muted);line-height:1.65}.faq-grid{display:grid;grid-template-columns:.74fr 1.26fr;gap:44px;align-items:start}.faq-list{display:grid;gap:10px}details{border:1px solid rgba(16,69,125,.14);border-radius:8px;background:var(--white)}summary{cursor:pointer;padding:20px 22px;color:var(--navy-2);font-weight:900}details p{margin:0;padding:0 22px 22px;color:var(--muted);line-height:1.7}.contact-block,.bottom-cta{padding:76px 0;background:var(--navy);color:var(--white)}.contact-block h2,.contact-block p,.bottom-cta h2,.bottom-cta p{color:var(--white)}.bottom-cta{border-top:1px solid rgba(255,255,255,.12)}.contact-methods{display:grid;gap:12px;margin-top:28px}.contact-methods div{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid rgba(16,69,125,.12);border-radius:8px;background:var(--white)}.contact-methods svg{color:var(--navy)}.contact-methods strong,.contact-methods span{display:block}.contact-methods span{color:var(--muted);line-height:1.45}.contact-methods strong{color:var(--navy-2)}.site-footer{padding:58px 0 28px;background:#0b2036;color:#ffffffc7}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:38px}.site-footer h2{margin:0 0 14px;color:var(--white);font-size:1rem}.site-footer p{max-width:330px;line-height:1.7}.site-footer a,.site-footer span{display:block;margin:9px 0}.site-footer a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:18px;margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);font-size:.86rem}@media(max-width:1120px){.desktop-nav{display:none}.site-header{grid-template-columns:auto 1fr auto}.menu-button{display:grid}.mobile-drawer.is-open{display:block}.icon-button{display:grid}.hero-section{background:var(--navy)}.hero-grid,.hero-side,.intro-layout,.roof-layout,.about-grid,.split-panel,.contact-block-grid,.bottom-cta-inner,.contact-grid,.simple-hero-grid,.detail-hero-grid{grid-template-columns:1fr}.hero-side{gap:16px}.hero-visual{min-height:420px}.reason-grid,.service-grid,.service-grid.overview,.solution-grid,.process-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-line{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.container{width:min(100% - 28px,1160px)}.site-header{min-height:74px;padding:12px 14px}.brand img{width:168px}.header-actions .button{display:none}.hero-section,.simple-hero,.detail-hero,.contact-hero{padding:46px 0}.hero-copy h1,.simple-hero h1,.detail-hero h1,.contact-hero h1{font-size:3.05rem}.hero-copy p,.simple-hero p,.detail-hero p,.contact-hero p{font-size:1rem}.hero-grid{width:min(100% - 28px,1180px);gap:30px}.hero-visual{min-height:310px}.inspection-note{right:12px;bottom:12px;width:calc(100% - 24px)}.form-grid,.reason-grid,.service-grid,.service-grid.overview,.solution-grid,.process-grid,.footer-grid,.faq-grid,.two-column,.method-line{grid-template-columns:1fr}.section{padding:58px 0}.service-card{grid-template-columns:44px 1fr;min-height:auto}.service-card>svg{display:none}.sticky-label{position:static}.split-panel{padding:24px}.cta-row,.cta-row.compact,.cta-row .button{width:100%}.footer-bottom{flex-direction:column}}
