/* Keep the approved design comfortable to read and use at every screen size. */
@media screen {
  :root { --muted: #555b62; }
  body { font-size: 18px; line-height: 1.75; }
  .primary-navigation { flex-wrap: wrap; gap: 0 28px; }
  .primary-navigation a { font-size: 17px; font-weight: 600; min-height: 48px; }
  .header-contact span { font-size: 14px; }
  .header-contact a { display: inline-flex; align-items: center; min-height: 44px; }
  .menu-toggle { font-size: 16px; min-width: 76px; min-height: 48px; }
  .button, .button-small, .enquiry-card .button, .featured-service .button,
  .directory-feature .button { font-size: 17px; min-height: 52px; }
  .text-link, .directory-card .text-link, .office-location-body .text-link,
  .practical-item .text-link { font-size: 17px; min-height: 44px; }
  .breadcrumbs { font-size: 14px; line-height: 1.6; }
  .breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
  .eyebrow, .small-label, .service-number, .practical-label { font-size: 13px; letter-spacing: .1em; }
  .hero-intro, .section-intro, .section-heading-note,
  .support-item p, .process-list p, .practical-item p, .faq-answer p,
  .featured-service p, .directory-feature p, .directory-card > p,
  .people-copy > p:not(.eyebrow), .starting-steps p,
  .about-people .people-prose, .about-people .value-card p, .person-bio p {
    font-size: 18px; line-height: 1.8;
  }
  .hero-intro, .support-item p, .process-list p, .practical-item p, .faq-answer p { color: #454a50; }
  .content-section h2, .section-heading h2 { font-size: clamp(34px, 3.4vw, 44px); line-height: 1.2; }
  .support-item h3, .process-list h3, .starting-steps h3 { font-size: 23px; line-height: 1.4; font-weight: 650; }
  .practical-item h3 { font-size: 27px; line-height: 1.3; }
  .faqs summary { font-size: 20px; font-weight: 600; min-height: 56px; line-height: 1.5; }
  .practice-title { font-size: 30px; line-height: 1.3; }
  .practice-description { font-size: 18px; line-height: 1.7; }
  .featured-service .service-number { margin-bottom: 14px; }
  .featured-service h3 { font-size: clamp(36px, 3.8vw, 48px); line-height: 1.15; margin-bottom: 22px; }
  .featured-service p.featured-service-intro { font-size: 23px; line-height: 1.5; color: #fff; margin-bottom: 22px; }
  .featured-quicklinks { font-size: 16px; gap: 8px 20px; }
  .featured-quicklinks a { display: inline-flex; align-items: center; min-height: 44px; }
  .enquiry-card > p:not(.eyebrow) { font-size: 17px; color: #efedf7; }
  .enquiry-contact a { min-height: 44px; display: flex; align-items: center; }
  .enquiry-email { font-size: 16px; overflow-wrap: anywhere; }
  .enquiry-address { font-size: 17px; }
  .enquiry-address > span, .on-this-page h3 { font-size: 13px; }
  .enquiry-address > a, .hero-aside a, .on-this-page a { font-size: 16px; min-height: 44px; display: inline-flex; align-items: center; }
  .hero-aside p { font-size: 14px; }
  .office-figure figcaption, .office-figure figcaption strong,
  .principal-portrait figcaption, .principal-portrait figcaption strong { font-size: 15px; }
  .jurisdiction-note, .regulatory-note, .firm-regulation { font-size: 14px; line-height: 1.75; }
  .principal-role, .person-role, .profile-role { font-size: 16px; }
  .firm-links li a, .profile-details dd { font-size: 18px; }
  .profile-details dt { font-size: 13px; }
  .profile-contact > .profile-email, .profile-contact > .text-link { font-size: 16px; min-height: 44px; }
  .contact-options address, .office-location-body > p:not(.eyebrow), .before-contact ul { font-size: 18px; }
  .before-contact h3 { font-size: 21px; }
  .form-field label { font-size: 17px; }
  .form-field label span { font-size: 13px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 18px; min-height: 52px; }
  .field-hint, .form-live-alternative, .demo-notice p, .demo-notice strong, .demo-notice a { font-size: 15px; }
  .demo-submit:disabled { font-size: 16px; }
  .footer-identity p, .footer-grid h2, .footer-bottom, .file-type { font-size: 14px; }
  .footer-grid > div:not(.footer-identity) > a { font-size: 16px; min-height: 44px; margin: 0; display: flex; align-items: center; }
  .footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; }
  .footer-bottom > div { flex-wrap: wrap; gap: 8px 24px; }
  @media (max-width: 759px) {
    .primary-navigation { gap: 0 18px; }
    .primary-navigation a { padding-block: 14px; }
    .practice-title { font-size: 28px; }
    .content-section h2, .section-heading h2 { font-size: 34px; }
    .faqs summary { font-size: 19px; }
    .hero-actions .text-link { flex-wrap: wrap; }
  }
}
