.sp-body{background:var(--bg-soft)}.sp-body .post-prose{max-width:none}.sp-body .svc-section{position:relative}.sp-areas{padding-block:clamp(var(--s6),4vw,var(--s8))}.sp-areas h2{margin:0 0 var(--s2);font-size:clamp(1.5rem,3vw,2rem)}.sp-city-groups{display:grid;gap:var(--s6)}.sp-city-group[hidden]{display:none}.sp-city-region{display:flex;align-items:center;gap:var(--s3);margin:0 0 var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--line);font-size:1.05rem;letter-spacing:.02em}.sp-city-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1) var(--s4);grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.sp-city-list li[hidden]{display:none}.sp-city-list a{display:block;padding:.35rem .6rem;margin-inline:-.6rem;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem}.sp-city-list a:hover{background:var(--bg-soft);color:var(--blue-deep)}@media (prefers-reduced-motion:reduce){.lead-spinner{animation:none}}.loc-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin:var(--s5) 0 var(--s3)}.loc-search{flex:1 1 18rem;max-width:26rem}.loc-search .team-search{width:100%}.loc-near{flex:0 0 auto;white-space:nowrap}.loc-controls .team-filter-count{margin:0;flex-basis:100%}.loc-status{margin:0 0 var(--s5);padding:.6rem .8rem;background:var(--bg-soft);border-left:4px solid var(--blue);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:.9rem;color:var(--ink)}.loc-nearest{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s6)}.loc-nearest .sp-city-region{border-bottom-color:rgba(0,0,0,.08)}.loc-distance{margin-left:.4rem;font-size:.78rem;font-weight:700;color:var(--blue-deep);white-space:nowrap}.sp-city-list li:not([data-lat]) .loc-distance{display:none}.loc-distance:empty{display:none}.sp-city-group.is-secondary .sp-city-region{opacity:.75}.sp-locator{background:var(--bg-soft);border-radius:var(--r-lg)}.loc-controls{align-items:stretch}.loc-near{font-size:1rem;padding-inline:var(--s5)}.loc-all{margin-top:var(--s5);border-top:1px solid var(--line);padding-top:var(--s4)}.loc-all-toggle{cursor:pointer;font-weight:700;color:var(--blue-deep);padding:.5rem 0;list-style:none;display:flex;align-items:center;gap:var(--s2)}.loc-all-toggle::-webkit-details-marker{display:none}.loc-all-toggle::before{content:"";width:.55rem;height:.55rem;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s var(--ease)}.loc-all[open] .loc-all-toggle::before{transform:rotate(45deg)}.loc-all-toggle:hover{text-decoration:underline}.loc-all .sp-city-group{margin-top:var(--s5)}.loc-map{height:26rem;margin:var(--s5) 0 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--bg-soft);isolation:isolate;z-index:0}@media (max-width:48rem){.loc-map{height:20rem}}.loc-map .leaflet-container{font:inherit}.loc-map .leaflet-popup-content{margin:.7rem .9rem;font-size:.9rem;line-height:1.45}.loc-map .leaflet-popup-content a{color:var(--blue-deep);font-weight:600}.sp-faqs{padding-block:clamp(var(--s6),4vw,var(--s8));background:var(--bg-soft)}.sp-faqs h2{margin:0 0 var(--s2);font-size:clamp(1.5rem,3vw,2rem)}.sp-faq-list{margin-top:var(--s5);display:grid;gap:var(--s3)}.sp-faq-layout{display:block}.sp-faq-intro h2{margin-top:0}.sp-faq-ask{margin:var(--s4) 0 0;font-size:.95rem;color:var(--muted)}.sp-faq-ask a{color:var(--blue-deep);font-weight:700}.sp-faq{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4) var(--s5)}.sp-faq summary{cursor:pointer;font-weight:700;line-height:1.4;list-style:none;display:flex;align-items:flex-start;gap:var(--s3)}.sp-faq summary::-webkit-details-marker{display:none}.sp-faq summary::after{content:"";flex:none;margin-left:auto;margin-top:.35em;width:.6rem;height:.6rem;border-right:2px solid var(--blue-deep);border-bottom:2px solid var(--blue-deep);transform:rotate(45deg);transition:transform .2s var(--ease)}.sp-faq[open] summary::after{transform:rotate(-135deg)}.sp-faq summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.sp-faq-body{padding-top:var(--s3);color:var(--muted);line-height:1.65}.sp-faq-body p{margin:0}.sp-body-split{display:grid;gap:var(--s6);grid-template-columns:1fr;align-items:start}@media (min-width:62rem){.sp-body-split{grid-template-columns:minmax(0,1fr) 19rem;gap:var(--s7)}.sp-body-split .post-prose{max-width:none}.sp-aside{position:sticky;top:calc(var(--s8) + var(--s2))}}.sp-aside{display:flex;flex-direction:column;gap:var(--s4)}.aside-photos{display:grid;gap:var(--s3)}.aside-photos img{display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow)}.sp-body{background:var(--bg-soft)}.videos-sec.soft{background:var(--white)}.sp-faqs{background:var(--white)}.sp-faqs .sp-faq{background:var(--bg-soft);border-color:#dbe9f3}.sp-faqs .sp-faq[open]{background:var(--white);border-color:var(--blue)}.sp-areas,.sp-locator{background:var(--bg-soft);border-radius:0}.sp-body,.sp-faqs,.sp-areas{border-top:1px solid var(--line)}.sp-available{padding-block:var(--s5);border-top:1px solid var(--line);text-align:center}.sp-available p{margin:0;font-size:1.1rem;font-weight:600;color:var(--ink)}.sp-available a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:.2em}.sp-locator{position:relative;isolation:isolate;background:linear-gradient(165deg,#04304f 0%,#0b6ea8 100%);color:#fff;border-radius:0;overflow:clip}.sp-locator .wrap{position:relative;z-index:1}.sp-locator h2{color:#fff}.sp-locator .section-lede{color:rgba(255,255,255,.78)}.sp-locator .team-search{border-color:transparent;background:#fff}.sp-locator .team-search:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.sp-locator .team-filter-count{color:rgba(255,255,255,.8)}.loc-stats{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s6);margin:var(--s5) 0 0;padding:0}.loc-stats li{display:flex;flex-direction:column;line-height:1.1}.loc-stats strong{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--sun)}.loc-stats span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:.3rem}.loc-stage{display:grid;gap:var(--s5);grid-template-columns:1fr;margin-top:var(--s5)}@media (min-width:64rem){.loc-stage{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);align-items:stretch}}.loc-map{height:clamp(22rem,42vh,34rem);margin:0;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);overflow:hidden;background:#0f1b38;isolation:isolate;z-index:0;box-shadow:0 18px 44px rgba(0,0,0,.35)}.loc-nearest{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:var(--s5);margin:0;backdrop-filter:blur(2px)}.loc-nearest .sp-city-region{color:#fff;border-bottom-color:rgba(255,255,255,.18)}.loc-nearest .sp-city-list{grid-template-columns:1fr}.loc-nearest .sp-city-list a{color:#fff}.loc-nearest .sp-city-list a:hover{background:rgba(255,255,255,.1);color:var(--sun)}.loc-nearest .loc-distance{color:var(--sun)}.loc-nearest .team-group-count{background:var(--sun);color:var(--navy);border-color:var(--sun)}.sp-locator .loc-all{border-top-color:rgba(255,255,255,.16)}.sp-locator .loc-all-toggle{color:var(--sun)}.sp-locator .sp-city-region{color:#fff;border-bottom-color:rgba(255,255,255,.14)}.sp-locator .sp-city-list a{color:rgba(255,255,255,.92)}.sp-locator .sp-city-list a:hover{background:rgba(255,255,255,.1);color:var(--sun)}.sp-locator .team-group-count{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}.sp-locator .loc-status{background:rgba(255,255,255,.08);border-left-color:var(--sun);color:#fff}.sp-locator .team-empty{color:rgba(255,255,255,.75)}.loc-map .leaflet-container{font:inherit;background:#0b1430}.loc-map .leaflet-control-zoom a{background:#fff;color:var(--navy);border:0;font-weight:700;width:2rem;height:2rem;line-height:2rem}.loc-map .leaflet-control-zoom a:hover{background:var(--sun);color:var(--navy)}.loc-map .leaflet-bar{border:0;box-shadow:0 2px 10px rgba(0,0,0,.3);border-radius:var(--r-sm);overflow:hidden}.loc-map .leaflet-control-attribution{background:rgba(255,255,255,.88);font-size:.65rem;padding:.1rem .4rem}.loc-map .leaflet-popup-content-wrapper{background:var(--white);color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:0}.loc-map .leaflet-popup-content{margin:0;padding:var(--s4);font-size:.92rem;line-height:1.45}.loc-map .leaflet-popup-content strong{display:block;font-size:1rem;margin-bottom:.15rem}.loc-map .leaflet-popup-content a{color:var(--blue-deep);font-weight:700;text-decoration:none}.loc-map .leaflet-popup-content a:hover{text-decoration:underline}.loc-map .leaflet-popup-tip{background:var(--white)}.loc-map .leaflet-popup-close-button{color:var(--muted);padding:.4rem .5rem 0 0}.loc-map .leaflet-interactive{transition:fill .15s ease,stroke-width .15s ease}.loc-map .leaflet-interactive:hover,.loc-map .leaflet-interactive:focus{fill:var(--sun);stroke:#fff;stroke-width:3}@keyframes loc-pulse{0%{r:8;opacity:1}60%{r:16;opacity:.25}100%{r:8;opacity:1}}@media (prefers-reduced-motion:no-preference){.loc-map .loc-you{animation:loc-pulse 2.4s ease-in-out 3}}.sp-locator .wrap{text-align:center}.sp-locator .section-lede{margin-inline:auto}.loc-controls{justify-content:center}.loc-controls .team-filter-count{text-align:center}.loc-stats{justify-content:center}.sp-locator .loc-status{text-align:left}.loc-stage:has([data-loc-nearest][hidden]){grid-template-columns:1fr}.loc-stage:has([data-loc-nearest][hidden]) .loc-map{height:clamp(24rem,48vh,38rem)}.loc-nearest,.sp-city-groups,.loc-all{text-align:left}.loc-map .leaflet-tile{filter:invert(1) hue-rotate(182deg) brightness(.76) contrast(1.22) saturate(1.1)}.loc-map .leaflet-marker-pane,.loc-map .leaflet-overlay-pane,.loc-map .leaflet-popup-pane,.loc-map .leaflet-control-container{filter:none}.sp-body,.sp-faqs,.sp-areas,.videos-sec.soft{padding-block:clamp(var(--s6),4vw,var(--s8))}.hero .wave{display:none}.videos-sec.soft{padding-top:var(--s6)}.js-reveal .reveal-up{opacity:0;transform:translateY(18px)}.js-reveal .reveal-up.is-in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}.js-reveal .loc-stage.is-in{transition-delay:.12s}@media (prefers-reduced-motion:no-preference){.loc-map .leaflet-interactive{animation:loc-dot .45s var(--ease) both}}@keyframes loc-dot{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.js-reveal .reveal-up{opacity:1;transform:none;transition:none}}.loc-stats{gap:var(--s5);margin-top:var(--s6);padding:var(--s4) var(--s5);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);display:inline-flex}.loc-stats{gap:0}.loc-stats li{padding-inline:calc(var(--s4) + var(--s5) / 2);position:relative}.loc-stats li+li::before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:rgba(255,255,255,.2)}.loc-stats strong{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1}@media (max-width:39.99rem){.loc-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-inline:var(--s2);width:100%}.loc-stats li{padding-inline:var(--s2);align-items:center;text-align:center}.loc-stats span{line-height:1.3}}.loc-map{border:1px solid rgba(255,255,255,.22);box-shadow:0 26px 60px rgba(2,18,34,.48),0 2px 0 rgba(255,255,255,.12) inset}.loc-near{transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.loc-near:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.3)}.loc-near:active{transform:translateY(0)}.loc-near:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (prefers-reduced-motion:reduce){.loc-near{transition:none}.loc-near:hover{transform:none}.loc-map .leaflet-interactive{animation:none}}.sp-locator{position:relative}.sp-bg-art{position:absolute;inset:0;z-index:0;pointer-events:none;background-repeat:repeat;opacity:.32}@media (min-width:52rem){.sp-bg-art{background-image:url(https://puddlepools.com/wp-content/themes/puddle2026/assets/css/media/puffer-pattern.webp);background-size:1500px auto}}@media (prefers-reduced-motion:no-preference){.sp-bg-art{animation:puffer-drift 42s linear infinite}}@keyframes puffer-drift{from{background-position:0 0}to{background-position:1500px 1043px}}.sp-serve{padding-block:var(--s5);border-top:1px solid var(--line);text-align:center}.sp-serve h2{margin:0 0 var(--s3)}.sp-serve-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2)}.sp-serve-list a{display:inline-block;padding:.55rem 1rem;border:1px solid var(--line);border-radius:999px;color:var(--blue-deep);font-weight:600;text-decoration:none;background:var(--white,#fff)}.sp-serve-list a:hover,.sp-serve-list a:focus-visible{border-color:var(--blue-deep);text-decoration:underline;text-underline-offset:.2em}