@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Noto+Serif+Display:wght@300;400;500;600&display=swap');

:root {
  --serif: 'Noto Serif Display', Georgia, serif;
  --sans: 'Montserrat', Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: var(--sans);
}

body {
  color: #1f334a;
}

.brand-logo {
  display: block;
  width: auto;
  height: 52px;
  object-fit: contain;
}

.brand-foot .brand-logo {
  height: 92px;
}

.brand b {
  font-family: var(--sans);
  font-weight: 700;
}

.kicker,
.eyebrow,
.brand small,
.nav a,
.btn,
.text-link,
.card-kicker,
.card-cta {
  font-family: var(--sans);
}

.hero-text h1,
.intro h2,
.section-title h2,
.about-strip h2,
.page-hero h1,
.prose h2,
.contact-grid h2,
.legal-grid h2,
.split-grid h2,
.quote-box p,
.cta h2,
.cta-inline h2,
.detail-copy h2,
.contact-panel h2,
.calendar-head h2 {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.025em;
}

.focus-card h3,
.tech-card h2,
.tech-card h3,
.specialty-copy h3,
.contact-card h3,
.booking-form h3 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.015em;
}

.intro p,
.section-title p,
.about-strip p,
.prose p,
.feature-layout .prose p,
.split-grid p,
.focus-card p,
.tech-card p,
.specialty-copy p,
.detail-copy p,
.contact-panel p,
.contact-grid p,
.foot > p {
  font-weight: 500;
  color: #46596c;
}

.foot-info p {
  margin: 0;
  font-size: 11px;
  line-height: 1.65;
  font-weight: 500;
  color: #46596c;
}

.foot-contact-links {
  margin-top: 7px !important;
}

.foot-contact-links a,
.contact-value a,
.contact-details a {
  color: var(--navy);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.foot-contact-links a:hover,
.contact-value a:hover,
.contact-details a:hover {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nav a,
.btn,
.text-link,
.card-cta {
  font-weight: 600;
}

@media (max-width: 650px) {
  .brand-logo {
    height: 46px;
  }

  .brand-foot .brand-logo {
    height: 82px;
  }
}
