/* MFV RE marketing studio styles. Every rule is scoped under .mfv so the page can sit
   inside the Sell Chicago Properties site without touching its own styles. */

@font-face {
  font-family: "Bodoni Moda";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Bodoni Moda";
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/bodoni-moda-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/jost-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Metric-matched fallbacks keep the swap from shifting the layout. */
@font-face { font-family: "Bodoni Fallback"; src: local("Times New Roman"), local("Times"); size-adjust: 96%; ascent-override: 92%; descent-override: 24%; }
@font-face { font-family: "Jost Fallback"; src: local("Helvetica Neue"), local("Arial"); size-adjust: 94%; ascent-override: 100%; descent-override: 28%; }

.mfv {
  /* Black, white and muted gold (Aaron, November 2: "black and white with gold accents are more
     her color"). Gold is an accent only: rules, labels, numerals, active states and large type.
     Body text stays black on white or white on black. */
  --espresso: #0b0b0b;
  --onyx: #070707;
  --umber: #111111;
  --umber-2: #1c1c1c;
  --brass: #c9a961;
  --brass-soft: #d6bd82;
  --gold-deep: #9a7b3c;
  --amber: #c9a961;
  --cognac: #8a8a8a;
  --ivory: #fbfaf7;
  --linen: #f2f0eb;
  --greige: #a9a9a9;
  --taupe: #555555;
  --ink: #0b0b0b;
  --line-dark: rgba(201, 169, 97, 0.32);
  --line-light: rgba(11, 11, 11, 0.14);
  --serif: "Bodoni Moda", "Bodoni Fallback", "Didot", "Times New Roman", serif;
  --sans: "Jost", "Jost Fallback", "Helvetica Neue", Arial, sans-serif;
  --gutter: clamp(1rem, 4vw, 3.5rem);
  --measure: 38rem;
  --section-y: clamp(4.5rem, 10vw, 9rem);
  --dusk: 0;
  font-family: var(--sans);
  font-size: 1.0625rem;
  font-weight: 450;
  line-height: 1.6;
  color: var(--ink);
  background: var(--ivory);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  position: relative;
}
.mfv *, .mfv *::before, .mfv *::after { box-sizing: border-box; }
.mfv img, .mfv video, .mfv svg, .mfv canvas { display: block; max-width: 100%; }
.mfv a { color: inherit; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
.mfv p { margin: 0 0 1em; }
.mfv h1, .mfv h2, .mfv h3, .mfv h4 {
  font-family: var(--serif);
  font-weight: 540;
  letter-spacing: -0.005em;
  line-height: 1.08;
  margin: 0 0 0.6em;
  color: inherit;
  text-transform: none;
}
.mfv h2 { font-size: clamp(2rem, 3.8vw, 3.35rem); }
.mfv h3 { font-size: clamp(1.3rem, 1.9vw, 1.6rem); line-height: 1.2; }
.mfv h4 { font-family: var(--sans); font-size: 1rem; font-weight: 600; letter-spacing: 0.01em; margin-bottom: 0.35em; }
.mfv :focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.mfv .is-light :focus-visible { outline-color: var(--umber); }
.mfv .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.mfv .skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--brass); color: var(--ink); padding: 0.6rem 1rem; }
.mfv .skip-link:focus { top: 1rem; }

/* Layout shells */
.mfv .wrap { width: 100%; max-width: 78rem; margin-inline: auto; padding-inline: var(--gutter); }
.mfv .band { padding-block: var(--section-y); position: relative; }
.mfv .band.is-dark { background: var(--espresso); color: var(--ivory); }
.mfv .band.is-umber { background: var(--umber); color: var(--ivory); }
.mfv .band.is-light { background: var(--ivory); color: var(--ink); }
.mfv .band.is-linen { background: var(--linen); color: var(--ink); }
.mfv .band-head { max-width: 44rem; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.mfv .band-head p { font-size: 1.125rem; color: var(--taupe); max-width: var(--measure); }
.mfv .is-dark .band-head p, .mfv .is-umber .band-head p { color: var(--greige); }
.mfv .kicker { font-family: var(--sans); font-size: 0.95rem; font-weight: 600; letter-spacing: 0.02em; color: var(--taupe); margin-bottom: 1.25rem; display: block; }
.mfv .is-dark .kicker, .mfv .is-umber .kicker { color: var(--brass); }
.mfv .note { font-size: 0.9rem; line-height: 1.55; color: var(--taupe); max-width: 46rem; }
.mfv .is-dark .note, .mfv .is-umber .note { color: var(--greige); }

/* Buttons */
.mfv .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem;
  min-height: 3.1rem; padding: 0.85rem 1.6rem;
  font: 600 0.98rem/1.2 var(--sans); letter-spacing: 0.02em;
  border: 1px solid var(--brass); border-radius: 2px;
  text-decoration: none; cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.mfv .btn--gold { background: var(--brass); color: var(--ink); }
.mfv .btn--gold:hover { background: var(--brass-soft); border-color: var(--brass-soft); }
.mfv .btn--line { background: transparent; color: var(--ivory); }
.mfv .btn--line:hover { background: rgba(201, 169, 97, 0.12); }
.mfv .is-light .btn--line, .mfv .is-linen .btn--line { color: var(--ink); border-color: var(--umber); }
.mfv .is-light .btn--line:hover, .mfv .is-linen .btn--line:hover { background: rgba(11, 11, 11, 0.08); }
.mfv .btn-row { display: flex; flex-wrap: wrap; gap: 0.85rem; }

/* Standalone top bar (the integrated pages use the site header instead) */
.mfv .topbar { position: absolute; inset: 0 0 auto 0; z-index: 20; color: var(--ivory); }
.mfv .topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.4rem; }
.mfv .wordmark { display: inline-flex; align-items: baseline; gap: 0.7rem; text-decoration: none; }
.mfv .wordmark__mark { font-family: var(--serif); font-size: 1.6rem; letter-spacing: 0.04em; }
.mfv .wordmark__sub { font-size: 0.85rem; color: var(--greige); letter-spacing: 0.04em; }
.mfv .topbar nav ul { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; font-size: 0.95rem; }
.mfv .topbar nav a { text-decoration: none; color: var(--ivory); opacity: 0.86; }
.mfv .topbar nav a:hover { opacity: 1; text-decoration: underline; }
@media (max-width: 960px) { .mfv .topbar nav { display: none; } }

