@font-face {
  font-family: 'Meridian Display';
  src: url('../../../twentytwentyfive/assets/fonts/literata/Literata72pt-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Meridian Display';
  src: url('../../../twentytwentyfive/assets/fonts/literata/Literata72pt-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'Meridian Sans';
  src: url('../../../twentytwentyfive/assets/fonts/fira-sans/FiraSans-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Meridian Sans';
  src: url('../../../twentytwentyfive/assets/fonts/fira-sans/FiraSans-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --mi-accent: #2f80ed;
  --mi-accent-soft: #ff9f1c;
  --mi-background: #f3f6f8;
  --mi-surface: #ffffff;
  --mi-heading: #0c1720;
  --mi-heading-soft: #173b4e;
  --mi-text: #485763;
  --mi-text-soft: #71808c;
  --mi-line: rgba(12, 23, 32, 0.12);
  --mi-line-strong: rgba(12, 23, 32, 0.22);
  --mi-dark: #08121a;
  --mi-dark-soft: #10293a;
  --mi-shadow-lg: 0 24px 70px rgba(8, 18, 26, 0.16);
  --mi-shadow-md: 0 16px 42px rgba(8, 18, 26, 0.11);
  --mi-shadow-sm: 0 8px 24px rgba(8, 18, 26, 0.08);
  --mi-radius-xl: 12px;
  --mi-radius-lg: 10px;
  --mi-radius-md: 8px;
  --mi-radius-sm: 6px;
  --mi-shell: min(1120px, calc(100vw - 48px));
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  margin: 0;
  font-family: 'Meridian Sans', sans-serif;
  color: var(--mi-text);
  background: var(--mi-background);
}

body.admin-bar .mi-site-header {
  top: 32px;
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

button,
input,
select,
textarea {
  font: inherit;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mi-shell {
  width: var(--mi-shell);
  margin: 0 auto;
}

.mi-site-main {
  overflow: clip;
}

.mi-content-section,
.mi-section {
  padding: 84px 0;
}

.mi-anchor {
  position: relative;
  top: -110px;
  display: block;
  visibility: hidden;
}

.mi-promo-bar {
  background: linear-gradient(90deg, var(--mi-heading) 0%, var(--mi-heading-soft) 100%);
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.9rem;
}

.mi-promo-bar__inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.mi-promo-bar__inner p {
  margin: 0;
}

.mi-promo-bar__inner a {
  color: var(--mi-accent-soft);
  font-weight: 700;
  text-decoration: none;
}

.mi-site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 999;
  background: transparent;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}

.mi-site-header.is-scrolled,
body:not(.mi-front-page) .mi-site-header {
  background: var(--mi-heading);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.28);
}

.mi-site-header__inner {
  min-height: 74px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
}

.mi-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  text-decoration: none;
}

.mi-brand__mark {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: transparent;
  color: var(--mi-heading);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: none;
  overflow: hidden;
  flex: 0 0 42px;
}

.mi-brand__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mi-brand__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mi-brand__copy strong {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
}

.mi-brand__copy small {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.74rem;
  line-height: 1.3;
}

.mi-primary-nav {
  justify-self: center;
}

.mi-primary-nav__menu,
.mi-footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mi-primary-nav__menu {
  display: flex;
  align-items: center;
  gap: 4px;
}

.mi-primary-nav__menu > li {
  position: relative;
}

.mi-primary-nav__menu a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 10px;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.94rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease;
}

.mi-primary-nav__menu a:hover,
.mi-primary-nav__menu a:focus-visible,
.mi-primary-nav__menu .current-menu-item > a,
.mi-primary-nav__menu .current_page_item > a {
  color: var(--mi-accent);
  background: rgba(255, 255, 255, 0.08);
}

.mi-products-menu-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  z-index: 20;
  width: 310px;
  margin: 0;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  background: rgba(12, 23, 32, 0.97);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
  list-style: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.mi-products-menu-dropdown::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

.mi-primary-nav__menu > li:hover > .mi-products-menu-dropdown,
.mi-primary-nav__menu > li:focus-within > .mi-products-menu-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.mi-products-menu-dropdown a {
  display: flex;
  min-height: 54px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 6px;
}

.mi-products-menu-dropdown small {
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.76rem;
}

.mi-header-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
}

.mi-header-language {
  position: relative;
  z-index: 30;
  display: inline-flex;
  align-items: center;
}

.mi-header-language .fanyi2-language-switcher {
  position: relative;
  display: inline-block;
  z-index: 30;
}

.mi-header-language .fanyi2-switcher-current {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  box-shadow: none;
  font-size: 0.86rem;
}

.mi-header-language .fanyi2-switcher-current:hover {
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.13);
  box-shadow: none;
}

.mi-header-language .fanyi2-lang-name {
  max-width: 88px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mi-header-language .fanyi2-arrow {
  color: rgba(255, 255, 255, 0.66);
}

.mi-header-language .fanyi2-switcher-dropdown {
  top: calc(100% + 8px);
  right: 0;
  bottom: auto;
  margin: 0;
}

body > .fanyi2-language-switcher:not(.fanyi2-pos-inline) {
  display: none;
}

.mi-menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}

.mi-menu-toggle span {
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
}

.mi-button,
.btn-inquire,
.btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.mi-button__label {
  display: block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mi-button:hover,
.mi-button:focus-visible,
.btn-inquire:hover,
.btn-inquire:focus-visible,
.btn-submit:hover,
.btn-submit:focus-visible {
  transform: translateY(-2px);
}

.mi-button--primary,
.mi-header-quote {
  background: var(--mi-accent);
  color: #fff;
  box-shadow: 0 10px 28px rgba(47, 128, 237, 0.24);
}

.mi-button--primary:hover,
.mi-header-quote:hover {
  background: var(--mi-accent-soft);
  color: var(--mi-heading);
}

.mi-button--ghost {
  border: 2px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.03);
  color: #fff;
}

.mi-button--ghost:hover {
  border-color: var(--mi-accent);
  color: var(--mi-accent);
  background: rgba(232, 160, 32, 0.08);
}

.mi-button--secondary {
  background: var(--mi-heading);
  color: #fff;
}

.mi-button--secondary:hover {
  background: var(--mi-accent);
  color: var(--mi-heading);
}

.btn-inquire {
  width: 100%;
  background: var(--mi-heading);
  color: #fff;
}

.btn-inquire:hover {
  background: var(--mi-accent);
  color: var(--mi-heading);
}

.btn-submit {
  width: 100%;
  background: linear-gradient(135deg, var(--mi-heading), var(--mi-heading-soft));
  color: #fff;
}

