/* Final cross-page responsive stability layer. Loaded after all page styles. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body,
main,
header,
footer,
section,
.container {
  min-width: 0;
}

img,
picture,
video,
canvas,
svg {
  max-width: 100%;
}

img {
  display: block;
}

figure {
  min-width: 0;
  max-width: 100%;
}

.hero-grid > *,
.visual-story-grid > *,
.advisory-visual-grid > *,
.subpage-visual-card > *,
.uk-hero-layout > *,
.page-intro > *,
.page-cta-box > *,
.about-layout > *,
.zone-intro-band > *,
.route-grid > *,
.contact-grid > *,
.model-grid > *,
.bank-grid > *,
.intl-grid > * {
  min-width: 0;
  max-width: 100%;
}

.hero-market-media,
.visual-story-media,
.advisory-visual-media,
.subpage-visual-media,
.uk-brief-media {
  isolation: isolate;
}

.hero-market-media img,
.visual-story-media img,
.advisory-visual-media img,
.subpage-visual-media img,
.uk-brief-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.authority-logo img,
.brand-logo img,
.footer-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 1180px) {
  .nav-shell nav {
    grid-template-columns: minmax(0, 1fr) 46px !important;
  }

  .nav-shell .brand {
    min-width: 0;
    max-width: calc(100% - 8px);
  }

  .nav-shell .brand-copy {
    min-width: 0;
  }
}

@media (max-width: 920px) {
  .hero-grid,
  .visual-story-grid,
  .advisory-visual-grid,
  .subpage-visual-card,
  .subpage-visual-card.reverse,
  .uk-hero-layout,
  .page-intro,
  .page-cta-box,
  .about-layout,
  .zone-intro-band,
  .route-grid,
  .contact-grid,
  .model-grid,
  .bank-grid,
  .intl-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .subpage-visual-card.reverse .subpage-visual-media,
  .subpage-visual-card.reverse .subpage-visual-copy {
    order: initial !important;
  }

  .hero-command,
  .company-profile-card,
  .uk-brief-card,
  .visual-story-grid,
  .advisory-visual-grid,
  .subpage-visual-card {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 680px) {
  .container,
  .nav-shell > .container {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-inline: auto !important;
  }

  section,
  .page-section,
  .hero,
  .sub-hero,
  .subpage-visual {
    max-width: 100%;
    overflow: clip;
  }

  .hero-orbit,
  .premium-hero::after {
    display: none !important;
  }

  .hero-market-media,
  .visual-story-media,
  .advisory-visual-media,
  .subpage-visual-media,
  .uk-brief-media {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }

  .hero-market-media img,
  .visual-story-media img,
  .advisory-visual-media img,
  .subpage-visual-media img,
  .uk-brief-media img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    transform: none !important;
  }

  .hero-command,
  .company-profile-card,
  .visual-story-grid,
  .advisory-visual-grid,
  .subpage-visual-card,
  .uk-brief-card,
  .page-cta-box,
  .contact-panel,
  .contact-form {
    border-radius: 22px !important;
  }

  .hero-copy-v2,
  .hero-command,
  .investor-panel,
  .panel-body,
  .company-profile-card,
  .subpage-visual-copy,
  .visual-story-content,
  .advisory-visual-copy {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  h1,
  h2,
  h3,
  p,
  a,
  span,
  strong {
    overflow-wrap: anywhere;
  }

  .expect-grid,
  .premium-service-grid,
  .authority-grid,
  .premium-authority-grid,
  .emirates-showcase,
  .seo-card-grid,
  .fact-band,
  .deep-link-grid,
  .issue-grid,
  .issue-flow,
  .uk-choice-grid,
  .uk-checklist,
  .uk-process,
  .uk-compliance-grid,
  .uk-faq,
  .experience-grid,
  .mandate-grid,
  .typical-grid,
  .fz-grid,
  .emirate-bottom,
  .zone-compliance-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .subpage-visual-copy,
  .visual-story-content,
  .advisory-visual-copy {
    padding: 28px 21px !important;
  }

  .subpage-visual-label {
    max-width: calc(100% - 32px) !important;
    white-space: normal;
  }

  .btn,
  .hero-actions .btn,
  .page-cta-actions .btn {
    width: 100%;
    min-width: 0;
    padding-inline: 14px;
    text-align: center;
  }

  .compare-table,
  .uk-fee-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 420px) {
  .container,
  .nav-shell > .container {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
  }

  .nav-shell .brand-copy strong,
  .nav-shell .brand-copy span {
    max-width: 175px !important;
  }

  .hero-market-media,
  .visual-story-media,
  .advisory-visual-media,
  .subpage-visual-media,
  .uk-brief-media {
    aspect-ratio: 1 / 1;
  }
}
