/* Readability update, 2026-09-15.
 * Load after the existing page styles. Keep the approved title, colors and motion.
 */
.rns-home-layout2 .rns2-announcement { font-size:13px; }
.rns-home-layout2 .rns2-announcement > span { font-size:14px; }
.rns-home-layout2 .rns2-announcement > b { font-size:20px; }
.rns-home-layout2 .rns2-hero-description { font-size:18px; line-height:1.85; }
.rns-home-layout2 .rns2-hero-actions { gap:12px 22px; }
.rns-home-layout2 .rns2-primary {
  min-height:60px; padding:15px 28px; gap:22px;
  font-size:18px; font-weight:750; line-height:1.5; border-radius:32px;
}
.rns-home-layout2 .rns2-secondary {
  min-height:56px; padding:14px 0; gap:14px;
  font-size:17px; font-weight:700; line-height:1.5;
}
.rns-home-layout2 .rns2-primary > span,
.rns-home-layout2 .rns2-secondary > span { font-size:23px; flex-shrink:0; }
.rns-home-layout2 .bottom-banner .primary-button {
  min-height:64px; padding:18px 30px; font-size:19px; font-weight:750; gap:24px;
}
.rns-home-layout2 .bottom-banner .primary-button > span { font-size:24px; }
.rns-home-layout2 .sticky-consult a { min-height:56px; font-size:17px; }
.rns-home-layout2 .calculator-inputs > label,
.rns-home-layout2 .calculator-inputs select { font-size:16px; }
.rns-home-layout2 .calculator-inputs .secondary-button,
.rns-home-layout2 .calculator-result .report-button { font-size:17px; }

/* Shared subpage navigation and consultation banner. */
.subpage-body .sub-hero { padding-top:164px; }
.subpage-body .sub-hero h1 { word-break:keep-all; overflow-wrap:break-word; }
.subpage-body .sub-breadcrumb { font-size:16px; flex-wrap:wrap; row-gap:6px; line-height:1.6; }
.subpage-body .sub-breadcrumb strong { overflow-wrap:anywhere; }
.subpage-body .sub-hero__category { font-size:15px; }
.subpage-body .sub-hero__desc { max-width:900px; font-size:18px; line-height:1.85; word-break:keep-all; }
.subpage-body .local-nav a {
  display:flex; align-items:center; justify-content:center; min-height:64px;
  padding:18px 26px; font-size:18px; font-weight:700; line-height:1.5;
  border-bottom-width:4px;
}
.subpage-body .footer-cta .container { align-items:center; gap:32px; }
.subpage-body .footer-cta .container > div:first-child { flex:1; min-width:0; }
.subpage-body .footer-cta p { font-size:13px; }
.subpage-body .footer-cta__actions { flex-shrink:0; }
.subpage-body .footer-cta__actions a {
  justify-content:center; min-width:230px; min-height:64px;
  padding:17px 30px; font-size:18px; line-height:1.5; font-weight:750;
}
.site-footer .footer-info strong { font-size:16px; }
.site-footer .footer-info p,
.site-footer .footer-links { font-size:15px; }
.site-footer .footer-bottom { font-size:13px; }

@media (min-width:761px) and (max-width:1100px) {
  .rns-home-layout2 .rns2-hero-description { font-size:17px; }
  .rns-home-layout2 .rns2-primary { font-size:17px; padding-inline:24px; }
  .rns-home-layout2 .rns2-secondary { font-size:16px; }
  .subpage-body .footer-cta .container { flex-direction:column; align-items:flex-start; }
}
@media (max-width:760px) {
  .rns-home-layout2 .rns2-hero { padding-top:144px; }
  .rns-home-layout2 .rns2-announcement { font-size:12px; }
  .rns-home-layout2 .rns2-announcement > span { font-size:13px; }
  .rns-home-layout2 .rns2-hero-description { font-size:16px; }
  .rns-home-layout2 .rns2-hero-actions { gap:6px; }
  .rns-home-layout2 .rns2-primary,
  .rns-home-layout2 .rns2-secondary {
    width:100%; min-height:56px; font-size:16px; padding:14px 24px;
    justify-content:center; gap:20px;
  }
  .rns-home-layout2 .bottom-banner .primary-button {
    min-height:60px; padding:16px; gap:16px; font-size:17px;
  }
  .rns-home-layout2 .sticky-consult a { font-size:16px; }
  .subpage-body .sub-hero { padding-top:134px; }
  .subpage-body .sub-breadcrumb { font-size:14px; column-gap:7px; }
  .subpage-body .sub-hero__category { font-size:14px; }
  .subpage-body .sub-hero__desc { font-size:16px; }
  .subpage-body .local-nav a { min-height:58px; padding:15px 20px; font-size:16px; }
  .subpage-body .footer-cta .container { gap:28px; }
  .subpage-body .footer-cta__actions { width:100%; }
  .subpage-body .footer-cta__actions a {
    flex:1; width:100%; min-width:0; min-height:60px; font-size:17px;
  }
  .site-footer .footer-info p,
  .site-footer .footer-links { font-size:14px; }
  .site-footer .footer-bottom { font-size:12px; }
}

