/* =========================================================
   Voilàp Group — Global presence (scoped under .vc)
   ========================================================= */
/* Carlito (metric-compatible Calibri) shipped with the platform in /css/font/Carlito/ */
@font-face { font-family: "vc-carlito"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("/css/fonts/Carlito/carlito-regular-webfont.woff2") format("woff2"), url("/css/fonts/Carlito/carlito-regular-webfont.woff") format("woff"); }
@font-face { font-family: "vc-carlito"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("/css/fonts/Carlito/carlito-bold-webfont.woff2") format("woff2"), url("/css/fonts/Carlito/carlito-bold-webfont.woff") format("woff"); }

.vc {
  --vc-ink: #111112;
  --vc-ink-2: #4a4a4f;
  --vc-mute: #8b8b92;
  --vc-line: #d9d9dd;
  --vc-soft: #f3f3f5;
  --vc-paper: #ffffff;
  --vc-accent: #FF3484;
  --vc-accent-soft: rgba(255, 52, 132, .12);
  /* Main texts: Gotham Light 300 + Bold 700 (Adobe Fonts kit bkx1uvu). Secondary texts: Calibri (Carlito fallback) */
  --vc-display: "gotham", "Gotham", "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --vc-text: calibri, "Carlito", "vc-carlito", "Gill Sans", "Trebuchet MS", sans-serif;
  --vc-gutter: clamp(16px, 4vw, 56px);
  --vc-max: 1320px;
  --vc-ease: cubic-bezier(.2, .7, .1, 1);

  position: relative;
  overflow: hidden; overflow: clip;
  background: var(--vc-paper);
  color: var(--vc-ink);
  font-family: var(--vc-text);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  font-synthesis: none;
  -webkit-tap-highlight-color: transparent;
}
.vc *, .vc *::before, .vc *::after { box-sizing: border-box; }
.vc [hidden] { display: none !important; }
/* host-site element rules (header, p, h1-h3) must not leak into the page */
.vc :is(h1, h2, h3) { color: inherit; }
:where(.vc) ul, :where(.vc) ol { list-style: none; margin: 0; padding: 0; }
:where(.vc) p, :where(.vc) h1, :where(.vc) h2, :where(.vc) h3 { margin: 0; }
:where(.vc) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.vc img { max-width: 100%; display: block; }
.vc b, .vc strong { font-weight: 700; }
.vc :focus-visible { outline: 2px solid var(--vc-accent); outline-offset: 3px; }

.vc-wrap { width: 100%; max-width: var(--vc-max); margin-inline: auto; padding-inline: var(--vc-gutter); }
.vc-ico { width: 1.15em; height: 1.15em; flex: none; }

/* ---------- shared marks ---------- */
.vc-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--vc-accent); }
.vc-eyebrow {
  display: flex; align-items: center; gap: 14px;
  font: 700 13px/1 var(--vc-text); letter-spacing: .16em; text-transform: uppercase; color: var(--vc-ink-2);
}
.vc-h2 { font: 300 clamp(28px, 3.4vw, 44px)/1.05 var(--vc-display); letter-spacing: -.01em; }
.vc-h2 b, .vc-hero__title b, .vc-pillars__title b { font-weight: 700; }
.vc-hatch {
  display: block;
  background: repeating-linear-gradient(-45deg, var(--vc-ink) 0 3px, transparent 3px 10px);
  background-size: 200% 200%;
  animation: vc-hatch 14s linear infinite;
}
@keyframes vc-hatch { to { background-position: 0 -282px; } }

.vc-dots { display: flex; flex-direction: column; gap: 22px; }
.vc-dots span { width: 5px; height: 5px; border-radius: 50%; background: var(--vc-ink); }
.vc-dots .is-accent { background: var(--vc-accent); width: 6px; height: 6px; animation: vc-pulse 2.4s var(--vc-ease) infinite; }
.vc-dots .is-accent + .is-accent { animation-delay: .4s; }
@keyframes vc-pulse { 0%, 100% { box-shadow: 0 0 0 0 var(--vc-accent-soft); } 50% { box-shadow: 0 0 0 7px var(--vc-accent-soft); } }

/* the Voilàp accent stroke */
.vc-tick { display: block; width: 22px; height: auto; flex: none; overflow: visible; }

/* ---------- HERO ---------- */
.vc .vc-hero { position: relative; top: auto; left: auto; right: auto; z-index: auto; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; overflow: hidden; overflow: clip; padding-block: clamp(56px, 9vw, 128px) clamp(48px, 7vw, 96px); }
.vc-hero__rail {
  position: absolute; left: 0; top: clamp(40px, 6vw, 72px); bottom: clamp(24px, 4vw, 56px);
  display: flex; gap: clamp(18px, 2.4vw, 34px);
}
.vc-hero__rail .vc-hatch { width: clamp(16px, 2.2vw, 30px); height: 100%; }
.vc-hero__rail .vc-dots { padding-top: 6px; }
.vc-hero__inner { position: relative; z-index: 1; padding-left: calc(var(--vc-gutter) + clamp(40px, 5vw, 72px)); display: grid; gap: clamp(22px, 3vw, 36px); }
.vc-hero__title { font: 300 clamp(48px, 9.2vw, 136px)/.95 var(--vc-display); letter-spacing: -.035em; text-wrap: balance; }
.vc-line { display: block; overflow: hidden; padding-bottom: .18em; margin-bottom: -.12em; }
.vc-line > span { display: inline-block; animation: vc-rise 1.1s var(--vc-ease) both; }
.vc-line + .vc-line > span { animation-delay: .12s; }
@keyframes vc-rise { from { transform: translateY(105%); } }

