/* 09.11.2026 MARKTOR-Schrift (wie im Markenzeichen) auf allen Seiten laden; --brand-serif nennt „Cinzel“ zuerst */
@font-face { font-family: "Cinzel"; src: url("fonts/cinzel-variable.ttf") format("truetype"); font-style: normal; font-weight: 400 900; font-display: swap; }
/* Cinzel ist breiter: Branchen-Karten dürfen schrumpfen, Link rutscht bei Bedarf unter die Überschrift (PL, 320 px) */
main .bo-list > * { min-width: 0; }
main .bo-head { flex-wrap: wrap; }
main .bo-head .bo-link { max-width: 100%; white-space: normal; }
/* MARKTOR — consistent reading sizes, retaining the original visual identity. */
:root { --reading-size: 1.125rem; --reading-leading: 1.7; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: var(--reading-size); line-height: var(--reading-leading); }
main p:not(.eyebrow):not(.hv-slogan):not(.hv-sub),
main :is(.checks, .bf-points, .gk-checks, .mot-q) li {
  font-size: var(--reading-size) !important;
  line-height: var(--reading-leading) !important;
}
main :is(h1,h2,h3,h4) { text-wrap: balance; }
main h1:not(.hv-kicker) { font-size: clamp(2rem, 3.5vw, 3.25rem) !important; line-height: 1.16 !important; }
main h2 { font-size: clamp(1.65rem, 2.9vw, 2.625rem) !important; line-height: 1.22 !important; letter-spacing: .015em !important; }
main h3 { font-size: clamp(1.125rem, 1.6vw, 1.375rem) !important; line-height: 1.4 !important; letter-spacing: .025em !important; }
main :is(.mot-sol, .mot-questions h3, .mot-change h3, .branch-feature h3, .vision-growth h3, .sy-vault h3) {
  font-size: clamp(1.35rem, 2.3vw, 1.875rem) !important;
}
main .eyebrow, .hero-v3 h1.hv-kicker { font-size: .875rem !important; line-height: 1.6 !important; letter-spacing: .13em !important; }
main .hv-slogan { font-size: clamp(2.125rem, 4.1vw, 4.25rem) !important; line-height: 1.12 !important; }
main .hv-sub { font-size: clamp(1.125rem, 1.55vw, 1.375rem) !important; line-height: 1.6 !important; }
.hero-v3 .hv-tiles .hv-list b { font-size: 1.375rem; line-height: 1.4; letter-spacing: .06em; }
.hero-v3 .hv-tiles .hv-list .hv-pt { font-size: 1.0625rem; line-height: 1.65; }
.hero-v3 .hv-tiles .hv-list .hv-more { font-size: .875rem; line-height: 1.5; }
main :is(.sector-kicker, .sector-more, .bf-link, .section-link a, .sy-inline-link) { font-size: .9375rem; line-height: 1.6; }
main :is(.vi-role, .vi-focus span, .vi-focus strong) { font-size: 1rem !important; line-height: 1.6 !important; }
main :is(.section-note, .section-note p, .sector-note, .inv-small, .sy-fineprint) { font-size: .9375rem !important; }
figure figcaption, figure.photo figcaption, .quick-steps .step-media figcaption { font-size: .8125rem; line-height: 1.5; }
.btn, .hero .actions .btn, .hero-v3 .hv-actions .btn {
  font-size: .875rem !important; line-height: 1.5; min-height: 48px !important;
  padding: 12px 20px !important; letter-spacing: .065em !important;
  white-space: normal !important; text-align: center;
}
.site-header .nav a:not(.btn) { font-size: .9375rem !important; line-height: 1.4; letter-spacing: .04em; }
.site-header .lang a { min-width: 36px; min-height: 44px; font-size: .875rem; padding-inline: 8px; }
.site-header .menu summary { min-width: 44px; min-height: 44px; }
.site-header .menu-panel a { font-size: 1rem; line-height: 1.5; min-height: 44px; }
.site-footer { font-size: .9375rem; line-height: 1.65; }
.site-footer a { display: inline-block; padding-block: 8px; }
main :is(.card,.sector-body,.join-card,.sy-step,.pl-list li) { min-width: 0; }
main :is(.card,.sector-body,.join-card,.sy-step,.pl-list li) h3 { margin-bottom: 12px; }
:focus-visible { outline: 3px solid var(--gold-2); outline-offset: 5px; }
/* Collapse navigation before readable labels can crowd the brand or language controls. */
@media (max-width: 1380px) {
  .site-header .nav { display: none; }
  .site-header .lang { margin-inline-start: auto; padding-left: 0; border-left: 0; }
  .site-header .menu { display: block; position: relative; }
  .site-header .menu summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(201,168,102,.35); color: var(--champagne); }
  .site-header .menu summary::-webkit-details-marker { display: none; }
  .site-header .menu-panel { position: absolute; inset-inline-end: 0; top: 52px; width: min(320px, calc(100vw - 32px)); max-height: calc(100dvh - 100px); overflow: auto; display: flex; flex-direction: column; padding: 8px; background: var(--ink-2); border: 1px solid rgba(201,168,102,.3); }
  .site-header .menu-panel a { padding: 12px 14px; color: #f1e5c9; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
}
@media (max-width: 760px) {
  :root { --reading-size: 1.0625rem; --reading-leading: 1.7; }
  .hero-v3 .hv-actions { flex-wrap: wrap; gap: 10px; }
  .hero-v3 .hv-actions .btn { flex: 1 1 180px; width: auto; max-width: 100%; }
  main .hv-slogan { font-size: clamp(1.875rem, 8vw, 2.5rem) !important; }
  main .hv-sub { font-size: 1.125rem !important; }
  .hero-v3 .hv-tiles .hv-list li { padding: 24px 22px; }
  .hero-v3 .hv-tiles .hv-list b { font-size: 1.25rem; }
  .site-header .wrap { gap: 10px; }
  .site-header .lang a { padding-inline: 6px; min-width: 31px; }
  .za-grid.mk-swipe { grid-auto-columns: 66%; }
  .mk-swipe { scrollbar-width: thin; scrollbar-color: var(--brass) transparent; }
  .mk-swipe::-webkit-scrollbar { display: block; height: 5px; }
  .mk-swipe::-webkit-scrollbar-thumb { background: var(--brass); }
}
html[dir="rtl"] main { line-height: 1.85; }
html[dir="rtl"] main :is(h1,h2,h3,h4,.eyebrow) { letter-spacing: 0 !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
@media (max-width: 760px) {
  .hero-v3 .hv-slogan { margin-bottom: 24px; max-width: 64%; }
  .hero-v3 .hv-actions { grid-row: 5; grid-column: 1; justify-self: stretch; align-self: auto; position: static; transform: none; width: auto; min-width: 0; flex-direction: column; margin: 24px 20px 0; }
  .hero-v3 .hv-actions .btn { flex: 0 1 auto; width: 100%; }
  .hero-v3 .hv-panel { grid-row: 6; }
}
.site-header .menu-panel .btn { color: #14120f; }
/* Consistent text sizes across equivalent content, including the motivation statement. */
:root { --reading-size: 1.125rem; }
main .mot-split .mot-quote {
  margin: 24px 0 16px; max-width: none; padding: 0; border: 0;
  font-family: var(--body); font-size: var(--reading-size) !important;
  font-weight: 600; line-height: var(--reading-leading) !important;
  text-align: start; color: var(--text); letter-spacing: normal;
}
main .mot-split .mot-quote .gold { color: inherit; }
main .mot-split .mot-after { margin: 0; max-width: none; text-align: start; }
main :is(.mot-sol, .mot-questions h3, .mot-change h3, .branch-feature h3, .vision-growth h3, .sy-vault h3) {
  font-size: clamp(1.125rem, 1.6vw, 1.375rem) !important;
  line-height: 1.4 !important; letter-spacing: .025em !important;
}
main :is(.statement, .mot-after, .mot-ask, .mot-strong, .mot-fromto p) { font-family: var(--body); }
.hero-v3 .hv-tiles .hv-list .hv-pt,
main :is(.vi-role, .vi-focus span, .vi-focus strong) { font-size: var(--reading-size) !important; line-height: var(--reading-leading) !important; }
@media (max-width: 760px) { :root { --reading-size: 1.125rem; } }
/* Show every mobile card in the normal page flow, without off-screen columns. */
@media (max-width: 760px) {
  main .mk-swipe {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 18px !important;
    margin-inline: 0 !important;
    padding: 0 !important;
    overflow: visible;
    scroll-snap-type: none;
  }
  main .mk-swipe > * { width: auto; min-width: 0; max-width: 100%; scroll-snap-align: none; }
}
@media (min-width: 561px) and (max-width: 760px) {
  main .mk-swipe { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
/* Desktop motivation photo: independent height and a group-focused crop.
   Mobile keeps the existing full-width photo above the copy. */
@media (min-width: 981px) {
  #motivation .mot-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: clamp(32px, 4vw, 64px); }
  #motivation .mot-split figure.photo {
    align-self: center; min-height: 0; margin-block: 0;
  }
  #motivation .mot-split figure.photo img {
    position: static; width: 100%; height: auto;
    aspect-ratio: 4 / 3; object-fit: cover; object-position: left center;
  }
  #motivation .mot-split figure.photo::after {
    background: linear-gradient(90deg, #f5f1e9 0%, rgba(245,241,233,0) 5%),
      linear-gradient(0deg, #f5f1e9 0%, rgba(245,241,233,0) 8%);
  }
}
/* Prevent long card headings from forcing a column wider than a phone. */
main :is(.eng-card, .gk-col, .pillar, .b4-body, .mot-card) { min-width: 0; max-width: 100%; }
@media (max-width: 860px) { .eng-teaser { grid-template-columns: minmax(0, 1fr); } }
.hero-v3 h2.hv-sub { font-family: var(--brand-serif); font-weight: 400; letter-spacing: .025em !important; font-size: clamp(1.375rem, 2vw, 1.75rem) !important; line-height: 1.4 !important; }
/* Slogan followed by the infrastructure title; the cooperation line sits below the logo. */
.hero-v3 h1.hv-kicker { margin: 24px 0 0; }
.hero-v3 .hv-mark-m { display: block; position: relative; inset: auto; grid-column: 1 / -1; width: 100%; margin: 0; padding: 34px 20px 30px; z-index: 2; }
.hero-v3 .hv-mark h2.hv-sub { margin: 20px auto 0; max-width: 900px; text-align: center; }
@media (min-width: 1181px) {
  .hero-v3 .hv-panel.hv-btns.hv-tiles { width: 100%; margin: 0 auto 64px; }
}
@media (max-width: 760px) {
  .hero-v3 h1.hv-kicker { grid-row: 2; margin: 18px 20px 0; }
  .hero-v3 .hv-mark-m { grid-row: 3; padding: 24px 20px 0; }
  .hero-v3 .hv-mark h2.hv-sub { grid-row: auto; margin: 18px auto 0; }
  .hero-v3 .hv-actions { grid-row: 4; }
  .hero-v3 .hv-panel { grid-row: 5; }
}
@media (min-width: 761px) and (max-width: 1180px) {
  .hero-v3 .hv-copy .hv-actions { left: 24px; transform: translateY(-50%); min-width: 0; max-width: calc(100% - 48px); }
}
/* One clickable entry for the combined problem-solving and benefits page. */
.hero-v3 .hv-btns .hv-list.hv-single { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
.hero-v3 .hv-tiles .hv-list.hv-single .hv-pts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
@media (max-width: 760px) {
  .hero-v3 .hv-tiles .hv-list.hv-single .hv-pts { grid-template-columns: minmax(0, 1fr); }
}

.quick-steps li.q-key .step-img img.gk-symbol { object-fit: cover; object-position: center; padding: 0; background: none; transform: none; }
/* Clear problem statement, five readable questions, then the four-step solution. */
main > section#vertrauen {
  padding: clamp(56px, 6.5vw, 92px) 0;
  background: #eee9df;
  color: #292823;
  border-top: 1px solid rgba(138,106,46,.22);
}
#vertrauen .trust-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  column-gap: clamp(36px, 6vw, 88px);
  align-items: start;
}
#vertrauen :is(.trust-heading, .trust-survey, .trust-result) { min-width: 0; }
main #vertrauen h2 {
  margin: 0;
  max-width: 23ch;
  color: #292823;
  font-size: clamp(1.65rem, 2.65vw, 2.375rem) !important;
  line-height: 1.25 !important;
  letter-spacing: .005em !important;
  text-wrap: balance;
}
#vertrauen .trust-focus { display: block; margin-top: .75em; color: #86652e; }
#vertrauen .trust-ask { margin: 0 0 22px; color: #494740; font-weight: 500; }
#vertrauen .trust-questions { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(138,106,46,.24); }
#vertrauen .trust-questions li {
  display: flex; align-items: center; gap: 18px;
  margin: 0; padding: 16px 0;
  border-bottom: 1px solid rgba(138,106,46,.24);
  color: #292823; font-size: var(--reading-size); line-height: 1.5;
}
#vertrauen .trust-questions li > span:last-child { min-width: 0; }
#vertrauen .trust-icon {
  display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px;
  color: #86652e; background: rgba(138,106,46,.065);
  border: 1px solid rgba(138,106,46,.19); border-radius: 8px;
}
#vertrauen .trust-icon svg { width: 23px; height: 23px; }
#vertrauen .trust-result {
  grid-column: 1 / -1; display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  column-gap: clamp(36px, 6vw, 88px);
  margin-top: 38px; padding-top: 30px;
  border-top: 1px solid rgba(138,106,46,.24);
}
#vertrauen .trust-result p { margin: 0; }
#vertrauen .trust-insight { max-width: 52ch; color: #5c584f; }
#vertrauen .trust-answer { padding-inline-start: 22px; border-inline-start: 2px solid #a9874c; color: #292823; font-weight: 600; }
.quick .solution-heading { max-width: 920px; margin-inline: auto; margin-bottom: 46px; }
.quick .solution-heading h2 { margin-bottom: 0; }
main #loesung .solution-heading .solution-statement {
  margin: 22px auto 14px; max-width: none;
  color: #f1e5c9; font-size: clamp(1.125rem, 1.7vw, 1.375rem) !important;
  font-weight: 500; line-height: 1.5 !important;
}
.quick .solution-heading .solution-detail { max-width: 74ch; margin: 0 auto; color: #c9c2b7; }
@media (max-width: 900px) {
  #vertrauen .trust-layout, #vertrauen .trust-result { grid-template-columns: minmax(0, 1fr); }
  #vertrauen .trust-layout { row-gap: 30px; }
  main #vertrauen h2 { max-width: 31ch; }
  #vertrauen .trust-result { margin-top: 0; row-gap: 20px; }
  #vertrauen .trust-insight { max-width: none; }
}
@media (max-width: 560px) {
  #vertrauen .wrap { padding-inline: 20px; }
  #vertrauen .trust-questions li { gap: 14px; padding-block: 14px; }
  #vertrauen .trust-icon { flex-basis: 38px; width: 38px; height: 38px; }
  .quick .solution-heading { margin-bottom: 30px; }
}

/* Keep industry card copy within narrow mobile columns. */
#branchenfirmen .sector-body { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }

/* Motivation: plain light beige and emphasis for the quality statement only. */
main > section#motivation { background-color: #f5f1e9 !important; background-image: none !important; }
#motivation .mot-quote { font-size: clamp(1.375rem, 1.9vw, 1.75rem) !important; font-weight: 700; line-height: 1.4 !important; }

#motivation :is(.body-lg, .body-lg strong, .mot-after) { font-weight: 400; }
/* Compact shared benefit statement below the four steps. */
#loesung .win-summary { margin: 36px auto 0; max-width: 1000px; color: var(--champagne); font-size: 1.125rem; line-height: 1.7; text-align: center; }
#loesung .win-summary strong { font-weight: 700; color: var(--brass); }

/* Readable general explanation for industry-company partners. */
#aufbau .branch-explanation { max-width: 920px; margin-inline: auto; overflow-wrap: anywhere; }
#aufbau .branch-explanation .section-head { max-width: none; margin-bottom: 32px; }
#aufbau .branch-explanation .section-head p { max-width: none; }
#aufbau .branch-explanation-block + .branch-explanation-block { margin-top: 32px; }
#aufbau .branch-explanation-block h3 { margin: 0 0 12px; font-size: clamp(1.25rem, 1.7vw, 1.5rem) !important; line-height: 1.35; }
#aufbau .branch-explanation-block p { margin: 0; }
#aufbau .branch-explanation-block p + p { margin-top: 14px; }
#aufbau .branch-explanation-block ul { margin: 0; padding-inline-start: 24px; }
#aufbau .branch-explanation-block li + li { margin-top: 10px; }
#aufbau .branch-explanation-closing { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--line); }
/* 01.11.: Handy - eine einheitliche Groesse fuer allen Fliesstext (Wunsch des Nutzers: "Schrift gleich gross, einheitlich,
   ausser Ueberschriften"). Ueberschriften, kleine Versalzeilen (Eyebrow, Kicker, Status), Knoepfe, Kartentitel auf Bildern,
   Bildhinweise und der Schriftzug "Control creates trust." behalten ihre Groesse. */
@media (max-width: 760px) {
  :root { --reading-size: 1.0625rem; --reading-leading: 1.6; }
  main :is(p, li, td, th, dd, dt, address):not(.eyebrow):not(.mh-slogan):not(.hv-slogan):not(.sky-caption):not(.vision-sign),
  main :is(.offer-t, .za:not(.za-card) .za-t, .mh-points li, .checks li, .bf-points li, .hv-pt, .mh-link-hint, .mot-quote,
           .section-link a, .bo-link, .join-link, .sy-inline-link, .back, .lead, .section-note, .statement) {
    font-size: var(--reading-size) !important; line-height: var(--reading-leading) !important;
  }
  main :is(p, li:not(.sector):not(.za), td) > :is(a, span:not(.za-go):not(.mh-link-icon), em, b) { font-size: inherit !important; }
}
@media (max-width: 760px) {
  main #loesung .solution-heading .solution-statement { font-size: var(--reading-size) !important; line-height: var(--reading-leading) !important; }
  /* Kaestchen "Weitere Leistungen" einspaltig, damit lange Woerter wie "Veranstaltungsdienstleistungen" in die Zeile passen */
  main .offer-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
/* sehr schmale Handys: Seitenueberschriften etwas kleiner, damit lange Woerter (z. B. "Aufbauarchitektur") in die Zeile passen */
@media (max-width: 420px) {
  main h1:not(.hv-kicker):not(.mh-title) { font-size: clamp(1.6rem, 7.3vw, 2rem) !important; }
}
/* 01.11.: Handy - Bildkacheln uebersichtlich, zwei pro Reihe (Wunsch des Nutzers). Branchenkacheln: Bild im 4:3-Ausschnitt,
   Kicker, Titel, "Mehr erfahren" (die Beschreibung steht auf der Branchenseite). Big-Four-Saeulen ebenfalls zweispaltig.
   Kacheln mit laengeren Texten (vier Schritte, Karten) bleiben einspaltig, damit der Text nicht in schmalen Spalten steht. */
@media (max-width: 760px) {
  main .sector-grid, main .big4 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  main .sector-grid > li, main .big4 > * { min-width: 0; margin: 0 !important; }
  main .sector-grid .sector-media { aspect-ratio: 4 / 3 !important; height: auto !important; min-height: 0 !important; }
  main .sector-grid .sector-media img { width: 100%; height: 100%; object-fit: cover; }
  main .sector-grid .sector-body { padding: 12px 12px 14px !important; gap: 4px; }
  main .sector-grid .sector-body p { display: none !important; }
  main .sector-grid .sector-kicker { font-size: 10px !important; letter-spacing: .08em !important; line-height: 1.4 !important; }
  main .sector-grid h3 { font-size: 15px !important; line-height: 1.25 !important; margin: 4px 0 8px !important; }
  main .sector-grid .sector-more { font-size: 11px !important; letter-spacing: .06em !important; }
  main .big4 .b4 > img { width: 100%; height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover; }
  main .big4 .b4-body { padding: 12px 12px 14px !important; }
  main .big4 h3 { font-size: 15px !important; line-height: 1.25 !important; }
  main .big4 .b4-body p, main .big4 .b4-list li { font-size: 15px !important; line-height: 1.5 !important; }
}
/* 01.11.: Bild beim Cooperation Manager (Seite Zusammenarbeit) neben der Einleitung, am Handy darunter */
main .cm-split { align-items: center; gap: clamp(28px, 5vw, 64px); margin-bottom: 44px; }
main .cm-split > * { min-width: 0; }
main .cm-split .section-head { margin-bottom: 0; }
main .cm-photo { margin: 0; }
main .cm-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 35%; border-radius: 4px; }
@media (max-width: 980px) { main .cm-split { gap: 24px; margin-bottom: 32px; } }
/* Kartenueberschriften auf der Seite Zusammenarbeit: einheitlich und so gross, dass "Fachunternehmen" in die schmale
   Karte passt (vorher je Karte 25-42 px und Umbruch mitten im Wort) */
main .join-card h2.join-h { font-size: clamp(1.25rem, 1.55vw, 1.5rem) !important; line-height: 1.25 !important; }
/* 02.11.: Einstieg fuer Branchenpartner direkt unter dem Kopfbild jeder Branchenseite (Wunsch des Nutzers) */
main .bp-intro { align-items: start; gap: clamp(28px, 5vw, 64px); }
main .bp-intro > *, main .bp-more > * { min-width: 0; }
main .bp-intro .section-head { margin-bottom: 0; }
main .bp-intro .section-head p { margin: 0 0 12px; }
main .bp-stake { padding: clamp(22px, 2.4vw, 32px); border: 1px solid #c9a866; border-radius: 6px; background: rgba(255,255,255,.6); }
main .bp-stake h3, main .bp-more h3 { margin: 0 0 12px; }
main .bp-stake p { margin: 0 0 12px; }
main .bp-stake p:last-child { margin-bottom: 0; }
main .bp-sub { margin: clamp(40px, 5vw, 56px) 0 20px; }
main .bp-more { margin-top: clamp(36px, 5vw, 56px); gap: clamp(28px, 5vw, 64px); }
main .bp-more p { margin: 0 0 12px; }
main .bp-more .btn { margin-top: 10px; }
/* 02.11.: Handy - feste Schriftskala auf allen Seiten (Wunsch des Nutzers: "einheitlich, gut lesbar, Ueberschriften
   nicht so gross, dass es albern aussieht"). Stufen: Seitentitel 26, Abschnittsueberschrift 22, Zwischenueberschrift
   und Kartentitel 18, Fliesstext 17, Eyebrow und Knoepfe 14, Etiketten, Nummern und Bildhinweise 13; in den
   zweispaltigen Bildkacheln Titel und Text 15, Etiketten 12. body:not(#mk-ts) main:not(#mk-ts) hebt die Regeln ueber
   die seitenbezogenen Groessen (#vertrauen, #motivation, #aufbau, .system-page usw.). Schriftzug im Startbild bleibt. */
@media (max-width: 760px) {
  body:not(#mk-ts) main:not(#mk-ts) h1:not(.hv-kicker):not(.mh-title) { font-size: clamp(1.5rem, 7.2vw, 1.625rem) !important; line-height: 1.2 !important; }
  body:not(#mk-ts) main:not(#mk-ts) h2:not(.mh-sub):not(.hv-sub) { font-size: clamp(1.25rem, 6vw, 1.375rem) !important; line-height: 1.25 !important; }
  body:not(#mk-ts) main:not(#mk-ts) :is(h3, h4, summary, .sy-econ-grid strong),
  body:not(#mk-ts) main:not(#mk-ts) .join-card h2.join-h,
  body:not(#mk-ts) main:not(#mk-ts) #motivation .mot-quote { font-size: 1.125rem !important; line-height: 1.4 !important; }
  body:not(#mk-ts) main:not(#mk-ts) .sy-flow-foot > div { font-size: var(--reading-size) !important; line-height: var(--reading-leading) !important; }
  body:not(#mk-ts) main:not(#mk-ts) :is(.num, .pl-n, .sy-step-number, .sy-principle-marker, .eng-status, .sy-evidence-id, .sy-label,
    .sy-value-no, .sy-hero-proof span, .premium-toplink, .mh-ben-l, .sector-kicker, .sector-more, figcaption) {
    font-size: .8125rem !important; line-height: 1.5 !important;
  }
  body:not(#mk-ts) main:not(#mk-ts) :is(.sector-grid, .big4) h3 { font-size: .9375rem !important; line-height: 1.25 !important; letter-spacing: 0 !important; }
  body:not(#mk-ts) main:not(#mk-ts) .sector-grid :is(.sector-kicker, .sector-more) { font-size: .75rem !important; line-height: 1.4 !important; }
}
/* 02.11.: Big-Four-Modell, Kachel 01 - das MARKTOR-Zeichen mittig auf Weiss statt der Messing-Europakarte (Wunsch des Nutzers) */
main .big4 .b4.b4-logo.eu-b4 > img.b4-zeichen { box-sizing: border-box; object-fit: contain; object-position: center; padding: 13% 11%; background: #fff; }
main .big4 .b4.b4-logo.eu-b4:hover > img.b4-zeichen { transform: none; }
/* 02.11.: "Ihre Vorteile" von der Klickflaeche im Startbild auf die Seite Problemloesungen (Einstieg), drei Punkte */
main .pl-benefits { max-width: 640px; margin: 26px 0 30px; padding: 18px 22px 20px; border: 1px solid rgba(201,168,102,.42); border-radius: 6px; background: rgba(255,255,255,.03); }
main .pl-benefits .pl-benefits-l { margin: 0 0 10px; }
main .pl-benefits ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
main .pl-benefits li { position: relative; margin: 0; padding-inline-start: 18px; color: #f1e5c9; line-height: 1.5; }
main .pl-benefits li::before { content: ""; position: absolute; inset-inline-start: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: #c9a866; }
/* Big-Four-Saeulen (Europa-Seite #big-four, seit 02.11. mit Stichpunkten) am schmalen Handy einspaltig: Bild oben
   im Querformat, Titel, Satz und Stichpunkte darunter in normaler Lesegroesse. In der halben Breite passte
   "Technologiepartner" nur mit 9-11 px in die Zeile, und neben den Stichpunkten wurden die Bilder zu schmalen Streifen */
@media (max-width: 560px) {
  main .big4:has(> .eu-b4) { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
  main .big4 .eu-b4 > img, main .big4 .b4.b4-logo.eu-b4 > img { width: 100%; height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover; }
  main .big4 .b4.b4-logo.eu-b4 > img.b4-zeichen { object-fit: contain; padding: 7% 18%; }
  main .big4 .eu-b4 .b4-body { padding: 16px 18px 18px !important; }
  body:not(#mk-ts) main:not(#mk-ts) .big4 .eu-b4 h3 { font-size: 1.125rem !important; line-height: 1.3 !important; }
  body:not(#mk-ts) main:not(#mk-ts) .big4 .eu-b4 :is(.b4-body p, .b4-list li) { font-size: var(--reading-size) !important; line-height: 1.5 !important; }
}

/* Investoren #branchenfirma (Text des Nutzers 02.11.): Karten mit mehreren Absaetzen brauchen Abstand dazwischen */
main #branchenfirma .card p + p { margin-top: .75em; }

/* 05.11.: Bild des Nutzers ganz oben im Abschnitt #branchenpartner jeder Branchenseite, ohne Rahmen, mit weichem
   Verlauf in den hellen Abschnittshintergrund; Bildausschnitt je Seite ueber --bp-y */
main .bp-photo { position: relative; margin: 0 0 clamp(28px, 4vw, 44px); }
main .bp-photo img {
  display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover; object-position: 50% var(--bp-y, 40%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 64%, transparent 100%), linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to bottom, transparent 0, #000 6%, #000 64%, transparent 100%), linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
  mask-composite: intersect;
}
main .bp-photo figcaption { position: absolute; bottom: 4px; right: 8%; margin: 0; padding: 0; font-size: 12px; letter-spacing: .04em; color: #6f6656; }
[dir="rtl"] main .bp-photo figcaption { right: auto; left: 8%; }
@media (max-width: 760px) {
  main .bp-photo { margin: 0 -16px 24px; }
  main .bp-photo img {
    aspect-ratio: 16 / 9;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 5%, #000 70%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 5%, #000 70%, transparent 100%);
  }
  main .bp-photo figcaption { right: 16px; }
  [dir="rtl"] main .bp-photo figcaption { right: auto; left: 16px; }
}

/* 05.11.: Hinweis "Symbolbild" nur noch bei Bildern mit Personen und dann klein, senkrecht und halbtransparent am
   Bildrand (Wunsch des Nutzers: "nur im Bild seitlich, dezent, schwer erkennbar"). Die :not(#...)-Selektoren
   schlagen die Handy-Schriftskala, ar.css und die Seitenkopf-Regeln. */
main figure:has(> figcaption) { position: relative; }
html:not(#mk-sb) body:not(#mk-ts) main:not(#mk-ts) figure > figcaption {
  position: absolute !important; top: auto !important; left: auto !important; right: 12px !important; bottom: 14px !important;
  z-index: 3 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: none !important; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; pointer-events: none;
  font-size: 9px !important; font-weight: 400 !important; line-height: 1 !important; letter-spacing: .12em !important;
  text-transform: none !important; color: rgba(241,229,201,.55) !important; text-shadow: 0 0 3px rgba(0,0,0,.45) !important;
}
html[dir="rtl"]:not(#mk-sb) body:not(#mk-ts) main:not(#mk-ts) figure > figcaption { right: auto !important; left: 12px !important; }
/* Bilder mit Verlauf (Branchenpartner): Hinweis dort, wo das Bild noch voll zu sehen ist */
html:not(#mk-sb) body:not(#mk-ts) main:not(#mk-ts) .bp-photo > figcaption { right: 9% !important; bottom: 40% !important; }
html[dir="rtl"]:not(#mk-sb) body:not(#mk-ts) main:not(#mk-ts) .bp-photo > figcaption { right: auto !important; left: 9% !important; }
@media (max-width: 760px) {
  html:not(#mk-sb) body:not(#mk-ts) main:not(#mk-ts) .bp-photo > figcaption { right: 12px !important; bottom: 34% !important; }
  html[dir="rtl"]:not(#mk-sb) body:not(#mk-ts) main:not(#mk-ts) .bp-photo > figcaption { right: auto !important; left: 12px !important; }
}

/* 05.11.: neun Branchenfirmen (MARKTOR Teleko dazu): am Rechner drei je Reihe, bei zwei Spalten steht die neunte Kachel
   mittig in einer eigenen Reihe */
@media (min-width: 1101px) { main .sector-grid:has(> li:nth-child(9)) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 1100px) {
  main .sector-grid > li:nth-child(9):last-child { grid-column: 1 / -1; justify-self: center; width: calc(50% - 8px); }
}
@media (max-width: 760px) { main .sector-grid > li:nth-child(9):last-child { width: calc(50% - 6px); } }

/* 07.11.: Kopfbereich – Lead, Text und Kurzpunkte in einem einheitlichen hellen Grau (Wunsch des Nutzers: nicht weiß und grau gemischt) */
body main > section.page-intro .intro-split > div :is(p:not(.eyebrow):not(.eu-claim), li, p strong, li strong) {
  color: #b9b5ad !important; -webkit-text-fill-color: #b9b5ad !important;
}

/* 08.11.2026 Sprachauswahl ausklappbar: Weltkugel + Kürzel der aktuellen Sprache, darunter alle Sprachen in ihrer
   eigenen Schreibweise. Rückbau: diesen Block löschen und im Kopf wieder die Leiste DE | EN | PL | AR einsetzen. */
.site-header .lang .langsel { position: relative; }
.site-header .lang .langsel > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 12px; border: 1px solid rgba(201,168,102,.35); color: #f1e5c9; font: 700 13px/1 var(--display); letter-spacing: .1em; -webkit-user-select: none; user-select: none; }
.site-header .lang .langsel > summary::-webkit-details-marker { display: none; }
.site-header .lang .langsel > summary:hover, .site-header .lang .langsel[open] > summary { border-color: var(--brass); color: #dcc48e; }
.site-header .lang .langsel svg { flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.site-header .lang .langsel .langsel-globe { color: var(--brass); }
.site-header .lang .langsel .langsel-chev { stroke-width: 1.5; transition: transform .2s ease; }
.site-header .lang .langsel[open] .langsel-chev { transform: rotate(180deg); }
.site-header .lang .langsel .langsel-panel { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 70; min-width: 214px; display: flex; flex-direction: column; padding: 6px; background: var(--ink-2); border: 1px solid rgba(201,168,102,.3); box-shadow: 0 16px 36px rgba(0,0,0,.38); }
.site-header .lang .langsel .langsel-panel a { display: grid; grid-template-columns: 40px 1fr; align-items: center; min-width: 0; min-height: 46px; padding: 0 12px; border: 0; border-radius: 0; background: none; color: #f1e5c9; font: 600 15px/1.2 var(--display); letter-spacing: .02em; text-transform: none; text-align: start; }
.site-header .lang .langsel .langsel-panel a + a { border: 0; border-top: 1px solid rgba(201,168,102,.14); }
.site-header .lang .langsel .langsel-panel a:hover { background: rgba(201,168,102,.1); color: #dcc48e; }
.site-header .lang .langsel .langsel-panel a[aria-current="true"] { background: rgba(201,168,102,.09); color: #dcc48e; }
html[dir="rtl"] .site-header .lang .langsel .langsel-panel a { direction: rtl; }  /* stärker als ar.css [lang]:not([lang="ar"]) */
.site-header .lang .langsel .langsel-name { justify-self: start; }
.site-header .lang .langsel .langsel-code { font: 700 11.5px/1 var(--display); letter-spacing: .12em; color: var(--brass); }
.site-header .lang .langsel .langsel-panel a[lang="ar"] .langsel-name { font-family: var(--ar-sans, "Segoe UI", Tahoma, "Noto Sans Arabic", sans-serif); font-size: 16.5px; letter-spacing: 0; }
@media (max-width: 760px) { .site-header .lang .langsel > summary { gap: 6px; padding: 0 10px; } }

/* 08.11.2026 Event: 24 Bildkarten – 6 je Reihe ab 1280 px, 4 je Reihe darunter, am Handy 2 (Regel bei 900 px) */
@media (min-width: 1280px) { .za-grid.za-six { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 901px) and (max-width: 1279.98px) { .za-grid.za-six { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* 08.11.2026 Seite M.C.M. (zusammenarbeit.html): drei Rollenkarten, Zwischenüberschrift, Ablauf bis zur Vergütung */
main .join.join-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 860px) { main .join.join-three { grid-template-columns: minmax(0, 1fr); } }
main .mcm-sub { margin: 56px 0 22px; }
main .mcm-flow { margin-top: 56px; align-items: start; }
main .mcm-flow h3 { margin: 0 0 14px; }
main .mcm-flow > * { min-width: 0; }
main ol.checks.mcm-steps { counter-reset: mcm; margin: 0; }
main .mcm-steps li { counter-increment: mcm; padding-left: 46px; }
main .mcm-steps li::before { content: counter(mcm, decimal-leading-zero); border: 0; transform: none; width: auto; height: auto; left: 0; top: 12px; font: 700 13px/1.6 var(--display); letter-spacing: .12em; color: var(--gold-deep, var(--gold)); }
html[dir="rtl"] main .mcm-steps li { padding-left: 0; padding-right: 46px; }
html[dir="rtl"] main .mcm-steps li::before { left: auto; right: 0; }
@media (max-width: 980px) { main .mcm-flow { margin-top: 44px; gap: 24px; } main .mcm-sub { margin-top: 44px; } }

/* 08.11.2026 zehn Branchenfirmen (MARKTOR Hospitality dazu): am Rechner 4 je Reihe, die letzten zwei mittig;
   darunter zwei Spalten (5 volle Reihen). Hospitality-Seite: erste Zwischenüberschrift ohne großen Abstand oben */
@media (min-width: 1101px) {
  main .sector-grid:has(> li:nth-child(10)) { grid-template-columns: repeat(8, minmax(0, 1fr)) !important; }
  main .sector-grid:has(> li:nth-child(10)) > li { grid-column: span 2; }
  main .sector-grid:has(> li:nth-child(10)) > li:nth-child(9) { grid-column: 3 / span 2; }
}
main .za-branch > .za-first-head { margin-top: 0; }

/* 09.11.2026 Immo: Bildfolge Hausverkauf -> Empfehlung (#beispiel), eine Zeile pro Bild im Zickzack */
main .immo-story { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(44px, 6vw, 80px); }
main .immo-story > li { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: clamp(28px, 5vw, 72px); margin: 0; padding: 0; }
main .immo-story > li:nth-child(even) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
main .immo-story > li:nth-child(even) > figure { order: 2; }
main .immo-story figure.photo { margin: 0; min-width: 0; }
main .immo-story figure.photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
main .immo-story .immo-story-text { min-width: 0; max-width: 460px; }
main .immo-story .num { display: block; font-family: var(--brand-serif); font-weight: 600; color: var(--gold); font-size: clamp(26px, 2.6vw, 36px); line-height: 1; letter-spacing: .06em; margin-bottom: 16px; }
main .immo-story h3 { margin: 0 0 12px; text-wrap: balance; }
main .immo-story p { margin: 0; }
@media (max-width: 900px) {
  main .immo-story { gap: 48px; }
  main .immo-story > li, main .immo-story > li:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 680px; }
  main .immo-story > li:nth-child(even) > figure { order: 0; }
  main .immo-story .immo-story-text { max-width: none; }
}

/* 09.11.2026 Immo #kern: Karten Immobilienunternehmen / Fachunternehmen / Kunden mit Symbol, Nutzen-Satz und Häkchen */
main .kern-cards .card { display: flex; flex-direction: column; }
main .kern-cards .card h3 { margin-bottom: 6px; }
main > section#kern .kern-cards .card p.kern-claim { margin: 0 0 14px; font-family: var(--brand-serif); font-weight: 600; font-size: 1.02rem; line-height: 1.4; color: var(--gold-deep, var(--gold)); }
main .kern-cards .checks { margin: 18px 0 0; }
main .kern-cards .checks li { font-size: 15px; line-height: 1.5; padding-block: 9px; padding-inline: 28px 0; }
main .kern-cards .checks li::before { top: 15px; }
main .kern-gegenzug { margin-top: 28px; padding: 16px 22px; border: 1px solid var(--line); border-left: 3px solid var(--gold); background: var(--bg); }
html[dir="rtl"] main .kern-gegenzug { border-left: 1px solid var(--line); border-right: 3px solid var(--gold); }

/* 09.11.2026: neue Kopfbilder Gastro/Finanz – zwischen 1000 und 1259 px ist das Bildfeld fast hochkant;
   dort zwei statt drei Personen zeigen, damit kein halbes Gesicht am Rand steht */
@media (max-width: 1259.98px) {
  main figure.photo img[src$="kopf-finanz-analyse.jpg"] { object-position: 30% 50% !important; }
  main figure.photo img[src$="kopf-gastro-service.jpg"] { object-position: 33% 50% !important; }
}

/* 09.11.2026: Überschriften immer fett (Wunsch des Nutzers) */
:is(h1, h2, h3, h4, h5, h6), .mh-slogan, .sy-ov-close, main p.kern-claim { font-weight: 700 !important; }
:is(h1, h2, h3, h4, h5, h6, .mh-slogan, .sy-ov-close) .gold { font-weight: inherit !important; }

/* 09.11.2026: Event – zwei Eindrücke (Feier mit Feuershow, Buffet) unter der Einführung */
main .event-eindruecke { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 36px; }
main .event-eindruecke figure.photo { margin: 0; min-width: 0; }
main .event-eindruecke figure.photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 760px) { main .event-eindruecke { grid-template-columns: 1fr; gap: 16px; } }

/* 09.11.2026: Beispiel-Abschnitt mit einem Bild (Work, Energie) – zwei Absätze im Text */
main .immo-story .immo-story-text p + p { margin-top: 12px; }
