/* Mobile is a separate presentation of the same content and module identities.
   Only inline mobile keys opt into overrides; desktop styles are untouched. */
@media (max-width:1199px), (pointer:coarse) {
  .v4-body .v4-home { display:flex; flex-direction:column; }
  /* Extra content grows within a scene; v4-home-mobile owns its snap behavior. */
  .v4-body .v4-home .v4-scene:not(.v4-home-hero) { height:auto; padding-top:calc(var(--v4-header-height,72px) + 24px); padding-bottom:calc(32px + env(safe-area-inset-bottom,0px)); }
  .v4-body .v4-home .v4-home-mission { gap:32px; }
  .v4-body .v4-home .v4-story-banner { display:flex; flex-direction:column; height:auto; min-height:0; background:#fff; }
  .v4-body .v4-home .v4-story-banner::before,.v4-body .v4-home .v4-story-banner::after { display:none; }
  .v4-body .v4-home .v4-story-banner>picture { display:block; width:100%; }
  .v4-body .v4-home .v4-story-banner>img,
  .v4-body .v4-home .v4-story-banner>picture>img { position:static; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  .v4-body .v4-home .v4-story-banner>div { position:static; width:100%; padding:28px 24px; text-align:center; }
  .v4-body .v4-home .v4-story-track { width:100%; padding-inline:20px; }
  .v4-body .v4-home .v4-home-contact { padding:0; }
  .v4-body .v4-modular-page .v4-layout { width:100%; padding-inline:16px; gap:24px; }
  .v4-body .v4-module-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; }
  .v4-body .v4-module { min-width:0; grid-column:1/-1; }
  .v4-body .v4-about-intro-content { display:flex; flex-direction:column; gap:24px; }
  .v4-body .v4-about-intro-content>picture { display:block; width:100%; }
  .v4-body [style*="--v4-mobile-image-side:bottom;"] .v4-about-intro-content { flex-direction:column-reverse; }
  .v4-body .v4-module-copy.has-image { display:flex; flex-direction:column; gap:24px; }
  .v4-body .v4-module-copy>.v4-module-picture { display:block; width:100%; }
  .v4-body .v4-module-copy>.v4-module-image,
  .v4-body .v4-module-copy>.v4-module-picture>img { width:100%; max-width:100%; height:auto; }
  .v4-body .v4-prose { overflow-wrap:anywhere; }
  .v4-body .v4-prose img { max-width:100%; height:auto; }
  .v4-body .v4-prose table { display:block; max-width:100%; overflow-x:auto; }
  .v4-body .v4-document-list a,.v4-body .v4-attachments>a { overflow-wrap:anywhere; min-width:0; }
  .v4-body .v4-list-search { flex-wrap:wrap; }
  .v4-body .v4-list-search input { min-width:0; max-width:100%; }
  .v4-body .v4-tabs,.v4-body .v4-disclosure-tabs { max-width:100%; overflow-x:auto; justify-content:flex-start; }

  /* Desktop typography overrides never force oversized text onto mobile. */
  .v4-body [data-module-id] { order:var(--v4-mobile-order,var(--v4-mobile-default-order,0)); }
  .v4-body [style*="--module-title-size:"] { --module-title-size:initial; }
  .v4-body [style*="--module-body-size:"] { --module-body-size:initial; }
  .v4-body [style*="--v4-mobile-title-size:"] { --module-title-size:var(--v4-mobile-title-size); }
  .v4-body [style*="--v4-mobile-body-size:"] { --module-body-size:var(--v4-mobile-body-size); }
  .v4-body [style*="--v4-mobile-span:"] { grid-column:span var(--v4-mobile-span)!important; }
  .v4-body [style*="--v4-mobile-order:"] { order:var(--v4-mobile-order); }
  .v4-body [style*="--v4-mobile-hidden:1;"] { display:none!important; }
  .v4-body [style*="--v4-mobile-padding-top:"] { padding-top:var(--v4-mobile-padding-top)!important; }
  .v4-body [style*="--v4-mobile-padding-bottom:"] { padding-bottom:var(--v4-mobile-padding-bottom)!important; }
  .v4-body [style*="--v4-mobile-padding-x:"] { padding-inline:var(--v4-mobile-padding-x)!important; }
  .v4-body [style*="--v4-mobile-gap:"] { gap:var(--v4-mobile-gap)!important; }
  .v4-body [data-module-kind="scene-slide"][style*="--v4-mobile-padding-x:"] .v4-home-hero-copy { left:var(--v4-mobile-padding-x); right:var(--v4-mobile-padding-x); }
  .v4-body [style*="--v4-mobile-gap:"] .v4-home-hero-copy { gap:var(--v4-mobile-gap); }
  .v4-body [style*="--v4-mobile-gap:"]>.v4-module-grid,
  .v4-body [style*="--v4-mobile-gap:"]>.v4-module-links,
  .v4-body [style*="--v4-mobile-gap:"] .v4-module-copy { gap:var(--v4-mobile-gap)!important; }
  .v4-body [style*="--v4-mobile-text-align:"] { text-align:var(--v4-mobile-text-align)!important; }
  .v4-body [style*="--v4-mobile-text-align:"] :is(.v4-prose,.v4-home-hero-copy,.v4-inner-hero-copy,.v4-story-heading,h1,h2,h3,p) { text-align:var(--v4-mobile-text-align)!important; }
  .v4-body [style*="--v4-mobile-text-align:left;"] .v4-home-hero-copy { align-items:flex-start; }
  .v4-body [style*="--v4-mobile-text-align:center;"] .v4-home-hero-copy { align-items:center; }
  .v4-body [style*="--v4-mobile-text-align:right;"] .v4-home-hero-copy { align-items:flex-end; }
  .v4-body [style*="--v4-mobile-image-side:bottom;"] .v4-module-copy { flex-direction:column-reverse!important; }
  .v4-body .v4-story-banner[style*="--v4-mobile-image-side:bottom;"] { flex-direction:column-reverse; }
  .v4-body [style*="--v4-mobile-image-fit:"] img { object-fit:var(--v4-mobile-image-fit)!important; }
  .v4-body [style*="--v4-mobile-image-x:"] img,
  .v4-body [style*="--v4-mobile-image-y:"] img { object-position:var(--v4-mobile-image-x,50%) var(--v4-mobile-image-y,50%)!important; }
  .v4-body [style*="--v4-mobile-image-ratio:"] :is(.v4-module-photo img,.v4-module-image,.v4-about-intro-photo,.v4-about-title-artwork,.v4-inner-hero),
  .v4-body .v4-story-banner[style*="--v4-mobile-image-ratio:"]>picture>img { aspect-ratio:var(--v4-mobile-image-ratio)!important; height:auto!important; min-height:0!important; }
  .v4-body [style*="--v4-mobile-content-position:top;"] :is(.v4-home-hero-copy,.v4-inner-hero-copy) { top:8%!important; bottom:auto!important; transform:none!important; }
  .v4-body [style*="--v4-mobile-content-position:center;"] :is(.v4-home-hero-copy,.v4-inner-hero-copy) { top:50%!important; bottom:auto!important; transform:translateY(-50%)!important; }
  .v4-body [style*="--v4-mobile-content-position:bottom;"] :is(.v4-home-hero-copy,.v4-inner-hero-copy) { top:auto!important; bottom:18%!important; transform:none!important; }
  .v4-body .v4-home .v4-scene[style*="--v4-mobile-height-mode:screen;"],
  .v4-body .v4-home .v4-scene[style*="--v4-mobile-height-mode:auto;"] { min-height:var(--v4-scene-height,100vh)!important; }
  .v4-body .v4-home .v4-scene[style*="--v4-mobile-height-mode:auto;"] { height:auto!important; }
  /* An auto-height hero still needs a containing block for its absolute slides. */
  .v4-body .v4-home .v4-home-hero[style*="--v4-mobile-height-mode:auto;"] { height:max(560px,var(--v4-scene-height,100vh))!important; }
  .v4-body.v4-home-scene-canvas .v4-scene:not(.v4-home-hero) { height:auto; }
  .v4-body.v4-home-scene-canvas .v4-canvas-scenes { display:flex; flex-direction:column; }
}
/* Picture wrappers also retain the original desktop image geometry. */
.v4-module-copy>.v4-module-picture,.v4-about-intro-content>picture { display:contents; }
.v4-story-banner>picture { display:contents; }
.v4-story-banner>picture>img { position:absolute; right:0; top:0; width:70%; height:100%; object-fit:cover; }
.v4-module-picture>.v4-module-image { width:100%; max-height:480px; object-fit:cover; border-radius:12px; }
.v4-module-image--right .v4-module-picture>.v4-module-image { order:1; }
@media (max-width:1199px), (pointer:coarse) { .v4-body .v4-module-image--right .v4-module-picture>.v4-module-image { order:0; } }
@media (max-width:600px) {
  .v4-body .v4-article-rows>article { display:flex; flex-direction:column; gap:16px; }
  .v4-body .v4-article-rows .v4-row-image { width:100%; height:auto; aspect-ratio:16/9; }
  .v4-body .v4-article-rows h2 { display:block; -webkit-line-clamp:unset; max-height:none; overflow:visible; }
  .v4-body .v4-article-content { padding:24px 18px; }
  .v4-body .v4-article-content>h1 { font-size:var(--module-title-size,26px); line-height:1.5; }
  .v4-body .v4-panel>.v4-prose { padding:24px 18px; }
  .v4-body .v4-annual-reports,.v4-body .v4-person-grid,.v4-body .v4-partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .v4-body .v4-name-table { grid-template-columns:minmax(0,1fr); }
}
