/*
 * 0.4.82: shared editorial correction, DE/EN and editor.
 * Source Sans 3 stays local. Cards, CTA and the compact experience keep their
 * existing typography and geometry; no global heading or container reset.
 */
:is(.vg-site, .editor-styles-wrapper) {
  --vg-editorial-h1-082: clamp(3rem, 3.5vw, 3.5rem);
  --vg-editorial-h2-082: clamp(2.25rem, 2.75vw, 2.625rem);
  --vg-editorial-h3-082: clamp(1.375rem, 1.7vw, 1.5rem);
  --vg-editorial-copy-082: 1.125rem;
  --vg-editorial-gutter-082: 24px;
}

/* Hero titles are text leaves. Buttons and hero composition retain ownership. */
:is(.vg-site, .editor-styles-wrapper) .vg-page-hero .vg-page-hero__copy > h1,
:is(.vg-site, .editor-styles-wrapper) .vg-content-hero h1,
:is(.vg-site, .editor-styles-wrapper) .vg-legal-header h1 {
  font-family: var(--vg-sans);
  font-size: var(--vg-editorial-h1-082);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.01em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
:is(.vg-site, .editor-styles-wrapper) .vg-home-shared-066 .vg-page-hero__copy > h1 {
  font-size: var(--vg-editorial-h1-082);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.01em;
}
:is(.vg-site, .editor-styles-wrapper) .vg-home-shared-066 .vg-page-hero__copy > h1 > span,
:is(.vg-site, .editor-styles-wrapper) .vg-home-shared-066 .vg-page-hero__copy > h1 > span:nth-child(n+2) {
  font-weight: 600;
  color: inherit;
}
:is(.vg-site, .editor-styles-wrapper) .vg-page-hero .vg-page-hero__copy > .vg-lead {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}

/* A leaf whitelist and descendant guard keep every established card/CTA native. */
:is(.vg-site main, .editor-styles-wrapper) :is(
  .vg-container > h2,
  .vg-chapter-copy > h2,
  .vg-illustrated-copy > h2,
  .vg-page-section__heading > h2,
  .vg-editorial-071__row > div > h2
):not(.vg-eyebrow):not(.vg-page-note--heading):not(:where(
  .vg-cta, .vg-page-section--cta, .vg-page-section--signature-cta, .vg-page-cta,
  .vg-button-row, .vg-button, .vg-primary-area-card, .vg-card, .vg-service-field,
  .vg-service-diagram, .vg-diagram-item, .vg-diagram-core, .vg-engagement-row-069,
  .vg-partnership-services-078__item, .vg-partnership-services-078__family,
  #schutzkonzepte .vg-content-subsection, #familienalltag .vg-content-subsection,
  #eigene-schutzmittel
) *) {
  font-size: var(--vg-editorial-h2-082);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: 24px;
}

/* Titles before cards are editorial; no selector reaches into their cards. */
:is(.vg-site, .editor-styles-wrapper) :is(
  #hauptzugaenge > .vg-container > h2,
  #schutzkonzepte.vg-advisory-planning-071 > .vg-container > h2,
  #familienalltag.vg-content-chapter > .vg-container > .vg-chapter-copy > h2,
  #zusammenarbeit.vg-engagements-069 > .vg-container > h2
) {
  font-size: var(--vg-editorial-h2-082);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: 28px;
}
:is(.vg-site, .editor-styles-wrapper) #sicherheitspartnerschaften.vg-partnership-teaser-077 > .vg-container > div > h2 {
  font-size: var(--vg-editorial-h2-082);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.vg-site main .vg-story-069 .vg-story-069__chapter :is(
  .vg-chapter-copy > h2, .vg-illustrated-copy > h2, .vg-page-section__heading > h2
):not(.vg-eyebrow):not(.vg-page-note--heading) {
  font-size: clamp(2rem, 2.5vw, 2.3rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: 24px;
}
:is(.vg-site, .editor-styles-wrapper) .vg-legal-section > h2 {
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
  margin-bottom: 24px;
}

:is(.vg-site main, .editor-styles-wrapper) :is(
  .vg-content-subsection > h3,
  .vg-editorial-rows-071 > article > h3,
  .vg-about-topic-082 > h3
):not(:where(
  .vg-cta, .vg-page-section--cta, .vg-page-section--signature-cta, .vg-page-cta,
  .vg-button-row, .vg-button, .vg-primary-area-card, .vg-card, .vg-service-field,
  .vg-service-diagram, .vg-diagram-item, .vg-diagram-core, .vg-engagement-row-069,
  .vg-partnership-services-078__item, .vg-partnership-services-078__family,
  #schutzkonzepte .vg-content-subsection, #familienalltag .vg-content-subsection,
  #eigene-schutzmittel
) *) {
  font-size: var(--vg-editorial-h3-082);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: normal;
}
:is(.vg-site main, .editor-styles-wrapper) :is(
  .vg-page-copy > p,
  .vg-illustrated-copy > p,
  .vg-content-subsection > p,
  .vg-editorial-rows-071 > article > p,
  .vg-about-topic-082 > p,
  .vg-legal-section > p,
  .vg-legal-section > ul > li,
  .vg-legal-section > ol > li
):not(:where(
  .vg-cta, .vg-page-section--cta, .vg-page-section--signature-cta, .vg-page-cta,
  .vg-button-row, .vg-button, .vg-primary-area-card, .vg-card, .vg-service-field,
  .vg-service-diagram, .vg-diagram-item, .vg-diagram-core, .vg-engagement-row-069,
  .vg-partnership-services-078__item, .vg-partnership-services-078__family,
  #schutzkonzepte .vg-content-subsection, #familienalltag .vg-content-subsection,
  #eigene-schutzmittel
) *) {
  max-width: 65ch;
  font-size: var(--vg-editorial-copy-082);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}
/* Match the existing, deliberately separate partnership teaser axis. */
:is(.vg-site, .editor-styles-wrapper) #sicherheitspartnerschaften.vg-partnership-teaser-077 > .vg-container > .vg-page-copy > p {
  font-size: var(--vg-editorial-copy-082);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}

/* The additional company evidence stays in a compact text sequence. */
:is(.vg-site, .editor-styles-wrapper) #erfahrung-arbeitsweise > .vg-illustrated-grid {
  align-items: start;
}
:is(.vg-site, .editor-styles-wrapper) .vg-about-topics-082 {
  display: grid;
  gap: 1.5rem;
}
:is(.vg-site, .editor-styles-wrapper) .vg-about-topic-082 {
  min-width: 0;
}
:is(.vg-site, .editor-styles-wrapper) .vg-about-topic-082 + .vg-about-topic-082 {
  padding-top: 1.5rem;
  border-top: 1px solid #dedcd4;
}
:is(.vg-site, .editor-styles-wrapper) .vg-about-topic-082 > h3 { margin: 0 0 .75rem; }
:is(.vg-site, .editor-styles-wrapper) .vg-about-topic-082 > p { margin: 0; }
:is(.vg-site, .editor-styles-wrapper) .vg-about-topic-082 > p + p { margin-top: 1rem; }