.vc-hero__giant {
  position: absolute; right: -.08em; top: 50%; z-index: 0;
  font: 700 clamp(120px, 21vw, 300px)/.8 var(--vc-display); letter-spacing: -.04em;
  color: #EBEBEB;
  writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg) translateY(var(--vc-par, 0px));
  pointer-events: none; user-select: none;
}
.vc-hero__frame {
  position: relative; max-width: 760px; display: grid; gap: 28px;
  padding: clamp(22px, 3vw, 34px) clamp(22px, 3vw, 38px);
  border: 1px solid var(--vc-ink); background: var(--vc-paper);
  animation: vc-fade .9s .35s var(--vc-ease) both;
}
.vc-hero__frame::before { content: ""; position: absolute; left: -3px; top: 18%; bottom: 18%; width: 6px; background: var(--vc-accent); }
.vc-hero__lead { font: 400 clamp(18px, 1.6vw, 21px)/1.5 var(--vc-text); max-width: 58ch; color: var(--vc-ink-2); }
.vc-stats { display: flex; flex-wrap: wrap; gap: 14px clamp(24px, 4vw, 56px); }
.vc-stats li { display: grid; gap: 2px; }
.vc-stats strong { font: 700 clamp(26px, 2.6vw, 34px)/1 var(--vc-display); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.vc-stats li > span { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--vc-mute); }
@keyframes vc-fade { from { opacity: 0; transform: translateY(14px); } }

.vc-side {
  position: absolute; right: clamp(10px, 2vw, 28px); top: 50%; z-index: 1;
  display: flex; align-items: center; gap: 14px;
  writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg);
  font: 300 14px/1 var(--vc-display); letter-spacing: .04em;
}
.vc-side span { font-weight: 700; }
.vc-side::before, .vc-side::after { content: ""; width: 1px; height: 64px; background: var(--vc-ink); }

/* ---------- TICKER ---------- */
.vc-ticker { border-block: 1px solid var(--vc-ink); overflow: hidden; padding-block: 18px; }
.vc-ticker__track { display: flex; width: max-content; animation: vc-marquee 48s linear infinite; }
.vc-ticker span { display: inline-flex; align-items: center; gap: clamp(28px, 4vw, 56px); padding-right: clamp(28px, 4vw, 56px); font: 300 clamp(13px, 1.2vw, 16px)/1 var(--vc-display); letter-spacing: .3em; white-space: nowrap; }
.vc-ticker span::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--vc-ink); }
.vc-ticker span:nth-child(4n)::after { background: var(--vc-accent); }
.vc-ticker:hover .vc-ticker__track { animation-play-state: paused; }
@keyframes vc-marquee { to { transform: translateX(-50%); } }

/* ---------- PILLARS ---------- */
.vc-pillars { position: relative; display: grid; justify-items: center; gap: clamp(36px, 5vw, 64px); text-align: center; padding-block: clamp(64px, 9vw, 128px); }
.vc-pillars .vc-tick { width: 38px; margin-bottom: -8px; }
.vc-pillars__title { font: 300 clamp(24px, 3vw, 40px)/1.25 var(--vc-display); letter-spacing: -.01em; max-width: 26ch; text-wrap: balance; }
.vc-pillars__list { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; }
.vc-pillars__list::before { content: ""; position: absolute; left: 16.66%; right: 16.66%; top: 9px; height: 1px; background: var(--vc-line); }
.vc-pillars__list li { position: relative; display: grid; justify-items: center; align-content: start; gap: 14px; }
.vc-pin { position: relative; width: 19px; height: 19px; border-radius: 50%; background: var(--vc-ink); }
.vc-pin::after { content: ""; position: absolute; left: 50%; top: 100%; height: 44px; border-left: 2px dotted var(--vc-ink); transform-origin: top; transition: transform .9s var(--vc-ease); }
.vc-pillars__list li:nth-child(2) .vc-pin { background: var(--vc-accent); }
.vc-pill { margin-top: 44px; display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 22px; box-sizing: border-box; border-radius: 999px; background: var(--vc-ink); color: #fff; font: 400 16px/1 var(--vc-text); letter-spacing: .02em; white-space: nowrap; }
.vc-pill span { display: block; line-height: 1; padding-top: .08em; }
.vc-pillars__list p { font-size: 16px; line-height: 1.5; color: var(--vc-ink-2); max-width: 30ch; }

/* ---------- scroll reveal (only applied by JS to below-the-fold items) ---------- */
.vc-reveal { opacity: 0; transform: translateY(28px); }
.vc-revealed { opacity: 1; transform: none; transition: opacity .8s var(--vc-ease), transform .9s var(--vc-ease); transition-delay: calc(var(--k, 0) * 70ms); }
.vc-pillars__list li.vc-reveal .vc-pin::after { transform: scaleY(0); }

/* =========================================================
   Chi siamo — page components (same language as the Brands page)
   ========================================================= */

/* hero: text + render of the Voilàp sign */
.vc-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; column-gap: clamp(28px, 5vw, 80px); padding-right: calc(var(--vc-gutter) + 40px); }
.vc-hero__text { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(22px, 3vw, 36px); min-width: 0; }
.vc-hero__title { font-size: clamp(40px, 4.8vw, 76px); }
.vc-hero__title .vc-line > span { white-space: nowrap; }
.vc-hero__media { position: relative; margin: 0; animation: vc-fade 1.1s .25s var(--vc-ease) both; }
.vc-hero__media img { width: 100%; height: auto; aspect-ratio: 1245 / 861; object-fit: cover; transform: translateY(var(--vc-par2, 0px)); }
.vc-hero__media::before { content: ""; position: absolute; z-index: 1; left: -14px; top: 12%; bottom: 12%; width: 14px; background: repeating-linear-gradient(-45deg, var(--vc-paper) 0 3px, transparent 3px 9px), var(--vc-accent); }
/* right bar: from where the grey sheet starts on the right edge of the render (51.2% of its height) down to the bottom */
.vc-hero__media::after { content: ""; position: absolute; z-index: 1; right: -14px; top: 51.2%; bottom: 0; width: 14px; transform: translateY(var(--vc-par2, 0px)); background: repeating-linear-gradient(-45deg, var(--vc-paper) 0 3px, transparent 3px 9px), var(--vc-accent); }
.vc-hero__media figcaption { position: absolute; right: 0; bottom: -28px; font: 700 11px/1 var(--vc-text); letter-spacing: .16em; text-transform: uppercase; color: var(--vc-mute); }

/* section scaffolding */
.vc-section { padding-block: clamp(64px, 9vw, 128px); }
.vc-sechead { display: grid; gap: 18px; margin-bottom: clamp(32px, 5vw, 64px); max-width: 760px; }
.vc-h2 { font: 300 clamp(30px, 3.8vw, 52px)/1.05 var(--vc-display); letter-spacing: -.015em; text-wrap: balance; }
.vc-h2 b, .vc-feature__title b, .vc-cta__title b { font-weight: 700; }
.vc-body { font: 400 18px/1.6 var(--vc-text); color: var(--vc-ink-2); }
.vc-body b { color: var(--vc-ink); }

