@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#111411;--muted:#667066;--gold:#c4a66a;--paper:#f5f5ee;--line:#dcded5;--dark:#1a211c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9b7837;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif;line-height:1.04;letter-spacing:-.055em;font-weight:500}h1{font-size:clamp(56px,6vw,88px);margin-bottom:26px}h2{font-size:clamp(38px,4.4vw,62px)}h3{font-family:Manrope,Arial,sans-serif;font-weight:600;line-height:1.25;letter-spacing:-.02em}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}.header{height:108px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 5.5%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font:700 15px/1.4 Manrope,Arial,sans-serif;letter-spacing:.11em}.brand img{object-fit:contain}.brand small{display:block;font:500 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.23em;margin-top:5px}.header-cta{text-decoration:none;border-bottom:1px solid var(--ink);padding:9px 0;font-weight:600}.header-cta span{margin-left:24px}.hero{max-width:1440px;margin:auto;padding:64px 5.5% 56px;display:grid;grid-template-columns:1.05fr 1fr;gap:8%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;margin-bottom:25px}.hero-copy{padding-top:18px}.lead{font-size:22px;line-height:1.5;max-width:410px;margin-bottom:16px}.intro{max-width:430px;color:#535d54;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 24px;min-height:58px;background:var(--gold);color:#111411;text-decoration:none;font-weight:700;border:1px solid transparent;transition:background .2s}.button:hover{background:#d7bb81}.micro{font-size:13px;margin:12px 0 36px;color:#62695f}.explore{text-decoration:none;font-size:14px}.explore span{margin-left:30px}.quote-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:30px 28px;box-shadow:0 14px 42px #17201308;align-self:start;scroll-margin-top:20px}.quote-card h2{font-size:34px;letter-spacing:-.04em;margin-bottom:12px}.form-heading .eyebrow{color:#856830;margin-bottom:12px}.form-heading>p:last-child{color:#596458;font-size:15px;margin-bottom:20px}.hs-form-frame{min-height:420px}.form-help{font-size:13px;color:#596458;margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}.form-help a{font-weight:600;white-space:nowrap}#form-loading{font-size:14px;color:#596458;padding:18px 0}#form-fallback{background:var(--paper);padding:15px;margin-top:16px;font-size:14px}#form-fallback p{margin:0}#form-success{background:#edf2e9;padding:20px;border-left:3px solid #748e66}#form-success h3{font-size:22px}.pool-showcase{position:relative;max-width:1440px;margin:auto;padding:0 2.5%;height:clamp(350px,44vw,650px)}.pool-showcase>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:3px}.image-caption{position:absolute;bottom:0;left:2.5%;right:2.5%;padding:80px 32px 24px;color:white;background:linear-gradient(transparent,#101a17c7);display:flex;justify-content:space-between;align-items:end;border-radius:3px}.image-caption span{font-size:13px;letter-spacing:.18em}.image-caption small{font-size:12px}.service-strip{display:flex;justify-content:center;gap:10%;padding:29px 20px;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.04em}.section{max-width:1280px;margin:auto;padding:96px 4%}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.section-heading>p{max-width:450px;color:#596458}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px}.features article{border-top:1px solid #b9beb2;padding-top:22px}.features article>span{font-size:12px;letter-spacing:.1em;color:#6c755f}.features h3{font-size:24px;margin:22px 0 14px}.features p{color:#596458;font-size:15px}.process{max-width:none;background:var(--dark);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:80px max(6%,calc((100vw - 1178px)/2))}.process .eyebrow{color:var(--gold)}.process h2{margin-bottom:35px}.process ol{padding:0;margin:0;list-style:none}.process li{display:flex;gap:24px;border-top:1px solid #ffffff28;padding:24px 0 8px}.process li>span{font-size:14px;color:var(--gold)}.process h3{font-size:22px;margin-bottom:10px}.process li p{font-size:15px;color:#c1c8bf}.questions{max-width:900px}.questions h2{margin-bottom:40px}.questions details{border-top:1px solid var(--line);padding:22px 0}.questions details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:18px;font-weight:500;padding-right:10px}.questions details p{margin:18px 0 0;color:#596458;max-width:660px}.closing{text-align:center;padding:78px 20px 94px;background:#e9ece2}.closing h2{font-size:clamp(44px,5vw,72px);margin-bottom:32px}footer{padding:35px 6% 40px;display:flex;justify-content:space-between;gap:24px;font-size:13px;font-weight:600}footer small{display:block;font-size:12px;color:#596458;font-weight:400;margin-top:8px}footer>div{text-align:right}footer a{margin-right:18px}footer button{border:0;padding:0;background:none;text-decoration:underline;cursor:pointer;font-size:13px}.mobile-cta{display:none}.cookie-banner{position:fixed;z-index:30;bottom:20px;left:20px;max-width:410px;border:1px solid #b7bfb0;background:#fff;padding:20px;box-shadow:0 8px 40px #0002}.cookie-banner p{font-size:13px;margin:0 0 14px}.cookie-banner>div{display:flex;gap:12px}.cookie-banner button{font-size:13px;padding:10px;border:1px solid #bac2b5;background:#fff;cursor:pointer}.cookie-banner button:last-child{background:var(--dark);color:white}.skip{position:fixed;top:-80px;left:20px;background:white;padding:10px;z-index:50}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1450px){.hero{gap:120px}.hero-copy{padding-top:30px}}@media(max-width:800px){html{scroll-padding-top:20px}.header{height:84px;padding:14px 6%}.brand{font-size:12px;gap:8px;letter-spacing:.04em}.brand img{width:48px;height:48px}.brand small{font-size:9px;letter-spacing:.12em}.header-cta{font-size:12px}.header-cta span{margin-left:6px}.hero{grid-template-columns:1fr;gap:26px;padding:30px 6% 32px}.hero-copy{padding:0}.eyebrow{font-size:11px;margin-bottom:20px}h1{font-size:60px;margin-bottom:18px}.lead{font-size:19px;margin-bottom:12px;max-width:360px}.intro{font-size:15px;margin-bottom:20px}.hero .button{width:100%}.micro{margin-bottom:16px}.explore{display:none}.quote-card{padding:24px 18px}.quote-card h2{font-size:30px}.pool-showcase{padding:0;height:330px}.pool-showcase>img{border-radius:0}.image-caption{left:0;right:0;padding:65px 22px 20px;display:block}.image-caption span{font-size:11px;display:block}.image-caption small{font-size:11px}.service-strip{gap:0;justify-content:space-around;font-size:11px;padding:20px 8px}.section{padding:58px 6%}.section-heading{grid-template-columns:1fr;gap:0}.section-heading h2{margin-bottom:25px}.features{grid-template-columns:1fr;gap:24px;margin-top:18px}.features h3{margin-top:12px}.features p{margin-bottom:0}.process{grid-template-columns:1fr;gap:36px}.process h2{margin-bottom:26px}.process .button{width:100%}.questions h2{margin-bottom:30px}summary{font-size:17px}.closing{padding:58px 6% 65px}.closing .button{width:100%;max-width:400px}footer{display:block;padding:30px 6% 110px}footer>div{text-align:left;margin-top:22px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#111811;color:white;padding:12px 18px max(12px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -3px 20px #0002}.mobile-cta>span{font-size:12px;max-width:110px;line-height:1.35}.mobile-cta>a{background:var(--gold);color:var(--ink);padding:12px 20px;text-decoration:none;font-size:14px;font-weight:700}.mobile-cta a span{margin-left:12px}.mobile-cta.form-visible{transform:translateY(110%)}.cookie-banner{bottom:83px;left:12px;right:12px;max-width:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* VCP's dark/gold identity anchors the first screen. */
.header{background:#111411;color:#f5f5ee;border-color:#ffffff20;max-width:none;padding-left:max(5.5%,calc((100vw - 1282px)/2));padding-right:max(5.5%,calc((100vw - 1282px)/2))}.header-cta{border-color:#a28c59}.hero{background:#111411;color:#f5f5ee;max-width:none;padding-left:max(5.5%,calc((100vw - 1282px)/2));padding-right:max(5.5%,calc((100vw - 1282px)/2))}.hero-copy .eyebrow{color:#d1b77e}.hero-copy h1 em{color:#d1b77e}.hero-copy .intro,.hero-copy .micro{color:#bac0b7}.quote-card{color:#111411}.brand small{font-size:12px;letter-spacing:.09em}.eyebrow,.features article>span,.image-caption small{font-size:12px}@media(max-width:800px){.header,.hero{padding-left:6%;padding-right:6%}.brand small{font-size:12px;letter-spacing:0}.brand>span{font-size:12px}.image-caption span,.service-strip,.eyebrow{font-size:12px}.header-cta{display:none}.hero{padding-top:28px}.hero-copy .intro{display:none}.hero-copy .micro{font-size:12px}.hero-copy h1{font-size:54px}.hero-copy .lead{font-size:17px}.quote-card{scroll-margin-top:12px}}

.hero{background-image:linear-gradient(90deg,#101410f2 0%,#101410dd 48%,#101410c9 100%),url(/assets/pool.webp);background-size:cover;background-position:center}

/* Direct calling, alongside the existing quote path. */
.header-call{margin-left:auto;margin-right:28px;display:flex;flex-direction:column;justify-content:center;min-height:48px;color:#e0c68d;text-decoration:none;font-weight:700;font-size:16px;line-height:1.4}.header-call span{font-size:14px;color:#f5f5ee;font-weight:500}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-actions .button{justify-content:center;gap:16px}.call-button{background:transparent;border-color:currentColor;color:inherit}.call-button:hover{background:#ffffff16}.closing .contact-actions{justify-content:center}.closing .call-button:hover{background:#1114110d}.form-help{font-size:15px}.form-help a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:800px){.header{height:auto;min-height:84px;gap:12px;flex-wrap:wrap}.header-call{margin:0 0 0 auto;text-align:right;font-size:14px}.header-call span{font-size:14px}.contact-actions{display:grid;grid-template-columns:1fr;width:100%}.contact-actions .button{font-size:15px;padding:14px 12px;min-height:50px}.mobile-cta{gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.mobile-cta>a{flex:1;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center;padding:12px 8px}.mobile-cta>.mobile-call{background:transparent;color:#f5f5ee;border:1px solid #c4a66a}.cookie-banner{bottom:calc(88px + env(safe-area-inset-bottom))}}

.referral-note{border-bottom:1px solid var(--line)}.referral-note>p:not(.eyebrow){max-width:680px}.hero-copy .intro{display:block}[data-vcp-campaign="block_referral"] h1{font-size:clamp(44px,5.5vw,76px)}

/* Short inquiry variant: keep the first step compact and legible. */
.short-inquiry .hero-copy h1{font-size:clamp(48px,5.5vw,78px)}.short-inquiry .micro{margin-bottom:20px}.short-inquiry .form-help{font-size:12px;line-height:1.6}.short-inquiry .form-help a{min-height:32px}.short-inquiry .form-heading h2{font-size:31px}.short-inquiry .form-heading>p:last-child{margin-bottom:14px}@media(max-width:800px){.short-inquiry .hero{gap:18px;padding-top:22px}.short-inquiry .hero-copy h1{font-size:43px;margin-bottom:14px}.short-inquiry .hero-copy .intro{display:none}.short-inquiry .hero-copy .lead{font-size:18px;margin-bottom:16px}.short-inquiry .hero-copy .contact-actions,.short-inquiry .hero-copy .micro,.short-inquiry .hero-copy .explore{display:none}.short-inquiry .hero-copy .eyebrow{margin-bottom:12px}.short-inquiry .quote-card{padding:20px 16px}.short-inquiry .form-heading .eyebrow{display:none}}

/* Real project films and completed work. Videos load only on request. */
.project-stories{padding-top:76px;padding-bottom:76px}.project-stories>.eyebrow{color:#856830}.project-stories .section-heading h2{margin-bottom:28px}.project-films{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:12px}.project-film{min-width:0;background:#111411;color:#f5f5ee;border:1px solid #c4a66a55;border-radius:5px;overflow:hidden}.film-screen{height:390px;background:#080a08;display:grid;place-items:center}.film-screen video{display:block;width:100%;height:100%;object-fit:contain}.film-copy{padding:24px}.film-copy>span{font-size:11px;letter-spacing:.16em;color:#d1b77e}.film-copy h3{font-size:24px;margin:12px 0}.film-copy p{color:#d0d5cb;font-size:15px;margin:0}.completed-heading{margin-top:52px}.completed-heading .eyebrow{margin-bottom:8px;color:#856830}.completed-heading>p:last-child{font-family:Manrope,Arial,sans-serif;font-size:28px;letter-spacing:-.03em;margin-bottom:24px}.completed-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.completed-gallery figure{margin:0;min-width:0}.completed-gallery img{display:block;width:100%;height:280px;object-fit:cover;border-radius:3px}.completed-gallery figure:nth-child(2) img{object-position:50% 62%}.completed-gallery figcaption{font-size:13px;color:#596458;margin-top:10px}.gallery-action{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:26px}.gallery-action p{font-size:19px;margin:0}.gallery-action .button{gap:22px}@media(max-width:800px){.project-stories{padding-top:48px;padding-bottom:48px}.project-films{grid-template-columns:1fr;gap:22px}.film-screen{height:auto;aspect-ratio:16/9}.portrait-film .film-screen{aspect-ratio:9/16;max-height:540px}.film-copy{padding:20px}.completed-heading{margin-top:38px}.completed-gallery{grid-template-columns:1fr 1fr;gap:20px 12px}.completed-gallery figure:first-child{grid-column:1/-1}.completed-gallery img{height:245px}.completed-gallery figure:first-child img{height:auto;aspect-ratio:16/9}.completed-gallery figcaption{font-size:12px}.gallery-action{display:block}.gallery-action p{margin-bottom:16px}.gallery-action .button{width:100%}}
/* Keep native video intrinsic dimensions inside each player frame. */
.film-screen{position:relative;display:block;overflow:hidden}.film-screen video{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%}

/* Compact privacy notice; both choices stay equally accessible. */
.cookie-banner{bottom:12px;left:12px;width:360px;max-width:calc(100vw - 24px);padding:12px;border-radius:6px;box-shadow:0 3px 16px #00000014}
.cookie-banner p{font-size:12px;line-height:1.45;margin:0 0 9px;color:#424b42}
.cookie-banner p a{text-underline-offset:2px}
.cookie-banner>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cookie-banner button,.cookie-banner button:last-child{min-height:40px;padding:7px 8px;font-size:12px;font-weight:600;line-height:1.3;border:1px solid #697469;border-radius:3px;background:#fff;color:#111411}
.cookie-banner button:hover{background:#f0f2eb}
@media(max-width:800px){.cookie-banner{bottom:calc(88px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-width:360px;margin:0 auto}}
