/* Verde Verticale: refine the existing structure. Shared frontend/editor styles. */
:root{--vv-action:color-mix(in srgb,var(--wp--preset--color--brand) 65%,black);--vv-action-hover:color-mix(in srgb,var(--wp--preset--color--brand) 70%,black);--vv-line:color-mix(in srgb,var(--wp--preset--color--contrast) 16%,transparent);--vv-gutter:clamp(1.25rem,4vw,3rem);--vv-section:clamp(3.5rem,6vw,5.5rem);--vv-radius:12px}
html{scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased}
.wp-site-blocks{padding:0}
.wp-site-blocks>*,.vv-main,.vv-main>.wp-block-post-content,.vv-main>.wp-block-post-content>*{margin-block:0}
a{text-underline-offset:.2em;text-decoration-thickness:1px}
img{max-width:100%;height:auto}
.vv-container,.vv-header-inner{max-width:var(--wp--style--global--wide-size);margin-inline:auto;padding-inline:var(--vv-gutter);box-sizing:content-box}
.vv-section{padding-block:var(--vv-section)}
.vv-section .wp-block-columns{margin-bottom:0;gap:2rem}
.vv-section h2{margin-block:0 2.5rem}
.vv-section h3{margin-block:0 1rem}
.vv-section p{color:var(--wp--preset--color--muted)}
.vv-header{background:var(--wp--preset--color--white);border-bottom:0}
.vv-header-inner{min-height:124px;gap:2rem}
.vv-header .wp-block-site-logo{line-height:0;flex-shrink:0}
.vv-header .wp-block-site-logo img{width:106px;height:96px;object-fit:contain}
.vv-main-nav .wp-block-navigation__container{gap:clamp(1rem,2.3vw,2.4rem)}
.vv-main-nav .wp-block-navigation-item__content{padding-block:.75rem;text-decoration:none;white-space:nowrap;font-size:.875rem}
.vv-main-nav .wp-block-navigation-item__content:hover{text-decoration:underline}
.vv-main-nav .current-menu-item:not(.vv-nav-cta)>.wp-block-navigation-item__content{color:var(--wp--preset--color--contrast);text-decoration:underline;text-decoration-color:var(--wp--preset--color--brand);text-underline-offset:.5rem}
.vv-main-nav .wp-block-navigation-item.vv-nav-cta>.wp-block-navigation-item__content{background:var(--vv-action);color:var(--wp--preset--color--white);padding:.9rem 1.4rem;border-radius:4px}
.vv-main-nav .wp-block-navigation-item.vv-nav-cta>.wp-block-navigation-item__content:hover{background:var(--vv-action-hover);color:var(--wp--preset--color--white);text-decoration:none}
.vv-photo-hero{padding:0;min-height:550px;position:relative}
.vv-photo-hero .wp-block-cover__background{display:none}
.vv-photo-hero>.wp-block-cover__inner-container{max-width:none;width:100%}
.vv-hero-content{max-width:var(--wp--style--global--wide-size);padding:4.5rem var(--vv-gutter);margin-inline:auto;box-sizing:content-box}
.vv-photo-hero .vv-hero-title{position:relative;isolation:isolate;font-family:var(--wp--preset--font-family--system);font-weight:750;color:var(--wp--preset--color--accent);line-height:1.35;margin:0 0 1.25rem;letter-spacing:-.04em;max-width:850px;text-wrap:balance}
.vv-hero-highlight{position:relative;z-index:1;background:var(--wp--preset--color--base);color:var(--wp--preset--color--accent);padding:.04em .18em;border-radius:.18em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.vv-highlight-ready>.vv-hero-highlight{background:transparent}
.vv-hero-highlight-drawing{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.vv-hero-highlight-drawing path{stroke:var(--wp--preset--color--base)}
.vv-hero-highlight-path{stroke-dasharray:1;stroke-dashoffset:1;animation:vv-hero-highlight-draw .75s ease-out var(--vv-stroke-delay,0s) forwards}
@keyframes vv-hero-highlight-draw{to{stroke-dashoffset:0}}
.vv-photo-hero p.vv-hero-subtitle{font-size:1.125rem;line-height:1.9;color:var(--wp--preset--color--contrast);margin:0 0 1.75rem;max-width:36rem}
.vv-hero-subtitle-text{background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);padding:.25em .4em;border-radius:0;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.vv-photo-hero .wp-block-cover__image-background{object-position:center}
.vv-photo-hero .wp-element-button{background:var(--vv-action);color:var(--wp--preset--color--white);border:0}
.wp-element-button{border:0;transition:background-color .15s,color .15s;line-height:1.5}
.wp-element-button:hover{background:var(--vv-action-hover);color:var(--wp--preset--color--white)}
.vv-photo-hero .wp-element-button:hover{background:var(--vv-action-hover);color:var(--wp--preset--color--white)}
.vv-promise{padding-block:2rem;background:var(--wp--preset--color--surface);color:var(--wp--preset--color--contrast)}
.vv-promise .wp-block-columns{gap:2rem}
.vv-promise .vv-promise-title{font-size:1.125rem;margin:0 0 .4rem;color:var(--wp--preset--color--contrast);letter-spacing:-.02em}
.vv-promise p{margin:0;font-size:.875rem;line-height:1.6;color:var(--wp--preset--color--muted);opacity:1}
.vv-promise-item{border:0;padding-left:0}
.vv-services h2,.vv-team>.vv-container>h2,.vv-benefits-section>.vv-container>h2{text-align:left}
.vv-feature-card{border:0;border-radius:var(--vv-radius);overflow:hidden;background:var(--wp--preset--color--white);gap:0!important;margin-bottom:2rem!important}
.vv-feature-card>.wp-block-column:first-child{flex-basis:35%!important;display:flex;align-items:center}
.vv-feature-card>.wp-block-column:last-child{flex-basis:65%!important}
.vv-feature-copy{padding:2rem}
.vv-feature-copy :is(h2,h3){font-size:1.65rem}
.vv-feature-card .wp-block-image{margin:0;height:100%}
.vv-feature-card img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}
.vv-feature-copy p:not(.vv-eyebrow){font-size:1rem;margin-bottom:1.5rem}
.vv-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.vv-service-grid>.vv-service-card{margin-block:0}
.vv-service-card{background:var(--wp--preset--color--white);border:0;border-radius:var(--vv-radius);padding:1.5rem;display:flex;flex-direction:column;min-width:0;box-shadow:0 8px 24px rgba(36,41,36,.035)}
.vv-service-card .wp-block-image{margin:0 0 1.5rem;overflow:hidden;border-radius:6px}
.vv-service-card img{aspect-ratio:1;object-fit:cover;width:100%;display:block;transition:transform .2s}
.vv-service-card:hover img{transform:scale(1.02)}
.vv-service-card :is(h2,h3){font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.035em}
.vv-service-card p{font-size:.95rem;line-height:1.7;margin:0 0 1.5rem}
.vv-service-card .wp-block-buttons{margin-top:auto}
.vv-service-card>.wp-block-buttons{margin-block-start:auto!important}
.vv-service-card .wp-element-button{font-size:.8rem;padding:.8rem 1rem}
.vv-team{background:var(--wp--preset--color--surface)}
.vv-team-columns{align-items:center!important;gap:4rem!important;max-width:1000px;margin-inline:auto}
.vv-team-columns>.wp-block-column:first-child{flex-basis:34%!important;flex-grow:0}
.vv-team-columns>.wp-block-column:last-child{flex-basis:66%!important}
.vv-portrait{margin:0;max-width:340px}
.vv-portrait img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:var(--vv-radius)}
.vv-team-copy h3{font-size:1.9rem}
.vv-inline-link{color:var(--wp--preset--color--contrast);font-weight:600;text-decoration:none;border-bottom:1px solid var(--vv-line);padding-bottom:.25rem}
.vv-inline-link:hover{text-decoration:underline}
.vv-inline-link span{margin-left:.5rem}
.vv-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.vv-benefits>.vv-benefit{margin-block:0}
.vv-benefit{border-top:1px solid var(--vv-line);padding-top:1.5rem;min-width:0}
.vv-benefit-number{font-size:.75rem!important;letter-spacing:.1em;color:var(--wp--preset--color--contrast)!important;font-weight:600;margin:0 0 1rem}
.vv-benefit h3{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:.75rem}
.vv-benefit p{font-size:.95rem;line-height:1.75;margin-bottom:0}
.vv-cta{background:var(--wp--preset--color--surface);padding-block:3rem}
.vv-cta-columns{align-items:center!important;justify-content:space-between}
.vv-cta-columns>.wp-block-column:first-child{flex-basis:70%!important}
.vv-cta-columns>.wp-block-column:last-child{flex-basis:30%!important;display:flex;justify-content:flex-end;flex-grow:0}
.vv-cta h2{font-size:1.85rem;margin:0 0 .75rem}
.vv-cta p{margin:0;max-width:44rem}
.vv-footer{padding-block:4rem 1.25rem;background:var(--wp--preset--color--white);color:var(--wp--preset--color--contrast);border-top:3px solid var(--wp--preset--color--accent)}
.vv-footer h2{font-size:1.125rem;color:var(--wp--preset--color--contrast);margin:0 0 1.25rem}
.vv-footer p{color:var(--wp--preset--color--muted);font-size:.875rem;margin:.5rem 0}
.vv-footer a{color:var(--wp--preset--color--contrast)}
.vv-footer-columns{gap:3rem!important}
.vv-footer-contact{max-width:28rem;margin-left:auto}
.vv-footer-bottom{border-top:1px solid var(--vv-line);padding-top:1.25rem;margin-top:2.5rem;gap:1rem}
.vv-footer-bottom p,.vv-footer-bottom .wp-block-navigation{font-size:.75rem}
.vv-footer-bottom .wp-block-navigation__container{gap:1.5rem}
.vv-legal-main{padding:3.5rem var(--vv-gutter) 5rem;max-width:var(--wp--style--global--wide-size);margin-inline:auto!important}
.vv-legal-main h1{margin-bottom:2.5rem}
.vv-legal-main .wp-block-post-content{max-width:none}
.vv-legal-main .wp-block-post-content>*{margin-left:0!important}
.vv-legal-main .wp-block-post-content h2{font-size:1.65rem;margin-top:2.5rem}
.vv-legal-main .wp-block-post-content h3{font-size:1.25rem;margin-top:2rem}
.vv-legal-main li{margin-bottom:.6rem}
.vv-intro p{max-width:60rem;margin-inline:0}
.vv-intro h2{text-align:left}
.vv-intro .wp-block-buttons{justify-content:flex-start;margin-top:2rem}
.vv-care{background:var(--wp--preset--color--surface)}
.vv-care .wp-block-columns{align-items:center!important;gap:4rem}
.vv-care h2{font-size:2rem;margin-bottom:1.5rem}
.vv-care .wp-block-image{margin:0}
.vv-care img{aspect-ratio:1.1;object-fit:cover;width:100%;display:block;border-radius:var(--vv-radius)}
.vv-contact-section h1{font-size:var(--wp--preset--font-size--x-large);margin:0 0 1.5rem}
.vv-contact-columns{gap:4rem!important}
.vv-contact-aside{background:var(--wp--preset--color--surface);border-radius:var(--vv-radius);padding:2rem}
.vv-contact-aside h2{font-size:1.25rem;margin-bottom:1rem}
.vv-contact-aside .vv-portrait{max-width:120px;margin-bottom:1.5rem}
.vv-contact-aside p{font-size:.95rem}
.vv-contact-columns>.wp-block-column:first-child{flex-basis:40%!important}
.vv-contact-columns>.wp-block-column:last-child{flex-basis:60%!important}
.wpcf7 form{margin:0}
.vv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}
.wpcf7 label{font-size:.875rem;font-weight:500;display:block;color:var(--wp--preset--color--contrast)}
.wpcf7 input:not([type=checkbox]):not([type=submit]),.wpcf7 select,.wpcf7 textarea{display:block;box-sizing:border-box;width:100%;font:inherit;line-height:1.5;color:var(--wp--preset--color--contrast);background:var(--wp--preset--color--white);border:1px solid #7B807B;border-radius:4px;padding:.85rem 1rem;margin-top:.4rem}
.wpcf7 textarea{resize:vertical;min-height:150px}
.wpcf7 input[type=submit]{font:inherit;cursor:pointer;border:0;border-radius:4px;padding:.85rem 1.4rem;background:var(--vv-action);color:var(--wp--preset--color--white);font-size:.875rem;font-weight:600;min-height:48px}
.wpcf7 input[type=submit]:hover{background:var(--vv-action-hover)}
.wpcf7 .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-list-item label{display:flex;gap:.75rem;font-size:.8rem;line-height:1.6;font-weight:400}
.wpcf7 input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--wp--preset--color--brand)}
.vv-form-note{font-size:.8rem}
.wpcf7-not-valid-tip{font-size:.8rem;margin-top:.4rem}
.wpcf7 form .wpcf7-response-output{margin:1.5rem 0 0;padding:1rem}
.editor-styles-wrapper .vv-section,.editor-styles-wrapper .vv-photo-hero{max-width:none}
/* Below 1000px the six desktop links conflict with the logo. Use Core's overlay. */
@media(max-width:1000px){.vv-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.vv-main-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}.vv-main-nav .is-menu-open .wp-block-navigation__container{gap:.6rem;align-items:center}.vv-main-nav .is-menu-open .wp-block-navigation-item__content{font-size:1.15rem;padding-block:.7rem}.vv-main-nav .is-menu-open .vv-nav-cta a{padding-inline:1.4rem}.vv-header-inner{min-height:102px}.vv-header .wp-block-site-logo img{width:90px;height:82px}.vv-feature-copy{padding:1.5rem}.vv-service-grid{gap:1.25rem}.vv-service-card{padding:1.15rem}.vv-service-card :is(h2,h3){font-size:1.25rem}.vv-team-columns{gap:2.5rem!important}}
@media(max-width:781px){.vv-photo-hero{min-height:480px!important}.vv-hero-content{padding-block:3.5rem}.vv-photo-hero .vv-hero-title{font-size:clamp(2.2rem,6.5vw,3rem)}.vv-photo-hero p.vv-hero-subtitle{font-size:1rem;max-width:30rem}.vv-feature-card,.vv-team-columns,.vv-cta-columns,.vv-contact-columns{flex-wrap:wrap!important}.vv-feature-card>.wp-block-column:first-child,.vv-feature-card>.wp-block-column:last-child,.vv-team-columns>.wp-block-column:first-child,.vv-team-columns>.wp-block-column:last-child,.vv-cta-columns>.wp-block-column:first-child,.vv-cta-columns>.wp-block-column:last-child,.vv-contact-columns>.wp-block-column:first-child,.vv-contact-columns>.wp-block-column:last-child{flex-basis:100%!important}.vv-feature-card img{min-height:0;height:auto;aspect-ratio:1.7}.vv-feature-card>.wp-block-column:last-child{order:-1}.vv-feature-copy{padding:2rem}.vv-service-grid{grid-template-columns:1fr;gap:1.5rem}.vv-service-card{padding:1.5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1.5rem}.vv-service-card .wp-block-image{grid-column:1;grid-row:1 / span 3;margin:0}.vv-service-card :is(h2,h3),.vv-service-card p,.vv-service-card .wp-block-buttons{grid-column:2}.vv-service-card :is(h2,h3){font-size:1.35rem}.vv-team-copy h3{font-size:1.6rem}.vv-team-columns{gap:2rem!important}.vv-portrait{max-width:280px;margin-inline:auto}.vv-team-copy{max-width:42rem}.vv-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.vv-cta-columns>.wp-block-column:last-child{justify-content:flex-start}.vv-footer-contact{margin-left:0}.vv-contact-columns,.vv-care .wp-block-columns{gap:2rem!important}.vv-section .wp-block-columns{gap:1.5rem}}
@media(max-width:520px){.vv-topbar-inner{padding-block:.4rem;gap:.35rem}.vv-topbar p{font-size:.75rem}.vv-header-inner{min-height:88px}.vv-header .wp-block-site-logo img{width:78px;height:72px}.vv-photo-hero{min-height:470px!important}.vv-photo-hero .vv-hero-title{font-size:2.25rem}.vv-hero-content{padding-block:3rem}.vv-promise{padding-block:1.75rem}.vv-promise .vv-promise-title{font-size:1rem}.vv-promise p{font-size:.8rem}.vv-service-card{display:flex;padding:1.25rem}.vv-service-card .wp-block-image{margin-bottom:1.25rem}.vv-service-card img{aspect-ratio:1.3}.vv-service-card :is(h2,h3){font-size:1.5rem}.vv-service-card .wp-block-buttons{margin-top:.25rem}.vv-feature-copy{padding:1.5rem}.vv-benefits,.vv-form-grid{grid-template-columns:1fr}.vv-benefits{gap:1.75rem}.vv-benefits-section h2{text-align:left!important}.vv-footer-bottom{align-items:flex-start!important;flex-direction:column}.vv-footer-bottom .wp-block-navigation__container{gap:1rem}.vv-contact-aside{padding:1.5rem}.vv-photo-hero .wp-block-button{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.vv-promise .vv-promise-title{font-weight:700;opacity:1}

@media(prefers-reduced-motion:reduce){.vv-hero-highlight-path{animation:none;stroke-dashoffset:0}}

/* One shared header: readable navigation and direct contact without a tiny top bar. */
.vv-header-inner{min-height:144px;gap:2rem;align-items:center}
.vv-header .wp-block-site-logo img{width:116px;height:104px}
.vv-header-content{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:0}
.vv-header-content>.vv-header-contact,.vv-header-content>.vv-main-nav{margin-block:0}
.vv-header-contact{column-gap:1.5rem;row-gap:.25rem;align-items:center}
.vv-header .vv-header-contact{column-gap:1.5rem;row-gap:.25rem}
.vv-header-phone{margin:0;font-size:1.1875rem;font-weight:650;line-height:1.4;letter-spacing:-.025em}
.vv-phone-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;color:var(--wp--preset--color--contrast);text-decoration:none;white-space:nowrap}
.vv-phone-link::before{content:"";width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:url('../icons/phone.svg') center/contain no-repeat;mask:url('../icons/phone.svg') center/contain no-repeat}
.vv-phone-link:hover{text-decoration:underline}
.vv-header-social{margin:0;padding:0;font-size:1rem}
.vv-header-social .wp-social-link{color:var(--wp--preset--color--contrast);background:transparent}
.vv-header-social .wp-block-social-link-anchor{display:flex;align-items:center;gap:.5rem;box-sizing:border-box;min-height:44px;padding:.5rem 0;text-decoration:none}
.vv-header-social .wp-block-social-link-anchor:hover{text-decoration:underline}
.vv-header-social .wp-social-link svg{width:22px;height:22px}
.vv-header-contact .vv-header-social .wp-social-link .wp-block-social-link-label{font-size:1rem;line-height:1.4}
.vv-main-nav .wp-block-navigation__container{gap:clamp(1rem,1.8vw,1.6rem)}
.vv-main-nav .wp-block-navigation-item__content{font-size:1.0625rem;font-weight:600;line-height:1.45}
.vv-main-nav .wp-block-navigation-item.vv-nav-cta>.wp-block-navigation-item__content{padding:.85rem 1.2rem}
.vv-team-copy h3{font-size:2rem;margin-bottom:1.25rem}
.vv-team-copy .vv-eyebrow{max-width:32rem}

/* Full-width Galabau section; the two brands have distinct space. */
.vv-main>.wp-block-template-part{margin-block:0}
.vv-galabau{padding:0;background:var(--wp--preset--color--white);margin-block:0}
.vv-galabau .vv-galabau-columns{align-items:stretch;gap:0;margin:0}
.vv-galabau-columns>.wp-block-column:first-child{flex-basis:45%!important;flex-grow:0}
.vv-galabau-columns>.wp-block-column:last-child{flex-basis:55%!important;display:flex;align-items:center}
.vv-garden-placeholder{position:relative;margin:0;height:100%;min-height:520px}
.vv-garden-placeholder img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.vv-galabau-copy{max-width:36rem;padding:clamp(2.5rem,5vw,5rem) var(--vv-gutter);box-sizing:content-box}
.vv-galabau-logo{width:156px;max-width:100%;margin:0 0 2rem}
.vv-galabau-logo img{display:block;width:100%;height:auto}
.vv-galabau-copy h2{font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.12;margin-bottom:1.5rem;max-width:12em}
.vv-galabau-copy p{font-size:1.0625rem;line-height:1.75;max-width:34rem}
.vv-galabau-copy>.wp-block-buttons{margin-top:1.75rem}
.vv-footer-columns{gap:2.5rem!important}
.vv-footer-galabau h3{color:var(--wp--preset--color--contrast);font-size:1.125rem;line-height:1.4;margin:0 0 .65rem;letter-spacing:-.02em}
.vv-footer-galabau-link{font-weight:600;text-decoration-thickness:1px}
.vv-footer-galabau-link span{margin-left:.5rem}
@media(max-width:1000px){.vv-header-inner{min-height:118px}.vv-header .wp-block-site-logo img{width:100px;height:90px}.vv-header-content{flex-direction:row;align-items:center;gap:1.5rem}.vv-header-contact{column-gap:1.25rem}.vv-main-nav .is-menu-open .wp-block-navigation-item__content{font-size:1.2rem}}
@media(max-width:600px){.vv-header .vv-header-inner{display:grid;grid-template-columns:1fr auto;gap:0 .75rem;min-height:0;padding-top:.45rem;padding-bottom:.45rem}.vv-header .wp-block-site-logo{grid-column:1;grid-row:1}.vv-header .wp-block-site-logo img{width:82px;height:74px}.vv-header-content{display:contents}.vv-main-nav{grid-column:2;grid-row:1;justify-self:end}.vv-header-contact{grid-column:1/-1;grid-row:2;justify-content:space-between!important;width:100%;margin-top:.3rem!important;padding-top:.3rem;border-top:1px solid var(--vv-line);column-gap:.75rem}.vv-header-phone{font-size:1.0625rem}.vv-phone-link{gap:.45rem}.vv-phone-link::before{width:18px;height:18px}.vv-header-social{font-size:.875rem}.vv-header-social .wp-social-link svg{width:20px;height:20px}.vv-galabau-logo{max-width:136px}.vv-team-copy h3{font-size:1.8rem}}
@media(max-width:600px){.vv-header-contact .vv-header-social .wp-social-link .wp-block-social-link-label{font-size:.875rem}}
@media(max-width:600px){.vv-header .vv-header-contact{column-gap:.5rem;row-gap:.15rem}}

/* Editorial alignment and one short introduction per section. */
.vv-section-intro{max-width:46rem;font-size:1.0625rem;line-height:1.75;margin:0 0 2.5rem}
.vv-section h2:has(+.vv-section-intro){margin-bottom:1rem}
.vv-service-card{box-shadow:none}
.vv-benefit{border-top:2px solid var(--wp--preset--color--accent)}
.vv-benefit-number{font-size:.8rem!important}
.vv-team-columns{max-width:none;margin-inline:0}
.vv-photo-hero .wp-block-button__link{box-shadow:none}
.wp-element-button:focus-visible,.wp-block-button__link:focus-visible{box-shadow:none;outline:3px solid var(--wp--preset--color--contrast);outline-offset:4px}
.wpcf7 input[type=submit]:hover{color:var(--wp--preset--color--white)}

/* Native menu overlay, including contact links. No extra menu script. */
.vv-main-nav .wp-block-navigation-item.vv-nav-contact{display:none}
.vv-main-nav .is-menu-open{background:var(--wp--preset--color--base);color:var(--wp--preset--color--contrast);padding:1.25rem!important;box-sizing:border-box}
.vv-main-nav .is-menu-open .wp-block-navigation__responsive-dialog{min-height:calc(100dvh - 2.5rem);display:flex;flex-direction:column;margin-top:0!important}
.vv-main-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:4rem;padding-bottom:2rem;flex:1;justify-content:center;align-items:center!important}
.vv-main-nav .is-menu-open .wp-block-navigation__container{width:100%;gap:.15rem;align-items:center!important;flex:0 0 auto}
.vv-main-nav .is-menu-open .wp-block-navigation-item{align-items:center;text-align:center}
.vv-main-nav .is-menu-open .wp-block-navigation-item__content{font-size:clamp(1.15rem,4.5vw,1.6rem);padding-block:.6rem;white-space:normal;text-align:center}
.vv-main-nav .is-menu-open .vv-nav-cta{margin-top:.75rem}
.vv-main-nav .is-menu-open .vv-nav-cta>.wp-block-navigation-item__content{min-width:13rem;box-sizing:border-box;padding:.85rem 1.4rem;font-size:1.0625rem}
.vv-main-nav .is-menu-open .wp-block-navigation-item.vv-nav-contact{display:flex}
.vv-main-nav .is-menu-open .vv-nav-contact>.wp-block-navigation-item__content{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font-size:1.0625rem}
.vv-main-nav .is-menu-open .vv-nav-phone{margin-top:1.5rem;border-top:1px solid var(--vv-line);padding-top:1rem;min-width:13rem}
.vv-main-nav .vv-nav-contact>.wp-block-navigation-item__content::before{content:"";width:21px;height:21px;flex:none;background:currentColor}
.vv-main-nav .vv-nav-phone>.wp-block-navigation-item__content::before{-webkit-mask:url('../icons/phone.svg') center/contain no-repeat;mask:url('../icons/phone.svg') center/contain no-repeat}
.vv-main-nav .vv-nav-instagram>.wp-block-navigation-item__content::before{-webkit-mask:url('../icons/instagram.svg') center/contain no-repeat;mask:url('../icons/instagram.svg') center/contain no-repeat}
@media(max-width:1000px){.vv-header .vv-header-contact{display:none}.vv-header-inner{min-height:102px}.vv-header-content{gap:0}.vv-main-nav .is-menu-open .wp-block-navigation__container{gap:.15rem}}
@media(max-width:781px){.vv-galabau .vv-galabau-columns{flex-wrap:wrap!important}.vv-galabau-columns>.wp-block-column:first-child,.vv-galabau-columns>.wp-block-column:last-child{flex-basis:100%!important}.vv-garden-placeholder{min-height:0;height:300px}.vv-garden-placeholder img{min-height:0;height:300px;object-position:center 58%}.vv-galabau-copy{max-width:none;padding:2.5rem var(--vv-gutter) 3rem}.vv-galabau-logo{width:140px}.vv-section-intro{font-size:1rem;margin-bottom:2rem}}
@media(max-width:600px){.vv-header .vv-header-inner{min-height:90px}.vv-main-nav .is-menu-open .wp-block-navigation-item__content{padding-block:.5rem}.vv-main-nav .is-menu-open .vv-nav-contact>.wp-block-navigation-item__content{font-size:1rem}.vv-main-nav .is-menu-open .vv-nav-phone{margin-top:1.1rem}.vv-garden-placeholder,.vv-garden-placeholder img{height:240px}.vv-galabau-copy h2{font-size:2.2rem}}

