/* BP Diet by George Triantafyllakos, https://backpacker.gr/fonts/8.
   Original webfont files, self-hosted without modification; licence in fonts/bp-diet/. */
@font-face {
  font-family: "BP Diet";
  src: url("fonts/bp-diet/BPdiet.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "BP Diet";
  src: url("fonts/bp-diet/BPdietItalic.woff") format("woff");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

:root {
  --ymi-marble-image: url("textures/fractured-marble-v1.jpg");
  --ymi-ink: #25272a;
  --ymi-ink-soft: #666b70;
  --ymi-brown: #6b4c3b;
  --ymi-brown-dark: #3f3029;
  --ymi-paper: #fafaf8;
  --ymi-paper-soft: #fdfdfb;
  --ymi-beige: rgba(252, 252, 250, .78);
  --ymi-gray: #d9dcde;
  --ymi-gray-soft: rgba(252, 252, 250, .72);
  --ymi-gray-dark: #6e7377;
  --ymi-line: rgba(63, 48, 41, .2);
  --ymi-surface: rgba(252, 252, 250, .68);
  --ymi-surface-strong: rgba(252, 252, 250, .88);
  --ymi-surface-soft: rgba(252, 252, 250, .5);
  --ymi-display: "BP Diet", "Noto Sans", sans-serif;
  --ymi-serif: "Noto Serif", Georgia, "Times New Roman", serif;
  --ymi-body: "Noto Sans", "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  --ymi-expressive: "BP Diet", "Noto Sans", sans-serif;
}

/* Same texture, scale, position and overlays; retain JPEG on older browsers. */
@supports (background-image: image-set(url("optimized/fractured-marble-v1.avif") type("image/avif"))) {
  :root {
    --ymi-marble-image: image-set(
      url("optimized/fractured-marble-v1.avif") type("image/avif"),
      url("textures/fractured-marble-v1.jpg") type("image/jpeg")
    );
  }
}

.ymi-optimized-picture { display: contents; }

/* 0.12.5 — Mineral monochrome palette: marble, white glass and espresso accents. */
body.ymi-artist-theme {
  background-color: #e6e8e9;
  background-image:
    linear-gradient(rgba(249, 249, 247, .62), rgba(249, 249, 247, .62)),
    var(--ymi-marble-image);
  color: var(--ymi-ink);
}

body.ymi-artist-theme :where(h1, h2, h3, h4, h5, h6) {
  color: var(--ymi-brown-dark);
}

body.ymi-artist-theme :where(
  .ymi-editorial-entry,
  .ymi-contact-cards a,
  .ymi-contact-cards a:last-child,
  .ymi-contact-form,
  .ymi-empty,
  .ymi-events-preview .tsitah-events-empty,
  .ymi-form-notice-success,
  .ymi-form-notice-error,
  .tsitah-cf7-unavailable
) {
  border-color: var(--ymi-line);
  background: var(--ymi-surface) !important;
  backdrop-filter: blur(3px) saturate(.72);
}

body.ymi-artist-theme :where(
  .ymi-form-field input,
  .ymi-form-field select,
  .ymi-form-field textarea
) {
  border-color: var(--ymi-line);
  background: var(--ymi-surface-strong) !important;
  color: var(--ymi-ink);
}

body.ymi-artist-theme .tsitah-calendar-widget {
  --tsitah-calendar-dark: var(--ymi-brown-dark);
  --tsitah-calendar-ink: var(--ymi-ink);
  --tsitah-calendar-paper: var(--ymi-paper-soft);
  --tsitah-calendar-gold: var(--ymi-brown);
  --tsitah-calendar-line: var(--ymi-line);
}

body.ymi-artist-theme .tsitah-calendar-intro {
  border-color: var(--ymi-line);
  background: var(--ymi-surface-soft) !important;
  color: var(--ymi-ink);
  backdrop-filter: blur(3px) saturate(.72);
}

body.ymi-artist-theme .tsitah-booking-request {
  --tsitah-booking-paper: var(--ymi-surface);
  --tsitah-booking-paper-soft: var(--ymi-surface-strong);
  --tsitah-booking-beige: var(--ymi-surface);
  --tsitah-booking-gray: var(--ymi-surface);
  --tsitah-booking-brown: var(--ymi-brown);
  --tsitah-booking-dark: var(--ymi-brown-dark);
  --tsitah-booking-ink: var(--ymi-ink);
  --tsitah-booking-line: var(--ymi-line);
}

body.ymi-artist-theme .tsitah-lessons-booking {
  --tsitah-lessons-ink: var(--ymi-ink);
  --tsitah-lessons-brown: var(--ymi-brown);
  --tsitah-lessons-brown-dark: var(--ymi-brown-dark);
  --tsitah-lessons-paper: var(--ymi-surface);
  --tsitah-lessons-paper-soft: var(--ymi-surface-strong);
  --tsitah-lessons-gray: var(--ymi-surface);
  --tsitah-lessons-gray-dark: var(--ymi-gray-dark);
  --tsitah-lessons-line: var(--ymi-line);
}

body.ymi-artist-theme .tsitah-student-account {
  --tsitah-account-ink: var(--ymi-ink);
  --tsitah-account-brown: var(--ymi-brown);
  --tsitah-account-brown-dark: var(--ymi-brown-dark);
  --tsitah-account-paper: var(--ymi-surface);
  --tsitah-account-beige: var(--ymi-surface);
  --tsitah-account-gray: var(--ymi-surface);
  --tsitah-account-line: var(--ymi-line);
}

body.ymi-artist-theme :where(
  .tsitah-booking-form-panel,
  .tsitah-booking-calendar-popover,
  .tsitah-lessons-calendar,
  .tsitah-lessons-form,
  .tsitah-account-form,
  .tsitah-account-summary,
  .tsitah-account-empty,
  .tsitah-account-appointment
) {
  border-color: var(--ymi-line);
  backdrop-filter: blur(3px) saturate(.72);
}

body.ymi-artist-theme :where(
  .tsitah-booking-form-panel,
  .tsitah-lessons-form,
  .tsitah-account-form,
  .tsitah-account-summary,
  .tsitah-account-empty,
  .tsitah-account-appointment
) {
  background: var(--ymi-surface) !important;
}

body.ymi-artist-theme .tsitah-booking-calendar-popover,
body.ymi-artist-theme .tsitah-lessons-calendar {
  background: var(--ymi-surface-strong) !important;
}

body.ymi-artist-theme :where(
  .tsitah-booking-form-panel,
  .tsitah-lessons-form,
  .tsitah-account-form
) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-color: var(--ymi-line);
  background: var(--ymi-surface-strong) !important;
  color: var(--ymi-ink);
}

body.ymi-artist-theme :where(
  .ymi-button-primary,
  .ymi-form-submit button,
  .ymi-form-submit input[type="submit"],
  .tsitah-booking-submit button,
  .tsitah-booking-submit input[type="submit"],
  .tsitah-lessons-submit button,
  .tsitah-account-form button,
  .tsitah-account-profile-form button
) {
  border-color: var(--ymi-brown-dark) !important;
  background: var(--ymi-brown-dark) !important;
  color: #fff !important;
}

body.ymi-artist-theme :where(
  .ymi-button-primary,
  .ymi-form-submit button,
  .ymi-form-submit input[type="submit"],
  .tsitah-booking-submit button,
  .tsitah-booking-submit input[type="submit"],
  .tsitah-lessons-submit button,
  .tsitah-account-form button,
  .tsitah-account-profile-form button
):hover,
body.ymi-artist-theme :where(
  .ymi-button-primary,
  .ymi-form-submit button,
  .ymi-form-submit input[type="submit"],
  .tsitah-booking-submit button,
  .tsitah-booking-submit input[type="submit"],
  .tsitah-lessons-submit button,
  .tsitah-account-form button,
  .tsitah-account-profile-form button
):focus-visible {
  border-color: var(--ymi-brown) !important;
  background: var(--ymi-brown) !important;
}

[data-header*="type-1"] .ct-header [data-row*="middle"] {
  background-color: rgba(250, 250, 248, .78) !important;
  background-image:
    linear-gradient(rgba(249, 249, 247, .72), rgba(249, 249, 247, .72)),
    var(--ymi-marble-image) !important;
}

.ymi-global-footer {
  background: var(--ymi-brown-dark) !important;
  color: var(--ymi-paper-soft);
}

/* 0.12.1 — Standalone fractured-marble biography study. */
.ymi-artist-theme.ymi-marble-demo-page:not(.home) .site-main {
  background-color: #ebecee;
  background-image:
    linear-gradient(rgba(247, 247, 245, .58), rgba(247, 247, 245, .58)),
    var(--ymi-marble-image);
  background-position: center top;
  background-size: 920px auto;
}

.ymi-artist-theme.ymi-marble-demo-page .entry-header {
  border-color: rgba(32, 33, 36, .17);
}

.ymi-artist-theme.ymi-marble-demo-page .entry-header::before {
  color: rgba(69, 73, 77, .13);
}

.ymi-artist-theme.ymi-marble-demo-page .entry-title {
  color: #202124;
}

.ymi-biography-marble {
  color: #222428;
}

.ymi-marble-demo-label {
  margin: 0 0 clamp(25px, 3.5vw, 44px);
  color: #676c71;
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ymi-marble-demo-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .63fr);
  gap: clamp(48px, 8vw, 108px);
  align-items: start;
}

.ymi-marble-demo-reading {
  max-width: 710px;
  padding-top: 14px;
  border-top: 0;
}

.ymi-marble-demo-quote {
  max-width: 690px;
  margin: 0 0 clamp(34px, 4vw, 52px);
  color: #25272a;
  font-size: clamp(1.35rem, 2.15vw, 1.95rem);
  line-height: 1.5;
}

.ymi-marble-demo-quote::before {
  color: #777c81;
  content: "«";
}

.ymi-marble-demo-quote::after {
  color: #777c81;
  content: "»";
}

.ymi-marble-demo-copy {
  font-family: var(--ymi-serif);
  font-size: clamp(.94rem, 1.08vw, 1.08rem);
  line-height: 1.9;
}

.ymi-marble-demo-copy p {
  margin: 0 0 1.45em;
}

.ymi-marble-demo-copy p:first-child::first-letter {
  float: left;
  margin: .09em .12em 0 0;
  font-size: 3.65em;
  font-weight: 500;
  line-height: .78;
}

.ymi-marble-demo-portrait {
  position: sticky;
  top: 24px;
  margin: 0;
}

.admin-bar .ymi-marble-demo-portrait {
  top: 56px;
}

.ymi-marble-demo-portrait img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 2.72;
  object-fit: cover;
  object-position: 50% 24%;
  filter: saturate(.72) contrast(1.04);
}

