/*
  ICON ELEMENT MOBILE CORRECTION LAYER — v4
  Load after each page stylesheet and site-header.css.
  These rules are intentionally mobile-only and page-specific.
*/

.io-mobile-heading {
  display: none;
}

@media (max-width: 760px) {
  /* =========================================================
     LA READINESS INDEX — prevent sideways page movement in iOS Safari
     ========================================================= */
  html:has(body.la-index-page),
  body.la-index-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
  }

  body.la-index-page {
    touch-action: pan-y !important;
  }

  body.la-index-page main,
  body.la-index-page .section-shell,
  body.la-index-page .content-grid,
  body.la-index-page .content-width,
  body.la-index-page .combined-signals-layout,
  body.la-index-page .signals-proof-column,
  body.la-index-page .stat-grid,
  body.la-index-page .combined-stat-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.la-index-page .section-shell,
  body.la-index-page main {
    overflow-x: clip !important;
  }

  body.la-index-page img,
  body.la-index-page svg,
  body.la-index-page video,
  body.la-index-page canvas {
    max-width: 100% !important;
  }
  /* =========================================================
     HOMEPAGE — break the opening explanation into two paragraphs
     ========================================================= */
  .hero-section .hero-lede-group {
    display: grid !important;
    gap: 1.25rem !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .hero-section .hero-lede-group .hero-lede {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .hero-section .hero-qualifier {
    margin-top: clamp(1.8rem, 7vw, 2.5rem) !important;
  }

  /* =========================================================
     LA READINESS INDEX — wider hero title and centered stat cards
     ========================================================= */
  body.la-index-page .hero,
  body.la-index-page .hero .content-grid,
  body.la-index-page .hero-grid,
  body.la-index-page .hero-copy {
    width: 100% !important;
    max-width: none !important;
  }

  body.la-index-page .hero .content-grid,
  body.la-index-page .hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.la-index-page #hero-title {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    font-size: clamp(3.15rem, 13vw, 4.6rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.045em !important;
    text-wrap: normal !important;
  }

  body.la-index-page #hero-title em {
    display: inline !important;
  }

  body.la-index-page .combined-stat-grid,
  body.la-index-page .stat-grid.combined-stat-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: stretch !important;
    gap: 1rem !important;
  }

  body.la-index-page .combined-stat-grid .stat-card {
    width: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1.65rem 1.35rem !important;
    text-align: center !important;
  }

  /* Match the homepage Sector Intelligence statistic construction exactly:
     Cormorant Garamond, separate number/percent sizing, and the same gold sweep. */
  body.la-index-page .combined-stat-grid .stat-card strong.homepage-sector-stat {
    width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0.1em !important;
    margin: 0 auto 0.7rem !important;
    color: transparent !important;
    background: linear-gradient(90deg, #b8860b 0%, #f2d27a 50%, #c9a24a 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-style: normal !important;
    font-variant: normal !important;
    font-variant-numeric: normal !important;
    font-feature-settings: normal !important;
    font-weight: 700 !important;
    line-height: 0.88 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.28)) !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
  }

  body.la-index-page .homepage-sector-stat-number {
    font: inherit !important;
    font-size: clamp(5.4rem, 25vw, 7rem) !important;
    line-height: 0.88 !important;
    letter-spacing: -0.075em !important;
  }

  body.la-index-page .homepage-sector-stat-percent {
    font: inherit !important;
    font-size: clamp(2.9rem, 13.5vw, 4rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.05em !important;
    margin-top: 0.12em !important;
  }

  body.la-index-page .combined-stat-grid .stat-card p,
  body.la-index-page .combined-stat-grid .stat-card small {
    width: 100% !important;
    max-width: 29ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.la-index-page .combined-stat-grid .stat-card small {
    display: block !important;
  }

  /* =========================================================
     SERVICES — group all intelligence inputs before all outputs
     ========================================================= */
  .io-architecture {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  .io-architecture .io-headings {
    display: none !important;
  }

  .io-architecture .io-row {
    display: contents !important;
  }

  .io-architecture .io-mobile-heading {
    display: block !important;
    width: 100% !important;
    padding: 0.9rem 0 !important;
    margin: 0 !important;
    border-top: 1px solid rgba(201, 162, 74, 0.24) !important;
    border-bottom: 1px solid rgba(201, 162, 74, 0.24) !important;
  }

  .io-architecture .io-mobile-input-heading {
    order: 1 !important;
    margin-bottom: 0.75rem !important;
  }

  .initiative-lane .io-mobile-input-heading,
  .diagnostic-lane .io-mobile-input-heading {
    margin-top: clamp(2rem, 8vw, 3rem) !important;
  }

  .io-architecture .io-card.io-input {
    order: 2 !important;
  }

  .io-architecture .io-mobile-output-heading {
    order: 3 !important;
    margin-top: 2.25rem !important;
    margin-bottom: 0.75rem !important;
  }

  .io-architecture .io-card.io-output {
    order: 4 !important;
  }

  .io-architecture .io-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .io-architecture .io-card + .io-card {
    border-top: 1px solid rgba(201, 162, 74, 0.16) !important;
  }



  /* Keep pathway card step numbers from colliding with long module labels */
  .pathway-card {
    position: relative !important;
  }

  .pathway-card .module-label {
    display: block !important;
    width: auto !important;
    max-width: calc(100% - 4.25rem) !important;
    padding-right: 0.5rem !important;
    line-height: 1.18 !important;
    white-space: normal !important;
  }

  .pathway-card .pathway-number {
    position: absolute !important;
    top: 1.8rem !important;
    right: 1.4rem !important;
    z-index: 2 !important;
    line-height: 1 !important;
  }

  /* =========================================================
     ABOUT — center the gap statement and keep the map labels visible
     ========================================================= */
  .moment-conclusion {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 1.25rem !important;
    text-align: center !important;
  }

  .moment-conclusion-primary,
  .moment-conclusion-secondary {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-inline: clamp(0.35rem, 2.5vw, 0.85rem) !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  .moment-conclusion-rule {
    width: min(78%, 18rem) !important;
    height: 1px !important;
    margin: 0 auto !important;
  }

  .la-intelligence-visual {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .la-intelligence-visual .la-node {
    max-width: 44% !important;
    padding: 0.42rem 0.58rem !important;
    font-size: clamp(0.68rem, 3.15vw, 0.84rem) !important;
    line-height: 1.16 !important;
    white-space: normal !important;
  }

  .la-intelligence-visual .la-node-four {
    right: 0.65rem !important;
    left: auto !important;
    width: max-content !important;
    max-width: calc(100% - 1.3rem) !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  /* =========================================================
     FAQ — return the final actions to normal mobile button sizing
     ========================================================= */
  .faq-final-cta-inner {
    align-items: start !important;
  }

  .faq-final-actions,
  .faq-answer-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    gap: 0.9rem !important;
  }

  .faq-final-actions .button,
  .faq-answer-actions .button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 56px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    padding: 1rem 1.15rem !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: clamp(0.95rem, 4.4vw, 1.08rem) !important;
    line-height: 1.2 !important;
    letter-spacing: 0.045em !important;
    text-align: center !important;
    white-space: normal !important;
    align-self: start !important;
  }
}
