/* Shared application-page mobile layout. Desktop rules remain in the original stylesheets. */
@media (max-width: 991px) {
  .dcv-app-page main { font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
  .dcv-app-page .dcv-app-hero__grid,
  .dcv-app-page .dcv-app-installation__grid,
  .dcv-app-page .dcv-app-article__grid,
  .dcv-app-page .ac-app-integration__grid,
  .dcv-app-page .thermostat-app-sensor__grid { grid-template-columns: minmax(0, 1fr); }
  .dcv-app-page .dcv-app-hero__content { min-width: 0; }
  .dcv-app-page .dcv-app-hero__visual { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .dcv-app-page .dcv-app-hero__visual::after { display: none; }
  .dcv-app-page .dcv-app-hero__visual img { filter: none; mix-blend-mode: normal; opacity: 1; }
}

@media (max-width: 780px) {
  .dcv-app-page main { --app-mobile-gap: 28px; }
  .dcv-app-page main :is(h1, h2, h3, p, a, li, figcaption) { overflow-wrap: break-word; }
  .dcv-app-page .dcv-app-container,
  .dcv-app-page .dcv-app-products > .gas-container { width: calc(100% - 32px); max-width: none; padding-inline: 0; }
  .dcv-app-page .dcv-app-section,
  .dcv-app-page .dcv-app-products { padding: 44px 0; }
  .dcv-app-page .dcv-app-hero { padding: 24px 0 20px; }
  .dcv-app-page .dcv-app-hero::before { display: none; }
  .dcv-app-page .dcv-app-breadcrumb { margin-bottom: 18px; padding: 0; gap: 6px 8px; font-size: 12px; line-height: 1.6; }
  .dcv-app-page .dcv-app-hero__grid { width: calc(100% - 32px); min-height: 0; gap: 0; border-radius: 16px; }
  .dcv-app-page .dcv-app-hero__content { padding: 28px 22px; }
  .dcv-app-page main .dcv-app-label { margin: 0 0 12px; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: .07em; }
  .dcv-app-page .dcv-app-hero h1,
  .dcv-app-page .dcv-app-heading h1 { max-width: none; margin: 0; font-size: clamp(27px, 7.7vw, 34px); font-weight: 600; line-height: 1.18; letter-spacing: -.025em; }
  .dcv-app-page .dcv-app-hero__statement { margin: 18px 0 12px; font-size: 18px; line-height: 1.5; }
  .dcv-app-page .dcv-app-hero__lead { margin: 0 0 24px; font-size: 15px; line-height: 1.7; color: #fff; }
  .dcv-app-page .dcv-app-hero__visual { width: 100%; aspect-ratio: 16 / 10; }
  .dcv-app-page .dcv-app-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
  .dcv-app-page main .dcv-app-btn { justify-content: center; max-width: 100%; min-height: 48px; padding: 12px 20px; gap: 12px; font-size: 14px; line-height: 1.45; text-align: center; white-space: normal; }
  .dcv-app-page .dcv-app-hero .dcv-app-btn { width: 100%; box-shadow: none; }
  .dcv-app-page .dcv-app-btn > span { flex: 0 0 auto; }

  .dcv-app-page main :is(.dcv-app-heading, .dcv-app-installation__copy, .dcv-app-article__copy, .ac-app-integration__copy, .thermostat-app-sensor__copy) h2,
  .dcv-app-page .hvac-scent-products__header h2 { max-width: none; margin: 0 0 16px; font-size: 25px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
  .dcv-app-page .dcv-app-heading { margin-bottom: 26px; }
  .dcv-app-page main :is(.dcv-app-heading, .dcv-app-installation__copy, .dcv-app-article__copy, .ac-app-integration__copy, .thermostat-app-sensor__copy) > p:not(.dcv-app-label) { margin: 14px 0 0; font-size: 15px; line-height: 1.75; }
  .dcv-app-page .dcv-app-benefits { padding-top: 24px; }
  .dcv-app-page .dcv-app-benefits__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .dcv-app-page .dcv-app-benefit { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px 12px; min-height: 0; padding: 22px 18px; border: 0 !important; border-radius: 12px; background: #f4f7fb; }
  .dcv-app-page .dcv-app-benefit > span { position: static; grid-column: 1; grid-row: 1 / 4; padding-top: 2px; color: #357bea; font-size: 13px; line-height: 1.6; }
  .dcv-app-page .dcv-app-benefit > :not(span) { grid-column: 2; }
  .dcv-app-page .dcv-app-benefit :is(h2, h3) { max-width: none; margin: 0; font-size: 19px; font-weight: 600; line-height: 1.4; }
  .dcv-app-page .dcv-app-benefit p { margin: 0; font-size: 14px; line-height: 1.75; }

  .dcv-app-page :is(.dcv-app-installation__grid, .dcv-app-article__grid, .ac-app-integration__grid, .thermostat-app-sensor__grid) { gap: var(--app-mobile-gap); }
  .dcv-app-page .dcv-app-installation__copy { order: -1; }
  .dcv-app-page .dcv-app-installation__media { min-height: 0; width: 100%; border-radius: 12px; }
  .dcv-app-page .dcv-app-installation__scene { min-height: 0; height: auto; width: 100%; aspect-ratio: 4 / 3; }
  .dcv-app-page .dcv-app-installation__copy .dcv-app-btn,
  .dcv-app-page .ac-app-integration__copy .dcv-app-btn,
  .dcv-app-page .thermostat-app-sensor__copy .dcv-app-btn { margin-top: 24px; }
  .dcv-app-page .dcv-app-article__media { border-radius: 12px; }
  .dcv-app-page .dcv-app-article__media img { aspect-ratio: 16 / 10; }
  .dcv-app-page .dcv-app-article__link { min-height: 44px; max-width: 100%; margin-top: 18px; font-size: 14px; line-height: 1.5; }

  /* Product cards use the same mobile presentation as the solution pages. */
  body.dcv-app-page main .has-mobile-products { padding: 44px 0; background: #f4f7fb; }
  body.dcv-app-page main .mobile-products h2 { font-size: 25px; line-height: 1.3; letter-spacing: -.02em; }
  body.dcv-app-page main .mobile-products__body h3 { font-size: 21px; line-height: 1.4; }
  body.dcv-app-page main .mobile-products__body > a { min-height: 44px; font-size: 14px; }
  body.dcv-app-page main .mobile-products__body :is(p, li) { font-size: 14px; line-height: 1.75; }
  body.dcv-app-page main .mobile-products__body dl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

  /* Device pairs and controls stay readable within a narrow viewport. */
  .dcv-app-page .ac-app-integration__products { gap: 12px; }
  .dcv-app-page .ac-app-integration__product { min-width: 0; min-height: 0; margin: 0; padding: 12px 8px; border-radius: 12px; background: #f4f7fb; }
  .dcv-app-page .ac-app-integration__product img { height: 140px; }
  .dcv-app-page .ac-app-integration__product figcaption { margin: 12px 0 0; font-size: 13px; line-height: 1.5; }
  .dcv-app-page .thermostat-app-sensor__media { min-height: 0; }
  .dcv-app-page .thermostat-app-sensor__media img { width: 90%; height: 230px; }
  .dcv-app-page .hvac-scent-controls__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .dcv-app-page .hvac-scent-controls__grid article { overflow: hidden; border-radius: 12px; }
  .dcv-app-page .hvac-scent-controls__grid h3 { margin: 20px 20px 10px; font-size: 20px; line-height: 1.35; }
  .dcv-app-page .hvac-scent-controls__grid p { padding: 0 20px 22px; font-size: 14px; line-height: 1.75; }
  .dcv-app-page .purifier-inputs { gap: 16px; padding-top: 0; }

  /* Compact vertical sequence instead of the desktop five-column flow. */
  .dcv-app-page .cabin-loop__panel { padding: 22px 16px; border-radius: 12px; }
  .dcv-app-page .cabin-loop__steps { grid-template-columns: minmax(0, 1fr); }
  .dcv-app-page .cabin-loop__step { padding-left: 64px; }
  .dcv-app-page .cabin-loop__icon { width: 44px; height: 44px; flex-basis: 44px; border-radius: 12px; }
  .dcv-app-page .cabin-loop__icon svg { width: 24px; height: 24px; }
  .dcv-app-page .cabin-loop__step:not(:last-child)::after { left: 22px; top: 76px; }
  .dcv-app-page .cabin-loop__step:not(:last-child)::before { left: 19px; }
  .dcv-app-page .cabin-loop__step h3 { font-size: 19px; line-height: 1.35; }
  .dcv-app-page .cabin-loop__step .cabin-loop__description { font-size: 14px; line-height: 1.75; }
  .dcv-app-page .cabin-loop__return { line-height: 1.6; }
  .dcv-app-page .cabin-loop__footer { gap: 18px; margin-top: 20px; }
  .dcv-app-page .cabin-loop__footer a { min-height: 44px; line-height: 1.5; }

  .dcv-app-page main .contact-section { padding: 44px 0; }
  .dcv-app-page main .contact-inner { width: calc(100% - 32px); max-width: none; padding: 0; transform: none; }
  .dcv-app-page main .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .dcv-app-page main :is(.contact-left, .contact-form, .f-control) { width: 100%; min-width: 0; }
  .dcv-app-page main .contact-title { font-size: 25px; line-height: 1.3; margin: 0 0 14px; }
  .dcv-app-page main .contact-subtitle { margin-bottom: 24px; font-size: 14px; line-height: 1.75; }
  .dcv-app-page main .f-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin-bottom: 18px; }
  .dcv-app-page main .f-label { width: auto; margin: 0; font-size: 14px; line-height: 1.5; }
  .dcv-app-page main :is(.f-input, .f-textarea) { width: 100%; min-width: 0; font: inherit; font-size: 16px; border-radius: 10px; }
  .dcv-app-page main .f-input { height: 48px; }
  .dcv-app-page main .f-textarea { min-height: 130px; }
  .dcv-app-page main .f-actions { margin: 0; padding: 0; }
  .dcv-app-page main .f-submit { width: 100%; min-height: 48px; font-size: 16px; border-radius: 10px; }
  .dcv-app-page main .contact-right { display: none; }
}

/* Mobile hero reading order: heading, scene, explanation, then inquiry CTA. */
@media (max-width: 991px) {
  .dcv-app-page .dcv-app-hero__grid { display: flex; flex-direction: column; padding: 28px 0; }
  .dcv-app-page .dcv-app-hero__content { display: contents; }
  .dcv-app-page .dcv-app-hero__content > .dcv-app-label { order: 1; margin: 0 22px 12px; }
  .dcv-app-page .dcv-app-hero__content > h1 { order: 2; margin: 0 22px; }
  .dcv-app-page .dcv-app-hero__visual { order: 3; flex: none; margin: 22px 0; }
  .dcv-app-page .dcv-app-hero__statement { order: 4; margin: 0 22px 12px; }
  .dcv-app-page .dcv-app-hero__lead { order: 5; margin: 0 22px 24px; }
  .dcv-app-page .dcv-app-hero__grid .dcv-app-btn { order: 6; align-self: center; width: calc(100% - 44px); margin: 0 22px; justify-content: center; }
}