.ymi-marble-demo-portrait figcaption {
  display: flex;
  justify-content: space-between;
  margin-top: 11px;
  color: #666b70;
  font-size: .54rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ymi-artist-theme.ymi-marble-demo-page .ymi-artist-gallery {
  margin-top: clamp(64px, 8vw, 104px);
  padding-top: clamp(46px, 6vw, 76px);
  border-top-color: rgba(32, 33, 36, .18);
}

@media (max-width: 820px) {
  .ymi-artist-theme.ymi-marble-demo-page:not(.home) .site-main { background-size: 760px auto; }
  .ymi-marble-demo-layout { grid-template-columns: 1fr; gap: 34px; }
  .ymi-marble-demo-portrait {
    position: static;
    order: -1;
    width: min(100%, 470px);
  }
  .ymi-marble-demo-reading { display: contents; }
  .ymi-marble-demo-quote { order: -2; margin-bottom: 0; }
  .ymi-marble-demo-copy { margin-top: 8px; }
  .ymi-marble-demo-portrait img { aspect-ratio: 4 / 5; }
}

html { scroll-behavior: smooth; }
body.ymi-artist-theme {
  --theme-link-initial-color: var(--ymi-brown);
  --theme-link-hover-color: var(--ymi-brown-dark);
  --theme-font-family: var(--ymi-body);
  overflow-x: hidden;
  background: var(--ymi-paper-soft);
  color: var(--ymi-ink);
  font-family: var(--ymi-body);
  font-optical-sizing: auto;
}
.ymi-artist-theme :where(button, input, select, textarea),
.ymi-artist-theme :where(.ct-header, .ct-footer, .tsitah-events-list, .tsitah-lessons-shell, .tsitah-booking-request) { font-family: var(--ymi-body); }
.ymi-artist-theme :where(h1, h2, h3, h4, h5, h6, .site-title) { font-family: var(--ymi-display); }
.ymi-artist-theme ::selection { background: var(--ymi-gray); color: var(--ymi-brown-dark); }
.ymi-artist-theme h1, .ymi-artist-theme h2, .ymi-artist-theme h3 { color: var(--ymi-brown-dark); font-family: var(--ymi-display); font-weight: 650; letter-spacing: -.045em; }
.ymi-artist-theme a { text-underline-offset: .2em; }
.ymi-wrap { width: min(100% - 48px, 1360px); margin-inline: auto; }
.ymi-section { position: relative; padding-block: clamp(72px, 8vw, 112px); border-bottom: 1px solid var(--ymi-line); }
.ymi-kicker { margin: 0 0 15px; color: var(--ymi-brown); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }

/* Quiet, warm navigation. */
[data-header*="type-1"] .ct-header [data-row*="middle"] {
  --height: 80px !important;
  background-color: var(--ymi-paper-soft) !important;
  border-bottom: 1px solid var(--ymi-line);
}
[data-header*="type-1"] { --header-height: 80px !important; }
[data-header*="type-1"] .ct-header [data-id="logo"] .site-title { --theme-font-size: 18px !important; }
[data-header*="type-1"] .site-title a { color: var(--ymi-brown-dark) !important; font-family: var(--ymi-display); font-weight: 700; letter-spacing: -.025em; }
[data-header*="type-1"] .site-title a::before { display: inline-block; width: 7px; height: 7px; margin-right: 10px; border-radius: 50%; background: var(--ymi-brown); content: ""; }
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a { position: relative; color: var(--ymi-ink) !important; font-size: 11px !important; letter-spacing: .025em; text-transform: none !important; }
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a::after { position: absolute; right: 12px; bottom: 24px; left: 12px; height: 1px; background: var(--ymi-brown); content: ""; transform: scaleX(0); transition: transform .2s ease; }
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a:hover::after,
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li.current-menu-item > a::after { transform: scaleX(1); }
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu {
  border: 0;
  background: var(--ymi-brown-dark) !important;
  box-shadow: 0 14px 32px rgba(41, 37, 33, .18);
}
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu a {
  color: var(--ymi-paper-soft) !important;
  transition: background-color .18s ease, color .18s ease;
}
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu li:hover > a,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu li.current-menu-item > a,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu li.current_page_item > a,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu a:focus-visible {
  background: var(--ymi-brown) !important;
  color: #fff !important;
}
[data-header*="type-1"] .ct-header [data-id="search"], [data-header*="type-1"] .ct-header [data-id="trigger"] { color: var(--ymi-brown-dark) !important; --theme-icon-color: var(--ymi-brown-dark); }
[data-header*="type-1"] .header-menu-1 .ymi-account-menu-icon { display: flex; align-items: center; margin-inline-start: 3px; }
[data-header*="type-1"] .header-menu-1 .ymi-account-menu-icon > a { display: grid; width: 37px; min-width: 37px; height: 37px; padding: 0 !important; border: 1px solid var(--ymi-line); border-radius: 50%; color: var(--ymi-brown-dark) !important; place-items: center; }
[data-header*="type-1"] .header-menu-1 .ymi-account-menu-icon > a::after { display: none; }
[data-header*="type-1"] .header-menu-1 .ymi-account-menu-icon > a:hover,
[data-header*="type-1"] .header-menu-1 .ymi-account-menu-icon > a:focus-visible { border-color: var(--ymi-brown); background: var(--ymi-paper); }
[data-header*="type-1"] .header-menu-1 .ymi-account-menu-icon svg { display: block; }
.ymi-artist-theme .mobile-menu .ymi-account-menu-icon { display: none; }

/* Minimal hero with a restrained musical score. */
.ymi-hero { position: relative; display: grid; min-height: clamp(540px, calc(78vh - 80px), 700px); overflow: hidden; background: var(--ymi-paper); place-items: center; }
.ymi-hero::after { position: absolute; right: 0; bottom: 0; left: 0; height: 7px; background: linear-gradient(90deg, var(--ymi-brown) 0 26%, var(--ymi-gray) 26% 72%, var(--ymi-brown) 72% 73%, var(--ymi-gray) 73%); content: ""; }
.ymi-hero-center { position: relative; z-index: 2; display: grid; justify-items: center; padding-block: 85px; text-align: center; }
.ymi-hero-center .ymi-kicker { margin-bottom: 20px; }
.ymi-hero-center h1 { max-width: 900px; margin: 0; color: var(--ymi-brown-dark); font-size: clamp(3.15rem, 5.4vw, 4.8rem); line-height: 1; }
.ymi-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 42px; }
.ymi-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 23px; border: 1px solid var(--ymi-brown); border-radius: 0; color: var(--ymi-brown-dark); font-size: .73rem; font-weight: 700; letter-spacing: .055em; text-decoration: none; transition: background .2s ease, color .2s ease; }
.ymi-button-primary { background: var(--ymi-brown); color: var(--ymi-paper-soft); }
.ymi-button-secondary { background: rgba(247,243,236,.54); }
.ymi-button:hover, .ymi-button:focus-visible { background: var(--ymi-brown-dark); color: var(--ymi-paper-soft); }
.ymi-hero-score { position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.ymi-hero-score::before { position: absolute; top: 48%; left: -4%; width: 108%; height: 108px; background: repeating-linear-gradient(to bottom, transparent 0 20px, rgba(114,82,64,.15) 20px 21px); content: ""; transform: rotate(-2deg); }
.ymi-note, .ymi-clef { position: absolute; color: var(--ymi-brown); font-family: var(--ymi-serif); line-height: 1; user-select: none; }
.ymi-note-one { top: 22%; left: 14%; font-size: clamp(2.5rem, 5vw, 5rem); opacity: .2; transform: rotate(-12deg); }
.ymi-note-two { top: 33%; right: 17%; font-size: clamp(3rem, 6vw, 6rem); opacity: .16; transform: rotate(9deg); }
.ymi-note-three { right: 31%; bottom: 14%; font-size: clamp(2rem, 4vw, 4rem); opacity: .22; transform: rotate(-6deg); }
.ymi-note-four { bottom: 18%; left: 25%; font-size: clamp(2.2rem, 4.5vw, 4.5rem); opacity: .14; transform: rotate(7deg); }
.ymi-clef { top: 5%; left: 4%; color: var(--ymi-gray-dark); font-size: clamp(7rem, 16vw, 15rem); opacity: .08; transform: rotate(-7deg); }

/* Homepage: a different editorial flow, distinct from the reference site. */
.ymi-home-statement { position: relative; overflow: hidden; padding-block: clamp(82px, 10vw, 142px); background: var(--ymi-paper-soft); }
.ymi-statement-grid { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; }
.ymi-statement-label { grid-column: 1 / 4; padding-top: 10px; border-top: 1px solid var(--ymi-brown); }
.ymi-statement-label span { display: block; margin-bottom: 45px; color: var(--ymi-gray-dark); font-family: var(--ymi-serif); font-size: 1rem; }
.ymi-statement-label p { margin: 0; color: var(--ymi-brown); font-size: .65rem; font-weight: 700; letter-spacing: .12em; }
.ymi-statement-copy { z-index: 1; grid-column: 4 / 11; }
.ymi-statement-copy h2 { max-width: 760px; margin: 0 0 34px; font-family: var(--ymi-serif); font-size: clamp(2.15rem, 4vw, 3.8rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }
.ymi-statement-copy > p { max-width: 650px; margin: 0 0 30px; font-size: 1rem; line-height: 1.75; }
.ymi-statement-note { position: absolute; right: 0; bottom: -90px; color: var(--ymi-gray); font-family: var(--ymi-serif); font-size: 15rem; line-height: 1; transform: rotate(8deg); }

.ymi-listening-room { padding-block: clamp(68px, 8vw, 108px); border-block: 1px solid var(--ymi-line); background: var(--ymi-gray); }
.ymi-listening-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(46px, 8vw, 112px); align-items: center; }
.ymi-release-mark { position: relative; display: grid; width: min(100%, 310px); aspect-ratio: 1; margin-inline: auto; border: 1px solid var(--ymi-brown); border-radius: 50%; place-items: center; }
.ymi-release-mark::before, .ymi-release-mark::after { position: absolute; border: 1px solid rgba(114,82,64,.35); border-radius: 50%; content: ""; }
.ymi-release-mark::before { inset: 13%; }
.ymi-release-mark::after { inset: 31%; background: var(--ymi-paper-soft); }
.ymi-release-mark span { position: relative; z-index: 1; color: var(--ymi-brown); font-family: var(--ymi-serif); font-size: 4.5rem; }
.ymi-release-mark small { position: absolute; right: 10%; bottom: 14%; color: var(--ymi-brown); font-size: .65rem; letter-spacing: .1em; }
.ymi-listening-copy h2 { margin: 0; font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: 1; }
.ymi-release-subtitle { max-width: 520px; margin: 18px 0 34px; font-family: var(--ymi-serif); font-size: clamp(1.05rem, 1.8vw, 1.4rem); line-height: 1.5; }
.ymi-listening-links { display: flex; flex-wrap: wrap; gap: 12px 32px; padding-top: 20px; border-top: 1px solid var(--ymi-brown); }
.ymi-listening-links a { display: inline-flex; gap: 18px; color: var(--ymi-brown-dark); font-size: .73rem; font-weight: 700; text-decoration: none; }

.ymi-home-agenda { padding-block: clamp(82px, 10vw, 138px); background: var(--ymi-paper); }
.ymi-agenda-intro { display: grid; grid-template-columns: 1fr 2fr; gap: 30px; align-items: end; margin-bottom: 46px; padding-bottom: 26px; border-bottom: 1px solid var(--ymi-brown); }
.ymi-agenda-intro .ymi-kicker { margin: 0; }
.ymi-agenda-intro h2 { max-width: 680px; margin: 0; font-family: var(--ymi-serif); font-size: clamp(2.1rem, 3.8vw, 3.55rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; }
.ymi-agenda-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 18px; align-items: stretch; }
.ymi-agenda-events, .ymi-agenda-lessons { padding: clamp(26px, 4vw, 46px); border: 1px solid var(--ymi-line); }
.ymi-agenda-events { background: var(--ymi-paper-soft); }
.ymi-agenda-events header { display: grid; grid-template-columns: 78px 1fr; align-items: start; margin-bottom: 34px; }
.ymi-agenda-events header span, .ymi-agenda-lessons > span { color: var(--ymi-gray-dark); font-size: .63rem; font-weight: 700; letter-spacing: .12em; }
.ymi-agenda-events h3, .ymi-agenda-lessons h3 { margin: 0; font-size: clamp(1.65rem, 2.8vw, 2.55rem); line-height: 1.08; }
.ymi-agenda-events .ymi-text-link { margin-top: 30px; }
.ymi-agenda-lessons { display: flex; flex-direction: column; background: var(--ymi-gray); }
.ymi-agenda-lessons h3 { margin: 35px 0 24px; }
.ymi-agenda-lessons p { margin: 0 0 36px; font-family: var(--ymi-serif); font-size: 1.05rem; line-height: 1.6; }
.ymi-agenda-lessons .ymi-text-link { margin-top: auto; align-self: flex-start; }

/* Calm editorial sections. */
.ymi-intro { background: var(--ymi-paper-soft); }
.ymi-split { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(46px, 8vw, 110px); align-items: start; }
.ymi-split h2, .ymi-section-heading h2 { max-width: 650px; margin: 0; font-size: clamp(2.15rem, 3.7vw, 3.5rem); line-height: 1.04; }
.ymi-intro-copy { padding-top: 25px; border-top: 1px solid var(--ymi-brown); }
.ymi-large-copy { max-width: 700px; margin: 0 0 30px; font-family: var(--ymi-serif); font-size: clamp(1.2rem, 1.8vw, 1.65rem); line-height: 1.55; }
.ymi-text-link { display: inline-flex; gap: 18px; align-items: center; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--ymi-brown-dark); font-size: .72rem; font-weight: 700; letter-spacing: .055em; text-decoration: none; }
.ymi-text-link span { transition: transform .2s ease; }
.ymi-text-link:hover span { transform: translateX(5px); }

.ymi-featured-release { background: var(--ymi-gray); color: var(--ymi-ink); }
.ymi-section-heading { display: flex; gap: 35px; align-items: end; justify-content: space-between; margin-bottom: clamp(36px, 5vw, 58px); }
.ymi-section-heading > p { max-width: 360px; margin: 0; font-family: var(--ymi-serif); font-size: clamp(1rem, 1.6vw, 1.3rem); line-height: 1.45; }
.ymi-release-feature { display: grid; grid-template-columns: 70px 1fr auto; gap: 24px; align-items: center; padding: 28px 0; border-top: 1px solid var(--ymi-brown); border-bottom: 1px solid var(--ymi-brown); color: var(--ymi-brown-dark); text-decoration: none; }
.ymi-release-index { color: var(--ymi-brown); font-family: var(--ymi-serif); font-size: 2.8rem; text-align: center; }
.ymi-release-feature small, .ymi-release-feature strong { display: block; }
.ymi-release-feature small { margin-bottom: 5px; color: var(--ymi-gray-dark); font-size: .65rem; letter-spacing: .1em; }
.ymi-release-feature strong { color: var(--ymi-brown-dark); font-family: var(--ymi-display); font-size: clamp(1.15rem, 2vw, 1.75rem); font-weight: 650; }
.ymi-release-feature b { font-size: .7rem; letter-spacing: .08em; }

.ymi-events-preview { background: var(--ymi-paper); }
.ymi-events-preview .tsitah-events-list { border-top: 1px solid var(--ymi-line); }
.ymi-events-preview .tsitah-event { border-color: var(--ymi-line); }
.ymi-empty, .ymi-events-preview .tsitah-events-empty { padding: 28px; border: 1px solid var(--ymi-line); background: rgba(247,243,236,.45); font-family: var(--ymi-serif); font-size: 1.1rem; }

.ymi-artist-theme .tsitah-events-list { border-top: 1px solid var(--ymi-line); }
.ymi-artist-theme .tsitah-event { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 26px; align-items: center; padding: 25px 0; border-bottom: 1px solid var(--ymi-line); }
.ymi-artist-theme .tsitah-event time { display: grid; grid-template-columns: auto 1fr; gap: 0 9px; align-items: baseline; color: var(--ymi-brown-dark); font-style: normal; }
.ymi-artist-theme .tsitah-event time strong { font-family: var(--ymi-display); font-size: 1.65rem; font-weight: 650; line-height: 1; }
.ymi-artist-theme .tsitah-event time span { color: var(--ymi-brown); font-size: .67rem; font-weight: 700; letter-spacing: .08em; }
.ymi-artist-theme .tsitah-event time em { grid-column: 1 / -1; margin-top: 7px; color: var(--ymi-gray-dark); font-size: .68rem; font-style: normal; }
.ymi-artist-theme .tsitah-event h3 { margin: 0; font-size: clamp(1.1rem, 1.8vw, 1.5rem); line-height: 1.2; }
.ymi-artist-theme .tsitah-event p { margin: 7px 0 0; color: var(--ymi-gray-dark); font-size: .78rem; }

.ymi-lessons-preview { background: var(--ymi-gray); }
.ymi-lessons-card { display: grid; grid-template-columns: 1fr .9fr; gap: clamp(46px, 8vw, 110px); align-items: end; }
.ymi-lessons-card h2 { max-width: 620px; margin: 0; font-size: clamp(2.15rem, 3.7vw, 3.5rem); line-height: 1.04; }
.ymi-lessons-card > div:last-child { padding: 26px 0 4px; border-top: 1px solid var(--ymi-brown); }
.ymi-lessons-card p:not(.ymi-kicker) { max-width: 500px; margin: 0 0 25px; font-family: var(--ymi-serif); font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.55; }

.ymi-closing { background: var(--ymi-paper-soft); }
.ymi-closing h2 { max-width: 760px; margin: 0 0 48px; font-size: clamp(2.15rem, 3.7vw, 3.5rem); line-height: 1.04; }
.ymi-socials { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ymi-line); }
.ymi-socials a { display: flex; min-height: 70px; align-items: center; justify-content: space-between; padding: 16px 14px; border-right: 1px solid var(--ymi-line); border-bottom: 1px solid var(--ymi-line); color: var(--ymi-brown-dark); font-size: .68rem; font-weight: 700; letter-spacing: .055em; text-decoration: none; }
.ymi-socials a:hover { background: var(--ymi-gray); }

