/* Self-hosted open fonts. Copyright and OFL notices: /assets/fonts/licenses/. */
@font-face {
  font-family: "Bodoni Moda";
  src: url("/assets/fonts/BodoniModa.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}
@font-face {
  font-family: "Tenor Sans";
  src: url("/assets/fonts/TenorSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
:root, .contact-page {
  --font-brand: "Tenor Sans", Arial, sans-serif;
  --font-display: "Bodoni Moda", Georgia, serif;
  --menu-font: "Tenor Sans", Arial, sans-serif;
  --unhid-body: "Tenor Sans", Arial, sans-serif;
  --unhid-display: "Bodoni Moda", Georgia, serif;
  --albion-utility-font: "Tenor Sans", Arial, sans-serif;
  --albion-h1-size: clamp(28px, 3vw, 36px);
  --albion-h2-size: clamp(26px, 2.5vw, 32px);
}
html, body, button, input, select, textarea {
  font-family: var(--font-brand);
  font-synthesis: none;
  font-optical-sizing: auto;
}
/* Match headings explicitly because older page sheets use specific selectors. */
body h1, body h2, body h3, body h4, body h5, body h6,
body .hero h1, body .hero-copy h1, body.contact-page .contact-hero h1,
body .editorial-copy h2, body .gallery-about-copy h1,
body .gallery-about-copy h2, body .page-intro h1, body .service-copy h2,
body.services-overview-page .page-intro h1,
body .expertise-project-grid .service-copy h2,
body .approach-main h1, body .approach-main h2,
body .service-prose h2, body .service-enquiry h2, body .privacy-copy h2,
body .contact-section-heading h2, body .contact-assurances h2,
body.service-detail-page .service-detail-intro h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-style: normal;
}
body h1 a, body h2 a, body h3 a { font-family: inherit; }
body p, body address, body .hero-purpose, body .editorial-copy p,
body .gallery-about-body p, body .page-intro p, body .service-copy p,
body .approach-main p, body .privacy-copy p, body .privacy-copy address,
body.contact-page .contact-intro-copy, body .contact-details dd,
body .contact-note, body .contact-service-copy,
body .contact-assurances article > p:last-child,
body .service-detail-intro p, body .service-prose p,
body .service-enquiry p, body .footer-info p {
  font-family: var(--font-brand);
  line-height: 1.6;
}
body .footer-contact, body .contact-details dd { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  body .service-detail-intro h1, body .contact-hero h1 {
    overflow-wrap: break-word;
  }
}

/* Main prose only: preserve all heading, navigation and footer styles. */
@font-face {
  font-family: "Libre Caslon Text";
  src: url("/assets/fonts/LibreCaslonText-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
body main p:not(.contact-kicker):not(.privacy-kicker):not(.service-scroll-cue):not(.visually-hidden),
body main p:not(.contact-kicker):not(.privacy-kicker):not(.service-scroll-cue):not(.visually-hidden) a {
  font-family: "Libre Caslon Text", Georgia, serif;
}
