:root{--body:'BL Sans',Arial,sans-serif}body{font-family:var(--body)}.v-brand img{display:block;width:195px;height:auto;max-width:100%}.v-nav{font-size:14px;gap:26px}.v-nav a{padding:10px 0}.v-label{font-size:12px}.v-button,.v-service-copy a,.v-story-text a{font-size:14px}.v-footer{font-size:14px}.v-footer a{overflow-wrap:anywhere}.mobile-menu{display:none}.v-arch-word{pointer-events:none}.v-hero .v-photo img{object-position:50% center}.v-service .v-photo img{object-position:50% center}.v-service:nth-child(2) .v-photo img{object-position:30% center}.v-service:nth-child(3) .v-photo img{object-position:75% center}.page-intro{padding:90px var(--space);border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(60px,7vw,100px);max-width:17ch;margin:28px 0}.page-intro p{max-width:50ch;font-size:21px}.gallery-section{display:block}.gallery-main{max-width:480px;margin:0 auto 36px}.gallery-main .v-photo{aspect-ratio:4/3}.gallery-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin-bottom:36px}.gallery-strip .v-photo{width:103px;height:103px;border-radius:14px}.gallery-section>a{display:block;text-align:center}.area-section{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:26px}.area-section p,.area-section>a{grid-column:2;max-width:42ch}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-grid article{display:grid;gap:22px;align-content:start;min-width:0}.contact-grid h2{font-size:clamp(30px,4vw,58px);letter-spacing:-.03em}.contact-email{font-size:clamp(16px,2vw,24px);overflow-wrap:anywhere}.location{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.location div{display:grid;gap:24px}.location iframe{width:100%;height:400px;border:1px solid var(--line);border-radius:180px 180px 0 0}.preparation{display:grid;gap:30px}.preparation li{padding:8px 0}.v-section a{text-underline-offset:5px}summary{cursor:pointer}a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}@media(max-width:1000px) and (min-width:761px){.v-hero{gap:22px}.v-arch-left h1{font-size:76px}.v-arch-center{height:590px}.v-arch-right{padding-top:120px}.v-nav{gap:20px}.v-header{padding-inline:28px}.v-brand img{width:175px}}@media(max-width:760px){.v-header{z-index:10}.v-header>.v-nav{display:none}.v-brand img{width:165px}.mobile-menu{display:block;font-size:16px;position:relative}.mobile-menu summary{min-height:44px;display:flex;align-items:center;padding:8px 12px;border:1px solid var(--line)}.mobile-menu nav{position:absolute;right:0;top:54px;min-width:210px;background:var(--bg);border:1px solid var(--ink);padding:12px;z-index:20;display:grid}.mobile-menu nav a{padding:12px;text-decoration:none}.v-hero>div,.v-hero>aside{width:100%}.v-arch-center .v-photo{height:490px}.v-arch-word{margin-top:14px}.page-intro{padding:60px 22px}.page-intro h1{font-size:60px}.page-intro p{font-size:18px}.gallery-section{display:block}.gallery-strip{gap:20px}.gallery-main{max-width:100%}.gallery-main .v-photo{height:auto}.gallery-main img{height:auto}.gallery-section .v-section-heading{margin-bottom:30px}.area-section p,.area-section>a{grid-column:auto}.contact-grid,.location{grid-template-columns:1fr}.contact-grid h2{font-size:37px}.location iframe{height:330px}.v-contact{gap:26px}.v-contact>a:not(.v-button){max-width:100%;overflow-wrap:anywhere}.v-footer{gap:22px}}
.social-archive{border-top:1px solid var(--line);display:grid;gap:26px}.social-archive h2{font-size:clamp(36px,5vw,64px)}.social-archive-strip{display:flex;flex-wrap:wrap;gap:26px}.social-archive-image{width:80px;height:80px;margin:0}.social-archive-image img{width:100%;height:100%;object-fit:contain}

.services-arches .v-service>.v-photo{height:330px}.v-service .service-brand{background:#fff;border:1px solid var(--line);display:grid;place-items:center}.v-service .service-brand img{width:min(240px,80%);height:auto;object-fit:contain}.v-service:first-child .v-photo img{object-position:center}.v-story>.v-photo{height:420px}
@media(max-width:760px){.area-section{grid-template-columns:1fr;gap:22px}.area-section>*{grid-column:1}.area-section p{max-width:34ch}.v-story>.v-photo{height:400px!important}}

.services-arches .v-service>.v-photo{height:410px}.v-story>.v-photo{height:540px}.v-service:nth-child(3) .v-photo img{object-position:50% center}

/* Measured v5 polish repairs: integrated logo, direct mobile contact and distinct image detail. */
.v-brand img{mix-blend-mode:multiply}.mobile-call{display:none}.v-service .pool-detail img{object-position:50% 100%!important;transform:scale(1.2);transform-origin:50% 100%}
body:has(.v-hero) .gallery-section{max-width:1040px;margin-inline:auto;display:grid;grid-template-columns:1fr 280px;column-gap:70px;align-items:center}
body:has(.v-hero) .gallery-section .v-section-heading{display:block;margin:0;grid-row:1/3}
body:has(.v-hero) .gallery-section .v-section-heading h2{max-width:12ch;margin-top:26px}
body:has(.v-hero) .gallery-strip{display:grid;grid-template-columns:repeat(2,103px);gap:24px;justify-content:center;margin:0 0 28px}
body:has(.v-hero) .gallery-section>a{grid-column:2;font-size:14px}
@media(max-width:760px){.v-header{gap:12px}.mobile-call{display:flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;font-size:14px;text-underline-offset:5px}.mobile-menu summary{border:0;padding:8px 0;font-size:14px}.mobile-menu nav{top:48px}.v-brand img{width:155px}body:has(.v-hero) .gallery-section{display:block}body:has(.v-hero) .gallery-section .v-section-heading{margin-bottom:32px}body:has(.v-hero) .gallery-section .v-section-heading h2{max-width:14ch}body:has(.v-hero) .gallery-strip{gap:24px}}

.mobile-call,.mobile-menu summary{min-width:44px}

/* V7 review repair: a painted header backdrop and compact source-resolution contact sheet. */
.v-header{background:var(--bg);isolation:isolate}
body:has(.v-hero) .gallery-section{display:block;max-width:760px;margin-inline:auto;padding:60px 40px;text-align:center}
body:has(.v-hero) .gallery-section .v-section-heading{display:block;margin:0 auto 24px}
body:has(.v-hero) .gallery-section .v-section-heading h2{max-width:18ch;margin:16px auto 0;font-size:clamp(38px,3.6vw,52px)}
body:has(.v-hero) .gallery-strip{width:fit-content;grid-template-columns:repeat(4,103px);gap:12px;padding:16px;margin:0 auto 20px;border:1px solid var(--line);background:var(--soft)}
body:has(.v-hero) .gallery-strip .v-photo{border-radius:8px}
@media(max-width:760px){body:has(.v-hero) .gallery-section{padding:44px 22px}body:has(.v-hero) .gallery-section .v-section-heading{margin-bottom:22px}body:has(.v-hero) .gallery-section .v-section-heading h2{font-size:38px;max-width:14ch}body:has(.v-hero) .gallery-strip{grid-template-columns:repeat(2,103px);padding:12px;gap:12px;margin-bottom:18px}}
