/* Mobile layout — Run 1–3. All rules inside max-width 900px; desktop unchanged. */

@media (max-width: 900px) {
  .v-grid-2,
  .v-grid-2-asym,
  .v-grid-3,
  .v-grid-footer {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .v-sticky-rail {
    position: static !important;
  }

  .v-hero-banner-inner {
    min-height: 220px !important;
    max-height: 52vh !important;
    aspect-ratio: 4 / 3 !important;
  }

  .v-banner-line-lg {
    font-size: 28px !important;
    letter-spacing: -0.8px !important;
  }

  .v-banner-line-md {
    font-size: 22px !important;
    letter-spacing: -0.4px !important;
  }

  .v-title-hero {
    font-size: 36px !important;
    letter-spacing: -1.2px !important;
  }

  .v-subhead-hero {
    font-size: 20px !important;
  }

  .v-subhead-hero-ai {
    font-size: inherit !important;
  }

  /* Home hero: image above Contact / Explore on mobile */
  .v-hero-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .v-hero-copy {
    display: contents !important;
  }

  .v-hero-o1 { order: 1; }
  .v-hero-o2 { order: 2; }
  .v-hero-o3 { order: 3; }
  .v-hero-o4 { order: 4; padding-top: 0 !important; }
  .v-hero-o5 { order: 5; margin-top: 24px !important; }

  .v-title-section {
    font-size: 32px !important;
    letter-spacing: -1px !important;
  }

  .v-title-section-md {
    font-size: 30px !important;
    letter-spacing: -0.8px !important;
  }

  .v-narrative-rail-title {
    font-size: 28px !important;
  }

  .v-side-panel-title {
    font-size: 28px !important;
  }

  .v-quote-pull {
    font-size: 26px !important;
    letter-spacing: -0.4px !important;
  }

  .v-cta-pad {
    padding: 32px 24px !important;
  }

  .v-footer-pad {
    padding: 48px clamp(24px, 5vw, 80px) 24px !important;
  }

  .v-footer-wordmark svg {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    max-height: clamp(72px, 22vw, 200px) !important;
  }

  .v-footer-wordmark > span {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(48px, 14vw, 120px) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1 !important;
  }

  /* Run 2 — page titles */
  .v-title-page {
    font-size: 36px !important;
    letter-spacing: -1.2px !important;
    line-height: 1.05 !important;
  }

  .v-subhead-lead {
    font-size: 17px !important;
  }

  .v-italic-product {
    font-size: inherit !important;
  }

  .v-grid-header-split {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .v-products-metrics {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 20px !important;
  }

  .v-products-metrics > div {
    text-align: left !important;
  }

  .v-flex-pipeline {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .v-flex-pipeline .v-pipeline-step {
    flex: none !important;
    width: 100% !important;
    flex-direction: column !important;
  }

  .v-flex-pipeline .v-pipeline-arrow {
    display: none !important;
  }

  .v-pipeline-step > div:first-child {
    min-height: auto !important;
  }

  .v-step-title {
    font-size: 22px !important;
  }

  .v-card-title-lg {
    font-size: 28px !important;
  }

  .v-cta-pad-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .v-cta-pad-grid > div:last-child {
    align-items: flex-start !important;
  }

  .v-contact-card-title {
    font-size: 28px !important;
  }

  .v-contact-email-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .v-contact-email-row span:last-child {
    font-size: 14px !important;
    word-break: break-all;
  }

  /* Run 3 — resources */
  .v-title-section-sm {
    font-size: 28px !important;
    letter-spacing: -0.6px !important;
  }

  .v-news-cols {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .v-news-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .v-resource-cat-title {
    font-size: 22px !important;
  }

  .v-resource-link {
    grid-template-columns: 1fr auto !important;
    gap: 6px 12px !important;
    align-items: start !important;
  }

  .v-resource-link > span:first-child {
    grid-column: 1 / -1;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
  }

  /* Run 3 — mobile nav */
  .v-nav-inner {
    flex-wrap: wrap !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    gap: 12px !important;
  }

  .v-nav-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0 0 0 auto;
    border: 1px solid rgba(244, 241, 232, 0.15);
    border-radius: 6px;
    background: rgba(15, 20, 36, 0.6);
    color: #f4f1e8;
    cursor: pointer;
    flex-shrink: 0;
  }

  .v-nav-toggle svg {
    display: block;
  }

  .v-nav-desktop-only {
    display: none !important;
  }

  .v-nav-panel {
    display: none;
    flex-direction: column;
    width: 100%;
    order: 10;
    gap: 4px;
    padding: 12px 0 8px;
    border-top: 1px solid rgba(244, 241, 232, 0.1);
  }

  .v-nav-panel.is-open {
    display: flex;
  }

  .v-nav-panel a {
    padding: 12px 4px !important;
    font-size: 15px !important;
  }

  .v-nav-panel .v-nav-cta-wrap {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(244, 241, 232, 0.08);
  }
}

/* Nav toggle + mobile panel hidden on desktop */
.v-nav-toggle {
  display: none;
}

.v-nav-panel {
  display: none;
}
