/* Mobile sections use normal document flow, keeping desktop geometry isolated. */
.mobile-content { display: none; }
@media (max-width: 600px) {
  .mobile-content {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 0 20px;
    color: #fff;
    font: 500 16px/1.5 var(--font-body);
  }
  .mobile-content *, .mobile-content *::before, .mobile-content *::after { box-sizing: border-box; }
  .mobile-content :is(h2,h3,p,figure,ul) { margin: 0; }
  .mobile-content img { display: block; max-width: 100%; }
  .mobile-content .sr { translate: 0 24px; }
  .ml-section { position: relative; min-width: 0; margin: 0 0 76px; }
  .ml-heading {
    margin-bottom: 28px !important;
    font: 700 clamp(27px, 7.2vw, 42px)/1.14 "Hero TT Travels Text", var(--font-tt);
    letter-spacing: -.035em;
    text-align: center;
    text-transform: uppercase;
    overflow-wrap: normal;
    scroll-margin-top: 104px;
    text-wrap: balance;
  }
  .ml-cta {
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    margin: 28px auto 0;
    padding: 14px 23px;
    border-radius: 50px;
    font: 600 16px/1.3 var(--font-body);
    text-align: center;
    white-space: normal;
  }
  .mobile-content :is(a,button):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
  .ml-intro { margin-top: 0; margin-bottom: 56px; scroll-margin-top: 102px; }
  .ml-client-intro-title { margin: 0 !important; padding: 28px 2px; font: 700 clamp(18px,4.7vw,24px)/1.55 var(--font-tt); letter-spacing: .02em; text-transform: uppercase; text-align: center; text-wrap: balance; }
  .ml-partner-intro-divider { position: relative; height: 22px; display: flex; align-items: center; justify-content: center; gap: 13px; }
  .ml-partner-intro-divider::before, .ml-partner-intro-divider::after { content: ''; flex: 1; height: 4px; background: radial-gradient(circle,rgba(255,255,255,.57) 1.6px,transparent 1.9px) center/15px 4px repeat-x; }
  .ml-partner-intro-star { width: 22px; height: 22px; }
  .ml-client-intro-divider { width: 50%; height: 4px; margin: 24px auto 32px; background: radial-gradient(circle,rgba(255,255,255,.6) 1.6px,transparent 1.9px) center/13px 4px repeat-x; }
  .ml-client-intro-divider:last-child { margin-top: 38px; margin-bottom: 0; }
  .ml-client-audience { --audience-gap: 34px; margin-bottom: 56px; scroll-margin-top: 112px; }
  .ml-client-audience .client-audience-title { position: relative; left: auto; top: auto; width: 100%; height: auto; margin: 0 auto var(--audience-gap); }
  .ml-client-audience .client-audience-title img { position: absolute; left: 50%; margin-left: -281px; max-width: none; }
  .ml-client-audience .client-audience-grid { position: static; width: 100%; display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
  .ml-client-audience .client-audience-card { min-width: 0; min-height: 0; padding: 28px; border-radius: 34px; }
  .ml-client-audience .client-audience-icon { width: 64px; height: 64px; }
  .ml-client-audience .client-audience-icon img { max-width: none; transform: scale(.5636283576); transform-origin: top left; }
  .ml-client-audience .client-audience-card .client-audience-copy { width: auto; min-height: 0; margin: 26px 0 0; font-size: clamp(21px,5.5vw,26px); line-height: 1.25; }
  .ml-client-audience .client-audience-copy br { display: none; }
  .ml-client-audience .client-audience-cta { position: static; width: 100%; height: auto; min-height: 52px; margin-top: var(--audience-gap); padding: 14px 10px; border-radius: 40px; font-size: clamp(16px,4.4vw,20px); line-height: 1.2; }
  .ml-client-audience > .ml-client-intro-divider { margin-top: 40px; }
}

@media (max-width: 600px) {
  .ml-client-intro { display: flex; flex-direction: column; gap: 80px; margin: 0 0 64px; padding-top: 64px; }
  .ml-client-intro-title { padding: 0; font-size: clamp(36px,12vw,56px); line-height: 1.05; text-transform: none; }
  .ml-partner-intro-divider { flex-shrink: 0; width: 100%; height: 4px; }
  .ml-client-audience { display: flow-root; margin-bottom: 0; }
  .ml-client-audience > .ml-client-intro-divider { margin: 48px auto; }
}

@media (max-width: 600px) {
  .ml-partner-intro-divider.dot-line, .ml-client-intro-divider.dot-line {
    height: var(--dot-size);
    background: radial-gradient(circle, var(--dot-color) 0 calc(var(--dot-size) / 2 - .25px), transparent calc(var(--dot-size) / 2)) center / var(--dot-period) var(--dot-size) space no-repeat;
  }
  .ml-partner-intro-divider::before, .ml-partner-intro-divider::after { content: none; }
}

@media (max-width: 600px) {
  .ml-partner-intro-divider { height: var(--dot-size); }
  .ml-partner-intro-divider > .dot-line { flex: 1; min-width: 0; }
  .ml-partner-intro-star { flex-shrink: 0; }
}