/* Compact inner-page mastheads. */
/* Single posts use the same Blocksy container limit as normal pages. */
body.single-post.ymi-artist-theme {
  --theme-narrow-container-max-width: var(--theme-normal-container-max-width);
}
.ymi-artist-theme .site-main { min-height: 65vh; }
.ymi-artist-theme:not(.home) .ct-container-full[data-vertical-spacing] { padding-top: 0; padding-bottom: 0; }
.ymi-artist-theme:not(.home) .site-main { background: var(--ymi-paper-soft); }
.ymi-artist-theme .entry-header { position: relative; width: min(100% - 48px, 1220px); margin: 0 auto clamp(34px, 4.5vw, 51px); padding: clamp(44px, 5.25vw, 63px) 0; border-bottom: 1px solid var(--ymi-line); }
.ymi-artist-theme .entry-header::before { position: absolute; top: 50%; right: 2%; color: var(--ymi-gray); content: "♪"; font-family: var(--ymi-serif); font-size: clamp(4rem, 9vw, 8rem); line-height: 1; transform: translateY(-50%) rotate(7deg); }
.ymi-artist-theme .entry-title, .ymi-artist-theme .page-title { position: relative; z-index: 1; max-width: 780px; margin: 0; color: var(--ymi-brown-dark); font-size: clamp(2.55rem, 4.5vw, 4.35rem); line-height: 1; }
.ymi-artist-theme .entry-content { width: min(100% - 48px, 1220px); margin-inline: auto; padding-bottom: clamp(58px, 6.75vw, 94px); }
.ymi-booking-page .entry-header { margin-bottom: 18px; padding: clamp(26px, 3.5vw, 42px) 0; }
.ymi-booking-page .entry-header::before { right: 1%; font-size: clamp(2.8rem, 5vw, 4.5rem); }
.ymi-booking-page .entry-title { font-size: clamp(2.15rem, 3.6vw, 3.3rem); }
.ymi-booking-page .entry-content { width: min(100% - 48px, 1360px); }
.ymi-booking-page .tsitah-lessons-booking { margin-top: 0; }
.ymi-booking-page .tsitah-lessons-intro { display: block; margin-bottom: 18px; padding-bottom: 18px; }
.ymi-booking-page .tsitah-lessons-intro > p:first-child,
.ymi-booking-page .tsitah-lessons-account-link { display: none; }
.ymi-booking-page .tsitah-lessons-intro h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); }
.ymi-booking-page .tsitah-lessons-intro > .tsitah-lessons-copy { max-width: 720px; margin: 8px 0 0; font-size: .88rem; line-height: 1.5; }
.ymi-page-lead { max-width: 820px; margin-bottom: 24px; font-family: var(--ymi-serif); font-size: clamp(1.3rem, 2.05vw, 1.85rem); line-height: 1.5; }

/* Biography: an editorial portrait set into the opening text. */
.ymi-biography-layout {
  display: flow-root;
}
.ymi-biography-quote {
  max-width: 720px;
  margin: 0 0 clamp(30px, 4vw, 52px);
  padding-top: clamp(10px, 1.8vw, 26px);
}
.ymi-biography-portrait {
  float: right;
  width: min(38%, 430px);
  margin: 0 0 38px clamp(42px, 7vw, 104px);
}
.ymi-biography-portrait img {
  display: block;
  width: 100%;
  height: auto;
}
.ymi-biography-copy {
  max-width: 660px;
  margin-top: 0;
  font-size: .95rem;
  line-height: 1.75;
}
.ymi-biography-copy > :last-child { margin-bottom: 0; }
.ymi-release-list { margin-top: 40px; border-top: 1px solid var(--ymi-brown); }
.ymi-release-list a { display: grid; grid-template-columns: 88px 1fr auto; gap: 22px; align-items: center; min-height: 86px; padding: 20px 14px; border-bottom: 1px solid var(--ymi-line); color: var(--ymi-brown-dark); text-decoration: none; transition: background .2s ease; }
.ymi-release-list a:hover { background: var(--ymi-gray); }
.ymi-release-list strong { font-family: var(--ymi-display); font-size: clamp(1.05rem, 1.7vw, 1.45rem); font-weight: 650; letter-spacing: -.025em; }

/* Discography: artwork first, with direct listening choices. */
.ymi-discography { margin-top: clamp(52px, 7vw, 84px); }
.ymi-discography-kicker {
  margin: 0 0 20px;
  color: var(--ymi-brown);
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .15em;
}
.ymi-album-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 4vw, 58px);
  align-items: start;
}
.ymi-album {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
}
.ymi-album-cover {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--ymi-paper);
  box-shadow: 0 12px 34px rgba(69, 51, 41, .11);
}
.ymi-album-meta {
  margin: 18px 0 8px;
  color: var(--ymi-brown);
  font-size: .62rem;
  font-weight: 750;
  letter-spacing: .12em;
}
.ymi-album h2 {
  margin: 0;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.08;
}
.ymi-album-subtitle {
  margin: 9px 0 0;
  color: var(--ymi-gray-dark);
  font-size: .82rem;
  line-height: 1.5;
}
.ymi-album-credit {
  margin: 8px 0 18px;
  color: var(--ymi-gray-dark);
  font-size: .72rem;
  line-height: 1.5;
}
.ymi-album-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}
.ymi-album-links a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 9px;
  padding: 8px 11px;
  border: 1px solid var(--ymi-line);
  background: transparent;
  color: var(--ymi-brown-dark);
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .025em;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}
.ymi-album-links a:first-child {
  border-color: var(--ymi-brown);
  background: var(--ymi-brown);
  color: var(--ymi-paper-soft);
}
.ymi-album-links a:hover,
.ymi-album-links a:focus-visible {
  border-color: var(--ymi-brown-dark);
  background: var(--ymi-brown-dark);
  color: #fff;
}
.ymi-album-links span { font-size: .72rem; }

/* Contact and footer. */
.ymi-global-footer { padding: clamp(68px, 8vw, 108px) 0 26px; border-top: 1px solid var(--ymi-line); background: var(--ymi-gray); color: var(--ymi-ink); }
.ymi-footer-main { position: relative; display: grid; grid-template-columns: 1.35fr .58fr .95fr 70px; gap: clamp(28px, 5vw, 70px); padding-bottom: 56px; }
.ymi-footer-identity { padding-right: 24px; border-right: 1px solid var(--ymi-line); }
.ymi-footer-monogram { display: grid; width: 46px; aspect-ratio: 1; margin-bottom: 34px; border: 1px solid var(--ymi-brown); border-radius: 50%; color: var(--ymi-brown); font-size: .65rem; font-weight: 700; place-items: center; }
.ymi-footer-identity p, .ymi-footer-navigation p, .ymi-footer-connect p, .ymi-footer-social-row > p { margin: 0 0 22px; color: var(--ymi-brown); font-size: .62rem; font-weight: 700; letter-spacing: .12em; }
.ymi-footer-identity h2 { max-width: 440px; margin: 0 0 26px; font-family: var(--ymi-serif); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }
.ymi-footer-identity small { color: var(--ymi-gray-dark); font-size: .62rem; letter-spacing: .1em; }
.ymi-footer-navigation, .ymi-footer-connect { display: flex; flex-direction: column; align-items: flex-start; }
.ymi-footer-navigation a, .ymi-footer-connect a { margin-bottom: 11px; color: var(--ymi-brown-dark); font-size: .84rem; text-decoration: none; }
.ymi-footer-navigation a:hover, .ymi-footer-connect a:hover { text-decoration: underline; }
.ymi-footer-note { align-self: end; color: rgba(114,82,64,.28); font-family: var(--ymi-serif); font-size: 6.5rem; line-height: .7; }
.ymi-footer-social-row { display: grid; grid-template-columns: 1fr 3fr; gap: 30px; align-items: start; padding-top: 24px; border-top: 1px solid var(--ymi-brown); }
.ymi-footer-social-row > p { margin-top: 10px; }
.ymi-footer-social-row .ymi-socials { grid-template-columns: repeat(4, 1fr); border-top: 0; }
.ymi-footer-social-row .ymi-socials a { min-height: 42px; padding: 8px 12px; border-bottom: 0; }
.ymi-contact-cards a { padding: 16px 18px; border: 1px solid var(--ymi-line); color: var(--ymi-brown-dark); text-decoration: none; }
.ymi-contact-cards small, .ymi-contact-cards strong { display: block; }
.ymi-contact-cards small { margin-bottom: 3px; color: var(--ymi-gray-dark); font-size: .63rem; letter-spacing: .07em; }
.ymi-contact-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-block: 32px; }
.ymi-contact-cards a { background: var(--ymi-paper); }
.ymi-contact-cards a:last-child { background: var(--ymi-gray); }
[data-footer*="type-1"] .ct-footer { background: var(--ymi-brown-dark) !important; color: var(--ymi-paper-soft); }
[data-footer*="type-1"] .ct-footer a { color: var(--ymi-paper); }

