/* =================================================================
   VAN TENTEN — Premium Design System
   Specialist in herstel en onderhoud van houten gevelelementen
   Built for: Elementor full-width canvas + standalone preview
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..600&family=Inter:wght@300;400;500;600;700&display=swap');

/* ---------- Design Tokens ---------- */
:root{
  --vt-ink:#11150F;          /* near-black, green-tinted */
  --vt-ink-2:#1B2118;        /* raised dark surface */
  --vt-ink-3:#262E20;        /* hairline on dark */
  --vt-forest:#2E3A26;       /* deep brand forest */
  --vt-moss:#5C6B4C;         /* muted secondary */
  --vt-paper:#F7F5F0;        /* warm white */
  --vt-stone:#ECE8DF;        /* soft stone surface */
  --vt-stone-2:#E0DACE;      /* stone border */
  --vt-lime:#A6D63B;         /* brand accent (van) */
  --vt-lime-deep:#86B92A;    /* accent pressed */
  --vt-bronze:#B79165;       /* timber/bronze warm accent */
  --vt-muted:#6A7163;        /* muted text on light */
  --vt-muted-d:#A9B19E;      /* muted text on dark */

  --vt-maxw:1320px;
  --vt-gutter:clamp(20px,5vw,80px);
  --vt-radius:18px;
  --vt-radius-lg:28px;

  --vt-ease:cubic-bezier(.22,.61,.36,1);
  --vt-ease-out:cubic-bezier(.16,1,.3,1);

  --vt-font-display:'Fraunces',Georgia,serif;
  --vt-font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --vt-shadow-sm:0 2px 8px rgba(17,21,15,.06);
  --vt-shadow:0 18px 50px -22px rgba(17,21,15,.35);
  --vt-shadow-lg:0 40px 90px -30px rgba(17,21,15,.45);
}

