@font-face{font-family:"Ubuntu";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/ubuntu-500.woff2") format("woff2")}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/ubuntu-700.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/open-sans-400.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/open-sans-600.woff2") format("woff2")}
:root{--brand:#3fa9f4;--button:#197bb7;--blue:#176b9d;--heading:#2186c4;--deep:#10354d;--ink:#243b49;--muted:#526570;--light:#f3f9fd;--line:#dae8f1;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:"Open Sans",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}p{margin:0 0 1.3em;color:var(--muted)}h1,h2,h3{line-height:1.13;letter-spacing:-.045em;margin:0 0 .65em;font-weight:600}h1{font-size:clamp(42px,5.4vw,78px)}h2{font-size:clamp(30px,3.2vw,45px)}h3{font-size:23px;letter-spacing:-.025em}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{color:var(--blue)}.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;background:#fff;padding:14px;z-index:100}.skip:focus{top:10px}.topbar{background:var(--light);color:var(--muted);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.02em}.topbar .wrap{display:flex;justify-content:space-between;padding-block:8px}.topbar .wrap>div{display:flex;gap:28px}.topbar a:hover{color:var(--blue);text-decoration:underline}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navrow{display:flex;align-items:center;justify-content:space-between;min-height:101px;gap:30px}.brand{width:150px;flex-shrink:0}.brand img{width:150px;height:72px;object-fit:contain}.logo-pending{font-size:12px;line-height:1.4;padding:8px;border:1px dashed var(--line);color:var(--muted)}header nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}header nav>a:not(.button){padding-block:20px;white-space:nowrap}header nav>a.active{color:var(--blue)}.languages{display:flex;gap:9px;margin-left:5px;font-size:11px}.languages a{padding-block:14px}.languages a[aria-current]{color:var(--blue);text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 23px;font-size:13px;font-weight:600;line-height:1.4;min-height:50px;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s}.button.primary{background:var(--button);color:var(--white)}.button.primary:hover{background:var(--blue);color:var(--white)}.button.secondary{color:var(--ink);border-color:#788e9f;background:transparent}.button.secondary:hover{background:#edf3f7;border-color:var(--blue)}.button span{font-size:20px;line-height:1}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:665px;background:var(--white)}.hero-copy{padding:56px 50px 42px max(48px,calc((100vw - var(--max))/2));align-self:center}.hero-copy h1{color:var(--heading);margin:0 0 27px;white-space:normal}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:600;line-height:1.5;margin-bottom:23px;color:var(--blue)}.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:10px}.dot{width:7px;height:7px;display:inline-block;background:var(--brand);border-radius:50%;flex-shrink:0}.hero-copy h2{font-size:20px;letter-spacing:-.02em}.lead{font-size:18px;line-height:1.7;max-width:650px}.hero .lead{max-width:410px;font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-note{font-size:11px;color:var(--muted);display:flex;gap:12px;align-items:center;margin-top:56px}.rule{height:1px;width:30px;background:var(--brand)}.hero-image{position:relative;min-width:0;background:#edf3f7;overflow:hidden}.photo{position:relative;margin:0;background:#edf3f7;min-height:280px;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo figcaption{padding:30px;color:var(--deep);font-size:13px;position:absolute;inset:0;place-content:center;text-align:center;border:1px dashed #96b4c6}.photo figcaption[hidden]{display:none}.hero-image .photo{height:100%;min-height:665px}.hero-image .photo img{object-position:48% center}.photo-label{position:absolute;bottom:30px;left:32px;right:32px;background:#fff;padding:19px 22px;display:flex;align-items:center;gap:16px;font-size:12px;box-shadow:0 4px 25px #1939530d}.photo-label>span{color:var(--blue);font-size:35px;line-height:1}.audiences{padding-block:87px 92px}.sectionintro{max-width:700px}.sectionintro p{max-width:590px}.sectionintro .eyebrow{margin-bottom:15px}.audiencegrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;gap:35px}.audienceitem{border-top:1px solid var(--line);padding-top:26px}.audienceitem svg{color:var(--blue);margin-bottom:20px}.audienceitem h3{font-size:24px}.audienceitem p{font-size:15px;max-width:330px;margin:0}.services{background:var(--light);padding-block:95px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.split>div{min-width:0}.split h2{max-width:510px}.split p{max-width:440px}.servicelist{padding-top:10px}.serviceline{padding:28px 0;border-top:1px solid #bdceda;display:grid;grid-template-columns:30px 1fr 24px;gap:20px;align-items:baseline}.serviceline:last-child{border-bottom:1px solid #bdceda}.serviceline>span:first-child{font-size:11px;color:var(--blue)}.serviceline h3{font-size:22px;line-height:1.35;letter-spacing:-.025em;margin:0}.serviceline>span:last-child{color:var(--blue);font-size:24px}.waterrow{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:90px;align-items:center}.waterrow .photo{min-height:420px;border-radius:4px}.waterrow h2{font-size:34px}.waterrow p{font-size:15px}.textlink{font-size:13px;display:inline-block;color:var(--blue);font-weight:600;border-bottom:1px solid var(--blue);padding-bottom:4px}.textlink:hover{color:var(--deep)}.others-title{margin-top:95px;font-size:32px}.othersgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 36px;margin-top:45px}.othersgrid article{border-top:1px solid #bdceda;padding-top:20px}.index{color:var(--blue);font-size:11px;display:block;margin-bottom:15px}.othersgrid h3{font-size:21px;max-width:300px;line-height:1.25}.othersgrid p{font-size:14px;max-width:340px;margin:0}.trust{padding-block:100px}.trustgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 40px;margin-top:48px}.trustgrid article{display:flex;align-items:flex-start;gap:14px}.check{color:var(--blue);border:1px solid #b9cdda;border-radius:50%;width:24px;height:24px;flex-shrink:0;text-align:center;font-size:13px;line-height:22px}.trustgrid h3{font-size:19px;line-height:1.3;margin-bottom:12px}.trustgrid p{font-size:14px;margin-bottom:0}.faq{background:var(--white);border-top:1px solid var(--line);padding-block:88px}details{border-top:1px solid #ccd9e2;padding:23px 0}details:last-child{border-bottom:1px solid #ccd9e2}summary{list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:16px;line-height:1.5;cursor:pointer;font-weight:600}summary::-webkit-details-marker{display:none}summary>span{color:var(--blue);font-size:22px;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:14px;max-width:none!important;padding-top:18px;margin:0}.cta{background:var(--light);color:var(--ink);border-top:1px solid var(--line);padding-block:73px}.cta p{color:var(--muted);margin-bottom:0}.cta .eyebrow{color:var(--blue);margin-bottom:20px}.cta h2{color:var(--deep);font-size:48px;max-width:620px}.ctalayout{display:flex;justify-content:space-between;gap:40px;align-items:center}.ctabuttons{display:flex;flex-direction:column;gap:12px;min-width:225px}.cta .primary{background:var(--button);color:var(--white)}.cta .primary:hover{background:var(--blue);color:var(--white)}.cta .secondary{color:var(--ink);border-color:#788e9f}.cta .secondary:hover{background:#edf3f7;border-color:var(--blue)}footer{background:var(--deep);color:#fff;padding-block:56px 25px;font-size:12px}footer p{color:#bed0df;max-width:330px}footer .eyebrow{color:#91badc;margin-bottom:16px}.footergrid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding-bottom:42px}.footergrid>div>a,.footergrid>div>span{display:block;margin-bottom:9px;overflow-wrap:anywhere}.footergrid>div>span{color:#9ab3c7}.footername{font-size:16px;color:#fff;font-weight:600;line-height:1.35}.footerbottom{border-top:1px solid #34526c;padding-top:23px;display:flex;justify-content:space-between;gap:24px;color:#acc4d7;font-size:10px}.footerbottom>div{display:flex;flex-wrap:wrap;gap:16px}.footerbottom a:hover,footer a:hover{color:#fff;text-decoration:underline}.privacy-open{background:none;border:0;padding:0;color:inherit;font-size:inherit;cursor:pointer}.pagehero{background:var(--white);border-bottom:1px solid var(--line);padding-block:70px}.pagehero h1{max-width:990px;font-size:clamp(40px,4.6vw,65px)}.pagehero .lead{margin:0;max-width:760px}.pagehero .eyebrow{margin-bottom:20px}.about-content{display:grid;grid-template-columns:.8fr 1fr;gap:90px;padding-block:75px}.about-content>.photo{height:500px;position:sticky;top:130px}.prose h2{font-size:29px}.prose article+article{margin-top:40px}.prose p{font-size:16px}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-block:75px}.form-layout aside{padding-top:10px}.phone{display:block;font-size:36px;letter-spacing:-.04em;color:var(--blue);margin:22px 0 8px}.email{display:block;font-size:14px;overflow-wrap:anywhere;margin-bottom:27px}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fieldgrid>label{font-size:13px;font-weight:600;display:block}input:not([type=checkbox],[type=radio]){display:block;width:100%;padding:12px 14px;border:1px solid #a9bfcd;border-radius:3px;min-height:50px;background:#fff;color:var(--ink);margin-top:7px}input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:19px;height:19px;flex-shrink:0;margin:3px 0 0}.inline{display:flex;gap:12px;align-items:flex-start;font-size:13px}.inline a{text-decoration:underline;text-underline-offset:3px}fieldset{margin:24px 0;padding:16px 18px;border:1px solid var(--line);display:flex;gap:25px}legend{font-size:13px;padding-inline:6px}.consent{margin-top:26px}.fine{font-size:11px;margin-top:17px;line-height:1.65}.formnotice{background:var(--light);border-left:3px solid var(--blue);padding:16px 18px;font-size:12px;margin:25px 0}.formstatus{font-size:12px}.appointment{padding-block:60px 80px}.appointment>p{margin-top:25px;max-width:650px}.appointment>.photo{max-width:800px;margin-bottom:30px;min-height:400px}.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-block:70px 90px}.blogcard{border-top:2px solid var(--blue);padding-top:25px;display:flex;flex-direction:column}.blogcard .eyebrow{font-size:10px}.blogcard h2{font-size:28px;line-height:1.25}.blogcard p{font-size:14px}.blogcard .textlink{align-self:flex-start;margin-top:auto}.legalcopy{padding-block:50px 80px;max-width:850px;overflow-wrap:anywhere}.legalcopy h2{font-size:23px;letter-spacing:-.02em;margin-top:35px}.legalcopy p{font-size:14px}.legalcopy>.textlink{margin-bottom:30px}dialog{border:1px solid var(--line);border-radius:6px;padding:35px;max-width:min(550px,calc(100% - 36px));color:var(--ink)}dialog::backdrop{background:#06213e88}dialog h2{font-size:30px}dialog p{font-size:15px}[hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{padding-right:80px}.hero-image .photo{min-height:740px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.navrow{gap:20px}nav{gap:16px;font-size:12px}header nav .button{padding:12px 15px;gap:12px}.brand,.brand img{width:125px}.hero-copy{padding-left:32px;padding-right:28px}.hero h1{font-size:60px}.hero .eyebrow{font-size:9px}.split,.waterrow,.about-content,.form-layout{gap:48px}.hero-image .photo{min-height:630px}.hero{min-height:630px}.footergrid{gap:30px}}
@media(max-width:960px){.navrow{min-height:86px}.menu{display:flex;width:46px;height:46px;justify-content:center;align-items:center;flex-direction:column;gap:6px;background:none;border:1px solid var(--line);border-radius:3px}.menu span{display:block;width:21px;height:2px;background:var(--blue);transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}header nav{display:none;position:absolute;left:0;right:0;top:86px;background:#fff;padding:20px 32px 30px;box-shadow:0 16px 20px #102d4514;border-top:1px solid var(--line);flex-wrap:wrap;gap:5px 25px}header nav.open{display:flex}header nav>a:not(.button){padding:12px 0}.languages{margin-left:auto}.hero-copy{padding-top:48px;padding-bottom:32px}.hero h1{font-size:clamp(44px,6.5vw,60px)}.hero-copy h2{font-size:18px;line-height:1.4}.hero .lead{font-size:15px}.hero .eyebrow{font-size:9px;letter-spacing:.06em}.hero .actions{flex-direction:column;align-items:flex-start}.hero .actions .button{min-width:200px}.hero-note{margin-top:30px;font-size:10px}.hero-image .photo{min-height:620px}.photo-label{left:20px;right:20px;bottom:20px;padding:15px;font-size:10px}.audiencegrid{gap:24px}.audienceitem h3{font-size:22px}.audienceitem p{font-size:14px}.othersgrid,.trustgrid{grid-template-columns:1fr 1fr}.split,.waterrow{gap:36px}.waterrow .photo{min-height:400px}.waterrow h2{font-size:29px}.cta h2{font-size:40px}.footergrid{grid-template-columns:1fr 1fr}.footergrid>div:last-child{grid-column:2}.footerbottom{flex-direction:column}.bloggrid{grid-template-columns:1fr}.blogcard h2{font-size:30px}.blogcard{display:block}.about-content{grid-template-columns:.7fr 1fr;gap:35px}.about-content>.photo{height:400px}.form-layout{grid-template-columns:.7fr 1fr;gap:35px}.fieldgrid{grid-template-columns:1fr}.phone{font-size:30px}}
@media(max-width:600px){body{font-size:15px}.wrap{width:calc(100% - 40px)}.topbar .wrap{padding-block:7px}.topbar .wrap>span{font-size:9px}.topbar .wrap>div>a:first-child{display:none}.topbar{font-size:10px}.navrow{min-height:80px}.brand,.brand img{width:125px}.brand img{height:62px}header nav{top:80px;padding:16px 20px 24px;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 120px);overflow:auto}header nav>a:not(.button){border-bottom:1px solid var(--line);padding:12px 0;font-size:15px}.languages{margin:8px 0;gap:24px;justify-content:flex-start}.languages a{font-size:13px;padding:10px 5px}header nav .button{font-size:14px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:38px 20px 32px}.hero .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:23px}.hero h1{font-size:clamp(43px,11.6vw,66px);line-height:1.04;margin-bottom:24px}.hero-copy h2{font-size:19px;margin-bottom:12px}.hero .lead{font-size:15px;max-width:100%}.hero .actions{flex-direction:row;align-items:stretch;gap:10px;margin-top:24px}.hero .actions .button{min-width:0;gap:14px;padding:14px 16px;font-size:12px;flex:1}.hero-note{display:none}.hero-image .photo{height:300px;min-height:300px}.photo-label{padding:13px 16px;left:20px;right:20px;bottom:19px;font-size:11px}.audiences{padding-block:55px}.eyebrow{font-size:10px;margin-bottom:15px}h2{font-size:33px;line-height:1.17}.audiencegrid{grid-template-columns:1fr;margin-top:28px;gap:0}.audienceitem{display:grid;grid-template-columns:40px 1fr;padding:23px 0;gap:0 15px}.audienceitem svg{grid-row:1/3;margin:0}.audienceitem h3{font-size:23px;margin-bottom:9px}.audienceitem p{max-width:none}.audienceitem:last-child{padding-bottom:0}.services{padding-block:55px}.split,.waterrow{grid-template-columns:1fr;gap:32px}.serviceline{padding:21px 0;gap:12px;grid-template-columns:24px 1fr 20px}.serviceline h3{font-size:21px}.waterrow{margin-top:50px;gap:26px}.waterrow .photo{min-height:290px}.waterrow h2{font-size:31px}.others-title{font-size:29px;margin-top:55px}.othersgrid{grid-template-columns:1fr;gap:26px;margin-top:28px}.othersgrid article{display:grid;grid-template-columns:26px 1fr;gap:0 12px}.othersgrid .index{grid-row:1/3;line-height:26px}.othersgrid h3{max-width:none;margin-bottom:10px}.othersgrid p{max-width:none}.trust{padding-block:55px}.trustgrid{grid-template-columns:1fr;gap:28px;margin-top:32px}.trustgrid h3{font-size:21px}.faq{padding-block:55px}.faq .split{gap:26px}summary{font-size:15px}.cta{padding-block:48px}.ctalayout{display:block}.cta h2{font-size:39px;letter-spacing:-.045em}.cta p{font-size:14px}.ctabuttons{margin-top:28px;min-width:0;flex-direction:row;flex-wrap:wrap;gap:10px}.ctabuttons .button{flex:1;padding:14px 16px;font-size:12px;gap:12px}.footergrid{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.footergrid>div:last-child{grid-column:auto}.footergrid p{max-width:none}.footerbottom{gap:15px;font-size:10px}.footerbottom>div{gap:12px 17px}footer{padding-block:38px 24px}.pagehero{padding-block:43px}.pagehero h1{font-size:43px}.pagehero .lead{font-size:16px}.about-content,.form-layout{grid-template-columns:1fr;padding-block:40px;gap:30px}.about-content>.photo{position:relative;top:auto;height:280px}.prose h2{font-size:28px}.prose article+article{margin-top:30px}.form-layout aside{border-bottom:1px solid var(--line);padding-bottom:30px}.fieldgrid{gap:20px}.phone{font-size:34px}.bloggrid{padding-block:40px 55px;gap:30px}.blogcard h2{font-size:28px}.legalcopy{padding-block:30px 45px}.appointment{padding-block:35px 50px}.appointment>.photo{min-height:280px}.button{min-height:48px}input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px}html{scroll-padding-top:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Lucide 0.468.0 — consistent SVG geometry, no icon font or emoji glyphs. */
.icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex-shrink:0;stroke:currentColor;fill:none}
.button>.icon,.button>span>.icon{width:18px;height:18px}
.textlink .icon,.topbar .icon,.footergrid .icon{width:15px;height:15px;margin-left:5px}
.audienceitem>.icon{width:30px;height:30px}
.serviceline>span:last-child{display:flex;align-items:center}
.serviceline .icon{width:22px;height:22px}
.check{display:inline-flex;align-items:center;justify-content:center}
.check .icon{width:14px;height:14px}
.photo-label>span{display:flex;align-items:center}
.photo-label .icon{width:32px;height:32px}
summary>span{display:flex;align-items:center}
summary .icon{width:20px;height:20px}
.menu .icon{width:22px;height:22px}
.menu .icon-x{display:none}
.menu[aria-expanded=true] .icon-menu{display:none}
.menu[aria-expanded=true] .icon-x{display:block}
@media(max-width:600px){.audienceitem>.icon{grid-row:1/3;margin:0}}

/* The final invitation uses a light surface and one restrained brand accent. */
.cta .eyebrow::before{content:"";display:inline-block;width:24px;height:2px;margin-right:12px;background:var(--brand);vertical-align:middle}

/* Verified source brand: #3FA9F4. Darker UI shades are accessibility derivatives. */
.photo-label{z-index:2}
.water-toggle{position:absolute;z-index:3;top:auto;bottom:40px;right:32px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#fff;color:var(--blue);border:0;border-radius:50%;cursor:pointer}
.water-toggle:hover{background:var(--light);color:var(--deep);border-color:var(--blue)}
.water-toggle:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.water-toggle .icon{width:16px;height:16px}
.water-toggle .icon-pause{display:none}
.water-toggle[data-playing=true] .icon-pause{display:inline-block}
.water-toggle[data-playing=true] .icon-play{display:none}


/* Compact header uses the source website's simplified real logo. */
.header-shell{height:102px}
header .brand{display:flex;align-items:center;justify-content:flex-start}
header .brand .logo-full{display:block}
header .brand .logo-compact{display:none}
header .navrow,header .brand,header .brand img{transition:min-height .2s ease,width .2s ease,height .2s ease}
header.is-compact{position:fixed;top:0;left:0;right:0;width:100%;box-shadow:0 4px 16px #10354d0d}
header.is-compact .navrow{min-height:68px}
header.is-compact .brand{width:100px}
header.is-compact .brand .logo-full{display:none}
header.is-compact .brand .logo-compact{display:block;width:100px;height:51px}
.water-toggle>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-image .photo-label{right:88px}
@media(max-width:1150px){header.is-compact .navrow{min-height:68px}}
@media(max-width:960px){.header-shell{height:87px}header.is-compact .navrow{min-height:60px}header.is-compact nav{top:60px}.water-toggle{bottom:30px;right:20px}.hero-image .photo-label{right:76px}}
@media(max-width:600px){.header-shell{height:81px}header.is-compact .navrow{min-height:60px}header.is-compact .brand{width:94px}header.is-compact .brand .logo-compact{width:94px;height:48px}.water-toggle{bottom:28px;right:20px}.hero-image .photo-label{right:76px;font-size:10px}}

/* Native video remains visible when paused, retaining its current frame. */
.hero-water-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;opacity:1;filter:none;pointer-events:none}

/* Verified original font pairing, with a more open heading rhythm. */
body{font-synthesis:none}
h1,h2,h3{font-family:"Ubuntu","Open Sans",Arial,sans-serif;font-weight:500;font-style:normal;letter-spacing:-.018em;line-height:1.16}
h1{font-weight:700;letter-spacing:-.025em}
h3,.serviceline h3,.othersgrid h3,.trustgrid h3,.prose h2,.legalcopy h2{letter-spacing:-.01em}
.hero-copy h2{letter-spacing:-.01em}
.cta h2{letter-spacing:-.018em}
b,strong{font-weight:600}

/* Blog archive and article reading system. */
.archive-section{padding-block:30px 88px}
.archive-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:35px;font-size:12px;color:var(--muted)}
.category-label{display:inline-block;color:var(--blue);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.025em;border:1px solid #c2dcec;background:#f3f9fd;padding:5px 10px;border-radius:3px}
.category-label:hover{background:#e4f1f9}
.blog-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 36px}
.blogcard{border:0;padding:0;display:flex;flex-direction:column;min-width:0}
.blog-cover-link{display:block;border-radius:4px;overflow:hidden}
.blog-cover{position:relative;aspect-ratio:16/9;overflow:hidden;margin:0;background:#e7f1f7;border-radius:4px}
.blog-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.blog-cover .image-note{position:absolute;inset:0;padding:24px;display:grid;place-items:center;color:var(--deep);font-size:12px;text-align:center;border:1px dashed #9ebdce}
.blogcard-copy{padding-top:24px;display:flex;flex:1;flex-direction:column}
.blog-card-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:17px;font-size:11px;color:var(--muted)}
.blogcard h2,.blogcard h3{font-size:30px;line-height:1.24;letter-spacing:-.018em;margin-bottom:15px}
.blogcard h2 a:hover,.blogcard h3 a:hover{color:var(--blue)}
.blogcard p{font-size:15px;line-height:1.75;max-width:580px;margin-bottom:20px}
.blogcard .textlink{align-self:flex-start;margin-top:auto}
.blogcard-featured{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line)}
.blogcard-featured .blog-cover-link{height:100%;min-height:330px}
.blogcard-featured .blog-cover{height:100%;min-height:330px;aspect-ratio:auto}
.blogcard-featured .blogcard-copy{padding-top:0}
.blogcard-featured h2{font-size:39px;line-height:1.18}
.blogcard-featured .textlink{margin-top:5px}
.post-heading{padding-block:35px 38px}
.breadcrumbs{display:flex;align-items:center;gap:12px;position:static;font-size:11px;color:var(--muted);margin-bottom:25px;line-height:1.6}
.breadcrumbs>a{padding:0;white-space:normal}
.post-heading>.category-label{margin-bottom:20px}
.post-heading h1{font-size:clamp(37px,4.4vw,61px);max-width:1050px;line-height:1.15;margin-bottom:24px;letter-spacing:-.025em}
.post-meta{display:flex;gap:12px 25px;flex-wrap:wrap;color:var(--muted);font-size:11px}
.post-featured .blog-cover{aspect-ratio:2.35/1;max-height:500px}
.post-layout{display:grid;grid-template-columns:minmax(0,760px) 250px;gap:64px;justify-content:space-between;padding-top:55px}
.post-reading{grid-column:1;grid-row:1;min-width:0;font-size:16px;line-height:1.85}
.post-reading>p{max-width:73ch;margin-bottom:1.5em}
.post-reading h2{font-size:30px;line-height:1.25;margin-top:46px;margin-bottom:20px;scroll-margin-top:105px}
.post-reading h3{font-size:24px;line-height:1.3;margin-top:32px;margin-bottom:16px;scroll-margin-top:105px}
.post-reading ul{padding-left:23px;margin:24px 0 32px;color:var(--muted)}
.post-reading li{padding-left:6px;margin-bottom:17px}
.post-reading>p a,.post-reading li a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.post-reading>p a:hover,.post-reading li a:hover{color:var(--deep)}
.post-sidebar{grid-column:2;grid-row:1;align-self:start;position:sticky;top:103px}
.post-toc{display:block;position:static;padding:23px;background:var(--light);border:1px solid var(--line);border-radius:4px;font-size:12px;font-weight:400}
.post-toc .eyebrow{margin-bottom:16px;font-size:10px}
.post-toc ol{list-style:none;padding:0;margin:0}
.post-toc li+li{margin-top:13px}
.post-toc li a{line-height:1.55;display:block;white-space:normal}
.post-toc .toc-h3{padding-left:12px;font-size:11px;color:var(--muted)}
.editorial-note{font-size:12px;line-height:1.7;padding:16px 20px;border:1px solid var(--line);border-left:3px solid #9bb7c9;background:#f8fafb;color:var(--muted);margin-bottom:28px}
.editorial-note a{color:var(--blue);text-decoration:underline}
.context-link{padding-top:24px;border-top:1px solid var(--line);font-size:14px}
.post-cta{padding:30px;margin-top:40px;background:var(--light);border:1px solid #c8dfed;border-radius:4px}
.post-cta .eyebrow{font-size:10px;margin-bottom:17px}
.post-cta h2{font-size:30px;margin:0 0 16px;max-width:560px}
.post-cta p{font-size:15px;line-height:1.75;margin-bottom:0}
.post-cta .actions{align-items:center;margin-top:24px;gap:20px}
.post-cta .textlink{font-size:12px}
.post-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;position:static;padding:25px 0 0;margin-top:40px;border-top:1px solid var(--line)}
.post-pagination>a{display:block;white-space:normal;padding:0;font-family:"Ubuntu",sans-serif;font-size:17px;line-height:1.4;letter-spacing:-.01em}
.post-pagination>a span{display:block;font-family:"Open Sans",sans-serif;font-size:10px;color:var(--muted);font-weight:400;margin-bottom:9px;letter-spacing:.03em}
.post-related{padding-block:75px 90px}
.related-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:35px}
.related-heading h2{font-size:32px;margin-bottom:0}
.related-heading .eyebrow{margin-bottom:14px}
.related-heading>.textlink{flex-shrink:0}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.related-grid .blogcard h3{font-size:27px}
@media(max-width:1100px){.post-layout{grid-template-columns:minmax(0,1fr) 230px;gap:40px}.blogcard-featured{gap:30px}.blogcard-featured h2{font-size:34px}}
@media(max-width:800px){.post-layout{grid-template-columns:1fr;gap:30px;padding-top:32px}.post-sidebar{grid-column:1;grid-row:1;position:static}.post-reading{grid-column:1;grid-row:2}.post-toc ol{columns:2;column-gap:30px}.post-toc li{break-inside:avoid}.blogcard-featured{gap:25px;grid-template-columns:1fr 1fr}.blogcard-featured h2{font-size:30px}.blogcard-featured .blog-cover-link,.blogcard-featured .blog-cover{min-height:290px}.post-featured .blog-cover{aspect-ratio:1.9/1}.post-reading h2{font-size:29px}}
@media(max-width:600px){.archive-section{padding-block:23px 55px}.archive-meta{margin-bottom:25px}.blog-archive-grid,.related-grid{grid-template-columns:1fr;gap:34px}.blogcard-featured{display:flex;gap:0;padding-bottom:30px}.blogcard-featured .blog-cover-link,.blogcard-featured .blog-cover{min-height:0;height:auto;aspect-ratio:16/10}.blogcard-featured .blogcard-copy{padding-top:22px}.blogcard h2,.blogcard-featured h2{font-size:29px}.blogcard p{font-size:14px}.blogcard-copy{padding-top:20px}.blog-card-meta{gap:12px;margin-bottom:15px}.post-heading{padding-block:24px 28px}.breadcrumbs{margin-bottom:20px}.post-heading h1{font-size:36px}.post-meta{font-size:10px;gap:9px 16px}.post-heading>.category-label{margin-bottom:18px}.post-featured .blog-cover{aspect-ratio:16/10}.post-toc{padding:18px}.post-toc ol{columns:1}.post-toc li+li{margin-top:10px}.post-reading{font-size:15px;line-height:1.85}.post-reading h2{font-size:27px;margin-top:35px}.post-reading h3{font-size:23px}.post-reading ul{padding-left:20px}.post-cta{padding:23px 20px;margin-top:30px}.post-cta h2{font-size:28px}.post-cta p{font-size:14px}.post-cta .actions{align-items:flex-start;flex-direction:column;gap:18px}.post-pagination{gap:20px;margin-top:30px}.post-pagination>a{font-size:16px}.post-related{padding-block:50px 60px}.related-heading{display:block;margin-bottom:28px}.related-heading h2{font-size:30px;margin-bottom:20px}.related-grid .blogcard h3{font-size:27px}}

/* Locally served responsive editorial imagery. */
.post-support{margin:32px 0 38px}
.post-support img{display:block;width:100%;height:auto;border-radius:4px}
.post-support figcaption{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.65}
@media(max-width:600px){.post-support{margin-block:25px 30px}}

.blog-categories{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.blog-categories a{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--line,#dce6eb);border-radius:3px;text-decoration:none}
.blog-categories a.current{color:#fff;background:#197bb7;border-color:#197bb7}
.blog-categories a:hover{border-color:#197bb7}
.archive-meta{gap:16px 24px;flex-wrap:wrap}
@media(max-width:600px){.blog-categories{gap:8px}.blog-categories a{font-size:10px;padding:7px 10px}.archive-meta{align-items:flex-start}}

.services [id]{scroll-margin-top:110px}

/* Keep archive and related-card covers in normal flow with a reserved image area. */
.blogcard .blog-cover-link{flex:0 0 auto;width:100%;min-width:0}
.blogcard .blog-cover{width:100%}
.blogcard:not(.blogcard-featured) .blog-cover img{position:static;inset:auto;height:auto;aspect-ratio:16/9}
.blog-category-select{display:none}
@media(max-width:600px){
 .blogcard-featured .blog-cover-link{width:100%;flex:none;aspect-ratio:16/10}
 .blogcard-featured .blog-cover{height:100%;width:100%;aspect-ratio:16/10}
 .archive-meta.has-category-select{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .archive-meta.has-category-select .blog-categories{display:none}
 .archive-meta.has-category-select .blog-category-select{display:block;width:100%;color:var(--ink)}
 .blog-category-select>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .blog-category-select select{font:inherit;font-size:16px;line-height:1.4;color:var(--deep);background:var(--light);border:1px solid #a9c4d5;border-radius:4px;min-height:46px;width:100%;min-width:0;padding:10px 12px;cursor:pointer}
 .blog-category-select select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
}

/* Original Jara image motif: the two primary Kadence photographs use a 24px lower-left corner. */
:root{--media-corner:24px}
.hero-image,
.photo,
.waterrow .photo,
.blog-cover-link,
.blog-cover,
.post-support img{border-radius:0 0 0 var(--media-corner)}

/* Original Jara CTA motif: 15px lower-left radius in header and Kadence buttons. */
:root{--button-corner:15px}
.button,.button:hover,.button:focus-visible{border-radius:0 0 0 var(--button-corner)}

/* Keep the motif on the outer lower-left button of each row or stack. */
.button[data-square-corner]{--button-corner:0px}

/* Mobile and tablet hero: one water-backed composition; desktop split starts at 1200px. */
.hero-mobile-meta{display:none}
@media(max-width:1199px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;position:relative;isolation:isolate;overflow:hidden;border-radius:0 0 0 var(--media-corner);background:var(--light)}
 .hero-image{grid-area:1/1;position:relative;inset:auto;align-self:stretch;z-index:0;min-height:0;border-radius:0;background:var(--light) url("/assets/pool-water-first-frame.webp") center/cover no-repeat}
 .hero-image .photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:0;background:transparent}

 .hero-copy{grid-area:1/1;position:relative;z-index:1;width:100%;max-width:640px;margin-inline:auto;padding:32px 20px 24px;color:var(--deep);align-self:stretch}
 .hero-copy h1,.hero-copy h2,.hero .lead{color:#fff}
 .hero .eyebrow{color:var(--deep)}
 .hero .eyebrow{font-size:9px;line-height:1.7;letter-spacing:.075em;margin-bottom:24px;align-items:flex-start;max-width:100%}
 .hero .eyebrow .dot{margin-top:4px}
 .hero h1{font-size:clamp(42px,11.2vw,63px);line-height:1.06;letter-spacing:-.035em;margin-bottom:22px}
 .hero-copy h2{font-size:19px;line-height:1.4;max-width:25ch;margin-bottom:13px}
 .hero .lead{font-size:15px;line-height:1.75;max-width:36ch;margin-bottom:0}
 .hero .hero-note{display:none}
 .hero-actions-row{display:flex;align-items:center;gap:12px;margin-top:26px}
 .hero .actions{flex:1;min-width:0;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:10px;margin:0}
 .hero .actions .button{flex:1;min-width:0;gap:7px;padding:13px 11px;font-size:12px;line-height:1.5;min-height:50px;justify-content:space-between}
 .hero .actions .button span{flex:none}
 .hero .button.secondary{color:#fff;border-color:#fff;background:transparent}
 .hero .button.secondary:hover{background:#ffffff14;color:#fff}
 .hero .button:focus-visible,.hero .water-toggle:focus-visible{outline-color:var(--deep)}
 .hero .water-toggle{position:static;flex:0 0 46px;width:46px;height:46px;align-self:center;background:#fff;color:var(--deep);border:0;border-radius:0}
 .hero .water-toggle:hover{background:var(--light);color:var(--deep);border-color:var(--deep)}
 .hero-mobile-meta{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:10px;width:100%;margin-top:18px;min-width:0}
 .hero-mobile-meta .photo-label{position:static;inset:auto;display:inline-flex;align-items:center;gap:10px;width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 14px;background:#fff;color:var(--deep);font-size:11px;line-height:1.6;border-radius:0 0 0 var(--button-corner);box-shadow:none}
 .hero-mobile-meta .photo-label>span{flex:none}
 .hero-mobile-meta .photo-label .icon{width:26px;height:26px}
}
@media(max-width:380px){
 .hero-copy{padding-top:28px}
 .hero-actions-row{gap:0}
 .hero-mobile-meta .photo-label{flex:1;font-size:10px;padding:11px 12px}
}

/* Tablet spacing and type; action rows keep the same measured width. */
@media(min-width:601px) and (max-width:1199px){
 .hero-copy{max-width:760px;padding:44px 40px 40px}
 .hero .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:26px}
 .hero .eyebrow .dot{margin-top:5px}
 .hero h1{font-size:clamp(52px,6vw,68px);margin-bottom:24px}
 .hero-copy h2{font-size:23px;max-width:38ch;margin-bottom:16px}
 .hero .lead{font-size:17px;line-height:1.75;max-width:52ch}
 .hero-actions-row,.hero-mobile-meta{max-width:520px}
 .hero-actions-row{margin-top:30px}
 .hero .actions{gap:12px}
 .hero .actions .button{font-size:14px;padding:16px 18px;gap:12px;min-height:54px}
 .hero-mobile-meta{gap:12px;margin-top:18px}
 .hero-mobile-meta .photo-label{font-size:12px}
}

@media(max-width:960px) and (max-height:600px) and (orientation:landscape){
 .hero-copy{padding-top:28px;padding-bottom:24px}
 .hero h1{font-size:48px;margin-bottom:18px}
 .hero .eyebrow{margin-bottom:18px}
 .hero-copy h2{max-width:36ch}
 .hero .lead{max-width:48ch}
 .hero-actions-row{margin-top:22px}
}

.hero .water-toggle[hidden]{display:none}

/* Preserve the desktop breathing room after moving the care tagline into the water badge. */
@media(min-width:1200px){.hero-copy{padding-bottom:116px}}

/* One restrained, uniform video shade for mobile, tablet and desktop. */
:root{--hero-video-shade:.50}
.hero-video-frame::after{content:"";position:absolute;inset:0;z-index:2;background:rgba(16,53,77,var(--hero-video-shade));pointer-events:none}

/* Desktop controls share one row, one height and the lower-left outer corner. */
@media(min-width:1200px){
 .hero-image>.hero-mobile-meta{position:absolute;left:32px;right:auto;bottom:30px;z-index:3;display:inline-grid;grid-template-columns:minmax(0,1fr) 70px;gap:12px;align-items:stretch;margin:0;max-width:calc(100% - 64px);width:max-content}
 .hero-image>.hero-mobile-meta .photo-label{position:static;inset:auto;display:flex;min-width:0;min-height:70px;margin:0;padding:19px 22px;color:var(--deep);border-radius:0 0 0 var(--button-corner)}
 .hero-image>.hero-mobile-meta .water-toggle{position:static;inset:auto;align-self:stretch;width:100%;height:100%;min-height:70px;border-radius:0;background:#fff;color:var(--deep);border:0}
 .hero-image>.hero-mobile-meta .water-toggle:hover{background:var(--light);color:var(--deep)}
}

/* Full-height navigation with the existing radial reveal and brand surfaces. */
@media(max-width:960px){
 header nav,header nav.open,header.is-compact nav{
  display:flex;position:fixed;
  top:var(--menu-top,86px);bottom:0;left:0;right:0;max-height:none;
  flex-direction:column;flex-wrap:nowrap;align-items:stretch;align-content:normal;
  border-top:0;overflow-y:auto;overscroll-behavior:contain;
  padding-bottom:max(30px,env(safe-area-inset-bottom));
  box-shadow:none;
  clip-path:circle(0px at var(--menu-x,calc(100% - 43px)) var(--menu-y,-43px));
  visibility:hidden;pointer-events:none;
  transition:clip-path .62s cubic-bezier(.76,0,.24,1),visibility 0s .62s;
 }
 header nav.open{
  clip-path:circle(150vmax at var(--menu-x,calc(100% - 43px)) var(--menu-y,-43px));
  visibility:visible;pointer-events:auto;
  transition:clip-path .78s cubic-bezier(.76,0,.24,1),visibility 0s;
 }
 html.navigation-open,html.navigation-open body{overflow:hidden}
 header{border-bottom:0}
 html.navigation-open header{box-shadow:none}
 header nav>a{width:100%}
 header nav>a:not(.button){border-bottom:1px solid var(--line)}
 header nav .languages{align-self:flex-start;margin:8px 0;gap:24px}
 header nav>*{
  flex-shrink:0;
  opacity:0;transform:translateY(22px);
  transition:opacity .18s ease,transform .25s ease;
 }
 header nav.open>*{
  opacity:1;transform:translateY(0);
  transition:opacity .4s ease calc(.18s + var(--menu-index)*.055s),transform .5s cubic-bezier(.22,1,.36,1) calc(.18s + var(--menu-index)*.055s);
 }
}

/* Legal documents: shared reading pattern with Jara Group, using this brand's tokens. */
.legal-shell{padding-block:32px 80px}
.legal-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border:1px solid var(--line);margin-bottom:40px;background:var(--white)}
.legal-documents a{display:flex;align-items:center;justify-content:center;padding:12px 16px;min-height:52px;text-align:center;font-size:14px;font-weight:600;line-height:1.5;border-radius:4px;color:var(--blue)}
.legal-documents a[aria-current]{background:var(--button);color:var(--white)}
.legal-documents a:not([aria-current]):hover{background:var(--light)}
.legal-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
.legal-sidebar{position:sticky;top:100px;max-height:calc(100dvh - 128px);overflow:auto;padding:4px 12px 4px 4px;scrollbar-width:thin}
.legal-index-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:16px}
.legal-sidebar ol{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.legal-sidebar a{display:block;min-height:44px;padding:10px 12px;border-left:2px solid var(--line);font-size:12px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.legal-sidebar a:hover{border-color:var(--blue);background:var(--light);color:var(--blue)}
.legal-index-mobile{display:none}
.legal-reading{min-width:0}
.legal-reading>.formnotice{margin-top:0}
.legal-reading>.textlink{margin-bottom:24px}
.legal-copy{min-width:0;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);padding:clamp(28px,3.2vw,48px);font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.legal-copy p{color:var(--ink);margin-bottom:20px}
.legal-copy p:last-child{margin-bottom:0}
.legal-copy h2{font-size:clamp(20px,1.1rem + .4vw,24px);line-height:1.5;letter-spacing:-.015em;margin:40px 0 20px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:104px}
.legal-copy>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal-copy h2:focus{outline:2px solid var(--blue);outline-offset:6px}
@media(max-width:960px){
 .legal-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .legal-sidebar{position:static;max-height:none;overflow:visible;padding:0}
 .legal-index-desktop{display:none}
 .legal-index-mobile{display:block;border:1px solid var(--line);background:var(--white);padding:0}
 .legal-index-mobile:last-child{border-bottom:1px solid var(--line)}
 .legal-index-mobile summary{padding:16px 20px;min-height:56px;font-size:14px}
 .legal-index-mobile nav{padding:0 16px 16px}
 .legal-documents{margin-bottom:28px}
 .legal-copy{padding:32px}
 .legal-shell{padding-bottom:64px}
}
@media(max-width:600px){
 .legal-documents{grid-template-columns:minmax(0,1fr);gap:4px;padding:6px;margin-bottom:24px}
 .legal-documents a{justify-content:flex-start;min-height:46px;padding:10px 14px;text-align:left;font-size:13px}
 .legal-copy{padding:24px 20px;font-size:15px}
 .legal-copy h2{font-size:19px;margin-top:32px;padding-top:24px;scroll-margin-top:92px}
 .legal-shell{padding-block:24px 48px}
}

.legal-copy h3{font-size:18px;line-height:1.5;letter-spacing:-.01em;margin:28px 0 16px}.legal-copy ul{padding-left:22px;margin:18px 0}.legal-copy li{margin-bottom:14px}.legal-copy a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.legal-copy strong{font-weight:600}

/* One full-frame shade for the video and poster at every viewport width. */
@media(max-width:1199px){
 .hero .eyebrow{position:relative;isolation:isolate;width:fit-content}
 .hero .eyebrow::before{content:"";position:absolute;inset:-5px -8px;z-index:-1;background:var(--light);border-radius:3px;pointer-events:none}
 .hero .actions .button:focus-visible{outline-color:var(--white)}
}

/* Footer: original white mark and a four-cell composition inspired by Jara Group. */
.footergrid{display:grid;grid-template-columns:160px minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1fr);grid-template-areas:"logo description navigation contact";align-items:start;gap:clamp(28px,3.5vw,48px);padding-bottom:36px}
.footergrid>.footer-logo{grid-area:logo;display:block;width:160px;max-width:100%;align-self:start}
.footer-logo img{width:100%;height:auto;filter:brightness(0) invert(1)}
.footergrid>div.footer-description{grid-area:description;min-width:0}
.footergrid>div.footer-contact{grid-area:contact;min-width:0}
.footer-navigation{grid-area:navigation;min-width:0}
.footer-description p{margin:0;max-width:30ch}
.footer-navigation h2{font-family:"Open Sans",Arial,sans-serif;margin:0 0 16px;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.15em;text-transform:uppercase;color:#91badc}
.footer-navigation ul{display:grid;gap:0;list-style:none;margin:0;padding:0}
.footer-navigation a,.footergrid>.footer-contact>a{display:flex;align-items:center;min-height:44px;max-width:100%;padding-block:6px;margin:0;color:#bed0df;font-size:13px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.footer-navigation a:hover,.footergrid>.footer-contact>a:hover{color:#fff}
.footer-contact .eyebrow{margin:0 0 16px;text-transform:uppercase}
/* Equal side tracks keep the legal group at the actual centre of the container. */
.footerbottom{display:grid;grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);align-items:center;gap:16px 24px;font-size:11px;line-height:1.6}
.footer-copyright{grid-area:1/1;justify-self:start;min-width:0}
.footer-legal{grid-area:1/2;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 18px;min-width:0}
.footer-legal a,.footer-legal .privacy-open{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:6px 0;font:inherit;font-weight:400;text-align:center;text-decoration:none}
.footer-credit{grid-area:1/3;justify-self:end;text-align:right;white-space:nowrap}
.footer-credit a{display:inline-flex;align-items:center;min-height:44px;font:inherit;font-weight:400}
footer a:focus-visible,footer button:focus-visible{outline-color:#fff}
@media(max-width:1199px){
 .footergrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"logo description" "navigation contact";gap:0;align-items:stretch;padding-bottom:0}
 .footergrid>.footer-logo{display:flex;align-items:center;width:auto;max-width:none;align-self:stretch;padding:24px;border-right:1px solid #34526c}
 .footer-logo img{width:160px;max-width:100%;height:auto}
 .footergrid>div.footer-description{padding:24px;display:flex;align-items:center}
 .footer-description p{max-width:36ch;font-size:14px;line-height:1.65}
 .footer-navigation,.footergrid>div.footer-contact{padding:26px 24px;border-top:1px solid #34526c;text-align:left}
 .footer-navigation{border-right:1px solid #34526c}
 .footergrid>div.footer-contact{display:block}
 .footer-navigation h2,.footer-contact .eyebrow{margin-bottom:12px}
 .footerbottom{grid-template-columns:minmax(0,1fr) auto;gap:0 20px;padding-top:12px}
 .footerbottom>.footer-legal{grid-area:1/1/2/3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;padding-bottom:12px;border-bottom:1px solid #34526c;justify-content:center}
 .footer-copyright{grid-area:2/1;padding-top:12px}
 .footer-credit{grid-area:2/2;padding-top:12px}
}
@media(max-width:600px){
 .footergrid>.footer-logo,.footergrid>div.footer-description{padding:16px 14px 24px}
 .footer-logo img{width:140px}
 .footer-description p{max-width:none;font-size:13px}
 .footer-navigation,.footergrid>div.footer-contact{padding:24px 14px}
 .footer-navigation a,.footergrid>.footer-contact>a{font-size:12px;min-height:44px}
 .footerbottom{font-size:10px;gap:0 12px}
 .footerbottom>.footer-legal{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;font-size:12px}
 .footer-copyright{max-width:100%}
}

/* Centre the description against the 160 × 95.2 px logo, independently of taller link columns. */
@media(min-width:1200px){
 .footergrid>div.footer-description{display:flex;align-items:center;align-self:start;min-height:95.2px}
}

.footer-legal .privacy-open:hover{color:#fff;text-decoration:underline}

/* The care icon remains still; the adjacent button controls video only. */
.hero .photo-label .icon-waves path{animation:none;transform:none}

/* Form controls: preserve layout, keep honeypot outside the reading/tab order. */
.form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.contactform [type="submit"]:disabled{cursor:wait;opacity:.75}
.formstatus[data-state="error"]{color:#a02929}
.formstatus[data-state="success"]{color:#176342}

/* Message fields share the existing form design; verification fits narrow screens. */
.contactform .message-field{display:block;margin-block:24px}.contactform textarea{display:block;width:100%;min-height:150px;resize:vertical;padding:14px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.6;margin-top:8px}.contactform textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.turnstile-widget{min-height:65px;width:100%;margin-block:20px 10px}.antispam-note{margin-bottom:20px}.antispam-note a{text-decoration:underline;text-underline-offset:3px}
/* Center the service locations across the mobile and tablet top bar. */
@media(max-width:1199px){
 .topbar .wrap{position:relative;justify-content:center}
 .topbar .wrap>span{text-align:center}
 .topbar .wrap>div{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}

/* Align the first FAQ question with the heading in the two-column layout. */
@media(min-width:601px){.faq .split>div:last-child{padding-top:16px}}

@media(max-width:1199px){.hero-mobile-meta .water-toggle{height:100%;min-height:46px;align-self:stretch}}

/* A little more room around mobile hero actions, without a fixed height. */
@media(max-width:600px){.hero-actions-row{margin-top:34px}.hero-copy{padding-bottom:32px}}
@media(max-width:600px) and (max-height:600px) and (orientation:landscape){.hero-actions-row{margin-top:30px}}

/* Hero hierarchy: actions have more body than the supporting water caption. */
@media(min-width:1200px){
 .hero .actions{align-items:stretch;gap:12px}
 .hero .actions .button{min-height:58px;padding:19px 26px}
 .hero-image>.hero-mobile-meta{grid-template-columns:minmax(0,1fr) 50px}
 .hero-image>.hero-mobile-meta .photo-label{min-height:50px;padding:9px 18px}
 .hero-image>.hero-mobile-meta .photo-label .icon{width:28px;height:28px}
 .hero-image>.hero-mobile-meta .water-toggle{min-height:50px}
}
/* Match the integrated hero layout: only the lower water label keeps the outer corner. */
@media(max-width:1199px){
 .hero .actions .button{--button-corner:0px;min-height:58px;padding:17px 13px}
 .hero-mobile-meta .photo-label{min-height:46px;padding:8px 12px}
}
@media(min-width:601px) and (max-width:1199px){
 .hero .actions .button{min-height:62px;padding:20px 20px}
}

.contactform select{display:block;width:100%;min-height:48px;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.contactform select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.contactform input:disabled{background:var(--light);color:var(--muted)}

/* Keep the unknown-size option attached to its input across form columns. */
.contactform .fieldgrid+.fieldgrid{margin-top:24px}
.pool-dimensions{grid-column:1/-1;min-width:0}
.pool-dimensions>label:first-child{display:block;font-size:13px;font-weight:600}
.pool-dimensions .dimensions-unknown{display:flex;align-items:center;gap:10px;min-height:44px;width:fit-content;max-width:100%;margin-top:6px;font-size:13px;font-weight:400;line-height:1.5;cursor:pointer}
.pool-dimensions .dimensions-unknown input{flex:0 0 22px;width:22px;height:22px;margin:0}
.pool-dimensions .dimensions-unknown span{min-width:0}
@media(max-width:600px){.contactform .fieldgrid+.fieldgrid{margin-top:20px}}
