.mfm-bk2 {
  --bk2-gold: #d9aa5d;
  --bk2-gold-soft: #f1d6a1;
  --bk2-ink: #110b09;
  --bk2-panel: #21130f;
  --bk2-line: rgba(241, 214, 161, .26);
  --bk2-error: #ffb7b7;
  color: #f8eee5;
}

.mfm-bk2--page {
  padding: 112px 0 76px;
  background:
    radial-gradient(circle at 50% 0, rgba(217, 170, 93, .12), transparent 38%),
    linear-gradient(180deg, rgba(10, 7, 6, .22), rgba(10, 7, 6, .72));
}

.admin-bar .mfm-bk2--page { padding-top: 144px; }

.mfm-bk2__ticker {
  max-width: 1248px;
  margin: 0 auto 18px;
  padding: 0 24px;
}

.mfm-bk2__ticker-viewport {
  overflow: hidden;
  border: 1px solid rgba(216, 173, 99, .34);
  border-radius: 999px;
  background: linear-gradient(180deg, #160d0b, #090706);
  box-shadow: 0 16px 44px rgba(0, 0, 0, .24);
}

.mfm-bk2__ticker-track {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 28px;
  padding: 11px 16px;
}

.mfm-bk2__ticker-item {
  display: inline-flex;
  align-items: center;
  color: var(--bk2-gold-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  line-height: 1.35;
  text-transform: uppercase;
}

.mfm-bk2__ticker-item::before {
  width: 7px;
  height: 7px;
  margin: 0 10px 0 14px;
  border-radius: 50%;
  background: var(--bk2-gold);
  box-shadow: 0 0 12px rgba(216, 173, 99, .55);
  content: "";
}

.mfm-bk2__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 22px;
  align-items: start;
  max-width: 1248px;
  margin: 0 auto;
  padding: 24px;
}

.mfm-bk2--starter .mfm-bk2__starter-form,
.mfm-bk2--page .mfm-bk2__form,
.mfm-bk2--page .mfm-bk2__summary {
  min-width: 0;
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid var(--bk2-line);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .012)),
    var(--bk2-panel);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

.mfm-bk2--page .mfm-bk2__summary {
  position: sticky;
  top: 112px;
}

.admin-bar .mfm-bk2--page .mfm-bk2__summary { top: 144px; }

.mfm-bk2__summary h2 {
  margin: 0 0 18px;
  color: #fffaf4;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.15;
}