/* group box (catalogue page 3: thin frame, vertical label, accent, dashes) */
.vc-group { position: relative; border: 1px solid var(--vc-ink); padding: clamp(28px, 5vw, 72px) clamp(22px, 5vw, 80px) clamp(28px, 4vw, 56px); display: grid; gap: clamp(24px, 3vw, 40px); }
.vc-group::before { content: ""; position: absolute; left: -1px; top: clamp(90px, 12vw, 150px); height: clamp(90px, 12vw, 150px); width: 5px; background: var(--vc-ink); }
.vc-group__mark { position: absolute; right: -52px; top: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding-block: 2px; }
.vc-group__mark .vc-tick { width: 18px; }
.vc-group__mark i { display: block; width: 18px; height: 3px; background: var(--vc-ink); }
.vc-group__label { writing-mode: vertical-rl; transform: rotate(180deg); display: flex; align-items: center; gap: 14px; font: 300 17px/1 var(--vc-display); }
.vc-group__label b { font-weight: 700; }
.vc-group__label::before, .vc-group__label::after { content: ""; width: 1px; height: 54px; background: var(--vc-ink); }
.vc-group__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 4vw, 56px); }
.vc-brands { display: flex; flex-wrap: wrap; gap: 14px clamp(22px, 3vw, 40px); padding-top: clamp(20px, 3vw, 32px); border-top: 1px solid var(--vc-line); }
.vc-brands a { position: relative; font: 300 13px/1 var(--vc-display); letter-spacing: .22em; text-transform: uppercase; color: var(--vc-ink); text-decoration: none; padding-bottom: 6px; }
.vc-brands a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--vc-accent); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--vc-ease); }
.vc-brands a:hover::after, .vc-brands a:focus-visible::after { transform: none; }

/* story: three chapters, in order */
.vc-chapters { border-top: 1px solid var(--vc-ink); }
.vc-chapter { position: relative; display: grid; grid-template-columns: 90px minmax(0, 340px) minmax(0, 1fr); gap: clamp(18px, 4vw, 56px); padding-block: clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--vc-line); }
.vc-chapter::before { content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--vc-accent); transition: width .9s var(--vc-ease); }
.vc-chapter.vc-revealed::before, .vc-chapter.is-static::before { width: 90px; }
.vc-chapter__n { font: 300 15px/1 var(--vc-display); letter-spacing: .12em; color: var(--vc-mute); padding-top: 10px; font-variant-numeric: tabular-nums; }
.vc-chapter__key { display: grid; gap: 10px; align-content: start; }
.vc-chapter__fig { font: 700 clamp(44px, 5.4vw, 76px)/.9 var(--vc-display); letter-spacing: -.035em; }
.vc-chapter__fig small { font-size: .42em; letter-spacing: -.01em; }
.vc-chapter__cap { font: 700 12px/1.3 var(--vc-text); letter-spacing: .14em; text-transform: uppercase; color: var(--vc-mute); }
.vc-chapter__txt { display: grid; gap: 14px; align-content: start; max-width: 68ch; }
.vc-chapter__txt h3 { font: 300 clamp(22px, 2.2vw, 30px)/1.15 var(--vc-display); letter-spacing: -.01em; }
.vc-chapter__txt h3 b { font-weight: 700; }

