/* Additions use the existing Figtree font, palette, spacing and button styles. */
.original-home-heading { font-size: var(--site--preset--font-size--x-large); line-height: 1.2; font-weight: 600; }
.preserve-h3-style { line-height: 1.4; }
.service-card-link { color: inherit !important; text-decoration: none; }
.service-card-link:hover, .service-card-link:focus-visible { text-decoration: underline; }
.footer-label { font-weight: 600; line-height: 1.4; }
.footer-company { clear: both; width: 100%; padding-top: 12px; font-size: 14px; line-height: 1.6; color: var(--site--preset--color--mono-1); }
.footer-company a { color: inherit; text-decoration: none; }
.footer-legal { font-size: 14px; text-align: center; color: var(--site--preset--color--mono-2); }
.footer-legal a { color: inherit; }
.seo-section { padding: clamp(30px, 5vw, 70px) 20px; margin: 0 auto; max-width: 1200px; box-sizing: border-box; }
.seo-copy { max-width: 760px; margin: 0 auto; }
.seo-copy p, .seo-copy li { font-size: 18px; line-height: 1.55; }
.seo-copy h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.25; }
.seo-copy h3 { font-size: 24px; line-height: 1.3; margin-top: 28px; }
.service-link-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; padding-left: 22px; }
.content-page { max-width: 1000px; box-sizing: border-box; margin: 0 auto !important; padding: 28px 24px 80px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--site--preset--color--mono-1); margin-bottom: 32px; }
.service-intro { padding: clamp(24px, 5vw, 56px); text-align: center; border-radius: 20px; background: var(--site--preset--color--mono-4); }
.service-intro img { object-fit: contain; }
.content-page h1 { font-size: clamp(32px, 4vw, 48px); line-height: 1.2; overflow-wrap: break-word; }
.content-page h2 { font-size: clamp(26px, 3vw, 32px); line-height: 1.3; }
.content-page h3 { font-size: 22px; line-height: 1.35; }
.service-lead, .page-copy p, .page-copy li, .page-copy dd { font-size: 18px; line-height: 1.6; }
.service-lead { max-width: 720px; margin: 24px auto; }
.page-copy { max-width: 760px; margin: 48px auto 0; }
.page-copy section { margin: 44px 0; }
.page-copy h2 { margin-top: 40px; margin-bottom: 20px; }
.page-copy h3 { margin-top: 28px; margin-bottom: 12px; }
.page-copy h2, .page-copy h3, .seo-copy h2, .seo-copy h3 { color: var(--site--preset--color--mono-1); }
.page-copy li { margin-bottom: 12px; }
.page-copy a, .footer-company a, .form-status { overflow-wrap: anywhere; }
.service-cta { padding: 24px 32px; border-radius: 20px; background: var(--site--preset--color--mono-4); }
.service-cta h2 { margin-top: 0; }
.page-date { color: var(--site--preset--color--mono-2); font-size: 14px !important; }
.cookie-details dt { font-weight: 700; margin-top: 20px; color: var(--site--preset--color--mono-1); }
.cookie-details dd { margin: 6px 0 0; }
/* Correct the inherited 12px overflow only at small screen widths. */
@media (max-width: 640px) {
  [data-contact-form] input, [data-contact-form] textarea { box-sizing: border-box; max-width: 100%; }
  [data-contact-form] > div { max-width: 100%; }
  .service-link-list { grid-template-columns: 1fr; }
  .content-page { padding: 16px 20px 48px; }
  .page-copy { margin-top: 32px; }
  .service-cta { padding: 24px; }
}

/* Shared footer link colour, independent of page-specific selectors. */
.footer-links a:where(:not(.site-element-button)) { color: var(--site--preset--color--contrast-dark); }