.ymi-contact-form-section { margin-top: clamp(56px, 7vw, 88px); padding-top: clamp(42px, 6vw, 66px); border-top: 1px solid var(--ymi-brown); }
.ymi-contact-form-heading { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 18px clamp(38px, 7vw, 100px); align-items: end; margin-bottom: 34px; }
.ymi-contact-form-heading .ymi-kicker { grid-column: 1 / -1; margin-bottom: 0; }
.ymi-contact-form-heading h2 { margin: 0; font-size: clamp(2rem, 3.3vw, 3.15rem); line-height: 1.04; }
.ymi-contact-form-heading > p:last-child { max-width: 460px; margin: 0; font-family: var(--ymi-serif); font-size: clamp(1rem, 1.55vw, 1.28rem); line-height: 1.5; }
.ymi-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: clamp(22px, 4vw, 44px); border: 1px solid var(--ymi-line); background: var(--ymi-paper); }
.ymi-form-field, .ymi-form-field label { display: grid; gap: 8px; }
.ymi-form-field-full, .ymi-form-consent, .ymi-form-submit { grid-column: 1 / -1; }
.ymi-form-label { color: var(--ymi-brown); font-size: .72rem; font-weight: 700; letter-spacing: .035em; }
.ymi-form-field input, .ymi-form-field select, .ymi-form-field textarea { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid var(--ymi-line); border-radius: 0; background: var(--ymi-paper-soft); color: var(--ymi-ink); font-family: inherit; font-size: 1rem; font-weight: 400; }
.ymi-form-field textarea { min-height: 160px; resize: vertical; }
.ymi-form-field input:focus, .ymi-form-field select:focus, .ymi-form-field textarea:focus { border-color: var(--ymi-brown); box-shadow: 0 0 0 2px rgba(114,82,64,.12); outline: 0; }
.ymi-form-consent { font-size: .77rem; line-height: 1.55; }
.ymi-form-consent .wpcf7-list-item { margin: 0; }
.ymi-form-consent .wpcf7-list-item label { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.ymi-form-consent input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--ymi-brown); }
.ymi-form-consent a { color: inherit; }
.ymi-form-submit { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; justify-content: space-between; padding-top: 5px; }
.ymi-form-submit button { cursor: pointer; }
.ymi-form-submit small { color: var(--ymi-gray-dark); }
.ymi-contact-form .wpcf7-not-valid-tip { margin-top: 5px; color: #8d4e49; font-size: .72rem; font-weight: 500; }
.ymi-contact-form-section .wpcf7 form .wpcf7-response-output { margin: 20px 0 0; padding: 14px 16px; border: 1px solid var(--ymi-brown); font-size: .82rem; }
.tsitah-cf7-unavailable { padding: 16px 18px; border-left: 3px solid var(--ymi-brown); background: var(--ymi-paper); }
.ymi-form-notice { margin-bottom: 20px; padding: 16px 18px; border: 1px solid; font-weight: 600; }
.ymi-form-notice-success { border-color: var(--ymi-brown); background: var(--ymi-paper); }
.ymi-form-notice-error { border-color: var(--ymi-brown-dark); background: var(--ymi-gray); }
.ymi-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Recolor the shared events module without changing it. */
.ymi-artist-theme .tsitah-calendar-widget { --tsitah-calendar-dark: var(--ymi-brown-dark); --tsitah-calendar-ink: var(--ymi-ink); --tsitah-calendar-paper: var(--ymi-paper-soft); --tsitah-calendar-gold: var(--ymi-brown); --tsitah-calendar-line: var(--ymi-line); }
.ymi-artist-theme .tsitah-calendar-intro { background: var(--ymi-brown-dark); }
.ymi-artist-theme .tsitah-calendar-intro h2 { color: var(--ymi-paper-soft); }
.ymi-artist-theme .tsitah-calendar-header h2 { color: var(--ymi-brown-dark); }
.ymi-artist-theme .tsitah-calendar-open { color: var(--ymi-paper-soft); }
.ymi-artist-theme .tsitah-calendar-open:hover, .ymi-artist-theme .tsitah-calendar-open:focus-visible { background: var(--ymi-paper); color: var(--ymi-brown-dark); }
.ymi-artist-theme .tsitah-calendar-intro > div > span, .ymi-artist-theme .tsitah-calendar-header span, .ymi-artist-theme .tsitah-calendar-open { text-transform: none; }
.ymi-artist-theme #offcanvas .ct-panel-inner { background: var(--ymi-brown-dark); }
.ymi-artist-theme #offcanvas .ct-toggle-close { color: var(--ymi-paper-soft); }
.ymi-artist-theme #offcanvas .current-menu-item > a { color: var(--ymi-gray); }

.ymi-js [data-ymi-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.ymi-js [data-ymi-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 999px) {
  [data-header*="type-1"] .ct-header [data-row*="middle"] { --height: 70px !important; }
  [data-header*="type-1"] { --header-height: 70px !important; }
  .ymi-split, .ymi-lessons-card { grid-template-columns: 1fr; }
  .ymi-intro-copy { max-width: 720px; }
  .ymi-socials { grid-template-columns: repeat(2, 1fr); }
  .ymi-statement-copy { grid-column: 4 / 13; }
  .ymi-statement-note { display: none; }
  .ymi-agenda-grid { grid-template-columns: 1fr; }
  .ymi-footer-main { grid-template-columns: 1.3fr .7fr 1fr; }
  .ymi-footer-note { display: none; }
}

@media (max-width: 640px) {
  .ymi-wrap, .ymi-artist-theme .entry-header, .ymi-artist-theme .entry-content { width: min(100% - 30px, 1360px); }
  .ymi-section { padding-block: 66px; }
  .ymi-hero { min-height: 560px; }
  .ymi-hero-center { padding-block: 70px; }
  .ymi-hero-center h1 { max-width: 340px; font-size: clamp(2.8rem, 12.5vw, 3.7rem); }
  .ymi-hero-actions { width: min(100%, 310px); margin-top: 34px; }
  .ymi-hero-actions .ymi-button { width: 100%; }
  .ymi-hero-score::before { top: 51%; }
  .ymi-note-one { top: 17%; left: 7%; }
  .ymi-note-two { top: 29%; right: 6%; }
  .ymi-note-three { right: 14%; bottom: 9%; }
  .ymi-note-four { bottom: 12%; left: 8%; }
  .ymi-clef { top: 8%; left: -10%; }
  .ymi-statement-grid, .ymi-listening-grid, .ymi-agenda-intro, .ymi-footer-main, .ymi-footer-social-row { grid-template-columns: 1fr; }
  .ymi-statement-label, .ymi-statement-copy { grid-column: auto; }
  .ymi-statement-label span { margin-bottom: 22px; }
  .ymi-statement-copy h2 { margin-top: 22px; }
  .ymi-release-mark { width: min(76vw, 260px); }
  .ymi-listening-copy { text-align: center; }
  .ymi-listening-links { justify-content: center; }
  .ymi-agenda-events header { grid-template-columns: 1fr; gap: 18px; }
  .ymi-footer-identity { padding-right: 0; padding-bottom: 34px; border-right: 0; border-bottom: 1px solid var(--ymi-line); }
  .ymi-footer-social-row .ymi-socials { grid-template-columns: 1fr 1fr; }
  .ymi-section-heading, .ymi-contact-form-heading { align-items: flex-start; flex-direction: column; }
  .ymi-section-heading { display: flex; }
  .ymi-release-feature, .ymi-release-list a { grid-template-columns: 1fr; }
  .ymi-artist-theme .tsitah-event { grid-template-columns: 1fr; gap: 15px; }
  .ymi-artist-theme .tsitah-event time { width: fit-content; }
  .ymi-socials { grid-template-columns: 1fr; }
  .ymi-contact-cards, .ymi-contact-form { grid-template-columns: 1fr; }
  .ymi-form-field-full, .ymi-form-consent, .ymi-form-submit { grid-column: auto; }
  .ymi-form-submit { align-items: stretch; flex-direction: column; }
  .ymi-form-submit .ymi-button { width: 100%; }
  .ymi-artist-theme .entry-header { padding: 39px 0; }
  .ymi-artist-theme .entry-title, .ymi-artist-theme .page-title { max-width: 78%; font-size: clamp(2.4rem, 11vw, 3.25rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ymi-js [data-ymi-reveal] { opacity: 1; transform: none; transition: none; }
  .ymi-button, .ymi-text-link span { transition: none; }
}

/* 0.8 — Editorial score: a composed identity, not a landing-page template. */
.ymi-hero-ledger {
  position: relative;
  display: block;
  min-height: clamp(610px, calc(84vh - 80px), 760px);
  overflow: hidden;
  border-bottom: 1px solid var(--ymi-brown);
  background:
    linear-gradient(90deg, transparent 0 7.4%, var(--ymi-line) 7.4% calc(7.4% + 1px), transparent calc(7.4% + 1px)),
    var(--ymi-paper);
}
.ymi-hero-ledger::after { display: none; }
.ymi-hero-rail {
  position: absolute;
  z-index: 2;
  top: 38px;
  bottom: 38px;
  left: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ymi-brown);
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.ymi-hero-composition {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(270px, .55fr);
  grid-template-rows: 1fr auto;
  gap: clamp(36px, 6vw, 88px);
  min-height: inherit;
  padding: clamp(90px, 11vh, 132px) 0 72px clamp(42px, 5vw, 74px);
}
.ymi-hero-heading {
  align-self: center;
  max-width: 820px;
}
.ymi-hero-heading .ymi-kicker {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 28px;
}
.ymi-hero-heading .ymi-kicker::before {
  width: 46px;
  height: 1px;
  background: var(--ymi-brown);
  content: "";
}
.ymi-hero-heading h1 {
  max-width: 820px;
  margin: 0;
  color: var(--ymi-brown-dark);
  font-size: clamp(3.4rem, 6vw, 5.65rem);
  font-weight: 570;
  letter-spacing: -.055em;
  line-height: .92;
}
.ymi-hero-manifesto {
  max-width: 480px;
  margin: 34px 0 0 clamp(52px, 9vw, 136px);
  padding-left: 18px;
  border-left: 1px solid var(--ymi-brown);
  font-family: var(--ymi-serif);
  font-size: clamp(1rem, 1.45vw, 1.25rem);
  line-height: 1.5;
}
.ymi-notation-field {
  position: relative;
  align-self: center;
  width: 100%;
  height: 210px;
  background: repeating-linear-gradient(to bottom, transparent 0 31px, rgba(114,82,64,.32) 31px 32px);
  transform: rotate(-2.5deg);
}
.ymi-notation-field::before,
.ymi-notation-field::after {
  position: absolute;
  right: 0;
  height: 1px;
  background: var(--ymi-brown);
  content: "";
}
.ymi-notation-field::before { top: 0; width: 44%; }
.ymi-notation-field::after { bottom: -1px; width: 68%; }
.ymi-notation-clef {
  position: absolute;
  top: 0;
  left: -6px;
  color: var(--ymi-brown-dark);
  font-family: var(--ymi-serif);
  font-size: 8.5rem;
  line-height: 1;
}
.ymi-notation-note,
.ymi-notation-stem { position: absolute; display: block; color: var(--ymi-brown-dark); }
.ymi-notation-note { width: 17px; height: 12px; border-radius: 50%; font-size: 0; transform: rotate(-18deg); }
.ymi-notation-stem { width: 1px; height: 52px; background: currentColor; }
.ymi-notation-note-a { top: 93px; left: 37%; background: var(--ymi-brown-dark); }
.ymi-notation-stem-a { top: 48px; left: calc(37% + 15px); }
.ymi-notation-note-b { top: 126px; left: 56%; background: var(--ymi-brown); }
.ymi-notation-stem-b { top: 80px; left: calc(56% + 15px); color: var(--ymi-brown); }
.ymi-notation-note-c { top: 61px; left: 72%; background: var(--ymi-brown-dark); }
.ymi-notation-stem-c { top: 17px; left: calc(72% + 15px); }
.ymi-notation-note-d { top: 157px; left: 88%; background: var(--ymi-brown); }
.ymi-notation-stem-d { top: 111px; left: calc(88% + 15px); color: var(--ymi-brown); }
.ymi-hero-index {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 820px);
  margin-inline: auto;
  border-top: 1px solid var(--ymi-brown);
  border-bottom: 1px solid var(--ymi-brown);
}
.ymi-hero-index a {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 16px;
  align-items: center;
  min-height: 70px;
  padding: 12px 18px;
  color: var(--ymi-brown-dark);
  text-decoration: none;
  transition: background .22s ease, color .22s ease;
}
.ymi-hero-index a + a { border-left: 1px solid var(--ymi-brown); }
.ymi-hero-index a:hover,
.ymi-hero-index a:focus-visible { background: var(--ymi-brown-dark); color: var(--ymi-paper-soft); }
.ymi-hero-index span { color: var(--ymi-brown); font-size: .62rem; letter-spacing: .12em; }
.ymi-hero-index a:hover span,
.ymi-hero-index a:focus-visible span { color: var(--ymi-paper); }
.ymi-hero-index strong { font-family: var(--ymi-serif); font-size: 1.15rem; font-weight: 550; }
.ymi-hero-index b { font-size: .75rem; font-weight: 500; }
.ymi-hero-running-text {
  position: absolute;
  right: 20px;
  bottom: 38px;
  z-index: 2;
  margin: 0;
  color: var(--ymi-gray-dark);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .18em;
  writing-mode: vertical-rl;
}

.ymi-editorial-statement {
  padding-block: clamp(94px, 11vw, 156px);
  border-bottom: 1px solid var(--ymi-line);
  background: var(--ymi-paper-soft);
}
.ymi-editorial-statement .ymi-statement-grid { gap: 30px; }
.ymi-editorial-statement .ymi-statement-label { grid-column: 1 / 4; border-top: 0; }
.ymi-editorial-statement .ymi-statement-label span {
  margin: 0 0 72px;
  color: var(--ymi-brown);
  font-family: var(--ymi-body);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .15em;
}
.ymi-editorial-statement .ymi-statement-copy {
  position: relative;
  grid-column: 4 / 13;
  padding: 0 0 0 clamp(44px, 6vw, 86px);
  border-left: 1px solid var(--ymi-brown);
}
.ymi-quote-mark {
  position: absolute;
  top: -34px;
  left: 13px;
  color: var(--ymi-gray);
  font-family: var(--ymi-serif);
  font-size: 7.5rem;
  line-height: 1;
}
.ymi-editorial-statement .ymi-statement-copy h2 {
  max-width: 790px;
  margin-bottom: clamp(50px, 7vw, 82px);
  font-size: clamp(2.3rem, 4.4vw, 4rem);
  font-weight: 450;
}
.ymi-statement-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 42px;
  align-items: end;
  padding-top: 22px;
  border-top: 1px solid var(--ymi-line);
}
.ymi-statement-detail p { max-width: 610px; margin: 0; font-size: 1rem; line-height: 1.75; }

.ymi-release-ledger {
  padding-block: clamp(72px, 9vw, 122px);
  border-bottom: 1px solid var(--ymi-brown);
  background: var(--ymi-gray);
}
.ymi-release-ledger-header {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--ymi-brown);
  color: var(--ymi-brown);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.ymi-release-ledger-main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(380px, 1.3fr);
  grid-template-rows: 1fr auto;
  gap: 8px clamp(36px, 6vw, 82px);
  align-items: center;
  padding: clamp(46px, 7vw, 82px) 0;
}
.ymi-release-ledger-main h2 {
  grid-row: 1 / 3;
  margin: 0;
  font-size: clamp(4.4rem, 9.3vw, 8.8rem);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .75;
}
.ymi-release-wave { width: 100%; overflow: visible; }
.ymi-release-wave path { fill: none; stroke: var(--ymi-brown); stroke-linecap: square; stroke-linejoin: bevel; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.ymi-release-ledger-main p {
  margin: 0;
  padding-top: 15px;
  border-top: 1px solid var(--ymi-line);
  font-family: var(--ymi-serif);
  font-size: clamp(1rem, 1.6vw, 1.25rem);
}
.ymi-release-ledger-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--ymi-brown);
  border-bottom: 1px solid var(--ymi-brown);
}
.ymi-release-ledger-links a {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 20px;
  align-items: center;
  min-height: 64px;
  padding: 10px 16px;
  color: var(--ymi-brown-dark);
  font-size: .75rem;
  text-decoration: none;
}
.ymi-release-ledger-links a + a { border-left: 1px solid var(--ymi-brown); }
.ymi-release-ledger-links a:hover { background: var(--ymi-paper-soft); }
.ymi-release-ledger-links span { color: var(--ymi-brown); font-size: .58rem; font-weight: 700; letter-spacing: .14em; }