/* Section sub navigation for the integrated section */
.mfv .subnav { background: var(--espresso); color: var(--ivory); border-bottom: 1px solid var(--line-dark); position: relative; z-index: 5; }
.mfv .subnav ul { display: flex; gap: 0.25rem 1.6rem; list-style: none; margin: 0; padding: 0.85rem 0; overflow-x: auto; scrollbar-width: none; font-size: 0.92rem; white-space: nowrap; }
.mfv .subnav ul::-webkit-scrollbar { display: none; }
.mfv .subnav a { text-decoration: none; opacity: 0.8; padding-block: 0.3rem; display: inline-block; }
.mfv .subnav a:hover, .mfv .subnav a[aria-current="page"] { opacity: 1; color: var(--brass); }
.mfv .subnav__brand { font-family: var(--serif); color: var(--brass); opacity: 1 !important; }

/* Hero */
.mfv .hero {
  position: relative; min-height: min(100svh, 62rem); display: flex; align-items: flex-end;
  background:
    radial-gradient(120% 70% at 78% 18%, rgba(201, 169, 97, calc(0.16 - var(--dusk) * 0.1)), transparent 60%),
    linear-gradient(180deg, color-mix(in srgb, #2a2a2a calc((1 - var(--dusk)) * 100%), var(--espresso)) 0%, var(--espresso) 78%);
  color: var(--ivory); overflow: hidden; isolation: isolate;
}
.mfv .hero--page { min-height: auto; padding-top: clamp(4rem, 9vw, 7.5rem); }
.mfv .hero__stage { position: absolute; inset: 0; z-index: -1; }
.mfv .hero__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(11, 11, 11, 0.94) 0%, rgba(11, 11, 11, 0.7) 34%, rgba(11, 11, 11, 0) 64%); }
.mfv .hero__stage canvas { width: 100%; height: 100%; opacity: 0; transition: opacity 1.4s ease; }
.mfv .hero__stage.is-live canvas { opacity: 1; }
.mfv .hero__stage.is-live .hero__poster { opacity: 0; }
/* Static poster: the facade fins as gradients. Also the reduced-motion and no-WebGL view. */
.mfv .hero__poster {
  position: absolute; inset: 0 0 0 38%; transition: opacity 1.4s ease;
  background:
    linear-gradient(90deg, var(--espresso) 0%, transparent 22%),
    linear-gradient(0deg, var(--espresso) 0%, transparent 35%),
    repeating-linear-gradient(90deg, rgba(11, 11, 11, 0.95) 0 22px, rgba(58, 58, 58, 0.95) 22px 25px, rgba(11, 11, 11, 0.95) 25px 46px),
    repeating-linear-gradient(0deg, rgba(201, 169, 97, 0.0) 0 38px, rgba(201, 169, 97, 0.22) 38px 52px, rgba(201, 169, 97, 0) 52px 74px);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%);
  mask-image: linear-gradient(90deg, transparent, #000 30%);
}
.mfv .hero__content { position: relative; padding-block: clamp(6rem, 11vw, 8.5rem) clamp(3rem, 6vw, 4.5rem); width: 100%; }
.mfv .hero--page .hero__content { padding-block: 0 clamp(3rem, 6vw, 4.5rem); }
.mfv .hero__brand { font-family: var(--serif); font-size: 1.15rem; color: var(--brass); margin-bottom: 1.6rem; display: block; letter-spacing: 0.03em; }
.mfv .hero__title { font-size: clamp(2.6rem, 6.4vw, 6rem); line-height: 1.02; max-width: 15ch; margin-bottom: 0.45em; letter-spacing: -0.012em; }
.mfv .hero--page .hero__title { font-size: clamp(2.3rem, 5vw, 4.4rem); max-width: 18ch; }
.mfv .hero__title .w { display: inline-block; will-change: filter, transform; }
.mfv .hero__lede { font-size: clamp(1.1rem, 1.6vw, 1.35rem); font-weight: 450; line-height: 1.55; max-width: 34rem; color: #ececec; margin-bottom: 2.2rem; }
.mfv .hero__foot { margin-top: 2.6rem; font-size: 0.92rem; color: var(--greige); max-width: 40rem; }
.mfv .hero__foot strong { color: var(--ivory); font-weight: 600; }
/* Rack focus: the headline arrives soft and pulls sharp. A CSS fallback finishes it if scripts never run. */
.js .mfv .hero__title .w { filter: blur(9px); animation: mfv-focus 0.9s ease 2.2s forwards; }
.js .mfv .hero__title.is-set .w { animation: none; }
.js .mfv .hero__title.is-focused .w, .js .mfv .hero--profile .hero__title .w { filter: none; animation: none; }
@keyframes mfv-focus { to { filter: blur(0); } }
/* Small hero lines rise in after the headline; hidden only when scripts run, with a CSS fallback. */
.js .mfv .hero [data-rise] { opacity: 0; animation: mfv-rise 0.6s ease 2.4s forwards; }
@keyframes mfv-rise { to { opacity: 1; } }

/* Screening room (portfolio) */
.mfv .reel { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(0.9rem, 2vw, 1.6rem); }
.mfv .frame { grid-column: span 6; position: relative; margin: 0; }
.mfv .frame--film { grid-column: span 8; }
.mfv .frame--reel { grid-column: span 4; }
.mfv .frame--tall { grid-row: span 2; display: flex; flex-direction: column; }
.mfv .frame--photo { grid-column: span 4; }
.mfv .frame__btn {
  display: block; width: 100%; padding: 0; border: 0; background: #0b0b0b; cursor: pointer; color: inherit;
  position: relative; overflow: hidden; text-align: left;
}
.mfv .frame--film .frame__btn { aspect-ratio: 16 / 9; }
.mfv .frame--reel .frame__btn { aspect-ratio: 9 / 16; }
.mfv .frame--tall .frame__btn { flex: 1 1 auto; aspect-ratio: auto; min-height: 22rem; }
.mfv .frame--tall .frame__btn img { position: absolute; inset: 0; }
.mfv .frame--photo .frame__btn { aspect-ratio: 3 / 2; }
.mfv .frame__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.4s ease; }
.mfv .frame__btn:hover img, .mfv .frame__btn:focus-visible img { transform: scale(1.03); }
.mfv .frame__play {
  position: absolute; left: 1.1rem; bottom: 1.1rem; display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.5rem 0.9rem; background: rgba(11, 11, 11, 0.78); border: 1px solid var(--line-dark); font-size: 0.85rem; color: var(--ivory);
  backdrop-filter: blur(6px);
}
.mfv .frame__play svg { width: 0.8rem; height: 0.8rem; fill: var(--brass); }
.mfv .frame figcaption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.3rem 1rem; padding-top: 0.8rem; font-size: 0.92rem; color: var(--greige); }
.mfv .frame figcaption strong { font-family: var(--serif); font-weight: 560; font-size: 1.1rem; color: var(--ivory); }
.mfv .tag { display: inline-block; font-size: 0.78rem; letter-spacing: 0.02em; padding: 0.15rem 0.55rem; border: 1px solid var(--line-dark); color: var(--brass-soft); margin-right: 0.35rem; }
/* Empty slot, waiting for confirmed media */
.mfv .slot {
  position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.35rem; padding: 1.3rem;
  background:
    linear-gradient(135deg, rgba(201, 169, 97, 0.08), transparent 60%),
    repeating-linear-gradient(135deg, transparent 0 14px, rgba(201, 169, 97, 0.05) 14px 15px), #141414;
  border: 1px dashed rgba(201, 169, 97, 0.35); color: var(--greige);
}
.mfv .slot b { font-family: var(--serif); font-weight: 560; font-size: 1.2rem; color: var(--ivory); }
.mfv .slot span { font-size: 0.85rem; max-width: 26rem; }
.mfv .slot__ratio { position: absolute; top: 1rem; right: 1rem; font-size: 0.8rem; color: var(--brass); }

