/**
 * Shared Onkorp Elements typography refinements.
 * Keeps the main section headings visually consistent across all Gutenberg sections.
 */
:root {
  --onkorp-section-heading-letter-spacing: -0.036em;
  --onkorp-section-heading-letter-spacing-mobile: -0.03em;
  --onkorp-section-heading-size: clamp(44px, 5.4vw, 82px);
  --onkorp-section-heading-size-mobile: clamp(38px, 11vw, 56px);
}


.wp-block-onkorp-hero .onkorp-hero__title,
.wp-block-onkorp-hero-inner .onkorp-inner-hero__title,
.onkorp-hero-compact__title,
.wp-block-onkorp-hero-compact .onkorp-hero-compact__title,
.wp-block-onkorp-service-features .onkorp-service-features__title,
.wp-block-onkorp-process .onkorp-process__title,
.wp-block-onkorp-pricing .onkorp-pricing__title,
.wp-block-onkorp-owner-card .onkorp-owner-card__title,
.wp-block-onkorp-industries .onkorp-industries__title,
.wp-block-onkorp-how-work .onkorp-how-work__title,
.wp-block-onkorp-services-list .onkorp-services-list__title,
.wp-block-onkorp-differents .onkorp-differents__title,
.wp-block-onkorp-cases .onkorp-cases__title,
.wp-block-onkorp-testimonials .onkorp-testimonials__title,
.wp-block-onkorp-articles .onkorp-articles__title,
.wp-block-onkorp-cta .onkorp-cta__heading,
.onkorp-hero__title,
.onkorp-inner-hero__title,
.onkorp-service-features__title,
.onkorp-process__title,
.onkorp-pricing__title,
.onkorp-owner-card__title,
.onkorp-industries__title,
.onkorp-how-work__title,
.onkorp-services-list__title,
.onkorp-differents__title,
.onkorp-cases__title,
.onkorp-testimonials__title,
.onkorp-articles__title,
.onkorp-cta__heading {
  letter-spacing: var(--onkorp-section-heading-letter-spacing) !important;
  font-kerning: normal;
  text-rendering: geometricPrecision;
}


/*
 * Use one headline scale for regular content sections.
 * Hero H1 blocks intentionally keep their own scale, but all section H2-style
 * headings now share the same desktop/tablet/mobile sizing rhythm.
 */
.wp-block-onkorp-service-features .onkorp-service-features__title,
.wp-block-onkorp-process .onkorp-process__title,
.wp-block-onkorp-pricing .onkorp-pricing__title,
.wp-block-onkorp-owner-card .onkorp-owner-card__title,
.wp-block-onkorp-industries .onkorp-industries__title,
.wp-block-onkorp-how-work .onkorp-how-work__title,
.wp-block-onkorp-services-list .onkorp-services-list__title,
.wp-block-onkorp-differents .onkorp-differents__title,
.wp-block-onkorp-cases .onkorp-cases__title,
.wp-block-onkorp-testimonials .onkorp-testimonials__title,
.wp-block-onkorp-articles .onkorp-articles__title,
.wp-block-onkorp-cta .onkorp-cta__heading,
.onkorp-service-features__title,
.onkorp-process__title,
.onkorp-pricing__title,
.onkorp-owner-card__title,
.onkorp-industries__title,
.onkorp-how-work__title,
.onkorp-services-list__title,
.onkorp-differents__title,
.onkorp-cases__title,
.onkorp-testimonials__title,
.onkorp-articles__title,
.onkorp-cta__heading {
  font-size: var(--onkorp-section-heading-size) !important;
  line-height: 0.96 !important;
}

