/*
 * MV — Campaign Engine
 * 0-hardcode policy: every size / spacing / type / opacity value is a CSS custom
 * property emitted by inc/customizer.php (#mv-tokens block in wp_head). The :root
 * fallbacks below mirror the mockup and are overridden live by the Customizer.
 * Exceptions kept literal: 0/auto/none/%, structural props, z-index, transitions,
 * decorative rgba()/gradients/shadows, relative em on inline marks, aspect-ratio,
 * and breakpoint-specific overrides inside @media.
 */

:root {
  /* Fallbacks — overridden by the #mv-tokens block from the Customizer. */
  --mv-bg: #fafaf7;
  --mv-bg-2: #fff;
  --mv-ink: #0d0d0d;
  --mv-mute: #61615b;
  --mv-pop: #4f46e5;
  --mv-pop-2: #f59e0b;
  --mv-lime: #84cc16;
  --mv-pink: #ec4899;
  --mv-line: #e6e4dd;

  --mv-font-display: "Space Grotesk", sans-serif;
  --mv-font-body: "DM Sans", system-ui, sans-serif;
  --mv-base-size: 15px;
  --mv-base-lh: 1.55;

  --mv-container-max: 1440px;
  --mv-container-pad: 40px;
  --mv-border-w: 1px;
  --mv-sticky-top: 96px;
  --mv-radius-sm: 8px;
  --mv-radius-card: 24px;
  --mv-radius-card-lg: 32px;
  --mv-radius-pill: 999px;
  --mv-radius-chip: 12px;
  --mv-radius-talent: 20px;

  /* Type scale */
  --mv-fw-medium: 500;
  --mv-fw-semibold: 600;
  --mv-fw-bold: 700;
  --mv-ls-xs: -0.01em;
  --mv-ls-sm: -0.015em;
  --mv-ls-md: -0.02em;
  --mv-ls-lg: -0.03em;
  --mv-ls-xl: -0.035em;
  --mv-ls-2xl: -0.04em;
  --mv-ls-w1: 0.04em;
  --mv-ls-w2: 0.06em;
  --mv-ls-pack: 0.1em;
  --mv-ls-w3: 0.12em;
  --mv-ls-w4: 0.14em;
  --mv-ls-w5: 0.16em;
  --mv-lh-tight: 0.92;
  --mv-lh-h2: 0.96;
  --mv-lh-h1: 0.98;
  --mv-lh-one: 1;
  --mv-lh-snug: 1.1;
  --mv-lh-115: 1.15;
  --mv-lh-12: 1.2;
  --mv-lh-125: 1.25;
  --mv-lh-14: 1.4;
  --mv-lh-15: 1.5;
  --mv-lh-16: 1.6;
  --mv-lh-17: 1.7;
  --mv-op-80: 0.8;
  --mv-op-70: 0.7;
  --mv-op-65: 0.65;
  --mv-op-60: 0.6;

  /* Hero / sections (clamps derived in the emit block) */
  --mv-hero-title: clamp(56px, 8vw, 132px);
  --mv-hero-min-h: 88vh;
  --mv-nav-clear: 96px;
  --mv-h2: clamp(40px, 5.5vw, 80px);
  --mv-endcap-h2: clamp(40px, 5.5vw, 72px);
  --mv-artist-h1: clamp(36px, 4.5vw, 64px);
  --mv-about-h1: clamp(40px, 5vw, 72px);
  --mv-ip-h1: clamp(40px, 5.5vw, 80px);
  --mv-stat-num-size: 64px;
  --mv-stat-min-h: 200px;
  --mv-talent-card-w: 240px;
  --mv-pack-min-h: 280px;

  --mv-sec-pad: 96px;
  --mv-hero-pad-top: 56px;
  --mv-hero-pad-bot: 80px;
  --mv-endcap-pad: 120px;
  --mv-logo-h: 64px;
  --mv-logo-footer-h: 88px;

  /* Component fallbacks */
  --mv-nav-pad-y: 18px; --mv-nav-gap: 24px; --mv-logo-text-size: 22px;
  --mv-navlink-gap: 28px; --mv-navlink-size: 14px; --mv-navlink-item-gap: 5px;
  --mv-navcta-pad-y: 12px; --mv-navcta-pad-x: 22px; --mv-navcta-size: 13px;
  --mv-navcta-gap: 8px; --mv-navcta-gap-hover: 14px; --mv-navtoggle-size: 22px;
  --mv-submenu-w: 230px; --mv-submenu-pad: 8px; --mv-submenu-gap: 2px;
  --mv-submenu-link-y: 9px; --mv-submenu-link-x: 12px;
  --mv-navmobile-pad: 16px; --mv-navmobile-gap: 12px;
  --mv-hero-sub-size: 20px; --mv-hero-sub-maxch: 50ch; --mv-hero-sub-mb: 32px;
  --mv-hero-title-mb: 24px; --mv-hero-title-maxch: 22ch; --mv-hero-actions-gap: 12px;
  --mv-herotag-gap: 8px; --mv-herotag-mb: 24px;
  --mv-pill-pad-y: 6px; --mv-pill-pad-x: 14px; --mv-pill-gap: 6px; --mv-pill-size: 12px; --mv-pill-dot: 6px;
  --mv-reeltag-size: 11px; --mv-reeltag-mb: 16px; --mv-reeltag-blob: 8px;
  --mv-hero-about-title-size: 26px; --mv-hero-about-body-size: 16px; --mv-hero-about-max-w: 640px; --mv-hero-about-mt: 44px; --mv-hero-about-gap: 12px;
  --mv-btn-pad-y: 16px; --mv-btn-pad-x: 26px; --mv-btn-size: 14px; --mv-btn-gap: 10px; --mv-btn-gap-hover: 16px;
  --mv-stats-pad-top: 32px; --mv-stats-gap: 12px; --mv-stat-pad: 32px;
  --mv-stat-label-size: 14px; --mv-stat-label-maxch: 18ch; --mv-stat-tiny-size: 11px;
  --mv-sechead-gap: 56px; --mv-sechead-mb: 48px; --mv-sechead-p-size: 17px; --mv-sechead-p-maxch: 46ch;
  --mv-eyebrow-size: 12px; --mv-eyebrow-mb: 16px;
  --mv-case-grid-gap: 18px; --mv-case-body-pad-x: 24px; --mv-case-body-pad-top: 24px; --mv-case-body-pad-bot: 28px;
  --mv-case-meta-gap: 8px; --mv-case-meta-mb: 14px;
  --mv-pillmini-size: 11px; --mv-pillmini-pad-y: 4px; --mv-pillmini-pad-x: 10px;
  --mv-case-title-size: 22px; --mv-case-title-mb: 10px; --mv-case-blurb-size: 14px; --mv-case-blurb-mb: 16px;
  --mv-case-metrics-gap: 18px; --mv-case-metrics-pt: 16px; --mv-case-metric-v-size: 20px; --mv-case-metric-l-size: 11px; --mv-case-metric-l-mt: 2px;
  --mv-talent-gap: 16px; --mv-talent-padbot: 16px; --mv-talent-info-inset: 18px; --mv-talent-name-size: 18px;
  --mv-talent-foll-gap: 6px; --mv-talent-foll-mt: 6px; --mv-followpill-size: 10px; --mv-followpill-pad-y: 3px; --mv-followpill-pad-x: 8px;
  --mv-pack-gap: 12px; --mv-pack-pad: 28px; --mv-pack-num-size: 14px; --mv-pack-title-size: 22px;
  --mv-pack-title-mt: 18px; --mv-pack-title-mb: 10px; --mv-pack-blurb-size: 13px; --mv-pack-arrow-size: 22px; --mv-pack-arrow-mt: 16px;
  --mv-brands-pad: 64px; --mv-brands-label-size: 12px; --mv-brands-label-mb: 32px; --mv-brands-row-gap: 48px; --mv-brand-mark-size: 24px;
  --mv-endcap-card-pad-y: 80px; --mv-endcap-card-pad-x: 64px; --mv-endcap-card-gap: 64px; --mv-endcap-h2-mb: 16px; --mv-endcap-p-size: 18px;
  --mv-endcap-form-pad: 24px; --mv-endcap-form-gap: 12px; --mv-endcap-input-pad-y: 14px; --mv-endcap-input-pad-x: 16px; --mv-endcap-input-size: 14px; --mv-endcap-btn-pad: 16px;
  --mv-footer-pad-top: 64px; --mv-footer-pad-bot: 32px; --mv-footer-row-gap: 32px; --mv-footer-row-padbot: 32px;
  --mv-footer-h4-size: 12px; --mv-footer-h4-mb: 14px; --mv-footer-link-size: 14px; --mv-footer-brand-size: 28px; --mv-footer-brand-mb: 12px;
  --mv-footer-blurb-maxch: 42ch; --mv-footer-bot-gap: 16px; --mv-footer-bot-padtop: 22px; --mv-footer-bot-size: 12px;
  --mv-artist-grid-gap: 18px; --mv-artist-sechead-mb: 40px; --mv-artist-info-inset-x: 18px; --mv-artist-info-bottom: 16px;
  --mv-artist-name-size: 18px; --mv-artist-role-size: 12px; --mv-artist-role-mt: 3px;
  --mv-campaign-grid-gap: 20px; --mv-campaign-sechead-mb: 40px; --mv-campaign-play-size: 56px; --mv-campaign-play-tri: 16px;
  --mv-campaign-body-pad-x: 20px; --mv-campaign-body-pt: 18px; --mv-campaign-body-pb: 22px; --mv-campaign-brand-size: 11px; --mv-campaign-brand-mb: 6px; --mv-campaign-title-size: 17px;
  --mv-creator-card-w: 280px; --mv-creator-ratio-w: 9; --mv-creator-ratio-h: 16; --mv-creator-gap: 16px; --mv-creator-pad-bot: 16px; --mv-creator-cap-pad: 18px; --mv-creator-brand-size: 11px; --mv-creator-title-size: 18px;
  --mv-habout-intro-maxw: 760px; --mv-habout-label-col: 300px; --mv-habout-block-gap: 64px; --mv-habout-body-pmb: 16px; --mv-habout-head-size: 44px; --mv-habout-head-mb: 20px; --mv-habout-eyebrow-mb: 14px; --mv-habout-tagline-size: 20px; --mv-habout-tagline-mt: 24px;
  --mv-prod-block-gap: 72px; --mv-prod-title-size: 24px; --mv-prod-title-mb: 24px;
  --mv-single-backlink-mb: 24px; --mv-single-backlink-size: 13px; --mv-artist-hero-gap: 48px;
  --mv-artist-bio-h1-mt: 6px; --mv-artist-bio-h1-mb: 14px; --mv-artist-tagline-size: 19px; --mv-artist-tagline-mb: 24px; --mv-artist-body-size: 16px;
  --mv-artist-socials-gap: 10px; --mv-artist-socials-my: 24px; --mv-artist-social-size: 13px; --mv-artist-social-pad-y: 8px; --mv-artist-social-pad-x: 16px;
  --mv-about-grid-gap: 56px; --mv-about-h1-mt: 8px; --mv-about-body-size: 17px;
  --mv-ip-hero-maxch: 60ch; --mv-ip-hero-mb: 48px; --mv-ip-h1-mt: 8px; --mv-ip-h1-mb: 14px; --mv-ip-subtitle-size: 20px;
  --mv-ip-stats-gap: 12px; --mv-ip-stats-mb: 56px; --mv-ip-stat-pad: 28px; --mv-ip-stat-num-size: 48px; --mv-ip-stat-label-size: 14px; --mv-ip-stat-label-mt: 8px;
  --mv-ip-body-maxch: 70ch; --mv-ip-body-size: 17px; --mv-ip-body-mb: 56px; --mv-ip-gallery-gap: 18px;
  --mv-contact-grid-gap: 56px; --mv-contact-block-mb: 28px; --mv-contact-h4-size: 12px; --mv-contact-h4-mb: 8px; --mv-contact-p-size: 17px;
  --mv-contact-input-pad-y: 14px; --mv-contact-input-pad-x: 16px; --mv-contact-input-size: 15px; --mv-contact-input-mb: 12px; --mv-contact-form-gap: 12px;
  --mv-contact-map-mt: 56px; --mv-contact-map-h: 420px;
  --mv-page-h1-mb: 24px; --mv-page-content-maxch: 70ch;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  background: var(--mv-bg);
  color: var(--mv-ink);
  font-family: var(--mv-font-body);
  font-size: var(--mv-base-size);
  line-height: var(--mv-base-lh);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { max-width: var(--mv-container-max); margin: 0 auto; padding: 0 var(--mv-container-pad); }
.grot { font-family: var(--mv-font-display); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

/* Nav */
.nav { padding: var(--mv-nav-pad-y) 0; background: var(--mv-bg); position: sticky; top: 0; z-index: 10; }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--mv-nav-gap); }
.logo { font-family: var(--mv-font-display); font-weight: var(--mv-fw-bold); font-size: var(--mv-logo-text-size); letter-spacing: var(--mv-ls-md); }
.logo-img { display: inline-flex; align-items: center; }
.logo-img img { height: var(--mv-logo-h); width: auto; display: block; }
.footer-logo { display: inline-flex; align-items: center; margin-bottom: var(--mv-footer-brand-mb); }
.footer-logo img { height: var(--mv-logo-footer-h); width: auto; display: block; }
/* Whiten the colour logo where the nav sits over the dark hero */
body.mv-hero-overlay .logo-img img { filter: brightness(0) invert(1); }
.logo .dot { color: var(--mv-pop); }
.nav-links { display: flex; gap: var(--mv-navlink-gap); font-size: var(--mv-navlink-size); font-weight: var(--mv-fw-medium); }
.nav-cta {
  background: var(--mv-ink); color: var(--mv-bg); padding: var(--mv-navcta-pad-y) var(--mv-navcta-pad-x);
  border-radius: var(--mv-radius-pill); font-size: var(--mv-navcta-size); font-weight: var(--mv-fw-semibold);
  display: inline-flex; align-items: center; gap: var(--mv-navcta-gap); transition: background .25s, gap .25s;
}
.nav-cta:hover { background: var(--mv-pop); gap: var(--mv-navcta-gap-hover); }
.nav-toggle { display: none; background: none; border: 0; font-size: var(--mv-navtoggle-size); color: var(--mv-ink); cursor: pointer; }

