:root{--ink:#072a5c;--blue:#087fbe;--sky:#41c5e6;--orange:#ff9d18;--paper:#f7f8f7;--line:#d8e2e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.grain{position:fixed;inset:0;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");z-index:10}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.nav{height:104px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand img{width:133px;display:block}.nav nav{display:flex;gap:30px;margin-left:90px}.nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.nav-cta,.button{border:0;border-radius:999px;padding:15px 20px;background:none;color:inherit;font:600 14px "DM Sans";cursor:pointer}.nav-cta{background:#fff;box-shadow:0 6px 28px #133d5f13}.nav-cta span,.button span{margin-left:8px;font-size:18px}.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:35px;padding-bottom:66px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:700;color:#3288ad;margin:0 0 18px}.eyebrow i{display:inline-block;width:28px;border-top:2px solid var(--orange);vertical-align:middle;margin-right:8px}.hero h1,h2{font:800 clamp(42px,5.3vw,73px)/1.06 Manrope,sans-serif;letter-spacing:-3px;margin:0;color:var(--ink)}em{font-style:normal;color:#1d8fbe}.lead{font-size:17px;line-height:1.7;color:#4b667b;max-width:500px;margin:28px 0}.hero-actions{display:flex;gap:12px;align-items:center}.button.primary{background:linear-gradient(135deg,#ff9e18,#f17811);color:white;box-shadow:0 14px 26px #f79a273d}.button.ghost{background:#edf2f2}.trust{display:flex;gap:26px;margin-top:42px;font-size:12px;color:#5e7583}.trust span{display:grid;gap:4px}.trust b{font-size:17px;color:var(--ink)}.hero-visual{height:510px;border-radius:34px;overflow:hidden;position:relative;background:linear-gradient(145deg,#d9f6fc,#a6e1ed 55%,#5aafc5);box-shadow:inset 0 0 0 1px #fff8}.sun{position:absolute;width:210px;height:210px;background:#ffbf48;border-radius:50%;right:55px;top:50px;filter:blur(1px)}.pool{height:170px;position:absolute;bottom:0;width:115%;left:-8%;background:linear-gradient(#48c8e6,#0879ad);border-radius:54% 46% 0 0/30% 30% 0 0}.house{position:absolute;right:55px;bottom:128px;width:280px;height:205px;background:#f8faf7;box-shadow:-13px 14px 35px #0c577a31}.roof{position:absolute;top:-75px;left:-35px;border-left:175px solid transparent;border-right:175px solid transparent;border-bottom:76px solid #174f70}.window{position:absolute;background:#0c5378;border:8px solid #fff;bottom:26px}.large{width:95px;height:112px;right:24px}.small{width:68px;height:73px;left:35px}.water-line{position:absolute;border:2px solid #b9f4ff;border-radius:50%;width:150%;height:30px;bottom:74px;left:-25%}.two{bottom:49px;opacity:.7}.glass-stat,.float-badge{position:absolute;background:#ffffffba;backdrop-filter:blur(16px);border:1px solid #fff;border-radius:18px;box-shadow:0 16px 36px #15506e2b}.glass-stat{left:26px;bottom:29px;padding:17px;width:198px}.glass-stat span,.glass-stat p{font-size:11px;color:#617b87;margin:0}.glass-stat strong{display:block;font:700 32px Manrope}.glass-stat small{font-size:14px;color:#1685b5}.progress{height:5px;background:#dce8e9;border-radius:5px;margin:8px 0}.progress b{display:block;background:#ff9d18;border-radius:5px;width:78%;height:100%}.float-badge{right:18px;top:24px;padding:12px 15px;display:flex;gap:9px;font-size:16px;color:#ff9414}.float-badge span{font-size:10px;color:#537080}.float-badge b{color:var(--ink)}.services{padding:108px 0}.section-intro{display:grid;grid-template-columns:1.15fr 1.3fr .85fr;align-items:end;gap:30px;margin-bottom:45px}.section-intro .eyebrow{align-self:start}.section-intro h2,.method h2,.fire-detail h2,.cta h2{font-size:40px;letter-spacing:-2px}.section-intro>p:last-child{line-height:1.6;color:#5e7583;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{height:350px;padding:27px;border-radius:24px;position:relative;overflow:hidden;display:flex;flex-direction:column;isolation:isolate}.service-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.8}.pool-card{color:white;background:#0694be}.pool-card:before{background:radial-gradient(circle at 70% 110%,#064d8d 0 22%,transparent 23%),radial-gradient(ellipse at 50% 105%,#77e2ec 0 32%,transparent 33%)}.build-card{background:#e9ece6}.build-card:before{background:linear-gradient(135deg,transparent 45%,#ccd0c8 45% 47%,transparent 47%),linear-gradient(35deg,transparent 55%,#d5d8d0 55% 57%,transparent 57%)}.fire-card{color:white;background:#0a356e}.fire-card:before{background:radial-gradient(circle at 106% 104%,#f79b1a 0 21%,transparent 22%),linear-gradient(120deg,transparent 48%,#124a87 48%)}.number{font-size:12px;opacity:.8}.service-icon{font-size:63px;line-height:1;margin-top:auto;margin-bottom:14px;font-weight:300}.service-card h3{font:700 22px Manrope;margin:0}.service-card p{font-size:13px;line-height:1.55;max-width:280px;margin:10px 0 17px;opacity:.82}.service-card a{font-size:12px;font-weight:700;text-decoration:none;color:inherit}.service-card a b{font-size:17px;margin-left:7px}.project-showcase{background:var(--ink);color:white;overflow:hidden}.showcase-inner{min-height:550px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:80px}.project-showcase h2{color:white;font-size:47px}.project-showcase h2 em{color:#6fd9ed}.project-showcase p:not(.eyebrow){color:#b7d1e0;line-height:1.65;max-width:440px}.eyebrow.light{color:#6ecde0}.button.white{background:white;color:var(--ink);margin-top:15px}.phone{background:#f8faf9;color:var(--ink);height:460px;border:8px solid #294d78;border-radius:35px 35px 0 0;padding:34px 24px;box-shadow:0 -15px 50px #020f2b73}.phone-bar{width:80px;border-top:5px solid #dfe4e5;margin:-18px auto 23px;border-radius:4px}.phone>p{font-size:12px;color:#648093;margin:0}.phone>p span{float:right}.phone h4{font:700 24px Manrope;margin:5px 0 20px}.phone-ring{width:148px;height:148px;border:12px solid #e2f3ef;border-top-color:#f39a1b;border-right-color:#f39a1b;border-radius:50%;margin:auto;display:grid;place-content:center;text-align:center}.phone-ring b{font:800 30px Manrope}.phone-ring small{font-size:10px;color:#68808d}.phone-row{background:#eaf4f5;border-radius:12px;padding:12px;font-size:10px;margin:20px 0}.phone-row b{display:block;font-size:12px;margin-top:4px}.mini-tabs{display:flex;gap:20px;font-size:11px;color:#6d8291}.mini-tabs b{border-bottom:2px solid #f59d1c;padding-bottom:6px}.method{padding:120px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.method ol{list-style:none;margin:0;padding:0}.method li{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:25px 0;border-top:1px solid var(--line)}.method li:last-child{border-bottom:1px solid var(--line)}.method li>b{font:700 13px Manrope;color:#f09617}.method h3{font:700 20px Manrope;margin:0}.method li p{font-size:13px;line-height:1.6;color:#607887;margin:7px 0}.fire-detail{padding:80px;display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;background:#e5f3f4;border-radius:30px;margin-bottom:120px;overflow:hidden}.fire-tag{border-radius:25px;min-height:355px;background:radial-gradient(circle at 69% 30%,#ffae27 0 15%,transparent 15.3%),linear-gradient(140deg,#0b6096,#06346c);display:grid;place-items:end start;padding:27px;color:white;font:700 16px Manrope}.detail-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0;font-size:13px;font-weight:600}.detail-points span{color:#1e7798}.cta{border-top:1px solid var(--line);padding:75px 0 90px;display:flex;align-items:center;justify-content:space-between}.button.dark{background:var(--ink);color:white}footer{border-top:1px solid var(--line);padding:30px 0 45px;display:flex;align-items:center;gap:22px;font-size:12px;color:#719}.footer{}footer img{width:90px}footer p{color:#608092;flex:1}footer span{color:#74909e}.contact-orb{position:fixed;right:22px;bottom:22px;border:0;background:linear-gradient(145deg,#ff9f19,#f27f12);color:white;border-radius:50%;width:75px;height:75px;z-index:20;box-shadow:0 13px 30px #e8851e66;display:grid;place-content:center;cursor:pointer}.contact-orb span{font-size:20px}.contact-orb small{font:600 11px "DM Sans"}.contact-panel{position:fixed;right:20px;bottom:20px;width:min(390px,calc(100% - 40px));padding:36px;background:#fffdfb;z-index:25;border-radius:24px;box-shadow:0 18px 80px #002a5b40;transform:translateY(calc(100% + 30px));opacity:0;transition:.35s;pointer-events:none}.contact-panel.open{transform:none;opacity:1;pointer-events:auto}.close{border:0;background:#eff4f3;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer;position:absolute;right:18px;top:18px}.contact-panel h2,.modal h2{font-size:35px}.contact-panel>p:not(.eyebrow){line-height:1.55;color:#5b7584;font-size:14px}.contact-panel>a{display:block;background:#f0f5f4;margin:10px 0;padding:14px;border-radius:12px;text-decoration:none;color:var(--ink);font-size:13px;font-weight:600}.wide{width:100%;margin-top:12px}.modal{position:fixed;inset:0;background:#00214780;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;z-index:30;opacity:0;pointer-events:none;transition:.25s}.modal.open{opacity:1;pointer-events:auto}.modal-card{background:#fff;border-radius:23px;width:min(510px,100%);padding:38px;position:relative}.modal h2{margin-bottom:25px}.modal form{display:grid;gap:12px}.modal label{font-size:12px;font-weight:700;color:#385a70}.modal input,.modal textarea,.modal select{width:100%;border:1px solid #dae4e4;border-radius:10px;padding:12px;margin-top:5px;font:14px "DM Sans";background:#fbfdfd}.modal textarea{height:83px;resize:vertical}.form-note{font-size:11px;color:#78909c;text-align:center}.portal{position:fixed;inset:0;background:#f5f8f8;z-index:50;transform:translateY(100%);transition:.45s;overflow:auto}.portal.open{transform:none}.portal>header{height:68px;background:white;border-bottom:1px solid #dfe8e8;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.portal-brand{font:700 15px Manrope;color:#174978}.portal-brand b{background:#f39b18;color:white;padding:6px;border-radius:7px;margin-right:6px}.exit-portal{border:0;background:none;color:#507086;font:600 13px "DM Sans";cursor:pointer}.portal-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 68px)}.portal aside{padding:28px 17px;background:#fff;border-right:1px solid #e1eaea}.user-chip{background:#eaf5f7;border-radius:12px;padding:11px;color:#1683a9;font:700 14px Manrope;margin-bottom:25px}.user-chip span{color:#426577;font:600 11px "DM Sans";margin-left:7px}.portal aside a{display:block;padding:11px 12px;border-radius:9px;color:#5a7483;font-size:13px;margin:4px 0}.portal aside a.active{background:#e4f4f7;color:#087fa7;font-weight:700}.portal aside a b{float:right;border-radius:9px;background:#f29a18;color:white;padding:1px 6px;font-size:10px}.portal aside hr{border:0;border-top:1px solid #e3ebec;margin:25px 0}.portal main{padding:46px;max-width:1100px}.portal-title{display:flex;justify-content:space-between;align-items:center}.portal-title p{margin:0;color:#5a8ba1;font-size:12px}.portal-title h2{font-size:35px;margin:4px 0}.portal-title span{font-size:12px;color:#698190}.small{padding:11px 16px;font-size:12px}.health{margin-top:31px;border-radius:17px;background:linear-gradient(110deg,#073064,#0d6392);color:white;padding:24px;display:grid;grid-template-columns:1fr 145px 1fr;gap:30px;align-items:center}.health>div>span{font-size:12px;color:#a6d5e4}.health>div>b{display:block;font:700 19px Manrope;margin-top:5px}.health i{display:inline-block;width:8px;height:8px;background:#65e2a0;border-radius:50%;margin-left:4px}.gauge{border-left:1px solid #ffffff38;border-right:1px solid #ffffff38;text-align:center}.gauge strong{display:block;font:800 31px Manrope;color:#fff}.gauge small{font-size:10px;color:#a9cddd}.health ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:11px}.health li b{float:right;color:#72e0b0}.portal-grid{margin-top:22px;display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.portal-grid article{background:white;border:1px solid #e1ebeb;border-radius:17px;padding:23px}.portal-grid h3{margin:0 0 16px;font:700 16px Manrope}.timeline>div{display:grid;grid-template-columns:17px 1fr auto;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #edf1f1;font-size:12px;font-weight:600}.timeline i{width:10px;height:10px;border:2px solid #f39a18;border-radius:50%}.timeline i.done{background:#f39a18}.timeline small{font-size:10px;color:#76909b}.messages h3 a{float:right;color:#1681a7;font:600 11px "DM Sans"}.message{border-radius:10px;background:#eaf7f8;padding:12px;margin:9px 0}.message.muted{background:#f2f4f4}.message b{font-size:11px}.message p{font-size:12px;margin:5px 0}.message small{font-size:10px;color:#718b96}@media(max-width:760px){.wrap{width:min(100% - 32px,1180px)}.nav{height:80px}.brand img{width:92px}.nav nav{display:none}.nav-cta{padding:10px 13px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:44px}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero-visual{height:390px}.house{transform:scale(.78);transform-origin:bottom right}.trust{gap:14px}.section-intro{display:block}.section-intro h2{font-size:37px;margin:12px 0}.service-grid{grid-template-columns:1fr}.service-card{height:270px}.showcase-inner{padding:70px 0 0;grid-template-columns:1fr;gap:34px}.project-showcase h2{font-size:39px}.phone{height:390px;margin:0 12px}.method{grid-template-columns:1fr;gap:30px;padding:80px 0}.fire-detail{grid-template-columns:1fr;padding:18px;margin-bottom:70px;gap:30px}.fire-tag{min-height:170px}.fire-detail>div:last-child{padding:0 12px 25px}.detail-points{grid-template-columns:1fr}.cta{display:block;padding:55px 0}.cta .button{margin-top:25px}.cta h2{font-size:36px}footer{display:block}footer img{display:block;margin-bottom:10px}footer span{font-size:10px}.portal-shell{grid-template-columns:1fr}.portal aside{display:none}.portal main{padding:25px 16px}.portal>header{padding:0 16px}.portal-title{align-items:start}.portal-title h2{font-size:28px}.portal-title .button{font-size:0;padding:14px}.portal-title .button:after{content:'+';font-size:16px}.health{grid-template-columns:1fr;padding:18px;gap:13px}.gauge{border:0;text-align:left}.health ul{display:none}.portal-grid{grid-template-columns:1fr}.timeline>div{grid-template-columns:17px 1fr}.timeline small{grid-column:2}.contact-orb{width:62px;height:62px;right:15px;bottom:15px}}
