    :root {
      --mh-ink: #111014;
      --mh-ink-soft: #1b1820;
      --mh-paper: #f3efe8;
      --mh-paper-2: #e8e0d5;
      --mh-pink: #b62464;
      --mh-pink-dark: #b62464;
      --mh-violet: #7a42ff;
      --mh-white: #fffdf8;
      --mh-muted-dark: #6f6872;
      --mh-muted-light: #c6bdc9;
      --mh-line-dark: rgba(17,16,20,.16);
      --mh-line-light: rgba(255,255,255,.16);
      --mh-max: 1380px;
      --mh-radius: 28px;
      --mh-shadow: 0 28px 90px rgba(15, 8, 18, .24);
      --mh-sans: "DM Sans", Arial, sans-serif;
      --mh-display: "Archivo Black", Arial Black, sans-serif;
      --mh-serif: "Instrument Serif", Georgia, serif;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      overflow-x: hidden;
      background: var(--mh-paper);
      color: var(--mh-ink);
      font-family: var(--mh-sans);
      -webkit-font-smoothing: antialiased;
    }
    body.mh-nav-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    img { display: block; width: 100%; height: 100%; object-fit: cover; }
    button, input, select, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    ::selection { color: var(--mh-white); background: var(--mh-pink); }

    #mh-site {
      position: relative;
      overflow: hidden;
      background: var(--mh-paper);
      font-size: 17px;
      line-height: 1.6;
    }
    #mh-site *, #mh-site *::before, #mh-site *::after { box-sizing: border-box; }
    #mh-site .mh-container { width: min(calc(100% - 48px), var(--mh-max)); margin-inline: auto; }
    #mh-site .mh-section { position: relative; padding: 132px 0; }
    #mh-site .mh-section--dark { color: var(--mh-white); background: var(--mh-ink); }
    #mh-site .mh-section--pink { color: var(--mh-ink); background: linear-gradient(180deg, #fff7fc 0%, #f6f0e8 100%); }
    #mh-site .mh-section--paper2 { background: var(--mh-paper-2); }
    #mh-site .mh-kicker {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 22px;
      font-size: .75rem;
      font-weight: 800;
      letter-spacing: .16em;
      line-height: 1;
      text-transform: uppercase;
    }
    #mh-site .mh-kicker::before {
      width: 38px;
      height: 4px;
      content: "";
      background: var(--mh-pink);
    }
    #mh-site .mh-section--pink .mh-kicker::before { background: var(--mh-ink); }
    #mh-site .mh-title {
      max-width: 920px;
      margin: 0;
      font-family: var(--mh-display);
      font-size: clamp(2.35rem, 4.8vw, 4.9rem);
      font-weight: 400;
      line-height: 1.02;
      letter-spacing: -.04em;
      text-transform: none;
      text-wrap: balance;
    }
    #mh-site .mh-title em {
      font-family: inherit;
      font-style: normal;
      font-weight: inherit;
      text-transform: none;
    }
    #mh-site .mh-copy {
      max-width: 710px;
      margin: 26px 0 0;
      color: var(--mh-muted-dark);
      font-size: clamp(1rem, 1.6vw, 1.18rem);
      line-height: 1.72;
    }
    #mh-site .mh-section--dark .mh-copy { color: var(--mh-muted-light); }
    #mh-site .mh-button {
      display: inline-flex;
      min-height: 54px;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 0 24px;
      border: 2px solid var(--mh-ink);
      border-radius: 999px;
      color: var(--mh-white);
      background: var(--mh-ink);
      font-size: .85rem;
      font-weight: 800;
      letter-spacing: .02em;
      cursor: pointer;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
    }
    #mh-site .mh-button:hover { transform: translateY(-3px); box-shadow: 0 12px 0 var(--mh-pink); }
    #mh-site .mh-button--pink { border-color: var(--mh-pink); background: var(--mh-pink); }
    #mh-site .mh-button--pink:hover { box-shadow: 0 12px 0 var(--mh-violet); }
    #mh-site .mh-button--outline { color: var(--mh-ink); background: transparent; }
    #mh-site .mh-button--outline:hover { color: var(--mh-white); background: var(--mh-ink); }
    #mh-site .mh-button--light { border-color: var(--mh-white); color: var(--mh-ink); background: var(--mh-white); }
    #mh-site .mh-button svg { width: 18px; height: 18px; }

    /* Texture */
    #mh-site .mh-grain::after {
      position: absolute;
      z-index: 1;
      inset: 0;
      content: "";
      opacity: .12;
      pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
    }
    #mh-site .mh-grain > * { position: relative; z-index: 2; }

    /* Header */
    #mh-site .mh-header {
      position: fixed;
      z-index: 1000;
      top: 0;
      right: 0;
      left: 0;
      transition: background .25s ease, color .25s ease, border-color .25s ease;
    }
    #mh-site .mh-header.mh-scrolled {
      border-bottom: 1px solid rgba(255,255,255,.1);
      color: var(--mh-white);
      background: rgba(17,16,20,.92);
      backdrop-filter: blur(16px);
    }
    #mh-site .mh-nav {
      display: flex;
      min-height: 86px;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }
    #mh-site .mh-logo {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-family: var(--mh-display);
      font-size: .92rem;
      letter-spacing: -.02em;
      text-transform: uppercase;
    }
    #mh-site .mh-logo-mark {
      display: grid;
      width: 38px;
      height: 38px;
      place-items: center;
      border-radius: 50%;
      color: var(--mh-white);
      background: var(--mh-pink);
      font-family: var(--mh-serif);
      font-size: 1.45rem;
      font-style: italic;
    }
    #mh-site .mh-logo small {
      display: block;
      margin-top: 2px;
      font-family: var(--mh-sans);
      font-size: .53rem;
      font-weight: 700;
      letter-spacing: .17em;
      opacity: .64;
      text-transform: uppercase;
    }
    #mh-site .mh-navlinks { display: flex; align-items: center; gap: 28px; margin-left: auto; }
    #mh-site .mh-navlinks a { font-size: .77rem; font-weight: 800; }
    #mh-site .mh-navlinks a:not(.mh-button) { position: relative; }
    #mh-site .mh-navlinks a:not(.mh-button)::after {
      position: absolute;
      right: 0;
      bottom: -7px;
      left: 0;
      height: 3px;
      content: "";
      background: var(--mh-pink);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .2s ease;
    }
    #mh-site .mh-navlinks a:hover::after { transform: scaleX(1); }
    #mh-site .mh-header:not(.mh-scrolled) .mh-button { border-color: var(--mh-ink); }
    #mh-site .mh-header.mh-scrolled .mh-button { border-color: var(--mh-pink); background: var(--mh-pink); }
    #mh-site .mh-menu {
      display: none;
      width: 48px;
      height: 48px;
      padding: 0;
      border: 2px solid currentColor;
      border-radius: 50%;
      color: inherit;
      background: transparent;
    }
    #mh-site .mh-menu span, #mh-site .mh-menu::before, #mh-site .mh-menu::after {
      display: block;
      width: 19px;
      height: 2px;
      margin: 4px auto;
      content: "";
      background: currentColor;
      transition: transform .2s ease, opacity .2s ease;
    }
    #mh-site .mh-menu[aria-expanded="true"] span { opacity: 0; }
    #mh-site .mh-menu[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
    #mh-site .mh-menu[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

    /* Hero */
    #mh-site .mh-hero {
      position: relative;
      min-height: 840px;
      overflow: hidden;
      padding: 138px 0 54px;
      background: var(--mh-paper);
    }
    #mh-site .mh-hero::before {
      position: absolute;
      top: -120px;
      right: -80px;
      width: 420px;
      height: 420px;
      border-radius: 50%;
      content: "";
      background: radial-gradient(circle, rgba(182,36,100,.32) 0%, rgba(182,36,100,.14) 38%, rgba(182,36,100,0) 72%);
      filter: blur(4px);
      opacity: .95;
    }
    #mh-site .mh-hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
      align-items: center;
      gap: 66px;
    }
    #mh-site .mh-hero-copy { position: relative; z-index: 4; padding: 36px 0 20px; }
    #mh-site .mh-hero-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 28px;
      padding: 10px 14px;
      border: 2px solid var(--mh-ink);
      border-radius: 999px;
      font-size: .73rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      transform: rotate(-2deg);
    }
    #mh-site .mh-hero-label::before { width: 9px; height: 9px; border-radius: 50%; content: ""; background: var(--mh-pink); }
    #mh-site .mh-hero h1 {
      max-width: 700px;
      margin: 0;
      font-family: var(--mh-display);
      font-size: clamp(2.6rem, 5vw, 5rem);
      font-weight: 400;
      line-height: .98;
      letter-spacing: -.045em;
      text-transform: none;
      text-wrap: balance;
    }
    #mh-site .mh-hero h1 .mh-script {
      display: inline-block;
      margin-left: .25em;
      color: var(--mh-pink);
      font-family: var(--mh-serif);
      font-size: .78em;
      font-style: italic;
      font-weight: 400;
      letter-spacing: -.03em;
      text-transform: none;
      transform: rotate(-3deg);
    }
    #mh-site .mh-hero-lead {
      max-width: 650px;
      margin: 30px 0 0;
      font-size: clamp(1rem, 1.45vw, 1.18rem);
      line-height: 1.62;
    }
    #mh-site .mh-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
    #mh-site .mh-hero-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 38px;
    }
    #mh-site .mh-meta-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 10px 13px;
      border: 1px solid var(--mh-line-dark);
      border-radius: 999px;
      background: rgba(255,255,255,.42);
      font-size: .76rem;
      font-weight: 700;
    }
    #mh-site .mh-meta-pill::before { width: 7px; height: 7px; border-radius: 50%; content: ""; background: var(--mh-pink); }
    #mh-site .mh-hero-art {
      position: relative;
      min-height: 680px;
      /* Do not create a parent stacking context here. The duration stamp must be
         able to sit above the headline when both elements overlap. */
    }
    #mh-site .mh-photo-main {
      position: absolute;
      z-index: 3;
      inset: 20px 20px 40px 38px;
      overflow: hidden;
      border: 4px solid var(--mh-ink);
      border-radius: 48% 48% 22px 22px / 34% 34% 22px 22px;
      background: var(--mh-ink);
      box-shadow: 18px 20px 0 var(--mh-violet);
      transform: rotate(2deg);
    }
    #mh-site .mh-photo-main::after {
      position: absolute;
      inset: 0;
      content: "";
      background: linear-gradient(180deg, transparent 55%, rgba(17,16,20,.78));
      pointer-events: none;
    }
    #mh-site .mh-photo-placeholder {
      display: grid;
      height: 100%;
      place-items: center;
      padding: 30px;
      color: rgba(255,255,255,.72);
      background:
        radial-gradient(circle at 50% 26%, rgba(182,36,100,.72), transparent 23%),
        linear-gradient(135deg, rgba(255,255,255,.08) 25%, transparent 25%) 0 0/44px 44px,
        linear-gradient(225deg, rgba(255,255,255,.08) 25%, transparent 25%) 0 0/44px 44px,
        var(--mh-ink-soft);
      text-align: center;
      text-transform: uppercase;
      font-size: .77rem;
      font-weight: 800;
      letter-spacing: .15em;
    }
    #mh-site .mh-photo-placeholder small { display: block; margin-top: 10px; opacity: .55; font-size: .68rem; letter-spacing: .04em; text-transform: none; }
    #mh-site .mh-photo-caption {
      position: absolute;
      z-index: 5;
      right: 34px;
      bottom: 64px;
      left: 64px;
      color: var(--mh-white);
    }
    #mh-site .mh-photo-caption strong { display: block; font-family: var(--mh-serif); font-size: 2.3rem; font-style: italic; font-weight: 400; line-height: 1; }
    #mh-site .mh-photo-caption span { display: block; margin-top: 8px; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    #mh-site .mh-duration-stamp {
      position: absolute;
      z-index: 6;
      top: 24px;
      right: 4px;
      left: auto;
      display: grid;
      width: 142px;
      height: 142px;
      place-items: center;
      border: 4px solid var(--mh-ink);
      border-radius: 50%;
      color: var(--mh-ink);
      background: var(--mh-pink);
      text-align: center;
      transform: rotate(-11deg);
      box-shadow: 10px 12px 0 var(--mh-ink);
    }
    #mh-site .mh-duration-stamp strong { display: block; font-family: var(--mh-display); font-size: 2.45rem; line-height: .8; }
    #mh-site .mh-duration-stamp span {
      display: block;
      max-width: 96px;
      margin: 7px auto 0;
      font-size: .65rem;
      font-weight: 800;
      letter-spacing: .12em;
      line-height: 1.12;
      text-transform: uppercase;
    }
    #mh-site .mh-mini-note {
      position: absolute;
      z-index: 6;
      top: 96px;
      right: 8px;
      width: 170px;
      padding: 14px 16px 13px;
      border: 2px solid var(--mh-ink);
      background: rgba(255,253,248,.96);
      font-family: var(--mh-sans);
      font-size: .96rem;
      font-style: normal;
      font-weight: 700;
      line-height: 1.3;
      transform: rotate(4deg);
      box-shadow: 6px 6px 0 rgba(17,16,20,.14);
    }
    #mh-site .mh-hero-line {
      position: absolute;
      z-index: 2;
      right: 18px;
      bottom: 26px;
      width: 180px;
      height: 120px;
      border: 4px solid rgba(182,36,100,.7);
      border-top: 0;
      border-left: 0;
      border-radius: 0 0 100px 0;
      transform: rotate(-10deg);
      opacity: .65;
    }

    /* Marquee */
    #mh-site .mh-marquee-shell {
      position: relative;
      z-index: 60;
      overflow: visible;
      padding: 18px 0;
      margin: -18px 0;
      background: linear-gradient(to bottom, var(--mh-paper) 0 50%, var(--mh-paper-2) 50% 100%);
      isolation: isolate;
    }
    #mh-site .mh-marquee {
      position: relative;
      z-index: 2;
      overflow: hidden;
      margin: 0;
      border-top: 3px solid var(--mh-ink);
      border-bottom: 3px solid var(--mh-ink);
      color: var(--mh-ink);
      background: var(--mh-pink);
      transform: rotate(-1deg) scale(1.025);
      transform-origin: center;
      box-shadow: 0 10px 0 rgba(17,16,20,.08);
      isolation: isolate;
    }
    #mh-site .mh-marquee-track {
      display: flex;
      width: max-content;
      padding: 18px 0;
      animation: mh-marquee 28s linear infinite;
    }
    #mh-site .mh-marquee span {
      display: inline-flex;
      align-items: center;
      gap: 22px;
      padding-right: 22px;
      font-family: var(--mh-display);
      font-size: clamp(1.15rem, 2.4vw, 2rem);
      letter-spacing: -.03em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    #mh-site .mh-marquee span::after { content: "✦"; font-family: var(--mh-serif); font-size: 1.2em; }
    @keyframes mh-marquee { to { transform: translateX(-50%); } }

    /* Intro / identity */
    #mh-site .mh-identity-grid {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 80px;
      align-items: start;
    }
    #mh-site .mh-identity-quote {
      margin: 0;
      font-family: var(--mh-display);
      font-size: clamp(2.3rem, 4.8vw, 4.8rem);
      font-style: normal;
      line-height: 1.02;
      letter-spacing: -.04em;
      text-wrap: balance;
    }
    #mh-site .mh-identity-quote strong {
      display: inline;
      padding: 0;
      background: none;
      font-weight: 400;
    }
    #mh-site .mh-identity-side {
      display: grid;
      gap: 28px;
      padding-top: 14px;
    }
    #mh-site .mh-big-copy { margin: 0; font-size: clamp(1.04rem, 1.45vw, 1.26rem); line-height: 1.72; }
    #mh-site .mh-review-mini {
      position: relative;
      max-width: 520px;
      margin-left: auto;
      padding: 26px 30px 26px 62px;
      border: 2px solid var(--mh-ink);
      background: var(--mh-white);
      transform: rotate(-1.5deg);
      box-shadow: 10px 10px 0 var(--mh-pink);
    }
    #mh-site .mh-review-mini::before {
      position: absolute;
      top: 4px;
      left: 18px;
      content: "“";
      color: var(--mh-pink);
      font-family: var(--mh-serif);
      font-size: 5rem;
      line-height: 1;
    }
    #mh-site .mh-review-mini p { margin: 0; font-family: var(--mh-sans); font-size: 1.02rem; font-weight: 700; line-height: 1.5; }
    #mh-site .mh-review-mini span { display: block; margin-top: 14px; font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

    /* Occasions */
    #mh-site .mh-occasions {
      overflow: hidden;
      color: var(--mh-white);
      background: var(--mh-ink);
    }
    #mh-site .mh-occasions .mh-copy { color: var(--mh-muted-light); }
    #mh-site .mh-occasion-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-items: stretch;
      gap: 20px;
    }
    #mh-site .mh-occasion-card {
      position: relative;
      display: flex;
      min-width: 0;
      min-height: 0;
      overflow: hidden;
      flex-direction: column;
      padding: 0;
      border: 2px solid var(--mh-line-light);
      border-radius: 26px;
      background: rgba(255,255,255,.055);
      transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
    }
    #mh-site .mh-occasion-card:nth-child(2) { color: var(--mh-ink); background: linear-gradient(180deg, #fff8fc 0%, #fffdf8 100%); border-color: rgba(182,36,100,.26); }
    #mh-site .mh-occasion-card:nth-child(3) { background: linear-gradient(180deg, #f5f0ff 0%, #fffdf8 100%); color: var(--mh-ink); border-color: rgba(122,66,255,.24); }
    #mh-site .mh-occasion-card:hover { transform: translateY(-6px); border-color: var(--mh-pink); box-shadow: 0 22px 54px rgba(0,0,0,.24); }
    #mh-site .mh-occasion-media {
      position: relative;
      overflow: hidden;
      aspect-ratio: 16 / 10;
      border-bottom: 2px solid var(--mh-line-light);
      background: var(--mh-ink-soft);
    }
    #mh-site .mh-occasion-card:nth-child(2) .mh-occasion-media { border-color: rgba(17,16,20,.22); }
    #mh-site .mh-occasion-media > img,
    #mh-site .mh-occasion-media > .mh-photo-placeholder {
      width: 100%;
      height: 100%;
      transition: transform .55s ease;
    }
    #mh-site .mh-occasion-media > img { object-fit: cover; }
    #mh-site .mh-occasion-card:hover .mh-occasion-media > img,
    #mh-site .mh-occasion-card:hover .mh-occasion-media > .mh-photo-placeholder { transform: scale(1.035); }
    #mh-site .mh-occasion-media::after {
      position: absolute;
      inset: auto 0 0;
      height: 42%;
      content: "";
      background: linear-gradient(transparent, rgba(17,16,20,.4));
      pointer-events: none;
    }
    #mh-site .mh-occasion-media .mh-photo-placeholder {
      min-height: 0;
      padding: 26px;
      color: rgba(255,255,255,.74);
      background:
        linear-gradient(135deg, rgba(182,36,100,.42), rgba(122,66,255,.28)),
        linear-gradient(135deg, rgba(255,255,255,.08) 25%, transparent 25%) 0 0/40px 40px,
        var(--mh-ink-soft);
    }
    #mh-site .mh-occasion-body {
      display: flex;
      flex: 1;
      flex-direction: column;
      padding: 30px 30px 36px;
    }
    #mh-site .mh-occasion-label {
      display: inline-flex;
      align-self: flex-start;
      padding: 7px 11px;
      border: 1px solid currentColor;
      border-radius: 999px;
      font-size: .65rem;
      font-weight: 800;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    #mh-site .mh-occasion-card h3 {
      max-width: 100%;
      margin: 20px 0 0;
      font-family: var(--mh-display);
      font-size: clamp(1.1rem, 1.45vw, 1.7rem);
      font-weight: 400;
      line-height: 1.05;
      letter-spacing: -.03em;
      text-transform: none;
      text-wrap: balance;
      hyphens: none;
    }
    #mh-site .mh-occasion-card p {
      position: relative;
      z-index: 2;
      max-width: 100%;
      margin: 14px 0 0;
      color: rgba(17,16,20,.72);
      font-size: .92rem;
      line-height: 1.68;
    }
    #mh-site .mh-occasion-card:nth-child(2) p,
    #mh-site .mh-occasion-card:nth-child(3) p { color: rgba(17,16,20,.72); }
    #mh-site .mh-occasion-index {
      position: absolute;
      z-index: 3;
      top: 18px;
      right: 18px;
      display: grid;
      width: 48px;
      height: 48px;
      place-items: center;
      border: 1px solid rgba(255,255,255,.58);
      border-radius: 50%;
      color: var(--mh-white);
      background: rgba(17,16,20,.68);
      backdrop-filter: blur(8px);
      font-family: var(--mh-display);
      font-size: 1rem;
      line-height: 1;
    }
    #mh-site .mh-occasion-card:nth-child(2) .mh-occasion-index { color: var(--mh-white); background: rgba(17,16,20,.72); }

    /* Bento */
    #mh-site .mh-heading-row {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 48px;
      margin-bottom: 58px;
    }
    #mh-site .mh-heading-row .mh-copy { max-width: 520px; margin: 0; }
    #mh-site .mh-bento {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-auto-rows: minmax(min-content, auto);
      align-items: stretch;
      gap: 16px;
    }
    #mh-site .mh-bento-card {
      position: relative;
      display: flex;
      min-height: 290px;
      height: auto;
      overflow: hidden;
      flex-direction: column;
      padding: 34px 34px 86px;
      border: 1px solid rgba(17,16,20,.14);
      border-radius: 24px;
      background: rgba(255,255,255,.8);
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    #mh-site .mh-bento-card:hover { transform: translateY(-5px) rotate(-.4deg); border-color: var(--mh-ink); box-shadow: 10px 12px 0 var(--mh-pink); }
    #mh-site .mh-bento-card h3, #mh-site .mh-bento-card p, #mh-site .mh-bento-card .mh-tiger { position: relative; z-index: 2; }
    #mh-site .mh-bento-card h3 { max-width: 340px; margin: 0; font-family: var(--mh-display); font-size: clamp(1.08rem, 1.45vw, 1.6rem); line-height: 1.1; letter-spacing: -.02em; text-transform: none; text-wrap: balance; }
    #mh-site .mh-bento-card p { max-width: 420px; margin: 14px 0 0; color: var(--mh-muted-dark); font-size: .95rem; line-height: 1.7; }
    #mh-site .mh-bento-index { position: absolute; z-index: 1; right: 22px; bottom: 16px; color: rgba(17,16,20,.16); font-family: var(--mh-display); font-size: 4.4rem; line-height: 1; pointer-events: none; }
    #mh-site .mh-card-a { grid-column: span 7; min-height: 340px; background: var(--mh-ink); color: var(--mh-white); }
    #mh-site .mh-card-a p { color: var(--mh-muted-light); }
    #mh-site .mh-card-a .mh-bento-index { color: rgba(255,255,255,.12); }
    #mh-site .mh-card-a::before {
      position: absolute;
      right: -54px;
      bottom: -92px;
      width: 220px;
      height: 220px;
      border: 32px solid rgba(182,36,100,.82);
      border-radius: 50%;
      content: "";
    }
    #mh-site .mh-card-b { grid-column: span 5; min-height: 340px; color: var(--mh-ink); background: linear-gradient(180deg, #fff8fc 0%, #fffdf8 100%); border-color: rgba(182,36,100,.26); }
    #mh-site .mh-card-b p { color: rgba(17,16,20,.72); }
    #mh-site .mh-card-c { grid-column: span 4; }
    #mh-site .mh-card-d { grid-column: span 4; }
    #mh-site .mh-card-e { grid-column: span 4; color: var(--mh-ink); background: linear-gradient(180deg, #f5f0ff 0%, #fffdf8 100%); border-color: rgba(122,66,255,.24); }
    #mh-site .mh-card-e p { color: rgba(17,16,20,.72); }
    #mh-site .mh-card-f { grid-column: span 6; }
    #mh-site .mh-card-g { grid-column: span 6; }
    #mh-site .mh-tiger {
      display: inline-block;
      margin-top: 16px;
      padding: 7px 12px;
      border: 1px solid rgba(17,16,20,.5);
      border-radius: 999px;
      background: var(--mh-white);
      font-size: .68rem;
      font-weight: 800;
      text-transform: uppercase;
      transform: none;
    }

    /* Numbers */
    #mh-site .mh-numbers {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      border-top: 2px solid var(--mh-line-light);
      border-bottom: 2px solid var(--mh-line-light);
    }
    #mh-site .mh-number {
      min-height: 280px;
      padding: 36px 30px;
      border-right: 2px solid var(--mh-line-light);
    }
    #mh-site .mh-number:last-child { border-right: 0; }
    #mh-site .mh-number strong { display: block; color: var(--mh-white); font-family: var(--mh-display); font-size: clamp(3.6rem, 6vw, 5.6rem); line-height: .9; letter-spacing: -.06em; }
    #mh-site .mh-number span { display: block; max-width: 220px; margin-top: 18px; color: rgba(255,255,255,.72); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

    /* Show profile */
    #mh-site .mh-profile-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 76px;
      align-items: center;
    }
    #mh-site .mh-profile-media { position: relative; min-height: 720px; }
    #mh-site .mh-profile-photo {
      position: absolute;
      inset: 20px 28px 34px 0;
      overflow: hidden;
      border: 4px solid var(--mh-ink);
      border-radius: 20px;
      box-shadow: 18px 18px 0 var(--mh-pink);
    }
    #mh-site .mh-profile-photo .mh-photo-placeholder { color: var(--mh-ink); background: linear-gradient(135deg, rgba(182,36,100,.68), rgba(122,66,255,.48)), var(--mh-paper-2); }
    #mh-site .mh-profile-tag {
      position: absolute;
      z-index: 4;
      right: -10px;
      bottom: 8px;
      max-width: 300px;
      padding: 22px;
      border: 3px solid var(--mh-ink);
      color: var(--mh-white);
      background: var(--mh-ink);
      font-family: var(--mh-serif);
      font-size: 1.6rem;
      font-style: italic;
      line-height: 1.1;
      transform: rotate(4deg);
      box-shadow: 10px 10px 0 var(--mh-violet);
    }
    #mh-site .mh-profile-copy .mh-title { font-size: clamp(2.25rem, 4vw, 4.2rem); }
    #mh-site .mh-profile-list { display: grid; gap: 0; margin: 42px 0 0; border-top: 2px solid var(--mh-line-dark); }
    #mh-site .mh-profile-item { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 24px 0; border-bottom: 2px solid var(--mh-line-dark); }
    #mh-site .mh-profile-item strong { color: var(--mh-pink); font-family: var(--mh-display); font-size: 1.3rem; font-style: normal; font-weight: 400; line-height: 1; }
    #mh-site .mh-profile-item h3 { margin: 0; font-size: 1rem; }
    #mh-site .mh-profile-item p { margin: 6px 0 0; color: var(--mh-muted-dark); font-size: .88rem; }

    /* Theatre */
    #mh-site .mh-theatre-grid {
      display: grid;
      grid-template-columns: 1.04fr .96fr;
      gap: 70px;
      align-items: center;
    }
    #mh-site .mh-theatre-visual {
      position: relative;
      min-height: 640px;
    }
    #mh-site .mh-stage {
      position: absolute;
      inset: 20px 0 0 30px;
      overflow: hidden;
      border: 3px solid var(--mh-ink);
      border-radius: 200px 200px 18px 18px;
      background: var(--mh-ink);
      box-shadow: 18px 18px 0 rgba(17,16,20,.25);
    }
    #mh-site .mh-stage .mh-photo-placeholder { background: radial-gradient(circle at 50% 30%, rgba(255,255,255,.25), transparent 24%), linear-gradient(90deg, rgba(182,36,100,.9), transparent 20%, transparent 80%, rgba(182,36,100,.9)), #27101f; }
    #mh-site .mh-stage-badge {
      position: absolute;
      z-index: 5;
      top: 0;
      left: 0;
      padding: 15px 18px;
      border: 3px solid var(--mh-ink);
      background: var(--mh-white);
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
      transform: rotate(-5deg);
    }
    #mh-site .mh-theatre-benefits { display: grid; gap: 14px; margin-top: 38px; }
    #mh-site .mh-benefit {
      display: grid;
      grid-template-columns: 44px 1fr;
      gap: 16px;
      align-items: start;
      padding: 18px 0;
      border-bottom: 2px solid rgba(17,16,20,.28);
    }
    #mh-site .mh-benefit span { display: grid; width: 40px; height: 40px; place-items: center; border: 2px solid var(--mh-ink); border-radius: 50%; font-family: var(--mh-display); font-size: .8rem; }
    #mh-site .mh-benefit h3 { margin: 0; font-size: 1rem; }
    #mh-site .mh-benefit p { margin: 5px 0 0; color: rgba(17,16,20,.72); font-size: .86rem; }


    /* Reviews */
    #mh-site .mh-reviews-side { display: grid; gap: 18px; max-width: 520px; }
    #mh-site .mh-reviews-summary {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      width: fit-content;
      padding: 16px 20px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 18px;
      background: rgba(255,255,255,.04);
    }
    #mh-site .mh-reviews-summary strong { font-family: var(--mh-display); font-size: clamp(2.3rem, 3.2vw, 3.2rem); line-height: 1; }
    #mh-site .mh-reviews-summary__stars { color: #f6cd53; font-size: 1.15rem; letter-spacing: .18em; }
    #mh-site .mh-reviews-summary small { font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .72; }
    #mh-site .mh-reviews-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      margin-top: 56px;
      align-items: stretch;
    }
    #mh-site .mh-review {
      display: flex;
      flex-direction: column;
      gap: 18px;
      min-height: 100%;
      padding: 28px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 28px;
      background: linear-gradient(180deg, #fffafc 0%, #fffef9 100%);
      color: var(--mh-ink);
      box-shadow: 0 18px 40px rgba(0,0,0,.14);
    }
    #mh-site .mh-review:nth-child(1) {
      background: linear-gradient(180deg, rgba(29,26,38,1) 0%, rgba(19,18,26,1) 100%);
      color: var(--mh-white);
      border-color: rgba(255,255,255,.12);
    }
    #mh-site .mh-review:nth-child(2) { border-color: rgba(182,36,100,.28); }
    #mh-site .mh-review:nth-child(3) { background: linear-gradient(180deg, #ffffff 0%, #f8f6ff 100%); }
    #mh-site .mh-review-top { display: flex; align-items: center; gap: 14px; }
    #mh-site .mh-review-avatar {
      display: grid;
      width: 54px;
      height: 54px;
      place-items: center;
      border: 1px solid rgba(182,36,100,.24);
      border-radius: 50%;
      background: rgba(182,36,100,.10);
      color: var(--mh-pink);
      font-family: var(--mh-display);
      font-size: 1.1rem;
      font-weight: 800;
      flex: 0 0 auto;
    }
    #mh-site .mh-review:nth-child(1) .mh-review-avatar { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: var(--mh-white); }
    #mh-site .mh-review-person strong { display: block; font-size: 1rem; font-weight: 800; line-height: 1.2; }
    #mh-site .mh-review-person span { display: block; margin-top: 4px; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .66; }
    #mh-site .mh-review-stars { color: #f6cd53; font-size: 1rem; letter-spacing: .18em; }
    #mh-site .mh-review blockquote { margin: 0; font-family: var(--mh-sans); font-size: clamp(1rem, 1.35vw, 1.22rem); font-weight: 600; line-height: 1.68; }
    #mh-site .mh-review footer { margin-top: auto; padding-top: 8px; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .66; }

    /* Process */
    #mh-site .mh-process {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      margin-top: 62px;
      border-top: 3px solid var(--mh-ink);
      border-bottom: 3px solid var(--mh-ink);
    }
    #mh-site .mh-step { position: relative; min-height: 340px; padding: 34px 28px; border-right: 3px solid var(--mh-ink); }
    #mh-site .mh-step:last-child { border-right: 0; }
    #mh-site .mh-step-num { display: block; color: var(--mh-ink); font-family: var(--mh-display); font-size: 3.8rem; line-height: 1; }
    #mh-site .mh-step h3 { margin: 56px 0 12px; font-family: var(--mh-display); font-size: 1.18rem; line-height: 1.15; letter-spacing: -.02em; text-transform: none; }
    #mh-site .mh-step p { margin: 0; color: var(--mh-muted-dark); font-size: .85rem; }

    /* FAQ */
    #mh-site .mh-faq-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; align-items: start; }
    #mh-site .mh-faq-intro { position: sticky; top: 128px; }
    #mh-site .mh-faq-intro .mh-title { max-width: 540px; }
    #mh-site .mh-faq-list { border-top: 2px solid var(--mh-line-light); }
    #mh-site .mh-faq-item { border-bottom: 2px solid var(--mh-line-light); }
    #mh-site .mh-faq-q {
      display: grid;
      width: 100%;
      grid-template-columns: 1fr 44px;
      align-items: center;
      gap: 20px;
      padding: 26px 0;
      border: 0;
      color: var(--mh-white);
      background: transparent;
      text-align: left;
      cursor: pointer;
    }
    #mh-site .mh-faq-q strong { font-size: 1rem; }
    #mh-site .mh-faq-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid var(--mh-line-light); border-radius: 50%; color: var(--mh-pink); font-size: 1.4rem; transition: transform .2s ease; }
    #mh-site .mh-faq-q[aria-expanded="true"] .mh-faq-icon { transform: rotate(45deg); }
    #mh-site .mh-faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s ease; }
    #mh-site .mh-faq-a > div { overflow: hidden; }
    #mh-site .mh-faq-a p { margin: 0; padding: 0 64px 28px 0; color: var(--mh-muted-light); font-size: .9rem; }
    #mh-site .mh-faq-item.mh-open .mh-faq-a { grid-template-rows: 1fr; }

    /* CTA */
    #mh-site .mh-cta {
      position: relative;
      overflow: hidden;
      border-top: 4px solid var(--mh-ink);
      background: var(--mh-pink);
    }
    #mh-site .mh-cta::before {
      position: absolute;
      top: -140px;
      right: -120px;
      width: 520px;
      height: 520px;
      border: 80px solid var(--mh-ink);
      border-radius: 50%;
      content: "";
      opacity: .08;
    }
    #mh-site .mh-cta-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 74px; align-items: start; }
    #mh-site .mh-cta .mh-title { font-size: clamp(3.7rem, 7vw, 7.2rem); }
    #mh-site .mh-handnote {
      display: inline-block;
      margin-top: 30px;
      padding: 16px 20px;
      border: 3px solid var(--mh-ink);
      background: var(--mh-white);
      font-family: var(--mh-serif);
      font-size: 1.55rem;
      font-style: italic;
      line-height: 1.1;
      transform: rotate(-2deg);
      box-shadow: 8px 8px 0 var(--mh-ink);
    }
    #mh-site .mh-form {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      padding: 34px;
      border: 3px solid var(--mh-ink);
      border-radius: 24px;
      background: var(--mh-white);
      box-shadow: 16px 16px 0 var(--mh-ink);
    }
    #mh-site .mh-field { display: grid; gap: 7px; }
    #mh-site .mh-field--full { grid-column: 1 / -1; }
    #mh-site .mh-field label { font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    #mh-site .mh-field input, #mh-site .mh-field select, #mh-site .mh-field textarea {
      width: 100%;
      border: 2px solid var(--mh-line-dark);
      border-radius: 10px;
      outline: 0;
      color: var(--mh-ink);
      background: var(--mh-paper);
      transition: border-color .2s ease, box-shadow .2s ease;
    }
    #mh-site .mh-field input, #mh-site .mh-field select { height: 54px; padding: 0 15px; }
    #mh-site .mh-field textarea { min-height: 132px; padding: 14px 15px; resize: vertical; }
    #mh-site .mh-field input:focus, #mh-site .mh-field select:focus, #mh-site .mh-field textarea:focus { border-color: var(--mh-pink); box-shadow: 0 0 0 4px rgba(182,36,100,.13); }
    #mh-site .mh-form-note { grid-column: 1 / -1; margin: 0; color: var(--mh-muted-dark); font-size: .68rem; }
    #mh-site .mh-form .mh-button { grid-column: 1 / -1; width: 100%; }

    /* Footer */
    #mh-site .mh-footer { padding: 62px 0 28px; color: var(--mh-white); background: var(--mh-ink); }
    #mh-site .mh-footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, .65fr); gap: 48px; padding-bottom: 48px; }
    #mh-site .mh-footer .mh-logo { color: var(--mh-white); }
    #mh-site .mh-footer-copy { max-width: 380px; margin: 22px 0 0; color: var(--mh-muted-light); font-size: .84rem; }
    #mh-site .mh-footer-col h3 { margin: 0 0 18px; color: var(--mh-pink); font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
    #mh-site .mh-footer-col a { display: block; margin: 10px 0; color: var(--mh-muted-light); font-size: .78rem; }
    #mh-site .mh-footer-col a:hover { color: var(--mh-white); }
    #mh-site .mh-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid var(--mh-line-light); color: rgba(255,255,255,.48); font-size: .68rem; }
    #mh-site .mh-top { display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid var(--mh-line-light); border-radius: 50%; }

    /* Refined homepage type scale */
    #mh-site .mh-homepage .mh-section { padding: 106px 0; }
    #mh-site .mh-homepage .mh-title { font-size: clamp(2rem, 3.5vw, 3.8rem); line-height: 1.04; }
    #mh-site .mh-homepage .mh-identity-quote { font-size: clamp(2rem, 4vw, 3.8rem); }
    #mh-site .mh-homepage .mh-big-copy { font-size: clamp(1rem, 1.3vw, 1.2rem); }
    #mh-site .mh-homepage .mh-bento-card h3 { font-size: clamp(1.05rem, 1.35vw, 1.45rem); line-height: 1.1; }
    #mh-site .mh-homepage .mh-number strong { font-size: clamp(3.1rem, 4.8vw, 4.8rem); }
    #mh-site .mh-homepage .mh-profile-copy .mh-title { font-size: clamp(2.1rem, 3.7vw, 3.8rem); }
    #mh-site .mh-homepage .mh-review blockquote { font-size: clamp(1rem, 1.45vw, 1.35rem); }
    #mh-site .mh-homepage .mh-cta .mh-title { font-size: clamp(2.25rem, 3.9vw, 4rem); }

    /* Reveal */
    #mh-site .mh-reveal { opacity: 1; transform: none; }
    .mh-js #mh-site .mh-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
    .mh-js #mh-site .mh-reveal.mh-visible { opacity: 1; transform: none; }
    /* The hero artwork contains overlapping editorial elements. Keeping the
       wrapper out of the reveal transform prevents it from trapping the stamp
       underneath the headline in a separate stacking context. */
    .mh-js #mh-site .mh-hero-art.mh-reveal,
    .mh-js #mh-site .mh-hero-art.mh-reveal.mh-visible {
      opacity: 1;
      transform: none;
      transition: none;
    }
    #mh-site .mh-delay-1 { transition-delay: .08s; }
    #mh-site .mh-delay-2 { transition-delay: .16s; }
    #mh-site .mh-delay-3 { transition-delay: .24s; }

    #mh-site :focus-visible { outline: 3px solid var(--mh-pink); outline-offset: 4px; }

    @media (max-width: 1100px) {
      #mh-site .mh-hero-grid, #mh-site .mh-profile-grid, #mh-site .mh-theatre-grid, #mh-site .mh-cta-grid { grid-template-columns: 1fr; }
      #mh-site .mh-hero { padding-bottom: 90px; }
      #mh-site .mh-hero-art { width: min(100%, 700px); margin: 20px auto 0; }
      #mh-site .mh-identity-grid { grid-template-columns: 1fr; gap: 44px; }
      #mh-site .mh-bento { grid-auto-rows: minmax(170px, auto); }
      #mh-site .mh-card-a, #mh-site .mh-card-b { grid-column: span 6; }
      #mh-site .mh-card-c, #mh-site .mh-card-d, #mh-site .mh-card-e { grid-column: span 4; }
      #mh-site .mh-numbers { grid-template-columns: repeat(2, 1fr); }
      #mh-site .mh-number:nth-child(2) { border-right: 0; }
      #mh-site .mh-number:nth-child(-n+2) { border-bottom: 2px solid var(--mh-line-light); }
      #mh-site .mh-profile-media { width: min(100%, 700px); }
      #mh-site .mh-heading-row { align-items: start; flex-direction: column; }
      #mh-site .mh-faq-grid { grid-template-columns: 1fr; gap: 44px; }
      #mh-site .mh-faq-intro { position: static; }
      #mh-site .mh-footer-grid { grid-template-columns: 1.2fr repeat(2, .7fr); }
    }

    @media (max-width: 860px) {
      #mh-site .mh-navlinks {
        position: fixed;
        inset: 86px 0 auto;
        display: grid;
        max-height: 0;
        overflow: hidden;
        gap: 0;
        padding: 0 24px;
        color: var(--mh-white);
        background: rgba(17,16,20,.98);
        transition: max-height .3s ease, padding .3s ease;
      }
      #mh-site .mh-navlinks.mh-open { max-height: 580px; padding: 18px 24px 28px; }
      #mh-site .mh-navlinks a { padding: 14px 0; border-bottom: 1px solid var(--mh-line-light); }
      #mh-site .mh-navlinks .mh-button { margin-top: 16px; border-bottom: 0; }
      #mh-site .mh-menu { display: block; }
      #mh-site .mh-hero::before { width: 300px; height: 300px; top: -70px; right: -40px; }
      #mh-site .mh-bento { grid-template-columns: repeat(2, 1fr); }
      #mh-site .mh-occasion-grid { grid-template-columns: 1fr; }
      #mh-site .mh-occasion-card { min-height: 0; }
      #mh-site .mh-occasion-media { aspect-ratio: 16 / 8.5; }
      #mh-site .mh-card-a, #mh-site .mh-card-b, #mh-site .mh-card-c, #mh-site .mh-card-d, #mh-site .mh-card-e, #mh-site .mh-card-f, #mh-site .mh-card-g { grid-column: span 1; min-height: 0; padding: 36px 34px 96px; }
      #mh-site .mh-card-a, #mh-site .mh-card-b { min-height: 350px; }
      #mh-site .mh-reviews-grid { grid-template-columns: 1fr; }
      #mh-site .mh-review:nth-child(1), #mh-site .mh-review:nth-child(2), #mh-site .mh-review:nth-child(3) { grid-column: auto; }
      #mh-site .mh-process { grid-template-columns: repeat(2, 1fr); }
      #mh-site .mh-step:nth-child(2) { border-right: 0; }
      #mh-site .mh-step:nth-child(-n+2) { border-bottom: 3px solid var(--mh-ink); }
      #mh-site .mh-footer-grid { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 620px) {
      #mh-site { font-size: 16px; }
      #mh-site .mh-container { width: min(calc(100% - 28px), var(--mh-max)); }
      #mh-site .mh-section { padding: 90px 0; }
      #mh-site .mh-homepage .mh-section { padding: 82px 0; }
      #mh-site .mh-hero { min-height: auto; padding-top: 124px; }
      #mh-site .mh-hero h1 { font-size: clamp(2.35rem, 10vw, 3.35rem); line-height: 1; }
      #mh-site .mh-hero h1 .mh-script { margin-left: 0; }
      #mh-site .mh-hero-actions { align-items: stretch; flex-direction: column; }
      #mh-site .mh-hero-actions .mh-button { width: 100%; }
      #mh-site .mh-hero-art { min-height: 500px; }
      #mh-site .mh-photo-main { inset: 26px 6px 24px 14px; }
      #mh-site .mh-duration-stamp { width: 112px; height: 112px; }
      #mh-site .mh-duration-stamp strong { font-size: 1.9rem; }
      #mh-site .mh-mini-note { top: 100px; right: -4px; width: 152px; font-size: 1rem; }
      #mh-site .mh-photo-caption { right: 20px; bottom: 42px; left: 34px; }
      #mh-site .mh-photo-caption strong { font-size: 1.8rem; }
      #mh-site .mh-identity-quote { font-size: clamp(2.8rem, 15vw, 4.8rem); }
      #mh-site .mh-review-mini { padding-left: 52px; }
      #mh-site .mh-bento { grid-template-columns: 1fr; }
      #mh-site .mh-bento-card { padding: 34px 28px 90px; }
      #mh-site .mh-occasion-body { padding: 26px 24px 30px; }
      #mh-site .mh-occasion-media { aspect-ratio: 4 / 3; }
      #mh-site .mh-occasion-card h3 { font-size: clamp(1.15rem, 6vw, 1.55rem); }
      #mh-site .mh-numbers { grid-template-columns: 1fr; }
      #mh-site .mh-number { border-right: 0; border-bottom: 2px solid var(--mh-line-light); }
      #mh-site .mh-number:last-child { border-bottom: 0; }
      #mh-site .mh-number:nth-child(-n+2) { border-bottom: 2px solid var(--mh-line-light); }
      #mh-site .mh-profile-media { min-height: 500px; }
      #mh-site .mh-profile-tag { right: 0; max-width: 240px; font-size: 1.3rem; }
      #mh-site .mh-theatre-visual { min-height: 490px; }
      #mh-site .mh-process { grid-template-columns: 1fr; }
      #mh-site .mh-step { min-height: 280px; border-right: 0; border-bottom: 3px solid var(--mh-ink); }
      #mh-site .mh-step:nth-child(-n+2) { border-bottom: 3px solid var(--mh-ink); }
      #mh-site .mh-step:last-child { border-bottom: 0; }
      #mh-site .mh-step h3 { margin-top: 52px; }
      #mh-site .mh-form { grid-template-columns: 1fr; padding: 24px; box-shadow: 9px 9px 0 var(--mh-ink); }
      #mh-site .mh-field--full, #mh-site .mh-form-note, #mh-site .mh-form .mh-button { grid-column: 1; }
      #mh-site .mh-footer-grid { grid-template-columns: 1fr; }
      #mh-site .mh-footer-bottom { align-items: flex-start; flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      #mh-site *, #mh-site *::before, #mh-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      #mh-site .mh-reveal { opacity: 1 !important; transform: none !important; }
    }