/* smart factory feature */
.vc-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.vc-feature__media { position: relative; margin: 0; }
.vc-feature__media img { width: 100%; height: auto; aspect-ratio: 1243 / 861; object-fit: cover; }
.vc-feature__text { display: grid; gap: 22px; min-width: 0; position: relative; padding-left: clamp(18px, 2.5vw, 32px); }
.vc-feature__text::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 5px; background: var(--vc-ink); }
.vc-feature__title { font: 300 clamp(30px, 3.4vw, 46px)/1.08 var(--vc-display); letter-spacing: -.015em; }
.vc-feature__sub { font: 700 15px/1 var(--vc-text); letter-spacing: .12em; text-transform: uppercase; }
.vc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vc-chips li { padding: 9px 14px; border-radius: 999px; border: 1px solid var(--vc-ink); font: 700 13px/1 var(--vc-text); letter-spacing: .08em; }
.vc-chips li:nth-child(odd) { background: var(--vc-ink); color: #fff; }

/* pillars with renders */
.vc-pillars { padding-top: 0; }
.vc-pillars__list li { gap: 0; }
.vc-pillars__img { display: grid; place-items: end center; height: clamp(150px, 16vw, 220px); width: 100%; margin-bottom: -10px; }
.vc-pillars__img img { height: 100%; width: auto; max-width: 92%; object-fit: contain; mix-blend-mode: multiply; transition: transform .8s var(--vc-ease); }
@media (hover: hover) { .vc-pillars__list li:hover .vc-pillars__img img { transform: translateY(-6px); } }
.vc-pillars__list li .vc-pin { z-index: 1; }
.vc-pillars__list li > p { margin-top: 14px; }
.vc .vc-pillars__list::before { top: calc(clamp(150px, 16vw, 220px) - 10px + 9px); }

/* sustainability KPIs */
.vc-kpis-wrap { position: relative; }
.vc-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.vc-kpi { position: relative; display: grid; gap: 12px; align-content: start; padding: 22px 20px 24px 24px; min-width: 0;
  background: linear-gradient(90deg, var(--vc-paper) 0, rgba(255,255,255,.6) 60%, transparent), repeating-linear-gradient(-45deg, var(--vc-soft) 0 3px, transparent 3px 9px); }
.vc-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--vc-accent); transform-origin: top; transition: transform .9s var(--vc-ease); }
.vc-kpi.vc-reveal::before { transform: scaleY(0); }
.vc-kpi strong { font: 700 clamp(32px, 3.2vw, 46px)/1 var(--vc-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.vc-kpi p { font: 400 16px/1.4 var(--vc-text); color: var(--vc-ink-2); }
.vc-kpi p b { color: var(--vc-ink); }
.vc-kpis__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: clamp(24px, 3vw, 36px); }
.vc-note { font: 400 13px/1.4 var(--vc-text); color: var(--vc-mute); }
.vc-link { display: inline-flex; align-items: center; gap: 10px; font: 700 15px/1 var(--vc-text); color: var(--vc-ink); text-decoration: none; padding-bottom: 6px; border-bottom: 2px solid var(--vc-ink); transition: gap .3s var(--vc-ease), border-color .3s; }
.vc-link .vc-ico { color: var(--vc-accent); }
.vc-link:hover { gap: 16px; border-color: var(--vc-accent); }

/* closing call to action */
.vc-cta { position: relative; overflow: hidden; background: var(--vc-ink); color: #fff; padding: clamp(40px, 6vw, 88px) clamp(24px, 6vw, 88px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
.vc-cta::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 26px; background: repeating-linear-gradient(-45deg, var(--vc-ink) 0 3px, transparent 3px 10px), var(--vc-accent); }
.vc-cta .vc-tick { width: 30px; margin-bottom: 26px; }
.vc-cta__title { font: 300 clamp(32px, 4vw, 58px)/1.04 var(--vc-display); letter-spacing: -.02em; }
.vc-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; padding-right: 30px; }
.vc .vc-btn { display: inline-flex; align-items: center; gap: 12px; padding: 0 24px; height: 52px; border-radius: 999px; font: 700 16px/1 var(--vc-text); text-decoration: none; transition: background .3s var(--vc-ease), color .3s, gap .3s var(--vc-ease); white-space: nowrap; }
.vc .vc-btn--solid { background: #fff; color: var(--vc-ink); }
.vc .vc-btn--solid .vc-ico { color: var(--vc-accent); }
.vc .vc-btn--solid:hover { background: var(--vc-accent); color: #fff; gap: 18px; }
.vc .vc-btn--solid:hover .vc-ico { color: #fff; }
.vc .vc-btn--ghost { border: 1px solid rgba(255,255,255,.5); color: #fff; }
.vc .vc-btn--ghost:hover { border-color: #fff; gap: 18px; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .vc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vc-chapter { grid-template-columns: 60px minmax(0, 1fr); }
  .vc-chapter__txt { grid-column: 2; }
  .vc-cta { grid-template-columns: 1fr; align-items: start; }
}
@media (max-width: 900px) {
  .vc-hero__inner { grid-template-columns: 1fr; padding-right: var(--vc-gutter); row-gap: 44px; }
  .vc-feature { grid-template-columns: 1fr; }
  .vc-group__mark { display: none; }
}
@media (max-width: 760px) {
  .vc .vc-hero { padding-top: 64px; }
  .vc-hero__rail { left: 0; right: 0; top: 0; bottom: auto; height: 22px; }
  .vc-hero__rail .vc-hatch { width: 100%; height: 100%; }
  .vc-hero__rail .vc-dots { display: none; }
  .vc-hero__inner { padding-left: var(--vc-gutter); }
  .vc-hero__giant { right: -.18em; }
  .vc-side { display: none; }
  .vc-hero__frame::before { top: 24px; bottom: auto; height: 48px; }
  .vc-hero__media::before { left: 0; top: auto; bottom: -14px; width: 40%; height: 14px; }
  .vc-hero__media::after { right: 0; width: 10px; }
  .vc-group__cols { grid-template-columns: 1fr; }
  .vc-pillars__list { grid-template-columns: 1fr; gap: 48px; }
  .vc-pillars__list::before { display: none; }
  .vc-chapter { grid-template-columns: 1fr; gap: 14px; }
  .vc-chapter__txt { grid-column: auto; }
  .vc-chapter__n { padding-top: 0; }
}
@media (max-width: 520px) {
  .vc-kpis { grid-template-columns: 1fr; }
  .vc-cta__actions { padding-right: 18px; }
  .vc .vc-btn { width: 100%; justify-content: space-between; }
}
html.vc-js .vc-reveal { opacity: 0; transform: translateY(28px); }
@media (prefers-reduced-motion: reduce) {
  .vc *, .vc *::before, .vc *::after { animation: none !important; transition-duration: .01ms !important; }
  .vc-reveal, html.vc-js .vc-reveal { opacity: 1; transform: none; }
}
.vc .vc-section--flush { padding-top: 0; }
.vc .vc-chapter__fig--words { font-size: clamp(34px, 3.8vw, 54px); line-height: .95; }

/* big vertical word on the right (About us), as on the Brands page */
.vc .vc-hero__giant { font-size: clamp(88px, 10.5vw, 160px); right: -.06em; white-space: nowrap; }
.vc-hero--giant .vc-hero__inner { padding-right: calc(var(--vc-gutter) + clamp(70px, 11vw, 180px)); }
@media (max-width: 900px) { .vc-hero--giant .vc-hero__inner { padding-right: calc(var(--vc-gutter) + 40px); } }
@media (max-width: 760px) { .vc .vc-hero__giant { right: -.2em; font-size: clamp(80px, 22vw, 120px); } .vc-hero--giant .vc-hero__inner { padding-right: var(--vc-gutter); } }

/* magenta "+" after figures */
.vc .vc-plus { color: var(--vc-accent); }
/* cross-browser hardening */
.vc img { height: auto; }
.vc .vc-hero__media img, .vc .vc-feature__media img { display: block; }
.vc .vc-pillars__img img { height: 100%; }
.vc-hero__media, .vc-feature__media { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
@supports not (aspect-ratio: 1 / 1) {
  .vc-hero__media img, .vc-feature__media img { height: auto; }
}
@media (min-width: 761px) and (max-width: 1080px) {
  .vc-chapter__fig { font-size: clamp(40px, 6vw, 60px); }
  .vc-kpi strong { font-size: clamp(30px, 4.4vw, 40px); }
}
@media (max-width: 380px) {
  .vc-hero__title { font-size: 34px; }
  .vc-kpi strong { font-size: 30px; }
  .vc-stats { gap: 14px 22px; }
}
@media (max-width: 1180px) { .vc-group__mark { display: none; } }
@media (max-width: 600px) { .vc-hero__title .vc-line > span { white-space: normal; } }

/* =========================================================
   Governance page — extra components
   ========================================================= */
.vc-hero__inner--solo { grid-template-columns: minmax(0, 900px); }

/* model: heading left, text + foundations right */
.vc-model { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 96px); align-items: start; }
.vc-model__head { display: grid; gap: 18px; position: sticky; top: 110px; }
.vc-model__body { display: grid; gap: 22px; }
.vc-found { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin-top: 10px; }
.vc-found li { position: relative; display: grid; gap: 8px; align-content: start; padding: 20px 18px 22px 24px;
  background: linear-gradient(90deg, var(--vc-paper) 0, rgba(255,255,255,.6) 60%, transparent), repeating-linear-gradient(-45deg, var(--vc-soft) 0 3px, transparent 3px 9px); }
.vc-found li::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--vc-accent); }
.vc-found b { font: 700 clamp(19px, 1.6vw, 22px)/1.15 var(--vc-display); letter-spacing: -.01em; }
.vc-found span { font: 400 15px/1.4 var(--vc-text); color: var(--vc-ink-2); }

/* principles: two big words */
.vc-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--vc-ink); }
.vc-principle { position: relative; display: grid; gap: 16px; align-content: start; padding: clamp(32px, 5vw, 64px) clamp(4px, 3vw, 48px) clamp(32px, 5vw, 64px) 0; }
.vc-principle + .vc-principle { border-left: 1px solid var(--vc-line); padding-left: clamp(20px, 4vw, 56px); }
.vc-principle__word { font: 700 clamp(34px, 5vw, 84px)/.9 var(--vc-display); overflow-wrap: anywhere; letter-spacing: -.04em; }
.vc-principle__word i { font-style: normal; color: var(--vc-accent); }
.vc-principle p { max-width: 46ch; }
.vc-aims { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 40px); margin-top: clamp(28px, 4vw, 48px); }
.vc-aim { display: flex; gap: 18px; align-items: flex-start; }
.vc-aim .vc-tick { width: 20px; margin-top: 4px; }
.vc-aim h3 { font: 300 clamp(20px, 1.9vw, 26px)/1.2 var(--vc-display); }
.vc-aim h3 b { font-weight: 700; }

