@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#124c55;--deep:#073f49;--lime:#c4ed82;--paper:#f7f9f6;--muted:#607278}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%}.brand{font-family:'Manrope',sans-serif;font-size:30px;font-weight:800;letter-spacing:-1.5px;display:flex;align-items:center;gap:12px}.brand svg{width:38px;fill:none;stroke:currentColor;stroke-width:3}.brand span{font-size:12px;align-self:flex-start;margin:6px 0 0 -8px;letter-spacing:0}nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:600}.nav-button{border:1px solid #b3c5c5;padding:14px 19px;border-radius:30px;display:flex;gap:28px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:730px;margin:0 22px 0 5.5%;gap:35px}.hero-copy{padding:38px 0 20px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:7px;height:7px;background:var(--ink);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,sans-serif;font-size:clamp(54px,5.4vw,86px);line-height:1.04;letter-spacing:-4px;font-weight:500;margin:34px 0 26px}em{font-style:normal;color:#438789}h1 em{color:#4b8889}.intro{max-width:370px;font-size:17px;line-height:1.65;color:var(--muted);margin-bottom:28px}.button{display:inline-flex;background:var(--ink);color:white;border-radius:40px;padding:18px 25px;gap:45px;font-weight:500;font-size:14px}.button:hover{background:#246570}.button span{color:var(--lime);font-size:20px;line-height:18px}.hero-note{display:flex;gap:40px;margin-top:47px;align-items:center;font-size:12px}.hero-note>span{font-size:12px;letter-spacing:2px}.hero-note p{margin:0;line-height:1.6;color:var(--muted)}.hero-photo{position:relative;overflow:hidden;border-radius:10px;min-height:690px;background:#58aeb3}.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#003e4a40,transparent 50%);pointer-events:none}.image-label{position:absolute;right:28px;top:30px;color:white;font-size:11px;letter-spacing:2px;font-weight:600;text-shadow:0 1px 4px #174e58;z-index:1}.photo-card{position:absolute;bottom:30px;left:30px;right:30px;display:flex;align-items:center;gap:20px;background:#f7f9f6ee;padding:22px 25px;border-radius:5px;z-index:1;font-size:14px;line-height:1.6}.photo-card strong{font-weight:500}.card-icon{font-size:45px;line-height:1;font-weight:400}.ribbon{margin-top:55px;background:var(--lime);padding:24px 5.5%;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:500}.ribbon i{font-style:normal;font-size:23px}.section{padding:100px 5.5%}.section-heading{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:35px;align-items:start}.section-heading>.eyebrow{padding-top:10px}h2{font-family:Manrope,sans-serif;font-size:clamp(38px,4vw,58px);font-weight:500;line-height:1.14;letter-spacing:-2px}.section-heading>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);padding-top:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px}.service-grid article{border-top:1px solid #c2d0cd;padding-top:24px;position:relative}.service-number{font-size:13px;color:#678486}.service-grid svg{display:block;width:44px;height:44px;fill:none;stroke:var(--ink);stroke-width:1.5;margin:30px 0}h3{font-size:23px;letter-spacing:-.6px;font-weight:500;margin-bottom:16px}.service-grid p{font-size:16px;line-height:1.8;color:var(--muted);max-width:330px}.service-tag{display:block;font-size:10px;font-weight:600;letter-spacing:1px;margin-top:30px}.method{background:var(--deep);color:#f1f8ed;display:grid;grid-template-columns:1fr 1fr;gap:9%}.method em{color:var(--lime)}.method h2{margin:30px 0}.method-intro{color:#bbced0;line-height:1.8;max-width:360px}.steps{padding-top:20px}.steps article{display:flex;gap:30px;padding:30px 0;border-bottom:1px solid #37616a}.steps article:first-child{padding-top:0}.steps article>span{color:var(--lime);font-size:14px;padding-top:5px}.steps p{line-height:1.7;color:#bbced0;margin-bottom:0}.care{text-align:center}.care>.eyebrow{justify-content:center}.care h2{margin-top:30px}.season-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;gap:55px}.season-grid article>span{font-size:30px;display:block;margin-bottom:20px}.season-grid p{line-height:1.8;color:var(--muted);max-width:310px;margin:auto}footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d2ddda;margin:0 5.5%;padding:38px 0}footer p{margin:0;font-size:14px;color:var(--muted)}footer>a:last-child{font-size:14px}a:focus-visible{outline:3px solid #53a8aa;outline-offset:6px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:900px){header{height:90px}.brand{font-size:25px}nav{gap:20px}.hero{min-height:620px;gap:24px}.hero-photo{min-height:610px}h1{font-size:58px;letter-spacing:-3px}.hero-note{gap:20px}.photo-card{left:16px;right:16px;padding:16px;gap:10px;font-size:12px}.section{padding:75px 5.5%}.section-heading{grid-template-columns:1fr 1fr}.section-heading>.eyebrow{grid-column:1/-1}.service-grid{gap:22px}.service-tag{font-size:9px;letter-spacing:.5px}.method{gap:6%}.season-grid{gap:25px}h3{font-size:21px}}@media(max-width:600px){header{padding:0 6%;height:86px}.brand{font-size:24px;gap:8px}.brand svg{width:31px}nav>a:not(.nav-button){display:none}.nav-button{font-size:12px;padding:11px 12px;gap:12px}.hero{display:flex;flex-direction:column;margin:0 6%;gap:28px}.hero-copy{padding:25px 0 0}h1{font-size:64px;letter-spacing:-3.5px;line-height:1.05;margin:25px 0}.eyebrow{font-size:10px;letter-spacing:1.5px}.intro{font-size:16px;max-width:340px}.hero-note{display:none}.hero-photo{min-height:460px}.photo-card{font-size:13px;bottom:20px;left:20px;right:20px}.ribbon{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:center;padding:25px 5%;font-size:12px}.ribbon i{display:none}.section{padding:65px 6%}.section-heading{display:block}.section-heading h2{margin:25px 0}.section-heading>p:last-child br{display:none}h2{font-size:43px;letter-spacing:-2px}.service-grid{grid-template-columns:1fr;margin-top:32px;gap:36px}.service-grid svg{margin:20px 0}.service-grid p{max-width:none}.service-tag{font-size:10px}.method{grid-template-columns:1fr;gap:25px}.steps{padding-top:0}.steps article{gap:20px}.care{text-align:left}.care>.eyebrow{justify-content:start}.season-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.season-grid article>span{float:left;margin-right:20px}.season-grid p{max-width:none;margin-left:48px}.season-grid h3{margin-left:48px}.care h2{font-size:40px}footer{flex-wrap:wrap;gap:22px;padding:30px 0}footer p{order:3;flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Official identity and company contacts */
header{height:auto;min-height:120px;gap:25px;padding-top:16px;padding-bottom:16px}.official-brand{display:block;max-width:570px;width:53%;flex-shrink:1}.official-brand img{display:block;width:100%;height:auto}nav{flex-shrink:0;gap:25px}.contacts{background:#e4f4fa;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.contacts h2{margin:25px 0}.contacts>div>p:not(.eyebrow){line-height:1.8;max-width:470px;color:var(--muted)}.contact-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:28px}.email-link{text-decoration:underline;text-underline-offset:5px}.contacts address{font-style:normal;border-left:1px solid #b6d1db;padding-left:45px;line-height:1.8;min-width:0}.contacts address strong{font-size:25px;font-weight:600}.contacts address p{margin:18px 0}.contacts address a{display:block;overflow-wrap:anywhere}.company-data{font-size:14px}.footer-brand{font-size:24px;letter-spacing:-.8px}@media(max-width:900px){header{flex-wrap:wrap;justify-content:center;padding-top:16px;padding-bottom:22px;gap:15px}.official-brand{width:100%;max-width:610px}nav{width:100%;justify-content:center}.contacts{gap:35px}.contacts address{padding-left:25px}}@media(max-width:600px){header{padding-left:4%;padding-right:4%;gap:12px}.official-brand{width:100%}nav{justify-content:space-between;padding:0 2%;gap:15px}nav>a:not(.nav-button){display:block;font-size:13px}.nav-button{font-size:13px}.contacts{grid-template-columns:1fr}.contacts address{border-left:0;border-top:1px solid #b6d1db;padding:28px 0 0}.contacts h2{font-size:40px}}

/* Integrated brand lockup: preserve the supplied mark, hide the letterhead. */
header{min-height:108px;flex-wrap:nowrap;justify-content:space-between;padding-top:20px;padding-bottom:20px}.official-brand{display:flex;align-items:center;gap:15px;width:auto;max-width:none;flex-shrink:0;letter-spacing:-1.2px}.official-brand .brand-symbol{display:block;position:relative;overflow:hidden;width:79px;height:54px;flex:0 0 79px;margin:0;align-self:auto;mix-blend-mode:multiply}.official-brand .brand-symbol img{position:absolute;max-width:none;width:467.4px;height:80.56px;left:-16px;top:-18px;filter:none}.official-brand .brand-name{display:block;font-size:29px;line-height:1.15;font-weight:800;letter-spacing:-1.2px;align-self:auto;margin:0}.brand-name small{display:block;margin-top:7px;font-size:9px;font-weight:600;letter-spacing:2px;line-height:1.3}header nav{width:auto;gap:32px;justify-content:flex-end}@media(max-width:900px){header{gap:20px}.official-brand{gap:10px}.official-brand .brand-name{font-size:25px}.brand-name small{font-size:8px;letter-spacing:1.4px}header nav{gap:19px}}@media(max-width:650px){header{padding:22px 6% 17px;flex-wrap:wrap;gap:22px}.official-brand{gap:12px}.official-brand .brand-name{font-size:28px}.brand-name small{font-size:9px;letter-spacing:1.5px}header nav{width:100%;justify-content:space-between;padding:0;gap:12px;border-top:1px solid #dae3df;padding-top:15px}header nav>a:not(.nav-button){font-size:13px}.nav-button{padding:10px 14px}}
/* Full service presentation */
.expanded-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 55px}.expanded-services h3{margin-top:28px}.expanded-services p{max-width:480px}.featured-service{background:#e3efd9;padding:25px;border-radius:8px;border-top:0!important}.products-note{margin:35px 0 0;font-size:14px;line-height:1.7;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid #d2ddda}.about h2{margin-top:28px}.about-copy{font-size:18px;line-height:1.85}.about-copy p:not(:first-child){font-size:16px;color:var(--muted)}.works{background:#edf2ef}.works h2{margin:25px 0 40px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.work-grid figure{margin:0;min-width:0}.work-grid img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.work-grid figcaption{font-size:16px;line-height:1.6;margin-top:20px}.work-grid figcaption span{display:block;font-size:12px;letter-spacing:1.4px;margin-bottom:8px;font-weight:700}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.faq h2{margin-top:25px}.faq details{border-bottom:1px solid #cad7d2;padding:22px 0}.faq details:first-child{border-top:1px solid #cad7d2}.faq summary{font-size:18px;font-weight:500;cursor:pointer;line-height:1.5}.faq details p{margin:15px 0 0;line-height:1.8;color:var(--muted)}.quote{background:var(--deep);color:#f1f8ed;display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.quote h2{margin-top:25px}.quote h2 em{color:var(--lime)}.quote>div>p:not(.eyebrow){line-height:1.8;max-width:380px;color:#bbced0}.quote-note{font-size:14px;line-height:1.7;color:#bbced0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote label{display:block;font-size:14px;line-height:1.5;margin-bottom:20px}.quote label>span{color:#bbced0}input,select,textarea{display:block;width:100%;margin-top:9px;border:1px solid #5c858c;border-radius:5px;padding:14px;background:#fff;color:#163f49;font:inherit;font-size:16px;min-height:48px}textarea{resize:vertical}.quote input:focus,.quote select:focus,.quote textarea:focus{outline:3px solid var(--lime);outline-offset:2px}.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-actions .button{background:var(--lime);color:var(--deep);border:0;cursor:pointer;font:inherit;font-size:14px;font-weight:600}.email-button{background:none;color:#fff;border:0;text-decoration:underline;text-underline-offset:5px;cursor:pointer;font:inherit;font-size:14px;padding:12px 0}#quote-status{font-size:14px;line-height:1.7;margin:20px 0 0}.whatsapp-float{position:fixed;bottom:22px;right:25px;border-radius:40px;padding:15px 22px;background:#145944;color:#fff;box-shadow:0 4px 20px #00382e2b;z-index:10;font-size:14px;font-weight:600}.whatsapp-float:hover{background:#0e4635}footer{padding-bottom:85px}.hero-photo>img{object-position:40% center}.hero .eyebrow{line-height:1.6}.quote button:focus-visible,.faq summary:focus-visible{outline:3px solid #77bda3;outline-offset:5px}@media(max-width:900px){.about,.faq,.quote{gap:35px}.form-grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:54px}.expanded-services{gap:30px}.work-grid{gap:20px}}@media(max-width:600px){.hero h1{font-size:59px}.hero-photo{min-height:370px}.hero-photo>img{object-position:35% center}.expanded-services,.about,.faq,.quote,.work-grid{grid-template-columns:1fr}.expanded-services{gap:35px}.about,.faq,.quote{gap:30px}.work-grid{gap:40px}.work-grid img{aspect-ratio:16/10}.about-copy{font-size:17px}.featured-service{padding:22px}.whatsapp-float{right:16px;bottom:16px;padding:13px 20px}.form-actions{align-items:stretch;flex-direction:column}.form-actions .button{justify-content:center}.quote h2{font-size:43px}.hero .eyebrow{font-size:10px;letter-spacing:1px}footer{padding-bottom:90px}}
/* Home and two distinct audience paths */
.portal-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.portal-intro{display:grid;grid-template-columns:1.12fr 1fr;gap:6%;align-items:center;padding-top:32px;padding-bottom:36px}.portal-intro h1{font-size:clamp(44px,4.5vw,70px);line-height:1.08;letter-spacing:-3px;margin:23px 0}.portal-description{max-width:610px;font-size:17px;line-height:1.75;color:var(--muted)}.portal-coverage{font-size:14px;line-height:1.9;margin-bottom:0;font-weight:600}.intro-photo{position:relative;min-height:360px;height:100%;overflow:hidden;border-radius:10px}.intro-photo img{position:absolute;height:100%;width:100%;object-fit:cover;object-position:35% center}.intro-photo span{position:absolute;bottom:18px;left:20px;right:20px;font-size:10px;letter-spacing:1.4px;color:#fff;padding:12px;background:#073f49dc;border-radius:4px;line-height:1.5}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 5.5% 20px}.audience-card{border-radius:9px;padding:30px 34px;display:flex;flex-direction:column;min-height:275px;transition:transform .18s ease}.audience-card:hover{transform:translateY(-3px)}.for-clients{background:var(--deep);color:#fff}.for-lifeguards{background:var(--lime);color:var(--deep)}.audience-title{font-family:Manrope,sans-serif;font-size:30px;line-height:1.2;letter-spacing:-1px;margin:14px 0}.audience-card p{font-size:16px;line-height:1.6;max-width:440px;margin:0 0 24px}.for-clients p{color:#d4e5e6}.audience-action{display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid #ffffff42;padding-top:18px;font-size:14px;font-weight:600}.for-lifeguards .audience-action{border-color:#174c5438}.audience-action>span{font-size:23px}.portal-about{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:80px;padding-bottom:75px}.portal-about p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--muted)}.coverage-row{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid #c5d3cc;padding-top:22px;margin-top:30px}.coverage-row strong{display:block;font-size:18px;margin-bottom:8px}.coverage-row span{font-size:14px;line-height:1.6;color:var(--muted)}.portal-footer{align-items:flex-start;gap:30px;flex-wrap:wrap;padding-bottom:40px}.portal-footer>div{min-width:0}.portal-footer p{font-size:13px;line-height:1.8;margin-top:14px}.portal-footer>div>a:not(.brand){display:block;font-size:14px;line-height:2;overflow-wrap:anywhere}.recruitment-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;padding-top:55px;padding-bottom:70px;align-items:center}.recruitment-hero h1{font-size:clamp(44px,4.5vw,68px);letter-spacing:-3px;line-height:1.1}.recruitment-hero .intro{max-width:560px}.recruit-note{font-size:13px;line-height:1.6;color:var(--muted);margin:20px 0 0}.recruit-identity{padding:35px;background:#e5efdf;border-radius:8px}.recruit-identity h2{font-size:37px;letter-spacing:-1.5px;margin-top:24px}.recruit-identity>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#42645d}.identity-contact{border-top:1px solid #b6cdb6;padding-top:20px;display:flex;flex-direction:column;gap:8px;font-size:14px}.identity-contact strong{font-size:18px}.identity-contact a{text-decoration:underline;text-underline-offset:4px}.application-steps{background:#edf2ef}.application-steps h2{margin-top:25px}.application-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.application-step-grid article{border-top:1px solid #baccc3;padding-top:24px}.application-step-grid article>span{font-size:14px;color:#52847c}.application-step-grid h3{margin-top:24px}.application-step-grid p{line-height:1.8;color:var(--muted)}.application-invite{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 5.5%;background:#edf2ef;border-top:1px solid #cad6cf}.application-invite p{margin:0;font-size:23px;letter-spacing:-.5px}#application-status{font-size:14px;line-height:1.7;margin:20px 0 0}.faq p a{overflow-wrap:anywhere;text-decoration:underline}@media(max-width:1000px){header .portal-nav{gap:18px}.portal-intro{gap:30px}.portal-intro h1,.recruitment-hero h1{font-size:48px;letter-spacing:-2px}.audience-card{padding:25px}.audience-title{font-size:27px}.recruitment-hero{gap:30px}.recruit-identity{padding:25px}.recruit-identity h2{font-size:31px}.application-step-grid{gap:25px}}@media(max-width:820px){header:has(.portal-nav){flex-wrap:wrap;gap:20px}.portal-nav{width:100%;justify-content:space-between}.portal-intro{grid-template-columns:1fr 1fr}.portal-description{font-size:16px}.portal-intro .eyebrow{font-size:10px;letter-spacing:.8px}.portal-intro h1{font-size:43px}.intro-photo{min-height:390px}.audience-grid{gap:16px}.audience-title{font-size:25px}.recruitment-hero{grid-template-columns:1fr}.recruitment-hero h1{max-width:650px}.recruit-identity h2{font-size:36px}.portal-about{gap:30px}}@media(max-width:600px){header:has(.portal-nav){padding:20px 6% 15px}header .portal-nav{display:flex;width:100%;gap:10px;flex-wrap:wrap}header .portal-nav>a:not(.nav-button){font-size:13px}header .portal-nav .nav-button{font-size:12px;padding:9px 11px}.portal-intro{grid-template-columns:1fr;padding-top:28px;gap:25px;padding-bottom:25px}.portal-intro h1{font-size:46px;letter-spacing:-2.5px}.portal-description{line-height:1.7}.portal-coverage{font-size:13px}.intro-photo{min-height:200px;height:200px}.intro-photo img{object-position:center 58%}.intro-photo span{font-size:9px;bottom:12px;left:12px;right:12px;padding:8px}.audience-grid{grid-template-columns:1fr;margin:0 6%;gap:18px}.audience-card{padding:26px;min-height:250px}.audience-title{font-size:30px}.audience-card .eyebrow{font-size:10px;line-height:1.7}.portal-about{grid-template-columns:1fr;padding-top:65px;gap:15px}.coverage-row{gap:20px}.portal-footer{gap:24px;padding-bottom:35px}.portal-footer>div:first-child{flex-basis:100%}.portal-footer>div>a:not(.brand){font-size:14px}.recruitment-hero{padding-top:30px;padding-bottom:45px}.recruitment-hero h1{font-size:47px;letter-spacing:-2px}.recruit-identity{padding:25px}.recruit-identity h2{font-size:32px}.application-step-grid{grid-template-columns:1fr;gap:25px}.application-invite{flex-direction:column;align-items:flex-start;padding:30px 6%}.application-invite p{font-size:23px}}@media(prefers-reduced-motion:reduce){.audience-card{transition:none}.audience-card:hover{transform:none}}

/* Approved company presentation */
.audience-card h2.audience-title{font-size:clamp(26px,2.5vw,34px);line-height:1.25;letter-spacing:-1px;margin:16px 0}.audience-card{min-width:0}.audience-action{gap:18px;line-height:1.6}.portal-about h3{font-size:21px;margin:28px 0 8px}.portal-about h3+p{margin-top:0}.about-facts{display:flex;flex-direction:column;gap:12px;margin-top:28px}.about-facts span{border-left:3px solid var(--deep);padding:6px 0 6px 14px;font-size:16px;line-height:1.5}.portal-about .about-location{margin-top:30px}.audience-card:focus-visible{outline:3px solid #087b8c;outline-offset:5px}.portal-nav{flex-wrap:wrap}.portal-about h2{font-size:clamp(34px,4vw,56px);line-height:1.15}.recruitment-hero .intro+.intro{margin-top:14px}@media(max-width:600px){.audience-card h2.audience-title{font-size:28px}.portal-about{padding-bottom:50px}.portal-nav{justify-content:flex-start;column-gap:18px!important;row-gap:12px!important}}

.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-actions .direct-submit{flex-basis:100%;justify-content:center}.form-actions button:disabled{opacity:.6;cursor:wait}.quote-note a{text-decoration:underline;overflow-wrap:anywhere}[role=status][data-state=success]{padding:14px;border:1px solid var(--lime);border-radius:6px}[role=status][data-state=error]{padding:14px;border:1px solid #ffb5a0;border-radius:6px}

/* Extended service pages: the existing Pool Service identity, with clearer routes. */
header:has(.portal-nav){height:auto;min-height:108px;gap:24px;padding-top:22px;padding-bottom:22px;position:relative;z-index:20}.portal-nav{gap:22px;justify-content:flex-end}.portal-nav>a,.service-menu summary{font-size:14px}.portal-nav .nav-button{white-space:nowrap}.skip-link{position:absolute;left:16px;top:-100px;background:var(--deep);color:#fff;padding:14px;z-index:100}.skip-link:focus{top:12px}.service-menu{position:relative}.service-menu summary{cursor:pointer;padding:12px 0;font-weight:600;list-style-position:inside}.service-menu summary:focus-visible{outline:3px solid #53a8aa;outline-offset:5px}.service-menu .current-section{text-decoration:underline;text-underline-offset:7px}.service-menu-panel{position:absolute;top:100%;left:-20px;width:255px;background:var(--paper);border:1px solid #c2d0cd;box-shadow:0 15px 35px #073f491c;border-radius:8px;padding:10px;display:grid;gap:3px;z-index:30}.service-menu-panel a{padding:12px 14px;line-height:1.5;border-radius:4px}.service-menu-panel a:hover,.service-menu-panel a:focus-visible{background:#e5efdf}.detail-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:8%;padding-top:65px;padding-bottom:70px;border-bottom:1px solid #d2ddda}.detail-hero h1{font-size:clamp(42px,4.6vw,72px);line-height:1.12;letter-spacing:-2.5px;margin-top:26px}.detail-intro{font-size:18px;color:var(--muted);line-height:1.85;max-width:680px;margin-bottom:0}.detail-aside{background:#e5efdf;padding:36px;border-radius:9px}.detail-aside h2{font-size:clamp(28px,2.8vw,40px);letter-spacing:-1.2px;margin:25px 0}.detail-aside p:not(.eyebrow){line-height:1.8;margin:20px 0 0}.detail-aside .text-link{margin-top:24px}.contact-line{display:block;font-size:16px;line-height:1.8;overflow-wrap:anywhere;margin-bottom:10px;text-decoration:underline;text-underline-offset:4px}.detail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:45px}.detail-cards article{border-top:1px solid #baccc3;padding-top:24px}.detail-cards h3{margin:24px 0 14px}.detail-cards p{color:var(--muted);line-height:1.8;margin:0}.service-cta{background:var(--deep);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:65px;padding-bottom:65px}.service-cta h2{font-size:clamp(30px,3.5vw,48px);margin-bottom:15px}.service-cta p{color:#d4e5e6;line-height:1.8;max-width:640px;margin:0}.service-cta .button{background:var(--lime);color:var(--deep);flex-shrink:0}.service-overview{padding-top:75px;padding-bottom:75px}.service-overview h2{margin:25px 0 35px}.service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.service-link{padding:32px;background:#edf2ef;border:1px solid #d2ddda;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;transition:background .15s}.service-link:first-child{background:var(--deep);color:#fff;border-color:var(--deep)}.service-link:first-child .service-number,.service-link:first-child p{color:#d4e5e6}.service-link:hover{background:#e5efdf}.service-link:first-child:hover{background:#155764}.service-link h3{font-size:28px;margin:23px 0 14px}.service-link p{line-height:1.8;color:var(--muted);max-width:560px}.text-link{display:inline-block;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:6px;line-height:1.6}.service-link .text-link{margin-top:auto}.company-photo{padding-top:0}.company-photo img{width:100%;height:auto;max-height:580px;object-fit:cover;border-radius:8px}.company-photo p{font-size:14px;color:var(--muted);line-height:1.7;margin-top:15px}.portal-about>.text-link{grid-column:2}.eyebrow{line-height:1.6}.button{line-height:1.5}.portal-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}
@media(max-width:1150px){header:has(.portal-nav){flex-wrap:wrap}.portal-nav{width:100%;justify-content:flex-start;gap:24px}.detail-hero{gap:35px}.detail-aside{padding:28px}}
@media(max-width:760px){.detail-hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:45px;gap:30px}.detail-hero h1{font-size:46px;letter-spacing:-2px}.detail-intro{font-size:17px}.detail-aside{padding:26px}.detail-cards{grid-template-columns:1fr;gap:28px}.service-links{grid-template-columns:1fr}.service-cta{align-items:flex-start;flex-direction:column}.service-link{padding:26px}.service-link h3{font-size:26px}.portal-about>.text-link{grid-column:auto}.service-menu-panel{left:0}.portal-nav{row-gap:8px!important;column-gap:20px!important}.portal-nav>a:not(.nav-button){display:block!important;font-size:14px!important}.portal-nav .nav-button{font-size:14px!important;padding:11px 16px!important}.service-menu summary{font-size:14px}.company-photo{padding-top:0}.detail-hero h1{overflow-wrap:break-word}.portal-footer{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-link{transition:none}}

.candidate-benefits{background:#edf2ef}.equipment-showcase{background:#edf2ef}.showcase-intro{max-width:790px;color:var(--muted);line-height:1.8;font-size:17px}.equipment-showcase .detail-cards article{display:flex;flex-direction:column;align-items:flex-start}.equipment-showcase .detail-cards .text-link{margin-top:22px}.case-study{background:#edf2ef}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:42px}.case-gallery figure{margin:0;min-width:0}.case-gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.case-gallery figcaption{font-size:15px;line-height:1.6;margin-top:14px}.case-disclaimer{font-size:14px;color:var(--muted);line-height:1.7;margin:22px 0 0}@media(max-width:760px){.case-gallery{grid-template-columns:1fr;gap:28px}.showcase-intro{font-size:16px}}

.quote-detailed{grid-template-columns:.7fr 1.3fr;gap:5%}.quote-detailed form{min-width:0}.quote-subheading{font-size:19px;margin:32px 0 18px;color:var(--lime)}.quote-choice{border:1px solid #5c858c;border-radius:6px;min-width:0;padding:15px 18px}.quote-choice legend{font-size:15px;line-height:1.5;padding:0 6px}.quote-choice label{display:inline-flex;align-items:center;gap:8px;margin:4px 20px 4px 0;cursor:pointer}.quote-choice input,.privacy-choice input{width:18px;height:18px;min-height:18px;margin:0;accent-color:#b7e775}.quote-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}.privacy-choice{display:flex!important;gap:13px;align-items:flex-start;margin:24px 0 20px!important;line-height:1.65!important}.privacy-choice input{margin-top:3px;flex:none}.privacy-choice a{text-decoration:underline;text-underline-offset:3px}.captcha-label{max-width:210px}.privacy-page{max-width:1000px;margin:auto}.privacy-page h1{font-size:clamp(40px,5vw,65px)}.privacy-page h2{font-size:28px;margin:40px 0 12px}.privacy-page p{line-height:1.8;font-size:17px;color:var(--muted)}.privacy-page a{text-decoration:underline;overflow-wrap:anywhere}.privacy-note{margin-top:36px}@media(max-width:900px){.quote-detailed{grid-template-columns:1fr}.quote-options{grid-template-columns:1fr 1fr}}@media(max-width:600px){.quote-options{grid-template-columns:1fr}.quote-choice legend{font-size:14px}.quote-detailed .form-grid{grid-template-columns:1fr}}

/* Keep every quote action visibly inside the dark form section on phones. */
.quote-detailed{padding-bottom:110px}
.quote-detailed .form-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;margin-top:24px}
.quote-detailed .form-actions button{min-height:54px;line-height:1.35}
.quote-detailed .form-actions .email-button{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border:1px solid #c4ed82;border-radius:40px;background:transparent;color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.quote-detailed #quote-status{min-height:24px;margin-top:18px}
@media(max-width:600px){.quote-detailed{padding-bottom:90px}.quote-detailed .form-actions{flex-direction:column;gap:14px}.quote-detailed .form-actions button{display:flex;width:100%;justify-content:center}.quote-detailed .form-actions .email-button{min-height:58px}}

/* Blue brand and a gently moving home introduction. */
.brand-name{color:#075e85}.brand-name small{color:#388998}
.home-page .portal-intro{background:linear-gradient(120deg,#e8faff 0%,#c9f0fa 52%,#edf8e2 100%);background-size:160% 160%;animation:water-light 16s ease-in-out infinite alternate;padding-top:64px;padding-bottom:64px}
.home-page .portal-intro h1 em{color:#087ea5}.home-page .intro-photo{border-radius:28px 8px 28px 8px;box-shadow:0 20px 55px #087ea522;overflow:hidden}.home-page .intro-photo img{animation:pool-breathe 18s ease-in-out infinite alternate}.home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:28px 0}.home-actions .button{background:#086b88;color:#fff}.home-page .for-clients{background:#073f55;color:#fff}.home-page .for-lifeguards{background:#d2f2fa}.home-page .audience-grid{padding-top:28px}.home-page .portal-about{background:#eaf6f8}.home-page .service-link:not(:first-child){background:#f0f9fc}.portal-footer a{overflow-wrap:anywhere}
@keyframes water-light{from{background-position:0% 40%}to{background-position:100% 60%}}
@keyframes pool-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(max-width:600px){.home-page .portal-intro{padding-top:36px;padding-bottom:36px}.home-actions{gap:20px}.home-actions .button{padding:14px 22px}.home-page .intro-photo{border-radius:20px 6px 20px 6px}}
@media(prefers-reduced-motion:reduce){.home-page .portal-intro,.home-page .intro-photo img{animation:none}}

.home-page .portal-intro{position:relative;isolation:isolate;overflow:hidden;padding-bottom:90px}
.home-page .portal-intro>div:not(.water-waves){position:relative;z-index:1}
.water-waves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.water-waves span{position:absolute;display:block;width:140%;height:100px;left:-20%;bottom:-66px;border-radius:50%;background:#45bade55;animation:wave-drift 9s ease-in-out infinite alternate}
.water-waves span+span{height:130px;bottom:-92px;background:#159bc844;animation-duration:13s;animation-delay:-5s}
.motion-toggle{position:absolute;right:5.5%;bottom:14px;z-index:2;border:1px solid #23768a;border-radius:30px;background:#f3fcff;color:#075268;padding:8px 14px;font:inherit;font-size:12px;cursor:pointer}
.motion-toggle:focus-visible{outline:3px solid #075e85;outline-offset:3px}
.home-page .portal-intro .eyebrow{animation:home-enter .65s both}
.home-page .portal-intro h1{animation:home-enter .8s .1s both}
.home-page .portal-description{animation:home-enter .8s .2s both}
.home-page .home-actions,.home-page .portal-coverage{animation:home-enter .8s .3s both}
.home-page .audience-card{transition:transform .25s ease,box-shadow .25s ease}
@media(hover:hover){.home-page .audience-card:hover{transform:translateY(-7px);box-shadow:0 16px 32px #07526822}}
.home-page .audience-card:focus-visible{box-shadow:0 16px 32px #07526822}
.home-page.motion-paused .portal-intro,.home-page.motion-paused .portal-intro *{animation-play-state:paused}
@keyframes wave-drift{from{transform:translate(-3%,0) rotate(-2deg)}to{transform:translate(3%,-15px) rotate(2deg)}}
@keyframes home-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:600px){.home-page .portal-intro{padding-bottom:72px}.motion-toggle{right:6%}}
@media(prefers-reduced-motion:reduce){.home-page .portal-intro,.home-page .portal-intro *{animation:none!important}.home-page .audience-card{transition:none}.home-page .audience-card:hover{transform:none}.motion-toggle{display:none}}

/* Shared visual identity and motion across every page. */
header:has(.portal-nav){position:relative;padding-bottom:46px}
.official-brand .brand-symbol{width:88px;height:58px;flex:0 0 88px;overflow:visible;mix-blend-mode:normal;background:transparent}
.pool-mark{display:block;width:100%;height:100%;overflow:visible}
.mark-swimmer{transform-origin:75px 82px}.mark-arm{transform-origin:78px 80px}.mark-water{transform-origin:center}
.brand-swim .mark-swimmer{animation:swimmer-bob .75s ease-in-out 3}
.brand-swim .mark-arm{animation:swimmer-stroke .75s ease-in-out 3}
.brand-swim .mark-water{animation:logo-ripple .75s ease-in-out 3}
.motion-toggle{position:absolute;right:5.5%;bottom:10px;font-size:12px;min-height:30px}
.detail-hero,.recruitment-hero{background:linear-gradient(120deg,#edfaff,#d4f1fa 65%,#eef8e8)}
.detail-hero h1 em,.recruitment-hero h1 em{color:#087ea5}
.detail-aside{background:#fff;border-left:4px solid #38afe0;box-shadow:0 12px 35px #0752680d}
.recruit-identity{background:#073f55;color:#fff;border-radius:24px 6px 24px 6px}
.recruit-identity p,.recruit-identity a,.recruit-identity span,.recruit-identity .eyebrow{color:#e1f4fa}
.company-hero{border-bottom:0}.company-photo img{border-radius:24px 6px 24px 6px}
.service-overview .service-link,.detail-cards article{transition:transform .25s ease,box-shadow .25s ease}
.button,.nav-button{transition:transform .2s ease,box-shadow .2s ease}
@media(hover:hover){.button:hover,.nav-button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #07526820}.service-link:hover,.detail-cards article:hover{transform:translateY(-4px)}}
.motion-ready .motion-item{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;transition-delay:var(--reveal-delay,0ms)}
.motion-ready .motion-item.is-visible{opacity:1;transform:none}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}
body.motion-paused .motion-item{opacity:1;transform:none;transition:none}
@keyframes swimmer-bob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-3px) rotate(-3deg)}}
@keyframes swimmer-stroke{0%,100%{transform:rotate(0deg)}50%{transform:rotate(16deg)}}
@keyframes logo-ripple{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@media(max-width:600px){.official-brand .brand-symbol{width:70px;height:48px;flex-basis:70px}.official-brand .brand-name{font-size:25px}header:has(.portal-nav){padding-bottom:48px}.motion-toggle{right:6%;font-size:12px}.detail-aside{border-radius:12px}.recruit-identity{border-radius:18px 6px 18px 6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .motion-item{opacity:1;transform:none}.button:hover,.nav-button:hover,.service-link:hover,.detail-cards article:hover{transform:none}.motion-toggle{display:none}}

/* Larger animated brand mark, with room for the mobile wordmark. */
.official-brand .brand-symbol{width:116px;height:76px;flex-basis:116px}
@media(max-width:600px){.official-brand .brand-symbol{width:92px;height:60px;flex-basis:92px}.official-brand{gap:10px}}
@media(max-width:360px){.official-brand .brand-symbol{width:84px;height:55px;flex-basis:84px}.official-brand .brand-name{font-size:23px}}