/* The logo has room to be read and extends below the header on its own white panel. */
.vv-header{position:relative;z-index:auto}
.vv-header .vv-header-inner{min-height:144px;gap:1.5rem}
.vv-header .wp-block-site-logo{align-self:flex-start;position:relative;z-index:2;margin-top:0;margin-bottom:-34px;flex:none}
.vv-header .custom-logo-link{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:196px;padding:12px 14px 18px;background:var(--wp--preset--color--white);border-radius:0 0 30px 30px;box-shadow:none}
.vv-header .wp-block-site-logo img{display:block;width:168px;height:auto;max-width:100%}
.vv-header-content{position:relative;z-index:auto}
.vv-main-nav .wp-block-navigation__responsive-container-open svg{width:30px;height:30px}
.vv-legal-main{padding-top:7rem}
.vv-contact-section{padding-top:7rem}
@media(max-width:1000px){.vv-header .vv-header-inner{min-height:104px}.vv-header .wp-block-site-logo{margin-bottom:-47px}.vv-header .custom-logo-link{width:164px;padding:12px 12px 16px;border-radius:0 0 28px 28px}.vv-header .wp-block-site-logo img{width:140px}.vv-header-content{display:flex;align-items:center}.vv-photo-hero .vv-hero-content{padding-top:5.5rem}}
@media(max-width:600px){.vv-header .vv-header-inner{display:flex;justify-content:space-between;min-height:96px;padding-top:0;padding-bottom:0}.vv-header .custom-logo-link{width:150px;padding:12px 12px 16px;border-radius:0 0 26px 26px}.vv-header .wp-block-site-logo{margin-bottom:-43px}.vv-header .wp-block-site-logo img{width:126px}.vv-header-content{display:flex;align-self:center}.vv-main-nav{display:flex}.vv-header .vv-header-contact{display:none}.vv-photo-hero .vv-hero-content{padding-top:5rem}.vv-contact-section{padding-top:6rem}.vv-legal-main{padding-top:6rem}}