/* WordPress compatibility */
body.admin-bar #mh-site .mh-header { top: 32px; }
#mh-site .mh-menu-list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
#mh-site .mh-menu-list li { margin: 0; padding: 0; }
#mh-site .mh-menu-list a { display: inline-block; }
#mh-site .mh-logo-image { width: auto; max-width: 190px; height: 48px; object-fit: contain; }
#mh-site .mh-form-alert { grid-column: 1 / -1; margin: 0 0 4px; padding: 14px 16px; border: 2px solid var(--mh-ink); border-radius: 14px; background: rgba(255,255,255,.38); font-weight: 700; }
#mh-site .mh-form-alert--error { color: #7b1020; background: #ffd9df; }
#mh-site .mh-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
#mh-site .mh-content-page { min-height: 70vh; padding: 160px 0 100px; }
#mh-site .mh-content-wrap { width: min(calc(100% - 48px), 920px); margin-inline: auto; }
#mh-site .mh-content-wrap h1 { margin: 0 0 36px; font-family: var(--mh-display); font-size: clamp(3rem, 7vw, 6rem); line-height: .94; letter-spacing: -.055em; text-transform: uppercase; }
#mh-site .mh-entry-content { font-size: 1.08rem; line-height: 1.8; }
#mh-site .mh-entry-content > * { max-width: 760px; }
#mh-site .mh-entry-content > .alignwide { max-width: 1100px; }
#mh-site .mh-entry-content > .alignfull { max-width: none; }
#mh-site .mh-entry-content a { text-decoration: underline; text-decoration-color: var(--mh-pink); text-decoration-thickness: 3px; text-underline-offset: 3px; }
#mh-site .mh-pagination { display: flex; gap: 16px; margin-top: 40px; }
#mh-site .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 782px) { body.admin-bar #mh-site .mh-header { top: 46px; } }
@media (max-width: 760px) {
  #mh-site .mh-menu-list { align-items: stretch; flex-direction: column; gap: 0; width: 100%; }
  #mh-site .mh-menu-list li, #mh-site .mh-menu-list a { width: 100%; }
}

