: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}
.navbar-brand-icon{height:41px;width:auto}
.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}
/* Perf Safe additions */
.hero-overlay{position:relative}
.hero-overlay::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,48,84,.72) 0%,rgba(5,48,84,.35) 55%,rgba(5,48,84,0) 100%)}
.hero-overlay>.container{position:relative;z-index:2}
.trust-badge{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;padding:.35rem .8rem;border-radius:50rem;font-size:.78rem;font-weight:600}
.spec-card{background:#fff;border:1px solid #dee2e6;border-radius:.75rem;padding:1.5rem;height:100%}
.spec-card .bi{font-size:2rem;color:var(--poolperf-primary)}
/* Comparison table (desktop) */
.compare-table-wrap{background:#fff;border:1px solid #dee2e6;border-radius:.75rem;overflow:hidden;box-shadow:0 .25rem .75rem rgba(5,48,84,.06)}
.compare-table2{width:100%;border-collapse:collapse;font-family:Montserrat,sans-serif}
.compare-table2 th,.compare-table2 td{padding:1rem .9rem;border-bottom:1px solid #e9ecef;vertical-align:middle}
.compare-table2 thead th{background:var(--poolperf-secondary);color:#fff;font-weight:700;text-align:center;border-bottom:none}
.compare-table2 thead th.feature-col{text-align:left}
.compare-table2 tbody th{text-align:left;font-weight:600;color:var(--poolperf-navy);white-space:nowrap}
.compare-table2 tbody th .bi{color:var(--poolperf-primary);margin-right:.5rem}
.compare-table2 tbody tr:last-child th,.compare-table2 tbody tr:last-child td{border-bottom:none}
.compare-table2 td{text-align:center}
.compare-table2 tbody td.ps-col,.compare-table2 tbody th.ps-col{background:rgba(22,163,74,.06)}
.compare-table2 .ps-col{box-shadow:inset 1px 0 0 rgba(22,163,74,.35),inset -1px 0 0 rgba(22,163,74,.35)}
.compare-table2 thead th.ps-col{background:var(--poolperf-secondary);box-shadow:inset 1px 0 0 rgba(22,163,74,.5),inset -1px 0 0 0 rgba(22,163,74,.5)}
.status-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:50%;font-size:1rem;line-height:1}
.status-icon.sm{width:1.4rem;height:1.4rem;font-size:.8rem}
.status-icon.good{background:#16a34a;color:#fff}
.status-icon.bad{background:#dc2626;color:#fff}
.status-icon.warn{background:#f59e0b;color:#fff}
.compare-table2 td .status-text{display:block;margin-top:.35rem;font-size:.8rem;color:#495057}
.compare-table2 td.ps-col .status-text{color:var(--poolperf-navy);font-weight:600}

/* Comparison table (mobile) */
.compare-table-mobile{background:#fff;border:1px solid #dee2e6;border-radius:.75rem;overflow:hidden;box-shadow:0 .25rem .75rem rgba(5,48,84,.06)}
.ctm-tablist{display:flex}
.ctm-tab{flex:1;border:0;border-bottom:3px solid transparent;background:#eef2f5;color:var(--poolperf-navy);font-family:Montserrat,sans-serif;font-weight:700;font-size:.82rem;line-height:1.2;padding:.75rem .3rem;cursor:pointer}
.ctm-tab .bi{display:block;margin-bottom:.2rem;font-size:1rem}
.ctm-tab.active{background:var(--poolperf-secondary);color:#fff;border-bottom-color:#16a34a}
.ctm-tab:focus-visible{outline:2px solid var(--poolperf-primary);outline-offset:-2px}
.ctm-panel .ctm-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-bottom:1px solid #e9ecef}
.ctm-panel .ctm-row:last-child{border-bottom:none}
.ctm-feature{font-size:.85rem;font-weight:600;color:var(--poolperf-navy);text-wrap:pretty}
.ctm-feature .bi{color:var(--poolperf-primary);margin-right:.4rem}
.ctm-cell{display:flex;align-items:center;flex-shrink:0}
.ctm-legend{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;padding:.75rem .5rem;font-size:.72rem;color:#495057;border-top:1px solid #e9ecef}
.ctm-legend span{display:inline-flex;align-items:center;gap:.35rem}
.seg-card{border-radius:.75rem;overflow:hidden;height:100%;border:1px solid #e2e8f0;background:#fff}
.seg-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:none}
@media (max-width:991px){.sticky-cta{display:flex}}