/* Three brief steps, not another large page section or set of service cards. */
:is(.vg-site, .editor-styles-wrapper) .vg-contact-process-082 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.5rem 0 2rem;
  padding: 0;
  list-style: none;
  counter-reset: vg-contact-step-082;
}
:is(.vg-site, .editor-styles-wrapper) .vg-contact-process-082 > li {
  min-width: 0;
  padding-top: .75rem;
  border-top: 1px solid #dedcd4;
  color: #5c6468;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  counter-increment: vg-contact-step-082;
}
:is(.vg-site, .editor-styles-wrapper) .vg-contact-process-082 > li::before {
  display: block;
  margin-bottom: .35rem;
  color: #786b52;
  content: counter(vg-contact-step-082, decimal-leading-zero);
  font-size: .8rem;
  font-weight: 600;
}
:is(.vg-site, .editor-styles-wrapper) .vg-contact-process-082 > li > strong {
  display: block;
  color: #23333f;
  font-weight: 600;
}
:is(.vg-site, .editor-styles-wrapper) .vg-contact-hint-082 {
  max-width: 65ch;
  margin: 0;
  color: #5c6468;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
}
/* Both languages use #anliegen. Offset only this target, leaving form/CTA layout intact. */
.vg-site .vg-contact-section#anliegen {
  scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--vg-header-height-compact, 68px) + 1.5rem);
}
@media (max-width: 1200px), (prefers-reduced-motion: reduce) {
  .vg-site .vg-contact-section#anliegen {
    scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--vg-header-height, 76px) + 1.5rem);
  }
}

/* Images keep a stable frame throughout a chapter change. */
.vg-site .vg-story-069__frame,
.vg-site .vg-story-069__slide,
.vg-site .vg-story-069__slide > picture { background: transparent; }
.vg-site .vg-story-069:has(#schutz-bei-bedrohung) .vg-story-069__slide > picture > img {
  object-fit: cover;
}
.vg-site .vg-story-069:has(#schutz-bei-bedrohung) .vg-story-069__slide img[src*="personenschutz-begleitung"] {
  object-position: 50% 35%;
}
.vg-site .vg-story-069--capabilities .vg-story-069__slide > picture > img:not([src*="kommunikation"]) {
  object-fit: cover;
}
/* Original photo sections match the desktop stage when enhancement is absent. */
.vg-site :is(#schutz-bei-bedrohung, #familien-family-offices).vg-illustrated-section .vg-illustrated-media {
  aspect-ratio: 4 / 3;
  background: transparent;
}
.vg-site :is(#schutz-bei-bedrohung, #familien-family-offices).vg-illustrated-section .vg-illustrated-media > picture,
.vg-site :is(#schutz-bei-bedrohung, #familien-family-offices).vg-illustrated-section .vg-illustrated-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  aspect-ratio: auto;
  object-fit: cover;
}
.vg-site #schutz-bei-bedrohung.vg-illustrated-section .vg-illustrated-media img[src*="personenschutz-begleitung"] {
  object-position: 50% 35%;
}