.ymi-encounters-ledger {
  padding-block: clamp(86px, 10vw, 138px);
  background: var(--ymi-paper);
}
.ymi-encounters-header {
  display: grid;
  grid-template-columns: .55fr 1.35fr .85fr;
  gap: clamp(24px, 5vw, 70px);
  align-items: end;
  padding: 22px 0 28px;
  border-top: 1px solid var(--ymi-brown);
  border-bottom: 1px solid var(--ymi-brown);
}
.ymi-encounters-header > span {
  align-self: start;
  color: var(--ymi-brown);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.ymi-encounters-header h2 { margin: 0; font-size: clamp(2.5rem, 4.8vw, 4.3rem); font-weight: 480; line-height: .92; }
.ymi-encounters-header p { margin: 0; font-family: var(--ymi-serif); font-size: 1rem; line-height: 1.5; }
.ymi-encounters-body { display: grid; grid-template-columns: minmax(0, 1fr); }
.ymi-encounters-ledger .ymi-agenda-events {
  padding: clamp(42px, 6vw, 72px) 0;
  border: 0;
  background: transparent;
}
.ymi-encounters-ledger .ymi-agenda-events header {
  display: grid;
  grid-template-columns: .55fr 2.2fr;
  gap: 30px;
  align-items: end;
  margin-bottom: 28px;
}
.ymi-encounters-ledger .ymi-agenda-events header span,
.ymi-encounters-ledger .ymi-agenda-lessons span {
  color: var(--ymi-brown);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .14em;
}
.ymi-encounters-ledger .ymi-agenda-events h3 { font-size: clamp(2rem, 3.6vw, 3.3rem); font-weight: 480; }
.ymi-encounters-ledger .tsitah-event { grid-template-columns: 160px minmax(0, 1fr); padding: 22px 0; }
.ymi-encounters-ledger .ymi-agenda-lessons {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(300px, 1fr) auto;
  gap: clamp(28px, 6vw, 84px);
  align-items: center;
  padding: clamp(30px, 5vw, 52px) clamp(24px, 4vw, 48px);
  border: 0;
  border-left: 5px solid var(--ymi-brown);
  background: var(--ymi-gray);
}
.ymi-encounters-ledger .ymi-agenda-lessons h3 { margin: 13px 0 0; font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 500; }
.ymi-encounters-ledger .ymi-agenda-lessons p { margin: 0; font-size: 1rem; }
.ymi-encounters-ledger .ymi-agenda-lessons .ymi-text-link { margin: 0; white-space: nowrap; }

.ymi-global-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(78px, 9vw, 124px) 0 0;
  border-top: 0;
  background: var(--ymi-brown-dark);
  color: var(--ymi-paper);
}
.ymi-footer-colophon {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.4fr);
  gap: clamp(52px, 10vw, 140px);
  padding-bottom: clamp(72px, 9vw, 112px);
}
.ymi-footer-signature { position: relative; }
.ymi-footer-edition {
  display: block;
  margin-bottom: 34px;
  color: rgba(247,243,236,.55);
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.ymi-footer-signature h2 {
  margin: 0;
  color: var(--ymi-paper-soft);
  font-size: clamp(3.1rem, 5.7vw, 5.7rem);
  font-weight: 460;
  letter-spacing: -.06em;
  line-height: .76;
}
.ymi-footer-signature p {
  max-width: 360px;
  margin: 38px 0 0;
  padding-top: 17px;
  border-top: 1px solid rgba(247,243,236,.28);
  color: var(--ymi-paper);
  font-family: var(--ymi-serif);
  font-size: 1.05rem;
}
.ymi-footer-directory { align-self: end; border-bottom: 1px solid rgba(247,243,236,.28); }
.ymi-footer-directory-row {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 26px;
  align-items: start;
  padding: 22px 0;
  border-top: 1px solid rgba(247,243,236,.28);
}
.ymi-footer-directory-row > span {
  color: rgba(247,243,236,.52);
  font-size: .57rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.ymi-global-footer .ymi-footer-navigation,
.ymi-global-footer .ymi-footer-connect {
  display: flex;
  flex-flow: row wrap;
  gap: 8px 28px;
  align-items: baseline;
}
.ymi-global-footer .ymi-footer-navigation a,
.ymi-global-footer .ymi-footer-connect a {
  margin: 0;
  color: var(--ymi-paper-soft);
  font-size: .82rem;
  text-decoration: none;
}
.ymi-global-footer .ymi-footer-navigation a:hover,
.ymi-global-footer .ymi-footer-connect a:hover { color: var(--ymi-gray); }
.ymi-footer-directory-social .ymi-socials {
  display: flex;
  flex-flow: row wrap;
  gap: 8px 26px;
  border: 0;
}
.ymi-footer-directory-social .ymi-socials a {
  gap: 13px;
  min-height: 0;
  padding: 0;
  border: 0;
  color: var(--ymi-paper-soft);
  font-size: .82rem;
}
.ymi-footer-directory-social .ymi-socials a:hover { background: transparent; color: var(--ymi-gray); }
.ymi-footer-ticker {
  display: flex;
  width: max-content;
  border-top: 1px solid rgba(247,243,236,.18);
  color: rgba(247,243,236,.1);
  font-family: var(--ymi-display);
  font-size: clamp(3rem, 7vw, 7rem);
  letter-spacing: -.035em;
  line-height: .9;
  white-space: nowrap;
  transform: translateX(-2vw);
}
.ymi-footer-ticker span { display: block; padding: 20px 1.5vw 10px 0; }

@media (max-width: 999px) {
  .ymi-hero-composition { grid-template-columns: minmax(0, 1.2fr) minmax(230px, .8fr); padding-left: 60px; }
  .ymi-hero-heading h1 { font-size: clamp(3.3rem, 7.4vw, 5rem); }
  .ymi-notation-field { height: 185px; }
  .ymi-notation-clef { font-size: 7rem; }
  .ymi-release-ledger-main { grid-template-columns: .8fr 1.2fr; }
  .ymi-encounters-ledger .ymi-agenda-lessons { grid-template-columns: .8fr 1fr; }
  .ymi-encounters-ledger .ymi-agenda-lessons .ymi-text-link { grid-column: 2; justify-self: start; }
  .ymi-footer-colophon { grid-template-columns: .8fr 1.2fr; gap: 60px; }
  .ymi-footer-directory-row { grid-template-columns: 120px 1fr; }
}

@media (max-width: 640px) {
  .ymi-hero-ledger { min-height: 690px; background: var(--ymi-paper); }
  .ymi-hero-rail {
    top: 20px;
    right: 15px;
    bottom: auto;
    left: 15px;
    flex-direction: row;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--ymi-line);
    writing-mode: initial;
    transform: none;
  }
  .ymi-hero-composition {
    grid-template-columns: 1fr;
    grid-template-rows: auto 145px auto;
    gap: 28px;
    min-height: inherit;
    padding: 100px 0 46px;
  }
  .ymi-hero-heading { align-self: end; }
  .ymi-hero-heading .ymi-kicker { margin-bottom: 20px; }
  .ymi-hero-heading h1 { font-size: clamp(3.15rem, 15vw, 4.35rem); line-height: .88; }
  .ymi-hero-manifesto { margin: 26px 0 0 28px; font-size: 1rem; }
  .ymi-notation-field { grid-row: 2; width: 84%; height: 140px; margin-left: auto; background: repeating-linear-gradient(to bottom, transparent 0 25px, rgba(114,82,64,.3) 25px 26px); }
  .ymi-notation-clef { font-size: 5rem; }
  .ymi-notation-note-a { top: 70px; }
  .ymi-notation-stem-a { top: 30px; }
  .ymi-notation-note-b { top: 95px; }
  .ymi-notation-stem-b { top: 55px; }
  .ymi-notation-note-c { top: 44px; }
  .ymi-notation-stem-c { top: 4px; }
  .ymi-notation-note-d { top: 120px; }
  .ymi-notation-stem-d { top: 80px; }
  .ymi-hero-index { grid-column: auto; grid-template-columns: 1fr; }
  .ymi-hero-index a + a { border-top: 1px solid var(--ymi-brown); border-left: 0; }
  .ymi-hero-index a { min-height: 58px; }
  .ymi-hero-running-text { display: none; }

  .ymi-editorial-statement .ymi-statement-grid { grid-template-columns: 1fr; }
  .ymi-editorial-statement .ymi-statement-label,
  .ymi-editorial-statement .ymi-statement-copy { grid-column: auto; }
  .ymi-editorial-statement .ymi-statement-label span { margin-bottom: 18px; }
  .ymi-editorial-statement .ymi-statement-copy { padding: 44px 0 0 22px; }
  .ymi-quote-mark { top: 2px; left: -2px; font-size: 5rem; }
  .ymi-editorial-statement .ymi-statement-copy h2 { margin-bottom: 44px; font-size: clamp(2.3rem, 11vw, 3.25rem); }
  .ymi-statement-detail { grid-template-columns: 1fr; gap: 28px; }

  .ymi-release-ledger-header { grid-template-columns: 1fr auto; }
  .ymi-release-ledger-header span:nth-child(2) { display: none; }
  .ymi-release-ledger-main { grid-template-columns: 1fr; grid-template-rows: auto; padding: 52px 0 42px; }
  .ymi-release-ledger-main h2 { grid-row: auto; font-size: clamp(4rem, 22vw, 6.3rem); }
  .ymi-release-wave { margin-top: 18px; }
  .ymi-release-ledger-links { grid-template-columns: 1fr; }
  .ymi-release-ledger-links a + a { border-top: 1px solid var(--ymi-brown); border-left: 0; }

  .ymi-encounters-header { grid-template-columns: 1fr; gap: 19px; }
  .ymi-encounters-header p { max-width: 300px; }
  .ymi-encounters-ledger .ymi-agenda-events header { grid-template-columns: 1fr; gap: 15px; }
  .ymi-encounters-ledger .tsitah-event { grid-template-columns: 1fr; }
  .ymi-encounters-ledger .ymi-agenda-lessons { grid-template-columns: 1fr; gap: 26px; }
  .ymi-encounters-ledger .ymi-agenda-lessons .ymi-text-link { grid-column: auto; }

  .ymi-footer-colophon { grid-template-columns: 1fr; gap: 64px; }
  .ymi-footer-signature h2 { font-size: clamp(3.4rem, 18vw, 5.1rem); }
  .ymi-footer-directory-row { grid-template-columns: 1fr; gap: 16px; }
  .ymi-footer-directory-social .ymi-socials { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; }
  .ymi-footer-ticker { font-size: 3.25rem; }
}

/* 0.11.4 — Compact inner pages and a quieter events calendar invitation. */
.ymi-music-page .ymi-discography {
  margin-top: 0;
}

.ymi-organizer-page .tsitah-booking-intro {
  margin-bottom: clamp(24px, 4.5vw, 52px);
}

.ymi-artist-theme .tsitah-calendar-widget {
  margin-bottom: clamp(26px, 3.75vw, 46px);
}

.ymi-artist-theme .tsitah-calendar-intro {
  position: relative;
  display: block;
  padding: clamp(17px, 2.2vw, 24px);
  border: 1px solid rgba(69, 51, 41, .16);
  background: rgba(216, 214, 209, .22) !important;
  color: var(--ymi-brown-dark);
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.ymi-artist-theme .tsitah-calendar-intro:hover,
.ymi-artist-theme .tsitah-calendar-intro:focus-within {
  border-color: rgba(69, 51, 41, .3);
  background: rgba(216, 214, 209, .36) !important;
}

.ymi-artist-theme .tsitah-calendar-intro > div > span {
  margin: 0;
  color: var(--ymi-brown-dark);
  font-family: var(--ymi-display);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 650;
  letter-spacing: -.025em;
  line-height: 1.1;
  text-transform: none;
}

.ymi-artist-theme .tsitah-calendar-intro h2 {
  margin: 6px 0 0;
  color: var(--ymi-gray-dark);
  font-family: var(--ymi-body);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.4;
}

.ymi-artist-theme .tsitah-calendar-intro p {
  display: none;
}

.ymi-artist-theme .tsitah-calendar-intro > .tsitah-calendar-open {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: transparent !important;
  opacity: 0;
  transform: none !important;
}

.ymi-artist-theme .tsitah-event {
  gap: 20px;
  padding: 18px 0;
}

/* 0.8 refinement — less apparatus, more air. */
.home [data-header*="type-1"] .ct-header [data-row*="middle"] { border-bottom: 0; }

.ymi-hero-ledger {
  min-height: clamp(590px, calc(80vh - 80px), 720px);
  border-bottom: 0;
  background: var(--ymi-paper);
}
.ymi-hero-composition {
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
  gap: clamp(28px, 5vw, 72px);
  padding: clamp(82px, 10vh, 118px) 0 58px;
}
.ymi-hero-heading .ymi-kicker::before { display: none; }
.ymi-hero-heading .ymi-kicker { margin-bottom: 23px; }
.ymi-hero-heading h1 { font-size: clamp(3.15rem, 5.5vw, 5.1rem); }
.ymi-hero-manifesto {
  max-width: 460px;
  margin: 30px 0 0;
  padding-left: 0;
  border-left: 0;
}
.ymi-notation-field {
  height: 190px;
  background: none;
  transform: none;
}
.ymi-notation-field::before,
.ymi-notation-field::after { display: none; }
.ymi-notation-field svg {
  position: absolute;
  inset: 20px 0 0;
  width: 100%;
  height: 150px;
  overflow: visible;
}
.ymi-notation-field svg path {
  fill: none;
  stroke: rgba(114, 82, 64, .48);
  stroke-linecap: round;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}
.ymi-notation-clef {
  top: 4px;
  left: 7%;
  z-index: 1;
  color: rgba(66, 47, 37, .18);
  font-size: 7.2rem;
}
.ymi-notation-note,
.ymi-notation-note-a {
  top: 18px;
  left: auto;
  right: 5%;
  z-index: 1;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: var(--ymi-brown);
  font-family: var(--ymi-serif);
  font-size: 2.25rem;
  transform: none;
}
.ymi-hero-index {
  display: flex;
  grid-column: 1 / -1;
  gap: clamp(34px, 7vw, 82px);
  justify-content: center;
  width: auto;
  margin-inline: auto;
  border: 0;
}
.ymi-hero-index a {
  display: inline-flex;
  grid-template-columns: none;
  gap: 12px;
  min-height: 0;
  padding: 8px 0;
  transition: color .2s ease, transform .2s ease;
}
.ymi-hero-index a + a { border: 0; }
.ymi-hero-index a:hover,
.ymi-hero-index a:focus-visible {
  background: transparent;
  color: var(--ymi-brown);
  transform: translateY(-2px);
}
.ymi-hero-index strong { font-size: 1.06rem; }

.ymi-editorial-statement {
  padding-block: clamp(88px, 10vw, 142px);
  border-bottom: 0;
}
.ymi-editorial-statement .ymi-statement-grid { gap: 24px; }
.ymi-editorial-statement .ymi-statement-label span { margin-bottom: 34px; }
.ymi-editorial-statement .ymi-statement-copy {
  padding-left: 0;
  border-left: 0;
}
.ymi-editorial-statement .ymi-statement-copy h2 {
  max-width: 730px;
  margin-bottom: clamp(38px, 5vw, 62px);
  font-size: clamp(2.2rem, 3.7vw, 3.35rem);
}
.ymi-statement-detail {
  gap: 48px;
  padding-top: 0;
  border-top: 0;
}

.ymi-release-ledger {
  border-bottom: 0;
  background: var(--ymi-gray);
}
.ymi-release-ledger-header {
  display: flex;
  justify-content: space-between;
  padding-bottom: 0;
  border-bottom: 0;
}
.ymi-release-ledger-main { padding: clamp(42px, 6vw, 72px) 0 48px; }
.ymi-release-wave path {
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1;
}
.ymi-release-ledger-main p {
  padding-top: 0;
  border-top: 0;
}
.ymi-release-ledger-links {
  display: flex;
  gap: clamp(26px, 5vw, 64px);
  border: 0;
}
.ymi-release-ledger-links a {
  display: inline-flex;
  grid-template-columns: none;
  gap: 12px;
  min-height: 0;
  padding: 4px 0;
}
.ymi-release-ledger-links a + a { border: 0; }
.ymi-release-ledger-links a:hover { background: transparent; color: var(--ymi-brown); }

.ymi-encounters-header {
  padding: 0;
  border: 0;
}
.ymi-encounters-ledger .ymi-agenda-events { padding-bottom: 58px; }
.ymi-encounters-ledger .tsitah-events-list {
  display: grid;
  gap: 18px;
  border-top: 0;
}
.ymi-encounters-ledger .tsitah-event {
  padding: 14px 0;
  border-bottom: 0;
}
.ymi-encounters-ledger .ymi-agenda-lessons {
  padding: 42px 0 0;
  border: 0;
  background: transparent;
}

.ymi-global-footer { padding-bottom: clamp(76px, 8vw, 108px); }
.ymi-footer-colophon { padding-bottom: 0; }
.ymi-footer-signature p {
  padding-top: 0;
  border-top: 0;
}
.ymi-footer-directory { border-bottom: 0; }
.ymi-footer-directory-row {
  padding: 14px 0;
  border-top: 0;
}

.ymi-editorial-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px);
  max-width: 1220px;
  margin: 0 auto;
}

.ymi-editorial-filters {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 22px 36px;
  align-items: center;
  max-width: 1220px;
  margin: 0 auto clamp(24px, 3.4vw, 39px);
  padding: 12px 0;
  border-top: 1px solid var(--ymi-line);
  border-bottom: 1px solid var(--ymi-line);
}

.ymi-editorial-filters-label {
  color: var(--ymi-brown);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ymi-editorial-filter-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
}

.ymi-editorial-filters a {
  position: relative;
  padding: 6px 0;
  color: var(--ymi-ink-soft);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
}

