@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#092a40;--blue:#007eb8;--red:#e74836;--ink:#143348;--light:#eef5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.65}a{color:inherit}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}.wrap{max-width:1220px;margin:auto;padding:0 40px}.top{background:var(--navy);color:#c9deea;font-size:14px;padding:8px 0}.top .wrap{display:flex;justify-content:space-between}.top a{text-decoration:none}header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 #dde7ec}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;height:90px}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;line-height:1}.brand b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:58px;letter-spacing:-3px;font-style:italic}.brand b span{color:var(--red)}.brand>span{font-size:16px;font-weight:800;letter-spacing:1.5px}.brand em{display:block;font-style:normal;margin-top:6px;color:var(--blue);font-size:14px}nav{display:flex;gap:28px}nav a{text-decoration:none;font-size:15px;font-weight:600}nav a:hover{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 23px;background:var(--red);color:#fff;text-decoration:none;font-weight:700;border:2px solid var(--red);border-radius:3px;font-size:16px}.button:hover{background:#c73325;border-color:#c73325}.small{padding:10px 18px;min-height:44px}.hero{background:var(--navy);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding-top:55px;padding-bottom:55px}.eyebrow{font-size:14px;letter-spacing:2px;font-weight:700;color:#acd4e8;margin:0 0 18px}.blue{color:var(--blue)}h1,h2{font-family:'Barlow Condensed',Impact,sans-serif;line-height:1.04;letter-spacing:-.6px;margin:0;font-weight:700}h1{font-size:clamp(62px,7.2vw,96px)}h1 span{color:#56c9f4}h2{font-size:clamp(38px,4vw,54px)}h3{font-size:21px;line-height:1.25;margin:18px 0 12px}.intro{max-width:480px;font-size:18px;color:#d5e3ec;margin:25px 0 29px}.actions{display:flex;gap:14px;flex-wrap:wrap}.outline{background:transparent;border-color:#8eb0c2;color:white}.outline:hover{background:#16425d;border-color:#fff}.tagline{font-size:14px;color:#b8cfdd;margin:26px 0 0}.hero-image{height:520px;position:relative;border-radius:2px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(4,20,31,.88))}.image-label{position:absolute;bottom:28px;left:30px;right:25px;z-index:1}.image-label span{font-size:12px;letter-spacing:1.5px}.image-label strong{display:block;font-size:26px;line-height:1.2;margin-top:10px}.trust{display:grid;grid-template-columns:repeat(3,1fr);padding-top:28px;padding-bottom:28px;border-bottom:1px solid #d7e5ec}.trust>div{padding-left:28px;border-left:3px solid var(--blue)}.trust strong{display:block;font-size:19px}.trust span{font-size:14px;color:#587180}.section{padding-top:88px;padding-bottom:88px}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:36px}.section-head>p{max-width:340px;color:#587180;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d5e3ea;border:1px solid #d5e3ea}.services article{background:white;padding:30px;display:flex;flex-direction:column}.number{color:var(--blue);font-weight:700;font-size:14px}.services p{color:#526c7c;margin:0 0 20px}.services a{margin-top:auto;font-size:14px;font-weight:700;color:var(--blue);text-underline-offset:5px}.about{background:var(--navy);color:#fff;padding:65px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about p:not(.eyebrow){color:#d3e2eb;margin:0 0 20px}.principles{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.principles span{font-size:14px;border-top:2px solid var(--red);padding-top:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery figure{margin:0}.gallery img{width:100%;height:360px;object-fit:cover;display:block;background:var(--light)}figcaption{font-weight:600;padding:15px 0}.contact{background:var(--light);padding:76px 0}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:80px}.contact-grid>div>p:not(.eyebrow){max-width:480px;color:#526c7c}.contact-phone{font-family:'Barlow Condensed',Impact,sans-serif;font-size:42px;line-height:1.25;display:block;text-decoration:none;font-weight:700;margin-top:24px}.contact-email{display:block;color:var(--blue);font-size:18px;margin:8px 0 24px;overflow-wrap:anywhere}aside{background:#fff;padding:30px 34px;border-top:4px solid var(--blue)}aside h3{margin:0 0 22px}dl{margin:0}dt{font-size:14px;font-weight:700;color:var(--blue);margin:18px 0 3px}dd{margin:0}.safety{font-size:14px;line-height:1.5;color:#526c7c;border-top:1px solid #d5e3ea;padding-top:18px;margin-top:24px}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:34px;padding-bottom:34px}.footer p,.footer>a:last-child{font-size:14px;color:#526c7c}.mobile-call{display:none}@media(max-width:1000px){.wrap{padding-left:26px;padding-right:26px}.nav{gap:14px}nav{gap:16px}.hero-grid{gap:30px}.hero-image{height:470px}.contact-grid{gap:40px}.brand>span{font-size:14px}.brand b{font-size:50px}}@media(max-width:760px){.top .wrap{justify-content:center}.top a{display:none}.nav{height:76px}.nav>.button{font-size:14px;padding:8px 11px;min-height:42px}nav{display:none}.hero-grid{grid-template-columns:1fr;padding-top:38px;padding-bottom:30px;gap:32px}.hero-copy h1{font-size:66px}.intro{font-size:17px}.hero-image{height:350px}.image-label{bottom:22px;left:24px}.image-label strong{font-size:23px}.trust{grid-template-columns:1fr;gap:22px;padding-top:30px;padding-bottom:30px}.trust>div{padding-left:18px}.section{padding-top:55px;padding-bottom:55px}.section-head{display:block}.section-head>p{margin-top:18px}.services{grid-template-columns:1fr}.services article{padding:25px}.services h3{margin-top:12px}.about{padding:50px 0}.about-grid{grid-template-columns:1fr;gap:25px}.gallery{grid-template-columns:1fr;gap:20px}.gallery img{height:390px}.contact{padding:50px 0}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-email{font-size:16px}aside{padding:25px}.footer{align-items:start;flex-direction:column;padding-bottom:94px;gap:18px}.footer p{margin:0}.mobile-call{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:20;box-shadow:0 -2px 8px #092a4030}.mobile-call a{text-decoration:none;text-align:center;font-size:14px;font-weight:700;background:var(--red);color:white;padding:15px 5px}.mobile-call a:last-child{background:var(--navy)}html{scroll-padding-top:85px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Palette drawn from the logo's midnight blue and chrome. */
:root{--navy:#001838;--blue:#19548a;--red:#be3029;--ink:#e6edf5;--light:#0b1d32}
body{background:#061321;color:var(--ink)}.top{background:#020b16;color:#afc0d3;border-bottom:1px solid #132940}header{background:#061321;box-shadow:0 1px 0 #20334b}.nav{height:106px}.brand img{display:block;height:96px;width:96px;object-fit:contain}header nav{color:#d3dde9}header nav a:hover{color:#b7d6f5}.hero{background:linear-gradient(110deg,#001838,#08203c 65%,#0b2138)}.hero-grid{gap:62px;padding-top:58px;padding-bottom:62px;grid-template-columns:1.08fr 1fr}h1{font-size:clamp(62px,6.5vw,88px);letter-spacing:-.5px}h1 span{color:#bacfe6;text-shadow:none}.eyebrow,.hero-copy .eyebrow{color:#a6bdd5;letter-spacing:1.7px}.blue{color:#aac5e2}.intro{color:#c3d0df}.tagline{color:#a1b4ca}.hero-image{height:510px;transform:none;border:1px solid #314961;border-radius:6px;box-shadow:0 20px 45px #0004}.hero-image img{transform:none}.image-label{transform:none}.image-label strong{color:#fff}.image-label span{color:#dde7f0}.button{background:#b92f29;border-color:#b92f29;box-shadow:none}.button:hover{background:#96251f;border-color:#96251f}.outline{background:transparent;border-color:#607b97;color:#e8eff7}.outline:hover{background:#152e49;border-color:#a6c2df}.service-ribbon{background:#091a2e;border-top:1px solid #253e5b;border-bottom:1px solid #253e5b;color:#afc3d9}.service-ribbon .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:17px;padding-bottom:17px}.service-ribbon span{font-size:14px;font-weight:600;letter-spacing:1px}.trust{background:#061321;border-color:#26394f}.trust>div{border-left-color:#35638e}.trust strong{color:#e5edf6}.trust span{color:#a7b8ca}.section-head>p{color:#adbdcf}.services{gap:18px;background:none;border:none}.services article{background:#0c2036;border:1px solid #263e57;border-top:3px solid #2d527d;border-radius:5px}.services p{color:#afc0d2}.services a{color:#bbd3eb}.services article .number{color:#90b0d1}.services h3{color:#edf3fa}.about{background:#091b30;border-top:1px solid #253e57;border-bottom:1px solid #253e57}.about p:not(.eyebrow){color:#b7c8da}.principles span{color:#cbd9e8;border-top-color:#815253}.gallery figure{background:#0b2037;border:1px solid #263e57;border-radius:5px;overflow:hidden}.gallery img{height:380px}.gallery figcaption{padding:16px 20px;color:#d9e5f3}.contact{background:#0b1d32;border-top:1px solid #2e4560}.contact-grid>div>p:not(.eyebrow){color:#afc0d2}.contact-phone{color:#e9f1f9}.contact-email{color:#bbd3eb}aside{background:#0f253e;border:1px solid #304a67;border-top:3px solid #386390;border-radius:5px;box-shadow:none}aside h3{color:#e9f1f9}dt{color:#b7d2ee}dd{color:#c7d5e4}.safety{color:#aabdd2;border-top-color:#30475f}footer{background:#020c18;color:#e9f1f9;border-top:1px solid #1e354e}.footer .brand img{height:120px;width:120px}.footer p,.footer>a:last-child{color:#aabbcf}.mobile-call a{background:#b92f29}.mobile-call a:last-child{background:#082343}html{scroll-padding-top:122px}
@media(max-width:1000px){.hero-grid{gap:35px}.hero-image{height:490px}.nav{height:100px}.brand img{height:90px;width:90px}}
@media(max-width:760px){.nav{height:90px}.brand img{height:82px;width:82px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:38px}.hero-copy h1{font-size:64px}.hero-image{height:360px;margin:0;transform:none;box-shadow:0 12px 25px #0003}.hero-copy .eyebrow{font-size:12px;line-height:1.6}.service-ribbon .wrap{justify-content:center;gap:9px 18px}.service-ribbon span{font-size:12px;letter-spacing:.6px}.services{gap:15px}.gallery img{height:390px}.footer .brand img{height:115px;width:115px}html{scroll-padding-top:106px}}
/* Photographic opening and pool portfolio. */
.hero{background-image:linear-gradient(90deg,rgba(0,15,36,.94) 0%,rgba(0,20,44,.84) 45%,rgba(0,20,44,.58) 100%),url('assets/pool-finished-brightened.png');background-size:cover;background-position:center 62%}.hero-grid{position:relative}.hero .intro{color:#d8e2ef}.hero .tagline{color:#c0cfdf}.hero h1 span{color:#c9ddf2}.hero-image{box-shadow:0 20px 40px #0005}.pool-section{background:#081b30;border-block:1px solid #284059}.pool-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.pool-grid figure{margin:0;background:#0f253e;border:1px solid #304a67;border-radius:6px;overflow:hidden}.pool-grid img{display:block;width:100%;height:440px;object-fit:cover}.pool-grid figure:first-child img{object-fit:contain;background:#091726}.pool-grid figure:last-child img{object-position:center 67%}.pool-grid figcaption{padding:18px 22px;font-weight:600}.pool-bottom{display:flex;justify-content:space-between;gap:26px;align-items:center;margin-top:25px}.pool-bottom p{color:#b4c8dc;max-width:620px}.pool-service{grid-column:1/-1}.nav{gap:20px}nav{gap:22px}@media(max-width:1000px){nav{gap:14px}nav a{font-size:14px}.pool-grid img{height:365px}}@media(max-width:760px){.hero{background-position:45% 65%;background-image:linear-gradient(rgba(0,15,36,.86),rgba(0,20,44,.78)),url('assets/pool-finished-brightened.png')}.pool-grid{grid-template-columns:1fr;gap:22px}.pool-grid img{height:360px}.pool-grid figure:last-child img{height:440px}.pool-bottom{display:block}.pool-bottom .button{margin-top:12px}.pool-service{grid-column:auto}}
.pool-gallery{max-width:960px;margin:0 auto}.pool-gallery-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.pool-gallery-top p{margin:0;color:#c8d8e8;font-size:15px}.gallery-controls{display:flex;gap:10px}.gallery-controls button{font:600 14px 'DM Sans',Arial,sans-serif;min-height:44px;padding:10px 17px;background:#142d49;color:#e6eff9;border:1px solid #49637d;border-radius:4px;cursor:pointer}.gallery-controls button:disabled{opacity:.4;cursor:default}.gallery-controls button:not(:disabled):hover{background:#204468}.pool-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;scrollbar-width:none;position:relative;border-radius:6px;overscroll-behavior-x:contain}.pool-track::-webkit-scrollbar{display:none}.pool-slide{flex:0 0 100%;min-width:0;margin:0;background:#0f253e;border:1px solid #304a67;border-radius:6px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}.pool-slide img{display:block;width:100%;height:560px;object-fit:contain;background:#061321}.pool-slide figcaption{padding:25px 30px}.stage-label{font-size:13px;font-weight:700;letter-spacing:2px;color:#a9c4e1}.pool-slide h3{font-size:25px;margin:10px 0}.pool-slide p{color:#b7c9da;margin:0}.pool-dots{display:flex;justify-content:center;gap:12px;margin-top:22px}.pool-dots button{border:0;background:transparent;min-height:44px;min-width:44px;position:relative;cursor:pointer}.pool-dots button:before{content:'';position:absolute;width:10px;height:10px;left:17px;top:17px;background:#526b85;border-radius:50%}.pool-dots button[aria-current=true]:before{background:#c1d9f1;box-shadow:0 0 0 4px #284766}.pool-track:focus-visible,.pool-dots button:focus-visible,.gallery-controls button:focus-visible{outline:3px solid #bbd6f1;outline-offset:3px}@media(max-width:760px){.pool-gallery-top{align-items:start;gap:10px}.pool-gallery-top p{font-size:14px;max-width:190px}.gallery-controls{gap:7px}.gallery-controls button{padding:9px 12px;font-size:13px}.pool-slide img{height:390px}.pool-slide figcaption{padding:22px}.pool-slide h3{font-size:22px}.pool-slide p{font-size:16px}.pool-track{gap:16px}.pool-dots{gap:5px}}