/* A light, clearly structured footer with the brand, personal contact and local context. */
.vv-footer-logo{width:160px;max-width:100%;margin:0 0 1.5rem}
.vv-footer-logo img{display:block;width:100%;height:auto}
.vv-footer-brand p{max-width:19rem;line-height:1.8}
.vv-footer-brand strong{color:var(--wp--preset--color--contrast);font-weight:650}
.vv-footer-contact{margin-left:0;max-width:none}
.vv-footer .vv-footer-name{font-size:1rem;color:var(--wp--preset--color--contrast);margin-bottom:.75rem}
.vv-footer .vv-footer-phone{font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:650;letter-spacing:-.025em;margin:0 0 .5rem}
.vv-footer .vv-footer-phone a{text-decoration:none}
.vv-footer .vv-footer-address{margin-top:1.25rem;line-height:1.75}
.vv-footer-services .wp-block-navigation__container{align-items:flex-start;gap:.2rem}
.vv-footer-services .wp-block-navigation-item__content{font-size:.9375rem;font-weight:500;line-height:1.5;padding-block:.3rem;text-decoration:none}
.vv-footer-services a:hover,.vv-footer .vv-footer-phone a:hover{text-decoration:underline}
.vv-footer-galabau{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--vv-line)}
.vv-footer-galabau p{margin:0 0 .4rem;font-size:.8rem}
.vv-footer-galabau a{font-size:.9375rem}
.vv-footer-bottom{margin-top:3rem}
@media(max-width:781px){.vv-footer{padding-top:3rem}.vv-footer-logo{width:144px}.vv-footer-columns{gap:2rem!important}.vv-footer-bottom{margin-top:2rem}}