@media (max-width: 860px) {
  body.admin-bar #mh-site .mh-navlinks { inset: 118px 0 auto; }
}
@media (max-width: 782px) {
  body.admin-bar #mh-site .mh-navlinks { inset: 132px 0 auto; }
}

/* =========================================================
   Branded, editable subpages — Theme 2.0
   ========================================================= */
#mh-site .mh-page-hero {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  padding: 160px 0 96px;
  border-bottom: 3px solid var(--mh-ink);
}
#mh-site .mh-page-hero--paper { color: var(--mh-ink); background: var(--mh-paper); }
#mh-site .mh-page-hero--dark { color: var(--mh-white); background: var(--mh-ink); }
#mh-site .mh-page-hero--pink { color: var(--mh-ink); background: var(--mh-pink); }
#mh-site .mh-page-hero::before {
  position: absolute;
  z-index: 0;
  right: -10vw;
  bottom: -28vw;
  width: min(62vw, 900px);
  aspect-ratio: 1;
  border: 3px solid currentColor;
  border-radius: 50%;
  content: "";
  opacity: .12;
}
#mh-site .mh-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
  align-items: center;
  gap: clamp(42px, 7vw, 110px);
}
#mh-site .mh-page-hero__copy { position: relative; z-index: 3; }
#mh-site .mh-page-title {
  max-width: 990px;
  margin: 0;
  font-family: var(--mh-display);
  font-size: clamp(4rem, 8.2vw, 8.6rem);
  font-weight: 400;
  line-height: .86;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
#mh-site .mh-page-title em {
  display: inline;
  font-family: var(--mh-serif);
  font-weight: 400;
  text-transform: none;
}
#mh-site .mh-page-lead {
  max-width: 750px;
  margin: 34px 0 0;
  font-size: clamp(1.08rem, 1.9vw, 1.34rem);
  line-height: 1.66;
  opacity: .76;
}
#mh-site .mh-page-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
#mh-site .mh-page-hero--dark .mh-button--outline { border-color: var(--mh-white); color: var(--mh-white); }
#mh-site .mh-page-hero--dark .mh-button--outline:hover { color: var(--mh-ink); background: var(--mh-white); }
#mh-site .mh-page-hero__visual { position: relative; min-height: 530px; }
#mh-site .mh-page-hero__image {
  position: absolute;
  inset: 0 24px 18px 0;
  overflow: hidden;
  border: 3px solid currentColor;
  border-radius: 220px 220px 30px 30px;
  box-shadow: 20px 20px 0 var(--mh-pink);
  background: var(--mh-ink-soft);
  transform: rotate(2deg);
}
#mh-site .mh-page-hero--pink .mh-page-hero__image { box-shadow: 20px 20px 0 var(--mh-ink); }
#mh-site .mh-page-hero__image .mh-photo-placeholder { min-height: 100%; }
#mh-site .mh-page-badge {
  position: absolute;
  z-index: 4;
  right: -8px;
  bottom: 0;
  max-width: 240px;
  padding: 18px 22px;
  border: 3px solid var(--mh-ink);
  border-radius: 50%;
  color: var(--mh-ink);
  background: var(--mh-pink);
  font-family: var(--mh-serif);
  font-size: clamp(1.3rem, 2.5vw, 2.1rem);
  font-style: italic;
  line-height: .95;
  text-align: center;
  transform: rotate(-8deg);
}
#mh-site .mh-page-hero--pink .mh-page-badge { color: var(--mh-white); background: var(--mh-ink); }
body.mh-page-style-dark #mh-site .mh-header:not(.mh-scrolled) { color: var(--mh-white); }
body.mh-page-style-dark #mh-site .mh-header:not(.mh-scrolled) .mh-button { border-color: var(--mh-white); color: var(--mh-ink); background: var(--mh-white); }

#mh-site .mh-subpage-content { background: var(--mh-paper); }
#mh-site .mh-subpage-content > * { margin-block-start: 0; margin-block-end: 0; }
#mh-site .mh-subpage-content > :not(.alignfull):not(.alignwide):not(.mh-rich-media):not(.mh-reviews-wall) { width: min(calc(100% - 48px), 820px); margin-inline: auto; }
#mh-site .mh-subpage-content > .alignwide { width: min(calc(100% - 48px), var(--mh-max)); margin-inline: auto; }
#mh-site .mh-subpage-content > .alignfull { width: 100%; }
#mh-site .mh-subpage-content > p:first-child:not([class]) { padding-top: 90px; }
#mh-site .mh-subpage-content > p:last-child:not([class]) { padding-bottom: 90px; }

/* Gutenberg patterns */
#mh-site .mh-block-section { position: relative; padding: 120px 0; }
#mh-site .mh-block-inner { width: min(calc(100% - 48px), var(--mh-max)); margin-inline: auto; }
#mh-site .mh-block-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
#mh-site .mh-block-kicker::before { width: 38px; height: 4px; content: ""; background: var(--mh-pink); }
#mh-site .mh-block-display {
  margin: 0;
  font-family: var(--mh-display);
  font-size: clamp(3rem, 6.5vw, 7rem);
  line-height: .91;
  letter-spacing: -.055em;
  text-transform: uppercase;
}
#mh-site .mh-block-title {
  max-width: 1000px;
  margin: 0 0 34px;
  font-family: var(--mh-display);
  font-size: clamp(2.7rem, 5vw, 5.3rem);
  line-height: .92;
  letter-spacing: -.05em;
  text-transform: uppercase;
}
#mh-site .mh-block-lead { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.6; }
#mh-site .mh-block-statement { background: var(--mh-paper-2); }
#mh-site .mh-block-statement .mh-block-inner { gap: clamp(40px, 8vw, 130px); align-items: end; }
#mh-site .mh-block-statement .mh-block-inner > *:last-child { max-width: 620px; }

#mh-site .mh-block-image-text { background: var(--mh-paper); }
#mh-site .mh-block-image-text .wp-block-columns { gap: clamp(44px, 7vw, 100px); }
#mh-site .mh-block-image-text .wp-block-column:first-child { position: relative; }
#mh-site .mh-block-photo {
  min-height: 570px;
  overflow: hidden;
  border: 3px solid var(--mh-ink);
  border-radius: 240px 240px 24px 24px;
  box-shadow: 18px 18px 0 var(--mh-pink);
  background: var(--mh-ink-soft);
}
#mh-site .mh-block-photo img { min-height: 570px; object-fit: cover; }
#mh-site .mh-block-photo img[src=""] { visibility: hidden; }
#mh-site .mh-block-sticker {
  position: absolute;
  right: -18px;
  bottom: 36px;
  margin: 0;
  padding: 18px 22px;
  border: 3px solid var(--mh-ink);
  background: var(--mh-pink);
  font-family: var(--mh-serif);
  font-size: 1.65rem;
  font-style: italic;
  line-height: 1;
  transform: rotate(-7deg);
}
#mh-site .mh-block-list { padding: 0; list-style: none; }
#mh-site .mh-block-list li { position: relative; margin: 12px 0; padding-left: 32px; font-weight: 700; }
#mh-site .mh-block-list li::before { position: absolute; top: .5em; left: 0; width: 13px; height: 13px; border-radius: 50%; content: ""; background: var(--mh-pink); }

#mh-site .mh-block-cards-section { background: var(--mh-paper-2); }
#mh-site .mh-block-card-grid { margin-top: 60px; gap: 0; border: 3px solid var(--mh-ink); }
#mh-site .mh-block-card { position: relative; min-height: 330px; padding: 34px; border-right: 3px solid var(--mh-ink); background: var(--mh-paper); }
#mh-site .mh-block-card:last-child { border-right: 0; }
#mh-site .mh-block-card:nth-child(2), #mh-site .mh-block-card:nth-child(4) { background: var(--mh-pink); }
#mh-site .mh-block-card h3 { margin: 74px 0 14px; font-family: var(--mh-display); font-size: clamp(1.6rem, 2.6vw, 2.5rem); line-height: .98; text-transform: uppercase; }
#mh-site .mh-block-number { position: absolute; top: 26px; right: 28px; margin: 0; font-family: var(--mh-serif); font-size: 3rem; font-style: italic; }

#mh-site .mh-block-stats { color: var(--mh-white); background: var(--mh-ink); }
#mh-site .mh-block-stat-grid { gap: 0; }
#mh-site .mh-block-stat { min-height: 230px; padding: 38px; border-right: 2px solid var(--mh-line-light); }
#mh-site .mh-block-stat:last-child { border-right: 0; }
#mh-site .mh-block-stat h3 { margin: 0; color: var(--mh-pink); font-family: var(--mh-display); font-size: clamp(3.8rem, 7vw, 7.4rem); line-height: .85; letter-spacing: -.06em; }
#mh-site .mh-block-stat p { max-width: 190px; margin-top: 24px; color: var(--mh-muted-light); font-weight: 700; }

#mh-site .mh-block-quote { overflow: hidden; color: var(--mh-white); background: var(--mh-ink); }
#mh-site .mh-block-quote::before { position: absolute; top: -120px; right: 8vw; content: "“"; color: var(--mh-pink); font-family: var(--mh-serif); font-size: 34rem; line-height: 1; opacity: .16; }
#mh-site .mh-block-quote__inner { position: relative; z-index: 2; width: min(calc(100% - 48px), 1100px); margin: 0 auto; border: 0; }
#mh-site .mh-block-quote__inner p { margin: 0; font-family: var(--mh-serif); font-size: clamp(3rem, 7vw, 7.2rem); font-style: italic; line-height: .96; }
#mh-site .mh-block-quote__inner cite { display: block; margin-top: 34px; color: var(--mh-pink); font-family: var(--mh-sans); font-size: .82rem; font-style: normal; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

#mh-site .mh-block-faq { color: var(--mh-white); background: var(--mh-ink); }
#mh-site .mh-block-faq .mh-block-inner { gap: clamp(50px, 8vw, 120px); }
#mh-site .mh-block-faq .mh-block-title { color: var(--mh-white); }
#mh-site .mh-block-faq .mh-block-inner > *:first-child p:not(.mh-block-kicker) { color: var(--mh-muted-light); }
#mh-site .mh-block-details details { border-top: 2px solid var(--mh-line-light); }
#mh-site .mh-block-details details:last-child { border-bottom: 2px solid var(--mh-line-light); }
#mh-site .mh-block-details summary { padding: 24px 44px 24px 0; font-size: 1.08rem; font-weight: 800; cursor: pointer; }
#mh-site .mh-block-details details > p { margin: 0; padding: 0 0 26px; color: var(--mh-muted-light); }

#mh-site .mh-block-gallery-section { background: var(--mh-paper); }
#mh-site .mh-block-gallery { display: grid; grid-template-columns: 1.1fr .9fr .9fr 1.1fr; grid-template-rows: 250px 250px; gap: 14px; margin-top: 52px; }
#mh-site .mh-block-gallery .wp-block-image { width: 100% !important; height: 100%; margin: 0 !important; overflow: hidden; border: 3px solid var(--mh-ink); }
#mh-site .mh-block-gallery .wp-block-image:nth-child(1) { grid-row: span 2; border-radius: 180px 0 0 0; }
#mh-site .mh-block-gallery .wp-block-image:nth-child(2) { grid-column: span 2; }
#mh-site .mh-block-gallery .wp-block-image:nth-child(4) { border-radius: 0 0 180px 0; }
#mh-site .mh-block-gallery img { height: 100%; object-fit: cover; }
#mh-site .mh-block-gallery img[src=""] { min-height: 100%; visibility: hidden; background: var(--mh-paper-2); }

#mh-site .mh-block-reading { padding: 100px 0; }
#mh-site .mh-block-reading h2 { margin-top: 0; font-family: var(--mh-display); font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: .98; text-transform: uppercase; }
#mh-site .mh-block-reading p, #mh-site .mh-block-reading li { font-size: 1.08rem; line-height: 1.82; }

#mh-site .mh-subpage-cta { position: relative; padding: 110px 0; color: var(--mh-ink); background: var(--mh-pink); }
#mh-site .mh-subpage-cta__grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 70px; }
#mh-site .mh-subpage-cta .mh-copy { color: rgba(17,16,20,.76); }
#mh-site .mh-subpage-cta__action { display: grid; justify-items: start; gap: 24px; }
#mh-site .mh-subpage-cta__action p { max-width: 470px; margin: 0; font-family: var(--mh-serif); font-size: clamp(1.8rem, 3vw, 3.2rem); font-style: italic; line-height: 1.04; }

#mh-site .mh-contact-page { position: relative; padding: 120px 0; background: var(--mh-pink); }
#mh-site .mh-contact-page__grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: clamp(48px, 7vw, 100px); }
#mh-site .mh-contact-page .mh-copy { color: rgba(17,16,20,.76); }
#mh-site .mh-contact-intro-note { width: min(calc(100% - 48px), 800px); margin: 0 auto; padding: 80px 0 0; font-size: 1.22rem; text-align: center; }

#mh-site .mh-legal-hero { padding: 180px 0 84px; color: var(--mh-white); background: var(--mh-ink); }
#mh-site .mh-legal-hero h1 { max-width: 1050px; margin: 0; font-family: var(--mh-display); font-size: clamp(4rem, 8vw, 8rem); line-height: .9; letter-spacing: -.06em; text-transform: uppercase; }
#mh-site .mh-legal-content { background: var(--mh-paper); }
#mh-site .mh-legal-inner { width: min(calc(100% - 48px), 860px); margin: 0 auto; padding: 100px 0 130px; }
#mh-site .mh-legal-inner h2, #mh-site .mh-legal-inner h3 { margin-top: 2.4em; font-family: var(--mh-display); line-height: 1; text-transform: uppercase; }
#mh-site .mh-legal-inner p, #mh-site .mh-legal-inner li { line-height: 1.85; }

@media (max-width: 1000px) {
  #mh-site .mh-page-hero__grid, #mh-site .mh-subpage-cta__grid, #mh-site .mh-contact-page__grid { grid-template-columns: 1fr; }
  #mh-site .mh-page-hero__visual { width: min(100%, 660px); }
  #mh-site .mh-block-card-grid { flex-wrap: wrap !important; }
  #mh-site .mh-block-card { flex-basis: calc(50% - 1px) !important; border-bottom: 3px solid var(--mh-ink); }
  #mh-site .mh-block-card:nth-child(2) { border-right: 0; }
  #mh-site .mh-block-card:nth-last-child(-n+2) { border-bottom: 0; }
  #mh-site .mh-block-stat-grid { flex-wrap: wrap !important; }
  #mh-site .mh-block-stat { flex-basis: 50% !important; border-bottom: 2px solid var(--mh-line-light); }
  #mh-site .mh-block-stat:nth-child(2) { border-right: 0; }
  #mh-site .mh-block-stat:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 720px) {
  #mh-site .mh-page-hero { min-height: auto; padding: 132px 0 80px; }
  #mh-site .mh-page-hero__visual { min-height: 440px; }
  #mh-site .mh-page-title { font-size: clamp(3.4rem, 15vw, 5.8rem); }
  #mh-site .mh-page-actions { align-items: stretch; flex-direction: column; }
  #mh-site .mh-page-actions .mh-button { width: 100%; }
  #mh-site .mh-block-section { padding: 86px 0; }
  #mh-site .mh-block-inner, #mh-site .mh-block-quote__inner { width: min(calc(100% - 28px), var(--mh-max)); }
  #mh-site .mh-block-statement .mh-block-inner, #mh-site .mh-block-faq .mh-block-inner { grid-template-columns: 1fr; }
  #mh-site .mh-block-photo, #mh-site .mh-block-photo img { min-height: 430px; }
  #mh-site .mh-block-card { flex-basis: 100% !important; border-right: 0; border-bottom: 3px solid var(--mh-ink) !important; }
  #mh-site .mh-block-card:last-child { border-bottom: 0 !important; }
  #mh-site .mh-block-stat { flex-basis: 100% !important; border-right: 0; border-bottom: 2px solid var(--mh-line-light) !important; }
  #mh-site .mh-block-stat:last-child { border-bottom: 0 !important; }
  #mh-site .mh-block-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(2, 230px); }
  #mh-site .mh-block-gallery .wp-block-image:nth-child(1), #mh-site .mh-block-gallery .wp-block-image:nth-child(2), #mh-site .mh-block-gallery .wp-block-image:nth-child(4) { grid-column: auto; grid-row: auto; border-radius: 0; }
  #mh-site .mh-subpage-cta, #mh-site .mh-contact-page { padding: 86px 0; }
}
#mh-site .mh-footer-menu { margin: 0; padding: 0; list-style: none; }
#mh-site .mh-footer-menu li { margin: 0; padding: 0; }

/* v2.3: calmer hero, stronger hierarchy, image-led storytelling */
#mh-site .mh-logo-asset { display:block; }
#mh-site .mh-logo-asset--light { display:none; }
#mh-site .mh-header.mh-scrolled .mh-logo-asset--dark:has(+ .mh-logo-asset--light) { display:none; }
#mh-site .mh-header.mh-scrolled .mh-logo-asset--light { display:block; }
#mh-site .mh-logo-image { width:auto; max-width:240px; max-height:58px; object-fit:contain; }

#mh-site .mh-hero { min-height:auto; padding:132px 0 72px; }
#mh-site .mh-hero::before { display:none; }
#mh-site .mh-hero-grid { grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr); gap:64px; }
#mh-site .mh-hero h1 {
  max-width:760px;
  font-size:clamp(2.55rem,4.1vw,4.6rem);
  line-height:1;
  letter-spacing:-.04em;
  text-transform:none;
  text-wrap:balance;
}
#mh-site .mh-hero h1 span, #mh-site .mh-hero h1 strong { display:inline; font:inherit; }
#mh-site .mh-hero h1 strong { position:relative; font-weight:400; }
#mh-site .mh-hero h1 strong::after { display:none; content:none; }
#mh-site .mh-hero h1 em { color:inherit; font:inherit; font-style:normal; }
#mh-site .mh-hero-art { min-height:620px; }
#mh-site .mh-photo-main { inset:10px 8px 20px 20px; border-radius:34px; box-shadow:12px 14px 0 rgba(182,36,100,.65); transform:rotate(.5deg); }
#mh-site .mh-mini-note { top:26px; right:-12px; }
#mh-site .mh-hero-line { display:none; }