.mi-text-link {
  color: var(--mi-heading);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.mi-text-link:hover {
  color: var(--mi-accent);
}

.mi-hero {
  position: relative;
  z-index: 0;
}

.mi-slider {
  position: relative;
  min-height: 86vh;
  overflow: hidden;
}

.mi-slider__track {
  display: flex;
  height: 100%;
  transition: transform 720ms cubic-bezier(0.77, 0, 0.18, 1);
}

.mi-slide {
  position: relative;
  flex: 0 0 100%;
  min-height: 86vh;
  overflow: hidden;
}

.mi-slide__backdrop,
.mi-slide__video,
.mi-slide__deco,
.mi-slide::before {
  position: absolute;
  inset: 0;
}

.mi-slide::before {
  content: '';
  background: linear-gradient(90deg, rgba(5, 12, 18, 0.9) 0%, rgba(7, 18, 26, 0.7) 48%, rgba(7, 18, 26, 0.22) 100%);
  z-index: 1;
}

.mi-slide__backdrop {
  background-size: cover;
  background-position: center;
  z-index: 0;
  transition: transform 8s ease-out;
}

.mi-slide.is-active .mi-slide__backdrop {
  transform: scale(1.01);
}

.mi-slide.has-bg-image .mi-slide__deco {
  display: none;
}

.mi-slide.has-bg-image .mi-slide__backdrop {
  background-position: 68% center;
  filter: brightness(0.84) saturate(1.08) contrast(1.05);
}

.mi-slide__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  filter: brightness(0.78) saturate(1.04) contrast(1.05);
}

.mi-slide.has-bg-video .mi-slide__backdrop {
  opacity: 0;
}

.mi-slide.has-bg-image::before {
  background: linear-gradient(90deg, rgba(5, 12, 18, 0.88) 0%, rgba(7, 18, 26, 0.56) 50%, rgba(7, 18, 26, 0.16) 100%);
}

.mi-slide__deco {
  display: none;
  z-index: 0;
}

.mi-slide__deco::before,
.mi-slide__deco::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  opacity: 0.12;
}

.mi-slide:not(.has-bg-image):nth-child(1) .mi-slide__backdrop {
  background-image: linear-gradient(135deg, #07121a 0%, #10293a 52%, #1d5f8f 100%);
}

.mi-slide:nth-child(1) .mi-slide__deco::before {
  width: 620px;
  height: 620px;
  right: -140px;
  top: -180px;
  background: var(--mi-accent);
}

.mi-slide:nth-child(1) .mi-slide__deco::after {
  width: 320px;
  height: 320px;
  left: 8%;
  bottom: -100px;
  background: var(--mi-accent-soft);
}

.mi-slide:not(.has-bg-image):nth-child(2) .mi-slide__backdrop {
  background-image: linear-gradient(135deg, #162040 0%, #2a1a5a 50%, #1a2060 100%);
}

.mi-slide:nth-child(2) .mi-slide__deco::before {
  width: 500px;
  height: 500px;
  left: -90px;
  bottom: -140px;
  background: #7c3aed;
}

.mi-slide:nth-child(2) .mi-slide__deco::after {
  width: 400px;
  height: 400px;
  right: 10%;
  top: -100px;
  background: var(--mi-accent);
}

.mi-slide:not(.has-bg-image):nth-child(3) .mi-slide__backdrop {
  background-image: linear-gradient(135deg, #0f2d1a 0%, #0b3a40 50%, #0b1a40 100%);
}

.mi-slide:nth-child(3) .mi-slide__deco::before {
  width: 720px;
  height: 720px;
  right: -220px;
  top: -220px;
  background: #16a34a;
}

.mi-slide:nth-child(3) .mi-slide__deco::after {
  width: 250px;
  height: 250px;
  left: 10%;
  bottom: 8%;
  background: var(--mi-accent-soft);
}

.mi-slide:not(.has-bg-image):nth-child(4) .mi-slide__backdrop {
  background-image: linear-gradient(135deg, #3a1a0b 0%, #5a2210 50%, #0b1a40 100%);
}

.mi-slide:nth-child(4) .mi-slide__deco::before {
  width: 560px;
  height: 560px;
  left: -100px;
  top: -100px;
  background: var(--mi-accent);
}

.mi-slide:nth-child(4) .mi-slide__deco::after {
  width: 360px;
  height: 360px;
  right: 5%;
  bottom: -80px;
  background: #e53e3e;
}

.mi-slide__inner {
  position: relative;
  z-index: 2;
  min-height: 86vh;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-top: 74px;
}

.mi-slide__content {
  width: min(700px, 100%);
  text-align: left;
}

.mi-slide__tag,
.mi-section-label,
.mi-page-hero__eyebrow,
.mi-side-panel__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 0.74rem;
  font-weight: 700;
}

.mi-slide__tag {
  padding: 5px 16px;
  border-radius: 999px;
  background: var(--mi-accent);
  color: var(--mi-heading);
  margin-bottom: 22px;
}

.mi-slide__content h1,
.mi-page-hero h1,
.mi-entry__content h1,
.mi-entry__content h2,
.mi-entry__content h3,
.mi-testimonial-card strong,
.mi-single-product__form-copy h2 {
  font-family: 'Meridian Sans', sans-serif;
}

.mi-slide__content h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 3.8rem;
  line-height: 1.12;
  text-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}

.mi-slide__content h1 em {
  color: var(--mi-accent);
  font-style: normal;
}

.mi-slide__content p {
  max-width: 640px;
  margin: 0 0 34px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  line-height: 1.75;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

.mi-slide__actions {
  display: flex;
  justify-content: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.mi-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 52px;
  height: 52px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.mi-slider__arrow:hover {
  background: var(--mi-accent);
  border-color: var(--mi-accent);
  color: var(--mi-heading);
}

.mi-slider__arrow--prev {
  left: 28px;
}

.mi-slider__arrow--next {
  right: 28px;
}

.mi-slider__arrow span {
  font-size: 2rem;
  line-height: 1;
}

.mi-slider__dots {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 5;
  display: flex;
  gap: 10px;
  transform: translateX(-50%);
}

.mi-slider__dots button {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.42);
  cursor: pointer;
  transition: transform 180ms ease, background-color 180ms ease;
}

.mi-slider__dots button.is-active {
  background: var(--mi-accent);
  transform: scale(1.28);
}

.mi-stats-bar {
  position: relative;
  z-index: 40;
  background: #07121a !important;
}

.mi-stats-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mi-stat-item {
  padding: 36px 28px;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
  background: #07121a;
}

.mi-stat-item:last-child {
  border-right: 0;
}

.mi-stat-item strong {
  display: block;
  font-size: 2.35rem;
  font-weight: 800;
  color: #ffffff;
}

.mi-stat-item span {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
}

.mi-section-head {
  max-width: 760px;
  margin: 0 auto 56px;
  text-align: center;
}

.mi-section-head--narrow {
  max-width: 640px;
}

.mi-section-label {
  color: var(--mi-accent);
  margin-bottom: 12px;
}

.mi-section-title {
  margin: 0 0 14px;
  color: var(--mi-heading);
  font-size: 2.45rem;
  line-height: 1.2;
  font-weight: 700;
}

.mi-section-sub {
  margin: 0 auto;
  color: var(--mi-text-soft);
  font-size: 1rem;
  line-height: 1.72;
}

.mi-section-actions {
  margin-top: 34px;
  display: flex;
  justify-content: center;
}

.mi-why {
  background: var(--mi-background);
}

.mi-why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

/* Cards are a flex column so the icon and heading can stay centred while the
   body copy goes left-aligned — a 5-line centred paragraph is ragged on both
   edges and noticeably harder to read than the heading it sits under. */
.mi-why-card {
  display: flex;
  flex-direction: column;
  padding: 34px 28px;
  border: 2px solid transparent;
  border-radius: var(--mi-radius-md);
  background: #fff;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  text-align: center;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.mi-why-card p {
  text-align: left;
}

/* Only worth reserving two title lines while the cards actually sit side by
   side — it lines their paragraphs up across the row. Once the grid collapses
   to one column there is nothing to align against and the reserved space is
   just a hole, so this stays behind the multi-column breakpoint. */
@media (min-width: 992px) {
  .mi-why-card h3 {
    min-height: 2.8em;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.mi-why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 38px rgba(11, 26, 64, 0.12);
  border-color: var(--mi-accent);
}

.mi-why-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 20px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--mi-heading), var(--mi-heading-soft));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  font-weight: 800;
}

/* Post cards render an <h2> in template-parts/post-card.php but an <h3> in
   template-parts/resources.php (correct there — the section itself is the h2).
   Every rule below has to cover both or the homepage news cards fall back to
   default link styling, underline included. */
.mi-why-card h3,
.mi-post-card__body h2 a,
.mi-post-card__body h3 a,
.mi-testimonial-card strong {
  transition: color 180ms ease;
}

.mi-post-card__body h2 a:hover,
.mi-post-card__body h3 a:hover {
  color: var(--mi-accent);
}

.mi-product-card__body h3 a {
  transition: color 180ms ease;
}

.mi-product-card__body h3 a:hover {
  color: var(--mi-accent);
}

.mi-post-card__body h2,
.mi-post-card__body h3,
.mi-widget__title,
.mi-side-panel__card h3 {
  margin: 0 0 10px;
  color: var(--mi-heading);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4;
}

.mi-why-card p,
.mi-post-card__body p,
.mi-entry__content p,
.mi-sidebar p,
.mi-side-panel__card p {
  margin: 0;
  line-height: 1.7;
}

.mi-products {
  background: #fff;
}

.mi-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.mi-catalog-filter {
  margin: -10px 0 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mi-catalog-filter a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border: 1px solid rgba(12, 23, 32, 0.12);
  border-radius: 8px;
  background: #fff;
  color: var(--mi-heading);
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(8, 18, 26, 0.05);
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mi-catalog-filter a:hover,
.mi-catalog-filter a:focus-visible {
  border-color: rgba(47, 128, 237, 0.45);
  transform: translateY(-2px);
}

.mi-catalog-filter a.is-active {
  border-color: var(--mi-accent);
  background: var(--mi-heading);
  color: #fff;
}

.mi-catalog-filter span {
  font-size: 0.9rem;
  font-weight: 700;
}

.mi-catalog-filter small {
  color: inherit;
  opacity: 0.68;
  font-size: 0.76rem;
}

.mi-product-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid #e5e7eb;
  border-radius: var(--mi-radius-md);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 3px 18px rgba(11, 26, 64, 0.06);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.mi-product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 46px rgba(11, 26, 64, 0.12);
}

.mi-product-card__visual {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mi-card-start), var(--mi-card-end));
  text-decoration: none;
}