/* ---------- Scope reset (keeps theme intact, edge-to-edge) ---------- */
body.vt-canvas{margin:0;padding:0;background:var(--vt-paper);}
.vt-root,.vt-root *{box-sizing:border-box;}
.vt-root{
  font-family:var(--vt-font-body);
  color:var(--vt-ink);
  background:var(--vt-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.6;
  font-size:17px;
  overflow-x:clip;
  /* Break out of any boxed theme/Elementor container — true edge-to-edge */
  width:100vw;
  max-width:100vw;
  margin-inline:calc(50% - 50vw);
}
.vt-root img{max-width:100%;display:block;}
.vt-root a{color:inherit;text-decoration:none;}
.vt-root p{margin:0 0 1em;}
.vt-root h1,.vt-root h2,.vt-root h3,.vt-root h4{margin:0;font-family:var(--vt-font-display);font-weight:500;line-height:1.05;letter-spacing:-.01em;}
.vt-root ul{margin:0;padding:0;list-style:none;}

/* Force Elementor / theme to release the section */
.vt-section{position:relative;width:100%;margin:0;}
.vt-section[id]{scroll-margin-top:96px;}
html:has(.vt-root){scroll-behavior:smooth;}
/* Neutralise Elementor/theme wrappers so sections render edge-to-edge */
.elementor-widget-vt_hero .elementor-widget-container,
.elementor-section.vt-host>.elementor-container{margin:0;padding:0;max-width:100%;width:100%;}

/* ---------- Layout helpers ---------- */
.vt-wrap{max-width:var(--vt-maxw);margin-inline:auto;padding-inline:var(--vt-gutter);}
.vt-wrap-wide{max-width:1620px;margin-inline:auto;padding-inline:var(--vt-gutter);}
.vt-pad{padding-block:clamp(72px,9vw,140px);}
.vt-pad-sm{padding-block:clamp(48px,6vw,84px);}
/* shared section call-to-action row */
.vt-sec-cta{margin-top:clamp(36px,5vw,56px);display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.vt-sec-cta--start{justify-content:flex-start;}

/* ---------- Type scale ---------- */
.vt-display{font-size:clamp(2.6rem,6.2vw,5.4rem);line-height:.98;letter-spacing:-.025em;}
.vt-h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.02em;}
.vt-h3{font-size:clamp(1.4rem,2.2vw,2rem);}
.vt-lead{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--vt-muted);line-height:1.6;max-width:60ch;}
.vt-eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--vt-font-body);font-weight:600;font-size:.74rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--vt-moss);
}
/* Eyebrow marker — woodgrain lines with a glint sweeping across (freshly sanded wood) */
.vt-eyebrow::before{
  content:"";flex:0 0 auto;width:34px;height:11px;display:inline-block;
  background:linear-gradient(90deg,var(--vt-lime) 0 36%,#E9FFB6 50%,var(--vt-lime) 64% 100%);
  background-size:240% 100%;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='11' viewBox='0 0 34 11'><g fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'><path d='M1 4 Q5 1.4 9 4 T17 4 T25 4 T33 4'/><path d='M1 7.6 Q5 5 9 7.6 T17 7.6 T25 7.6 T33 7.6'/></g></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='11' viewBox='0 0 34 11'><g fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'><path d='M1 4 Q5 1.4 9 4 T17 4 T25 4 T33 4'/><path d='M1 7.6 Q5 5 9 7.6 T17 7.6 T25 7.6 T33 7.6'/></g></svg>") center/contain no-repeat;
  animation:vt-grain-glint 3.4s var(--vt-ease) infinite;
}
@keyframes vt-grain-glint{0%{background-position:135% 0;}55%,100%{background-position:-135% 0;}}
.vt-eyebrow--light{color:var(--vt-lime);}
.vt-italic{font-style:italic;font-family:var(--vt-font-display);}

/* ---------- Buttons ---------- */
.vt-btn{
  --bg:var(--vt-ink);--fg:var(--vt-paper);
  display:inline-flex;align-items:center;gap:.7em;cursor:pointer;
  font-family:var(--vt-font-body);font-weight:600;font-size:.96rem;
  padding:1.05em 1.7em;border-radius:100px;border:1px solid transparent;
  background:var(--bg);color:var(--fg);position:relative;overflow:hidden;isolation:isolate;
  transition:transform .35s var(--vt-ease),box-shadow .35s var(--vt-ease),background .25s,color .25s;
  will-change:transform;
}
/* anchor buttons must use --fg, not inherit page text colour (beats .vt-root a) */
a.vt-btn,.vt-root a.vt-btn{color:var(--fg);}
.vt-btn svg{width:1.05em;height:1.05em;transition:transform .35s var(--vt-ease);}
.vt-btn:hover{transform:translateY(-2px);box-shadow:var(--vt-shadow);}
.vt-btn:hover svg{transform:translateX(4px);}
.vt-btn:focus-visible{outline:3px solid var(--vt-lime);outline-offset:3px;}
/* Primary CTA — crafted "plan inspectie" button with dark arrow-chip */
.vt-btn--lime{
  --bg:var(--vt-lime);--fg:var(--vt-ink);
  font-weight:700;letter-spacing:-.005em;
  padding:.5em .55em .5em 1.5em;gap:.8em;
  box-shadow:0 14px 30px -14px rgba(134,185,42,.6),inset 0 0 0 1px rgba(17,21,15,.04);
}
.vt-btn--lime:hover{--bg:var(--vt-lime-deep);transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(134,185,42,.85);}
.vt-btn--lime svg{
  width:2.1em;height:2.1em;padding:.6em;box-sizing:border-box;flex:0 0 auto;
  background:var(--vt-ink);color:var(--vt-lime);border-radius:50%;
  transition:transform .4s var(--vt-ease),background .3s,color .3s;
}
.vt-btn--lime:hover svg{transform:translateX(3px);background:var(--vt-forest);color:var(--vt-lime);}
/* shine sweep on hover */
.vt-btn--lime::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);
  transform:translateX(-130%);transition:transform .75s var(--vt-ease);
}
.vt-btn--lime:hover::before{transform:translateX(130%);}
.vt-btn--ghost{--bg:transparent;--fg:var(--vt-ink);border-color:rgba(17,21,15,.22);}
.vt-btn--ghost:hover{--bg:var(--vt-ink);--fg:var(--vt-paper);}
.vt-btn--ghost-light{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.35);}
.vt-btn--ghost-light:hover{--bg:#fff;--fg:var(--vt-ink);}
.vt-link{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:.95rem;color:var(--vt-ink);}
.vt-link svg{width:1.1em;height:1.1em;transition:transform .35s var(--vt-ease);}
.vt-link:hover svg{transform:translateX(5px);}
.vt-link--lime{color:var(--vt-forest);}

/* ===================================================================
   NAVIGATION
   =================================================================== */
.vt-nav{
  position:absolute;top:0;left:0;right:0;z-index:90;
  transition:background .4s var(--vt-ease),box-shadow .4s,transform .5s var(--vt-ease);
}
.vt-nav__inner{
  max-width:1620px;margin-inline:auto;padding:18px var(--vt-gutter);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}

/* ---------- Top utility bar ---------- */
.vt-topbar{max-height:54px;overflow:hidden;transition:max-height .45s var(--vt-ease),opacity .35s,border-color .4s;}
.vt-topbar__inner{max-width:1620px;margin-inline:auto;padding:9px var(--vt-gutter);display:flex;align-items:center;gap:20px;font-size:.82rem;}
.vt-topbar__left{display:inline-flex;align-items:center;gap:.55em;color:rgba(255,255,255,.66);}
.vt-topbar__left svg{width:1.05em;height:1.05em;color:var(--vt-lime);flex:0 0 auto;}
.vt-topbar__right{display:flex;align-items:center;gap:16px;margin-left:auto;color:rgba(255,255,255,.82);}
.vt-topbar__sep{width:1px;height:15px;background:rgba(255,255,255,.2);flex:0 0 auto;}
.vt-topbar__reviews{display:inline-flex;align-items:center;gap:7px;transition:opacity .25s;}
.vt-topbar__reviews:hover{opacity:.82;}
.vt-topbar__g{width:15px;height:15px;flex:0 0 auto;}
.vt-topbar__reviews .vt-topbar__stars{display:inline-flex;gap:1px;color:#FBBC04;}
.vt-topbar__stars svg{width:13px;height:13px;}
.vt-topbar__reviews b{font-weight:700;color:#fff;}
.vt-topbar__reviews span{color:rgba(255,255,255,.62);}
.vt-topbar__usp{display:inline-flex;align-items:center;gap:.5em;color:rgba(255,255,255,.82);}
.vt-topbar__usp svg{width:1.05em;height:1.05em;color:var(--vt-lime);flex:0 0 auto;}
.vt-topbar__contact{display:inline-flex;align-items:center;gap:16px;}
.vt-topbar__contact a{display:inline-flex;align-items:center;gap:.45em;transition:color .25s;}
.vt-topbar__contact a:hover{color:#fff;}
.vt-topbar__contact svg{width:1em;height:1em;color:var(--vt-lime);flex:0 0 auto;}

/* collapse the topbar once the user scrolls */
.vt-nav.is-scrolled .vt-topbar{max-height:0;opacity:0;border-color:transparent;}
.vt-nav .vt-nav__logo{height:24px;width:auto;max-width:150px;object-fit:contain;filter:brightness(0) invert(1);transition:filter .4s;}
.vt-nav__links{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:8px;}
.vt-nav__links>a,.vt-nav__links .vt-nav__trigger{font-weight:500;font-size:.95rem;color:rgba(255,255,255,.85);position:relative;padding:6px 0;transition:color .25s;}
.vt-nav__links>a::after,.vt-nav__links .vt-nav__trigger::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--vt-lime);transition:width .35s var(--vt-ease);}
.vt-nav__links>a:hover,.vt-nav__links .vt-nav__trigger:hover{color:#fff;}
.vt-nav__links>a:hover::after,.vt-nav__links .vt-nav__trigger:hover::after{width:100%;}
.vt-nav__cta{display:flex;align-items:center;gap:14px;}
.vt-nav__phone{display:inline-flex;align-items:center;gap:.5em;color:rgba(255,255,255,.9);font-weight:600;font-size:.95rem;}
.vt-nav__phone svg{width:1.05em;height:1.05em;color:var(--vt-lime);}
.vt-nav__burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;}
.vt-nav__burger span{display:block;width:24px;height:2px;background:#fff;position:relative;transition:.3s;}
.vt-nav__burger span::before,.vt-nav__burger span::after{content:"";position:absolute;left:0;width:24px;height:2px;background:#fff;transition:.3s;}
.vt-nav__burger span::before{top:-7px;}.vt-nav__burger span::after{top:7px;}

/* scrolled state */
.vt-nav.is-scrolled{background:rgba(247,245,240,.85);backdrop-filter:saturate(160%) blur(14px);box-shadow:0 1px 0 rgba(17,21,15,.07),0 14px 40px -28px rgba(17,21,15,.5);}
.vt-nav.is-scrolled .vt-nav__logo{filter:none;}
.vt-nav.is-scrolled .vt-nav__links>a,.vt-nav.is-scrolled .vt-nav__links .vt-nav__trigger{color:rgba(17,21,15,.72);}
.vt-nav.is-scrolled .vt-nav__links>a:hover,.vt-nav.is-scrolled .vt-nav__links .vt-nav__trigger:hover{color:var(--vt-ink);}
.vt-nav.is-scrolled .vt-nav__phone{color:var(--vt-ink);}
.vt-nav.is-scrolled .vt-nav__burger span,.vt-nav.is-scrolled .vt-nav__burger span::before,.vt-nav.is-scrolled .vt-nav__burger span::after{background:var(--vt-ink);}
.vt-nav.is-hidden{transform:translateY(-100%);}

/* ---------- Mega menu ---------- */
.vt-nav__group{position:static;}
.vt-nav__trigger{display:inline-flex;align-items:center;gap:.38em;cursor:pointer;}
.vt-nav__trigger svg{width:.9em;height:.9em;transition:transform .35s var(--vt-ease);opacity:.8;}
.vt-nav__group:hover .vt-nav__trigger svg,.vt-nav__group:focus-within .vt-nav__trigger svg,.vt-nav__group.is-open .vt-nav__trigger svg{transform:rotate(180deg);}

.vt-mega{
  position:absolute;top:calc(100% + 12px);left:50%;
  width:min(1060px,calc(100vw - 32px));
  transform:translateX(-50%) translateY(12px);
  background:var(--vt-paper);border:1px solid var(--vt-stone-2);
  border-radius:24px;box-shadow:var(--vt-shadow-lg);overflow:hidden;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .35s var(--vt-ease),transform .45s var(--vt-ease),visibility .35s;
}
.vt-mega::before{content:"";position:absolute;top:-28px;left:0;right:0;height:28px;} /* hover bridge across the gap */
.vt-nav__group:hover .vt-mega,.vt-nav__group:focus-within .vt-mega,.vt-nav__group.is-open .vt-mega{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.vt-mega__inner{display:grid;grid-template-columns:1.5fr .92fr;gap:14px;padding:14px;}
.vt-mega__menu{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-content:start;}
.vt-mega__item{display:flex;gap:14px;padding:16px;border-radius:16px;transition:background .25s;align-items:flex-start;}

.vt-mega__item .ic{width:42px;height:42px;border-radius:12px;background:var(--vt-stone);color:var(--vt-forest);display:grid;place-items:center;flex:0 0 auto;transition:.3s var(--vt-ease);}
.vt-mega__item:hover .ic{background:var(--vt-lime);color:var(--vt-ink);transform:scale(1.05);}
.vt-mega__item .ic svg{width:20px;height:20px;}
.vt-mega__item h4{font-family:var(--vt-font-body);font-weight:600;font-size:1rem;color:var(--vt-ink);margin:0 0 3px;letter-spacing:0;}
.vt-mega__item p{font-size:.84rem;color:var(--vt-muted);margin:0;line-height:1.45;}
.vt-mega .vt-mega__all{grid-column:1/-1;display:inline-flex;align-items:center;gap:.55em;margin-top:6px;padding:16px;font-weight:700;color:var(--vt-ink);font-size:.95rem;border-top:1px solid var(--vt-stone-2);border-radius:0 0 14px 14px;transition:color .25s,background .25s;}
.vt-mega .vt-mega__all svg{width:1.1em;height:1.1em;color:var(--vt-lime-deep);transition:transform .35s var(--vt-ease);}
.vt-mega .vt-mega__all:hover svg{transform:translateX(5px);}

.vt-mega__feature{position:relative;border-radius:18px;overflow:hidden;color:#fff;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;padding:24px;}
.vt-mega__feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--vt-ease);}
.vt-mega__feature:hover img{transform:scale(1.05);}
.vt-mega__feature::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,21,15,.1) 20%,rgba(17,21,15,.92));}
.vt-mega__feature .eb{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--vt-lime);}
.vt-mega__feature h4{font-family:var(--vt-font-display);font-weight:500;font-size:1.35rem;color:#fff;margin:.35em 0 .7em;max-width:18ch;}
.vt-mega__usps{display:grid;gap:7px;margin-bottom:18px;}
.vt-mega__usps li{display:flex;gap:9px;align-items:center;font-size:.85rem;color:rgba(255,255,255,.92);}
.vt-mega__usps svg{width:16px;height:16px;color:var(--vt-lime);flex:0 0 auto;}
.vt-mega__feature .vt-btn{align-self:flex-start;padding:.82em 1.35em;font-size:.9rem;}

@media(max-width:1080px){.vt-mega{display:none;}}

/* topbar responsive */
@media(max-width:1080px){
  .vt-topbar__left,.vt-topbar__usp,.vt-topbar__sep,.vt-topbar__email{display:none;}
}
@media(max-width:560px){
  .vt-topbar__contact{display:none;}
  .vt-topbar__inner{justify-content:flex-end;}
  .vt-topbar__reviews span{display:none;}
}

/* mobile drawer */
.vt-drawer{position:fixed;inset:0;z-index:95;background:var(--vt-ink);display:flex;flex-direction:column;padding:90px var(--vt-gutter) 40px;transform:translateX(100%);transition:transform .5s var(--vt-ease);visibility:hidden;}
.vt-drawer.is-open{transform:translateX(0);visibility:visible;}
.vt-drawer a{color:#fff;font-family:var(--vt-font-display);font-size:2rem;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.vt-drawer__close{position:absolute;top:24px;right:var(--vt-gutter);background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;width:44px;height:44px;}
.vt-drawer a.vt-drawer__phone{font-family:var(--vt-font-body);font-size:1.15rem;color:var(--vt-lime);display:inline-flex;align-items:center;gap:.5em;margin-top:26px;border-bottom:0;padding:0;}
.vt-drawer a.vt-drawer__phone svg{width:1.1em;height:1.1em;}

/* ===================================================================
   SCROLL REVEAL
   =================================================================== */
.vt-reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--vt-ease-out),transform .9s var(--vt-ease-out);}
.vt-reveal.is-in{opacity:1;transform:none;}
.vt-reveal[data-delay="1"]{transition-delay:.08s;}
.vt-reveal[data-delay="2"]{transition-delay:.16s;}
.vt-reveal[data-delay="3"]{transition-delay:.24s;}
.vt-reveal[data-delay="4"]{transition-delay:.32s;}
.vt-reveal[data-delay="5"]{transition-delay:.4s;}

