/* Hianma commercial page — Institutions + Languages/Security viewport composition.
   Presentation only: copy, translations, artwork, routes and product logic stay untouched.
   Desktop/laptop objective: each section reads as one complete screen below the sticky header. */

/* --------------------------------------------------------------------------
   Institutions — same visual rhythm as the approved Features section
   -------------------------------------------------------------------------- */
body .hm-marketing #institutions {
  position: relative;
  z-index: 1;
  padding: 0 !important;
  min-height: calc(100svh - var(--commercial-fixed-header-height, 110px));
  background: #fff !important;
}

body .hm-marketing #institutions > .hm-container {
  min-height: calc(100svh - var(--commercial-fixed-header-height, 110px));
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  row-gap: clamp(24px, 3vh, 34px);
  padding-top: clamp(26px, 3.6vh, 40px);
  padding-bottom: clamp(26px, 3.6vh, 40px);
}

body .hm-marketing #institutions .hm-section-heading {
  width: min(1180px, 100%);
  max-width: none !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 1.02fr) minmax(0, .98fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: clamp(50px, 6vw, 84px) !important;
  row-gap: 0 !important;
  align-items: center !important;
  text-align: left !important;
}

body .hm-marketing #institutions .hm-section-heading > .hm-eyebrow,
body .hm-marketing #institutions .hm-section-heading > h2 {
  grid-column: 2 !important;
  max-width: 620px;
}

body .hm-marketing #institutions .hm-section-heading > .hm-eyebrow {
  margin: 0 0 6px !important;
}

body .hm-marketing #institutions .hm-section-heading > h2 {
  margin: 8px 0 0 !important;
  font-size: clamp(38px, 3.25vw, 50px) !important;
  line-height: 1.07 !important;
}

body .hm-marketing #institutions .hm-section-heading::after {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  justify-self: center !important;
  width: min(100%, 500px) !important;
  margin: 0 !important;
}

body .hm-marketing #institutions .hm-audience-row {
  width: min(1180px, 100%);
  margin: 0 auto !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

body .hm-marketing #institutions .hm-audience-row > span {
  min-height: 118px !important;
  padding: 14px 16px !important;
  gap: 11px !important;
}

body .hm-marketing #institutions .hm-audience-icon {
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
}

/* --------------------------------------------------------------------------
   Languages + security — artwork left, BOTH complete cards right
   -------------------------------------------------------------------------- */
body .hm-marketing #languages-security {
  position: relative;
  z-index: 1;
  padding: 0 !important;
  min-height: calc(100svh - var(--commercial-fixed-header-height, 110px));
  background: #fff !important;
}

body .hm-marketing #languages-security > .hm-dual-grid {
  min-height: calc(100svh - var(--commercial-fixed-header-height, 110px));
  display: grid !important;
  grid-template-columns: minmax(390px, 1.02fr) minmax(0, .98fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: clamp(52px, 6vw, 86px) !important;
  row-gap: 16px !important;
  align-content: center !important;
  align-items: stretch !important;
  padding-top: clamp(24px, 3vh, 36px);
  padding-bottom: clamp(24px, 3vh, 36px);
}

body .hm-marketing #languages-security .hm-dual-grid::before {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  justify-self: center !important;
  width: min(100%, 520px) !important;
  margin: 0 !important;
}

body .hm-marketing #languages-security .hm-dual-grid > article:nth-of-type(1) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body .hm-marketing #languages-security .hm-dual-grid > article:nth-of-type(2) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

body .hm-marketing #languages-security .hm-dual-grid > article {
  min-height: 0 !important;
  padding: clamp(24px, 2.4vw, 32px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body .hm-marketing #languages-security .hm-dual-grid .hm-card-icon {
  width: 42px !important;
  height: 42px !important;
  margin: 0 0 14px !important;
  border-radius: 12px !important;
}

body .hm-marketing #languages-security .hm-dual-grid .hm-card-icon svg {
  width: 20px !important;
  height: 20px !important;
}

body .hm-marketing #languages-security .hm-dual-grid .hm-eyebrow {
  margin: 0 0 5px !important;
}

body .hm-marketing #languages-security .hm-dual-grid h2 {
  margin: 8px 0 10px !important;
  font-size: clamp(31px, 2.45vw, 39px) !important;
  line-height: 1.08 !important;
}

body .hm-marketing #languages-security .hm-dual-grid p {
  max-width: 560px !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}