/* Icon-only cards: keep a 4:3 placeholder area */
.mi-product-card__visual:not(.mi-product-card__visual--photo) {
  aspect-ratio: 4 / 3;
}

.mi-product-card__icon {
  font-size: 3.4rem;
  line-height: 1;
}

.mi-product-card__visual--photo {
  background: linear-gradient(135deg, #f8fafc, #e8eef4);
  display: block;
}

/* Photo cards: aspect-ratio on the img itself — survives WooCommerce's height:auto override */
.mi-product-card__photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 18px;
  transition: transform 420ms ease;
}

.mi-product-card:hover .mi-product-card__photo {
  transform: scale(1.06);
}

.mi-product-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--mi-accent);
  color: var(--mi-heading);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.mi-product-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px;
}

/* Cards are equalised by the grid, and .mi-product-card__actions carries
   margin-top:auto — so the row of buttons already lines up. Reserving a fixed
   min-height on every text block on top of that just punches a hole under any
   line that happens to be short. Let the text set its own height and collect
   the slack in one place, above the actions. */
.mi-product-card__body h2,
.mi-product-card__body h3 {
  margin: 0 0 10px;
  color: var(--mi-heading);
  font-size: 1.18rem;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.mi-product-card__body h3 a,
.mi-product-card__body h2 a,
.mi-post-card__body h2 a,
.mi-post-card__body h3 a,
.mi-site-footer__column a,
.mi-site-footer__contact a,
.mi-entry__content a,
.mi-sidebar a {
  text-decoration: none;
}

.mi-product-card__label {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--mi-heading);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.mi-product-card__summary {
  margin: 0 0 12px;
  color: var(--mi-text-soft);
  font-size: 0.94rem;
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.mi-product-card__meta {
  margin: 0 0 14px;
  color: var(--mi-text-soft);
  font-size: 0.88rem;
  line-height: 1.55;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.mi-product-card__details {
  margin-bottom: 18px;
}

.mi-product-card__purchase {
  margin-bottom: 12px;
}

.mi-product-card__price {
  color: var(--mi-heading);
  font-size: 1.16rem;
  font-weight: 800;
}

.mi-product-card__actions {
  margin-top: auto;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.mi-product-card__actions--full .mi-button,
.mi-product-card__actions--full .btn-inquire,
.mi-product-card__actions--full .zc-btn,
.mi-product-card__buy {
  width: 100%;
  height: 50px;
  min-height: 50px;
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px;
  overflow: hidden;
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
}

.mi-product-card__actions .mi-button--secondary {
  min-height: 44px;
  padding: 0 18px;
}

.mi-testimonials {
  background: var(--mi-background);
}

/* Sits directly under .mi-products, which is also white. Two white sections
   back to back read as one long void where the 84px paddings meet, so this
   one takes the tinted background to keep the page's light/white rhythm. */
.mi-factory-advantages {
  background: var(--mi-background);
}

.mi-factory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mi-factory-card {
  min-height: 220px;
  padding: 28px;
  border: 1px solid rgba(11, 26, 64, 0.1);
  border-radius: var(--mi-radius-md);
  background: linear-gradient(180deg, #fff 0%, #f7f9fb 100%);
  box-shadow: var(--mi-shadow-sm);
}

.mi-factory-card__label {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-bottom: 18px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(47, 128, 237, 0.11);
  color: var(--mi-accent);
  font-size: 0.78rem;
  font-weight: 800;
}

.mi-factory-card h3 {
  margin: 0 0 12px;
  color: var(--mi-heading);
  font-size: 1.08rem;
}

.mi-factory-card p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.72;
}

.mi-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.mi-testimonial-card {
  padding: 32px;
  border-radius: var(--mi-radius-md);
  background: #fff;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  transition: transform 220ms ease;
}

.mi-testimonial-card:hover {
  transform: translateY(-4px);
}

.mi-stars {
  margin-bottom: 14px;
  color: var(--mi-accent);
  font-size: 1.1rem;
  letter-spacing: 0;
}

.mi-testimonial-card p {
  margin: 0 0 24px;
  color: var(--mi-text-soft);
  font-size: 0.96rem;
  line-height: 1.75;
  font-style: italic;
}

.mi-testimonial-author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.mi-testimonial-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mi-heading), var(--mi-heading-soft));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.mi-testimonial-author strong {
  display: block;
  margin-bottom: 4px;
  color: var(--mi-heading);
  font-size: 0.96rem;
}

.mi-testimonial-author span {
  display: block;
  color: var(--mi-text-soft);
  font-size: 0.84rem;
}

.mi-inquiry {
  background: #fff;
}

.mi-inquiry-wrap {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  border-radius: 8px;
  background: var(--mi-heading);
  box-shadow: 0 8px 40px rgba(11, 26, 64, 0.08);
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.45fr);
  overflow: hidden;
}

.mi-inquiry-brief {
  padding: 44px 38px;
  background: linear-gradient(160deg, var(--mi-heading) 0%, var(--mi-heading-soft) 100%);
  color: rgba(255, 255, 255, 0.78);
}

.mi-inquiry-brief span {
  display: block;
  margin-bottom: 18px;
  color: var(--mi-accent-soft);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.mi-inquiry-brief ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}

.mi-inquiry-brief li {
  padding-left: 22px;
  position: relative;
  line-height: 1.55;
}

.mi-inquiry-brief li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--mi-accent);
}

