.footer-links.peline-legal-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; padding-top: 1rem; border-top: 1px solid #ffffff40; }
.footer-links.peline-legal-links a { color: #fff; font-size: .9rem; text-decoration: underline; text-underline-offset: .2em; }
.peline-seo-details { margin: 2.5rem 0; padding-top: 2rem; border-top: 1px solid #d9e1da; }
.peline-seo-details p { max-width: 75ch; }
.peline-seo-details h2 { margin-top: 2rem; }
.peline-price-scroll { max-width: 100%; overflow-x: auto; margin: 1.5rem 0; }
.peline-price-table { border-collapse: collapse; width: 100%; max-width: 900px; font-size: 1rem; }
.peline-price-table caption { text-align: left; font-weight: 600; padding: .5rem 0; }
.peline-price-table th, .peline-price-table td { padding: .85rem .5rem; border-bottom: 1px solid #d9e1da; text-align: left; vertical-align: top; }
.peline-price-table tbody th { font-weight: 400; overflow-wrap: normal; }
.peline-price-table .peline-price-category { width: 32%; overflow-wrap: normal; }
.peline-price-table .peline-price-amount { white-space: nowrap; }
.peline-price-table caption { color: var(--forest); font-size: 1.3rem; padding-top: 1rem; }
.peline-seo-details .primary-button { margin: .8rem 0 1.5rem; }
.peline-home-content .peline-seo-details { padding: 2rem clamp(1.4rem, 6vw, 6.5rem); background: #f7f3ea; }
.peline-portal-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 1.5rem; padding: 1.5rem; font: .9rem/1.5 sans-serif; color: #173e32; }
.peline-portal-legal a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.peline-home-content .voices-section .peline-testimonials-title { margin: 0; color: var(--ink); font: 400 clamp(2.7rem,5vw,5.6rem)/.98 var(--serif); letter-spacing: -.045em; }
.peline-home-content .review-invitation .peline-review-invitation-title { max-width: 680px; margin: .65rem 0 0; color: white; font: 400 clamp(1.6rem,3vw,2.6rem)/1.12 var(--serif); }

/* Slightly smaller public titles, preserving the existing heading structure. */
.hero h1 { font-size: clamp(2.8152rem, 4.462vw, 5.0876rem); }
.page-hero h1 { font-size: clamp(2.0332rem, 4.2228vw, 4.462rem); }
.booking-intro h1, .portal-intro h1 { font-size: clamp(2.4288rem, 4.692vw, 5.3176rem); }
body.peline-app-document.peline-reservation-page .pcp-booking-copy h1 { font-size: clamp(1.7986rem, 3.91vw, 3.128rem) !important; }
.contact-layout h2 { font-size: clamp(2.3rem, 4.25vw, 4.76rem); }
@media (max-width: 1100px) {
  .hero h1 { font-size: clamp(2.5024rem, 5.0876vw, 3.91rem); }
}
@media (max-width: 680px) {
  .hero h1 { font-size: clamp(1.9964rem, 8.7584vw, 3.128rem); }
  .page-hero h1 { font-size: clamp(1.84rem, 7.82vw, 2.898rem); }
  body.peline-app-document.peline-reservation-page .pcp-booking-copy h1 { font-size: clamp(1.7204rem, 8.2156vw, 2.346rem) !important; }
  .peline-price-table { font-size: .9rem; }
  .peline-price-table th, .peline-price-table td { padding: .75rem .35rem; }
}
@media (max-width: 380px) {
  body.peline-app-document.peline-reservation-page .pcp-booking-copy h1 { font-size: 1.7595rem !important; }
}

/* Portrait supplied by Michel for the home contact card. */
.cabinet-photo img { object-position: 50% 42%; }