#mh-site .mh-identity-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:64px; align-items:center; }
#mh-site .mh-identity-media { min-height:620px; overflow:hidden; border:3px solid var(--mh-ink); border-radius:28px; box-shadow:14px 14px 0 var(--mh-pink); }
#mh-site .mh-identity-media img, #mh-site .mh-identity-media .mh-photo-placeholder { width:100%; height:100%; min-height:620px; object-fit:cover; }
#mh-site .mh-identity-content { min-width:0; }
#mh-site .mh-identity-quote { max-width:720px; font-family:var(--mh-display); font-size:clamp(2rem,3.2vw,3.7rem); font-style:normal; line-height:1.02; letter-spacing:-.04em; text-wrap:balance; }
#mh-site .mh-identity-quote strong { color:inherit; font:inherit; background:none; }
#mh-site .mh-big-copy { margin-top:30px; font-size:clamp(1.05rem,1.45vw,1.28rem); line-height:1.65; }
#mh-site .mh-review-mini { margin-top:32px; transform:rotate(-1deg); }
#mh-site .mh-emotion-strip { display:grid; grid-template-columns:1.25fr .9fr 1.1fr; gap:18px; margin-top:56px; }
#mh-site .mh-emotion-shot { min-height:280px; overflow:hidden; border:2px solid var(--mh-ink); border-radius:20px; }
#mh-site .mh-emotion-shot:nth-child(2) { transform:translateY(26px); }
#mh-site .mh-emotion-shot img, #mh-site .mh-emotion-shot .mh-photo-placeholder { width:100%; height:100%; min-height:280px; object-fit:cover; }

#mh-site .mh-title { font-size:clamp(1.9rem,3.1vw,3.4rem); line-height:1.08; }
#mh-site .mh-title em { font-family:inherit; font-style:normal; color:inherit; background:none; }
#mh-site .mh-occasion-card h3 { font-size:clamp(1.15rem,1.45vw,1.7rem); line-height:1.06; }

@media (max-width: 980px) {
  #mh-site .mh-hero-grid, #mh-site .mh-identity-grid { grid-template-columns:1fr; }
  #mh-site .mh-hero-art { min-height:560px; }
  #mh-site .mh-identity-media, #mh-site .mh-identity-media img, #mh-site .mh-identity-media .mh-photo-placeholder { min-height:500px; }
  #mh-site .mh-emotion-strip { grid-template-columns:1fr 1fr; }
  #mh-site .mh-emotion-shot:first-child { grid-column:1/-1; }
  #mh-site .mh-emotion-shot:nth-child(2) { transform:none; }
}
@media (max-width: 640px) {
  #mh-site .mh-hero { padding-top:110px; }
  #mh-site .mh-hero h1 { font-size:clamp(2.2rem,10.4vw,3.25rem); }
  #mh-site .mh-hero-art { min-height:460px; }
  #mh-site .mh-emotion-strip { grid-template-columns:1fr; }
  #mh-site .mh-emotion-shot:first-child { grid-column:auto; }
}

/* =========================================================
   v2.5 — calmer show section, restored occasion colours,
   pink theatre background
   ========================================================= */

/* Occasion cards: keep the strong original colour system, but with readable copy. */
#mh-site .mh-occasion-card:nth-child(1) {
  color: var(--mh-white);
  background: #232226;
  border-color: rgba(255,255,255,.22);
}
#mh-site .mh-occasion-card:nth-child(2) {
  color: var(--mh-ink);
  background: var(--mh-pink);
  border-color: var(--mh-pink);
}
#mh-site .mh-occasion-card:nth-child(3) {
  color: var(--mh-white);
  background: linear-gradient(145deg, #56329d 0%, #321b58 100%);
  border-color: rgba(255,255,255,.24);
}
#mh-site .mh-occasion-card:nth-child(1) .mh-occasion-body,
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-body,
#mh-site .mh-occasion-card:nth-child(3) .mh-occasion-body { background: transparent; }
#mh-site .mh-occasion-card:nth-child(1) p,
#mh-site .mh-occasion-card:nth-child(3) p { color: rgba(255,255,255,.76); }
#mh-site .mh-occasion-card:nth-child(2) p { color: rgba(17,16,20,.74); }
#mh-site .mh-occasion-card:nth-child(1) .mh-occasion-label,
#mh-site .mh-occasion-card:nth-child(3) .mh-occasion-label { color: var(--mh-white); }
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-label { color: var(--mh-ink); }
#mh-site .mh-occasion-card h3 {
  font-size: clamp(1.15rem, 1.55vw, 1.75rem);
  line-height: 1.08;
  text-wrap: balance;
}

/* The show section pairs one strong image with calm, convincing reasons. */
#mh-site .mh-show-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: start;
  gap: 28px;
}
#mh-site .mh-show-feature {
  overflow: hidden;
  border: 1px solid rgba(17,16,20,.16);
  border-radius: 28px;
  background: var(--mh-white);
  box-shadow: 0 24px 64px rgba(17,16,20,.08);
}
#mh-site .mh-show-feature-media {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  background: var(--mh-ink-soft);
}
#mh-site .mh-show-feature-media img,
#mh-site .mh-show-feature-media .mh-photo-placeholder {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
}
#mh-site .mh-show-side {
  display: grid;
  gap: 18px;
}
#mh-site .mh-show-facts-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
#mh-site .mh-show-card,
#mh-site .mh-show-detail {
  position: relative;
  padding: 26px 24px 24px 82px;
  border: 1px solid rgba(17,16,20,.13);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
}
#mh-site .mh-show-card .mh-show-num,
#mh-site .mh-show-detail .mh-show-num {
  position: absolute;
  top: 22px;
  left: 22px;
}
#mh-site .mh-show-num {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--mh-pink-dark);
  font-family: var(--mh-display);
  font-size: .76rem;
  line-height: 1;
}
#mh-site .mh-show-card h3,
#mh-site .mh-show-detail h3,
#mh-site .mh-show-cta h3 {
  margin: 0;
  font-family: var(--mh-display);
  font-size: clamp(1.05rem, 1.3vw, 1.42rem);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -.025em;
  text-transform: none;
  text-wrap: balance;
}
#mh-site .mh-show-card p,
#mh-site .mh-show-detail p,
#mh-site .mh-show-cta p {
  margin: 10px 0 0;
  color: var(--mh-muted-dark);
  font-size: .95rem;
  line-height: 1.68;
}
#mh-site .mh-show-card .mh-tiger {
  margin-top: 14px;
  border-color: rgba(17,16,20,.28);
  background: transparent;
}
#mh-site .mh-show-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
#mh-site .mh-show-detail {
  min-height: 0;
  padding-top: 76px;
}
#mh-site .mh-show-detail h3 { font-size: 1rem; }
#mh-site .mh-show-detail p { font-size: .9rem; }
#mh-site .mh-show-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 28px;
  border: 1px solid rgba(182,36,100,.22);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(182,36,100,.07) 0%, rgba(255,255,255,.85) 100%);
}
#mh-site .mh-show-cta .mh-kicker { margin-bottom: 10px; }
#mh-site .mh-show-cta h3 { font-size: clamp(1.08rem, 1.35vw, 1.45rem); }
#mh-site .mh-show-cta p:last-of-type { max-width: 620px; }
#mh-site .mh-show-cta .mh-button { flex: 0 0 auto; }

@media (max-width: 1080px) {
  #mh-site .mh-show-layout { grid-template-columns: 1fr; }
  #mh-site .mh-show-feature-media,
  #mh-site .mh-show-feature-media img,
  #mh-site .mh-show-feature-media .mh-photo-placeholder { min-height: 460px; }
}

@media (max-width: 780px) {
  #mh-site .mh-show-details { grid-template-columns: 1fr; }
  #mh-site .mh-show-cta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 620px) {
  #mh-site .mh-show-feature-media,
  #mh-site .mh-show-feature-media img,
  #mh-site .mh-show-feature-media .mh-photo-placeholder { min-height: 320px; }
  #mh-site .mh-show-card,
  #mh-site .mh-show-detail { padding: 78px 22px 22px; }
  #mh-site .mh-show-card .mh-show-num,
  #mh-site .mh-show-detail .mh-show-num { top: 22px; left: 22px; }
}

/* Restore the theatre as a strong pink stage, without changing its calm layout. */
#mh-site .mh-section--pink {
  color: var(--mh-ink);
  background: var(--mh-pink);
}
#mh-site .mh-section--pink .mh-kicker::before { background: var(--mh-ink); }
#mh-site .mh-section--pink .mh-copy { color: rgba(17,16,20,.74); }
#mh-site .mh-section--pink .mh-benefit { border-color: rgba(17,16,20,.25); }
#mh-site .mh-section--pink .mh-benefit p { color: rgba(17,16,20,.7); }

@media (max-width: 980px) {
  #mh-site .mh-show-layout { grid-template-columns: 1fr; }
  #mh-site .mh-show-feature-media,
  #mh-site .mh-show-feature-media img,
  #mh-site .mh-show-feature-media .mh-photo-placeholder { min-height: 420px; }
  #mh-site .mh-show-details { grid-template-columns: 1fr 1fr; }
  #mh-site .mh-show-detail:last-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  #mh-site .mh-show-feature-media,
  #mh-site .mh-show-feature-media img,
  #mh-site .mh-show-feature-media .mh-photo-placeholder { min-height: 330px; }
  #mh-site .mh-show-feature-copy,
  #mh-site .mh-show-fact { grid-template-columns: 46px 1fr; padding: 24px 22px; }
  #mh-site .mh-show-details { grid-template-columns: 1fr; }
  #mh-site .mh-show-detail:last-child { grid-column: auto; }
  #mh-site .mh-show-detail { min-height: 0; }
}

/* =========================================================
   v2.7 — stacked show facts + standalone image CTA
   ========================================================= */
#mh-site .mh-show-layout {
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  align-items: start;
  gap: 28px;
}
#mh-site .mh-show-feature {
  position: sticky;
  top: 118px;
  align-self: start;
  overflow: hidden;
  border-radius: 28px;
}
#mh-site .mh-show-feature-media,
#mh-site .mh-show-feature-media img,
#mh-site .mh-show-feature-media .mh-photo-placeholder {
  min-height: 760px;
}
#mh-site .mh-show-side {
  display: block;
  overflow: hidden;
  border: 1px solid rgba(17,16,20,.14);
  border-radius: 28px;
  background: rgba(255,255,255,.82);
}
#mh-site .mh-show-card {
  display: grid;
  grid-template-columns: 58px minmax(0,1fr);
  gap: 18px;
  align-items: start;
  min-height: 0;
  padding: 28px 30px;
  border: 0;
  border-bottom: 1px solid rgba(17,16,20,.12);
  border-radius: 0;
  background: transparent;
}
#mh-site .mh-show-card:last-child { border-bottom: 0; }
#mh-site .mh-show-card .mh-show-num {
  position: static;
  top: auto;
  left: auto;
}
#mh-site .mh-show-card h3 {
  font-size: clamp(1.05rem,1.3vw,1.4rem);
}
#mh-site .mh-show-card p {
  max-width: 620px;
  margin-top: 8px;
}
#mh-site .mh-show-card .mh-tiger { margin-top: 12px; }

#mh-site .mh-show-cta-section {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  color: var(--mh-white);
  background: var(--mh-ink);
}
#mh-site .mh-show-cta-image {
  position: absolute;
  inset: 0;
}
#mh-site .mh-show-cta-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(17,16,20,.16) 0%, rgba(17,16,20,.28) 44%, rgba(17,16,20,.72) 68%, rgba(17,16,20,.95) 100%),
    linear-gradient(180deg, rgba(17,16,20,.12), rgba(17,16,20,.36));
}
#mh-site .mh-show-cta-image img,
#mh-site .mh-show-cta-image .mh-photo-placeholder {
  width: 100%;
  height: 100%;
  min-height: 650px;
  object-fit: cover;
}
#mh-site .mh-show-cta-inner {
  position: relative;
  z-index: 3;
  display: flex;
  min-height: 650px;
  align-items: center;
  justify-content: flex-end;
  padding-top: 82px;
  padding-bottom: 82px;
}
#mh-site .mh-show-cta-panel {
  width: min(100%, 590px);
  padding: 46px 46px 44px;
  border: 2px solid rgba(255,255,255,.3);
  border-radius: 30px;
  color: var(--mh-ink);
  background: rgba(182,36,100,.94);
  box-shadow: 18px 18px 0 rgba(17,16,20,.7);
  backdrop-filter: blur(10px);
}
#mh-site .mh-show-cta-panel .mh-kicker { margin-bottom: 20px; }
#mh-site .mh-show-cta-panel .mh-kicker::before { background: var(--mh-ink); }
#mh-site .mh-show-cta-panel h2 {
  max-width: 520px;
  margin: 0;
  font-family: var(--mh-display);
  font-size: clamp(2.3rem,4.4vw,4.8rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}
#mh-site .mh-show-cta-panel > p:not(.mh-kicker) {
  max-width: 510px;
  margin: 22px 0 0;
  color: rgba(17,16,20,.78);
  font-size: 1rem;
  line-height: 1.7;
}
#mh-site .mh-show-cta-panel .mh-button { margin-top: 28px; }

@media (max-width: 1080px) {
  #mh-site .mh-show-layout { grid-template-columns: 1fr; }
  #mh-site .mh-show-feature { position: relative; top: auto; }
  #mh-site .mh-show-feature-media,
  #mh-site .mh-show-feature-media img,
  #mh-site .mh-show-feature-media .mh-photo-placeholder { min-height: 500px; }
  #mh-site .mh-show-cta-image::after {
    background: linear-gradient(180deg, rgba(17,16,20,.18) 0%, rgba(17,16,20,.78) 66%, rgba(17,16,20,.94) 100%);
  }
  #mh-site .mh-show-cta-inner { align-items: flex-end; justify-content: center; }
}
@media (max-width: 620px) {
  #mh-site .mh-show-feature-media,
  #mh-site .mh-show-feature-media img,
  #mh-site .mh-show-feature-media .mh-photo-placeholder { min-height: 340px; }
  #mh-site .mh-show-card { grid-template-columns: 46px minmax(0,1fr); padding: 24px 22px; }
  #mh-site .mh-show-cta-section,
  #mh-site .mh-show-cta-inner,
  #mh-site .mh-show-cta-image img,
  #mh-site .mh-show-cta-image .mh-photo-placeholder { min-height: 590px; }
  #mh-site .mh-show-cta-inner { padding-top: 58px; padding-bottom: 58px; }
  #mh-site .mh-show-cta-panel { padding: 34px 28px 32px; box-shadow: 10px 10px 0 rgba(17,16,20,.7); }
  #mh-site .mh-show-cta-panel h2 { font-size: clamp(2rem,10vw,3.15rem); }
}


/* v2.7.3: footer uses the uploaded white logo; CTA kicker rule is black. */
#mh-site .mh-footer .mh-logo-asset--dark:has(+ .mh-logo-asset--light) { display: none; }
#mh-site .mh-footer .mh-logo-asset--light { display: block; }
#mh-site .mh-cta .mh-kicker::before { background: var(--mh-ink); }

@media (max-width: 1100px) {
  #mh-site .mh-reviews-grid { grid-template-columns: repeat(2, 1fr); }
  #mh-site .mh-review:last-child { grid-column: span 2; }
}

@media (max-width: 860px) {
  #mh-site .mh-reviews-grid { grid-template-columns: 1fr; }
  #mh-site .mh-review:last-child { grid-column: auto; }
}

/* v2.9 — Testimonials that actually look like testimonials */
#mh-site .mh-testimonials {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 15%, rgba(182,36,100,.10), transparent 28%),
    radial-gradient(circle at 92% 92%, rgba(122,66,255,.10), transparent 30%),
    var(--mh-ink);
}
#mh-site .mh-testimonials .mh-heading-row { align-items: flex-end; }
#mh-site .mh-testimonials .mh-title { max-width: 720px; }
#mh-site .mh-reviews-side { justify-items: start; }
#mh-site .mh-reviews-summary {
  gap: 13px;
  padding: 15px 18px;
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
#mh-site .mh-reviews-summary strong { color: var(--mh-white); }
#mh-site .mh-reviews-summary__stars { color: #ffc83d; }
#mh-site .mh-reviews-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
#mh-site .mh-review {
  position: relative;
  min-height: 340px;
  gap: 17px;
  padding: 28px;
  border: 1px solid rgba(17,16,20,.10);
  border-radius: 24px;
  background: var(--mh-white);
  color: var(--mh-ink);
  box-shadow: 0 18px 45px rgba(0,0,0,.15);
  transform: none !important;
}
#mh-site .mh-review::after {
  position: absolute;
  top: 22px;
  right: 24px;
  content: "“";
  color: rgba(182,36,100,.14);
  font-family: var(--mh-serif);
  font-size: 5.2rem;
  line-height: .7;
  pointer-events: none;
}
#mh-site .mh-review:nth-child(1),
#mh-site .mh-review:nth-child(5) {
  border-color: rgba(255,255,255,.13);
  color: var(--mh-white);
  background: linear-gradient(155deg, #25212b 0%, #17151c 100%);
}
#mh-site .mh-review:nth-child(2),
#mh-site .mh-review:nth-child(4) { border-color: rgba(182,36,100,.28); }
#mh-site .mh-review:nth-child(3),
#mh-site .mh-review:nth-child(6) {
  border-color: rgba(122,66,255,.20);
  background: linear-gradient(180deg, #fff 0%, #f7f3ff 100%);
}
#mh-site .mh-review:nth-child(1)::after,
#mh-site .mh-review:nth-child(5)::after { color: rgba(182,36,100,.28); }
#mh-site .mh-review-top { position: relative; z-index: 2; padding-right: 48px; }
#mh-site .mh-review-avatar {
  width: 50px;
  height: 50px;
  border: 0;
  background: linear-gradient(145deg, var(--mh-pink), var(--mh-violet));
  color: var(--mh-white);
  box-shadow: 0 8px 22px rgba(182,36,100,.18);
}
#mh-site .mh-review:nth-child(1) .mh-review-avatar,
#mh-site .mh-review:nth-child(5) .mh-review-avatar {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color: var(--mh-white);
}
#mh-site .mh-review-person strong { font-size: 1.02rem; }
#mh-site .mh-review-person span { letter-spacing: .06em; text-transform: none; opacity: .58; }
#mh-site .mh-review-stars {
  position: relative;
  z-index: 2;
  color: #ffc83d;
  font-size: 1.05rem;
  letter-spacing: .12em;
}
#mh-site .mh-review blockquote {
  position: relative;
  z-index: 2;
  margin: 0;
  font-size: clamp(.98rem, 1.16vw, 1.13rem);
  font-weight: 600;
  line-height: 1.65;
}
#mh-site .mh-review footer {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(17,16,20,.10);
  font-size: .68rem;
  letter-spacing: .05em;
  text-transform: none;
  opacity: .68;
}
#mh-site .mh-review:nth-child(1) footer,
#mh-site .mh-review:nth-child(5) footer { border-top-color: rgba(255,255,255,.12); }
#mh-site .mh-review-google {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: var(--mh-white);
  background: var(--mh-pink);
  font-family: var(--mh-display);
  font-size: .7rem;
  line-height: 1;
}
@media (max-width: 1120px) {
  #mh-site .mh-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #mh-site .mh-reviews-grid { grid-template-columns: 1fr; }
  #mh-site .mh-review { min-height: 0; }
  #mh-site .mh-reviews-summary { flex-wrap: wrap; }
}

/* v2.9.1 — accessible theatre contrast */
#mh-site #mh-theater {
  color: #ffffff;
  background: var(--mh-pink);
}
#mh-site #mh-theater .mh-kicker,
#mh-site #mh-theater .mh-title,
#mh-site #mh-theater .mh-title em,
#mh-site #mh-theater .mh-copy,
#mh-site #mh-theater .mh-benefit h3,
#mh-site #mh-theater .mh-benefit p {
  color: #ffffff !important;
  opacity: 1 !important;
}
#mh-site #mh-theater .mh-kicker::before {
  background: var(--mh-white);
}
#mh-site #mh-theater .mh-benefit {
  border-color: rgba(255,255,255,.28);
}
#mh-site #mh-theater .mh-benefit span {
  border-color: var(--mh-white);
  color: var(--mh-white);
}
#mh-site #mh-theater .mh-stage {
  border-color: rgba(255,255,255,.9);
  box-shadow: 18px 18px 0 rgba(17,16,20,.22);
}
#mh-site #mh-theater .mh-stage-badge {
  border-color: var(--mh-white);
  color: var(--mh-pink);
  background: #ffffff;
}


/* v2.9.2 — new accent colour, full-white theatre typography and optional YouTube media */
#mh-site .mh-identity-media--video {
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: #000;
}
#mh-site .mh-identity-video {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: #000;
}
#mh-site .mh-identity-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
#mh-site #mh-theater,
#mh-site #mh-theater * {
  --mh-theatre-text: #ffffff;
}
#mh-site #mh-theater .mh-kicker,
#mh-site #mh-theater .mh-title,
#mh-site #mh-theater .mh-title em,
#mh-site #mh-theater .mh-copy,
#mh-site #mh-theater .mh-benefit h3,
#mh-site #mh-theater .mh-benefit p,
#mh-site #mh-theater .mh-benefit span {
  color: #ffffff !important;
  opacity: 1 !important;
}


/* v2.9.3 — unified accent #b62464 and true-white text on accent backgrounds */
#mh-site .mh-section--pink,
#mh-site #mh-theater,
#mh-site .mh-cta,
#mh-site .mh-contact-page,
#mh-site .mh-subpage-cta,
#mh-site .mh-page-hero--pink,
#mh-site .mh-show-cta-panel,
#mh-site .mh-block-card:nth-child(2),
#mh-site .mh-block-card:nth-child(4) {
  color: #ffffff;
  background-color: var(--mh-pink);
}

