:root {
  --studio-ink: #31272d;
  --studio-muted: #685963;
  --studio-rose: #a62153;
  --studio-border: #ead6df;
}
.studio-skip { position: fixed; z-index: 9999; inset: 12px auto auto 12px; padding: .7rem 1rem; background: #fff; color: var(--studio-rose); border-radius: 8px; transform: translateY(-150%); }
.studio-skip:focus { transform: none; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--studio-rose); outline-offset: 4px; }
#main-content:focus { outline: none; }
main h1, main h2 { text-wrap: balance; }
main :is(h1,h2,h3,p) { overflow-wrap: anywhere; line-break: strict; }
main :is(.section-head,.consult-section-heading) > p:not(.eyebrow) { color: var(--studio-muted); line-height: 1.85; }
main .btn { min-height: 44px; }
a.global-consult-banner { width: min(calc(100% - 32px), 920px); margin-block: clamp(12px,2vw,22px) clamp(18px,3vw,30px); border-radius: 14px; box-shadow: 0 6px 22px #65223f13; }
.consultation-page .consult-reservation h2 { color: var(--studio-ink); font-size: clamp(24px,4vw,35px); line-height: 1.35; }
.consultation-page .consult-reservation-heading > p { color: var(--studio-rose); font-size: 12px; }
.consultation-page .consult-calendar-note { color: var(--studio-muted); font-size: 14px; line-height: 1.65; margin-block: 12px; }
.consult-slot-guide { color: var(--studio-muted); border: 1px solid var(--studio-border); border-radius: 12px; background: #fff8fb; margin-block: 14px; font-size: 13px; }
.consult-slot-guide summary { cursor: pointer; padding: 12px 14px; color: var(--studio-rose); font-weight: 650; min-height: 44px; }
.consult-slot-guide p { padding: 0 14px 14px; margin: 0; line-height: 1.8; }
.consultation-page .consult-facts dt, .consultation-page .consult-cta-note, .consultation-page .consult-cta-note span { color: var(--studio-muted); }
.consultation-page .consult-mobile-booking a { background: var(--studio-rose); font-size: 12px; }
.consultation-page .consult-mobile-booking small { color: var(--studio-muted); font-size: 10px; }
@media (max-width: 760px) {
  .consultation-page .consult-reservation { padding-top: 24px; }
  .consultation-page .consult-facts dt { font-size: 11px; line-height: 1.4; }
  .consultation-page .consult-calendar-note { font-size: 13px; }
}
