/* CVPilot AI mobile viewport-fit hotfix.
   Loaded last to defend against a narrow/zoomed page shell on hosted installs. */
@media screen and (max-width: 960px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    zoom: 1 !important;
  }

  html {
    overflow-x: clip !important;
  }

  body {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }

  body.public-site-body,
  body.admin-console-body {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
  }

  body > header.site-header,
  body > main,
  body > footer.site-footer {
    display: block;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body > main {
    height: auto !important;
    overflow-x: clip !important;
  }

  .site-header {
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
  }

  .site-header .header-inner {
    width: calc(100vw - 28px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .wrap {
    width: calc(100vw - 28px) !important;
    max-width: 1280px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .hero,
  .page-hero,
  .trust-strip,
  .section,
  .cta-section,
  .site-footer {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .hero > .wrap,
  .page-hero > .wrap,
  .section > .wrap,
  .cta-section > .wrap,
  .site-footer > .wrap {
    width: calc(100vw - 28px) !important;
    max-width: 1280px !important;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
  }

  .hero-copy,
  .hero-art {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .hero-art {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 480px) {
  .site-header .header-inner,
  .wrap,
  .hero > .wrap,
  .page-hero > .wrap,
  .section > .wrap,
  .cta-section > .wrap,
  .site-footer > .wrap {
    width: calc(100vw - 24px) !important;
  }

  .hero {
    padding-top: 34px !important;
    padding-bottom: 28px !important;
  }

  .hero .display {
    font-size: clamp(32px, 8.7vw, 40px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.05em !important;
    overflow-wrap: normal;
  }

  .hero .subhead {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .hero-art {
    min-height: 280px !important;
    max-width: 100% !important;
    overflow: hidden;
  }

  .resume-window {
    width: min(86%, 330px) !important;
    max-width: 100% !important;
  }

  .hero-proof {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
