/* Readability pass: give navigation, body copy, forms and supporting details more air. */
/* The existing privacy notice uses the same typography and navigation as the new site. */
.rds-legal { max-width: 1180px; margin: 0 auto; padding: 80px 32px 100px; }
.rds-legal-hero { max-width: 850px; padding-bottom: 48px; border-bottom: 1px solid #3b4145; margin-bottom: 48px; }
.rds-legal h1 { font-size: clamp(38px, 5vw, 68px); line-height: 1.1; letter-spacing: -.045em; margin: 16px 0 24px; font-weight: 500; }
.rds-legal p, .rds-legal li { font-size: 17px; line-height: 1.8; color: #c6cdd2; }
.rds-legal .rds-legal-updated { font-size: 14px; margin-top: 24px; }
.rds-legal .legal-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; align-items: start; }
.rds-legal .legal-index { display: grid; gap: 14px; position: sticky; top: 24px; font-size: 14px; line-height: 1.5; }
.rds-legal .legal-index strong { color: #ed4253; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
.rds-legal .legal-index a { color: #c6cdd2; }
.rds-legal .legal-content { min-width: 0; }
.rds-legal section[id] { scroll-margin-top: 32px; }
.rds-legal h2 { font-size: 26px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; margin: 42px 0 18px; }
.rds-legal .legal-content section:first-child h2 { margin-top: 0; }
.rds-legal h3 { font-size: 19px; font-weight: 500; margin: 28px 0 10px; }
.rds-legal p { margin: 0 0 18px; }
.rds-legal ul { padding-left: 22px; margin: 18px 0; }
.rds-legal li { margin: 12px 0; }
.rds-legal a:not(.legal-index a), .rds-legal .legal-email { text-decoration: underline; text-underline-offset: 3px; }
.rds-legal .legal-email { background: none; border: 0; color: inherit; padding: 0; font: inherit; cursor: pointer; }
.rds-legal a:focus-visible, .rds-legal button:focus-visible { outline: 2px solid #ed4253; outline-offset: 4px; }
.rds-legal .legal-table { border: 1px solid #3b4145; margin: 24px 0; }
.rds-legal .legal-row { display: grid; grid-template-columns: 1fr 1fr; font-size: 15px; line-height: 1.7; }
.rds-legal .legal-row + .legal-row { border-top: 1px solid #3b4145; }
.rds-legal .legal-row span { padding: 18px; }
.rds-legal .legal-row span + span { border-left: 1px solid #3b4145; }
.rds-legal .legal-head { background: #242a2e; font-weight: 600; }
.rds-legal .legal-callout { border-left: 3px solid #ed4253; padding: 24px; margin-top: 40px; display: grid; gap: 12px; background: #242a2e; font-size: 16px; line-height: 1.7; }
@media (max-width: 760px) { .rds-legal { padding: 48px 22px 64px; } .rds-legal .legal-layout { grid-template-columns: 1fr; gap: 40px; } .rds-legal .legal-index { position: static; grid-template-columns: 1fr 1fr; gap: 12px 20px; } .rds-legal .legal-index strong { grid-column: 1 / -1; } .rds-legal .legal-row { font-size: 14px; } .rds-legal .legal-row span { padding: 12px; } }
.desktop-nav { font-size: 14px; }
.button, .inline-link, .text-links a, .mobile-menu nav a, .footer-grid p, .footer-grid a,
.footer-top p, .admin-shortcuts, .admin-content-list .inline-link, .rds-admin-nav a { font-size: 14px; }
.button span, .inline-link span, .text-links span, .footer-link span { font-size: 18px; }
.kicker, .eyebrow, .technology-rail span, .insurance-line strong, .news-category,
.footer-heading, .rds-badge { font-size: 12px; }
.hero-caption, .trust, .footer-bottom, .coverage-note, .brands-legal { font-size: 13px; }
.companies-copy p, .technologies-heading > p, .residential > div:last-child > p,
.contact-intro > p, .inner-hero > div > p, .contact-page > div > p,
.hub-copy > p:not(.eyebrow), .technology-table p { font-size: 18px; line-height: 1.7; }
.method-list p, .method-list strong, .project-grid span, .news-card > div > p:last-child,
.insurance-line span, .brands-legal, .enabler-list p { font-size: 16px; line-height: 1.65; }
.contact-form label, .form-actions p, .form-status, .footer-top p, .footer-grid p,
.footer-grid a, .footer-bottom, .review-score p, .review-quote p { font-size: 14px; }
.review-score > span:first-child, .review-admin-actions button { font-size: 14px; }
.review-quote blockquote { font-size: clamp(28px, 3.2vw, 42px); line-height: 1.2; }
.admin-intro > div > p, .admin-status, .home-media-card p, .home-media-card label,
.admin-form label, .admin-content-list p:last-child, .rds-admin-section > p,
.rds-admin-section .admin-form label, .rds-admin-grid article p, .rds-help,
.rds-message, .rds-login p, .editor-check { font-size: 14px; line-height: 1.65; }
.admin-form input[type=file], .home-media-card input[type=file], .rds-admin-grid .admin-form input { font-size: 14px; }
.rds-admin-nav a { font-size: 14px; }
.google-reviews-label { font-size: 10px; }
.ei-overline, .ei-article-meta, .ei-deadline, .ei-article aside p,
.ei-inquiry > div > p:not(.ei-overline), .ei-video > div > p:not(.ei-overline),
.ei-form label, .ei-consent, .ei-form-status, .ea-topbar p, .ea-top-note,
.ea-steps li, .ea-footnote, .ea-month-inputs label, .ea-chart-head > span,
.ea-bar-month > small, .ea-legend, .ea-table-wrap table, .ea-balance > div,
.ea-balance > p, .ea-money small, .ea-chat-log p, .ea-chat > p:not(.ei-overline),
.ea-conversion > p:not(.ei-overline), .ea-details summary, .ei-video-player small { font-size: 13px; }
.ea-kpis span, .ea-money span, .ea-battery-note > span, .ea-result-tabs button,
.ea-prompts button { font-size: 11px; }
.ea-kpis p, .ea-balance small, .ei-article aside p { font-size: 13px; }
.ei-article-intro { font-size: 21px; }
.ei-article-body p { font-size: 18px; line-height: 1.8; }
.rds-admin-section > h2 { font-size: 38px; }

@media (max-width: 850px) {
  .hero-content > p:not(.kicker), .companies-copy p, .technologies-heading > p,
  .residential > div:last-child > p, .contact-intro > p, .hub-copy > p:not(.eyebrow),
  .inner-hero > div > p, .contact-page > div > p { font-size: 17px; }
  .desktop-nav { font-size: 14px; }
  .trust { font-size: 12px; }
}

@media (max-width: 560px) {
  .hero-content > p:not(.kicker), .companies-copy p, .technologies-heading > p,
  .residential > div:last-child > p, .contact-intro > p, .hub-copy > p:not(.eyebrow),
  .inner-hero > div > p, .contact-page > div > p { font-size: 16px; }
  .kicker, .eyebrow, .technology-rail span, .insurance-line strong, .news-category { font-size: 11px; }
  .hero-caption, .trust, .footer-bottom, .coverage-note, .brands-legal { font-size: 12px; }
  .form-actions p, .contact-form label, .footer-grid p, .footer-grid a,
  .admin-intro > div > p, .admin-status, .rds-help, .rds-message, .editor-check { font-size: 14px; }
  .rds-admin-section > h2 { font-size: 32px; }
}
