/* KM-WEBSITE FIX14B: academic.html + contact.html clean replacement blocks only */
body .km-fix14b-feature-section,
body .km-fix14b-contact-hero,
body .km-fix14b-contact-info-section,
body .km-fix14b-contact-cta-section {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

body .km-fix14b-feature-section *,
body .km-fix14b-contact-hero *,
body .km-fix14b-contact-info-section *,
body .km-fix14b-contact-cta-section * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box;
}

body .km-fix14b-feature-section,
body .km-fix14b-contact-info-section,
body .km-fix14b-contact-cta-section {
  padding: 72px 0;
}

body .km-fix14b-feature-section,
body .km-fix14b-contact-cta-section {
  background: linear-gradient(135deg, #fbf6ec 0%, #ffffff 56%, #f5efe4 100%);
}

body .km-fix14b-feature-card,
body .km-fix14b-contact-info-card,
body .km-fix14b-contact-cta-card {
  width: min(100%, 1160px);
  margin: 0 auto;
  border: 1px solid rgba(190, 154, 95, .26);
  border-radius: 30px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 28px 70px rgba(23, 33, 50, .10);
  overflow: hidden;
}

body .km-fix14b-feature-card,
body .km-fix14b-contact-info-card,
body .km-fix14b-contact-cta-card {
  display: grid;
  grid-template-columns: minmax(360px, 48%) 1fr;
  align-items: center;
  gap: 0;
}

body .km-fix14b-feature-media,
body .km-fix14b-contact-info-media,
body .km-fix14b-contact-cta-media {
  min-height: 360px;
  padding: 34px;
  background: linear-gradient(145deg, rgba(12, 23, 39, .96), rgba(35, 27, 21, .93));
  display: flex;
  align-items: center;
  justify-content: center;
}

body .km-fix14b-feature-media img,
body .km-fix14b-contact-info-media img,
body .km-fix14b-contact-cta-media img {
  display: block;
  width: 100%;
  max-width: 520px;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(0,0,0,.32);
}

body .km-fix14b-feature-copy,
body .km-fix14b-contact-info-copy,
body .km-fix14b-contact-cta-copy {
  padding: 42px 48px;
}

body .km-fix14b-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: #a8792c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body .km-fix14b-kicker::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
  opacity: .55;
}

body .km-fix14b-feature-copy h2,
body .km-fix14b-contact-info-copy h2,
body .km-fix14b-contact-cta-copy h2 {
  margin: 0 0 18px;
  color: #0b1728;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.22;
  letter-spacing: -.02em;
  font-weight: 900;
  white-space: normal !important;
}

body .km-fix14b-feature-copy p,
body .km-fix14b-contact-info-copy p,
body .km-fix14b-contact-cta-copy p {
  margin: 0;
  color: #344154;
  font-size: 16px;
  line-height: 1.9;
}

body .km-fix14b-points,
body .km-fix14b-info-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

body .km-fix14b-points li,
body .km-fix14b-info-item {
  min-height: 64px;
  padding: 15px 16px;
  border: 1px solid rgba(190, 154, 95, .18);
  border-radius: 18px;
  background: rgba(248, 244, 235, .72);
  color: #233044;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 700;
}

body .km-fix14b-info-item strong {
  display: block;
  margin-bottom: 5px;
  color: #0b1728;
  font-size: 13px;
}

body .km-fix14b-info-item span {
  color: #465468;
  font-weight: 600;
}

body .km-fix14b-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

body .km-fix14b-actions .btn {
  border-radius: 999px;
  white-space: nowrap;
}

body .km-fix14b-contact-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #07111f;
}

body .km-fix14b-contact-hero-bg {
  position: absolute;
  inset: 0;
}

body .km-fix14b-contact-hero-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.95) contrast(1.04);
}

body .km-fix14b-contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 12, 24, .78), rgba(5, 12, 24, .48) 48%, rgba(5, 12, 24, .16));
}

body .km-fix14b-contact-hero .container {
  position: relative;
  z-index: 2;
}

body .km-fix14b-contact-hero-card {
  width: min(720px, 100%);
  padding: 42px 46px;
  border-radius: 30px;
  background: rgba(255, 255, 255, .18);
  border: 1px solid rgba(255, 255, 255, .25);
  backdrop-filter: blur(16px);
  box-shadow: 0 30px 80px rgba(0,0,0,.26);
}

body .km-fix14b-contact-hero-card h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.08;
  font-weight: 900;
}

body .km-fix14b-contact-hero-card p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 17px;
  line-height: 1.9;
}

body .km-fix14b-contact-hero-card .km-fix14b-kicker {
  color: #f3cc83;
}

body .km-fix14b-contact-info-section {
  background: #fff;
}

body .km-fix14b-contact-info-card {
  grid-template-columns: minmax(360px, 44%) 1fr;
}

body .km-fix14b-contact-info-media {
  background: linear-gradient(145deg, #f6ead8, #182234);
}

body .km-fix14b-contact-cta-card {
  grid-template-columns: 1fr minmax(360px, 46%);
}

body .km-fix14b-contact-cta-media {
  order: 2;
}

body .km-fix14b-contact-cta-copy {
  order: 1;
}

@media (max-width: 920px) {
  body .km-fix14b-feature-card,
  body .km-fix14b-contact-info-card,
  body .km-fix14b-contact-cta-card {
    grid-template-columns: 1fr;
  }

  body .km-fix14b-feature-media,
  body .km-fix14b-contact-info-media,
  body .km-fix14b-contact-cta-media {
    min-height: auto;
    padding: 22px;
  }

  body .km-fix14b-feature-copy,
  body .km-fix14b-contact-info-copy,
  body .km-fix14b-contact-cta-copy,
  body .km-fix14b-contact-hero-card {
    padding: 30px 24px;
  }

  body .km-fix14b-contact-cta-media,
  body .km-fix14b-contact-cta-copy {
    order: initial;
  }

  body .km-fix14b-points,
  body .km-fix14b-info-list {
    grid-template-columns: 1fr;
  }

  body .km-fix14b-contact-hero {
    min-height: 470px;
  }
}