/* Calm heroes and botanical section transitions. */
.vv-photo-hero .vv-hero-title{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.35;margin:0 0 1.5rem;max-width:52rem}
.vv-photo-hero::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:clamp(24px,4vw,48px);background:var(--wp--preset--color--surface);-webkit-mask:url('../images/section-wave.svg') center/100% 100% no-repeat;mask:url('../images/section-wave.svg') center/100% 100% no-repeat;pointer-events:none;z-index:1}
.vv-promise-item::before{content:"";display:block;width:34px;height:34px;margin-bottom:.85rem;background:var(--vv-action);-webkit-mask:var(--vv-promise-icon) center/contain no-repeat;mask:var(--vv-promise-icon) center/contain no-repeat}
.vv-section h1{font-size:var(--wp--preset--font-size--x-large);margin:0 0 1rem;line-height:1.2;letter-spacing:-.035em}
.vv-services .vv-service-heading{font-size:clamp(1.35rem,1.9vw,1.6rem);margin:0 0 1rem;line-height:1.25}
.vv-services .vv-feature-copy .vv-service-heading{font-size:1.65rem}
.vv-team{position:relative;padding-block:calc(var(--vv-section) + .75rem)}
.vv-team::before,.vv-team::after{content:"";position:absolute;left:0;width:100%;height:32px;-webkit-mask:url('../images/section-wave.svg') center/100% 100% no-repeat;mask:url('../images/section-wave.svg') center/100% 100% no-repeat;pointer-events:none}
.vv-team::before{top:-31px;background:var(--wp--preset--color--surface)}
.vv-team::after{bottom:-1px;background:var(--wp--preset--color--base)}
.vv-team>.vv-container{position:relative;z-index:1}
.vv-benefits-section{background:var(--wp--preset--color--base)}
.vv-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.vv-benefit{border:0;border-radius:24px;padding:1.5rem;background:var(--wp--preset--color--surface)}
.vv-benefit h3{font-size:1.25rem;margin-bottom:.65rem;max-width:24em}
.vv-benefit p{font-size:.95rem;line-height:1.75}
.vv-benefits-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.vv-benefits-layout>.vv-benefits{display:flex;flex-direction:column;gap:1rem}
.vv-benefits-lead h2{max-width:13em;margin-bottom:1.25rem}
.vv-benefits-lead>.vv-section-intro{margin-bottom:0;max-width:32rem}
.vv-main-nav .is-menu-open .wp-block-navigation-item.vv-nav-contact{width:100%;min-width:0;justify-content:center;align-items:center;position:relative}
.vv-main-nav .is-menu-open .vv-nav-contact>.wp-block-navigation-item__content{width:max-content;max-width:100%;align-self:center;flex:0 0 auto;justify-content:center}
.vv-main-nav .is-menu-open .vv-nav-phone{border-top:0}
.vv-main-nav .is-menu-open .vv-nav-phone::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:13rem;height:1px;background:var(--vv-line)}
@media(max-width:781px){.vv-benefits-layout{grid-template-columns:1fr;gap:1.75rem}.vv-benefits-lead h2{max-width:24em}.vv-benefits-layout>.vv-benefits{gap:1rem}.vv-section h1{font-size:clamp(1.9rem,5vw,2.5rem)}}
@media(max-width:520px){.vv-benefits{grid-template-columns:1fr}.vv-benefit{padding:1.35rem;border-radius:20px}.vv-photo-hero .vv-hero-title{font-size:2rem}.vv-services .vv-feature-copy .vv-service-heading{font-size:1.5rem}}

