/* Shared reading sizes. A named layer lets these intentional accessibility
   overrides take precedence over older unlayered !important declarations. */
@layer bridge-builder-readability {
  #our-story .bb-platform-quote {
    margin:26px 0 0;
    padding:20px 0 0 20px;
    border-left:4px solid #78945a;
    border-top:1px solid #b7c3a4;
  }
  #our-story .bb-platform-quote p {
    font-size:20px !important;
    line-height:1.65 !important;
    color:#263c2c !important;
  }
  #our-story .bb-platform-quote .bb-platform-quote-credit {
    font-size:17px !important;
    font-weight:700;
    margin-bottom:0;
  }

  @media (max-width:900px) {
    body {font-size:18px !important;line-height:1.65 !important;}

    :where(main,dialog,footer,.bb-platform-help-strip) :is(p,li,dd,dt,blockquote) {
      font-size:18px !important;
      line-height:1.65 !important;
    }
    :where(main,dialog) :is(p.lead,p.intro,p.deck,.mp-intro,.bb-platform-creative-deck,.bb-platform-mission-lead) {
      font-size:21px !important;
      line-height:1.55 !important;
    }
    :where(main,aside,footer,header,dialog) :is(
      .eyebrow,.kicker,.spotlight-label,.mp-kicker,.mp-index,.mp-phase,
      .bb-platform-kicker,.bb-platform-business-line,.bb-platform-small,
      .bb-platform-recording-note,.note,.mp-small,.small,.muted,
      .marquee-explanation,.swipe-hint,.campaign-photo-review,
      .v11-mission-caveat,.v11-reader-sources,.v11-global-more,
      .v12-share-note,.privacy,.survey-privacy,.photo-credit,
      .spotlight-note,.challenge-note,.footer-note,.visual-tag,
      .resource-kicker,.resource-edition,.tile-count,.category,
      .tile-label,.tile-link,.first-step,.steps li,small,figcaption
    ) {
      font-size:16px !important;
      line-height:1.55 !important;
    }
    :is(.v11-mission-caveat,.v11-reader-sources,.v11-global-more,.bb-platform-help-strip,.spotlight-image-note) p {
      font-size:16px !important;
      line-height:1.6 !important;
    }
    :is(.mp-proof-grid,.mp-traditions,.result-alternate,.need-tile) span {
      font-size:17px !important;
      line-height:1.5 !important;
    }
    :is(.offer-list,.first-step,.fit-note) strong {
      font-size:18px !important;
      line-height:1.55 !important;
    }
    :is(.offer-list,.fit-note) h4 {font-size:20px !important;line-height:1.45 !important;}
    .option .option-copy {font-size:18px !important;line-height:1.5 !important;}
    .option .option-copy small {font-size:16px !important;line-height:1.5 !important;}
    .steps .step-number {font-size:16px !important;width:30px !important;height:30px !important;}
    .steps li {font-size:16px !important;}

    :is(.button,.mp-button,.bb-platform-button,.bb-platform-link,
      .menu-toggle,.share-mission,.text-button,.quiet-link,.arrow,
      .marquee-toggle,.collection-end,.v12-copy-invitation,.v12-share-story,
      .source-link,.category-all,.copyfield,.nh-button,.nh-text-link,
      .hn-button,.hn-btn,.hn-text-link,.ies-button,.ies-btn,.ies-text-link),
    main a[class*="-button"],main a[class*="-btn"],
    #bbMotionToggle,
    .bb-platform-help-actions a,
    .site-header nav a,
    .footer-links a,
    .bb-unified-footer a,
    #native-connect-mount :is(button,label,legend) {
      font-size:17px !important;
      line-height:1.5 !important;
    }
    :is(.button,.mp-button,.bb-platform-button,.menu-toggle,.share-mission,
      .text-button,.marquee-toggle),
    .bb-platform-help-actions a,
    #native-connect-mount button {
      min-height:48px !important;
      white-space:normal !important;
      overflow-wrap:break-word;
    }
    :is(label,legend) {font-size:18px !important;line-height:1.55 !important;}
    :is(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="url"],select,textarea) {
      font-size:18px !important;
      line-height:1.5 !important;
    }
    :is(input[type="text"],input[type="email"],input[type="tel"],input[type="search"],input[type="url"],select) {
      min-height:48px !important;
    }
    a.preview.bb-connect-banner {font-size:16px !important;line-height:1.5 !important;}
    .bb-platform-help-strip p {font-size:16px !important;}
    #our-story .bb-platform-story-creative p {font-size:18px !important;line-height:1.65 !important;}
    #our-story .bb-platform-quote p {font-size:20px !important;line-height:1.65 !important;}
    #our-story .bb-platform-quote .bb-platform-quote-credit {font-size:17px !important;}

    /* Text-containing panels grow with the reader's text; image crops and
       horizontal carousel tracks keep their original behavior. */
    .spotlight-visual {height:auto !important;min-height:235px !important;}
    .spotlight-image-note {min-width:0;}
  }

  @media (max-width:600px) {
    .steps {grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px 8px !important;}
    .steps li {min-width:0;}
    .progress-meta {flex-wrap:wrap !important;gap:8px 16px !important;}
    .progress-meta :is(#progressTitle,#progressCount) {font-size:16px !important;line-height:1.5 !important;}
    .spotlight-visual {grid-template-columns:1fr !important;}
    .spotlight-visual img {height:245px !important;min-height:245px !important;max-height:245px !important;object-fit:cover;}
    .spotlight-image-note {padding:24px !important;}
  }
  @media (max-width:540px) {
    .bb-platform-help-actions {grid-template-columns:1fr !important;}
    .bb-platform-help-actions a {padding:12px 15px !important;}
  }
}