/* Title-card language taken from her Instagram: short Didone capitals, a serif italic line beneath,
   and centered serif italic captions over footage. */
.mfv .title-card { font-family: var(--serif); font-weight: 520; text-transform: uppercase; letter-spacing: 0.02em; line-height: 0.98; }
.mfv h2.title-card { font-size: clamp(2.2rem, 4.6vw, 4.1rem); margin-bottom: 0.35em; }
.mfv .italic-line { font-family: var(--serif); font-style: italic; font-size: clamp(1.15rem, 1.7vw, 1.45rem); line-height: 1.4; color: var(--taupe); margin: 0 0 1rem; max-width: 40rem; }
.mfv .is-dark .italic-line, .mfv .is-umber .italic-line { color: var(--brass-soft); }
.mfv .hero__title.title-card { font-size: clamp(2.4rem, 5.4vw, 5.4rem); max-width: 15ch; line-height: 0.98; letter-spacing: 0.01em; }
.mfv .hero--page .hero__title.title-card { font-size: clamp(2.2rem, 5vw, 4.6rem); max-width: 16ch; }
.mfv .hero__italic { font-family: var(--serif); font-style: italic; font-size: clamp(1.25rem, 2vw, 1.75rem); color: var(--brass-soft); margin: 0 0 1.4rem; max-width: 34rem; line-height: 1.35; }
.mfv .rule-brass { width: 4.5rem; height: 1px; background: var(--brass); border: 0; margin: 0 0 1.6rem; }
.mfv .overlay-cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 3.5rem 1.4rem 1.3rem; text-align: center; pointer-events: none;
  font-family: var(--serif); font-style: italic; font-size: clamp(1.05rem, 1.7vw, 1.4rem); line-height: 1.25; color: var(--ivory);
  background: linear-gradient(0deg, rgba(11, 10, 9, 0.8), rgba(11, 10, 9, 0));
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.mfv .frame--reel .overlay-cap { top: 34%; bottom: auto; padding: 2.2rem 1.2rem; background: linear-gradient(180deg, rgba(11, 10, 9, 0), rgba(11, 10, 9, 0.66) 30%, rgba(11, 10, 9, 0.66) 70%, rgba(11, 10, 9, 0)); text-shadow: 0 1px 14px rgba(0, 0, 0, 0.7); }