/* Homepage-only promise icons and borderless cards. */
:root{--vv-card-shadow:0 12px 24px 0 #00000012}
.vv-promise-plan{--vv-promise-icon:url('../icons/planning.svg')}
.vv-promise-build{--vv-promise-icon:url('../icons/installation.svg')}
.vv-promise-care{--vv-promise-icon:url('../icons/care.svg')}
.vv-photo-hero:not(.vv-home-hero)::after{background:var(--wp--preset--color--base)}
.vv-feature-card,.vv-service-card,.vv-benefit,.vv-contact-aside{border:0;box-shadow:var(--vv-card-shadow)}
.vv-legal-main .wp-block-post-content h4{font-size:1.0625rem;line-height:1.4;margin-top:1.5rem;margin-bottom:.75rem}

/* Match the feature photo to the image edges in the service grid below. */
@media(min-width:782px){
.vv-services{--vv-service-gap:2rem;--vv-service-inset:1.5rem}
.vv-services .vv-service-grid{gap:var(--vv-service-gap)}
.vv-services .vv-service-card{padding:var(--vv-service-inset)}
.vv-services .vv-feature-card{display:grid;grid-template-columns:calc((100% - 2 * var(--vv-service-gap))/3) minmax(0,1fr);gap:var(--vv-service-gap)!important;align-items:stretch}
.vv-services .vv-feature-copy{padding:var(--vv-service-inset)}
.vv-services .vv-feature-card>.wp-block-column:last-child{display:flex;padding:var(--vv-service-inset);box-sizing:border-box}
.vv-services .vv-feature-card .wp-block-image{width:100%;height:auto;display:flex;overflow:hidden;border-radius:6px}
.vv-services .vv-feature-card img{flex:1;min-width:0}
}
/* White contours separate the soft grey benefit cards from their shadows. */
.vv-benefit{border:1px solid var(--wp--preset--color--white)}

/* Legal links follow the third footer column, while staying in the bottom bar. */
.vv-footer .vv-footer-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.5rem;row-gap:1rem;align-items:center}
.vv-footer-bottom>p{grid-column:1 / span 2;margin:0}
.vv-footer-bottom>.wp-block-navigation{grid-column:3;justify-content:flex-start}
.vv-footer-bottom .wp-block-navigation__container{justify-content:flex-start}
@media(max-width:781px){.vv-footer .vv-footer-bottom{grid-template-columns:minmax(0,1fr)}.vv-footer-bottom>p,.vv-footer-bottom>.wp-block-navigation{grid-column:1}}