/* Front-page: nav sits transparently OVER the full-bleed hero video */
body.mv-hero-overlay .nav { position: absolute; top: 0; left: 0; right: 0; background: transparent; z-index: 20; }
body.mv-hero-overlay .logo,
body.mv-hero-overlay .nav-links a,
body.mv-hero-overlay .nav-toggle { color: #fff; }
body.mv-hero-overlay .logo .dot { color: var(--mv-pop-2); }
body.mv-hero-overlay .nav-cta { background: #fff; color: var(--mv-ink); }
body.mv-hero-overlay .nav-cta:hover { background: var(--mv-pop); color: #fff; }
body.mv-hero-overlay .nav.is-open .nav-links { background: var(--mv-ink); border-bottom-color: rgba(255,255,255,0.12); }

/* Menu (with dropdowns) */
.nav-links, .nav-links .sub-menu { list-style: none; margin: 0; padding: 0; }
.nav-links > li { position: relative; }
.nav-links a { display: inline-flex; align-items: center; gap: var(--mv-navlink-item-gap); }
.nav-links .menu-item-has-children > a::after { content: "▾"; font-size: 0.85em; opacity: var(--mv-op-70); }
.nav-links .sub-menu {
  position: absolute; top: 100%; left: 0; min-width: var(--mv-submenu-w);
  background: var(--mv-bg-2); border: var(--mv-border-w) solid var(--mv-line);
  border-radius: var(--mv-radius-chip); padding: var(--mv-submenu-pad);
  display: flex; flex-direction: column; gap: var(--mv-submenu-gap);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .2s, transform .2s, visibility .2s; z-index: 30;
  box-shadow: 0 16px 40px rgba(13,13,13,0.12);
}
.nav-links li:hover > .sub-menu, .nav-links li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.nav-links .sub-menu a { display: block; width: 100%; padding: var(--mv-submenu-link-y) var(--mv-submenu-link-x); border-radius: var(--mv-radius-sm); white-space: nowrap; color: var(--mv-ink); }
.nav-links .sub-menu a:hover { background: var(--mv-bg); color: var(--mv-pop); }
/* Submenu panel stays light even under the white overlay nav */
body.mv-hero-overlay .nav-links .sub-menu a { color: var(--mv-ink); }

/* Hero — full-bleed media background covering nav + hero */
.hero {
  position: relative;
  min-height: var(--mv-hero-min-h);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--mv-ink);
  color: #fff;
  /* clear the overlaid nav at the top, breathe at the bottom */
  padding: calc(var(--mv-nav-clear) + var(--mv-hero-pad-top)) 0 var(--mv-hero-pad-bot);
}
.hero-bg-video, .hero-bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-bg-img { background: var(--mv-ink) center / cover no-repeat; }
.hero-tint { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(13,13,13,0.35) 0%, rgba(13,13,13,0.78) 100%); }
.hero-inner { position: relative; z-index: 2; width: 100%; }

.hero-tag-row { display: flex; gap: var(--mv-herotag-gap); margin-bottom: var(--mv-herotag-mb); flex-wrap: wrap; }
.pill {
  display: inline-flex; align-items: center; gap: var(--mv-pill-gap); padding: var(--mv-pill-pad-y) var(--mv-pill-pad-x);
  border-radius: var(--mv-radius-pill); font-size: var(--mv-pill-size); font-weight: var(--mv-fw-semibold);
  background: rgba(255,255,255,0.12); border: var(--mv-border-w) solid rgba(255,255,255,0.28);
  color: #fff; backdrop-filter: blur(4px);
}
.pill .dot { width: var(--mv-pill-dot); height: var(--mv-pill-dot); border-radius: 50%; background: var(--mv-lime); display: inline-block; }
.hero-title {
  font-family: var(--mv-font-display); font-size: var(--mv-hero-title);
  line-height: var(--mv-lh-tight); letter-spacing: var(--mv-ls-2xl); font-weight: var(--mv-fw-bold); margin-bottom: var(--mv-hero-title-mb);
  max-width: var(--mv-hero-title-maxch);
}
.hero-title em { font-style: normal; background: var(--mv-pop); color: #fff; padding: 0 0.06em; border-radius: var(--mv-radius-sm); }
.hero-title .swirl { background: var(--mv-pop-2); color: var(--mv-ink); padding: 0 0.08em; border-radius: var(--mv-radius-sm); font-style: italic; }
.hero-sub { font-size: var(--mv-hero-sub-size); color: rgba(255,255,255,0.85); max-width: var(--mv-hero-sub-maxch); margin-bottom: var(--mv-hero-sub-mb); line-height: var(--mv-lh-15); }
.hero-actions { display: flex; gap: var(--mv-hero-actions-gap); align-items: center; flex-wrap: wrap; }
.hero-about { display: flex; flex-direction: column; gap: var(--mv-hero-about-gap); max-width: var(--mv-hero-about-max-w); margin-top: var(--mv-hero-about-mt); }
.hero-about-title { font-family: var(--mv-font-display); font-size: var(--mv-hero-about-title-size); font-weight: var(--mv-fw-bold); letter-spacing: var(--mv-ls-md); line-height: var(--mv-lh-snug); color: #fff; }
.hero-about-body { font-size: var(--mv-hero-about-body-size); color: rgba(255,255,255,0.85); line-height: var(--mv-lh-16); }
.btn {
  display: inline-flex; align-items: center; gap: var(--mv-btn-gap); padding: var(--mv-btn-pad-y) var(--mv-btn-pad-x);
  border-radius: var(--mv-radius-pill); font-size: var(--mv-btn-size); font-weight: var(--mv-fw-semibold);
  transition: gap .25s, background .25s; cursor: pointer;
}
.btn-dark { background: #fff; color: var(--mv-ink); }
.btn-dark:hover { background: var(--mv-pop); color: #fff; gap: var(--mv-btn-gap-hover); }
.btn-light { background: rgba(255,255,255,0.12); border: var(--mv-border-w) solid rgba(255,255,255,0.32); color: #fff; }
.btn-light:hover { background: rgba(255,255,255,0.2); }

/* "NOW PLAYING" live badge */
.reel-tag { font-size: var(--mv-reeltag-size); letter-spacing: var(--mv-ls-w5); text-transform: uppercase; color: #fff; font-weight: var(--mv-fw-bold); margin-bottom: var(--mv-reeltag-mb); }
.reel-tag .blob { display: inline-block; width: var(--mv-reeltag-blob); height: var(--mv-reeltag-blob); background: #ef4444; border-radius: 50%; margin-right: 6px; animation: mv-pulse 1.5s ease-in-out infinite; }
@keyframes mv-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

/* Stats */
.stats { padding: var(--mv-stats-pad-top) 0 var(--mv-hero-pad-bot); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mv-stats-gap); }
.stat-block { padding: var(--mv-stat-pad); border-radius: var(--mv-radius-card); min-height: var(--mv-stat-min-h); display: flex; flex-direction: column; justify-content: space-between; transition: transform .25s; }
.stat-block:hover { transform: translateY(-4px); }
.sb1 { background: var(--mv-pop); color: #fff; }
.sb2 { background: var(--mv-pop-2); color: var(--mv-ink); }
.sb3 { background: var(--mv-pink); color: #fff; }
.sb4 { background: var(--mv-ink); color: var(--mv-bg); }
.stat-block .num { font-family: var(--mv-font-display); font-size: var(--mv-stat-num-size); font-weight: var(--mv-fw-bold); letter-spacing: var(--mv-ls-2xl); line-height: var(--mv-lh-one); }
.stat-block .num sup { font-size: 0.5em; }
.stat-block .label { font-size: var(--mv-stat-label-size); font-weight: var(--mv-fw-medium); max-width: var(--mv-stat-label-maxch); line-height: var(--mv-lh-14); }
.stat-block .tiny { font-size: var(--mv-stat-tiny-size); letter-spacing: var(--mv-ls-w4); text-transform: uppercase; opacity: var(--mv-op-80); }

/* Section head */
.section-head { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mv-sechead-gap); align-items: end; margin-bottom: var(--mv-sechead-mb); }
.section-head h2 { font-family: var(--mv-font-display); font-size: var(--mv-h2); line-height: var(--mv-lh-h2); letter-spacing: var(--mv-ls-xl); font-weight: var(--mv-fw-bold); }
.section-head h2 em { font-style: normal; color: var(--mv-pop); }
.section-head p { color: var(--mv-mute); font-size: var(--mv-sechead-p-size); max-width: var(--mv-sechead-p-maxch); line-height: var(--mv-base-lh); }
.eyebrow { font-size: var(--mv-eyebrow-size); letter-spacing: var(--mv-ls-w5); text-transform: uppercase; color: var(--mv-pop); font-weight: var(--mv-fw-bold); margin-bottom: var(--mv-eyebrow-mb); }

/* Cases */
.cases { padding: var(--mv-sec-pad) 0 var(--mv-hero-pad-bot); }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mv-case-grid-gap); }
.case-card { background: var(--mv-bg-2); border-radius: var(--mv-radius-card); overflow: hidden; border: var(--mv-border-w) solid var(--mv-line); transition: transform .25s, box-shadow .25s; }
.case-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(13,13,13,0.1); }
.case-img { aspect-ratio: 4/3; background: var(--mv-ink) center / cover no-repeat; }
.case-body { padding: var(--mv-case-body-pad-top) var(--mv-case-body-pad-x) var(--mv-case-body-pad-bot); }
.case-meta { display: flex; gap: var(--mv-case-meta-gap); margin-bottom: var(--mv-case-meta-mb); flex-wrap: wrap; }
.case-meta .pill-mini { font-size: var(--mv-pillmini-size); padding: var(--mv-pillmini-pad-y) var(--mv-pillmini-pad-x); border-radius: var(--mv-radius-pill); background: var(--mv-bg); border: var(--mv-border-w) solid var(--mv-line); }
.case-title { font-family: var(--mv-font-display); font-size: var(--mv-case-title-size); font-weight: var(--mv-fw-semibold); letter-spacing: var(--mv-ls-sm); line-height: var(--mv-lh-12); margin-bottom: var(--mv-case-title-mb); }
.case-blurb { font-size: var(--mv-case-blurb-size); color: var(--mv-mute); line-height: var(--mv-base-lh); margin-bottom: var(--mv-case-blurb-mb); }
.case-metrics { display: flex; gap: var(--mv-case-metrics-gap); padding-top: var(--mv-case-metrics-pt); border-top: var(--mv-border-w) solid var(--mv-line); }
.case-metric .v { font-family: var(--mv-font-display); font-weight: var(--mv-fw-bold); font-size: var(--mv-case-metric-v-size); letter-spacing: var(--mv-ls-sm); }
.case-metric .l { font-size: var(--mv-case-metric-l-size); color: var(--mv-mute); letter-spacing: var(--mv-ls-w2); margin-top: var(--mv-case-metric-l-mt); }

/* Talent strip */
.talent { padding: var(--mv-hero-pad-bot) 0 var(--mv-sec-pad); }
.talent-scroll { display: flex; gap: var(--mv-talent-gap); overflow-x: auto; padding-bottom: var(--mv-talent-padbot); scroll-snap-type: x mandatory; }
.talent-scroll::-webkit-scrollbar { height: 6px; }
.talent-scroll::-webkit-scrollbar-thumb { background: var(--mv-ink); border-radius: 3px; }
.talent-card { flex: 0 0 var(--mv-talent-card-w); aspect-ratio: 3/4; border-radius: var(--mv-radius-talent); overflow: hidden; position: relative; scroll-snap-align: start; }
.talent-card-img { position: absolute; inset: 0; background: var(--mv-ink) center top / cover no-repeat; filter: contrast(1.05); transition: transform .4s; }
.talent-card:hover .talent-card-img { transform: scale(1.05); }
.talent-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.85)); }
.talent-card-info { position: absolute; bottom: var(--mv-talent-info-inset); left: var(--mv-talent-info-inset); right: var(--mv-talent-info-inset); z-index: 2; color: #fff; }
.talent-card-info .name { font-family: var(--mv-font-display); font-weight: var(--mv-fw-semibold); font-size: var(--mv-talent-name-size); }
.talent-card-info .followers { display: flex; gap: var(--mv-talent-foll-gap); margin-top: var(--mv-talent-foll-mt); flex-wrap: wrap; }
.talent-card-info .follow-pill { font-size: var(--mv-followpill-size); padding: var(--mv-followpill-pad-y) var(--mv-followpill-pad-x); background: rgba(255,255,255,0.15); border-radius: var(--mv-radius-pill); backdrop-filter: blur(4px); letter-spacing: var(--mv-ls-w1); }

/* Service packs */
/* Home — About block below the hero video (light, left-aligned editorial) */
.home-about { padding: var(--mv-sec-pad) 0; background: var(--mv-bg); color: var(--mv-ink); }
.home-about-narratives { margin-bottom: var(--mv-sec-pad); }
.home-about-who { display: grid; grid-template-columns: var(--mv-habout-label-col) minmax(0, var(--mv-habout-intro-maxw)); gap: var(--mv-sechead-gap); align-items: start; margin-bottom: var(--mv-habout-block-gap); }
.home-about-who:last-child { margin-bottom: 0; }
.home-about-head { margin-bottom: 0; }
.home-about-head .eyebrow { color: var(--mv-pop); margin-bottom: var(--mv-habout-eyebrow-mb); }
.home-about-head .hero-about-title { color: var(--mv-ink); font-size: var(--mv-habout-head-size); line-height: var(--mv-lh-snug); margin: 0; }
.home-about-who .hero-about-body { font-size: var(--mv-hero-about-body-size); color: var(--mv-mute); line-height: var(--mv-lh-16); }
.home-about-who .hero-about-body p { margin-bottom: var(--mv-habout-body-pmb); }
.home-about-who .hero-about-body p:last-child { margin-bottom: 0; margin-top: var(--mv-habout-tagline-mt); padding-top: var(--mv-habout-tagline-mt); border-top: var(--mv-border-w) solid var(--mv-line); font-family: var(--mv-font-display); font-size: var(--mv-habout-tagline-size); font-weight: var(--mv-fw-semibold); letter-spacing: var(--mv-ls-sm); color: var(--mv-ink); }
.home-about-what .section-head h2 { color: var(--mv-ink); }
.home-about-what .eyebrow { color: var(--mv-pop); margin-bottom: var(--mv-habout-eyebrow-mb); }
.home-about-what .pack { background: var(--mv-bg-2); border-color: var(--mv-line); color: var(--mv-ink); }
.home-about-what .pack:hover { background: var(--mv-bg-2); box-shadow: 0 16px 48px rgba(13,13,13,0.08); }
.home-about-what .pack-blurb { color: var(--mv-mute); }
@media (max-width: 991px) { .home-about-who { grid-template-columns: 1fr; gap: var(--mv-habout-head-mb); } }

/* Production — stacked section blocks */
.production-block { margin-top: var(--mv-prod-block-gap); }
.production-block-title { font-family: var(--mv-font-display); font-size: var(--mv-prod-title-size); font-weight: var(--mv-fw-bold); letter-spacing: var(--mv-ls-sm); margin-bottom: var(--mv-prod-title-mb); }
.production-empty { color: var(--mv-mute); }

.packs { padding: var(--mv-sec-pad) 0; background: var(--mv-ink); color: var(--mv-bg); }
.packs .section-head h2 { color: var(--mv-bg); }
.packs .section-head p { color: rgba(250,250,247,0.7); }
.packs .eyebrow { color: var(--mv-pop-2); }
.pack-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mv-pack-gap); }
.pack { background: rgba(255,255,255,0.04); border: var(--mv-border-w) solid rgba(255,255,255,0.1); border-radius: var(--mv-radius-talent); padding: var(--mv-pack-pad); min-height: var(--mv-pack-min-h); display: flex; flex-direction: column; justify-content: space-between; transition: background .25s, transform .25s; }
.pack:hover { background: rgba(255,255,255,0.08); transform: translateY(-4px); }
.pack-num { font-family: var(--mv-font-display); font-size: var(--mv-pack-num-size); font-weight: var(--mv-fw-semibold); color: var(--mv-pop-2); letter-spacing: var(--mv-ls-pack); }
.pack-title { font-family: var(--mv-font-display); font-size: var(--mv-pack-title-size); font-weight: var(--mv-fw-semibold); letter-spacing: var(--mv-ls-sm); margin: var(--mv-pack-title-mt) 0 var(--mv-pack-title-mb); }
.pack-blurb { color: rgba(250,250,247,0.65); font-size: var(--mv-pack-blurb-size); line-height: var(--mv-base-lh); }
.pack-arrow { font-size: var(--mv-pack-arrow-size); color: var(--mv-pop-2); align-self: flex-end; margin-top: var(--mv-pack-arrow-mt); transition: transform .25s; }
.pack:hover .pack-arrow { transform: translate(4px, -4px); }

/* Brand bar */
.brands { padding: var(--mv-brands-pad) 0; border-bottom: var(--mv-border-w) solid var(--mv-line); }
.brands-label { text-align: center; font-size: var(--mv-brands-label-size); color: var(--mv-mute); letter-spacing: var(--mv-ls-w5); text-transform: uppercase; margin-bottom: var(--mv-brands-label-mb); font-weight: var(--mv-fw-semibold); }
.brands-row { display: flex; flex-wrap: wrap; gap: var(--mv-brands-row-gap); justify-content: center; align-items: center; }
.brand-mark { font-family: var(--mv-font-display); font-size: var(--mv-brand-mark-size); font-weight: var(--mv-fw-bold); color: var(--mv-mute); letter-spacing: var(--mv-ls-sm); transition: color .25s; }
.brand-mark:hover { color: var(--mv-ink); }

/* End-cap CTA */
.endcap { padding: var(--mv-endcap-pad) 0; }
.endcap-card { background: var(--mv-pop); color: #fff; border-radius: var(--mv-radius-card-lg); padding: var(--mv-endcap-card-pad-y) var(--mv-endcap-card-pad-x); display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--mv-endcap-card-gap); align-items: center; }
.endcap-card h2 { font-family: var(--mv-font-display); font-size: var(--mv-endcap-h2); line-height: var(--mv-lh-h2); font-weight: var(--mv-fw-bold); letter-spacing: var(--mv-ls-xl); margin-bottom: var(--mv-endcap-h2-mb); }
.endcap-card h2 em { font-style: normal; background: var(--mv-pop-2); color: var(--mv-ink); padding: 0 0.06em; border-radius: var(--mv-radius-chip); }
.endcap-card .eyebrow { color: var(--mv-pop-2); }
.endcap-card p { color: rgba(255,255,255,0.85); font-size: var(--mv-endcap-p-size); line-height: var(--mv-base-lh); }
.endcap-form { background: rgba(0,0,0,0.18); border-radius: var(--mv-radius-talent); padding: var(--mv-endcap-form-pad); backdrop-filter: blur(4px); }
.endcap-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mv-endcap-form-gap); margin-bottom: var(--mv-endcap-form-gap); }
.endcap-form input { background: rgba(255,255,255,0.1); border: var(--mv-border-w) solid rgba(255,255,255,0.2); color: #fff; padding: var(--mv-endcap-input-pad-y) var(--mv-endcap-input-pad-x); border-radius: var(--mv-radius-chip); font-family: inherit; font-size: var(--mv-endcap-input-size); width: 100%; }
.endcap-form input::placeholder { color: rgba(255,255,255,0.6); }
.endcap-form button { width: 100%; background: var(--mv-ink); color: #fff; border: 0; padding: var(--mv-endcap-btn-pad); border-radius: var(--mv-radius-chip); font-family: inherit; font-size: var(--mv-endcap-input-size); font-weight: var(--mv-fw-semibold); cursor: pointer; transition: background .25s; }
.endcap-form button:hover { background: var(--mv-pop-2); color: var(--mv-ink); }
/* Let CF7 markup adopt the same look */
.endcap-form .wpcf7-form-control-wrap { display: block; }
.endcap-form p { margin: 0 0 var(--mv-endcap-form-gap); color: inherit; font-size: inherit; }

/* Footer */
.footer { padding: var(--mv-footer-pad-top) 0 var(--mv-footer-pad-bot); }
.footer-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--mv-footer-row-gap); padding-bottom: var(--mv-footer-row-padbot); border-bottom: var(--mv-border-w) solid var(--mv-line); }
.footer h4 { font-size: var(--mv-footer-h4-size); letter-spacing: var(--mv-ls-w4); text-transform: uppercase; color: var(--mv-mute); margin-bottom: var(--mv-footer-h4-mb); font-weight: var(--mv-fw-bold); }
.footer p, .footer a { font-size: var(--mv-footer-link-size); line-height: var(--mv-base-lh); display: block; color: var(--mv-ink); }
.footer a:hover { color: var(--mv-pop); }
.footer-brand { font-family: var(--mv-font-display); font-weight: var(--mv-fw-bold); font-size: var(--mv-footer-brand-size); margin-bottom: var(--mv-footer-brand-mb); letter-spacing: var(--mv-ls-md); }
.footer-brand .dot { color: var(--mv-pop); }
.footer-blurb { max-width: var(--mv-footer-blurb-maxch); }
.footer-bot { display: flex; justify-content: space-between; gap: var(--mv-footer-bot-gap); padding-top: var(--mv-footer-bot-padtop); font-size: var(--mv-footer-bot-size); color: var(--mv-mute); flex-wrap: wrap; }

