/* Scoped to the existing services and contact pages. */
.services-page .service-card { padding: clamp(28px, 3.5vw, 44px); }
.services-page .service-card-head { min-height: 164px; }
.services-page .service-index { margin-bottom: 24px; }
.services-page .service-detail,
.services-page .service-contents { border-top: 0; padding-top: 0; margin-top: 26px; }
.services-page .service-label { font-size: 11px; margin-bottom: 10px; }
.services-page .service-detail p { font-size: 16px; line-height: 1.6; }
.services-page .service-features li { padding-block: 8px; font-size: 16px; line-height: 1.5; }
.services-page .service-body { padding-bottom: 32px; }
.services-page .service-result { padding: 28px; }
.services-page .service-result .service-label { font-size: 12px; margin-bottom: 14px; }
.services-page .service-result p { font-size: clamp(21px, 1.9vw, 25px); line-height: 1.4; color: var(--paper); }
.contact-page .contact-hero-intro { max-width: 740px; margin-top: 20px; color: rgba(255,255,255,.78); font-size: clamp(17px,1.6vw,21px); line-height: 1.6; }
.contact-page .contact-booking { margin: 28px 0 12px; padding: 28px; border: 1px solid var(--line); background: var(--warm); }
.contact-page .contact-booking h4 { font-family: var(--serif); font-weight: 400; font-size: 28px; line-height: 1.15; }
.contact-page .contact-booking p { margin-top: 12px; font-size: 16px; color: var(--muted); }
.contact-page .contact-booking .btn { margin-top: 22px; white-space: normal; }
.contact-page .contact-faq .section-title { max-width: 20ch; margin-bottom: 36px; }
.contact-page .contact-faq .faq-answer p { max-width: 900px; line-height: 1.65; }
.contact-page .contact-faq .faq-answer p + p { padding-top: 0; }
/* Keep expanded copy readable after language changes and viewport resizing. */
.contact-page .contact-faq .faq-item.active .faq-answer { max-height: none !important; }
@media (max-width: 820px) {
    .services-page .service-card-head { min-height: 0; margin-bottom: 0; }
    .services-page .service-body { padding-bottom: 8px; }
}
@media (max-width: 560px) {
    .services-page .service-card { padding: 28px 22px; }
    .services-page .service-result { padding: 24px; }
    .contact-page .contact-booking { padding: 24px; }
    .contact-page .contact-booking .btn { width: 100%; }
    .contact-page .contact-faq .faq-answer p { padding-right: 0; }
}
.services-page .service-card,
.services-page .service-body { min-width: 0; }
.services-page .service-card h3,
.services-page .service-result p { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 820px) {
    .services-page .services-grid { grid-template-columns: minmax(0, 1fr); }
}
/* Avoid unnecessary hyphenation in spacious desktop cards. */
.services-page .service-card h3,
.services-page .service-result p { hyphens: manual; }
@media (max-width: 560px) {
    .services-page .service-card h3,
    .services-page .service-result p { hyphens: auto; }
}