/* ===================================================================
   1 · HERO
   =================================================================== */
.vt-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--vt-ink);color:#fff;overflow:hidden;}
.vt-hero__media{position:absolute;inset:0;z-index:0;}
.vt-hero__media video,.vt-hero__media img{width:100%;height:100%;object-fit:cover;}
.vt-hero__media::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(17,21,15,.55) 0%,rgba(17,21,15,.15) 35%,rgba(17,21,15,.35) 70%,rgba(17,21,15,.92) 100%),
  linear-gradient(90deg,rgba(17,21,15,.7) 0%,rgba(17,21,15,.1) 55%);}
.vt-hero__inner{position:relative;z-index:2;width:100%;max-width:1620px;margin-inline:auto;padding:0 var(--vt-gutter) clamp(48px,7vw,96px);}
.vt-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:end;}
.vt-hero__eyebrow{margin-bottom:24px;}
.vt-hero__title{font-size:clamp(2.7rem,6vw,5.2rem);line-height:1;letter-spacing:-.025em;max-width:16ch;font-weight:400;}
.vt-hero__title em{font-style:italic;color:var(--vt-lime);}
.vt-hero__sub{margin-top:26px;max-width:54ch;color:rgba(255,255,255,.82);font-size:clamp(1.02rem,1.4vw,1.22rem);}
.vt-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.vt-hero__side{display:flex;flex-direction:column;gap:18px;}
.vt-hero__badges{display:flex;flex-direction:column;gap:2px;background:rgba(255,255,255,.06);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:var(--vt-radius);padding:8px;}
.vt-badge{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;transition:background .3s;}
.vt-badge:hover{background:rgba(255,255,255,.06);}
.vt-badge__ic{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:rgba(166,214,59,.16);display:grid;place-items:center;color:var(--vt-lime);}
.vt-badge__ic svg{width:20px;height:20px;}
.vt-badge span{font-size:.95rem;font-weight:500;color:rgba(255,255,255,.92);}
.vt-hero__scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);}
/* Animated auger drill boring out wood rot — the scroll cue */
.vt-drill{width:26px;height:60px;color:rgba(255,255,255,.62);overflow:visible;}
.vt-drill__bit{animation:vt-drill-bob 2.2s var(--vt-ease) infinite;}
.vt-drill__flutes{animation:vt-drill-spin .65s linear infinite;}
.vt-drill__dust .d1{animation:vt-chip 1.7s ease-in infinite;}
.vt-drill__dust .d2{animation:vt-chip 1.7s ease-in .85s infinite;}
@keyframes vt-drill-spin{to{transform:translateY(6px);}}
@keyframes vt-drill-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(3px);}}
@keyframes vt-chip{0%{opacity:0;transform:translateY(0) rotate(0);}25%{opacity:.85;}100%{opacity:0;transform:translateY(11px) rotate(20deg);}}

/* hero side video card — autoplays muted, click opens lightbox with sound */
.vt-hero__video{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:var(--vt-radius);overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.16);box-shadow:var(--vt-shadow-lg);isolation:isolate;background:var(--vt-ink-2);}
.vt-hero__video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.vt-hero__video::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,21,15,.04) 40%,rgba(17,21,15,.55));opacity:.7;transition:opacity .35s var(--vt-ease);}
.vt-hero__video:hover::after{opacity:.42;}
.vt-hero__video-cta{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:100px;background:rgba(17,21,15,.55);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:.82rem;font-weight:600;transition:background .3s,color .3s,border-color .3s,transform .3s;}
.vt-hero__video:hover .vt-hero__video-cta{background:var(--vt-lime);color:var(--vt-ink);border-color:var(--vt-lime);transform:translateY(-2px);}
.vt-hero__video-cta svg{width:1.05em;height:1.05em;}
.vt-hero__video:focus-visible{outline:3px solid var(--vt-lime);outline-offset:3px;}

