.service-card-media{display:block;position:relative;margin-bottom:27px;background:var(--cream);overflow:hidden;text-decoration:none}
.service-card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.service-card-media:hover img{transform:scale(1.025)}
.service-media-badge{position:absolute;right:12px;bottom:12px;display:flex;gap:18px;align-items:center;padding:8px 13px;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.5;border:1px solid var(--line)}
.service-video-cover{display:flex;aspect-ratio:4/3;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:18px;background:var(--ivory);color:var(--ink)}
.service-video-cover>span{font-family:var(--serif);font-size:64px;line-height:1}
.service-heading{padding-top:45px;padding-bottom:44px}
.service-heading>.eyebrow{margin-top:34px;margin-bottom:15px}
.service-heading h1{font-size:clamp(52px,6vw,78px);overflow-wrap:anywhere}
.service-heading-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:22px}
.service-heading-actions>.button{font-size:17px;flex-shrink:0}
.service-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:60px}
.service-detail-text{display:block;max-width:800px;margin-left:auto;margin-right:auto}
.service-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;min-width:0}
.service-gallery-item{min-width:0}
.service-gallery-item:first-child{grid-column:1/-1}
.service-gallery-item>a{display:block;position:relative;background:var(--ivory)}
.service-gallery-item img,.service-gallery-item video{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:var(--ivory)}
.service-gallery-item video{background:#29231f;max-height:720px}
.service-gallery-item figcaption{font-size:16px;line-height:1.65;color:var(--muted);padding-top:10px;overflow-wrap:anywhere}
.service-gallery-item:not(:first-child) .service-media-badge{font-size:15px;padding:6px 9px;gap:9px;right:8px;bottom:8px}
.service-detail-copy{position:sticky;top:30px;min-width:0}
.service-detail-copy .service-description{font-size:20px;line-height:1.9;color:var(--ink)}
.service-detail-includes{display:flex;gap:12px;font-size:17px;line-height:1.75;margin-top:24px}
.service-detail-includes>span{font-size:24px;line-height:1.2;color:var(--accent)}
.service-facts{margin:30px 0 24px;border-top:1px solid var(--line)}
.service-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:18px}
.service-facts dt{color:var(--muted)}
.service-facts dd{margin:0;text-align:right;font-weight:500;white-space:nowrap}
.service-facts>div:nth-child(2) dd{font-family:var(--serif);font-size:34px;line-height:1.2;font-weight:400}
.service-book-button{margin-top:27px;font-size:18px;justify-content:space-between;width:100%}
.service-detail-help{margin-top:22px;margin-bottom:16px}
@media(max-width:1000px){.service-detail{gap:35px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.service-gallery{grid-template-columns:1fr}.service-gallery-item:not(:first-child) .service-media-badge{font-size:16px;padding:8px 13px;right:12px;bottom:12px}.service-detail-copy .service-description{font-size:18px}}
@media(max-width:760px){.service-heading{padding-top:30px;padding-bottom:32px}.service-heading>.eyebrow{margin-top:25px}.service-detail{display:flex;flex-direction:column;gap:30px}.service-gallery{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.service-gallery-item:not(:first-child) .service-media-badge{font-size:15px;padding:5px 8px;gap:7px;right:7px;bottom:7px}.service-detail-copy{position:static;width:100%}.service-detail-copy .service-description{font-size:18px}.service-card-media{margin-bottom:23px}.service-facts>div{font-size:17px}.service-book-button{font-size:18px}}
@media(max-width:430px){.service-gallery{grid-template-columns:1fr}.service-gallery-item img,.service-gallery-item video{max-height:560px}.service-gallery-item:not(:first-child) .service-media-badge{font-size:16px;padding:8px 13px;right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.service-card-media img{transition:none}.service-card-media:hover img{transform:none}}
