/* Shared additions; the original salon colors, typography and gallery remain. */
html { scroll-padding-top: 90px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.mhn-skip { position: fixed; left: 16px; top: -100px; z-index: 10000; padding: 12px 20px; background: var(--white); color: var(--fg); }
.mhn-skip:focus { top: 10px; }
.mhn-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.mhn-service-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid #e7ded4; border-radius: var(--radius); background: var(--white); box-shadow: var(--card-shadow); }
.mhn-service-card h3 { font: 600 27px/1.2 "Cormorant Garamond", serif; margin-bottom: 14px; }
.mhn-service-card h3 a { color: var(--fg); text-decoration: none; }
.mhn-service-card p { color: var(--muted); margin-bottom: 16px; }
.mhn-service-card > .mhn-text-link { margin-top: auto; }
.mhn-service-meta { font-weight: 600; color: var(--accent-dark) !important; }
.mhn-text-link { color: var(--accent-dark); font-weight: 500; text-underline-offset: 4px; }
.mhn-price-note { max-width: 760px; margin: 26px auto; text-align: center; color: var(--muted); font-size: 14px; }
.mhn-center { text-align: center; }
.mhn-faq { max-width: 940px; }
.mhn-faq details { border-bottom: 1px solid #ddd1c3; padding: 20px 0; }
.mhn-faq summary { cursor: pointer; font-weight: 600; color: var(--fg); padding-right: 10px; }
.mhn-faq details p { margin-top: 12px; color: var(--muted); }
.mhn-page-intro { max-width: var(--content-max); margin: var(--nav-height) auto 0; padding: 40px clamp(16px,4vw,40px) 30px; }
.mhn-breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 13px; margin-bottom: 40px; color: var(--muted); }
.mhn-breadcrumbs a { color: var(--accent-dark); }
.mhn-lead { max-width: 720px; font-size: 18px; color: var(--muted); }
.mhn-detail { max-width: var(--content-max); margin: 0 auto; padding: 20px clamp(16px,4vw,40px) 50px; display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr); gap: 48px; align-items: start; }
.mhn-detail h2 { font: 600 30px/1.2 "Cormorant Garamond",serif; margin: 24px 0 16px; }
.mhn-detail-copy p { margin-bottom: 22px; color: var(--muted); line-height: 1.8; }
.mhn-detail-copy ul { margin: 0 0 24px 22px; color: var(--muted); }
.mhn-detail-copy li { margin-bottom: 8px; }
.mhn-booking-card { padding: 28px; border-radius: var(--radius); background: var(--bg-warm); }
.mhn-booking-card h2 { margin-top: 10px; }
.mhn-booking-card p { color: var(--muted); margin-bottom: 20px; font-size: 14px; }
.mhn-booking-card > a { margin-bottom: 20px; display: inline-flex; }
.mhn-booking-card > .mhn-text-link { display: block; }
.mhn-footer-services { margin-top: 22px; }
.mhn-hours-footer { white-space: pre-line; font-size: 12px; }
/* Text stays visible when scripting is disabled or an animation fails. */
.fade-in { opacity: 1; transform: none; }
@media (max-width: 960px) { .mhn-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .mhn-detail { gap: 24px; } }
@media (max-width: 700px) { .mhn-service-grid, .mhn-detail { grid-template-columns: 1fr; } .mhn-page-intro { padding-top: 28px; } .mhn-service-card { padding: 24px; } .mhn-breadcrumbs { margin-bottom: 26px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