/* Homepage benefits: open icon-led content instead of low-contrast shadow cards. */
.vv-benefits-section .vv-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem 2.5rem}
.vv-benefits-section .vv-benefit{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.vv-benefits-section .vv-benefit::before{content:"";display:block;width:40px;height:40px;background:var(--vv-action);-webkit-mask:var(--vv-benefit-icon) center/contain no-repeat;mask:var(--vv-benefit-icon) center/contain no-repeat}
.vv-benefits-section .vv-benefit h3{margin:1rem 0 .75rem;font-size:1.25rem;line-height:1.35}
.vv-home-benefits .vv-benefit-expertise{--vv-benefit-icon:url('../icons/site-light.svg')}
.vv-home-benefits .vv-benefit-design{--vv-benefit-icon:url('../icons/design.svg')}
.vv-home-benefits .vv-benefit-nature{--vv-benefit-icon:url('../icons/nature.svg')}
.vv-home-benefits .vv-benefit-care{--vv-benefit-icon:url('../icons/care.svg')}
.vv-home-benefits .vv-benefit-reliability{--vv-benefit-icon:url('../icons/calendar-check.svg')}
.vv-home-benefits .vv-benefit-satisfaction{--vv-benefit-icon:url('../icons/conversation-heart.svg')}
@media(max-width:900px){.vv-benefits-section .vv-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem}}
@media(max-width:520px){.vv-benefits-section .vv-benefits{grid-template-columns:minmax(0,1fr);gap:2rem}}