/* Theatre: every text element placed directly on the accent surface is true white. */
#mh-site #mh-theater .mh-kicker,
#mh-site #mh-theater .mh-title,
#mh-site #mh-theater .mh-title em,
#mh-site #mh-theater .mh-copy,
#mh-site #mh-theater .mh-benefit h3,
#mh-site #mh-theater .mh-benefit p,
#mh-site #mh-theater .mh-benefit span {
  color: #ffffff !important;
  opacity: 1 !important;
}
#mh-site #mh-theater .mh-kicker::before { background: #ffffff !important; }
#mh-site #mh-theater .mh-benefit { border-color: rgba(255,255,255,.35) !important; }
#mh-site #mh-theater .mh-benefit span { border-color: #ffffff !important; }

/* Accent CTA surfaces: white copy, while white cards/buttons retain dark text. */
#mh-site .mh-cta-grid > div:first-child > .mh-kicker,
#mh-site .mh-cta-grid > div:first-child > .mh-title,
#mh-site .mh-cta-grid > div:first-child > .mh-title em,
#mh-site .mh-cta-grid > div:first-child > .mh-copy,
#mh-site .mh-contact-page__copy > .mh-kicker,
#mh-site .mh-contact-page__copy > .mh-title,
#mh-site .mh-contact-page__copy > .mh-title em,
#mh-site .mh-contact-page__copy > .mh-copy,
#mh-site .mh-subpage-cta .mh-title,
#mh-site .mh-subpage-cta .mh-title em,
#mh-site .mh-subpage-cta .mh-copy,
#mh-site .mh-subpage-cta__action > p,
#mh-site .mh-page-hero--pink .mh-page-eyebrow,
#mh-site .mh-page-hero--pink .mh-page-title,
#mh-site .mh-page-hero--pink .mh-page-title em,
#mh-site .mh-page-hero--pink .mh-page-lead,
#mh-site .mh-show-cta-panel > .mh-kicker,
#mh-site .mh-show-cta-panel > h2,
#mh-site .mh-show-cta-panel > p,
#mh-site .mh-block-card:nth-child(2) h1,
#mh-site .mh-block-card:nth-child(2) h2,
#mh-site .mh-block-card:nth-child(2) h3,
#mh-site .mh-block-card:nth-child(2) p,
#mh-site .mh-block-card:nth-child(4) h1,
#mh-site .mh-block-card:nth-child(4) h2,
#mh-site .mh-block-card:nth-child(4) h3,
#mh-site .mh-block-card:nth-child(4) p {
  color: #ffffff !important;
  opacity: 1 !important;
}
#mh-site .mh-cta .mh-kicker::before,
#mh-site .mh-contact-page .mh-kicker::before,
#mh-site .mh-subpage-cta .mh-kicker::before,
#mh-site .mh-page-hero--pink .mh-kicker::before,
#mh-site .mh-show-cta-panel .mh-kicker::before {
  background: #ffffff !important;
}

/* White components sitting on accent backgrounds stay readable. */
#mh-site .mh-cta .mh-form,
#mh-site .mh-contact-page .mh-form,
#mh-site .mh-cta .mh-handnote,
#mh-site .mh-contact-page .mh-handnote,
#mh-site #mh-theater .mh-stage-badge,
#mh-site .mh-show-cta-panel .mh-button--light,
#mh-site .mh-subpage-cta .mh-button--light,
#mh-site .mh-page-hero--pink .mh-button--light {
  color: var(--mh-ink) !important;
}
#mh-site .mh-cta .mh-form :is(label,input,select,textarea,p,span,strong),
#mh-site .mh-contact-page .mh-form :is(label,input,select,textarea,p,span,strong) {
  color: var(--mh-ink) !important;
}
#mh-site .mh-cta .mh-form-note,
#mh-site .mh-contact-page .mh-form-note { color: var(--mh-muted-dark) !important; }
#mh-site #mh-theater .mh-stage-badge { color: var(--mh-pink) !important; background: #ffffff; }

#mh-site .mh-button--pink,
#mh-site .mh-header.mh-scrolled .mh-button {
  color: #ffffff !important;
  background: var(--mh-pink);
  border-color: var(--mh-pink);
}


/* =========================================================
   v2.9.4 — approved accent and guaranteed contrast
   ========================================================= */
:root {
  --mh-pink: #b62464;
  --mh-pink-dark: #b62464;
}

/* Every solid accent surface uses the approved colour. */
#mh-site .mh-marquee,
#mh-site .mh-occasion-card:nth-child(2),
#mh-site .mh-card-b,
#mh-site .mh-section--pink,
#mh-site #mh-theater,
#mh-site .mh-cta,
#mh-site .mh-contact-page,
#mh-site .mh-subpage-cta,
#mh-site .mh-page-hero--pink,
#mh-site .mh-show-cta-panel,
#mh-site .mh-block-card:nth-child(2),
#mh-site .mh-block-card:nth-child(4),
#mh-site .mh-button--pink,
#mh-site .mh-header.mh-scrolled .mh-button {
  background: #b62464 !important;
  background-color: #b62464 !important;
  border-color: #b62464 !important;
}

/* Text directly on an accent surface is always true white. */
#mh-site .mh-marquee,
#mh-site .mh-marquee span,
#mh-site .mh-marquee span::after,
#mh-site .mh-occasion-card:nth-child(2),
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-label,
#mh-site .mh-occasion-card:nth-child(2) h3,
#mh-site .mh-occasion-card:nth-child(2) p,
#mh-site .mh-card-b,
#mh-site .mh-card-b h1,
#mh-site .mh-card-b h2,
#mh-site .mh-card-b h3,
#mh-site .mh-card-b p,
#mh-site #mh-theater .mh-kicker,
#mh-site #mh-theater .mh-title,
#mh-site #mh-theater .mh-title em,
#mh-site #mh-theater .mh-copy,
#mh-site #mh-theater .mh-benefit h3,
#mh-site #mh-theater .mh-benefit p,
#mh-site #mh-theater .mh-benefit span,
#mh-site .mh-cta-grid > div:first-child > .mh-kicker,
#mh-site .mh-cta-grid > div:first-child > .mh-title,
#mh-site .mh-cta-grid > div:first-child > .mh-title em,
#mh-site .mh-cta-grid > div:first-child > .mh-copy,
#mh-site .mh-contact-page__copy > .mh-kicker,
#mh-site .mh-contact-page__copy > .mh-title,
#mh-site .mh-contact-page__copy > .mh-title em,
#mh-site .mh-contact-page__copy > .mh-copy,
#mh-site .mh-subpage-cta .mh-title,
#mh-site .mh-subpage-cta .mh-title em,
#mh-site .mh-subpage-cta .mh-copy,
#mh-site .mh-subpage-cta__action > p,
#mh-site .mh-page-hero--pink .mh-page-eyebrow,
#mh-site .mh-page-hero--pink .mh-page-title,
#mh-site .mh-page-hero--pink .mh-page-title em,
#mh-site .mh-page-hero--pink .mh-page-lead,
#mh-site .mh-show-cta-panel > .mh-kicker,
#mh-site .mh-show-cta-panel > h2,
#mh-site .mh-show-cta-panel > p,
#mh-site .mh-block-card:nth-child(2) h1,
#mh-site .mh-block-card:nth-child(2) h2,
#mh-site .mh-block-card:nth-child(2) h3,
#mh-site .mh-block-card:nth-child(2) p,
#mh-site .mh-block-card:nth-child(4) h1,
#mh-site .mh-block-card:nth-child(4) h2,
#mh-site .mh-block-card:nth-child(4) h3,
#mh-site .mh-block-card:nth-child(4) p,
#mh-site .mh-button--pink,
#mh-site .mh-header.mh-scrolled .mh-button {
  color: #ffffff !important;
  opacity: 1 !important;
}

#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-label,
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-index,
#mh-site #mh-theater .mh-benefit span {
  border-color: #ffffff !important;
}
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-index {
  color: #ffffff !important;
  background: rgba(17,16,20,.58) !important;
}
#mh-site #mh-theater .mh-kicker::before,
#mh-site .mh-cta .mh-kicker::before,
#mh-site .mh-contact-page .mh-kicker::before,
#mh-site .mh-subpage-cta .mh-kicker::before,
#mh-site .mh-page-hero--pink .mh-kicker::before,
#mh-site .mh-show-cta-panel .mh-kicker::before {
  background: #ffffff !important;
}

/* White components remain white with dark form/content text. */
#mh-site .mh-cta .mh-form,
#mh-site .mh-contact-page .mh-form,
#mh-site .mh-cta .mh-handnote,
#mh-site .mh-contact-page .mh-handnote,
#mh-site #mh-theater .mh-stage-badge,
#mh-site .mh-show-cta-panel .mh-button--light,
#mh-site .mh-subpage-cta .mh-button--light,
#mh-site .mh-page-hero--pink .mh-button--light {
  background: #ffffff !important;
  color: var(--mh-ink) !important;
}
#mh-site .mh-cta .mh-form :is(label,input,select,textarea,p,span,strong),
#mh-site .mh-contact-page .mh-form :is(label,input,select,textarea,p,span,strong) {
  color: var(--mh-ink) !important;
}
#mh-site #mh-theater .mh-stage-badge {
  color: #b62464 !important;
  border-color: #ffffff !important;
}

/* =========================================================
   v3.0.0 — Marcel feedback pass
   Cleaner media, calmer subpages, earlier proof and video.
   ========================================================= */

/* Facts now sit directly below the hero and should feel compact. */
#mh-site .mh-home-stats {
  position: relative;
  padding: 0;
  color: #ffffff;
  background: var(--mh-ink);
}
#mh-site .mh-home-stats .mh-numbers { border-top: 0; }
#mh-site .mh-home-stats .mh-number {
  min-height: 190px;
  padding: 30px 24px;
}
#mh-site .mh-home-stats .mh-number strong { font-size: clamp(2.9rem, 5vw, 4.7rem); }
#mh-site .mh-home-stats .mh-number span { margin-top: 14px; font-size: .76rem; }

/* The second H1 sentence is Marcel's actual phone-language and gets its own line. */
#mh-site .mh-hero h1 strong { display: block; margin-top: .08em; }

/* Video embeds use the media slot instead of adding another visual frame. */
#mh-site .mh-video-frame,
#mh-site .mh-identity-media--video {
  position: relative;
  aspect-ratio: 16 / 9;
  min-height: 0 !important;
  background: #000;
}
#mh-site .mh-video-frame iframe,
#mh-site .mh-identity-media--video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Marcel explicitly did not like the thick black/retro frames around media. */
#mh-site .mh-photo-main,
#mh-site .mh-identity-media,
#mh-site .mh-emotion-shot,
#mh-site .mh-profile-photo,
#mh-site .mh-stage,
#mh-site .mh-show-feature,
#mh-site .mh-show-feature-media,
#mh-site .mh-page-hero__image,
#mh-site .mh-block-photo,
#mh-site .mh-block-gallery .wp-block-image {
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
#mh-site .mh-photo-main { border-radius: 30px; }
#mh-site .mh-identity-media,
#mh-site .mh-emotion-shot,
#mh-site .mh-profile-photo,
#mh-site .mh-stage,
#mh-site .mh-show-feature,
#mh-site .mh-show-feature-media,
#mh-site .mh-page-hero__image,
#mh-site .mh-block-photo,
#mh-site .mh-block-gallery .wp-block-image { border-radius: 22px !important; }
#mh-site .mh-page-hero__image { inset: 0; }
#mh-site .mh-block-gallery .wp-block-image:nth-child(1),
#mh-site .mh-block-gallery .wp-block-image:nth-child(2),
#mh-site .mh-block-gallery .wp-block-image:nth-child(4) { border-radius: 18px !important; }
#mh-site .mh-occasion-media { border-bottom: 0; }

/* Keep the playful notes, but stop them looking like extra image frames. */
#mh-site .mh-mini-note,
#mh-site .mh-profile-tag,
#mh-site .mh-stage-badge { box-shadow: none; }

/* The numbered decoration was confusing in content cards. */
#mh-site .mh-show-card { display: block; padding: 26px 30px; }
#mh-site .mh-profile-item { display: block; padding: 22px 0; }
#mh-site .mh-benefit { display: block; padding: 18px 0; }
#mh-site .mh-show-side { border-color: rgba(17,16,20,.1); }
#mh-site .mh-show-card h3,
#mh-site .mh-profile-item h3,
#mh-site .mh-benefit h3 { font-size: clamp(1rem, 1.2vw, 1.28rem); }
#mh-site .mh-show-card p,
#mh-site .mh-profile-item p,
#mh-site .mh-benefit p { font-size: .94rem; line-height: 1.68; }

/* The mid-page CTA stays visible, but no longer consumes almost a full screen. */
#mh-site .mh-show-cta-section,
#mh-site .mh-show-cta-inner { min-height: 520px; }
#mh-site .mh-show-cta-image img,
#mh-site .mh-show-cta-image .mh-photo-placeholder { min-height: 520px; }
#mh-site .mh-show-cta-panel {
  width: min(100%, 560px);
  padding: 36px 38px;
  border: 0;
  box-shadow: none;
}
#mh-site .mh-show-cta-panel h2 { font-size: clamp(2.1rem, 3.6vw, 3.8rem); }

/* Reviews are now earlier on the page and can state the total count when known. */
#mh-site .mh-reviews-count {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.66);
  font-size: .72rem;
  line-height: 1.35;
}

/* Shorter form, with a visibly optional label instead of more questions. */
#mh-site .mh-optional {
  margin-left: 5px;
  font-size: .72em;
  font-weight: 600;
  opacity: .58;
}

/* Subpages now follow the calmer scale of the homepage instead of huge editorial type. */
#mh-site .mh-page-title {
  max-width: 920px;
  font-size: clamp(3rem, 5.2vw, 5.5rem);
  line-height: .96;
  letter-spacing: -.05em;
  text-transform: none;
}
#mh-site .mh-block-display {
  font-size: clamp(2.6rem, 4.5vw, 4.8rem);
  line-height: .96;
  letter-spacing: -.045em;
  text-transform: none;
}
#mh-site .mh-block-title {
  font-size: clamp(2.3rem, 3.8vw, 4rem);
  line-height: .98;
  letter-spacing: -.04em;
  text-transform: none;
}
#mh-site .mh-block-reading h2 {
  font-size: clamp(2.15rem, 3.6vw, 3.7rem);
  text-transform: none;
}
#mh-site .mh-block-quote__inner p { font-size: clamp(2.4rem, 5vw, 5rem); }
#mh-site .mh-block-section { padding: 96px 0; }
#mh-site .mh-page-hero { min-height: auto; }
#mh-site .mh-page-hero__visual { min-height: 500px; }

/* The starter-page cards should read as content, not as four numbered tiles. */
#mh-site .mh-block-card-grid { border: 0; gap: 16px; }
#mh-site .mh-block-card {
  min-height: 0;
  padding: 30px;
  border: 1px solid rgba(17,16,20,.12) !important;
  border-radius: 18px;
}
#mh-site .mh-block-card h3 { margin: 0 0 12px; font-size: clamp(1.3rem, 2vw, 1.85rem); text-transform: none; }
#mh-site .mh-block-number { display: none !important; }

/* Accent surfaces stay accessible: exact approved magenta, exact white text. */
#mh-site .mh-section--pink,
#mh-site #mh-theater,
#mh-site .mh-cta,
#mh-site .mh-contact-page,
#mh-site .mh-subpage-cta,
#mh-site .mh-page-hero--pink,
#mh-site .mh-show-cta-panel,
#mh-site .mh-block-card:nth-child(2),
#mh-site .mh-block-card:nth-child(4),
#mh-site .mh-button--pink,
#mh-site .mh-header.mh-scrolled .mh-button {
  background-color: #b62464 !important;
}
#mh-site #mh-theater :is(.mh-kicker,.mh-title,.mh-title em,.mh-copy,.mh-benefit h3,.mh-benefit p),
#mh-site .mh-cta-grid > div:first-child :is(.mh-kicker,.mh-title,.mh-title em,.mh-copy),
#mh-site .mh-show-cta-panel :is(.mh-kicker,h2,p),
#mh-site .mh-subpage-cta :is(.mh-kicker,.mh-title,.mh-title em,.mh-copy),
#mh-site .mh-page-hero--pink :is(.mh-kicker,.mh-page-title,.mh-page-title em,.mh-page-lead),
#mh-site .mh-button--pink,
#mh-site .mh-header.mh-scrolled .mh-button {
  color: #ffffff !important;
  opacity: 1 !important;
}

@media (max-width: 900px) {
  #mh-site .mh-home-stats .mh-numbers { grid-template-columns: repeat(2, 1fr); }
  #mh-site .mh-home-stats .mh-number { min-height: 150px; border-bottom: 1px solid var(--mh-line-light); }
  #mh-site .mh-home-stats .mh-number:nth-child(2) { border-right: 0; }
  #mh-site .mh-home-stats .mh-number:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 620px) {
  #mh-site .mh-home-stats .mh-number { padding: 24px 18px; }
  #mh-site .mh-home-stats .mh-number strong { font-size: clamp(2.3rem, 11vw, 3.4rem); }
  #mh-site .mh-show-cta-section,
  #mh-site .mh-show-cta-inner { min-height: 470px; }
  #mh-site .mh-show-cta-image img,
  #mh-site .mh-show-cta-image .mh-photo-placeholder { min-height: 470px; }
  #mh-site .mh-page-title { font-size: clamp(2.4rem, 11vw, 3.5rem); }
  #mh-site .mh-block-display { font-size: clamp(2.2rem, 10vw, 3.3rem); }
  #mh-site .mh-block-title { font-size: clamp(2rem, 9vw, 3rem); }
  #mh-site .mh-block-section { padding: 74px 0; }
  #mh-site .mh-page-hero__visual { min-height: 400px; }
}

/* The theatre video uses the existing stage slot, which is positioned over the theatre visual. */
#mh-site .mh-stage.mh-video-frame {
  position: absolute;
  inset: 20px 0 0 30px;
  width: auto;
  height: auto;
  aspect-ratio: auto;
}
@media (max-width: 620px) {
  #mh-site .mh-stage.mh-video-frame { inset: 14px 0 0 14px; }
}

/* v3.1.0 — richer subpage storytelling, decision help and dynamic proof */
#mh-site .mh-block-scenario { background: var(--mh-paper-2); }
#mh-site .mh-block-scenario__grid,
#mh-site .mh-block-story__grid,
#mh-site .mh-block-fit__grid,
#mh-site .mh-block-mini-cta__grid {
  align-items: start;
  gap: clamp(44px, 7vw, 110px);
}
#mh-site .mh-block-scenario__copy,
#mh-site .mh-block-story__copy { max-width: 650px; }
#mh-site .mh-block-handnote {
  display: inline-block;
  margin-top: 22px;
  padding: 13px 18px;
  border-radius: 999px;
  background: rgba(182,36,100,.1);
  font-family: var(--mh-serif);
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.2;
}

#mh-site .mh-block-compare-section { background: var(--mh-paper); }
#mh-site .mh-block-compare {
  align-items: stretch;
  gap: 18px;
  margin-top: 46px;
}
#mh-site .mh-block-compare__card {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(17,16,20,.12);
  border-radius: 22px;
  background: var(--mh-white);
}
#mh-site .mh-block-compare__card--accent {
  color: #ffffff;
  border-color: transparent;
  background: #b62464;
}
#mh-site .mh-block-compare__label,
#mh-site .mh-block-card__eyebrow {
  margin: 0 0 18px;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .72;
}
#mh-site .mh-block-compare__card h3 {
  margin: 0 0 16px;
  font-size: clamp(1.7rem, 2.5vw, 2.6rem);
  line-height: 1.02;
}
#mh-site .mh-block-compare__card p:last-child { margin-bottom: 0; line-height: 1.72; }
#mh-site .mh-block-compare__card--accent :is(h3,p,strong) { color: #ffffff !important; }

#mh-site .mh-block-flow .mh-block-card { min-height: 260px; }
#mh-site .mh-block-card-grid--three { align-items: stretch; }
#mh-site .mh-block-card-grid--three .mh-block-card { flex-basis: 33.333% !important; }
#mh-site .mh-block-card__eyebrow { color: var(--mh-pink); }
#mh-site .mh-block-card:nth-child(2) .mh-block-card__eyebrow,
#mh-site .mh-block-card:nth-child(4) .mh-block-card__eyebrow { color: #ffffff; }

#mh-site .mh-block-fit {
  color: #ffffff;
  background: var(--mh-ink);
}
#mh-site .mh-block-fit :is(.mh-block-title,.mh-block-lead,p,li) { color: #ffffff; }
#mh-site .mh-block-fit .mh-block-kicker { color: #ffffff; }
#mh-site .mh-block-checklist {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
#mh-site .mh-block-checklist li {
  position: relative;
  margin: 0;
  padding: 18px 0 18px 42px;
  border-bottom: 1px solid rgba(255,255,255,.15);
  font-size: 1.06rem;
  line-height: 1.55;
}
#mh-site .mh-block-checklist li:first-child { border-top: 1px solid rgba(255,255,255,.15); }
#mh-site .mh-block-checklist li::before {
  position: absolute;
  top: 20px;
  left: 4px;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  content: "✓";
  color: #ffffff;
  background: #b62464;
  font-size: .78rem;
  font-weight: 900;
  line-height: 23px;
  text-align: center;
}

#mh-site .mh-block-story { background: var(--mh-white); }
#mh-site .mh-block-story__grid { align-items: center; }
#mh-site .mh-block-review-story { background: var(--mh-paper-2); }

#mh-site .mh-block-mini-cta {
  overflow: hidden;
  color: #ffffff;
  background: #b62464;
}
#mh-site .mh-block-mini-cta :is(.mh-block-title,.mh-block-lead,p) { color: #ffffff !important; }
#mh-site .mh-block-mini-cta .wp-block-buttons { margin-top: 28px; }
#mh-site .mh-subpage-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 22px;
  border: 1px solid var(--mh-ink);
  border-radius: 999px;
  color: var(--mh-white);
  background: var(--mh-ink);
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
}
#mh-site .mh-block-mini-cta .wp-block-button__link {
  border-color: #ffffff;
  color: var(--mh-ink);
  background: #ffffff;
}
#mh-site .mh-block-mini-cta .wp-block-button__link:hover { transform: translateY(-1px); }