/* Artist listing grid */
.artists-page .section-head { margin-bottom: var(--mv-artist-sechead-mb); }
.artist-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mv-artist-grid-gap); }
.artist-card { position: relative; aspect-ratio: 3/4; border-radius: var(--mv-radius-talent); overflow: hidden; display: block; }
.artist-card-img { position: absolute; inset: 0; background: var(--mv-ink) center top / cover no-repeat; transition: transform .4s; }
.artist-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.85)); }
.artist-card-info { position: absolute; left: var(--mv-artist-info-inset-x); right: var(--mv-artist-info-inset-x); bottom: var(--mv-artist-info-bottom); z-index: 2; color: #fff; }
.artist-card-info .name { font-family: var(--mv-font-display); font-weight: var(--mv-fw-semibold); font-size: var(--mv-artist-name-size); line-height: var(--mv-lh-115); }
.artist-card-info .role { font-size: var(--mv-artist-role-size); opacity: var(--mv-op-80); margin-top: var(--mv-artist-role-mt); }

/* Campaign grid (brand pages) */
.campaigns-page .section-head { margin-bottom: var(--mv-campaign-sechead-mb); }
.campaign-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mv-campaign-grid-gap); }
.campaign-card { display: block; background: var(--mv-bg-2); border: var(--mv-border-w) solid var(--mv-line); border-radius: var(--mv-radius-card); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.campaign-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(13,13,13,0.1); }
.campaign-thumb { position: relative; aspect-ratio: 16/9; background: var(--mv-ink) center / cover no-repeat; }
/* Portrait artwork (posters, 9:16 reel stills) is fitted inside the 16:9
   frame rather than cropped through the middle. */