/* Complete garden scene, clearer brand spacing and left-aligned portraits. */
.vv-galabau .vv-garden-placeholder{display:flex;align-items:center;min-height:0;height:100%}
.vv-galabau .vv-garden-placeholder img{height:auto;min-height:0;aspect-ratio:5/4;object-fit:contain}
.vv-galabau .vv-galabau-copy>.vv-galabau-logo{margin:0 0 1.75rem}
.vv-team .vv-portrait,.vv-contact-aside .vv-portrait{margin-inline:0}
.vv-contact-section .vv-contact-aside{background:transparent;box-shadow:none;border:0;border-radius:0;padding:0;margin-top:1.75rem}
@media(max-width:781px){.vv-galabau .vv-garden-placeholder{height:auto}}

/* A tighter, gently curved transition from service introduction to benefits. */
#leistungen,#begruenung{scroll-margin-top:3rem}
.vv-intro{padding-bottom:clamp(2.5rem,4vw,3.5rem)}
.vv-intro+.vv-benefits-section{position:relative;background:var(--wp--preset--color--surface);padding-top:clamp(2.75rem,4vw,3.75rem)}
.vv-intro+.vv-benefits-section::before,.vv-intro+.vv-benefits-section::after{content:"";position:absolute;left:0;width:100%;height:32px;-webkit-mask:url('../images/section-wave.svg') center/100% 100% no-repeat;mask:url('../images/section-wave.svg') center/100% 100% no-repeat;pointer-events:none}
.vv-intro+.vv-benefits-section::before{top:-31px;background:var(--wp--preset--color--surface)}
.vv-intro+.vv-benefits-section::after{bottom:-1px;background:var(--wp--preset--color--base)}
.vv-benefits-section+.vv-care{background:var(--wp--preset--color--base)}

