/*
Theme Name: WON Vivai Bergonzini
Author: WorkOnNet
Description: Tema vetrina leggero per Vivai F.lli Bergonzini; richiede WON VB Core per il portfolio.
Version: 0.5.10
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: won-vivaibergonzini
*/
:root{--ink:#2c3832;--forest:#31494f;--green:#677b55;--light:#f5f6f0;--line:#e1e5de;--max:1180px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;background:#fff}a{color:var(--forest)}img{max-width:100%;height:auto}figure{margin:0}.wrap{width:min(100% - 36px,var(--max));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:4}.header-inner{min-height:94px;display:flex;gap:35px;justify-content:space-between;align-items:center}.site-brand{font-weight:700;font-size:1.35rem;text-decoration:none;line-height:1.15}.site-brand img{max-height:74px;width:auto;display:block}.site-nav ul{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:24px}.site-nav li{position:relative}.site-nav a{text-decoration:none;font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink)}.site-nav .sub-menu{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:220px;padding:16px;box-shadow:0 10px 24px #0002;z-index:6}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block}.site-nav .sub-menu li{margin:8px 0}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:10px 14px;cursor:pointer}.hero{background:var(--forest);color:#fff;min-height:450px;display:grid;align-items:center;background-size:cover;background-position:center}.hero .wrap{padding-block:90px}.hero h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.1;max-width:760px;margin:0 0 24px}.hero p{font-size:1.17rem;max-width:650px}.hero a,.button{display:inline-block;text-decoration:none;background:var(--forest);color:#fff;padding:13px 24px;border-radius:2px;font-weight:600}.hero a{background:#fff;color:var(--forest)}.section{padding:76px 0}.section.alt{background:var(--light)}.section-heading{text-align:center;margin-bottom:35px}.section-heading h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.2;margin:0 0 12px}.section-heading p{margin:0;color:#66746a}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{background:#fff;box-shadow:0 2px 14px #1e28210b;overflow:hidden}.card img,.card-placeholder{aspect-ratio:4/3;object-fit:cover;width:100%;display:block;background:#e6ebe5}.card-body{padding:22px}.card h3{font-size:1.22rem;line-height:1.3;margin:0 0 10px}.card h3 a{text-decoration:none;color:inherit}.card p{margin:0}.content{padding:60px 0;max-width:950px}.content h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.2}.content :where(p,li){overflow-wrap:anywhere}.entry-image{margin:28px 0}.entry-image img{width:100%;height:auto}.site-footer{background:#202e29;color:#fff;padding:44px 0}.site-footer a{color:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.instagram-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.instagram-grid img{width:100%;aspect-ratio:1;object-fit:cover}.note{text-align:center;color:#5c6b62}.pagination{padding-top:28px}.notice{padding:14px 18px;border-left:4px solid var(--green);background:#f3f6f0}.skip-link{position:absolute;left:-10000px;top:auto}.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:100}.portfolio-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 0 32px}.portfolio-filters a{padding:7px 13px;border:1px solid var(--line);text-decoration:none}.portfolio-filters a[aria-current=page]{background:var(--forest);color:#fff}.legacy-shortcodes{padding:20px;background:#fff3d5;color:#543}.site-logo-fallback{display:block}.contact-cta{text-align:center;padding:60px 0;background:var(--forest);color:#fff}.contact-cta a{color:#fff}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}@media(max-width:860px){.header-inner{min-height:76px;flex-wrap:wrap}.menu-toggle{display:block}.site-nav{display:none;width:100%;padding:0 0 20px}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav li{padding:7px 0}.site-nav .sub-menu{display:block;position:static;box-shadow:none;padding:4px 0 0 16px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.cards{grid-template-columns:1fr}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{display:block}.section{padding:52px 0}.hero{min-height:370px}}

/* Slider nature: originale migrato, senza dipendenze da Revolution Slider. */
.won-hero-slider{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(440px,50vw,650px);background:#31494f}
.won-slides,.won-slide,.won-slide img,.won-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.won-slide{opacity:0;transition:opacity 950ms ease;pointer-events:none}
.won-slide.is-active{opacity:1}
.won-slide img{object-fit:cover;object-position:center}
.won-hero-shade{background:linear-gradient(90deg,rgba(13,34,26,.72),rgba(13,34,26,.13));z-index:1;pointer-events:none}
.won-hero-content{position:relative;z-index:2;padding-bottom:120px!important}
.won-slider-controls{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#fff;background:rgba(12,32,25,.6);border-radius:6px;padding:7px 10px}
.won-slider-controls button{font:inherit;border:1px solid #ffffff75;border-radius:4px;background:transparent;color:#fff;min-height:38px;min-width:38px;cursor:pointer}
.won-slider-controls button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.won-slider-position{font-size:.88rem;min-width:52px;text-align:center}
@media(prefers-reduced-motion:reduce){.won-slide{transition:none}}
@media(max-width:600px){.won-hero-slider{min-height:420px}.won-hero-content{padding-bottom:110px!important}}

/* Servizi - contenuti recuperati e associati ai portfolio della stessa categoria */
.service-card .card-body p{font-size:.95rem;color:#536357;line-height:1.55}.service-card .card-body{min-height:170px}.service-card img{background:#e6ebe5}

/* v0.4 – riallineamento strutturale alla homepage originale Larix (non una replica pixel-perfect). */
:root{--forest:#233e30;--green:#52723e;--ink:#343b35;--light:#f8f8f6;--max:1200px}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:16px}
.vb-topbar{background:#253329;color:#f9f9f9;font-size:12px;letter-spacing:.025em}
.vb-topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:37px;gap:12px}
.vb-topbar-inner>div{display:flex;gap:20px}.vb-topbar a{color:#fff;text-decoration:none}
.site-header{border-bottom:1px solid #e6e6e6}.header-inner{min-height:104px}
.vb-brand img,.custom-logo{display:block;height:auto;width:auto;max-height:82px;max-width:min(290px,50vw)}
.site-nav ul{gap:20px}.site-nav a{font-size:12px;letter-spacing:.075em;font-weight:600}
.site-nav .sub-menu{border-top:3px solid var(--green);min-width:230px}
.vb-legacy-slider{min-height:clamp(420px,45vw,650px);display:block}
.vb-legacy-slider .won-slides{position:absolute;inset:0}
.vb-legacy-slider .won-slide{display:block}
.vb-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,30,17,.45),transparent 75%)}
.vb-slide-copy{position:relative;height:100%;display:flex;align-items:center;z-index:2}
.vb-slide-copy-inner{max-width:750px;transform:translateY(-12px)}
.vb-slide-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.79rem;font-weight:600;color:#fff}
.vb-slide-copy h1{color:#fff;text-transform:uppercase;line-height:1.13;font-size:clamp(2rem,4.5vw,4.3rem);font-weight:700;text-shadow:0 1px 12px #0004;margin:12px 0 14px}
.vb-slide-subtitle{font-size:clamp(1.05rem,1.7vw,1.5rem);color:#fff}
.won-slider-controls{bottom:22px}
.section{padding:75px 0}.section-heading{margin-bottom:38px}.section-heading h2{font-weight:600;font-size:clamp(1.9rem,3vw,2.6rem)}
.vb-instagram-section{background:#fff;text-align:center}.vb-work-section{background:#f8f8f7}.vb-blog-section{background:#fff}
.vb-work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.vb-work-grid .card{position:relative;box-shadow:none;background:#fff}
.vb-work-grid .card img,.vb-work-grid .card-placeholder{aspect-ratio:4/3}
.vb-work-grid .card-body{padding:16px 14px}.vb-work-grid .card h3{font-size:1rem;margin:0}
.vb-center{text-align:center;margin:32px 0}.button{padding:12px 27px;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}
.vb-service-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:25px 0 0}
.vb-service-links a{font-size:.84rem;text-decoration:none;text-transform:uppercase;border-bottom:1px solid #c3c8bd;padding:7px 3px}
.portfolio-filters{gap:7px}.portfolio-filters a{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.vb-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.vb-contact{padding:80px 0;background:#334a3a}.vb-contact h2{font-size:2rem;font-weight:500}
.site-footer{background:#242a25;padding:38px 0}.vb-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
.vb-footer-inner p{margin:6px 0;font-size:.88rem}.vb-footer-inner small{opacity:.8}.vb-footer-inner nav{display:flex;flex-wrap:wrap;gap:22px}.vb-footer-inner nav a{font-size:.88rem;text-decoration:none}
@media(max-width:1050px){.vb-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-nav ul{gap:12px}}
@media(max-width:860px){.vb-topbar{display:none}.vb-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-footer-inner{display:block}.vb-footer-inner nav{margin-top:20px}.site-nav ul{gap:0}}
@media(max-width:600px){.vb-work-grid,.vb-blog-grid{grid-template-columns:1fr}.vb-slide-copy h1{font-size:2rem}.vb-legacy-slider{min-height:480px}.vb-slide-shade{background:linear-gradient(90deg,rgba(12,28,18,.68),rgba(12,28,18,.20))}.vb-service-links{justify-content:flex-start}}

.vb-slide-copy.wrap{padding-block:0!important}

/* v0.5 – visualizzazione provvisoria non distruttiva dei media e testi WPBakery. */
.vb-legacy-content{line-height:1.75;overflow-wrap:anywhere}
.vb-legacy-content p{margin:0 0 1.3em}
.vb-legacy-figure{margin:24px 0;max-width:100%}
.vb-legacy-image{display:block;max-width:100%;width:auto;height:auto}
.vb-legacy-content :is(h2,h3,h4){margin-top:1.65em}
.vb-legacy-content img{max-width:100%;height:auto}

/* v0.5.1 - Gallerie originali dei singoli portfolio, senza duplicare la copertina. */
.vb-portfolio-description{margin-bottom:28px}
.vb-portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.vb-portfolio-photo{min-width:0;margin:0}
.vb-portfolio-photo a{display:block}
.vb-portfolio-gallery-image{display:block;width:100%;height:auto;object-fit:contain}
.vb-portfolio-photo figcaption{font-size:.85rem;color:#5c6b62;margin-top:6px}
@media(max-width:720px){.vb-portfolio-gallery{grid-template-columns:1fr;gap:16px}}

/* Portfolio Gutenberg: galleria nativa conservando ordine e proporzioni. */
.vb-native-portfolio .wp-block-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin:30px 0;}
.vb-native-portfolio .wp-block-gallery>.wp-block-image{width:100%!important;min-width:0;margin:0!important;display:block;}
.vb-native-portfolio .wp-block-gallery>.wp-block-image img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto;}
@media(max-width:720px){.vb-native-portfolio .wp-block-gallery{grid-template-columns:1fr;}}

/* v0.5.3 – Griglie immagini e lightbox senza dipendenze esterne. */
.vb-portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin:24px 0}
.vb-portfolio-photo,.vb-portfolio-photo a{display:block;min-width:0;margin:0}
.vb-portfolio-gallery-image{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.vb-portfolio-photo a:focus-visible{outline:3px solid #497c4b;outline-offset:3px}
@media(max-width:720px){.vb-portfolio-gallery{grid-template-columns:1fr}}
.vb-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:0;border:0;background:rgba(10,18,13,.97);color:white;overflow:hidden}
.vb-lightbox::backdrop{background:rgba(0,0,0,.92)}
.vb-lightbox:not([open]){display:none}
.vb-lightbox-inner{height:100%;width:100%;display:flex;align-items:center;justify-content:center;padding:65px 70px 75px}
.vb-lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.vb-lightbox button{position:absolute;z-index:1;border:1px solid #ffffff66;background:#17241dcc;color:#fff;min-width:45px;min-height:45px;font-size:24px;cursor:pointer}
.vb-lightbox-close{right:16px;top:16px}.vb-lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}.vb-lightbox-next{right:12px;top:50%;transform:translateY(-50%)}
.vb-lightbox-caption{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);max-width:90%;font-size:.9rem;text-align:center;color:#fff}
@media(max-width:600px){.vb-lightbox-inner{padding:70px 12px 80px}.vb-lightbox-prev,.vb-lightbox-next{top:auto;bottom:15px;transform:none}}

/* v0.5.5 - Dimensionalita delle gallerie, conservando il lightbox. */
.vb-portfolio-gallery{grid-template-columns:repeat(var(--vb-gallery-columns,2),minmax(0,1fr))}
.vb-portfolio-gallery .vb-portfolio-gallery-image{display:block;width:100%!important;height:clamp(180px,18vw,300px)!important;max-height:none!important;object-fit:cover;object-position:center}
@media(max-width:767px){.vb-portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-portfolio-gallery .vb-portfolio-gallery-image{height:clamp(150px,35vw,260px)!important}}
@media(max-width:520px){.vb-portfolio-gallery{grid-template-columns:1fr}.vb-portfolio-gallery .vb-portfolio-gallery-image{height:clamp(200px,55vw,360px)!important}}

/* v0.5.6 – homepage transitoria più aderente al Larix originale.
   Non influisce sulle gallerie portfolio e sul lightbox già collaudati. */
.vb-legacy-slider{min-height:clamp(470px,48vw,690px)}
.vb-legacy-slider .vb-slide-copy-inner{max-width:850px}
.vb-slide-copy h1{font-weight:600;letter-spacing:.035em}
.vb-work-section{background:#fff}
.vb-work-grid{gap:10px}
.vb-work-grid .vb-project-card{position:relative;isolation:isolate;overflow:hidden;background:#223b2e;min-height:205px}
.vb-work-grid .vb-project-card>a{display:block;position:relative;height:100%}
.vb-work-grid .vb-project-card img,.vb-work-grid .vb-project-card .card-placeholder{width:100%;height:100%;min-height:205px;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.vb-work-grid .vb-project-card .card-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:36px 15px 15px;background:linear-gradient(transparent,rgba(12,22,16,.84));color:#fff;pointer-events:none}
.vb-work-grid .vb-project-card h3{font-size:1.05rem;font-weight:600;line-height:1.3}
.vb-work-grid .vb-project-card h3 a{color:#fff;pointer-events:auto}
.vb-project-kind{display:block;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:#e2e7d7;margin-bottom:5px}
.vb-work-grid .vb-project-card:hover img{transform:scale(1.035)}
.vb-work-grid .vb-project-card:focus-within{outline:3px solid #537d4e;outline-offset:2px}
.vb-blog-grid{grid-template-columns:minmax(0,1fr);max-width:650px;margin-inline:auto}
.vb-blog-grid .vb-story-card{box-shadow:none;border:1px solid #ebeee9}
.vb-blog-grid .vb-story-card img{aspect-ratio:16/9}
.vb-instagram-section{padding-block:65px;background:#fbfbfa}
@media(max-width:860px){.vb-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.vb-work-grid{grid-template-columns:1fr}.vb-legacy-slider{min-height:450px}.vb-work-grid .vb-project-card,.vb-work-grid .vb-project-card img{min-height:230px}}

/* Internal-page layouts, 0.5.8 – does not affect homepage */
.vb-larix-page{max-width:1180px;margin:0 auto;padding:0 0 85px}
.vb-larix-split{display:grid;grid-template-columns:39% 61%;min-height:560px}
.vb-larix-visual,.vb-contact-photo{background-size:cover;background-position:center;min-height:510px}
.vb-larix-visual{position:relative;display:flex;align-items:flex-start;justify-content:center;padding:70px 24px;color:#fff;background-color:#36504c}
.vb-larix-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1729219c,#17292125)}
.vb-larix-visual-title{position:relative;letter-spacing:.22em;font-size:clamp(1.2rem,2.3vw,2.2rem);text-align:center;font-weight:400}
.vb-larix-visual-title small{display:block;font-size:.7rem;letter-spacing:.2em;margin-top:15px}
.vb-larix-panel{padding:65px 60px;background:#f2f2f1;color:#424542}
.vb-larix-copy{line-height:1.75}
.vb-larix-copy p{margin-top:0;margin-bottom:18px}
.vb-contact-split{grid-template-columns:34% 66%}
.vb-contact-panel{padding:54px 38px;background:#26322f;color:#fff;min-height:660px}
.vb-contact-panel h1{font-size:clamp(2rem,3vw,3rem);font-weight:400;letter-spacing:.12em;margin:0 0 4px;text-transform:uppercase}
.vb-larix-eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-bottom:32px}
.vb-contact-copy h2{font-size:1.1rem;letter-spacing:0;font-weight:500}
.vb-contact-copy a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.vb-contact-copy p{margin-bottom:20px}
.vb-larix-service-head{display:grid;grid-template-columns:35% 65%;min-height:230px}
.vb-larix-side{padding:35px 45px;text-align:right}
.vb-larix-side h1,.vb-larix-archive-head h1{font-size:2rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase}
.vb-larix-side nav{display:flex;flex-direction:column;gap:3px}
.vb-larix-side nav a{text-decoration:none;text-transform:uppercase;font-size:.8rem;color:#333}
.vb-larix-service-head .vb-larix-panel{text-align:center;padding:35px}
.vb-larix-service-head .vb-larix-panel h2{font-size:1.45rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.vb-larix-service-cards{margin-top:35px}
.vb-larix-service-card{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:300px}
.vb-larix-service-card:nth-child(even) .vb-larix-service-image{order:2}
.vb-larix-service-image{display:block;min-height:300px;overflow:hidden}
.vb-larix-service-image img{height:100%;width:100%;object-fit:cover;display:block;max-height:440px}
.vb-larix-service-info{text-align:center;padding:52px 36px;background:#f6f6f5}
.vb-larix-service-info h2{font-size:1.55rem;letter-spacing:.17em;text-transform:uppercase;font-weight:400}
.vb-larix-service-info p{font-size:.93rem;color:#68706b}
.vb-larix-service-info .button{margin-top:16px}
.vb-larix-archive-head{text-align:center;padding:45px 20px;background:#f4f4f3;margin-bottom:35px}
.vb-larix-archive-head p{letter-spacing:.15em;text-transform:uppercase;font-size:.76rem}
.vb-larix-portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.vb-larix-portfolio-grid .card{box-shadow:none;border-bottom:1px solid #eee}
.vb-larix-portfolio-grid .card img{aspect-ratio:1;object-fit:cover}
.vb-larix-portfolio-grid .card-body{padding:13px 8px;text-align:center}
.vb-larix-portfolio-grid .card h3{text-transform:uppercase;letter-spacing:.11em;font-weight:500;font-size:.8rem}
@media(max-width:860px){.vb-larix-page{padding:0 18px 55px}.vb-larix-split,.vb-contact-split,.vb-larix-service-head{grid-template-columns:1fr}.vb-larix-visual,.vb-contact-photo{min-height:340px}.vb-larix-panel{padding:30px}.vb-contact-panel{min-height:0}.vb-larix-service-info{padding:30px 20px}.vb-larix-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.vb-larix-service-card{grid-template-columns:1fr}.vb-larix-service-card:nth-child(even) .vb-larix-service-image{order:0}.vb-larix-service-image{min-height:220px}.vb-larix-portfolio-grid{grid-template-columns:1fr 1fr;gap:10px}}


/* Partner 0.5.9 - interveniamo solo su pagina Partner */
.vb-partner-page{padding-top:0}
.vb-partner-stage{display:grid;grid-template-columns:34% 66%;min-height:640px;background:#e9e8e5;background-image:linear-gradient(90deg,rgba(17,22,18,.15),rgba(255,255,255,.48)),var(--vb-partner-bg,none);background-size:cover;background-position:center}
.vb-partner-left{min-height:640px;position:relative;display:flex;justify-content:center;align-items:flex-start;padding:65px 15px;background:rgba(23,31,28,.47)}
.vb-partner-left h1{color:#fff;font-weight:400;text-transform:uppercase;letter-spacing:.18em;font-size:clamp(1.5rem,2.5vw,2.4rem);margin:0}
.vb-partner-right{min-width:0;padding:70px 34px 65px;background:rgba(255,255,255,.78)}
.vb-partner-portraits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:stretch}
.vb-partner-portrait{margin:0;min-width:0;background:#f4f4f3;min-height:150px}
.vb-partner-portrait img{width:100%;height:clamp(150px,13vw,205px);object-fit:cover;display:block}
.vb-partner-copy{margin-top:56px;color:#343a37}
.vb-partner-copy h2{font-size:clamp(1.15rem,2vw,1.75rem);font-weight:400;text-transform:uppercase;letter-spacing:.15em;line-height:1.4;margin:0 0 26px}
.vb-partner-copy p{line-height:1.7;margin:0 0 16px}
.vb-partner-copy ul{margin:12px 0;padding-left:20px}
.vb-partner-copy li{margin-bottom:5px}
@media(max-width:860px){.vb-partner-stage{grid-template-columns:1fr}.vb-partner-left{min-height:130px;padding:35px 20px}.vb-partner-right{padding:30px 24px 45px}.vb-partner-portrait img{height:clamp(125px,24vw,180px)}.vb-partner-copy{margin-top:30px}}
@media(max-width:520px){.vb-partner-portraits{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-partner-portrait img{height:170px}}

/* VB 0.5.10 - complete service subpages (no homepage changes) */
.vb-single-service-page{padding-bottom:72px}
.vb-single-service-page .vb-larix-side nav a[aria-current="page"]{font-weight:700;color:var(--ink)}
.vb-single-service-page .vb-service-intro{text-align:center}
.vb-single-service-page .vb-service-intro h2{text-transform:uppercase;letter-spacing:.15em;font-weight:400;margin:0 0 15px}
.vb-single-service-page .vb-service-intro p{line-height:1.75;max-width:680px;margin:14px auto}
.vb-single-service-page .vb-service-intro .vb-larix-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}
.vb-service-projects{padding:34px 20px 0}
.vb-service-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 14px;margin:0 0 32px}
.vb-service-filter a{display:inline-block;color:var(--ink);font-size:.84rem;text-decoration:none;padding:8px 12px}
.vb-service-filter a[aria-current="page"]{background:#d9dbd7}
.vb-service-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.vb-service-project{min-width:0;margin:0}
.vb-service-project>a{display:block;text-align:center;text-decoration:none;color:var(--ink)}
.vb-service-project img,.vb-service-project .card-placeholder{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;background:#f7f8f5}
.vb-service-project-title{display:block;border-bottom:1px solid #eee;padding:15px 4px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;line-height:1.4}
.vb-service-back{text-align:center;margin:38px 0 0}
.vb-service-empty{text-align:center;color:#69746d;padding:32px 0}
@media(max-width:860px){.vb-service-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.vb-service-projects{padding:22px 0}.vb-service-project-grid{gap:12px}.vb-service-project-title{font-size:.69rem;letter-spacing:.07em}}
