/* Mobile sections use normal document flow, keeping desktop geometry isolated. */
.mobile-content { display: none; }
@media (max-width: 900px) {
  :root {
    --mobile-size-section: clamp(26px, 5vw, 32px);
    --mobile-size-card: 18px;
    --mobile-size-body: 14px;
    --mobile-size-name: 11px;
    --mobile-size-label: 12px;
    --mobile-size-button: 16px;
    --mobile-size-caption: 11px;
    --mobile-leading-title: 1.3;
    --mobile-leading-body: 1.5;
  }
  .mobile-content {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
    padding: 0 20px;
    color: #fff;
    font: 500 var(--mobile-size-body)/var(--mobile-leading-body) 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 200px; }
  .ml-heading {
    margin-bottom: 28px !important;
    font: 700 var(--mobile-size-section)/1.18 "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 var(--mobile-size-button)/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: 91px; scroll-margin-top: 102px; }
  .ml-intro-copy {
    padding: 91px 2px;
    font: 700 var(--mobile-size-card)/1.4 "Hero TT Travels Text", var(--font-tt);
    text-transform: uppercase;
    text-align: center;
    text-wrap: balance;
  }
  .ml-divider { position: relative; height: 22px; display: flex; align-items: center; justify-content: center; gap: 13px; }
  .ml-divider::before, .ml-divider::after { content: ''; flex: 1; height: 4px; background: radial-gradient(circle, rgba(255,255,255,.57) 1.6px, transparent 1.9px) center/15px 4px space no-repeat; }
  .ml-divider-star { width: 22px; height: 22px; }
  .ml-carousel { min-width: 0; }
  .ml-rail {
    --rail-card-width: 82%;
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .ml-rail::-webkit-scrollbar { display: none; }
  .ml-rail > * { flex: 0 0 var(--rail-card-width); min-width: 0; scroll-snap-align: center; }
  .ml-cinema-clip { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
  .ml-cinema-window {
    width: 100%;
    aspect-ratio: 1.8;
    max-height: 280px;
    overflow: hidden;
    clip-path: url(#mobile-cinema-curve);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  }
  .ml-cinema-rail { --rail-card-width: 58%; height: 100%; gap: 12px; }
  .ml-cinema-card { height: 100%; }
  .ml-cinema-card img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
  .ml-cinema-caption { display: flex; min-height: 5.5em; height: auto; align-items: center; justify-content: center; padding: 12px 8px 0; font-size: var(--mobile-size-caption); line-height: var(--mobile-leading-body); text-align: center; text-transform: uppercase; text-wrap: balance; }
  .ml-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 20px; }
  .ml-carousel-dots button { position: relative; width: 7px; height: 24px; flex: 0 0 auto; padding: 0; border: 0; background: none; color: #fff; cursor: pointer; transition: width .32s cubic-bezier(.22,.8,.24,1); }
  .ml-carousel-dots button::after { content: ''; position: absolute; width: 7px; height: 7px; left: 0; top: 8.5px; border-radius: 999px; background: rgba(255,255,255,.4); transition: width .32s cubic-bezier(.22,.8,.24,1), background .25s ease; }
  .ml-carousel-dots .is-current { width: 25px; }
  .ml-carousel-dots .is-current::after { width: 25px; background: #fff; }
  .ml-cinema .ml-cta { margin-top: 20px; }
  .ml-program-notice { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .ml-program-star { flex: 0 0 24px; width: 24px; height: 24px; }
  .ml-program-notice p { flex: 0 0 auto; white-space: nowrap; font: 500 var(--mobile-size-caption)/var(--mobile-leading-body) var(--font-body); text-transform: uppercase; }
  .ml-program-end { flex: 1 1 0; min-width: 40px; display: flex; gap: 8px; align-items: center; }
  .ml-program-dots { flex: 1; min-width: 0; height: 4px; background: radial-gradient(circle, rgba(255,255,255,.42) 1.7px, transparent 1.9px) left center/15px 4px space no-repeat; }
  .ml-program-arrow { flex: 0 0 32px; width: 32px; height: 32px; }
  .ml-program-tabs { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; align-content: start; row-gap: 10px; column-gap: 10px; margin-bottom: 28px; }
  .ml-program-notice + .ml-program-tabs { margin-top: 28px; }
  .ml-program-tabs:last-child { margin-bottom: 0; }
  .ml-program-tab { position: relative; flex: 0 0 auto; margin: 0; max-width: 100%; min-height: 32px; padding: 6px 16px; border: 1px solid rgba(255,255,255,.6); border-radius: 24px; background: transparent; color: #fff; font: 500 var(--mobile-size-label)/1.35 var(--font-body); overflow-wrap: break-word; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
  .ml-program-tab::before { content: ''; position: absolute; inset: -5px; }
  .ml-program-tab.is-active, .ml-program-tab:active { border-color: transparent; background: var(--tab-bg); color: var(--tab-ink); }
  @media (hover: hover) {
    .ml-program-tab:hover { border-color: transparent; background: var(--tab-bg); color: var(--tab-ink); }
  }
  .ml-program-panel { min-width: 0; padding: 18px; border-radius: 30px; background: rgba(20,58,255,.2); }
  .ml-program-hall { display: grid; grid-template-columns: 24px minmax(0,1fr) 32px; align-items: start; column-gap: 12px; row-gap: 10px; margin-bottom: 24px; }
  .ml-program-heading-copy { min-width: 0; overflow: hidden; line-height: 1.4; }
  .ml-program-hall-name { grid-column: 2 / -1; font-weight: 500; font-size: var(--mobile-size-caption); line-height: var(--mobile-leading-body); }
  .ml-program-hall-name[hidden] { display: none; }
  .ml-program-hall-star { width: 24px; height: 24px; margin-top: 2px; }
  .ml-program-next { position: relative; grid-column: 3; grid-row: 1; align-self: end; width: 32px; height: 32px; margin-left: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
  .ml-program-next::after { content: ''; position: absolute; inset: -6px; }
  .ml-program-next svg { display: block; width: 100%; height: 100%; }
  .ml-program-track { display: inline; padding: 0; border: 0; background: none; color: #fff; font: 500 var(--mobile-size-card)/var(--mobile-leading-title) var(--font-body); overflow-wrap: anywhere; }
  .ml-program-hall-dots { display: inline-block; vertical-align: middle; width: 0; min-width: 0; height: 4px; margin-left: 8px; margin-right: -100%; }
  .ml-program-sessions { display: grid; gap: 12px; }
  .ml-program-track-sessions { display: grid; gap: 12px; }
  .ml-program-session { position: relative; min-width: 0; padding: 20px 18px; border: var(--perforation-width) dashed var(--perforation-color); border-radius: 26px; background: rgba(255,255,255,.12); }
  .ml-program-time { display: inline-flex; align-items: center; justify-content: center; padding: 5px 14px; border-radius: 24px; background: rgba(255,255,255,.15); color: #fff; border: 0; font: 500 var(--mobile-size-label)/1.3 var(--font-body); }
  .ml-program-title { margin-top: 18px !important; font: 700 var(--mobile-size-card)/var(--mobile-leading-title) "Hero TT Travels Text", var(--font-tt); overflow-wrap: anywhere; text-wrap: balance; }
  .ml-program-session > .ml-program-title:first-child { margin-top: 0 !important; }
  .ml-program-kind { margin-top: 16px !important; font: 500 var(--mobile-size-body)/var(--mobile-leading-body) var(--font-body); }
  .ml-program-kind + .ml-program-title { margin-top: 8px !important; }
  .ml-program-description { margin-top: 8px !important; color: #fff; font: 500 var(--mobile-size-body)/var(--mobile-leading-body) var(--font-body); overflow-wrap: break-word; }
  .ml-program-session:is([data-session^="coffee-break"], [data-session*="-tba-"]) { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
  .ml-program-session:is([data-session^="coffee-break"], [data-session*="-tba-"]) > .ml-program-title { margin-top: 0 !important; }
  .ml-program-session:is([data-session^="coffee-break"], [data-session*="-tba-"]) > .ml-program-time { flex-shrink: 0; }
  .ml-program-speakers { display: grid; gap: 18px; margin-top: 22px; }
  .ml-program-speaker { display: flex; align-items: flex-start; gap: 13px; }
  .ml-program-speaker-photo { flex: 0 0 56px; width: 56px; height: 78px; border-radius: 12px; object-fit: cover; object-position: center top; }
  .ml-program-speaker .program-speaker-media { flex-basis: 56px; width: 56px; height: 85.43px; }
  .ml-program-speaker .program-speaker-media .photo { border-radius: 12px; }
  .ml-program-speaker .program-photo-accent { border-radius: 12px; }
  .ml-program-session-pending { padding-block: 42px; text-align: center; }
  .ml-program-session-pending .ml-program-title { margin-top: 0 !important; }
  .ml-program-pending-copy { margin-top: 16px !important; font-size: var(--mobile-size-body); line-height: var(--mobile-leading-body); }
  .ml-program-speaker-copy { min-width: 0; }
  .ml-program-speaker-name { font: 700 var(--mobile-size-name)/var(--mobile-leading-title) var(--font-body); }
  .ml-program-speaker-role { margin-top: 6px !important; color: rgba(255,255,255,.8); font-size: var(--mobile-size-caption); line-height: var(--mobile-leading-body); overflow-wrap: break-word; }
  .ml-section-subtitle { min-height: 22.5px; margin: -13px 0 25px !important; color: rgba(255,255,255,.8); text-align: center; font-size: var(--mobile-size-body); }
  .ml-speakers-rail { gap: 16px; }
  .ml-speakers-rail > * { flex-basis: min(82%, 300px); }
  .ml-speaker-card, .ml-award-picture, .ml-contact, .ml-faq-card { position: relative; }
  .ml-speaker-card { padding: 18px; border: var(--perforation-width) dashed var(--perforation-color); border-radius: 26px; background: rgba(5,8,22,.38); }
  .ml-speaker-photo { width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center top; border-radius: 18px; }
  .ml-speaker-name { margin-top: 20px !important; font: 700 var(--mobile-size-name)/var(--mobile-leading-title) var(--font-body); text-wrap: balance; }
  .ml-speaker-role { margin-top: 11px !important; font-size: var(--mobile-size-caption); line-height: var(--mobile-leading-body); color: rgba(255,255,255,.82); }
  .ml-award-picture { display: flex; align-items: center; justify-content: center; min-height: 320px; margin-top: 28px; padding: 25px; border: var(--perforation-width) dashed var(--perforation-color); border-radius: 28px; background: rgba(3,5,18,.16); }
  .ml-award-picture img { width: auto; height: 300px; max-height: 78vw; object-fit: contain; transform: rotate(13deg); }
  .ml-award-copy { display: grid; justify-items: center; gap: 20px; text-align: center; }
  .ml-small-star { width: 26px; height: 26px; }
  .ml-award-copy h3 { font: 700 var(--mobile-size-card)/var(--mobile-leading-title) "Hero TT Travels Text", var(--font-tt); text-wrap: balance; }
  .ml-award-copy p { max-width: 265px; }
  .ml-award-copy .ml-cta { margin-top: 2px; }
  .ml-why-list { display: grid; gap: 15px; list-style: none; padding: 0; }
  .ml-why-card { position: relative; padding: 24px 21px 24px 43px; border: var(--perforation-width) dashed var(--perforation-color); border-radius: 24px; background: rgba(255,255,255,.08); }
  .ml-why-card::before { content: ''; position: absolute; width: 8px; height: 8px; top: 31px; left: 20px; border-radius: 50%; background: #fff; }
  .ml-why-card p { font: 500 var(--mobile-size-body)/var(--mobile-leading-body) var(--font-body); }
  .ml-past .ml-heading { margin-bottom: 22px !important; }
  .ml-video { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 22px; background: #07152c; }
  .ml-video-poster, .ml-video-player { position: absolute; inset: 0; width: 100%; height: 100%; }
  .ml-video-poster { z-index: 2; }
  .ml-video-poster img { width: 100%; height: 100%; object-fit: cover; }
  .ml-video-player { z-index: 1; border: 0; opacity: 0; pointer-events: none; transition: opacity .3s; }
  .ml-video.is-ready .ml-video-player { z-index: 3; opacity: 1; pointer-events: auto; }
  .ml-video.is-ready .ml-video-poster { pointer-events: none; }
  .ml-contact { display: flex; flex-direction: column; align-items: center; gap: 23px; padding: 24px 18px; border: var(--perforation-width) dashed var(--perforation-color); border-radius: 23px; background: rgba(255,255,255,.15); }
  .ml-contact-photo { width: 155px; aspect-ratio: 220/336; object-fit: cover; border-radius: 24px; }
  .ml-contact-copy { width: 100%; text-align: center; }
  .ml-contact-intro { font-size: var(--mobile-size-body); line-height: var(--mobile-leading-body); text-wrap: balance; }
  .ml-contact-name { margin-top: 22px !important; font: 700 var(--mobile-size-name)/var(--mobile-leading-title) var(--font-body); }
  .ml-contact-links { display: flex; flex-direction: column; align-items: center; gap: 3px; margin-top: 8px; }
  .ml-contact-links a, .ml-contact-links a:visited { display: flex; width: fit-content; align-items: center; min-height: 44px; color: #fff; text-decoration: none; overflow-wrap: anywhere; background-image: repeating-linear-gradient(to right, var(--perforation-color) 0 var(--perforation-dash), transparent var(--perforation-dash) var(--perforation-period)); background-position: 0 calc(100% - 4px); background-size: 100% var(--perforation-width); background-repeat: no-repeat; }
  .ml-contact-links a:hover, .ml-contact-links a:focus-visible { color: #fff; background-image: repeating-linear-gradient(to right, #fff 0 var(--perforation-dash), transparent var(--perforation-dash) var(--perforation-period)); }
  .ml-faq { padding-top: 0; }
  .ml-faq-list { display: grid; gap: 10px; width: 100%; }
  .ml-faq-card { overflow: hidden; border: var(--perforation-width) dashed var(--perforation-color); border-radius: 23px; background: rgba(255,255,255,.15); }
  .ml-faq-question { display: flex; width: 100%; min-height: 64px; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 18px; border: 0; background: transparent; color: #fff; text-align: left; font: 700 var(--mobile-size-card)/var(--mobile-leading-title) "Hero TT Travels Text", var(--font-tt); cursor: pointer; }
  .ml-faq-question > span:first-child { flex: 1; min-width: 0; }
  .ml-faq-toggle { position: relative; width: 29px; height: 29px; flex: none; }
  .ml-faq-toggle img { position: absolute; }
  .ml-faq-toggle-bg { inset: 0; width: 29px; height: 29px; }
  .ml-faq-plus, .ml-faq-minus { left: 5px; top: 5px; width: 19px; height: 19px; transition: opacity .2s; }
  .ml-faq-minus { opacity: 0; }
  .ml-faq-card.is-open .ml-faq-plus { opacity: 0; }
  .ml-faq-card.is-open .ml-faq-minus { opacity: 1; }
  .ml-faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .34s ease, opacity .25s ease; }
  .ml-faq-answer-inner { min-height: 0; overflow: hidden; }
  .ml-faq-answer p { padding: 0 18px 21px; font-size: var(--mobile-size-body); line-height: var(--mobile-leading-body); }
  .ml-faq-card.is-open .ml-faq-answer { grid-template-rows: 1fr; opacity: 1; }
  .ml-register { margin: 0 0 100px; }
  .ml-registration-divider { width: 60%; height: 4px; margin: 0 auto 100px; background: radial-gradient(circle, rgba(255,255,255,.6) 0 1.5px, transparent 1.6px) left center / 12px 4px space no-repeat; }
  .ml-register .ml-heading { max-width: 450px; margin-inline: auto; }
  .ml-register .ml-cta { min-width: 220px; }
  .mobile-content .ml-age-rating { margin: 0 0 12px; color: rgba(255,255,255,.85); font: 600 18px/1.2 var(--font-body); text-align: center; }
  .ml-ad-disclosure { padding: 0; color: rgba(255,255,255,.22); font-size: 8px; line-height: 1.5; text-align: center; }
}
@media (min-width: 440px) and (max-width: 900px) {
  .ml-contact { flex-direction: row; align-items: stretch; gap: 22px; }
  .ml-contact-photo { align-self: flex-start; width: 100px; height: 170px; aspect-ratio: auto; flex: 0 0 100px; }
  .ml-contact-copy { min-width: 0; text-align: left; font-size: var(--mobile-size-body); }
  .ml-contact-links { align-items: flex-start; }
  .ml-contact-links a { font-size: var(--mobile-size-body); }
  .ml-contact-name { margin-top: 15px !important; }
  .ml-speakers-rail > * { flex-basis: min(70%, 300px); }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-content *, .mobile-content *::before, .mobile-content *::after { scroll-behavior: auto !important; transition: none !important; }
}

@media (max-width:900px) {
  .ml-program-plenary { margin-top:28px; margin-bottom:28px; }
  .ml-program-plenary-break { margin-top:12px; margin-bottom:0; }
  .ml-program-plenary-heading .ml-program-track { align-self:center; }
  .ml-program-plenary-heading .ml-program-next { cursor:default; pointer-events:none; }
}

@media (max-width:900px) {
  .ml-program > .ml-heading { margin-bottom:12px !important; }
  .ml-program-notice { justify-content:center; }
  .ml-program-notice p { text-transform:none; }
}

@media (max-width:900px) {
  .ml-partners .partner-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:36px; }
  .ml-partners .partner-logo-card { height:190px; gap:14px; padding:28px 12px 22px; border-width:1px; border-radius:22px; }
  .ml-partners .partner-logo-star { transform:scale(.51); margin:-14.45px 0; }
  .ml-partners .partner-logo-slot { height:88px; }
  .ml-partners .partner-logo-image { width:100%; max-height:70px; }
  .ml-partners .partner-logo-card--1c .partner-logo-image { width:160px; height:160px; max-width:none; max-height:none; }
  .ml-partners .partner-logo-card--skyweb .partner-logo-image { width:160px; height:160px; max-width:none; max-height:none; }
}

@media (max-width:900px) {
  .ml-partners .partner-logo-card { justify-content:center; padding-top:0; padding-bottom:0; }
}

@media (max-width:900px) {
  .ml-partners > .ml-heading { margin-bottom:36px !important; }
}

@media (max-width:900px) {
  .ml-contact { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:start; gap:16px; padding:22px 18px; }
  .ml-contact-photo { width:76px; height:106px; aspect-ratio:auto; border-radius:14px; }
  .ml-contact-copy { min-width:0; width:100%; text-align:left; }
  .ml-contact-intro { text-wrap:pretty; font-size:13px; }
  .ml-contact-name { margin-top:14px !important; font-size:12px; }
  .ml-contact-links { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; column-gap:14px; row-gap:0; margin-top:10px; }
  .ml-contact-links a { min-height:36px; font-size:12px; }
}

@media (max-width:900px) {
  .ml-contact { background:rgba(255,255,255,.025); }
  .ml-contact-copy { display:flex; flex-wrap:wrap; align-items:center; column-gap:14px; row-gap:8px; }
  .ml-contact-intro { flex-basis:100%; }
  .ml-contact-name { margin-top:0 !important; }
  .ml-contact-links { margin-top:0; column-gap:12px; }
}

@media (max-width:900px) {
  .ml-contact-intro { margin-bottom:20px !important; }
}

/* Keep star and mark together, with more breathing room around the pair. */
@media (max-width:900px) {
  .ml-partners .partner-logo-card { gap:4px; }
  .ml-partners .partner-logo-slot { height:64px; }
  .ml-partners .partner-logo-image { max-height:52px; }
  .ml-partners .partner-logo-card--1c .partner-logo-image,
  .ml-partners .partner-logo-card--skyweb .partner-logo-image { max-height:none; }
}

@media (max-width:900px) {
  .ml-partners .partner-logo-card { height:auto; aspect-ratio:1 / 1; }
}

/* Mobile sponsor contact: introduction, then one compact person-and-links row. */
@media (max-width:900px) {
  .ml-contact { grid-template-columns:64px minmax(0,1fr); column-gap:12px; row-gap:24px; align-items:center; padding:24px 18px; }
  .ml-contact > .ml-contact-intro { grid-column:1 / -1; margin:0 !important; font-size:14px; line-height:1.5; text-align:left; }
  .ml-contact-photo { grid-column:1; grid-row:2; width:64px; height:88px; border-radius:12px; }
  .ml-contact-copy { grid-column:2; grid-row:2; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
  .ml-contact-name { margin:0 !important; font-size:14px; line-height:1.35; }
  .ml-contact-links { margin:0; flex-wrap:nowrap; column-gap:8px; }
  .ml-contact-links a { min-height:32px; font-size:11px; white-space:nowrap; }
}

@media (max-width:900px) {
  .ml-contact-links { flex-direction:column; align-items:flex-start; gap:0; }
}

/* Balance the portrait with the complete name-and-contacts column. */
@media (max-width:900px) {
  .ml-contact { grid-template-columns:80px minmax(0,1fr); column-gap:18px; align-items:start; }
  .ml-contact-photo { width:80px; height:112px; }
  .ml-contact-copy { gap:10px; }
  .ml-contact-name { font-size:14px; line-height:20px; }
  .ml-contact-links { gap:0; }
  .ml-contact-links a { min-height:28px; font-size:12px; line-height:20px; }
}

/* Full-width contact actions beside the portrait, mobile only. */
@media (max-width:900px) {
  .ml-contact-links { width:100%; gap:8px; align-items:stretch; }
  .ml-contact-links a, .ml-contact-links a:visited {
    display:flex; justify-content:center; align-items:center;
    width:100%; min-height:36px; padding:8px 10px;
    border:0; border-radius:18px; background:#fff; background-image:none;
    color:#12112f; font-size:12px; font-weight:600; line-height:20px; text-decoration:none;
  }
  .ml-contact-links a:hover, .ml-contact-links a:focus-visible { color:#12112f; background:#f0f0f7; background-image:none; }
  .ml-contact-photo { height:156px; object-fit:cover; }
}

@media (max-width:900px) {
  .ml-contact-links { gap:6px; }
  .ml-contact-links a, .ml-contact-links a:visited { min-height:28px; padding:4px 10px; border-radius:14px; font-size:11px; font-weight:500; line-height:18px; }
  .ml-contact-photo { height:126px; }
}

@media (max-width:900px) {
  .ml-contact-links a, .ml-contact-links a:visited { background:rgba(255,255,255,.2); background-image:none; color:#fff; }
  .ml-contact-links a:hover, .ml-contact-links a:focus-visible { background:rgba(255,255,255,.3); background-image:none; color:#fff; }
}

@media (max-width:900px) {
  .ml-partners .partner-logo-card { justify-content:center; gap:0; }
}

@media (max-width: 900px) { .ml-program-session-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; } }
