
:root{
  --navy:#062b46;
  --navy2:#031f34;
  --blue:#139ee8;
  --aqua:#44c8e8;
  --ink:#0e2940;
  --muted:#607689;
  --light:#f3f8fb;
  --white:#fff;
  --shadow:0 16px 40px rgba(6,43,70,.12);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.55}
h1,h2{font-family:"Libre Baskerville",serif;line-height:1.12;margin:0 0 18px}
h1{font-size:clamp(2.7rem,6vw,5.6rem);max-width:760px;color:#fff}
h2{font-size:clamp(2rem,3.5vw,3.2rem)}
h3{margin-top:0}
p{margin:0 0 16px}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92%);margin:auto}
.narrow{width:min(820px,92%)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #e7eef3}
.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;flex-direction:column;align-items:center;line-height:1}
.brand-mark{font-weight:800;font-size:2rem;letter-spacing:-3px;color:var(--navy)}
.brand-mark span{color:var(--blue);font-size:1.1rem;padding:0 4px}
.brand-sub{font-size:.64rem;letter-spacing:.31rem;margin-top:5px;color:var(--navy)}
.main-nav{display:flex;align-items:center;gap:24px;font-weight:600;font-size:.94rem}
.main-nav a:not(.btn):hover{color:var(--blue)}
.menu-btn{display:none;border:0;background:none;font-size:1.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:14px 22px;border-radius:9px;font-weight:700;border:1px solid var(--blue);transition:.2s;cursor:pointer}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-small{padding:11px 17px}
.btn-outline{background:transparent;border-color:#fff}
.full{width:100%}
.hero{min-height:680px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(2,27,45,.94) 0%,rgba(2,27,45,.70) 46%,rgba(2,27,45,.20) 100%),url("assets/kv-pool-hero.webp") center/cover no-repeat}
.hero-content{position:relative;z-index:2;padding:90px 0}
.eyebrow{letter-spacing:.22rem;font-size:.72rem;font-weight:800;color:#d9f3ff;margin-bottom:14px}
.eyebrow.dark{color:#7690a2}
.hero-copy{font-size:1.15rem;color:#edf8ff;max-width:620px}
.hero-actions{display:flex;gap:14px;margin:28px 0}
.trust-row{display:flex;gap:28px;flex-wrap:wrap;color:#eaf7ff;font-size:.92rem;margin-top:36px}
.icon-strip{background:#fff;border-bottom:1px solid #e5eef4}
.icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding:28px 0}
.icon-grid div{text-align:center;display:grid;gap:7px}
.icon-grid span{font-size:1.8rem}
.icon-grid b{font-size:.86rem}
.section{padding:88px 0}
.light{background:var(--light)}
.split-grid{display:grid;grid-template-columns:1.1fr 1.45fr .9fr;gap:34px;align-items:center}
.feature-card,.price-card,.review-card,.map-card{background:#fff;border:1px solid #e3edf3;border-radius:var(--radius);box-shadow:var(--shadow)}
.feature-card{padding:28px}
.text-link{color:var(--blue);font-weight:800}
.dark-cta{padding:72px 0;background:linear-gradient(135deg,#063a5d,#021d31);color:#fff}
.dark-cta h2 span{color:var(--aqua)}
.center{text-align:center}
.section-heading{text-align:center;max-width:760px;margin:0 auto 42px}
.pricing-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;max-width:900px;margin:auto}
.price-card{padding:34px;position:relative}
.price-card.featured{border:2px solid var(--blue)}
.pill{position:absolute;right:20px;top:20px;background:#eaf7ff;color:#087bb5;padding:6px 10px;border-radius:999px;font-size:.73rem;font-weight:800}
.price{font-size:3rem;font-weight:800;color:var(--navy);margin:15px 0 20px}
.price small{font-size:1rem;font-weight:500;color:var(--muted)}
.price-card ul{padding-left:20px}
.addon-row{display:flex;justify-content:space-between;border-bottom:1px solid #e9f0f4;padding:13px 0}
.fine,.notice{font-size:.88rem;color:var(--muted)}
.areas-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:42px;align-items:center}
.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 20px;margin-top:24px}
.area-list span:before{content:"📍";margin-right:7px}
.map-card{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#e4f5ff,#f9fcfe)}
.map-pin{font-size:3rem}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review-card{padding:26px}
.stars{color:#f5b301;letter-spacing:.1rem}
details{border-bottom:1px solid #dfe8ee;padding:18px 0}
summary{font-weight:800;cursor:pointer}
details p{margin-top:12px;color:var(--muted)}
.quote-section{background:linear-gradient(135deg,#062f4c,#084e73);color:#fff}
.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.quote-form{background:#fff;color:var(--ink);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:7px;font-weight:700;font-size:.9rem;margin-bottom:14px}
input,select,textarea{width:100%;border:1px solid #ccdce6;border-radius:9px;padding:12px 13px;font:inherit}
.form-status{margin:12px 0 0;color:#466579;font-size:.9rem}
footer{background:#031f34;color:#e7f7ff;padding:55px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.footer-brand .brand-mark,.footer-brand .brand-sub{color:#fff}
footer a{color:#c8eaff}
.copyright{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;margin-top:28px;font-size:.85rem;color:#a8c5d8}

@media (max-width:900px){
  .menu-btn{display:block}
  .main-nav{position:absolute;top:86px;left:0;right:0;background:#fff;padding:22px 4%;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid #e5eef4}
  .main-nav.open{display:flex}
  .icon-grid{grid-template-columns:repeat(3,1fr)}
  .split-grid,.pricing-grid,.areas-grid,.quote-grid{grid-template-columns:1fr}
  .split-grid{gap:24px}
  .review-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .hero{min-height:620px}
  .hero-content{padding:70px 0}
  .hero-actions{flex-direction:column;align-items:stretch}
  .trust-row{gap:12px;flex-direction:column}
  .icon-grid{grid-template-columns:repeat(2,1fr)}
  .two-col,.area-list{grid-template-columns:1fr}
  .section{padding:64px 0}
}

.owner-photo{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:420px;background:#e8f4f9}
.owner-photo img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center 42%;display:block}
.custom-price{font-size:2.4rem}
.schedule-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e9f0f4;padding:15px 0}
.schedule-row b{text-align:right}
.experience-section{background:#fff}
.review-card h3{margin-bottom:10px;color:var(--navy)}
.review-card p{color:var(--muted)}
.pool-showcase{border-top:1px solid #e4edf2}
.showcase-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center}
.showcase-grid img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);display:block}
.direct-contact{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.direct-contact a{display:inline-flex;padding:11px 14px;border:1px solid rgba(255,255,255,.5);border-radius:9px;color:#fff;font-weight:700}
.direct-contact a:hover{background:rgba(255,255,255,.08)}
@media (max-width:900px){
  .showcase-grid{grid-template-columns:1fr}
}


.starts-at{display:block;font-size:.95rem;font-weight:700;color:var(--muted);margin-bottom:4px;letter-spacing:.04rem;text-transform:uppercase}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:980px;margin:auto}
.review-card{padding:26px}
.review-card .stars{color:#f5b301;letter-spacing:.08rem;font-size:1rem;margin-bottom:10px}
.review-card .review-name{font-weight:800;color:var(--navy);margin-bottom:3px}
.review-card .review-community{font-size:.9rem;color:var(--muted);margin-bottom:12px}
.review-card p{color:var(--muted);margin:0}
.pool-gallery{border-top:1px solid #e4edf2}
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.gallery-card{margin:0;background:#fff;border:1px solid #e3edf3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.gallery-card img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:4/3}

@media (max-width:900px){.gallery-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}}