/* video lightbox */
.vt-vmodal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);background:rgba(8,10,7,.86);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .4s var(--vt-ease),visibility .4s;}
.vt-vmodal.is-open{opacity:1;visibility:visible;}
.vt-vmodal__frame{position:relative;width:min(1120px,100%);aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:var(--vt-shadow-lg);transform:scale(.95);transition:transform .5s var(--vt-ease);}
.vt-vmodal.is-open .vt-vmodal__frame{transform:none;}
.vt-vmodal__video{width:100%;height:100%;object-fit:contain;background:#000;display:block;}
.vt-vmodal__close{position:absolute;top:clamp(12px,3vw,30px);right:clamp(12px,3vw,30px);width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.3s;z-index:2;}
.vt-vmodal__close:hover{background:var(--vt-lime);border-color:var(--vt-lime);color:var(--vt-ink);transform:rotate(90deg);}

/* hero responsive */
@media(max-width:880px){
  .vt-hero{min-height:100svh;}
  .vt-hero__grid{grid-template-columns:1fr;gap:26px;}
  .vt-hero__title{font-size:clamp(2.3rem,8.5vw,3.4rem);}
  .vt-hero__sub{max-width:none;}
  .vt-hero__inner{padding-bottom:clamp(32px,8vw,56px);}
  .vt-hero__side{order:2;}
  .vt-hero__scroll{display:none;}
}

/* Touch devices have no hover — always show the reveal content */
@media(hover:none){
  .vt-serv__body p,.vt-aud__card p{max-height:none!important;opacity:1!important;margin-top:.6em;}
}

/* ===================================================================
   AANVRAAG SELECTOR — interactive request builder
   =================================================================== */
.vt-aanvraag{background:var(--vt-stone);}
.vt-aanvraag__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:26px;}
.vt-aanvraag__title{margin-top:10px;}
.vt-aanvraag__head p{max-width:46ch;color:var(--vt-muted);font-size:.98rem;margin:0;}
.vt-aanvraag__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.vt-aanvraag__tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px;border-radius:var(--vt-radius);background:#fff;border:1.5px solid var(--vt-stone-2);cursor:pointer;text-align:left;font-family:inherit;transition:border-color .25s,box-shadow .3s var(--vt-ease),transform .3s var(--vt-ease),background .25s;}
.vt-aanvraag__tile:hover{transform:translateY(-3px);box-shadow:var(--vt-shadow);border-color:var(--vt-moss);}
.vt-aanvraag__tile:focus-visible{outline:3px solid var(--vt-lime);outline-offset:2px;}
.vt-aanvraag__tile .ic{width:44px;height:44px;border-radius:12px;background:var(--vt-stone);color:var(--vt-forest);display:grid;place-items:center;transition:.3s var(--vt-ease);}
.vt-aanvraag__tile .ic svg{width:22px;height:22px;}
.vt-aanvraag__tile .lbl{font-weight:600;font-size:.98rem;color:var(--vt-ink);line-height:1.25;}
.vt-aanvraag__tile .chk{position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;background:var(--vt-lime);color:var(--vt-ink);display:grid;place-items:center;opacity:0;transform:scale(.55);transition:.3s var(--vt-ease);}
.vt-aanvraag__tile .chk svg{width:14px;height:14px;}
.vt-aanvraag__tile.is-selected{border-color:var(--vt-lime-deep);background:#F5FBE6;box-shadow:0 0 0 3px rgba(166,214,59,.25);}
.vt-aanvraag__tile.is-selected .ic{background:var(--vt-lime);color:var(--vt-ink);}
.vt-aanvraag__tile.is-selected .chk{opacity:1;transform:scale(1);}
.vt-aanvraag__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:20px;}
.vt-aanvraag__for{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.vt-aanvraag__forlbl{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-muted);}
.vt-aanvraag__seg{display:inline-flex;background:#fff;border:1px solid var(--vt-stone-2);border-radius:100px;padding:4px;gap:2px;flex-wrap:wrap;}
.vt-aanvraag__seg button{border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--vt-muted);padding:9px 17px;border-radius:100px;transition:background .25s,color .25s;}
.vt-aanvraag__seg button:hover{color:var(--vt-ink);}
.vt-aanvraag__seg button.is-active{background:var(--vt-ink);color:#fff;}
.vt-aanvraag__cta{flex:0 0 auto;}
.vt-aanvraag__count{font-weight:700;margin-left:-.2em;}
@media(max-width:980px){.vt-aanvraag__grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:620px){.vt-aanvraag__grid{grid-template-columns:1fr 1fr;}.vt-aanvraag__tile{padding:16px;}.vt-aanvraag__foot{flex-direction:column;align-items:stretch;}.vt-aanvraag__for{justify-content:space-between;}.vt-aanvraag__cta{justify-content:center;}}

/* ---------- Aanvraag wizard ---------- */
.vt-wizard{background:#fff;border:1px solid var(--vt-stone-2);border-radius:var(--vt-radius-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--vt-shadow);max-width:940px;margin:0 auto;}
.vt-wizard__steps{display:flex;justify-content:space-between;gap:12px;list-style:none;margin:0 0 16px;padding:0;}
.vt-wizard__step{display:flex;align-items:center;gap:10px;color:var(--vt-muted);font-size:.92rem;font-weight:600;}
.vt-wizard__step .n{width:30px;height:30px;border-radius:50%;background:var(--vt-stone);color:var(--vt-muted);display:grid;place-items:center;font-size:.85rem;flex:0 0 auto;transition:background .3s,color .3s;}
.vt-wizard__step.is-active{color:var(--vt-ink);}
.vt-wizard__step.is-active .n{background:var(--vt-ink);color:#fff;}
.vt-wizard__step.is-done{color:var(--vt-forest);}
.vt-wizard__step.is-done .n{background:var(--vt-lime);color:var(--vt-ink);}
.vt-wizard__bar{height:4px;border-radius:100px;background:var(--vt-stone);overflow:hidden;margin-bottom:clamp(24px,3vw,34px);}
.vt-wizard__fill{display:block;height:100%;width:0;background:var(--vt-lime);border-radius:100px;transition:width .5s var(--vt-ease);}
.vt-wizard__panel{display:none;}
.vt-wizard__panel.is-active{display:block;animation:vt-wz-in .4s var(--vt-ease);}
@keyframes vt-wz-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.vt-wizard__q{font-family:var(--vt-font-display);font-weight:500;font-size:clamp(1.25rem,2vw,1.55rem);margin-bottom:6px;}
.vt-wizard__hint{color:var(--vt-muted);font-size:.92rem;margin-bottom:22px;}
.vt-wizard__field{margin-bottom:20px;}
.vt-wizard__field > label{display:block;font-size:.82rem;font-weight:600;margin-bottom:11px;color:var(--vt-forest);}
.vt-wizard .vt-aanvraag__grid{margin-bottom:4px;}
.vt-wizard .vt-aanvraag__seg{flex-wrap:wrap;}
.vt-wizard__error{display:none;color:#C0392B;font-size:.88rem;margin-top:14px;}
.vt-wizard__error.show{display:block;}
.vt-wizard .vt-field input.is-invalid,.vt-wizard .vt-field textarea.is-invalid{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12);}
.vt-wizard__legal{font-size:.8rem;color:var(--vt-muted);margin-top:16px;}
.vt-wizard__summary{background:var(--vt-stone);border-radius:14px;padding:16px 18px;margin-bottom:22px;display:grid;gap:9px;}
.vt-wizard__sumrow{display:flex;justify-content:space-between;gap:16px;font-size:.92rem;align-items:flex-start;}
.vt-wizard__sumrow span{color:var(--vt-muted);flex:0 0 auto;}
.vt-wizard__sumrow b{color:var(--vt-ink);text-align:right;}
.vt-wizard__done{text-align:center;padding:14px 0;}
.vt-wizard__done .ic{width:64px;height:64px;border-radius:50%;background:var(--vt-lime);color:var(--vt-ink);display:grid;place-items:center;margin:0 auto 18px;animation:vt-wz-pop .5s var(--vt-ease);}
.vt-wizard__done .ic svg{width:30px;height:30px;}
@keyframes vt-wz-pop{0%{transform:scale(.5);opacity:0;}60%{transform:scale(1.08);}100%{transform:scale(1);opacity:1;}}
.vt-wizard__done h4{font-family:var(--vt-font-display);font-weight:500;font-size:clamp(1.4rem,2.2vw,1.8rem);margin-bottom:10px;}
.vt-wizard__done p{color:var(--vt-muted);max-width:46ch;margin:0 auto 22px;}
.vt-wizard__nav{display:flex;align-items:center;gap:14px;margin-top:clamp(24px,3vw,32px);padding-top:22px;border-top:1px solid var(--vt-stone-2);}
.vt-wizard__back{background:none;border:0;cursor:pointer;color:var(--vt-muted);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:7px;font-family:inherit;transition:color .2s;}
.vt-wizard__back:hover{color:var(--vt-ink);}
.vt-wizard__back svg{width:1em;height:1em;transform:rotate(180deg);}
.vt-wizard__count{margin:0 auto;color:var(--vt-muted);font-size:.85rem;font-weight:600;}
.vt-wizard__next,.vt-wizard__submit{margin-left:0;}
/* [hidden] must win over .vt-btn's display:inline-flex */
.vt-wizard__nav [hidden]{display:none!important;}
.vt-wizard[data-step="done"] .vt-wizard__nav{display:none;}
@media(max-width:560px){
  .vt-wizard__step .t{display:none;}
  .vt-wizard__steps{justify-content:flex-start;gap:18px;}
  .vt-wizard__count{display:none;}
  .vt-wizard__nav{gap:10px;}
  .vt-wizard__next,.vt-wizard__submit{margin-left:auto;}
}

/* ===================================================================
   SECTION HEADER (shared)
   =================================================================== */
.vt-shead{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:end;margin-bottom:clamp(40px,5vw,68px);}
.vt-shead__title{margin-top:18px;}
.vt-shead__lead{padding-bottom:6px;}
@media(max-width:860px){.vt-shead{grid-template-columns:1fr;}}

/* ===================================================================
   2 · AUDIENCE GRID
   =================================================================== */
.vt-aud{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.vt-aud__card{position:relative;border-radius:var(--vt-radius);overflow:hidden;min-height:380px;display:flex;align-items:flex-end;color:#fff;isolation:isolate;}
.vt-aud__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--vt-ease);}
.vt-aud__card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,21,15,.05),rgba(17,21,15,.85));}
.vt-aud__card:hover img{transform:scale(1.07);}
.vt-aud__body{padding:26px;width:100%;}
.vt-aud__ic{width:46px;height:46px;border-radius:12px;background:rgba(166,214,59,.2);color:var(--vt-lime);display:grid;place-items:center;margin-bottom:auto;}
.vt-aud__ic svg{width:24px;height:24px;}
.vt-aud__top{position:absolute;top:24px;left:24px;}
.vt-aud__card h3{font-size:1.45rem;}
.vt-aud__card p{font-size:.92rem;color:rgba(255,255,255,.78);margin:.4em 0 0;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--vt-ease),opacity .4s;}
.vt-aud__card:hover p{max-height:120px;opacity:1;}
@media(max-width:980px){.vt-aud{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.vt-aud{grid-template-columns:1fr;}.vt-aud__card{min-height:300px;}.vt-aud__card p{max-height:none;opacity:1;}}

/* ===================================================================
   3 · PARTNERS — split showcase (design 0005)
   =================================================================== */
.vt-partners{background:var(--vt-stone);overflow:hidden;}
.vt-prt{display:grid;grid-template-columns:0.92fr 1.08fr;gap:clamp(36px,5vw,72px);align-items:center;}
/* left */
.vt-prt__rating{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--vt-stone-2);border-radius:100px;padding:8px 16px;font-size:.9rem;box-shadow:var(--vt-shadow-sm);}
.vt-prt__rating .stars{display:inline-flex;gap:1px;color:#F4B400;}
.vt-prt__rating .stars svg{width:15px;height:15px;}
.vt-prt__rating b{font-weight:700;color:var(--vt-ink);}
.vt-prt__rating .sub{color:var(--vt-muted);}
.vt-prt__title{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.02em;margin:24px 0 0;max-width:14ch;}
.vt-prt__lead{margin-top:18px;color:var(--vt-muted);font-size:1.04rem;line-height:1.6;max-width:46ch;}
.vt-prt__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
/* right stage */
.vt-prt__stage{position:relative;border-radius:var(--vt-radius-lg);padding:clamp(26px,3vw,44px);background:linear-gradient(155deg,#fff 0%,var(--vt-stone) 100%);border:1px solid var(--vt-stone-2);box-shadow:var(--vt-shadow);min-height:380px;display:flex;align-items:center;}
.vt-prt__logos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;}
.vt-prt__logo{aspect-ratio:3/2;display:grid;place-items:center;padding:18px;background:#fff;border:1px solid var(--vt-stone-2);border-radius:16px;box-shadow:0 10px 26px -20px rgba(17,21,15,.4);transition:transform .4s var(--vt-ease),box-shadow .4s;}
.vt-prt__logo:hover{transform:translateY(-4px);box-shadow:var(--vt-shadow);}
.vt-prt__logo img{max-height:46px;width:auto;object-fit:contain;transition:filter .4s,opacity .4s;}
.vt-prt__logo:hover img{filter:none;opacity:1;}
/* floating green stat badge */
.vt-prt__badge{position:absolute;top:-22px;right:-14px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:104px;height:104px;border-radius:24px;background:var(--vt-forest);color:#fff;box-shadow:var(--vt-shadow);transform:rotate(4deg);}
.vt-prt__badge b{font-family:var(--vt-font-display);font-size:1.9rem;line-height:1;color:var(--vt-lime);}
.vt-prt__badge span{font-size:.72rem;letter-spacing:.02em;color:rgba(255,255,255,.82);text-align:center;max-width:9ch;}
/* floating annotation pills */
.vt-prt__pill{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--vt-stone-2);border-radius:100px;padding:10px 16px;font-size:.85rem;font-weight:600;color:var(--vt-ink);box-shadow:var(--vt-shadow);}
.vt-prt__pill svg{width:1.05em;height:1.05em;color:var(--vt-lime-deep);}
.vt-prt__pill--a{left:-18px;top:-6%;}
.vt-prt__pill--b{left:18%;bottom:-18px;}
@media(max-width:920px){
  .vt-prt{grid-template-columns:1fr;}
  .vt-prt__title,.vt-prt__lead{max-width:none;}
  .vt-prt__badge{width:88px;height:88px;top:-18px;right:8px;}
  .vt-prt__badge b{font-size:1.6rem;}
}
@media(max-width:520px){
  .vt-prt__logos{grid-template-columns:repeat(2,1fr);}
  .vt-prt__pill--a{left:8px;}
  .vt-prt__pill--b{left:auto;right:8px;bottom:-16px;}
}

/* ===================================================================
   4 · SERVICES SHOWCASE
   =================================================================== */
.vt-serv{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.vt-serv__card{position:relative;border-radius:var(--vt-radius-lg);overflow:hidden;min-height:clamp(380px,42vw,520px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;isolation:isolate;cursor:pointer;}
.vt-serv__card.is-tall{grid-row:span 1;}
.vt-serv__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--vt-ease);}
.vt-serv__card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,21,15,0) 30%,rgba(17,21,15,.9) 100%);transition:background .4s;}
.vt-serv__card:hover img{transform:scale(1.06);}
.vt-serv__card:hover::after{background:linear-gradient(180deg,rgba(46,58,38,.2) 10%,rgba(17,21,15,.92) 100%);}
.vt-serv__num{position:absolute;top:28px;left:30px;font-family:var(--vt-font-display);font-size:1rem;color:rgba(255,255,255,.6);letter-spacing:.1em;}
.vt-serv__tag{position:absolute;top:28px;right:30px;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--vt-lime);}
.vt-serv__body{padding:clamp(26px,3vw,40px);}
.vt-serv__body h3{font-size:clamp(1.6rem,2.4vw,2.2rem);}
.vt-serv__body p{margin:.6em 0 0;color:rgba(255,255,255,.8);max-width:42ch;max-height:0;opacity:0;overflow:hidden;transition:max-height .55s var(--vt-ease),opacity .45s,margin .4s;}
.vt-serv__card:hover .vt-serv__body p{max-height:140px;opacity:1;}
.vt-serv__more{display:inline-flex;align-items:center;gap:.5em;margin-top:18px;font-weight:600;color:var(--vt-lime);font-size:.92rem;}
.vt-serv__more svg{width:1.1em;height:1.1em;transition:transform .35s var(--vt-ease);}
.vt-serv__card:hover .vt-serv__more svg{transform:translateX(5px);}
@media(max-width:760px){.vt-serv{grid-template-columns:1fr;}.vt-serv__body p{max-height:none;opacity:1;margin-top:.6em;}}

