/* v12.45 — full-site QA and mobile readability polish.
   Loaded last. Keeps the established design while fixing undersized mobile support text. */

/* Better tap behavior on touch devices without changing desktop hover behavior. */
a, button, summary { -webkit-tap-highlight-color: rgba(11,41,64,.10); }

@media (max-width: 760px) {
  /* Homepage: keep the compact layout, but don't make supporting copy microscopic. */
  .v11-home .v12-hero-intro { font-size: .88rem; line-height: 1.58; }
  .v11-home .v11-conversation-note,
  .v11-home .v12-service-area { font-size: .74rem; line-height: 1.48; }
  .v11-home .v11-need h3 { font-size: .78rem; line-height: 1.28; }
  .v11-home .v11-need p,
  .v11-home .v18-help .v11-need p { font-size: .76rem; line-height: 1.5; }
  .v11-home .v11-connected-copy p { font-size: .84rem; line-height: 1.62; }
  .v11-home .v12-kicker { font-size: .69rem; }

  /* Whole Household diagram: readable on a phone without returning to the oversized empty cards. */
  .v18-system-map .v11-system-core { min-height: 124px; }
  .v18-system-map .v11-system-core strong { font-size: 1.08rem; }
  .v18-system-map .v11-system-core span { font-size: .60rem; }
  .v18-system-map .v11-system-node { min-height: 82px; padding: .62rem .68rem; }
  .v18-system-map .v11-system-node strong { font-size: .72rem; line-height: 1.22; }
  .v18-system-map .v11-system-node small { font-size: .61rem; line-height: 1.35; margin-top: .28rem; }
  .v18-fallback p,
  .v14-service-note p { font-size: .80rem; line-height: 1.58; }
  .v14-service-note a,
  .v18-trust-copy a { font-size: .70rem; }
  .v18-trust-copy p { font-size: .82rem; line-height: 1.62; }
  .v18-final-cta p { font-size: .80rem; }
  .v11-footer .container { font-size: .70rem; row-gap: .55rem; }

  /* Interior pages: small labels remain visually secondary but readable. */
  .subpage-v12 .breadcrumb { font-size: .72rem; line-height: 1.4; }
  .subpage-v12 .eyebrow { font-size: .69rem; }
  .subpage-v12 .field label { font-size: .72rem; }
  .subpage-v12 .conversation-note { font-size: .75rem; line-height: 1.5; }
  .subpage-v12 .leader-tags span { font-size: .68rem; }
  .subpage-v12 .v12-footer .container { font-size: .70rem; }
  .subpage-v12 .page-photo figcaption,
  .subpage-v12 .concept-estate-map figcaption { font-size: .70rem; }

  .subpage-v12 .assessment-node span,
  .subpage-v12 .dc-node b { font-size: .70rem; }
  .subpage-v12 .assessment-node small,
  .subpage-v12 .dc-node small { font-size: .61rem; line-height: 1.32; }

  .subpage-v12 .engagement-fit-note { font-size: .83rem; }
  .subpage-v12 .engagement-kicker { font-size: .72rem; }
  .subpage-v12 .engagement-option > p:not(.engagement-kicker):not(.engagement-price),
  .subpage-v12 .engagement-value p { font-size: .86rem; }
  .subpage-v12 .engagement-assurance { font-size: .79rem !important; }
  .subpage-v12 .contact-engagement-note p { font-size: .84rem; }
  .subpage-v12 .cyber-focus-callout p { font-size: .85rem; }
  .subpage-v12 .cyber-focus-action a { font-size: .82rem; }

  /* Forms: comfortable touch targets and iOS-safe input sizing. */
  .subpage-v12 .field input,
  .subpage-v12 .field select,
  .subpage-v12 .field textarea { min-height: 48px; font-size: 16px; }
  .subpage-v12 .check-grid label { min-height: 48px; align-items: center; }
}

@media (max-width: 380px) {
  /* Very narrow phones trade two-column density for legibility. */
  .v18-system-map { grid-template-columns: 1fr; }
  .v18-system-map .v11-system-core { grid-column: 1; }
  .v18-system-map .v11-system-node { min-height: 66px; }
}
