/* KongressExpert shared editorial signature — 2026-09-21
   Keeps each page composition, but unifies the Home brand language. */
:root {
  --keb-ink: #173f3a;
  --keb-red: #ff270d;
  --keb-line: rgba(23, 63, 58, 0.2);
}

/* Match the About page's exact closing rhythm before the white footer site-wide. */
body.ke-modern-site:not(.ke-page-about2) .sectionWrapper:has(> .ke-footer-section) {
  padding-top: 96.32px !important;
  background: #fafafa !important;
}

/* Content templates own different final paddings. Remove only that last local
   padding so the single footer spacer above provides the same visual distance
   as About on every page. */
body.ke-modern-site:not(.ke-page-about2) .sectionWrapper:has(+ .sectionWrapper > .ke-footer-section) > .Section,
body.ke-modern-site:not(.ke-page-about2) .routerViewWrapper > :has(+ .sectionWrapper > .ke-footer-section),
body.ke-modern-site:not(.ke-page-about2) .routerViewWrapper > :has(+ .sectionWrapper > .ke-footer-section) > :last-child,
body.ke-modern-site:not(.ke-page-about2) main > :last-child {
  padding-bottom: 0 !important;
}

/* The /itweb/ pairing is canonical: page canvas #fafafa, footer #ffffff. */
html body.ke-modern-site[class] {
  background-color: #fafafa !important;
}

body.ke-page-eventsorg .ke-events,
body.ke-page-eventsconsult .ke-sustain,
body.ke-page-publishing .p-page {
  background-color: #fafafa !important;
}

body.ke-modern-site .ke-footer-section,
body.ke-modern-site .ke-footer-section > .pbElements {
  background-color: #ffffff !important;
}

/* Numbered content markers use the exact KongressExpert corporate red.
   Their existing size, layout and component-specific treatment stay intact. */
body .ke-service-card__index,
body.ke-page-about2 .a2-mission__n,
body.ke-page-eventsorg .m-cap__n,
body.ke-page-eventsorg .m-why__n,
body.ke-page-eventsrent .rl-item__n,
body.ke-page-eventsconsult .s-acc__n,
body.ke-page-eventsconsult .s-phase__dot,
body.ke-page-itweb .w-about__n,
body.ke-page-itweb .w-win__n,
body.ke-page-itzoom .b-svc__n,
body.ke-page-publishingcons .c-item__n,
body.ke-page-publishingcons .c-step__n,
body.ke-page-contacts .cf-head__n,
body.ke-page-legal .lg-head__n,
body.ke-page-sdgstate .s-head__n,
body.ke-page-sdgstate .s-point__n {
  color: var(--keb-red) !important;
}

body.ke-page-eventsconsult .s-phase__dot {
  border-color: var(--keb-red) !important;
}

body.ke-page-about2 .a2-svc__n {
  color: #fff !important;
  background-color: var(--keb-red) !important;
  border-color: var(--keb-red) !important;
}

/* One restrained scale for the first content heading on every English page. */
#ke-home-intro-title,
.a2-h1,
#ke-events-title,
#ke-rentals-title,
#ke-sustain-title,
.w-h1,
.b-h1,
.p-h1,
.c-h1,
body.ke-page-gallery #NE2p0Lo31tTzN0C6,
.cf-head__t,
body.ke-page-sdgstate h1.s-head__t,
body.ke-page-legal .lg-head__t {
  color: #173f3a !important;
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(2rem, 1.25rem + 2.5vw, 3.5rem) !important;
  font-style: normal !important;
  font-weight: 450 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
}

/* Primary page labels: the same red rule + uppercase signature used on Home. */
body.ke-page-about2 .a2-eyebrow,
body.ke-page-eventsorg .m-num,
body.ke-page-eventsrent .rl-kicker,
body.ke-page-eventsconsult .s-lead__kicker,
body.ke-page-itweb .w-kicker,
body.ke-page-itzoom .b-eyebrow,
body.ke-page-publishingcons .c-eyebrow,
body.ke-page-contacts .cf-head__k,
body.ke-page-sdgstate .s-head__k,
body.ke-page-gallery .ke-gallery-kicker,
body.ke-page-legal .lg-head__k {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  color: var(--keb-red) !important;
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  line-height: normal !important;
  text-transform: uppercase !important;
}

body.ke-page-about2 .a2-eyebrow::before,
body.ke-page-eventsorg .m-num::before,
body.ke-page-eventsrent .rl-kicker::before,
body.ke-page-eventsconsult .s-lead__kicker::before,
body.ke-page-itweb .w-kicker::before,
body.ke-page-itzoom .b-eyebrow::before,
body.ke-page-publishingcons .c-eyebrow::before,
body.ke-page-contacts .cf-head__k::before,
body.ke-page-sdgstate .s-head__k::before,
body.ke-page-gallery .ke-gallery-kicker::before,
body.ke-page-legal .lg-head__k::before {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 2px !important;
  flex: 0 0 42px !important;
  background: currentColor !important;
  opacity: 1 !important;
}

body.ke-page-itweb .w-kicker::after {
  content: none !important;
  display: none !important;
}

body.ke-page-eventsorg .m-lead-kicker {
  margin: 0 0 24px !important;
}

body.ke-page-eventsorg main > .m-sec:first-child > div:first-child::before {
  content: none !important;
  display: none !important;
}