/* Short desktop/laptop screens: preserve the complete one-screen composition. */
@media (min-width: 1121px) and (max-height: 850px) {
  body .hm-marketing #institutions > .hm-container {
    row-gap: 18px;
    padding-top: 18px;
    padding-bottom: 18px;
  }

  body .hm-marketing #institutions .hm-section-heading {
    width: min(1140px, 100%);
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr) !important;
    column-gap: 44px !important;
  }

  body .hm-marketing #institutions .hm-section-heading::after {
    width: min(100%, 410px) !important;
  }

  body .hm-marketing #institutions .hm-section-heading > h2 {
    font-size: clamp(34px, 2.7vw, 42px) !important;
  }

  body .hm-marketing #institutions .hm-audience-row {
    width: min(1140px, 100%);
  }

  body .hm-marketing #institutions .hm-audience-row > span {
    min-height: 102px !important;
    padding: 11px 13px !important;
    gap: 8px !important;
  }

  body .hm-marketing #institutions .hm-audience-icon {
    width: 36px !important;
    height: 36px !important;
  }

  body .hm-marketing #languages-security > .hm-dual-grid {
    grid-template-columns: minmax(340px, .96fr) minmax(0, 1.04fr) !important;
    column-gap: 44px !important;
    row-gap: 12px !important;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  body .hm-marketing #languages-security .hm-dual-grid::before {
    width: min(100%, 420px) !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid > article {
    padding: 20px 24px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid .hm-card-icon {
    width: 36px !important;
    height: 36px !important;
    margin-bottom: 10px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid h2 {
    margin: 5px 0 7px !important;
    font-size: clamp(27px, 2.15vw, 34px) !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid p {
    font-size: 12.75px !important;
    line-height: 1.38 !important;
  }
}

/* Tablet landscape / compact desktop. */
@media (min-width: 900px) and (max-width: 1120px) {
  body .hm-marketing #institutions,
  body .hm-marketing #languages-security,
  body .hm-marketing #institutions > .hm-container,
  body .hm-marketing #languages-security > .hm-dual-grid {
    min-height: calc(100svh - var(--commercial-fixed-header-height, 92px));
  }

  body .hm-marketing #institutions .hm-section-heading {
    grid-template-columns: minmax(300px, 1fr) minmax(0, 1fr) !important;
    column-gap: 32px !important;
  }

  body .hm-marketing #institutions .hm-section-heading::after {
    width: min(100%, 380px) !important;
  }

  body .hm-marketing #institutions .hm-audience-row > span {
    min-height: 108px !important;
    padding: 12px !important;
  }

  body .hm-marketing #languages-security > .hm-dual-grid {
    grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr) !important;
    column-gap: 32px !important;
    row-gap: 12px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid::before {
    width: min(100%, 360px) !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid > article {
    padding: 20px 22px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid h2 {
    font-size: clamp(27px, 3vw, 34px) !important;
  }
}

/* Tablet portrait: prioritize readability over forcing one screen. */
@media (min-width: 761px) and (max-width: 899px) {
  body .hm-marketing #institutions,
  body .hm-marketing #languages-security {
    min-height: 0;
    padding: 62px 0 !important;
  }

  body .hm-marketing #institutions > .hm-container,
  body .hm-marketing #languages-security > .hm-dual-grid {
    min-height: 0;
  }

  body .hm-marketing #institutions .hm-section-heading {
    grid-template-columns: 1fr 1fr !important;
    column-gap: 28px !important;
  }

  body .hm-marketing #institutions .hm-section-heading::after {
    width: min(100%, 330px) !important;
  }

  body .hm-marketing #institutions .hm-audience-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body .hm-marketing #languages-security > .hm-dual-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 16px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid::before {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: min(100%, 440px) !important;
    margin: 0 auto 4px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid > article:nth-of-type(1),
  body .hm-marketing #languages-security .hm-dual-grid > article:nth-of-type(2) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* Phones: preserve comfortable vertical reading. */
@media (max-width: 760px) {
  body .hm-marketing #institutions,
  body .hm-marketing #languages-security {
    min-height: 0;
    padding: 54px 0 64px !important;
  }

  body .hm-marketing #institutions > .hm-container,
  body .hm-marketing #languages-security > .hm-dual-grid {
    min-height: 0;
    display: block !important;
    padding-top: 0;
    padding-bottom: 0;
  }

  body .hm-marketing #institutions .hm-section-heading {
    display: grid !important;
    grid-template-columns: 1fr !important;
    margin-bottom: 24px !important;
    text-align: left !important;
  }

  body .hm-marketing #institutions .hm-section-heading > .hm-eyebrow,
  body .hm-marketing #institutions .hm-section-heading > h2 {
    grid-column: 1 !important;
  }

  body .hm-marketing #institutions .hm-section-heading::after {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: min(92%, 360px) !important;
    margin: 18px auto 0 !important;
  }

  body .hm-marketing #institutions .hm-audience-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .hm-marketing #institutions .hm-audience-row > span {
    min-height: 112px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid::before {
    width: min(92%, 360px) !important;
    margin: 0 auto 22px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid > article {
    margin-bottom: 14px;
    padding: 24px !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }

  body .hm-marketing #languages-security .hm-dual-grid p {
    font-size: 14px !important;
    line-height: 1.46 !important;
  }
}
