/* Loaded only on the home page and service catalogue; no JavaScript = original cards. */
:root{--service-flip-ready:1}
.service-flip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-feature.service-flip{display:flex;min-width:0;margin:0;border:0;border-radius:16px;background:transparent;overflow:visible;perspective:1400px}
.service-flip-inner{display:grid;grid-template-columns:minmax(0,1fr);flex:1;width:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,.68,.2,1)}
.service-flip.is-flipped .service-flip-inner{transform:rotateY(180deg)}
.service-flip-face{grid-area:1/1;min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 8px 28px #1b343209}
.service-flip-face[aria-hidden="true"]{pointer-events:none}
.service-flip-front{display:flex;flex-direction:column;background:#fafbf8}
.service-flip-back{display:flex;flex-direction:column;background:var(--mint);transform:rotateY(180deg);padding:24px}
.service-flip .service-flip-front>.service-feature-media{height:230px;min-height:230px;flex:none;overflow:hidden}
.service-flip .service-flip-front>.service-feature-media>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.service-flip .service-flip-front>.service-card-collage>img{object-fit:contain}
.service-flip-summary{display:flex;flex:1;flex-direction:column;padding:24px}
.service-feature.service-flip h3{font-size:28px;line-height:1.2;letter-spacing:-.04em;margin:17px 0 20px}
.service-flip .service-card-facts{display:flex;flex-wrap:wrap;gap:16px 24px;margin:0 0 20px;padding-top:18px;border-top:1px solid #cedbd3}
.service-flip-summary>.service-card-facts{margin-top:auto}
.service-flip .service-card-facts dt{font-size:10px;line-height:1.6}
.service-flip .service-card-facts dd{font-size:25px;line-height:1.4}
.service-flip .service-flip-back>.service-feature-copy{display:flex;flex:1;flex-direction:column;min-width:0;padding:0}
.service-flip .service-feature-copy>p{font-size:13px;line-height:1.85;margin:0 0 24px;color:var(--muted)}
.service-flip .service-feature-copy>.service-card-facts{margin-top:auto}
.service-flip .service-feature-copy>.button{width:100%;justify-content:space-between;min-height:46px;font-size:12px;line-height:1.5;padding:12px 15px;gap:12px}
.service-flip-open,.service-flip-booking{font:inherit;font-size:12px;font-weight:600;color:var(--sea);text-decoration:none;cursor:pointer;min-height:44px}
.service-flip-open{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:11px 15px;border:1px solid #aabfb5;border-radius:8px;background:transparent;text-align:left}
.service-flip-open>span{font-size:23px;line-height:1}
.service-flip-open:hover{background:var(--mint)}
.service-flip-booking{display:flex;align-items:center;justify-content:center;margin-top:8px;border-radius:8px;border:1px solid #aabfb5}
.service-flip-booking:hover{background:#fff}
.service-flip :is(a,button):focus-visible{outline:3px solid var(--sea);outline-offset:3px}
.service-flip .service-flip-front>.kme-visual{height:230px;min-height:230px;padding:24px;border:0;border-radius:0;flex:none}
.service-flip .kme-visual-label{font-size:8px}
.service-flip .kme-visual-center{padding:12px 0}
.service-flip .kme-monogram{font-size:60px;line-height:1}
.service-flip .kme-visual-center p{font-size:13px;line-height:1.6;margin-top:8px}
.service-flip .kme-durations{gap:12px;padding-top:12px;font-size:10px}
.service-flip .kme-durations strong{font-size:22px}
@media(max-width:1100px){.service-flip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-flip-grid{grid-template-columns:1fr;gap:20px}.service-flip-summary,.service-flip-back{padding:22px}.service-feature.service-flip h3{font-size:27px}.service-flip .service-card-facts{gap:15px 24px}}
@media(prefers-reduced-motion:reduce){.service-flip-inner{transition:none}}
/* Long descriptions scroll on the back without changing front-face card heights. */
.service-card-description{font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:24px}
.service-card-description>p{margin:0}
.service-card-description>p+p,.service-card-description>ul{margin-top:14px}
.service-card-description>ul{padding-left:20px;margin-bottom:0}
.service-card-description li+li{margin-top:8px}
.service-flip-back{position:absolute;inset:0;min-height:0}
.service-feature.service-flip .service-flip-back h3{margin-top:0}
.service-flip .service-flip-back>.service-feature-copy{min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding-right:10px;scrollbar-width:thin;scrollbar-color:#88a99a transparent}
.service-flip .service-flip-back>.service-feature-copy>*{flex-shrink:0}
.service-flip .service-flip-back>.service-feature-copy:focus-visible{outline:2px solid var(--sea);outline-offset:3px}
.service-flip-actions{flex:none;padding-top:14px}
.service-flip .service-flip-actions>.button{width:100%;justify-content:space-between;min-height:46px;font-size:12px;line-height:1.5;padding:12px 15px;gap:12px}
@media print{.service-flip-grid{display:block}.service-feature.service-flip{display:block;perspective:none;break-inside:avoid;margin-bottom:24px}.service-flip .service-flip-inner{display:block;transform:none}.service-flip-front{display:none}.service-flip .service-flip-back{display:block;position:static;transform:none;backface-visibility:visible}.service-flip .service-flip-back>.service-feature-copy{display:block;overflow:visible;padding:0}.service-flip-close,.service-flip-booking{display:none}}