.mfm-bk2__summary-content {
  display: grid;
  gap: 14px;
  color: rgba(255, 248, 239, .78);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

[data-bk2-summary-total] {
  padding-top: 16px;
  border-top: 1px solid var(--bk2-line);
  color: var(--bk2-gold-soft);
  font-size: 17px;
}

[data-bk2-summary-total] strong { color: #fff; }
[data-bk2-summary-flags] { color: #dfc8a5; font-size: 13px; }

.mfm-bk2__fieldset {
  min-width: 0;
  margin: 0 0 22px;
  padding: 0;
  border: 0;
}

.mfm-bk2__legend {
  width: 100%;
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--bk2-line);
  color: var(--bk2-gold-soft);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .035em;
}

.mfm-bk2__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.mfm-bk2__grid--schedule { max-width: 680px; }

.mfm-bk2 label {
  display: block;
  min-width: 0;
  margin: 0 0 12px;
  scroll-margin-top: 130px;
}

.mfm-bk2 label > span {
  display: block;
  margin: 0 0 7px;
  color: rgba(255, 248, 239, .9);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.mfm-bk2 input,
.mfm-bk2 select,
.mfm-bk2 textarea,
.mfm-bk2 button {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid rgba(255, 226, 183, .36);
  border-radius: 9px;
  background: rgba(255, 255, 255, .065);
  color: #fff;
  font: inherit;
  line-height: 1.35;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.mfm-bk2 textarea { min-height: 108px; resize: vertical; }

.mfm-bk2 select {
  appearance: auto;
  color-scheme: dark;
}

.mfm-bk2 option,
.mfm-bk2 optgroup { background: #2a1713; color: #f6eadf; }

.mfm-bk2 input:hover,
.mfm-bk2 select:hover,
.mfm-bk2 textarea:hover { border-color: rgba(241, 214, 161, .62); }

.mfm-bk2 input:focus-visible,
.mfm-bk2 select:focus-visible,
.mfm-bk2 textarea:focus-visible,
.mfm-bk2 button:focus-visible,
.mfm-bk2 a:focus-visible {
  outline: 3px solid #fff2ca;
  outline-offset: 3px;
  border-color: var(--bk2-gold);
  box-shadow: 0 0 0 5px rgba(217, 170, 93, .2);
}

.mfm-bk2 [aria-invalid="true"] { border-color: var(--bk2-error); }

.mfm-bk2__item-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 10px 0 14px;
  padding: 14px;
  border: 1px solid rgba(255, 226, 183, .16);
  border-radius: 12px;
  background: rgba(0, 0, 0, .16);
}

.mfm-bk2__item-row label { margin-bottom: 0; }

.mfm-bk2__addons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 4px;
}

.mfm-bk2__check {
  display: flex !important;
  gap: 10px;
  align-items: flex-start;
  min-height: 48px;
  padding: 11px 12px;
  border: 1px solid rgba(255, 226, 183, .18);
  border-radius: 9px;
  background: rgba(255, 255, 255, .035);
}

.mfm-bk2__check input {
  flex: 0 0 22px;
  width: 22px;
  min-height: 22px;
  margin: 1px 0 0;
  padding: 0;
}

.mfm-bk2__check span { margin: 0 !important; }

.mfm-bk2__submit {
  min-height: 54px !important;
  margin-top: 8px;
  border-color: #edca86 !important;
  background: linear-gradient(135deg, #efc878, #b98031) !important;
  color: #100b08 !important;
  font-weight: 900 !important;
  cursor: pointer;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .3);
}

.mfm-bk2__submit:hover { transform: translateY(-1px); }
.mfm-bk2__submit:disabled { cursor: wait; opacity: .7; transform: none; }

.mfm-bk2__error-summary {
  margin: 0 0 22px;
  padding: 15px 16px;
  border: 1px solid rgba(255, 183, 183, .72);
  border-left: 5px solid var(--bk2-error);
  border-radius: 10px;
  background: rgba(121, 22, 22, .2);
  color: #fff3f3;
}

.mfm-bk2__error-summary[hidden] { display: none; }
.mfm-bk2__error-summary strong { display: block; margin-bottom: 8px; }
.mfm-bk2__error-summary ul { margin: 0; padding-left: 20px; }
.mfm-bk2__error-summary a { color: #fff; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mfm-bk2__status { min-height: 1.5em; margin: 12px 0 0; }
.mfm-bk2__success { color: #9ff0ae; }
.mfm-bk2__error { color: var(--bk2-error); }

.mfm-bk2__support-dock {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--bk2-line);
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail,
body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-ai-concierge {
  position: relative !important;
  inset: auto !important;
  z-index: 2 !important;
  display: grid !important;
  justify-items: stretch !important;
  width: 100% !important;
  gap: 10px !important;
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail__toggle,
body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-ai-trigger {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: auto !important;
  border-radius: 12px !important;
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail__panel {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  padding: 10px !important;
  border-radius: 14px !important;
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail__list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail__item,
body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail__list .mfm-cta-rail__item {
  width: 100% !important;
  min-width: 48px !important;
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-ai-panel {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-height: min(620px, 72vh) !important;
  margin-top: 10px;
  transform: none !important;
}

body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-ai-panel[aria-hidden="true"] { display: none !important; }
body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-ai-panel.is-open { display: flex !important; opacity: 1 !important; }

@media (max-width: 991px) {
  .mfm-bk2--page { padding: 96px 0 48px; }
  .admin-bar .mfm-bk2--page { padding-top: 124px; }
  .mfm-bk2__ticker { margin-bottom: 10px; padding: 0 16px; }
  .mfm-bk2__ticker-viewport { border-radius: 14px; }
  .mfm-bk2__ticker-track { justify-content: flex-start; gap: 8px 18px; padding: 9px 10px; }
  .mfm-bk2__ticker-item { font-size: 11px; letter-spacing: .02em; }
  .mfm-bk2__ticker-item::before { width: 6px; height: 6px; margin: 0 8px 0 10px; }
  .mfm-bk2__layout { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .mfm-bk2--page .mfm-bk2__summary { position: static; }
  .mfm-bk2__grid,
  .mfm-bk2__item-row { grid-template-columns: minmax(0, 1fr); }
  .mfm-bk2__summary { order: 2; }
}

@media (max-width: 540px) {
  .mfm-bk2__layout { gap: 14px; padding: 12px; }
  .mfm-bk2--starter .mfm-bk2__starter-form,
  .mfm-bk2--page .mfm-bk2__form,
  .mfm-bk2--page .mfm-bk2__summary { padding: 17px 14px; border-radius: 12px; }
  .mfm-bk2__addons { grid-template-columns: minmax(0, 1fr); }
  .mfm-bk2__item-row { padding: 12px; }
  body.mfm-booking-ux-active .mfm-bk2__support-dock .mfm-cta-rail__list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mfm-bk2__ticker-track,
  .mfm-bk2 *,
  .mfm-bk2 *::before,
  .mfm-bk2 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* MFM-CODEX-M2: route-scoped booking product flow */
.mfm-bk2--m2{--m2-ink:#151515;--m2-paper:#f4f0e8;--m2-card:#fffdf8;--m2-gold:#b08a48;--m2-line:rgba(21,21,21,.14);background:var(--m2-paper);color:var(--m2-ink);font-family:var(--mfm-font-body,Arial,sans-serif);overflow:clip}
.mfm-bk2--m2 .mfm-bk2__hero{background:linear-gradient(120deg,#111 0%,#20201e 70%,#30291f 100%);color:#fff;padding:clamp(4rem,8vw,7.5rem) max(1.25rem,calc((100vw - 1200px)/2));position:relative}
.mfm-bk2--m2 .mfm-bk2__hero:after{background:var(--m2-gold);bottom:0;content:"";height:2px;left:max(1.25rem,calc((100vw - 1200px)/2));position:absolute;width:clamp(4rem,12vw,10rem)}
.mfm-bk2--m2 .mfm-bk2__hero-inner{max-width:760px}
.mfm-bk2--m2 .mfm-bk2__kicker{color:var(--m2-gold);font-size:.72rem;font-weight:700;letter-spacing:.18em;margin:0 0 1rem;text-transform:uppercase}
.mfm-bk2--m2 .mfm-bk2__hero h1{color:#fff;font-family:var(--mfm-font-display,Georgia,serif);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:500;letter-spacing:-.035em;line-height:.98;margin:0 0 1.25rem}
.mfm-bk2--m2 .mfm-bk2__hero p:last-child{color:rgba(255,255,255,.72);font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75;margin:0;max-width:680px}
.mfm-bk2--m2 .mfm-bk2__layout{align-items:start;display:grid;gap:clamp(2rem,5vw,5rem);grid-template-columns:minmax(0,1fr) minmax(300px,380px);margin:0 auto;max-width:1200px;padding:clamp(3rem,7vw,6rem) 1.25rem}
.mfm-bk2--m2 .mfm-bk2__form{display:grid;gap:1.5rem;min-width:0}
.mfm-bk2--m2 .mfm-bk2__fieldset{background:var(--m2-card);border:1px solid var(--m2-line);border-radius:0;margin:0;min-width:0;padding:clamp(1.25rem,3vw,2.25rem)}
.mfm-bk2--m2 .mfm-bk2__legend{align-items:center;color:var(--m2-ink);display:flex;font-family:var(--mfm-font-display,Georgia,serif);font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500;gap:.75rem;padding:0 .4rem}
.mfm-bk2--m2 .mfm-bk2__legend>span{color:#765820;font-family:var(--mfm-font-body,Arial,sans-serif);font-size:.7rem;font-weight:700;letter-spacing:.12em}
.mfm-bk2--m2 .mfm-bk2__field-note{color:#69645c;font-size:.92rem;line-height:1.65;margin:.25rem 0 1.25rem}
.mfm-bk2--m2 .mfm-bk2__grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.mfm-bk2--m2 label,.mfm-bk2--m2 .mfm-bk2__therapist-field{color:#393631;display:grid;font-size:.78rem;font-weight:700;gap:.48rem;letter-spacing:.035em;min-width:0}
.mfm-bk2--m2 .mfm-bk2__form label>span,.mfm-bk2--m2 .mfm-bk2__therapist-label{color:#393631;font-size:.78rem;font-weight:700;line-height:1.45}
.mfm-bk2--m2 .mfm-bk2__location-choice label>span{color:#2b2925;font-size:.95rem;line-height:1.45}
.mfm-bk2--m2 .mfm-bk2__location-choice label>span>small{color:#625d55;font-size:.75rem;font-weight:500;line-height:1.5}
.mfm-bk2--catalog.mfm-bk2--m2 .mfm-bk2__field-note{color:#625d55}
.mfm-bk2--m2 .mfm-bk2__status{color:#393631}
.mfm-bk2--m2 .mfm-bk2__form label:focus-within>span,.mfm-bk2--m2 .mfm-bk2__location-choice label:focus-within>span{color:#765820}
.mfm-bk2--m2 .mfm-bk2__form [aria-invalid="true"]{border-color:#a73428;box-shadow:0 0 0 2px rgba(167,52,40,.14)}
.mfm-bk2--m2 input,.mfm-bk2--m2 select,.mfm-bk2--m2 textarea{background:#fff;border:1px solid #cfc8bc;border-radius:0;box-sizing:border-box;color:#181715;font:inherit;font-size:.95rem;min-height:48px;padding:.75rem .85rem;width:100%}
.mfm-bk2--m2 textarea{min-height:86px;resize:vertical}
.mfm-bk2--m2 input:focus,.mfm-bk2--m2 select:focus,.mfm-bk2--m2 textarea:focus{border-color:var(--m2-gold);box-shadow:0 0 0 3px rgba(176,138,72,.18);outline:2px solid transparent}
.mfm-bk2--m2 .mfm-bk2__location-choice{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.mfm-bk2--m2 .mfm-bk2__location-choice label{background:#fff;border:1px solid var(--m2-line);cursor:pointer;display:flex;gap:.8rem;min-height:86px;padding:1rem}
.mfm-bk2--m2 .mfm-bk2__location-choice input{accent-color:var(--m2-gold);height:20px;min-height:0;width:20px}
.mfm-bk2--m2 .mfm-bk2__location-choice label:has(input:checked){background:#f7f0e2;border-color:var(--m2-gold)}
.mfm-bk2--m2 .mfm-bk2__location-choice span{font-size:.95rem}
.mfm-bk2--m2 .mfm-bk2__location-choice small{color:#777067;display:block;font-size:.75rem;font-weight:400;line-height:1.4;margin-top:.35rem}
.mfm-bk2--m2 .mfm-bk2__home-location{border-top:1px solid var(--m2-line);margin-top:1.25rem;padding-top:1.25rem}
.mfm-bk2--m2 .mfm-bk2__home-location[hidden]{display:none}
.mfm-bk2--m2 .mfm-bk2__item-row{border-top:1px solid var(--m2-line);display:grid;gap:1rem;grid-template-columns:1.25fr .75fr 1fr;margin-top:1.25rem;padding-top:1.25rem}
.mfm-bk2--m2 .mfm-bk2__therapist-label{display:block;margin-bottom:.48rem}
.mfm-bk2--m2 .mfm-bk2__therapist-fixed{align-items:center;background:#f3eee5;display:flex;font-size:.85rem;font-weight:600;min-height:48px;padding:.75rem .85rem}
.mfm-bk2--m2 .mfm-bk2__submit{background:var(--m2-ink);border:1px solid var(--m2-ink);border-radius:0;color:#fff;cursor:pointer;font-size:.8rem;font-weight:800;letter-spacing:.13em;min-height:56px;padding:1rem 1.4rem;text-transform:uppercase}
.mfm-bk2--m2 .mfm-bk2__submit:hover,.mfm-bk2--m2 .mfm-bk2__submit:focus-visible{background:var(--m2-gold);border-color:var(--m2-gold);color:#111}
.mfm-bk2--m2 .mfm-bk2__summary{background:#171716;color:#fff;padding:clamp(1.5rem,3vw,2.2rem);position:sticky;top:96px}
.mfm-bk2--m2 .mfm-bk2__summary h2{color:#fff;font-family:var(--mfm-font-display,Georgia,serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500;line-height:1.1;margin:0 0 1.5rem}
.mfm-bk2--m2 .mfm-bk2__summary-section{border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.76);font-size:.86rem;line-height:1.55;padding:1rem 0}
.mfm-bk2--m2 .mfm-bk2__summary-item{align-items:start;display:flex;gap:1rem;justify-content:space-between;padding:.45rem 0}
.mfm-bk2--m2 .mfm-bk2__summary-item span{display:grid;gap:.2rem}
.mfm-bk2--m2 .mfm-bk2__summary-item strong{color:#fff;font-size:.86rem}
.mfm-bk2--m2 .mfm-bk2__summary-item small{color:rgba(255,255,255,.58)}
.mfm-bk2--m2 .mfm-bk2__summary-item b{color:#d8b774;font-size:.78rem;text-align:right}
.mfm-bk2--m2 .mfm-bk2__summary-totals{border-top:1px solid rgba(255,255,255,.25);margin:1rem 0 0}
.mfm-bk2--m2 .mfm-bk2__summary-totals>div{align-items:start;display:flex;gap:1rem;justify-content:space-between;padding:1rem 0}
.mfm-bk2--m2 .mfm-bk2__summary-totals dt{color:rgba(255,255,255,.65);font-size:.76rem}
.mfm-bk2--m2 .mfm-bk2__summary-totals dd{margin:0;text-align:right}
.mfm-bk2--m2 .mfm-bk2__summary-totals strong{color:#d8b774;font-size:.88rem}
.mfm-bk2--m2 .mfm-bk2__error-summary{background:#fff2f0;border-left:3px solid #a73428;color:#7d231b;padding:1rem}
.mfm-bk2--m2 .mfm-bk2__error-summary:focus{outline:2px solid #a73428;outline-offset:2px}
.mfm-bk2--m2 .mfm-bk2__error-summary a{color:inherit}
@media(max-width:991px){.mfm-bk2--m2 .mfm-bk2__layout{grid-template-columns:1fr}.mfm-bk2--m2 .mfm-bk2__summary{position:static}.mfm-bk2--m2 .mfm-bk2__hero{padding-top:4.5rem}}
@media(max-width:600px){.mfm-bk2--m2 .mfm-bk2__hero{padding:3.75rem 1rem}.mfm-bk2--m2 .mfm-bk2__layout{gap:1.25rem;padding:2.25rem 1rem}.mfm-bk2--m2 .mfm-bk2__fieldset{padding:1.15rem}.mfm-bk2--m2 .mfm-bk2__grid,.mfm-bk2--m2 .mfm-bk2__location-choice,.mfm-bk2--m2 .mfm-bk2__item-row{grid-template-columns:1fr}.mfm-bk2--m2 .mfm-bk2__legend{font-size:1.2rem}.mfm-bk2--m2 .mfm-bk2__summary{padding:1.25rem}.mfm-bk2--m2 input,.mfm-bk2--m2 select,.mfm-bk2--m2 textarea{font-size:16px}.mfm-bk2--m2 .mfm-bk2__submit{width:100%}}

/* MFM-CODEX-M5: Booking visual closure (plugin owner) */
.mfm-bk2--page.mfm-bk2--m2 {
  --m5-bk-bg: #090807;
  --m5-bk-panel: #11100e;
  --m5-bk-elevated: #181512;
  --m5-bk-text: #f4ede4;
  --m5-bk-muted: #b9afa3;
  --m5-bk-gold: #d4a760;
  --m5-bk-line: rgba(212,167,96,.2);
  padding: 0;
  color: var(--m5-bk-text);
  background: radial-gradient(circle at 84% 24%,rgba(93,73,52,.18),transparent 28rem), var(--m5-bk-bg);
}
.admin-bar .mfm-bk2--page.mfm-bk2--m2 { padding-top: 0; }
.mfm-bk2--m2 .mfm-bk2__hero {
  display: grid;
  min-height: min(660px,calc(100svh - 72px));
  align-items: end;
  padding: clamp(150px,16vw,220px) max(32px,calc((100vw - 1200px)/2)) clamp(72px,8vw,108px);
  border-bottom: 1px solid var(--m5-bk-line);
  background: radial-gradient(circle at 78% 22%,rgba(212,167,96,.12),transparent 24rem), linear-gradient(120deg,#090807 0%,#15120f 72%,#201a14 100%);
}
.mfm-bk2--m2 .mfm-bk2__hero::before {
  position: absolute;
  right: max(32px,calc((100vw - 1200px)/2));
  bottom: clamp(58px,7vw,92px);
  width: min(33vw,410px);
  aspect-ratio: 1;
  border: 1px solid var(--m5-bk-line);
  background: linear-gradient(145deg,transparent 48%,rgba(212,167,96,.12) 48.2%,transparent 48.5%);
  content: "";
}
.mfm-bk2--m2 .mfm-bk2__hero::after { left: max(32px,calc((100vw - 1200px)/2)); width: clamp(5rem,13vw,11rem); }
.mfm-bk2--m2 .mfm-bk2__hero-inner { position: relative; z-index: 1; max-width: 800px; }
.mfm-bk2--m2 .mfm-bk2__kicker { color: var(--m5-bk-gold); }
.mfm-bk2--m2 .mfm-bk2__hero h1 { font-size: clamp(48px,7vw,92px); line-height: .92; }
.mfm-bk2--m2 .mfm-bk2__hero p:last-child { max-width: 660px; color: var(--m5-bk-muted); }
.mfm-bk2--m2 .mfm-bk2__layout {
  grid-template-columns: minmax(0,1fr) minmax(330px,390px);
  gap: clamp(42px,7vw,96px);
  max-width: 1240px;
  padding: clamp(72px,8vw,116px) 32px clamp(92px,10vw,150px);
}
.mfm-bk2--page.mfm-bk2--m2 .mfm-bk2__form {
  gap: clamp(24px,3vw,38px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.mfm-bk2--m2 .mfm-bk2__fieldset {
  padding: clamp(26px,3.6vw,46px);
  border: 1px solid var(--m5-bk-line);
  background: linear-gradient(145deg,rgba(255,255,255,.025),transparent), var(--m5-bk-panel);
}
.mfm-bk2--m2 .mfm-bk2__legend {
  margin-bottom: 22px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--m5-bk-line);
  color: var(--m5-bk-text);
  font-size: clamp(23px,2.4vw,34px);
}
.mfm-bk2--m2 .mfm-bk2__legend > span { color: var(--m5-bk-gold); }
.mfm-bk2--m2 .mfm-bk2__field-note,
.mfm-bk2--catalog.mfm-bk2--m2 .mfm-bk2__field-note,
.mfm-bk2--m2 .mfm-bk2__status { color: var(--m5-bk-muted); }
.mfm-bk2--m2 label,
.mfm-bk2--m2 .mfm-bk2__therapist-field,
.mfm-bk2--m2 .mfm-bk2__form label > span,
.mfm-bk2--m2 .mfm-bk2__therapist-label,
.mfm-bk2--m2 .mfm-bk2__location-choice label > span { color: #ddd2c7; }
.mfm-bk2--m2 .mfm-bk2__location-choice label > span > small,
.mfm-bk2--m2 .mfm-bk2__location-choice small { color: var(--m5-bk-muted); }
.mfm-bk2--m2 input,
.mfm-bk2--m2 select,
.mfm-bk2--m2 textarea {
  min-height: 52px;
  border-color: rgba(234,217,194,.25);
  background: #0c0b0a;
  color: var(--m5-bk-text);
  color-scheme: dark;
}
.mfm-bk2--m2 input::placeholder,
.mfm-bk2--m2 textarea::placeholder { color: #83796f; opacity: 1; }
.mfm-bk2--m2 input:focus,
.mfm-bk2--m2 select:focus,
.mfm-bk2--m2 textarea:focus { border-color: var(--m5-bk-gold); box-shadow: 0 0 0 3px rgba(212,167,96,.16); }
.mfm-bk2--m2 .mfm-bk2__location-choice label {
  min-height: 96px;
  border-color: var(--m5-bk-line);
  background: #0c0b0a;
}
.mfm-bk2--m2 .mfm-bk2__location-choice label:has(input:checked) { border-color: var(--m5-bk-gold); background: rgba(212,167,96,.09); }
.mfm-bk2--m2 .mfm-bk2__home-location,
.mfm-bk2--m2 .mfm-bk2__item-row { border-top-color: var(--m5-bk-line); }
.mfm-bk2--m2 .mfm-bk2__therapist-fixed { background: #0c0b0a; color: #ddd2c7; }
.mfm-bk2--m2 .mfm-bk2__submit {
  min-height: 58px;
  border-color: var(--m5-bk-gold);
  background: var(--m5-bk-gold);
  color: #120f0c;
}
.mfm-bk2--m2 .mfm-bk2__submit:hover,
.mfm-bk2--m2 .mfm-bk2__submit:focus-visible { border-color: #edc984; background: #edc984; color: #0d0b09; }
.mfm-bk2--page.mfm-bk2--m2 .mfm-bk2__summary {
  top: 94px;
  padding: clamp(30px,3.4vw,44px);
  border: 1px solid var(--m5-bk-line);
  border-radius: 0;
  background: radial-gradient(circle at 90% 4%,rgba(212,167,96,.1),transparent 13rem), var(--m5-bk-elevated);
  box-shadow: none;
}
.mfm-bk2--m2 .mfm-bk2__summary h2 { font-size: clamp(28px,3vw,40px); }
.mfm-bk2--m2 .mfm-bk2__summary-section,
.mfm-bk2--m2 .mfm-bk2__summary-totals { border-color: var(--m5-bk-line); }
@media (max-width: 991px) {
  .mfm-bk2--m2 .mfm-bk2__hero::before { width: 44vw; opacity: .64; }
  .mfm-bk2--m2 .mfm-bk2__layout { grid-template-columns: 1fr; }
  .mfm-bk2--page.mfm-bk2--m2 .mfm-bk2__summary { position: static; }
}
@media (max-width: 600px) {
  .mfm-bk2--m2 .mfm-bk2__hero { min-height: 600px; padding: 148px 18px 68px; }
  .mfm-bk2--m2 .mfm-bk2__hero::before { right: 18px; bottom: 54px; width: 64vw; opacity: .5; }
  .mfm-bk2--m2 .mfm-bk2__hero::after { left: 18px; }
  .mfm-bk2--m2 .mfm-bk2__hero h1 { font-size: clamp(44px,14vw,62px); }
  .mfm-bk2--m2 .mfm-bk2__layout { gap: 24px; padding: 54px 18px 92px; }
  .mfm-bk2--m2 .mfm-bk2__fieldset { padding: 24px 18px; }
  .mfm-bk2--m2 .mfm-bk2__legend { font-size: 24px; }
  .mfm-bk2--page.mfm-bk2--m2 .mfm-bk2__summary { padding: 28px 20px; }
}
/* Final commercial closure: explicit duration/therapist and consent steps. */
.mfm-bk2--m2 .mfm-bk2__substep {
  align-items: center;
  color: var(--m2-ink);
  display: flex;
  font-family: var(--mfm-font-display, Georgia, serif);
  font-size: 1.05rem;
  gap: .65rem;
  margin: 1.35rem 0 .85rem;
}
.mfm-bk2--m2 .mfm-bk2__substep > span {
  color: #765820;
  font-family: var(--mfm-font-body, Arial, sans-serif);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.mfm-bk2--m2 .mfm-bk2__confirmation-consent {
  align-items: flex-start;
  cursor: pointer;
  display: flex;
  gap: .8rem;
  line-height: 1.6;
}
.mfm-bk2--m2 .mfm-bk2__confirmation-consent input {
  flex: 0 0 auto;
  height: 1.25rem;
  margin: .15rem 0 0;
  width: 1.25rem;
}

/* MFM Booking 3B.4 — omnichannel contact identity */
.mfm-bk2--m2 .mfm-bk2__contact-intro{margin:0 0 1.1rem;padding:1rem 1.05rem;border-left:3px solid var(--m5-bk-gold,#d4a760);background:rgba(212,167,96,.07)}
.mfm-bk2--m2 .mfm-bk2__contact-intro strong{display:block;color:#f7efe3;font-size:1rem;line-height:1.35}
.mfm-bk2--m2 .mfm-bk2__contact-intro p{margin:.35rem 0 0;color:#a79b8e;font-size:.84rem;line-height:1.55}
.mfm-bk2--m2 .mfm-bk2__grid--contact{align-items:start}
.mfm-bk2--m2 .mfm-bk2__country-wrap{grid-row:span 2}
.mfm-bk2--m2 .mfm-bk2__country-wrap input[type="search"]{min-height:42px;margin-bottom:.45rem;background:#0c0a09;border-color:rgba(212,167,96,.22);font-size:.86rem}
.mfm-bk2--m2 .mfm-bk2__country-wrap select{min-height:54px}
.mfm-bk2--m2 .mfm-bk2__phone-composite{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch}
.mfm-bk2--m2 .mfm-bk2__phone-composite>b{display:flex;align-items:center;justify-content:center;min-width:72px;padding:0 .7rem;border:1px solid rgba(212,167,96,.25);border-right:0;background:rgba(212,167,96,.08);color:#e5b765;font-size:.9rem;letter-spacing:.03em}
.mfm-bk2--m2 .mfm-bk2__phone-composite input{border-top-left-radius:0;border-bottom-left-radius:0}
.mfm-bk2--m2 label>small,.mfm-bk2--m2 [data-bk2-contact-hint],.mfm-bk2--m2 [data-bk2-channel-recommendation]{display:block;color:#83796e;font-size:.72rem;font-weight:500;line-height:1.45;margin-top:.15rem}
.mfm-bk2--m2 [data-bk2-channel-recommendation]{color:#c79b51}
.mfm-bk2--m2 [data-bk2-contact-handle-wrap].is-auto-contact input{opacity:.56}
.mfm-bk2--m2 .mfm-bk2__success--contact{display:grid;gap:.65rem;margin-top:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(212,167,96,.34);background:linear-gradient(135deg,rgba(212,167,96,.13),rgba(255,255,255,.02));color:#f4eadb}
.mfm-bk2--m2 .mfm-bk2__success--contact>span{color:#a99d90;line-height:1.55}
.mfm-bk2--m2 .mfm-bk2__connect-btn{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:42px;padding:.65rem 1rem;border-radius:10px;background:#229ed9;color:#fff!important;font-weight:800;text-decoration:none!important}
.mfm-booking-contact-card{max-width:920px;margin:1rem 0;padding:1rem 1.1rem;border:1px solid #dccdb8;background:#fffaf2;border-radius:12px}
.mfm-booking-contact-card p{margin:.4rem 0}
@media(max-width:600px){.mfm-bk2--m2 .mfm-bk2__country-wrap{grid-row:auto}.mfm-bk2--m2 .mfm-bk2__phone-composite>b{min-width:64px}}