/* Portrait artwork is fitted whole, and the empty sides are filled with a
   blurred, dimmed copy of the same image so the backdrop always matches. */
.campaign-thumb.is-portrait { background-image: none; overflow: hidden; }
.campaign-thumb.is-portrait::before {
  content: ""; position: absolute; inset: 0;
  background-image: var(--mv-thumb);
  background-size: cover; background-position: center;
  filter: blur(26px) saturate(1.35) brightness(0.8);
  transform: scale(1.18);
}
.campaign-thumb.is-portrait::after {
  content: ""; position: absolute; inset: 0;
  background-image: var(--mv-thumb);
  background-size: contain; background-position: center;
  background-repeat: no-repeat;
}
.campaign-thumb .campaign-play { z-index: 2; }
.campaign-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: var(--mv-campaign-play-size); height: var(--mv-campaign-play-size); border-radius: 50%; background: rgba(255,255,255,0.92); display: flex; align-items: center; justify-content: center; transition: transform .25s, background .25s; }
.campaign-card:hover .campaign-play { transform: translate(-50%,-50%) scale(1.08); background: #fff; }
.campaign-play::before { content: ""; width: 0; height: 0; border-left: var(--mv-campaign-play-tri) solid var(--mv-ink); border-top: 10px solid transparent; border-bottom: 10px solid transparent; margin-left: 4px; }
.campaign-body { padding: var(--mv-campaign-body-pt) var(--mv-campaign-body-pad-x) var(--mv-campaign-body-pb); }
.campaign-brand { font-size: var(--mv-campaign-brand-size); letter-spacing: var(--mv-ls-w3); text-transform: uppercase; color: var(--mv-pop); font-weight: var(--mv-fw-bold); margin-bottom: var(--mv-campaign-brand-mb); }
.campaign-title { font-family: var(--mv-font-display); font-size: var(--mv-campaign-title-size); font-weight: var(--mv-fw-semibold); line-height: var(--mv-lh-125); letter-spacing: var(--mv-ls-xs); }

/* Creator Collaborations — vertical reels row */
.creators-page .section-head { margin-bottom: var(--mv-campaign-sechead-mb); }
.creator-reels { display: flex; flex-wrap: nowrap; gap: var(--mv-creator-gap); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--mv-creator-pad-bot); -webkit-overflow-scrolling: touch; }
.reel-card { flex: 0 0 var(--mv-creator-card-w); scroll-snap-align: start; display: block; border-radius: var(--mv-radius-card); overflow: hidden; background: var(--mv-ink); transition: transform .25s, box-shadow .25s; }
.reel-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(13,13,13,0.1); }
.reel-thumb { position: relative; aspect-ratio: var(--mv-creator-ratio-w) / var(--mv-creator-ratio-h); background: var(--mv-ink) center / cover no-repeat; display: flex; flex-direction: column; justify-content: flex-end; }
.reel-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,13,13,0.78) 0%, rgba(13,13,13,0) 55%); }
.reel-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: var(--mv-campaign-play-size); height: var(--mv-campaign-play-size); border-radius: 50%; background: rgba(255,255,255,0.92); display: flex; align-items: center; justify-content: center; z-index: 1; transition: transform .25s, background .25s; }
.reel-card:hover .reel-play { transform: translate(-50%,-50%) scale(1.08); background: #fff; }
.reel-play::before { content: ""; width: 0; height: 0; border-left: var(--mv-campaign-play-tri) solid var(--mv-ink); border-top: 10px solid transparent; border-bottom: 10px solid transparent; margin-left: 4px; }
.reel-caption { position: relative; z-index: 1; padding: var(--mv-creator-cap-pad); }
.reel-brand { font-size: var(--mv-creator-brand-size); letter-spacing: var(--mv-ls-w3); text-transform: uppercase; color: #fff; font-weight: var(--mv-fw-bold); margin-bottom: var(--mv-campaign-brand-mb); opacity: var(--mv-op-80); }
.reel-title { font-family: var(--mv-font-display); font-size: var(--mv-creator-title-size); font-weight: var(--mv-fw-semibold); line-height: var(--mv-lh-125); letter-spacing: var(--mv-ls-xs); color: #fff; }

/* Single artist profile */
.artist-single { padding: var(--mv-sec-pad) 0; }
.back-link { display: inline-block; margin-bottom: var(--mv-single-backlink-mb); font-size: var(--mv-single-backlink-size); font-weight: var(--mv-fw-semibold); color: var(--mv-mute); }
.back-link:hover { color: var(--mv-pop); }
.artist-hero { display: grid; grid-template-columns: 5fr 7fr; gap: var(--mv-artist-hero-gap); align-items: start; }
.artist-portrait { aspect-ratio: 3/4; border-radius: var(--mv-radius-card); background: var(--mv-ink) center top / cover no-repeat; position: sticky; top: var(--mv-sticky-top); }
.artist-bio h1 { font-family: var(--mv-font-display); font-size: var(--mv-artist-h1); line-height: var(--mv-lh-h1); letter-spacing: var(--mv-ls-lg); margin: var(--mv-artist-bio-h1-mt) 0 var(--mv-artist-bio-h1-mb); }
.artist-tagline { font-size: var(--mv-artist-tagline-size); color: var(--mv-mute); margin-bottom: var(--mv-artist-tagline-mb); }
.artist-body { font-size: var(--mv-artist-body-size); line-height: var(--mv-lh-17); }
.artist-body p { margin-bottom: 1.1em; }
.artist-socials { display: flex; flex-wrap: wrap; gap: var(--mv-artist-socials-gap); margin: var(--mv-artist-socials-my) 0; }
.artist-socials a { font-size: var(--mv-artist-social-size); font-weight: var(--mv-fw-semibold); padding: var(--mv-artist-social-pad-y) var(--mv-artist-social-pad-x); border: var(--mv-border-w) solid var(--mv-line); border-radius: var(--mv-radius-pill); }
.artist-socials a:hover { background: var(--mv-ink); color: var(--mv-bg); }

/* About page */
.about-grid { display: grid; grid-template-columns: 4fr 7fr; gap: var(--mv-about-grid-gap); align-items: start; }
.about-head { position: sticky; top: var(--mv-sticky-top); }
.about-head h1 { font-family: var(--mv-font-display); font-size: var(--mv-about-h1); line-height: var(--mv-lh-h1); letter-spacing: var(--mv-ls-lg); margin-top: var(--mv-about-h1-mt); }
.about-body { font-size: var(--mv-about-body-size); line-height: var(--mv-lh-17); max-width: none; }
.about-body p { margin-bottom: 1.2em; }

/* IP Creation */
.ip-hero { max-width: var(--mv-ip-hero-maxch); margin-bottom: var(--mv-ip-hero-mb); }
.ip-hero h1 { font-family: var(--mv-font-display); font-size: var(--mv-ip-h1); line-height: var(--mv-lh-h2); letter-spacing: var(--mv-ls-xl); margin: var(--mv-ip-h1-mt) 0 var(--mv-ip-h1-mb); }
.ip-subtitle { font-size: var(--mv-ip-subtitle-size); color: var(--mv-mute); }
.ip-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mv-ip-stats-gap); margin-bottom: var(--mv-ip-stats-mb); }
.ip-stat { background: var(--mv-bg-2); border: var(--mv-border-w) solid var(--mv-line); border-radius: var(--mv-radius-card); padding: var(--mv-ip-stat-pad); }
.ip-stat .num { font-family: var(--mv-font-display); font-size: var(--mv-ip-stat-num-size); font-weight: var(--mv-fw-bold); letter-spacing: var(--mv-ls-lg); color: var(--mv-pop); line-height: var(--mv-lh-one); }
.ip-stat .label { font-size: var(--mv-ip-stat-label-size); color: var(--mv-mute); margin-top: var(--mv-ip-stat-label-mt); }
.ip-body { max-width: var(--mv-ip-body-maxch); font-size: var(--mv-ip-body-size); line-height: var(--mv-lh-17); margin-bottom: var(--mv-ip-body-mb); }
.ip-body p { margin-bottom: 1.1em; }
.ip-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--mv-ip-gallery-gap); }
.ip-shot { aspect-ratio: 16/10; border-radius: var(--mv-radius-card); background: var(--mv-ink) center / cover no-repeat; }