@media (max-width: 760px) {
  .wp-block-onkorp-hero .onkorp-hero__title,
  .wp-block-onkorp-hero-inner .onkorp-inner-hero__title,
  .wp-block-onkorp-hero-compact .onkorp-hero-compact__title,
  .wp-block-onkorp-service-features .onkorp-service-features__title,
  .wp-block-onkorp-process .onkorp-process__title,
  .wp-block-onkorp-owner-card .onkorp-owner-card__title,
  .wp-block-onkorp-industries .onkorp-industries__title,
  .wp-block-onkorp-how-work .onkorp-how-work__title,
  .wp-block-onkorp-services-list .onkorp-services-list__title,
  .wp-block-onkorp-differents .onkorp-differents__title,
  .wp-block-onkorp-cases .onkorp-cases__title,
  .wp-block-onkorp-testimonials .onkorp-testimonials__title,
  .wp-block-onkorp-articles .onkorp-articles__title,
  .wp-block-onkorp-cta .onkorp-cta__heading,
  .onkorp-hero__title,
  .onkorp-inner-hero__title,
  .onkorp-hero-compact__title,
  .onkorp-service-features__title,
  .onkorp-process__title,
  .onkorp-owner-card__title,
  .onkorp-industries__title,
  .onkorp-how-work__title,
  .onkorp-services-list__title,
  .onkorp-differents__title,
  .onkorp-cases__title,
  .onkorp-testimonials__title,
  .onkorp-articles__title,
  .onkorp-cta__heading {
    letter-spacing: var(--onkorp-section-heading-letter-spacing-mobile) !important;
  }

  .wp-block-onkorp-service-features .onkorp-service-features__title,
  .wp-block-onkorp-process .onkorp-process__title,
  .wp-block-onkorp-owner-card .onkorp-owner-card__title,
  .wp-block-onkorp-industries .onkorp-industries__title,
  .wp-block-onkorp-how-work .onkorp-how-work__title,
  .wp-block-onkorp-services-list .onkorp-services-list__title,
  .wp-block-onkorp-differents .onkorp-differents__title,
  .wp-block-onkorp-cases .onkorp-cases__title,
  .wp-block-onkorp-testimonials .onkorp-testimonials__title,
  .wp-block-onkorp-articles .onkorp-articles__title,
  .wp-block-onkorp-cta .onkorp-cta__heading,
  .onkorp-service-features__title,
  .onkorp-process__title,
  .onkorp-owner-card__title,
  .onkorp-industries__title,
  .onkorp-how-work__title,
  .onkorp-services-list__title,
  .onkorp-differents__title,
  .onkorp-cases__title,
  .onkorp-testimonials__title,
  .onkorp-articles__title,
  .onkorp-cta__heading {
    font-size: var(--onkorp-section-heading-size-mobile) !important;
    line-height: 0.98 !important;
  }
}


/* v1.3.0 — shared icon alignment for Onkorp buttons and pill CTAs. */
:root {
  --onkorp-button-icon-size: 18px;
  --onkorp-button-icon-gap: 12px;
}

.onkorp-elements a[class*="__button"],
.onkorp-elements button[class*="__button"],
.onkorp-hero a[class*="__button"],
.onkorp-inner-hero a[class*="__button"],
.onkorp-service-features a[class*="__button"],
.onkorp-process a[class*="__button"],
.onkorp-pricing a[class*="__button"],
.onkorp-special-offer a[class*="__button"],
.onkorp-cta a[class*="__button"],
.onkorp-cta button[class*="__button"],
.onkorp-owner-card a[class*="__button"],
.onkorp-services-list a[class*="__button"],
.onkorp-differents a[class*="__button"],
.onkorp-cases a[class*="__button"],
.onkorp-articles a[class*="__button"],
.mg-header__cta,
.mg-mobile-panel__cta,
.mg-mobile-submenu__cta,
.onkorp-footer__cta,
.wp-block-button__link,
.mg-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--onkorp-button-icon-gap) !important;
  line-height: 1 !important;
}