/* Every lead signature starts from the left, including pages that were originally centred. */
body.ke-page-eventsconsult .s-lead__kicker,
body.ke-page-itzoom .b-eyebrow {
  width: fit-content !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  justify-content: flex-start !important;
}

body.ke-page-itzoom .b-lead {
  text-align: left !important;
}

body.ke-page-itzoom .b-h1,
body.ke-page-publishing .p-h1,
body.ke-page-publishing .p-lead__p {
  margin-right: auto !important;
  margin-left: 0 !important;
}

/* Publishing keeps its separate nodes, but they render as the same inline Home signature. */
body.ke-page-publishing .p-lead {
  text-align: left !important;
}

body.ke-page-publishing .p-rule {
  display: none !important;
}

body.ke-page-publishing .p-eyebrow {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  margin: 0 0 1rem !important;
  color: var(--keb-red) !important;
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  line-height: normal !important;
  text-transform: uppercase !important;
}

body.ke-page-publishing .p-eyebrow::before {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 2px !important;
  flex: 0 0 42px !important;
  background: currentColor !important;
}

/* Section labels/numbers use one accent instead of page-specific gold, cyan or copper. */
body.ke-page-about2 .a2-head__n,
body.ke-page-eventsrent .rl-head__n,
body.ke-page-eventsconsult .s-head__n,
body.ke-page-itweb .w-head__n,
body.ke-page-itzoom .b-head__n,
body.ke-page-publishing .p-head__n,
body.ke-page-publishingcons .c-head__n {
  color: var(--keb-red) !important;
  font-weight: 700 !important;
}

/* Light-surface headings return to the Home dark-green voice. */
body.ke-page-about2 .a2-h1,
body.ke-page-eventsorg .m-h--dark,
body.ke-page-eventsrent .rl-h1,
body.ke-page-eventsconsult .s-lead__h1,
body.ke-page-itweb .w-h1,
body.ke-page-itzoom .b-h1,
body.ke-page-publishing .p-h1,
body.ke-page-publishingcons .c-h1,
body.ke-page-contacts .cf-head__t,
body.ke-page-sdgstate .s-head__t {
  color: var(--keb-ink) !important;
  font-style: normal !important;
  font-weight: 450 !important;
}

body.ke-page-about2 .a2-head__t,
body.ke-page-eventsrent .rl-head__t,
body.ke-page-eventsconsult .s-head__t,
body.ke-page-itweb .w-head__t,
body.ke-page-itzoom .b-head__t,
body.ke-page-publishing .p-head__t,
body.ke-page-publishingcons .c-head__t {
  color: var(--keb-ink) !important;
  font-weight: 500 !important;
}

/* Existing structural rules become the same red thread used on Home and in the footer. */
body.ke-page-eventsrent .rl-head,
body.ke-page-contacts .cf-head,
body.ke-page-sdgstate .s-head {
  border-color: var(--keb-red) !important;
}

body.ke-page-gallery .ke-gallery-section > .pbElements {
  align-items: flex-start !important;
  text-align: left !important;
}

body.ke-page-gallery .ke-gallery-kicker {
  width: fit-content !important;
  margin: 0 0 1rem !important;
}

html body.ke-page-gallery .ke-gallery-section .Header::before,
html body.ke-page-gallery .ke-gallery-section .Header2::before {
  content: none !important;
  display: none !important;
}

html body.ke-page-gallery .ke-gallery-section .Header,
html body.ke-page-gallery .ke-gallery-section .Header2,
html body.ke-page-gallery .ke-gallery-section .ke-gallery-subhead {
  max-width: 1050px !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  color: var(--keb-ink) !important;
  text-align: left !important;
}

html body.ke-page-gallery .ke-gallery-section .LongText {
  max-width: 1050px !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  text-align: left !important;
}

@media (max-width: 620px) {
  body.ke-page-about2 .a2-eyebrow,
  body.ke-page-eventsorg .m-num,
  body.ke-page-eventsrent .rl-kicker,
  body.ke-page-eventsconsult .s-lead__kicker,
  body.ke-page-itweb .w-kicker,
  body.ke-page-itzoom .b-eyebrow,
  body.ke-page-publishingcons .c-eyebrow,
  body.ke-page-contacts .cf-head__k,
  body.ke-page-sdgstate .s-head__k,
  body.ke-page-gallery .ke-gallery-kicker,
  body.ke-page-legal .lg-head__k {
    gap: 16px !important;
    font-size: 0.78rem !important;
  }

  body.ke-page-about2 .a2-eyebrow::before,
  body.ke-page-eventsorg .m-num::before,
  body.ke-page-eventsrent .rl-kicker::before,
  body.ke-page-eventsconsult .s-lead__kicker::before,
  body.ke-page-itweb .w-kicker::before,
  body.ke-page-itzoom .b-eyebrow::before,
  body.ke-page-publishingcons .c-eyebrow::before,
  body.ke-page-contacts .cf-head__k::before,
  body.ke-page-sdgstate .s-head__k::before,
  body.ke-page-gallery .ke-gallery-kicker::before,
  body.ke-page-legal .lg-head__k::before {
    width: 42px !important;
    flex-basis: 42px !important;
  }
}
 flex-basis: 42px !important;
  }
}
