@font-face {font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('/inproem-brand/fonts/Montserrat-Regular.woff2') format('woff2');}
@font-face {font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('/inproem-brand/fonts/Montserrat-SemiBold.woff2') format('woff2');}
@font-face {font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('/inproem-brand/fonts/Montserrat-Bold.woff2') format('woff2');}
@font-face {font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url('/inproem-brand/fonts/Montserrat-Black.woff2') format('woff2');}
:root {
  --inproem-navy: #213654;
  --inproem-turquoise: #41B3AB;
  --inproem-dark: #101B35;
  --inproem-white: #FFFFFF;
  --inproem-font: "Montserrat", Arial, sans-serif;
}

/* Approved Inproem identity. Loaded last after captured global and production CSS. */
:root, html body[data-inproem-brand] {
  --e-global-color-primary: #213654;
  --e-global-color-secondary: #213654;
  --e-global-color-accent: #41B3AB;
  --e-global-color-text: #213654;
  --e-global-typography-primary-font-family: "Montserrat";
  --e-global-typography-secondary-font-family: "Montserrat";
  --e-global-typography-text-font-family: "Montserrat";
  --e-global-typography-accent-font-family: "Montserrat";
}
html body[data-inproem-brand],
html body[data-inproem-brand] :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,li,dt,dd) {
  font-family: "Montserrat", Arial, sans-serif !important;
}
html body[data-inproem-brand] :is(h1,h2,h3,h4,h5,h6) { font-weight: 700; }
html body[data-inproem-brand] :is(button,.elementor-button,.zt-assess-cta-btn,.zt-assess-section-btn,.ifooter-cta-btn,.cky-btn-accept) {
  background: #41B3AB !important; color: #101B35 !important;
  border-color: #41B3AB !important; font-weight: 600 !important;
  text-shadow: none !important;
}
html body[data-inproem-brand] :is(button,.elementor-button,.zt-assess-cta-btn,.zt-assess-section-btn,.ifooter-cta-btn,.cky-btn-accept):hover {
  background: #213654 !important; color: #fff !important; border-color: #213654 !important;
}
html body[data-inproem-brand] :is(a,button,input,select,textarea):focus-visible {
  outline: 3px solid #213654 !important; outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
html body[data-inproem-brand] :is(.native-language-switch,.inproem-breadcrumbs,#migration-preview-banner,.inproem-footer) {
  background-color: #101B35 !important; color: #fff !important;
}
html body[data-inproem-brand] :is(.native-language-switch,.inproem-breadcrumbs,.inproem-footer) a { color: #fff; }
html body[data-inproem-brand] .inproem-footer { --inproem-text: #fff; }
html body[data-inproem-brand] [data-elementor-type="twbb_header"] {
  background: #fff !important; color: #213654 !important;
}
html body[data-inproem-brand] [data-elementor-type="twbb_header"] :is(.twbb-item,.twbb-menu-toggle) {
  color: #213654 !important;
}
/* Space around the mark exceeds half its 39-unit vertical stroke at 180px. */
html body[data-inproem-brand] .inproem-brand-link {
  display: inline-block !important; padding: 8px !important;
  width: auto !important; height: auto !important; overflow: visible !important;
}
html body[data-inproem-brand] img.inproem-brand-logo,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element[data-id="fjkzp5iu"] img.inproem-brand-logo {
  display: block !important; position: static !important;
  width: 220px !important; min-width: 180px !important; max-width: 100% !important;
  height: auto !important; max-height: none !important;
  aspect-ratio: 887 / 176 !important; object-fit: contain !important;
  margin: 0 !important; padding: 0 !important; inset: auto !important;
  filter: none !important; opacity: 1 !important; transform: none !important;
  box-shadow: none !important; text-shadow: none !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important;
}
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element[data-id="fjkzp5iu"] {
  width: 236px !important; max-width: 236px !important; flex: 0 0 236px !important;
}
html body[data-inproem-brand] .ifooter-brand-tagline { color: #fff !important; }

/* Direct language/review text also uses the supplied face, despite old font shorthands. */
html body[data-inproem-brand] :is(.native-language-switch,#migration-preview-banner,.inproem-breadcrumbs) {
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* The captured home reset styles the INNER row, not just its outer header.
   Match the actual Elementor scopes and outrank its important logo/menu rules. */
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.e-con,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .e-con-inner,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-nav-menu__container,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-nav-menu--dropdown {
  background: #fff !important;
  background-image: none !important;
  color: #213654 !important;
}
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.e-con::before,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-background-overlay {
  background: none !important;
  background-image: none !important;
}
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-item,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-item:hover,
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-menu-toggle {
  color: #213654 !important;
  background-color: #fff !important;
}

@media (max-width: 767px) {
  html body[data-inproem-brand] img.inproem-brand-logo,
  html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element[data-id="fjkzp5iu"] img.inproem-brand-logo {
    width: 180px !important;
  }
  html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element[data-id="fjkzp5iu"] {
    width: 196px !important; max-width: 196px !important; flex: 0 0 196px !important;
  }
}

/* The captured SVG icons have their own white fill; color inheritance is insufficient. */
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-menu-toggle {
  min-width: 44px !important; min-height: 44px !important;
  padding: 11px !important; box-sizing: border-box !important;
}
html body[data-inproem-brand] [data-elementor-type="twbb_header"] .elementor-element.elementor-widget-twbb-nav-menu .twbb-menu-toggle :is(svg,svg path) {
  fill: #213654 !important;
}

/* Small footer labels and legal text retain readable contrast on the dark brand surface. */
html body[data-inproem-brand] [data-elementor-type="twbb_footer"] :is(.ifooter-copyright,.ifooter-copyright strong,.ifooter-certs-label) {
  color: #FFFFFF !important;
}

/* Light-surface pages: a legacy dark-template rule forces white headings and paragraphs with !important.
   Restore readable brand text on the assessment page and in the consent banner/preferences dialog. */
html body[data-inproem-brand] .zt-assess-page :is(h1,h2,h3,h4,strong):not(button *) {
  color: #101B35 !important;
}
html body[data-inproem-brand] .zt-assess-page :is(p,li,label):not(button *) {
  color: #4a5568 !important;
}
html body[data-inproem-brand] :is(.cky-consent-container,.cky-modal,.cky-preference-center) :is(p,h1,h2,h3,h4,li,label,span,div):not(button,button *) {
  color: #212121 !important;
}
