/*
  Fullymobile responsive overrides.
  Load after page CSS.
  Keep this file for media queries only.
*/

@media (max-width: 960px) {
  body.fm-public-page {
    --fm-page-padding-x: 18px;
    --fm-header-height: 64px;
  }

  body.fm-public-page .site-nav .nav-inner {
    min-height: var(--fm-header-height);
    padding-inline: 18px;
  }

  .fm-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fm-page-hero {
    padding: 42px 0 24px;
  }

  .fm-page-title {
    font-size: clamp(32px, 8vw, 48px);
  }

  .fm-page-subtitle {
    font-size: 17px;
  }
}

@media (max-width: 720px) {
  body.fm-public-page {
    --fm-page-padding-x: 16px;
    --fm-section-gap: 22px;
    --fm-card-gap: 14px;
  }

  .fm-grid-2,
  .fm-grid-3 {
    grid-template-columns: 1fr;
  }

  .fm-page-hero {
    padding: 34px 0 20px;
  }

  .fm-page-title {
    font-size: clamp(30px, 10vw, 42px);
    letter-spacing: -0.035em;
  }

  .fm-page-subtitle {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.65;
  }

  .fm-card {
    padding: 17px;
  }

  .fm-actions {
    gap: 10px;
  }

  .fm-btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  body.fm-public-page {
    --fm-page-padding-x: 14px;
  }

  body.fm-public-page .site-nav .nav-inner {
    padding-inline: 14px;
  }

  .fm-page-eyebrow {
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .fm-page-title {
    font-size: clamp(28px, 11vw, 38px);
  }

  .fm-pill {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 820px) {
  .fm-page-hero-split {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .fm-page-hero-aside {
    min-width: 0;
  }

  .fm-page-stat-row {
    justify-content: flex-start;
  }

  .fm-page-stat {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .fm-page-stat-row {
    display: none;
  }
}


/* Homepage-aligned mobile shell overrides 20260627 */

@media (max-width: 720px) {
  .fm-page-title {
    font-size: clamp(34px, 9vw, 44px);
    line-height: 1.12;
  }

  body.fm-public-page footer {
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .fm-page-title {
    font-size: clamp(32px, 10vw, 40px);
  }
}

/* Compact public hero mobile tuning 20260627 */
@media (max-width: 720px) {
  .fm-page-hero {
    padding: 28px 0 18px;
  }

  .fm-page-title {
    font-size: clamp(30px, 8.5vw, 38px);
    line-height: 1.12;
  }

  .fm-page-subtitle {
    margin-top: 12px;
    font-size: 15.5px;
    line-height: 1.6;
  }
}

@media (max-width: 480px) {
  .fm-page-title {
    font-size: clamp(28px, 9.5vw, 36px);
  }
}