.mi-inquiry-wrap p:last-child {
  margin-bottom: 0;
}

.zc-inquiry-block__intro h2:empty,
.zc-inquiry-block__intro p:empty {
  display: none;
}

.zc-inquiry-block__intro:has(h2:empty):has(p:empty) {
  display: none;
}

.mi-inquiry-wrap form,
.mi-single-product__form-panel form,
.mi-entry__content form,
.mi-comments form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}

.mi-inquiry-wrap .zc-inquiry-block {
  padding: 44px 44px;
  background: var(--mi-background);
}

.mi-inquiry-wrap form > *,
.mi-single-product__form-panel form > *,
.mi-entry__content form > *,
.mi-comments form > * {
  min-width: 0;
}

.mi-inquiry-wrap form > .full,
.mi-inquiry-wrap form > .wide,
.mi-inquiry-wrap form > .form-row-wide,
.mi-inquiry-wrap form > .comment-form-comment,
.mi-inquiry-wrap form > .comment-form-cookies-consent,
.mi-inquiry-wrap form > .form-submit,
.mi-single-product__form-panel form > .full,
.mi-single-product__form-panel form > .wide,
.mi-single-product__form-panel form > .form-row-wide,
.mi-single-product__form-panel form > .form-submit,
.mi-entry__content form > .full,
.mi-entry__content form > .wide,
.mi-entry__content form > .form-row-wide,
.mi-entry__content form > .comment-form-comment,
.mi-entry__content form > .comment-form-cookies-consent,
.mi-entry__content form > .form-submit,
.mi-comments form > .comment-form-comment,
.mi-comments form > .comment-form-cookies-consent,
.mi-comments form > .form-submit {
  grid-column: 1 / -1;
}

.mi-inquiry-wrap label,
.mi-single-product__form-panel label,
.mi-entry__content label,
.mi-comments label {
  display: block;
  margin-bottom: 6px;
  color: var(--mi-heading);
  font-size: 0.9rem;
  font-weight: 600;
}

.mi-inquiry-wrap input,
.mi-inquiry-wrap select,
.mi-inquiry-wrap textarea,
.mi-single-product__form-panel input,
.mi-single-product__form-panel select,
.mi-single-product__form-panel textarea,
.mi-search-form__input,
.mi-entry__content input,
.mi-entry__content select,
.mi-entry__content textarea,
.mi-comments input,
.mi-comments textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: var(--mi-heading);
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.mi-inquiry-wrap textarea,
.mi-single-product__form-panel textarea,
.mi-entry__content textarea,
.mi-comments textarea {
  min-height: 130px;
  resize: vertical;
}

.mi-inquiry-wrap input:focus,
.mi-inquiry-wrap select:focus,
.mi-inquiry-wrap textarea:focus,
.mi-single-product__form-panel input:focus,
.mi-single-product__form-panel select:focus,
.mi-single-product__form-panel textarea:focus,
.mi-search-form__input:focus,
.mi-entry__content input:focus,
.mi-entry__content select:focus,
.mi-entry__content textarea:focus,
.mi-comments input:focus,
.mi-comments textarea:focus {
  border-color: var(--mi-accent);
  box-shadow: 0 0 0 3px rgba(232, 160, 32, 0.14);
}

.mi-inquiry-contact {
  margin-top: 26px;
  display: flex;
  justify-content: center;
  gap: 18px 28px;
  flex-wrap: wrap;
  color: var(--mi-text-soft);
  font-size: 0.92rem;
}

.mi-inquiry-contact a {
  color: var(--mi-heading);
  font-weight: 700;
  text-decoration: none;
}

.mi-inquiry .mi-section-head {
  margin-bottom: 34px;
}

.mi-inquiry-wrap {
  max-width: 1120px;
  border: 1px solid rgba(12, 23, 32, 0.08);
  background: #fff;
  box-shadow: 0 22px 70px rgba(8, 18, 26, 0.14);
}

.mi-inquiry-brief {
  position: relative;
  isolation: isolate;
  padding: 46px 40px;
  background:
    linear-gradient(145deg, rgba(47, 128, 237, 0.18), transparent 34%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 12px),
    linear-gradient(160deg, #0c1720 0%, #173b4e 100%);
}

.mi-inquiry-brief::before {
  content: 'ZT';
  width: 58px;
  height: 58px;
  margin-bottom: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mi-accent), #eef5fb 58%, var(--mi-accent-soft));
  color: var(--mi-heading);
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.18);
}

.mi-inquiry-brief span {
  color: #fff;
  font-size: 0.82rem;
  letter-spacing: 0;
}

.mi-inquiry-brief li {
  padding: 14px 14px 14px 38px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  color: rgba(255, 255, 255, 0.82);
}

.mi-inquiry-brief li::before {
  left: 16px;
  top: 1.42em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mi-accent-soft);
}

.mi-inquiry-wrap .zc-inquiry-block {
  margin: 0;
  padding: 36px;
  border: 0;
  border-radius: 0;
  background: #fff;
}

.mi-inquiry-wrap .zc-inquiry-form {
  display: block;
}

.mi-inquiry-wrap .zc-inquiry-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.mi-inquiry-wrap .zc-inquiry-field {
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(12, 23, 32, 0.08);
  border-radius: 8px;
  background: #f8fafc;
}

.mi-inquiry-wrap .zc-inquiry-field:has(input[name="zc_inquiry[country]"]),
.mi-inquiry-wrap .zc-inquiry-field:has(input[name="zc_inquiry[requested_product]"]),
.mi-inquiry-wrap .zc-inquiry-field:has(input[name="zc_inquiry[estimated_quantity]"]),
.mi-inquiry-wrap .zc-inquiry-field:has(textarea) {
  grid-column: 1 / -1;
}

