
/* Homepage editorial sections: isolated, draft-only, 2026-10-27. */
.mfh-home-app, .mfh-home-director { background: #fff; color: #20251e; }
.mfh-home-app *, .mfh-home-director * { box-sizing: border-box; }
.mfh-home-app { padding: clamp(46px, 6vw, 86px) 0 60px; }
.mfh-home-app .container-section, .mfh-home-director .container-section { max-width: 1260px; }
.mfh-home-eyebrow { color: #788862; font-size: 14px; font-weight: 700; line-height: 1.35; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 15px; }
.mfh-home-app__intro, .mfh-home-director__intro { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, .85fr); align-items: end; gap: clamp(24px,5vw,80px); margin-bottom: 32px; }
.mfh-home-app__title, .mfh-home-director__title { font-family: inherit; font-size: clamp(38px, 5.2vw, 70px); line-height: 1.04; letter-spacing: -.052em; font-weight: 650; color: #191e19; margin: 0; text-wrap: balance; }
.mfh-home-app__lede, .mfh-home-director__lede { color: #5a6257; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.48; margin: 0 0 5px; max-width: 380px; }
.mfh-home-app__visual { position: relative; isolation: isolate; min-height: 502px; border-radius: 32px; overflow: hidden; background: #363c32; }
.mfh-home-app__studio { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.mfh-home-app__visual::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(13,19,14,.88) 0%, rgba(19,25,18,.79) 28%, rgba(20,28,21,.48) 57%, rgba(12,18,15,.08) 100%); pointer-events:none; }
.mfh-home-app__visual-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; width: 55%; min-height: 502px; padding: clamp(28px,5vw,70px); color: #fff; }
.mfh-home-app__visual-kicker { color: #fff; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; margin: 0 0 20px; }
.mfh-home-app__visual-heading { font-family: inherit; color: #fff; font-size: 40px; line-height: 1.12; font-weight: 500; letter-spacing: normal; margin: 0 0 18px; }
.mfh-home-app__visual-text { max-width: 420px; color: rgba(255,255,255,.9); font-size: clamp(16px,1.5vw,19px); line-height: 1.5; margin: 0; }
.mfh-home-app__phone { position: absolute; z-index: 3; right: 6%; bottom: -29px; width: auto; height: min(93%, 472px); max-width: 39%; object-fit: contain; object-position: bottom; filter: drop-shadow(0 20px 26px rgba(0,0,0,.28)); }
.mfh-home-app__download { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 22px; padding: 24px 2px 0; }
.mfh-home-app__download-note { color: #5a6257; font-size: 17px; line-height: 1.4; margin: 0; }
.mfh-home-app__badges { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.mfh-home-app__store { display: inline-flex; gap: 11px; align-items: center; min-width: 166px; min-height: 54px; padding: 9px 17px; border: 1px solid #0e0f0e; border-radius: 12px; background: #0e0f0e; color: #fff !important; text-decoration: none !important; transition: transform .2s ease, background .2s ease; }
.mfh-home-app__store:hover { transform: translateY(-2px); background: #2c3229; color: #fff !important; text-decoration: none !important; }
.mfh-home-app__store:focus-visible { outline: 3px solid #89966f; outline-offset: 4px; }
.mfh-home-app__store svg { flex: 0 0 26px; display: block; width: 26px; height: 26px; fill: #fff; }
.mfh-home-app__store-label { display: flex; flex-direction: column; gap: 2px; white-space: nowrap; }
.mfh-home-app__store-label small { font-size: 10px; letter-spacing: .01em; line-height: 1.1; }
.mfh-home-app__store-label strong { font-size: 17px; font-weight: 600; line-height: 1.15; }
.mfh-home-director { padding: 54px 0 clamp(66px, 7vw, 100px); }
.mfh-home-director__visual { display: grid; grid-template-columns: 49% 51%; overflow: hidden; border-radius: 32px; height: clamp(370px, 36vw, 485px); background: #ebe8e2; }
.mfh-home-director__person, .mfh-home-director__room { position: relative; min-width: 0; overflow: hidden; }
.mfh-home-director__person img, .mfh-home-director__room img { display:block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.mfh-home-director__person img { object-position: 57% 38%; }
.mfh-home-director__room img { object-position: center center; }
.mfh-home-director__room::after { content:""; position:absolute; inset:55% 0 0; pointer-events:none; background:linear-gradient(0deg,rgba(8,15,11,.34),transparent); }
.mfh-home-director__room-label { position: absolute; z-index: 1; bottom: 20px; right: 24px; padding: 10px 16px; border-radius: 99px; background: rgba(20,26,20,.58); color:#fff; font-size:13px; line-height:1.25; backdrop-filter:blur(8px); }
.mfh-home-director__body { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); align-items:center; gap:40px; padding: 34px 0; }
.mfh-home-director__quote { margin: 0 0 10px; color:#20261e; font-size: clamp(23px,2.15vw,30px); line-height:1.25; font-weight: 570; letter-spacing:-.025em; }
.mfh-home-director__message { color:#5a6257; font-size:16px; line-height:1.52; margin:0 0 12px; }
.mfh-home-director__name { color:#788862; font-size:15px; margin:0; }
.mfh-home-director__name a { color:inherit !important; text-decoration: underline !important; text-underline-offset:4px; }
.mfh-home-director__actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.mfh-home-director__button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border-radius:999px; background:#89966f; color:#fff !important; text-decoration:none !important; font-size:15px; font-weight:600; line-height:1.3; transition:background .2s ease; }
.mfh-home-director__button:hover { color:#fff !important; background:#73825a; text-decoration:none !important; }
.mfh-home-director__actions-note { color:#7a8276; font-size:13px; margin:0; }
.mfh-home-director__career { display:flex; justify-content:space-between; align-items:center; gap:30px; border-top:1px solid #e2e8db; background:#f6f8f3; border-radius:19px; padding:25px clamp(24px,3vw,38px); }
.mfh-home-director__career-title { margin:0 0 5px; color:#232a20; font-size:24px; font-weight:600; line-height:1.2; }
.mfh-home-director__career-text { margin:0; color:#677163; font-size:15px; line-height:1.42; }
.mfh-home-director__career-link { color:#647551 !important; text-decoration:underline !important; text-underline-offset:4px; font-size:16px; font-weight:600; white-space:nowrap; }
@media (max-width: 900px) {
  .mfh-home-app__intro, .mfh-home-director__intro { grid-template-columns:1fr; gap:12px; }
  .mfh-home-app__lede, .mfh-home-director__lede { max-width:680px; }
  .mfh-home-app__visual, .mfh-home-app__visual-copy { min-height:450px; }
  .mfh-home-app__visual-copy { width:61%; padding:35px; }
  .mfh-home-app__phone { height:87%; right:3%; }
  .mfh-home-director__visual { height:370px; }
}
@media (max-width: 640px) {
  .mfh-home-app { padding:42px 0 35px; }
  .mfh-home-app__intro, .mfh-home-director__intro { margin-bottom:24px; }
  .mfh-home-app__title, .mfh-home-director__title { font-size:clamp(36px, 9vw, 50px); }
  .mfh-home-eyebrow { font-size:12px; margin-bottom:12px; }
  .mfh-home-app__visual { min-height:605px; border-radius:24px; }
  .mfh-home-app__visual::after { background:linear-gradient(180deg,rgba(13,20,14,.91) 0%,rgba(17,25,17,.72) 40%,rgba(22,30,21,.28) 100%); }
  .mfh-home-app__visual-copy { width:100%; min-height:0; display:block; padding:29px 26px 0; }
  .mfh-home-app__visual-kicker { font-size:12px; }
  .mfh-home-app__visual-heading { font-size:20px; line-height:1.25; font-weight:500; letter-spacing:normal; max-width:420px; }
  .mfh-home-app__visual-text { font-size:16px; max-width:340px; }
  .mfh-home-app__phone { height:330px; max-width:75%; right:50%; transform:translateX(50%); bottom:-18px; }
  .mfh-home-app__download { align-items:flex-start; gap:15px; padding-top:19px; }
  .mfh-home-app__download-note { font-size:15px; }
  .mfh-home-app__badges { width:100%; gap:9px; }
  .mfh-home-app__store { flex:1 1 145px; min-width:0; padding:10px 11px; justify-content:center; }
  .mfh-home-app__store svg { width:21px; height:21px; flex-basis:21px; }
  .mfh-home-app__store-label strong { font-size:15px; }
  .mfh-home-director { padding:40px 0 70px; }
  .mfh-home-director__visual { display:flex; flex-direction:column; height:auto; border-radius:23px; }
  .mfh-home-director__person { height:310px; }
  .mfh-home-director__room { height:240px; }
  .mfh-home-director__person img { object-position:center 31%; }
  .mfh-home-director__body { grid-template-columns:1fr; gap:19px; padding:24px 0; }
  .mfh-home-director__career { flex-direction:column; align-items:flex-start; gap:15px; padding:23px; }
  .mfh-home-director__career-link { white-space:normal; overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .mfh-home-app__store, .mfh-home-director__button { transition:none; }
}

/* Hand-held booking phone: preserve both its top and lower controls in the crop. */
.mfh-home-app__visual,
.mfh-home-app__visual-copy { min-height:580px; }
.mfh-home-app__studio { object-position:center center; }

/* Match the existing homepage articles heading, subtitle, width and rhythm. */
.mfh-home-app { padding:60px 0; }
.mfh-home-app .container-section { max-width:1180px; }
.mfh-home-app__intro.flex_h2 { display:flex; margin:0 0 24px; }
.mfh-home-app__title.h2 { font-size:56px; line-height:56px; font-weight:600; letter-spacing:normal; white-space:normal; text-wrap:balance; color:#000; }
.mfh-home-app__subtitle.subtitle { margin:0 0 40px; color:rgba(47,47,47,.7); font-size:32px; line-height:36px; font-weight:400; }
.mfh-home-app__visual::after {
  background:linear-gradient(90deg, rgba(13,19,14,.76) 0%, rgba(19,25,18,.62) 28%, rgba(20,28,21,.34) 57%, rgba(12,18,15,.05) 100%);
}
.mfh-home-app__phone {
  image-rendering:-webkit-optimize-contrast;
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.28)) contrast(1.055);
}
.mfh-home-app__badges .stores_btns {
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  flex-wrap:nowrap;
  gap:12px !important;
  margin:0 !important;
  max-width:none !important;
}
.mfh-home-app__badges .stores_btns .appstore,
.mfh-home-app__badges .stores_btns .googleplay {
  display:inline-flex;
  flex:0 0 158px;
  align-items:center;
  justify-content:center;
  width:158px !important;
  height:52px;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:7px;
  overflow:hidden;
  background:#000 !important;
  box-shadow:none !important;
}
.mfh-home-app__badges .stores_btns .store-badge-asset {
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain;
}
@media (max-width:900px) {
  .mfh-home-app__title.h2 { font-size:clamp(38px,5.2vw,48px); line-height:1.04; }
  .mfh-home-app__subtitle.subtitle { font-size:clamp(23px,3vw,29px); line-height:1.17; }
}
@media (max-width:640px) {
  .mfh-home-app { padding:42px 0 35px; }
  .mfh-home-app__intro.flex_h2 { margin-bottom:20px; }
  .mfh-home-app__title.h2 { font-size:28px; line-height:1; }
  .mfh-home-app__subtitle.subtitle { font-size:16px; line-height:normal; margin-bottom:24px; }
  .mfh-home-app__visual::after {
    background:linear-gradient(180deg,rgba(13,20,14,.8) 0%,rgba(17,25,17,.59) 40%,rgba(22,30,21,.2) 100%);
  }
  .mfh-home-app__badges { justify-content:flex-end; }
  .mfh-home-app__badges .stores_btns .appstore,
  .mfh-home-app__badges .stores_btns .googleplay { flex-basis:145px; width:145px !important; height:48px; }
}
@media (max-width:380px) {
  .mfh-home-app__visual { min-height:660px; }
  .mfh-home-app__phone { height:315px; }
  .mfh-home-app__badges .stores_btns { gap:8px !important; }
  .mfh-home-app__badges .stores_btns .appstore,
  .mfh-home-app__badges .stores_btns .googleplay { flex-basis:132px; width:132px !important; height:44px; }
}
/* Trust carousel: original artwork, trimmed transparent WebP, balanced visual size. */
.trust_item { min-height:64px; }
.trust_item img {
  display:block;
  width:calc(100% - 8px);
  max-width:180px !important;
  height:64px;
  object-fit:contain;
  object-position:center;
}
.trust_item--heineken-logo img,
.trust_item--cirque_du_soleil img { max-width:185px !important; }
/* Article-style reveal: same 40px travel, 0.8s easing; JS staggers text blocks. */
.mfh-scroll-reveal {
  opacity:0;
  transform:translate3d(0,40px,0);
  transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
.mfh-scroll-reveal.mfh-in-view {
  opacity:1;
  transform:translate3d(0,0,0);
}
@media (prefers-reduced-motion:reduce) {
  .mfh-scroll-reveal {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}
.trust p { font-size:15px; line-height:1.55; }
.trust p a { color:#6d8052; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.trust p a:hover { color:#344522; }
@media (max-width:640px) {
  .trust_item { min-height:56px; }
  .trust_item img { height:56px; max-width:158px !important; }
  .trust_item--heineken-logo img,
  .trust_item--cirque_du_soleil img { max-width:164px !important; }
}
/* Original store artwork contains tiny strokes along the black edges; mask only those edges. */
.mfh-home-app__badges .stores_btns .appstore,
.mfh-home-app__badges .stores_btns .googleplay { position:relative; }
.mfh-home-app__badges .stores_btns .appstore::after,
.mfh-home-app__badges .stores_btns .googleplay::after {
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 9px #000;
  border-radius:7px;
  pointer-events:none;
}
@media (max-width:640px) {
  .mfh-home-app__badges .stores_btns .appstore::after,
  .mfh-home-app__badges .stores_btns .googleplay::after { box-shadow:inset 0 0 0 8px #000; }
}
.mfh-home-app__badges .stores_btns .googleplay::after { box-shadow:inset 0 0 0 13px #000; }
.mfh-home-app__badges .stores_btns .googleplay::before {
  content:""; position:absolute; right:11px; top:8px; bottom:8px; width:7px;
  background:#000; pointer-events:none;
}
@media (max-width:640px) {
  .mfh-home-app__badges .stores_btns .googleplay::after { box-shadow:inset 0 0 0 11px #000; }
}
/* Preserve the hand-held booking screen on narrower viewports. */
@media (min-width:641px) and (max-width:900px) {
  .mfh-home-app__visual,
  .mfh-home-app__visual-copy { min-height:540px; }
  .mfh-home-app__studio { object-position:64% center; }
}
@media (max-width:640px) {
  .mfh-home-app__visual { min-height:650px; background:#27281f; }
  .mfh-home-app__studio {
    top:auto;
    bottom:0;
    height:calc(100% - 205px);
    object-position:87% center;
    /* The image gradually emerges from the dark backdrop, without a hard seam. */
    -webkit-mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.65) 8%, #000 23%);
    mask-image:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.65) 8%, #000 23%);
  }
  .mfh-home-app__visual-copy { min-height:0; }
  .mfh-home-app__visual::after {
    background:linear-gradient(180deg, #27281f 0%, rgba(39,40,31,.95) 20%, rgba(39,40,31,.72) 31%, rgba(39,40,31,.24) 43%, transparent 58%);
  }
}