/* ===================================================================
   5 · WHY / STORYTELLING
   =================================================================== */
.vt-why{background:var(--vt-ink);color:#fff;}
.vt-why__grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:clamp(40px,5vw,84px);align-items:center;}
.vt-why__media{position:relative;border-radius:var(--vt-radius-lg);overflow:hidden;aspect-ratio:4/5;}
.vt-why__media img{width:100%;height:100%;object-fit:cover;}
.vt-why__stat{position:absolute;left:24px;bottom:24px;right:24px;background:rgba(17,21,15,.6);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px 24px;display:flex;gap:24px;}
.vt-why__stat>div{flex:1;}
.vt-why__stat div b{display:block;font-family:var(--vt-font-display);font-size:2rem;color:var(--vt-lime);line-height:1;}
.vt-why__stat div span{font-size:.82rem;color:rgba(255,255,255,.7);}
/* unique animated stat icons */
.vt-statico{width:26px;height:26px;color:var(--vt-lime);display:block;margin-bottom:11px;overflow:visible;}
.vt-statico--clock .h{transform-origin:12px 12px;animation:vt-clk-h 7s linear infinite;}
.vt-statico--clock .m{transform-origin:12px 12px;animation:vt-clk-m 1.9s linear infinite;}
@keyframes vt-clk-h{to{transform:rotate(360deg);}}
@keyframes vt-clk-m{to{transform:rotate(360deg);}}
.vt-statico--check .tick{stroke-dasharray:16;stroke-dashoffset:16;animation:vt-stat-draw 2.8s var(--vt-ease) infinite;}
@keyframes vt-stat-draw{0%{stroke-dashoffset:16;}28%{stroke-dashoffset:0;}78%{stroke-dashoffset:0;}92%,100%{stroke-dashoffset:16;}}
.vt-statico--hammer .hmr{transform-origin:7px 18px;animation:vt-stat-tap 1.7s var(--vt-ease) infinite;}
@keyframes vt-stat-tap{0%,58%,100%{transform:rotate(0);}22%{transform:rotate(-15deg);}40%{transform:rotate(5deg);}}
.vt-why__list{margin-top:36px;display:grid;gap:2px;}
.vt-why__item{padding:24px 0;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;transition:padding-left .4s var(--vt-ease);}
.vt-why__item:hover{padding-left:10px;}
.vt-why__item .n{font-family:var(--vt-font-display);font-style:italic;color:var(--vt-lime);font-size:1.1rem;}
.vt-why__item h4{font-size:1.2rem;font-family:var(--vt-font-display);margin-bottom:.3em;}
.vt-why__item p{color:var(--vt-muted-d);font-size:.96rem;margin:0;}
@media(max-width:860px){.vt-why__grid{grid-template-columns:1fr;}.vt-why__media{aspect-ratio:4/3;}}

/* ===================================================================
   6 · PROCESS — connected node diagram (design hero-banner)
   =================================================================== */
.vt-proc2{position:relative;margin-top:30px;}
/* faint rotating gear backdrop */
.vt-proc2__gear{position:absolute;left:50%;top:46px;width:300px;height:300px;transform:translate(-50%,-50%);z-index:0;color:var(--vt-stone-2);opacity:.45;pointer-events:none;animation:vt-gear-spin 70s linear infinite;}
.vt-proc2__gear svg{width:100%;height:100%;stroke-width:.7;}
@keyframes vt-gear-spin{to{transform:translate(-50%,-50%) rotate(360deg);}}
/* decorative floating icon chips */
.vt-proc2__chip{position:absolute;z-index:1;width:42px;height:42px;border-radius:13px;background:#fff;border:1px solid var(--vt-stone-2);display:grid;place-items:center;color:var(--vt-moss);box-shadow:var(--vt-shadow-sm);}
.vt-proc2__chip svg{width:20px;height:20px;}
.vt-proc2__chip--1{top:-10px;left:14%;animation:vt-float 6s var(--vt-ease) infinite;}
.vt-proc2__chip--2{bottom:6px;left:42%;color:var(--vt-lime-deep);animation:vt-float 7s var(--vt-ease) infinite .8s;}
.vt-proc2__chip--3{top:8px;right:10%;color:var(--vt-lime-deep);animation:vt-float 6.5s var(--vt-ease) infinite .4s;}
@keyframes vt-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
/* dashed connector path + animated lime progress */
.vt-proc2__track{position:absolute;top:46px;left:9%;right:9%;height:0;border-top:2px dashed var(--vt-stone-2);z-index:1;}
.vt-proc2__progress{position:absolute;top:-2px;left:0;height:2px;width:0;background:var(--vt-lime);transition:width 1.8s var(--vt-ease);}
.vt-proc2.is-in .vt-proc2__progress{width:100%;}
/* steps */
.vt-proc2__steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.vt-proc2__node{position:relative;text-align:center;}
.vt-proc2__badge{position:relative;width:84px;height:84px;margin:0 auto 24px;transition:transform .4s var(--vt-ease);}
.vt-proc2__badge .img{display:block;width:100%;height:100%;border-radius:22px;overflow:hidden;background:var(--vt-ink);border:3px solid var(--vt-paper);box-shadow:var(--vt-shadow);}
.vt-proc2__badge .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--vt-ease);}
.vt-proc2__badge .num{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:var(--vt-lime);color:var(--vt-ink);font-size:.8rem;font-weight:700;display:grid;place-items:center;border:3px solid var(--vt-paper);box-shadow:var(--vt-shadow-sm);z-index:2;}
.vt-proc2__node:hover .vt-proc2__badge{transform:translateY(-5px);}
.vt-proc2__node:hover .vt-proc2__badge .img img{transform:scale(1.1);}
.vt-proc2__card{background:#fff;border:1px solid var(--vt-stone-2);border-radius:18px;padding:24px 22px;transition:transform .4s var(--vt-ease),box-shadow .4s;}
.vt-proc2__node:hover .vt-proc2__card{transform:translateY(-3px);box-shadow:var(--vt-shadow);}
.vt-proc2__card h4{font-size:1.18rem;margin-bottom:.4em;}
.vt-proc2__card p{color:var(--vt-muted);font-size:.92rem;margin:0;}
@media(max-width:860px){
  .vt-proc2__gear,.vt-proc2__track,.vt-proc2__chip{display:none;}
  .vt-proc2__steps{grid-template-columns:1fr;gap:16px;}
  .vt-proc2__node{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;text-align:left;}
  .vt-proc2__badge{margin:0;width:68px;height:68px;}
}

/* ===================================================================
   7 · PROJECTS / BEFORE-AFTER
   =================================================================== */
.vt-proj__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;}
.vt-proj__card{position:relative;border-radius:var(--vt-radius);overflow:hidden;min-height:300px;color:#fff;display:flex;align-items:flex-end;isolation:isolate;}
.vt-proj__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--vt-ease);}
.vt-proj__card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,21,15,0) 40%,rgba(17,21,15,.85));}
.vt-proj__card:hover img{transform:scale(1.06);}
.vt-proj__card .meta{padding:24px;}
.vt-proj__card .meta span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vt-lime);font-weight:600;}
.vt-proj__card .meta h4{font-size:1.3rem;margin-top:.3em;}
.vt-proj__a{grid-column:span 7;min-height:440px;}
.vt-proj__b{grid-column:span 5;}
.vt-proj__c{grid-column:span 5;}
.vt-proj__d{grid-column:span 7;min-height:440px;}
@media(max-width:760px){.vt-proj__a,.vt-proj__b,.vt-proj__c,.vt-proj__d{grid-column:span 12;min-height:320px;}}