/* board of directors */
.vc-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.vc-member { display: grid; gap: 0; }
.vc-member__plate { position: relative; aspect-ratio: 4 / 3; overflow: hidden; display: grid; place-items: center;
  background-color: #ececef; background-image: radial-gradient(circle, #cfcfd4 1.6px, transparent 2px); background-size: 12px 12px; }
.vc-member__plate::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 22px; background: repeating-linear-gradient(-45deg, var(--vc-paper) 0 3px, transparent 3px 9px), var(--vc-accent); transform: translateX(-100%); transition: transform .5s var(--vc-ease); }
.vc-member:first-child .vc-member__plate::before { transform: none; }
@media (hover: hover) { .vc-member:hover .vc-member__plate::before { transform: none; } }
.vc-member__ini { font: 300 clamp(64px, 7vw, 110px)/1 var(--vc-display); letter-spacing: -.04em; color: var(--vc-ink); }
.vc-member__ini b { font-weight: 700; }
.vc-member__body { display: grid; gap: 6px; padding: 20px 4px 4px; border-top: 1px solid var(--vc-ink); }
.vc-member__name { font: 700 clamp(20px, 1.8vw, 24px)/1.15 var(--vc-display); letter-spacing: -.01em; }
.vc-member__role { font: 700 12px/1.35 var(--vc-text); letter-spacing: .14em; text-transform: uppercase; color: var(--vc-mute); }