/* Dynamic video/image block. It intentionally breaks out of the editor text column. */
#mh-site .mh-rich-media {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr);
  align-items: center;
  gap: clamp(40px, 7vw, 100px);
  width: min(calc(100% - 48px), var(--mh-max));
  margin-inline: auto;
  padding: 96px 0;
  color: #ffffff;
  isolation: isolate;
}
#mh-site .mh-rich-media::before {
  position: absolute;
  z-index: -1;
  inset: 0 calc(50% - 50vw);
  content: "";
  background: var(--mh-ink);
}
#mh-site .mh-rich-media__copy { max-width: 460px; }
#mh-site .mh-rich-media__copy h2 {
  margin: 0 0 20px;
  color: #ffffff;
  font-family: var(--mh-display);
  font-size: clamp(2.3rem, 4vw, 4rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.04em;
}
#mh-site .mh-rich-media__copy p:not(.mh-block-kicker) { color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.72; }
#mh-site .mh-rich-media__frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 24px;
  background: #0d0d10;
}
#mh-site .mh-rich-media__frame iframe,
#mh-site .mh-rich-media__frame img { width: 100%; height: 100%; border: 0; object-fit: cover; }
#mh-site .mh-rich-media__placeholder {
  display: grid;
  place-content: center;
  height: 100%;
  padding: 30px;
  color: #ffffff;
  text-align: center;
}
#mh-site .mh-rich-media__placeholder strong { font-size: 1.2rem; }
#mh-site .mh-rich-media__placeholder span { margin-top: 8px; font-size: .78rem; opacity: .62; }

#mh-site .mh-block-benefit-band { color: #ffffff; background: var(--mh-ink); }
#mh-site .mh-block-benefit-band :is(.mh-block-title,.mh-block-kicker) { color: #ffffff; }
#mh-site .mh-block-benefit-grid { gap: 14px; margin-top: 50px; }
#mh-site .mh-block-benefit-card {
  min-height: 230px;
  padding: 28px;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
}
#mh-site .mh-block-benefit-card strong {
  display: block;
  margin-bottom: 16px;
  color: #ffffff;
  font-size: 1.25rem;
}
#mh-site .mh-block-benefit-card p { margin: 0; color: rgba(255,255,255,.72); line-height: 1.68; }

/* Review wall synced with the editable review options. */
#mh-site .mh-reviews-wall {
  position: relative;
  width: min(calc(100% - 48px), var(--mh-max));
  margin-inline: auto;
  padding: 100px 0;
}
#mh-site .mh-reviews-wall__head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 40px;
  margin-bottom: 44px;
}
#mh-site .mh-reviews-wall__head h2 {
  max-width: 760px;
  margin: 0;
  font-family: var(--mh-display);
  font-size: clamp(2.5rem, 4.5vw, 4.6rem);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.045em;
}
#mh-site .mh-reviews-wall__score { display: grid; justify-items: end; }
#mh-site .mh-reviews-wall__score strong { font-family: var(--mh-display); font-size: clamp(3.2rem, 6vw, 5.8rem); line-height: .8; }
#mh-site .mh-reviews-wall__stars,
#mh-site .mh-reviews-wall__card-stars { color: #ffc83d; letter-spacing: .08em; }
#mh-site .mh-reviews-wall__score small { margin-top: 7px; color: rgba(17,16,20,.62); }
#mh-site .mh-reviews-wall__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
#mh-site .mh-reviews-wall__card {
  display: grid;
  align-content: start;
  min-height: 310px;
  padding: 28px;
  border: 1px solid rgba(17,16,20,.1);
  border-radius: 20px;
  background: var(--mh-white);
}
#mh-site .mh-reviews-wall__card:nth-child(2),
#mh-site .mh-reviews-wall__card:nth-child(5) { color: #ffffff; border-color: transparent; background: #b62464; }
#mh-site .mh-reviews-wall__card:nth-child(2) :is(p,strong,small),
#mh-site .mh-reviews-wall__card:nth-child(5) :is(p,strong,small) { color: #ffffff; }
#mh-site .mh-reviews-wall__person { display: flex; align-items: center; gap: 12px; }
#mh-site .mh-reviews-wall__avatar {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: var(--mh-ink);
  font-weight: 900;
}
#mh-site .mh-reviews-wall__person div { display: grid; gap: 3px; }
#mh-site .mh-reviews-wall__person small { font-size: .72rem; opacity: .6; }
#mh-site .mh-reviews-wall__card-stars { margin-top: 24px; }
#mh-site .mh-reviews-wall__card > p { margin: 18px 0 0; font-family: var(--mh-serif); font-size: 1.28rem; line-height: 1.42; }

#mh-site .mh-block-contact-prep { padding-bottom: 72px; background: var(--mh-paper-2); }
#mh-site .mh-block-contact-after { padding-top: 72px; background: var(--mh-white); }

@media (max-width: 980px) {
  #mh-site .mh-rich-media { grid-template-columns: 1fr; }
  #mh-site .mh-rich-media__copy { max-width: 700px; }
  #mh-site .mh-reviews-wall__grid { grid-template-columns: repeat(2,1fr); }
  #mh-site .mh-block-card-grid--three { flex-wrap: wrap !important; }
  #mh-site .mh-block-card-grid--three .mh-block-card { flex-basis: calc(50% - 8px) !important; }
  #mh-site .mh-block-benefit-grid { flex-wrap: wrap !important; }
  #mh-site .mh-block-benefit-card { flex-basis: calc(50% - 7px) !important; }
}
@media (max-width: 720px) {
  #mh-site .mh-block-scenario__grid,
  #mh-site .mh-block-story__grid,
  #mh-site .mh-block-fit__grid,
  #mh-site .mh-block-mini-cta__grid { grid-template-columns: 1fr; }
  #mh-site .mh-rich-media,
  #mh-site .mh-reviews-wall { width: min(calc(100vw - 28px), var(--mh-max)); padding: 74px 0; }
  #mh-site .mh-reviews-wall__head { grid-template-columns: 1fr; align-items: start; }
  #mh-site .mh-reviews-wall__score { justify-items: start; }
  #mh-site .mh-reviews-wall__grid { grid-template-columns: 1fr; }
  #mh-site .mh-block-card-grid--three .mh-block-card,
  #mh-site .mh-block-benefit-card { flex-basis: 100% !important; }
  #mh-site .mh-block-compare { flex-direction: column; }
  #mh-site .mh-block-handnote { font-size: 1.1rem; }
}


/* v3.1.1 — shortcode sections must stay centred inside the full-width subpage canvas. */
#mh-site .mh-subpage-content > .mh-rich-media,
#mh-site .mh-subpage-content > .mh-reviews-wall {
  max-width: none;
  box-sizing: border-box;
}

/* v3.1.3 — six real show moments below the Show video. */
#mh-site .mh-show-gallery {
  position: relative;
  width: min(calc(100% - 48px), var(--mh-max));
  margin-inline: auto;
  padding: 18px 0 100px;
  color: #ffffff;
  isolation: isolate;
}
#mh-site .mh-show-gallery::before {
  position: absolute;
  z-index: -1;
  inset: 0 calc(50% - 50vw);
  content: "";
  background: var(--mh-ink);
}
#mh-site .mh-show-gallery__head {
  display: grid;
  grid-template-columns: minmax(0,.55fr) minmax(0,1.45fr);
  align-items: end;
  gap: 30px;
  margin-bottom: 34px;
}
#mh-site .mh-show-gallery__head h2 {
  max-width: 760px;
  margin: 0;
  color: #ffffff;
  font-family: var(--mh-display);
  font-size: clamp(2.15rem, 3.6vw, 3.8rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.04em;
}
#mh-site .mh-show-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
#mh-site .mh-show-gallery__item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
}
#mh-site .mh-show-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}
@media (hover:hover) {
  #mh-site .mh-show-gallery__item:hover img { transform: scale(1.025); }
}
@media (max-width: 900px) {
  #mh-site .mh-show-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #mh-site .mh-show-gallery__head { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  #mh-site .mh-show-gallery {
    width: min(calc(100vw - 28px), var(--mh-max));
    padding-bottom: 74px;
  }
  #mh-site .mh-show-gallery__grid { grid-template-columns: 1fr; gap: 12px; }
}

/* v3.1.4 — show flow: real timeline instead of four generic cards. */
#mh-site .mh-show-flow {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  background: var(--mh-ink);
}
#mh-site .mh-show-flow::before {
  position: absolute;
  top: -220px;
  right: -180px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, rgba(182,36,100,.28) 0%, rgba(182,36,100,0) 68%);
  pointer-events: none;
}
#mh-site .mh-show-flow__inner { position: relative; z-index: 1; }
#mh-site .mh-show-flow__head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.65fr);
  align-items: end;
  gap: clamp(36px, 7vw, 110px);
  margin-bottom: 58px;
}
#mh-site .mh-show-flow .mh-block-kicker,
#mh-site .mh-show-flow .mh-block-title,
#mh-site .mh-show-flow .mh-block-lead { color: #ffffff; }
#mh-site .mh-show-flow__head .mh-block-title {
  max-width: 820px;
  margin-bottom: 0;
}
#mh-site .mh-show-flow__head .mh-block-lead {
  max-width: 520px;
  margin: 0;
  color: rgba(255,255,255,.72);
}
#mh-site .mh-show-flow__grid {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  margin: 0;
}
#mh-site .mh-show-flow__grid::before {
  position: absolute;
  z-index: 0;
  top: 54px;
  left: 7%;
  right: 7%;
  height: 1px;
  content: "";
  background: rgba(255,255,255,.18);
}
#mh-site .mh-show-flow__card {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 330px;
  padding: 24px 24px 28px;
  border: 0 !important;
  border-radius: 24px;
  color: var(--mh-ink);
  background: var(--mh-white);
  box-shadow: 0 18px 55px rgba(0,0,0,.12);
}
#mh-site .mh-show-flow__card--2 {
  color: #ffffff;
  background: #b62464;
}
#mh-site .mh-show-flow__card--4 {
  color: #ffffff;
  background: #29282d;
}
#mh-site .mh-show-flow__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 52px;
}
#mh-site .mh-show-flow__icon {
  position: relative;
  display: grid;
  width: 60px;
  height: 60px;
  place-items: center;
  border-radius: 18px;
  color: #ffffff;
  background: #b62464;
}
#mh-site .mh-show-flow__card--2 .mh-show-flow__icon {
  color: #b62464;
  background: #ffffff;
}
#mh-site .mh-show-flow__card--4 .mh-show-flow__icon {
  color: var(--mh-ink);
  background: #ffffff;
}
#mh-site .mh-show-flow__icon::before {
  width: 27px;
  height: 27px;
  content: "";
  background: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
#mh-site .mh-show-flow__icon--plan::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18M8 16l2 2 5-5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18M8 16l2 2 5-5'/%3E%3C/svg%3E");
}
#mh-site .mh-show-flow__icon--arrival::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2M8 3l-2 2M16 3l2 2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2M8 3l-2 2M16 3l2 2'/%3E%3C/svg%3E");
}
#mh-site .mh-show-flow__icon--show::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3zM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15zM5 14l.8 2.2L8 17l-2.2.8L5 20l-.8-2.2L2 17l2.2-.8L5 14z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6L12 3zM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15zM5 14l.8 2.2L8 17l-2.2.8L5 20l-.8-2.2L2 17l2.2-.8L5 14z'/%3E%3C/svg%3E");
}
#mh-site .mh-show-flow__icon--talk::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 13a7 7 0 0 1-7 7H8l-5 2 1.5-4A8 8 0 1 1 21 13z'/%3E%3Cpath d='M8 12h.01M12 12h.01M16 12h.01'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 13a7 7 0 0 1-7 7H8l-5 2 1.5-4A8 8 0 1 1 21 13z'/%3E%3Cpath d='M8 12h.01M12 12h.01M16 12h.01'/%3E%3C/svg%3E");
}
#mh-site .mh-show-flow__step {
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  opacity: .5;
}
#mh-site .mh-show-flow__card h3 {
  margin: 0 0 16px;
  color: inherit;
  font-family: var(--mh-display);
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1;
  letter-spacing: -.035em;
}
#mh-site .mh-show-flow__card p {
  margin: 0;
  color: inherit;
  font-size: 1rem;
  line-height: 1.68;
  opacity: .76;
}
#mh-site .mh-show-flow__card--2 :is(h3,p),
#mh-site .mh-show-flow__card--4 :is(h3,p) { color: #ffffff !important; }
#mh-site .mh-show-flow__note {
  max-width: 980px;
  margin: 36px 0 0;
  padding: 20px 24px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 18px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.05);
  font-size: 1.02rem;
  line-height: 1.6;
}
#mh-site .mh-show-flow__note strong { color: #ffffff; }
@media (hover:hover) {
  #mh-site .mh-show-flow__card { transition: transform .25s ease, box-shadow .25s ease; }
  #mh-site .mh-show-flow__card:hover { transform: translateY(-5px); box-shadow: 0 26px 70px rgba(0,0,0,.22); }
}
@media (max-width: 1050px) {
  #mh-site .mh-show-flow__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #mh-site .mh-show-flow__grid::before { display: none; }
}
@media (max-width: 760px) {
  #mh-site .mh-show-flow__head { grid-template-columns: 1fr; }
  #mh-site .mh-show-flow__grid { grid-template-columns: 1fr; }
  #mh-site .mh-show-flow__card { min-height: 0; }
  #mh-site .mh-show-flow__top { margin-bottom: 34px; }
}


/* v3.1.5 — editable page impressions. Same visual language on every subpage. */
#mh-site .mh-page-impressions { padding-top: 86px; }
#mh-site .mh-page-impressions .mh-show-gallery__grid:has(.mh-show-gallery__item:only-child) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 860px;
}
#mh-site .mh-page-impressions .mh-show-gallery__grid:has(.mh-show-gallery__item:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* v3.1.7 — native Gutenberg impressions: six ordinary Image blocks, 3 × 2. */
#mh-site .mh-native-impressions {
  padding: 88px 0 100px;
  background: var(--mh-ink);
  color: #ffffff;
}
#mh-site .mh-native-impressions :is(.mh-block-kicker,.mh-block-title) { color: #ffffff; }
#mh-site .mh-native-impressions__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 36px;
}
#mh-site .mh-native-impressions__grid > .wp-block-image {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
}
#mh-site .mh-native-impressions__grid > .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Empty image placeholders should never create a blank gallery on the live site. */
#mh-site .mh-native-impressions:not(:has(img)) { display: none; }
@media (max-width: 900px) {
  #mh-site .mh-native-impressions__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  #mh-site .mh-native-impressions { padding: 72px 0; }
  #mh-site .mh-native-impressions__grid { grid-template-columns: 1fr; gap: 12px; }
}

/* v3.1.8 — Show + Marcel polish requested in review pass. */

/* SHOW: the round 30-minute badge stays on-brand but is now fully legible. */
body.mh-page-die-show #mh-site .mh-page-badge {
  color: #ffffff !important;
}

/* SHOW: give the decision section an actual next step. */
body.mh-page-die-show #mh-site .mh-block-fit .mh-fit-cta {
  margin-top: 30px;
}
body.mh-page-die-show #mh-site .mh-block-fit .mh-fit-cta .wp-block-button__link {
  border-color: #b62464;
  color: #ffffff;
  background: #b62464;
}
body.mh-page-die-show #mh-site .mh-block-fit .mh-fit-cta .wp-block-button__link:hover {
  transform: translateY(-1px);
}

/* SHOW: the later CTA should not be another giant magenta slab. */
body.mh-page-die-show #mh-site .mh-block-mini-cta {
  color: var(--mh-ink);
  background: var(--mh-paper-2);
}
body.mh-page-die-show #mh-site .mh-block-mini-cta :is(.mh-block-title,.mh-block-lead,p) {
  color: var(--mh-ink) !important;
}
body.mh-page-die-show #mh-site .mh-block-mini-cta .wp-block-button__link {
  border-color: #b62464;
  color: #ffffff;
  background: #b62464;
}

/* MARCEL: softer hero so the dark logo is readable before scroll. */
body.mh-page-marcel #mh-site .mh-page-hero--paper {
  background: #eadde2;
}

/* MARCEL: icon-led personality cards. */
body.mh-page-marcel #mh-site .mh-block-personality .mh-about-card {
  padding: 34px;
}
body.mh-page-marcel #mh-site .mh-about-card::before {
  display: block;
  width: 52px;
  height: 52px;
  content: "";
  background-color: #b62464;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
body.mh-page-marcel #mh-site .mh-about-card--no-cliche::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.5 4.2L18 9l-4.5 1.8L12 15l-1.5-4.2L6 9l4.5-1.8L12 3z'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.5 4.2L18 9l-4.5 1.8L12 15l-1.5-4.2L6 9l4.5-1.8L12 3z'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
}
body.mh-page-marcel #mh-site .mh-about-card--people::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3.5 19c.5-3.2 2.4-5 5.5-5s5 1.8 5.5 5'/%3E%3Cpath d='M16 8.5a2.5 2.5 0 1 1 0 5M16.5 15c2.3.4 3.6 1.7 4 4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3.5 19c.5-3.2 2.4-5 5.5-5s5 1.8 5.5 5'/%3E%3Cpath d='M16 8.5a2.5 2.5 0 1 1 0 5M16.5 15c2.3.4 3.6 1.7 4 4'/%3E%3C/svg%3E");
}
body.mh-page-marcel #mh-site .mh-about-card--spontaneous::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 13a7 7 0 0 1-7 7H8l-5 2 1.5-4A8 8 0 1 1 21 13z'/%3E%3Cpath d='M12 7l.8 2.2L15 10l-2.2.8L12 13l-.8-2.2L9 10l2.2-.8L12 7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 13a7 7 0 0 1-7 7H8l-5 2 1.5-4A8 8 0 1 1 21 13z'/%3E%3Cpath d='M12 7l.8 2.2L15 10l-2.2.8L12 13l-.8-2.2L9 10l2.2-.8L12 7z'/%3E%3C/svg%3E");
}
body.mh-page-marcel #mh-site .mh-about-card h3 {
  margin-top: 26px;
}
body.mh-page-marcel #mh-site .mh-block-personality .mh-about-card:nth-child(2)::before {
  background-color: #ffffff;
}

/* MARCEL: warmer story section, less hard white-on-white. */
body.mh-page-marcel #mh-site .mh-about-warm-story {
  background: #f6eee9;
}

@media (max-width: 720px) {
  body.mh-page-marcel #mh-site .mh-about-card::before {
    width: 46px;
    height: 46px;
  }
}

/* v3.1.8 — dark subpages use the white logo until the header becomes solid. */
body.mh-page-style-dark #mh-site .mh-header:not(.mh-scrolled) .mh-logo-asset--dark:has(+ .mh-logo-asset--light) {
  display: none;
}
body.mh-page-style-dark #mh-site .mh-header:not(.mh-scrolled) .mh-logo-asset--light {
  display: block;
}

/* =========================================================
   v3.1.9 — FAQ: visible controls + smooth native-details animation
   ========================================================= */
#mh-site .mh-block-details details {
  position: relative;
  overflow: clip;
  border-top: 1px solid rgba(255,255,255,.22);
  transition: border-color .25s ease, background-color .25s ease;
}
#mh-site .mh-block-details details:last-child {
  border-bottom: 1px solid rgba(255,255,255,.22);
}
#mh-site .mh-block-details details[open] {
  border-color: rgba(255,255,255,.34);
}
#mh-site .mh-block-details summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 96px;
  padding: 28px 74px 28px 0;
  color: #ffffff;
  font-size: clamp(1.08rem, 1.7vw, 1.34rem);
  font-weight: 800;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
  user-select: none;
}
#mh-site .mh-block-details summary::-webkit-details-marker { display: none; }
#mh-site .mh-block-details summary::marker { content: ""; }
#mh-site .mh-block-details summary::after {
  position: absolute;
  top: 50%;
  right: 2px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 50%;
  content: "+";
  color: #ffffff;
  background: rgba(255,255,255,.06);
  font-family: var(--mh-sans);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform .28s ease, background-color .28s ease, border-color .28s ease, color .28s ease;
}
#mh-site .mh-block-details details[open] > summary::after {
  content: "−";
  border-color: #b62464;
  background: #b62464;
  transform: translateY(-50%) rotate(180deg);
}
#mh-site .mh-block-details summary:hover::after {
  border-color: #b62464;
  background: #b62464;
}
#mh-site .mh-block-details summary:focus-visible {
  outline: none;
}
#mh-site .mh-block-details summary:focus-visible::after {
  box-shadow: 0 0 0 4px rgba(182,36,100,.28);
}
#mh-site .mh-block-details details > :not(summary) {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .22s ease, transform .22s ease;
}
#mh-site .mh-block-details details > p {
  max-width: 860px;
  margin: 0;
  padding: 0 74px 30px 0;
  color: rgba(255,255,255,.72);
  font-size: 1rem;
  line-height: 1.72;
}
#mh-site .mh-block-details details.mh-details-closing > :not(summary) {
  opacity: 0;
  transform: translateY(-6px);
}
#mh-site .mh-block-details details.mh-details-opening > :not(summary) {
  animation: mhFaqReveal .28s ease both;
}
@keyframes mhFaqReveal {
  from { opacity: 0; transform: translateY(-7px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 620px) {
  #mh-site .mh-block-details summary {
    min-height: 82px;
    padding: 23px 58px 23px 0;
  }
  #mh-site .mh-block-details summary::after {
    width: 36px;
    height: 36px;
    font-size: 1.35rem;
  }
  #mh-site .mh-block-details details > p { padding-right: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  #mh-site .mh-block-details details,
  #mh-site .mh-block-details summary::after,
  #mh-site .mh-block-details details > :not(summary) {
    transition: none !important;
    animation: none !important;
  }
}

/* =========================================================
   v3.2.0 — Show sales page: stronger story, proof and videos
   ========================================================= */