/* before/after slider */
.vt-ba{position:relative;border-radius:var(--vt-radius);overflow:hidden;aspect-ratio:16/10;user-select:none;cursor:ew-resize;}
.vt-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.vt-ba__after{clip-path:inset(0 0 0 50%);}
.vt-ba__line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none;}
.vt-ba__handle{position:absolute;top:50%;left:50%;width:48px;height:48px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);display:grid;place-items:center;box-shadow:var(--vt-shadow);pointer-events:none;color:var(--vt-ink);}
.vt-ba__tag{position:absolute;top:16px;padding:6px 12px;border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(17,21,15,.7);color:#fff;backdrop-filter:blur(4px);}
.vt-ba__tag.l{left:16px;}.vt-ba__tag.r{right:16px;background:var(--vt-lime);color:var(--vt-ink);}

/* ===================================================================
   8 · SUSTAINABLE / INFOGRAPHIC
   =================================================================== */
.vt-sus{background:var(--vt-forest);color:#fff;}
.vt-sus__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px);align-items:center;}
.vt-sus__compare{display:grid;gap:16px;}
.vt-sus__bar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:22px 24px;}
.vt-sus__bar h4{font-size:1.05rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--vt-font-body);font-weight:600;}
.vt-sus__bar .track{height:8px;border-radius:100px;background:rgba(255,255,255,.12);margin-top:14px;overflow:hidden;}
.vt-sus__bar .fill{height:100%;border-radius:100px;width:0;transition:width 1.4s var(--vt-ease);}
.vt-sus__bar.good .fill{background:var(--vt-lime);}
.vt-sus__bar.bad .fill{background:var(--vt-bronze);}
.vt-sus__bar .pct{font-family:var(--vt-font-display);color:var(--vt-lime);}
.vt-sus__bar.bad .pct{color:var(--vt-bronze);}
.vt-sus__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.vt-sus__stat{border-top:1px solid rgba(255,255,255,.18);padding-top:16px;}
.vt-sus__stat b{display:block;font-family:var(--vt-font-display);font-size:clamp(2rem,4vw,2.8rem);color:var(--vt-lime);line-height:1;}
.vt-sus__stat span{font-size:.85rem;color:rgba(255,255,255,.72);}
@media(max-width:860px){.vt-sus__grid{grid-template-columns:1fr;}}

/* ===================================================================
   9 · CERTIFICATIONS / QUALITY
   =================================================================== */
