:root {
  --ui-body-size: clamp(14px, calc(12px + .2vw), 16px);
  --ui-body-leading: 1.6;
  --ui-control-size: clamp(14px, calc(12px + .2vw), 16px);
  --ui-button-font-size: 14px;
  --ui-page-title: clamp(30px, 3vw, 52px);
  --ui-account-title: clamp(24px, 2.4vw, 38px);
  --ui-section-title: clamp(20px, 2vw, 30px);
  --ui-card-title: clamp(19px, 2vw, 28px);
  --ui-panel-space: clamp(16px, 2.15vw, 32px);
  --ui-section-gap: clamp(20px, 2.4vw, 36px);
  --ui-section-space: clamp(40px, 5vw, 72px);
}
body, .public-interior { font-size: var(--ui-body-size); line-height: var(--ui-body-leading); }
h1 { font-size: var(--ui-page-title); }
h2 { font-size: var(--ui-section-title); }
h3 { font-size: var(--ui-card-title); }
.hero { min-height: 600px; height: min(820px, 100svh); }
.hero h1 { font-size: clamp(34px, 4vw, 58px); margin-bottom: 24px; }
.hero .lead { font-size: clamp(15px, 1.2vw, 17px); line-height: var(--ui-body-leading); margin-bottom: 28px; }
:is(.meeting, .how, .questions, .performers, .venues, .event-story, .join, .city-section, .discovery) { padding-block: var(--ui-section-space); }
:is(.section-heading, .section-intro, .city-copy, .join, .discovery__intro) h2 { font-size: clamp(26px, 2.6vw, 38px); }
.section-intro { margin-bottom: clamp(24px, 3vw, 40px); }
.section-heading { gap: 24px; }
.section-heading .eyebrow, .section-intro .eyebrow { margin: 0 0 12px; }
.how .section-description { margin: 12px 0 0; }
.section-description { margin-block: 18px 24px; font-size: clamp(14px, 1.2vw, 16px); line-height: var(--ui-body-leading); }
.performer-filters { margin-block: 24px; gap: 8px; }
.performer-filters span { min-height: 38px; padding: 6px 12px; }
.performer-details summary { min-height: 44px; }
.performer-card :focus-visible { outline-offset: -2px; }
.catalog-links { margin-top: 24px; gap: 12px 28px; }
.card-heading { margin-top: 16px; }
.card-heading h3 { font-size: var(--ui-card-title); }
.performer-card .card-description { margin-bottom: 12px; line-height: var(--ui-body-leading); }
.performer-card .text-link { min-height: 40px; font-size: 13px; }
.steps li { padding-block: 24px; gap: 20px; }
.steps h3 { font-size: clamp(21px, 1.8vw, 26px); }
.how .steps p, .performer-card .card-description, .performer-biography p, .venue-caption p, .event-explanation, .event-preview-body > p:not(.event-date):not(.demo-note), .survey-banner-copy > p:not(.eyebrow) { font-size: var(--ui-body-size); line-height: var(--ui-body-leading); }
:is(.venue-caption, .event-preview-body) h3 { font-size: var(--ui-card-title); }
.discovery__copy h3 { font-size: var(--ui-card-title); }
.discovery__intro > p, .discovery__description, .city-copy > p:not(.eyebrow) { font-size: var(--ui-body-size); line-height: var(--ui-body-leading); }
:is(.event-copy, .poster-copy, .dialog-content, .next-step, .empty-state, .detail-columns, .ticket-note, .role-path, .onboarding-path, .workspace-guide, .guide-chapter, .service-principles, .venue-specs, .survey-banner-copy) h2 { font-size: var(--ui-section-title); }
.public-interior :is(.article-body, .editorial-body) { font-size: var(--ui-body-size); line-height: var(--ui-body-leading); }
.public-interior .article-body h2 { font-size: var(--ui-section-title); margin-top: 32px; }
.public-interior .article-body h3 { font-size: var(--ui-card-title); margin-top: 24px; }
.public-interior .article-body blockquote { font-size: var(--ui-card-title); margin-block: 24px; padding-left: 18px; }
.public-interior :is(.artist-profile-specialty, .event-performer, .published-musician-card .artist-card-description) { font-size: var(--ui-body-size); }
.org-venue-banner figcaption { font-size: clamp(14px, 1.3vw, 18px); padding: var(--ui-panel-space); }
.faq-list summary { padding-block: 16px; }
.faq-list summary::after { top: 10px; }
.public-interior :is(.org-page, .account-page) { font-size: var(--ui-body-size); }
.public-interior .catalog-card-copy > p:not(.card-meta):not(.card-genres),
.public-interior .role-path p, .public-interior .onboarding-path p,
.public-interior .detail-columns p, .public-interior .profile-copy > p:not(.eyebrow):not(.card-genres),
.public-interior .guide-chapter p:not(.step-number) { font-size: var(--ui-body-size); }
.public-interior :is(.catalog-card-copy, .org-catalog-card, .published-musician-card) h2 { font-size: var(--ui-card-title); }
.public-interior :is(.artist-about, .booking-facts dd, .account-overview-data dd, .event-program p, .publication-detail .event-facts dd, .discovery__intro > p) { font-size: var(--ui-body-size); line-height: var(--ui-body-leading); }
.public-interior :is(.search-input, .publication-filter input:not([type="checkbox"]), .publication-filter select, .discovery__choice, .filter-actions select) { font-size: var(--ui-control-size); }
.public-interior .profile-copy h1 { font-size: var(--ui-page-title); }
.public-interior :is(.page-intro, .org-heading, .artist-profile-heading, .event-overview) h1 { font-size: var(--ui-page-title); }
.public-interior .account-shell-content :is(.account-heading, .booking-heading, .org-heading, .draft-editor-heading, .workspace-heading) h1 { font-size: var(--ui-account-title); margin-bottom: 14px; }
.public-interior .account-shell-content :is(.access-panel, .account-settings-form-panel, .account-form, .booking-surface, .musician-draft-form, .org-form-section) h2 { font-size: var(--ui-section-title); }
.public-interior .account-next > p:not(.eyebrow):not(.account-note) { font-size: var(--ui-body-size); line-height: 1.6; }
.public-interior .afisha-results > h2 { font-size: var(--ui-section-title); margin-bottom: 16px; }
.public-interior .publication-filters > summary { font-size: var(--ui-control-size); padding-block: 12px; }
.public-interior .account-shell-content :is(.standalone-status, .account-settings-guide) h2 { font-size: 16px; }
.public-interior :is(.lead, .org-lead) { font-size: clamp(15px, 1.2vw, 17px); line-height: 1.65; }
.public-interior :is(.page-intro, .account-heading, .booking-heading) { margin-bottom: var(--ui-section-gap); }
.public-interior :is(.access-panel, .booking-surface, .account-settings-guide) { padding: var(--ui-panel-space); }
:is(.button, .org-button) { min-height: 40px; padding: 8px 14px; gap: 10px; font-size: var(--ui-button-font-size); line-height: 1.4; }
:is(.hero, .join, .survey-banner, .workspace-callout, .next-step) .button,
.page-intro > .button {
  min-height: 44px; padding: 10px 16px; gap: 10px; font-size: var(--ui-button-font-size); line-height: 1.4;
}
@media (min-width: 1441px) {
  :is(.hero, .join, .survey-banner, .workspace-callout, .next-step) .button,
  .page-intro > .button {
    min-height: 48px; padding: 12px 18px; gap: 12px; font-size: var(--ui-button-font-size); line-height: 1.6;
  }
}
.site-header .header-action { min-height: 44px; line-height: 1.4; }
.site-header .header-action:hover { text-decoration: none; }
.public-interior :is(.field, .org-field) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select) { min-height: 44px; padding: 9px 12px; font-size: var(--ui-control-size); }
.public-interior .select-trigger { min-height: 44px; padding: 9px 12px; font-size: 14px; line-height: 1.45; }
.public-interior .weekly-schedule .weekly-state-label .select-trigger { font-size: 13px; white-space: nowrap; }
.public-interior .venue-location > h2 { margin-bottom: 10px; }
.public-interior .venue-location > p:not(.org-map-status) { margin: 0 0 12px; }
.public-interior .venue-location > .org-help { max-width: 72ch; }
.public-interior .venue-location > .org-map { margin-top: 20px; }
.public-interior .field input[type="password"] { padding-right: 48px; }
.public-interior .account-settings-intro { font-size: var(--ui-control-size); }
.public-interior .draft-fields { gap: 20px; }
.public-interior .profile-excerpt-field { display: grid; gap: 6px; }
.public-interior .profile-excerpt-field textarea { display: block; }
.public-interior .profile-excerpt-field [data-excerpt-count] { text-align: right; line-height: 1.4; }
.public-interior .draft-fields .field-help { line-height: 1.5; }
.org-hub { container: organization-hub / inline-size; }
.public-interior .org-hub .org-heading { gap: 20px; margin-bottom: 24px; }
.public-interior .org-hub .org-heading h1 { margin-bottom: 0; }
.org-hub .org-overline { margin-bottom: 8px !important; font-size: 12px; }
.org-hub .org-lead { margin-top: 10px !important; }
.org-hub .org-context-grid { gap: 16px; margin-bottom: 24px; }
.org-hub .org-context { gap: 14px; padding: 16px; border-radius: 8px; }
.org-hub .org-context :is(.org-context-photo, .org-context-symbol) { flex: 0 0 56px; width: 56px; height: 56px; }
.org-hub .org-context-symbol img { width: 26px; height: 26px; }
.org-hub .org-context h2 { font-size: clamp(20px, 1.65vw, 24px); line-height: 1.25; margin: 4px 0; }
.org-hub .org-context :is(p, .org-help) { font-size: 12px; line-height: 1.5; }
.org-hub .org-arrow { flex: 0 0 18px; width: 18px; height: 18px; }
.org-hub .org-create-grid { gap: 16px; }
.org-hub .org-create { min-height: 180px; grid-template-columns: minmax(0, 1fr) 28%; border-radius: 8px; }
.org-hub .org-create > div { padding: 20px; }
.org-hub .org-create h2 { font-size: clamp(22px, 1.8vw, 26px); }
.org-hub .org-create p { margin: 10px 0 16px; font-size: 13px; line-height: 1.6; }
.org-hub .org-text-link { font-size: 13px; }
.org-hub .org-section { margin-top: 32px; }
.org-hub .org-section-title { margin-bottom: 16px; }
.org-hub .org-section-title h2 { font-size: var(--ui-section-title); }
@container organization-hub (max-width: 720px) {
  .org-hub :is(.org-context-grid, .org-create-grid) { grid-template-columns: minmax(0, 1fr); }
  .org-hub .org-create { min-height: 0; grid-template-columns: minmax(0, 1fr) 26%; }
  .org-hub .org-create > div { padding: 16px; }
}
@container organization-hub (max-width: 440px) {
  .public-interior .org-hub .org-heading { flex-direction: column; gap: 8px; }
  .org-hub .org-back { min-height: 32px; margin: 0; font-size: 12px; }
  .org-hub .org-context { padding: 12px; gap: 12px; }
  .org-hub .org-context :is(.org-context-photo, .org-context-symbol) { flex-basis: 44px; width: 44px; height: 44px; }
  .org-hub .org-context h2 { font-size: 20px; }
  .org-hub .org-create { display: flex; flex-direction: column; padding: 0; }
  .org-hub .org-create > img { order: -1; width: 100%; height: 120px; }
  .org-hub .org-create > div { padding: 14px; }
  .org-hub .org-create h2 { font-size: 20px; }
  .org-hub .org-create p { margin: 8px 0 12px; }
}
.public-interior .account-shell { gap: clamp(16px, 1.6vw, 24px); padding-top: 18px; }
html[data-account-view="classic"] .account-shell { grid-template-columns: clamp(180px, 16vw, 230px) minmax(0, 1fr); gap: clamp(18px, 2vw, 28px); }
.account-shell .account-shell-nav { overflow: visible; gap: 4px; }
.account-shell .account-shell-nav a { min-height: 44px; padding: 10px 12px; gap: 10px; white-space: normal; }
.account-shell .account-shell-nav a > span { font-size: clamp(12px, 1vw, 13px); line-height: 1.5; }
.account-shell .account-view-switch { padding: 3px; gap: 3px; }
.account-shell .account-view-switch button { min-height: 34px; padding: 6px 10px; font-size: 12px; }
@media (max-width: 1200px) {
  :root { --ui-body-leading: 1.55; --ui-page-title: clamp(30px, 3.3vw, 40px); --ui-section-space: clamp(36px, 4vw, 56px); }
  .public-edit-link { position: relative; width: 44px; height: 44px; border: 0; background: transparent; }
  .public-edit-link::before { content: ""; position: absolute; inset: 4px; border: 1px solid var(--page-line); border-radius: 6px; background: var(--page-surface); }
  .public-edit-link:hover::before { border-color: var(--page-accent-text); }
  .public-edit-link svg { position: relative; width: 14px; height: 14px; }
  .public-interior { --ui-section-gap: 24px; --ui-panel-space: 20px; }
  .public-interior :is(.org-form-section, .account-settings-guide) { padding: var(--ui-panel-space); }
  .public-interior :is(.org-fields, .demo-fields) { gap: 16px; }
  .public-interior .org-field-heading { min-height: 28px; margin-bottom: 6px; font-size: 13px; }
  .public-interior :is(.org-help-toggle, .field-help-toggle) { width: 36px; height: 36px; }
  .public-interior .musician-draft-form .draft-tabbar { margin-bottom: 20px; padding: 3px; }
  .public-interior .musician-draft-form .draft-tabbar button { min-height: 36px; padding: 6px 10px; font-size: 13px; }
  .public-interior .booking-section { margin-top: 28px; }
  .public-interior :is(.account-contact-fields, .account-identity-fields) { gap: 16px; }
  .public-interior :is(.catalog-card-copy, .next-step, .detail-columns, .workspace-guide, .guide-chapter, .agreement-section) { padding-block: 28px; }
  .public-interior :is(.news-card, .afisha-card) h2 { font-size: 26px; }
  .public-interior :is(.search-input, .choice-card span) { min-height: 44px; padding: 9px 12px; }
  .public-interior :is(.filter-field label, .filter-choices legend, .workspace-guide .faq-list summary) { font-size: 14px; }
  .public-interior .guide-chapter p:not(.step-number) { font-size: 14px; }
  .public-interior .weekly-schedule input[type="time"] { min-height: 36px; padding: 5px 9px; font-size: 13px; }
}
@media (max-width: 900px) {
  html[data-account-view="classic"] .account-shell { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  :root { --ui-body-size: 14px; --ui-body-leading: 1.55; --ui-control-size: 14px; --ui-page-title: 26px; --ui-account-title: 24px; --ui-section-title: 20px; --ui-card-title: 20px; --ui-section-space: 32px; --ui-panel-space: 14px; --ui-section-gap: 16px; }
  .public-interior :is(.field, .org-field, .publication-filter, .filter-actions) { --ui-control-size: 16px; }
  .public-interior :is(.search-input, .discovery__choice) { font-size: 16px; }
  .page-width, .content-width, .public-interior .content-width { width: calc(100% - 32px); }
  .account-shell-content > .content-width { width: 100%; }
  .hero { min-height: 0; height: auto; }
  .hero-layout { padding-top: 100px; padding-bottom: 72px; }
  .hero h1 { font-size: 28px; margin-bottom: 16px; }
  .hero .lead { font-size: 14px; line-height: var(--ui-body-leading); margin-bottom: 20px; }
  :is(.section-heading, .section-intro, .city-copy, .join, .discovery__intro) h2 { font-size: 22px; }
  .discovery__intro { margin-bottom: 20px; }
  .discovery__intro h2, .discovery__copy h3 { margin-bottom: 12px; }
  .discovery__choices { gap: 8px; margin-bottom: 16px; }
  .discovery__choice { min-height: 40px; padding-block: 7px; font-size: 13px; }
  .discovery__scene { gap: 16px; }
  .discovery__description { margin-bottom: 12px; }
  .discovery__link { min-height: 36px; font-size: 13px; }
  .section-description { font-size: var(--ui-body-size); margin-block: 12px 16px; }
  .steps h3, .how .steps h3 { font-size: 20px; }
  .public-interior :is(.lead, .org-lead) { font-size: 14px; line-height: 1.6; }
  .public-interior :is(.news-card, .afisha-card) h2 { font-size: var(--ui-card-title); }
  .public-interior .article-body { margin-block: 28px 40px; }
  .public-interior .article-body p { margin-block: 16px; }
  .public-interior .afisha-card p:not(.card-meta):not(.event-card-date) { font-size: var(--ui-body-size); }
  .hero .eyebrow { margin-bottom: 16px; }
  .hero-actions .button { min-height: 44px; padding: 9px 14px; }
  .public-interior { --ui-panel-space: 14px; --ui-section-gap: 16px; }
  .section-heading { margin-bottom: 20px; }
  .performer-photo { aspect-ratio: 1 / .88; }
  .card-heading { flex-wrap: nowrap; }
  .card-heading h3 { font-size: var(--ui-card-title); }
  .card-meta { margin-block: 8px; }
  .audiences { gap: 28px; }
  .audiences article { padding-top: 20px; }
  .public-interior :is(.detail-columns, .workspace-guide, .guide-chapter) { gap: 24px; }
  .public-interior .breadcrumbs { padding-top: 80px; font-size: 12px; }
  .site-header.has-menu .menu-toggle { min-height: 44px; padding: 8px 10px; font-size: 12px; }
  .site-header.has-menu nav a { min-height: 44px; }
  .breadcrumbs ol { gap: 2px 8px; }
  .breadcrumbs li { gap: 8px; min-height: 28px; }
  .breadcrumbs a, .breadcrumbs [aria-current] { gap: 6px; min-height: 28px; }
  .breadcrumbs .breadcrumb-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .public-interior .account-shell { gap: 14px; padding-top: 12px; }
  .account-shell .account-view-toolbar { gap: 6px 10px; justify-content: flex-start; font-size: 12px; }
  .account-shell .account-view-switch { padding: 2px; gap: 2px; }
  .account-shell .account-view-switch button { min-height: 40px; padding: 7px 8px; font-size: 12px; }
  [data-account-view="classic"] .account-shell-navigation { border: 1px solid var(--page-line); border-radius: 8px; background: var(--page-surface); }
  [data-account-view="classic"] .account-shell-navigation > summary { min-height: 40px; padding: 8px 12px; border: 0; background: transparent; font-size: 13px; }
  .account-shell-navigation[open] > summary { margin-bottom: 0; }
  [data-account-view="classic"] .account-shell-nav { grid-template-columns: minmax(0, 1fr); gap: 2px; padding: 6px; border: 0; border-top: 1px solid var(--page-line); border-radius: 0 0 8px 8px; }
  .account-shell .account-shell-nav a { min-height: 44px; padding: 9px 10px; gap: 10px; }
  .account-shell .account-shell-nav a > img { width: 16px; height: 16px; flex-basis: 16px; }
  .account-shell .account-shell-nav a > span { line-height: 1.4; }
  .booking-list .booking-row { gap: 12px; padding-block: 18px; }
  .booking-list .booking-date { width: 52px; }
  .booking-list .booking-date strong { font-size: 30px; }
  .public-interior .org-catalog-empty { min-height: 0; padding: 24px 16px; }
  .public-interior .org-catalog-empty .org-empty-symbol { margin-bottom: 12px; }
  .public-interior .org-catalog-empty h2 { font-size: var(--ui-section-title); }
  .public-interior .org-catalog-empty p { margin-block: 10px 16px; font-size: var(--ui-body-size); }
}
@media (max-height: 720px) and (min-width: 701px) {
  .hero { min-height: 0; height: auto; }
  .hero-layout { padding-block: 96px 64px; }
  .public-interior :is(.page-intro, .account-heading, .booking-heading) { margin-bottom: 20px; }
  .public-interior .org-public-page .org-section { margin-top: 28px; }
}
@media (pointer: coarse) {
  .performer-filters span { min-height: 44px; }
  .public-interior :is(.button, .org-button) { min-height: 44px; }
  .public-interior :is(.org-help-toggle, .field-help-toggle) { width: 44px; height: 44px; flex: 0 0 44px; }
  .public-interior .musician-draft-form .draft-tabbar button { min-height: 36px; }
  .public-interior .weekly-schedule input[type="time"] { min-height: 44px; }
}