body.mh-page-die-show #mh-site .mh-sales-recognition {
  background: #f4eee8;
}
body.mh-page-die-show #mh-site .mh-sales-recognition .mh-block-title {
  max-width: 1050px;
}
body.mh-page-die-show #mh-site .mh-sales-recognition > .mh-block-inner > .mh-block-lead {
  max-width: 850px;
  margin-top: 26px;
  font-size: clamp(1.12rem, 1.7vw, 1.35rem);
}
body.mh-page-die-show #mh-site .mh-sales-recognition__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 52px;
}
body.mh-page-die-show #mh-site .mh-sales-recognition__card {
  min-height: 310px;
  padding: 28px;
  border: 1px solid rgba(17,16,20,.1);
  border-radius: 22px;
  background: var(--mh-white);
}
body.mh-page-die-show #mh-site .mh-sales-recognition__card--accent {
  color: #ffffff;
  border-color: transparent;
  background: #b62464;
}
body.mh-page-die-show #mh-site .mh-sales-recognition__card h3,
body.mh-page-die-show #mh-site .mh-sales-outcome h3 {
  margin: 24px 0 12px;
  font-family: var(--mh-display);
  font-size: clamp(1.35rem, 1.9vw, 1.8rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
body.mh-page-die-show #mh-site .mh-sales-recognition__card p,
body.mh-page-die-show #mh-site .mh-sales-outcome p {
  margin: 0;
  line-height: 1.68;
}
body.mh-page-die-show #mh-site .mh-sales-recognition__card--accent :is(h3,p) { color: #ffffff !important; }

body.mh-page-die-show #mh-site .mh-sales-icon {
  display: block;
  width: 44px;
  height: 44px;
  background: #b62464;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
body.mh-page-die-show #mh-site .mh-sales-recognition__card--accent .mh-sales-icon,
body.mh-page-die-show #mh-site .mh-sales-outcome--accent .mh-sales-icon { background: #ffffff; }
body.mh-page-die-show #mh-site .mh-sales-icon--shield {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5.2-3.2 9.2-8 11-4.8-1.8-8-5.8-8-11V5l8-3zm0 3.1L7 7v4c0 3.5 1.9 6.4 5 8 3.1-1.6 5-4.5 5-8V7l-5-1.9z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5.2-3.2 9.2-8 11-4.8-1.8-8-5.8-8-11V5l8-3zm0 3.1L7 7v4c0 3.5 1.9 6.4 5 8 3.1-1.6 5-4.5 5-8V7l-5-1.9z'/%3E%3C/svg%3E");
}
body.mh-page-die-show #mh-site .mh-sales-icon--people {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM8 13c-4 0-7 2-7 5v2h14v-2c0-3-3-5-7-5zm8 .3c-.8 0-1.6.1-2.3.3 1.7 1.2 2.8 2.7 3 4.7H23v-1c0-2.4-3-4-7-4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM8 13c-4 0-7 2-7 5v2h14v-2c0-3-3-5-7-5zm8 .3c-.8 0-1.6.1-2.3.3 1.7 1.2 2.8 2.7 3 4.7H23v-1c0-2.4-3-4-7-4z'/%3E%3C/svg%3E");
}
body.mh-page-die-show #mh-site .mh-sales-icon--together {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 1 6.7 9H22l-4 4-4-4h2.6A5 5 0 1 0 12 17c1 0 2-.3 2.8-.8l1.5 1.5A7 7 0 1 1 12 2zm-1 5h2v6h-2V7zm0 7h2v2h-2v-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 1 6.7 9H22l-4 4-4-4h2.6A5 5 0 1 0 12 17c1 0 2-.3 2.8-.8l1.5 1.5A7 7 0 1 1 12 2zm-1 5h2v6h-2V7zm0 7h2v2h-2v-2z'/%3E%3C/svg%3E");
}
body.mh-page-die-show #mh-site .mh-sales-icon--heart {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-4.8-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 6.2-8 11-8 11z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8-4.8-8-11a4.5 4.5 0 0 1 8-2.8A4.5 4.5 0 0 1 20 10c0 6.2-8 11-8 11z'/%3E%3C/svg%3E");
}
body.mh-page-die-show #mh-site .mh-sales-icon--seat {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12v9h2a2 2 0 0 1 2 2v5h-2v2h-2v-2H6v2H4v-2H2v-5a2 2 0 0 1 2-2h2V3zm2 2v7h8V5H8zm-4 9v3h16v-3H4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12v9h2a2 2 0 0 1 2 2v5h-2v2h-2v-2H6v2H4v-2H2v-5a2 2 0 0 1 2-2h2V3zm2 2v7h8V5H8zm-4 9v3h16v-3H4z'/%3E%3C/svg%3E");
}
body.mh-page-die-show #mh-site .mh-sales-icon--spark,
body.mh-page-die-show #mh-site .mh-sales-icon--secret {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2 6 6 2-6 2-2 6-2-6-6-2 6-2 2-6zm7 13l1 3 3 1-3 1-1 3-1-3-3-1 3-1 1-3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2 6 6 2-6 2-2 6-2-6-6-2 6-2 2-6zm7 13l1 3 3 1-3 1-1 3-1-3-3-1 3-1 1-3z'/%3E%3C/svg%3E");
}
body.mh-page-die-show #mh-site .mh-sales-icon--secret { transform: rotate(-12deg); }
body.mh-page-die-show #mh-site .mh-sales-icon--applause {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3a2 2 0 0 1 2 2v5h1V3a2 2 0 1 1 4 0v7h1V5a2 2 0 1 1 4 0v9c0 5-3.5 8-8 8H9c-2.8 0-5-1.2-6.7-3.5L1 16.7a2.2 2.2 0 0 1 3.3-2.9L6 15.5V5a2 2 0 0 1 1-2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3a2 2 0 0 1 2 2v5h1V3a2 2 0 1 1 4 0v7h1V5a2 2 0 1 1 4 0v9c0 5-3.5 8-8 8H9c-2.8 0-5-1.2-6.7-3.5L1 16.7a2.2 2.2 0 0 1 3.3-2.9L6 15.5V5a2 2 0 0 1 1-2z'/%3E%3C/svg%3E");
}

body.mh-page-die-show #mh-site .mh-sales-video-proof {
  color: #ffffff;
  background: var(--mh-ink);
}
body.mh-page-die-show #mh-site .mh-sales-video-proof :is(.mh-block-kicker,.mh-block-title,.mh-block-lead) { color: #ffffff; }
body.mh-page-die-show #mh-site .mh-sales-video-proof__head,
body.mh-page-die-show #mh-site .mh-sales-space__head {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.65fr);
  align-items: end;
  gap: clamp(36px, 7vw, 100px);
  margin-bottom: 48px;
}
body.mh-page-die-show #mh-site .mh-sales-video-proof__head .mh-block-lead { color: rgba(255,255,255,.74); }
body.mh-page-die-show #mh-site .mh-sales-video-grid {
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr);
  gap: 16px;
}
body.mh-page-die-show #mh-site .mh-sales-video--main { grid-row: span 2; }
body.mh-page-die-show #mh-site .mh-sales-video {
  overflow: hidden;
  margin: 0;
  border-radius: 22px;
  background: #09090b;
}
body.mh-page-die-show #mh-site .mh-sales-video .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
}
body.mh-page-die-show #mh-site .mh-sales-video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
body.mh-page-die-show #mh-site .mh-sales-video-note {
  max-width: 920px;
  margin: 24px 0 0;
  color: rgba(255,255,255,.56);
  font-size: .88rem;
  line-height: 1.6;
}

body.mh-page-die-show #mh-site .mh-sales-outcomes {
  background: var(--mh-white);
}
body.mh-page-die-show #mh-site .mh-sales-outcomes .mh-block-title { max-width: 1100px; }
body.mh-page-die-show #mh-site .mh-sales-outcomes__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
  margin-top: 52px;
}
body.mh-page-die-show #mh-site .mh-sales-outcome {
  min-height: 300px;
  padding: clamp(30px,4vw,48px);
  border-radius: 24px;
  background: var(--mh-paper-2);
}
body.mh-page-die-show #mh-site .mh-sales-outcome--accent {
  color: #ffffff;
  background: #b62464;
}
body.mh-page-die-show #mh-site .mh-sales-outcome--accent :is(h3,p) { color: #ffffff !important; }
body.mh-page-die-show #mh-site .mh-sales-inline-cta { margin-top: 32px; }
body.mh-page-die-show #mh-site .mh-sales-inline-cta .wp-block-button__link,
body.mh-page-die-show #mh-site .mh-sales-final .wp-block-button__link {
  border-color: #b62464;
  color: #ffffff;
  background: #b62464;
}

body.mh-page-die-show #mh-site .mh-sales-personality {
  color: #ffffff;
  background: #29272c;
}
body.mh-page-die-show #mh-site .mh-sales-personality :is(.mh-block-kicker,.mh-block-title,p,cite) { color: #ffffff; }
body.mh-page-die-show #mh-site .mh-sales-personality__grid {
  align-items: center;
  gap: clamp(50px, 8vw, 120px);
}
body.mh-page-die-show #mh-site .mh-sales-personality__grid > .wp-block-group > p { color: rgba(255,255,255,.75); line-height: 1.75; }
body.mh-page-die-show #mh-site .mh-sales-personality__quote {
  margin: 0;
  padding: clamp(34px,5vw,64px);
  border: 0;
  border-radius: 32px;
  background: #b62464;
}
body.mh-page-die-show #mh-site .mh-sales-personality__quote p {
  margin: 0;
  font-family: var(--mh-serif);
  font-size: clamp(2.2rem,4vw,4.5rem);
  font-style: italic;
  line-height: .98;
}
body.mh-page-die-show #mh-site .mh-sales-personality__quote cite {
  display: block;
  margin-top: 28px;
  font-family: var(--mh-sans);
  font-size: .78rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .76;
}

body.mh-page-die-show #mh-site .mh-sales-timing { background: #f3e7eb; }
body.mh-page-die-show #mh-site .mh-sales-timing__grid { align-items: start; gap: clamp(50px,8vw,120px); }
body.mh-page-die-show #mh-site .mh-sales-timing__steps { display: grid; gap: 12px; }
body.mh-page-die-show #mh-site .mh-sales-timing__step {
  display: grid;
  grid-template-columns: 54px 1fr;
  grid-template-areas: "num title" "num copy";
  gap: 4px 18px;
  padding: 22px 24px;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
}
body.mh-page-die-show #mh-site .mh-sales-timing__step--accent { color: #ffffff; background: #b62464; }
body.mh-page-die-show #mh-site .mh-sales-timing__num {
  grid-area: num;
  align-self: center;
  margin: 0;
  font-family: var(--mh-display);
  font-size: 1.65rem;
  opacity: .4;
}
body.mh-page-die-show #mh-site .mh-sales-timing__step h3 { grid-area: title; margin: 0; font-size: 1.18rem; }
body.mh-page-die-show #mh-site .mh-sales-timing__step p:not(.mh-sales-timing__num) { grid-area: copy; margin: 0; line-height: 1.55; opacity: .7; }
body.mh-page-die-show #mh-site .mh-sales-timing__step--accent :is(h3,p) { color: #ffffff !important; }

body.mh-page-die-show #mh-site .mh-sales-space { background: #fffaf7; }
body.mh-page-die-show #mh-site .mh-sales-space__joke {
  display: inline-block;
  margin-top: 18px;
  padding: 11px 16px;
  border-radius: 999px;
  background: rgba(182,36,100,.1);
  font-family: var(--mh-serif);
  font-style: italic;
}
body.mh-page-die-show #mh-site .mh-sales-space__videos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
body.mh-page-die-show #mh-site .mh-sales-space__videos .mh-sales-video { box-shadow: 0 18px 50px rgba(17,16,20,.08); }

body.mh-page-die-show #mh-site .mh-sales-proof { background: #efe6df; }
body.mh-page-die-show #mh-site .mh-sales-proof .mh-block-title { max-width: 980px; }
body.mh-page-die-show #mh-site .mh-sales-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-top: 48px;
}
body.mh-page-die-show #mh-site .mh-sales-proof__quote {
  min-height: 290px;
  margin: 0;
  padding: 30px;
  border: 0;
  border-radius: 22px;
  background: var(--mh-white);
}
body.mh-page-die-show #mh-site .mh-sales-proof__quote--accent { color: #ffffff; background: #b62464; }
body.mh-page-die-show #mh-site .mh-sales-proof__quote p {
  margin: 0;
  font-family: var(--mh-serif);
  font-size: clamp(1.55rem,2.3vw,2.1rem);
  line-height: 1.2;
}
body.mh-page-die-show #mh-site .mh-sales-proof__quote cite {
  display: block;
  margin-top: 24px;
  font-size: .76rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .6;
}
body.mh-page-die-show #mh-site .mh-sales-proof__quote--accent :is(p,cite) { color: #ffffff !important; }

body.mh-page-die-show #mh-site .mh-sales-final {
  color: var(--mh-ink);
  background: #f0dfe5;
}
body.mh-page-die-show #mh-site .mh-sales-final__grid {
  align-items: center;
  gap: clamp(46px,8vw,120px);
}
body.mh-page-die-show #mh-site .mh-sales-final .mh-block-title { color: var(--mh-ink); }
body.mh-page-die-show #mh-site .mh-sales-final .mh-block-lead { max-width: 600px; }
body.mh-page-die-show #mh-site .mh-sales-final .wp-block-buttons { margin-top: 28px; }

@media (max-width: 1050px) {
  body.mh-page-die-show #mh-site .mh-sales-recognition__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.mh-page-die-show #mh-site .mh-sales-video-proof__head,
  body.mh-page-die-show #mh-site .mh-sales-space__head { grid-template-columns: 1fr; }
  body.mh-page-die-show #mh-site .mh-sales-space__videos { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  body.mh-page-die-show #mh-site .mh-sales-recognition__grid,
  body.mh-page-die-show #mh-site .mh-sales-outcomes__grid,
  body.mh-page-die-show #mh-site .mh-sales-personality__grid,
  body.mh-page-die-show #mh-site .mh-sales-timing__grid,
  body.mh-page-die-show #mh-site .mh-sales-final__grid,
  body.mh-page-die-show #mh-site .mh-sales-proof__grid { grid-template-columns: 1fr; }
  body.mh-page-die-show #mh-site .mh-sales-video-grid { grid-template-columns: 1fr; }
  body.mh-page-die-show #mh-site .mh-sales-video--main { grid-row: auto; }
  body.mh-page-die-show #mh-site .mh-sales-space__videos { grid-template-columns: 1fr; }
  body.mh-page-die-show #mh-site .mh-sales-recognition__card,
  body.mh-page-die-show #mh-site .mh-sales-outcome,
  body.mh-page-die-show #mh-site .mh-sales-proof__quote { min-height: 0; }
}

/* =========================================================
   v3.2.1 — calmer subpage typography, aligned with homepage
   ========================================================= */
/* The homepage has the right editorial scale. Subpages now use the same
   breathing room instead of oversized, tightly packed display type. */
body:not(.home) #mh-site .mh-page-title {
  max-width: 900px;
  font-size: clamp(2.65rem, 4.35vw, 4.55rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}
body:not(.home) #mh-site .mh-page-lead {
  margin-top: 38px;
  line-height: 1.72;
}
body:not(.home) #mh-site .mh-block-title {
  font-size: clamp(2.05rem, 3.25vw, 3.45rem);
  line-height: 1.06;
  letter-spacing: -.03em;
}
body:not(.home) #mh-site .mh-block-display {
  font-size: clamp(2.35rem, 3.8vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}
body:not(.home) #mh-site .mh-block-reading h2 {
  font-size: clamp(2rem, 3.1vw, 3.3rem);
  line-height: 1.07;
  letter-spacing: -.025em;
}
/* The sales page should keep punch, but not shout louder than the homepage. */
body.mh-page-die-show #mh-site .mh-sales-recognition .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-outcomes .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-proof .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-final .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-video-proof .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-space .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-personality .mh-block-title,
body.mh-page-die-show #mh-site .mh-sales-timing .mh-block-title,
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-title {
  line-height: 1.07;
}
@media (max-width: 620px) {
  body:not(.home) #mh-site .mh-page-title {
    font-size: clamp(2.35rem, 10vw, 3.25rem);
    line-height: 1.05;
  }
  body:not(.home) #mh-site .mh-block-title {
    font-size: clamp(1.95rem, 8.5vw, 2.75rem);
    line-height: 1.08;
  }
  body:not(.home) #mh-site .mh-block-display {
    font-size: clamp(2.1rem, 9vw, 3rem);
    line-height: 1.06;
  }
}


/* =========================================================
   v3.2.3 — soft section surfaces: beige instead of baby pink
   Keep #b62464 for intentional accent surfaces only.
   ========================================================= */
body.mh-page-marcel #mh-site .mh-page-hero--paper {
  background: var(--mh-paper-2);
}
body.mh-page-marcel #mh-site .mh-about-warm-story {
  background: var(--mh-paper);
}
body.mh-page-die-show #mh-site .mh-sales-timing {
  background: var(--mh-paper-2);
}
body.mh-page-die-show #mh-site .mh-sales-final {
  background: var(--mh-paper);
}
/* Any soft-pink helper pills inside beige sections become a quiet beige tone too. */
body.mh-page-die-show #mh-site .mh-sales-space__joke,
#mh-site .mh-block-handnote {
  background: rgba(17,16,20,.055);
}

/* =========================================================
   v3.2.4 — subpage display typography matches the homepage
   Same Archivo Black character: regular display weight, not faux-bold.
   ========================================================= */
body:not(.home) #mh-site .mh-page-title,
body:not(.home) #mh-site .mh-page-title em,
body:not(.home) #mh-site .mh-block-title,
body:not(.home) #mh-site .mh-block-display,
body:not(.home) #mh-site .mh-block-reading h2,
body:not(.home) #mh-site .mh-rich-media__copy h2,
body:not(.home) #mh-site .mh-reviews-wall__head h2,
body:not(.home) #mh-site .mh-show-flow h2,
body:not(.home) #mh-site .mh-sales-recognition h2,
body:not(.home) #mh-site .mh-sales-video-proof h2,
body:not(.home) #mh-site .mh-sales-timing h2,
body:not(.home) #mh-site .mh-sales-outcomes h2,
body:not(.home) #mh-site .mh-sales-personality h2,
body:not(.home) #mh-site .mh-sales-space h2,
body:not(.home) #mh-site .mh-sales-proof h2,
body:not(.home) #mh-site .mh-sales-final h2 {
  font-family: var(--mh-display);
  font-weight: 400 !important;
  font-synthesis: none;
}

/* Keep the calmer subpage scale from v3.2.1, but let the type breathe like
   the homepage rather than looking compact and artificially heavy. */
body:not(.home) #mh-site .mh-page-title {
  line-height: 1.08;
}
body:not(.home) #mh-site .mh-block-title,
body:not(.home) #mh-site .mh-block-display,
body:not(.home) #mh-site .mh-block-reading h2 {
  line-height: 1.10;
}

/* v3.2.6 — direct YouTube player fallback when WordPress oEmbed is unavailable. */
#mh-site .mh-youtube-player {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #09090b;
}
#mh-site .mh-youtube-player iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* =========================================================
   v3.2.7 — equal three-column video rows on the Show page
   ========================================================= */
body.mh-page-die-show #mh-site .mh-sales-video-grid,
body.mh-page-die-show #mh-site .mh-sales-space__videos {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.mh-page-die-show #mh-site .mh-sales-video--main {
  grid-row: auto;
  grid-column: auto;
}
@media (max-width: 1050px) {
  body.mh-page-die-show #mh-site .mh-sales-video-grid,
  body.mh-page-die-show #mh-site .mh-sales-space__videos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  body.mh-page-die-show #mh-site .mh-sales-video-grid,
  body.mh-page-die-show #mh-site .mh-sales-space__videos {
    grid-template-columns: 1fr;
  }
}

