/* Detailed service paragraphs and the last-appointment booking link. */
.serviceFlow{margin-top:32px}.serviceFlow h2{font-size:clamp(21px,2.6vw,27px);margin-bottom:18px}.serviceFlow p{line-height:1.85;margin-bottom:22px}
.lastAppointment{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.3em;margin:12px 0 0;max-width:100%;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.lastAppointment,.lastAppointment a{color:#fff!important}
.lastAppointment a{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.3em;text-decoration:underline;text-underline-offset:4px;white-space:normal}.lastAppointment a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.businessTime{white-space:nowrap;unicode-bidi:isolate}
.contactCard .lastAppointment,.serviceFooter .lastAppointment{justify-content:flex-start}
@media(max-width:720px){.serviceFlow{margin-top:26px}.lastAppointment{font-size:15px;row-gap:0}.serviceFlow p{line-height:1.85}}
/* Four complete text lines: no clipping, forced height or hidden copy. */
.serviceSummaryLine{display:block}
.serviceCard .serviceSummaryLine{margin:0;color:inherit;font-size:inherit}
.serviceSummaryLine+.serviceSummaryLine{margin-top:.22em}
.serviceCard .serviceSummaryLine+.serviceSummaryLine{margin-top:.22em}
/* Keep both couple cards separate and stacked on every screen size. */
.serviceCoupleCards{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0 0 30px}
.servicePhotos{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin:30px 0}
.servicePhoto{margin:0;width:100%;max-width:900px;justify-self:center}
.servicePhoto img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;border-radius:18px;background:#0d0d0d}
.serviceBookNow{min-width:160px}
@media(max-width:720px){.servicePhotos{gap:18px;margin:24px 0}.servicePhoto img{max-height:none;border-radius:14px}}
