/* Daylight pool reference: artwork behind native text, amenity icons and a live CTA. */
.spu.spu-full{position:relative;isolation:isolate;box-sizing:border-box;width:calc(100% - clamp(32px,6vw,96px));max-width:1400px;height:clamp(680px,calc((100vw - 96px)*.5628),788px);min-height:0;padding:0;margin:80px auto 0;overflow:hidden;background:transparent;color:#073b57}
.spu-full *{box-sizing:border-box}
.spu-full .spu__background{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none}
.spu-full .spu__copy{position:absolute;z-index:2;left:8.6%;top:13.4%;width:44%;margin:0;padding:0;text-align:left;text-shadow:none;user-select:text}
.spu-full .spu__eyebrow{display:flex;align-items:center;gap:18px;width:82%;max-width:540px;margin:0;padding:0;font:600 clamp(14px,1.55vw,24px)/1.4 "Univers Next",Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#073b57;white-space:nowrap}
.spu-full .spu__eyebrow::before,.spu-full .spu__eyebrow::after{content:"";height:1px;flex:1;background:#073b57;min-width:24px}
.spu-full #spu-title{margin:28px 0 0;padding:0;font:400 clamp(48px,5.2vw,98px)/1.06 "Libre Baskerville",Georgia,serif;letter-spacing:-.035em;color:#073b57}
.spu-full #spu-title span{display:block}
.spu-full .spu__wave{display:block;width:72%;max-width:460px;height:auto;margin:20px 0 0}
.spu-full .spu__description{max-width:72%;margin:28px 0 0;padding:0;font:400 clamp(21px,1.8vw,30px)/1.45 "HP Text",Arial,sans-serif;letter-spacing:normal;color:#172e3b;text-wrap:pretty}
.spu-full .spu__features{position:absolute;z-index:2;left:15%;bottom:9.5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:43%;list-style:none;padding:0;margin:0}
.spu__features li{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:0 12px;font:400 clamp(18px,1.55vw,26px)/1.2 "HP Text",Arial,sans-serif;color:#073b57}
.spu__features li+li{border-left:1px solid #087f8c90}
.spu__features svg{width:clamp(50px,4.4vw,76px);height:clamp(50px,4.4vw,76px);fill:none;stroke:#087b86;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.spu__amenities-link{position:absolute;z-index:2;left:61%;bottom:10.5%;display:flex;justify-content:center;align-items:center;gap:16px;width:26%;max-width:460px;min-height:64px;padding:16px 22px;border:1px solid #006372;border-radius:7px;background:linear-gradient(120deg,#007e8a,#006b79);color:#fff;font:600 clamp(14px,1.25vw,21px)/1.2 "Univers Next",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff15;transition:background .2s}
.spu__amenities-link svg{width:25px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
.spu__amenities-link:hover{background:#005e6b;color:#fff}
.spu__amenities-link:focus-visible{outline:3px solid #073b57;outline-offset:5px}
.spu__mobile-scene{display:none}
@media(min-width:901px) and (max-width:1150px){
 .spu-full .spu__copy{top:12%;left:7%;width:47%}
 .spu-full #spu-title{font-size:52px}
 .spu-full .spu__description{font-size:22px;max-width:86%}
 .spu-full .spu__eyebrow{font-size:15px;gap:12px}
 .spu__amenities-link{width:30%;left:62%;font-size:13px;gap:10px;padding-inline:12px}
}
@media(max-width:900px){
 .spu.spu-full{height:auto;margin-top:56px;padding:40px 28px 44px}
 .spu-full .spu__background{display:none}
 .spu-full .spu__copy{position:relative;inset:auto;width:100%;max-width:650px;margin:0 auto}
 .spu-full .spu__eyebrow{width:100%;max-width:440px;font-size:16px;gap:16px}
 .spu-full #spu-title{font-size:clamp(39px,6.6vw,58px);margin-top:24px}
 .spu-full .spu__description{max-width:580px;font-size:23px;margin-top:24px}
 .spu-full .spu__wave{width:72%;max-width:360px;margin-top:16px}
 .spu__mobile-scene{position:relative;display:block;width:calc(100% + 56px);margin:24px -28px 0;overflow:hidden}
 .spu__mobile-scene svg{display:block;width:100%;height:auto}
 .spu__mobile-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#faf7f0 0%,rgba(250,247,240,.94) 3%,rgba(250,247,240,.68) 6%,rgba(250,247,240,.32) 9%,rgba(250,247,240,.06) 12%,rgba(250,247,240,0) 15%,rgba(250,247,240,0) 80%,rgba(250,247,240,.06) 84%,rgba(250,247,240,.32) 88%,rgba(250,247,240,.68) 92%,rgba(250,247,240,.94) 96%,#faf7f0)}
 .spu-full .spu__features{position:relative;inset:auto;width:100%;max-width:640px;margin:20px auto 0}
 .spu__features li{font-size:20px;gap:12px}.spu__features svg{width:60px;height:60px}
 .spu__amenities-link{position:relative;inset:auto;width:max-content;max-width:100%;margin:30px auto 0;padding:18px 26px;font-size:15px;min-height:58px}
}
@media(max-width:540px){
 .spu.spu-full{padding:32px 24px 36px}
 .spu-full .spu__eyebrow{font-size:12px;letter-spacing:.2em;gap:12px}
 .spu-full #spu-title{font-size:clamp(30px,9.8vw,45px)}
 .spu-full .spu__description{font-size:21px;line-height:1.4}
 .spu__mobile-scene{width:calc(100% + 48px);margin-inline:-24px}
 .spu__features li{font-size:16px;gap:10px;padding-inline:7px}.spu__features svg{width:47px;height:47px}
 .spu__amenities-link{font-size:12px;letter-spacing:.12em;padding-inline:22px;gap:14px}
}
@media(prefers-reduced-motion:reduce){.spu__amenities-link{transition:none}}

.spu__nowrap{white-space:nowrap}

/* The artwork dissolves into the same measured sand-to-white canvas as the page.
   Only the decorative veil is masked; all native text and controls sit above it. */
.spu.spu-daylight{--pool-fade-x:linear-gradient(to right,rgba(255,255,255,1) 0%,rgba(255,255,255,0.99) 2.2%,rgba(255,255,255,0.94) 4.4%,rgba(255,255,255,0.84) 6.6%,rgba(255,255,255,0.68) 8.8%,rgba(255,255,255,0.5) 11%,rgba(255,255,255,0.32) 13.2%,rgba(255,255,255,0.16) 15.4%,rgba(255,255,255,0.06) 17.6%,rgba(255,255,255,0.01) 19.8%,rgba(255,255,255,0) 22%,rgba(255,255,255,0) 78%,rgba(255,255,255,0.01) 80.2%,rgba(255,255,255,0.06) 82.4%,rgba(255,255,255,0.16) 84.6%,rgba(255,255,255,0.32) 86.8%,rgba(255,255,255,0.5) 89%,rgba(255,255,255,0.68) 91.2%,rgba(255,255,255,0.84) 93.4%,rgba(255,255,255,0.94) 95.6%,rgba(255,255,255,0.99) 97.8%,rgba(255,255,255,1) 100%);--pool-fade-y:linear-gradient(to bottom,rgba(255,255,255,1) 0%,rgba(255,255,255,0.99) 2.4%,rgba(255,255,255,0.94) 4.8%,rgba(255,255,255,0.84) 7.2%,rgba(255,255,255,0.68) 9.6%,rgba(255,255,255,0.5) 12%,rgba(255,255,255,0.32) 14.4%,rgba(255,255,255,0.16) 16.8%,rgba(255,255,255,0.06) 19.2%,rgba(255,255,255,0.01) 21.6%,rgba(255,255,255,0) 24%,rgba(255,255,255,0) 76%,rgba(255,255,255,0.01) 78.4%,rgba(255,255,255,0.06) 80.8%,rgba(255,255,255,0.16) 83.2%,rgba(255,255,255,0.32) 85.6%,rgba(255,255,255,0.5) 88%,rgba(255,255,255,0.68) 90.4%,rgba(255,255,255,0.84) 92.8%,rgba(255,255,255,0.94) 95.2%,rgba(255,255,255,0.99) 97.6%,rgba(255,255,255,1) 100%)}
body.pd-coastal-canvas .spu-daylight::after,
body.pd-coastal-canvas .spu-daylight .spu__mobile-scene::after{
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background-image:var(--pd-flow-paint);background-color:#fff;
 background-size:100% var(--pd-flow-height);background-position:0 calc(-1 * var(--pd-flow-y,0px));background-repeat:no-repeat;
 -webkit-mask-image:var(--pool-fade-x),var(--pool-fade-y);mask-image:var(--pool-fade-x),var(--pool-fade-y);
 -webkit-mask-composite:source-over;mask-composite:add;
}
@media(max-width:900px){
 .spu.spu-daylight{width:calc(100% - 32px);--pool-fade-x:linear-gradient(to right,rgba(255,255,255,1) 0%,rgba(255,255,255,0.99) 1.6%,rgba(255,255,255,0.94) 3.2%,rgba(255,255,255,0.84) 4.8%,rgba(255,255,255,0.68) 6.4%,rgba(255,255,255,0.5) 8%,rgba(255,255,255,0.32) 9.6%,rgba(255,255,255,0.16) 11.2%,rgba(255,255,255,0.06) 12.8%,rgba(255,255,255,0.01) 14.4%,rgba(255,255,255,0) 16%,rgba(255,255,255,0) 84%,rgba(255,255,255,0.01) 85.6%,rgba(255,255,255,0.06) 87.2%,rgba(255,255,255,0.16) 88.8%,rgba(255,255,255,0.32) 90.4%,rgba(255,255,255,0.5) 92%,rgba(255,255,255,0.68) 93.6%,rgba(255,255,255,0.84) 95.2%,rgba(255,255,255,0.94) 96.8%,rgba(255,255,255,0.99) 98.4%,rgba(255,255,255,1) 100%)}
 body.pd-coastal-canvas .spu-daylight::after{display:none}
}

/* Reverse the desktop composition: pool artwork left, native content right. */
@media(min-width:901px){
 .spu-daylight .spu__background{width:58%;object-fit:cover;object-position:center 75%;transform:none;filter:none}
 .spu-daylight .spu__copy{left:54%;right:auto;width:40%}
 .spu-daylight .spu__description{max-width:90%}
 .spu-daylight .spu__features{left:54%;width:40%}
}

@media(min-width:901px){.spu.spu-daylight{--pool-fade-x:linear-gradient(to right,rgba(255,255,255,1.000) 0%,rgba(255,255,255,0.990) 2.2%,rgba(255,255,255,0.940) 4.4%,rgba(255,255,255,0.840) 6.6%,rgba(255,255,255,0.680) 8.8%,rgba(255,255,255,0.500) 11%,rgba(255,255,255,0.320) 13.2%,rgba(255,255,255,0.160) 15.4%,rgba(255,255,255,0.060) 17.6%,rgba(255,255,255,0.010) 19.8%,rgba(255,255,255,0.000) 22%,rgba(255,255,255,0.000) 32%,rgba(255,255,255,0.010) 34.6%,rgba(255,255,255,0.060) 37.2%,rgba(255,255,255,0.160) 39.8%,rgba(255,255,255,0.320) 42.4%,rgba(255,255,255,0.500) 45%,rgba(255,255,255,0.680) 47.6%,rgba(255,255,255,0.840) 50.2%,rgba(255,255,255,0.940) 52.8%,rgba(255,255,255,0.990) 55.4%,rgba(255,255,255,1.000) 58%,rgba(255,255,255,1) 100%)}}

/* Near-clear sand at the top eases smoothly to the established 35% opacity below. */
body.pd-coastal-canvas .spu.spu-daylight{
 --pool-panel-paint:linear-gradient(180deg,rgba(250,247,240,0.0200) 0%,rgba(250,247,240,0.0228) 8%,rgba(250,247,240,0.0391) 16%,rgba(250,247,240,0.0738) 24%,rgba(250,247,240,0.1248) 32%,rgba(250,247,240,0.1850) 40%,rgba(250,247,240,0.2452) 48%,rgba(250,247,240,0.2962) 56%,rgba(250,247,240,0.3309) 64%,rgba(250,247,240,0.3472) 72%,rgba(250,247,240,0.3500) 80%,rgba(250,247,240,.35) 100%),linear-gradient(#fff,#fff);
 background-image:var(--pool-panel-paint);background-color:#fff;border-radius:0;
}
body.pd-coastal-canvas .spu-daylight::after,
body.pd-coastal-canvas .spu-daylight .spu__mobile-scene::after{
 background-image:var(--pool-panel-paint);background-color:#fff;
 background-size:100% var(--pool-panel-height,100%);
 background-position:0 calc(-1 * var(--pool-panel-y,0px));
}

/* Sky-edited photograph already contains its final sky color. */
.spu.spu-daylight .spu__background,
.spu-daylight .spu__mobile-scene>svg{filter:none}

/* Longer, gently eased top veil blends the pale clouds into the canvas. */
.spu.spu-daylight{--pool-fade-y:linear-gradient(to bottom,rgba(255,255,255,1.0000) 0%,rgba(255,255,255,0.9914) 2.8%,rgba(255,255,255,0.9421) 5.6%,rgba(255,255,255,0.8369) 8.4%,rgba(255,255,255,0.6826) 11.2%,rgba(255,255,255,0.5000) 14%,rgba(255,255,255,0.3174) 16.8%,rgba(255,255,255,0.1631) 19.6%,rgba(255,255,255,0.0579) 22.4%,rgba(255,255,255,0.0086) 25.2%,rgba(255,255,255,0.0000) 28%,rgba(255,255,255,0) 76%,rgba(255,255,255,0.0086) 78.4%,rgba(255,255,255,0.0579) 80.8%,rgba(255,255,255,0.1631) 83.2%,rgba(255,255,255,0.3174) 85.6%,rgba(255,255,255,0.5000) 88%,rgba(255,255,255,0.6826) 90.4%,rgba(255,255,255,0.8369) 92.8%,rgba(255,255,255,0.9421) 95.2%,rgba(255,255,255,0.9914) 97.6%,rgba(255,255,255,1.0000) 100%)}
