:root{--navy:#062446;--blue:#0389bd;--aqua:#43bdd3;--green:#587b19;--mist:#eef6f7;--white:#fff;--ink:#0d2435;--line:#d5e2e5;--serif:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:92px;padding:10px clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);position:absolute;top:0;left:0;right:0;z-index:10}
.brand img{width:132px;height:72px;object-fit:contain}
.site-header nav{display:flex;align-items:center;gap:34px;font-size:.92rem;font-weight:600;color:var(--navy)}
.nav-cta{padding:13px 20px;border:1.5px solid var(--blue);color:var(--blue)}
.menu-button{display:none;border:0;background:none;padding:10px}
.menu-button span:not(.sr-only){display:block;width:26px;height:2px;background:var(--navy);margin:5px}
.hero{height:min(880px,100vh);min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,19,38,.9) 0%,rgba(2,24,46,.7) 40%,rgba(2,24,46,.1) 72%)}
.hero-content{position:relative;z-index:2;color:#fff;width:min(710px,90%);margin-left:clamp(24px,8vw,135px);padding-top:80px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;color:#80d6e7;margin:0 0 18px}
.hero h1,.intro h2,.brand-band h2,.process h2,.cta h2{font-family:var(--serif);font-size:clamp(3.1rem,6.6vw,6.8rem);line-height:.97;letter-spacing:-.055em;margin:0;font-weight:700}
.hero-copy{max-width:620px;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.7;color:rgba(255,255,255,.9);margin:28px 0}
.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 25px;border:0;font:700 .88rem var(--body);text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.primary{background:var(--blue);color:#fff;box-shadow:0 9px 28px rgba(0,90,133,.25)}
.primary:hover{background:#0878a5}
.text-link{font-weight:700;color:var(--blue);padding-bottom:4px;border-bottom:1px solid currentColor}
.hero .text-link{color:#fff}
.text-link span{margin-left:8px}
.hero-proof{position:absolute;z-index:2;right:0;bottom:0;background:#fff;color:var(--navy);padding:24px 46px;display:flex;gap:7px;font-size:1.05rem}
.hero-proof strong{color:var(--green)}
.section-pad{padding:110px clamp(24px,8vw,135px)}
.section-label{color:var(--green);font-size:.77rem;text-transform:uppercase;letter-spacing:.17em;font-weight:700;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:46px}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:start}
.intro h2,.brand-band h2,.process h2,.cta h2{font-size:clamp(2.6rem,4.4vw,5rem);color:var(--navy)}
.lead{font-size:1.23rem;line-height:1.7;margin:0}
.quiet{color:#5c6e78}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-grid article{padding:34px 28px 38px;border-right:1px solid var(--line);min-height:325px}
.service-grid article:first-child{padding-left:0}
.service-grid article:last-child{border-right:0}
.service-grid span,.steps b{font-size:.73rem;color:var(--blue);letter-spacing:.1em}
.service-grid h3,.steps h3{font-family:var(--serif);color:var(--navy);font-size:1.15rem;line-height:1.3;margin:20px 0 12px}
.service-grid p,.steps p{font-size:.93rem;color:#566974}
.service-icon{width:56px;height:56px;margin:34px 0 28px;position:relative}
.pool-icon{border:2px solid var(--blue);border-radius:50% 50% 42% 42%;transform:rotate(-7deg)}
.pool-icon:after{content:"";position:absolute;left:9px;right:9px;top:25px;height:2px;background:var(--blue);box-shadow:0 7px 0 var(--aqua)}
.patio-icon{background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 18px),repeating-linear-gradient(0deg,var(--line) 0 2px,transparent 2px 18px);border:2px solid var(--blue)}
.wall-icon{background:repeating-linear-gradient(0deg,var(--navy) 0 7px,#fff 7px 10px);clip-path:polygon(0 20%,100% 0,100% 80%,0 100%)}
.plan-icon{border:2px solid var(--blue)}
.plan-icon:before,.plan-icon:after{content:"";position:absolute;background:var(--green)}
.plan-icon:before{width:2px;height:70%;left:50%;top:15%}
.plan-icon:after{height:2px;width:70%;top:50%;left:15%}
.brand-band{padding:100px clamp(24px,8vw,135px);background:var(--navy);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:center;position:relative;overflow:hidden}
.brand-band:after{content:"";position:absolute;width:380px;height:380px;border:75px solid rgba(27,161,202,.07);border-radius:50%;right:-140px;bottom:-190px}
.brand-band h2{color:#fff}
.brand-copy{font-size:1.1rem;position:relative;z-index:2}
.brand-copy p{color:#d4e4e9}
.light{color:#80d6e7;display:inline-block;margin-top:18px}
.process-head{display:grid;grid-template-columns:1.1fr .6fr;gap:12vw;align-items:end}
.process-head>p{font-size:1.1rem;color:#566974}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px}
.steps article{padding:32px 26px 10px;border-left:1px solid var(--line)}
.steps article:first-child{padding-left:0;border-left:0}
.cta{background:var(--mist);padding:100px clamp(24px,8vw,135px);display:grid;grid-template-columns:1fr .9fr;gap:9vw}
.cta-copy>p:last-child{font-size:1.15rem;color:#516773;max-width:520px}
.contact-details{display:flex;gap:44px;margin-top:32px}
.contact-details p{margin:0;color:#516773;line-height:1.6}
.contact-details strong{display:block;color:var(--navy);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.contact-details a{color:var(--blue);font-weight:700}
.cta form{background:#fff;padding:42px;box-shadow:0 20px 60px rgba(6,36,70,.09)}
label{display:block;font-weight:600;color:var(--navy);font-size:.86rem;margin-bottom:17px}
input,textarea{display:block;width:100%;margin-top:6px;padding:13px 0;border:0;border-bottom:1px solid #aebfc4;border-radius:0;background:transparent;font:400 1rem var(--body);color:var(--ink)}
input:focus,textarea:focus{outline:none;border-color:var(--blue)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cta form .button{width:100%;margin-top:8px}
.form-note{text-align:center;color:#6b7d85;font-size:.8rem;margin-bottom:0}
.success{margin-top:15px;background:#e9f4df;color:#355411;padding:12px;text-align:center;font-weight:600}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
footer{padding:50px clamp(24px,8vw,135px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;color:#5b6d76;font-size:.85rem}
footer img{width:120px;height:80px;object-fit:contain}
footer a{color:inherit}
footer p:last-child{text-align:right}
@media(max-width:900px){.site-header{height:78px;padding:8px 20px}
.brand img{width:105px;height:60px}
.menu-button{display:block}
.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:24px;flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 10px 20px rgba(0,0,0,.1)}
.site-header nav.open{display:flex}
.nav-cta{text-align:center}
.hero{min-height:720px}
.hero-shade{background:linear-gradient(90deg,rgba(2,19,38,.88),rgba(2,24,46,.45))}
.hero-content{margin-left:24px;padding-top:30px}
.hero-proof{padding:15px 20px;font-size:.88rem}
.intro-grid,.brand-band,.process-head,.cta{grid-template-columns:1fr}
.service-grid{grid-template-columns:1fr 1fr}
.service-grid article:nth-child(2){border-right:0}
.service-grid article:first-child{padding-left:28px}
.steps{grid-template-columns:1fr 1fr}
.steps article:nth-child(3){border-left:0}
.section-pad,.brand-band,.cta{padding-top:76px;padding-bottom:76px}
footer{grid-template-columns:1fr;text-align:center}
footer img{margin:auto}
footer p:last-child{text-align:center}
}
@media(max-width:560px){.hero{min-height:740px}
.hero-content{width:calc(100% - 48px)}
.hero h1{font-size:3.55rem}
.hero-copy{font-size:.98rem}
.hero-actions{align-items:flex-start;flex-direction:column}
.hero-proof{left:0;right:auto}
.service-grid,.steps{grid-template-columns:1fr}
.service-grid article,.service-grid article:first-child{padding:28px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}
.steps article,.steps article:first-child{border-left:0;border-top:1px solid var(--line);padding:24px 0}
.form-row{grid-template-columns:1fr}
.cta form{padding:28px 22px}
.intro h2,.brand-band h2,.process h2,.cta h2{font-size:2.55rem}
footer{padding-top:34px;padding-bottom:34px}
}

/* Pool design collection */
.inner-header{position:relative;border-bottom:1px solid var(--line)}
.inner-header nav a[aria-current="page"]{color:var(--blue)}
.pool-page-hero{min-height:620px;background:var(--navy);display:grid;grid-template-columns:1fr 1.1fr;align-items:stretch;color:#fff;overflow:hidden}
.pool-page-copy{padding:110px clamp(24px,7vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.pool-page-copy h1,.shape-intro h2,.design-heading h2,.pool-cta h2{font-family:var(--serif);font-size:clamp(3.2rem,5.8vw,6.2rem);line-height:.98;letter-spacing:-.055em;margin:0;font-weight:700}
.pool-page-copy>p:not(.eyebrow){font-size:1.12rem;color:#d8e7ec;max-width:600px;margin:28px 0}
.pool-page-hero>img{width:100%;height:100%;object-fit:cover;min-height:620px}
.shape-intro{display:grid;grid-template-columns:1.1fr .7fr;gap:12vw;align-items:end}
.shape-intro h2{font-size:clamp(2.7rem,4.5vw,5rem);color:var(--navy)}
.shape-intro>p{font-size:1.12rem;color:#536974}
.shape-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:70px}
.shape-card{min-height:270px;padding:28px;display:flex;align-items:flex-end;background:linear-gradient(145deg,#0c4772,#087eac);color:#fff;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.shape-card:before{content:"";position:absolute;width:190px;height:80px;border:2px solid rgba(255,255,255,.25);border-radius:22px;right:-50px;top:35px;transform:rotate(-10deg)}
.shape-card:after{content:"";position:absolute;width:220px;height:70px;border:2px solid rgba(255,255,255,.13);border-radius:45% 55% 42% 58%;right:-70px;top:90px}
.shape-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(6,36,70,.18)}
.shape-card>div{position:relative;z-index:1}
.shape-card span,.model-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}
.shape-card h3{font:700 1.8rem var(--serif);margin:8px 0}
.shape-card p{margin:0;color:#dcecf1;font-size:.92rem}
.freeform-card{background:linear-gradient(145deg,#3f6e21,#73a142)}
.freeform-card:before{border-radius:55% 45% 62% 38%}
.roman-card{background:linear-gradient(145deg,#173e63,#416884)}
.roman-card:before{border-radius:80px 80px 20px 20px}
.plunge-card{background:linear-gradient(145deg,#0787aa,#56bfd1)}
.plunge-card:before{width:125px;height:90px}
.designs{background:#fff}
.design-section{padding:105px clamp(24px,8vw,135px);scroll-margin-top:30px}
.design-section.tinted{background:var(--mist)}
.design-heading{display:grid;grid-template-columns:1.1fr .65fr;gap:10vw;align-items:end;margin-bottom:55px}
.design-heading h2{font-size:clamp(2.7rem,4.5vw,5rem);color:var(--navy)}
.design-heading>p{font-size:1.08rem;color:#546a74;margin:0}
.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.model-grid.two-up{grid-template-columns:repeat(2,minmax(0,430px))}
.model-card{background:#fff;border:1px solid var(--line);padding:0 30px 30px;min-height:245px;position:relative;overflow:hidden;transition:border-color .2s ease,transform .2s ease}
.tinted .model-card{border-color:#c8dadd}
.model-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:0;background:var(--blue);transition:height .2s ease}
.model-card:hover{border-color:#9fc1ca;transform:translateY(-3px)}
.model-card:hover:before{height:100%}
.featured-model{border-color:#77afc1;background:linear-gradient(155deg,#fff 55%,#e6f5f8)}
.model-card h3{font:700 1.65rem var(--serif);color:var(--navy);margin:13px 0 2px}
.model-type{color:var(--green)}
.model-card .sizes{color:var(--blue);font-weight:700;margin:0 0 16px}
.model-card p:last-child{color:#566a74;font-size:.94rem;margin-bottom:0}
.model-layout{height:250px;margin:0 -30px 28px;padding:14px 18px 10px;background:#f6f9fa;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}
.model-layout img{width:100%;height:202px;object-fit:contain;mix-blend-mode:multiply}
.model-layout figcaption{margin-top:5px;color:#71848c;font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.pool-cta{padding:110px 24px;background:var(--navy);color:#fff;text-align:center}
.pool-cta h2{font-size:clamp(3rem,5vw,5.5rem)}
.pool-cta>p:not(.eyebrow){max-width:680px;margin:24px auto 30px;color:#d3e4e9;font-size:1.12rem}
.spec-note{padding:24px clamp(24px,8vw,135px);background:#e6eef0;color:#5b6c73;font-size:.78rem;text-align:center}
.fiberglass-value{background:#fff}
.value-intro{display:grid;grid-template-columns:1fr .8fr;gap:10vw;align-items:end}
.value-intro h2{font:700 clamp(2.8rem,4.7vw,5.2rem)/.98 var(--serif);letter-spacing:-.05em;color:var(--navy);margin:0}
.value-intro>p{font-size:1.12rem;line-height:1.75;color:#526873;margin:0}
.warranty-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.warranty-grid article{padding:40px 34px 42px;border-right:1px solid var(--line)}
.warranty-grid article:first-child{padding-left:0}
.warranty-grid article:last-child{border-right:0}
.warranty-grid strong{font:700 clamp(3.5rem,5vw,5.7rem)/1 var(--serif);letter-spacing:-.06em;color:var(--blue)}
.warranty-grid span{margin-left:8px;color:var(--green);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}
.warranty-grid h3{font:700 1.25rem/1.3 var(--serif);color:var(--navy);margin:24px 0 12px}
.warranty-grid p{color:#566a74;line-height:1.65;margin:0}
.warranty-grid .no-liner-card strong{font-size:clamp(3rem,4.3vw,4.8rem)}
.warranty-note{margin:28px 0 0;color:#667a83;font-size:.84rem;line-height:1.65}
.warranty-note a{color:var(--blue);font-weight:700;border-bottom:1px solid currentColor}
@media(max-width:1000px){.pool-page-hero{grid-template-columns:1fr}.pool-page-copy{padding-top:80px;padding-bottom:70px}.pool-page-hero>img{min-height:420px;max-height:500px}.shape-cards{grid-template-columns:1fr 1fr}.model-grid{grid-template-columns:1fr 1fr}.design-heading,.shape-intro{grid-template-columns:1fr;gap:28px}.model-grid.two-up{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.value-intro{grid-template-columns:1fr;gap:30px}}
@media(max-width:700px){.warranty-grid{grid-template-columns:1fr}.warranty-grid article,.warranty-grid article:first-child{padding:32px 0;border-right:0;border-bottom:1px solid var(--line)}.warranty-grid article:last-child{border-bottom:0}}
@media(max-width:620px){.pool-page-copy h1{font-size:3.65rem}.pool-page-hero>img{min-height:300px}.shape-cards,.model-grid,.model-grid.two-up{grid-template-columns:1fr}.shape-card{min-height:210px}.design-section{padding-top:72px;padding-bottom:72px}.model-card{min-height:0}.shape-guide{padding-top:72px;padding-bottom:72px}}

/* Equipment & options */
.equipment-hero{min-height:650px;background:var(--navy);display:grid;grid-template-columns:1fr 1fr;color:#fff;overflow:hidden}
.equipment-hero-copy{padding:140px clamp(24px,7vw,115px) 90px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.equipment-hero h1{font:700 clamp(3rem,5.4vw,5.8rem)/.98 var(--serif);letter-spacing:-.055em;margin:12px 0 26px}
.equipment-hero-copy>p:not(.eyebrow){font-size:1.1rem;line-height:1.75;max-width:620px;color:rgba(255,255,255,.86);margin:0 0 32px}
.equipment-hero-image{min-height:650px;position:relative}
.equipment-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,36,70,.32),transparent 35%)}
.equipment-hero-image img{width:100%;height:100%;object-fit:cover}
.equipment-intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:10vw;align-items:start;margin-bottom:70px}
.equipment-intro-grid h2,.cover-options h2{font:700 clamp(2.7rem,4.6vw,5rem)/1 var(--serif);letter-spacing:-.05em;color:var(--navy);margin:0}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.equipment-grid article{padding:38px 34px 42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:245px}
.equipment-grid span{font:700 .74rem var(--body);color:var(--green);letter-spacing:.16em}
.equipment-grid h3{font:700 1.25rem var(--serif);color:var(--navy);margin:34px 0 13px}
.equipment-grid p{color:#546a74;line-height:1.65;margin:0}
.coverstar-feature{background:var(--navy);color:#fff;padding:110px clamp(24px,8vw,135px);display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}
.coverstar-title h2{font:700 clamp(2.8rem,4.8vw,5.2rem)/.98 var(--serif);letter-spacing:-.05em;margin:16px 0 28px}
.coverstar-title>p:last-child{font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.75);max-width:590px}
.coverstar-benefits{border-top:1px solid rgba(255,255,255,.24)}
.coverstar-benefits article{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.24)}
.coverstar-benefits b{color:var(--aqua);font-size:.78rem;letter-spacing:.12em;padding-top:5px}
.coverstar-benefits h3{font:700 1.2rem var(--serif);margin:0 0 7px}
.coverstar-benefits p{color:rgba(255,255,255,.72);line-height:1.6;margin:0}
.cover-options-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:start}
.cover-options-grid>div>p{font-size:1.06rem;line-height:1.75;color:#526873;max-width:600px}
.option-list{border-top:1px solid var(--line)}
.option-list>div{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}
.option-list strong{color:var(--navy)}
.option-list span{color:#526873;line-height:1.55}
.safety-note{margin:58px 0 0;padding:24px 28px;background:var(--mist);color:#526873;line-height:1.65;border-left:4px solid var(--blue)}
.safety-note strong{color:var(--navy)}
@media(max-width:1120px){.site-header nav{gap:20px;font-size:.84rem}.equipment-hero{grid-template-columns:1fr}.equipment-hero-image{min-height:410px;max-height:480px}.equipment-intro-grid,.coverstar-feature,.cover-options-grid{grid-template-columns:1fr;gap:52px}.equipment-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.equipment-hero-copy{padding-top:115px}.equipment-hero h1{font-size:3.45rem}.equipment-hero-image{min-height:300px}.equipment-grid{grid-template-columns:1fr}.equipment-grid article{min-height:0}.coverstar-feature{padding-top:76px;padding-bottom:76px}.option-list>div{grid-template-columns:1fr;gap:8px}}
