/* Mobile reading uses the selected content's height, rather than a desktop stage. */
@media screen and (max-width: 48rem), screen and (max-width: 64rem) and (pointer: coarse) {
  .inspro-site .ds-page {
    --card-heading: var(--mobile-panel-heading);
    --hp-heading: var(--mobile-panel-heading);
    --card-stage-padding: var(--content-group-gap);
    --hp-panel-padding: var(--content-group-gap);
  }

  .inspro-site .ds-page .flow-workbench .flow-panel h2 {
    font-size: var(--mobile-panel-heading);
    line-height: var(--mobile-panel-leading);
    margin-bottom: var(--content-heading-gap);
  }

  .inspro-site .ds-page :is(.eb-scene, .ps-scene, .hp-support) {
    gap: var(--content-block-gap);
  }

  .inspro-site .ds-page :is(.eb-copy, .ps-copy, .hp-support-copy,
    .hp-intro-copy, .hp-benefits-copy, .hp-contact-copy) > * {
    margin-block: 0;
  }
  .inspro-site .ds-page :is(.eb-copy, .ps-copy, .hp-support-copy,
    .hp-intro-copy, .hp-benefits-copy, .hp-contact-copy) > * + * {
    margin-top: var(--content-group-gap);
  }
  .inspro-site .ds-page :is(.eb-copy, .ps-copy, .hp-support-copy,
    .hp-intro-copy, .hp-benefits-copy, .hp-contact-copy) > h2 + p {
    margin-top: var(--content-heading-gap);
  }
  .inspro-site .ds-page .eb-care-map { padding: 0; }
  .inspro-site .ds-page .eb-care-hub {
    font-size: var(--ds-body);
    line-height: var(--ds-leading);
    margin-bottom: var(--content-group-gap);
  }
  .inspro-site .ds-page .eb-care-branches { gap: var(--content-group-gap); }
  .inspro-site .ds-page .eb-care-node {
    grid-template-columns: var(--mobile-content-icon) minmax(0, 1fr);
  }
  .inspro-site .ds-page .eb-node-symbol {
    width: var(--mobile-content-icon);
    height: var(--mobile-content-icon);
    background: var(--ds-clear);
  }
  .inspro-site .ds-page .eb-hospital-board {
    display: grid;
    gap: var(--content-group-gap);
    padding: 0;
  }
  .inspro-site .ds-page :is(.eb-hospital-core, .eb-major-medical) {
    padding: var(--content-group-gap);
    margin: 0;
  }
  .inspro-site .ds-page .eb-hospital-board h3 {
    font-size: var(--ds-body);
    margin-bottom: var(--ds-space-2);
  }
  .inspro-site .ds-page .eb-hospital-core > svg { margin-bottom: var(--ds-space-3); }
  .inspro-site .ds-page .eb-hospital-core p {
    font-size: var(--ds-small);
    margin-bottom: var(--ds-space-3);
  }
  .inspro-site .ds-page .eb-flex-graphic { display: block; }
  .inspro-site .ds-page .eb-flex-person {
    display: flex;
    align-items: center;
    gap: var(--ds-space-3);
    text-align: start;
    margin-bottom: var(--content-group-gap);
  }
  .inspro-site .ds-page .eb-flex-person > svg {
    width: var(--mobile-content-icon);
    height: var(--mobile-content-icon);
    margin: 0;
  }
  .inspro-site .ds-page .eb-flex-paths { display: none; }
  .inspro-site .ds-page .eb-flex-branches { gap: var(--content-group-gap); }
  .inspro-site .ds-page .eb-flex-branch {
    display: grid;
    grid-template-columns: var(--mobile-content-icon) minmax(0, 1fr);
    column-gap: var(--ds-space-3);
  }
  .inspro-site .ds-page .eb-flex-branch > span { grid-row: span 2; margin: 0; }
  .inspro-site .ds-page .eb-flex-branch :is(h3, p) { grid-column: 2; }
  .inspro-site .ds-page .hp-support-guidance { padding: 0; background: none; }
  .inspro-site .hp-home .xp-benefits-intro { row-gap: var(--content-group-gap); }
  .inspro-site .ds-page [data-bs-view="foreign"] .bs-requirements {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--content-block-gap);
  }
  .inspro-site .ds-page [data-bs-view="foreign"] .bs-requirements > div {
    display: grid;
    grid-template-columns: var(--ds-space-12) minmax(0, 1fr);
    gap: var(--ds-space-2) var(--ds-space-3);
    align-content: start;
  }
  .inspro-site .ds-page [data-bs-view="foreign"] .bs-requirements .bs-graphic {
    grid-column: 1;
    grid-row: span 3;
    align-self: start;
  }
  .inspro-site .ds-page [data-bs-view="foreign"] .bs-requirements :is(h4, p, a) {
    grid-column: 2;
    margin: 0;
  }
  .inspro-site .ds-page :is(.bc-heading, .tr-heading, .cl-heading) {
    margin-bottom: var(--content-group-gap);
    gap: var(--content-group-gap);
  }
  .inspro-site .ds-page .flow-panel :is(.bc-heading, .tr-heading, .cl-heading) h2 {
    margin-bottom: var(--ds-space-2);
  }
  .inspro-site .ds-page :is(.bc-option-view, .bc-scheme-grid, .bc-tools-grid,
    .bc-quotation-grid, .tr-business-layout, .cl-programme-layout, .cl-steps-layout) {
    gap: var(--content-block-gap);
  }
  .inspro-site .ds-page :is(.gd-intro, .ga-hero) {
    padding-block: var(--content-block-gap) var(--mobile-section-gap);
  }
  .inspro-site .ds-page :is(.gd-feature, .gd-contact, .ga-next, .sg-covers,
    .sg-brief, .sg-questions) {
    padding-block: var(--mobile-section-gap);
  }
  .inspro-site .ds-page :is(.gd-intro-grid, .gd-feature-grid, .ga-hero-grid,
    .ga-next-grid) {
    gap: var(--content-block-gap);
  }
  .inspro-site .ds-page :is(.gd-copy, .ga-next, .rc-stage-section, .sg-covers,
    .sg-brief, .sg-questions) h2 {
    font-size: var(--mobile-panel-heading);
    line-height: var(--mobile-panel-leading);
    margin-bottom: var(--content-heading-gap);
  }

  .inspro-site .ds-page.flow-ready .flow-workbench {
    padding-top: 0;
  }

  .inspro-site .ds-page.flow-ready .flow-workbench .flow-screen {
    display: block;
    height: auto;
    min-height: 0;
  }

  .inspro-site .ds-page.flow-ready .flow-workbench .flow-panel {
    height: auto;
    min-height: 0;
  }

  .inspro-site .ds-page.flow-ready .flow-workbench .flow-panel.flow-inactive {
    display: none !important;
  }

  .inspro-site .flow-ready :is(.bc-views > article, .bs-product-view, .ps-view,
    .eb-tools-view, .eb-year-view)[hidden] {
    display: none !important;
  }

  .inspro-site .flow-mobile-picker {
    display: block;
    padding-block: var(--ds-space-2);
    margin-bottom: var(--ds-space-3);
  }

  .inspro-site .flow-mobile-picker > label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .inspro-site .flow-section-select {
    min-height: 3rem;
    padding-block: var(--ds-space-3);
    box-shadow: none;
  }

  .inspro-site main :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    box-shadow: none;
  }

  .inspro-site .flow-section-select:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }

  .inspro-site .ds-page.flow-ready :is(.tr-section, .cl-section) > .xp-shell,
  .inspro-site .bc-page.flow-ready #plans > .bc-frame {
    display: block;
    min-height: 0;
  }

  .inspro-site .bc-page.flow-ready #plans :is(.bc-picker, .bc-views) {
    flex: none;
  }

  .inspro-site .bc-page .bc-plan-view,
  .inspro-site .bc-page .bc-plan-body {
    align-items: start;
    align-self: start;
  }

  .inspro-site .ds-page :is(.tr-quotes, .tr-checks, .tr-business-layout,
    .cl-steps-layout, .cl-programme-layout) {
    flex: none;
    align-content: start;
  }

  .inspro-site .tr-page .tr-quotes {
    margin-top: 0;
    gap: var(--ds-space-5);
  }

  .inspro-site .tr-page .tr-quote {
    row-gap: var(--ds-space-2);
    padding-block: var(--ds-space-3);
  }

  .inspro-site .tr-page .tr-quote + .tr-quote {
    border-top: 1px solid var(--ds-line);
    padding-top: var(--ds-space-5);
  }

  .inspro-site .site-footer.ed-footer {
    padding-top: var(--ds-space-8);
  }
}