.vt-cert__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.vt-cert__items{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vt-cert__item{background:#fff;border:1px solid var(--vt-stone-2);border-radius:var(--vt-radius);padding:28px;transition:transform .4s var(--vt-ease),box-shadow .4s;}
.vt-cert__item:hover{transform:translateY(-4px);box-shadow:var(--vt-shadow);}
.vt-cert__item .ic{width:48px;height:48px;border-radius:12px;background:var(--vt-stone);color:var(--vt-forest);display:grid;place-items:center;margin-bottom:18px;}
.vt-cert__item .ic svg{width:24px;height:24px;}
.vt-cert__item h4{font-size:1.15rem;margin-bottom:.35em;}
.vt-cert__item p{font-size:.9rem;color:var(--vt-muted);margin:0;}
.vt-cert__media{border-radius:var(--vt-radius-lg);overflow:hidden;aspect-ratio:3/4;}
.vt-cert__media img{width:100%;height:100%;object-fit:cover;}
.vt-cert__items--row{grid-template-columns:repeat(4,1fr);}
/* Certificate showcase below the quality cards — shown in full, never cropped */
.vt-cert__banner{margin:clamp(28px,4vw,48px) 0 0;background:#fff;border:1px solid var(--vt-stone-2);border-radius:var(--vt-radius-lg);padding:clamp(22px,3vw,44px);display:flex;align-items:center;justify-content:center;box-shadow:var(--vt-shadow-sm);}
.vt-cert__banner img{width:100%;max-height:380px;object-fit:contain;}
@media(max-width:860px){.vt-cert__grid{grid-template-columns:1fr;}.vt-cert__media{aspect-ratio:16/10;}.vt-cert__items--row{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.vt-cert__items--row{grid-template-columns:1fr;}}

/* ===================================================================
   10 · ABOUT
   =================================================================== */
.vt-about{background:var(--vt-stone);}
.vt-about__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,80px);align-items:center;}
.vt-about__media{position:relative;}
.vt-about__media .main{border-radius:var(--vt-radius-lg);overflow:hidden;aspect-ratio:4/5;}
.vt-about__media .main img{width:100%;height:100%;object-fit:cover;}
.vt-about__media .float{position:absolute;right:-20px;bottom:-26px;width:46%;border-radius:18px;overflow:hidden;border:6px solid var(--vt-stone);box-shadow:var(--vt-shadow);}
.vt-about__media .float img{aspect-ratio:1/1;object-fit:cover;width:100%;}
.vt-about__values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;}
.vt-about__val h4{display:flex;align-items:center;gap:.5em;font-size:1.05rem;font-family:var(--vt-font-body);font-weight:700;margin-bottom:.3em;}
.vt-about__val h4 svg{width:1.1em;height:1.1em;color:var(--vt-lime-deep);}
.vt-about__val p{font-size:.9rem;color:var(--vt-muted);margin:0;}
@media(max-width:860px){.vt-about__grid{grid-template-columns:1fr;}.vt-about__media .float{width:40%;}}

/* ===================================================================
   11 · REVIEWS — split showcase (design 0005) + Google & socials
   =================================================================== */
.vt-rev2{display:grid;grid-template-columns:0.92fr 1.08fr;gap:clamp(36px,5vw,72px);align-items:center;}
/* left */
.vt-rev2__rating{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--vt-stone-2);border-radius:100px;padding:8px 16px;font-size:.9rem;box-shadow:var(--vt-shadow-sm);}
.vt-rev2__rating > svg{width:17px;height:17px;flex:0 0 auto;}
.vt-rev2__rating .stars{display:inline-flex;gap:1px;color:#F4B400;}
.vt-rev2__rating .stars svg{width:15px;height:15px;}
.vt-rev2__rating b{font-weight:700;color:var(--vt-ink);}
.vt-rev2__rating .sub{color:var(--vt-muted);}
.vt-rev2__title{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.02em;margin:24px 0 0;max-width:13ch;}
.vt-rev2__lead{margin-top:18px;color:var(--vt-muted);font-size:1.04rem;line-height:1.6;max-width:44ch;}
.vt-rev2__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.vt-rev2__socials{display:flex;align-items:center;gap:10px;margin-top:30px;flex-wrap:wrap;}
.vt-rev2__socials .lbl{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-muted);margin-right:4px;}
.vt-rev2__socials .soc{width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--vt-stone-2);display:grid;place-items:center;color:var(--vt-ink);transition:transform .3s var(--vt-ease),background .25s,color .25s,border-color .25s;}
.vt-rev2__socials .soc svg{width:19px;height:19px;}
.vt-rev2__socials .soc:hover{transform:translateY(-3px);background:var(--vt-ink);color:#fff;border-color:var(--vt-ink);}
.vt-rev2__socials .soc--g:hover{background:#fff;color:inherit;border-color:var(--vt-stone-2);}
.vt-rev2__socials .soc--g svg{width:18px;height:18px;}
.vt-rev2__socials .soc--wa:hover{background:#25D366;border-color:#25D366;color:#06281A;}
/* right stage */
.vt-rev2__stage{position:relative;min-height:clamp(440px,42vw,520px);}
.vt-rev2__video{position:absolute;top:0;right:0;width:62%;height:64%;border-radius:var(--vt-radius-lg);overflow:hidden;cursor:pointer;color:#fff;isolation:isolate;box-shadow:var(--vt-shadow);border:1px solid var(--vt-stone-2);}
.vt-rev2__video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--vt-ease);}
.vt-rev2__video:hover img{transform:scale(1.05);}
.vt-rev2__video::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,21,15,.05),rgba(17,21,15,.78));}
.vt-rev2__video .play{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);display:grid;place-items:center;transition:.3s;}
.vt-rev2__video:hover .play{background:var(--vt-lime);color:var(--vt-ink);border-color:var(--vt-lime);}
.vt-rev2__video .play svg{width:18px;height:18px;}
.vt-rev2__video .tag{position:absolute;left:18px;bottom:16px;right:18px;font-size:.78rem;font-weight:600;color:#fff;}
.vt-rev2__video:focus-visible{outline:3px solid var(--vt-lime);outline-offset:3px;}
.vt-rev2__card{position:absolute;background:#fff;border:1px solid var(--vt-stone-2);border-radius:20px;box-shadow:var(--vt-shadow);}
.vt-rev2__card .stars{display:flex;gap:2px;color:#F4B400;margin-bottom:12px;}
.vt-rev2__card .stars svg{width:16px;height:16px;}
.vt-rev2__card p{font-family:var(--vt-font-display);color:var(--vt-ink);margin:0 0 16px;}
.vt-rev2__card .by{display:flex;align-items:center;gap:12px;}
.vt-rev2__card .av{width:42px;height:42px;border-radius:50%;background:var(--vt-forest);color:var(--vt-lime);display:grid;place-items:center;font-family:var(--vt-font-display);font-size:1rem;flex:0 0 auto;}
.vt-rev2__card .by b{display:block;font-size:.95rem;}
.vt-rev2__card .by span{font-size:.82rem;color:var(--vt-muted);}
.vt-rev2__card--main{bottom:0;left:0;width:60%;padding:26px;z-index:2;}
.vt-rev2__card--main p{font-size:1.12rem;line-height:1.45;}
.vt-rev2__card--float{top:46%;right:2%;width:42%;padding:20px;z-index:3;}
.vt-rev2__card--float p{font-size:.92rem;line-height:1.45;}
/* green stat badge */
.vt-rev2__badge{position:absolute;top:-20px;left:50%;transform:translateX(-50%) rotate(-4deg);z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:104px;border-radius:24px;background:var(--vt-forest);color:#fff;box-shadow:var(--vt-shadow);}
.vt-rev2__badge b{font-family:var(--vt-font-display);font-size:1.8rem;line-height:1;color:var(--vt-lime);}
.vt-rev2__badge span{font-size:.7rem;color:rgba(255,255,255,.82);text-align:center;max-width:9ch;}
/* floating pill */
.vt-rev2__pill{position:absolute;left:-16px;top:32%;z-index:4;display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--vt-stone-2);border-radius:100px;padding:10px 16px;font-size:.85rem;font-weight:600;color:var(--vt-ink);box-shadow:var(--vt-shadow);}
.vt-rev2__pill svg{width:1.05em;height:1.05em;color:var(--vt-lime-deep);}
@media(max-width:920px){
  .vt-rev2{grid-template-columns:1fr;}
  .vt-rev2__title,.vt-rev2__lead{max-width:none;}
  /* stack the showcase instead of overlapping */
  .vt-rev2__stage{min-height:0;display:grid;gap:14px;}
  .vt-rev2__video{position:relative;width:100%;height:auto;aspect-ratio:16/10;}
  .vt-rev2__card{position:relative;width:100%!important;top:auto;left:auto;right:auto;bottom:auto;}
  .vt-rev2__badge{top:-16px;right:10px;left:auto;transform:rotate(-4deg);width:84px;height:84px;}
  .vt-rev2__badge b{font-size:1.5rem;}
  .vt-rev2__pill{left:auto;right:10px;top:auto;bottom:-14px;}
}

/* ===================================================================
   12 · QUOTE FORM
   =================================================================== */
.vt-quote{background:var(--vt-ink);color:#fff;}
.vt-quote__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,5vw,72px);}
.vt-quote__aside h2{margin:20px 0;}
.vt-quote__points{margin-top:30px;display:grid;gap:16px;}
.vt-quote__points li{display:flex;gap:14px;align-items:flex-start;color:rgba(255,255,255,.82);}
.vt-quote__points svg{width:22px;height:22px;color:var(--vt-lime);flex:0 0 auto;margin-top:2px;}
.vt-quote__form{background:var(--vt-paper);color:var(--vt-ink);border-radius:var(--vt-radius-lg);padding:clamp(28px,3.4vw,46px);}
.vt-field{margin-bottom:18px;}
.vt-field.half{display:inline-block;width:calc(50% - 8px);}
.vt-field.half+.half{margin-left:14px;}
.vt-field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:8px;color:var(--vt-forest);}
.vt-field input,.vt-field select,.vt-field textarea{width:100%;padding:14px 16px;border:1px solid var(--vt-stone-2);border-radius:12px;background:#fff;font-family:inherit;font-size:.98rem;color:var(--vt-ink);transition:border .25s,box-shadow .25s;}
.vt-field textarea{resize:vertical;min-height:120px;}
.vt-field input:focus,.vt-field select:focus,.vt-field textarea:focus{outline:none;border-color:var(--vt-lime-deep);box-shadow:0 0 0 4px rgba(166,214,59,.18);}
.vt-quote__form .vt-btn{width:100%;justify-content:center;margin-top:8px;}
.vt-quote__legal{font-size:.8rem;color:var(--vt-muted);margin-top:14px;text-align:center;}
@media(max-width:860px){.vt-quote__grid{grid-template-columns:1fr;}.vt-field.half{width:100%;}.vt-field.half+.half{margin-left:0;}}

/* ===================================================================
   13 · FAQ
   =================================================================== */
.vt-faq__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(36px,5vw,64px);align-items:start;}
/* left visual aside — image + USP + CTA */
.vt-faq__aside{position:relative;border-radius:var(--vt-radius-lg);overflow:hidden;min-height:460px;display:flex;align-items:flex-end;color:#fff;isolation:isolate;position:sticky;top:110px;}
.vt-faq__aside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--vt-ease);}
.vt-faq__aside:hover img{transform:scale(1.05);}
.vt-faq__aside::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,21,15,.1) 25%,rgba(17,21,15,.92));}
.vt-faq__asidebody{padding:clamp(26px,3vw,40px);width:100%;}
.vt-faq__asidebody h3{font-size:clamp(1.4rem,2.1vw,1.95rem);color:#fff;margin:14px 0 20px;max-width:17ch;}
.vt-faq__usps{display:grid;gap:11px;margin-bottom:26px;}
.vt-faq__usps li{display:flex;gap:11px;align-items:center;font-size:.96rem;color:rgba(255,255,255,.92);}
.vt-faq__usps svg{width:18px;height:18px;color:var(--vt-lime);flex:0 0 auto;}
.vt-faq__list{border-top:1px solid var(--vt-stone-2);}
.vt-faq__item{border-bottom:1px solid var(--vt-stone-2);}
.vt-faq__q{width:100%;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 4px;text-align:left;font-family:var(--vt-font-display);font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--vt-ink);}
.vt-faq__q .ic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--vt-stone-2);display:grid;place-items:center;transition:.4s var(--vt-ease);position:relative;}
.vt-faq__q .ic::before,.vt-faq__q .ic::after{content:"";position:absolute;background:var(--vt-ink);transition:.4s var(--vt-ease);}
.vt-faq__q .ic::before{width:13px;height:1.5px;}
.vt-faq__q .ic::after{width:1.5px;height:13px;}
.vt-faq__item.is-open .vt-faq__q .ic{background:var(--vt-lime);border-color:var(--vt-lime);transform:rotate(180deg);}
.vt-faq__item.is-open .vt-faq__q .ic::after{transform:scaleY(0);}
.vt-faq__a{max-height:0;overflow:hidden;transition:max-height .5s var(--vt-ease);}
.vt-faq__a p{padding:0 4px 28px;color:var(--vt-muted);max-width:62ch;margin:0;}
@media(max-width:860px){.vt-faq__grid{grid-template-columns:1fr;}.vt-faq__aside{position:static;min-height:340px;}}

/* ===================================================================
   14 · CTA BANNER
   =================================================================== */
.vt-cta{position:relative;color:#fff;overflow:hidden;isolation:isolate;}
.vt-cta__media{position:absolute;inset:0;z-index:-2;}
.vt-cta__media img,.vt-cta__media video{width:100%;height:100%;object-fit:cover;}
.vt-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,21,15,.94),rgba(17,21,15,.6) 55%,rgba(17,21,15,.72));}
.vt-cta__inner{padding-block:clamp(72px,9vw,120px);}
.vt-cta__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,64px);align-items:center;}
.vt-cta h2{font-size:clamp(2.2rem,5vw,3.6rem);max-width:16ch;line-height:1.02;}
.vt-cta p{max-width:48ch;color:rgba(255,255,255,.82);margin:22px 0 34px;font-size:1.1rem;}
.vt-cta__actions{display:flex;flex-wrap:wrap;gap:14px;}
/* right-hand video player */
.vt-cta__video{position:relative;border-radius:var(--vt-radius-lg);overflow:hidden;cursor:pointer;aspect-ratio:16/10;isolation:isolate;box-shadow:var(--vt-shadow-lg);border:1px solid rgba(255,255,255,.18);}
.vt-cta__video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.vt-cta__video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,21,15,.05),rgba(17,21,15,.5));opacity:.6;transition:opacity .35s var(--vt-ease);}
.vt-cta__video:hover::after{opacity:.3;}
.vt-cta__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);display:grid;place-items:center;color:#fff;transition:.3s var(--vt-ease);}
.vt-cta__video:hover .vt-cta__play{background:var(--vt-lime);color:var(--vt-ink);border-color:var(--vt-lime);transform:translate(-50%,-50%) scale(1.06);}
.vt-cta__play svg{width:20px;height:20px;}
.vt-cta__vtag{position:absolute;z-index:2;left:16px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:100px;background:rgba(17,21,15,.5);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.8rem;font-weight:600;}
.vt-cta__video:focus-visible{outline:3px solid var(--vt-lime);outline-offset:3px;}
@media(max-width:860px){
  .vt-cta__grid{grid-template-columns:1fr;}
  .vt-cta h2,.vt-cta p{max-width:none;}
}

/* ===================================================================
   15 · CONTACT
   =================================================================== */
