/* Responsive refinement of the existing scenes, not a separate mobile page.
   Keep spacing inside panels: scroll controllers use their natural heights. */
.finance-mobile-caption { display: none; }
body[data-site-page="home"] .product-hero { padding-top: 54px; }

@media (max-width: 960px) {
  body[data-site-page="home"] .product-hero { padding-top: 40px; }
}

@media (max-width: 900px) {
  body[data-site-page="home"] .product-hero {
    padding-block: 44px 64px;
  }

  .product-hero__copy {
    width: min(620px, calc(100% - 44px));
    text-align: left;
  }

  .product-hero h1 {
    margin-inline: 0;
    font-size: clamp(40px, 8vw, 56px);
    letter-spacing: -.05em;
    line-height: 1.1;
  }

  .product-hero h1 span { color: var(--orange); }

  .product-hero__copy p {
    margin: 22px 0 0;
    max-width: 560px;
    font-size: 16px;
    line-height: 1.7;
  }

  .product-hero__actions { justify-content: center; margin-top: 24px; }
  .product-stage { width: min(680px, calc(100% - 32px)); margin-top: 36px; }
  .product-window__bar { min-height: 38px; font-size: 11px; }

  .guided-features > .guided-feature {
    position: relative;
    top: auto;
    margin: 0;
    box-shadow: none;
    scroll-margin-top: 72px;
  }

  .guided-features .guided-feature__inner {
    width: min(620px, calc(100% - 44px));
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 36px;
    padding-block: 60px;
  }

  .guided-feature .guided-feature__copy { max-width: 540px; padding: 0; }

  .guided-feature .feature-title {
    max-width: none;
    font-size: clamp(35px, 7.4vw, 48px);
    line-height: 1.13;
    letter-spacing: -.045em;
  }

  .guided-feature .guided-feature__summary {
    max-width: 520px;
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.7;
  }

  .guided-feature:not(.guided-feature--ecosystem):not(.guided-feature--detran) .guided-feature__summary {
    color: #617085;
  }

  .guided-feature .guided-feature__learn-more {
    min-height: 44px;
    max-width: 100%;
    gap: 14px;
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.5;
    white-space: normal;
  }

  .guided-feature__learn-more .arrow-icon { color: var(--orange); }

  .guided-feature .guided-feature__media {
    width: 100%;
    max-width: 560px;
    justify-self: center;
    margin: 0;
  }

  .guided-feature--catalog .guided-feature__inner { gap: 30px; }
  .catalog-story { padding: 8px 2px 20px; }
  .catalog-story__label, .catalog-story__count { font-size: 13px; }
  .catalog-story__label { margin-bottom: 12px; }
  .catalog-story__search { min-height: 62px; }
  .catalog-story__value { font-size: 17px; letter-spacing: -.02em; }
  .catalog-story__row { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; min-height: 92px; padding: 16px; }
  .catalog-story__thumbnail { width: 52px; }
  .catalog-story__product strong { font-size: 14px; line-height: 1.45; letter-spacing: -.02em; }
  .catalog-story__product span { font-size: 12px; }

  .guided-feature--ecosystem .guided-feature__inner { gap: 24px; }
  .channel-orbit { width: min(100%, 560px); margin-block: 0; }
  .channel-orbit__label { font-size: clamp(8px, 1.8cqw, 10px); }
  .guided-feature--detran .detran-availability { font-size: 12px; line-height: 1.7; }

  .guided-feature .guided-feature__media--finance { display: block; }
  .finance-scene { padding-block: 0; }
  .finance-flow__line { stroke-width: 4.5; }
  .finance-flow__grid { stroke-width: 1.7; }
  .finance-mobile-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
    padding: 8px 8px 0;
    color: var(--navy);
  }
  .finance-mobile-caption strong { font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
  .finance-mobile-caption__legend { display: flex; gap: 18px; color: #526279; font-size: 12px; }
  .finance-mobile-caption__legend span { display: inline-flex; align-items: center; gap: 7px; }
  .finance-mobile-caption__legend span::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #143b61; }
  .finance-mobile-caption__legend span:last-child::before { background: var(--orange); }

  /* Give report modules room for real type and chart geometry. The growth
     panel follows below, instead of covering the stock module on a phone. */
  .reports-scene {
    display: grid;
    gap: 20px;
    width: 100%;
    max-width: 540px;
    aspect-ratio: auto;
    padding: 8px 8px 18px;
  }
  .reports-scene__overview {
    position: relative;
    width: 100%;
    aspect-ratio: auto;
    padding: 22px 18px;
  }
  .report-overview__header { margin-bottom: 20px; }
  .report-overview__header img { width: 108px; }
  .report-overview__header p { font-size: clamp(20px, 5.3cqw, 27px); }
  .report-overview__grid { grid-template-rows: 126px 126px 76px; gap: 10px; }
  .report-module { padding: 12px 10px; }
  .report-module__title,
  .report-module--ranking .report-module__title { font-size: 12px; white-space: normal; line-height: 1.3; letter-spacing: -.015em; }
  .report-module--stock { padding: 10px; }
  .report-growth {
    position: relative;
    right: auto;
    bottom: auto;
    justify-self: end;
    width: 74%;
    max-width: 340px;
    padding: 16px 14px 8px;
  }
  .report-growth__title { font-size: 14px; letter-spacing: -.02em; }

  .guided-trust { padding-block: 48px 52px; }
  .guided-trust__viewport { padding-block: 12px 16px; }
  .guided-trust__group { gap: 48px; padding-right: 48px; }
  .guided-testimonial { width: min(440px, calc(100vw - 56px)); min-height: 0; }
  .guided-testimonial__summary p { font-size: clamp(22px, 5.7vw, 28px); line-height: 1.45; letter-spacing: -.035em; }
  .guided-testimonial footer { margin-top: 28px; }
  .guided-testimonial footer strong { font-size: 13px; }
  .guided-testimonial footer span { font-size: 11px; }

  /* No fixed pointer spotlight on touch devices. Existing scroll-led scenes
     retain ownership of their transforms and reduced-motion behavior. */
  .immersive-aura, .immersive-noise { display: none; }
}

@media (max-width: 540px) {
  .product-hero h1 { font-size: clamp(36px, 10.4vw, 52px); }
  .product-hero__actions { align-items: stretch; flex-direction: column; gap: 8px; }
  .product-stage { width: calc(100% - 24px); }
  .product-window__bar { font-size: 10px; padding-inline: 42px 10px; }
  .product-window__bar > span > span { margin-inline: 4px; }
  .guided-feature .feature-title { font-size: clamp(33px, 9.3vw, 46px); }
  .trace-demo { aspect-ratio: .92; }
  .trace-phone { width: 50%; }
  .trace-demo__part { left: 0; bottom: 4%; }
  .trace-phone__result { inset-block-start: 46%; padding: 2.3cqw 3cqw 4cqw; }
  .trace-phone__product { margin-top: 1.4cqw; }
  .trace-phone__product strong { font-size: clamp(12px, 4cqw, 18px); letter-spacing: -.025em; }
  .trace-phone__data { gap: 1.1cqw; margin-top: 1.6cqw; }
  .trace-phone__data div { padding-top: .8cqw; }
  .trace-phone__data dt { font-size: clamp(8px, 2.2cqw, 10px); margin-bottom: .25cqw; }
  .trace-phone__data dd { font-size: clamp(9px, 2.7cqw, 12px); }
}

@media (max-width: 360px) {
  .product-hero__copy, .guided-features .guided-feature__inner { width: calc(100% - 36px); }
  .catalog-story__row { gap: 10px; padding: 14px 12px; grid-template-columns: 44px minmax(0, 1fr); }
  .catalog-story__thumbnail { width: 44px; }
  .reports-scene { padding-inline: 6px; }
  .reports-scene__overview { padding-inline: 12px; }
  .report-module { padding-inline: 8px; }
  .report-module__title, .report-module--ranking .report-module__title { font-size: 11px; }
  .report-growth { width: 84%; }
}