.mi-inquiry-wrap .zc-inquiry-field label {
  margin: 0;
  color: var(--mi-heading);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.mi-inquiry-wrap .zc-required {
  color: #d14343;
}

.mi-inquiry-wrap .zc-inquiry-field input,
.mi-inquiry-wrap .zc-inquiry-field textarea {
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--mi-heading);
  font-size: 0.96rem;
  box-shadow: none;
}

.mi-inquiry-wrap .zc-inquiry-field textarea {
  min-height: 108px;
  padding-top: 4px;
}

.mi-inquiry-wrap .zc-inquiry-field input:focus,
.mi-inquiry-wrap .zc-inquiry-field textarea:focus {
  box-shadow: none;
}

.mi-inquiry-wrap .zc-inquiry-field:focus-within {
  border-color: rgba(47, 128, 237, 0.55);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.12);
}

.mi-inquiry-wrap .zc-btn-primary {
  width: 100%;
  min-height: 54px;
  border-radius: 8px;
  background: var(--mi-accent);
  color: #fff;
  box-shadow: 0 14px 34px rgba(47, 128, 237, 0.24);
}

.mi-inquiry-wrap .zc-btn-primary:hover,
.mi-inquiry-wrap .zc-btn-primary:focus-visible {
  background: var(--mi-heading);
}

.mi-story-grid,
.mi-faq-layout,
.mi-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 32px;
  align-items: start;
}

.mi-story-card,
.mi-faq-card,
.mi-related-list {
  padding: 28px;
  border-radius: var(--mi-radius-md);
  background: #fff;
  box-shadow: var(--mi-shadow-sm);
  border: 1px solid rgba(11, 26, 64, 0.08);
}

.mi-story-card h2,
.mi-faq-card h2,
.mi-featured-article__body h2 {
  margin: 0 0 14px;
  color: var(--mi-heading);
  font-family: 'Meridian Display', serif;
  font-size: 2rem;
  line-height: 1.2;
}

.mi-story-card p,
.mi-faq-card p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.75;
}

.mi-story-card__contact {
  display: grid;
  gap: 10px;
  margin: 18px 0 22px;
  color: var(--mi-text-soft);
  font-size: 0.92rem;
}

.mi-contact-card__details {
  display: grid;
  gap: 14px;
  margin: 18px 0 22px;
}

.mi-contact-card__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--mi-text);
  font-size: 0.94rem;
  line-height: 1.5;
}

.mi-contact-card__row a {
  color: var(--mi-accent);
  text-decoration: none;
}

.mi-contact-card__row a:hover {
  text-decoration: underline;
}

.mi-contact-card__icon {
  flex-shrink: 0;
  font-size: 1.1rem;
  line-height: 1.5;
}

.mi-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.mi-highlight-card {
  padding: 26px;
  border-radius: var(--mi-radius-md);
  background: #fff;
  border: 1px solid rgba(11, 26, 64, 0.08);
  box-shadow: var(--mi-shadow-sm);
}

.mi-highlight-card__icon {
  margin-bottom: 14px;
  font-size: 1.8rem;
}

.mi-highlight-card h2,
.mi-highlight-card h3 {
  margin: 0 0 10px;
  color: var(--mi-heading);
  font-size: 1.08rem;
  font-weight: 700;
}

.mi-highlight-card p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.72;
}

.mi-featured-article {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
  gap: 0;
  margin-bottom: 28px;
  border-radius: var(--mi-radius-md);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--mi-shadow-md);
}

.mi-featured-article__media {
  display: block;
  min-height: 100%;
  background: linear-gradient(135deg, #d9e6f8, #f5edd8);
}

.mi-featured-article__image {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}

.mi-featured-article__body {
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mi-featured-article__body p {
  margin: 0 0 24px;
  color: var(--mi-text);
  line-height: 1.78;
}

.mi-post-grid--archive {
  margin-top: 24px;
}

.mi-article-sidebar {
  display: grid;
  gap: 24px;
}

.mi-entry-recommendations {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--mi-line);
}

.mi-entry-recommendations h2 {
  margin: 8px 0 18px;
  color: var(--mi-heading);
  font-size: 1.45rem;
}

.mi-entry-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.mi-entry-product-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(11, 26, 64, 0.1);
  border-radius: 8px;
  background: #fff;
  color: var(--mi-heading);
  text-decoration: none;
  box-shadow: var(--mi-shadow-sm);
  transition: transform 180ms ease, border-color 180ms ease;
}

.mi-entry-product-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border-radius: 6px;
  background: var(--mi-background);
}

.mi-entry-product-card span {
  color: var(--mi-accent);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.mi-entry-product-card strong {
  font-size: 0.94rem;
  line-height: 1.35;
}

.mi-entry-product-card:hover {
  border-color: var(--mi-accent);
  transform: translateY(-2px);
}

.mi-related-list h3 {
  margin: 0 0 16px;
  color: var(--mi-heading);
}

.mi-related-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.mi-related-list a {
  color: var(--mi-heading);
  font-weight: 700;
  text-decoration: none;
}

.mi-related-list a:hover {
  color: var(--mi-accent);
}

.mi-process-list {
  display: grid;
  gap: 14px;
}

.mi-process-list__item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  padding: 20px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(11, 26, 64, 0.08);
  box-shadow: var(--mi-shadow-sm);
}

.mi-process-list__index {
  width: 54px;
  height: 54px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--mi-heading), var(--mi-heading-soft));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: 0;
}

.mi-process-list__item h3 {
  margin: 0 0 8px;
  color: var(--mi-heading);
  font-size: 1rem;
}

.mi-process-list__item p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.68;
}

.mi-catalog-benefits {
  padding-bottom: 30px;
}

.mi-catalog-story {
  display: grid;
  gap: 28px;
  padding: 0 0 34px;
}

.mi-catalog-story__grid,
.mi-product-story,
.mi-product-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 24px;
  align-items: start;
}

.mi-catalog-story__copy,
.mi-product-story__main,
.mi-product-story__aside,
.mi-product-brief__copy,
.mi-catalog-category-card {
  padding: 28px;
  border-radius: var(--mi-radius-md);
  background: #fff;
  border: 1px solid rgba(11, 26, 64, 0.08);
  box-shadow: var(--mi-shadow-sm);
}

.mi-catalog-story__copy h2,
.mi-product-story__main h2,
.mi-product-story__aside h2,
.mi-product-brief__copy h2 {
  margin: 0 0 14px;
  color: var(--mi-heading);
  font-family: 'Meridian Display', serif;
  font-size: 1.72rem;
  line-height: 1.2;
}

.mi-catalog-story__copy p,
.mi-product-story__main p,
.mi-product-brief__copy p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.78;
}

.mi-product-brief__cards {
  display: grid;
  gap: 16px;
}

.mi-catalog-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.mi-catalog-category-card__icon {
  width: 52px;
  height: 52px;
  margin-bottom: 16px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--mi-heading), var(--mi-heading-soft));
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.mi-catalog-category-card h3 {
  margin: 0 0 10px;
  color: var(--mi-heading);
  font-size: 1.1rem;
}

.mi-catalog-category-card h3 a {
  color: inherit;
  text-decoration: none;
}

.mi-catalog-category-card p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.72;
}