/* Contact page */
.contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--mv-contact-grid-gap); align-items: start; }
.contact-block { margin-bottom: var(--mv-contact-block-mb); }
.contact-block h4 { font-size: var(--mv-contact-h4-size); letter-spacing: var(--mv-ls-w4); text-transform: uppercase; color: var(--mv-mute); margin-bottom: var(--mv-contact-h4-mb); font-weight: var(--mv-fw-bold); }
.contact-block p, .contact-block a { font-size: var(--mv-contact-p-size); line-height: var(--mv-lh-15); }
.contact-block a:hover { color: var(--mv-pop); }
.contact-form input, .contact-form textarea { width: 100%; background: var(--mv-bg-2); border: var(--mv-border-w) solid var(--mv-line); color: var(--mv-ink); padding: var(--mv-contact-input-pad-y) var(--mv-contact-input-pad-x); border-radius: var(--mv-radius-chip); font-family: inherit; font-size: var(--mv-contact-input-size); margin-bottom: var(--mv-contact-input-mb); }
.contact-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--mv-contact-form-gap); }
.contact-form button { border: 0; }
.contact-map { margin-top: var(--mv-contact-map-mt); border-radius: var(--mv-radius-card); overflow: hidden; }
.contact-map iframe { width: 100%; height: var(--mv-contact-map-h); border: 0; display: block; }