@media (prefers-reduced-motion: no-preference) {
  .vg-site .vg-refine-enter-081,
  .vg-site .vg-page-hero .vg-page-hero__copy .vg-refine-enter-081 {
    animation-duration: 550ms;
  }
  .vg-site .vg-page-hero .vg-page-hero__media > .vg-refine-image-enter-081 {
    animation-duration: 600ms;
  }
  .vg-site .vg-story-069__slide { transition: opacity 300ms var(--vg-motion-ease); }
}
@keyframes vg-refine-enter-081 {
  from { opacity: .2; transform: translate3d(0, 14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Main links stay links. Disclosure state belongs to the separate button. */
.vg-site .vg-primary-nav .vg-submenu-toggle { display: none; }
.vg-site .vg-submenu-toggle__icon {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  pointer-events: none;
}
.vg-site .vg-submenu-toggle[aria-expanded="true"] .vg-submenu-toggle__icon {
  transform: translateY(2px) rotate(225deg);
}
@media (max-width: 1200px) {
  .vg-js .vg-site .vg-primary-nav .vg-operations-menu > .vg-operations-submenu { display: none; }
  .vg-js .vg-site .vg-primary-nav .vg-operations-menu.is-expanded > .vg-operations-submenu { display: block; }
  .vg-js .vg-site .vg-primary-nav .vg-operations-menu__head > .vg-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 0;
    color: #f8f6f1;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  .vg-js .vg-site .vg-primary-nav .vg-operations-menu__head > .vg-submenu-toggle:hover,
  .vg-js .vg-site .vg-primary-nav .vg-operations-menu__head > .vg-submenu-toggle:focus-visible {
    background: #ffffff15;
  }
  .vg-site .vg-primary-nav .vg-operations-menu__head > a { min-width: 0; flex: 1; }
}
@media (min-width: 901px) and (max-width: 1150px) {
  :is(.vg-site, .editor-styles-wrapper) .vg-home-shared-066 .vg-page-hero__copy > h1 {
    font-size: clamp(2.625rem, 4.4vw, 3rem);
  }
}
@media (max-width: 900px) {
  :is(.vg-site, .editor-styles-wrapper) {
    --vg-editorial-h1-082: clamp(1.75rem, 7.4vw, 2.125rem);
    --vg-editorial-h2-082: clamp(1.625rem, 6.8vw, 1.875rem);
    --vg-editorial-h3-082: clamp(1.25rem, 5.4vw, 1.375rem);
    --vg-editorial-copy-082: 1.0625rem;
  }
  :is(.vg-site, .editor-styles-wrapper) .vg-contact-process-082 { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 640px) {
  /* Set only ordinary editorial containers; cards/CTA/experience keep native widths. */
  :is(.vg-site main, .editor-styles-wrapper) :is(
    .vg-content-chapter, .vg-illustrated-section, .vg-editorial-071,
    .vg-page-section:not(.vg-page-section--cta, .vg-page-section--signature-cta),
    .vg-content-hero
  ) > .vg-container:not(:has(
    .vg-primary-area-card, .vg-card, .vg-service-field, .vg-service-diagram,
    .vg-engagement-row-069, .vg-partnership-services-078__item,
    .vg-partnership-services-078__family, .vg-family-scenarios,
    .vg-cta, .vg-page-cta, .vg-experience-073__layout
  )) {
    width: calc(100% - var(--vg-editorial-gutter-082) * 2);
  }
  :is(.vg-site, .editor-styles-wrapper) :is(.vg-legal-header, .vg-legal-page) > .vg-legal-shell {
    width: calc(100% - var(--vg-editorial-gutter-082) * 2);
  }
  :is(.vg-site, .editor-styles-wrapper) .vg-page-hero.vg-panorama .vg-page-hero__copy {
    padding-inline: var(--vg-editorial-gutter-082);
  }
  :is(.vg-site, .editor-styles-wrapper) #sicherheitspartnerschaften.vg-partnership-teaser-077 > .vg-container {
    width: calc(100% - var(--vg-editorial-gutter-082) * 2);
  }
  :is(.vg-site, .editor-styles-wrapper) #sicherheitspartnerschaften.vg-partnership-teaser-077 > .vg-container > div > h2 {
    font-size: clamp(1.5rem, 6.6vw, 1.875rem);
  }
}
@media (max-width: 360px) {
  :is(.vg-site, .editor-styles-wrapper) {
    --vg-editorial-gutter-082: 20px;
    --vg-editorial-copy-082: 1rem;
  }
}
@media (prefers-reduced-motion: reduce), print {
  .vg-site .vg-story-069__slide { transition: none; }
  .vg-site .vg-submenu-toggle__icon { transition: none; }
}