/* v3.2.8 — hidden Marcel easter egg: five quick clicks on the logo while on the homepage. */
#mh-site .mh-easter-egg,
.mh-easter-egg {
  position: fixed;
  z-index: 999999;
  inset: 0;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(circle at 50% 32%, rgba(255,255,255,.16) 0, rgba(255,255,255,.06) 18%, rgba(0,0,0,.76) 48%, rgba(0,0,0,.92) 100%);
  opacity: 0;
  cursor: pointer;
  animation: mh-egg-overlay 5.1s ease both;
  isolation: isolate;
}
.mh-easter-egg::before {
  position: absolute;
  inset: -15%;
  content: "";
  background: radial-gradient(ellipse at 50% 30%, rgba(255,255,255,.08), transparent 42%);
  pointer-events: none;
}
.mh-easter-egg__message {
  position: absolute;
  z-index: 3;
  right: clamp(20px, 5vw, 76px);
  bottom: clamp(150px, 20vh, 230px);
  width: min(560px, calc(100vw - 40px));
  padding: 26px 30px 24px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  background: rgba(17,16,20,.88);
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
  backdrop-filter: blur(12px);
  transform: translateY(16px) rotate(-1deg);
  opacity: 0;
  animation: mh-egg-message 4.4s .18s cubic-bezier(.2,.75,.2,1) both;
}
.mh-easter-egg__message strong {
  display: block;
  color: #ffffff;
  font-family: var(--mh-display, "Archivo Black", "Arial Black", sans-serif);
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.mh-easter-egg__message small {
  display: block;
  margin-top: 12px;
  color: rgba(255,255,255,.62);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mh-easter-egg__truck {
  position: absolute;
  z-index: 4;
  bottom: 28px;
  left: -340px;
  width: 292px;
  height: 132px;
  animation: mh-monster-truck-drive 3.7s .62s cubic-bezier(.12,.62,.28,.98) both;
  filter: drop-shadow(0 18px 12px rgba(0,0,0,.35));
}
.mh-easter-egg__truck-body {
  position: absolute;
  left: 44px;
  bottom: 46px;
  width: 205px;
  height: 54px;
  border: 3px solid #ffffff;
  border-radius: 14px 24px 8px 8px;
  background: #111014;
  transform: skewX(-5deg);
  animation: mh-monster-truck-bounce .24s linear infinite alternate;
}
.mh-easter-egg__truck-body::before {
  position: absolute;
  top: 9px;
  left: 10px;
  width: 119px;
  height: 8px;
  border-radius: 999px;
  content: "";
  background: #b62464;
}
.mh-easter-egg__truck-body::after {
  position: absolute;
  top: -34px;
  right: 13px;
  width: 67px;
  height: 42px;
  border: 3px solid #ffffff;
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  content: "";
  background: #111014;
  transform: skewX(11deg);
}
.mh-easter-egg__tiger {
  position: absolute;
  z-index: 2;
  top: -30px;
  right: 29px;
  font-size: 27px;
  line-height: 1;
  transform: skewX(5deg) rotate(3deg);
}
.mh-easter-egg__wheel {
  position: absolute;
  bottom: 10px;
  width: 70px;
  height: 70px;
  border: 7px solid #050506;
  border-radius: 50%;
  background:
    radial-gradient(circle, #b62464 0 9px, #fff 10px 13px, #17161a 14px 25px, #050506 26px 100%);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.12);
  animation: mh-monster-wheel .34s linear infinite;
}
.mh-easter-egg__wheel--1 { left: 31px; }
.mh-easter-egg__wheel--2 { right: 18px; }
.mh-easter-egg__dust {
  position: absolute;
  left: 0;
  bottom: 27px;
  width: 88px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255,255,255,.11);
  filter: blur(7px);
  animation: mh-monster-dust .36s linear infinite alternate;
}
@keyframes mh-egg-overlay {
  0% { opacity: 0; }
  8%, 87% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes mh-egg-message {
  0% { opacity: 0; transform: translateY(18px) rotate(-1deg); }
  12%, 78% { opacity: 1; transform: translateY(0) rotate(-1deg); }
  100% { opacity: 0; transform: translateY(-8px) rotate(-1deg); }
}
@keyframes mh-monster-truck-drive {
  0% { transform: translateX(0) rotate(-1deg); }
  22% { transform: translateX(34vw) rotate(1deg); }
  46% { transform: translateX(58vw) rotate(-1deg); }
  68% { transform: translateX(82vw) rotate(1deg); }
  100% { transform: translateX(calc(100vw + 430px)) rotate(-1deg); }
}
@keyframes mh-monster-truck-bounce {
  from { transform: translateY(0) skewX(-5deg); }
  to { transform: translateY(-4px) skewX(-5deg); }
}
@keyframes mh-monster-wheel { to { transform: rotate(360deg); } }
@keyframes mh-monster-dust {
  from { opacity: .25; transform: scale(.8); }
  to { opacity: .7; transform: scale(1.15); }
}
@media (max-width: 640px) {
  .mh-easter-egg__message {
    right: 16px;
    bottom: 160px;
    width: calc(100vw - 32px);
    padding: 22px;
  }
  .mh-easter-egg__truck {
    bottom: 26px;
    width: 245px;
    transform-origin: left bottom;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mh-easter-egg { animation-duration: 3s; }
  .mh-easter-egg__message { animation: none; opacity: 1; transform: none; }
  .mh-easter-egg__truck { left: 50%; transform: translateX(-50%) scale(.8); animation: none; }
  .mh-easter-egg__truck-body,
  .mh-easter-egg__wheel,
  .mh-easter-egg__dust { animation: none; }
}

/* =========================================================
   v3.3.3 — rabbit pop-up hover polish.
   ========================================================= */

/* The review-page hero sticker must stay fully legible on the dark header. */
body.mh-page-stimmen #mh-site .mh-page-badge {
  color: #ffffff !important;
}

/* A visible little top hat with a rabbit peeking out appears on the subpages. */
.mh-easter-hat {
  position: fixed;
  z-index: 99990;
  left: clamp(16px, 2.4vw, 30px);
  bottom: clamp(16px, 2.4vw, 30px);
  width: 132px;
  height: 130px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transform-origin: 50% 100%;
  animation: mh-easter-hat-float 5.6s ease-in-out infinite;
  transition: transform .18s ease, filter .18s ease;
  filter: drop-shadow(0 14px 26px rgba(17,16,20,.16));
}
.mh-easter-hat:hover,
.mh-easter-hat:focus-visible {
  outline: 0;
  transform: translateY(-4px) scale(1.05);
  filter: drop-shadow(0 18px 32px rgba(17,16,20,.22));
}
.mh-easter-hat:hover .mh-easter-hat__rabbit,
.mh-easter-hat:focus-visible .mh-easter-hat__rabbit {
  transform: translateX(-50%) translateY(-13px);
}
.mh-easter-hat:hover .mh-easter-hat__ear--left,
.mh-easter-hat:focus-visible .mh-easter-hat__ear--left {
  animation: mh-rabbit-ear-left-fast .58s ease-in-out infinite;
}
.mh-easter-hat:hover .mh-easter-hat__ear--right,
.mh-easter-hat:focus-visible .mh-easter-hat__ear--right {
  animation: mh-rabbit-ear-right-fast .64s ease-in-out infinite;
}
.mh-easter-hat:focus-visible::before {
  position: absolute;
  inset: -8px;
  border: 2px solid #ffffff;
  border-radius: 22px;
  content: "";
  box-shadow: 0 0 0 2px #111014;
}
.mh-easter-hat__rabbit {
  position: absolute;
  left: 50%;
  bottom: 48px;
  width: 62px;
  height: 44px;
  transform: translateX(-50%);
  transition: transform .24s cubic-bezier(.2,.8,.2,1);
}
.mh-easter-hat__face {
  position: absolute;
  inset: 10px 0 0;
  border-radius: 50% 50% 46% 46%;
  background: #fffdf8;
  box-shadow: 0 0 0 2px #111014, 0 5px 14px rgba(17,16,20,.12);
}
.mh-easter-hat__ear {
  position: absolute;
  bottom: 18px;
  width: 18px;
  height: 48px;
  border-radius: 999px 999px 12px 12px;
  background: #fffdf8;
  box-shadow: 0 0 0 2px #111014;
  transform-origin: 50% 100%;
}
.mh-easter-hat__ear::after {
  position: absolute;
  inset: 8px 4px 6px;
  border-radius: 999px;
  background: rgba(182,36,100,.22);
  content: "";
}
.mh-easter-hat__ear--left {
  left: 10px;
  transform: rotate(-7deg);
  animation: mh-rabbit-ear-left 2.3s ease-in-out infinite;
}
.mh-easter-hat__ear--right {
  right: 10px;
  transform: rotate(9deg);
  animation: mh-rabbit-ear-right 2.55s ease-in-out infinite;
}
.mh-easter-hat__eye {
  position: absolute;
  top: 13px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #111014;
}
.mh-easter-hat__eye--left { left: 20px; }
.mh-easter-hat__eye--right { right: 20px; }
.mh-easter-hat__nose {
  position: absolute;
  left: 50%;
  top: 20px;
  width: 9px;
  height: 7px;
  border-radius: 50% 50% 65% 65%;
  background: rgba(182,36,100,.6);
  transform: translateX(-50%);
}
.mh-easter-hat__crown {
  position: absolute;
  left: 50%;
  bottom: 28px;
  width: 76px;
  height: 52px;
  border-radius: 14px 14px 10px 10px;
  background: linear-gradient(180deg, #2b2832 0%, #111014 100%);
  box-shadow: inset 0 0 0 3px #111014;
  transform: translateX(-50%);
}
.mh-easter-hat__crown::after {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px;
  height: 10px;
  background: #b62464;
  content: "";
}
.mh-easter-hat__brim {
  position: absolute;
  left: 50%;
  bottom: 18px;
  width: 116px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #2d2a35 0%, #111014 100%);
  box-shadow: inset 0 0 0 3px #111014;
  transform: translateX(-50%);
}
.mh-easter-hat__shadow {
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 74px;
  height: 14px;
  border-radius: 999px;
  background: rgba(17,16,20,.18);
  transform: translateX(-50%);
  filter: blur(4px);
}
.mh-easter-hat--caught { transform: translateY(2px) scale(.97) !important; }
.mh-easter-hat--caught .mh-easter-hat__rabbit {
  animation: mh-rabbit-duck .24s ease both;
}
@keyframes mh-easter-hat-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-3px) rotate(-1deg); }
}
@keyframes mh-rabbit-ear-left {
  0%, 100% { transform: rotate(-7deg); }
  35% { transform: rotate(-2deg); }
  55% { transform: rotate(-11deg); }
}
@keyframes mh-rabbit-ear-right {
  0%, 100% { transform: rotate(9deg); }
  40% { transform: rotate(4deg); }
  65% { transform: rotate(13deg); }
}
@keyframes mh-rabbit-ear-left-fast {
  0%, 100% { transform: rotate(-8deg); }
  50% { transform: rotate(-18deg); }
}
@keyframes mh-rabbit-ear-right-fast {
  0%, 100% { transform: rotate(10deg); }
  50% { transform: rotate(20deg); }
}
@keyframes mh-rabbit-duck {
  0% { transform: translateX(-50%) translateY(0); }
  100% { transform: translateX(-50%) translateY(12px); }
}
@media (max-width: 620px) {
  .mh-easter-hat {
    left: 10px;
    bottom: 10px;
    width: 112px;
    height: 112px;
  }
  .mh-easter-hat__rabbit { width: 54px; bottom: 42px; }
  .mh-easter-hat__ear { height: 40px; }
  .mh-easter-hat__crown { width: 68px; height: 46px; }
  .mh-easter-hat__brim { width: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  .mh-easter-hat,
  .mh-easter-hat__sparkle,
  .mh-easter-hat__ear { animation: none; }
}



/* =========================================================
   v3.4.0 — clearer CTA path, shorter contact page, theatre on Die Show.
   ========================================================= */
#mh-site .mh-home-inline-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 46px;
  padding: 24px 0 0;
  border-top: 2px solid var(--mh-line-dark);
}
#mh-site .mh-home-inline-cta p {
  max-width: 680px;
  margin: 0;
  font-family: var(--mh-serif);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  font-style: italic;
  line-height: 1.15;
}
#mh-site .mh-home-inline-cta--dark { border-top-color: rgba(255,255,255,.2); }
#mh-site .mh-home-inline-cta--dark p { color: #ffffff; }
#mh-site .mh-profile-cta { margin-top: 30px; }

/* The contact form now begins directly after a deliberately compact hero. */
body.mh-page-kontakt #mh-site .mh-page-hero {
  min-height: auto;
  padding: 126px 0 54px;
}
body.mh-page-kontakt #mh-site .mh-page-hero__visual { min-height: 330px; }
body.mh-page-kontakt #mh-site .mh-page-lead { margin-top: 22px; }
body.mh-page-kontakt #mh-site .mh-contact-page { padding: 70px 0; }
body.mh-page-kontakt #mh-site .mh-contact-page__after .mh-block-contact-after {
  padding: 68px 0 76px;
}

/* Small conversion prompts between longer sales sections. */
body.mh-page-die-show #mh-site .mh-sales-quick-cta {
  padding: 28px 0;
  color: #ffffff;
  background: var(--mh-pink);
}
body.mh-page-die-show #mh-site .mh-sales-quick-cta__inner {
  gap: 22px;
}
body.mh-page-die-show #mh-site .mh-sales-quick-cta p {
  max-width: 760px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.05rem, 1.7vw, 1.25rem);
  font-weight: 700;
}
body.mh-page-die-show #mh-site .mh-sales-quick-cta .wp-block-button__link {
  border: 2px solid #ffffff;
  color: var(--mh-ink);
  background: #ffffff;
}

/* Mobile Zaubertheater now belongs to Die Show instead of the homepage. */
body.mh-page-die-show #mh-site .mh-sales-theatre {
  color: var(--mh-ink);
  background: var(--mh-paper-2);
}
body.mh-page-die-show #mh-site .mh-sales-theatre__grid {
  align-items: center;
  gap: clamp(42px, 7vw, 92px);
}
body.mh-page-die-show #mh-site .mh-sales-theatre .mh-block-checklist { margin-top: 28px; }
body.mh-page-die-show #mh-site .mh-sales-theatre__actions { margin-top: 30px; gap: 12px; }
body.mh-page-die-show #mh-site .mh-sales-theatre__actions .wp-block-button__link {
  border: 2px solid var(--mh-ink);
  color: #ffffff;
  background: var(--mh-ink);
}
body.mh-page-die-show #mh-site .mh-sales-theatre__actions .is-style-outline .wp-block-button__link {
  color: var(--mh-ink);
  background: transparent;
}
#mh-site .mh-rich-media--frame-only {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  color: inherit;
}
#mh-site .mh-rich-media--frame-only::before { display: none; }
#mh-site .mh-rich-media--frame-only .mh-rich-media__frame {
  width: 100%;
  border: 2px solid var(--mh-ink);
  border-radius: 24px;
  box-shadow: 16px 16px 0 rgba(17,16,20,.1);
}

@media (max-width: 900px) {
  #mh-site .mh-home-inline-cta { align-items: flex-start; flex-direction: column; }
  body.mh-page-die-show #mh-site .mh-sales-theatre__grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 720px) {
  body.mh-page-kontakt #mh-site .mh-page-hero { padding: 112px 0 42px; }
  body.mh-page-kontakt #mh-site .mh-page-hero__visual { min-height: 270px; }
  body.mh-page-kontakt #mh-site .mh-contact-page { padding: 58px 0; }
  #mh-site .mh-home-inline-cta .mh-button { width: 100%; }
}


/* =========================================================
   v3.4.1 — conversion cleanup requested in final page pass.
   ========================================================= */

/* Homepage: the request process now ends with the next obvious action. */
#mh-site .mh-process-cta {
  display: flex;
  justify-content: center;
  margin-top: 38px;
}

/* Die Show: clear contact CTA in the three long explanatory sections. */
body.mh-page-die-show #mh-site .mh-section-contact-cta {
  display: flex;
  margin-top: 34px;
}
body.mh-page-die-show #mh-site .mh-section-contact-cta .wp-block-button__link,
body.mh-page-die-show #mh-site .mh-section-contact-cta > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 25px;
  border: 2px solid #b62464;
  border-radius: 999px;
  color: #ffffff !important;
  background: #b62464;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
body.mh-page-die-show #mh-site .mh-section-contact-cta .wp-block-button__link:hover,
body.mh-page-die-show #mh-site .mh-section-contact-cta > a:hover {
  transform: translateY(-2px);
  box-shadow: 0 9px 0 rgba(17,16,20,.12);
}
body.mh-page-die-show #mh-site .mh-show-flow .mh-section-contact-cta {
  justify-content: flex-start;
}
body.mh-page-die-show #mh-site .mh-show-flow .mh-section-contact-cta .wp-block-button__link,
body.mh-page-die-show #mh-site .mh-show-flow .mh-section-contact-cta > a {
  border-color: #ffffff;
  color: var(--mh-ink) !important;
  background: #ffffff;
}

/* The generic checklist was designed for dark sections. On the beige
   Zaubertheater surface the white separators disappeared, so use ink lines. */
body.mh-page-die-show #mh-site .mh-sales-theatre .mh-block-checklist li {
  border-bottom-color: rgba(17,16,20,.16);
}
body.mh-page-die-show #mh-site .mh-sales-theatre .mh-block-checklist li:first-child {
  border-top-color: rgba(17,16,20,.16);
}

@media (max-width: 620px) {
  #mh-site .mh-process-cta { justify-content: stretch; }
  #mh-site .mh-process-cta .mh-button,
  body.mh-page-die-show #mh-site .mh-section-contact-cta .wp-block-button,
  body.mh-page-die-show #mh-site .mh-section-contact-cta .wp-block-button__link,
  body.mh-page-die-show #mh-site .mh-section-contact-cta > a { width: 100%; }
}


/* =========================================================
   v3.4.2 — homepage hierarchy: clear routes to detail pages.
   ========================================================= */

/* Occasion cards now act as intentional gateways to Die Show. */
#mh-site .mh-occasion-body {
  display: flex;
  flex-direction: column;
}
#mh-site .mh-occasion-cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin-top: auto;
  padding-top: 22px;
  color: currentColor;
  font-size: .88rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}
#mh-site .mh-occasion-cta span {
  display: inline-block;
  transition: transform .18s ease;
}
#mh-site .mh-occasion-cta:hover span,
#mh-site .mh-occasion-cta:focus-visible span { transform: translateX(4px); }
#mh-site .mh-occasion-card:nth-child(1) .mh-occasion-cta,
#mh-site .mh-occasion-card:nth-child(3) .mh-occasion-cta { color: #ffffff; }
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-cta { color: var(--mh-ink); }

/* FAQ gets its own warm-paper surface so it no longer visually merges with testimonials. */
#mh-site .mh-home-faq {
  color: var(--mh-ink);
  background: #eee7dc;
}
#mh-site .mh-home-faq .mh-copy,
#mh-site .mh-home-faq .mh-faq-a p { color: rgba(17,16,20,.72); }
#mh-site .mh-home-faq .mh-faq-list { border-top-color: rgba(17,16,20,.18); }
#mh-site .mh-home-faq .mh-faq-item { border-bottom-color: rgba(17,16,20,.18); }
#mh-site .mh-home-faq .mh-faq-icon {
  border-color: rgba(17,16,20,.22);
  color: var(--mh-pink);
}
#mh-site .mh-home-faq-cta { margin-top: 30px; }

@media (max-width: 720px) {
  #mh-site .mh-home-faq-cta .mh-button { width: 100%; }
}

/* =========================================================
   v3.4.3 — visual regression fixes after CTA/FAQ pass.
   ========================================================= */

/* Homepage FAQ lives on a light surface now, so its question text must not
   inherit the white text from the original dark FAQ component. */
#mh-site .mh-home-faq .mh-faq-q,
#mh-site .mh-home-faq .mh-faq-q strong {
  color: var(--mh-ink) !important;
}

/* Die Show: CTAs added directly to a full-width section must line up with the
   content container instead of sticking to the left edge of the viewport. */
body.mh-page-die-show #mh-site .mh-sales-timing > .mh-section-contact-cta,
body.mh-page-die-show #mh-site .mh-sales-space > .mh-section-contact-cta {
  width: min(calc(100% - 48px), var(--mh-max));
  margin: 34px auto 0;
}

@media (max-width: 620px) {
  body.mh-page-die-show #mh-site .mh-sales-timing > .mh-section-contact-cta,
  body.mh-page-die-show #mh-site .mh-sales-space > .mh-section-contact-cta {
    width: min(calc(100% - 28px), var(--mh-max));
  }
}


/* =========================================================
   v3.4.4 — process CTA uses the same editorial strip as testimonials.
   ========================================================= */
#mh-site .mh-process-inline-cta {
  margin-top: 46px;
}
#mh-site .mh-process-inline-cta p {
  color: var(--mh-ink);
}
@media (max-width: 900px) {
  #mh-site .mh-process-inline-cta {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 720px) {
  #mh-site .mh-process-inline-cta .mh-button { width: 100%; }
}


/* =========================================================
   v3.4.5 — Die Show polish: personality gallery, flow CTA and FAQ.
   ========================================================= */

/* Three native Gutenberg image slots immediately extend the personality section. */
body.mh-page-die-show #mh-site .mh-sales-personality-gallery {
  padding: 0 0 clamp(70px, 8vw, 118px);
  background: #29272c;
}
body.mh-page-die-show #mh-site .mh-sales-personality-gallery:not(:has(img)) {
  display: none;
}
body.mh-page-die-show #mh-site .mh-sales-personality-gallery__inner {
  width: min(calc(100% - 48px), var(--mh-max));
  max-width: var(--mh-max);
  margin-inline: auto;
}
body.mh-page-die-show #mh-site .mh-sales-personality-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 22px);
}
body.mh-page-die-show #mh-site .mh-sales-personality-gallery__grid .wp-block-image {
  aspect-ratio: 4 / 3;
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255,255,255,.05);
}
body.mh-page-die-show #mh-site .mh-sales-personality-gallery__grid .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* In the process section the CTA belongs directly under the headline. */
body.mh-page-die-show #mh-site .mh-show-flow__head > .wp-block-group > .mh-section-contact-cta,
body.mh-page-die-show #mh-site .mh-show-flow__head > .wp-block-group > .wp-block-buttons.mh-section-contact-cta {
  margin-top: 24px;
  justify-content: flex-start;
}

/* The Show FAQ gets a warm light surface with proper dark separators. */
body.mh-page-die-show #mh-site .mh-block-faq {
  color: var(--mh-ink);
  background: #eee7dc;
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-title,
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-kicker,
body.mh-page-die-show #mh-site .mh-block-faq summary {
  color: var(--mh-ink) !important;
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-inner > *:first-child p:not(.mh-block-kicker),
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details details > p {
  color: rgba(17,16,20,.72) !important;
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details details {
  border-top-color: rgba(17,16,20,.18);
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details details:last-child {
  border-bottom-color: rgba(17,16,20,.18);
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details details[open] {
  border-color: rgba(17,16,20,.28);
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details summary::after {
  border-color: rgba(17,16,20,.24);
  color: #b62464;
  background: rgba(255,255,255,.34);
}
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details summary:hover::after,
body.mh-page-die-show #mh-site .mh-block-faq .mh-block-details details[open] > summary::after {
  border-color: #b62464;
  color: #ffffff;
  background: #b62464;
}

@media (max-width: 760px) {
  body.mh-page-die-show #mh-site .mh-sales-personality-gallery__grid {
    grid-template-columns: 1fr;
  }
  body.mh-page-die-show #mh-site .mh-show-flow__head > .wp-block-group > .mh-section-contact-cta,
  body.mh-page-die-show #mh-site .mh-show-flow__head > .wp-block-group > .wp-block-buttons.mh-section-contact-cta {
    width: 100%;
  }
}

/* =========================================================
   v3.4.6 — final contrast + Zaubertheater image cleanup.
   ========================================================= */

/* Accent teaser / hero stickers always use true white copy. */
#mh-site .mh-page-badge {
  color: #ffffff !important;
}

/* The pink occasion card is an accent surface too: keep its CTA white. */
#mh-site .mh-occasion-card:nth-child(2) .mh-occasion-cta {
  color: #ffffff !important;
}

/* Die Show → mobile Zaubertheater: the photo should sit cleanly on the beige
   surface, without the heavy frame or offset shadow. */
body.mh-page-die-show #mh-site .mh-sales-theatre .mh-rich-media--frame-only .mh-rich-media__frame {
  border: 0 !important;
  box-shadow: none !important;
}

/* v3.4.7 — cleaner header CTA hover: no coloured "shelf" shadow. */
#mh-site .mh-header .mh-button:hover,
#mh-site .mh-header .mh-button--pink:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(17, 16, 20, .16);
}