@media (max-width: 900px) {
  .vc-model { grid-template-columns: 1fr; }
  .vc-model__head { position: static; }
  .vc-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .vc-found { grid-template-columns: 1fr; }
  .vc-principles { grid-template-columns: 1fr; }
  .vc-principle { padding-right: 0; }
  .vc-principle + .vc-principle { border-left: 0; border-top: 1px solid var(--vc-line); padding-left: 0; }
  .vc-aims { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .vc-board { grid-template-columns: 1fr; }
}
/* long vertical word: smaller so the whole word stays inside the hero */
.vc .vc-hero__giant--long { font-size: clamp(64px, 6.4vw, 100px); }
@media (max-width: 760px) { .vc .vc-hero__giant--long { font-size: clamp(56px, 15vw, 80px); } }
@media (max-width: 560px) { .vc-member__plate { aspect-ratio: 16 / 9; } }
/* taller hero so the big vertical "the group" fits whole, as large as "brands" */
@media (min-width: 761px) {
  .vc .vc-hero--tall { min-height: clamp(640px, 62vw, 900px); display: flex; align-items: center; }
  .vc .vc-hero--tall > .vc-hero__inner { width: 100%; }
}

/* =========================================================
   Global presence (location worldwide) — map, country grid, country page
   ========================================================= */

/* ---------- interactive map ---------- */
.vc-ww { display: grid; gap: clamp(20px, 3vw, 36px); }
.vc-ww__map { position: relative; padding: clamp(16px, 3vw, 40px); background: var(--vc-soft); overflow: hidden; }
.vc-ww__map::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--vc-accent); z-index: 2; }
.vc-ww__map svg { display: block; width: 100%; height: auto; overflow: visible; }
.vc .vc-ww__map path { fill: url(#vc-ww-dots); stroke: var(--vc-soft); stroke-width: .8; cursor: pointer; transition: fill .35s var(--vc-ease), opacity .35s; outline: none; }
.vc .vc-ww__map path.is-empty { cursor: default; opacity: .55; }
@media (hover: hover) { .vc .vc-ww__map path:not(.is-empty):hover { fill: var(--vc-ink); } }
.vc .vc-ww__map path:focus-visible { fill: var(--vc-ink); }
.vc .vc-ww__map path.is-active { fill: var(--vc-accent); }
.vc .vc-ww__map.has-active path:not(.is-active):not(:hover) { opacity: .55; }
.vc-ww__badges { position: absolute; inset: clamp(16px, 3vw, 40px); pointer-events: none; }
.vc .vc-ww__badge { position: absolute; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 10px; border-radius: 999px; background: #fff; color: var(--vc-ink); font: 700 12px/1 var(--vc-text); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; pointer-events: auto; cursor: pointer; box-shadow: 0 6px 18px rgba(17,17,18,.12); transition: background .3s var(--vc-ease), color .3s, transform .4s var(--vc-ease); border: 0; }
.vc .vc-ww__badge b { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--vc-accent); color: #fff; font-size: 11px; letter-spacing: 0; }
.vc .vc-ww__badge:hover, .vc .vc-ww__badge.is-active { background: var(--vc-ink); color: #fff; transform: translate(-50%, -50%) scale(1.06); }
.vc-ww__hint { display: flex; align-items: center; gap: 10px; font: 400 14px/1.4 var(--vc-text); color: var(--vc-mute); }
.vc-ww__hint .vc-dot { flex: none; }

/* ---------- toolbar: regions + search ---------- */
/* region filter pills (same component as the Sustainability initiatives) */
.vc-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: clamp(24px, 3vw, 36px); }
.vc .vc-filter { display: inline-flex; align-items: center; padding: 10px 18px; border-radius: 999px; border: 1px solid var(--vc-line); font: 400 15px/1 var(--vc-text); color: var(--vc-ink-2); background: none; cursor: pointer; transition: background .3s var(--vc-ease), color .3s, border-color .3s; white-space: nowrap; }
.vc .vc-filter:hover { border-color: var(--vc-ink); color: var(--vc-ink); }
.vc .vc-filter.is-active { background: var(--vc-ink); border-color: var(--vc-ink); color: #fff; }
@media (max-width: 760px) {
  .vc-filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--vc-gutter) * -1); padding: 2px var(--vc-gutter) 6px; scrollbar-width: none; }
  .vc-filters::-webkit-scrollbar { display: none; }
  .vc .vc-filter { flex: none; }
}
.vc-ww__bar { margin-bottom: clamp(20px, 2.6vw, 32px); }

.vc-ww__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.vc-ww__bar .vc-filters { margin-bottom: 0; }
.vc .vc-filter b { margin-left: 8px; font-weight: 700; color: var(--vc-accent); }
.vc .vc-filter.is-active b { color: #fff; opacity: .7; }
.vc-ww__search { position: relative; flex: 0 1 320px; min-width: 220px; }
.vc .vc-ww__search input { width: 100%; height: 44px; padding: 0 16px 0 44px; border: 1px solid var(--vc-line); border-radius: 999px; background: #fff; color: var(--vc-ink); font: 400 15px/1 var(--vc-text); outline: none; transition: border-color .3s; -webkit-appearance: none; appearance: none; box-shadow: none; margin: 0; }
.vc .vc-ww__search input:focus { border-color: var(--vc-ink); }
.vc-ww__search .vc-ico { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--vc-mute); pointer-events: none; }

/* ---------- country grid ---------- */
.vc-cgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: clamp(10px, 1.4vw, 16px); }
.vc-cgrid__item { min-width: 0; transition: opacity .35s var(--vc-ease), transform .45s var(--vc-ease); }
.vc-cgrid__item.is-out { opacity: 0; transform: scale(.97); }
.vc-cgrid__item.is-in { animation: vc-cardin .6s calc(var(--k, 0) * 30ms) var(--vc-ease) both; }
@keyframes vc-cardin { from { opacity: 0; transform: translateY(14px); } }
.vc .vc-country { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 12px; height: 100%; padding: 14px 16px; border: 1px solid var(--vc-line); color: var(--vc-ink); text-decoration: none; overflow: hidden; isolation: isolate; transition: border-color .35s, color .35s; }
.vc .vc-country::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--vc-ink); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--vc-ease); }
.vc .vc-country::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--vc-accent); transform: scaleY(0); transition: transform .4s var(--vc-ease); }
.vc-country__flag { width: 28px; height: 28px; border-radius: 50%; overflow: hidden; background: var(--vc-soft); box-shadow: inset 0 0 0 1px rgba(17,17,18,.08); }
.vc-country__flag img { width: 100%; height: 100%; object-fit: cover; }
.vc-country__body { display: grid; gap: 3px; min-width: 0; }
.vc-country__name { font: 700 17px/1.2 var(--vc-display); letter-spacing: -.01em; overflow-wrap: anywhere; }
.vc-country__region { font: 700 10.5px/1.2 var(--vc-text); letter-spacing: .14em; text-transform: uppercase; color: var(--vc-mute); transition: color .35s; }
.vc-country .vc-ico { color: var(--vc-accent); transition: transform .4s var(--vc-ease), color .35s; }
@media (hover: hover) {
  .vc .vc-country:hover { color: #fff; border-color: var(--vc-ink); }
  .vc .vc-country:hover::before { transform: none; }
  .vc .vc-country:hover::after { transform: none; }
  .vc .vc-country:hover .vc-country__region { color: rgba(255,255,255,.6); }
  .vc .vc-country:hover .vc-ico { transform: translateX(4px); }
}
.vc .vc-country:focus-visible::after { transform: none; }
.vc-cgrid__empty { padding: 28px 0; font: 400 16px/1.5 var(--vc-text); color: var(--vc-ink-2); }
.vc-cgrid__empty[hidden] { display: none; }

/* ---------- country page ---------- */
.vc-chero__flag { width: clamp(40px, 4vw, 52px); height: clamp(40px, 4vw, 52px); border-radius: 50%; overflow: hidden; margin-bottom: 6px; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--vc-line); }
.vc-chero__flag img { width: 100%; height: 100%; object-fit: cover; }
.vc .vc-back { display: inline-flex; align-items: center; gap: 10px; color: var(--vc-ink); text-decoration: none; font: 700 14px/1 var(--vc-text); }
.vc .vc-back .vc-ico { color: var(--vc-accent); transform: rotate(180deg); transition: transform .4s var(--vc-ease); }
.vc .vc-back:hover .vc-ico { transform: rotate(180deg) translateX(4px); }

.vc-contacts { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 96px); align-items: start; }
.vc-contacts__head { display: grid; gap: 18px; position: sticky; top: 110px; }
/* $reference->sales comes from the CMS editor: neutralise its inline centring */
.vc .vc-sales, .vc .vc-sales * { text-align: left !important; }
.vc-sales { font: 400 17px/1.6 var(--vc-text); color: var(--vc-ink-2); }
.vc-sales p { margin: 0 0 6px; }
.vc .vc-sales strong, .vc .vc-sales b { color: var(--vc-ink); font: 700 clamp(18px, 1.5vw, 21px)/1.25 var(--vc-display); letter-spacing: -.01em; }
.vc .vc-sales a { color: var(--vc-ink); text-decoration: underline; text-decoration-color: var(--vc-accent); text-decoration-thickness: 2px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.vc .vc-sales a:hover { color: var(--vc-accent); }
/* enhanced by JS: one card per company */
.vc-sales.is-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 18px); }
.vc-co { position: relative; display: grid; gap: 4px; align-content: start; padding: 20px 22px 20px 26px; background: var(--vc-soft); }
.vc-co::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--vc-accent); }
.vc-co > :first-child { margin-bottom: 4px; }
.vc-co p { margin: 0; }
.vc-co br + br { display: none; }
.vc-map { margin-top: clamp(28px, 4vw, 48px); border: 1px solid var(--vc-line); overflow: hidden; }
.vc-map:empty { display: none; }
.vc-map iframe { display: block; width: 100%; min-height: 360px; border: 0; filter: grayscale(1) contrast(1.05); transition: filter .6s var(--vc-ease); }
.vc-map:hover iframe { filter: none; }