.onkorp-elements a[class*="__button"] > svg,
.onkorp-elements button[class*="__button"] > svg,
.onkorp-elements a[class*="__button"] [class*="icon"],
.onkorp-elements button[class*="__button"] [class*="icon"],
.onkorp-hero a[class*="__button"] > svg,
.onkorp-inner-hero a[class*="__button"] > svg,
.onkorp-service-features a[class*="__button"] > svg,
.onkorp-process a[class*="__button"] > svg,
.onkorp-pricing a[class*="__button"] > svg,
.onkorp-special-offer a[class*="__button"] > svg,
.onkorp-cta a[class*="__button"] > svg,
.onkorp-cta button[class*="__button"] > svg,
.onkorp-owner-card a[class*="__button"] > svg,
.onkorp-services-list a[class*="__button"] > svg,
.onkorp-differents a[class*="__button"] > svg,
.onkorp-cases a[class*="__button"] > svg,
.onkorp-articles a[class*="__button"] > svg,
.mg-header__cta > svg,
.mg-mobile-panel__cta > svg,
.mg-mobile-submenu__cta > svg,
.onkorp-footer__cta > svg,
.wp-block-button__link > svg,
.mg-button > svg {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--onkorp-button-icon-size) !important;
  height: var(--onkorp-button-icon-size) !important;
  min-width: var(--onkorp-button-icon-size) !important;
  min-height: var(--onkorp-button-icon-size) !important;
  flex: 0 0 var(--onkorp-button-icon-size) !important;
  margin: 0 !important;
  line-height: 0 !important;
  position: static !important;
  transform: none !important;
  vertical-align: middle !important;
}

.onkorp-elements a[class*="__button"] svg,
.onkorp-elements button[class*="__button"] svg,
.onkorp-hero a[class*="__button"] svg,
.onkorp-inner-hero a[class*="__button"] svg,
.onkorp-service-features a[class*="__button"] svg,
.onkorp-process a[class*="__button"] svg,
.onkorp-pricing a[class*="__button"] svg,
.onkorp-special-offer a[class*="__button"] svg,
.onkorp-cta a[class*="__button"] svg,
.onkorp-cta button[class*="__button"] svg,
.onkorp-owner-card a[class*="__button"] svg,
.onkorp-services-list a[class*="__button"] svg,
.onkorp-differents a[class*="__button"] svg,
.onkorp-cases a[class*="__button"] svg,
.onkorp-articles a[class*="__button"] svg,
.mg-header__cta svg,
.mg-mobile-panel__cta svg,
.mg-mobile-submenu__cta svg,
.onkorp-footer__cta svg,
.wp-block-button__link svg,
.mg-button svg {
  display: block !important;
  width: var(--onkorp-button-icon-size) !important;
  height: var(--onkorp-button-icon-size) !important;
  flex: 0 0 var(--onkorp-button-icon-size) !important;
  margin: 0 !important;
  overflow: visible !important;
  vertical-align: middle !important;
}

.onkorp-elements a[class*="__button"] svg path,
.onkorp-elements button[class*="__button"] svg path,
.onkorp-hero a[class*="__button"] svg path,
.onkorp-inner-hero a[class*="__button"] svg path,
.onkorp-service-features a[class*="__button"] svg path,
.onkorp-process a[class*="__button"] svg path,
.onkorp-pricing a[class*="__button"] svg path,
.onkorp-special-offer a[class*="__button"] svg path,
.onkorp-cta a[class*="__button"] svg path,
.onkorp-cta button[class*="__button"] svg path,
.onkorp-owner-card a[class*="__button"] svg path,
.onkorp-services-list a[class*="__button"] svg path,
.onkorp-differents a[class*="__button"] svg path,
.onkorp-cases a[class*="__button"] svg path,
.onkorp-articles a[class*="__button"] svg path,
.mg-header__cta svg path,
.mg-mobile-panel__cta svg path,
.mg-mobile-submenu__cta svg path,
.onkorp-footer__cta svg path,
.wp-block-button__link svg path,
.mg-button svg path {
  vector-effect: non-scaling-stroke;
}

/* Normalize text/pseudo arrows used by theme/header buttons. */
.mg-header__cta::after,
.mg-mobile-panel__cta::after,
.mg-mobile-submenu__cta::after,
.mg-mega__cta a::after,
.mg-mega__text-link::after {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--onkorp-button-icon-size) !important;
  height: var(--onkorp-button-icon-size) !important;
  min-width: var(--onkorp-button-icon-size) !important;
  min-height: var(--onkorp-button-icon-size) !important;
  flex: 0 0 var(--onkorp-button-icon-size) !important;
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-align: center !important;
  transform: translateY(-1px) !important;
}

/* v1.3.1 — strict icon grid for every Onkorp CTA/button icon.
   The icon now always lives inside an exact square, independent from font line-height. */
