/* Local SEO service pages: energetic layout. Styling only: no copy, headings or metadata are changed. */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;background:#fff;border:0;padding:0 max(48px,calc((100vw - 1164px)/2));overflow:clip}
.hero:before{content:"";position:absolute;right:max(0px,calc((100vw - 1500px)/2));top:50%;width:min(620px,46vw);aspect-ratio:1;translate:6% -50%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e4163a,#c8102e 55%,#8f0a20);z-index:0;animation:lppulse 8s ease-in-out infinite}
@keyframes lppulse{50%{scale:1.06}}
.hero .hero-inner{position:relative;z-index:1;max-width:none;margin:0;padding:84px 0 96px}
.hero .wrap.hero-inner{padding-left:0;padding-right:0}
.hero .eyebrow{display:inline-block;background:#171717;color:#fff;padding:9px 16px;border-radius:999px;letter-spacing:.14em;margin-bottom:6px}
.hero h1{font-size:clamp(58px,7vw,112px);line-height:.92;letter-spacing:-.06em;margin:20px 0 26px;font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;font-weight:900}
.hero h1 span,.hero h1 i{display:inline-block;background:#c8102e;color:#fff;padding:.02em .16em .08em;border-radius:.12em;rotate:-1.5deg;margin-top:.08em;font-style:normal}
.hero p{font-size:19px;color:#3b3b3b;max-width:560px}
.hero .micro{font-size:13px!important;color:#666!important}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 14px}
.hero .actions .btn:not(.secondary){animation:lpglow 2.6s 1.4s ease-in-out infinite}
@keyframes lpglow{0%,100%{box-shadow:0 12px 26px rgba(200,16,46,.32)}50%{box-shadow:0 12px 26px rgba(200,16,46,.32),0 0 0 14px rgba(200,16,46,.14)}}
/* hero visual (decorative only) */
.lp-visual{position:relative;z-index:1;justify-self:center;width:min(440px,100%);margin:50px 0}
.lp-photo{margin:0;position:relative;rotate:2.5deg}
.lp-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border:9px solid #fff;border-radius:30px;box-shadow:0 34px 70px rgba(0,0,0,.34)}
.lp-photo.wide img{aspect-ratio:1/1;object-position:50% 40%}
.lp-pool{position:relative;aspect-ratio:4/5;rotate:2.5deg;border:9px solid #fff;border-radius:30px;box-shadow:0 34px 70px rgba(0,0,0,.34);overflow:hidden;background:linear-gradient(180deg,#0b2f4a,#0a4a6e 45%,#1b7aa6)}
.lp-pool i{position:absolute;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0 26px,transparent 26px 44px)}
.lp-pool i:nth-child(1){top:20%}.lp-pool i:nth-child(2){top:40%}.lp-pool i:nth-child(3){top:60%}.lp-pool i:nth-child(4){top:80%}
.lp-pool b{position:absolute;left:-10%;right:-10%;height:22%;background:radial-gradient(60% 100% at 50% 100%,rgba(255,255,255,.22),transparent 70%);animation:lpwave 6s ease-in-out infinite}
.lp-pool b:nth-of-type(1){top:6%}.lp-pool b:nth-of-type(2){top:46%;animation-delay:-2s}.lp-pool b:nth-of-type(3){top:78%;animation-delay:-4s}
@keyframes lpwave{50%{translate:6% 0}}
.lp-pool em{position:absolute;left:50%;top:50%;translate:-50% -50%;width:62%;aspect-ratio:1;border-radius:50%;background:#c8102e;box-shadow:0 0 0 12px rgba(255,255,255,.2)}
.lp-pool em:after{content:"";position:absolute;inset:26%;border-radius:50%;border:6px solid #fff;border-bottom-color:transparent;rotate:-30deg}
.lp-badge{position:absolute;font:800 13px/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;padding:15px 20px;border-radius:999px;box-shadow:0 14px 28px rgba(0,0,0,.28);animation:lpfloat 5s ease-in-out infinite}
.lp-badge.a{left:-34px;bottom:70px;background:#171717;color:#fff;rotate:-5deg}
.lp-badge.b{right:-22px;top:40px;background:#fff;color:#c8102e;rotate:4deg;animation-delay:-2s}
@keyframes lpfloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
/* content bands */
.wrap.content{max-width:none;padding:0}
.content>section{padding:96px max(48px,calc((100vw - 1164px)/2));margin:0}
.content>section:nth-child(1){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:70px;align-items:start;background:#fff}
.content>section:nth-child(1) .eyebrow{grid-column:1;color:#c8102e;margin-bottom:-50px}
.content>section:nth-child(1) h2{grid-column:1;font-size:clamp(46px,5.4vw,84px);line-height:.96;letter-spacing:-.05em}
.content>section:nth-child(1)>p{grid-column:2;grid-row:1 / span 3;font-size:19px;color:#3b3b3b;margin:0 0 20px}
.content>section:nth-child(1)>p+p{grid-row:auto}
.content>section:nth-child(2){background:#171717;color:#fff;border-radius:48px 48px 0 0}
.content>section:nth-child(2) h2{font-size:clamp(42px,5vw,76px);color:#fff;line-height:.98;letter-spacing:-.05em}
.content>section:nth-child(2) p,.content>section:nth-child(2) li{color:#e6e6e6;font-size:18px}
.content>section:nth-child(2) ul{list-style:none;counter-reset:lp;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:0;margin:30px 0}
.content>section:nth-child(2) li{counter-increment:lp;position:relative;background:rgba(255,255,255,.07);border-radius:22px;padding:70px 26px 26px;transition:translate .25s,background .25s}
.content>section:nth-child(2) li:before{content:counter(lp,decimal-leading-zero);position:absolute;left:26px;top:20px;font:900 40px/1 'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;color:#ff5470}
.content>section:nth-child(2) li:hover{translate:0 -8px;background:rgba(255,255,255,.14)}
.content>section:nth-child(2) .btn.secondary{background:#fff;color:#171717;border-color:#fff}
.content>section:nth-child(3){background:linear-gradient(135deg,#e4163a,#c8102e 45%,#8f0a20);color:#fff;position:relative;overflow:hidden}
.content>section:nth-child(3):after{content:"";position:absolute;right:-6%;top:-30%;width:520px;aspect-ratio:1;border-radius:50%;border:44px dashed rgba(255,255,255,.14);animation:lpspin 60s linear infinite;pointer-events:none}
@keyframes lpspin{to{rotate:360deg}}
.content>section:nth-child(3)>*{position:relative;z-index:1;max-width:760px}
.content>section:nth-child(3) h2{font-size:clamp(46px,5.6vw,88px);color:#fff;line-height:.96;letter-spacing:-.05em}
.content>section:nth-child(3) p{color:#fff;font-size:19px}
.content>section:nth-child(3) .btn{background:#fff;color:#c8102e;border-color:#fff;font-size:17px;padding:20px 34px}
.content>section:nth-child(3) .btn:hover{background:#171717;color:#fff;border-color:#171717}
.content>section:nth-child(3) .btn.secondary{background:transparent;color:#fff;border:2px solid #fff;box-shadow:none}
.content>section:nth-child(3) .btn.secondary:hover{background:#fff;color:#c8102e}
.content>section:nth-child(3) .eyebrow{color:#fff}
.content>section:nth-child(2) .note,.content>section:nth-child(3) .note{background:rgba(255,255,255,.12);border:0;border-left:8px solid #fff;border-radius:18px;color:#fff;padding:22px 26px;margin:24px 0;max-width:760px}
.content>section:nth-child(2) .note{border-left-color:#ff5470}
.content>section:nth-child(4){background:#f5f4f1;padding-bottom:110px}
.content>section:nth-child(4) h2{font-size:clamp(40px,4.6vw,68px);letter-spacing:-.05em;line-height:1}
.content>section:nth-child(4) .eyebrow{color:#c8102e}
.service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.service-links a{display:flex;align-items:center;justify-content:space-between;min-height:130px;padding:26px 28px;border-radius:24px;background:#fff;border:0;border-top:6px solid #171717;font:900 24px/1.15 'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;letter-spacing:-.03em;text-decoration:none;box-shadow:0 14px 30px rgba(0,0,0,.1);transition:translate .25s,background .25s,color .25s,box-shadow .25s}
.service-links a:hover,.service-links a[aria-current=page]{background:#c8102e;color:#fff;border-top-color:#8f0a20;translate:0 -8px;box-shadow:0 24px 44px rgba(200,16,46,.35)}
.btn{border-radius:999px;font-weight:800;padding:16px 28px;box-shadow:0 12px 26px rgba(200,16,46,.28)}
.btn.secondary{box-shadow:none}
/* floating call to action (repeats the existing primary link text) */
.lp-float{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:10px;background:#c8102e;color:#fff;font-weight:800;font-size:15px;padding:16px 24px;border-radius:999px;text-decoration:none;box-shadow:0 16px 34px rgba(200,16,46,.5);translate:0 120px;opacity:0;transition:translate .4s,opacity .4s,background .2s}
.lp-float.show{translate:0 0;opacity:1}
.lp-float:hover{background:#8f0a20}
/* reveal */
.js-lp [data-lp]{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js-lp [data-lp].in{opacity:1;transform:none}
@media(max-width:900px){
 .hero{grid-template-columns:1fr;padding:0 24px;gap:0}.hero:before{width:96vw;right:-30%;top:auto;bottom:-4%;translate:0 0}
 .hero .hero-inner{padding:44px 0 20px}.lp-visual{width:min(320px,86%);margin:16px auto 56px}
 .lp-badge.a{left:-10px;bottom:50px}.lp-badge.b{right:-6px;top:26px}
 .content>section{padding:64px 24px}.content>section:nth-child(1){grid-template-columns:1fr;gap:20px}.content>section:nth-child(1) .eyebrow{margin-bottom:0}
 .content>section:nth-child(1)>p{grid-column:1;grid-row:auto}
 .content>section:nth-child(2){border-radius:34px 34px 0 0}
 .service-links{grid-template-columns:1fr}.service-links a{min-height:90px}
 .hero .actions .btn{width:100%}.lp-float{left:16px;right:16px;justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js-lp [data-lp]{opacity:1;transform:none}.lp-float{translate:0 0;opacity:1}}
/* first section: heading left, both paragraphs stacked right, no gap */
.content>section:nth-child(1)>p{grid-row:auto}
.content>section:nth-child(1)>.eyebrow{grid-row:1}
.content>section:nth-child(1)>h2{grid-row:2}
.content>section:nth-child(1)>p:nth-of-type(1){grid-column:2;grid-row:1 / span 2;align-self:end}
.content>section:nth-child(1)>p:nth-of-type(2){grid-column:2;grid-row:3;align-self:start}
.content>section:nth-child(1){row-gap:0;column-gap:70px}
.content>section:nth-child(1)>h2{margin:0 0 0}
.content>section:nth-child(1) .eyebrow{margin-bottom:10px}
.content>section:nth-child(2) .note{max-width:none}
.content>section:nth-child(2) ul+.note{margin-top:0}
@media(max-width:900px){.content>section:nth-child(1)>p:nth-of-type(1),.content>section:nth-child(1)>p:nth-of-type(2){grid-column:1;grid-row:auto}}
.lp-pool{overflow:visible}
.lp-pool>i,.lp-pool>b,.lp-pool>em{pointer-events:none}
.lp-pool-clip{position:absolute;inset:0;border-radius:21px;overflow:hidden}
/* pool scene */
.lp-pool{background:#0b78b0;overflow:visible}
.lp-pool-clip{position:absolute;inset:0;border-radius:21px;overflow:hidden}
.lp-pool-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.lp-pool .caus{animation:lpcaus 7s ease-in-out infinite}
.lp-pool .swimmer{animation:lpglide 9s ease-in-out infinite}
.lp-pool .ripple{animation:lpglide 9s ease-in-out infinite;transform-box:fill-box}
.lp-pool .arm1{animation:lparm 1.4s ease-in-out infinite;transform-origin:-12px -8px}
.lp-pool .arm2{animation:lparm 1.4s ease-in-out infinite reverse;transform-origin:12px 6px}
@keyframes lpcaus{50%{translate:12px 8px;opacity:.7}}
@keyframes lpglide{0%,100%{translate:0 0}50%{translate:150px 40px}}
@keyframes lparm{50%{rotate:-18deg}}
.lp-pool>i,.lp-pool>b,.lp-pool>em{display:none}
.lp-pool{aspect-ratio:4/5}
/* shared homepage footer inside local pages */
.site-footer .wrap{max-width:1260px;padding:0 48px}
/* landscape pool photo */
.lp-visual:has(.lp-landscape){width:min(560px,100%)}
.lp-photo.lp-landscape img{aspect-ratio:3/2;object-fit:cover;object-position:50% 50%}
@media(max-width:900px){.lp-visual:has(.lp-landscape){width:min(360px,90%)}}
