.may-pricing { --may-ink: #35273f; --may-muted: #706578; --may-accent: #79459a; text-align: left; color: var(--may-ink); }
.may-pricing__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.may-pricing .may-pricing__heading h2 { margin: 0; font-weight: 800; }
.may-pricing__heading p { margin: 12px 0 0; color: var(--may-muted); font-size: 16px; }
.may-pricing a.may-pricing__help { color: #694080; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.may-pricing__tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 6px; background: #e4ece4; border-radius: 20px; }
.may-pricing a.may-pricing__tab { display: flex; justify-content: center; align-items: center; min-height: 52px; padding: 12px 16px; border-radius: 15px; font-size: 16px; line-height: 1.4; font-weight: 600; color: #465146; text-align: center; transition: background-color .15s, color .15s; text-decoration: none; }
.may-pricing__tab:hover { background: #f3f7f2; }
.may-pricing a.may-pricing__tab[aria-selected="true"] { background: #fff; color: #70418f; box-shadow: 0 2px 8px #3851370d; }
.may-pricing a:focus-visible, .may-pricing summary:focus-visible, .may-pricing__panel:focus-visible { outline: 2px solid var(--may-accent); outline-offset: 4px; border-radius: 4px; }
.may-pricing p.may-pricing__hint { margin: 18px 0 24px; font-size: 13px; line-height: 1.5; color: var(--may-muted); }
.may-pricing__panel { scroll-margin-top: 320px; }
.may-pricing__panel[hidden] { display: none !important; }
.may-pricing--enhanced .may-pricing__fallback-title { display: none; }
.may-pricing__table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; border: 1px solid #e7e0eb; border-radius: 20px; overflow: hidden; margin: 0; background: #fff; }
.may-pricing__name-col { width: 49%; }
.may-pricing .may-pricing__table th, .may-pricing .may-pricing__table td { padding: 22px 18px; vertical-align: middle; border: 0; border-bottom: 1px solid #eee8f1; text-align: left; }
.may-pricing .may-pricing__table thead th { padding-top: 16px; padding-bottom: 16px; background: #f6f3f8; font-size: 13px; font-weight: 600; color: #706078; }
.may-pricing .may-pricing__table tbody th { font-weight: 400; }
.may-pricing .may-pricing__table tbody tr:last-child > * { border-bottom: 0; }
.may-pricing .may-pricing__offer--intro > * { background: #f6effc; }
.may-pricing .may-pricing__name { display: block; width: fit-content; font-size: 17px; line-height: 1.45; font-weight: 600; color: var(--may-ink); text-decoration: underline; text-decoration-color: #d9c9e2; text-underline-offset: 4px; }
.may-pricing .may-pricing__name:hover { color: var(--may-accent); text-decoration-color: currentColor; }
.may-pricing p.may-pricing__note { font-size: 13px; line-height: 1.6; color: var(--may-muted); margin: 7px 0 0; }
.may-pricing__badge { display: inline-block; padding: 3px 9px; border-radius: 6px; margin-bottom: 8px; font-size: 11px; font-weight: 700; color: #6f4588; background: #e9dbf4; }
.may-pricing__amount { display: block; color: #673a86; font-weight: 700; font-size: 19px; line-height: 1.4; white-space: nowrap; font-variant-numeric: tabular-nums; }
.may-pricing__per-lesson { display: block; margin-top: 5px; font-size: 11px; line-height: 1.5; color: var(--may-muted); }
.may-pricing__single-label { display: block; font-size: 12px; color: var(--may-muted); margin-bottom: 3px; }
.may-pricing__unavailable { color: #97899f; }
.may-pricing__mobile-label { display: none; }
.may-pricing__details { margin-top: 10px; font-size: 13px; line-height: 1.65; }
.may-pricing__details summary { cursor: pointer; color: #74498c; width: fit-content; padding: 4px 0; }
.may-pricing__details summary::after { content: ' +'; font-weight: 700; }
.may-pricing__details[open] summary::after { content: ' −'; }
.may-pricing__details > div { padding-top: 8px; color: var(--may-muted); }
.may-pricing__details p { font-size: inherit; line-height: inherit; }
.may-pricing__footer { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 24px; padding: 24px 28px; border-radius: 20px; background: #f4f6f1; }
.may-pricing__footer strong { font-size: 17px; color: var(--may-ink); }
.may-pricing__footer p { margin: 6px 0 10px; font-size: 14px; color: var(--may-muted); }
.may-pricing .may-pricing__booking { margin: 0; flex-shrink: 0; }
.may-pricing__explanations { margin-top: 36px; }
.may-pricing .may-pricing__explanations h3 { margin: 0 0 18px; font-size: 23px; font-weight: 700; }
.may-pricing__explanation { border-top: 1px solid #e7e0eb; scroll-margin-top: 100px; }
.may-pricing__explanation:last-child { border-bottom: 1px solid #e7e0eb; }
.may-pricing__explanation summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; color: var(--may-ink); font-size: 17px; font-weight: 600; cursor: pointer; list-style: none; }
.may-pricing__explanation summary::-webkit-details-marker { display: none; }
.may-pricing__explanation summary::after { content: '+'; color: var(--may-accent); font-size: 23px; font-weight: 400; }
.may-pricing__explanation[open] summary::after { content: '−'; }
.may-pricing__explanation > div { max-width: 900px; padding: 0 0 22px; color: var(--may-muted); font-size: 15px; line-height: 1.75; }
.may-pricing__explanation p, .may-pricing__explanation li { font-size: inherit; line-height: inherit; text-align: left !important; }
.may-pricing__explanation p:first-child, .may-pricing__explanation ul { margin-top: 0; }
.may-pricing__explanation p:last-child, .may-pricing__explanation ul:last-child { margin-bottom: 0; }
.may-pricing__explanation li + li { margin-top: 12px; }
.may-pricing__sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 768px) and (max-width: 1100px) {
    .may-pricing__name-col { width: 43%; }
    .may-pricing .may-pricing__table th, .may-pricing .may-pricing__table td { padding: 18px 12px; }
    .may-pricing__amount { font-size: 17px; }
}
@media (max-width: 767px) {
    .may-pricing__panel { scroll-margin-top: 480px; }
    .may-pricing__heading { display: block; margin-bottom: 24px; }
    .may-pricing__heading > .may-pricing__help { display: inline-block; margin-top: 14px; }
    .may-pricing__tabs { grid-template-columns: 1fr; border-radius: 17px; gap: 3px; }
    .may-pricing a.may-pricing__tab { justify-content: flex-start; padding: 11px 14px; min-height: 46px; font-size: 15px; text-align: left; border-radius: 12px; }
    .may-pricing a.may-pricing__tab[aria-selected="true"]::after { content: '✓'; margin-left: auto; padding-left: 10px; }
    .may-pricing__table, .may-pricing__table tbody { display: block; border: 0; background: none; border-radius: 0; overflow: visible; }
    .may-pricing__table colgroup { display: none; }
    .may-pricing__table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
    .may-pricing__table .may-pricing__offer { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 19px 16px; border: 1px solid #e7e0eb; border-radius: 18px; background: #fff; margin-bottom: 14px; gap: 18px 8px; }
    .may-pricing__table .may-pricing__offer--intro { background: #f6effc; }
    .may-pricing .may-pricing__table tbody th, .may-pricing .may-pricing__table tbody td { display: block; border: 0; padding: 0; background: none; min-width: 0; }
    .may-pricing .may-pricing__table tbody th, .may-pricing .may-pricing__table tbody td.may-pricing__single { grid-column: 1 / -1; }
    .may-pricing .may-pricing__name { font-size: 17px; }
    .may-pricing__mobile-label { display: block; font-size: 11px; line-height: 1.45; color: var(--may-muted); margin-bottom: 6px; min-height: 32px; }
    .may-pricing__amount { font-size: clamp(14px, 4.4vw, 17px); }
    .may-pricing__per-lesson { font-size: 11px; }
    .may-pricing .may-pricing__table td.may-pricing__single { display: flex; flex-direction: column; align-items: flex-start; }
    .may-pricing__footer { align-items: flex-start; flex-direction: column; padding: 22px 20px; }
    .may-pricing .may-pricing__booking { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .may-pricing a.may-pricing__tab { transition: none; } }
