/* Local fonts keep the welcoming typography independent of external services. */
@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("fonts/nunito-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
body { font-family: "Nunito Sans", Arial, sans-serif; font-weight: 400; }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, blockquote, .logo, .pricing-card .amount, .owner-signature {
  font-family: "Manrope", Arial, sans-serif;
}
h1, h2 { font-weight: 600; letter-spacing: -.045em; line-height: 1.15; }
h3 { font-weight: 650; letter-spacing: -.025em; line-height: 1.25; }
blockquote { font-weight: 500; letter-spacing: -.025em; line-height: 1.3; }
.logo { font-weight: 700; font-size: 1.45rem; letter-spacing: -.035em; }
.logo small { font-family: "Nunito Sans", Arial, sans-serif; font-weight: 700; }
.hero-content h1 { font-size: clamp(3rem, 5.5vw, 5.8rem); }
h2 { font-size: clamp(2.2rem, 3.8vw, 4.1rem); }
.owner-signature { font-weight: 600; }
.owner-intro h1 { font-size: clamp(3rem, 5.5vw, 5.7rem); }
.owner-family-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.owner-family-photo { margin: 0; max-width: 250px; }
.owner-family-photo:nth-child(2) { margin-top: 65px; }
.owner-family-photo picture, .owner-family-photo img { display: block; width: 100%; height: auto; }
.owner-family-photo figcaption { padding: 12px 0; color: #48646b; font-size: .82rem; line-height: 1.5; }
.owner-story-grid { grid-template-columns: 1.05fr .95fr; gap: 5vw; }
.owner-intro .lead { font-size: 1.2rem; }
@media (max-width: 800px) {
  .owner-story-grid { grid-template-columns: 1fr; }
  .owner-family-photos { max-width: 518px; margin: 0 auto; }
}
@media (max-width: 760px) {
  .logo { font-size: 1.22rem; }
  .hero-content h1 { font-size: clamp(2.85rem, 10vw, 4.3rem); }
  .inner-hero h1 { font-size: clamp(2.8rem, 9vw, 4rem); }
  .owner-story-copy h2 { font-size: clamp(1.8rem, 6.5vw, 2.8rem); }
  .owner-family-photo:nth-child(2) { margin-top: 38px; }
}
/* Shared footer social link: scoped to the new Facebook icon. */
.footer .footer-facebook {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: 2px 0 0;
  border-radius: 12px;
}
.footer-facebook img { display: block; width: 64px; height: 64px; }
.footer .footer-facebook:hover { background: #ffffff12; }
.footer .footer-facebook:focus-visible { outline: 2px solid #e0bd81; outline-offset: 5px; }