/* Generic page content (inner pages) */
.page-main { padding: var(--mv-sec-pad) 0; }
.page-main h1 { font-family: var(--mv-font-display); font-size: var(--mv-h2); line-height: var(--mv-lh-h1); letter-spacing: var(--mv-ls-lg); margin-bottom: var(--mv-page-h1-mb); }
.page-content { max-width: var(--mv-page-content-maxch); }
.page-content p { margin-bottom: 1.1em; }
.page-content h2 { font-family: var(--mv-font-display); margin: 1.4em 0 0.5em; }
.page-content a { color: var(--mv-pop); }

/* Responsive — breakpoint-specific layout overrides */
@media (max-width: 1100px) {
  .stats-grid, .pack-grid { grid-template-columns: repeat(2, 1fr); }
  .case-grid, .artist-grid, .campaign-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .artist-hero { grid-template-columns: 1fr; gap: 28px; }
  .artist-portrait { position: static; max-width: 420px; }
}
@media (max-width: 760px) {
  .artist-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
  .section-head { grid-template-columns: 1fr; gap: 20px; }
  .about-grid, .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .about-head { position: static; }
  .ip-stats { grid-template-columns: repeat(2, 1fr); }
  .ip-gallery { grid-template-columns: 1fr; }
  .endcap-card { grid-template-columns: 1fr; gap: 32px; padding: 48px 32px; }
  .footer-row { grid-template-columns: 1fr 1fr; }
  .nav-links { display: none; }
  .nav-toggle { display: inline-flex; }
  .nav.is-open .nav-links { display: flex; flex-direction: column; align-items: flex-start; position: absolute; top: 100%; left: 0; right: 0; background: var(--mv-bg-2); border-bottom: var(--mv-border-w) solid var(--mv-line); padding: var(--mv-navmobile-pad) var(--mv-container-pad); gap: var(--mv-navmobile-gap); }
  /* Inline submenus on mobile */
  .nav.is-open .nav-links .sub-menu {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: 0; background: transparent; padding: 6px 0 0 14px; min-width: 0;
  }
  body.mv-hero-overlay .nav.is-open .nav-links .sub-menu a { color: #fff; }
}
@media (max-width: 640px) {
  .case-grid, .footer-row { grid-template-columns: 1fr; }
  .endcap-form .row { grid-template-columns: 1fr; }
  .endcap-card { padding: 32px 22px; }
}

/* ---- Contact Form 7 ------------------------------------------------------
   CF7 nests every field in <label><span class="wpcf7-form-control-wrap">.
   These rules make those wrappers transparent so the form inherits the
   layout and field styling defined above. ------------------------------- */
.contact-form label,
.endcap-form label { display: block; }
.contact-form .wpcf7-form-control-wrap,
.endcap-form .wpcf7-form-control-wrap { display: block; }
.contact-form textarea { min-height: 120px; resize: vertical; }

/* End-cap sits on the accent panel: textarea must match the inputs there. */
.endcap-form textarea {
  background: rgba(255,255,255,0.1);
  border: var(--mv-border-w) solid rgba(255,255,255,0.2);
  color: #fff;
  padding: var(--mv-endcap-input-pad-y) var(--mv-endcap-input-pad-x);
  border-radius: var(--mv-radius-chip);
  font-family: inherit;
  font-size: var(--mv-endcap-input-size);
  width: 100%;
  min-height: 96px;
  resize: vertical;
  margin-bottom: var(--mv-endcap-form-gap);
}
.endcap-form textarea::placeholder { color: rgba(255,255,255,0.6); }
.endcap-form .wpcf7-submit {
  width: 100%; background: var(--mv-ink); color: #fff; border: 0;
  padding: var(--mv-endcap-btn-pad); border-radius: var(--mv-radius-chip);
  font-family: inherit; font-size: var(--mv-endcap-input-size);
  font-weight: var(--mv-fw-semibold); cursor: pointer; transition: background .25s;
}
.endcap-form .wpcf7-submit:hover { background: var(--mv-pop-2); color: var(--mv-ink); }

.contact-form .wpcf7-submit {
  background: var(--mv-ink); color: #fff; border: 0; cursor: pointer;
  padding: var(--mv-contact-input-pad-y) calc(var(--mv-contact-input-pad-x) * 2);
  border-radius: var(--mv-radius-chip); font-family: inherit;
  font-size: var(--mv-contact-input-size); font-weight: var(--mv-fw-semibold);
  transition: background .25s;
}
.contact-form .wpcf7-submit:hover { background: var(--mv-pop); }

/* Validation + status messages, styled to sit inside the design. */
.wpcf7 form .wpcf7-response-output {
  margin: var(--mv-contact-form-gap) 0 0; padding: 12px 16px;
  border-radius: var(--mv-radius-chip); border-width: var(--mv-border-w);
  font-size: var(--mv-endcap-input-size);
}
.endcap-form .wpcf7-response-output { color: #fff; border-color: rgba(255,255,255,0.4); }
.wpcf7-not-valid-tip { font-size: 12px; margin-top: 4px; }
.endcap-form .wpcf7-not-valid-tip { color: #ffd9d9; }
.wpcf7-spinner { display: inline-block; vertical-align: middle; }