.mi-catalog-category-card__meta {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  color: var(--mi-text-soft);
  font-size: 0.88rem;
}

.mi-catalog-benefits__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.mi-catalog-benefit {
  padding: 24px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(11, 26, 64, 0.08);
  box-shadow: var(--mi-shadow-sm);
}

.mi-catalog-benefit h2 {
  margin: 0 0 10px;
  color: var(--mi-heading);
  font-size: 1.05rem;
}

.mi-catalog-benefit p {
  margin: 0;
  color: var(--mi-text);
  line-height: 1.72;
}

.mi-catalog-cta {
  padding-top: 32px;
}

.mi-catalog-cta__inner {
  padding: 30px 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--mi-heading), var(--mi-heading-soft));
  color: rgba(255, 255, 255, 0.84);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.mi-catalog-cta__inner .mi-section-label,
.mi-catalog-cta__inner h2,
.mi-catalog-cta__inner p {
  color: inherit;
}

.mi-catalog-cta__inner h2 {
  margin: 0 0 10px;
  font-family: 'Meridian Display', serif;
  font-size: 2rem;
  line-height: 1.2;
}

.mi-catalog-cta__inner p {
  margin: 0;
  max-width: 620px;
  line-height: 1.72;
}

.mi-single-product__form {
  margin-top: 30px;
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

.mi-product-story,
.mi-product-brief {
  margin-top: 30px;
}

.mi-single-product__detail-form {
  margin-top: 30px;
}

.mi-single-product__detail-form .zc-inquiry-block {
  padding: 34px;
  border: 1px solid rgba(11, 26, 64, 0.08);
  border-radius: var(--mi-radius-md);
  background: #fff;
  box-shadow: var(--mi-shadow-sm);
}

.mi-single-product__detail-form .zc-inquiry-block__intro {
  margin-bottom: 24px;
}

.mi-single-product__detail-form .zc-inquiry-block__intro h2 {
  margin: 0 0 10px;
  color: var(--mi-heading);
  font-family: 'Meridian Display', serif;
  font-size: 1.7rem;
  line-height: 1.2;
}

.mi-single-product__detail-form .zc-inquiry-block__intro p {
  max-width: 720px;
  margin: 0;
  color: var(--mi-text);
  line-height: 1.72;
}

.mi-single-product__detail-form .zc-inquiry-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}

.mi-single-product__detail-form .zc-inquiry-field {
  min-width: 0;
}

.mi-single-product__detail-form .zc-inquiry-field:has(textarea),
.mi-single-product__detail-form .zc-inquiry-field:has(input[type='file']) {
  grid-column: 1 / -1;
}

.mi-single-product__detail-form .zc-btn {
  margin-top: 22px;
}

.mi-product-story__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.mi-feature-chip {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--mi-background);
  color: var(--mi-heading);
  font-size: 0.88rem;
  font-weight: 700;
}

.mi-checklist {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.mi-checklist li {
  position: relative;
  padding-left: 28px;
  color: var(--mi-text);
  line-height: 1.72;
}

.mi-checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mi-accent), var(--mi-accent-soft));
  box-shadow: 0 0 0 4px rgba(232, 160, 32, 0.12);
}

.mi-product-extra {
  margin-top: 28px;
}

.mi-section-head--left {
  max-width: none;
  margin: 0 0 32px;
  text-align: left;
}

.mi-product-extra__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.mi-product-workflow {
  margin-top: 28px;
}

.mi-product-workflow__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.mi-product-related {
  padding-top: 22px;
}

.mi-product-grid--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mi-page-hero {
  position: relative;
  padding: 150px 0 86px;
  background: linear-gradient(135deg, var(--mi-heading) 0%, var(--mi-heading-soft) 58%, #304f48 100%);
  color: #fff;
  overflow: hidden;
}

.mi-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), transparent 45%);
}

.mi-page-hero::after {
  content: none;
}

.mi-page-hero .mi-shell {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.mi-page-hero__eyebrow {
  color: var(--mi-accent);
  margin-bottom: 14px;
}

.mi-page-hero__eyebrow a {
  color: inherit;
  text-decoration: none;
}

.mi-page-hero__eyebrow a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.mi-page-hero h1 {
  margin: 0 0 16px;
  font-size: 3.25rem;
  line-height: 1.12;
}

.mi-page-hero p {
  margin: 0;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.72;
}

.mi-page-hero__actions {
  margin-top: 28px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.mi-page-hero__chips {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.mi-page-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.mi-page-hero__chip:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.2);
}

.mi-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 32px;
  align-items: start;
}

.mi-entry,
.mi-side-panel__card,
.mi-widget,
.mi-post-card,
.mi-empty-state {
  padding: 28px;
  border-radius: var(--mi-radius-md);
  background: #fff;
  box-shadow: var(--mi-shadow-sm);
  border: 1px solid rgba(11, 26, 64, 0.08);
}

.mi-entry__meta {
  display: flex;
  gap: 18px;
  margin-bottom: 18px;
  color: var(--mi-text-soft);
  font-size: 0.86rem;
}

.mi-entry__media {
  margin-bottom: 24px;
  overflow: hidden;
  border-radius: var(--mi-radius-md);
}

.mi-entry__content {
  color: var(--mi-text);
  line-height: 1.78;
}

.mi-entry__content > *:first-child {
  margin-top: 0;
}

.mi-entry__content > *:last-child {
  margin-bottom: 0;
}

.mi-entry__content h1,
.mi-entry__content h2,
.mi-entry__content h3,
.mi-entry__content h4 {
  color: var(--mi-heading);
  margin: 1.6em 0 0.6em;
}

.mi-entry__content ul,
.mi-entry__content ol {
  padding-left: 1.3rem;
}

.mi-entry__content a {
  color: var(--mi-heading);
  text-decoration: underline;
  text-decoration-color: rgba(232, 160, 32, 0.65);
  text-underline-offset: 3px;
}

.mi-side-panel__eyebrow {
  color: var(--mi-accent);
  margin-bottom: 10px;
}

.mi-side-panel__card p {
  margin-bottom: 20px;
}

.mi-sidebar {
  display: grid;
  gap: 24px;
}

.mi-widget__title {
  margin-bottom: 14px;
}

.mi-search-form {
  display: flex;
  gap: 10px;
}

.mi-search-form label {
  flex: 1 1 auto;
}

.mi-search-form__button {
  min-width: 112px;
  border: 0;
  border-radius: 8px;
  background: var(--mi-heading);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.mi-post-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

/* The homepage preview pulls three posts. In a two-column grid that leaves a
   lone card with an empty cell beside it, so give this grid three columns
   once there is room for them. */
@media (min-width: 992px) {
  .mi-news-preview .mi-post-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.mi-post-card {
  padding: 0;
  overflow: hidden;
}

.mi-post-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #d9e6f8, #f5edd8);
}

.mi-post-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mi-post-card__placeholder {
  width: 100%;
  height: 100%;
  display: block;
}

.mi-post-card__body {
  padding: 22px;
}

.mi-post-card__label {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--mi-accent);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.mi-post-card__body p {
  color: var(--mi-text-soft);
}

.mi-post-card__footer {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--mi-text-soft);
  font-size: 0.84rem;
}

