@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

:root{color-scheme:light;--navy:#082b39;--deep:#062430;--ink:#15313c;--muted:#55707a;--aqua:#8bd7d2;--mist:#eaf4f3;--cream:#f7f7f2;--white:#fff;--line:#d9e4e3;font-family:'DM Sans',Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3.1rem,6vw,6.7rem);font-weight:600}h2{font-size:clamp(2.3rem,4vw,4.2rem);font-weight:600}h3{font-size:1.5rem;font-weight:600}p{font-size:1.075rem}a:focus-visible,button:focus-visible{outline:3px solid #36b8b2;outline-offset:4px}.shell{width:min(100% - 64px,1280px);margin-inline:auto}.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.18em;line-height:1.4;color:#39747d;text-transform:uppercase}.eyebrow.light{color:var(--aqua)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:15px 27px;border:1px solid transparent;border-radius:2px;font-weight:700;line-height:1.2;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--aqua);color:var(--deep)}.button-light:hover{background:#b0ece5}.button-dark{background:var(--navy);color:white}.button-dark:hover{background:#145164}.text-link{display:inline-flex;gap:1.3rem;align-items:center;font-size:.91rem;letter-spacing:.02em;font-weight:700;padding-bottom:6px;border-bottom:1px solid currentColor}.text-link span{font-size:1.2rem;font-weight:400}.text-link.dark{color:var(--navy)}

.site-header{position:relative;z-index:20;background:#f9faf6;border-bottom:1px solid #e5eae7}.header-inner{height:90px;display:flex;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:218px;color:var(--navy)}.brand-mark{width:35px;height:35px;display:flex;flex-direction:column;justify-content:center;gap:5px;overflow:hidden}.brand-mark span{display:block;width:33px;height:4px;border-radius:50%;border-top:2.5px solid currentColor;transform:rotate(-16deg)}.brand-mark span:nth-child(2){margin-left:7px}.brand-mark span:nth-child(3){margin-left:14px}.brand-text{display:flex;flex-direction:column;line-height:.95;letter-spacing:.03em}.brand-text strong{font-family:Manrope,sans-serif;font-size:1.22rem;font-weight:800}.brand-text small{font-size:.76rem;font-weight:700;letter-spacing:.32em;margin-top:5px}.site-nav{display:flex;align-items:center;justify-content:center;gap:35px;flex:1}.site-nav a{font-size:.93rem;font-weight:700;transition:color .2s}.site-nav a:hover,.site-nav a[aria-current]{color:#318e91}.header-call{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;white-space:nowrap}.header-call .call-caption{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5d7982}.header-call strong{font-size:1.03rem}.menu-toggle{display:none}

.hero{position:relative;min-height:700px;background:var(--deep);color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 42%;opacity:.88}.hero-image::before{position:absolute;z-index:1;content:'';inset:0;background:linear-gradient(90deg,var(--deep) 0%,rgba(6,36,48,.87) 6%,rgba(6,36,48,.05) 74%),linear-gradient(0deg,rgba(6,36,48,.5),transparent 40%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-content{position:relative;z-index:2;min-height:700px;display:flex;align-items:center}.hero-copy{max-width:710px;padding:82px 0 120px}.hero h1{max-width:720px;margin:23px 0 24px}.hero h1 em{display:block;color:var(--aqua);font-style:normal}.hero-lede{max-width:510px;font-size:1.22rem;color:#e5f1ef;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.hero-phone{font-size:.95rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:5px}.hero-index{position:absolute;z-index:2;bottom:30px;right:max(32px,calc((100vw - 1280px)/2));display:flex;align-items:center;gap:18px;font-size:.72rem;font-weight:700;letter-spacing:.16em}.hero-line{display:block;width:66px;height:1px;background:rgba(255,255,255,.65)}

.intro-section{display:grid;grid-template-columns:1fr 2fr;gap:6vw;padding-block:115px}.intro-label{display:flex;gap:28px;align-items:flex-start;padding-top:10px}.intro-rule{display:block;width:50px;height:1px;margin-top:8px;background:#75a4a7}.intro-body h2{max-width:800px}.intro-body p{max-width:660px;margin-top:26px;color:var(--muted);font-size:1.2rem}.services-section{background:#e9f2f0;padding:105px 0 115px;scroll-margin-top:40px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.section-heading h2{margin-top:13px}.section-heading p{max-width:320px;color:var(--muted);font-size:1rem}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{display:flex;flex-direction:column;background:#fff;min-width:0;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(2,39,48,.12)}.service-card-image{height:250px;overflow:hidden;background:#b4d2d1}.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.04)}.service-card-content{padding:30px 30px 33px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.service-card h3{margin:17px 0 14px}.service-card p{color:var(--muted);font-size:1rem;line-height:1.55;flex:1}.service-card .text-link{margin-top:30px;color:var(--navy)}

.feature-section{display:grid;grid-template-columns:1fr 1fr;min-height:630px;background:#f7f7f2}.feature-image img{width:100%;height:100%;min-height:500px;object-fit:cover}.feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px clamp(40px,8vw,130px)}.feature-copy h2{max-width:580px;margin:22px 0}.feature-copy p{max-width:510px;color:var(--muted);font-size:1.15rem;margin-bottom:35px}.work-section{padding-block:110px 120px}.work-grid{display:grid;grid-template-columns:1fr 1.16fr .9fr;gap:18px}.work-grid figure{position:relative;overflow:hidden;background:#d8e8e8;height:370px}.work-grid img{width:100%;height:100%;object-fit:cover}.work-grid figure:nth-child(2){height:430px}.work-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 22px 19px;color:white;font-weight:700;background:linear-gradient(transparent,rgba(0,26,36,.72))}.cta-section{background:var(--navy);color:white;padding:90px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner h2{max-width:700px;margin:15px 0}.cta-inner p{color:#d0e5e5}.cta-inner .button{flex:none}

.site-footer{background:#06232e;color:#d5e7e8}.footer-main{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:70px;padding:85px 0 72px}.brand-footer{color:white}.footer-main p{margin-top:27px;max-width:360px;color:#aac5c9;font-size:.97rem}.footer-main h2{font-family:'DM Sans',sans-serif;font-size:.77rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua);margin-bottom:20px}.footer-main>div:nth-child(n+2){display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-main a:not(.brand){font-size:.96rem}.footer-main a:hover,.footer-bottom a:hover{color:var(--aqua)}.footer-main span{font-size:.96rem}.footer-bottom{border-top:1px solid #31515b;display:flex;justify-content:space-between;padding:22px 0 30px;color:#9fb9bf;font-size:.81rem}

.inner-hero,.service-hero{background:var(--deep);color:white}.inner-hero-grid,.service-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;min-height:550px;padding-block:80px}.inner-hero h1,.service-hero h1{font-size:clamp(3rem,5vw,5.3rem);margin:24px 0}.inner-hero p,.service-hero p{max-width:560px;color:#d5e8e8;font-size:1.18rem}.inner-hero img,.service-hero-image img{width:100%;height:430px;object-fit:cover}.prose-section{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;padding-block:115px}.prose-section h2,.service-intro h2{margin-top:20px}.prose-section p{font-size:1.16rem;color:var(--muted);margin-bottom:20px}.prose-section .button{margin-top:12px}.values-section,.service-details{background:var(--mist);padding:105px 0}.value-grid,.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:38px}.value-grid>div,.detail-grid>div{border-top:1px solid #a6c6c8;padding-top:24px}.value-grid span,.detail-num{font-size:.8rem;color:#2c7f84;font-weight:700;letter-spacing:.12em}.value-grid h3,.detail-grid h3{margin:35px 0 14px}.value-grid p,.detail-grid p{color:var(--muted);font-size:1rem}
.service-hero-grid{gap:6vw}.service-hero-copy .button{margin-top:35px}.service-hero-image img{height:470px}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end;padding-block:115px}.service-intro p{font-size:1.17rem;color:var(--muted)}.related-section{padding-block:105px}.related-section h2{margin:15px 0 35px}.related-list{border-top:1px solid #bed0d1}.related-list a{display:grid;grid-template-columns:70px 1fr 30px;align-items:center;gap:20px;border-bottom:1px solid #bed0d1;padding:26px 5px}.related-list a:hover{color:#29868b}.related-list strong{font-family:Manrope,sans-serif;font-size:1.6rem;font-weight:600;letter-spacing:-.03em}.related-list span{font-weight:700}
.contact-hero{background:var(--deep);color:white;padding:100px 0 120px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.contact-grid h1{font-size:clamp(3.1rem,5.2vw,5.5rem);margin:20px 0}.contact-grid>div:first-child p{max-width:480px;color:#d5e8e8;font-size:1.2rem}.contact-panel{background:#f7faf6;color:var(--ink);padding:50px;box-shadow:16px 16px 0 rgba(139,215,210,.14)}.contact-panel h2{font-size:2.25rem;margin:14px 0}.contact-panel p{color:var(--muted);font-size:1rem;margin-bottom:32px}.contact-method{border-top:1px solid var(--line);padding:17px 0;display:flex;flex-direction:column;gap:5px}.contact-method span{font-size:.7rem;letter-spacing:.14em;color:#3a7880;font-weight:700}.contact-method a,.contact-method strong{font-size:1.17rem;font-weight:700;overflow-wrap:anywhere}.contact-method a:hover{text-decoration:underline}.contact-after{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-block:105px}.contact-after h2{margin-top:20px}.contact-points p{display:flex;gap:20px;border-top:1px solid var(--line);padding:19px 0;color:var(--muted);font-size:1rem}.contact-points span{color:#2c7f84;font-weight:700}

@media(max-width:1050px){.header-inner{gap:16px}.brand{min-width:185px}.site-nav{gap:18px}.header-call .call-caption{display:none}.hero-image{left:34%}.hero-copy{max-width:610px}.footer-main{gap:35px}.service-card-image{height:210px}}
@media(max-width:760px){.shell{width:min(100% - 36px,1280px)}.site-header{position:sticky;top:0}.header-inner{height:70px;justify-content:space-between}.brand{min-width:0}.brand-mark{width:30px}.brand-text strong{font-size:1.05rem}.brand-text small{font-size:.66rem}.menu-toggle{display:inline-flex;align-items:center;gap:9px;background:none;border:0;color:var(--navy);font-weight:700;padding:10px 0;cursor:pointer}.menu-toggle span{font-size:1.2rem}.site-nav{display:none;position:absolute;top:69px;left:0;right:0;background:#f9faf6;padding:20px 18px 27px;box-shadow:0 15px 30px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:13px 8px;border-bottom:1px solid var(--line)}.header-call{display:none}.hero,.hero-content{min-height:680px}.hero-image{inset:0;opacity:.48}.hero-image::before{background:linear-gradient(90deg,rgba(6,36,48,.88),rgba(6,36,48,.25)),linear-gradient(0deg,var(--deep),transparent 55%)}.hero-copy{padding:92px 0 115px}.hero h1{font-size:clamp(3.6rem,11vw,5.4rem)}.hero-lede{font-size:1.1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-index{right:18px;font-size:.62rem}.intro-section,.prose-section,.service-intro,.contact-after{grid-template-columns:1fr;gap:25px;padding-block:75px}.intro-label{padding-top:0}.services-section,.work-section,.related-section,.values-section,.service-details{padding-block:75px}.section-heading{align-items:start;flex-direction:column;gap:15px}.services-grid{grid-template-columns:1fr}.service-card-image{height:260px}.feature-section{grid-template-columns:1fr}.feature-image img{min-height:0;height:360px}.feature-copy{padding:65px 18px 75px}.work-grid{grid-template-columns:1fr 1fr;gap:12px}.work-grid figure,.work-grid figure:nth-child(2){height:250px}.work-grid figure:first-child{grid-column:span 2;height:320px}.cta-inner{align-items:start;flex-direction:column}.footer-main{grid-template-columns:1fr 1fr;gap:50px 25px;padding-block:70px}.footer-main>div:first-child{grid-column:span 2}.inner-hero-grid,.service-hero-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.inner-hero-grid,.service-hero-grid{padding-block:70px}.inner-hero img,.service-hero-image img{height:340px}.value-grid,.detail-grid{grid-template-columns:1fr;gap:30px}.value-grid h3,.detail-grid h3{margin-top:20px}.contact-hero{padding:75px 0}.contact-panel{padding:32px}.related-list strong{font-size:1.25rem}}
@media(max-width:440px){.hero h1{font-size:3.2rem}.hero-index span:last-child{display:none}.service-card-image{height:220px}.work-grid{display:block}.work-grid figure,.work-grid figure:first-child,.work-grid figure:nth-child(2){height:270px;margin-bottom:12px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.footer-bottom{gap:12px;flex-direction:column}.contact-panel{padding:26px}.related-list a{grid-template-columns:32px 1fr 20px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Expanded service and area architecture */
.breadcrumbs{padding-block:13px;color:#53707a;font-size:.83rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}.breadcrumbs li:not(:last-child)::after{content:' /';margin-left:9px;color:#8aa5aa}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.breadcrumbs [aria-current]{color:var(--ink);font-weight:700}
.listing-hero{background:var(--deep);color:white;padding:100px 0 115px;overflow:hidden;position:relative}.listing-hero::after{content:'';position:absolute;width:500px;height:500px;right:-120px;top:-170px;border:1px solid rgba(139,215,210,.25);border-radius:50%;box-shadow:0 0 0 55px rgba(139,215,210,.045),0 0 0 110px rgba(139,215,210,.035);pointer-events:none}.listing-hero .shell{position:relative;z-index:1}.listing-hero h1{max-width:950px;margin:22px 0;font-size:clamp(3.1rem,6vw,6rem)}.listing-hero p{max-width:670px;color:#d5e8e8;font-size:1.2rem}.listing-section{padding-block:100px}.focused-section{padding-block:110px}.focused-section>.text-link{margin-top:32px}.focused-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#bfd4d3;border:1px solid #bfd4d3}.focused-grid a{position:relative;min-height:145px;background:#f7f7f2;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transition:background .25s,color .25s}.focused-grid a:hover{background:var(--navy);color:white}.focused-grid a>span{color:#47747c;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700}.focused-grid a:hover>span{color:var(--aqua)}.focused-grid strong{font-family:Manrope,sans-serif;font-size:1.3rem;letter-spacing:-.035em}.focused-grid i{position:absolute;bottom:23px;right:24px;font-style:normal;font-size:1.2rem}.directory-group{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #bad0d0;padding:65px 0}.directory-group h2{margin:17px 0 22px;font-size:clamp(2rem,3vw,3.2rem)}.directory-group p{color:var(--muted);max-width:530px;margin-bottom:28px}.directory-group>div:last-child{align-self:center;border-top:1px solid #bad0d0}.directory-group>div:last-child a{padding:25px 5px;border-bottom:1px solid #bad0d0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:700}.directory-group>div:last-child a:hover{color:#27858a}.area-band{background:#0e4656;color:white;padding:90px 0}.area-band-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center}.area-band h2{margin:16px 0;max-width:720px}.area-band p{color:#c5e1e3;max-width:600px}.area-band-links{border-top:1px solid rgba(255,255,255,.42)}.area-band-links a{display:flex;align-items:center;justify-content:space-between;padding:22px 4px;border-bottom:1px solid rgba(255,255,255,.42);font-family:Manrope,sans-serif;font-size:1.65rem;font-weight:600}.area-band-links a:hover{color:var(--aqua)}.area-listing{padding-block:100px}.area-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.area-cards>a{background:white;display:flex;flex-direction:column;padding-bottom:32px;overflow:hidden}.area-cards img{width:100%;height:350px;object-fit:cover;transition:transform .7s}.area-cards>a:hover img{transform:scale(1.045)}.area-cards>a>span:not(.text-link),.area-cards strong,.area-cards .text-link{margin-inline:30px}.area-cards>a>span:not(.text-link){color:#3b7f86;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:30px}.area-cards strong{font-family:Manrope,sans-serif;font-size:clamp(1.5rem,2vw,2.15rem);line-height:1.25;letter-spacing:-.035em;margin-top:12px;margin-bottom:24px;max-width:520px}.area-cards .text-link{align-self:flex-start;margin-top:auto}.guide-section{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start;padding-block:100px;border-top:1px solid var(--line)}.guide-section h2{margin-top:20px}.guide-section p{color:var(--muted);font-size:1.18rem}.faq-section{background:#eaf4f3;padding:100px 0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.faq-grid h2{margin-top:18px}.faq-grid details{border-top:1px solid #b7d0d0}.faq-grid details:last-child{border-bottom:1px solid #b7d0d0}.faq-grid summary{padding:24px 42px 24px 0;list-style:none;font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:700;cursor:pointer;position:relative}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary::after{content:'+';position:absolute;right:7px;top:22px;color:#2e8186;font-size:1.5rem;font-weight:400}.faq-grid details[open] summary::after{content:'−'}.faq-grid details p{padding:0 40px 26px 0;color:var(--muted);font-size:1rem}.focused-hero h1{font-size:clamp(2.9rem,5vw,5rem)}.area-hero h1{font-size:clamp(2.8rem,4.6vw,4.9rem)}.mobile-contact{display:none}
@media(max-width:760px){.listing-hero{padding:75px 0 85px}.listing-hero::after{width:300px;height:300px;top:-90px;right:-140px}.listing-hero h1{font-size:clamp(3rem,10vw,4.7rem)}.focused-section,.listing-section,.area-listing{padding-block:75px}.focused-grid{grid-template-columns:1fr 1fr}.focused-grid a{min-height:135px;padding:20px}.focused-grid strong{font-size:1.12rem;padding-right:16px}.focused-grid i{bottom:16px;right:16px}.directory-group,.area-band-inner,.guide-section,.faq-grid{grid-template-columns:1fr;gap:32px}.directory-group{padding:45px 0}.area-band,.faq-section{padding:75px 0}.area-cards{grid-template-columns:1fr}.area-cards img{height:290px}.guide-section{padding-block:75px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:30;bottom:0;left:0;right:0;background:var(--navy);box-shadow:0 -5px 20px rgba(0,0,0,.18);padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px}.mobile-contact a{display:grid;place-items:center;min-height:44px;font-weight:700;color:white;border:1px solid rgba(255,255,255,.5);border-radius:2px}.mobile-contact a:last-child{background:var(--aqua);border-color:var(--aqua);color:var(--navy)}.site-footer{padding-bottom:65px}}
@media(max-width:440px){.focused-grid{grid-template-columns:1fr}.focused-grid a{min-height:115px}.area-cards img{height:230px}.directory-group>div:last-child a{font-size:1.1rem}.listing-hero h1{font-size:2.9rem}}

/* Waterline-inspired motion: progressive enhancement, no hidden content without JS. */
body::before{content:'';position:fixed;z-index:50;top:0;left:0;width:100%;height:3px;background:var(--aqua);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .hero-image img{animation:hero-photo 1.8s cubic-bezier(.2,.75,.2,1) both}.hero-copy>*{animation:hero-rise .85s cubic-bezier(.2,.7,.2,1) both}.hero-copy>*:nth-child(2){animation-delay:.15s}.hero-copy>*:nth-child(3){animation-delay:.28s}.hero-copy>*:nth-child(4){animation-delay:.42s}.hero h1 em{background:linear-gradient(100deg,#8bd7d2 20%,#e9fffb 48%,#8bd7d2 74%);background-size:220% auto;background-clip:text;-webkit-background-clip:text;color:transparent;animation:hero-rise .85s .15s both,water-glint 5s 1.4s ease-in-out infinite}
  .service-hero-image,.inner-hero img,.area-cards img{animation:photo-appear 1.2s cubic-bezier(.19,1,.22,1) both}.service-hero-copy>*{animation:hero-rise .75s cubic-bezier(.2,.7,.2,1) both}.service-hero-copy>*:nth-child(2){animation-delay:.12s}.service-hero-copy>*:nth-child(3){animation-delay:.25s}.service-hero-copy>*:nth-child(4){animation-delay:.35s}
  .has-js .reveal{opacity:0;transform:translateY(38px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.has-js .reveal.is-visible{opacity:1;transform:none}.has-js .reveal:nth-child(2){transition-delay:.08s}.has-js .reveal:nth-child(3){transition-delay:.16s}
  .service-card-image,.work-grid figure,.area-cards>a{isolation:isolate}.service-card-image::after,.work-grid figure::after,.area-cards>a::after{content:'';position:absolute;inset:0;background:rgba(139,215,210,.28);transform:translateX(-101%);transition:transform .55s cubic-bezier(.18,.85,.2,1);pointer-events:none}.service-card-image{position:relative}.area-cards>a{position:relative}.service-card:hover .service-card-image::after,.work-grid figure:hover::after,.area-cards>a:hover::after{transform:translateX(101%)}
  @keyframes hero-photo{from{transform:scale(1.085);filter:brightness(.65)}to{transform:scale(1);filter:brightness(1)}}
  @keyframes hero-rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
  @keyframes photo-appear{from{opacity:.4;clip-path:inset(0 0 0 18%);transform:scale(1.025)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}
  @keyframes water-glint{0%,75%,100%{background-position:100% center}35%{background-position:0 center}}
}
@media(prefers-reduced-motion:reduce){.has-js .reveal{opacity:1;transform:none}.hero h1 em{color:var(--aqua)}body::before{display:none}}
@media(max-width:970px) and (min-width:761px){.site-header{position:sticky;top:0}.header-inner{height:76px;justify-content:space-between}.header-call{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:9px;background:none;border:0;color:var(--navy);font-weight:700;padding:10px 0;cursor:pointer}.menu-toggle span{font-size:1.2rem}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#f9faf6;padding:20px 32px 27px;box-shadow:0 15px 30px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:13px 8px;border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:no-preference){.has-js .service-card.reveal.is-visible:hover{transform:translateY(-5px)}}

.trust-section{padding-block:80px 110px;border-top:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.trust-grid>div{border-top:1px solid #a6c6c8;padding-top:20px}.trust-grid span{font-size:.8rem;color:#2c7f84;font-weight:700;letter-spacing:.12em}.trust-grid h3{margin:30px 0 14px}.trust-grid p{font-size:1rem;color:var(--muted)}.trust-grid p a{text-decoration:underline;text-underline-offset:3px;color:var(--navy)}
.reading-section{padding-block:105px}.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reading-grid>a{background:white;display:flex;flex-direction:column;padding-bottom:28px;overflow:hidden;min-width:0}.reading-grid img{height:215px;width:100%;object-fit:cover;transition:transform .6s}.reading-grid>a:hover img{transform:scale(1.04)}.reading-grid>a>span:not(.text-link){padding:23px 25px 0;color:#377e84;font-size:.77rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.reading-grid h3{font-size:1.42rem;line-height:1.25;padding:10px 25px 0}.reading-grid p{padding:14px 25px 20px;color:var(--muted);font-size:.96rem;flex:1}.reading-grid .text-link{margin:0 25px;align-self:flex-start}
.portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-block:100px}.portfolio-intro h2{margin-top:18px}.portfolio-intro p{color:var(--muted);font-size:1.17rem}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:100px}.portfolio-grid figure{background:#d2e7e7;overflow:hidden;position:relative}.portfolio-grid .portfolio-wide{grid-column:span 2}.portfolio-grid img{height:420px;width:100%;object-fit:cover;transition:transform .7s}.portfolio-grid .portfolio-wide img{height:580px}.portfolio-grid figure:hover img{transform:scale(1.035)}.portfolio-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 26px 24px;background:linear-gradient(transparent,rgba(0,24,35,.75));color:white;font-weight:700}
.guide-hero{background:var(--deep);color:white}.guide-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center;min-height:560px;padding-block:75px}.guide-hero h1{font-size:clamp(3rem,5vw,5.5rem);margin:22px 0}.guide-hero p{max-width:660px;color:#d5e8e8;font-size:1.18rem;margin-bottom:28px}.guide-hero .text-link{color:var(--aqua)}.guide-hero img{width:100%;height:420px;object-fit:cover}.article-layout{display:grid;grid-template-columns:240px minmax(0,720px);justify-content:space-between;gap:9vw;padding-block:110px}.article-side{align-self:start;position:sticky;top:105px}.article-side ol{margin:16px 0 0;padding-left:18px;color:var(--muted)}.article-side li{margin:10px 0}.article-side a{text-decoration:underline;text-underline-offset:3px}.article-content section{border-bottom:1px solid var(--line);padding:0 0 58px;margin-bottom:60px;scroll-margin-top:100px}.article-content h2{font-size:clamp(2rem,3vw,3.2rem);margin:12px 0 20px}.article-content p{color:var(--muted);font-size:1.17rem;line-height:1.75}.article-aside{background:#e5f1ef;padding:36px;margin-top:5px}.article-aside strong{font-family:Manrope,sans-serif;font-size:1.45rem}.article-aside p{font-size:1rem;margin:12px 0 25px}.faq-grid .text-link{margin-top:28px}.faq-page-grid{display:grid;grid-template-columns:260px minmax(0,760px);justify-content:space-between;gap:8vw;padding-block:110px}.faq-page-grid>div:first-child{align-self:start;position:sticky;top:105px}.faq-page-grid h2{font-size:2rem;margin:16px 0}.faq-page-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.faq-page-grid nav a{text-decoration:underline;text-underline-offset:3px;color:#306f78}.faq-category{padding-bottom:40px;margin-bottom:50px;scroll-margin-top:100px}.faq-category h3{font-size:2.2rem;margin:12px 0 30px}.faq-category details{border-top:1px solid #b7d0d0}.faq-category details:last-child{border-bottom:1px solid #b7d0d0}.faq-category summary{list-style:none;cursor:pointer;position:relative;padding:22px 38px 22px 0;font-family:Manrope,sans-serif;font-weight:700;font-size:1.1rem}.faq-category summary::-webkit-details-marker{display:none}.faq-category summary::after{content:'+';position:absolute;right:5px;top:20px;color:#2e8186;font-size:1.5rem;font-weight:400}.faq-category details[open] summary::after{content:'−'}.faq-category details p{color:var(--muted);font-size:1rem;padding:0 35px 24px 0}
.map-section{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;padding-block:100px;border-top:1px solid var(--line)}.map-section h2{margin:15px 0}.map-section p{color:var(--muted);margin-bottom:25px}.map-section iframe{width:100%;height:380px;border:0;background:#e3eeec;border-radius:2px}
@media(max-width:970px){.reading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.trust-section,.reading-section,.portfolio-intro,.article-layout,.faq-page-grid,.map-section{padding-block:75px}.trust-grid{grid-template-columns:1fr;gap:28px}.trust-grid h3{margin:20px 0 10px}.reading-grid{grid-template-columns:1fr}.reading-grid img{height:230px}.portfolio-intro,.guide-hero-grid,.article-layout,.faq-page-grid,.map-section{grid-template-columns:1fr;gap:32px}.portfolio-grid{gap:12px;padding-bottom:75px}.portfolio-grid img{height:250px}.portfolio-grid .portfolio-wide img{height:330px}.guide-hero-grid{padding-block:70px}.guide-hero h1{font-size:clamp(2.9rem,9vw,4.8rem)}.guide-hero img{height:300px}.article-side,.faq-page-grid>div:first-child{position:static}.article-side ol{display:flex;flex-wrap:wrap;column-gap:26px}.article-content section{margin-bottom:40px;padding-bottom:40px}.article-aside{padding:27px}.faq-page-grid{gap:55px}.map-section iframe{height:310px}}
@media(max-width:440px){.portfolio-grid{grid-template-columns:1fr}.portfolio-grid .portfolio-wide{grid-column:auto}.portfolio-grid img,.portfolio-grid .portfolio-wide img{height:280px}.guide-hero img{height:250px}.faq-category h3{font-size:1.8rem}}

/* UKTL lead journeys, keeping the existing page composition. */
.lead-form{display:grid;gap:16px;margin-top:24px;text-align:left;color:var(--navy)}.lead-form label{display:grid;gap:7px;font-size:.94rem;font-weight:600}.lead-form input,.lead-form textarea,.lead-form select{font:inherit;color:var(--navy);background:white;border:1px solid #8baeb2;border-radius:8px;min-height:46px;padding:12px;min-width:0;width:100%}.lead-form textarea{resize:vertical}.lead-form :focus-visible{outline:3px solid #2a9099;outline-offset:3px}.lead-form .button{justify-self:start;border:0;cursor:pointer}.button:disabled{opacity:.65;cursor:default}.form-note,.form-status{font-size:.86rem!important;line-height:1.5!important;color:var(--navy)!important;margin:0!important}.form-note a,.privacy-copy a{text-decoration:underline}.form-status{min-height:26px;font-weight:600}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.hero-enquiry{position:absolute;z-index:3;right:max(6vw,24px);top:52%;transform:translateY(-50%);width:360px;padding:28px;background:var(--cream,#f6f7f2);color:var(--navy);border-radius:9px}.hero-enquiry h2{font-size:1.6rem;margin-top:12px}.hero-enquiry .lead-form{gap:10px;margin-top:16px}.hero-enquiry input{min-height:40px;padding:9px}.hero-enquiry textarea{padding:9px}.hero-copy{max-width:calc(100% - 420px)}.journey-hero{padding-block:70px}.journey-hero h1{font-size:clamp(2.5rem,6vw,4.5rem)}.journey-content{padding-block:65px;max-width:850px}.journey-content>.lead-form{max-width:650px}.journey-cards{display:grid;gap:28px}.journey-cards article{padding:30px;background:white;border:1px solid var(--line);border-radius:9px}.journey-cards h2,.privacy-copy h2{font-size:1.8rem;margin-bottom:14px}.journey-cards p{margin-bottom:24px}.journey-cards .text-link{display:block;margin-top:18px}.customer-form iframe{width:100%;min-height:800px;height:800px;border:0;border-radius:9px}.rating{border:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.rating legend{margin-bottom:10px}.rating label{display:flex;align-items:center;gap:5px}.rating input{width:18px;min-height:18px}.availability-note{background:#e5f1ef;padding:20px;border-radius:9px}.privacy-copy h2:not(:first-child){margin-top:34px}.privacy-copy p{line-height:1.7}.nav-quote{font-weight:700!important}
@media(max-width:1150px){.hero-enquiry{right:30px;width:335px}.hero-copy{max-width:calc(100% - 370px)}.header-inner{gap:20px}.site-nav{gap:18px}}
@media(max-width:970px){.hero-enquiry{position:relative;top:auto;right:auto;transform:none;width:auto;max-width:700px;margin:30px auto 0;border-radius:0;padding:28px}.hero-copy{max-width:100%}.hero{padding-bottom:80px}.hero-index{bottom:20px}.hero-image{bottom:auto;height:100%}.hero-enquiry .lead-form{grid-template-columns:1fr 1fr}.hero-enquiry .lead-form>label:nth-child(3),.hero-enquiry .form-note,.hero-enquiry .form-status{grid-column:1 / -1}}
@media(max-width:760px){.hero-enquiry{margin-inline:20px}.hero-enquiry .lead-form{grid-template-columns:1fr}.hero-enquiry .lead-form>*{grid-column:1 / -1}.journey-content{padding-block:45px}.journey-cards article{padding:22px}chat-widget{--chat-widget-bottom:80px!important}#lc-chat-widget{bottom:80px!important}}

/* Keep the page index clear of the added enquiry panel. */
.hero-index{bottom:15px}

/* Shared IQ Plumbing journey UI: identical card widths, spacing, typography,
   control geometry and quote steps, with UK Pool Solutions' navy/aqua palette. */
.journey-ui{font-family:Inter,system-ui,sans-serif;line-height:1.5;color:var(--ink);--journey-border:#e2e8ec;--journey-muted:#f1f5f7;--journey-accent:#287d83}
.journey-ui [hidden]{display:none!important}
.journey-ui h1,.journey-ui h2,.journey-ui h3,.quote-heading,.quote-subheading,.quote-description-label{font-family:'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:normal;font-weight:700}
.journey-ui svg{width:20px;height:20px;flex-shrink:0;display:block}
.journey-ui p{font-size:14px;line-height:1.5}
.quote-journey{min-height:100vh;background:linear-gradient(to bottom,var(--mist),#fff,var(--mist));padding:32px 16px 64px}
.quote-header{text-align:center;max-width:576px;margin:0 auto 16px}
.quote-time{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;background:rgba(139,215,210,.2);color:var(--navy);padding:6px 12px;border-radius:999px;margin-bottom:8px}
.quote-time svg{width:12px;height:12px}
.quote-header h1{font-size:30px;line-height:36px;color:var(--navy);margin-bottom:8px}
.quote-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;color:var(--muted);font-size:12px}
.quote-trust span{display:inline-flex;align-items:center;gap:6px}.quote-trust svg{width:12px;height:12px;color:var(--journey-accent)}
.quote-wrap{max-width:512px;margin:0 auto;padding-top:16px}
.quote-progress{margin-bottom:16px}.quote-progress-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;line-height:16px;margin-bottom:6px}
.quote-progress-track{height:6px;background:#e2e9eb;border-radius:999px;overflow:hidden}.quote-progress-track>div{width:33.333%;height:100%;background:linear-gradient(to right,var(--journey-accent),var(--aqua));transition:width .5s ease-out}
.journey-card{background:white;border:1px solid var(--journey-border);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);border-radius:12px;overflow:hidden}
.quote-step{padding:24px}.quote-step fieldset{padding:0;margin:0;border:0;min-width:0}
.quote-heading{display:block;width:100%;font-size:20px;line-height:28px;margin:0 0 16px;padding:0;color:var(--ink)}
.quote-subheading,.quote-description-label{display:block;font-size:16px;line-height:24px;font-weight:600;margin:0 0 12px;padding:0}
.quote-choices{display:grid;gap:8px}.service-choices{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px}.three-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-choice{position:relative;min-width:0;cursor:pointer;border:2px solid var(--journey-border);border-radius:8px;background:white;transition:border-color .15s,background .15s,transform .15s}
.quote-choice:active{transform:scale(.98)}.quote-choice:has(input:checked){border-color:var(--journey-accent);background:rgba(139,215,210,.14)}
.quote-choice:has(input:focus-visible),.star-choice:has(input:focus-visible){outline:3px solid var(--journey-accent);outline-offset:3px}
.quote-choice input,.star-choice input,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.choice-content{display:flex;flex-direction:column;padding:12px}.choice-content svg{margin-bottom:6px;color:var(--muted)}.quote-choice:has(input:checked) svg{color:var(--journey-accent)}
.choice-content strong{font-size:12px;line-height:16px;font-weight:600}.choice-description{font-size:10px;line-height:15px;color:var(--muted);margin-top:2px}
.service-choices .choice-description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.three-choices .choice-content{text-align:center;align-items:center}.urgency-dot{width:10px;height:10px;border-radius:50%;margin-bottom:6px}.urgency-emergency{background:#ef4444}.urgency-urgent{background:#f97316}.urgency-planned{background:#22c55e}
.property-choices{margin-bottom:20px}.property-choices strong{font-size:14px;line-height:20px}
.journey-ui input:not([type=radio]),.journey-ui textarea{font:inherit;font-size:14px;line-height:20px;width:100%;min-width:0;color:var(--ink);padding:12px;border:1px solid var(--journey-border);border-radius:8px;background:white}
.journey-ui input::placeholder,.journey-ui textarea::placeholder{color:var(--muted)}.journey-ui textarea{height:96px;resize:none}
.journey-ui input:focus-visible,.journey-ui textarea:focus-visible{outline:2px solid var(--journey-accent);outline-offset:2px}
.quote-contact-intro{font-size:12px!important;color:var(--muted);margin:-12px 0 16px}.quote-fields{display:grid;gap:12px}.quote-fields label{display:grid;gap:6px;font-size:12px;line-height:16px;font-weight:500}
.quote-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quote-privacy{margin-top:16px!important;font-size:11px!important;color:var(--muted)!important}
.quote-status:empty{display:none}.quote-status{padding:0 24px 12px}.quote-navigation{display:none}.quote-ready .quote-navigation{display:flex;padding:12px 24px;justify-content:space-between;align-items:center;background:rgba(241,245,247,.5);border-top:1px solid var(--journey-border)}
.journey-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;min-height:40px;padding:8px 16px;border:0;border-radius:6px;background:var(--aqua);color:var(--navy);font:inherit;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;transition:background .2s}
.journey-button:hover{background:#b0ece5}.journey-button:disabled{opacity:.5;cursor:default}.journey-button svg{width:16px;height:16px}.journey-button-ghost{background:transparent;font-weight:500;min-height:36px;padding:8px 12px}.journey-button-ghost:hover{background:var(--journey-muted)}
.journey-button-submit{background:var(--navy);color:white;font-weight:700}.journey-button-submit:hover{background:#145164}.journey-button-outline{background:white;color:var(--navy);border:1px solid var(--journey-border)}
.journey-button:focus-visible,.journey-ui a:focus-visible{outline:3px solid var(--journey-accent);outline-offset:3px}.quote-heading:focus{outline:none}
.quote-call{text-align:center;margin-top:16px;color:var(--muted);font-size:12px!important}.quote-call a{color:var(--navy);font-weight:600}.quote-noscript{padding:24px}.quote-noscript a{text-decoration:underline}
.standalone-journey{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:16px;background:white}.standalone-wrap{width:100%;max-width:448px}.standalone-card{border-radius:16px;padding:32px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.journey-card-heading{text-align:center;margin-bottom:24px}.journey-card-heading h1{font-size:24px;line-height:32px}.journey-card-heading p{font-size:16px;color:var(--muted);margin-top:8px}
.journey-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:rgba(8,43,57,.1);color:var(--navy);margin:0 auto 16px}.journey-icon svg{width:28px;height:28px}
.standalone-card .lead-form{gap:20px;margin-top:0;font-size:14px}.standalone-card .lead-form label{font-size:14px;font-weight:500;gap:8px;line-height:20px}
.standalone-card .lead-form input:not([type=radio]){height:48px}.standalone-card .lead-form textarea{height:104px}.standalone-card .lead-form .button,.standalone-card .lead-form .journey-button{width:100%;border-radius:6px;min-height:48px;font-size:16px;padding:12px 16px;transform:none}
.journey-home{display:block;margin-top:20px;text-align:center;font-size:12px;color:var(--muted)}
.journey-success{padding:40px;text-align:center}.standalone-card .journey-success{padding:0}.journey-success h2{font-size:24px;line-height:32px;margin-bottom:12px}.journey-success p{color:var(--muted);margin-bottom:24px}.journey-success .journey-button{display:flex;width:100%;margin-top:12px}.success-icon{width:64px;height:64px;background:#dcfce7;color:#15803d}.success-icon svg{width:32px;height:32px}
.star-rating{border:0;padding:0;margin:0;text-align:center;min-width:0}.star-choices{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.star-choice{position:relative;display:block;cursor:pointer;padding:4px;border-radius:6px}.star-choice svg{width:40px;height:40px;color:var(--muted);transition:color .15s,transform .15s}.star-choice:hover svg{transform:scale(1.1);color:#eab308}.star-choice.is-filled svg{fill:#eab308;color:#eab308}.star-rating p{font-size:14px;color:var(--muted)}
.feedback-form [data-feedback-details]{display:grid;gap:16px}.feedback-form .availability-note{font-size:12px;padding:12px;background:var(--mist);color:var(--navy)}
.journey-actions{display:grid;gap:24px}.journey-actions article+article{padding-top:24px;border-top:1px solid var(--journey-border)}.journey-actions h2{font-size:18px;line-height:28px;margin-bottom:8px}.journey-actions p{color:var(--muted);margin-bottom:16px}.journey-actions .journey-button{display:flex;width:100%}.journey-share{display:block;text-align:center;margin-top:12px;color:var(--navy);font-size:12px;text-decoration:underline}
.standalone-wrap:has(.customer-form){max-width:720px}.journey-ui .customer-form p{margin-top:12px;color:var(--muted)}.journey-ui .customer-form p a{text-decoration:underline}
@media(max-width:767px){.quote-journey{padding-top:16px;padding-bottom:100px}.quote-header{margin-bottom:8px}.quote-header h1{font-size:24px;line-height:32px}.quote-trust{gap:12px}.quote-step{padding:16px}.quote-heading{font-size:18px;line-height:28px}.quote-ready .quote-navigation{padding:12px 16px}.quote-status{padding:0 16px 12px}.journey-success{padding:24px}.journey-success h2{font-size:20px;line-height:28px}}
@media(max-width:360px){.standalone-card{padding:24px}.star-choices{gap:4px}.star-choice svg{width:36px;height:36px}}
@media(max-width:760px){.has-standalone-journey chat-widget{--chat-widget-bottom:20px!important}.has-standalone-journey #lc-chat-widget{bottom:20px!important}}
