/* Massage service pages inherit the established black-and-rose theme. */
.hmd-service-main{max-width:1536px;margin:0 auto;padding:48px 78px 84px 104px;font-size:17px;line-height:1.7;overflow-wrap:anywhere}
.hmd-service-main ::selection{background:var(--color-pink);color:var(--color-bg)}
.hmd-service-main a{text-underline-offset:4px}
.hmd-service-main button,.hmd-service-main summary{cursor:pointer}
.hmd-service-main :focus-visible{outline:2px solid var(--color-pink-soft);outline-offset:5px}
.hmd-service-main .hmd-service-section{padding-block:48px;border-bottom:1px solid var(--color-border)}
.hmd-service-main h1,.hmd-service-main h2,.hmd-service-main h3{font-family:var(--font-heading);font-weight:400;letter-spacing:0;line-height:1.12;text-wrap:balance}
.hmd-service-main h1{font-size:clamp(40px,4.2vw,66px);max-width:13ch}
.hmd-service-main h2{font-size:clamp(30px,3vw,42px);margin-bottom:20px;max-width:25ch}
.hmd-service-main h3{font-size:24px;line-height:1.25;margin:0 0 10px}
.hmd-service-main p{max-width:68ch}
.hmd-service-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;line-height:1.6;color:var(--color-muted);margin-bottom:28px}
.hmd-service-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:9px;align-items:center;list-style:none;padding:0;margin:0}
.hmd-service-breadcrumbs li+li::before{content:'/';margin-right:9px;color:var(--color-pink)}
.hmd-service-breadcrumbs a{color:var(--color-pink-soft)}
.hmd-service-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,4vw,60px);padding:12px 0 54px;border-bottom:1px solid var(--color-border)}
.hmd-service-lead{color:var(--color-muted);font-size:clamp(17px,1.4vw,20px);line-height:1.65;margin-top:24px;max-width:45ch}
.hmd-service-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hmd-service-main .button{font-size:14px;min-height:46px;padding:12px 24px;gap:12px;text-decoration:none;line-height:1.4}
.hmd-service-main .button .icon{width:17px;height:17px}
.hmd-service-main .hmd-service-secondary{display:inline-flex;align-items:center;min-height:46px;color:var(--color-pink-soft);font-size:14px}
.hmd-service-image{margin:0;min-width:0}
.hmd-service-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:var(--color-surface)}
.hmd-service-image figcaption{margin-top:10px;color:var(--color-muted);font-size:12px;line-height:1.5}
.hmd-service-details{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:48px;align-items:start}
.hmd-service-copy p+p{margin-top:20px}
.hmd-service-specs{margin:4px 0 0;padding:0;font-size:16px}
.hmd-service-specs>div{padding:20px 0;border-top:1px solid var(--color-border)}
.hmd-service-specs dt{color:var(--color-pink-soft);font-size:13px;letter-spacing:.04em;margin-bottom:6px}
.hmd-service-specs dd{margin:0;color:var(--color-muted);line-height:1.6}
.hmd-service-visit>p{color:var(--color-muted);margin-bottom:30px}
.hmd-service-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.hmd-service-steps li{padding-top:22px;border-top:1px solid #713047;min-width:0}
.hmd-service-steps p{color:var(--color-muted);font-size:16px;line-height:1.65}
.hmd-service-prices>p{color:var(--color-muted);margin-bottom:24px}
.hmd-service-price-table{width:100%;border-collapse:collapse;font-size:17px;text-align:left}
.hmd-service-price-table caption{text-align:left;color:var(--color-muted);font-size:14px;margin-bottom:16px}
.hmd-service-price-table th,.hmd-service-price-table td{padding:18px 12px;border-bottom:1px solid var(--color-border);font-weight:400}
.hmd-service-price-table thead th{color:var(--color-pink-soft);font-size:13px;letter-spacing:.03em}
.hmd-service-price-table tbody td:last-child{color:var(--color-pink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.hmd-service-prices .hmd-service-price-note{margin:18px 0 0;font-size:14px}
.hmd-service-faq details{border-bottom:1px solid var(--color-border);padding:0}
.hmd-service-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:20px 0;min-height:52px;font-size:18px;line-height:1.5;color:var(--color-text)}
.hmd-service-faq summary::-webkit-details-marker{display:none}
.hmd-service-faq summary .icon{flex:none;width:17px;height:17px;color:var(--color-pink-soft);transform:rotate(90deg);transition:transform .2s ease}
.hmd-service-faq details[open] summary .icon{transform:rotate(-90deg)}
.hmd-service-faq details p{padding:0 0 24px;color:var(--color-muted);font-size:16px;line-height:1.7}
.hmd-service-related{padding-top:48px}
.hmd-service-related nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin:20px 0 28px}
.hmd-service-related nav a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;color:var(--color-pink-soft)}
.hmd-service-related nav .icon{width:16px;height:16px}
.hmd-service-reading{padding-top:22px;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:15px}
.hmd-service-reading a{color:var(--color-pink-soft)}
@media(max-width:1050px){.hmd-service-hero{grid-template-columns:1fr;gap:32px}.hmd-service-main h1{max-width:22ch}.hmd-service-lead{max-width:60ch}.hmd-service-image img{max-height:520px}.hmd-service-details{grid-template-columns:1fr;gap:28px}.hmd-service-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:799px){.hmd-service-main{padding-top:30px;padding-bottom:56px;font-size:16px}.hmd-service-main .hmd-service-section{padding-block:36px}.hmd-service-hero{padding-bottom:36px}.hmd-service-main h1{font-size:44px}.hmd-service-main h2{font-size:32px}.hmd-service-steps{grid-template-columns:1fr;gap:22px}.hmd-service-specs{grid-template-columns:1fr;gap:0}.hmd-service-specs>div{padding:16px 0}.hmd-service-faq summary{font-size:17px}.hmd-service-related{padding-top:36px}}
@media(max-width:549px){.hmd-service-main{padding:28px 68px 50px 20px}.hmd-service-breadcrumbs{font-size:12px;margin-bottom:22px}.hmd-service-main h1{font-size:36px}.hmd-service-main h2{font-size:29px}.hmd-service-main h3{font-size:23px}.hmd-service-lead{font-size:17px;margin-top:20px}.hmd-service-main .button{font-size:13px;padding:12px 18px}.hmd-service-actions{gap:8px;margin-top:22px}.hmd-service-image figcaption{font-size:11px}.hmd-service-price-table{font-size:14px}.hmd-service-price-table th,.hmd-service-price-table td{padding:16px 7px}.hmd-service-price-table thead th{font-size:12px}.hmd-service-faq summary{gap:12px}.hmd-service-related nav{gap:8px 20px}}
@media(prefers-reduced-motion:reduce){.hmd-service-faq summary .icon{transition:none}}