.mi-pagination {
  grid-column: 1 / -1;
}

.mi-pagination .nav-links {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.mi-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--mi-heading);
  text-decoration: none;
  box-shadow: var(--mi-shadow-sm);
}

.mi-pagination .page-numbers.current,
.mi-pagination .page-numbers:hover {
  background: var(--mi-heading);
  color: #fff;
}

.mi-empty-state {
  text-align: center;
}

.mi-empty-state h2 {
  margin: 0 0 12px;
  color: var(--mi-heading);
}

.mi-empty-state p {
  margin: 0 0 22px;
}

.mi-faq {
  max-width: 840px;
  margin: 0 auto;
}

.mi-faq__items {
  display: grid;
  gap: 18px;
}

.mi-faq__item {
  border-radius: var(--mi-radius-md);
  background: #fff;
  box-shadow: var(--mi-shadow-sm);
  border: 1px solid rgba(11, 26, 64, 0.08);
  overflow: hidden;
}

.mi-faq__trigger {
  width: 100%;
  padding: 22px 24px;
  border: 0;
  background: transparent;
  color: var(--mi-heading);
  text-align: left;
  font-size: 1rem;
  font-weight: 700;
  position: relative;
  cursor: pointer;
}

.mi-faq__trigger::after {
  content: '+';
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  color: var(--mi-accent);
}

.mi-faq__item.is-open .mi-faq__trigger::after {
  content: '-';
}

.mi-faq__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 220ms ease;
}

.mi-faq__item.is-open .mi-faq__panel {
  max-height: 400px;
}

.mi-faq__panel p {
  margin: 0;
  padding: 0 24px 24px;
  color: var(--mi-text-soft);
}

.mi-comments {
  padding: 24px 0 90px;
}

.mi-comments__title {
  margin: 0 0 18px;
  color: var(--mi-heading);
}

.mi-comments__list {
  margin: 0 0 28px;
  padding-left: 18px;
}

.mi-site-footer {
  background: var(--mi-dark);
  color: rgba(255, 255, 255, 0.72);
  padding: 72px 0 28px;
}

.mi-site-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 42px;
  align-items: start;
  margin-bottom: 46px;
}

.mi-brand--footer {
  margin-bottom: 18px;
}

.mi-brand--footer .mi-brand__copy strong {
  color: #fff;
}

.mi-site-footer__brand p {
  margin: 0 0 22px;
  line-height: 1.75;
}

.mi-site-footer__column h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 1rem;
}

.mi-footer-menu {
  display: grid;
  gap: 12px;
}

.mi-footer-menu li {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.92rem;
}

.mi-footer-menu a {
  color: rgba(255, 255, 255, 0.64);
}

.mi-footer-menu a:hover,
.mi-site-footer__contact a:hover {
  color: var(--mi-accent);
}

.mi-site-footer__social {
  display: flex;
  gap: 10px;
}

.mi-site-footer__social a {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.72);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  transition: background-color 180ms ease, color 180ms ease;
}

.mi-site-footer__social a:hover {
  background: var(--mi-accent);
  color: var(--mi-heading);
}

.mi-site-footer__contact-list {
  margin-top: 20px;
  display: grid;
  gap: 10px;
}

.mi-site-footer__contact-list p {
  margin: 0;
  line-height: 1.65;
}

.mi-site-footer__contact a {
  color: #fff;
  font-weight: 700;
}

.mi-site-footer__bottom {
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
  color: rgba(255, 255, 255, 0.42);
  font-size: 0.84rem;
}

/* Scroll reveal.
   Base state stays fully visible so the page is readable without JS, for
   crawlers, and if theme.js fails. The hidden start state is applied only
   under .js-reveal, which theme's inline head script sets before first paint. */
.mi-reveal {
  opacity: 1;
  transform: none;
  transition: opacity 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}

.js-reveal .mi-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
}

.js-reveal .mi-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Once revealed, stop reserving a compositor layer. */
.mi-reveal.is-visible {
  will-change: auto;
}

.mi-reveal--delay-1 { transition-delay: 80ms; }
.mi-reveal--delay-2 { transition-delay: 160ms; }
.mi-reveal--delay-3 { transition-delay: 240ms; }
.mi-reveal--delay-4 { transition-delay: 320ms; }
.mi-reveal--delay-5 { transition-delay: 400ms; }

/* Children stagger: cards inside a revealed block flow in one after another. */
.js-reveal .mi-reveal--stagger > * {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity 460ms cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 460ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.js-reveal .mi-reveal--stagger.is-visible > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(1) { transition-delay: 60ms; }
.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(2) { transition-delay: 130ms; }
.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(3) { transition-delay: 200ms; }
.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(4) { transition-delay: 270ms; }
.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(5) { transition-delay: 340ms; }
.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(6) { transition-delay: 410ms; }
.js-reveal .mi-reveal--stagger.is-visible > *:nth-child(n + 7) { transition-delay: 470ms; }

/* Never animate for users who asked not to. */
@media (prefers-reduced-motion: reduce) {
  .js-reveal .mi-reveal,
  .js-reveal .mi-reveal--stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .mi-slide__backdrop,
  .mi-slide.is-active .mi-slide__backdrop {
    transition: none;
    transform: none;
  }
}

.mi-stat-item strong[data-mi-count] {
  font-variant-numeric: tabular-nums;
}

.mi-post-card__media {
  overflow: hidden;
}

.mi-post-card__media img,
.mi-post-card__media .mi-post-card__placeholder {
  transition: transform 480ms ease;
}

.mi-post-card:hover .mi-post-card__media img,
.mi-post-card:hover .mi-post-card__media .mi-post-card__placeholder {
  transform: scale(1.05);
}

.mi-featured-article__media {
  overflow: hidden;
}

.mi-featured-article__image {
  transition: transform 480ms ease;
}

.mi-featured-article:hover .mi-featured-article__image {
  transform: scale(1.04);
}

.mi-why-card,
.mi-testimonial-card,
.mi-highlight-card,
.mi-product-card,
.mi-post-card {
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.mi-catalog-category-card {
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.mi-catalog-category-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--mi-shadow-md);
}

.mi-page-hero--error {
  min-height: 70vh;
  display: flex;
  align-items: center;
}

.mi-page-hero--error .mi-shell {
  margin: 0 auto;
}

::selection {
  background: rgba(232, 160, 32, 0.24);
  color: var(--mi-heading);
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--mi-background);
}

::-webkit-scrollbar-thumb {
  background: rgba(11, 26, 64, 0.18);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(11, 26, 64, 0.32);
}

.mi-fallback-inquiry {
  text-align: center;
  padding: 20px 0;
}

.mi-fallback-inquiry__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 20px;
}

.mi-fallback-inquiry__actions .btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 2px solid var(--mi-heading);
  border-radius: 8px;
  background: transparent;
  color: var(--mi-heading);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

.mi-fallback-inquiry__actions .btn-outline:hover {
  background: var(--mi-heading);
  color: #fff;
}

.mi-hero .mi-slider {
  position: relative;
}

.mi-hero .mi-slider::after {
  display: none;
}

.mi-promo-bar {
  position: relative;
  z-index: 1000;
}

