@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#53a54a;--green-d:#287a42;--blue:#0f4f8d;--navy:#133449;--teal:#15718c;--pale:#eef8f7;--muted:#566a73;--white:#fff;--radius:18px;--shadow:0 16px 42px rgba(12,59,83,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#193845;background:#fff;font:16px/1.75 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:'Manrope','DM Sans',sans-serif;line-height:1.21;letter-spacing:-.035em;margin:0 0 18px;color:#103954}h1{font-weight:800}h2{font-size:clamp(29px,3.5vw,44px);font-weight:800}h3{font-size:21px}p{margin:0 0 17px}a{color:inherit}img{max-width:100%}button,input,select,textarea{font:inherit}.container{width:min(1170px,calc(100% - 48px));margin-inline:auto}.topline{height:6px;background:linear-gradient(90deg,#65ad50 0 32%,#ffffff 32% 37%,#1b5696 37% 73%,#fff 73% 76%,#65ad50 76%)}.site-header{background:#fff;position:relative;z-index:60;box-shadow:0 5px 24px rgba(8,48,83,.06)}.header-inner{min-height:122px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{text-decoration:none;display:flex;flex-direction:column;gap:0;line-height:1.08;white-space:nowrap}.wordmark-name{font:800 clamp(28px,4.2vw,53px)/1.15 'Manrope',Arial,sans-serif;letter-spacing:-.085em}.wordmark-llc{letter-spacing:-.045em;font-size:.39em;vertical-align:baseline;padding-left:9px}.green{color:#59a846}.blue{color:#175396}.license{font:700 clamp(12px,1.3vw,18px)/1.4 'DM Sans',sans-serif;color:#536068;margin-top:6px;letter-spacing:.005em}.header-right{display:flex;align-items:center;gap:18px}.call-hero{display:flex;flex-direction:column;text-decoration:none;text-align:right;line-height:1.3;white-space:nowrap}.call-small{color:var(--green-d);font-size:11px;font-weight:800;letter-spacing:.15em}.call-phone{color:var(--blue);font-size:clamp(21px,2.4vw,33px);font-weight:800;letter-spacing:-.03em}.call-hero:hover .call-phone{color:var(--green-d)}.nav-wrap{border-top:1px solid #edf2f4;background:#fafdfe}.site-nav{display:flex;justify-content:center;align-items:center;gap:0;min-height:56px}.site-nav>a{padding:13px 25px;text-decoration:none;color:#23495a;font-size:13px;font-weight:800;transition:color .2s,background .2s}.site-nav>a:hover,.site-nav>a.current{color:var(--green-d);background:#eaf5ed}.site-nav>a.nav-mobile-call{display:none}.nav-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:650px;display:flex;align-items:center;background:#145b86}.hero-image-wrap,.banner-img{position:absolute;inset:0;overflow:hidden}.hero-image,.banner-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,40,62,.91),rgba(7,45,67,.8) 40%,rgba(6,50,76,.15) 85%)}.hero-content{position:relative;z-index:2;padding:74px 0 78px}.hero-panel{width:min(670px,100%);color:#fff}.hero-panel h1{font-size:clamp(33px,4vw,54px);line-height:1.16;color:#fff;margin:17px 0 18px;letter-spacing:-.042em;text-wrap:balance}.hero-panel h1 em{font-style:normal;color:#94da88}.eyebrow{display:block;font-weight:800;font-size:12px;color:var(--green-d);letter-spacing:.18em;text-transform:uppercase;margin-bottom:13px}.hero-panel .eyebrow{color:#bbf1a5}.hero-frank{color:#fff;font-size:19px;font-weight:800}.hero-rule{width:72px;height:4px;background:#76c869;margin:23px 0}.hero-panel h2{font-size:clamp(20px,2.4vw,30px);color:#fff;margin:0 0 6px}.hero-price{font-size:19px;font-weight:800;color:#b7ed9b}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{border:0;text-align:center;display:inline-flex;justify-content:center;align-items:center;gap:9px;text-decoration:none;font:800 14px/1.4 'DM Sans',sans-serif;padding:17px 24px;border-radius:9px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #06304b24}.button-green{background:#4ba849;color:#fff}.button-green:hover{background:#358b3d}.button-blue{background:#135c93;color:#fff}.button-blue:hover{background:#0b4a78}.button-white-soft{background:#fff;color:#185382}.button-white{color:#114f82;background:#fff}.button-outline{color:#fff;border:2px solid #ffffff80;background:transparent}.hero-bottom-accent{position:absolute;bottom:0;inset-inline:0;height:7px;background:linear-gradient(90deg,#61ac51 0 31%,#fff 31% 33%,#2580aa 33%)}.metrics{background:#f0f7f6;border-bottom:1px solid #e1eeee}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:31px 0}.metric-grid>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #d5e5e7;text-align:center}.metric-grid>div:last-child{border-right:0}.metric-grid strong{font:800 clamp(30px,4vw,48px)/1.05 'Manrope',sans-serif;color:#155f91;letter-spacing:-.05em}.metric-grid strong span{color:#54a64d}.metric-grid>div>span{font-weight:750;font-size:13px;color:#2c5866;margin-top:10px}.section{padding:82px 0}.section-heading{text-align:center;max-width:740px;margin:0 auto 35px}.section-heading p{color:var(--muted);font-size:16px}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.service-card{background:#fff;border:1px solid #dce9ed;box-shadow:0 10px 25px rgba(5,41,57,.05);border-radius:16px;padding:30px 24px;transition:transform .2s,border .2s}.service-card:hover{transform:translateY(-4px);border-color:#82c2af}.service-card h3{font-size:18px;margin:15px 0 12px;color:#155184}.service-card p{font-size:14px;color:#53646e;margin:0}.service-icon{height:50px;width:50px;display:grid;place-items:center;background:#e9f6ed;color:#237d4b;border-radius:13px;font-size:26px;font-weight:800}.center{text-align:center;margin-top:32px}.image-feature-section,.about-soft{background:#f3f9f9}.image-feature{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.feature-image{height:580px;overflow:hidden;border-radius:18px;box-shadow:var(--shadow)}.cover-image{width:100%;height:100%;object-fit:cover;display:block}.feature-copy p{color:#4b626b}.feature-copy h3{font-size:18px;color:#1b667c;margin:19px 0 8px}.feature-copy h2{font-size:clamp(29px,3vw,41px)}.text-arrow{display:inline-block;color:#1c8150;font-weight:800;text-decoration:none;border-bottom:2px solid #7fbe90;padding-bottom:5px;margin-top:15px}.text-arrow:hover{color:#095b83}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid>div{background:#f0f8f8;border-radius:14px;overflow:hidden}.gallery-grid img{height:240px}.gallery-grid span{display:block;padding:14px 18px;font-weight:750;font-size:13px;color:#1d596f}.original-gallery-note{text-align:center;max-width:720px;margin:44px auto 0;background:#f6fafb;border:1px solid #e2edf0;border-radius:17px;padding:28px}.original-gallery-note h3{margin-bottom:8px}.map-section{background:#f5faf9}.map-shell{overflow:hidden;border-radius:17px;border:1px solid #d4e7e7;box-shadow:var(--shadow);height:350px}.map-shell iframe{border:0;width:100%;height:100%}.photo-banner{height:430px;position:relative;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:#1d698b}.banner-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,41,68,.78),rgba(7,40,66,.44) 65%,rgba(7,40,66,.08))}.banner-inner{position:relative;z-index:2;color:white;padding-bottom:65px}.banner-inner h1{font-size:clamp(38px,4.8vw,62px);color:white;margin-bottom:15px}.banner-inner p{font-size:18px;max-width:650px;margin:0}.eyebrow-light{color:#adeda5}.photo-banner-contact .banner-image{object-position:center 60%}.content-slim{max-width:880px}.service-headline{font-size:clamp(28px,3.6vw,43px);margin-bottom:23px}.service-intro{font-weight:800;color:#225e72;margin:0 0 19px}.service-list{list-style:none;margin:0;padding:6px 25px;background:#f5faf9;border:1px solid #dceced;border-radius:18px}.service-row{display:flex;align-items:flex-start;gap:19px;padding:21px 6px;border-bottom:1px solid #dfecec}.service-row:last-child{border-bottom:0}.service-row strong{font-size:17px;color:#18485f;line-height:1.43}.service-row p{margin:7px 0 0;font-size:14px;color:#546975;line-height:1.6}.service-check{width:28px;min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e0f3e3;color:#2c8748;font-weight:900}.service-bottom-cta{margin-top:38px;text-align:center;background:#eaf6f0;padding:36px;border-radius:17px}.service-bottom-cta h2{font-size:30px}.service-bottom-cta p{font-weight:800;color:#2c8047}.about-intro,.about-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:68px;align-items:center}.about-columns{grid-template-columns:.9fr 1.1fr}.about-intro p,.about-columns p{color:#4b626b;font-size:16px}.about-intro figure,.about-columns figure{margin:0;max-width:100%}.about-intro figure img,.about-columns figure img{height:430px;border-radius:17px;box-shadow:var(--shadow)}figcaption{font-size:11px;color:#647681;margin-top:9px}.about-columns-reverse{grid-template-columns:1.1fr .9fr}.about-columns .button{margin-top:12px}.inline-link{color:#166596;font-weight:800}.why-section{background:#f4f9f7}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.why-grid article{background:#fff;border:1px solid #dce9e7;border-radius:16px;padding:30px 27px;box-shadow:0 11px 25px #15354b0a}.why-line{display:block;width:42px;height:5px;background:linear-gradient(90deg,#5cac59,#2c87ac);margin-bottom:20px;border-radius:10px}.why-grid h3{color:#185e80}.why-grid p{color:#596973;margin-bottom:0;font-size:14px}.contact-area{background:#f7fafb}.contact-layout{display:grid;grid-template-columns:.79fr 1.21fr;gap:55px;align-items:start}.contact-sidebar{padding-top:25px}.contact-sidebar h2{font-size:clamp(28px,3.2vw,40px)}.contact-sidebar>p{color:#536c78}.call-card{background:#0f5187;border-radius:16px;color:#fff;padding:26px;margin-top:30px;display:flex;flex-direction:column;gap:8px}.call-card span{font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#afe49e}.call-card a{color:#fff;text-decoration:none;font-size:clamp(23px,2.9vw,33px);font-weight:850;white-space:nowrap}.call-card small{color:#c3e1f4}.contact-info{margin:28px 0}.contact-info h3{color:#165f82;font-size:15px;margin:22px 0 5px}.contact-info p{color:#64757a;font-size:14px}.contact-card{background:#fff;border:1px solid #e2e9ec;border-radius:20px;padding:37px;box-shadow:0 16px 45px #164c6920;border-top:5px solid #56a953}.form-heading h2{font-size:28px}.form-heading p{color:#61747b;font-size:13px}.contact-card label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#184459;margin-top:19px}.contact-card input:not(.honeypot),.contact-card select,.contact-card textarea{border:1px solid #d4e3e8;background:#fafdfd;width:100%;min-height:52px;border-radius:9px;padding:12px 14px;color:#163d52;outline:none;font-size:15px;transition:border-color .2s,box-shadow .2s}.contact-card textarea{resize:vertical;min-height:145px}.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{border-color:#26884c;box-shadow:0 0 0 3px #58ad5b22}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-send{width:100%;margin-top:25px;font-size:15px}.required{color:#bd2d34}.form-result{display:none;margin:12px 0 0;padding:12px;border-radius:9px;font-size:14px}.form-result.show{display:block}.form-result.ok{color:#185a37;background:#eaf7eb}.form-result.error{background:#fff0ed;color:#a42b24}.form-fine{font-size:12px;color:#63757d;margin:14px 0 0}.form-fine a{color:#185c87}.honeypot{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;left:-9999px}.final-cta{background:linear-gradient(110deg,#124a70,#105c85 60%,#1b7069);color:#fff;padding:59px 0}.cta-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.final-cta h2{color:#fff;font-size:clamp(28px,3vw,39px);margin-bottom:9px}.final-cta p{color:#d7e7eb;margin:0}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:end;max-width:410px}.site-footer{background:#082e46;color:#c1d5de;padding:55px 0 20px}.foot-layout{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.foot-brand{font:800 32px 'Manrope',sans-serif;text-decoration:none;letter-spacing:-.08em;white-space:nowrap}.foot-layout p{font-size:13px;margin-top:15px;max-width:335px}.license-footer{font-weight:700}.foot-links{display:flex;flex-direction:column;gap:9px;font-size:13px}.foot-links a{color:#d6e5ea;text-decoration:none}.foot-contact{display:flex;flex-direction:column;gap:7px}.foot-contact strong{color:#fff}.foot-contact a{color:#a9e1a2;font-weight:800;text-decoration:none;font-size:23px}.foot-contact span{font-size:13px}.foot-bottom{border-top:1px solid #ffffff22;margin-top:40px;padding-top:19px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#a6c4cf}.mobile-call-float{display:none}@media(max-width:990px){.service-cards{grid-template-columns:repeat(2,1fr)}.image-feature{gap:32px}.image-feature .feature-image{height:520px}.about-intro,.about-columns{gap:32px}.cta-grid{flex-direction:column;text-align:center}.cta-actions{justify-content:center}}@media(max-width:700px){.container{width:min(100% - 34px,1170px)}.header-inner{min-height:97px;gap:8px}.wordmark-name{font-size:clamp(26px,6.4vw,40px)}.wordmark-llc{font-size:.4em;padding-left:4px}.license{font-size:11px}.call-small{font-size:9px}.call-phone{font-size:clamp(16px,4vw,22px)}.nav-toggle{display:flex;flex-direction:column;justify-content:space-around;border:0;background:#e8f5ef;border-radius:9px;width:42px;height:42px;padding:12px}.nav-toggle span{height:2px;width:100%;background:#1d6252}.site-nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}.site-nav.open{display:flex}.site-nav>a{padding:13px 18px;border-bottom:1px solid #ecf0f1}.site-nav>a.nav-mobile-call{display:block;color:#1a7b46}.nav-wrap{min-height:0}.hero{min-height:610px}.hero-overlay{background:linear-gradient(90deg,#092a44e8,#092a44b8 70%,#092a4480)}.hero-content{padding:50px 0}.hero-panel h1{font-size:clamp(30px,7.2vw,43px)}.metric-grid{gap:5px}.metric-grid strong{font-size:29px}.metric-grid>div>span{font-size:11px;padding:0 4px}.section{padding:55px 0}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid>div:last-child{grid-column:1/-1}.gallery-grid img{height:225px}.image-feature,.about-intro,.about-columns,.about-columns-reverse,.contact-layout{grid-template-columns:1fr}.feature-image{height:330px!important}.about-intro figure img,.about-columns figure img{height:290px}.about-columns>figure{order:2}.about-columns>div{order:1}.why-grid{grid-template-columns:1fr}.contact-sidebar{padding-top:0}.photo-banner{height:310px}.banner-inner{padding-bottom:40px}.banner-inner h1{font-size:38px}.banner-inner p{font-size:16px}.foot-layout{grid-template-columns:1fr 1fr}.foot-layout>div:first-child{grid-column:1/-1}.foot-bottom{flex-direction:column}.mobile-call-float{display:flex;position:fixed;bottom:10px;right:10px;left:10px;z-index:50;background:#2b9446;color:#fff;justify-content:center;align-items:center;border-radius:10px;padding:11px;text-decoration:none;font-weight:800;box-shadow:0 7px 30px #0b472e55}.site-footer{padding-bottom:78px}}@media(max-width:490px){.header-inner{flex-wrap:wrap;padding:14px 0 12px}.header-right{margin-left:auto;gap:10px}.call-small{display:none}.call-phone{font-size:16px}.wordmark-name{font-size:27px}.license{font-size:10px}.hero-panel h1{font-size:29px}.hero-buttons{flex-direction:column;align-items:stretch}.service-cards,.gallery-grid{grid-template-columns:1fr}.gallery-grid>div:last-child{grid-column:auto}.gallery-grid img{height:220px}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-grid strong{font-size:23px}.metric-grid>div>span{font-size:10px}.form-cols{grid-template-columns:1fr;gap:0}.contact-card{padding:25px 20px}.call-card a{font-size:24px}.service-list{padding:6px 16px}.service-row strong{font-size:15px}.foot-layout{grid-template-columns:1fr}.foot-layout>div:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* November 2026 revision: every photograph bright and daytime; larger navigation. */
.site-nav{min-height:72px;gap:7px}
.site-nav>a{font-size:16px;padding:18px 30px;line-height:1.3;white-space:nowrap}
.nav-wrap{background:#fcfefd}
.site-nav>a.current{border-bottom:4px solid #53a54a}
/* Home hero: dramatic swimming pool visible, with text on a light, crisp panel instead of a nearly black photo filter. */
.home-hero{min-height:650px;background:#edf9fc}
.home-hero .hero-image{object-position:center 52%;filter:none}
.home-hero .hero-overlay{background:linear-gradient(90deg,rgba(3,39,57,.06),transparent 65%)}
.home-hero .hero-content{display:flex;align-items:center;padding-top:60px;padding-bottom:60px}
.home-hero .hero-panel{max-width:565px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:34px 37px;box-shadow:0 15px 45px rgba(6,44,68,.23);color:#153f5a}
.home-hero .hero-panel h1{font-size:clamp(29px,3.4vw,47px);color:#0f4779;margin-top:12px}
.home-hero .hero-panel h1 em{color:#3b9149}
.home-hero .hero-panel .eyebrow{color:#2a864a;font-size:11px}
.home-hero .hero-frank{color:#1a597f;margin:0}
.home-hero .hero-rule{margin:16px 0}
.home-hero .hero-panel h2{color:#0e4779}
.home-hero .hero-price{color:#2b8c45}
/* Headers: allow visible sunny pool to dominate, maintaining accessible contrasting titles. */
.photo-banner{height:450px;background:#dff3fc}
.photo-banner .banner-image{object-position:center 55%;filter:none}
.photo-banner .banner-scrim{background:linear-gradient(90deg,rgba(0,37,63,.46) 0%,rgba(0,43,65,.20) 45%,rgba(0,54,81,0) 82%)}
.photo-banner .banner-inner h1,.photo-banner .banner-inner p{text-shadow:0 2px 9px rgba(0,29,48,.65)}
.photo-banner-contact .banner-image{object-position:center 55%}
.service-extra-photo{margin:40px auto 12px;overflow:hidden;border-radius:18px;box-shadow:0 14px 35px rgba(7,40,60,.13)}
.service-extra-photo img{display:block;width:100%;height:350px;object-fit:cover;object-position:center center}
@media(max-width:1050px){.site-nav>a{font-size:15px;padding:17px 19px}}
@media(max-width:700px){.site-nav{min-height:0;gap:0}.site-nav>a{font-size:17px;padding:15px 18px;white-space:normal}.site-nav>a.current{border-bottom:1px solid #e3e9ed;border-left:4px solid #53a54a}.home-hero{min-height:720px;align-items:flex-end}.home-hero .hero-image{object-position:64% center}.home-hero .hero-overlay{background:linear-gradient(to bottom,transparent,rgba(255,255,255,.04) 25%,rgba(0,29,49,.10))}.home-hero .hero-content{padding:260px 0 26px;align-items:flex-end}.home-hero .hero-panel{max-width:100%;padding:21px;border-radius:15px}.home-hero .hero-panel h1{font-size:clamp(27px,6vw,37px);line-height:1.18}.home-hero .hero-panel h2{font-size:20px}.photo-banner{height:320px}.service-extra-photo img{height:260px}}
@media(max-width:420px){.home-hero .hero-content{padding-top:230px}.home-hero .hero-panel{padding:18px}.home-hero .hero-panel .eyebrow{font-size:9px}}

/* Keep the original Before and After Pictures topic without repetitive or misleading stock imagery. */
.before-after-section{background:linear-gradient(108deg,#edf8f4 0%,#eaf5fa 100%);border-top:1px solid #dcebe8;border-bottom:1px solid #dcebe8;padding:43px 0}
.before-after-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.before-after-inner h2{font-size:clamp(25px,3vw,35px);margin:5px 0 9px}
.before-after-inner p{margin:0;color:#526b76;font-size:15px;line-height:1.6}
.before-after-inner .button{flex:none;text-align:center}
@media(max-width:700px){.before-after-inner{display:block}.before-after-inner .button{margin-top:22px}.before-after-section{padding:36px 0}}

/* Services page: show the genuine sunny pool photo clearly, while retaining legible text */
.photo-banner-services .banner-scrim{background:linear-gradient(90deg,rgba(7,41,68,.72),rgba(7,41,68,.35) 49%,rgba(7,41,68,0) 77%)}
.photo-banner-services .banner-image{object-position:center 58%}

/* Home hero refinement: typography sits directly on the pool photograph.
   No opaque card, border, rounded panel, or card shadow. The subtle
   full-width tonal wash preserves contrast without concealing the pool. */
.home-hero .hero-overlay{
  background:linear-gradient(90deg,rgba(238,249,249,.45) 0%,rgba(242,251,251,.22) 32%,rgba(240,251,251,0) 67%);
}
.home-hero .hero-panel{
  max-width:630px;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  color:#122a35;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.home-hero .hero-panel h1{
  color:#102b3b;
  text-shadow:0 1px 2px rgba(255,255,255,.70),0 0 13px rgba(255,255,255,.40);
}
.home-hero .hero-panel h1 em{color:#176e37}
.home-hero .hero-panel .eyebrow{color:#175d3b;text-shadow:0 1px 2px #ffffffa8}
.home-hero .hero-frank,
.home-hero .hero-panel h2{color:#112e3d;text-shadow:0 1px 2px #ffffffad}
.home-hero .hero-price{color:#165d32;text-shadow:0 1px 2px #ffffffb0}
@media(max-width:700px){
  .home-hero .hero-overlay{
    background:linear-gradient(to bottom,rgba(241,251,251,.05) 0%,rgba(244,252,251,.20) 32%,rgba(243,251,250,.66) 65%,rgba(245,252,250,.77) 100%);
  }
  .home-hero .hero-panel{max-width:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  .home-hero .hero-content{padding-bottom:26px}
}
@media(max-width:420px){
  .home-hero .hero-panel{padding:0}
}

/* Make the original four Home services prominent without adding unrelated photos. */
.service-cards{align-items:stretch;gap:20px}
.service-card{position:relative;padding:34px 27px 30px;border-top:4px solid #55a557;box-shadow:0 14px 32px rgba(13,67,76,.075)}
.service-card:nth-child(even){border-top-color:#1682ac}
.service-icon{height:64px;width:64px;background:linear-gradient(145deg,#e3f3e5,#f2faf6);border:1px solid #d5e8dc;border-radius:16px;color:#237f49}
.service-card:nth-child(even) .service-icon{background:#e4f3f9;color:#176592}
.service-icon svg{width:39px;height:39px;display:block}
.service-card h3{font-size:20px;line-height:1.24;margin:18px 0 13px}
.service-card p{font-size:15px;line-height:1.68;color:#45616d}
@media (max-width:700px){.service-cards{gap:16px}.service-card{padding:26px 24px}}


/* November 2026: centered bold Home hero over dramatic, genuinely photographed azure pool.
   The photo remains visible; no white panel or colored text competing with blue water. */
@media (min-width: 701px) {
 .home-hero { min-height: 760px; }
 .home-hero .hero-content {
   display:flex;align-items:center;justify-content:center;
   padding:58px 0 65px;text-align:center;
 }
 .home-hero .hero-panel {
   width:100%;max-width:1070px;margin-inline:auto;
   background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;
 }
 .home-hero .hero-panel h1 {
   color:#10191b;font-weight:900;font-size:clamp(38px,4.15vw,62px);
   line-height:1.13;letter-spacing:-.035em;margin:16px 0 15px;
   text-shadow:0 0 12px rgba(255,255,255,.95),0 2px 5px rgba(255,255,255,.9);
 }
 .home-hero .hero-panel h1 em {font-weight:900;color:#10191b}
 .home-hero .hero-panel .eyebrow {
   font-size:13px;color:#10191b;letter-spacing:.09em;font-weight:900;
   text-shadow:0 0 10px rgba(255,255,255,.9);
 }
 .home-hero .hero-frank {font-size:clamp(23px,2.1vw,30px);font-weight:900;color:#10191b;line-height:1.2;margin:10px 0 0}
 .home-hero .hero-panel h2 {font-size:clamp(25px,2.8vw,39px);font-weight:900;color:#10191b;margin:7px 0 5px}
 .home-hero .hero-price {font-size:clamp(22px,2.4vw,32px);font-weight:900;color:#10191b;margin:0}
 .home-hero .hero-rule {margin:15px auto 12px; width:105px;height:4px;background:#0b304a;box-shadow:0 1px 3px #fff9}
 .home-hero .hero-buttons {justify-content:center;margin-top:24px}
 .home-hero .hero-overlay {background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.27) 50%,rgba(255,255,255,.07))}
 .home-hero .hero-image {object-position:center 61%;filter:none}
}
.home-hero .hero-frank,.home-hero .hero-panel h2,.home-hero .hero-price {
 text-shadow:0 0 12px rgba(255,255,255,.95),0 2px 5px rgba(255,255,255,.9);
}
@media (max-width:700px) {
 .home-hero {min-height:760px}
 .home-hero .hero-image {object-position:58% center;filter:none}
 .home-hero .hero-content {display:flex;justify-content:center;align-items:end;text-align:center;padding:130px 0 24px}
 .home-hero .hero-panel {width:100%;background:transparent;border:0;box-shadow:none;padding:0}
 .home-hero .hero-panel h1 {color:#10191b;font-size:clamp(29px,7vw,42px);line-height:1.17;font-weight:900;text-shadow:0 0 12px #fff,0 1px 3px #fff}
 .home-hero .hero-panel h1 em {color:#10191b;font-weight:900}
 .home-hero .hero-panel .eyebrow {color:#10191b;font-weight:900;font-size:10px;letter-spacing:.05em;text-shadow:0 0 10px #fff}
 .home-hero .hero-frank,.home-hero .hero-panel h2,.home-hero .hero-price {color:#10191b;font-weight:900}
 .home-hero .hero-frank {font-size:20px}
 .home-hero .hero-panel h2 {font-size:24px}
 .home-hero .hero-price {font-size:21px}
 .home-hero .hero-rule {margin:13px auto;width:86px;background:#10364a}
 .home-hero .hero-buttons {justify-content:center}
 .home-hero .hero-overlay {background:linear-gradient(to bottom,rgba(255,255,255,.08),rgba(255,255,255,.21) 38%,rgba(255,255,255,.72) 83%,rgba(255,255,255,.86))}
}


/* Approved Option A (pool-forward crop). This changes Home hero only. */
.home-hero {background:#8edcf3;isolation:isolate;}
.home-hero .hero-image-wrap {z-index:0;}
.home-hero .hero-image {object-fit:cover;object-position:center 74%;filter:none;}
.home-hero .hero-overlay {background:radial-gradient(ellipse 47% 50% at 50% 47%,rgba(239,251,255,.38),rgba(239,251,255,.10) 78%,transparent 100%);}
.home-hero .hero-content {z-index:2;position:relative;}
.home-hero .hero-panel {background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;text-align:center;color:#071822;}
.home-hero .hero-panel h1,.home-hero .hero-panel h1 em {color:#07121d;font-weight:900;text-shadow:0 1px 1px #fff,0 0 13px rgba(255,255,255,.85),1px 2px 4px #ffffff;}
.home-hero .hero-heading-line {display:block;}
.home-hero .hero-frank,.home-hero .hero-panel h2,.home-hero .hero-price {color:#081724;font-weight:900;text-shadow:0 0 11px #fff,0 1px 3px #ffffff;}
.home-hero .hero-rule {margin:9px auto;width:164px;height:4px;background:#153d53;box-shadow:0 0 7px #fff;}
.home-hero .hero-buttons {justify-content:center;margin-top:18px;}
.home-hero .hero-buttons .button-green {background:#258449;}
.home-hero .hero-buttons .button-white-soft {border:2px solid #c6e0e5;color:#114e7e;}
@media(min-width:701px){
 .home-hero{min-height:700px;height:700px;}
 .home-hero .hero-content {display:flex;align-items:center;justify-content:center;padding:35px 0;margin:0 auto;}
 .home-hero .hero-panel {width:min(1100px,100%);max-width:1100px;}
 .home-hero .hero-panel h1 {font-size:clamp(39px,3.9vw,56px);line-height:1.13;letter-spacing:-.035em;margin:0 0 16px;}
 .home-hero .hero-heading-intro {font-size:.88em;}
 .home-hero .hero-heading-resurfacing {font-size:1.1em;}
 .home-hero .hero-heading-main {font-size:1em;}
 .home-hero .hero-frank {font-size:30px;margin:12px 0 7px;line-height:1.18;}
 .home-hero .hero-panel h2 {font-size:29px;line-height:1.18;margin:14px 0 3px;}
 .home-hero .hero-price {font-size:28px;line-height:1.2;margin:0 0 6px;}
 .home-hero .hero-buttons .button {font-size:16px;padding:15px 23px;}
}
@media(max-width:700px){
 .home-hero {min-height:720px;}
 .home-hero .hero-image {object-position:57% 60%;}
 .home-hero .hero-overlay {background:linear-gradient(to bottom,rgba(255,255,255,.12),rgba(250,255,255,.17) 30%,rgba(245,253,255,.56) 72%,rgba(246,253,255,.78))}
 .home-hero .hero-content {min-height:720px;display:flex;align-items:center;justify-content:center;padding:40px 0 30px;}
 .home-hero .hero-panel {width:100%;}
 .home-hero .hero-panel h1 {font-size:clamp(29px,6vw,39px);line-height:1.14;letter-spacing:-.035em;margin:0 0 13px;}
 .home-hero .hero-heading-intro {font-size:.9em;}
 .home-hero .hero-heading-resurfacing {font-size:1.04em;}
 .home-hero .hero-frank {font-size:23px;line-height:1.2;margin:12px 0 7px;}
 .home-hero .hero-panel h2 {font-size:22px;margin:13px 0 3px;line-height:1.2;}
 .home-hero .hero-price {font-size:21px;margin:0 0 8px;}
 .home-hero .hero-rule {width:108px;height:3px;margin:9px auto;}
 .home-hero .hero-buttons {justify-content:center;margin-top:17px;}
 .home-hero .hero-buttons .button {font-size:13px;padding:13px 16px;}
}
@media(max-width:420px){
 .home-hero {min-height:710px;}
 .home-hero .hero-content {min-height:710px;padding:35px 0 45px;}
 .home-hero .hero-panel h1 {font-size:clamp(27px,6.8vw,32px);}
 .home-hero .hero-buttons {flex-direction:column;gap:8px;}
 .home-hero .hero-buttons .button {width:100%;}
}


/* 2026-11-07 final requested correction: white, bold, high-contrast hero text.
   This is not an opaque overlay; pool remains visible. */
.home-hero .hero-overlay {
 background: radial-gradient(ellipse 68% 72% at 50% 46%, rgba(4,30,54,.35) 0%,rgba(4,30,54,.23) 58%,rgba(4,30,54,.08) 84%,transparent 100%)!important;
}
.home-hero .hero-panel h1,
.home-hero .hero-panel h1 em,
.home-hero .hero-heading-line,
.home-hero .hero-frank,
.home-hero .hero-panel h2,
.home-hero .hero-price {
 color:#ffffff!important;
 font-weight:950!important;
 -webkit-text-stroke: .35px rgba(8,27,48,.24);
 text-shadow: 0px 2px 3px rgba(3,22,38,.93),
              0px 4px 10px rgba(3,22,38,.8),
              0px 9px 19px rgba(3,22,38,.50)!important;
}
.home-hero .hero-rule {
 background:#ffffff!important;
 box-shadow:0 2px 8px rgba(4,18,32,.8)!important;
}
@media (min-width:701px) {
  .home-hero .hero-content {align-items:center!important;justify-content:center!important;text-align:center!important;}
  .home-hero .hero-panel h1 {font-size:clamp(40px,4.2vw,62px)!important;line-height:1.12!important;}
  .home-hero .hero-frank{font-size:32px!important;}
  .home-hero .hero-panel h2{font-size:32px!important;}
  .home-hero .hero-price{font-size:29px!important;}
}
@media (max-width:700px) {
  .home-hero .hero-overlay {
    background:linear-gradient(to bottom,rgba(3,29,53,.08),rgba(3,29,53,.24) 22%,rgba(3,29,53,.35) 50%,rgba(3,29,53,.32) 78%,rgba(3,29,53,.14))!important;
  }
}


/* AMK Pools final: bold WHITE headline, exact original wording retained.
   Photo remains unobscured by opaque panels. */
.home-hero .hero-panel {background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;max-width:1100px!important;}
.home-hero .hero-panel h1,
.home-hero .hero-panel h1 span,
.home-hero .hero-frank,
.home-hero .hero-panel h2,
.home-hero .hero-price {
  color:#fff!important;
  font-family:'Arial Black','Manrope',Arial,sans-serif!important;
  font-weight:950!important;
  -webkit-text-stroke:0.65px rgba(2,21,43,.56);
  text-shadow: 0 2px 1px rgba(1,17,33,.94),0 4px 7px rgba(1,17,33,.90),0 9px 20px rgba(1,17,33,.68)!important;
}
.home-hero .hero-overlay {
  background:radial-gradient(ellipse 67% 71% at 50% 49%,rgba(5,28,46,.44),rgba(5,28,46,.28) 53%,rgba(5,28,46,.08) 83%,transparent 100%)!important;
}
.home-hero .hero-rule {background:#fff!important;box-shadow:0 3px 10px rgba(4,20,38,.82)!important;}
@media(min-width:701px){
  .home-hero .hero-panel h1 {font-size:clamp(44px,4.55vw,67px)!important;letter-spacing:-.035em!important;line-height:1.11!important;}
  .home-hero .hero-frank {font-size:clamp(27px,2.45vw,35px)!important;}
  .home-hero .hero-panel h2 {font-size:clamp(28px,2.45vw,35px)!important;}
  .home-hero .hero-price {font-size:clamp(25px,2.25vw,32px)!important;}
}
@media(max-width:700px){
 .home-hero .hero-overlay {background:linear-gradient(180deg,rgba(5,28,46,.10),rgba(4,24,42,.37) 23%,rgba(4,24,42,.5) 57%,rgba(4,24,42,.30) 84%,rgba(4,24,42,.08))!important;}
 .home-hero .hero-panel h1 {font-size:clamp(28px,6.7vw,40px)!important;line-height:1.15!important;}
}
