/* Interspaces: a warm, humanist voice. Font licence lives beside the fonts. */
@font-face {
  font-family: 'Ysabeau';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/ysabeau-latin-variable.woff2') format('woff2');
}
@font-face {
  font-family: 'Ysabeau';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/ysabeau-latin-italic.woff2') format('woff2');
}
:root {
  --sans: 'Ysabeau', 'Trebuchet MS', sans-serif;
  --serif: 'Ysabeau', 'Trebuchet MS', sans-serif;
}
body { font-size: 18px; line-height: 1.65; font-weight: 400; }
h1, h2, h3, .tab-title {
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: .005em;
  line-height: 1.18;
}
h1 em, h2 em { font-style: normal; }
.hero #hero-heading, .setup-hero h1 {
  font-size: clamp(44px, 5vw, 64px);
  font-weight: 400;
  letter-spacing: .005em;
  line-height: 1.12;
}
h2, .section-heading h2, .questions h2, .new-home-copy h2, .setup-page h2 {
  font-size: clamp(32px, 3.5vw, 43px);
  line-height: 1.2;
  letter-spacing: .005em;
}
.enquiry-intro h2 { font-size: clamp(38px, 4vw, 49px); }
.header nav, .header-cta, .back-home { font-size: 15px; }
.header nav { gap: clamp(12px, 2vw, 25px); }
.eyebrow, .section-label { font-size: 12px; font-weight: 550; letter-spacing: .13em; }
.hero-aside p { font-size: 19px; line-height: 1.65; }
.hero-caption { font-size: 13px; }
.button, .service-panel .text-button { font-size: 16px; }
.about-copy .lead { font-size: 21px; line-height: 1.7; }
.about-copy > p:not(.lead), .new-home-copy > p:not(.eyebrow),
.setup-scope > div > p:not(.eyebrow), .setup-intro > div > p,
.setup-quote > p:not(.eyebrow), .enquiry-intro > p:not(.eyebrow),
.contact-card > p:not(.eyebrow) { font-size: 17px; line-height: 1.7; }
.signature { font-size: 30px; }
.signature span { font-size: 13px; }
.new-home-copy .new-home-lead { font-size: 25px!important; }
.new-home-copy .new-home-detail { font-size: 14px!important; }
.new-home-photo span, .section-heading > p { font-size: 14px; }
.tab-title { font-size: 29px; }
.tab-description { font-size: 14px; }
.service-panel h3, .steps h3 { font-size: 29px; letter-spacing: .005em; }
.service-panel .eyebrow { font-size: 11px; }
.service-panel li, .steps p, summary, details p { font-size: 16px; }
.steps li > span { font-size: 19px; font-variant-numeric: lining-nums; }
.gentle-note { font-size: 21px; }
.project-card h2 { font-size: 35px; }
.project-card > p { font-size: 17px; }
.photo-label, .gallery-expand { font-size: 12px; }
.setup-intro > p { font-size: 28px; }
.setup-inclusions h3 { font-size: 29px; }
.setup-inclusions strong { font-size: 18px; }
.setup-inclusions span { font-size: 16px; }
.contact-number { font-size: 39px; font-variant-numeric: lining-nums; letter-spacing: .01em; }
.contact-card .contact-detail { font-size: 14px!important; }
.footer .wordmark { font-family: var(--sans); font-size: 21px; }
.footer > div > p { font-size: 18px; font-style: normal; }
.footer > p, .footer > p span, .footer-social { font-size: 14px; }
@media (max-width: 760px) {
  .header { min-height: 0; padding-block: 13px; gap: 4px 18px; }
  .header nav { width: 100%; font-size: 13px; gap: 2px 16px; }
  .header nav a { padding-block: 4px; }
  .header-cta { margin-left: auto; padding-block: 4px; font-size: 13px; }
  .hero #hero-heading, .setup-hero h1 { font-size: clamp(40px, 10.5vw, 56px); }
  .hero-aside p { font-size: 18px; }
  .hero-caption { font-size: 11px; }
  .eyebrow, .section-label { font-size: 11px; }
  .about-copy .lead { font-size: 20px; }
  .service-tab, .service-tab:not(:first-child) { padding-inline: 8px; }
  .tab-title { font-size: clamp(17px, 5vw, 23px); white-space: nowrap; }
  .section-heading > p { font-size: 15px; }
  .service-panel li, .steps p, summary, details p { font-size: 16px; }
  .gentle-note { font-size: 20px; }
  .project-card h2 { font-size: 30px; }
  .project-card > p { font-size: 17px; }
  .gallery-expand { font-size: 11px; }
  .contact-number { font-size: 35px; }
  .footer > p, .footer > p span { font-size: 14px; }
}
@media (max-width: 370px) {
  .contact-number { font-size: 31px; }
}
