@font-face {
  font-family: Lato;
  src: url('/assets/Lato-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Lato;
  src: url('/assets/Lato-Bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
body[data-page] {
  --body: Lato, Arial, sans-serif;
  --heading: Manrope, Arial, sans-serif;
  font-family: var(--body);
  font-size: 18px;
  line-height: 1.75;
}
body[data-page] :is(h1,h2,h3) { letter-spacing: -.035em; }
body[data-page] :is(.hero-description,.section-heading > p,.service-content > p,.about-copy > p:not(.eyebrow),.steps p,.contact-grid > div > p:not(.eyebrow),.page-intro > p:last-child,.story-grid p:not(.eyebrow),.service-copy p,.specialist-card > p,.specialist-detail-copy > p:not(.eyebrow),.specialist-detail-copy li,.laser-copy > p:not(.eyebrow),.laser-applications p,.contact-page-details p:not(.eyebrow),.form-intro,.product-description,.review-card > p) {
  font-size: 18px;
  line-height: 1.8;
}
body[data-page] .hero-description { font-size: 20px; max-width: 680px; }
body[data-page] .about-copy > p:not(.eyebrow) { color: #bdc8d7; }
body[data-page] .about-signoff { font-size: 18px; line-height: 1.75; }
body[data-page] .about-signoff strong { display: block; margin-top: 5px; }
body[data-page] .about-signoff a { text-decoration: underline; text-decoration-color: #637994; text-underline-offset: 5px; }
body[data-page] .about-brand-panel > p { font-size: 25px; line-height: 1.45; }
body[data-page] :is(.button,.text-link,.service-content > a,.nav-link,.basket-link,.menu-toggle,.gallery-filters button) { font-size: 16px; }
body[data-page] :is(input,select,textarea) { font-size: 17px; }
body[data-page] label { font-size: 16px; }
body[data-page] :is(.eyebrow,.contact-details span) { font-size: 13px; letter-spacing: .12em; }
body[data-page] .laser-copy .laser-intro { font-size: 21px; }
body[data-page] .laser-applications h3 { font-size: 20px; }
body[data-page] :is(.laser-copy .laser-footnote,.form-note,.form-privacy,.footer-bottom,.product-category,.gallery-card p,.testimonial-card footer span,.production-date,.review-meta) { font-size: 15px; line-height: 1.65; }
body[data-page] .footer-grid { font-size: 17px; line-height: 1.75; }
body[data-page] .contact-details :is(a,p) { font-size: 18px; overflow-wrap: anywhere; }
body[data-page] .hero-bottom { font-size: 14px; letter-spacing: .02em; gap: 24px; }
body[data-page] .hero-bottom > span { max-width: 65%; }
body[data-page] .hero-bottom a { font-size: 15px; }
body[data-page] .utility { font-size: 14px; }
body[data-page] .utility-inner { flex-wrap: wrap; gap: 8px 20px; }
body[data-page] .navigation :is(.nav-link,.basket-link) { font-size: 15px; }
@media (min-width: 901px) and (max-width: 1150px) {
  body[data-page] #main-nav { gap: 12px; }
  body[data-page] .navigation :is(.nav-link,.basket-link) { font-size: 14px; }
}
@media (max-width: 760px) {
  body[data-page] { font-size: 17px; }
  body[data-page] :is(.hero-description,.section-heading > p,.service-content > p,.about-copy > p:not(.eyebrow),.steps p,.contact-grid > div > p:not(.eyebrow),.page-intro > p:last-child,.story-grid p:not(.eyebrow),.service-copy p,.specialist-card > p,.specialist-detail-copy > p:not(.eyebrow),.specialist-detail-copy li,.laser-copy > p:not(.eyebrow),.laser-applications p,.contact-page-details p:not(.eyebrow),.form-intro,.product-description,.review-card > p) { font-size: 17px; line-height: 1.75; }
  body[data-page] .hero-description { font-size: 18px; }
  body[data-page] .about-signoff { font-size: 17px; }
  body[data-page] .navigation :is(.nav-link,.basket-link) { font-size: 17px; }
  body[data-page] .hero-bottom { align-items: flex-start; font-size: 14px; }
  body[data-page] .hero-bottom > span { max-width: 60%; }
  body[data-page] .hero-bottom a { flex-shrink: 0; }
  body[data-page] .utility { font-size: 13px; }
  body[data-page] .utility-inner { gap: 7px 14px; }
  body[data-page] .laser-copy .laser-intro { font-size: 20px; }
  body[data-page] .laser-copy .laser-footnote { font-size: 15px; }
}

/* Allow the full company email to fit narrow contact layouts. */
body[data-page] a[href^="mailto:"] { min-width: 0; overflow-wrap: anywhere; }