.vv-benefit-airflow{--vv-benefit-icon:url('../icons/airflow.svg')}
.vv-benefit-spark{--vv-benefit-icon:url('../icons/spark.svg')}
.vv-benefit-sound{--vv-benefit-icon:url('../icons/sound.svg')}
.vv-benefit-calm{--vv-benefit-icon:url('../icons/calm.svg')}
.vv-benefit-wall-leaf{--vv-benefit-icon:url('../icons/wall-leaf.svg')}
.vv-benefit-space-saving{--vv-benefit-icon:url('../icons/space-saving.svg')}
.vv-benefit-sun{--vv-benefit-icon:url('../icons/sun.svg')}
.vv-benefit-cooling{--vv-benefit-icon:url('../icons/cooling.svg')}
.vv-benefit-palette{--vv-benefit-icon:url('../icons/palette.svg')}
.vv-benefit-leaf-check{--vv-benefit-icon:url('../icons/leaf-check.svg')}
.vv-benefit-nature{--vv-benefit-icon:url('../icons/nature.svg')}
.vv-benefit-design{--vv-benefit-icon:url('../icons/design.svg')}
.vv-benefit-site-light{--vv-benefit-icon:url('../icons/site-light.svg')}

/* One shared surface tone, sampled from the customer's artwork. */
.vv-brand-story{position:relative;background:var(--wp--preset--color--surface);padding-top:clamp(2rem,4vw,3.5rem);padding-bottom:var(--vv-section)}
.vv-brand-story::before{content:"";position:absolute;left:0;top:-31px;width:100%;height:32px;background:var(--wp--preset--color--surface);-webkit-mask:url('../images/section-wave.svg') center/100% 100% no-repeat;mask:url('../images/section-wave.svg') center/100% 100% no-repeat;pointer-events:none}
.vv-brand-story .vv-brand-story-columns{gap:clamp(2rem,5vw,5rem)!important;margin:0;align-items:center}
.vv-brand-story-columns>.wp-block-column{min-width:0}
.vv-brand-story-image{width:100%;max-width:480px;margin:0 0 0 auto!important;padding:0;box-sizing:border-box;background:transparent;border-radius:0}
.vv-brand-story-image img{display:block;width:100%;height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.vv-brand-story h2{max-width:17em;margin:0 0 1.25rem}
.vv-brand-story p{max-width:39rem}
.vv-brand-story .wp-block-buttons{margin-top:1.75rem}
@media(max-width:781px){.vv-brand-story .vv-brand-story-columns{flex-wrap:wrap!important;gap:2rem!important}.vv-brand-story-columns>.wp-block-column{flex-basis:100%!important}.vv-brand-story-image{max-width:380px;margin-inline:auto!important}.vv-brand-story h2{max-width:none}.vv-brand-story .wp-block-buttons{display:none}}

/* One decorative right arrow on every action button, including navigation. */
:is(.wp-block-button__link,.wp-element-button,.vv-nav-cta>.wp-block-navigation-item__content){display:inline-flex;align-items:center;justify-content:center;gap:.65em}
:is(.wp-block-button__link,.wp-element-button,.vv-nav-cta>.wp-block-navigation-item__content)::after{content:"";display:inline-block;width:1em;height:1em;flex:none;background:currentColor;-webkit-mask:url('../icons/arrow-right.svg') center/contain no-repeat;mask:url('../icons/arrow-right.svg') center/contain no-repeat}
/* Native CF7 submit inputs cannot render pseudo-elements. */
.vv-contact-form .wpcf7 input[type=submit]{padding-inline-end:3.1rem;background-image:url('../icons/arrow-right.svg');background-repeat:no-repeat;background-size:1em 1em;background-position:right 1.4rem center}
.vv-benefit-site-light{--vv-benefit-icon:url('../icons/site-light.svg')}