@media screen and (max-width: 48rem) {
  .inspro-site .ds-page.flow-ready .flow-workbench {
    padding-bottom: var(--ds-space-8);
  }

  .inspro-site .bc-page .bc-heading--review {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ds-space-2);
  }

  .inspro-site .bc-heading--review > h2 { grid-row: 1; }
  .inspro-site .bc-heading--review > p { grid-row: 2; }
  .inspro-site .bc-heading--review > .xp-link {
    grid-row: 3;
    justify-self: start;
  }

  .inspro-site .bc-page .bc-plan-body { gap: var(--ds-space-4); }
  .inspro-site .bc-page .bc-price { margin-block: var(--ds-space-2); }
  .inspro-site .bc-page .bc-option-copy > .bc-scene {
    max-width: 16rem;
    margin-inline: auto;
  }

  /* Exclusions remain readable; the explicit status conveys availability. */
  .inspro-site .bc-benefit--unavailable :is(.bc-benefit-name, p, .bc-benefit-symbol) {
    opacity: 1;
  }
  .inspro-site .bc-plan-benefits .bc-benefit--unavailable :is(strong, p, .bc-benefit-symbol) {
    color: var(--ds-muted);
  }

  .inspro-site :is(.tr-heading, .cl-heading) {
    margin-bottom: var(--ds-space-5);
  }
  .inspro-site .tr-scene--hero { max-width: 20rem; }
  .inspro-site .cl-hero-grid > .cl-scene { max-width: 20rem; justify-self: center; }

  .inspro-site .hp-home .hp-travel-photo { min-height: 0; }
  .inspro-site .hp-home .hp-travel-photo img {
    position: relative;
    height: 12rem;
  }
  .inspro-site .hp-home .hp-travel-photo figcaption {
    position: relative;
    inset: auto;
    padding: var(--ds-space-4);
  }

  .inspro-site .ed-footer__grid { gap: var(--ds-space-6) var(--ds-space-5); }
  .inspro-site .ed-footer__grid > :is(:first-child, :last-child) { grid-column: 1 / -1; }
  .inspro-site .ed-footer__links a { overflow-wrap: anywhere; }
}