.vc-others { display: flex; flex-wrap: wrap; gap: 10px; }
.vc .vc-chip { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 16px 0 8px; border-radius: 999px; border: 1px solid var(--vc-line); color: var(--vc-ink); text-decoration: none; font: 700 15px/1 var(--vc-text); transition: background .3s var(--vc-ease), color .3s, border-color .3s; }
.vc .vc-chip img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.vc .vc-chip:hover { background: var(--vc-ink); border-color: var(--vc-ink); color: #fff; }

/* ---------- responsive ---------- */
@media (max-width: 960px) {
  .vc-contacts { grid-template-columns: minmax(0, 1fr); }
  .vc-contacts__head { position: static; }
}
@media (max-width: 760px) {
  .vc-ww__badges { display: none; }
  .vc-ww__bar { flex-direction: column; align-items: stretch; }
  .vc-ww__search { flex: 1 1 auto; min-width: 0; }
  .vc-sales.is-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .vc .vc-country { grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px; padding: 12px 14px; }
  .vc-country__flag { width: 26px; height: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .vc .vc-country::before, .vc .vc-country::after, .vc .vc-ww__map path { transition: none; }
}

/* ---------- overlay: countries of the clicked continent ---------- */
html.vc-lock, html.vc-lock body { overflow: hidden; }
body.vc-pinned { position: fixed; left: 0; right: 0; width: 100%; }
.vc .vc-wwd { position: fixed; inset: 0; z-index: 10000; display: flex; justify-content: flex-end; }
.vc .vc-wwd[hidden] { display: none !important; }
.vc-wwd__scrim { position: absolute; inset: 0; background: rgba(17, 17, 18, .45); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .45s var(--vc-ease); }
.vc-wwd__panel { position: relative; width: min(620px, 100%); height: 100%; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: var(--vc-paper); transform: translateX(100%); transition: transform .55s var(--vc-ease); display: flex; flex-direction: column; outline: none; box-shadow: -24px 0 60px rgba(17,17,18,.18); }
.vc-wwd__panel::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--vc-accent); z-index: 3; }
.vc-wwd.is-open .vc-wwd__scrim { opacity: 1; }
.vc-wwd.is-open .vc-wwd__panel { transform: none; }
.vc-wwd__bar { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: calc(14px + env(safe-area-inset-top, 0px)) clamp(20px, 3vw, 36px) 14px; background: var(--vc-paper); border-bottom: 1px solid var(--vc-line); }
.vc .vc-wwd__close { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--vc-ink); color: var(--vc-ink); background: #fff; cursor: pointer; transition: background .3s var(--vc-ease), color .3s, transform .4s var(--vc-ease); }
.vc .vc-wwd__close:hover { background: var(--vc-ink); color: #fff; transform: rotate(90deg); }
.vc-wwd__close svg { width: 18px; height: 18px; }
.vc-wwd__head { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) clamp(120px, 34%, 200px); gap: 20px; align-items: end; padding: clamp(24px, 4vw, 40px) clamp(20px, 3vw, 36px) clamp(18px, 3vw, 28px); background: linear-gradient(90deg, var(--vc-paper) 0, rgba(255,255,255,.75) 60%, rgba(255,255,255,.3)), repeating-linear-gradient(-45deg, var(--vc-soft) 0 3px, transparent 3px 9px); border-bottom: 1px solid var(--vc-line); }
.vc-wwd__title { font: 700 clamp(34px, 4.4vw, 56px)/.95 var(--vc-display); letter-spacing: -.035em; text-transform: lowercase; overflow-wrap: anywhere; }
.vc-wwd__title::after { content: "."; color: var(--vc-accent); }
.vc-wwd__count { margin-top: 12px; font: 700 12px/1.2 var(--vc-text); letter-spacing: .14em; text-transform: uppercase; color: var(--vc-mute); }
.vc-wwd__count b { color: var(--vc-accent); font-size: 15px; margin-right: 4px; letter-spacing: 0; }
.vc-wwd__shape svg { display: block; width: 100%; height: auto; max-height: 150px; }
.vc .vc-wwd__shape path { fill: var(--vc-accent); }
.vc-wwd__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: clamp(20px, 3vw, 32px) clamp(20px, 3vw, 36px); }
.vc-wwd__item { min-width: 0; }
.vc-wwd.is-swap .vc-wwd__item { animation: vc-cardin .5s calc(.12s + var(--k, 0) * 25ms) var(--vc-ease) both; }
.vc-wwd.is-swap .vc-wwd__head > div { animation: vc-cardin .5s var(--vc-ease) both; }
.vc-wwd .vc-country__region { display: none; }
.vc-wwd__foot { margin-top: auto; display: grid; gap: 12px; padding: 20px clamp(20px, 3vw, 36px) calc(28px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--vc-line); }
.vc-wwd__foot .vc-eyebrow { margin: 0; }
.vc-wwd__others { display: flex; flex-wrap: wrap; gap: 8px; }
.vc-wwd__others .vc-filter { padding: 8px 14px; font-size: 14px; }
.vc-wwd__others .vc-filter[hidden] { display: none; }
@media (max-width: 560px) {
  .vc-wwd__list { grid-template-columns: minmax(0, 1fr); }
  .vc-wwd__head { grid-template-columns: minmax(0, 1fr) 110px; }
}
@media (prefers-reduced-motion: reduce) {
  .vc-wwd__panel, .vc-wwd__scrim { transition: none; }
  .vc-wwd.is-swap .vc-wwd__item, .vc-wwd.is-swap .vc-wwd__head > div { animation: none; }
}