.ymi-editorial-filters a::after {
  position: absolute;
  right: 0;
  bottom: 1px;
  left: 0;
  height: 1px;
  background: transparent;
  content: "";
}

.ymi-editorial-filters a:hover,
.ymi-editorial-filters a:focus-visible,
.ymi-editorial-filters a.is-active {
  color: var(--ymi-brown-dark);
}

.ymi-editorial-filters a:hover::after,
.ymi-editorial-filters a:focus-visible::after,
.ymi-editorial-filters a.is-active::after {
  background: var(--ymi-brown);
}

.ymi-editorial-entry {
  display: flex;
  min-width: 0;
  min-height: 240px;
  flex-direction: column;
  border: 1px solid var(--ymi-line);
  background: rgba(224, 222, 218, .34);
  transition: border-color 180ms ease, transform 180ms ease;
}

.ymi-editorial-entry:hover {
  border-color: rgba(112, 78, 58, .58);
  transform: translateY(-2px);
}

.ymi-editorial-entry-image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--ymi-gray-soft);
}

.ymi-editorial-entry-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.ymi-editorial-entry-image:hover img,
.ymi-editorial-entry-image:focus-visible img {
  transform: scale(1.025);
}

.ymi-editorial-entry-content {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  padding: clamp(18px, 2vw, 24px);
}

.ymi-editorial-entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: center;
  justify-content: space-between;
}

