:root{--ink:#092c39;--navy:#052531;--aqua:#38d9e3;--muted:#4d6974;--paper:#f4fafb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #e59714;outline-offset:6px}header,main,footer{max-width:1800px;margin:auto}.header{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid #dce9ec}.wordmark{font-size:23px;letter-spacing:-1px;font-weight:900;line-height:1}.wordmark span{display:block;font-size:13px;letter-spacing:5px;color:#087f97;margin-top:6px}nav{display:flex;align-items:center;gap:35px;font-size:15px;font-weight:600}.nav-call{border:1px solid #bdced3;border-radius:30px;padding:10px 22px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:28px 28px 28px 5%;gap:40px;align-items:stretch}.hero-copy{padding:66px 0 48px;align-self:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#097d90}h1{font-size:clamp(48px,5.6vw,85px);line-height:1.03;letter-spacing:-4px;margin:26px 0}h1 em{font-family:Georgia,serif;font-weight:400;color:#07859b}p{color:var(--muted);max-width:480px;margin:20px 0 30px}.hero-copy p{font-size:19px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:28px;background:var(--ink);color:white;padding:16px 24px;border-radius:5px;font-weight:700;font-size:15px;transition:transform .2s,background .2s}.button:hover{background:#0a6474;transform:translateY(-2px)}.text-link{font-weight:700;border-bottom:1px solid;padding:5px 0}.brand-note{font-size:13px;color:var(--muted);margin-top:44px}.hero-photo{position:relative;border-radius:12px;overflow:hidden;min-height:580px;background:#21aabe}.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.photo-caption{position:absolute;bottom:24px;left:24px;right:24px;color:white;padding:15px 20px;background:#052531cc;border:1px solid #ffffff44;border-radius:6px;font-size:14px;backdrop-filter:blur(6px)}.care{padding:100px 7% 105px;background:white}.section-intro{display:grid;grid-template-columns:1.25fr 1fr;column-gap:70px;align-items:start}.section-intro .eyebrow{grid-column:1/-1}h2{font-size:clamp(32px,3.1vw,48px);line-height:1.13;letter-spacing:-1.8px;margin:20px 0}.section-intro p{margin-top:24px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.services article{border-top:1px solid #b9d2d8;padding-top:24px}.number{font-size:14px;color:#07859b;font-weight:700}h3{font-size:23px;letter-spacing:-.5px;line-height:1.3;margin:20px 0 12px}.services p{font-size:16px;margin:0;max-width:310px}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1.15fr;padding:80px 8%;gap:90px;align-items:center}.logo-wrap{max-width:360px;justify-self:center}.logo-wrap img{display:block;width:100%;height:auto}.contact .eyebrow{color:var(--aqua)}.contact h2{font-size:54px}.contact p{color:#b4cbd4}.phone{display:inline-block;font-size:clamp(26px,3vw,41px);line-height:1.2;font-weight:700;color:var(--aqua);margin:0 0 25px;letter-spacing:-1px}.contact .button{background:var(--aqua);color:var(--navy)}.contact .outline{border:1px solid #65838e;background:transparent;color:white}.contact .actions{gap:14px}.email{display:inline-block;font-size:15px;color:#c6dce3;margin-top:25px;overflow-wrap:anywhere}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px 5%;font-size:13px}footer strong{font-size:16px}footer div span{display:block;color:var(--muted)}footer a{font-weight:700}section{scroll-margin-top:10px}@media(max-width:800px){.header{padding:20px 6%}nav{gap:20px}.nav-call{display:none}.hero{grid-template-columns:1fr;padding:0 6% 28px;gap:15px;min-height:0}.hero-copy{padding:45px 0 15px}h1{font-size:60px;letter-spacing:-2.8px}.hero-photo{min-height:390px}.brand-note{margin-top:30px}.care{padding:65px 6%}.section-intro{display:block}.services{gap:28px;grid-template-columns:1fr;margin-top:30px}.services article{display:grid;grid-template-columns:35px 1fr;column-gap:12px}.services h3{margin:0 0 12px}.services p{grid-column:2;max-width:none}.contact{grid-template-columns:1fr;padding:50px 7%;gap:38px}.logo-wrap{width:170px;justify-self:start}.contact h2{font-size:44px}.contact-copy{max-width:100%}footer{align-items:flex-start;flex-direction:column;padding:30px 7%;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}@media(max-width:380px){h1{font-size:48px}nav{gap:14px;font-size:14px}.actions{gap:18px}.hero-copy p{font-size:17px}}

/* Show the standalone Piranha Pools mark without the affiliation tagline. */
.logo-wrap{width:100%;aspect-ratio:850/660;overflow:hidden}.logo-wrap img{max-width:none}
@media(max-width:800px){.logo-wrap{width:170px}}

/* Piranha Pools brand: shark emblem, ocean blue, and bright aqua. */
.header{background:#052531;color:white;border-bottom:3px solid #20c6e8;padding-top:12px;padding-bottom:12px}.header-brand{display:block;flex-shrink:0}.header-logo{display:block;width:118px;aspect-ratio:850/660;overflow:hidden}.header-logo img{display:block;width:100%;height:auto}.header nav a:hover{color:#38d9e3}.nav-call{border-color:#3f7184}.hero{background:#052531;color:white}.hero-copy{padding-top:26px;padding-bottom:32px}.hero-brand.logo-wrap{width:230px;margin:0 0 26px;max-width:100%;justify-self:start}.hero .eyebrow{color:#38d9e3}.hero h1{font-size:clamp(46px,4.7vw,70px)}.hero h1 em{color:#38d9e3}.hero-copy p,.hero .brand-note{color:#c4dbe4}.hero .button{background:#38d9e3;color:#052531}.hero .button:hover{background:#8ef2f6}.hero .brand-note{margin-top:26px}.hero-photo{min-height:670px}.services article{border-top:3px solid #20c6e8}.number{color:#08758f}.contact{border-top:4px solid #20c6e8}@media(max-width:800px){.header-logo{width:92px}.hero-brand.logo-wrap{width:205px;margin-bottom:24px}.hero-copy{padding-top:30px}.hero h1{font-size:52px}.hero-photo{min-height:350px}}@media(max-width:380px){.hero h1{font-size:45px}}