/* Lightbox */
.mfv-lightbox { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: clamp(0.75rem, 3vw, 2.5rem); border: 0; background: rgba(8, 8, 8, 0.94); color: #fbfaf7; font-family: "Jost", "Jost Fallback", Arial, sans-serif; }
.mfv-lightbox::backdrop { background: rgba(8, 8, 8, 0.7); }
.mfv-lightbox[open] { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; }
.mfv-lightbox__media { width: min(100%, 72rem); max-height: 78vh; display: flex; justify-content: center; }
.mfv-lightbox__media img, .mfv-lightbox__media video { max-width: 100%; max-height: 78vh; width: auto; height: auto; background: #000; }
.mfv-lightbox__cap { width: min(100%, 72rem); font-size: 0.95rem; color: #b3b3b3; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.mfv-lightbox__cap strong { font-family: "Bodoni Moda", "Bodoni Fallback", serif; font-weight: 560; color: #fbfaf7; font-size: 1.2rem; }
.mfv-lightbox__close { position: absolute; top: 1rem; right: 1rem; min-width: 2.9rem; min-height: 2.9rem; background: transparent; border: 1px solid rgba(201, 169, 97, 0.5); color: #fbfaf7; font: 500 0.9rem "Jost", Arial, sans-serif; cursor: pointer; padding: 0 1rem; }
.mfv-lightbox__close:focus-visible { outline: 2px solid #c9a961; outline-offset: 2px; }

/* Before and after */
.mfv .compare-tabs { display: flex; gap: 0.5rem; margin-bottom: 1.4rem; flex-wrap: wrap; }
.mfv .compare-tabs button { font: 600 0.95rem var(--sans); padding: 0.6rem 1.1rem; background: transparent; border: 1px solid var(--line-light); color: var(--ink); cursor: pointer; border-radius: 2px; }
.mfv .compare-tabs button[aria-selected="true"] { background: var(--umber); color: var(--ivory); border-color: var(--umber); }
.mfv .compare { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #e6e6e6; --pos: 50%; user-select: none; touch-action: pan-y; }
.mfv .compare__img { position: absolute; inset: 0; width: 100%; height: 100%; }
.mfv .compare__img svg, .mfv .compare__img img { width: 100%; height: 100%; object-fit: cover; }
.mfv .compare__after { clip-path: inset(0 0 0 var(--pos)); }
.mfv .compare__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: var(--brass); pointer-events: none; }
.mfv .compare__handle::after {
  content: ""; position: absolute; top: 50%; left: 50%; width: 3rem; height: 3rem; transform: translate(-50%, -50%);
  border-radius: 50%; background: var(--espresso) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9a961' stroke-width='1.6'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center / 1.4rem no-repeat;
  border: 1px solid var(--brass);
}
.mfv .compare input[type="range"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.mfv .compare input[type="range"]:focus-visible + .compare__handle::after { box-shadow: 0 0 0 3px var(--ivory), 0 0 0 5px var(--umber); }
.mfv .compare__label { position: absolute; top: 1rem; padding: 0.3rem 0.7rem; font-size: 0.82rem; background: rgba(11, 11, 11, 0.82); color: var(--ivory); pointer-events: none; }
.mfv .compare__label--before { left: 1rem; }
.mfv .compare__label--after { right: 1rem; }
.mfv .compare-cap { margin-top: 0.9rem; font-size: 0.9rem; color: var(--taupe); }

/* Services: grouped definition lists */
.mfv .svc-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3.5rem); }
.mfv .svc-group h3 { padding-bottom: 0.9rem; border-bottom: 1px solid var(--umber); margin-bottom: 1.2rem; }
.mfv .svc-group dl { margin: 0; }
.mfv .svc-group dt { font-weight: 600; margin-top: 1.15rem; }
.mfv .svc-group dd { margin: 0.2rem 0 0; color: var(--taupe); font-size: 0.98rem; }
.mfv .svc-group dd a { color: var(--umber); }

/* Two paths */
.mfv .paths { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line-dark); }
.mfv .path { padding: clamp(1.75rem, 4vw, 3.25rem); }
.mfv .path + .path { border-left: 1px solid var(--line-dark); }
.mfv .path h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: 0.4em; }
.mfv .path > p { color: var(--greige); max-width: 30rem; }
.mfv .path ul { list-style: none; margin: 1.5rem 0 2rem; padding: 0; }
.mfv .path li { padding: 0.75rem 0; border-top: 1px solid var(--line-dark); }
.mfv .path li b { font-weight: 600; color: var(--ivory); display: block; }
.mfv .path li span { color: var(--greige); font-size: 0.95rem; }
.mfv .callout { margin: 0 0 2rem; padding: 1rem 1.2rem; border-left: 2px solid var(--brass); background: rgba(201, 169, 97, 0.07); font-size: 0.95rem; color: #e4e4e4; }
.mfv .is-light .callout, .mfv .is-linen .callout { color: var(--ink); background: rgba(11, 11, 11, 0.06); border-left-color: var(--umber); }

/* Specs table */
.mfv .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 1px solid var(--umber); }
.mfv table.specs { width: 100%; border-collapse: collapse; font-size: 0.98rem; min-width: 40rem; }
.mfv .specs caption { text-align: left; caption-side: bottom; padding-top: 1rem; font-size: 0.88rem; color: var(--taupe); }
.mfv .specs th, .mfv .specs td { text-align: left; vertical-align: top; padding: 1rem 1.2rem 1rem 0; border-bottom: 1px solid var(--line-light); }
.mfv .specs thead th { font-weight: 500; font-size: 0.9rem; color: var(--taupe); padding-block: 0.9rem; }
.mfv .specs tbody th { font-family: var(--serif); font-weight: 580; font-size: 1.15rem; width: 22%; }

/* Markets */
.mfv .markets { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.mfv .globe { position: relative; aspect-ratio: 1 / 1; width: 100%; max-width: 40rem; margin-inline: auto; }
.mfv .globe canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.2s ease; touch-action: pan-y; }
.mfv .globe.is-live canvas { opacity: 1; cursor: grab; }
.mfv .globe.is-live .globe__map { opacity: 0; }
.mfv .globe__map { position: absolute; inset: 8% 0; transition: opacity 1s ease; }
.mfv .globe__map svg { width: 100%; height: 100%; }
.mfv .city-list { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1.75rem; }
.mfv .city-list button {
  font: 500 0.95rem var(--sans); color: var(--ivory); background: transparent; border: 1px solid var(--line-dark);
  padding: 0.5rem 0.9rem; cursor: pointer; border-radius: 2px; min-height: 2.75rem;
}
.mfv .city-list button:hover { border-color: var(--brass); }
.mfv .city-list button[aria-pressed="true"] { background: var(--brass); color: var(--ink); border-color: var(--brass); }
.mfv .city-list .is-onsite::after { content: ""; display: inline-block; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; margin-left: 0.5rem; vertical-align: middle; }
.mfv .city-panel { min-height: 15rem; }
.mfv .city-panel h3 { font-size: clamp(1.9rem, 3vw, 2.6rem); margin-bottom: 0.3rem; }
.mfv .city-panel__status { color: var(--brass); font-weight: 600; margin-bottom: 1rem; }
.mfv .city-panel p { color: #dadada; max-width: 32rem; }
.mfv .city-panel dl { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1.2rem; margin: 1.2rem 0 0; font-size: 0.95rem; }
.mfv .city-panel dt { color: var(--greige); }
.mfv .city-panel dd { margin: 0; }

/* Process timeline: a real sequence, so it is numbered */
.mfv .process { position: relative; list-style: none; margin: 0; padding: 0 0 0 clamp(3rem, 6vw, 5rem); counter-reset: step; max-width: 52rem; }
.mfv .process__rail { position: absolute; left: clamp(1rem, 2vw, 1.6rem); top: 0.5rem; bottom: 0.5rem; width: 1px; background: var(--line-light); }
.mfv .process__fill { position: absolute; inset: 0; background: var(--umber); transform-origin: top; transform: scaleY(1); }
.js .mfv .process__fill { transform: scaleY(0); }
.mfv .process li { position: relative; counter-increment: step; padding-bottom: clamp(1.75rem, 3vw, 2.6rem); }
.mfv .process li::before {
  content: counter(step); position: absolute; left: calc(-1 * clamp(3rem, 6vw, 5rem) + clamp(1rem, 2vw, 1.6rem) - 1.05rem); top: -0.1rem;
  width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--ivory); border: 1px solid var(--umber);
  font: 500 0.9rem/2.05rem var(--sans); text-align: center; color: var(--umber);
}
.mfv .process h3 { margin-bottom: 0.3rem; }
.mfv .process p { color: var(--taupe); margin: 0; max-width: var(--measure); }

/* Case study slots */
.mfv .cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.mfv .case { border: 1px dashed rgba(11, 11, 11, 0.4); padding: 1.6rem; min-height: 16rem; display: flex; flex-direction: column; gap: 0.8rem; }
.mfv .case h3 { font-size: 1.35rem; margin: 0; }
.mfv .case dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 0.9rem; font-size: 0.9rem; }
.mfv .case dt { color: var(--taupe); }
.mfv .case dd { margin: 0; color: var(--ink); }
.mfv .case p { font-size: 0.88rem; color: var(--taupe); margin-top: auto; }

/* About */
.mfv .about { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.mfv .portrait { margin: 0; position: relative; }
.mfv .portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; filter: saturate(0.92); }
.mfv .portrait figcaption { font-size: 0.85rem; color: var(--greige); padding-top: 0.7rem; }
.mfv .about__body p { color: #dedede; max-width: var(--measure); }
.mfv .about__body h3 { margin-top: 2.2rem; }
.mfv .facts { list-style: none; padding: 0; margin: 1.6rem 0; border-top: 1px solid var(--line-dark); }
.mfv .facts li { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line-dark); font-size: 0.97rem; }
.mfv .facts li span:first-child { color: var(--greige); }
.mfv .social { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.mfv .social a { display: inline-block; padding: 0.5rem 0.9rem; border: 1px solid var(--line-dark); text-decoration: none; font-size: 0.92rem; }
.mfv .social a:hover { border-color: var(--brass); }

/* Social video facades: nothing third-party loads until the visitor opens the post */
.mfv .facades { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; margin-top: 2rem; }
.mfv .facade { display: block; text-decoration: none; border: 1px solid var(--line-dark); }
.mfv .facade__img { aspect-ratio: 9 / 16; background: #141414 center / cover no-repeat; position: relative; }
.mfv .facade__img::after { content: ""; position: absolute; left: 50%; top: 50%; width: 3.2rem; height: 3.2rem; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid var(--brass); background: rgba(11, 11, 11, 0.7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7v10l8-5z' fill='%23c9a961'/%3E%3C/svg%3E") center / 1.5rem no-repeat; }
.mfv .facade__cap { padding: 0.7rem 0.8rem; font-size: 0.88rem; color: var(--greige); }
.mfv .facade__cap b { display: block; color: var(--ivory); font-weight: 600; }

/* FAQ */
.mfv .faq { max-width: 52rem; border-top: 1px solid var(--line-light); }
.mfv .faq details { border-bottom: 1px solid var(--line-light); }
.mfv .faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: 1.3rem 0; font-family: var(--serif); font-size: clamp(1.15rem, 1.8vw, 1.4rem); }
.mfv .faq summary::-webkit-details-marker { display: none; }
.mfv .faq summary::after { content: "+"; font-family: var(--sans); font-weight: 400; font-size: 1.6rem; line-height: 1; color: var(--umber); transition: transform 0.3s ease; }
.mfv .faq details[open] summary::after { transform: rotate(45deg); }
.mfv .faq .faq__a { padding: 0 0 1.4rem; color: var(--taupe); max-width: 44rem; overflow: hidden; }
.mfv .faq .faq__a p:last-child { margin-bottom: 0; }

/* Booking */
.mfv .book { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); }
.mfv .book__aside p { color: var(--greige); }
.mfv .book__aside .contact-line { font-size: 1.05rem; color: var(--ivory); margin-top: 1.5rem; }
.mfv .book__aside .contact-line a { color: var(--brass); }
.mfv form.mfv-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.2rem; }
.mfv .field { display: flex; flex-direction: column; gap: 0.4rem; }
.mfv .field--full { grid-column: 1 / -1; }
.mfv .field label, .mfv .field legend { font-size: 0.92rem; font-weight: 500; color: #dadada; }
.mfv .field .req { color: var(--brass); }
.mfv .field input, .mfv .field select, .mfv .field textarea {
  font: 450 1rem var(--sans); color: var(--ivory); background: rgba(251, 250, 247, 0.04);
  border: 1px solid rgba(201, 169, 97, 0.35); border-radius: 2px; padding: 0.8rem 0.9rem; min-height: 3rem; width: 100%;
}
.mfv .field select option { color: var(--ink); }
.mfv .field textarea { min-height: 7rem; resize: vertical; }
.mfv .field input:focus, .mfv .field select:focus, .mfv .field textarea:focus { border-color: var(--brass); outline: none; box-shadow: 0 0 0 1px var(--brass); }
.mfv .field [aria-invalid="true"] { border-color: #f0a58a; }
.mfv .field .err { font-size: 0.85rem; color: #f3b49c; min-height: 0; }
.mfv fieldset.field { border: 0; padding: 0; margin: 0; }
.mfv .checks { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1rem; }
.mfv .checks label { display: flex; gap: 0.6rem; align-items: center; font-size: 0.95rem; color: var(--ivory); min-height: 2.25rem; }
.mfv .checks input { width: 1.1rem; height: 1.1rem; min-height: 0; accent-color: var(--brass); }
.mfv .form-status { grid-column: 1 / -1; font-size: 0.95rem; padding: 0.9rem 1rem; border: 1px solid var(--line-dark); display: none; }
.mfv .form-status.is-shown { display: block; }
.mfv .form-fine { grid-column: 1 / -1; font-size: 0.85rem; color: var(--greige); margin: 0; }
.mfv .hp { position: absolute; left: -9999px; }

/* Disclosures footer band and text pages */
.mfv .disclose { font-size: 0.88rem; color: var(--greige); border-top: 1px solid var(--line-dark); padding-top: 2rem; display: grid; gap: 0.6rem; max-width: 60rem; }
.mfv .disclose p { margin: 0; }
.mfv .prose { max-width: 44rem; }
.mfv .prose h2 { margin-top: 2.6rem; }
.mfv .prose h2:first-child { margin-top: 0; }
.mfv .prose ul, .mfv .prose ol { padding-left: 1.2rem; }
.mfv .prose li { margin-bottom: 0.5rem; }
.mfv .is-light .prose p, .mfv .is-light .prose li { color: #1f1f1f; }
.mfv .two-col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.mfv .linkrow { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0; border-top: 1px solid var(--line-light); }
.mfv .linkrow a { display: block; padding: 1.4rem 1.2rem 1.4rem 0; border-bottom: 1px solid var(--line-light); text-decoration: none; }
.mfv .linkrow a b { font-family: var(--serif); font-weight: 560; font-size: 1.3rem; display: block; margin-bottom: 0.25rem; }
.mfv .linkrow a span { color: var(--taupe); font-size: 0.95rem; }
.mfv .linkrow a:hover b { text-decoration: underline; text-decoration-thickness: 1px; }
.mfv .breadcrumb { font-size: 0.88rem; color: var(--greige); margin-bottom: 1.6rem; }
.mfv .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0; padding: 0; }
.mfv .breadcrumb li + li::before { content: "/"; margin-right: 0.4rem; opacity: 0.6; }
.mfv .breadcrumb a { text-decoration: none; }
.mfv .breadcrumb a:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 1080px) {
  .mfv .svc-groups { grid-template-columns: 1fr 1fr; }
  .mfv .markets { grid-template-columns: 1fr; }
  .mfv .globe { max-width: 30rem; }
}
@media (max-width: 860px) {
  .mfv .frame, .mfv .frame--film { grid-column: span 12; }
  .mfv .frame--photo { grid-column: span 6; }
  .mfv .frame--reel { grid-column: span 6; }
  .mfv .frame--tall { grid-row: auto; display: block; }
  .mfv .frame--tall .frame__btn { aspect-ratio: 9 / 16; min-height: 0; }
  .mfv .paths, .mfv .about, .mfv .book, .mfv .two-col { grid-template-columns: 1fr; }
  .mfv .path + .path { border-left: 0; border-top: 1px solid var(--line-dark); }
  .mfv .cases { grid-template-columns: 1fr; }
  .mfv .hero__poster { inset: 0 0 0 20%; opacity: 0.7; }
  .mfv .portrait { max-width: 26rem; }
}
@media (max-width: 600px) {
  .mfv { font-size: 1rem; }
  .mfv .svc-groups { grid-template-columns: 1fr; }
  .mfv .frame--photo { grid-column: span 12; }
  .mfv form.mfv-form { grid-template-columns: 1fr; }
  .mfv .checks { grid-template-columns: 1fr; }
  .mfv .facts li { grid-template-columns: 1fr; gap: 0.2rem; }
  .mfv .compare { aspect-ratio: 4 / 3; }
  .mfv .hero__title { font-size: clamp(2.35rem, 11vw, 3.2rem); }
  .mfv .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .mfv *, .mfv *::before, .mfv *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  .js .mfv .hero__title .w { filter: none; animation: none; }
  .js .mfv .hero [data-rise] { opacity: 1; animation: none; }
  .js .mfv .process__fill { transform: scaleY(1); }
}

/* Instagram facades drawn as her black title cards */
.mfv .facade__img { background: var(--onyx); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.mfv .facade__card { font-family: var(--serif); text-transform: uppercase; letter-spacing: 0.03em; font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1; color: var(--ivory); text-align: center; max-width: 9ch; }
.mfv .facade__img::after { top: auto; bottom: 1.2rem; transform: translateX(-50%); width: 2.6rem; height: 2.6rem; }
.mfv .facade:hover .facade__img, .mfv .facade:focus-visible .facade__img { outline: 1px solid var(--brass); outline-offset: -6px; }

/* About and profile on the light band */
.mfv .is-light .about__body p, .mfv .about__body--light p { color: #1f1f1f; }
.mfv .facts--light, .mfv .is-light .facts { border-top-color: var(--line-light); }
.mfv .facts--light li, .mfv .is-light .facts li { border-bottom-color: var(--line-light); }
.mfv .facts--light li span:first-child, .mfv .is-light .facts li span:first-child { color: var(--taupe); }
.mfv .is-light .portrait figcaption, .mfv .is-linen .portrait figcaption { color: var(--taupe); }
.mfv .portrait { background: var(--ivory); }
.mfv .is-light .hero__italic { color: var(--umber); }
.mfv .is-light .about__body a, .mfv .is-linen .prose a, .mfv .is-light .prose a { color: var(--umber); }
.mfv .is-dark a:not(.btn), .mfv .is-umber a:not(.btn) { color: var(--brass-soft); }
.mfv .is-linen .facts li span:first-child { color: var(--taupe); }

/* Weight and optical size (Aaron, November 2: "the font is a little too thin"). Bodoni Moda's
   optical-size axis drifts to its hairline display cut at large sizes; pin a sturdier cut. */
.mfv h1, .mfv h2, .mfv h3, .mfv .title-card, .mfv .hero__brand, .mfv .wordmark__mark, .mfv .facade__card,
.mfv .city-panel h3, .mfv .faq summary, .mfv .specs tbody th { font-variation-settings: "opsz" 26; }
.mfv .italic-line, .mfv .hero__italic, .mfv .overlay-cap, .mfv .frame figcaption strong, .mfv .linkrow a b, .mfv .slot b { font-variation-settings: "opsz" 16; font-weight: 500; }
.mfv .faq summary { font-weight: 520; }
.mfv .hero__brand, .mfv .wordmark__mark { font-weight: 560; }
.mfv-lightbox__cap strong { font-variation-settings: "opsz" 16; }

/* Profile hero: the sponsoring broker's name set at the same size as the licensee's name. */
.mfv .hero__broker { font-size: clamp(2.2rem, 5vw, 4.6rem); line-height: 0.98; color: var(--brass); margin: -0.2em 0 0.5em; letter-spacing: 0.01em; }
.mfv .hero--page .hero__title.title-card + .hero__broker { font-size: clamp(2.2rem, 5vw, 4.6rem); }
/* Production row of cleared reels (no empty slots). */
.mfv .reel--row .frame--reel { grid-column: span 3; }
@media (max-width: 860px) { .mfv .reel--row .frame--reel { grid-column: span 6; } }
.mfv .social li a { font-weight: 500; }
.mfv .is-light .social a { border-color: var(--line-light); color: var(--umber); }
.mfv .is-light .social a:hover { border-color: var(--umber); }

.mfv .prose ul.facts, .mfv .prose ul.social { padding-left: 0; }
.mfv .prose ul.social li { margin-bottom: 0; }

/* Black, white and gold: accent discipline and alternating sections. */
.mfv .subnav { border-top: 1px solid var(--brass); }
.mfv .hero__italic { color: #e8e8e8; }
.mfv .is-dark .italic-line, .mfv .is-umber .italic-line { color: #d0d0d0; }
.mfv .is-light .italic-line, .mfv .is-linen .italic-line { color: #3d3d3d; }
.mfv .is-light a:not(.btn), .mfv .is-linen a:not(.btn) { color: var(--ink); text-decoration-color: var(--gold-deep); }
.mfv .is-light a:not(.btn):hover, .mfv .is-linen a:not(.btn):hover { text-decoration-thickness: 2px; }
.mfv .is-light .btn--gold, .mfv .is-linen .btn--gold { background: var(--ink); color: #fff; border-color: var(--ink); }
.mfv .is-light .btn--gold:hover, .mfv .is-linen .btn--gold:hover { background: #262626; border-color: var(--brass); }
.mfv .is-light .btn--line, .mfv .is-linen .btn--line { color: var(--ink); border-color: var(--ink); }
.mfv .is-light .btn--line:hover, .mfv .is-linen .btn--line:hover { background: rgba(11, 11, 11, 0.05); border-color: var(--brass); }
.mfv .btn--gold:hover { border-color: #fff; }
.mfv .svc-group h3 { border-bottom-color: var(--brass); }
.mfv .table-wrap { border-top-color: var(--brass); }
.mfv .process li::before { border-color: var(--brass); color: var(--ink); background: #fff; }
.mfv .process__fill { background: var(--brass); }
.mfv .compare-tabs button[aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.mfv .case { border-color: rgba(11, 11, 11, 0.3); }
.mfv .callout { border-left-color: var(--brass); }
.mfv .is-light .callout, .mfv .is-linen .callout { border-left-color: var(--brass); background: rgba(11, 11, 11, 0.04); }
.mfv .rule-brass { background: var(--brass); }
/* Selected work on white: the media carries the color. */
.mfv .is-light .frame figcaption { color: var(--taupe); }
.mfv .is-light .frame figcaption strong { color: var(--ink); }
.mfv .is-light .tag { color: var(--ink); border-color: var(--brass); }
.mfv .is-light .facade { border-color: var(--line-light); }
.mfv .is-light .facade__cap { color: var(--taupe); }
.mfv .is-light .facade__cap b { color: var(--ink); }
.mfv .is-light .slot { color: #cfcfcf; }
/* Before and after on black */
.mfv .is-dark .compare-tabs button { color: #fff; border-color: var(--line-dark); }
.mfv .is-dark .compare-tabs button[aria-selected="true"] { background: var(--brass); color: var(--ink); border-color: var(--brass); }
.mfv .is-dark .compare-cap { color: var(--greige); }
.mfv .is-dark .band-head p { color: #c9c9c9; }
.mfv .is-dark .prose p, .mfv .is-dark .prose li { color: #dcdcdc; }
/* Attribution line (Aaron, November 2): visible on every MFV and marketing page. */
.mfv .credit { background: var(--onyx); color: #e2e2e2; border-bottom: 1px solid var(--line-dark); font-size: 0.9rem; font-weight: 450; }
.mfv .credit p { margin: 0; padding-block: 0.7rem; }
.mfv .credit a { color: var(--brass) !important; text-decoration-color: var(--brass); font-weight: 600; }

/* Profile hero: black, with original line-art overlays that trade places and an optional film. */
.mfv .hero--profile { background: #000; min-height: min(94svh, 58rem); display: flex; align-items: flex-end; }
.mfv .hero--profile .hero__stage::after { display: none; }
.mfv .hero__film { position: absolute; top: 0; right: 0; width: 66%; height: 100%; object-fit: cover; opacity: 0;
  filter: grayscale(1) contrast(1.04); transition: opacity 1.6s ease;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 46%); mask-image: linear-gradient(90deg, transparent 0%, #000 46%); }
.mfv .hero__film.is-playing, .mfv .hero__film.is-poster { opacity: calc(0.92 * var(--film-fade, 1)); transition: opacity 1.6s ease; }
.mfv .hero__film.is-playing.is-scrolling { transition: none; }
.mfv .hero__veil { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, #000 0%, #000 34%, rgba(0, 0, 0, 0.86) 47%, rgba(0, 0, 0, 0.24) 68%, rgba(0, 0, 0, 0.08) 100%),
              linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0) 32%); }
@media (max-width: 860px) {
  .mfv .hero__film { width: 100%; -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 85%); mask-image: linear-gradient(180deg, #000 0%, #000 45%, transparent 85%); }
  .mfv .hero__veil { background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0.9) 50%, rgba(0, 0, 0, 0.8) 100%); }
}

/* Profile hero, full-bleed film with centered type (layout pattern after the benchmark site). */
.mfv .hero--profile { min-height: min(calc(100svh - 12rem), 46rem); align-items: center; justify-content: center; text-align: center; flex-direction: column; }
.mfv .hero--profile .hero__film { inset: 0; width: 100%; height: 100%; object-position: 62% 50%; -webkit-mask-image: none; mask-image: none; }
.mfv .hero--profile .hero__film.is-playing, .mfv .hero--profile .hero__film.is-poster { opacity: var(--film-fade, 1); }
.mfv .hero--profile .hero__veil {
  background: radial-gradient(ellipse 56% 50% at 50% 47%, rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0) 100%),
              linear-gradient(rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0.56)),
              linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 22%); }
.mfv .hero--profile .hero__content { display: flex; flex-direction: column; align-items: center; padding-block: clamp(3.5rem, 6vw, 5rem) clamp(9rem, 11vw, 10rem); }
.mfv .hero__eyebrow { font: 600 clamp(0.95rem, 1.2vw, 1.1rem)/1.4 var(--sans); letter-spacing: 0.18em; text-transform: uppercase; color: #fff; margin: 0 0 1.4rem; }
/* Name and brokerage share one size (225 ILCS 454/10-30(f)); the selectors outrank the generic page-hero sizes. */
.mfv .hero--page.hero--profile .hero__title.title-card,
.mfv .hero--page.hero--profile .hero__title.title-card + .hero__broker { max-width: none; font-size: clamp(2rem, 4.3vw, 4.1rem); line-height: 1.02; }
.mfv .hero--page.hero--profile .hero__title.title-card { margin-bottom: 0.12em; text-wrap: balance; }
.mfv .hero--profile .hero__title, .mfv .hero--profile .hero__broker, .mfv .hero--profile .hero__italic { text-shadow: 0 0 1.4rem rgba(0, 0, 0, 0.45); }
.mfv .hero--page.hero--profile .hero__title.title-card + .hero__broker { margin: 0 0 0.6em; }
.mfv .hero--profile .hero__italic { max-width: 44rem; font-size: clamp(1.1rem, 1.5vw, 1.4rem); color: #fff; margin-bottom: 0; }
.mfv .hero__rule-v { display: block; width: 1px; height: 2.6rem; background: var(--brass); margin: 1.3rem auto 1.5rem; }
.mfv .hero--profile .btn-row { justify-content: center; }
.mfv .hero--profile .btn--line { color: #fff; border-color: rgba(255, 255, 255, 0.75); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.9rem; }
.mfv .hero--profile .btn--line:hover { border-color: var(--brass); background: rgba(0, 0, 0, 0.35); }
.mfv .hero__facts { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 1.3rem var(--gutter); border-top: 1px solid var(--line-dark); background: rgba(0, 0, 0, 0.6); }
.mfv .hero__facts li { display: flex; flex-direction: column; gap: 0.25rem; padding-inline: 1rem; }
.mfv .hero__facts li + li { border-left: 1px solid var(--line-dark); }
.mfv .hero__facts b { font-family: var(--serif); font-weight: 520; font-variation-settings: "opsz" 20; font-size: clamp(1.1rem, 1.6vw, 1.4rem); color: #fff; }
.mfv .hero__facts span { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #d9d9d9; }
.mfv .about__body .breadcrumb { color: var(--taupe); }
@media (max-width: 860px) {
  .mfv .hero--profile { min-height: 0; }
  .mfv .hero--profile .hero__film { object-position: 64% 50%; }
  .mfv .hero--profile .hero__veil { background: radial-gradient(ellipse 80% 45% at 50% 45%, rgba(0, 0, 0, 0.32), rgba(0, 0, 0, 0) 100%), linear-gradient(rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.58)), linear-gradient(0deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0) 30%); }
  .mfv .hero--page.hero--profile .hero__title.title-card,
  .mfv .hero--page.hero--profile .hero__title.title-card + .hero__broker { font-size: clamp(2rem, 9vw, 2.8rem); }
  .mfv .hero__facts { position: relative; grid-template-columns: 1fr 1fr; gap: 1rem 0; padding: 1.2rem var(--gutter); }
  .mfv .hero__facts li:nth-child(3) { border-left: 0; }
  .mfv .hero--profile .hero__content { padding-block: 4.5rem 3rem; }
}

/* Instagram previews: her reel covers, stored on this site */
.mfv .facade__img--photo { padding: 0; display: block; }
.mfv .facade__img--photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Profile experience list: each item under a fine gold rule */
.mfv .xp { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem 2rem; list-style: none; margin: 2.2rem 0 0; padding: 0; }
.mfv .xp li:last-child { grid-column: 1 / -1; }
@media (min-width: 1000px) { .mfv .xp { grid-template-columns: repeat(5, 1fr); } .mfv .xp li:last-child { grid-column: auto; } }
@media (max-width: 520px) { .mfv .xp { grid-template-columns: 1fr; } }
.mfv .xp li { border-top: 1px solid var(--brass); padding-top: 1rem; }
.mfv .xp b { display: block; font-family: var(--serif); font-weight: 520; font-variation-settings: "opsz" 26; font-size: clamp(1.35rem, 2vw, 1.65rem); line-height: 1.1; margin-bottom: 0.5rem; color: var(--ink); }
.mfv .xp span { color: var(--taupe); }
@media (max-width: 600px) {
  .mfv .facades { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .mfv .facade__cap { padding: 0.6rem; font-size: 0.8rem; }
  .mfv .facade__img::after { width: 2.2rem; height: 2.2rem; bottom: 0.8rem; }
}

/* Deal page (1841 S. Drake): black hero with the exterior photo, then alternating bands */
.mfv .deal-hero { background: #000; color: #fff; padding: clamp(2.5rem, 6vw, 4.5rem) 0 0; }
.mfv .deal-hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.mfv .deal-hero .breadcrumb, .mfv .deal-hero .breadcrumb a { color: #d9d9d9; }
.mfv .deal-hero__title { font-size: clamp(2.4rem, 5.4vw, 4.6rem); line-height: 1; margin: 0 0 0.3em; }
.mfv .deal-hero__italic { font-family: var(--serif); font-style: italic; font-variation-settings: "opsz" 16; font-weight: 500; font-size: clamp(1.25rem, 2vw, 1.6rem); color: var(--brass); margin: 0 0 1rem; }
.mfv .deal-hero__price { font-size: 1.1rem; color: #e8e8e8; margin: 0 0 1rem; }
.mfv .deal-hero__price b { font-family: var(--serif); font-weight: 540; font-size: clamp(2rem, 3.6vw, 2.8rem); color: #fff; margin-right: 0.35rem; }
.mfv .deal-hero__text > p { max-width: 36rem; }
.mfv .deal-hero__photo { margin: 0; }
.mfv .deal-hero__photo img { display: block; width: 100%; height: auto; border: 1px solid var(--line-dark); }
.mfv .deal-hero__photo figcaption { font-size: 0.85rem; color: #cfcfcf; margin-top: 0.5rem; }
.mfv .licensee { font-size: 0.95rem; color: inherit; margin-top: 1.6rem; }
/* Licensee and sponsoring brokerage names share one size (225 ILCS 454/10-30(f), 68 Ill. Adm. Code 1450.715(b)) */
.mfv .licensee__name { font-weight: 600; font-size: 1em; }
.mfv .deal-facts { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 1.3rem var(--gutter); border-top: 1px solid var(--line-dark); }
.mfv .deal-facts li { display: flex; flex-direction: column; gap: 0.25rem; padding-inline: 1rem; }
.mfv .deal-facts li + li { border-left: 1px solid var(--line-dark); }
.mfv .deal-facts b { font-family: var(--serif); font-weight: 520; font-variation-settings: "opsz" 20; font-size: clamp(1.1rem, 1.6vw, 1.4rem); }
.mfv .deal-facts span { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #d9d9d9; }
.mfv .stages { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.mfv .stages li { display: flex; gap: 1.2rem; border-top: 1px solid var(--brass); padding-top: 1.1rem; }
.mfv .stages__n { font-family: var(--serif); font-size: 1.6rem; color: var(--gold-deep); line-height: 1; }
.mfv .stages b { display: block; font-family: var(--serif); font-weight: 540; font-variation-settings: "opsz" 26; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.1; margin-bottom: 0.4rem; }
.mfv .stages p { margin: 0; color: var(--taupe); }
.mfv .deal-total { margin-top: 2rem; max-width: 46rem; }
.mfv .deal-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.mfv .deal-gallery .frame__btn img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; height: auto; }
.mfv .deal-est { list-style: none; padding: 0; margin: 1.6rem 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
.mfv .deal-est b { display: block; font-family: var(--serif); font-weight: 540; font-size: clamp(1.6rem, 3vw, 2.3rem); }
.mfv .deal-est span { color: var(--taupe); }
.mfv .comps { list-style: none; padding: 0; margin: 2.4rem 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; }
.mfv .comps li { border-top: 1px solid var(--brass); padding-top: 1rem; }
.mfv .comp__tag { display: block; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--taupe); }
.mfv .comp__price { display: block; font-family: var(--serif); font-weight: 540; font-size: 1.8rem; margin: 0.3rem 0; }
.mfv .comps h3 { font-size: 1.15rem; margin: 0 0 0.2rem; }
.mfv .comp__when { font-size: 0.9rem; color: var(--taupe); margin: 0 0 0.5rem; }
.mfv .table-wrap { overflow-x: auto; margin: 1rem 0; }
.mfv .permits { border-collapse: collapse; width: 100%; min-width: 40rem; font-size: 0.95rem; }
.mfv .permits th, .mfv .permits td { text-align: left; padding: 0.7rem 0.8rem; border-bottom: 1px solid var(--line-light); vertical-align: top; }
.mfv .permits thead th { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--taupe); }
@media (max-width: 960px) {
  .mfv .deal-hero__grid { grid-template-columns: 1fr; }
  .mfv .deal-facts { grid-template-columns: 1fr 1fr; gap: 1rem 0; }
  .mfv .deal-facts li:nth-child(odd) { border-left: 0; }
  .mfv .comps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .mfv .stages, .mfv .deal-est, .mfv .comps { grid-template-columns: 1fr; }
  .mfv .deal-gallery { grid-template-columns: 1fr 1fr; gap: 0.6rem; }
}