/* Match the heading emphasis of the company introduction across other subpages. */
:where(body.subpage-body:not(:is(.page-101,.page-102,.page-103,.page-104,.page-105))) main h2 {
  font-weight:790;
}
:where(body.subpage-body:not(:is(.page-101,.page-102,.page-103,.page-104,.page-105))) main h3 {
  font-weight:750;
}

/* =========================================================
   RNS GLOBAL BODY COPY READABILITY · FIX2 · 2026-10-26
   - Keep approved H1/H2/H3, navigation, labels and buttons unchanged.
   - Enlarge normal descriptions/body copy only.
   - This stylesheet is loaded after page CSS and site-shell CSS.
   ========================================================= */

/* Long-form body copy / section descriptions */
body main p:not(.section-eyebrow):not(.brand-kicker):not([class*="eyebrow"]):not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="tag"]):not([class*="meta"]):not([class*="number"]):not([class*="note"]),
body main .sub-hero__desc,
body main .content-intro__desc,
body main [class*="__lead"],
body main [class*="__description"] {
  font-size: 18px !important;
  line-height: 1.85 !important;
}

/* Card / panel explanatory text: slightly smaller than long copy */
body main :where(
  [class*="card"] p,
  [class*="panel"] p,
  [class*="grid"] > * p,
  [class*="item"] p,
  .check-line,
  .notice-strip
) {
  font-size: 17px !important;
  line-height: 1.8 !important;
}

/* A few existing RNS-specific body selectors that were 13~15px */
body main :where(
  .rns101-overview__sub,
  .rns101-story__copy > p:not(.rns101-eyebrow),
  .rns101-section-title > p:last-child,
  .rns101-value-card p,
  .biz-section-heading > p:last-child,
  .biz-intro-copy p,
  .biz-intro-panel p,
  .biz-feature-copy p,
  .biz-problem-grid p,
  .biz-benefit-grid p,
  .biz-process-grid p,
  .biz-why-grid p,
  .lineup-copy p,
  .support-item p,
  .performance-copy > p:not(.section-eyebrow)
) {
  font-size: 17px !important;
  line-height: 1.82 !important;
}

/* Keep intentionally small UI/support text small. */
body main :where(
  [class*="eyebrow"],
  [class*="kicker"],
  [class*="badge"],
  [class*="tag"],
  [class*="meta"],
  [class*="number"],
  [class*="note"],
  small
) {
  /* no forced enlargement */
}

@media (max-width: 760px) {
  body main p:not(.section-eyebrow):not(.brand-kicker):not([class*="eyebrow"]):not([class*="kicker"]):not([class*="label"]):not([class*="badge"]):not([class*="tag"]):not([class*="meta"]):not([class*="number"]):not([class*="note"]),
  body main .sub-hero__desc,
  body main .content-intro__desc,
  body main [class*="__lead"],
  body main [class*="__description"] {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }

  body main :where(
    [class*="card"] p,
    [class*="panel"] p,
    [class*="grid"] > * p,
    [class*="item"] p,
    .check-line,
    .notice-strip,
    .rns101-overview__sub,
    .rns101-story__copy > p:not(.rns101-eyebrow),
    .rns101-section-title > p:last-child,
    .rns101-value-card p,
    .biz-section-heading > p:last-child,
    .biz-intro-copy p,
    .biz-intro-panel p,
    .biz-feature-copy p,
    .biz-problem-grid p,
    .biz-benefit-grid p,
    .biz-process-grid p,
    .biz-why-grid p,
    .lineup-copy p,
    .support-item p,
    .performance-copy > p:not(.section-eyebrow)
  ) {
    font-size: 16px !important;
    line-height: 1.78 !important;
  }
}
