/*
 * UPIA — Mobile finishing pass, 08/11/2026.
 * Scoped to small viewports. No change to desktop, WordPress URLs,
 * WPForms submission logic or the live theme.
 */
@layer components {
@media (max-width: 760px) {
  /* Keep the header visible but free more of the viewport for content. */
  .upia-site-header .upia-header-shell {
    min-height: 66px !important;
    gap: 12px !important;
    padding-block: 3px !important;
  }
  .upia-site-header .upia-brand-logo {
    width: 70px !important;
    max-height: 60px !important;
    height: auto !important;
  }
  .upia-site-header .upia-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }
  .upia-site-header .upia-nav-wrap {
    top: calc(100% + 3px) !important;
    max-height: calc(100dvh - 78px - env(safe-area-inset-bottom)) !important;
  }
  html { scroll-padding-top: 76px; }

  /* Keep hero composition and image but remove disproportionate whitespace. */
  .upia-home-hero-copy {
    padding-top: 32px !important;
    padding-bottom: 248px !important;
  }
  .upia-home-hero-copy h1 {
    font-size: clamp(2rem, 8.2vw, 2.55rem) !important;
    line-height: 1.08 !important;
  }
  .upia-home-hero-copy > p:not(.upia-kicker) {
    margin-top: 19px !important;
    font-size: .96rem !important;
    line-height: 1.65 !important;
  }
  .upia-home-hero-actions { margin-top: 22px !important; }
  .upia-home-benefits {
    gap: 9px !important;
    margin-top: 17px !important;
    padding-top: 15px !important;
  }
  .upia-hero-art { height: 226px !important; }

  /* Service cards remain readable and full-width; less stacked white space. */
  .upia-home-service-cards { gap: 0 !important; }
  .upia-home-service-card {
    grid-template-rows: 132px auto !important;
    min-height: 0 !important;
  }
  .upia-home-service-card .upia-service-visual {
    height: 132px !important;
    min-height: 132px !important;
  }
  .upia-home-service-card > div:last-child {
    padding: 17px 19px 19px !important;
  }
  .upia-home-service-card h2 { font-size: 1.55rem !important; }
  .upia-home-service-card p { margin-top: 8px !important; line-height: 1.53 !important; }
  .upia-home-service-card > div:last-child > span { padding-top: 12px !important; }

  /* Preserve the blue identity block and five-step sequential treatment. */
  .upia-home-about-process {
    padding-top: 30px !important;
    padding-bottom: 34px !important;
  }
  .upia-home-about-process .upia-home-about-copy {
    padding: 30px 22px !important;
  }
  .upia-home-about-copy h2 {
    font-size: clamp(1.9rem, 7.5vw, 2.35rem) !important;
    margin-bottom: 15px !important;
  }
  .upia-home-about-copy p {
    max-width: none !important;
    line-height: 1.65 !important;
    margin-bottom: 12px !important;
  }
  .upia-home-about-process .upia-home-process.upia-v7-method {
    padding: 27px 20px 29px !important;
  }
  .upia-home-about-process .upia-v7-method .upia-v7-steps {
    margin-block: 17px 22px !important;
  }
  .upia-home-about-process .upia-v7-method .upia-v7-step {
    grid-template-columns: 49px minmax(0, 1fr) !important;
    column-gap: 15px !important;
    padding-block: 12px !important;
  }
  .upia-home-about-process .upia-v7-method .upia-v7-step p {
    hyphens: manual !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-height: 1.55 !important;
  }
  .upia-home-about-process .upia-v7-method .upia-v7-step:not(:last-child)::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 60px !important;
    bottom: -5px !important;
    left: 24px !important;
    width: 2px !important;
    background: #b7d9e9 !important;
    pointer-events: none !important;
  }

  /* Request section and guide tiles: avoid excessively long mobile panels. */
  .upia-request-panel {
    padding-top: 30px !important;
    padding-bottom: 34px !important;
    gap: 22px !important;
  }
  .upia-request-box { padding: 20px !important; }
  .upia-home-guides { padding-top: 34px !important; padding-bottom: 39px !important; }
  .upia-home-guide { min-height: 156px !important; padding: 20px !important; }
  .upia-home-guide h3 { margin-top: 14px !important; }
  .upia-footer-main { gap: 25px !important; padding-block: 35px 30px !important; }

  /* Improve contrast of development-only preview controls; ordinary site
     pages have no WPVibe banner, so these declarations are inert in production. */
  #wpvibe-preview-banner .wpvibe-info,
  #wpvibe-preview-banner .wpvibe-btn-live {
    color: #e2e8f0 !important;
  }
  /* The preview banner belongs to WPVibe. Do not hide or edit its controls:
     only reserve enough scrollable space for the final section underneath. */
  body:has(#wpvibe-preview-banner) {
    padding-bottom: max(112px, env(safe-area-inset-bottom)) !important;
  }
}
}