.vt-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--vt-radius-lg);overflow:hidden;border:1px solid var(--vt-stone-2);}
.vt-contact__info{padding:clamp(34px,4vw,56px);background:#fff;}
.vt-contact__rows{margin-top:30px;display:grid;gap:4px;}
.vt-contact__row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--vt-stone-2);}
.vt-contact__row .ic{width:42px;height:42px;border-radius:11px;background:var(--vt-stone);color:var(--vt-forest);display:grid;place-items:center;flex:0 0 auto;}
.vt-contact__row .ic svg{width:20px;height:20px;}
.vt-contact__row b{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vt-muted);font-weight:600;margin-bottom:4px;}
.vt-contact__row span{font-size:1.05rem;color:var(--vt-ink);}
.vt-contact__hours{margin-top:24px;border-top:1px solid var(--vt-stone-2);padding-top:22px;}
.vt-contact__hours div{display:flex;justify-content:space-between;padding:7px 0;font-size:.95rem;color:var(--vt-muted);}
.vt-contact__hours div b{color:var(--vt-ink);font-weight:600;}
.vt-contact__map{position:relative;min-height:420px;background:var(--vt-ink-2);}
.vt-contact__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05);}
@media(max-width:860px){.vt-contact__grid{grid-template-columns:1fr;}}

/* meta badges row */
.vt-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.vt-meta span{font-size:.8rem;color:var(--vt-muted);background:var(--vt-stone);border-radius:100px;padding:8px 16px;}

/* ===================================================================
   FOOTER — modern, light, with Google Maps
   =================================================================== */
.vt-foot2{background:var(--vt-stone);color:var(--vt-muted);}
.vt-foot2__main{display:grid;grid-template-columns:1.25fr 1.1fr 1.15fr;gap:clamp(32px,4vw,56px);padding-block:clamp(54px,7vw,84px);align-items:start;}
.vt-foot2 .vt-foot2__logo{height:30px;width:auto;max-width:160px;object-fit:contain;margin-bottom:22px;}
.vt-foot2__brand p{max-width:38ch;font-size:.95rem;color:var(--vt-muted);margin:0 0 24px;}
.vt-foot2__contact{display:grid;gap:13px;margin-bottom:24px;}
.vt-foot2__contact li{display:flex;align-items:flex-start;gap:11px;font-size:.95rem;color:var(--vt-ink);}
.vt-foot2__contact .ic{flex:0 0 auto;width:32px;height:32px;border-radius:9px;background:#fff;border:1px solid var(--vt-stone-2);display:grid;place-items:center;color:var(--vt-forest);}
.vt-foot2__contact .ic svg{width:16px;height:16px;}
.vt-foot2__contact a:hover{color:var(--vt-lime-deep);}
.vt-foot2__socials{display:flex;gap:9px;flex-wrap:wrap;}
.vt-foot2__socials .soc{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid var(--vt-stone-2);display:grid;place-items:center;color:var(--vt-ink);transition:transform .3s var(--vt-ease),background .25s,color .25s,border-color .25s;}
.vt-foot2__socials .soc svg{width:18px;height:18px;}
.vt-foot2__socials .soc:hover{transform:translateY(-3px);background:var(--vt-ink);color:#fff;border-color:var(--vt-ink);}
.vt-foot2__socials .soc--g:hover{background:#fff;color:inherit;border-color:var(--vt-stone-2);}
.vt-foot2__socials .soc--wa:hover{background:#25D366;border-color:#25D366;color:#06281A;}
.vt-foot2__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.vt-foot2__col h5{color:var(--vt-ink);font-family:var(--vt-font-body);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-weight:700;}
.vt-foot2__col ul li{margin-bottom:11px;}
.vt-foot2__col ul a{font-size:.95rem;color:var(--vt-muted);transition:color .25s,padding-left .25s;}
.vt-foot2__col ul a:hover{color:var(--vt-ink);padding-left:4px;}
/* map card */
.vt-foot2__map{position:relative;border-radius:var(--vt-radius-lg);overflow:hidden;border:1px solid var(--vt-stone-2);min-height:260px;box-shadow:var(--vt-shadow);background:#fff;}
.vt-foot2__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.04);}
.vt-foot2__mapchip{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border:1px solid var(--vt-stone-2);border-radius:14px;padding:12px 14px;box-shadow:var(--vt-shadow);transition:transform .3s var(--vt-ease);}
.vt-foot2__mapchip:hover{transform:translateY(-2px);}
.vt-foot2__mapchip .ic{flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--vt-forest);color:var(--vt-lime);display:grid;place-items:center;}
.vt-foot2__mapchip .ic svg{width:18px;height:18px;}
.vt-foot2__mapchip span:not(.ic){display:flex;flex-direction:column;line-height:1.3;font-size:.82rem;color:var(--vt-muted);}
.vt-foot2__mapchip b{color:var(--vt-ink);font-size:.92rem;}
.vt-foot2__mapchip > svg{width:18px;height:18px;margin-left:auto;color:var(--vt-forest);}
/* bottom bar */
.vt-foot2__bottom{border-top:1px solid var(--vt-stone-2);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--vt-muted);}
.vt-foot2__legal{display:inline-flex;gap:18px;}
.vt-foot2__legal a:hover{color:var(--vt-ink);}
.vt-foot2__top{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--vt-ink);}
.vt-foot2__top .arr{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--vt-ink);color:#fff;transition:transform .3s var(--vt-ease),background .25s;}
.vt-foot2__top .arr svg{width:14px;height:14px;transform:rotate(-90deg);}
.vt-foot2__top:hover .arr{background:var(--vt-lime);color:var(--vt-ink);transform:translateY(-3px);}
@media(max-width:920px){
  .vt-foot2__main{grid-template-columns:1fr 1fr;}
  .vt-foot2__map{grid-column:1 / -1;min-height:240px;order:3;}
}
@media(max-width:560px){
  .vt-foot2__main{grid-template-columns:1fr;}
  .vt-foot2__bottom{flex-direction:column;align-items:flex-start;}
}

/* ===================================================================
   GLOBAL STICKY FOOTER CTA — expandable bottom bar (shows past hero)
   =================================================================== */
.vt-stickyfoot{
  position:fixed;left:0;right:0;bottom:0;z-index:85;
  background:var(--vt-ink);color:#fff;border-top:1px solid var(--vt-ink-3);
  box-shadow:0 -24px 60px -34px rgba(0,0,0,.75);
  transform:translateY(120%);
  transition:transform .55s var(--vt-ease);
}
.vt-stickyfoot.is-visible{transform:translateY(0);}
.vt-stickyfoot.is-visible.is-collapsed{transform:translateY(calc(100% - 42px));}
.vt-stickyfoot__toggle{
  display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:42px;
  background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.78);cursor:pointer;font-family:var(--vt-font-body);
  font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
}
.vt-stickyfoot__toggle:hover{color:#fff;}
.vt-stickyfoot__toggle svg{width:1.15em;height:1.15em;transition:transform .4s var(--vt-ease);}
.vt-stickyfoot.is-collapsed .vt-stickyfoot__toggle svg{transform:rotate(180deg);}
.vt-stickyfoot__bar{display:flex;align-items:center;gap:24px;max-width:1620px;margin:0 auto;padding:14px var(--vt-gutter);}
.vt-stickyfoot__brand{flex:0 0 auto;}
.vt-stickyfoot .vt-stickyfoot__brand img{height:26px;width:auto;max-width:140px;object-fit:contain;filter:brightness(0) invert(1);}
.vt-stickyfoot__msg{display:flex;flex-direction:column;line-height:1.25;}
.vt-stickyfoot__msg strong{font-family:var(--vt-font-display);font-weight:500;font-size:1.06rem;}
.vt-stickyfoot__msg span{font-size:.85rem;color:var(--vt-muted-d);}
.vt-stickyfoot__cta{display:flex;align-items:center;gap:12px;margin-left:auto;}
.vt-stickyfoot__phone,.vt-stickyfoot__wa{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;border-radius:100px;font-weight:600;font-size:.92rem;border:1px solid rgba(255,255,255,.2);transition:background .3s,border-color .3s,transform .3s;}
.vt-stickyfoot__phone:hover{background:rgba(255,255,255,.08);transform:translateY(-1px);}
.vt-stickyfoot__wa{background:#25D366;color:#06281A;border-color:#25D366;}
.vt-stickyfoot__wa:hover{background:#1FBE5B;border-color:#1FBE5B;transform:translateY(-1px);}
.vt-stickyfoot__phone svg,.vt-stickyfoot__wa svg{width:1.15em;height:1.15em;flex:0 0 auto;}
@media(max-width:860px){
  .vt-stickyfoot__msg{display:none;}
}
@media(max-width:600px){
  .vt-stickyfoot__brand{display:none;}
  .vt-stickyfoot__bar{gap:10px;padding:12px 14px;}
  .vt-stickyfoot__cta{margin:0;width:100%;gap:8px;}
  .vt-stickyfoot__phone span,.vt-stickyfoot__wa span{display:none;}
  .vt-stickyfoot__phone,.vt-stickyfoot__wa{padding:12px;}
  .vt-stickyfoot__cta .vt-btn--lime{flex:1;justify-content:center;}
}

/* ===================================================================
   RESPONSIVE NAV
   =================================================================== */
@media(max-width:1080px){
  .vt-nav__links,.vt-nav__phone{display:none;}
  .vt-nav__burger{display:flex;}
}

/* ===================================================================
   REDUCED MOTION
   =================================================================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .vt-reveal{opacity:1!important;transform:none!important;}
}