.ymi-editorial-entry time,
.ymi-editorial-entry-category {
  color: var(--ymi-brown);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ymi-editorial-entry :is(h2, h3) {
  margin: 18px 0 24px;
  font-size: clamp(1.3rem, 1.75vw, 1.7rem);
  line-height: 1.18;
}

.ymi-editorial-entry :is(h2, h3) a {
  color: var(--ymi-brown-dark);
  text-decoration: none;
}

.ymi-editorial-entry :is(h2, h3) a:hover,
.ymi-editorial-entry :is(h2, h3) a:focus-visible {
  color: var(--ymi-brown);
}

.ymi-editorial-more {
  display: inline-grid;
  width: 32px;
  height: 32px;
  margin-top: auto;
  margin-left: auto;
  border: 1px solid var(--ymi-line);
  border-radius: 50%;
  color: var(--ymi-brown-dark);
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  place-items: center;
}

.ymi-editorial-more:hover,
.ymi-editorial-more:focus-visible {
  border-color: var(--ymi-brown-dark);
  background: var(--ymi-brown-dark);
  color: var(--ymi-paper-soft);
}

.ymi-editorial-empty {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(48px, 8vw, 92px) 0;
  color: var(--ymi-ink-soft);
  font-family: var(--ymi-serif);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  text-align: center;
}

.ymi-editorial-pagination {
  margin-top: clamp(44px, 7vw, 80px);
}

.ymi-editorial-pagination .page-numbers {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ymi-editorial-pagination a,
.ymi-editorial-pagination span {
  display: grid;
  min-width: 38px;
  min-height: 38px;
  color: var(--ymi-brown-dark);
  text-decoration: none;
  place-items: center;
}

.ymi-editorial-pagination .current {
  border-radius: 50%;
  background: var(--ymi-brown-dark);
  color: var(--ymi-paper-soft);
}

@media (max-width: 960px) {
  .ymi-editorial-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .ymi-hero-ledger { min-height: 650px; }
  .ymi-hero-composition {
    grid-template-columns: 1fr;
    grid-template-rows: auto 125px auto;
    gap: 24px;
    padding: 72px 0 42px;
  }
  .ymi-hero-manifesto { margin-left: 0; }
  .ymi-notation-field {
    width: 88%;
    height: 125px;
    background: none;
  }
  .ymi-notation-field svg { top: 0; height: 120px; }
  .ymi-notation-clef { font-size: 4.7rem; }
  .ymi-notation-note,
  .ymi-notation-note-a { top: 7px; font-size: 1.8rem; }
  .ymi-hero-index {
    flex-direction: row;
    gap: 34px;
  }
  .ymi-hero-index a,
  .ymi-hero-index a + a {
    min-height: 0;
    border: 0;
  }

  .ymi-editorial-statement .ymi-statement-label span { margin-bottom: 14px; }
  .ymi-editorial-statement .ymi-statement-copy { padding: 24px 0 0; }
  .ymi-statement-detail { gap: 24px; }

  .ymi-release-ledger-header { display: flex; }
  .ymi-release-ledger-header span:nth-child(2) { display: inline; }
  .ymi-release-ledger-links { flex-direction: column; gap: 18px; }
  .ymi-release-ledger-links a + a { border: 0; }

  .ymi-encounters-header { gap: 15px; }
  .ymi-encounters-ledger .ymi-agenda-lessons { padding: 32px 0 0; }
  .ymi-footer-directory-row { gap: 10px; padding: 13px 0; }

  .ymi-editorial-index { grid-template-columns: 1fr; }
  .ymi-editorial-filters { grid-template-columns: 1fr; gap: 8px; }
  .ymi-editorial-filter-links { gap: 6px 20px; }
  .ymi-editorial-entry { min-height: 225px; }
}

/* Editorial archives: compact masthead and rhythm. */
.ymi-editorial-page .entry-header {
  margin-bottom: clamp(30px, 4vw, 48px);
  padding: clamp(42px, 5vw, 62px) 0;
}

.ymi-editorial-page .entry-content {
  padding-bottom: clamp(58px, 7vw, 94px);
}

/* 0.10.2 — Compact type scale and a quieter footer. */
.ymi-hero-heading h1 {
  font-size: clamp(2.55rem, 4vw, 3.7rem);
  line-height: .98;
}

.ymi-editorial-statement .ymi-statement-copy h2,
.ymi-split h2,
.ymi-section-heading h2 {
  font-size: clamp(1.75rem, 2.65vw, 2.55rem);
  line-height: 1.08;
}

.ymi-release-ledger-main h2 {
  font-size: clamp(3.1rem, 6.1vw, 5.45rem);
  line-height: .82;
}

.ymi-encounters-header h2 {
  font-size: clamp(1.85rem, 3vw, 2.75rem);
  line-height: 1;
}

.ymi-encounters-ledger .ymi-agenda-events h3 {
  font-size: clamp(1.55rem, 2.35vw, 2.15rem);
  line-height: 1.08;
}

.ymi-encounters-ledger .ymi-agenda-lessons h3,
.ymi-contact-form-heading h2 {
  font-size: clamp(1.45rem, 2.15vw, 2rem);
  line-height: 1.1;
}

.ymi-artist-theme .entry-title,
.ymi-artist-theme .page-title {
  font-size: clamp(2rem, 3.25vw, 3.05rem);
  line-height: 1.06;
}

.ymi-booking-page .entry-title {
  font-size: clamp(1.8rem, 2.75vw, 2.55rem);
}

.ymi-global-footer {
  font-size: .75rem;
  padding: clamp(38px, 4.5vw, 62px) 0 clamp(34px, 4vw, 54px);
}

.ymi-footer-colophon {
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.5fr);
  gap: clamp(28px, 5vw, 70px);
  padding-bottom: 0;
}

.ymi-footer-edition {
  margin-bottom: 18px;
  font-size: .48rem;
}

.ymi-footer-signature h2 {
  font-size: clamp(1.9rem, 3vw, 2.85rem);
  line-height: .86;
}

.ymi-footer-signature p {
  max-width: 300px;
  margin-top: 20px;
  font-size: .78rem;
  line-height: 1.5;
}

.ymi-footer-directory-row {
  grid-template-columns: 92px 1fr;
  gap: 14px;
  padding: 7px 0;
}

.ymi-footer-directory-row > span { font-size: .48rem; }

.ymi-global-footer .ymi-footer-navigation,
.ymi-global-footer .ymi-footer-connect,
.ymi-footer-directory-social .ymi-socials {
  gap: 5px 16px;
}

.ymi-global-footer .ymi-footer-navigation a,
.ymi-global-footer .ymi-footer-connect a,
.ymi-footer-directory-social .ymi-socials a {
  font-size: .68rem;
}

.ymi-footer-ticker { font-size: clamp(1.75rem, 3.5vw, 3.5rem); }
[data-footer*="type-1"] .ct-footer { font-size: .65rem; }

@media (max-width: 640px) {
  .ymi-hero-heading h1 { font-size: clamp(2.35rem, 11vw, 3.15rem); }
  .ymi-release-ledger-main h2 { font-size: clamp(3.2rem, 16vw, 4.6rem); }
  .ymi-artist-theme .entry-title,
  .ymi-artist-theme .page-title { font-size: clamp(1.9rem, 8.5vw, 2.55rem); }
  .ymi-footer-colophon { grid-template-columns: 1fr; gap: 28px; }
  .ymi-footer-signature h2 { font-size: clamp(2rem, 10vw, 2.75rem); }
  .ymi-footer-directory-row { grid-template-columns: 78px 1fr; gap: 10px; }
  .ymi-footer-directory-social .ymi-socials { display: flex; width: auto; }
  .ymi-album-grid { grid-template-columns: 1fr; gap: 50px; }
  .ymi-album-subtitle { min-height: 0; }
  .ymi-biography-layout {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  .ymi-biography-quote { margin: 0; padding-top: 0; }
  .ymi-biography-portrait { order: 2; float: none; width: min(100%, 440px); margin: 0 auto; }
  .ymi-biography-quote { order: 1; }
  .ymi-biography-copy { order: 3; margin-top: 0; }
}

@media (min-width: 641px) and (max-width: 980px) {
  .ymi-album-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 0.10.4 — Organizer request follows the page's left edge. */
.ymi-artist-theme .tsitah-booking-request {
  margin-inline: 0;
}

.ymi-artist-theme .tsitah-booking-intro {
  grid-template-columns: minmax(0, 1040px);
  gap: 10px;
  max-width: 1040px;
  align-items: start;
}

.ymi-artist-theme .tsitah-booking-intro > p:first-child {
  margin: 0 0 5px;
}

.ymi-artist-theme .tsitah-booking-intro h2,
.ymi-artist-theme .tsitah-booking-intro > p:last-child {
  grid-column: 1;
}

.ymi-artist-theme .tsitah-booking-intro h2 {
  font-size: clamp(1.9rem, 3.2vw, 3.05rem);
  line-height: 1.04;
}

.ymi-artist-theme .tsitah-booking-form-panel {
  margin-left: 0;
}

.ymi-artist-theme .tsitah-booking-calendar-popover {
  right: auto;
  left: 0;
}

/* 0.11.3 — Bring the contact form into the first viewport. */
.tsitah-booking-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.ymi-contact-page .entry-header {
  margin-bottom: clamp(20px, 2.8vw, 34px);
  padding: clamp(32px, 4vw, 48px) 0;
}

.ymi-contact-page .entry-content {
  padding-bottom: clamp(48px, 6vw, 76px);
}

.ymi-contact-page .ymi-page-lead {
  max-width: none;
  margin: 0 0 14px;
  font-size: clamp(1.15rem, 1.65vw, 1.5rem);
  line-height: 1.4;
}

.ymi-contact-page .ymi-contact-cards {
  gap: 10px;
  margin: 14px 0 0;
}

.ymi-contact-page .ymi-contact-cards a {
  padding: 11px 16px;
}

.ymi-contact-page .ymi-contact-form-section {
  margin-top: clamp(24px, 3vw, 36px);
  padding-top: clamp(20px, 2.5vw, 30px);
}

.ymi-contact-page .ymi-contact-form-heading {
  gap: 8px clamp(28px, 5vw, 70px);
  margin-bottom: 18px;
}

.ymi-contact-page .ymi-contact-form-heading h2 {
  font-size: clamp(1.4rem, 2vw, 1.85rem);
}

.ymi-contact-page .ymi-contact-form-heading > p:last-child {
  font-size: clamp(.92rem, 1.2vw, 1.05rem);
  line-height: 1.4;
}

.ymi-contact-page .ymi-contact-form {
  gap: 14px;
  padding: clamp(18px, 2.5vw, 28px);
}

.ymi-contact-page .ymi-form-field,
.ymi-contact-page .ymi-form-field label {
  gap: 6px;
}

.ymi-contact-page .ymi-form-field input,
.ymi-contact-page .ymi-form-field select,
.ymi-contact-page .ymi-form-field textarea {
  min-height: 44px;
  padding: 9px 12px;
}

.ymi-contact-page .ymi-form-field textarea {
  min-height: 120px;
}

.ymi-contact-page .ymi-form-consent {
  line-height: 1.4;
}

@media (max-width: 640px) {
  .ymi-contact-page .entry-header { padding: 30px 0; }
  .ymi-contact-page .ymi-contact-form-heading { display: grid; grid-template-columns: 1fr; }
}

/* 0.11.5 — Release-led homepage, paired encounters, and a calmer directory footer. */
.ymi-release-ledger {
  padding-block: clamp(58px, 7vw, 88px);
}

.ymi-release-feature {
  display: grid;
  grid-template-columns: minmax(220px, .78fr) minmax(270px, 1fr) minmax(250px, .95fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: end;
  padding-top: clamp(30px, 4vw, 48px);
}

.ymi-release-artwork {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ymi-release-artwork h2 {
  margin: 0 0 7px;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 540;
  letter-spacing: -.055em;
  line-height: .92;
}

.ymi-release-artwork p {
  max-width: 280px;
  margin: 0 0 22px;
  color: var(--ymi-gray-dark);
  font-family: var(--ymi-serif);
  font-size: .82rem;
  line-height: 1.45;
}

.ymi-release-artwork > a {
  display: block;
  width: clamp(170px, 17vw, 238px);
}

.ymi-release-artwork img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.ymi-release-platforms {
  padding-bottom: 4px;
}

.ymi-release-platforms > span {
  display: block;
  margin-bottom: 17px;
  color: var(--ymi-brown);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.ymi-release-platforms nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.ymi-release-platforms a {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 118px;
  padding: 11px 14px;
  border: 1px solid rgba(69, 51, 41, .22);
  color: var(--ymi-brown-dark);
  font-size: .7rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.ymi-release-platforms a:hover,
.ymi-release-platforms a:focus-visible {
  border-color: var(--ymi-brown-dark);
  background: var(--ymi-paper-soft);
}

.ymi-release-catalogue {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  min-height: 116px;
  padding: 25px 28px;
  background: var(--ymi-brown-dark);
  color: var(--ymi-paper-soft);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}

.ymi-release-catalogue b {
  font-size: 1.25rem;
  font-weight: 400;
}

.ymi-release-catalogue:hover,
.ymi-release-catalogue:focus-visible {
  background: var(--ymi-brown);
  color: #fff;
  transform: translateY(-2px);
}

.ymi-encounters-ledger {
  padding-block: clamp(68px, 8vw, 108px);
}

.ymi-encounters-header {
  grid-template-columns: .5fr 1.15fr 1fr;
  padding-bottom: clamp(24px, 3vw, 34px);
}

.ymi-encounters-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr);
  gap: clamp(42px, 7vw, 96px);
  align-items: stretch;
  padding-top: clamp(34px, 4vw, 52px);
}

.ymi-encounters-ledger .ymi-agenda-events,
.ymi-encounters-ledger .ymi-agenda-lessons {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.ymi-encounters-ledger .ymi-agenda-events {
  padding-right: clamp(30px, 5vw, 70px);
  border-right: 1px solid rgba(69, 51, 41, .18);
}

.ymi-encounters-ledger .ymi-agenda-events header {
  display: block;
  margin-bottom: 22px;
}

.ymi-encounters-ledger .ymi-agenda-events header span,
.ymi-encounters-ledger .ymi-agenda-lessons span {
  display: block;
  margin-bottom: 10px;
}

.ymi-encounters-ledger .ymi-agenda-events h3 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.ymi-encounters-ledger .tsitah-events-list {
  gap: 0;
}

.ymi-encounters-ledger .tsitah-event {
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 20px;
  padding: 12px 0;
}

.ymi-encounters-ledger .tsitah-event h3 {
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  line-height: 1.18;
}

.ymi-encounters-ledger .tsitah-event time strong {
  font-size: 1.35rem;
}

.ymi-encounters-ledger .ymi-agenda-events .ymi-text-link {
  margin-top: 22px;
}

.ymi-encounters-ledger .ymi-agenda-lessons {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.ymi-encounters-ledger .ymi-agenda-lessons h3 {
  max-width: 500px;
  margin: 0;
  font-size: clamp(1.55rem, 2.35vw, 2.2rem);
  line-height: 1.1;
}

.ymi-encounters-ledger .ymi-agenda-lessons p {
  max-width: 520px;
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
}

.ymi-encounters-ledger .ymi-agenda-lessons .ymi-text-link {
  margin-top: auto;
  align-self: flex-start;
}

.ymi-global-footer {
  padding: clamp(44px, 5.5vw, 72px) 0 0;
}

.ymi-footer-colophon {
  grid-template-columns: minmax(220px, .72fr) minmax(420px, 1.28fr);
  gap: clamp(42px, 8vw, 110px);
  align-items: center;
  padding-bottom: clamp(36px, 4.5vw, 56px);
}

.ymi-footer-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(38px, 7vw, 92px);
  align-self: center;
  border: 0;
}

.ymi-footer-directory-row {
  display: block;
  padding: 0;
  border: 0;
}

.ymi-footer-directory-row > span {
  display: block;
  margin-bottom: 17px;
  color: rgba(247,243,236,.58);
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.ymi-global-footer .ymi-footer-connect,
.ymi-footer-directory-social .ymi-socials {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 9px;
  align-items: flex-start;
}

.ymi-global-footer .ymi-footer-connect a,
.ymi-footer-directory-social .ymi-socials a {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--ymi-paper-soft);
  font-size: .72rem;
  text-decoration: none;
}

.ymi-footer-directory-social .ymi-socials a:hover,
.ymi-footer-directory-social .ymi-socials a:focus-visible {
  background: transparent;
  color: #fff;
}

.ymi-social-icon {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
}

.ymi-social-icon svg {
  width: 16px;
  height: 16px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.ymi-social-icon svg path[fill],
.ymi-social-icon .ymi-icon-fill {
  fill: currentColor;
  stroke: none;
}

.ymi-footer-copyright {
  width: min(100% - 48px, 1360px);
  margin: 0 auto;
  padding: 18px 0 20px;
  border-top: 1px solid rgba(247,243,236,.18);
  color: #fff;
  font-size: .66rem;
  line-height: 1.45;
  text-align: center;
}

.ymi-footer-copyright a {
  color: #fff;
  font-weight: 700;
}

[data-footer*="type-1"] .ct-footer {
  display: none;
}

@media (max-width: 999px) {
  .ymi-release-feature {
    grid-template-columns: minmax(210px, .75fr) minmax(0, 1.25fr);
  }

  .ymi-release-catalogue {
    grid-column: 2;
    min-height: 82px;
  }

  .ymi-encounters-body {
    grid-template-columns: minmax(0, 1fr) minmax(290px, .8fr);
    gap: 42px;
  }

  .ymi-footer-colophon {
    grid-template-columns: minmax(190px, .6fr) minmax(0, 1.4fr);
    gap: 44px;
  }
}

/* 0.12.3 — Global fractured-marble material study. */
body.ymi-artist-theme {
  background-color: #e7e8ea;
  background-image:
    linear-gradient(rgba(248, 248, 246, .7), rgba(248, 248, 246, .7)),
    var(--ymi-marble-image);
  background-position: center top;
  background-size: 920px auto;
  background-attachment: fixed;
}

body.ymi-artist-theme #main-container,
body.ymi-artist-theme .site-main,
body.ymi-artist-theme:not(.home) .site-main,
body.ymi-artist-theme .site-main > .ct-container,
body.ymi-artist-theme .site-main > .ct-container-full {
  background-color: transparent !important;
  background-image: none !important;
}

body.ymi-artist-theme .site-main :where(
  .ymi-hero,
  .ymi-hero-ledger,
  .ymi-home-statement,
  .ymi-editorial-statement,
  .ymi-listening-room,
  .ymi-home-agenda,
  .ymi-release-ledger,
  .ymi-encounters-ledger,
  .ymi-intro,
  .ymi-featured-release,
  .ymi-events-preview,
  .ymi-lessons-preview,
  .ymi-closing
) {
  background-color: transparent !important;
  background-image: none !important;
}

[data-header*="type-1"] .ct-header [data-row*="middle"] {
  background-color: rgba(247, 247, 245, .86) !important;
  background-image:
    linear-gradient(rgba(248, 248, 246, .76), rgba(248, 248, 246, .76)),
    var(--ymi-marble-image) !important;
  background-position: center top !important;
  background-size: 920px auto !important;
  border-bottom-color: rgba(42, 39, 36, .17);
  backdrop-filter: blur(7px) saturate(.78);
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu {
  border: 1px solid rgba(42, 39, 36, .17);
  background-color: rgba(247, 247, 245, .96) !important;
  background-image:
    linear-gradient(rgba(248, 248, 246, .82), rgba(248, 248, 246, .82)),
    var(--ymi-marble-image) !important;
  background-position: center top !important;
  background-size: 700px auto !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu a {
  color: var(--ymi-ink) !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu li:hover > a,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu li.current-menu-item > a,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu li.current_page_item > a,
[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu a:focus-visible {
  background: rgba(69, 51, 41, .9) !important;
  color: #fff !important;
}

body.ymi-artist-theme #offcanvas .ct-panel-inner {
  background-color: rgba(247, 247, 245, .97) !important;
  background-image:
    linear-gradient(rgba(248, 248, 246, .8), rgba(248, 248, 246, .8)),
    var(--ymi-marble-image) !important;
  background-position: center top !important;
  background-size: 720px auto !important;
  color: var(--ymi-ink) !important;
}

body.ymi-artist-theme #offcanvas :where(.mobile-menu a, .ct-toggle-close) {
  color: var(--ymi-ink) !important;
  --theme-icon-color: var(--ymi-ink);
}

.ymi-artist-theme.ymi-marble-demo-page :where(
  .page-title,
  .entry-title,
  .ymi-marble-demo-quote,
  .ymi-photo-gallery-header h2
) {
  font-family: var(--ymi-expressive) !important;
  font-weight: 400 !important;
  letter-spacing: 0;
}

.ymi-artist-theme.ymi-marble-demo-page :where(.page-title, .entry-title) {
  line-height: 1.08;
}

.ymi-artist-theme.ymi-marble-demo-page .ymi-marble-demo-quote {
  font-size: clamp(1.2rem, 1.85vw, 1.7rem);
  line-height: 1.45;
}

.ymi-artist-theme.ymi-marble-demo-page :where(
  .ymi-marble-demo-label,
  .ymi-photo-gallery-header p,
  .ymi-marble-demo-portrait figcaption
) {
  font-family: var(--ymi-expressive);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 700px) {
  body.ymi-artist-theme {
    background-attachment: scroll;
    background-size: 760px auto;
  }

  [data-header*="type-1"] .ct-header [data-row*="middle"] {
    background-size: 760px auto !important;
  }
}

@media (max-width: 700px) {
  .ymi-release-ledger { padding-block: 48px; }
  .ymi-release-feature { grid-template-columns: 1fr; gap: 30px; }
  .ymi-release-artwork { align-items: stretch; }
  .ymi-release-artwork > a { width: min(72vw, 250px); }
  .ymi-release-platforms nav { flex-direction: column; align-items: stretch; }
  .ymi-release-platforms a { width: 100%; }
  .ymi-release-catalogue { grid-column: auto; min-height: 76px; }

  .ymi-encounters-header { grid-template-columns: 1fr; gap: 12px; }
  .ymi-encounters-body { grid-template-columns: 1fr; gap: 40px; padding-top: 30px; }
  .ymi-encounters-ledger .ymi-agenda-events {
    padding: 0 0 38px;
    border-right: 0;
    border-bottom: 1px solid rgba(69, 51, 41, .18);
  }
  .ymi-encounters-ledger .tsitah-event { grid-template-columns: 82px minmax(0, 1fr); }
  .ymi-encounters-ledger .ymi-agenda-lessons { gap: 18px; }

  .ymi-footer-colophon { grid-template-columns: 1fr; gap: 36px; }
  .ymi-footer-directory { grid-template-columns: 1fr 1fr; gap: 28px; }
}

@media (max-width: 460px) {
  .ymi-footer-directory { grid-template-columns: 1fr; }
  .ymi-footer-copyright { width: min(100% - 32px, 1360px); }
}

/* 0.11.6 — Stronger ZELETSA hierarchy with the artwork on the right. */
.ymi-release-feature {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  gap: clamp(52px, 9vw, 140px);
  align-items: center;
}

.ymi-release-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ymi-release-copy h2 {
  margin: 0;
  font-size: clamp(4.1rem, 8vw, 7.4rem);
  font-weight: 520;
  letter-spacing: -.065em;
  line-height: .78;
}

.ymi-release-copy > p {
  max-width: 430px;
  margin: 22px 0 30px;
  color: var(--ymi-gray-dark);
  font-family: var(--ymi-serif);
  font-size: clamp(.9rem, 1.25vw, 1.08rem);
  line-height: 1.45;
}

.ymi-release-copy nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.ymi-release-copy nav a {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  min-width: 126px;
  padding: 11px 14px;
  border: 1px solid rgba(69, 51, 41, .22);
  color: var(--ymi-brown-dark);
  font-size: .7rem;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease;
}

.ymi-release-copy nav a:hover,
.ymi-release-copy nav a:focus-visible {
  border-color: var(--ymi-brown-dark);
  background: var(--ymi-paper-soft);
}

.ymi-release-copy .ymi-release-catalogue {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  min-height: 0;
  margin-top: 19px;
  padding: 10px 14px;
  border: 1px solid var(--ymi-brown-dark);
  background: transparent;
  color: var(--ymi-brown-dark);
  font-size: .62rem;
  letter-spacing: .07em;
}

.ymi-release-copy .ymi-release-catalogue b {
  font-size: .92rem;
}

.ymi-release-copy .ymi-release-catalogue:hover,
.ymi-release-copy .ymi-release-catalogue:focus-visible {
  background: var(--ymi-brown-dark);
  color: #fff;
  transform: none;
}

.ymi-release-feature > .ymi-release-artwork {
  display: block;
  justify-self: end;
  width: min(100%, 430px);
}

.ymi-release-feature > .ymi-release-artwork img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

@media (max-width: 900px) {
  .ymi-release-feature {
    grid-template-columns: minmax(0, 1fr) minmax(270px, .82fr);
    gap: 44px;
  }

  .ymi-release-copy h2 {
    font-size: clamp(3.7rem, 9vw, 5.5rem);
  }

  .ymi-release-copy nav a {
    min-width: 112px;
  }
}

@media (max-width: 700px) {
  .ymi-release-feature {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .ymi-release-copy h2 {
    font-size: clamp(3.9rem, 19vw, 5.7rem);
  }

  .ymi-release-copy nav {
    width: 100%;
    flex-direction: column;
  }

  .ymi-release-copy nav a {
    width: 100%;
  }

  .ymi-release-feature > .ymi-release-artwork {
    justify-self: start;
    width: min(88vw, 340px);
  }
}

/* 0.12.0 — JON-12 hero portrait and shared editorial photo gallery. */
.ymi-hero-composition {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
  gap: clamp(38px, 6vw, 92px);
  align-items: center;
  padding-top: clamp(52px, 7vh, 78px);
  padding-bottom: 40px;
}

.ymi-hero-portrait {
  align-self: stretch;
  width: min(100%, 460px);
  height: clamp(410px, 56vh, 525px);
  margin: 0 0 0 auto;
  overflow: hidden;
  background: #0b0e0b;
}

.ymi-hero-portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 23%;
}

.ymi-photo-gallery {
  clear: both;
  margin-top: clamp(52px, 6vw, 82px);
}

.ymi-photo-gallery-header {
  display: grid;
  grid-template-columns: minmax(130px, .34fr) minmax(0, 1fr);
  gap: clamp(26px, 5vw, 72px);
  align-items: end;
  margin-bottom: clamp(25px, 3.5vw, 44px);
}

.ymi-photo-gallery-header p {
  margin: 0 0 7px;
  color: var(--ymi-brown);
  font-size: .63rem;
  font-weight: 750;
  letter-spacing: .14em;
}

.ymi-photo-gallery-header h2 {
  margin: 0;
  color: var(--ymi-brown-dark);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1;
}

.ymi-photo-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 22px);
  align-items: start;
  padding-bottom: clamp(34px, 5vw, 68px);
}

.ymi-photo-gallery-grid figure {
  margin: 0;
  overflow: hidden;
  background: #11140f;
}

.ymi-photo-gallery-grid figure:nth-child(2),
.ymi-photo-gallery-grid figure:nth-child(5) {
  transform: translateY(clamp(20px, 3vw, 48px));
}

.ymi-photo-gallery-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  transition: transform .45s ease;
}

.ymi-photo-gallery-grid figure:hover img {
  transform: scale(1.018);
}

@media (max-width: 800px) {
  .ymi-hero-ledger { min-height: 0; }
  .ymi-hero-composition {
    grid-template-columns: minmax(0, .9fr) minmax(260px, .7fr);
    gap: 30px;
  }
  .ymi-hero-portrait { height: 400px; }
}

@media (max-width: 640px) {
  .ymi-hero-composition {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 26px;
    padding: 48px 0 36px;
  }
  .ymi-hero-portrait {
    grid-row: 2;
    width: 100%;
    height: min(118vw, 520px);
    margin: 0;
  }
  .ymi-hero-index { grid-row: 3; }
  .ymi-photo-gallery { margin-top: 64px; }
  .ymi-photo-gallery-header {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 24px;
  }
  .ymi-photo-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding-bottom: 0;
  }
  .ymi-photo-gallery-grid figure:nth-child(2),
  .ymi-photo-gallery-grid figure:nth-child(5) {
    transform: none;
  }
}

/* 0.12.5 final material overrides follow all earlier component rules. */
body.ymi-artist-theme {
  background-color: #e6e8e9;
  background-image:
    linear-gradient(rgba(249, 249, 247, .62), rgba(249, 249, 247, .62)),
    var(--ymi-marble-image);
}

[data-header*="type-1"] .ct-header [data-row*="middle"] {
  background-color: rgba(250, 250, 248, .78) !important;
  background-image:
    linear-gradient(rgba(249, 249, 247, .72), rgba(249, 249, 247, .72)),
    var(--ymi-marble-image) !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu,
body.ymi-artist-theme #offcanvas .ct-panel-inner {
  background-color: rgba(250, 250, 248, .92) !important;
  background-image:
    linear-gradient(rgba(249, 249, 247, .78), rgba(249, 249, 247, .78)),
    var(--ymi-marble-image) !important;
}

/* 0.13.0 — The approved Marble typography across every public page.
   0.13.3 — BP Diet replaces Dela; native spacing keeps its heavy Greek glyphs apart. */
body.ymi-artist-theme {
  --theme-headings-font-family: var(--ymi-display);
  --theme-headings-font-weight: 400;
}

body.ymi-artist-theme #main-container :where(h1, h2, h3, h4, h5, h6),
body.ymi-artist-theme .ymi-global-footer h2 {
  font-family: var(--ymi-display) !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: 0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body.ymi-artist-theme .entry-content {
  font-family: var(--ymi-serif);
}

body.ymi-artist-theme :where(
  .ct-header,
  .ct-footer,
  .ymi-global-footer,
  .ymi-kicker,
  .ymi-button,
  .ymi-text-link,
  .ymi-release-copy nav,
  .ymi-release-catalogue,
  .ymi-editorial-filters,
  .ymi-editorial-meta,
  .ymi-contact-cards,
  .ymi-contact-form,
  .tsitah-events-list,
  .tsitah-calendar-widget,
  .tsitah-booking-request,
  .tsitah-lessons-booking,
  .tsitah-student-account
) {
  font-family: var(--ymi-body);
}

[data-header*="type-1"] .site-title a {
  font-family: var(--ymi-serif);
}

body.ymi-artist-theme :where(
  .ymi-page-lead,
  .ymi-hero-manifesto,
  .ymi-contact-form-heading > p:last-child,
  .ymi-section-heading > p,
  .ymi-encounters-header > p
) {
  font-family: var(--ymi-display);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

body.ymi-artist-theme .ymi-page-lead {
  font-size: clamp(1.05rem, 1.65vw, 1.5rem);
}

body.ymi-artist-theme .ymi-marble-demo-quote {
  font-size: clamp(1.2rem, 1.85vw, 1.7rem);
  line-height: 1.45;
}

body.ymi-artist-theme :where(
  .ymi-marble-demo-label,
  .ymi-photo-gallery-header p,
  .ymi-marble-demo-portrait figcaption
) {
  font-family: var(--ymi-display);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

body.ymi-artist-theme .entry-header {
  border-color: rgba(32, 33, 36, .17);
}

body.ymi-artist-theme .entry-header::before {
  right: 1%;
  color: rgba(69, 73, 77, .13);
  pointer-events: none;
  user-select: none;
}

body.ymi-artist-theme #main-container .entry-header :where(.entry-title, .page-title) {
  max-width: min(100% - clamp(72px, 10vw, 140px), 1000px);
  line-height: 1.15;
}

.ymi-hero-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(14px, 2vw, 28px);
  align-items: center;
}

body.ymi-artist-theme #main-container .ymi-hero-title h1 {
  font-size: clamp(2.2rem, 4.2vw, 4.4rem);
  line-height: 1.14;
}

.ymi-title-note {
  color: rgba(69, 73, 77, .13);
  font-family: var(--ymi-serif);
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: 1;
  transform: rotate(7deg);
  pointer-events: none;
  user-select: none;
}

body.ymi-artist-theme .ymi-hero-manifesto {
  max-width: 590px;
  font-size: clamp(1.05rem, 1.5vw, 1.4rem);
}

body.ymi-artist-theme #main-container .ymi-release-copy h2 {
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 1.08;
}

body.ymi-artist-theme #main-container .tsitah-event h3 {
  font-size: clamp(.95rem, 1.4vw, 1.25rem);
  line-height: 1.4;
}

body.ymi-artist-theme #main-container .ymi-album h2 {
  line-height: 1.4;
}

body.ymi-artist-theme #main-container .ymi-editorial-entry :is(h2, h3) {
  font-size: clamp(1.05rem, 1.65vw, 1.45rem);
  line-height: 1.4;
}

@media (max-width: 700px) {
  body.ymi-artist-theme .entry-header::before {
    right: 0;
    font-size: clamp(3rem, 12vw, 4rem);
  }

  body.ymi-artist-theme #main-container .entry-header :where(.entry-title, .page-title) {
    max-width: calc(100% - 54px);
    /* BP Diet is wider: keep Βιογραφικό and λογαριασμός whole at 320px. */
    font-size: clamp(1.25rem, 5.5vw, 2.1rem);
    line-height: 1.25;
  }

  body.ymi-artist-theme #main-container .ymi-release-copy h2 {
    font-size: clamp(2.8rem, 12.2vw, 4.7rem);
  }
}

