/* Responsive presentation layouts; the separate print layout stays intact. */
@media screen {
  :root {
    --footer: 64px;
    --page-gutter: clamp(20px, 5vw, 84px);
    --section-space: clamp(32px, 4vw, 64px);
    --safe-top: env(safe-area-inset-top, 0px);
    --safe-bottom: env(safe-area-inset-bottom, 0px);
  }
  body { line-height: 1.65; }
  .page {
    padding: calc(var(--header) + var(--safe-top) + var(--section-space))
      max(var(--page-gutter), env(safe-area-inset-right, 0px))
      calc(var(--footer) + var(--safe-bottom) + var(--section-space))
      max(var(--page-gutter), env(safe-area-inset-left, 0px));
  }
  .page:not(.cover) { padding-top: calc(var(--header) + var(--safe-top) + var(--section-space)); padding-bottom: calc(var(--footer) + var(--safe-bottom) + var(--section-space)); }
  .page-inner { min-width: 0; }
  img { max-width: 100%; }
  h1, h2, h3, p { overflow-wrap: break-word; }
  .architecture-grid > *, .content-layout > *, .assistant-grid > *,
  .migration-grid > *, .investment-layout > *, .doctor-feature > *,
  .monthly-grid > *, .monthly-package > *, .report-columns > *,
  .search-columns > *, .cover-layout > *, .split-heading > * { min-width: 0; }
  .masthead {
    height: calc(var(--header) + var(--safe-top));
    padding: var(--safe-top) max(var(--page-gutter), env(safe-area-inset-right, 0px)) 0 max(var(--page-gutter), env(safe-area-inset-left, 0px));
    gap: 24px;
  }
  .menu-toggle { flex-shrink: 0; min-height: 44px; font-size: 14px; }
  .contents {
    top: calc(var(--header) + var(--safe-top) + 10px);
    right: max(var(--page-gutter), env(safe-area-inset-right, 0px));
    width: min(420px, calc(100vw - 2 * var(--page-gutter)));
    max-height: calc(100svh - var(--header) - var(--footer) - var(--safe-top) - var(--safe-bottom) - 24px);
    max-height: calc(100dvh - var(--header) - var(--footer) - var(--safe-top) - var(--safe-bottom) - 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: var(--radius-card);
  }
  .contents a { min-height: 44px; font-size: 14px; line-height: 1.4; }
  .contents a span { flex-shrink: 0; }
  .page-controls {
    height: calc(var(--footer) + var(--safe-bottom));
    padding: 0 max(var(--page-gutter), env(safe-area-inset-right, 0px)) var(--safe-bottom) max(var(--page-gutter), env(safe-area-inset-left, 0px));
    gap: 20px;
  }
  .chapter { min-width: 0; max-width: none; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
  .position, .arrows { flex-shrink: 0; }
  .position { font-size: 13px; letter-spacing: .08em; }
  .arrows { gap: 4px; }
  .arrows button { width: 44px; height: 44px; }
  .short-rule { flex-shrink: 0; }
  .lede, .intro, .relationship-story, .relationship-grid p, .journey p,
  .content-stack p, .scope-strip p, .search-columns p, .search-copy p,
  .clean-list li, .handoff-steps p, .timeline p, .monthly-grid p,
  .report-columns p, .next-step > p, .access-panel p, .scope-numbers p,
  .doctor-pillars p, .doctor-identity-copy > p, .region-row,
  .monthly-package-copy p, .ai-discovery-panel p, .project-launch p, .local-panel p, #discovery .local-panel p,
  .assistant-grid .intro, .investment-intro .intro {
    font-size: 16px; line-height: 1.65;
  }
  .fine-note, #discovery .fine-note, .providers-page .fine-note,
  .frequency-note, .price-conditions, .closing-notes, .included-summary,
  .report-detail, .report-scope, .search-copy .search-method,
  .search-copy .search-example, .profile-details, .providers-page .profile-details,
  .referral-offer > p, .payment-terms p, .total-price p,
  .doctor-identity-copy .identity-note, .care-team-note {
    font-size: 14px; line-height: 1.65;
  }
  .small-label, .eyebrow, .timeline .small-label, .monthly-grid .small-label,
  .report-heading .small-label, .ai-discovery-panel .small-label,
  .project-launch > .small-label, .platform-group > .small-label,
  .scope-numbers strong, .cover .edition, .cover-photo figcaption,
  .cover-portrait figcaption, .demo-header small, .demo-footer,
  .proposal-footer > span { font-size: 12px; line-height: 1.5; }
  .platform-logo { min-height: 68px; gap: 10px; padding: 12px; }
  .platform-logo > span { font-size: 14px; overflow-wrap: anywhere; }
  .platform-logo small { font-size: 12px; }
  .region-buttons button { min-height: 72px; }
  .region-buttons, .care-physicians, .region-row { min-width: 0; }
  .region-buttons button { grid-template-columns: 24px minmax(0, 1fr) 18px; }
  .region-flow { flex-wrap: wrap; font-size: 14px; }
  .question-options button, .provider-filters button { min-height: 44px; font-size: 14px; }
  .assistant-price { flex-wrap: wrap; gap: 20px 30px; font-size: 14px; }
  .assistant-demo { min-width: 0; }
  .demo-answer { font-size: 16px; min-height: 0; }
  .demo-answer span, .report-included { font-size: 12px; }
  .local-panel a { display: inline-flex; align-items: center; min-height: 44px; white-space: normal; font-size: 14px; }
  .domain-bar { flex-wrap: wrap; }
  .domain-bar > span { overflow-wrap: anywhere; min-width: 0; }
  .project-launch { flex-wrap: wrap; gap: 14px 28px; }
  .price-line { font-size: 16px; gap: 20px; align-items: baseline; }
  .price-line.discount-line { font-size: 14px; }
  .price-line > span { min-width: 0; }
  .payment-terms > strong { display: block; line-height: 1.7; overflow-wrap: anywhere; }
  .button-link { min-height: 48px; max-width: 100%; white-space: normal; gap: 18px; font-size: 14px; }
  .button-link > span { flex-shrink: 0; }
  .report-heading { flex-wrap: wrap; }
  .report-included { max-width: 210px; }
  .report-scope a { white-space: normal; }
  .proposal-footer { flex-wrap: wrap; }
  .proposal-footer > div { flex-wrap: wrap; gap: 10px 24px; }
  .proposal-footer a, .proposal-footer button { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
}

/* Tablet: give detailed sections their own rows before columns get cramped. */
@media screen and (max-width: 1100px) {
  html { scroll-snap-type: y proximity; }
  .page { scroll-snap-stop: normal; }
  .header-label { display: none; }
  .split-heading { display: block; }
  .split-heading .lede, .closing .lede, .relationship-story, .providers-page .lede { max-width: 680px; margin-top: 22px; }
  .architecture-grid, .assistant-grid, .investment-layout, .migration-grid, .doctor-feature { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .region-detail { border: 0; padding: 0; }
  .content-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .scope-numbers { flex-direction: row; gap: 26px; }
  .scope-numbers > div { flex: 1; min-width: 0; display: block; }
  .scope-numbers p { margin-top: 14px; }
  .monthly-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px 32px; }
  .timeline article { padding-right: 0; }
  .timeline-duration { text-align: left; margin-top: 24px; }
  .timeline-duration strong { font-size: 64px; }
  .search-columns { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .search-columns article { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 20px; }
  .search-copy h3 { max-width: none; margin-top: 6px; }
  .discovery-platforms { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .platform-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .platform-directories .platform-list { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-discovery-panel { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .ai-discovery-panel h3 { max-width: none; }
  .access-panel { padding: 24px; background: #ededed; border-radius: var(--radius-card); }
  .price-conditions, .report-columns { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .assistant-demo { margin-right: 12px; box-shadow: 12px 12px 0 #2a2a2a; }
  .delivery-bottom { display: block; }
  .delivery-bottom > p { max-width: none; margin-top: 20px; }
  .next-step { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .next-step .button-link { grid-column: 1 / -1; width: fit-content; }
  .closing-notes { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .monthly-package { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .doctor-profile { grid-template-columns: 180px minmax(0, 1fr); gap: 28px; }
  .doctor-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .doctor-pillars article { display: block; }
  .doctor-pillars h3 { margin-top: 12px; }
}

/* Phones: readable single-column content and comfortably sized controls. */
@media screen and (max-width: 600px) {
  :root { --page-gutter: 20px; --section-space: 30px; }
  .masthead { gap: 12px; }
  .page-controls { gap: 10px; }
  .chapter { font-size: 12px; }
  .position { font-size: 12px; letter-spacing: 0; }
  h2, .relationship-page h2, .providers-page h2 { font-size: clamp(32px, 8vw, 44px); line-height: 1.15; letter-spacing: -.04em; }
  .cover .eyebrow { max-width: none; font-size: 12px; gap: 12px; letter-spacing: .09em; }
  .eyebrow { font-size: 12px; letter-spacing: .1em; }
  .cover-bottom p { font-size: 17px; }
  .cover .edition { gap: 12px; letter-spacing: .06em; }
  .relationship-grid, .journey, .monthly-grid, .timeline,
  .profile-details, .providers-page .profile-details,
  .next-step, .doctor-pillars { grid-template-columns: minmax(0, 1fr); }
  .relationship-grid > div > span { margin-bottom: 14px; }
  .monthly-grid { gap: 24px; }
  .monthly-grid article { padding: 0; }
  .monthly-grid .monthly-total { padding: 22px; }
  .timeline { gap: 42px; }
  .search-columns article { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .big-label { font-size: 42px; grid-row: auto; }
  .search-columns h3 { font-size: 22px; margin: 0 0 10px; }
  .platform-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-logo { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; }
  .platform-logo > span { font-size: 14px; }
  .platform-logo img { width: 28px; height: 28px; }
  .region-buttons button { font-size: 16px; min-height: 64px; padding: 16px 12px; grid-template-columns: 20px minmax(0, 1fr) 16px; gap: 8px; }
  .care-pathways button { font-size: 18px; padding: 18px; }
  .region-row { grid-template-columns: minmax(0, 1fr); gap: 5px; padding: 14px 0; }
  .region-row > span { font-size: 14px; }
  .care-physician { align-items: flex-start; gap: 12px; }
  .care-physician strong { font-size: 18px; }
  .care-physician > span { font-size: 12px; }
  .scope-numbers { flex-direction: column; gap: 22px; }
  .scope-numbers > div { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 18px; align-items: start; }
  .large-number { font-size: 60px; }
  .scope-numbers p { margin-top: 0; }
  .scope-strip, .ai-discovery-panel, .project-launch { padding: 22px; }
  .scope-strip > span { white-space: normal; font-size: 12px; }
  .assistant-demo { padding: 22px; margin-right: 8px; box-shadow: 8px 8px 0 #2a2a2a; }
  .demo-answer { padding: 18px; }
  .demo-header { font-size: 14px; }
  .assistant-price { gap: 20px; }
  .assistant-price > span { flex: 1 1 160px; }
  .price-card { padding: 22px; }
  .price-line { gap: 14px; font-size: 14px; }
  .price-line.discount-line { font-size: 14px; }
  .total-price > strong { font-size: clamp(48px, 13vw, 68px); }
  .monthly-package { padding: 22px; margin-top: 24px; }
  .monthly-package-price > strong { font-size: clamp(40px, 10vw, 56px); letter-spacing: -.05em; }
  .monthly-package-price > strong > span { font-size: 14px; margin-left: 6px; }
  .monthly-package-copy h3 { font-size: 23px; }
  .monthly-inclusions h3 { font-size: 23px; }
  .performance-report { padding: 22px; }
  .report-heading h3 { font-size: 24px; }
  .report-patient-flow { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 14px; }
  .report-patient-flow > span[aria-hidden] { transform: rotate(90deg); }
  .report-columns h4 { font-size: 16px; }
  .next-step .button-link { width: 100%; }
  .delivery-bottom > div { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .doctor-profile { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .doctor-identity-copy h3 { font-size: 36px; }
  .doctor-portrait { width: 180px; }
}

@media screen and (max-height: 700px) {
  html { scroll-snap-type: y proximity; }
  .page { scroll-snap-stop: normal; }
  :root { --section-space: 28px; }
}

@media screen and (max-width: 600px) {
  .wordmark { max-width: calc(100% - 56px); }
  .menu-toggle { width: 44px; height: 44px; padding: 0; gap: 0; font-size: 0; }
  .corrales-site .cover h1 { font-size: clamp(40px, 9vw, 62px); line-height: 1.12; }
  .corrales-site .cover-portrait { width: min(240px, 75%); }
}

/* Keep the physician's portrait and all-inclusive price in proportion. */
@media screen and (min-width: 1101px) {
  .doctor-feature { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 4vw; }
  .doctor-profile { grid-template-columns: clamp(120px, 12vw, 170px) minmax(0, 1fr); gap: 22px; }
  .doctor-identity-copy h3 { font-size: clamp(29px, 2.7vw, 40px); }
}
@media screen and (max-width: 900px) {
  .cover-layout { grid-template-columns: minmax(0, 1fr) 210px; gap: 30px; }
  .corrales-site .cover h1 { font-size: clamp(48px, 6vw, 60px); }
  .cover-portrait { width: 210px; max-width: 100%; }
}
@media screen and (max-width: 700px) {
  .cover-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .corrales-site .cover h1 { font-size: clamp(40px, 9vw, 62px); }
  .cover-portrait { width: min(240px, 75%); }
  .cover-bottom { display: block; }
  .edition { margin-top: 24px; }
  .doctor-pillars { grid-template-columns: minmax(0, 1fr); }
}
