/* A clearer Verdana-based type system; the wordmark retains its original lettering. */
:root {
  --brand-font: 'Cormorant', Georgia, serif;
  --sans: Verdana, Geneva, Tahoma, sans-serif;
  --serif: var(--sans);
  --muted: #655c53;
}
body { font-size: 16px; -webkit-font-smoothing: auto; }
.brand-mark, .brand-words { font-family: var(--brand-font); }
h1, h2, h3 { font-weight: 700; letter-spacing: -.025em; line-height: 1.2; overflow-wrap: break-word; }
h1 em, h2 em { font-weight: inherit; font-style: normal; color: var(--accent); }
.breed h2 em { color: #e0b59c; }
.hero h1 { font-size: clamp(38px, 4.5vw, 68px); line-height: 1.12; }
.philosophy h2, .litter h2, .process h2, .breed h2,
.family h2, .faq h2, .contact-copy h2 { font-size: clamp(30px, 3.1vw, 46px); line-height: 1.2; }
.page-intro h1 { font-size: clamp(34px, 4.2vw, 60px); line-height: 1.18; }
.article-section h2, .form-privacy h2 { font-size: clamp(27px, 2.5vw, 34px); line-height: 1.25; }
.values-grid h3, .family-card h3, .contact-form h3,
.footer-directory h3, .site-directory strong { font-family: var(--sans); font-weight: 700; font-size: 22px; line-height: 1.35; letter-spacing: -.02em; }
.steps h3, .breed-questions h3 { font-size: 16px; line-height: 1.5; }
.hero-intro, .philosophy-intro > p, .values-grid p, .litter-copy > p,
.steps p, .breed p, .family-intro p, .faq-heading p, .contact-copy > p,
details p, .article-section p, .article-section li, .form-privacy p { font-size: 16px; line-height: 1.8; }
.page-lede { font-size: 18px; line-height: 1.8; }
.eyebrow, .nav, .button, .text-link, summary { font-weight: 700; }
.button, .text-link, .hero .button { font-size: 13px; }
.faq-list summary, .article-section .faq-list summary { font-size: 14px; line-height: 1.7; }
.article-section .faq-list details p { font-size: 15px; line-height: 1.8; }
.hero-photo-note > span:first-child { font-size: 27px; line-height: 1.35; font-style: normal; font-weight: 700; }
.value-number, .step-index { font-style: normal; font-weight: 700; }
.direct-contact > a:not(.email-link) { font-size: 23px; font-weight: 700; }
.direct-contact .email-link { overflow-wrap: anywhere; }
.contact-form label:not(.channel-choice), .contact-form legend { font-size: 12px; font-weight: 700; }
.contact-form input:not([type=radio]), .contact-form textarea { font-size: 16px; }
.contact-form input::placeholder, .contact-form textarea::placeholder { font-size: 14px; }
.form-intro, .channel-choice { font-size: 13px; }
.form-submit #submit-label { font-size: 13px; }
.form-note, .form-feedback { font-size: 12px; }
.contents-nav > a, .footer-directory a, .footer-directory p { font-size: 12px; }
.related-pages a, .site-directory span { font-size: 14px; }
.article-sources h2 { font-size: 14px; line-height: 1.5; }
.article-sources li, .editorial-byline { font-size: 11px; }
.hero-copy, .philosophy-intro > *, .litter > *, .values-grid > *,
.steps > *, .breed > *, .faq > *, .contact > *, .footer-directory > *,
.related-pages > div > *, .site-directory > * { min-width: 0; }
.hero-actions { flex-wrap: wrap; }
@media (max-width: 820px) {
  .hero h1 { font-size: clamp(34px, 4.8vw, 44px); }
  .hero-photo-note > span:first-child { font-size: 23px; }
}
@media (max-width: 560px) {
  .hero h1 { font-size: clamp(34px, 9.8vw, 46px); }
  .hero-actions { flex-wrap: wrap; gap: 18px; }
  .philosophy h2, .litter h2, .process h2, .breed h2,
  .family h2, .faq h2, .contact-copy h2 { font-size: clamp(28px, 7.7vw, 34px); }
  .page-intro h1 { font-size: clamp(29px, 8.2vw, 38px); }
  .page-lede { font-size: 16px; }
  .article-section h2, .form-privacy h2 { font-size: 27px; }
  .values-grid h3, .contact-form h3, .site-directory strong { font-size: 21px; }
  .family-card h3, .footer-directory h3 { font-size: 19px; }
  .steps { grid-template-columns: 1fr; gap: 27px; }
  .trust-strip > span { white-space: normal; }
  .announcement { font-size: 8px; gap: 5px; }
  .footer-directory { grid-template-columns: 1fr; gap: 26px; }
}

/* Keep the requested creator credit visible, including on narrow screens. */
.footer-bottom { flex-wrap: wrap; gap: 14px 24px; }
.footer .footer-bottom > .creator-credit { display: inline-flex; align-items: baseline; gap: .35em; }
.creator-credit a { text-decoration: underline; text-underline-offset: 3px; }
.editorial-byline a { text-decoration: underline; text-underline-offset: 3px; }

/* Contrast adjustments from the mobile Lighthouse audit. */
:root { --accent: #88472f; }
.value-number, .photo-corner { color: #695746; }
.contact .eyebrow, .contact-copy > p, .direct-contact > a > span:first-child { color: #48523e; }
.contact-form .channel-choice > span { color: var(--ink); }

/* Readable footer links and copyright in both languages and screen sizes. */
.footer-directory a, .footer-directory p { font-size: 15px; line-height: 1.8; }
.footer-directory h3 { font-size: 23px; }
.footer-bottom { font-size: 14px; line-height: 1.8; align-items: baseline; }
.footer-bottom .copyright { flex-basis: 100%; }
@media (max-width: 560px) {
  .footer-directory h3 { font-size: 21px; }
  .footer-bottom { gap: 16px 24px; }
  .footer-bottom > .creator-credit { flex-basis: 100%; }
}
