:root{
  --poolperf-primary:#00b9c6;
  --poolperf-secondary:#053054;
  --poolperf-navy:#1a3352;
  --poolperf-teal:#53b7c4;
  --poolperf-mist:#ebf2f5;
  --fs-1:calc(1.375rem + 1.5vw);
  --fs-2:calc(1.325rem + 0.9vw);
  --fs-3:calc(1.3rem + 0.6vw);
  --fs-4:calc(1.275rem + 0.3vw);
  --fs-5:1.25rem;
  --fs-6:1rem;
  --fs-7:0.8rem;
  --fs-8:0.7rem;
}
body{display:flex;flex-direction:column;min-height:100dvh;font-family:Montserrat,sans-serif}
.btn{font-family:Montserrat,sans-serif}
main{display:flex;flex-grow:1;flex-direction:column}
.hero-section{text-wrap:balance}
#section1{max-height:calc(100dvh - 70px)}
section{padding:1rem}
.fs-7{font-size:.8rem}
.fs-8{font-size:.7rem}
.navbar-brand{line-height:1}
.navbar-brand img{height:44px;width:auto}
.nav-city{border-left:2px solid var(--poolperf-primary);padding-left:.5rem;color:var(--poolperf-secondary);font-weight:600;font-size:1.05rem;line-height:1.1;white-space:nowrap}
@media (max-width:575.98px){.navbar-brand img{height:34px}.nav-city{font-size:.9rem;padding-left:.4rem}}
@media (max-width:399.98px){.navbar-brand img{height:26px}.nav-city{font-size:.8rem;padding-left:.35rem}}
.text-poolperf-primary{color:var(--poolperf-primary)}
.text-poolperf-secondary{color:var(--poolperf-secondary)}
.bg-poolperf-primary{background-color:var(--poolperf-primary)}
.bg-poolperf-secondary{background-color:var(--poolperf-secondary)}
.bg-poolperf-mist{background-color:var(--poolperf-mist)}
.navbar-toggler{border:0}
.btn-primary{--bs-btn-bg:var(--poolperf-primary);--bs-btn-border-color:var(--poolperf-primary);--bs-btn-hover-bg:#009aa5;--bs-btn-hover-border-color:#009aa5;--bs-btn-active-bg:#008b95;--bs-btn-active-border-color:#008b95}
.text-primary{color:var(--poolperf-primary)!important}
h1,h2,h3,h4,h5,h6{color:var(--poolperf-navy)}
.read-more-link{cursor:pointer}
.feature-item i{display:block}
.carousel-control-prev-icon,.carousel-control-next-icon{filter:invert(1) grayscale(100)}
.gallery-img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:.5rem;transition:transform .2s}
.gallery-img:hover{transform:scale(1.02)}
.footer-note{font-size:.7rem;color:#6c757d}
@media (min-width:0){.fs-xs-1{font-size:var(--fs-1)!important}.fs-xs-4{font-size:var(--fs-4)!important}}
@media (min-width:768px){.fs-md-2{font-size:var(--fs-2)!important}.fs-md-4{font-size:var(--fs-4)!important}}

.gallery-img{cursor:pointer}
.lb-overlay{position:fixed;inset:0;background:rgba(3,17,28,.94);display:none;align-items:center;justify-content:center;z-index:1080}
.lb-overlay.open{display:flex}
.lb-overlay img{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:.3rem;box-shadow:0 0 40px rgba(0,0,0,.6)}
.lb-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;color:#fff;font-size:2rem;line-height:1;padding:.5rem .9rem;border-radius:50rem;cursor:pointer}
.lb-btn:hover{background:rgba(255,255,255,.28)}
.lb-prev{left:1rem}.lb-next{right:1rem}
.lb-close{position:absolute;top:.6rem;right:1rem;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer}
.lb-caption{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);color:#fff;font-size:.85rem;text-align:center;max-width:90vw;opacity:.85}
.lb-count{position:absolute;top:1.2rem;left:1.2rem;color:#fff;font-size:.85rem;opacity:.8}

@media (min-width:992px){.navbar .dropdown:hover>.dropdown-menu{display:block;margin-top:0}}
.design-card{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;padding:1rem;height:100%;text-align:center}
.design-card img{max-height:160px;object-fit:contain;width:100%;cursor:pointer}
.chooser-card{transition:transform .15s, box-shadow .15s}
.chooser-card:hover{transform:translateY(-4px);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.15)!important}