/* 0.13.5 — Keep the artist's surname whole beside the note on narrow phones. */
@media (max-width: 420px) {
  body.ymi-artist-theme #main-container .ymi-hero-title h1 {
    font-size: clamp(1.5rem, 8.2vw, 2.2rem);
  }
}

/* 0.13.1 — Compact account page: one visible title and lessons in the first viewport. */
body.ymi-account-page .hero-section {
  margin-bottom: 14px;
}

body.ymi-account-page .entry-header {
  margin-bottom: 0;
  padding-block: clamp(20px, 2vw, 24px);
}

body.ymi-account-page #main-container .entry-header .entry-title {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
}

body.ymi-account-page .entry-header::before {
  font-size: clamp(3rem, 6vw, 5rem);
}

body.ymi-account-page .entry-content {
  padding-bottom: clamp(32px, 4vw, 54px);
}

.ymi-account-page .tsitah-student-account {
  margin: 0;
}

.ymi-account-page .tsitah-account-dashboard-header {
  gap: 12px;
  align-items: center;
  padding-bottom: 12px;
}

.ymi-account-page .tsitah-account-dashboard-header > div:first-child > p {
  display: none;
}

/* Preserve the section's accessible name without repeating the visible page title. */
.ymi-account-page .tsitah-account-dashboard-header #tsitah-account-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.ymi-account-page .tsitah-account-dashboard-actions {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

.ymi-account-page .tsitah-account-dashboard-actions a,
.ymi-account-page .tsitah-account-profile-form button {
  min-height: 40px;
  padding: 10px 15px;
  font-size: .72rem;
  line-height: 1.4;
}

.ymi-account-page .tsitah-account-profile {
  grid-template-columns: minmax(190px, .35fr) minmax(0, 1.65fr);
  gap: 24px;
  margin-top: 18px;
  padding-bottom: 18px;
}

.ymi-account-page .tsitah-account-profile > header p,
.ymi-account-page .tsitah-account-section-heading p {
  display: none;
}

body.ymi-account-page #main-container .tsitah-account-profile > header h3 {
  margin-bottom: 6px;
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  line-height: 1.3;
}

.ymi-account-page .tsitah-account-profile > header span {
  font-size: .7rem;
  line-height: 1.5;
}

.ymi-account-page .tsitah-account-profile-form {
  gap: 10px 14px;
}

.ymi-account-page .tsitah-account-profile-form > label {
  gap: 5px;
  margin: 0;
}

.ymi-account-page .tsitah-account-profile-form input {
  min-height: 42px;
  padding: 9px 11px;
}

.ymi-account-page .tsitah-account-lessons {
  margin-top: 22px;
}

.ymi-account-page .tsitah-account-section-heading {
  margin-bottom: 12px;
}

body.ymi-account-page #main-container .tsitah-account-section-heading h3 {
  margin-bottom: 0;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  line-height: 1.3;
}

.ymi-account-page .tsitah-account-summary {
  margin: 10px 0 12px;
}

.ymi-account-page .tsitah-account-summary span {
  gap: 9px;
  padding: 12px 16px;
}

.ymi-account-page .tsitah-account-summary strong {
  font-size: 1.35rem;
  line-height: 1.2;
}

.ymi-account-page .tsitah-account-empty {
  padding: 24px;
}

.ymi-account-page .tsitah-account-intro {
  gap: 10px 24px;
  margin-bottom: 20px;
  padding-bottom: 18px;
}

@media (max-width: 900px) {
  .ymi-account-page .tsitah-account-profile {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .ymi-account-page .tsitah-account-profile > header span {
    max-width: 640px;
  }
}

@media (max-width: 560px) {
  body.ymi-account-page .entry-header {
    margin-bottom: 0;
    padding-block: 18px;
  }

  body.ymi-account-page #main-container .entry-header .entry-title {
    font-size: clamp(1.25rem, 5.5vw, 1.8rem);
    line-height: 1.25;
  }

  .ymi-account-page .tsitah-account-dashboard-header {
    gap: 10px;
    align-items: flex-start;
  }

  .ymi-account-page .tsitah-account-profile {
    margin-top: 16px;
    padding-bottom: 16px;
  }

  .ymi-account-page .tsitah-account-profile-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .ymi-account-page .tsitah-account-profile-form > label:first-of-type,
  .ymi-account-page .tsitah-account-profile-form > button {
    grid-column: 1 / -1;
  }

  .ymi-account-page .tsitah-account-profile-form > button {
    justify-self: stretch;
  }

  .ymi-account-page .tsitah-account-profile-form input {
    font-size: .85rem;
  }

  .ymi-account-page .tsitah-account-lessons {
    margin-top: 18px;
  }

  .ymi-account-page .tsitah-account-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ymi-account-page .tsitah-account-summary span {
    gap: 6px;
    padding: 10px;
    border-right: 1px solid var(--ymi-line);
    border-bottom: 0;
    font-size: .65rem;
  }

  .ymi-account-page .tsitah-account-summary span:last-child {
    border-right: 0;
  }
}

/* 0.13.9 — Bring the paired homepage section closer to the release above it.
   Keep the existing two columns/illustrations; centre just the shared heading. */
body.home .ymi-release-ledger {
  padding-bottom: clamp(20px, 2.5vw, 32px);
}

body.home .ymi-encounters-ledger {
  padding-block: clamp(24px, 3vw, 40px) clamp(36px, 5vw, 64px);
}

body.home .ymi-encounters-header {
  display: block;
  padding: 0;
  text-align: center;
}

body.home .ymi-encounters-header h2 {
  margin-inline: auto;
}

body.home .ymi-encounters-body {
  padding-top: clamp(20px, 2.5vw, 30px);
}

/* 0.13.12 — Latest blog articles, sharing the full Blog's cards and filters. */
.ymi-home-blog {
  padding-block: 0 clamp(36px, 5vw, 64px);
  scroll-margin-top: 90px;
}

.ymi-home-blog-header {
  margin-bottom: clamp(20px, 2.5vw, 30px);
  padding-top: clamp(24px, 3vw, 40px);
  border-top: 1px solid var(--ymi-line);
  text-align: center;
}

.ymi-home-blog-header h2 {
  margin: 0;
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  line-height: 1.2;
}

.ymi-home-blog-action {
  display: flex;
  justify-content: center;
  margin-top: clamp(24px, 3vw, 36px);
}

/* 0.13.15 — Native, manual-only horizontal cards on the mobile homepage. */
.ymi-home-blog-swipe {
  display: none;
}

@media (max-width: 640px) {
  .ymi-home-blog .ymi-editorial-index {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 88%;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-block: 2px 12px;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--ymi-brown) transparent;
    -webkit-overflow-scrolling: touch;
  }

  .ymi-home-blog .ymi-editorial-entry {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .ymi-home-blog .ymi-editorial-index:focus-visible {
    outline: 2px solid var(--ymi-brown);
    outline-offset: 4px;
  }

  .ymi-home-blog-swipe {
    display: block;
    margin: 8px 0 0;
    color: var(--ymi-ink-soft);
    font-family: var(--ymi-body);
    font-size: .72rem;
    line-height: 1.5;
    text-align: center;
  }
}

/* 0.13.17 — A quieter, left-aligned organizer introduction, only on this page. */
.ymi-organizer-page .entry-content > .ymi-page-lead {
  max-width: none;
  margin-inline: 0;
  text-align: left;
}

.ymi-organizer-page .tsitah-booking-intro {
  display: block;
  margin-bottom: 24px;
}

.ymi-organizer-page .tsitah-booking-intro > p:first-child {
  margin: 0;
  color: var(--ymi-ink);
  font-family: var(--ymi-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: normal;
  text-transform: none;
}

/* 0.13.19 — Keep the existing desktop/mobile header visible while scrolling.
   Sticky preserves its space in the document and the native Blocksy panels. */
body.ymi-artist-theme #header.ct-header {
  position: sticky;
  top: 0;
}

/* WordPress fixes its admin toolbar only above 600px. On smaller phones the
   toolbar scrolls away, so the site header must still stick to the viewport. */
@media (min-width: 601px) {
  body.admin-bar.ymi-artist-theme #header.ct-header {
    top: var(--wp-admin--admin-bar--height, 32px);
  }
}

@media (min-width: 601px) and (max-width: 782px) {
  body.admin-bar.ymi-artist-theme #header.ct-header {
    top: var(--wp-admin--admin-bar--height, 46px);
  }
}