/* =========================================================
   Proportions aligned to the Brands page (vb-): hero, giant word, index heads, rhythm
   ========================================================= */
.vc.vc--ww .vc-hero { padding-block: clamp(56px, 9vw, 128px) clamp(40px, 6vw, 88px); }
@media (min-width: 761px) { .vc.vc--ww .vc-hero--tall { min-height: 0; display: block; } }
.vc.vc--ww .vc-hero__inner { gap: clamp(22px, 3vw, 36px); }
.vc.vc--ww .vc-hero__title { font-size: clamp(48px, 9.2vw, 136px); }
.vc.vc--ww .vc-hero--country .vc-hero__title { font-size: clamp(44px, 7.6vw, 116px); }
.vc.vc--ww .vc-hero--country .vc-hero__title .vc-line > span { white-space: normal; }
/* giant word as on Brands; JS (fitGiant) only scales it down if a long word would not fit the hero */
.vc.vc--ww .vc-hero__giant, .vc.vc--ww .vc-hero__giant--long { font-size: clamp(120px, 21vw, 300px); right: -.08em; }
.vc.vc--ww .vc-hero__frame { max-width: 760px; }
.vc.vc--ww .vc-side { white-space: nowrap; }

/* index heads like "the portfolio" on Brands: title left, live count right, ink rule below */
.vc-ihead { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px 24px; padding-bottom: 18px; margin-bottom: clamp(18px, 2.4vw, 28px); border-bottom: 1px solid var(--vc-ink); }
.vc-ihead__count { font: 400 13px/1.2 var(--vc-text); letter-spacing: .12em; text-transform: uppercase; color: var(--vc-mute); font-variant-numeric: tabular-nums; }
.vc-ihead__count b { color: var(--vc-ink); font-weight: 700; }
.vc.vc--ww .vc-index { padding-block: clamp(20px, 3vw, 40px) clamp(24px, 3vw, 36px); }
.vc.vc--ww .vc-index + .vc-index { padding-top: clamp(28px, 4vw, 56px); }
.vc.vc--ww .vc-section { padding-block: clamp(44px, 6vw, 88px); }
.vc.vc--ww .vc-section--flush { padding-top: 0; }
.vc.vc--ww .vc-sechead { margin-bottom: clamp(18px, 2.6vw, 32px); gap: 12px; }
.vc-ww__hint { margin-top: 2px; }

/* continent buttons under the map (phones/tablets, where the map is too small to tap) */
.vc-ww__conts { display: none; }
.vc .vc-ww__cont { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 0 14px 0 16px; border: 1px solid var(--vc-line); background: #fff; color: var(--vc-ink); font: 700 14px/1.2 var(--vc-text); text-align: left; cursor: pointer; transition: border-color .3s, background .3s, color .3s; }
.vc .vc-ww__cont b { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: var(--vc-accent); color: #fff; font-size: 12px; }
.vc .vc-ww__cont:active, .vc .vc-ww__cont.is-active { background: var(--vc-ink); border-color: var(--vc-ink); color: #fff; }

/* =========================================================
   Mobile, carefully
   ========================================================= */
@media (max-width: 900px) {
  .vc-ww__conts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .vc-ww__badges { display: none; }
  .vc-ww__hint { display: none; }
}
@media (max-width: 760px) {
  .vc.vc--ww .vc-hero { padding-top: 64px; padding-bottom: 36px; }
  .vc.vc--ww .vc-hero__giant, .vc.vc--ww .vc-hero__giant--long { right: -.18em; font-size: clamp(110px, 32vw, 170px); }
  .vc.vc--ww .vc-hero__inner { padding-right: var(--vc-gutter); }
  .vc.vc--ww .vc-hero__frame { padding: 20px 20px 22px; gap: 20px; }
  .vc.vc--ww .vc-hero__lead { font-size: 17px; }
  .vc.vc--ww .vc-stats { gap: 12px 26px; }
  .vc.vc--ww .vc-stats li { min-width: 0; }
  .vc-chero__flag { width: 44px; height: 44px; }
  .vc-ww__map { padding: 12px 12px 12px 18px; }
  .vc-ww__map::before { width: 4px; }
  .vc-ihead { padding-bottom: 14px; }
  .vc-ihead .vc-h2 { font-size: 30px; }
  .vc .vc-filter { min-height: 44px; }
  .vc .vc-ww__search input { height: 48px; font-size: 16px; } /* 16px: no iOS zoom on focus */
  .vc-contacts__head { gap: 12px; }
  .vc .vc-chip { height: 44px; }
  .vc-wwd__bar { padding-inline: 16px 12px; }
  .vc-wwd__head { padding: 22px 16px 18px 22px; grid-template-columns: minmax(0, 1fr) 96px; }
  .vc-wwd__list { padding: 16px; }
  .vc-wwd__foot { padding-inline: 16px; }
}
/* compact two-column country cards on phones */
@media (max-width: 560px) {
  .vc-cgrid, .vc-wwd__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .vc .vc-country { grid-template-columns: 24px minmax(0, 1fr); gap: 10px; padding: 12px 10px 12px 12px; min-height: 56px; }
  .vc .vc-country > .vc-ico { display: none; }
  .vc-country__flag { width: 24px; height: 24px; }
  .vc-country__name { font-size: 14.5px; line-height: 1.15; overflow-wrap: normal; word-break: normal; hyphens: auto; }
  .vc-country__region { font-size: 9.5px; letter-spacing: .1em; }
  .vc-sales.is-cards { gap: 10px; }
  .vc-co { padding: 16px 16px 16px 20px; }
  .vc .vc-sales strong, .vc .vc-sales b { font-size: 17px; }
  .vc .vc-cta__actions .vc-btn { width: 100%; justify-content: space-between; }
}
@media (max-width: 359px) {
  .vc-cgrid, .vc-wwd__list { grid-template-columns: minmax(0, 1fr); }
  .vc-ww__conts { grid-template-columns: minmax(0, 1fr); }
}
.vc.vc--ww .vc-hero { padding-bottom: clamp(28px, 3.6vw, 52px); }
.vc .vc-back { min-height: 44px; }
@media (max-width: 760px) {
  .vc-ww__search { width: 100%; flex: 1 1 auto; min-width: 0; }
}