:root {
  --onkorp-button-icon-size: 17px;
  --onkorp-button-icon-gap: 13px;
}

.onkorp-hero__button,
.onkorp-inner-hero__button,
.onkorp-service-features__link,
.onkorp-process__button,
.onkorp-pricing__button,
.onkorp-special-offer__button,
.onkorp-cta__button,
.onkorp-cta__icon-button,
.onkorp-owner-card__button,
.onkorp-services-list__button,
.onkorp-differents__button,
.onkorp-cases__button,
.onkorp-articles__button,
.mg-header__cta,
.mg-mobile-panel__cta,
.mg-mobile-submenu__cta,
.onkorp-footer__cta,
.mg-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--onkorp-button-icon-gap) !important;
  line-height: 1 !important;
}

.onkorp-inner-hero__button .onkorp-inner-hero__icon,
.onkorp-inner-hero__pill .onkorp-inner-hero__icon,
.onkorp-inner-hero__project-button .onkorp-inner-hero__icon,
.onkorp-process__button-icon,
.onkorp-special-offer__button-icon,
.onkorp-owner-card__button-icon,
.onkorp-hero__pill-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: var(--onkorp-button-icon-size) !important;
  height: var(--onkorp-button-icon-size) !important;
  min-width: var(--onkorp-button-icon-size) !important;
  min-height: var(--onkorp-button-icon-size) !important;
  flex: 0 0 var(--onkorp-button-icon-size) !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  transform: none !important;
  overflow: visible !important;
  vertical-align: middle !important;
}

.onkorp-hero__button > svg,
.onkorp-inner-hero__button > svg,
.onkorp-process__button > svg,
.onkorp-pricing__button > svg,
.onkorp-special-offer__button > svg,
.onkorp-cta__button > svg,
.onkorp-cta__icon-button > svg,
.onkorp-owner-card__button > svg,
.onkorp-services-list__button > svg,
.onkorp-differents__button > svg,
.onkorp-cases__button > svg,
.onkorp-articles__button > svg,
.onkorp-inner-hero__button .onkorp-inner-hero__icon > svg,
.onkorp-inner-hero__pill .onkorp-inner-hero__icon > svg,
.onkorp-inner-hero__project-button .onkorp-inner-hero__icon > svg,
.onkorp-process__button-icon > svg,
.onkorp-special-offer__button-icon > svg,
.onkorp-owner-card__button-icon > svg,
.onkorp-hero__pill-icon > svg {
  display: block !important;
  width: var(--onkorp-button-icon-size) !important;
  height: var(--onkorp-button-icon-size) !important;
  min-width: var(--onkorp-button-icon-size) !important;
  min-height: var(--onkorp-button-icon-size) !important;
  flex: 0 0 var(--onkorp-button-icon-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  position: static !important;
  transform: none !important;
  overflow: visible !important;
  vertical-align: top !important;
}

.onkorp-hero__button svg path,
.onkorp-inner-hero__button svg path,
.onkorp-process__button svg path,
.onkorp-pricing__button svg path,
.onkorp-special-offer__button svg path,
.onkorp-cta__button svg path,
.onkorp-cta__icon-button svg path,
.onkorp-owner-card__button svg path,
.onkorp-services-list__button svg path,
.onkorp-differents__button svg path,
.onkorp-cases__button svg path,
.onkorp-articles__button svg path {
  vector-effect: non-scaling-stroke;
}

/* Theme buttons that draw the arrow through ::after no longer use a text glyph. */
.mg-header__cta::after,
.mg-mobile-panel__cta::after,
.mg-mobile-submenu__cta::after,
.mg-mega__cta a::after,
.mg-mega__text-link::after,
.onkorp-footer__cta::after {
  content: "" !important;
  display: inline-block !important;
  width: var(--onkorp-button-icon-size) !important;
  height: var(--onkorp-button-icon-size) !important;
  min-width: var(--onkorp-button-icon-size) !important;
  min-height: var(--onkorp-button-icon-size) !important;
  flex: 0 0 var(--onkorp-button-icon-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round'/%3E%3Cpath d='M9 7h8v8' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round'/%3E%3Cpath d='M9 7h8v8' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: none !important;
  vertical-align: middle !important;
}