.mi-inquiry-wrap .mi-fallback-inquiry {
  padding: 0;
}

@media (max-width: 1100px) {
  .mi-why-grid,
  .mi-product-grid,
  .mi-factory-grid,
  .mi-testimonial-grid,
  .mi-site-footer__grid,
  .mi-highlight-grid,
  .mi-catalog-benefits__grid,
  .mi-product-extra__grid,
  .mi-product-workflow__grid,
  .mi-catalog-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mi-content-grid,
  .mi-story-grid,
  .mi-faq-layout,
  .mi-article-layout,
  .mi-catalog-story__grid,
  .mi-product-story,
  .mi-product-brief {
    grid-template-columns: 1fr;
  }

  .mi-featured-article {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  body.admin-bar .mi-site-header {
    top: 46px;
  }

  .mi-site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    justify-content: space-between;
  }

  .mi-brand {
    min-width: 0;
  }

  .mi-menu-toggle {
    display: inline-flex;
    grid-column: 3;
    grid-row: 1;
  }

  .mi-primary-nav {
    position: fixed;
    top: 74px;
    left: 0;
    right: 0;
    width: 100vw;
    max-height: calc(100vh - 74px);
    display: none;
    background: var(--mi-heading);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18);
    overflow-y: auto;
  }

  body.admin-bar .mi-primary-nav {
    top: 120px;
    max-height: calc(100vh - 120px);
  }

  .mi-primary-nav.is-open {
    display: block;
  }

  .mi-primary-nav__menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 16px 24px 20px;
  }

  .mi-primary-nav__menu > li {
    width: min(100%, 560px);
    margin: 0 auto;
  }

  .mi-primary-nav__menu a {
    display: flex;
    width: 100%;
    min-height: 46px;
    border-radius: 8px;
  }

  .mi-products-menu-dropdown {
    position: static;
    width: auto;
    margin: 2px 0 10px 14px;
    padding: 4px 0 4px 12px;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .mi-primary-nav__menu > li:hover > .mi-products-menu-dropdown,
  .mi-primary-nav__menu > li:focus-within > .mi-products-menu-dropdown {
    transform: none;
  }

  .mi-products-menu-dropdown::before {
    content: none;
  }

  .mi-products-menu-dropdown a {
    min-height: 34px;
    padding: 6px 10px;
    background: transparent;
  }

  .mi-products-menu-dropdown a:hover,
  .mi-products-menu-dropdown a:focus-visible {
    background: rgba(255, 255, 255, 0.07);
  }

  .mi-products-menu-dropdown small {
    font-size: 0.7rem;
  }

  .mi-header-tools {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .mi-header-quote {
    display: none;
  }

  .mi-content-section,
  .mi-section {
    padding: 72px 0;
  }

  .mi-slide__inner {
    padding-top: 100px;
  }

  .mi-slide__content h1,
  .mi-page-hero h1 {
    font-size: 2.8rem;
  }

  .mi-section-title {
    font-size: 2.15rem;
  }

  .mi-slider__arrow--prev {
    left: 14px;
  }

  .mi-slider__arrow--next {
    right: 14px;
  }

  .mi-stats-bar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mi-stat-item:nth-child(2) {
    border-right: 0;
  }

  .mi-post-grid {
    grid-template-columns: 1fr;
  }

  .mi-inquiry-wrap {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .mi-inquiry-brief,
  .mi-inquiry-wrap .zc-inquiry-block {
    padding: 36px 28px;
  }

  .mi-catalog-cta__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 575px) {
  .mi-header-language .fanyi2-switcher-current {
    width: 44px;
    justify-content: center;
    padding: 0;
  }

  .mi-header-language .fanyi2-lang-name {
    display: none;
  }

  .mi-header-language .fanyi2-switcher-dropdown {
    right: -58px;
  }
}

@media (max-width: 767px) {
  :root {
    --mi-shell: min(1120px, calc(100vw - 32px));
  }

  .mi-brand__copy small {
    display: none;
  }

  .mi-slide__content h1 {
    font-size: 1.82rem;
    overflow-wrap: anywhere;
  }

  .mi-slide__content {
    width: 86vw;
    max-width: 340px;
  }

  .mi-slide__content p {
    width: 86vw;
    max-width: 340px;
  }

  /* The desktop scrim is a 90deg gradient: dark on the left, clear on the
     right so the product photo shows beside the copy. In a phone-width
     column there is no "beside" — that gradient just paints the whole hero
     near-black. Go vertical so the photo stays visible under the text. */
  .mi-slide::before,
  .mi-slide.has-bg-image::before {
    background: linear-gradient(
      180deg,
      rgba(5, 12, 18, 0.74) 0%,
      rgba(5, 12, 18, 0.52) 26%,
      rgba(5, 12, 18, 0.80) 54%,
      rgba(5, 12, 18, 0.93) 100%
    );
  }

  /* Frame the machine rather than the empty studio backdrop. */
  .mi-slide.has-bg-image .mi-slide__backdrop {
    background-position: 62% center;
  }

  .mi-slide__backdrop {
    background-size: cover;
    background-repeat: no-repeat;
  }

  .mi-page-hero h1,
  .mi-section-title {
    font-size: 2rem;
  }

  .mi-slide__actions,
  .mi-page-hero__actions,
  .mi-search-form {
    flex-direction: column;
  }

  .mi-catalog-filter {
    gap: 8px;
  }

  .mi-catalog-filter a {
    width: 100%;
    justify-content: space-between;
  }

  .mi-slide__actions {
    width: 86vw;
    max-width: 340px;
  }

  /* Single-column cards don't need the desktop card's generous inset. */
  .mi-why-card {
    padding: 26px 22px;
  }

  .mi-slide__actions .mi-button {
    width: 100%;
    justify-content: center;
  }

  .mi-slider__arrow {
    display: none;
  }

  .mi-stats-bar__grid,
  .mi-why-grid,
  .mi-product-grid,
  .mi-factory-grid,
  .mi-entry-product-grid,
  .mi-testimonial-grid,
  .mi-site-footer__grid,
  .mi-highlight-grid,
  .mi-catalog-benefits__grid,
  .mi-product-extra__grid,
  .mi-product-workflow__grid,
  .mi-catalog-category-grid,
  .mi-inquiry-wrap form,
  .mi-single-product__form-panel form,
  .mi-entry__content form,
  .mi-comments form {
    grid-template-columns: 1fr;
  }

  .mi-product-card__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .mi-inquiry-wrap .zc-inquiry-form__grid {
    grid-template-columns: 1fr;
  }

  .mi-single-product__detail-form .zc-inquiry-block {
    padding: 28px 22px;
  }

  .mi-single-product__detail-form .zc-inquiry-form__grid {
    grid-template-columns: 1fr;
  }

  .mi-inquiry-brief,
  .mi-inquiry-wrap .zc-inquiry-block {
    padding: 28px 22px;
  }

  .mi-inquiry-wrap form > *,
  .mi-single-product__form-panel form > *,
  .mi-entry__content form > *,
  .mi-comments form > * {
    grid-column: 1;
  }

  .mi-site-footer {
    padding-top: 56px;
  }
}
