/* ==========================================================================
   BOUGAINVILLEA PRODUCTIONS — design system
   Concept: "In Bloom." Bougainvillea is a plant that blooms loudest in the
   toughest conditions — thin soil, full sun, bare vines exploding into
   colour anyway. That's the studio's own story (new, unproven, going loud
   regardless), so the whole visual language is built on it instead of on
   generic "cinema" iconography: bold kinetic type, a white/ink base, the
   logo's gold kept for premium/considered moments, and a vivid magenta
   "bloom" as the primary energy colour running through motion, marquees
   and accents. Light throughout — no dark theme anywhere on the site.
   ========================================================================== */

:root {
  --bvp-cream: #fffdf9;
  --bvp-cream-2: #fdf1f6;
  --bvp-paper: #ffffff;
  --bvp-line: #ece1e6;
  --bvp-ink: #131018;
  --bvp-ink-muted: #5c5563;
  --bvp-ink-faint: #9a92a0;

  --bvp-gold: #b6852c;
  --bvp-gold-light: #d6a748;
  --bvp-gold-pale: #f2e0ac;
  --bvp-gold-dark: #86611e;

  --bvp-magenta: #e01179;
  --bvp-magenta-light: #ff62b8;
  --bvp-magenta-deep: #930a52;
  --bvp-violet: #5b2a86;

  --bvp-black: #0d0b10;
  --bvp-charcoal: #171319;
  --bvp-charcoal-2: #1f1a23;

  --bloom-gradient: linear-gradient(120deg, var(--bvp-magenta) 0%, var(--bvp-violet) 55%, var(--bvp-gold) 100%);
  --gold-gradient: linear-gradient(135deg, var(--bvp-gold-light), var(--bvp-gold-dark));

  --font-display: 'Bricolage Grotesque', 'Inter', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --ease: cubic-bezier(.16,.84,.32,1);
  --ease-out: cubic-bezier(.22,.68,.3,1);
  --speed-fast: .2s;
  --speed: .45s;
  --speed-slow: .9s;

  --radius: 14px;
  --radius-lg: 26px;
  --radius-sm: 8px;
  --container: 1280px;
  --shadow-sm: 0 2px 14px rgba(19,16,24,.06);
  --shadow-md: 0 18px 40px rgba(19,16,24,.1);
  --shadow-lg: 0 30px 70px rgba(19,16,24,.16);
  --shadow-bloom: 0 20px 50px rgba(224,17,121,.18);
  --header-h: 128px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  margin: 0;
  background: var(--bvp-cream);
  color: var(--bvp-ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img,
video {
  max-width: 100%;
  display: block;
}

a { color: inherit; }

::selection {
  background: var(--bvp-magenta);
  color: #fff;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.04;
  margin: 0 0 .5em;
  letter-spacing: -.02em;
  color: var(--bvp-ink);
}

h1 { font-size: clamp(2.4rem, 5.6vw, 4.6rem); }
h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 700; }

p {
  margin: 0 0 1em;
  color: var(--bvp-ink-muted);
}

.eyebrow {
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bvp-magenta);
  margin: 0 0 .9em;
  display: flex;
  align-items: center;
  gap: 10px;
}

.eyebrow::before {
  content: '';
  width: 22px;
  height: 2px;
  background: var(--bvp-gold);
  flex-shrink: 0;
}

.eyebrow.is-centered { justify-content: center; }
.eyebrow.is-centered::before { display: none; }

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

.section {
  padding: 110px 0;
  position: relative;
}

.section-tight { padding: 64px 0; }
.section-alt { background: var(--bvp-cream-2); }

@media (max-width: 720px) {
  .section { padding: 76px 0; }
  .container { padding: 0 20px; }
}

/* ---------- dark accent scope: footer + one closing CTA band ---------- */

.section-dark {
  --bvp-ink: #f6f1ee;
  --bvp-ink-muted: #c7bdc8;
  --bvp-ink-faint: #8a8090;
  --bvp-line: #322b38;
  --bvp-cream-2: #201b24;
  background: var(--bvp-charcoal);
  color: var(--bvp-ink);
}

.section-dark p { color: var(--bvp-ink-muted); }

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4 {
  color: var(--bvp-ink);
}

.section-dark .btn-ghost {
  border-color: var(--bvp-line);
  color: var(--bvp-ink);
}

.section-dark .btn-ghost:hover {
  border-color: var(--bvp-magenta-light);
  color: var(--bvp-magenta-light);
}

.section-dark .eyebrow { color: var(--bvp-gold-light); }

/* ---------- buttons ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -.01em;
  padding: 16px 30px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition:
    transform var(--speed-fast) var(--ease-out),
    box-shadow var(--speed-fast),
    border-color var(--speed-fast),
    color var(--speed-fast),
    background var(--speed-fast);
  min-height: 52px;
  isolation: isolate;
}

.btn:active { transform: scale(.96); }

.btn i,
.btn svg {
  transition: transform var(--speed-fast) var(--ease-out);
}

.btn:hover i.fa-arrow-right,
.btn:hover i.fa-arrow-up-right-from-square {
  transform: translate(3px, -2px);
}

.btn-primary {
  background: var(--bvp-ink);
  color: var(--bvp-cream);
  box-shadow: var(--shadow-sm);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--bloom-gradient);
  transform: translateX(-102%);
  transition: transform var(--speed) var(--ease-out);
}

.btn-primary:hover::before { transform: translateX(0); }
.btn-primary:hover { box-shadow: var(--shadow-bloom); }

.btn-secondary {
  background: transparent;
  border-color: var(--bvp-ink);
  color: var(--bvp-ink);
}

.btn-secondary:hover {
  background: var(--bvp-ink);
  color: var(--bvp-cream);
}

.btn-ghost {
  background: transparent;
  color: var(--bvp-ink-muted);
  border-color: var(--bvp-line);
}

.btn-ghost:hover {
  border-color: var(--bvp-magenta);
  color: var(--bvp-magenta);
}

.btn-gold {
  background: var(--gold-gradient);
  color: #241a06;
  box-shadow: var(--shadow-sm);
}

.btn-gold:hover {
  box-shadow: var(--shadow-md);
  filter: brightness(1.04);
}

.btn-magenta {
  background: var(--bvp-magenta);
  color: #fff;
}

.btn-magenta:hover { background: var(--bvp-magenta-deep); }
.btn-block { width: 100%; }

.btn-sm {
  padding: 11px 22px;
  font-size: .88rem;
  min-height: 42px;
}

/* ---------- top strip: site-wide casting announcement ---------- */

.top-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 20px;
  background: var(--bvp-ink);
  color: var(--bvp-cream);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 600;
  text-align: center;
  transition: background var(--speed-fast);
}

.top-strip:hover { background: #26202c; }
.top-strip i.fa-clapperboard { color: var(--bvp-gold-light); }
.top-strip strong { color: var(--bvp-magenta-light); font-weight: 800; }
.top-strip-arrow { transition: transform var(--speed-fast) var(--ease-out); }
.top-strip:hover .top-strip-arrow { transform: translateX(3px); }

@media (max-width: 560px) {
  .top-strip {
    font-size: .76rem;
    padding: 9px 14px;
    gap: 8px;
  }

  .top-strip i.fa-clapperboard { display: none; }
}

/* ---------- navigation ---------- */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 500;
  display: flex;
  flex-direction: column;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 28px;
  background: linear-gradient(to bottom, rgba(255,253,249,.9), rgba(255,253,249,0));
  transition:
    background var(--speed) var(--ease),
    padding var(--speed) var(--ease),
    backdrop-filter var(--speed),
    box-shadow var(--speed);
}

.site-header.is-scrolled .site-nav {
  background: rgba(255,253,249,.9);
  backdrop-filter: blur(14px);
  padding: 13px 28px;
  box-shadow: var(--shadow-sm);
}

.site-nav .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  min-width: 0;
}

.brand-mark {
  display: block;
  transition: height var(--speed) var(--ease);
  flex-shrink: 0;
}

.brand-mark img {
  height: 42px;
  width: auto;
  display: block;
  transition: height var(--speed) var(--ease);
}

.site-header.is-scrolled .brand-mark img { height: 34px; }
.brand-mark-sm img { height: 38px; }

.site-nav .brand-word {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--bvp-ink);
  display: none;
  white-space: nowrap;
}

@media (min-width: 960px) {
  .site-nav .brand-word { display: block; }
}

.nav-links {
  display: none;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-links a {
  text-decoration: none;
  font-size: .9rem;
  font-weight: 600;
  color: var(--bvp-ink-muted);
  padding: 9px 14px;
  border-radius: 999px;
  transition: color var(--speed-fast), background var(--speed-fast);
  white-space: nowrap;
}

.nav-links a:hover {
  color: var(--bvp-ink);
  background: rgba(19,16,24,.05);
}

.nav-links a.active {
  color: var(--bvp-magenta-deep);
  background: var(--bvp-cream-2);
}

@media (min-width: 1180px) {
  .nav-links { display: flex; }
}

.nav-cta-group {
  display: none;
  align-items: center;
  gap: 10px;
}

@media (min-width: 1180px) {
  .nav-cta-group { display: flex; }
}

/* Keep the Casting button available on narrow screens beside the menu. */

.nav-right-cluster {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.nav-cast-cta { white-space: nowrap; }

.nav-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1.5px solid var(--bvp-line);
  background: var(--bvp-paper);
  color: var(--bvp-ink);
  cursor: pointer;
}

@media (min-width: 1180px) {
  .nav-toggle { display: none; }
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 600;
  background: var(--bvp-ink);
  color: var(--bvp-cream);
  display: flex;
  flex-direction: column;
  padding: 24px;
  overflow-y: auto;
  clip-path: circle(3% at calc(100% - 42px) 42px);
  transition: clip-path var(--speed-slow) var(--ease);
  visibility: hidden;
}

.mobile-menu.is-open {
  clip-path: circle(150% at calc(100% - 42px) 42px);
  visibility: visible;
}

.mobile-menu .close-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 36px;
}

.mobile-menu .nav-toggle {
  border-color: #332c39;
  background: rgba(255,255,255,.06);
  color: var(--bvp-cream);
}

.mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mobile-menu a {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 15px 4px;
  font-family: var(--font-display);
  font-size: 1.9rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--bvp-cream);
  border-bottom: 1px solid #2a2430;
  letter-spacing: -.02em;
}

.mobile-menu a span.mm-num {
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 600;
  color: var(--bvp-magenta-light);
}

.mobile-menu a span.mm-flag {
  margin-left: auto;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #241a06;
  background: var(--gold-gradient);
  padding: 5px 12px;
  border-radius: 999px;
}

.mobile-menu .mobile-cta {
  margin-top: auto;
  padding-top: 24px;
}

/* ---------- reveal-on-scroll ---------- */

.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .9s var(--ease-out), transform .9s var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger.is-visible > * {
  transition-delay: calc(var(--i, 0) * 80ms);
}
/* ---------- visual frame: placeholder-ready image panel ----------
   Drop a real photo/still into the referenced assets/img path and it
   layers in automatically over the bloom-gradient backdrop below — the
   backdrop is designed to look complete on its own until then, so the
   site never looks "unfinished" while images are pending. */
.visual-frame {
  position: relative; border-radius: var(--radius-lg); overflow: hidden; isolation: isolate;
  background: var(--bloom-gradient);
}
.visual-frame::before {
  content: ''; position: absolute; inset: 0;
  background-image: var(--visual-url, none); background-size: cover; background-position: center;
}
.visual-frame::after {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 15% 0%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(90% 70% at 100% 100%, rgba(13,11,16,.35), transparent 60%);
  mix-blend-mode: multiply;
}
.visual-frame .visual-tag {
  position: absolute; left: 18px; bottom: 18px; z-index: 2;
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px;
  background: rgba(13,11,16,.55); backdrop-filter: blur(6px); color: #fff;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.visual-frame.ratio-hero { aspect-ratio: 4/5; }
.visual-frame.ratio-wide { aspect-ratio: 16/10; }
.visual-frame.ratio-square { aspect-ratio: 1; }
.visual-frame.ratio-tall { aspect-ratio: 3/4; }

/* ---------- blob decoration: soft morphing shape used behind headlines ---------- */
.blob {
  position: absolute; z-index: -1; filter: blur(50px); opacity: .55; pointer-events: none;
  border-radius: 62% 38% 55% 45% / 48% 42% 58% 52%;
  animation: blobMorph 14s var(--ease) infinite alternate;
}
.blob.gold { background: radial-gradient(circle, var(--bvp-gold-pale), transparent 72%); }
.blob.bloom { background: radial-gradient(circle, var(--bvp-magenta-light), transparent 72%); }
@keyframes blobMorph {
  0% { border-radius: 62% 38% 55% 45% / 48% 42% 58% 52%; transform: rotate(0deg) scale(1); }
  100% { border-radius: 40% 60% 42% 58% / 55% 45% 55% 45%; transform: rotate(12deg) scale(1.08); }
}

/* ---------- cards ---------- */
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px; }
.card {
  background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg);
  overflow: hidden; text-decoration: none; color: var(--bvp-ink); display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm);
  transition: transform var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast), border-color var(--speed-fast);
}
.card:hover { transform: translateY(-6px); border-color: var(--bvp-ink); box-shadow: var(--shadow-lg); }
.card-media { aspect-ratio: 3/4; background: var(--bloom-gradient); position: relative; overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease-out); position: relative; z-index: 1; }
.card:hover .card-media img { transform: scale(1.06); }
.card-badge { position: absolute; top: 14px; left: 14px; z-index: 2; background: rgba(13,11,16,.55); backdrop-filter: blur(4px); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 7px 14px; border-radius: 999px; }
.card-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.card-body h3 { margin-bottom: .25em; }
.card-meta { font-size: .78rem; color: var(--bvp-magenta-deep); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; font-weight: 700; }
.card-body p { font-size: .94rem; margin-bottom: 16px; flex: 1; }

/* ---------- chips ---------- */
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 15px; border-radius: 999px;
  background: var(--bvp-cream-2); border: 1px solid var(--bvp-line); font-size: .8rem; font-weight: 600; color: var(--bvp-ink-muted);
}
.chip i { color: var(--bvp-magenta); }

/* ---------- filter tabs ---------- */
.filter-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 44px; }
.filter-tab {
  padding: 11px 22px; border-radius: 999px; border: 1.5px solid var(--bvp-line); background: var(--bvp-paper);
  color: var(--bvp-ink-muted); font-family: var(--font-display); font-size: .88rem; font-weight: 700;
  cursor: pointer; transition: all var(--speed-fast);
}
.filter-tab:hover { border-color: var(--bvp-ink); color: var(--bvp-ink); }
.filter-tab.active { background: var(--bvp-ink); border-color: var(--bvp-ink); color: var(--bvp-cream); }

/* ---------- casting card ---------- */
.role-card { background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); padding: 30px; display: flex; flex-direction: column; gap: 18px; box-shadow: var(--shadow-sm); transition: border-color var(--speed-fast), transform var(--speed-fast), box-shadow var(--speed-fast); }
.role-card:hover { border-color: var(--bvp-ink); transform: translateY(-4px); box-shadow: var(--shadow-md); }
.role-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.role-project { font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; color: var(--bvp-magenta-deep); margin-bottom: 6px; font-weight: 700; }
.role-deadline { font-size: .74rem; color: var(--bvp-ink-faint); white-space: nowrap; text-align: right; }
.role-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; }
.role-fact { display: flex; gap: 8px; align-items: center; font-size: .87rem; color: var(--bvp-ink-muted); }
.role-fact i { color: var(--bvp-gold); width: 16px; text-align: center; }
.role-actions { display: flex; gap: 10px; margin-top: auto; }

/* ---------- forms ---------- */
.form-shell { max-width: 720px; margin: 0 auto; }
.field { margin-bottom: 22px; }
.field label { display: block; font-size: .82rem; font-weight: 700; letter-spacing: .02em; color: var(--bvp-ink); margin-bottom: 8px; }
.field .hint { font-size: .78rem; color: var(--bvp-ink-faint); margin-top: 6px; }
.field input[type=text], .field input[type=email], .field input[type=tel], .field input[type=date], .field input[type=number], .field input[type=url], .field select, .field textarea {
  width: 100%; padding: 15px 18px; background: var(--bvp-paper); border: 1.5px solid var(--bvp-line);
  border-radius: var(--radius); color: var(--bvp-ink); font-family: var(--font-body); font-size: .96rem;
  transition: border-color var(--speed-fast), box-shadow var(--speed-fast); min-height: 52px;
}
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--bvp-magenta); box-shadow: 0 0 0 4px rgba(224,17,121,.1); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }
.field-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .field-row-3 { grid-template-columns: 1fr; } }

.select-cards { display: flex; flex-wrap: wrap; gap: 10px; }
.select-card { position: relative; }
.select-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.select-card label {
  display: block; padding: 13px 21px; border-radius: 999px; border: 1.5px solid var(--bvp-line);
  background: var(--bvp-paper); font-size: .88rem; font-weight: 600;
  color: var(--bvp-ink-muted); cursor: pointer; transition: all var(--speed-fast); margin: 0;
}
.select-card input:checked + label { background: var(--bvp-ink); border-color: var(--bvp-ink); color: var(--bvp-cream); }
.select-card input:focus-visible + label { outline: 2px solid var(--bvp-magenta); outline-offset: 2px; }

.upload-zone {
  border: 2px dashed var(--bvp-line); border-radius: var(--radius-lg); padding: 34px 20px; text-align: center;
  cursor: pointer; transition: border-color var(--speed-fast), background var(--speed-fast); position: relative; background: var(--bvp-cream-2);
}
.upload-zone:hover, .upload-zone.is-dragover { border-color: var(--bvp-magenta); background: rgba(224,17,121,.05); }
.upload-zone input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-zone i { font-size: 1.7rem; color: var(--bvp-magenta); margin-bottom: 10px; display: block; }
.upload-preview { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.upload-preview .thumb { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; border: 1.5px solid var(--bvp-line); position: relative; }
.upload-preview .thumb img { width: 100%; height: 100%; object-fit: cover; }
.upload-preview .file-chip { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: 10px; font-size: .82rem; }

.form-errors { background: #fdeaf3; border: 1.5px solid var(--bvp-magenta); color: #7a0f47; border-radius: var(--radius); padding: 18px 22px; margin-bottom: 26px; font-size: .9rem; }
.form-errors ul { margin: 8px 0 0; padding-left: 18px; }

.consent-row { display: flex; gap: 12px; align-items: flex-start; font-size: .85rem; color: var(--bvp-ink-muted); }
.consent-row input { margin-top: 4px; width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--bvp-magenta); }

/* ---------- multi-step wizard ---------- */
.wizard-progress { margin-bottom: 44px; }
.wizard-progress-track { height: 5px; background: var(--bvp-line); border-radius: 3px; overflow: hidden; margin-bottom: 12px; }
.wizard-progress-bar { height: 100%; background: var(--bloom-gradient); transition: width var(--speed) var(--ease); }
.wizard-progress-label { font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--bvp-ink-faint); display: flex; justify-content: space-between; font-weight: 700; }
.wizard-progress-steps { display: flex; gap: 6px; margin-top: 14px; }
.wizard-progress-steps span { flex: 1; height: 3px; border-radius: 2px; background: var(--bvp-line); transition: background var(--speed-fast); }
.wizard-progress-steps span.is-done, .wizard-progress-steps span.is-current { background: var(--bvp-magenta); }
.wizard-step { display: none; }
.wizard-step.is-active { display: block; animation: stepIn .5s var(--ease-out); }
@keyframes stepIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.wizard-nav { display: flex; justify-content: space-between; margin-top: 38px; gap: 12px; }

.wizard-step-head { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }
.wizard-step-icon { width: 46px; height: 46px; border-radius: 13px; background: var(--bloom-gradient); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.05rem; flex-shrink: 0; box-shadow: var(--shadow-sm); }
.wizard-step-head h2 { margin: 0; }
.wizard-step-sub { color: var(--bvp-ink-muted); font-size: .93rem; margin: 8px 0 28px; max-width: 52ch; }

/* icon accents on field labels and select-card choices — used selectively,
   not on every field, so the icons stay meaningful rather than decorative noise */
.field label i { margin-right: 7px; color: var(--bvp-magenta); font-size: .85rem; width: 14px; text-align: center; }
.select-card label i { margin-right: 8px; color: var(--bvp-magenta); }
.select-card input:checked + label i { color: var(--bvp-gold-light); }

/* larger icon-tile variant of select-cards for the handful of choices that
   deserve real visual weight (format, category, department, availability) */
.select-cards.icon-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 12px; }
.select-cards.icon-grid .select-card label {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  padding: 22px 14px; border-radius: var(--radius-lg); text-align: center; height: 100%;
}
.select-cards.icon-grid .select-card label i { margin: 0; font-size: 1.5rem; color: var(--bvp-magenta); }
.select-cards.icon-grid .select-card input:checked + label i { color: var(--bvp-gold-light); }
.select-cards.icon-grid .select-card label span { font-size: .86rem; font-weight: 600; }

/* ---------- footer ---------- */
.site-footer { padding: 80px 0 32px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 60px; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-grid h4 { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bvp-ink-faint); margin-bottom: 20px; font-family: var(--font-body); font-weight: 700; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.footer-grid a { text-decoration: none; color: var(--bvp-ink-muted); font-size: .94rem; font-weight: 500; transition: color var(--speed-fast); }
.footer-grid a:hover { color: var(--bvp-magenta-light); }
.footer-logo { margin-bottom: 20px; }
.footer-logo img { height: 44px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 30px; border-top: 1px solid var(--bvp-line); font-size: .82rem; color: var(--bvp-ink-faint); }
.footer-social { display: flex; gap: 14px; }
.footer-social a { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--bvp-line); display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--bvp-ink-muted); transition: all var(--speed-fast); }
.footer-social a:hover { border-color: var(--bvp-magenta-light); color: var(--bvp-magenta-light); transform: translateY(-3px); }

/* ---------- utility ---------- */
.text-center { text-align: center; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-0 { margin-top: 0; }
.max-w-prose { max-width: 660px; }
.badge-status { display: inline-block; padding: 7px 16px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.badge-open { background: rgba(224,17,121,.1); color: var(--bvp-magenta-deep); border: 1.5px solid var(--bvp-magenta-light); }
.badge-closed { background: var(--bvp-cream-2); color: var(--bvp-ink-faint); border: 1.5px solid var(--bvp-line); }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; gap: 40px; } }

.empty-state { text-align: center; padding: 90px 20px; }
.empty-state i { font-size: 2.6rem; color: var(--bvp-magenta); margin-bottom: 18px; display: block; }
.empty-state h3 { margin-bottom: 8px; }

.gallery-strip { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.gallery-strip img { flex: 0 0 auto; width: min(70vw, 440px); aspect-ratio: 16/10; object-fit: cover; scroll-snap-align: start; border-radius: var(--radius); }

.confirm-hero { text-align: center; padding: calc(var(--header-h) + 20px) 0 110px; }
.confirm-code { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem, 4vw, 2.2rem); color: var(--bvp-magenta-deep); letter-spacing: .02em; margin: 20px 0 32px; padding: 20px 30px; border: 1.5px solid var(--bvp-gold-pale); background: var(--bvp-paper); border-radius: var(--radius); display: inline-block; box-shadow: var(--shadow-sm); }

.skip-link { position: absolute; left: -9999px; top: 0; background: var(--bvp-ink); color: #fff; padding: 12px 20px; z-index: 9999; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { left: 12px; top: 12px; }

:focus-visible { outline: 2px solid var(--bvp-magenta); outline-offset: 3px; }
[id] { scroll-margin-top: calc(var(--header-h) + 16px); }

/* ==========================================================================
   HOMEPAGE-SPECIFIC COMPONENTS (index.php)
   ========================================================================== */

/* ---------- hero ---------- */
.hero { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; padding: calc(var(--header-h) + 30px) 0 70px; }
.hero-blobs { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: center; width: 100%; }
@media (max-width: 980px) { .hero-grid { grid-template-columns: 1fr; gap: 44px; } }
/* small screenplay slug shown above a page-hero eyebrow/heading */
.slug-tag { font-family: 'JetBrains Mono', monospace; font-size: .74rem; letter-spacing: .1em; color: var(--bvp-ink-faint); text-transform: uppercase; margin: 0 0 14px; display: block; }

.hero-eyebrow-row { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; opacity: 0; transform: translateY(14px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.hero.is-ready .hero-eyebrow-row { opacity: 1; transform: translateY(0); }
.hero-eyebrow-row .pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--bvp-magenta); animation: pulseDot 1.8s ease-in-out infinite; flex-shrink: 0; }
@keyframes pulseDot { 0%,100% { box-shadow: 0 0 0 0 rgba(224,17,121,.45); } 50% { box-shadow: 0 0 0 8px rgba(224,17,121,0); } }
.hero-eyebrow-row span { font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--bvp-ink-muted); }
.hero-statement { font-family: var(--font-display); font-size: clamp(3rem, 7.2vw, 5.8rem); line-height: .96; letter-spacing: -.035em; margin: 0 0 26px; opacity: 0; transform: translateY(26px); transition: opacity 1s var(--ease-out) .1s, transform 1s var(--ease-out) .1s; }
.hero.is-ready .hero-statement { opacity: 1; transform: translateY(0); }
.hero-statement .line { display: block; }
.hero-sub { max-width: 480px; font-size: 1.18rem; color: var(--bvp-ink-muted); margin-bottom: 36px; opacity: 0; transition: opacity 1s var(--ease-out) .3s; }
.hero.is-ready .hero-sub { opacity: 1; }
.hero-cta-row { display: flex; gap: 14px; flex-wrap: wrap; }
.hero .hero-cta-row { opacity: 0; transition: opacity 1s var(--ease-out) .45s; }
.hero.is-ready .hero-cta-row { opacity: 1; }
.cta-row { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-visual { position: relative; opacity: 0; transform: translateY(30px) scale(.97); transition: opacity 1.1s var(--ease-out) .2s, transform 1.1s var(--ease-out) .2s; }
.hero.is-ready .hero-visual { opacity: 1; transform: translateY(0) scale(1); }
.hero-visual .visual-frame { aspect-ratio: 4/5; }

/* a small fanned deck of three cards, not one flat photo — the front card
   is the real placeholder-ready visual (defines the box's actual size via
   aspect-ratio, in normal flow); the two behind it are absolutely
   positioned to match that same box, then rotated/offset to peek out.
   Doubles as a visual preview of the three-reel "what we make" section
   further down the page. */
.hero-stack { position: relative; }
.hero-stack .stack-layer { position: absolute; inset: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.hero-stack .stack-back-2 { background: linear-gradient(135deg, var(--bvp-violet), var(--bvp-magenta)); transform: rotate(-6deg) translate(-16px, 8px); z-index: 1; opacity: .85; }
.hero-stack .stack-back-1 { background: var(--gold-gradient); transform: rotate(4deg) translate(12px, -8px); z-index: 2; opacity: .92; }
.hero-stack .stack-front { position: relative; z-index: 3; }
.hero-stack .stack-tag { position: absolute; left: 14px; bottom: 14px; z-index: 4; font-family: 'JetBrains Mono', monospace; font-size: .66rem; font-weight: 700; letter-spacing: .08em; color: rgba(255,255,255,.9); }
.hero-stack .stack-back-1 .stack-tag, .hero-stack .stack-back-2 .stack-tag { opacity: .8; }

.hero-visual-tag { position: absolute; top: -18px; right: -18px; width: 108px; height: 108px; background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); animation: spinSlow 16s linear infinite; z-index: 4; }
.hero-visual-tag svg { width: 76%; height: 76%; }
.hero-visual-tag .tag-center { position: absolute; font-size: 1rem; color: var(--bvp-magenta); }
.hero-visual-note { position: absolute; bottom: -14px; left: 22px; z-index: 4; font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.25rem; color: var(--bvp-magenta-deep); transform: rotate(-3deg); background: var(--bvp-paper); padding: 3px 16px; border-radius: 5px; box-shadow: var(--shadow-sm); }

.hero-facts-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; opacity: 0; transition: opacity 1s var(--ease-out) .55s; }
.hero .hero-facts-row { opacity: 0; }
.hero.is-ready .hero-facts-row { opacity: 1; }
@keyframes spinSlow { to { transform: rotate(360deg); } }
@media (max-width: 720px) { .hero-visual-tag { width: 78px; height: 78px; top: -12px; right: -12px; } }
.hero-scroll-cue { position: absolute; bottom: 24px; left: 28px; display: flex; align-items: center; gap: 10px; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--bvp-ink-faint); }
.hero-scroll-cue .cue-line { width: 40px; height: 1px; background: var(--bvp-ink-faint); position: relative; overflow: hidden; }
.hero-scroll-cue .cue-line::after { content: ''; position: absolute; inset: 0; background: var(--bvp-magenta); animation: cueSlide 2.4s var(--ease) infinite; }
@keyframes cueSlide { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }
@media (max-width: 720px) { .hero-scroll-cue { display: none; } }

/* ---------- format grid: "what we create" ---------- */
.format-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--bvp-line); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); overflow: hidden; }
@media (max-width: 860px) { .format-grid { grid-template-columns: 1fr; } }
.format-tile { background: var(--bvp-paper); padding: 48px 36px; position: relative; overflow: hidden; transition: background var(--speed) var(--ease); }
.format-tile::before { content: ''; position: absolute; inset: 0; background: var(--bloom-gradient); opacity: 0; transition: opacity var(--speed) var(--ease); z-index: 0; }
.format-tile:hover::before { opacity: 1; }
.format-tile > * { position: relative; z-index: 1; }
.format-tile .format-num { font-family: var(--font-display); font-size: .82rem; font-weight: 700; letter-spacing: .1em; color: var(--bvp-ink-faint); margin-bottom: 30px; transition: color var(--speed); }
.format-tile h3 { font-size: 1.7rem; margin-bottom: 12px; transition: color var(--speed); }
.format-tile p { font-size: .95rem; margin-bottom: 0; transition: color var(--speed); }
.format-tile:hover .format-num, .format-tile:hover h3, .format-tile:hover p { color: #fff; }
.format-tile:hover p { color: rgba(255,255,255,.85); }

/* ---------- stats ---------- */
.stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--bvp-line); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
@media (max-width: 720px) { .stats-row { grid-template-columns: 1fr; } }
.stat { background: var(--bvp-paper); padding: 44px 26px; text-align: center; }
.stat-value { font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 3.6rem); font-weight: 800; color: var(--bvp-ink); line-height: 1; margin-bottom: 10px; }
.stat-value .accent { color: var(--bvp-magenta); }
.stat-caption { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--bvp-ink-muted); font-weight: 600; }

/* ---------- featured slate spread ---------- */
.featured-slate { display: grid; grid-template-columns: 1fr 1.1fr; gap: 0; border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); overflow: hidden; background: var(--bvp-paper); box-shadow: var(--shadow-md); }
@media (max-width: 860px) { .featured-slate { grid-template-columns: 1fr; } }
.featured-slate-media { position: relative; aspect-ratio: 4/5; overflow: hidden; }
.featured-slate-media img { width: 100%; height: 100%; object-fit: cover; }
.featured-slate-body { padding: 48px 44px; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 640px) { .featured-slate-body { padding: 32px 26px; } }
.featured-slate-stats { display: flex; gap: 26px; flex-wrap: wrap; margin: 20px 0 26px; }
.featured-stat { display: flex; flex-direction: column; }
.featured-stat b { font-family: var(--font-display); font-size: 1.4rem; color: var(--bvp-magenta-deep); }
.featured-stat span { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--bvp-ink-faint); font-weight: 600; }

/* ---------- ecosystem / join-us path tiles ---------- */
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 12px; }
@media (max-width: 720px) { .path-grid { grid-template-columns: 1fr; } }
.path-tile {
  display: flex; flex-direction: column; gap: 16px; padding: 32px 26px;
  border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); text-decoration: none; color: inherit;
  transition: all var(--speed-fast) var(--ease-out); position: relative; overflow: hidden;
}
.section-dark .path-tile { border-color: #332c39; }
.path-tile:hover { transform: translateY(-6px); border-color: transparent; box-shadow: var(--shadow-lg); }
.path-icon { width: 50px; height: 50px; border-radius: 14px; background: var(--bloom-gradient); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.2rem; }
.path-tile strong { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; }
.path-tile span.path-desc { font-size: .88rem; color: var(--bvp-ink-muted); }
.path-tile .path-arrow { margin-top: auto; align-self: flex-end; opacity: .4; transition: opacity var(--speed-fast), transform var(--speed-fast); }
.path-tile:hover .path-arrow { opacity: 1; transform: translate(4px,-4px); }

/* ---------- allied-with band ---------- */
.allied-band { position: relative; padding: 90px 0; text-align: center; overflow: hidden; }
.allied-line { position: relative; font-family: var(--font-display); font-size: clamp(1.5rem, 3.6vw, 2.4rem); font-weight: 700; line-height: 1.3; max-width: 780px; margin: 0 auto; }
.allied-line strong { color: var(--bvp-magenta-deep); font-weight: 800; }

/* ---------- poster-wall project cards ---------- */
.poster-card { position: relative; }

/* ---------- generic page-header (used by every inner page) ---------- */
.page-hero { padding: calc(var(--header-h) + 30px) 0 64px; position: relative; overflow: hidden; }
.page-hero .ghost-num { display: none; }
@media (min-width: 900px) { .page-hero .ghost-num { display: block; } }

/* ---------- cursor dot (desktop, subtle) ---------- */
body.has-bloom-cursor { cursor: none; }
body.has-bloom-cursor a, body.has-bloom-cursor button, body.has-bloom-cursor .filter-tab { cursor: none; }
body.has-bloom-cursor input, body.has-bloom-cursor textarea, body.has-bloom-cursor select { cursor: auto; }
.bloom-cursor { position: fixed; top: 0; left: 0; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--bvp-magenta); pointer-events: none; z-index: 9998; transform: translate(-100px,-100px); transition: transform .05s linear, width .25s var(--ease-out), height .25s var(--ease-out), margin .25s var(--ease-out), background .25s; will-change: transform; }
.bloom-cursor.is-active { width: 46px; height: 46px; margin: -23px 0 0 -23px; background: rgba(224,17,121,.14); border: 1.5px solid var(--bvp-magenta); }

/* ==========================================================================
   PRODUCTION-LIGHT & CAMERA DECORATION
   Camera/lighting-rig atmosphere used deliberately and visibly — bokeh,
   a lens/aperture line motif, a spotlight beam, light rays — behind hero
   and section-dark areas. Line-art and low-fill so it reads as elegant
   atmosphere rather than clip-art, but bold enough to actually be seen.
   Always absolutely positioned inside an `overflow:hidden` ancestor and
   non-interactive (aria-hidden, pointer-events:none).
   ========================================================================== */
@keyframes bokehFloat { 0%, 100% { transform: translateY(0) scale(1); opacity: var(--bokeh-op, .65); } 50% { transform: translateY(-18px) scale(1.1); opacity: calc(var(--bokeh-op, .65) * .55); } }
.bokeh {
  position: absolute; border-radius: 50%; pointer-events: none; filter: blur(.5px);
  background: radial-gradient(circle at 35% 32%, rgba(255,255,255,.98), var(--bokeh-color, var(--bvp-gold-pale)) 45%, transparent 76%);
  box-shadow: 0 0 34px 9px var(--bokeh-glow, rgba(214,167,72,.38));
  animation: bokehFloat 9s ease-in-out infinite; animation-delay: var(--bokeh-delay, 0s);
  opacity: var(--bokeh-op, .65);
}

.lens-ring { position: absolute; border-radius: 50%; border: 1.5px solid rgba(19,16,24,.14); pointer-events: none; animation: spinSlow 50s linear infinite; color: rgba(19,16,24,.5); }
.lens-ring::before { content: ''; position: absolute; inset: 13%; border-radius: 50%; border: 1px solid rgba(19,16,24,.1); }
.lens-ring::after { content: ''; position: absolute; inset: 27%; border-radius: 50%; border: 1px solid rgba(19,16,24,.08); }
.lens-ring.on-dark { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.5); }
.lens-ring.on-dark::before { border-color: rgba(255,255,255,.13); }
.lens-ring.on-dark::after { border-color: rgba(255,255,255,.1); }

/* line-art camera aperture mark — the <symbol> lives once in layout_top.php,
   every page reuses it via <svg><use>. currentColor so it tints per-section. */
.aperture-mark { position: absolute; pointer-events: none; color: rgba(19,16,24,.16); animation: spinSlow 70s linear infinite reverse; }
.aperture-mark.on-dark { color: rgba(255,255,255,.2); }
.aperture-mark svg { display: block; width: 100%; height: 100%; }

.light-rays {
  position: absolute; inset: -20% -10%; pointer-events: none; opacity: .6; mix-blend-mode: multiply;
  background: repeating-linear-gradient(102deg, rgba(255,205,110,.2) 0px, rgba(255,205,110,.2) 2px, transparent 2px, transparent 60px);
}
.light-rays.on-dark { opacity: .5; mix-blend-mode: screen; background: repeating-linear-gradient(102deg, rgba(255,255,255,.07) 0px, rgba(255,255,255,.07) 2px, transparent 2px, transparent 60px); }

/* spotlight / projector-beam cone — a bright wedge sweeping from a corner */
@keyframes conePulse { 0%, 100% { opacity: .55; } 50% { opacity: .85; } }
.light-cone {
  position: absolute; pointer-events: none; mix-blend-mode: multiply; filter: blur(16px);
  width: var(--cone-size, 70vw); height: var(--cone-size, 70vw);
  top: var(--cone-y, -15%); left: var(--cone-x, -10%);
  background: conic-gradient(from var(--cone-angle, 120deg) at 30% 10%, transparent 0deg, var(--cone-color, rgba(255,205,110,.55)) 8deg, transparent 26deg);
  animation: conePulse 6s ease-in-out infinite;
}
.light-cone.on-dark { mix-blend-mode: screen; }

/* ---------- screenplay-style dialogue card ---------- */
@keyframes slateBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: .25; } }
.script-card { background: var(--bvp-black); color: var(--bvp-cream); border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius-lg); padding: 38px 42px; position: relative; overflow: hidden; box-shadow: var(--shadow-lg); }
@media (max-width: 640px) { .script-card { padding: 28px 24px; } }
.script-slate { font-family: 'JetBrains Mono', monospace; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bvp-gold-light); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.script-slate .script-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bvp-magenta-light); animation: slateBlink 1.6s steps(1) infinite; flex-shrink: 0; }
.script-line { font-family: 'JetBrains Mono', monospace; font-size: clamp(1.05rem, 2.2vw, 1.4rem); line-height: 1.65; color: var(--bvp-cream); margin: 0; }
.script-line .char { display: block; color: var(--bvp-gold-light); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .85em; margin-bottom: 6px; }

/* ---------- opportunities hub grid ---------- */
.hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.hub-tile {
  position: relative; display: flex; flex-direction: column; gap: 14px; padding: 32px 26px;
  border-radius: var(--radius-lg); border: 1.5px solid var(--bvp-line); background: var(--bvp-paper);
  text-decoration: none; color: inherit; overflow: hidden; transition: transform var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast), border-color var(--speed-fast);
}
.hub-tile::before { content: ''; position: absolute; inset: 0; background: var(--hub-accent, var(--bloom-gradient)); opacity: 0; transition: opacity var(--speed) var(--ease); z-index: 0; }
.hub-tile:hover::before { opacity: 1; }
.hub-tile:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }
.hub-tile > * { position: relative; z-index: 1; }
.hub-tile:hover .hub-tag, .hub-tile:hover h3, .hub-tile:hover p, .hub-tile:hover .hub-arrow { color: #fff; }
.hub-icon { width: 52px; height: 52px; border-radius: 14px; background: var(--hub-accent, var(--bloom-gradient)); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.25rem; transition: background var(--speed); flex-shrink: 0; }
.hub-tile:hover .hub-icon { background: rgba(255,255,255,.22); }
.hub-tag { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bvp-magenta-deep); transition: color var(--speed); }
.hub-tile h3 { margin: 0; font-size: 1.25rem; }
.hub-tile p { margin: 0; font-size: .9rem; color: var(--bvp-ink-muted); transition: color var(--speed); }
.hub-arrow { margin-top: auto; align-self: flex-end; opacity: .4; transition: opacity var(--speed-fast), transform var(--speed-fast), color var(--speed); }
.hub-tile:hover .hub-arrow { opacity: 1; transform: translate(4px,-4px); }
.hub-badge { position: absolute; top: 18px; right: 18px; z-index: 2; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; background: var(--gold-gradient); color: #241a06; }

/* ==========================================================================
   LANGUAGE GATE — the "before the film starts" language picker.
   Invisible and non-interactive by default (graceful no-JS fallback: real
   page content underneath is always there); a tiny inline script right
   after the markup adds html.lang-gate-active synchronously, before first
   paint, if no language is saved yet. Stays in the light palette — no dark
   theme, just bolder line-art versions of the site's own camera/light marks.
   ========================================================================== */
.lang-gate {
  position: fixed; inset: 0; z-index: 9000; background: var(--bvp-cream);
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity .5s var(--ease-out), visibility 0s .5s;
}
html.lang-gate-active .lang-gate { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .5s var(--ease-out); }
html.lang-gate-active body { overflow: hidden; }
.lang-gate-deco { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
/* min-height (not height) + its own centering: when the 8 language tiles +
   copy fit the viewport this centers vertically same as before, but when
   they don't (short phones, a11y zoom), the box grows past 100% and
   content stacks from the real top instead of being symmetrically
   clipped top-and-bottom by a flex-centered *scroll container* — that
   clipping (silently losing the top logo + bottom footnote, unreachable
   by scrolling either way) was the actual "gate not fixed on mobile" bug. */
.lang-gate-inner {
  position: relative; z-index: 1; max-width: 760px; width: 100%; margin: 0 auto; text-align: center;
  min-height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 40px 20px;
}
.lang-gate-logo { display: block; width: 84px; margin: 0 auto 22px; opacity: .95; }
.lang-gate-logo img { width: 100%; }
.lang-gate .script-card { text-align: left; max-width: 540px; margin: 0 auto 36px; }
.lang-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 720px) { .lang-grid { grid-template-columns: repeat(2, 1fr); } }
.lang-tile {
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 12px;
  border-radius: var(--radius-lg); border: 1.5px solid var(--bvp-line); background: var(--bvp-paper);
  cursor: pointer; font-family: var(--font-body); transition: all var(--speed-fast) var(--ease-out); position: relative; overflow: hidden;
}
.lang-tile::before { content: ''; position: absolute; inset: 0; background: var(--bloom-gradient); opacity: 0; transition: opacity var(--speed); z-index: 0; }
.lang-tile:hover, .lang-tile:focus-visible { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: transparent; }
.lang-tile:hover::before, .lang-tile:focus-visible::before { opacity: 1; }
.lang-tile > * { position: relative; z-index: 1; }
.lang-tile .lang-native { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; color: var(--bvp-ink); transition: color var(--speed); }
.lang-tile .lang-en { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bvp-ink-faint); transition: color var(--speed); }
.lang-tile:hover .lang-native, .lang-tile:hover .lang-en, .lang-tile:focus-visible .lang-native, .lang-tile:focus-visible .lang-en { color: #fff; }
.lang-gate-foot { margin-top: 34px; font-size: .8rem; color: var(--bvp-ink-faint); }

/* nav language switcher */
.lang-switch {
  display: none; align-items: center; gap: 7px; padding: 10px 14px; border-radius: 999px;
  border: 1.5px solid var(--bvp-line); background: transparent; color: var(--bvp-ink-muted);
  font-size: .82rem; font-weight: 700; cursor: pointer; transition: all var(--speed-fast); margin-left: 10px;
}
.lang-switch:hover { border-color: var(--bvp-ink); color: var(--bvp-ink); }
@media (min-width: 1180px) { .lang-switch { display: inline-flex; } }
.mobile-menu .lang-switch { display: inline-flex; border-color: #332c39; color: var(--bvp-cream); margin: 0; }

/* ==========================================================================
   REEL INDEX — the "what we make" showcase. Three film-can labels, not a
   strip: each one a self-contained dark card sized by its own content
   (never by aspect-ratio, which is what silently collapsed the previous
   filmstrip version to a few pixels tall in a mobile column layout — grid
   + content-driven height is the deliberately boring, deliberately robust
   choice here). Kept as contained dark objects inside an otherwise light
   section, matching the site's one-dark-object-in-a-light-section rule.
   ========================================================================== */
.reel-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 860px) { .reel-index { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }
.reel-card {
  position: relative; overflow: hidden; border-radius: var(--radius-lg); padding: 36px 30px 30px;
  background: var(--bvp-black); color: var(--bvp-cream); box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.09);
}
.reel-card::before { content: ''; position: absolute; inset: 0; opacity: .5; background: var(--reel-tint, var(--bloom-gradient)); }
.reel-card > * { position: relative; z-index: 1; }
.reel-card-num { font-family: 'JetBrains Mono', monospace; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.reel-card-icon {
  width: 54px; height: 54px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem; color: #fff; margin: 18px 0 20px;
}
.reel-card h3 { font-size: 1.6rem; margin: 0 0 12px; color: #fff; }
.reel-card p { color: rgba(246,241,238,.8); font-size: .94rem; margin: 0; }
.reel-card-tag { margin-top: 22px; font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.2rem; color: var(--bvp-gold-light); }

/* ==========================================================================
   MOOD BOARD — pinned, slightly-tilted cards, like index cards stuck to a
   corkboard. Used for the opportunities grid and other "browse these"
   moments that benefit from a looser, more tactile feel than a clean grid.
   ========================================================================== */
.moodboard-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px 18px; padding-top: 14px; }
@media (max-width: 1080px) { .moodboard-grid { grid-template-columns: repeat(3, 1fr); gap: 30px 20px; } }
@media (max-width: 640px) { .moodboard-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .moodboard-grid { grid-template-columns: 1fr; max-width: 320px; margin-left: auto; margin-right: auto; } }
.pin-card {
  position: relative; display: flex; flex-direction: column; gap: 10px; background: var(--bvp-paper);
  border: 1px solid var(--bvp-line); border-radius: 8px; padding: 24px 18px 20px; text-decoration: none; color: inherit;
  box-shadow: var(--shadow-md); transform: rotate(var(--tilt, -1.4deg));
  transition: transform var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast);
}
.pin-card:hover { transform: rotate(0deg) translateY(-6px); box-shadow: var(--shadow-lg); }
.pin-card::before {
  content: ''; position: absolute; top: -11px; left: 50%; transform: translateX(-50%); width: 17px; height: 17px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #fff, var(--pin-color, var(--bvp-magenta)) 55%, var(--pin-color-deep, var(--bvp-magenta-deep)));
  box-shadow: 0 3px 7px rgba(13,11,16,.3);
}
.pin-card .pin-label { font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.4rem; line-height: 1; color: var(--pin-color-deep, var(--bvp-magenta-deep)); transform: rotate(-1.5deg); display: block; }
.pin-card h3 { margin: 0; font-size: 1.15rem; }
.pin-card p { margin: 0; font-size: .88rem; color: var(--bvp-ink-muted); }
.pin-card .pin-badge { position: absolute; top: 14px; right: 14px; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--gold-gradient); color: #241a06; }
.pin-card .pin-arrow { margin-top: auto; align-self: flex-end; opacity: .4; transition: opacity var(--speed-fast), transform var(--speed-fast); }
.pin-card:hover .pin-arrow { opacity: 1; transform: translate(4px,-4px); }

/* ==========================================================================
   REDACTED CARD — the "in development, can't show you yet" project teaser.
   Styled like a classified script cover: blacked-out title bars, a rubber
   stamp, one real sentence you get to read. Used when the slate has no
   published projects yet so the section still feels alive, not empty.
   ========================================================================== */
.redacted-card { position: relative; background: var(--bvp-black); color: var(--bvp-cream); border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius-lg); padding: 30px 28px; overflow: hidden; box-shadow: var(--shadow-md); }
.redacted-stamp { position: absolute; top: 22px; right: -36px; background: var(--bvp-magenta); color: #fff; font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; padding: 6px 42px; transform: rotate(35deg); box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.redacted-bar { height: 1.05em; background: rgba(255,255,255,.2); border-radius: 3px; margin-bottom: 9px; }
.redacted-card .teaser { color: rgba(246,241,238,.72); font-size: .92rem; margin: 16px 0 0; }
.redacted-card .chip { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: rgba(246,241,238,.85); }
.redacted-card .chip i { color: var(--bvp-gold-light); }
.redacted-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 760px; }
@media (max-width: 640px) { .redacted-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   HOMEPAGE — COSMIC CINEMA. Scoped to .cosmic-home so all application and
   content pages keep the established studio UI.
   ========================================================================== */
.cosmic-home { background:#070b18; color:#f4f0e9; --bvp-ink:#f4f0e9; --bvp-ink-muted:#b9bdd0; --bvp-line:rgba(231,236,255,.15); --bvp-cream:#070b18; --bvp-paper:#10172b; }
.cosmic-home .site-nav { background:linear-gradient(180deg,rgba(4,7,18,.78),transparent); }
.cosmic-home .site-header.is-scrolled .site-nav { background:rgba(7,11,24,.86); box-shadow:0 8px 28px rgba(0,0,0,.25); }
.cosmic-home .site-nav .brand-word,.cosmic-home .nav-links a,.cosmic-home .lang-switch { color:#f4f0e9; }
.cosmic-home .nav-links a:hover,.cosmic-home .nav-links a.active { background:rgba(255,255,255,.08); color:#fff; }
.cosmic-home .nav-toggle { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2); color:#fff; }
.cosmic-home .top-strip { background:#121b35; border-bottom:1px solid rgba(255,255,255,.09); }
.cosmic-home .top-strip:hover { background:#182344; }
.cosmic-home .site-footer { background:#03050d; }
.cosmic-home .allied-band { background:#0c1122; color:#f4f0e9; }
.cosmic-home .allied-line { color:#b9bdd0; }
.cosmic-home .btn-secondary { border-color:rgba(255,255,255,.45); color:#fff; }
.cosmic-home .btn-secondary:hover { background:#fff; color:#070b18; }
.cosmic-home .bloom-cursor { background:#8ea4ff; }

.cosmic-hero,.cosmic-closing { position:relative; isolation:isolate; overflow:hidden; background:#070b18; color:#f4f0e9; }
.cosmic-hero { min-height:max(740px,100svh); display:flex; align-items:center; padding:150px 0 100px; }
.cosmic-sky { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.star-field { position:absolute; inset:0; background-image:radial-gradient(circle at 9% 22%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 16% 72%,#9baaff 0 1px,transparent 1.7px),radial-gradient(circle at 27% 45%,#fff 0 1.4px,transparent 2px),radial-gradient(circle at 41% 12%,#fff 0 1px,transparent 1.8px),radial-gradient(circle at 56% 74%,#dfe5ff 0 1px,transparent 1.8px),radial-gradient(circle at 73% 17%,#fff 0 1.3px,transparent 2px),radial-gradient(circle at 87% 63%,#bbc7ff 0 1px,transparent 1.7px),radial-gradient(circle at 93% 31%,#fff 0 1px,transparent 1.7px); background-size:230px 230px; opacity:.78; }
.star-field-two { background-size:310px 310px; background-position:80px 40px; opacity:.36; transform:rotate(9deg) scale(1.1); }
.nebula { position:absolute; width:60vw; aspect-ratio:1; border-radius:50%; filter:blur(35px); opacity:.55; }
.nebula-one { left:-26vw; top:7%; background:radial-gradient(circle,#5d3da5 0,rgba(47,47,132,.55) 28%,transparent 67%); }
.nebula-two { right:-25vw; bottom:-35%; background:radial-gradient(circle,#cf665f 0,rgba(111,46,119,.47) 28%,transparent 68%); }
.orbit { position:absolute; border:1px solid rgba(210,219,255,.16); border-radius:50%; transform:rotate(-24deg); }
.orbit-one { width:86vw; height:32vw; right:-21vw; top:19%; }
.orbit-two { width:67vw; height:22vw; right:-13vw; top:33%; border-color:rgba(238,190,129,.18); }

.hero-planet { width:clamp(260px,35vw,550px); aspect-ratio:1; position:absolute; right:7%; top:18%; border-radius:50%; background:radial-gradient(circle at 30% 27%,#ffd4af 0 1%,#d38382 10%,#815487 33%,#27265c 63%,#090c20 73%); box-shadow:-18px 18px 45px rgba(84,65,177,.3),inset -42px -12px 42px rgba(1,3,15,.75); transform:rotate(-18deg); }
.hero-planet:after { content:''; position:absolute; width:150%; height:24%; left:-27%; top:44%; border:1px solid rgba(234,188,162,.38); border-radius:50%; transform:rotate(-18deg); box-shadow:0 0 12px rgba(237,180,156,.2); }
.hero-planet i { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 67% 45%,transparent 0 7%,rgba(255,182,157,.3) 8% 9%,transparent 10%),radial-gradient(circle at 47% 72%,rgba(9,10,31,.25) 0 5%,transparent 6%); }

.cosmic-hero-inner { position:relative; }
.cosmic-kicker,.cosmic-overline,.cosmic-label,.hero-coordinates,.constellation-note,.pathway-tag,.orbit-project p,.live-role small { font-family:var(--font-mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; }
.cosmic-kicker { display:flex; align-items:center; gap:10px; color:#bec9ff; margin-bottom:44px; }
.signal-dot,.live-dot { width:8px; height:8px; display:inline-block; border-radius:50%; background:#ff8f9d; box-shadow:0 0 0 5px rgba(255,143,157,.12),0 0 16px #ff8f9d; animation:signal-pulse 2s infinite; }
.cosmic-overline { color:#d5b983; margin-bottom:17px; }
.cosmic-overline span { color:#7780ab; margin:0 7px; }
.cosmic-title { max-width:760px; margin:0; font-family:var(--font-display); font-size:clamp(4rem,9.5vw,9rem); font-weight:600; line-height:.84; letter-spacing:-.075em; }
.cosmic-title span,.cosmic-title em { display:block; }
.cosmic-title em { font-family:Georgia,serif; font-weight:400; color:#e4bd9c; padding-left:clamp(22px,7vw,100px); }
.cosmic-intro { max-width:510px; font-size:1.1rem; line-height:1.72; color:#c1c4d4; margin:36px 0 30px; }
.cosmic-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }
.cosmic-btn-primary { background:linear-gradient(135deg,#f4d49d,#d38984); color:#161225; border:0; box-shadow:0 12px 28px rgba(198,117,130,.22); }
.cosmic-btn-primary:hover { background:#fff0cc; box-shadow:0 16px 35px rgba(198,117,130,.35); }
.cosmic-text-link { color:#f4f0e9; display:inline-flex; gap:10px; text-decoration:none; align-items:center; font-weight:700; border-bottom:1px solid rgba(244,240,233,.36); padding-bottom:5px; transition:color .2s,border-color .2s; }
.cosmic-text-link:hover { color:#e9bc9b; border-color:#e9bc9b; }
.hero-coordinates { display:flex; gap:25px; flex-wrap:wrap; color:#8088a8; margin-top:72px; }
.cosmic-scroll { position:absolute; bottom:26px; left:50%; transform:translateX(-50%); color:#aab0c8; text-decoration:none; font:600 .62rem var(--font-mono); letter-spacing:.16em; display:grid; justify-items:center; gap:12px; }
.cosmic-scroll i { width:1px; height:36px; background:linear-gradient(#e4bd9c,transparent); }

.signal-band { background:#e6bd9b; color:#18152b; padding:27px 0; }
.signal-band p { font-family:var(--font-display); font-size:clamp(1.1rem,2vw,1.5rem); font-weight:600; line-height:1.35; margin:0; max-width:1080px; }
.signal-band span { font:700 .65rem var(--font-mono); letter-spacing:.13em; vertical-align:middle; margin-right:35px; }

.cosmic-section { padding:130px 0; background:#070b18; }
.cosmic-section:nth-of-type(even) { background:#0a1022; }
.cosmic-two-column { display:grid; grid-template-columns:1fr 3fr; gap:70px; }
.section-index { color:#59617f; font-family:var(--font-mono); }
.section-index span { display:block; font-size:3rem; letter-spacing:-.1em; }
.section-index small { letter-spacing:.14em; font-size:.63rem; }
.cosmic-label { color:#d5b983; margin:0 0 16px; }
.cosmic-heading { color:#f5f1e9; font:600 clamp(2.8rem,5.3vw,5.2rem)/.94 var(--font-display); letter-spacing:-.065em; margin:0; }
.manifesto-copy { max-width:650px; columns:2; column-gap:48px; color:#b9bdd0; line-height:1.75; margin:36px 0; }
.manifesto-copy p { margin-top:0; }
.format-heading,.pathway-top,.slate-header { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.format-lede,.pathway-top>p { max-width:310px; color:#b9bdd0; line-height:1.65; margin:0; }

.constellation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:62px; }
.constellation-card { position:relative; min-height:370px; border:1px solid rgba(229,232,255,.16); background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); padding:26px; overflow:hidden; transition:transform .35s,border-color .35s,background .35s; }
.constellation-card:hover { transform:translateY(-8px); border-color:rgba(232,194,155,.65); background:linear-gradient(145deg,rgba(126,101,180,.23),rgba(255,255,255,.03)); }
.constellation-card:after { content:''; position:absolute; width:200px; height:200px; border:1px solid rgba(218,180,147,.23); border-radius:50%; right:-100px; top:-100px; }
.constellation-number { color:#8992b5; font:600 .7rem var(--font-mono); letter-spacing:.13em; display:flex; align-items:center; gap:10px; }
.constellation-number span { height:1px; width:40px; background:#8992b5; }
.constellation-icon { color:#e7bc98; font-size:2.3rem; margin:84px 0 20px; }
.constellation-card h3,.pathway-card h3,.orbit-project h3,.live-role h3 { font:600 2rem/.95 var(--font-display); letter-spacing:-.055em; color:#f5f1e9; margin:0; }
.constellation-card p,.pathway-card p { color:#afb5cb; line-height:1.58; max-width:265px; }
.constellation-note { display:block; color:#8791b5; margin-top:30px; }

.cosmic-pathways { background:#0c1122!important; }
.pathway-top { margin-bottom:58px; }
.pathway-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:260px; gap:15px; }
.pathway-card { position:relative; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(229,232,255,.16); padding:27px; background:#101831; text-decoration:none; transition:transform .35s,background .35s; }
.pathway-card:hover { transform:translateY(-6px); background:#172243; }
.pathway-feature { grid-row:span 2; background:linear-gradient(155deg,#25325a,#241a48 55%,#342243); }
.pathway-orb { position:absolute; width:290px; aspect-ratio:1; right:-83px; bottom:-78px; border-radius:50%; background:radial-gradient(circle at 35% 31%,#ffe3c4,#ba7d9c 18%,#5b4ca0 42%,#161b45 68%); box-shadow:0 0 35px rgba(157,113,198,.4); }
.pathway-feature h3 { font-size:clamp(2.6rem,4vw,4.5rem); position:relative; margin-top:48px; }
.pathway-card h3 { margin-top:33px; }
.pathway-card p { position:relative; font-size:.93rem; }
.pathway-tag { position:relative; color:#e7bc98; }
.pathway-action { position:relative; color:#fff; font-weight:700; margin-top:auto; display:flex; align-items:center; gap:10px; }
.pathway-action i { transition:transform .25s; }
.pathway-card:hover .pathway-action i { transform:translateX(5px); }

.cosmic-slate { background:#070b18!important; }
.project-orbit { margin-top:56px; border-top:1px solid rgba(229,232,255,.14); }
.orbit-project { display:grid; grid-template-columns:55px 128px 1fr 25px; align-items:center; gap:26px; min-height:176px; border-bottom:1px solid rgba(229,232,255,.14); text-decoration:none; color:#f5f1e9; transition:padding .25s,background .25s; }
.orbit-project:hover { padding-left:16px; background:rgba(255,255,255,.035); }
.orbit-project-no { color:#777f9d; font:500 .8rem var(--font-mono); }
.orbit-project-art { width:92px; height:118px; overflow:hidden; background:#161d39; position:relative; }
.orbit-project-art img { width:100%; height:100%; object-fit:cover; }
.art-planet { width:115px; height:115px; display:block; position:absolute; left:15px; top:15px; border-radius:50%; background:radial-gradient(circle at 30% 30%,#e7cbad,#bf7f90 16%,#5d4c9d 46%,#12162e 71%); }
.art-planet-alt { background:radial-gradient(circle at 28% 28%,#b5d7e6,#6778b7 27%,#333263 53%,#111429 70%); }
.orbit-project p { margin:0 0 9px; color:#d5b983; }
.orbit-project h3 { font-size:1.75rem; margin-bottom:8px; }
.orbit-project div span { color:#aeb4c7; font-size:.92rem; }
.orbit-project>i { color:#d5b983; }
.project-orbit-empty .orbit-project { cursor:default; }

.cosmic-casting-live { background:#111a34!important; }
.cosmic-casting-live .container { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:center; }
.casting-live-title .btn { margin-top:35px; }
.live-role-list { border-top:1px solid rgba(229,232,255,.18); }
.live-role { display:grid; grid-template-columns:20px 1fr auto 20px; gap:15px; align-items:center; border-bottom:1px solid rgba(229,232,255,.18); padding:24px 0; color:#fff; text-decoration:none; }
.live-role small { color:#d5b983; }
.live-role h3 { font-size:1.5rem; margin-top:5px; }
.live-role>span { color:#aeb4c7; font-size:.82rem; }
.live-role>i { color:#d5b983; }

.cosmic-closing { padding:150px 0; text-align:center; }
.closing-sky { opacity:.7; }
.closing-planet { position:absolute; width:min(72vw,800px); aspect-ratio:1; border-radius:50%; left:50%; bottom:-73%; transform:translateX(-50%); background:radial-gradient(circle at 50% 18%,#5d66a8,#35325d 25%,#10142d 67%); box-shadow:0 -20px 85px rgba(89,84,169,.42); }
.cosmic-closing .container { max-width:780px; }
.cosmic-closing h2 { color:#f5f1e9; font:600 clamp(3.5rem,7vw,7rem)/.88 var(--font-display); letter-spacing:-.07em; margin:0; }
.closing-copy { max-width:530px; margin:30px auto; line-height:1.7; color:#c3c7d8; }

@keyframes signal-pulse {
  50% {
    opacity:.5;
    box-shadow:0 0 0 8px rgba(255,143,157,.03),0 0 22px #ff8f9d;
  }
}

@media (max-width:800px) {
  .cosmic-hero { padding-top:150px; min-height:780px; align-items:flex-start; }
  .hero-planet { top:auto; bottom:15%; right:-17%; width:340px; opacity:.65; }
  .cosmic-title { font-size:clamp(3.6rem,15vw,6.3rem); }
  .cosmic-hero-inner { z-index:1; }
  .cosmic-two-column,.cosmic-casting-live .container { grid-template-columns:1fr; gap:40px; }
  .manifesto-copy { columns:1; }
  .constellation-grid { grid-template-columns:1fr; }
  .constellation-card { min-height:280px; }
  .constellation-icon { margin:48px 0 16px; }
  .format-heading,.pathway-top,.slate-header { align-items:start; flex-direction:column; }
  .pathway-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .pathway-card,.pathway-feature { min-height:280px; grid-row:auto; }
  .orbit-project { grid-template-columns:31px 84px 1fr; gap:14px; min-height:148px; }
  .orbit-project-art { width:72px; height:96px; }
  .orbit-project>i { display:none; }
  .orbit-project h3 { font-size:1.4rem; }
  .orbit-project div span { font-size:.8rem; }
  .live-role { grid-template-columns:15px 1fr 16px; }
  .live-role>span { display:none; }
  .cosmic-section { padding:86px 0; }
  .signal-band p span { display:block; margin:0 0 10px; }
  .hero-coordinates { margin-top:48px; gap:14px; }
  .cosmic-scroll { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .signal-dot,.live-dot { animation:none; }
  .constellation-card,.pathway-card,.orbit-project { transition:none; }
}


/* ==========================================================================
   BVP HOMEPAGE v2 — "THE STORY BEGINS"
   Light-only cinematic editorial system. The homepage uses CSS-built props
   (lens, reel, clapper, script, chair) instead of stock imagery so the
   visual identity remains owned, tactile and fast.
   ========================================================================== */

.story-home {
  --story-ink:#17131a;
  --story-muted:#6d6670;
  --story-paper:#fffdf9;
  --story-paper-2:#f7f0e8;
  --story-white:#ffffff;
  --story-line:#ded4cb;
  --story-gold:#b4863d;
  --story-gold-soft:#e5c78f;
  --story-pink:#c93c75;
  --story-pink-soft:#f3d8e2;
  --story-plum:#6d3657;
  --story-shadow:0 24px 70px rgba(47,30,31,.13);
  --story-shadow-soft:0 12px 34px rgba(47,30,31,.09);
  background:var(--story-paper);
  color:var(--story-ink);
}

.story-home .top-strip {
  background:#fff8f1;
  color:var(--story-ink);
  border-bottom:1px solid var(--story-line);
}
.story-home .top-strip:hover { background:#fff1e6; }
.story-home .top-strip strong { color:var(--story-pink); }
.story-home .top-strip i.fa-clapperboard { color:var(--story-gold); }

.story-home .site-nav {
  background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(255,253,249,0));
}
.story-home .site-header.is-scrolled .site-nav {
  background:rgba(255,253,249,.92);
  box-shadow:0 8px 30px rgba(38,25,24,.07);
  backdrop-filter:blur(18px);
}
.story-home .site-nav .brand-word,
.story-home .nav-links a,
.story-home .lang-switch { color:var(--story-ink); }
.story-home .nav-links a:hover,
.story-home .nav-links a.active { background:#f4e9e1; color:var(--story-ink); }
.story-home .nav-toggle { background:#fff; border-color:#d8cec5; color:var(--story-ink); }
.story-home .btn-secondary { border-color:var(--story-ink); color:var(--story-ink); }
.story-home .btn-secondary:hover { background:var(--story-ink); color:#fff; }

/* ---------- HERO: a white editorial stage with floating physical props ---------- */
.story-hero {
  position:relative;
  min-height:100svh;
  padding:175px 0 86px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 40%,rgba(229,199,143,.28),transparent 27%),
    radial-gradient(circle at 88% 78%,rgba(201,60,117,.10),transparent 24%),
    linear-gradient(115deg,#fffdf9 0%,#fffaf5 52%,#f7eee8 100%);
}
.story-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.32;
  background-image:
    linear-gradient(rgba(23,19,26,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,19,26,.035) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to right,black,transparent 82%);
}
.story-hero-content { position:relative; z-index:4; }
.scene-tag {
  display:flex;
  align-items:center;
  gap:12px;
  color:#887e76;
  font:600 .66rem/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:38px;
}
.scene-tag span:first-child { color:var(--story-pink); }
.scene-tag i { width:42px; height:1px; background:var(--story-gold); }

.story-kicker {
  color:var(--story-gold);
  font:700 .72rem/1 'JetBrains Mono',monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 16px;
}
.story-title {
  max-width:850px;
  margin:0;
  font:600 clamp(4.2rem,8.4vw,8.6rem)/.84 var(--font-display);
  letter-spacing:-.075em;
  color:var(--story-ink);
}
.story-title span,
.story-title em,
.story-title strong { display:block; }
.story-title em {
  padding-left:clamp(28px,8vw,115px);
  font-family:Georgia,serif;
  font-weight:400;
  color:var(--story-pink);
}
.story-title strong {
  padding-left:clamp(7px,2vw,30px);
  font-weight:800;
  color:#8d6a3c;
}
.story-lede {
  max-width:560px;
  margin:34px 0 28px;
  color:var(--story-muted);
  font-size:1.08rem;
  line-height:1.75;
}
.story-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; }
.story-btn {
  background:var(--story-ink);
  color:#fff;
  border:0;
  box-shadow:0 12px 30px rgba(23,19,26,.16);
}
.story-btn:hover {
  background:var(--story-pink);
  color:#fff;
  box-shadow:0 16px 38px rgba(201,60,117,.22);
}
.story-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--story-ink);
  font-weight:750;
  text-decoration:none;
  border-bottom:1px solid #bdb1a8;
  padding-bottom:5px;
  transition:color .25s,border-color .25s,transform .25s;
}
.story-link:hover { color:var(--story-pink); border-color:var(--story-pink); transform:translateX(3px); }
.story-credit {
  display:flex;
  gap:25px;
  flex-wrap:wrap;
  margin-top:74px;
  color:#938981;
  font:600 .62rem/1 'JetBrains Mono',monospace;
  letter-spacing:.13em;
}

.story-page-corner {
  position:absolute;
  width:270px;
  height:270px;
  right:-120px;
  bottom:-130px;
  background:#fff;
  transform:rotate(45deg);
  box-shadow:-14px -12px 34px rgba(53,37,34,.08);
  z-index:3;
}
.story-page-corner:after {
  content:"";
  position:absolute;
  inset:30px;
  border:1px solid #e6ddd5;
}

/* ---------- CSS-built cinematic props ---------- */
.story-stage { position:absolute; inset:0; z-index:1; pointer-events:none; }
.story-spotlight {
  position:absolute;
  width:52vw;
  height:52vw;
  right:-9vw;
  top:3vh;
  opacity:.44;
  transform:rotate(-17deg);
  background:conic-gradient(from 204deg at 50% 100%,transparent 0 26%,rgba(255,225,169,.45) 27% 34%,transparent 35% 100%);
  filter:blur(1px);
}
.story-film-line {
  position:absolute;
  width:100vw;
  height:1px;
  right:-24vw;
  top:63%;
  background:linear-gradient(90deg,transparent,#c7a776 22%,rgba(201,60,117,.35) 67%,transparent);
  transform:rotate(-12deg);
  opacity:.55;
}
.story-prop { position:absolute; transform-style:preserve-3d; }
.story-clapper {
  right:5.5%;
  top:16%;
  width:min(32vw,390px);
  aspect-ratio:1.35;
  transform:rotate(8deg) perspective(900px) rotateY(-15deg);
  filter:drop-shadow(22px 28px 25px rgba(44,29,26,.16));
}
.clapper-top {
  position:absolute;
  top:0; left:3%; width:94%; height:21%;
  border-radius:9px 9px 3px 3px;
  background:repeating-linear-gradient(135deg,#231e22 0 24px,#fffdf9 24px 48px);
  border:1px solid #c8beb6;
  box-shadow:inset 0 -4px 8px rgba(0,0,0,.08);
  transform:skewX(-6deg);
}
.clapper-top span { display:none; }
.clapper-body {
  position:absolute;
  left:6%; right:6%; top:16%; bottom:0;
  padding:28px 24px;
  border-radius:6px 6px 10px 10px;
  background:linear-gradient(145deg,#2c272b,#141216);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.clapper-body b { display:block; font:700 .72rem 'JetBrains Mono',monospace; letter-spacing:.08em; }
.clapper-body small { display:block; margin-top:24px; font:500 .58rem 'JetBrains Mono',monospace; color:#c7a976; }
.clapper-body i { display:block; height:1px; background:rgba(255,255,255,.32); margin-top:28px; }
.story-reel {
  right:29%;
  bottom:7%;
  width:min(22vw,270px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,#f9f2e8 0 9%,#b48b58 10% 13%,#e2c99f 14% 18%,#a98355 19% 20%,transparent 21%),
    radial-gradient(circle,#e7d5b6 0 48%,#9c7649 49% 52%,#d4b37d 53% 60%,#8e6840 61% 63%,#e7d7bd 64% 100%);
  border:7px solid #c1a06d;
  box-shadow:inset -15px -20px 22px rgba(72,45,24,.24),20px 26px 34px rgba(46,31,28,.15);
  transform:rotate(-12deg);
}
.story-reel:before,
.story-reel:after {
  content:"";
  position:absolute;
  inset:14%;
  border:3px solid rgba(82,58,35,.3);
  border-radius:50%;
}
.story-reel:after { inset:24%; border-width:2px; }
.reel-core { position:absolute; width:16%; aspect-ratio:1; left:42%; top:42%; border-radius:50%; background:#7c5a37; box-shadow:inset 0 2px 5px rgba(0,0,0,.3); }
.reel-hole { position:absolute; width:14%; aspect-ratio:1; border-radius:50%; background:#fffaf1; border:2px solid #b48b58; }
.reel-hole.h1 { left:43%; top:19%; }.reel-hole.h2 { right:18%; top:40%; }.reel-hole.h3 { right:31%; bottom:18%; }.reel-hole.h4 { left:24%; bottom:21%; }.reel-hole.h5 { left:17%; top:39%; }

.story-lens {
  right:31%;
  top:28%;
  width:min(17vw,220px);
  aspect-ratio:1;
  border-radius:50%;
  background:linear-gradient(145deg,#ece4dc,#8e847d 38%,#3b3432 42%,#1e1b1d 76%,#c4b5a5);
  padding:16px;
  box-shadow:18px 25px 35px rgba(45,31,28,.22),inset -10px -12px 14px rgba(0,0,0,.24);
  transform:rotate(14deg);
}
.lens-ring { position:absolute; border-radius:50%; border:2px solid #bca991; inset:11%; box-shadow:inset 0 0 0 8px #5a514d; }
.lens-ring.ring-two { inset:20%; border-color:#302a2c; box-shadow:inset 0 0 0 4px #a99a8d; }
.lens-glass { position:absolute; inset:27%; border-radius:50%; background:radial-gradient(circle at 32% 25%,#fff 0 4%,#d8bfd1 5% 9%,#4d5b77 28%,#182132 57%,#070b11 72%); box-shadow:inset 10px 8px 18px rgba(255,255,255,.16); }
.lens-glass span { position:absolute; width:25%; height:8%; background:rgba(255,255,255,.7); transform:rotate(-32deg); top:19%; left:23%; border-radius:50%; filter:blur(2px); }
.story-lens small { position:absolute; left:50%; bottom:-28px; transform:translateX(-50%); white-space:nowrap; color:#786c62; font:600 .55rem 'JetBrains Mono',monospace; letter-spacing:.1em; text-align:center; }
.story-dust { position:absolute; width:8px; height:8px; border-radius:50%; background:#d7a67d; box-shadow:0 0 14px rgba(215,166,125,.55); animation:story-float 5s ease-in-out infinite; }
.dust-a { right:28%; top:24%; }.dust-b { right:15%; top:56%; width:5px;height:5px;animation-delay:-1.6s; }.dust-c { right:43%; top:15%; width:4px;height:4px;animation-delay:-3s; }
@keyframes story-float { 50% { transform:translate3d(8px,-14px,0); opacity:.55; } }

/* ---------- screenplay ---------- */
.screenplay-intro {
  position:relative;
  padding:125px 0 145px;
  background:#f4e9df;
  overflow:hidden;
}
.screenplay-intro:before {
  content:"";
  position:absolute;
  width:55vw; height:55vw;
  border:1px solid rgba(180,134,61,.25);
  border-radius:50%;
  right:-35vw; top:10%;
}
.screenplay-intro .container {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(55px,8vw,125px);
  align-items:center;
}
.screenplay-sheet {
  position:relative;
  padding:50px 54px 38px;
  min-height:590px;
  background:#fffefb;
  color:#2a2528;
  box-shadow:var(--story-shadow);
  transform:rotate(-2deg);
}
.screenplay-sheet:before,
.screenplay-sheet:after {
  content:"";
  position:absolute;
  width:38px; height:38px;
  border-radius:50%;
  background:#eee4db;
  top:26px;
}
.screenplay-sheet:before { left:-19px; }.screenplay-sheet:after { right:-19px; }
.sheet-head,.sheet-footer {
  display:flex; justify-content:space-between; gap:15px;
  color:#958a82;
  font:600 .57rem 'JetBrains Mono',monospace;
  letter-spacing:.11em;
}
.script-rule { height:1px; background:#d9cec4; margin:17px 0 52px; }
.script-body { max-width:580px; }
.script-slug {
  font:700 .82rem 'JetBrains Mono',monospace;
  letter-spacing:.04em;
  color:#2d2729;
  margin-bottom:35px;
}
.script-action {
  max-width:500px;
  font:400 1.02rem/1.75 Georgia,serif;
  color:#5e5654;
}
.script-dialogue {
  margin:46px auto;
  max-width:390px;
  font:400 1.15rem/1.6 Georgia,serif;
  color:#332c2d;
}
.script-dialogue span { display:block; margin-bottom:10px; font:700 .62rem 'JetBrains Mono',monospace; letter-spacing:.14em; color:var(--story-pink); }
.sheet-footer { position:absolute; left:54px; right:54px; bottom:34px; }

.story-intro-copy { padding-top:5px; }
.story-eyebrow {
  margin:0 0 18px;
  color:var(--story-pink);
  font:700 .68rem/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
}
.story-intro-copy h2,
.scene-heading h2,
.casting-copy h2,
.invitation-inner h2 {
  margin:0;
  color:var(--story-ink);
  font:650 clamp(2.8rem,5.3vw,5.2rem)/.93 var(--font-display);
  letter-spacing:-.065em;
}
.story-intro-copy h2 em,
.scene-heading h2 em,
.invitation-inner h2 em { font-family:Georgia,serif; font-weight:400; color:var(--story-pink); }
.story-intro-copy>p:not(.story-eyebrow) { max-width:520px; margin:30px 0; color:var(--story-muted); font-size:1.03rem; line-height:1.8; }

/* ---------- craft board ---------- */
.craft-section { padding:135px 0; background:#fffdf9; }
.scene-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; }
.scene-heading>p { max-width:360px; margin:0; color:var(--story-muted); line-height:1.75; }
.craft-board {
  display:grid;
  grid-template-columns:1.15fr .9fr .9fr;
  gap:16px;
  margin-top:64px;
  perspective:1200px;
}
.craft-card {
  min-height:480px;
  position:relative;
  overflow:hidden;
  padding:30px;
  border:1px solid var(--story-line);
  background:#fff;
  box-shadow:var(--story-shadow-soft);
  transform-style:preserve-3d;
  transition:transform .45s var(--ease),box-shadow .45s;
}
.craft-card:hover { transform:translateY(-10px) rotateX(1deg) rotateY(-1deg); box-shadow:var(--story-shadow); }
.craft-card-large { background:linear-gradient(145deg,#fff,#f9edf1); }
.craft-card-paper { transform:rotate(1.2deg); background:#fffdf7; }
.craft-card-reel { transform:rotate(-1.2deg); background:linear-gradient(145deg,#fbf7f0,#f1e7da); }
.craft-no { font:600 .66rem 'JetBrains Mono',monospace; color:#a09790; letter-spacing:.13em; }
.craft-type { margin:38px 0 12px; color:var(--story-pink); font:700 .61rem 'JetBrains Mono',monospace; letter-spacing:.14em; }
.craft-card h3 { margin:0 0 20px; color:var(--story-ink); font:650 clamp(2rem,3vw,3rem)/.92 var(--font-display); letter-spacing:-.06em; }
.craft-card>p:not(.craft-type) { max-width:300px; color:var(--story-muted); line-height:1.7; }
.craft-line { position:absolute; bottom:28px; left:30px; color:#998c82; font:600 .59rem 'JetBrains Mono',monospace; letter-spacing:.11em; }
.mini-camera {
  position:absolute; right:12%; top:18%; width:150px; height:100px;
  background:linear-gradient(145deg,#383337,#171417);
  border-radius:13px;
  transform:rotate(-7deg) translateZ(35px);
  box-shadow:12px 18px 24px rgba(38,25,26,.18);
}
.mini-camera:before { content:""; position:absolute; width:75px;height:75px; border-radius:50%; left:-38px; top:13px; background:radial-gradient(circle,#f6d7dd 0 7%,#b55d7e 8% 18%,#3e4b60 30%,#171b27 60%); border:7px solid #9d928b; }
.mini-camera:after { content:""; position:absolute; width:55px;height:22px; right:18px; top:-16px; background:#282327; transform:skew(-18deg); border-radius:4px; }
.mini-camera div { position:absolute; width:35px;height:20px; right:18px; bottom:16px; background:#81736e; border-radius:3px; }
.mini-script {
  position:absolute; right:9%; top:18%; width:150px; height:190px; background:#fff; border:1px solid #ddd2c8;
  padding:25px 20px; transform:rotate(8deg) translateZ(30px); box-shadow:12px 18px 24px rgba(38,25,26,.11);
}
.mini-script:after { content:""; position:absolute; left:20px; right:20px; bottom:25px; height:2px; background:#e3d9d1; box-shadow:0 -12px #e3d9d1,0 -24px #e3d9d1,0 -36px #e3d9d1,0 -48px #e3d9d1; }
.mini-script i { display:block; width:18px;height:18px;border-radius:50%;background:#c93c75;margin-bottom:8px;opacity:.7; }
.mini-script b { position:absolute; bottom:18px; left:20px; font:700 .5rem 'JetBrains Mono',monospace; color:#8b7d73; }
.mini-reel {
  position:absolute; right:12%; top:17%; width:175px;height:175px;border-radius:50%;
  background:radial-gradient(circle,#fff9ef 0 10%,#9d7747 11% 15%,#ead9be 16% 49%,#b18b59 50% 54%,#eee2cf 55% 100%);
  border:5px solid #b08a59; transform:rotate(-15deg) translateZ(28px); box-shadow:12px 18px 25px rgba(38,25,26,.13);
}
.mini-reel:after { content:""; position:absolute; inset:25%; border:2px solid #8e6b42; border-radius:50%; }
.mini-reel span { position:absolute; inset:43%; border-radius:50%; background:#80603c; }
.mini-reel i { position:absolute; width:17%; aspect-ratio:1; border-radius:50%; background:#fffdf8; border:2px solid #b18a58; }
.mini-reel i:nth-of-type(1){left:41%;top:16%;}.mini-reel i:nth-of-type(2){right:17%;top:39%;}.mini-reel i:nth-of-type(3){right:29%;bottom:16%;}.mini-reel i:nth-of-type(4){left:18%;bottom:19%;}

/* ---------- slate / film strip ---------- */
.slate-section { padding:130px 0; background:#f7efe8; }
.slate-heading { align-items:end; }
.film-strip {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:64px;
  padding:27px 0;
  background:#242024;
  box-shadow:var(--story-shadow);
}
.film-strip:before,.film-strip:after {
  content:"";
  position:absolute; left:0; right:0; height:15px;
  background:repeating-linear-gradient(90deg,#f4e9df 0 24px,transparent 24px 48px);
  opacity:.9;
}
.film-strip:before { top:0; }.film-strip:after { bottom:0; }
.film-card {
  position:relative;
  padding:27px 25px 33px;
  color:#fff;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.13);
}
.film-card:last-child { border-right:0; }
.film-frame { position:relative; aspect-ratio:4/5; overflow:hidden; background:#cbb3a2; border:8px solid #141216; box-shadow:0 0 0 1px rgba(255,255,255,.16); }
.film-frame img { width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }
.film-card:hover .film-frame img { transform:scale(1.06); }
.film-frame-overlay { position:absolute; inset:0; display:flex; justify-content:space-between; align-items:flex-end; padding:14px; background:linear-gradient(transparent 60%,rgba(0,0,0,.55)); opacity:0; transition:opacity .3s; }
.film-card:hover .film-frame-overlay { opacity:1; }
.film-frame-overlay span { font:700 .6rem 'JetBrains Mono',monospace; }
.film-frame-overlay i { color:#f0c9a7; }
.film-placeholder { width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,#e5bd9d,#9b617b 26%,#4d3a55 58%,#1d2436); }
.film-placeholder-two { background:radial-gradient(circle at 25% 25%,#f2d6b4,#b18a68 24%,#68708d 60%,#292a42); }
.film-placeholder span { color:rgba(255,255,255,.7); font:700 .65rem 'JetBrains Mono',monospace; letter-spacing:.14em; }
.film-caption { padding:23px 2px 0; }
.film-caption>span { color:#d6b17d; font:600 .58rem 'JetBrains Mono',monospace; letter-spacing:.1em; }
.film-caption h3 { margin:10px 0 7px; color:#fff; font:650 1.75rem/.95 var(--font-display); letter-spacing:-.05em; }
.film-caption p { margin:0; color:#bcb2b9; font-size:.86rem; line-height:1.55; }

/* ---------- casting call sheet ---------- */
.casting-section { padding:140px 0; background:#fffdf9; }
.casting-layout { display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(55px,8vw,120px); align-items:center; }
.casting-paper {
  position:relative;
  padding:46px 50px 44px;
  min-height:470px;
  background:#fff;
  border:1px solid #ddd3cb;
  box-shadow:var(--story-shadow);
  transform:rotate(1.4deg);
}
.casting-stamp {
  position:absolute;
  right:30px; top:28px;
  padding:8px 11px;
  border:2px solid #c93c75;
  color:#c93c75;
  font:800 .7rem/.9 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  transform:rotate(7deg);
}
.casting-head { display:flex; justify-content:space-between; color:#83766d; font:700 .62rem 'JetBrains Mono',monospace; letter-spacing:.14em; }
.casting-rule { height:1px; background:#d8cdc4; margin:18px 0 28px; }
.casting-slug { margin:0 0 15px; color:#b4863d; font:700 .61rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.casting-role-row {
  display:grid; grid-template-columns:38px 1fr 20px; gap:14px; align-items:center;
  padding:17px 0; border-top:1px solid #e7ded7; text-decoration:none; color:var(--story-ink);
  transition:padding .25s,color .25s;
}
.casting-role-row:hover { padding-left:8px; color:var(--story-pink); }
.role-no { color:#9d928a; font:600 .62rem 'JetBrains Mono',monospace; }
.casting-role-row small { display:block; color:#a18f83; font:600 .56rem 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.casting-role-row b { display:block; font:650 1.3rem/.95 var(--font-display); }
.casting-role-row i { color:#b4863d; }
.casting-empty { padding:28px 0; color:#7f746d; font-size:.9rem; border-top:1px solid #e7ded7; }
.casting-copy h2 { max-width:620px; }
.casting-copy>p:not(.story-eyebrow) { max-width:500px; color:var(--story-muted); line-height:1.8; margin:30px 0; }
.role-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.role-chips span { padding:7px 11px; border:1px solid #d8ccc2; border-radius:999px; color:#71665e; font:600 .58rem 'JetBrains Mono',monospace; letter-spacing:.09em; }
.story-btn-small { padding:13px 22px; min-height:46px; }

/* ---------- closing invitation ---------- */
.invitation-section {
  position:relative;
  overflow:hidden;
  padding:145px 0 160px;
  background:
    radial-gradient(circle at 76% 42%,rgba(229,199,143,.33),transparent 24%),
    linear-gradient(125deg,#f6e8e2,#fffdf9 52%,#f5e8dd);
}
.invitation-section:after {
  content:"";
  position:absolute; width:580px;height:580px;border:1px solid rgba(180,134,61,.22);border-radius:50%;
  right:-210px; top:50%; transform:translateY(-50%);
}
.invitation-inner { position:relative; z-index:2; }
.invitation-inner h2 { max-width:850px; }
.invitation-inner>p:not(.story-eyebrow) { max-width:560px; margin:28px 0; color:var(--story-muted); font-size:1.05rem; line-height:1.75; }
.invitation-prop { position:absolute; right:3%; top:7%; width:310px;height:290px; transform:rotate(-5deg); opacity:.9; }
.director-chair {
  position:absolute; width:150px;height:150px; right:10px; bottom:5px;
  border:10px solid #8f6545; border-top:0; transform:skewX(-5deg);
  box-shadow:inset 0 0 0 9px #c89d73;
}
.director-chair:before,.director-chair:after { content:"";position:absolute;background:#8f6545;width:10px;height:170px;bottom:-105px; }
.director-chair:before { left:4px;transform:rotate(12deg); }.director-chair:after { right:4px;transform:rotate(-12deg); }
.director-chair span { position:absolute; left:-7px; right:-7px; top:25px;height:65px;background:#242024; }
.director-chair b { position:absolute; top:43px; left:0; right:0; text-align:center; color:#d8b17b; font:700 .62rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.invitation-clap {
  position:absolute; left:0; top:35px; width:155px;height:105px; padding:34px 15px 10px;
  background:#252125; color:#fff; border-radius:5px; transform:rotate(8deg);
  box-shadow:12px 18px 24px rgba(40,25,26,.17);
}
.invitation-clap:before { content:""; position:absolute; left:-2px;right:-2px;top:-20px;height:27px;background:repeating-linear-gradient(135deg,#262126 0 18px,#f4e8dc 18px 36px);border-radius:5px 5px 2px 2px;transform:skewX(-7deg); }
.invitation-clap b { font:700 .55rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.invitation-clap i { display:block; height:1px;background:rgba(255,255,255,.25); margin-top:12px; }

.story-home .site-footer.section-dark {
  background:#f3e9e1;
  color:var(--story-ink);
  border-top:1px solid #dfd3ca;
}
.story-home .site-footer.section-dark p { color:#746b65; }
.story-home .site-footer.section-dark h4 { color:var(--story-ink); }
.story-home .site-footer.section-dark a { color:#6d635c; }
.story-home .site-footer.section-dark a:hover { color:var(--story-pink); }
.story-home .site-footer .footer-bottom { border-color:#d8ccc3; }
.story-home .site-footer .footer-social a { color:#6d635c; }

/* no dark surfaces anywhere on the redesigned homepage */
.story-home .mobile-menu { background:#fffaf5; color:var(--story-ink); }
.story-home .mobile-menu a { color:var(--story-ink); }
.story-home .mobile-menu .close-row { border-color:#e3d8cf; }
.story-home .mobile-menu .mm-num { color:#b4863d; }
.story-home .mobile-menu .mm-flag { color:var(--story-pink); background:#f8dfe8; }

@media (max-width:1050px) {
  .story-clapper { right:2%; top:18%; width:310px; }
  .story-lens { right:28%; top:32%; width:165px; }
  .story-reel { right:20%; bottom:5%; width:220px; }
  .story-title { max-width:700px; }
  .craft-board { grid-template-columns:1fr 1fr; }
  .craft-card-large { grid-row:span 2; }
  .film-strip { grid-template-columns:1fr 1fr; }
  .film-card:nth-child(2) { border-right:0; }
  .film-card:nth-child(3) { grid-column:1 / -1; display:grid; grid-template-columns:230px 1fr; gap:25px; align-items:center; }
  .film-card:nth-child(3) .film-frame { aspect-ratio:16/10; }
}

@media (max-width:820px) {
  .story-hero { min-height:900px; padding-top:155px; }
  .story-title { font-size:clamp(3.65rem,14vw,6.8rem); }
  .story-stage { opacity:.82; }
  .story-clapper { right:-12%; top:25%; width:285px; }
  .story-lens { right:23%; top:39%; width:145px; }
  .story-reel { right:-3%; bottom:8%; width:205px; }
  .story-hero-content { z-index:5; }
  .story-credit { margin-top:48px; max-width:340px; }
  .screenplay-intro .container,.casting-layout { grid-template-columns:1fr; }
  .screenplay-sheet { max-width:680px; margin:0 auto; }
  .story-intro-copy { padding-top:35px; }
  .scene-heading { flex-direction:column; align-items:flex-start; }
  .craft-board { grid-template-columns:1fr; }
  .craft-card,.craft-card-large { min-height:420px; grid-row:auto; }
  .film-strip { grid-template-columns:1fr; }
  .film-card,.film-card:nth-child(2),.film-card:nth-child(3) { border-right:0; border-bottom:1px solid rgba(255,255,255,.13); display:block; }
  .film-card:last-child { border-bottom:0; }
  .film-card:nth-child(3) .film-frame { aspect-ratio:4/5; }
  .invitation-prop { opacity:.22; right:-70px; top:20%; }
}

@media (max-width:560px) {
  .story-hero { min-height:850px; padding:140px 0 65px; }
  .scene-tag { margin-bottom:28px; }
  .story-title { font-size:clamp(3.35rem,16vw,5.6rem); }
  .story-title em { padding-left:25px; }
  .story-title strong { padding-left:5px; }
  .story-lede { font-size:.98rem; }
  .story-credit { gap:12px; font-size:.53rem; }
  .story-page-corner { width:190px;height:190px; right:-105px;bottom:-110px; }
  .screenplay-intro,.craft-section,.slate-section,.casting-section,.invitation-section { padding:90px 0; }
  .screenplay-sheet { padding:35px 28px 70px; min-height:560px; }
  .sheet-footer { left:28px;right:28px; }
  .script-dialogue { margin:35px auto; }
  .story-intro-copy h2,.scene-heading h2,.casting-copy h2,.invitation-inner h2 { font-size:clamp(2.6rem,12vw,4.2rem); }
  .craft-card { padding:25px; min-height:390px; }
  .mini-camera { transform:scale(.82) rotate(-7deg); right:2%; top:16%; }
  .mini-script { transform:scale(.82) rotate(8deg); right:0; }
  .mini-reel { transform:scale(.82) rotate(-15deg); right:0; }
  .film-strip { margin-left:-20px;margin-right:-20px; }
  .casting-paper { padding:34px 27px; min-height:450px; }
  .casting-stamp { right:20px;top:22px; }
  .casting-role-row { grid-template-columns:30px 1fr 16px; }
  .invitation-prop { display:none; }
}

/* BVP Phase 1 cinematic surfaces */
.bvp-cinematic-home{background:#fffaf5}
.bvp-hero{min-height:calc(100svh - 30px);position:relative;overflow:hidden;display:flex;align-items:center;padding:150px 0 70px;background:radial-gradient(circle at 76% 38%,rgba(215,180,106,.22),transparent 23%),radial-gradient(circle at 85% 76%,rgba(200,23,107,.13),transparent 28%),linear-gradient(135deg,#fffaf5,#f9e9ed)}
.bvp-hero-inner{position:relative;z-index:4}.bvp-scene-chip{display:inline-flex;gap:12px;align-items:center;font:700 11px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:#625963;padding:10px 14px;border:1px solid #1713181f;border-radius:999px;background:#ffffff80}.bvp-scene-chip i{width:20px;height:1px;background:#d7b46a}.bvp-hero-title{max-width:850px;font-size:clamp(3.7rem,8vw,8.8rem);letter-spacing:-.065em;margin:22px 0 24px}.bvp-hero-title span,.bvp-hero-title em,.bvp-hero-title strong{display:block}.bvp-hero-title em{font-style:normal;color:#c8176b}.bvp-hero-copy{max-width:620px;font-size:clamp(1rem,1.6vw,1.25rem)}.bvp-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:30px}.bvp-text-link{display:inline-flex;gap:10px;align-items:center;font-weight:800;text-decoration:none;color:#171318;border-bottom:1px solid #17131835;padding-bottom:5px}.bvp-text-link i{transition:transform .25s var(--ease)}.bvp-text-link:hover i{transform:translateX(5px)}
.bvp-hero-world{position:absolute;inset:0;pointer-events:none}.bvp-hero-lens{position:absolute;right:5vw;top:16%;width:min(42vw,620px);aspect-ratio:1;border-radius:50%;transform:rotate(-13deg);background:conic-gradient(from 20deg,#17131822,#d7b46a,#c8176b30,#17131814,#d7b46a);box-shadow:0 50px 100px #44253126,inset 0 0 0 2px #fff;animation:bvpLensFloat 9s ease-in-out infinite}.bvp-lens-glass{position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8 0 4%,transparent 5%),radial-gradient(circle,#26313d 0 18%,#5d7381 19%,#10161d 40%,#cfb878 41%,#20232a 43%,#111 60%,#333 61%,#080808 75%,transparent 76%);box-shadow:inset 0 0 35px #0007}.bvp-lens-ring{position:absolute;inset:6%;border:1px solid #ffffffb8;border-radius:50%}.bvp-hero-lens span{position:absolute;right:18%;bottom:18%;font:700 10px var(--font-body);letter-spacing:.16em;color:#fff9}.bvp-hero-script{position:absolute;left:53%;bottom:8%;width:280px;height:360px;padding:28px;background:#fff8f1;border:1px solid #6b4d4d22;box-shadow:0 30px 60px #5b35431c;transform:rotate(7deg);font:600 11px var(--font-body);color:#6d5c62;opacity:.7}.bvp-hero-script i{display:block;height:5px;background:#80656b1b;margin:25px 0 12px}.bvp-petal{position:absolute;width:42px;height:18px;border-radius:90% 15% 90% 15%;background:linear-gradient(135deg,#c8176b,#f3a4b9);opacity:.55}.petal-one{right:13%;top:20%;transform:rotate(26deg)}.petal-two{right:29%;top:66%;transform:rotate(-36deg) scale(.7)}.petal-three{left:58%;top:17%;transform:rotate(70deg) scale(.55)}
@keyframes bvpLensFloat{50%{transform:rotate(-8deg) translate3d(-10px,18px,0)}}
.bvp-opportunity-ribbon{background:#fff;border-top:1px solid #76546018;border-bottom:1px solid #76546018;box-shadow:0 18px 40px #6d3f4b0b}.bvp-ribbon-grid{display:grid;grid-template-columns:repeat(4,1fr)}.bvp-ribbon-grid>a{display:flex;align-items:center;gap:12px;padding:20px 16px;text-decoration:none;border-right:1px solid #76546015}.bvp-ribbon-grid>a:last-child{border-right:0}.bvp-ribbon-grid b{display:block;font:800 11px var(--font-body);letter-spacing:.12em}.bvp-ribbon-grid small{display:block;color:#625963;font-size:11px}.bvp-ribbon-grid>a>i{margin-left:auto;color:#c8176b}.bvp-ribbon-icon{width:36px;height:36px;border-radius:12px;background:#f7dce8;display:grid;place-items:center;color:#c8176b;flex-shrink:0}
.bvp-story-section{padding:130px 0;background:linear-gradient(180deg,#fffaf5,#f7eee9)}.bvp-story-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:9vw;align-items:center}.bvp-paper{position:relative;min-height:470px;padding:30px 38px;background:#fffdf9;box-shadow:0 28px 80px #4d2d3a1f;transform:rotate(-1.5deg);border:1px solid #80606a18}.bvp-paper:before{content:"";position:absolute;inset:14px;border:1px solid #80606a14}.bvp-paper-top,.bvp-paper-foot{display:flex;justify-content:space-between;font:700 9px var(--font-body);letter-spacing:.16em;color:#75656b}.bvp-paper-rule{height:1px;background:#80606a22;margin:18px 0 44px}.bvp-script-slug{font:800 12px var(--font-body);letter-spacing:.1em;color:#171318}.bvp-script-copy{font:500 18px/1.8 var(--font-display);max-width:560px}.bvp-script-note{margin-top:60px;font:600 17px/1.7 Caveat,cursive;color:#c8176b;transform:rotate(-2deg)}.bvp-paper-foot{position:absolute;bottom:28px;left:38px;right:38px}.bvp-story-copy h2,.bvp-section-head h2,.bvp-people-copy h2,.bvp-final h2{font-size:clamp(2.7rem,5vw,5.6rem);letter-spacing:-.055em}.bvp-story-copy h2 em,.bvp-section-head h2 em,.bvp-people-copy h2 em,.bvp-final h2 em{font-style:normal;color:#c8176b}.bvp-section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.bvp-section-head>p{max-width:380px}.bvp-worlds{padding:120px 0}.bvp-world-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}.bvp-world{position:relative;min-height:440px;padding:28px;text-decoration:none;overflow:hidden;border:1px solid #80606a18;background:#fff;box-shadow:0 18px 50px #603d4910;display:flex;flex-direction:column;justify-content:flex-end}.bvp-world:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#fff,#f7e9ed)}.bvp-world>*{position:relative}.bvp-world-film:before{background:linear-gradient(145deg,#fffaf2,#f0e7da)}.bvp-world-music:before{background:linear-gradient(145deg,#fff7f6,#f4e5ec)}.world-no{position:absolute;top:25px;left:28px;font:700 10px var(--font-body);letter-spacing:.15em}.world-mark{position:absolute;top:26px;right:24px;font:700 9px var(--font-body);letter-spacing:.15em;color:#625963}.bvp-world h3{font-size:clamp(2.3rem,4vw,4.6rem);letter-spacing:-.05em}.bvp-world>i{position:absolute;right:28px;bottom:30px;color:#c8176b}
.bvp-slate{padding:130px 0}.bvp-slate-wall{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px}.bvp-project-frame{position:relative;text-decoration:none;background:#fff;padding:12px;box-shadow:0 24px 60px #5c344215;border:1px solid #76546018}.bvp-project-frame:nth-child(2){margin-top:70px;transform:rotate(1deg)}.bvp-project-frame:nth-child(3){margin-top:35px;transform:rotate(-1deg)}.bvp-frame-image{aspect-ratio:4/5;background:linear-gradient(145deg,#f4e6e7,#e6d9ce);display:grid;place-items:center;overflow:hidden}.bvp-frame-image img{width:100%;height:100%;object-fit:cover}.bvp-frame-info{padding:18px 8px 10px}.bvp-frame-info small{font:700 9px var(--font-body);letter-spacing:.14em;color:#c8176b}.bvp-frame-info strong{display:block;font:800 clamp(1.4rem,2.2vw,2rem) var(--font-display);margin-top:7px}.bvp-project-frame>i{position:absolute;right:24px;bottom:30px;color:#c8176b}
.bvp-people{padding:130px 0;background:linear-gradient(135deg,#f9e8ed,#fff9f1)}.bvp-people-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.bvp-role-orbit{min-height:480px;position:relative;display:grid;place-items:center}.bvp-role-orbit span{position:absolute;padding:9px 13px;border:1px solid #76546022;background:#fff9;border-radius:999px;font:800 9px var(--font-body);letter-spacing:.12em}.bvp-role-orbit span:nth-child(1){top:6%;left:26%}.bvp-role-orbit span:nth-child(2){top:22%;right:6%}.bvp-role-orbit span:nth-child(3){top:58%;right:4%}.bvp-role-orbit span:nth-child(4){bottom:7%;right:28%}.bvp-role-orbit span:nth-child(5){bottom:14%;left:10%}.bvp-role-orbit span:nth-child(6){top:52%;left:2%}.bvp-role-orbit span:nth-child(7){top:30%;left:3%}.bvp-role-orbit span:nth-child(8){bottom:32%;right:19%}.orbit-lens{width:250px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff,#dce2e1 20%,#687d86 21%,#1c2329 34%,#d4b66d 35%,#3a3434 38%,#121212 55%,#fff0 56%);box-shadow:0 30px 80px #5b344515;animation:bvpLensFloat 10s ease-in-out infinite}
.bvp-calls{padding:110px 0;background:#f8eee8}.bvp-call-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.bvp-call-card{position:relative;min-height:210px;padding:24px;background:#fff;border:1px solid #76546018;box-shadow:0 16px 45px #6d3f4b0c;text-decoration:none;display:flex;flex-direction:column;transition:.25s var(--ease)}.bvp-call-card:hover{transform:translateY(-5px)}.bvp-call-card span{font:800 9px var(--font-body);letter-spacing:.16em;color:#c8176b}.bvp-call-card strong{font:800 1.65rem var(--font-display);margin-top:auto}.bvp-call-card small{color:#625963;margin-top:7px}.bvp-call-card i{position:absolute;right:20px;top:22px;color:#c8176b}.bvp-final{position:relative;overflow:hidden;text-align:center;padding:150px 0;background:radial-gradient(circle at 50% 50%,#f4dce8,transparent 38%),linear-gradient(135deg,#fffaf5,#f5eee6)}.bvp-final .eyebrow{justify-content:center}.bvp-final .eyebrow:before{display:none}.bvp-final-aperture{position:absolute;width:620px;max-width:70vw;right:-130px;top:50%;transform:translateY(-50%);color:#c8176b16}.bvp-final-aperture svg{width:100%;height:100%}
.bvp-opportunity-hero{padding:170px 0 90px;background:linear-gradient(135deg,#fffaf5,#f8e7ed)}.bvp-opportunity-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.bvp-opportunity-hero h1{font-size:clamp(3rem,7vw,7rem);letter-spacing:-.06em}.bvp-opportunity-hero h1 em{font-style:normal;color:#c8176b}.bvp-lede{font-size:1.1rem;max-width:650px}.bvp-opportunity-quick{background:#fff;border:1px solid #76546018;box-shadow:0 28px 80px #4d2d3a1f;padding:8px}.bvp-opportunity-quick a{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid #76546012;text-decoration:none}.bvp-opportunity-quick a:last-child{border-bottom:0}.bvp-opportunity-quick a:hover{background:#fff6fa}.bvp-opportunity-quick span{flex:1}.bvp-opportunity-quick b{display:block;font:800 11px var(--font-body);letter-spacing:.13em}.bvp-opportunity-quick small{display:block;color:#625963;margin-top:4px}.bvp-opportunity-quick>a>i{color:#c8176b}.bvp-opportunity-mode{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:45px;background:#fff;border:1px solid #76546018;box-shadow:0 28px 80px #4d2d3a1f}.bvp-mode-actions{display:grid;gap:10px}.bvp-mode-actions .btn{justify-content:flex-start}.bvp-open-call-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:35px}.bvp-open-call{padding:22px;background:#fff;border:1px solid #76546018;text-decoration:none;min-height:180px;display:flex;flex-direction:column}.bvp-open-call-tag{font:800 9px var(--font-body);letter-spacing:.15em;color:#c8176b}.bvp-open-call small{color:#625963;margin-top:18px}.bvp-open-call strong{font:800 1.5rem var(--font-display);margin-top:5px}.bvp-open-call>span:not(.bvp-open-call-tag){font-size:.82rem;color:#625963;margin-top:auto}.bvp-open-call>i{margin-top:12px;color:#c8176b}.bvp-quiet-call{padding:35px;background:#fff;border:1px solid #76546018}.bvp-project-pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.bvp-project-pick{padding:24px;background:#fff;border:1px solid #76546018;text-decoration:none;position:relative}.bvp-project-pick span{font:800 9px var(--font-body);letter-spacing:.14em;color:#c8176b}.bvp-project-pick strong{display:block;font:800 1.4rem var(--font-display);margin-top:15px}.bvp-project-pick i{position:absolute;right:20px;bottom:20px;color:#c8176b}.bvp-opportunity-strip{display:flex!important;justify-content:center!important;padding:0!important;background:#171318!important}.bvp-opportunity-strip>a{padding:9px 12px;color:#fff;text-decoration:none}.bvp-opportunity-strip>a:first-child{flex:1;text-align:center}.bvp-opportunity-strip .top-strip-secondary{border-left:1px solid #ffffff22;white-space:nowrap;color:#f6d98c}
@media(max-width:900px){.bvp-hero{padding-top:130px}.bvp-hero-lens{right:-16vw;top:25%;width:72vw;opacity:.72}.bvp-ribbon-grid,.bvp-call-grid{grid-template-columns:repeat(2,1fr)}.bvp-ribbon-grid>a:nth-child(2){border-right:0}.bvp-ribbon-grid>a:nth-child(n+3){border-top:1px solid #76546015}.bvp-story-grid,.bvp-people-grid,.bvp-opportunity-hero-grid,.bvp-opportunity-mode{grid-template-columns:1fr}.bvp-world-grid{grid-template-columns:1fr}.bvp-world{min-height:330px}.bvp-slate-wall{grid-template-columns:1fr 1fr}.bvp-project-frame:first-child{grid-column:1/-1}.bvp-open-call-grid,.bvp-project-pick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.bvp-hero{min-height:760px;padding:125px 0 80px}.bvp-hero-title{font-size:clamp(3.1rem,15vw,5rem)}.bvp-hero-script{display:none}.bvp-hero-lens{right:-34vw;top:36%;opacity:.48}.bvp-hero-meta{display:none}.bvp-ribbon-grid,.bvp-call-grid,.bvp-open-call-grid,.bvp-project-pick-grid{grid-template-columns:1fr}.bvp-ribbon-grid>a{border-right:0!important}.bvp-ribbon-grid>a:nth-child(n+2){border-top:1px solid #76546015}.bvp-story-section,.bvp-slate,.bvp-worlds,.bvp-people,.bvp-calls{padding:85px 0}.bvp-paper{min-height:420px;padding:25px}.bvp-paper-foot{left:25px;right:25px}.bvp-section-head{display:block}.bvp-section-head>a{margin-top:15px}.bvp-slate-wall{grid-template-columns:1fr}.bvp-project-frame:nth-child(2),.bvp-project-frame:nth-child(3){margin-top:0;transform:none}.bvp-role-orbit{min-height:360px}.orbit-lens{width:190px}.bvp-opportunity-hero{padding:140px 0 65px}.bvp-opportunity-mode{padding:28px}.bvp-opportunity-strip .top-strip-secondary{display:none}}
@media(prefers-reduced-motion:reduce){.bvp-hero-lens,.orbit-lens{animation:none!important}}

.bvp-inline-choice{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 6px}.bvp-inline-choice .btn{min-height:46px}@media(max-width:600px){.bvp-inline-choice .btn{width:100%}}


/* ================================================================
   BVP V2 — cinematic realism + mobile-first clarity
   ================================================================ */
.bvp-home-v2{--bvp-ink:#1b1718;--bvp-muted:#655c5f;--bvp-line:rgba(46,28,34,.13);--bvp-pink:#b71861;--bvp-rose:#e9b8c8;--bvp-gold:#b99355;--bvp-cream:#fbf7f1;--bvp-white:#fffdf9;background:var(--bvp-cream);color:var(--bvp-ink)}
.bvp-home-v2 .site-header{background:rgba(255,253,249,.9);backdrop-filter:blur(18px)}
.bvp-hero-v2{min-height:clamp(690px,88vh,900px);position:relative;display:flex;align-items:center;overflow:hidden;background:#e9e0d8;color:#fff}
.bvp-hero-v2-media{position:absolute;inset:0;background:#33282a;overflow:hidden}
.bvp-hero-v2-image{position:absolute;inset:-5%;background:
 radial-gradient(ellipse at 72% 42%,rgba(255,225,181,.52) 0,rgba(255,225,181,.15) 13%,transparent 31%),
 radial-gradient(ellipse at 24% 20%,rgba(205,120,146,.35) 0,transparent 28%),
 linear-gradient(112deg,rgba(20,17,18,.9),rgba(82,50,56,.72) 47%,rgba(31,26,27,.88)),
 url('/assets/img/og-image.jpg') center/cover;
 filter:saturate(.78) contrast(1.05);
 transform:scale(1.04)}
.bvp-hero-v2-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,13,14,.82),rgba(17,13,14,.38) 48%,rgba(17,13,14,.35)),linear-gradient(0deg,rgba(10,8,8,.7),transparent 38%,rgba(10,8,8,.25))}
.bvp-hero-v2-light{position:absolute;width:65vw;height:80vh;right:-20vw;top:-15vh;background:radial-gradient(ellipse,rgba(255,211,148,.18),transparent 62%);transform:rotate(-18deg);filter:blur(8px)}
.bvp-hero-v2-frame{position:absolute;inset:5%;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.bvp-hero-v2-reel{position:absolute;width:420px;height:420px;right:-120px;bottom:-170px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:inset 0 0 0 35px rgba(255,255,255,.025),inset 0 0 0 70px rgba(255,255,255,.02)}
.bvp-hero-v2-inner{position:relative;z-index:2;padding:130px 0 80px;max-width:1180px}
.bvp-kicker{font:700 10px var(--font-body);letter-spacing:.22em;color:#fff9;margin-bottom:24px}
.bvp-hero-v2 h1{font:800 clamp(4rem,8vw,8.5rem)/.9 var(--font-display);letter-spacing:-.065em;max-width:920px;margin:0}
.bvp-hero-v2 h1 em{font-style:normal;color:#f2c2d2}
.bvp-hero-v2-copy{font:400 clamp(1rem,1.45vw,1.2rem)/1.7 var(--font-body);max-width:650px;color:#fffdd;margin:30px 0 30px}
.bvp-hero-v2-actions{display:flex;gap:12px;flex-wrap:wrap}
.bvp-hero-v2 .btn-secondary{color:#fff;border-color:#ffffff55;background:#ffffff12}
.bvp-hero-v2-facts{display:flex;gap:28px;margin-top:55px;padding-top:16px;border-top:1px solid #ffffff2a;max-width:720px;font:700 9px var(--font-body);letter-spacing:.16em;color:#fff9}
.bvp-mobile-priority{position:relative;z-index:5;background:#fff;border-bottom:1px solid var(--bvp-line);box-shadow:0 14px 35px rgba(44,24,31,.08)}
.bvp-mobile-priority .container{display:grid;grid-template-columns:repeat(3,1fr)}
.bvp-mobile-priority a{padding:18px 20px;text-decoration:none;border-right:1px solid var(--bvp-line);display:flex;flex-direction:column;gap:4px}
.bvp-mobile-priority a:last-child{border-right:0}
.bvp-mobile-priority b{font:800 10px var(--font-body);letter-spacing:.14em;color:var(--bvp-pink)}
.bvp-mobile-priority span{font-size:.82rem;color:var(--bvp-muted)}
.bvp-home-intro,.bvp-home-slate,.bvp-home-people,.bvp-home-opportunity,.bvp-home-copro,.bvp-home-story{padding:120px 0}
.bvp-home-intro-grid,.bvp-copro-grid,.bvp-home-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.bvp-home-intro h2,.bvp-home-head h2,.bvp-home-story h2{font:800 clamp(2.8rem,5.2vw,5.8rem)/.95 var(--font-display);letter-spacing:-.06em;margin:0}
.bvp-home-intro h2 em,.bvp-home-head h2 em{font-style:normal;color:var(--bvp-pink)}
.bvp-home-intro-copy>p,.bvp-home-story-grid>div:last-child>p,.bvp-copro-grid>div:first-child>p{font-size:1.05rem;line-height:1.8;color:var(--bvp-muted);max-width:620px}
.bvp-simple-links{margin-top:34px;border-top:1px solid var(--bvp-line)}
.bvp-simple-links a{display:grid;grid-template-columns:45px 1fr 25px;align-items:center;padding:17px 0;border-bottom:1px solid var(--bvp-line);text-decoration:none;color:var(--bvp-ink);font-weight:700}
.bvp-simple-links span{font:700 10px var(--font-body);color:var(--bvp-pink);letter-spacing:.1em}
.bvp-simple-links i{color:var(--bvp-pink)}
.bvp-home-slate{background:#f1ebe5}
.bvp-home-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}
.bvp-head-note{max-width:380px;color:var(--bvp-muted);line-height:1.7}
.bvp-project-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bvp-project-card-v2{background:#fff;border:1px solid var(--bvp-line);text-decoration:none;color:var(--bvp-ink);box-shadow:0 24px 55px rgba(46,28,34,.08);transition:transform .35s ease,box-shadow .35s ease}
.bvp-project-card-v2:hover{transform:translateY(-7px);box-shadow:0 32px 70px rgba(46,28,34,.14)}
.bvp-project-card-image{position:relative;aspect-ratio:4/5;background:#d9ccc2;overflow:hidden}
.bvp-project-card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform .6s ease}
.bvp-project-card-v2:hover img{transform:scale(1.035)}
.bvp-project-index{position:absolute;left:17px;top:15px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #fff8;border-radius:50%;font:700 10px var(--font-body);color:#fff;background:#17111266;backdrop-filter:blur(8px)}
.bvp-project-card-copy{padding:24px 23px 27px}
.bvp-project-card-copy small{font:700 9px var(--font-body);letter-spacing:.13em;color:var(--bvp-pink)}
.bvp-project-card-copy h3{font:800 2rem var(--font-display);letter-spacing:-.04em;margin:9px 0 7px}
.bvp-project-card-copy p{font-size:.9rem;line-height:1.6;color:var(--bvp-muted);min-height:46px}
.bvp-project-card-copy span{display:inline-flex;gap:8px;margin-top:15px;font:800 10px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--bvp-ink)}
.bvp-project-placeholder{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 50% 42%,#f5d9df,#cdb9b0 65%,#8c7471);color:#fff}
.bvp-project-placeholder span{font:800 5rem var(--font-display);opacity:.7}
.bvp-project-placeholder small{font:700 9px var(--font-body);letter-spacing:.2em}
.bvp-home-people{background:#fff}
.bvp-path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bvp-line);border:1px solid var(--bvp-line)}
.bvp-path-grid a{position:relative;min-height:245px;padding:27px;background:#fff;text-decoration:none;color:var(--bvp-ink);display:flex;flex-direction:column}
.bvp-path-grid a:hover{background:#fff8fa}
.path-number{font:700 9px var(--font-body);letter-spacing:.15em;color:var(--bvp-pink)}
.bvp-path-grid strong{font:800 1.55rem var(--font-display);margin-top:auto;letter-spacing:-.02em}
.bvp-path-grid small{color:var(--bvp-muted);line-height:1.55;margin-top:8px;max-width:240px}
.bvp-path-grid i{position:absolute;right:23px;top:24px;color:var(--bvp-pink)}
.bvp-home-opportunity{background:#f1ebe5}
.bvp-opportunity-panel{background:#2a2022;color:#fff;padding:70px 75px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.bvp-opportunity-panel:after{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-230px;border-radius:50%;border:1px solid #ffffff18;box-shadow:inset 0 0 0 65px #ffffff04,inset 0 0 0 130px #ffffff03}
.bvp-opportunity-panel h2{font:800 clamp(3rem,5vw,5.7rem)/.93 var(--font-display);letter-spacing:-.06em;margin:0;position:relative;z-index:1}
.bvp-opportunity-panel h2 em{font-style:normal;color:#efbfd0}
.bvp-opportunity-panel p{color:#fff9;line-height:1.75;max-width:650px;position:relative;z-index:1}
.bvp-opportunity-actions{position:relative;z-index:2;display:grid;gap:18px}
.bvp-access-link{display:flex;flex-direction:column;gap:4px;color:#fff;text-decoration:none;border-top:1px solid #ffffff2a;padding-top:18px}
.bvp-access-link span{font-size:.78rem;color:#fff9}.bvp-access-link i{color:#efbfd0}
.bvp-home-copro{background:#fff}
.bvp-copro-note{min-height:360px;padding:42px;background:linear-gradient(145deg,#f6e2e8,#e9d5c8);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.bvp-copro-note:before{content:"";position:absolute;width:300px;height:300px;right:-90px;top:-90px;border-radius:50%;border:1px solid #6d3f4b22;box-shadow:inset 0 0 0 35px #ffffff22,inset 0 0 0 70px #ffffff12}
.bvp-copro-note span{font:800 9px var(--font-body);letter-spacing:.18em;color:#9e315d;position:relative}
.bvp-copro-note strong{font:800 clamp(2.5rem,4vw,4.5rem)/.92 var(--font-display);letter-spacing:-.05em;margin-top:15px;position:relative}
.bvp-copro-note small{margin-top:22px;color:#5e5154;max-width:300px;position:relative}
.bvp-home-story{background:#f4eee8}
.bvp-real-frame{background:#1d1718;color:#fff;min-height:430px;padding:22px;box-shadow:0 30px 75px rgba(38,23,28,.18);transform:rotate(-.7deg)}
.bvp-real-frame-top{display:flex;justify-content:space-between;border-bottom:1px solid #fff2;padding-bottom:14px;font:700 8px var(--font-body);letter-spacing:.16em;color:#fff9}
.bvp-real-frame-body{height:340px;display:flex;flex-direction:column;justify-content:center;padding:35px;background:radial-gradient(circle at 70% 35%,#a84c6c44,transparent 32%),linear-gradient(135deg,#302426,#1a1516)}
.bvp-real-frame-body span{font:700 9px var(--font-body);letter-spacing:.18em;color:#fff8}
.bvp-real-frame-body strong{font:800 clamp(2.5rem,5vw,5rem)/.92 var(--font-display);letter-spacing:-.055em;margin-top:15px}
.bvp-real-frame-body small{font-size:.82rem;line-height:1.6;color:#fff8;max-width:430px;margin-top:24px}
.bvp-home-final{padding:130px 0;text-align:center;background:linear-gradient(135deg,#fffaf5,#f4dfe7)}
.bvp-home-final h2{font:800 clamp(4rem,8vw,8rem)/.88 var(--font-display);letter-spacing:-.07em;margin:15px 0 35px}.bvp-home-final h2 em{font-style:normal;color:var(--bvp-pink)}
.bvp-home-final .bvp-hero-v2-actions{justify-content:center}
.bvp-access-page{min-height:calc(100vh - 90px);padding:150px 0 90px;background:linear-gradient(135deg,#fbf6ef,#f0dfe5);position:relative;overflow:hidden}
.bvp-access-glow{position:absolute;width:60vw;height:60vw;right:-20vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,#e5b5c833,transparent 65%)}
.bvp-access-shell{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;position:relative}
.bvp-access-copy h1{font:800 clamp(3rem,6vw,6.5rem)/.92 var(--font-display);letter-spacing:-.065em;margin:10px 0 25px}
.bvp-access-copy>p{max-width:580px;color:var(--bvp-muted);line-height:1.8;font-size:1.05rem}
.bvp-access-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.bvp-access-points span{padding:9px 12px;border:1px solid var(--bvp-line);background:#fff8;border-radius:999px;font:700 9px var(--font-body);letter-spacing:.1em;text-transform:uppercase}
.bvp-access-card{background:#fff;border:1px solid var(--bvp-line);box-shadow:0 28px 80px rgba(57,32,40,.14);padding:28px}
.bvp-access-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-28px -28px 25px}.bvp-access-tabs a{padding:17px;text-align:center;text-decoration:none;color:var(--bvp-muted);border-bottom:1px solid var(--bvp-line);font-weight:700}.bvp-access-tabs a.active{color:var(--bvp-ink);border-bottom:2px solid var(--bvp-pink)}
.bvp-simple-form .field{margin-bottom:17px}.bvp-simple-form label{display:block;font-size:.78rem;font-weight:700;margin-bottom:7px}.bvp-simple-form input{width:100%;padding:14px 15px;border:1px solid var(--bvp-line);border-radius:8px;background:#fff;font:inherit}.bvp-full-btn{width:100%;justify-content:center;margin-top:5px}.bvp-access-note{font-size:.72rem;color:var(--bvp-muted);line-height:1.55;margin:18px 0 0}
.bvp-dashboard{padding:140px 0 80px;background:#f7f2ec;min-height:100vh}.bvp-dashboard-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.bvp-dashboard-head h1{font:800 clamp(2.8rem,6vw,6rem)/.9 var(--font-display);letter-spacing:-.06em;margin:10px 0}.bvp-dashboard-head p:last-child{color:var(--bvp-muted)}.bvp-dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:35px}.bvp-dashboard-actions a{background:#fff;border:1px solid var(--bvp-line);padding:22px;text-decoration:none;color:var(--bvp-ink);display:flex;flex-direction:column}.bvp-dashboard-actions span{color:var(--bvp-pink);font-size:1.2rem}.bvp-dashboard-actions b{margin-top:18px}.bvp-dashboard-actions small{color:var(--bvp-muted);line-height:1.5;margin-top:5px}.bvp-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bvp-dashboard-card{background:#fff;border:1px solid var(--bvp-line);padding:24px}.bvp-card-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.bvp-card-head h2{font:800 1.65rem var(--font-display);margin:4px 0}.bvp-card-head a{font-size:.8rem;color:var(--bvp-pink)}.bvp-muted{color:var(--bvp-muted);font-size:.88rem}.bvp-activity-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--bvp-line);align-items:center}.bvp-activity-row strong{display:block;font-size:.9rem}.bvp-activity-row small{display:block;color:var(--bvp-muted);margin-top:3px;font-size:.72rem}.bvp-activity-row>span{font-size:.7rem;padding:5px 8px;background:#f4e3e9;border-radius:999px;color:#8d3157}.bvp-dashboard-footer{margin-top:18px;padding:22px;background:#2a2022;color:#fff;display:flex;gap:10px;align-items:center}.bvp-dashboard-footer span{color:#fff9}.bvp-dashboard-footer a{color:#efbfd0}
.bvp-mobile-dock{display:none}
@media(max-width:900px){.bvp-hero-v2-inner{padding:125px 0 65px}.bvp-home-intro-grid,.bvp-copro-grid,.bvp-home-story-grid,.bvp-access-shell{grid-template-columns:1fr;gap:45px}.bvp-project-grid-v2{grid-template-columns:1fr 1fr}.bvp-path-grid{grid-template-columns:1fr 1fr}.bvp-opportunity-panel{grid-template-columns:1fr;padding:48px 38px}.bvp-dashboard-actions{grid-template-columns:1fr}.bvp-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){body.bvp-home-v2{padding-bottom:76px}.bvp-hero-v2{min-height:700px}.bvp-hero-v2-image{background-position:58% center}.bvp-hero-v2-frame{inset:4%}.bvp-hero-v2-reel{width:260px;height:260px;right:-95px;bottom:-100px}.bvp-hero-v2-inner{padding:115px 20px 55px}.bvp-hero-v2 h1{font-size:clamp(3.4rem,15vw,5.5rem)}.bvp-hero-v2-copy{font-size:.97rem}.bvp-hero-v2-actions .btn{width:100%;justify-content:center}.bvp-hero-v2-facts{gap:12px;flex-wrap:wrap;margin-top:30px}.bvp-mobile-priority .container{grid-template-columns:1fr}.bvp-mobile-priority a{border-right:0!important;border-bottom:1px solid var(--bvp-line);padding:15px 20px}.bvp-mobile-priority a:last-child{border-bottom:0}.bvp-home-intro,.bvp-home-slate,.bvp-home-people,.bvp-home-opportunity,.bvp-home-copro,.bvp-home-story{padding:78px 0}.bvp-home-intro-grid,.bvp-copro-grid,.bvp-home-story-grid{gap:34px}.bvp-home-intro h2,.bvp-home-head h2,.bvp-home-story h2{font-size:clamp(2.7rem,12vw,4.5rem)}.bvp-home-head{display:block;margin-bottom:28px}.bvp-home-head .bvp-text-link{display:inline-block;margin-top:15px}.bvp-project-grid-v2,.bvp-path-grid{grid-template-columns:1fr}.bvp-path-grid a{min-height:185px}.bvp-opportunity-panel{padding:38px 25px}.bvp-opportunity-panel h2{font-size:3.3rem}.bvp-copro-note{min-height:300px}.bvp-real-frame{min-height:360px}.bvp-real-frame-body{height:270px}.bvp-access-page{padding:110px 0 60px}.bvp-access-shell{gap:30px}.bvp-access-copy h1{font-size:3.5rem}.bvp-access-card{padding:22px}.bvp-access-tabs{margin:-22px -22px 22px}.bvp-dashboard{padding:110px 0 35px}.bvp-dashboard-head{align-items:start;flex-direction:column}.bvp-dashboard-head h1{font-size:3.5rem}.bvp-dashboard-footer{display:block}.bvp-mobile-dock{display:grid;position:fixed;z-index:999;left:10px;right:10px;bottom:10px;grid-template-columns:repeat(4,1fr);background:rgba(32,24,26,.96);backdrop-filter:blur(18px);border:1px solid #fff2;border-radius:16px;box-shadow:0 18px 50px #0003;padding:6px}.bvp-mobile-dock a{min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-decoration:none;color:#fff8;font:700 8px var(--font-body);letter-spacing:.06em;text-transform:uppercase}.bvp-mobile-dock a i{font-size:15px;color:#efbfd0}.bvp-mobile-dock a.primary i{color:#f3d07c}.bvp-mobile-dock a.primary{color:#fff}}
@media(prefers-reduced-motion:reduce){.bvp-project-card-v2,.bvp-project-card-v2 img{transition:none}.bvp-hero-v2-image{transform:none}}

.bvp-nav-access{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid var(--bvp-line,#3b2a31);border-radius:999px;color:var(--bvp-ink,#1b1718);font:800 9px var(--font-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
@media(max-width:900px){.bvp-nav-access{display:none}}


/* BVP identity UX pass — mobile-first forms and persistent opportunity access */
.bvp-mobile-priority a:focus-visible,.bvp-mobile-dock a:focus-visible,.bvp-path-grid a:focus-visible,.bvp-dashboard-actions a:focus-visible{outline:3px solid #d6a748;outline-offset:-3px}
.bvp-mobile-priority a{min-height:72px}
.form-shell .wizard-progress{position:sticky;top:var(--header-h,90px);z-index:20;background:rgba(255,253,249,.96);backdrop-filter:blur(14px);padding:12px 0 10px;margin-bottom:24px}
.form-shell .wizard-progress-track{height:4px;border-radius:99px;overflow:hidden;background:#eadfe3}
.form-shell .wizard-progress-bar{height:100%;background:linear-gradient(90deg,#b71861,#b99355);border-radius:inherit;transition:width .35s ease}
.form-shell .wizard-progress-label{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:.7rem;color:#756a70}
.form-shell .wizard-progress-steps{display:flex;gap:5px;margin-top:8px}.form-shell .wizard-progress-steps span{height:3px;flex:1;background:#e5d9de;border-radius:99px}.form-shell .wizard-progress-steps span.is-done,.form-shell .wizard-progress-steps span.is-current{background:#b71861}
.field select,.field input,.field textarea{min-height:50px;border-radius:10px}
.select-cards.icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.select-card label{min-height:64px;display:flex;align-items:center;gap:10px}
.wizard-nav{position:sticky;bottom:0;z-index:12;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);padding:12px 0;margin-top:24px;border-top:1px solid var(--bvp-line)}
@media(max-width:600px){
  .bvp-mobile-priority a{min-height:68px;padding:14px 18px}
  .form-shell{padding-left:16px;padding-right:16px}
  .form-shell .wizard-progress{top:var(--header-h,90px);margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .select-cards.icon-grid{grid-template-columns:1fr 1fr}
  .select-card label{min-height:72px;padding:12px 10px;font-size:.82rem}
  .wizard-nav{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;gap:8px;display:flex;justify-content:space-between}
  .wizard-nav .btn{flex:1;min-height:50px}
}
@media(max-width:390px){.select-cards.icon-grid{grid-template-columns:1fr}.bvp-mobile-dock a{font-size:7px}}

/* ================================================================
   BVP HOMEPAGE V3 — cinematic light studio experience
   ================================================================ */
.bvp-home-v3{--v3-ink:#20191b;--v3-muted:#6e6267;--v3-line:rgba(49,28,36,.13);--v3-pink:#b71861;--v3-gold:#b99355;--v3-cream:#fbf7f1;--v3-petal:#f3dce4;background:var(--v3-cream);color:var(--v3-ink)}
.bvp-v3-hero{min-height:clamp(700px,92vh,940px);position:relative;display:flex;align-items:center;overflow:hidden;background:#3a292d;color:#fff}
.bvp-v3-hero-bg,.bvp-v3-hero-image,.bvp-v3-hero-wash,.bvp-v3-frame-lines{position:absolute;inset:0}
.bvp-v3-hero-image{background:linear-gradient(105deg,rgba(25,17,19,.82),rgba(61,36,44,.5) 52%,rgba(31,23,25,.72)),url('/assets/img/og-image.jpg') center/cover;transform:scale(1.045);filter:saturate(.82) contrast(1.04)}
.bvp-v3-hero-wash{background:radial-gradient(circle at 76% 32%,rgba(255,221,177,.3),transparent 25%),linear-gradient(0deg,rgba(15,10,12,.72),transparent 38%)}
.bvp-v3-frame-lines{inset:5%;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.bvp-v3-aperture{position:absolute;width:min(52vw,620px);height:min(52vw,620px);right:-18%;bottom:-35%;border-radius:50%;border:1px solid #fff2;box-shadow:inset 0 0 0 35px #ffffff08,inset 0 0 0 75px #ffffff04}
.bvp-v3-hero-content{position:relative;z-index:2;padding:140px 0 80px;max-width:1180px}
.bvp-v3-film-mark{display:flex;align-items:center;gap:10px;margin-bottom:34px;font:700 8px var(--font-body);letter-spacing:.18em;color:#fff9}.bvp-v3-film-mark i{width:42px;height:1px;background:#fff5}
.bvp-v3-hero .eyebrow{color:#fff9}.bvp-v3-hero h1{font:800 clamp(4.2rem,9vw,9rem)/.86 var(--font-display);letter-spacing:-.07em;max-width:900px;margin:15px 0 28px}.bvp-v3-hero h1 em{font-style:normal;color:#efbed0}
.bvp-v3-hero-lede{max-width:620px;font-size:1.12rem;line-height:1.75;color:#fffdd;margin-bottom:28px}.bvp-v3-actions{display:flex;gap:12px;flex-wrap:wrap}.bvp-v3-hero .btn-secondary{color:#fff;border-color:#ffffff55;background:#ffffff12}
.bvp-v3-hero-meta{display:flex;gap:28px;margin-top:55px;padding-top:17px;border-top:1px solid #fff2;max-width:680px;font:700 9px var(--font-body);letter-spacing:.18em;color:#fff8}.bvp-v3-scroll{position:absolute;z-index:3;right:35px;bottom:35px;display:flex;align-items:center;gap:12px;transform:rotate(90deg);transform-origin:right bottom;font:700 8px var(--font-body);letter-spacing:.2em;color:#fff8}.bvp-v3-scroll i{width:45px;height:1px;background:#fff7}
.bvp-v3-start{padding:105px 0 115px;background:#fff}.bvp-v3-start-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:42px}.bvp-v3-start-head h2,.bvp-v3-section-head h2,.bvp-v3-copro h2,.bvp-v3-final h2{font:800 clamp(3.2rem,6vw,6.7rem)/.9 var(--font-display);letter-spacing:-.065em;margin:8px 0}.bvp-v3-start h2 em,.bvp-v3-section-head h2 em,.bvp-v3-copro h2 em,.bvp-v3-final h2 em{font-style:normal;color:var(--v3-pink)}.bvp-v3-start-head>p,.bvp-v3-section-head>p{color:var(--v3-muted);line-height:1.8;max-width:450px}
.bvp-v3-entry-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v3-line);border-left:1px solid var(--v3-line)}.bvp-v3-entry-grid a{min-height:275px;padding:22px;border-right:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line);text-decoration:none;color:var(--v3-ink);position:relative;display:flex;flex-direction:column;transition:background .3s,transform .3s}.bvp-v3-entry-grid a:hover{background:#fff7fa;transform:translateY(-4px)}.bvp-v3-entry-grid> a>span{font:700 9px var(--font-body);letter-spacing:.15em;color:var(--v3-pink)}.bvp-v3-entry-grid>a>i{font-size:1.35rem;color:var(--v3-gold);margin-top:28px}.bvp-v3-entry-grid strong{font:800 1.55rem var(--font-display);letter-spacing:-.03em;margin-top:auto}.bvp-v3-entry-grid small{font-size:.82rem;line-height:1.55;color:var(--v3-muted);margin-top:8px;max-width:220px}.bvp-v3-entry-grid b{margin-top:20px;font:800 9px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.bvp-v3-entry-grid b i{color:var(--v3-pink);margin-left:5px}
.bvp-v3-statement{padding:105px 0;background:#f2eae4}.bvp-v3-statement-grid{display:grid;grid-template-columns:80px 1.1fr .9fr;gap:35px;align-items:end}.bvp-v3-statement-number{font:700 10px var(--font-body);letter-spacing:.2em;color:var(--v3-pink);padding-bottom:10px}.bvp-v3-statement h2{font:800 clamp(3.3rem,6vw,6.8rem)/.9 var(--font-display);letter-spacing:-.065em;margin:8px 0}.bvp-v3-statement h2 em{font-style:normal;color:var(--v3-pink)}.bvp-v3-statement p:not(.eyebrow){font-size:1.03rem;line-height:1.85;color:var(--v3-muted);max-width:500px}
.bvp-v3-slate{padding:115px 0;background:#fff}.bvp-v3-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.bvp-v3-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bvp-v3-project{background:#fff;border:1px solid var(--v3-line);text-decoration:none;color:var(--v3-ink);box-shadow:0 22px 55px rgba(53,30,39,.08);transition:transform .35s,box-shadow .35s}.bvp-v3-project:hover{transform:translateY(-7px);box-shadow:0 32px 70px rgba(53,30,39,.14)}.bvp-v3-project-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ded1ca}.bvp-v3-project-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.84);transition:transform .6s}.bvp-v3-project:hover img{transform:scale(1.035)}.bvp-v3-project-no{position:absolute;top:15px;left:15px;width:35px;height:35px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;background:#17111266;color:#fff;font:700 9px var(--font-body)}.bvp-v3-project-placeholder{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 50% 35%,#f5dce2,#cdbbb2 65%,#8d7570);color:#fff}.bvp-v3-project-placeholder span{font:800 5rem var(--font-display);opacity:.72}.bvp-v3-project-placeholder small{font:700 9px var(--font-body);letter-spacing:.18em}.bvp-v3-project-copy{padding:24px}.bvp-v3-project-copy small{font:700 9px var(--font-body);letter-spacing:.12em;color:var(--v3-pink)}.bvp-v3-project-copy h3{font:800 2rem var(--font-display);letter-spacing:-.04em;margin:8px 0}.bvp-v3-project-copy p{color:var(--v3-muted);line-height:1.6;font-size:.88rem;min-height:46px}.bvp-v3-project-copy span{display:inline-flex;gap:8px;margin-top:15px;font:800 9px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.bvp-v3-empty{padding:55px;background:#f5eee8;border:1px solid var(--v3-line);display:flex;justify-content:space-between;gap:30px}.bvp-v3-empty strong{font:800 2rem var(--font-display)}.bvp-v3-empty span{color:var(--v3-muted)}.bvp-v3-empty a{color:var(--v3-pink)}
.bvp-v3-process{padding:115px 0;background:#fbf7f1}.bvp-v3-process-line{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--v3-line);margin-top:55px}.bvp-v3-process-line>div{min-height:205px;padding:18px 18px 18px 0;border-right:1px solid var(--v3-line);margin-right:18px}.bvp-v3-process-line>div:last-child{border-right:0}.bvp-v3-process-line span{font:700 9px var(--font-body);letter-spacing:.15em;color:var(--v3-pink)}.bvp-v3-process-line strong{display:block;font:800 1.55rem var(--font-display);margin-top:75px}.bvp-v3-process-line small{display:block;color:var(--v3-muted);line-height:1.55;margin-top:8px}
.bvp-v3-opportunities{padding:105px 0;background:#efe5df}.bvp-v3-opportunity-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#2b2023;color:#fff;min-height:500px;overflow:hidden}.bvp-v3-opportunity-art{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#d8a6b955,transparent 32%),linear-gradient(145deg,#3c292e,#21181a)}.bvp-v3-clapper{width:235px;height:300px;border:1px solid #fff3;padding:25px;transform:rotate(-6deg);box-shadow:0 35px 70px #0005;display:flex;flex-direction:column}.bvp-v3-clapper span{font:700 8px var(--font-body);letter-spacing:.16em;color:#fff9}.bvp-v3-clapper strong{font:800 4rem/.82 var(--font-display);letter-spacing:-.06em;margin-top:auto}.bvp-v3-clapper i{height:22px;border-top:3px solid #efbfd0;border-bottom:3px solid #efbfd0;margin-top:20px}.bvp-v3-opportunity-copy{padding:65px 70px}.bvp-v3-opportunity-copy h2{font:800 clamp(3.3rem,5vw,5.8rem)/.9 var(--font-display);letter-spacing:-.065em;margin:10px 0 24px}.bvp-v3-opportunity-copy h2 em{font-style:normal;color:#efbfd0}.bvp-v3-opportunity-copy>p:not(.eyebrow){color:#fff9;line-height:1.8;max-width:560px}.bvp-v3-opportunity-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:38px}.bvp-v3-opportunity-links a{color:#fff;text-decoration:none;font:800 9px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.bvp-v3-opportunity-links i{color:#efbfd0;margin-left:5px}
.bvp-v3-copro{padding:115px 0;background:#fff}.bvp-v3-copro-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.bvp-v3-copro p:not(.eyebrow){max-width:590px;color:var(--v3-muted);line-height:1.8;margin:22px 0 30px}.bvp-v3-copro-object{min-height:410px;padding:38px;background:linear-gradient(145deg,#f6e0e7,#e8d5c9);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.bvp-v3-copro-object:before{content:"";position:absolute;width:360px;height:360px;right:-130px;top:-120px;border-radius:50%;border:1px solid #74405233;box-shadow:inset 0 0 0 45px #ffffff22,inset 0 0 0 90px #ffffff12}.bvp-v3-copro-object span{font:700 9px var(--font-body);letter-spacing:.18em;color:#963355;position:relative}.bvp-v3-copro-object strong{font:800 clamp(3.2rem,5vw,5.6rem)/.84 var(--font-display);letter-spacing:-.06em;margin-top:16px;position:relative}.bvp-v3-copro-object small{margin-top:24px;color:#645459;position:relative}
.bvp-v3-final{padding:135px 0;text-align:center;background:linear-gradient(135deg,#fff9f3,#f1dce4)}.bvp-v3-final .eyebrow{color:var(--v3-pink)}.bvp-v3-final h2{font-size:clamp(4.3rem,9vw,9rem);margin:15px 0 28px}.bvp-v3-final p:not(.eyebrow){color:var(--v3-muted);font-size:1.05rem;margin-bottom:30px}.bvp-v3-final .bvp-v3-actions{justify-content:center}
@media(max-width:900px){.bvp-v3-start-head,.bvp-v3-statement-grid,.bvp-v3-copro-grid{grid-template-columns:1fr;gap:28px}.bvp-v3-entry-grid{grid-template-columns:1fr 1fr}.bvp-v3-projects{grid-template-columns:1fr 1fr}.bvp-v3-process-line{grid-template-columns:1fr 1fr}.bvp-v3-process-line>div:nth-child(2n){border-right:0}.bvp-v3-opportunity-card{grid-template-columns:1fr}.bvp-v3-opportunity-art{min-height:300px}.bvp-v3-section-head{align-items:start;flex-direction:column}.bvp-v3-statement-number{padding:0}}
@media(max-width:600px){body.bvp-home-v3{padding-bottom:76px}.bvp-v3-hero{min-height:720px}.bvp-v3-hero-content{padding:120px 20px 60px}.bvp-v3-hero h1{font-size:clamp(3.8rem,16vw,5.8rem)}.bvp-v3-hero-lede{font-size:.98rem}.bvp-v3-hero .btn{width:100%;justify-content:center}.bvp-v3-hero-meta{gap:12px;flex-wrap:wrap;margin-top:32px}.bvp-v3-scroll{display:none}.bvp-v3-start,.bvp-v3-statement,.bvp-v3-slate,.bvp-v3-process,.bvp-v3-opportunities,.bvp-v3-copro{padding:78px 0}.bvp-v3-start-head h2,.bvp-v3-section-head h2,.bvp-v3-copro h2{font-size:clamp(3rem,13vw,4.6rem)}.bvp-v3-entry-grid,.bvp-v3-projects,.bvp-v3-process-line{grid-template-columns:1fr}.bvp-v3-entry-grid a{min-height:205px}.bvp-v3-process-line{margin-top:30px}.bvp-v3-process-line>div{min-height:155px;margin:0;border-right:0;border-bottom:1px solid var(--v3-line)}.bvp-v3-process-line>div:last-child{border-bottom:0}.bvp-v3-process-line strong{margin-top:45px}.bvp-v3-opportunity-copy{padding:42px 25px}.bvp-v3-opportunity-copy h2{font-size:3.5rem}.bvp-v3-copro-object{min-height:320px}.bvp-v3-final{padding:95px 20px}.bvp-v3-final h2{font-size:clamp(4rem,17vw,6rem)}.bvp-v3-final .btn{width:100%;justify-content:center}.bvp-v3-empty{display:block}.bvp-v3-empty span{display:block;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.bvp-v3-hero-image,.bvp-v3-project,.bvp-v3-project img,.bvp-v3-entry-grid a{transition:none;transform:none}}


/* ================================================================
   BVP HOMEPAGE V4 — CAMERA / CLAPPER / CONTACT-SHEET LANGUAGE
   Light cinematic direction. No stock-photo hero, no generic SaaS blocks.
   ================================================================ */
body.bvp-home-v4{
  --v4-ink:#171319;--v4-muted:#6e646b;--v4-paper:#fffdf9;--v4-cream:#f6efe9;
  --v4-petal:#f0d8e1;--v4-pink:#b71861;--v4-gold:#b18a4b;--v4-line:rgba(35,23,29,.14);
  background:var(--v4-paper);color:var(--v4-ink);
}
.bvp-home-v4 .site-header{mix-blend-mode:normal}
.bvp-home-v4 .bvp-v3-hero{display:none}

/* HERO: a production camera becomes the visual anchor */
.bvp-v4-hero{position:relative;min-height:clamp(720px,92vh,900px);overflow:hidden;background:
  radial-gradient(circle at 78% 48%,rgba(216,177,122,.26),transparent 22%),
  radial-gradient(circle at 62% 85%,rgba(183,24,97,.09),transparent 30%),
  linear-gradient(135deg,#fffdf9 0%,#f7eee9 52%,#f1dce4 100%);
  display:flex;align-items:center;border-bottom:1px solid var(--v4-line)}
.bvp-v4-hero:before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:radial-gradient(rgba(23,19,25,.35) .45px,transparent .45px);background-size:5px 5px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.bvp-v4-hero-film{position:absolute;top:0;left:0;right:0;height:44px;background:#171319;color:#fff;display:flex;align-items:center;justify-content:center;gap:20px;font:700 8px var(--font-body);letter-spacing:.18em;z-index:3}
.bvp-v4-hero-film i{width:34px;height:1px;background:#fff4}.bvp-v4-hero-film span:first-child{color:#efbfd0}.bvp-v4-hero-film span:last-child{color:#e6c986}
.bvp-v4-hero-grid{width:100%;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:35px;padding-top:70px;padding-bottom:55px;position:relative;z-index:2}
.bvp-v4-hero-copy{max-width:700px}
.bvp-v4-hero-copy h1{font:800 clamp(4rem,7.8vw,7.8rem)/.84 var(--font-display);letter-spacing:-.075em;margin:12px 0 28px;color:var(--v4-ink)}
.bvp-v4-hero-copy h1 em{font-style:normal;color:var(--v4-pink)}
.bvp-v4-hero-copy>p:not(.eyebrow){max-width:590px;color:var(--v4-muted);font-size:1.06rem;line-height:1.78;margin-bottom:28px}
.bvp-v4-actions{display:flex;gap:12px;flex-wrap:wrap}
.bvp-v4-hero-meta{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--v4-line);margin-top:44px;padding-top:16px;font:800 8px var(--font-body);letter-spacing:.17em;color:#71666c}
.bvp-v4-camera{position:relative;height:min(530px,55vw);min-height:430px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 32px 35px rgba(45,26,34,.16))}
.bvp-v4-camera:after{content:"";position:absolute;width:72%;height:35px;bottom:55px;left:14%;background:radial-gradient(ellipse,#4a293522,transparent 70%);filter:blur(8px)}
.bvp-v4-camera-handle{position:absolute;top:55px;right:28%;width:180px;height:85px;border:16px solid #262027;border-bottom:0;border-radius:22px 22px 0 0;transform:skewX(-10deg);background:linear-gradient(90deg,#493943,#1c171d)}
.bvp-v4-camera-body{position:relative;width:min(470px,78%);height:300px;border-radius:24px 32px 30px 24px;background:linear-gradient(145deg,#4a3940,#211a20 58%,#130f13);border:1px solid #ffffff26;box-shadow:inset 0 1px #fff2,0 28px 60px #25151d33;z-index:3}
.bvp-v4-camera-top{height:44px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff1;color:#e9d5d8;font:700 8px var(--font-body);letter-spacing:.17em}.bvp-v4-camera-top b{color:#ff7c9f}
.bvp-v4-camera-window{position:absolute;left:28px;top:76px;width:115px;height:78px;border:1px solid #fff3;background:linear-gradient(135deg,#30242a,#151217);display:flex;align-items:flex-end;justify-content:space-between;padding:8px;color:#fff9;font:700 7px var(--font-body);letter-spacing:.1em}.bvp-v4-camera-window i{font-style:normal;font-size:16px;color:#e4c17e}
.bvp-v4-lens{position:absolute;width:215px;height:215px;border-radius:50%;right:-55px;top:44px;background:radial-gradient(circle at 42% 35%,#f3d5df 0 3%,#6e4057 8%,#2d2030 25%,#151116 46%,#0c0a0d 63%,#33242d 66%,#0d0b0e 75%);border:13px solid #5a4a50;box-shadow:0 0 0 2px #171218,0 20px 45px #0008}.bvp-v4-lens:before{content:"";position:absolute;inset:17px;border-radius:50%;border:1px solid #ffffff2d;box-shadow:inset 0 0 0 14px #ffffff09}.bvp-v4-lens i{position:absolute;width:24px;height:24px;border-radius:50%;left:57px;top:43px;background:#f8dbe4aa;filter:blur(3px)}.bvp-v4-lens b{position:absolute;width:8px;height:8px;border-radius:50%;background:#e6bdcf;left:calc(50% - 4px);top:calc(50% - 4px);box-shadow:0 0 20px #ef9dbc}
.bvp-v4-camera-foot{position:absolute;left:28px;bottom:20px;color:#d6c7cb;font:700 7px var(--font-body);letter-spacing:.14em}
.bvp-v4-camera-dial{position:absolute;width:56px;height:56px;border-radius:50%;background:repeating-conic-gradient(#2b2228 0 10deg,#92727b 10deg 14deg);border:7px solid #382b31;top:105px;left:17%;z-index:4;box-shadow:0 7px 16px #0005}
.bvp-v4-camera-tripod{position:absolute;z-index:1;bottom:65px;display:flex;gap:85px}.bvp-v4-camera-tripod i{display:block;width:9px;height:160px;background:linear-gradient(#4b3940,#171217);transform:rotate(9deg);border-radius:10px}.bvp-v4-camera-tripod i:nth-child(2){transform:rotate(0)}.bvp-v4-camera-tripod i:nth-child(3){transform:rotate(-9deg)}
.bvp-v4-viewfinder-mark{position:absolute;right:4.5%;top:26%;width:135px;height:135px;border:1px solid #9b72804d;z-index:1}.bvp-v4-viewfinder-mark i{position:absolute;width:18px;height:18px;border-color:#9b7280;border-style:solid}.bvp-v4-viewfinder-mark i:nth-child(1){left:-1px;top:-1px;border-width:2px 0 0 2px}.bvp-v4-viewfinder-mark i:nth-child(2){right:-1px;top:-1px;border-width:2px 2px 0 0}.bvp-v4-viewfinder-mark i:nth-child(3){left:-1px;bottom:-1px;border-width:0 0 2px 2px}.bvp-v4-viewfinder-mark i:nth-child(4){right:-1px;bottom:-1px;border-width:0 2px 2px 0}.bvp-v4-viewfinder-mark span{position:absolute;right:0;top:-22px;font:700 7px var(--font-body);letter-spacing:.15em;color:#9b7280}.bvp-v4-viewfinder-mark span b{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d9275f;margin:0 4px}
.bvp-v4-hero-bottom{position:absolute;left:5%;right:5%;bottom:22px;border-top:1px solid var(--v4-line);padding-top:12px;display:flex;justify-content:space-between;font:800 8px var(--font-body);letter-spacing:.16em;color:#786a70;z-index:2}.bvp-v4-hero-bottom i{width:100px;height:1px;background:#b18a4b55;margin-top:4px}

/* CONTACT SHEET: more visual rhythm and film perforations */
.bvp-home-v4 .bvp-v3-start{padding:120px 0;background:#fff}
.bvp-home-v4 .bvp-v3-start-head{margin-bottom:48px}.bvp-home-v4 .bvp-v3-start-head h2{font-size:clamp(3.4rem,6.2vw,6.2rem)}
.bvp-home-v4 .bvp-v3-entry-grid{border:0;gap:14px;position:relative}
.bvp-home-v4 .bvp-v3-entry-grid:before{content:"CONTACT SHEET / CHOOSE YOUR FRAME";position:absolute;left:0;top:-25px;font:800 7px var(--font-body);letter-spacing:.18em;color:#9a7a84}
.bvp-home-v4 .bvp-v3-entry-grid a{min-height:330px;border:1px solid var(--v4-line);background:#fcfaf7;padding:18px;overflow:hidden;box-shadow:0 12px 30px rgba(45,25,34,.04)}
.bvp-home-v4 .bvp-v3-entry-grid a:before,.bvp-home-v4 .bvp-v3-entry-grid a:after{content:"";position:absolute;top:0;bottom:0;width:7px;background:radial-gradient(circle,#d4c2c7 1.4px,transparent 1.7px);background-size:7px 14px;opacity:.45}
.bvp-home-v4 .bvp-v3-entry-grid a:before{left:3px}.bvp-home-v4 .bvp-v3-entry-grid a:after{right:3px}
.bvp-home-v4 .bvp-v3-entry-grid a:hover{background:#fff7fa;transform:translateY(-8px);box-shadow:0 25px 45px rgba(83,28,52,.12)}
.bvp-home-v4 .bvp-v3-entry-grid>a>i{margin-top:24px}.bvp-home-v4 .bvp-v3-entry-grid strong{font-size:1.7rem}.bvp-home-v4 .bvp-v3-entry-grid b{color:var(--v4-pink)}

/* Studio becomes a director's desk / call sheet */
.bvp-home-v4 .bvp-v3-statement{padding:120px 0;background:var(--v4-cream)}
.bvp-home-v4 .bvp-v3-statement-grid{grid-template-columns:70px 1fr 1fr;gap:50px}
.bvp-home-v4 .bvp-v3-statement-grid:after{content:"PRODUCTION NOTE";grid-column:3;justify-self:end;align-self:start;font:800 7px var(--font-body);letter-spacing:.18em;color:#9a7a84}
.bvp-home-v4 .bvp-v3-statement h2{font-size:clamp(3.7rem,6.5vw,6.8rem)}
.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type{position:relative;background:#fff;padding:34px;border:1px solid var(--v4-line);box-shadow:12px 12px 0 #e8d8d2}.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type:before{content:"BVP / CALL SHEET";display:block;margin-bottom:25px;font:800 8px var(--font-body);letter-spacing:.18em;color:var(--v4-pink)}
.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type:after{content:"";display:block;margin-top:25px;width:75px;height:6px;background:repeating-linear-gradient(135deg,var(--v4-pink) 0 8px,transparent 8px 15px)}

/* Slate: stronger project-frame treatment */
.bvp-home-v4 .bvp-v3-slate{padding:120px 0;background:#fff}
.bvp-home-v4 .bvp-v3-projects{gap:24px}
.bvp-home-v4 .bvp-v3-project{border:0;background:#f7f1ec;box-shadow:none}
.bvp-home-v4 .bvp-v3-project-media{aspect-ratio:16/10;background:#ddd;outline:1px solid var(--v4-line);outline-offset:-1px}
.bvp-home-v4 .bvp-v3-project-media:after{content:"FRAME";position:absolute;left:16px;bottom:15px;font:800 7px var(--font-body);letter-spacing:.2em;color:#fff9}
.bvp-home-v4 .bvp-v3-project-copy{padding:24px 26px 28px}.bvp-home-v4 .bvp-v3-project-copy h3{font-size:2.2rem}.bvp-home-v4 .bvp-v3-project-copy span{color:var(--v4-pink)}
.bvp-home-v4 .bvp-v3-empty{background:#f5eee8;border:1px solid var(--v4-line);min-height:250px;position:relative;overflow:hidden}
.bvp-home-v4 .bvp-v3-empty:before{content:"SLATE / NEXT FRAME";position:absolute;right:30px;top:25px;font:800 7px var(--font-body);letter-spacing:.18em;color:#9b7883}

/* Process becomes a film strip */
.bvp-home-v4 .bvp-v3-process{padding:120px 0;background:#fbf8f3;position:relative;overflow:hidden}
.bvp-home-v4 .bvp-v3-process:before,.bvp-home-v4 .bvp-v3-process:after{content:"";position:absolute;left:0;right:0;height:12px;background:radial-gradient(circle,#c8b6bb 2px,transparent 2.5px);background-size:28px 12px;opacity:.6}
.bvp-home-v4 .bvp-v3-process:before{top:0}.bvp-home-v4 .bvp-v3-process:after{bottom:0}
.bvp-home-v4 .bvp-v3-process-line{margin-top:55px;background:#fff;border:1px solid var(--v4-line);padding:0}
.bvp-home-v4 .bvp-v3-process-line>div{min-height:245px;padding:20px 22px;border-right:1px solid var(--v4-line);margin:0;position:relative}
.bvp-home-v4 .bvp-v3-process-line>div:after{content:"";position:absolute;left:22px;right:22px;top:50px;height:1px;background:var(--v4-line)}
.bvp-home-v4 .bvp-v3-process-line strong{margin-top:95px;font-size:1.7rem}.bvp-home-v4 .bvp-v3-process-line span{color:var(--v4-pink)}

/* Opportunities: retain the old slate feeling the user liked */
.bvp-home-v4 .bvp-v3-opportunities{padding:120px 0;background:#eee3dc}
.bvp-home-v4 .bvp-v3-opportunity-card{min-height:560px;background:#211a1e;box-shadow:0 30px 70px rgba(35,20,26,.16);position:relative}
.bvp-home-v4 .bvp-v3-opportunity-art{background:radial-gradient(circle at 50% 50%,#b9935530,transparent 34%),linear-gradient(145deg,#3c2d31,#171216)}
.bvp-home-v4 .bvp-v3-clapper{width:255px;height:325px;border-color:#fff3;transform:rotate(-7deg);position:relative;background:linear-gradient(160deg,#292126,#120f13);box-shadow:22px 35px 55px #0008}
.bvp-home-v4 .bvp-v3-clapper:before{content:"";position:absolute;left:-15px;right:-15px;top:-18px;height:42px;background:repeating-linear-gradient(135deg,#eac5cf 0 13px,#3c2c33 13px 25px);border:1px solid #fff2}
.bvp-home-v4 .bvp-v3-opportunity-copy{padding:75px 72px}.bvp-home-v4 .bvp-v3-opportunity-copy h2{font-size:clamp(3.6rem,5.3vw,6rem)}
.bvp-home-v4 .bvp-v3-opportunity-copy .eyebrow{color:#e7bdcf}.bvp-home-v4 .bvp-v3-opportunity-links a{font-size:10px}

/* Co-produce: viewfinder instead of generic gradient card */
.bvp-home-v4 .bvp-v3-copro{padding:120px 0;background:#fff}
.bvp-home-v4 .bvp-v3-copro-object{min-height:470px;background:#e9d8d0;box-shadow:inset 0 0 0 1px var(--v4-line);overflow:hidden}
.bvp-home-v4 .bvp-v3-copro-object:after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:300 50px/1 var(--font-body);color:#5e4750}
.bvp-home-v4 .bvp-v3-copro-object:before{width:500px;height:500px;right:-90px;top:-15px;border:1px solid #65414f55;box-shadow:inset 0 0 0 90px #fff1,inset 0 0 0 180px #fff1}
.bvp-home-v4 .bvp-v3-copro-object strong{font-size:clamp(3.8rem,5.5vw,6.2rem)}

/* Final: clapper bars */
.bvp-home-v4 .bvp-v3-final{padding:140px 0;background:linear-gradient(145deg,#fff9f3,#f0d9e2);position:relative;overflow:hidden}
.bvp-home-v4 .bvp-v3-final:before{content:"";position:absolute;left:50%;top:-170px;width:340px;height:340px;border-radius:50%;border:1px solid #b18a4b44;box-shadow:inset 0 0 0 35px #fff4,inset 0 0 0 70px #fff2}
.bvp-home-v4 .bvp-v3-final h2{font-size:clamp(4.5rem,9vw,9rem)}
.bvp-home-v4 .bvp-v3-final h2 em{color:var(--v4-pink)}

/* Responsive */
@media(max-width:900px){
  .bvp-v4-hero-grid{grid-template-columns:1fr;gap:5px;padding-top:95px}.bvp-v4-hero-copy{max-width:720px}.bvp-v4-camera{height:420px;min-height:360px;margin-top:-15px}.bvp-v4-camera-body{transform:scale(.82)}.bvp-v4-camera-handle{transform:scale(.82);top:20px}.bvp-v4-camera-tripod{transform:scale(.82);bottom:25px}.bvp-v4-viewfinder-mark{right:3%;top:45%}.bvp-home-v4 .bvp-v3-statement-grid{grid-template-columns:1fr;gap:28px}.bvp-home-v4 .bvp-v3-statement-grid:after{grid-column:auto}.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type{margin-top:8px}.bvp-home-v4 .bvp-v3-entry-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .bvp-v4-hero{min-height:820px}.bvp-v4-hero-film{height:38px;gap:9px;font-size:6px}.bvp-v4-hero-film i{width:14px}.bvp-v4-hero-grid{padding:82px 20px 65px}.bvp-v4-hero-copy h1{font-size:clamp(3.65rem,15vw,5.6rem);margin-bottom:22px}.bvp-v4-hero-copy>p:not(.eyebrow){font-size:.95rem}.bvp-v4-actions .btn{width:100%}.bvp-v4-hero-meta{gap:12px;margin-top:30px}.bvp-v4-camera{height:330px;min-height:300px;margin-top:-15px;transform:scale(.88)}.bvp-v4-camera-body{width:330px;height:225px;transform:none}.bvp-v4-camera-handle{right:19%;width:125px;height:60px;border-width:11px;top:14px}.bvp-v4-lens{width:155px;height:155px;right:-43px;top:38px}.bvp-v4-camera-window{width:80px;height:58px;left:20px;top:58px}.bvp-v4-camera-dial{width:43px;height:43px;left:15%;top:80px}.bvp-v4-camera-foot{left:20px;font-size:6px}.bvp-v4-camera-tripod{gap:52px;bottom:7px}.bvp-v4-camera-tripod i{height:105px}.bvp-v4-viewfinder-mark{display:none}.bvp-v4-hero-bottom{left:20px;right:20px;bottom:14px;font-size:6px}.bvp-v4-hero-bottom i{width:35px}.bvp-home-v4 .bvp-v3-start,.bvp-home-v4 .bvp-v3-statement,.bvp-home-v4 .bvp-v3-slate,.bvp-home-v4 .bvp-v3-process,.bvp-home-v4 .bvp-v3-opportunities,.bvp-home-v4 .bvp-v3-copro{padding:82px 0}.bvp-home-v4 .bvp-v3-start-head{margin-bottom:40px}.bvp-home-v4 .bvp-v3-start-head h2,.bvp-home-v4 .bvp-v3-section-head h2{font-size:clamp(3.1rem,14vw,4.8rem)}.bvp-home-v4 .bvp-v3-entry-grid{grid-template-columns:1fr;gap:10px}.bvp-home-v4 .bvp-v3-entry-grid a{min-height:235px}.bvp-home-v4 .bvp-v3-statement h2{font-size:clamp(3.3rem,14vw,5rem)}.bvp-home-v4 .bvp-v3-projects{grid-template-columns:1fr}.bvp-home-v4 .bvp-v3-project-media{aspect-ratio:4/3}.bvp-home-v4 .bvp-v3-process-line{grid-template-columns:1fr}.bvp-home-v4 .bvp-v3-process-line>div{min-height:185px;border-right:0;border-bottom:1px solid var(--v4-line)}.bvp-home-v4 .bvp-v3-process-line>div:last-child{border-bottom:0}.bvp-home-v4 .bvp-v3-opportunity-card{grid-template-columns:1fr}.bvp-home-v4 .bvp-v3-opportunity-art{min-height:300px}.bvp-home-v4 .bvp-v3-opportunity-copy{padding:45px 25px}.bvp-home-v4 .bvp-v3-opportunity-copy h2{font-size:3.6rem}.bvp-home-v4 .bvp-v3-copro-grid{grid-template-columns:1fr;gap:35px}.bvp-home-v4 .bvp-v3-copro-object{min-height:350px}.bvp-home-v4 .bvp-v3-final{padding:105px 20px}.bvp-home-v4 .bvp-v3-final h2{font-size:clamp(4rem,17vw,6rem)}
}
@media(prefers-reduced-motion:reduce){
  .bvp-v4-camera,.bvp-home-v4 .bvp-v3-entry-grid a,.bvp-home-v4 .bvp-v3-project{transition:none;transform:none}
}


/* BVP HOMEPAGE V5 — studio scale / editorial cinema / no equipment hero */
body.bvp-home-v5{--v5-ink:#171318;--v5-muted:#70656d;--v5-paper:#fcfaf7;--v5-warm:#f2e9e2;--v5-pink:#b91863;--v5-gold:#ad8750;--v5-line:rgba(29,20,25,.13);background:var(--v5-paper);color:var(--v5-ink)}
body.bvp-home-v5 .site-header{z-index:600}
body.bvp-home-v5 .bvp-v3-hero,body.bvp-home-v5 .bvp-v4-hero{display:none}
.bvp-v5-hero{min-height:calc(100svh - 0px);position:relative;display:flex;align-items:center;overflow:hidden;background:#f6eee9}
.bvp-v5-hero-visual{position:absolute;inset:0;background:linear-gradient(115deg,#fdfaf7 0%,#f6eee8 44%,#ead7d5 100%);overflow:hidden}
.bvp-v5-hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,250,247,.96) 0%,rgba(252,250,247,.72) 42%,rgba(252,250,247,.08) 75%),radial-gradient(circle at 76% 54%,#fff8 0 5%,transparent 27%),linear-gradient(135deg,transparent 40%,#7e3d5222 100%)}
.bvp-v5-orb{position:absolute;width:58vw;height:58vw;max-width:820px;max-height:820px;border-radius:50%;right:-8vw;top:13%;background:radial-gradient(circle at 38% 32%,#fffdf8 0 3%,#e7c7cb 18%,#c58b99 36%,#71404e 54%,#2d2027 73%,#171218 100%);box-shadow:-35px 35px 90px #3d1f2c24}
.bvp-v5-orb:before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid #fff6;box-shadow:inset 0 0 0 34px #fff1,inset 0 0 0 70px #fff1}
.bvp-v5-orb:after{content:"";position:absolute;width:45%;height:14%;left:10%;top:18%;border-radius:50%;background:#fff8;filter:blur(18px);transform:rotate(-25deg)}
.bvp-v5-stage{position:absolute;right:12%;bottom:-5%;width:48%;height:50%;transform:skewX(-15deg);background:linear-gradient(90deg,#ffffff03,#ffffff45 48%,#ffffff08);border-left:1px solid #fff5}
.bvp-v5-stage:before,.bvp-v5-stage:after{content:"";position:absolute;bottom:0;width:1px;height:100%;background:#ffffff4}.bvp-v5-stage:before{left:25%}.bvp-v5-stage:after{left:72%}
.bvp-v5-light{position:absolute;width:3px;height:75%;background:linear-gradient(#fff0,#fff8,#fff0);filter:blur(1px);transform:rotate(18deg)}.bvp-v5-light.l1{right:38%;top:5%}.bvp-v5-light.l2{right:25%;top:0;height:58%;transform:rotate(-12deg)}
.bvp-v5-frame{position:absolute;inset:12% 6% 9% 6%;border:1px solid #ffffff40;box-shadow:inset 0 0 0 1px #00000008}.bvp-v5-frame:before,.bvp-v5-frame:after{content:"";position:absolute;width:45px;height:45px;border-color:#6c4754;border-style:solid;opacity:.45}.bvp-v5-frame:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.bvp-v5-frame:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.bvp-v5-frame span,.bvp-v5-frame b{position:absolute;top:-20px;font:700 7px var(--font-body);letter-spacing:.18em;color:#775d66}.bvp-v5-frame span{left:0}.bvp-v5-frame b{right:0;font-weight:700}
.bvp-v5-production-mark{position:absolute;right:5%;bottom:7%;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:end;color:#644751}.bvp-v5-production-mark span{grid-column:1/3;font:800 7px var(--font-body);letter-spacing:.2em}.bvp-v5-production-mark strong{font:800 55px/.8 var(--font-display);letter-spacing:-.08em}.bvp-v5-production-mark small{font:700 7px var(--font-body);letter-spacing:.15em}
.bvp-v5-hero-content{position:relative;z-index:3;padding-top:100px;padding-bottom:100px;width:100%}.bvp-v5-hero-content h1{font:800 clamp(4.2rem,8vw,9rem)/.83 var(--font-display);letter-spacing:-.075em;max-width:850px;margin:16px 0 30px}.bvp-v5-hero-content h1 em{font-style:normal;color:var(--v5-pink)}.bvp-v5-hero-content>p:not(.eyebrow){max-width:570px;font-size:1.08rem;line-height:1.8;color:var(--v5-muted);margin-bottom:30px}.bvp-v5-actions{display:flex;gap:12px;flex-wrap:wrap}.bvp-v5-hero-footer{position:absolute;z-index:4;left:5%;right:5%;bottom:22px;border-top:1px solid #5e46504d;padding-top:11px;display:flex;justify-content:space-between;font:800 7px var(--font-body);letter-spacing:.17em;color:#6d5c63}
.bvp-v5-manifesto{padding:145px 0;background:#fff}.bvp-v5-manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:end}.bvp-v5-manifesto h2,.bvp-v5-section-head h2{font:800 clamp(4rem,7vw,7.6rem)/.84 var(--font-display);letter-spacing:-.07em}.bvp-v5-manifesto h2 em,.bvp-v5-section-head h2 em,.bvp-v5-copro h2 em,.bvp-v5-final h2 em{font-style:normal;color:var(--v5-pink)}.bvp-v5-manifesto-grid>div:last-child{max-width:510px;padding-bottom:5px}.bvp-v5-manifesto p:not(.eyebrow){font-size:1.03rem;line-height:1.9;color:var(--v5-muted)}.bvp-v5-link{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font:800 9px var(--font-body);letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #33242b55;padding-bottom:9px}.bvp-v5-link i{color:var(--v5-pink)}
.bvp-v5-entry{padding:130px 0;background:var(--v5-warm)}.bvp-v5-section-head{margin-bottom:55px}.bvp-v5-section-head>h2{max-width:850px}.bvp-v5-entry-stage{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v5-line);border-bottom:1px solid var(--v5-line)}.bvp-v5-entry-item{min-height:330px;padding:25px 22px 22px;border-right:1px solid var(--v5-line);position:relative;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;transition:background .45s var(--ease),padding .45s var(--ease)}.bvp-v5-entry-item:first-child{border-left:1px solid var(--v5-line)}.bvp-v5-entry-item:hover{background:#fff;padding-bottom:30px}.bvp-v5-entry-item span{position:absolute;top:24px;left:22px;font:800 9px var(--font-body);color:#9a747f}.bvp-v5-entry-item strong{font:800 clamp(1.55rem,2.1vw,2.4rem)/.9 var(--font-display);letter-spacing:-.045em}.bvp-v5-entry-item small{margin-top:12px;color:var(--v5-muted);font-size:.82rem;max-width:210px;line-height:1.5}.bvp-v5-entry-item>i{position:absolute;right:22px;top:25px;color:var(--v5-gold);opacity:.5;transition:transform .45s var(--ease)}.bvp-v5-entry-item:hover>i{transform:translate(5px,-5px);opacity:1}
.bvp-v5-slate{padding:145px 0;background:#fff}.bvp-v5-section-head.split{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.bvp-v5-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bvp-v5-project{text-decoration:none;background:#f5eee8;display:block;overflow:hidden}.bvp-v5-project-art{aspect-ratio:3/4;position:relative;overflow:hidden;background:linear-gradient(135deg,#e4d3cc,#9c6d77)}.bvp-v5-project-art img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.9)}.bvp-v5-project:hover img{transform:scale(1.04)}.bvp-v5-project-art:after{content:"";position:absolute;inset:15px;border:1px solid #fff6;pointer-events:none}.bvp-v5-project-index{position:absolute;left:22px;top:20px;color:#fff;font:800 7px var(--font-body);letter-spacing:.2em;text-shadow:0 1px 8px #0008}.bvp-v5-placeholder{position:absolute;inset:0;display:grid;place-items:center;font:800 8rem/.8 var(--font-display);color:#fff5;letter-spacing:-.08em}.bvp-v5-project-copy{padding:24px 24px 30px}.bvp-v5-project-copy small{font:700 8px var(--font-body);letter-spacing:.14em;color:#98717d;text-transform:uppercase}.bvp-v5-project-copy h3{font-size:2.2rem;margin:10px 0 8px}.bvp-v5-project-copy p{color:var(--v5-muted);line-height:1.65}.bvp-v5-project-copy span{font:800 8px var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--v5-pink)}.bvp-v5-empty{min-height:390px;background:#f1e5df;padding:55px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.bvp-v5-empty:before{content:"BVP";position:absolute;right:-20px;top:-100px;font:900 32rem/.8 var(--font-display);color:#fff6;letter-spacing:-.12em}.bvp-v5-empty span{font:800 8px var(--font-body);letter-spacing:.2em;color:#9b6575}.bvp-v5-empty strong{font:800 clamp(3rem,5vw,5.4rem)/.86 var(--font-display);max-width:700px;letter-spacing:-.06em;margin:16px 0}.bvp-v5-empty a{font:800 9px var(--font-body);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--v5-pink)}
.bvp-v5-engine{padding:140px 0;background:#f9f6f2;overflow:hidden}.bvp-v5-engine-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v5-line);border-bottom:1px solid var(--v5-line)}.bvp-v5-engine-line>div{min-height:260px;padding:25px;border-right:1px solid var(--v5-line);position:relative}.bvp-v5-engine-line>div:first-child{border-left:1px solid var(--v5-line)}.bvp-v5-engine-line span{font:800 8px var(--font-body);color:var(--v5-pink)}.bvp-v5-engine-line strong{display:block;margin-top:85px;font:800 2rem/.9 var(--font-display);letter-spacing:-.04em}.bvp-v5-engine-line small{display:block;max-width:220px;margin-top:14px;color:var(--v5-muted);line-height:1.5}
.bvp-v5-opportunities{padding:140px 0;background:#1b151a;color:#fff}.bvp-v5-opportunity-wrap{display:grid;grid-template-columns:1fr .85fr;gap:9%;align-items:center}.bvp-v5-opportunities h2{color:#fff;font:800 clamp(4rem,6.7vw,7rem)/.84 var(--font-display);letter-spacing:-.07em}.bvp-v5-opportunities p:not(.eyebrow){color:#c9bec5;max-width:550px;line-height:1.8}.bvp-v5-opportunities .eyebrow{color:#e5bdcc}.bvp-v5-link.light{color:#fff;border-color:#fff4}.bvp-v5-stage-wall{height:510px;background:linear-gradient(145deg,#3a2930,#171217);border:1px solid #fff1;position:relative;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:30px 35px 70px #0005}.bvp-v5-stage-wall:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-260px;top:-130px;border:1px solid #e2b65e44;box-shadow:inset 0 0 0 80px #ffffff05,inset 0 0 0 160px #ffffff04}.bvp-v5-stage-wall:after{content:"";position:absolute;inset:35px;border:1px solid #fff2}.bvp-v5-stage-wall span{font:800 9px var(--font-body);letter-spacing:.2em;color:#e5c27c;position:relative;z-index:1}.bvp-v5-stage-wall strong{font:800 clamp(4rem,7vw,7.5rem)/.78 var(--font-display);letter-spacing:-.08em;position:relative;z-index:1}.bvp-v5-stage-wall small{font:700 7px var(--font-body);letter-spacing:.16em;color:#cbbcc3;margin-top:20px;position:relative;z-index:1}.bvp-v5-stage-wall i{position:absolute;width:1px;height:70%;left:32%;top:0;background:#fff2;transform:rotate(22deg)}
.bvp-v5-copro{padding:145px 0;background:#fff}.bvp-v5-copro-grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.bvp-v5-copro h2{font:800 clamp(3.8rem,6vw,6.5rem)/.84 var(--font-display);letter-spacing:-.07em}.bvp-v5-copro p:not(.eyebrow){max-width:560px;line-height:1.85;color:var(--v5-muted);margin:24px 0 30px}.bvp-v5-copro-visual{height:470px;background:#eee1d9;position:relative;padding:32px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.bvp-v5-copro-visual:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-170px;top:-160px;border:1px solid #75465255;box-shadow:inset 0 0 0 55px #fff2,inset 0 0 0 110px #fff1}.bvp-v5-copro-visual span{font:800 8px var(--font-body);letter-spacing:.18em;color:#76525c}.bvp-v5-copro-visual strong{font:800 12rem/.7 var(--font-display);letter-spacing:-.12em;color:#ffffff80;position:relative}.bvp-v5-copro-visual small{font:800 7px var(--font-body);letter-spacing:.15em;color:#76525c;position:relative}.bvp-v5-copro-visual i{position:absolute;left:15%;right:15%;top:50%;height:1px;background:#76525c55}
.bvp-v5-final{padding:155px 0;text-align:center;background:linear-gradient(135deg,#fffaf6,#f0dce3)}.bvp-v5-final h2{font:800 clamp(4.4rem,8.5vw,9rem)/.82 var(--font-display);letter-spacing:-.08em;margin:16px auto 25px}.bvp-v5-final p:not(.eyebrow){color:var(--v5-muted);margin-bottom:30px}
@media(max-width:900px){.bvp-v5-hero-content{padding-top:150px}.bvp-v5-hero-visual:before{background:linear-gradient(90deg,#fcfaf7f2,#fcfaf7a8 55%,#fcfaf733),linear-gradient(135deg,transparent 40%,#7e3d5222)}.bvp-v5-orb{width:75vw;height:75vw;right:-22vw;top:31%}.bvp-v5-manifesto-grid,.bvp-v5-opportunity-wrap,.bvp-v5-copro-grid{grid-template-columns:1fr;gap:45px}.bvp-v5-entry-stage{grid-template-columns:1fr 1fr}.bvp-v5-entry-item{border-bottom:1px solid var(--v5-line)}.bvp-v5-project-grid{grid-template-columns:1fr 1fr}.bvp-v5-engine-line{grid-template-columns:1fr 1fr}.bvp-v5-engine-line>div:nth-child(2n){border-right:0}.bvp-v5-stage-wall{height:420px}}
@media(max-width:600px){body.bvp-home-v5{padding-bottom:76px}.bvp-v5-hero{min-height:850px}.bvp-v5-hero-content{padding:125px 20px 100px}.bvp-v5-hero-content h1{font-size:clamp(3.8rem,16vw,5.7rem)}.bvp-v5-hero-content>p:not(.eyebrow){font-size:.95rem}.bvp-v5-hero-content .btn{width:100%}.bvp-v5-hero-footer{left:20px;right:20px;bottom:13px;font-size:6px}.bvp-v5-hero-footer span:nth-child(2){display:none}.bvp-v5-manifesto,.bvp-v5-entry,.bvp-v5-slate,.bvp-v5-engine,.bvp-v5-opportunities,.bvp-v5-copro{padding:88px 0}.bvp-v5-manifesto h2,.bvp-v5-section-head h2{font-size:clamp(3.4rem,15vw,5.2rem)}.bvp-v5-entry-stage,.bvp-v5-project-grid,.bvp-v5-engine-line{grid-template-columns:1fr}.bvp-v5-entry-item{min-height:210px;border-left:1px solid var(--v5-line)!important}.bvp-v5-project-art{aspect-ratio:4/5}.bvp-v5-section-head.split{display:block}.bvp-v5-section-head.split .bvp-v5-link{margin-top:20px}.bvp-v5-opportunities h2{font-size:clamp(3.7rem,15vw,5.5rem)}.bvp-v5-stage-wall{height:360px}.bvp-v5-copro h2{font-size:clamp(3.6rem,14vw,5.3rem)}.bvp-v5-copro-visual{height:330px}.bvp-v5-copro-visual strong{font-size:8rem}.bvp-v5-final{padding:105px 20px}.bvp-v5-final h2{font-size:clamp(4rem,17vw,6.3rem)}.bvp-v5-final .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.bvp-v5-project-art img,.bvp-v5-entry-item{transition:none}}

/* ==========================================================================
   BVP HOMEPAGE V6 — CINEMATIC STUDIO / PRODUCTION WORLD
   A complete homepage layer replacing the V5 editorial experiment.
   Visual language: production architecture, real slate imagery, depth,
   precision, movement and premium light-theme restraint.
   ========================================================================== */

body.bvp-home-v6{
  --v6-ink:#151116;
  --v6-muted:#6b626b;
  --v6-paper:#fbf8f4;
  --v6-white:#fff;
  --v6-rose:#f2e4e1;
  --v6-pink:#c51367;
  --v6-pink-soft:#eaa2bf;
  --v6-gold:#b48a4d;
  --v6-line:rgba(21,17,22,.14);
  background:var(--v6-paper);
  color:var(--v6-ink);
}
body.bvp-home-v6 .site-header{z-index:800}
body.bvp-home-v6 .mobile-dock{z-index:900}

/* HERO — a studio wall, not a camera, lens or generic orb */
.bvp6-hero{
  min-height:100svh;
  position:relative;
  overflow:hidden;
  background:#f5eee9;
  display:flex;
  align-items:center;
}
.bvp6-hero-bg{position:absolute;inset:0;overflow:hidden;background:
  radial-gradient(circle at 78% 38%,rgba(205,83,126,.16),transparent 24%),
  linear-gradient(120deg,#fffdf9 0%,#f6eee8 52%,#ead9d7 100%);
}
.bvp6-grid{
  position:absolute;inset:-10%;
  opacity:.42;
  background-image:linear-gradient(rgba(76,45,57,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(76,45,57,.07) 1px,transparent 1px);
  background-size:80px 80px;
  transform:perspective(900px) rotateX(62deg) translateY(22%);
  transform-origin:center bottom;
}
.bvp6-glow{
  position:absolute;width:58vw;height:58vw;right:-16vw;top:-13vw;border-radius:50%;
  background:radial-gradient(circle,#fff9 0 7%,rgba(218,152,172,.42) 23%,rgba(154,61,96,.16) 48%,transparent 69%);
  filter:blur(2px);
}
.bvp6-orbit{
  position:absolute;width:56vw;height:56vw;right:-13vw;top:-9vw;border-radius:50%;
  border:1px solid rgba(115,65,83,.2);
  box-shadow:inset 0 0 0 44px rgba(255,255,255,.12),inset 0 0 0 45px rgba(255,255,255,.06);
  transform:rotate(-18deg);
}
.bvp6-orbit:before,.bvp6-orbit:after{
  content:"";position:absolute;border:1px solid rgba(115,65,83,.14);border-radius:50%;
}
.bvp6-orbit:before{inset:11% 18%;transform:rotate(27deg)}
.bvp6-orbit:after{inset:-5% 28%;transform:rotate(-31deg)}
.bvp6-monogram{
  position:absolute;right:3%;bottom:-7%;font:900 31vw/.72 var(--font-display);
  letter-spacing:-.13em;color:rgba(255,255,255,.55);
  text-shadow:0 20px 60px rgba(79,39,53,.08);
}
.bvp6-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:20%;
  background:linear-gradient(transparent,rgba(66,34,46,.07));
  pointer-events:none;
}
.bvp6-hero-inner{
  width:100%;position:relative;z-index:5;display:grid;grid-template-columns:1fr 1.05fr;
  gap:4vw;align-items:center;padding-top:120px;padding-bottom:90px;
}
.bvp6-hero-copy{max-width:700px}
.bvp6-kicker,.bvp6-section-tag{
  display:flex;align-items:center;gap:12px;font:800 8px var(--font-body);
  letter-spacing:.19em;text-transform:uppercase;color:#7b6570;
}
.bvp6-kicker span:first-child,.bvp6-section-tag span{color:var(--v6-pink)}
.bvp6-kicker i,.bvp6-section-tag i{height:1px;width:42px;background:var(--v6-gold);display:block}
.bvp6-hero-copy h1{
  font:900 clamp(4.5rem,7.8vw,8.8rem)/.82 var(--font-display);
  letter-spacing:-.085em;margin:22px 0 28px;max-width:780px;
}
.bvp6-hero-copy h1 em,.bvp6-intro h2 em,.bvp6-section-head h2 em,.bvp6-process-title h2 em,
.bvp6-opportunity-top h2 em,.bvp6-copro-copy h2 em,.bvp6-final h2 em{
  color:var(--v6-pink);font-style:normal;
}
.bvp6-hero-lede{max-width:530px;font-size:1.02rem;line-height:1.8;color:var(--v6-muted);margin-bottom:30px}
.bvp6-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.bvp6-text-link,.bvp6-arrow-link{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;font:800 9px var(--font-body);
  letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(21,17,22,.35);padding-bottom:9px;
}
.bvp6-text-link i,.bvp6-arrow-link i{color:var(--v6-pink);transition:transform .35s var(--ease)}
.bvp6-text-link:hover i,.bvp6-arrow-link:hover i{transform:translate(4px,-2px)}
.bvp6-proofline{
  display:flex;gap:20px;flex-wrap:wrap;margin-top:45px;padding-top:15px;border-top:1px solid var(--v6-line);
  font:800 7px var(--font-body);letter-spacing:.15em;color:#8b7c84;
}
.bvp6-proofline span:not(:last-child):after{content:"·";margin-left:20px;color:var(--v6-gold)}

/* Hero production wall */
.bvp6-hero-stage{
  position:relative;height:min(700px,72vh);min-height:560px;max-width:650px;margin-left:auto;
  transform:perspective(1400px) rotateY(-4deg) rotateX(2deg);
}
.bvp6-stage-label{position:absolute;z-index:8;top:2%;left:2%;right:2%;display:flex;justify-content:space-between;
  font:800 7px var(--font-body);letter-spacing:.18em;color:#745d67}
.bvp6-stage-floor{
  position:absolute;left:0;right:0;bottom:5%;height:42%;transform:perspective(600px) rotateX(58deg);
  transform-origin:center bottom;border:1px solid rgba(104,70,84,.18);
  background:linear-gradient(rgba(110,74,87,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(110,74,87,.07) 1px,transparent 1px);
  background-size:54px 54px;box-shadow:0 -20px 60px rgba(90,46,63,.07);
}
.bvp6-frame{
  position:absolute;overflow:hidden;background:#292027;border:1px solid rgba(255,255,255,.48);
  box-shadow:25px 32px 70px rgba(42,20,31,.2);transition:transform .8s var(--ease),box-shadow .8s var(--ease);
}
.bvp6-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03)}
.bvp6-frame:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.3);pointer-events:none}
.frame-back{width:46%;height:53%;right:0;top:18%;transform:rotate(7deg);opacity:.72}
.frame-mid{width:52%;height:59%;right:17%;top:12%;transform:rotate(-3deg);opacity:.9}
.frame-main{width:61%;height:72%;right:29%;top:17%;z-index:4;transform:rotate(-1deg)}
.bvp6-frame:hover{transform:translateY(-10px) rotate(0deg);box-shadow:30px 42px 90px rgba(42,20,31,.27)}
.bvp6-frame-caption{position:absolute;left:22px;right:22px;bottom:22px;z-index:3;color:#fff;text-shadow:0 2px 12px #000;
  display:flex;flex-direction:column;gap:4px}
.bvp6-frame-caption span{font:800 7px var(--font-body);letter-spacing:.17em}
.bvp6-frame-caption strong{font:800 1.55rem/.95 var(--font-display)}
.bvp6-frame-art{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:25px;
  background:linear-gradient(145deg,#39222f,#d07f9e 58%,#f4d2d7);color:#fff}
.art-two{background:linear-gradient(145deg,#e7d2ca,#7a4057 62%,#251a21)}
.art-three{background:linear-gradient(145deg,#b98b61,#f1dfcf 48%,#5a3944)}
.bvp6-frame-art b{font:900 5rem/.8 var(--font-display);opacity:.55}
.bvp6-frame-art span{font:800 7px var(--font-body);letter-spacing:.18em}
.bvp6-stage-chip{
  position:absolute;z-index:7;left:0;bottom:10%;padding:18px 22px;background:rgba(255,253,249,.92);
  border:1px solid rgba(70,44,55,.15);box-shadow:15px 18px 45px rgba(49,26,36,.1);
  display:flex;flex-direction:column;gap:3px;min-width:205px;
}
.bvp6-stage-chip small,.bvp6-stage-chip span{font:800 7px var(--font-body);letter-spacing:.16em;color:#8b737d}
.bvp6-stage-chip strong{font:900 1.25rem/.9 var(--font-display)}
.bvp6-stage-meta{position:absolute;z-index:8;right:2%;bottom:5%;display:flex;align-items:center;gap:8px;color:#6e5962}
.bvp6-stage-meta>span{font:900 4rem/.7 var(--font-display);letter-spacing:-.08em}
.bvp6-stage-meta small{font:800 7px/1.2 var(--font-body);letter-spacing:.15em}
.bvp6-scroll{position:absolute;z-index:7;left:5%;right:5%;bottom:18px;display:flex;align-items:center;gap:12px;
  font:800 7px var(--font-body);letter-spacing:.18em;color:#7b6870}
.bvp6-scroll i{height:1px;flex:1;background:var(--v6-line)}

/* Intro */
.bvp6-intro{padding:125px 0 0;background:#fff;overflow:hidden}
.bvp6-intro .bvp6-section-tag{margin-bottom:55px}
.bvp6-section-tag small{margin-left:auto;color:#9a8d95}
.bvp6-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:end}
.bvp6-intro-title>p{font:700 1rem var(--font-body);color:var(--v6-pink);margin-bottom:18px}
.bvp6-intro-title h2,.bvp6-section-head h2,.bvp6-process-title h2,.bvp6-opportunity-top h2,.bvp6-copro-copy h2{
  font:900 clamp(3.9rem,6.4vw,7rem)/.86 var(--font-display);letter-spacing:-.075em;
}
.bvp6-intro-note{border-left:1px solid var(--v6-line);padding:8px 0 8px 35px;max-width:500px}
.bvp6-note-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--v6-line);padding-bottom:10px;margin-bottom:22px;
  font:800 7px var(--font-body);letter-spacing:.16em;color:#927d87}
.bvp6-intro-note p{font-size:.96rem;line-height:1.85;color:var(--v6-muted)}
.bvp6-arrow-link{margin-top:10px}
.bvp6-marquee{margin-top:115px;border-top:1px solid var(--v6-line);border-bottom:1px solid var(--v6-line);height:82px;
  display:flex;align-items:center;justify-content:space-around;white-space:nowrap;overflow:hidden;font:900 clamp(1.8rem,4vw,4rem) var(--font-display);
  letter-spacing:-.06em;color:#dfd5d8}
.bvp6-marquee i{font-style:normal;font-size:1rem;color:var(--v6-gold)}

/* Universe */
.bvp6-universe{padding:125px 0;background:#f2e8e2}
.bvp6-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}
.bvp6-section-head>div{max-width:850px}
.bvp6-section-head h2{margin-top:22px}
.bvp6-section-head>p{max-width:360px;line-height:1.8;color:var(--v6-muted);margin:0 0 4px}
.bvp6-universe-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr 1fr;gap:12px}
.bvp6-door{min-width:0;text-decoration:none;color:var(--v6-ink)}
.bvp6-door-art{height:370px;position:relative;overflow:hidden;background:
  radial-gradient(circle at 70% 25%,#fff8,transparent 18%),linear-gradient(145deg,#b82c68,#401d35);
  padding:24px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 18px 45px rgba(55,30,40,.08);
}
.door-tall .bvp6-door-art{height:450px}
.bvp6-door-art:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.27)}
.bvp6-door-art:after{content:"";position:absolute;width:70%;height:70%;right:-25%;top:-20%;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 0 40px rgba(255,255,255,.04),inset 0 0 0 80px rgba(255,255,255,.035)}
.bvp6-door-art>span{position:absolute;top:26px;left:27px;z-index:2;color:#fff9;font:800 8px var(--font-body);letter-spacing:.17em}
.bvp6-door-art strong{position:relative;z-index:2;color:#fff;font:900 clamp(2.2rem,3.4vw,4rem)/.82 var(--font-display);letter-spacing:-.06em}
.bvp6-door-art>i{position:absolute;z-index:3;top:25px;right:26px;color:#fff;opacity:.65}
.bvp6-door-lines{position:absolute;left:0;right:0;bottom:0;height:35%;background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.1) 18.2% 18.35%);transform:skewY(-13deg);transform-origin:left bottom}
.art-crew{background:linear-gradient(145deg,#27202a,#8c3e61 52%,#df9a9f)}
.art-story{background:linear-gradient(145deg,#e2b88d,#8c425d 54%,#30202a)}
.art-partner{background:linear-gradient(145deg,#34242d,#b98d55 55%,#e8d8b6)}
.bvp6-door-copy{padding:18px 3px 7px;display:flex;justify-content:space-between;align-items:end;gap:15px;border-bottom:1px solid var(--v6-line)}
.bvp6-door-copy small{font:800 7px/1.3 var(--font-body);letter-spacing:.13em;color:#907a84;max-width:180px}
.bvp6-door-copy b{font:800 1rem var(--font-display);white-space:nowrap}
.bvp6-door:hover .bvp6-door-art{transform:translateY(-6px);box-shadow:0 25px 60px rgba(55,30,40,.17)}
.bvp6-door-art{transition:transform .6s var(--ease),box-shadow .6s var(--ease)}

/* Slate */
.bvp6-slate{padding:135px 0;background:#fff}
.bvp6-slate .slate-head{margin-bottom:48px}
.bvp6-slate-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bvp6-slate-card{text-decoration:none;background:#f5efeb;color:var(--v6-ink);overflow:hidden;box-shadow:0 8px 28px rgba(35,21,28,.06);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.bvp6-slate-card:hover{transform:translateY(-9px);box-shadow:0 28px 65px rgba(35,21,28,.15)}
.bvp6-slate-image{position:relative;aspect-ratio:3/4;background:linear-gradient(145deg,#e7d6cf,#6c3a50);overflow:hidden}
.bvp6-slate-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.bvp6-slate-card:hover img{transform:scale(1.045)}
.bvp6-slate-image:after{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.32);pointer-events:none}
.bvp6-card-no,.bvp6-card-state{position:absolute;z-index:2;color:#fff;text-shadow:0 2px 8px #0008;font:800 7px var(--font-body);letter-spacing:.16em}
.bvp6-card-no{top:20px;left:20px;font-size:11px}
.bvp6-card-state{right:20px;top:20px}
.bvp6-slate-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}
.bvp6-slate-fallback span{font:800 8px var(--font-body);letter-spacing:.2em}
.bvp6-slate-fallback b{font:900 8rem/.75 var(--font-display);opacity:.35}
.bvp6-slate-copy{padding:20px 20px 24px}
.bvp6-slate-copy small{font:800 7px var(--font-body);letter-spacing:.14em;color:#9a7682;text-transform:uppercase}
.bvp6-slate-copy h3{font:900 1.8rem/.95 var(--font-display);margin:10px 0}
.bvp6-slate-copy p{font-size:.84rem;line-height:1.6;color:var(--v6-muted);min-height:55px}
.bvp6-slate-copy>span{font:800 8px var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--v6-pink)}
.bvp6-empty-slate{min-height:420px;background:#f0e2dc;display:flex;justify-content:flex-end;flex-direction:column;padding:50px;position:relative;overflow:hidden}
.bvp6-empty-slate:after{content:"BVP";position:absolute;right:-4%;top:-22%;font:900 28rem/.7 var(--font-display);color:#fff7;letter-spacing:-.12em}
.bvp6-empty-slate span,.bvp6-empty-slate a{position:relative;z-index:2;font:800 8px var(--font-body);letter-spacing:.18em;color:#956676;text-transform:uppercase}
.bvp6-empty-slate strong{position:relative;z-index:2;font:900 clamp(3.2rem,6vw,6rem)/.82 var(--font-display);letter-spacing:-.07em;max-width:800px;margin:15px 0 22px}

/* Production system — controlled dark interval */
.bvp6-process{position:relative;overflow:hidden;background:#171319;color:#fff;padding:130px 0}
.bvp6-process .container{position:relative;z-index:3}
.bvp6-process .light{color:#dfbdc9}
.bvp6-process .light span{color:#ef79ad}
.bvp6-process .light i{background:#b48a4d}
.bvp6-process .light small{color:#87747f}
.bvp6-process-title{display:flex;align-items:end;justify-content:space-between;gap:60px;margin:25px 0 60px}
.bvp6-process-title h2{color:#fff;max-width:850px;margin:0}
.bvp6-process-title p{max-width:310px;color:#a99ca7;line-height:1.8;margin:0 0 7px}
.bvp6-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.bvp6-process-grid>div{min-height:285px;padding:24px 22px;border-right:1px solid rgba(255,255,255,.13);position:relative}
.bvp6-process-grid>div:first-child{border-left:1px solid rgba(255,255,255,.13)}
.bvp6-process-grid span{font:800 8px var(--font-body);letter-spacing:.16em;color:#e16a9e}
.bvp6-process-grid strong{display:block;font:900 2.25rem/.85 var(--font-display);margin-top:110px;letter-spacing:-.05em}
.bvp6-process-grid p{font-size:.78rem;line-height:1.6;color:#9e929d;margin-top:14px}
.bvp6-process-bg{position:absolute;inset:0;opacity:.45}
.bvp6-process-bg div{position:absolute;border:1px solid rgba(227,177,192,.12);border-radius:50%}
.bvp6-process-bg div:nth-child(1){width:700px;height:700px;right:-220px;top:-300px}
.bvp6-process-bg div:nth-child(2){width:480px;height:480px;right:-100px;top:-190px}
.bvp6-process-bg div:nth-child(3){width:240px;height:240px;right:25px;top:-70px}
.bvp6-process-bg div:nth-child(4){width:100%;height:1px;left:0;top:58%;border-radius:0;border-color:rgba(227,177,192,.08);transform:rotate(-7deg)}

/* Opportunities */
.bvp6-opportunities{padding:135px 0;background:#f4e8e2}
.bvp6-opportunity-top{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:end;margin-bottom:55px}
.bvp6-opportunity-top>div:last-child{padding-bottom:7px}
.bvp6-opportunity-top p{line-height:1.8;color:var(--v6-muted);margin-bottom:28px}
.bvp6-opportunity-board{height:500px;display:grid;grid-template-columns:75px 1fr;background:#21191f;box-shadow:0 30px 70px rgba(45,25,35,.18);overflow:hidden}
.bvp6-board-rail{display:flex;flex-direction:column;justify-content:space-around;align-items:center;border-right:1px solid rgba(255,255,255,.13)}
.bvp6-board-rail span{writing-mode:vertical-rl;transform:rotate(180deg);font:800 7px var(--font-body);letter-spacing:.18em;color:#9b8993}
.bvp6-board-main{position:relative;overflow:hidden;padding:38px}
.bvp6-board-bvp{position:absolute;right:-1%;bottom:-18%;font:900 27rem/.7 var(--font-display);letter-spacing:-.14em;color:rgba(255,255,255,.035)}
.bvp6-board-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}
.bvp6-board-copy small{font:800 8px var(--font-body);letter-spacing:.2em;color:#d8af70}
.bvp6-board-copy strong{font:900 clamp(5rem,10vw,10rem)/.72 var(--font-display);letter-spacing:-.1em;color:#fff;margin:18px 0}
.bvp6-board-copy span{font:800 7px var(--font-body);letter-spacing:.18em;color:#a99aa4}
.bvp6-board-circle{position:absolute;width:480px;height:480px;border:1px solid rgba(218,179,111,.28);border-radius:50%;right:7%;top:3%;box-shadow:inset 0 0 0 55px rgba(255,255,255,.018),inset 0 0 0 110px rgba(255,255,255,.018)}
.bvp6-board-circle:before,.bvp6-board-circle:after{content:"";position:absolute;inset:17%;border:1px solid rgba(255,255,255,.06);border-radius:50%}
.bvp6-board-circle:after{inset:37%;}

/* Co-produce */
.bvp6-coproduce{padding:135px 0;background:#fff}
.bvp6-copro-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}
.bvp6-copro-visual{height:560px;background:#e9d9d2;position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.bvp6-copro-visual:before{content:"";position:absolute;inset:18px;border:1px solid rgba(76,48,59,.16)}
.bvp6-copro-ring{position:absolute;width:570px;height:570px;right:-190px;top:-130px;border-radius:50%;border:1px solid rgba(93,53,69,.25);box-shadow:inset 0 0 0 52px rgba(255,255,255,.13),inset 0 0 0 104px rgba(255,255,255,.09)}
.bvp6-copro-ring:before,.bvp6-copro-ring:after{content:"";position:absolute;border:1px solid rgba(93,53,69,.15);border-radius:50%}
.bvp6-copro-ring:before{inset:13% 25%;transform:rotate(30deg)}
.bvp6-copro-ring:after{inset:-5% 35%;transform:rotate(-25deg)}
.bvp6-copro-cross{position:absolute;left:13%;right:13%;top:50%;height:1px;background:rgba(93,53,69,.2)}
.bvp6-copro-visual span,.bvp6-copro-visual small{position:relative;z-index:2;font:800 8px var(--font-body);letter-spacing:.18em;color:#755866}
.bvp6-copro-visual strong{position:relative;z-index:2;font:900 clamp(4.7rem,8vw,8rem)/.7 var(--font-display);letter-spacing:-.1em;color:#fff8}
.bvp6-copro-copy p{max-width:560px;line-height:1.85;color:var(--v6-muted);margin:25px 0 30px}
.bvp6-copro-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:40px;padding-top:15px;border-top:1px solid var(--v6-line);font:800 7px var(--font-body);letter-spacing:.16em;color:#8e7c85}
.bvp6-copro-meta span:not(:last-child):after{content:"·";margin-left:18px;color:var(--v6-gold)}

/* Final */
.bvp6-final{position:relative;overflow:hidden;text-align:center;padding:155px 0 170px;background:linear-gradient(135deg,#fffaf5,#f0dce4)}
.bvp6-final:before{content:"";position:absolute;width:720px;height:720px;border-radius:50%;left:50%;top:-430px;transform:translateX(-50%);border:1px solid rgba(94,52,69,.13);box-shadow:inset 0 0 0 70px rgba(255,255,255,.35),inset 0 0 0 140px rgba(255,255,255,.22)}
.bvp6-final-no{position:absolute;right:5%;top:30px;font:900 7px var(--font-body);letter-spacing:.18em;color:#8f7781}
.bvp6-final .container{position:relative;z-index:2}
.bvp6-final-mark{display:flex;justify-content:center;gap:0;margin-bottom:40px;filter:drop-shadow(0 10px 20px rgba(68,34,48,.12))}
.bvp6-final-mark span{font:900 4.2rem/.7 var(--font-display);letter-spacing:-.16em;color:#fff}
.bvp6-final-mark span:nth-child(1){transform:translateY(8px) rotate(-10deg)}
.bvp6-final-mark span:nth-child(2){color:var(--v6-pink)}
.bvp6-final-mark span:nth-child(3){transform:translateY(-5px) rotate(9deg)}
.bvp6-final .bvp6-section-tag{justify-content:center}
.bvp6-final h2{font:900 clamp(4.5rem,8.7vw,9rem)/.78 var(--font-display);letter-spacing:-.09em;margin:22px auto 25px}
.bvp6-final p:not(.bvp6-section-tag){color:var(--v6-muted);margin-bottom:30px}

/* Responsive */
@media(max-width:1050px){
  .bvp6-hero-inner{grid-template-columns:1fr;gap:0;padding-top:145px}
  .bvp6-hero-copy{max-width:760px}
  .bvp6-hero-stage{height:610px;max-width:760px;width:100%;margin:15px 0 0 auto}
  .bvp6-proofline{margin-top:30px}
  .bvp6-universe-grid{grid-template-columns:1fr 1fr}
  .bvp6-slate-rail{grid-template-columns:1fr 1fr}
  .bvp6-opportunity-top{grid-template-columns:1fr;gap:25px}
  .bvp6-copro-wrap{grid-template-columns:1fr;gap:50px}
  .bvp6-copro-visual{max-width:700px}
}
@media(max-width:720px){
  body.bvp-home-v6{padding-bottom:78px}
  .bvp6-hero{min-height:900px}
  .bvp6-hero-inner{padding-top:125px;padding-bottom:70px}
  .bvp6-hero-copy h1{font-size:clamp(4rem,17vw,6.2rem);margin:18px 0 22px}
  .bvp6-hero-lede{font-size:.94rem;line-height:1.7}
  .bvp6-hero-actions .btn{width:100%}
  .bvp6-text-link{margin-left:2px}
  .bvp6-proofline{gap:8px 13px;margin-top:27px}
  .bvp6-proofline span:not(:last-child):after{margin-left:13px}
  .bvp6-hero-stage{height:440px;min-height:0;margin-top:5px;transform:none}
  .frame-back{width:47%;height:54%;right:-2%;top:14%}
  .frame-mid{width:54%;height:61%;right:15%;top:9%}
  .frame-main{width:63%;height:72%;right:25%;top:14%}
  .bvp6-stage-chip{left:0;bottom:3%;min-width:170px;padding:13px 15px}
  .bvp6-stage-meta{right:0;bottom:1%}
  .bvp6-stage-meta>span{font-size:2.8rem}
  .bvp6-scroll{bottom:10px;left:20px;right:20px}
  .bvp6-monogram{font-size:44vw;bottom:6%}
  .bvp6-section-tag small{display:none}
  .bvp6-intro,.bvp6-universe,.bvp6-slate,.bvp6-process,.bvp6-opportunities,.bvp6-coproduce{padding:88px 0}
  .bvp6-intro-grid{grid-template-columns:1fr;gap:38px}
  .bvp6-intro-title h2,.bvp6-section-head h2,.bvp6-process-title h2,.bvp6-opportunity-top h2,.bvp6-copro-copy h2{font-size:clamp(3.5rem,15vw,5.5rem)}
  .bvp6-intro-note{padding:4px 0 4px 20px}
  .bvp6-marquee{margin-top:75px;height:62px}
  .bvp6-section-head{display:block;margin-bottom:38px}
  .bvp6-section-head>p{margin-top:20px}
  .bvp6-universe-grid{grid-template-columns:1fr 1fr;gap:9px}
  .bvp6-door-art,.door-tall .bvp6-door-art{height:280px}
  .bvp6-door-art strong{font-size:2rem}
  .bvp6-door-copy{display:block;padding:13px 2px}
  .bvp6-door-copy b{display:block;margin-top:6px}
  .bvp6-slate-rail{grid-template-columns:1fr 1fr;gap:10px}
  .bvp6-slate-copy{padding:15px}
  .bvp6-slate-copy h3{font-size:1.4rem}
  .bvp6-slate-copy p{font-size:.78rem;min-height:0}
  .bvp6-process-title{display:block;margin:22px 0 38px}
  .bvp6-process-title p{margin-top:18px}
  .bvp6-process-grid{grid-template-columns:1fr 1fr}
  .bvp6-process-grid>div{min-height:210px;padding:18px 15px}
  .bvp6-process-grid>div:nth-child(2){border-right:0}
  .bvp6-process-grid strong{margin-top:75px;font-size:1.7rem}
  .bvp6-opportunity-board{height:370px;grid-template-columns:48px 1fr}
  .bvp6-board-main{padding:22px}
  .bvp6-board-copy strong{font-size:5rem}
  .bvp6-board-circle{width:300px;height:300px;right:-100px;top:20px}
  .bvp6-copro-visual{height:390px}
  .bvp6-final{padding:105px 0 125px}
  .bvp6-final h2{font-size:clamp(4rem,17vw,6.2rem)}
  .bvp6-final .btn{width:100%}
}
@media(max-width:480px){
  .bvp6-hero{min-height:890px}
  .bvp6-hero-inner{padding-left:20px;padding-right:20px}
  .bvp6-hero-stage{height:390px}
  .bvp6-stage-chip{transform:scale(.88);transform-origin:left bottom}
  .bvp6-stage-meta{transform:scale(.8);transform-origin:right bottom}
  .bvp6-universe-grid,.bvp6-slate-rail,.bvp6-process-grid{grid-template-columns:1fr}
  .bvp6-door-art,.door-tall .bvp6-door-art{height:330px}
  .bvp6-slate-image{aspect-ratio:4/5}
  .bvp6-process-grid>div{min-height:175px}
  .bvp6-process-grid strong{margin-top:48px}
  .bvp6-opportunity-board{height:340px}
  .bvp6-board-copy strong{font-size:4.3rem}
  .bvp6-board-rail span{font-size:6px}
}
@media(prefers-reduced-motion:reduce){
  .bvp6-frame,.bvp6-slate-card,.bvp6-slate-image img,.bvp6-door-art{transition:none}
}
/* ==========================================================================
   BOUGAINVILLEA PRODUCTIONS — design system
   Concept: "In Bloom." Bougainvillea is a plant that blooms loudest in the
   toughest conditions — thin soil, full sun, bare vines exploding into
   colour anyway. That's the studio's own story (new, unproven, going loud
   regardless), so the whole visual language is built on it instead of on
   generic "cinema" iconography: bold kinetic type, a white/ink base, the
   logo's gold kept for premium/considered moments, and a vivid magenta
   "bloom" as the primary energy colour running through motion, marquees
   and accents. Light throughout — no dark theme anywhere on the site.
   ========================================================================== */

:root {
  --bvp-cream: #fffdf9;
  --bvp-cream-2: #fdf1f6;
  --bvp-paper: #ffffff;
  --bvp-line: #ece1e6;
  --bvp-ink: #131018;
  --bvp-ink-muted: #5c5563;
  --bvp-ink-faint: #9a92a0;

  --bvp-gold: #b6852c;
  --bvp-gold-light: #d6a748;
  --bvp-gold-pale: #f2e0ac;
  --bvp-gold-dark: #86611e;

  --bvp-magenta: #e01179;
  --bvp-magenta-light: #ff62b8;
  --bvp-magenta-deep: #930a52;
  --bvp-violet: #5b2a86;

  --bvp-black: #0d0b10;
  --bvp-charcoal: #171319;
  --bvp-charcoal-2: #1f1a23;

  --bloom-gradient: linear-gradient(120deg, var(--bvp-magenta) 0%, var(--bvp-violet) 55%, var(--bvp-gold) 100%);
  --gold-gradient: linear-gradient(135deg, var(--bvp-gold-light), var(--bvp-gold-dark));

  --font-display: 'Bricolage Grotesque', 'Inter', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --ease: cubic-bezier(.16,.84,.32,1);
  --ease-out: cubic-bezier(.22,.68,.3,1);
  --speed-fast: .2s;
  --speed: .45s;
  --speed-slow: .9s;

  --radius: 14px;
  --radius-lg: 26px;
  --radius-sm: 8px;
  --container: 1280px;
  --shadow-sm: 0 2px 14px rgba(19,16,24,.06);
  --shadow-md: 0 18px 40px rgba(19,16,24,.1);
  --shadow-lg: 0 30px 70px rgba(19,16,24,.16);
  --shadow-bloom: 0 20px 50px rgba(224,17,121,.18);
  --header-h: 128px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  margin: 0;
  background: var(--bvp-cream);
  color: var(--bvp-ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img,
video {
  max-width: 100%;
  display: block;
}

a { color: inherit; }

::selection {
  background: var(--bvp-magenta);
  color: #fff;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.04;
  margin: 0 0 .5em;
  letter-spacing: -.02em;
  color: var(--bvp-ink);
}

h1 { font-size: clamp(2.4rem, 5.6vw, 4.6rem); }
h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 700; }

p {
  margin: 0 0 1em;
  color: var(--bvp-ink-muted);
}

.eyebrow {
  font-family: var(--font-body);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bvp-magenta);
  margin: 0 0 .9em;
  display: flex;
  align-items: center;
  gap: 10px;
}

.eyebrow::before {
  content: '';
  width: 22px;
  height: 2px;
  background: var(--bvp-gold);
  flex-shrink: 0;
}

.eyebrow.is-centered { justify-content: center; }
.eyebrow.is-centered::before { display: none; }

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

.section {
  padding: 110px 0;
  position: relative;
}

.section-tight { padding: 64px 0; }
.section-alt { background: var(--bvp-cream-2); }

@media (max-width: 720px) {
  .section { padding: 76px 0; }
  .container { padding: 0 20px; }
}

/* ---------- dark accent scope: footer + one closing CTA band ---------- */

.section-dark {
  --bvp-ink: #f6f1ee;
  --bvp-ink-muted: #c7bdc8;
  --bvp-ink-faint: #8a8090;
  --bvp-line: #322b38;
  --bvp-cream-2: #201b24;
  background: var(--bvp-charcoal);
  color: var(--bvp-ink);
}

.section-dark p { color: var(--bvp-ink-muted); }

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4 {
  color: var(--bvp-ink);
}

.section-dark .btn-ghost {
  border-color: var(--bvp-line);
  color: var(--bvp-ink);
}

.section-dark .btn-ghost:hover {
  border-color: var(--bvp-magenta-light);
  color: var(--bvp-magenta-light);
}

.section-dark .eyebrow { color: var(--bvp-gold-light); }

/* ---------- buttons ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6em;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -.01em;
  padding: 16px 30px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition:
    transform var(--speed-fast) var(--ease-out),
    box-shadow var(--speed-fast),
    border-color var(--speed-fast),
    color var(--speed-fast),
    background var(--speed-fast);
  min-height: 52px;
  isolation: isolate;
}

.btn:active { transform: scale(.96); }

.btn i,
.btn svg {
  transition: transform var(--speed-fast) var(--ease-out);
}

.btn:hover i.fa-arrow-right,
.btn:hover i.fa-arrow-up-right-from-square {
  transform: translate(3px, -2px);
}

.btn-primary {
  background: var(--bvp-ink);
  color: var(--bvp-cream);
  box-shadow: var(--shadow-sm);
}

.btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--bloom-gradient);
  transform: translateX(-102%);
  transition: transform var(--speed) var(--ease-out);
}

.btn-primary:hover::before { transform: translateX(0); }
.btn-primary:hover { box-shadow: var(--shadow-bloom); }

.btn-secondary {
  background: transparent;
  border-color: var(--bvp-ink);
  color: var(--bvp-ink);
}

.btn-secondary:hover {
  background: var(--bvp-ink);
  color: var(--bvp-cream);
}

.btn-ghost {
  background: transparent;
  color: var(--bvp-ink-muted);
  border-color: var(--bvp-line);
}

.btn-ghost:hover {
  border-color: var(--bvp-magenta);
  color: var(--bvp-magenta);
}

.btn-gold {
  background: var(--gold-gradient);
  color: #241a06;
  box-shadow: var(--shadow-sm);
}

.btn-gold:hover {
  box-shadow: var(--shadow-md);
  filter: brightness(1.04);
}

.btn-magenta {
  background: var(--bvp-magenta);
  color: #fff;
}

.btn-magenta:hover { background: var(--bvp-magenta-deep); }
.btn-block { width: 100%; }

.btn-sm {
  padding: 11px 22px;
  font-size: .88rem;
  min-height: 42px;
}

/* ---------- top strip: site-wide casting announcement ---------- */

.top-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 20px;
  background: var(--bvp-ink);
  color: var(--bvp-cream);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 600;
  text-align: center;
  transition: background var(--speed-fast);
}

.top-strip:hover { background: #26202c; }
.top-strip i.fa-clapperboard { color: var(--bvp-gold-light); }
.top-strip strong { color: var(--bvp-magenta-light); font-weight: 800; }
.top-strip-arrow { transition: transform var(--speed-fast) var(--ease-out); }
.top-strip:hover .top-strip-arrow { transform: translateX(3px); }

@media (max-width: 560px) {
  .top-strip {
    font-size: .76rem;
    padding: 9px 14px;
    gap: 8px;
  }

  .top-strip i.fa-clapperboard { display: none; }
}

/* ---------- navigation ---------- */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 500;
  display: flex;
  flex-direction: column;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 28px;
  background: linear-gradient(to bottom, rgba(255,253,249,.9), rgba(255,253,249,0));
  transition:
    background var(--speed) var(--ease),
    padding var(--speed) var(--ease),
    backdrop-filter var(--speed),
    box-shadow var(--speed);
}

.site-header.is-scrolled .site-nav {
  background: rgba(255,253,249,.9);
  backdrop-filter: blur(14px);
  padding: 13px 28px;
  box-shadow: var(--shadow-sm);
}

.site-nav .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  min-width: 0;
}

.brand-mark {
  display: block;
  transition: height var(--speed) var(--ease);
  flex-shrink: 0;
}

.brand-mark img {
  height: 42px;
  width: auto;
  display: block;
  transition: height var(--speed) var(--ease);
}

.site-header.is-scrolled .brand-mark img { height: 34px; }
.brand-mark-sm img { height: 38px; }

.site-nav .brand-word {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--bvp-ink);
  display: none;
  white-space: nowrap;
}

@media (min-width: 960px) {
  .site-nav .brand-word { display: block; }
}

.nav-links {
  display: none;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-links a {
  text-decoration: none;
  font-size: .9rem;
  font-weight: 600;
  color: var(--bvp-ink-muted);
  padding: 9px 14px;
  border-radius: 999px;
  transition: color var(--speed-fast), background var(--speed-fast);
  white-space: nowrap;
}

.nav-links a:hover {
  color: var(--bvp-ink);
  background: rgba(19,16,24,.05);
}

.nav-links a.active {
  color: var(--bvp-magenta-deep);
  background: var(--bvp-cream-2);
}

@media (min-width: 1180px) {
  .nav-links { display: flex; }
}

.nav-cta-group {
  display: none;
  align-items: center;
  gap: 10px;
}

@media (min-width: 1180px) {
  .nav-cta-group { display: flex; }
}

/* Keep the Casting button available on narrow screens beside the menu. */

.nav-right-cluster {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.nav-cast-cta { white-space: nowrap; }

.nav-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  border: 1.5px solid var(--bvp-line);
  background: var(--bvp-paper);
  color: var(--bvp-ink);
  cursor: pointer;
}

@media (min-width: 1180px) {
  .nav-toggle { display: none; }
}

.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 600;
  background: var(--bvp-ink);
  color: var(--bvp-cream);
  display: flex;
  flex-direction: column;
  padding: 24px;
  overflow-y: auto;
  clip-path: circle(3% at calc(100% - 42px) 42px);
  transition: clip-path var(--speed-slow) var(--ease);
  visibility: hidden;
}

.mobile-menu.is-open {
  clip-path: circle(150% at calc(100% - 42px) 42px);
  visibility: visible;
}

.mobile-menu .close-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 36px;
}

.mobile-menu .nav-toggle {
  border-color: #332c39;
  background: rgba(255,255,255,.06);
  color: var(--bvp-cream);
}

.mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mobile-menu a {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 15px 4px;
  font-family: var(--font-display);
  font-size: 1.9rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--bvp-cream);
  border-bottom: 1px solid #2a2430;
  letter-spacing: -.02em;
}

.mobile-menu a span.mm-num {
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 600;
  color: var(--bvp-magenta-light);
}

.mobile-menu a span.mm-flag {
  margin-left: auto;
  font-family: var(--font-body);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #241a06;
  background: var(--gold-gradient);
  padding: 5px 12px;
  border-radius: 999px;
}

.mobile-menu .mobile-cta {
  margin-top: auto;
  padding-top: 24px;
}

/* ---------- reveal-on-scroll ---------- */

.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .9s var(--ease-out), transform .9s var(--ease-out);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger.is-visible > * {
  transition-delay: calc(var(--i, 0) * 80ms);
}
/* ---------- visual frame: placeholder-ready image panel ----------
   Drop a real photo/still into the referenced assets/img path and it
   layers in automatically over the bloom-gradient backdrop below — the
   backdrop is designed to look complete on its own until then, so the
   site never looks "unfinished" while images are pending. */
.visual-frame {
  position: relative; border-radius: var(--radius-lg); overflow: hidden; isolation: isolate;
  background: var(--bloom-gradient);
}
.visual-frame::before {
  content: ''; position: absolute; inset: 0;
  background-image: var(--visual-url, none); background-size: cover; background-position: center;
}
.visual-frame::after {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(120% 90% at 15% 0%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(90% 70% at 100% 100%, rgba(13,11,16,.35), transparent 60%);
  mix-blend-mode: multiply;
}
.visual-frame .visual-tag {
  position: absolute; left: 18px; bottom: 18px; z-index: 2;
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px;
  background: rgba(13,11,16,.55); backdrop-filter: blur(6px); color: #fff;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.visual-frame.ratio-hero { aspect-ratio: 4/5; }
.visual-frame.ratio-wide { aspect-ratio: 16/10; }
.visual-frame.ratio-square { aspect-ratio: 1; }
.visual-frame.ratio-tall { aspect-ratio: 3/4; }

/* ---------- blob decoration: soft morphing shape used behind headlines ---------- */
.blob {
  position: absolute; z-index: -1; filter: blur(50px); opacity: .55; pointer-events: none;
  border-radius: 62% 38% 55% 45% / 48% 42% 58% 52%;
  animation: blobMorph 14s var(--ease) infinite alternate;
}
.blob.gold { background: radial-gradient(circle, var(--bvp-gold-pale), transparent 72%); }
.blob.bloom { background: radial-gradient(circle, var(--bvp-magenta-light), transparent 72%); }
@keyframes blobMorph {
  0% { border-radius: 62% 38% 55% 45% / 48% 42% 58% 52%; transform: rotate(0deg) scale(1); }
  100% { border-radius: 40% 60% 42% 58% / 55% 45% 55% 45%; transform: rotate(12deg) scale(1.08); }
}

/* ---------- cards ---------- */
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 26px; }
.card {
  background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg);
  overflow: hidden; text-decoration: none; color: var(--bvp-ink); display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm);
  transition: transform var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast), border-color var(--speed-fast);
}
.card:hover { transform: translateY(-6px); border-color: var(--bvp-ink); box-shadow: var(--shadow-lg); }
.card-media { aspect-ratio: 3/4; background: var(--bloom-gradient); position: relative; overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease-out); position: relative; z-index: 1; }
.card:hover .card-media img { transform: scale(1.06); }
.card-badge { position: absolute; top: 14px; left: 14px; z-index: 2; background: rgba(13,11,16,.55); backdrop-filter: blur(4px); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 7px 14px; border-radius: 999px; }
.card-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.card-body h3 { margin-bottom: .25em; }
.card-meta { font-size: .78rem; color: var(--bvp-magenta-deep); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; font-weight: 700; }
.card-body p { font-size: .94rem; margin-bottom: 16px; flex: 1; }

/* ---------- chips ---------- */
.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 15px; border-radius: 999px;
  background: var(--bvp-cream-2); border: 1px solid var(--bvp-line); font-size: .8rem; font-weight: 600; color: var(--bvp-ink-muted);
}
.chip i { color: var(--bvp-magenta); }

/* ---------- filter tabs ---------- */
.filter-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 44px; }
.filter-tab {
  padding: 11px 22px; border-radius: 999px; border: 1.5px solid var(--bvp-line); background: var(--bvp-paper);
  color: var(--bvp-ink-muted); font-family: var(--font-display); font-size: .88rem; font-weight: 700;
  cursor: pointer; transition: all var(--speed-fast);
}
.filter-tab:hover { border-color: var(--bvp-ink); color: var(--bvp-ink); }
.filter-tab.active { background: var(--bvp-ink); border-color: var(--bvp-ink); color: var(--bvp-cream); }

/* ---------- casting card ---------- */
.role-card { background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); padding: 30px; display: flex; flex-direction: column; gap: 18px; box-shadow: var(--shadow-sm); transition: border-color var(--speed-fast), transform var(--speed-fast), box-shadow var(--speed-fast); }
.role-card:hover { border-color: var(--bvp-ink); transform: translateY(-4px); box-shadow: var(--shadow-md); }
.role-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.role-project { font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; color: var(--bvp-magenta-deep); margin-bottom: 6px; font-weight: 700; }
.role-deadline { font-size: .74rem; color: var(--bvp-ink-faint); white-space: nowrap; text-align: right; }
.role-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; }
.role-fact { display: flex; gap: 8px; align-items: center; font-size: .87rem; color: var(--bvp-ink-muted); }
.role-fact i { color: var(--bvp-gold); width: 16px; text-align: center; }
.role-actions { display: flex; gap: 10px; margin-top: auto; }

/* ---------- forms ---------- */
.form-shell { max-width: 720px; margin: 0 auto; }
.field { margin-bottom: 22px; }
.field label { display: block; font-size: .82rem; font-weight: 700; letter-spacing: .02em; color: var(--bvp-ink); margin-bottom: 8px; }
.field .hint { font-size: .78rem; color: var(--bvp-ink-faint); margin-top: 6px; }
.field input[type=text], .field input[type=email], .field input[type=tel], .field input[type=date], .field input[type=number], .field input[type=url], .field select, .field textarea {
  width: 100%; padding: 15px 18px; background: var(--bvp-paper); border: 1.5px solid var(--bvp-line);
  border-radius: var(--radius); color: var(--bvp-ink); font-family: var(--font-body); font-size: .96rem;
  transition: border-color var(--speed-fast), box-shadow var(--speed-fast); min-height: 52px;
}
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--bvp-magenta); box-shadow: 0 0 0 4px rgba(224,17,121,.1); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }
.field-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .field-row-3 { grid-template-columns: 1fr; } }

.select-cards { display: flex; flex-wrap: wrap; gap: 10px; }
.select-card { position: relative; }
.select-card input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.select-card label {
  display: block; padding: 13px 21px; border-radius: 999px; border: 1.5px solid var(--bvp-line);
  background: var(--bvp-paper); font-size: .88rem; font-weight: 600;
  color: var(--bvp-ink-muted); cursor: pointer; transition: all var(--speed-fast); margin: 0;
}
.select-card input:checked + label { background: var(--bvp-ink); border-color: var(--bvp-ink); color: var(--bvp-cream); }
.select-card input:focus-visible + label { outline: 2px solid var(--bvp-magenta); outline-offset: 2px; }

.upload-zone {
  border: 2px dashed var(--bvp-line); border-radius: var(--radius-lg); padding: 34px 20px; text-align: center;
  cursor: pointer; transition: border-color var(--speed-fast), background var(--speed-fast); position: relative; background: var(--bvp-cream-2);
}
.upload-zone:hover, .upload-zone.is-dragover { border-color: var(--bvp-magenta); background: rgba(224,17,121,.05); }
.upload-zone input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-zone i { font-size: 1.7rem; color: var(--bvp-magenta); margin-bottom: 10px; display: block; }
.upload-preview { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.upload-preview .thumb { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; border: 1.5px solid var(--bvp-line); position: relative; }
.upload-preview .thumb img { width: 100%; height: 100%; object-fit: cover; }
.upload-preview .file-chip { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: 10px; font-size: .82rem; }

.form-errors { background: #fdeaf3; border: 1.5px solid var(--bvp-magenta); color: #7a0f47; border-radius: var(--radius); padding: 18px 22px; margin-bottom: 26px; font-size: .9rem; }
.form-errors ul { margin: 8px 0 0; padding-left: 18px; }

.consent-row { display: flex; gap: 12px; align-items: flex-start; font-size: .85rem; color: var(--bvp-ink-muted); }
.consent-row input { margin-top: 4px; width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--bvp-magenta); }

/* ---------- multi-step wizard ---------- */
.wizard-progress { margin-bottom: 44px; }
.wizard-progress-track { height: 5px; background: var(--bvp-line); border-radius: 3px; overflow: hidden; margin-bottom: 12px; }
.wizard-progress-bar { height: 100%; background: var(--bloom-gradient); transition: width var(--speed) var(--ease); }
.wizard-progress-label { font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--bvp-ink-faint); display: flex; justify-content: space-between; font-weight: 700; }
.wizard-progress-steps { display: flex; gap: 6px; margin-top: 14px; }
.wizard-progress-steps span { flex: 1; height: 3px; border-radius: 2px; background: var(--bvp-line); transition: background var(--speed-fast); }
.wizard-progress-steps span.is-done, .wizard-progress-steps span.is-current { background: var(--bvp-magenta); }
.wizard-step { display: none; }
.wizard-step.is-active { display: block; animation: stepIn .5s var(--ease-out); }
@keyframes stepIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.wizard-nav { display: flex; justify-content: space-between; margin-top: 38px; gap: 12px; }

.wizard-step-head { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }
.wizard-step-icon { width: 46px; height: 46px; border-radius: 13px; background: var(--bloom-gradient); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.05rem; flex-shrink: 0; box-shadow: var(--shadow-sm); }
.wizard-step-head h2 { margin: 0; }
.wizard-step-sub { color: var(--bvp-ink-muted); font-size: .93rem; margin: 8px 0 28px; max-width: 52ch; }

/* icon accents on field labels and select-card choices — used selectively,
   not on every field, so the icons stay meaningful rather than decorative noise */
.field label i { margin-right: 7px; color: var(--bvp-magenta); font-size: .85rem; width: 14px; text-align: center; }
.select-card label i { margin-right: 8px; color: var(--bvp-magenta); }
.select-card input:checked + label i { color: var(--bvp-gold-light); }

/* larger icon-tile variant of select-cards for the handful of choices that
   deserve real visual weight (format, category, department, availability) */
.select-cards.icon-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 12px; }
.select-cards.icon-grid .select-card label {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  padding: 22px 14px; border-radius: var(--radius-lg); text-align: center; height: 100%;
}
.select-cards.icon-grid .select-card label i { margin: 0; font-size: 1.5rem; color: var(--bvp-magenta); }
.select-cards.icon-grid .select-card input:checked + label i { color: var(--bvp-gold-light); }
.select-cards.icon-grid .select-card label span { font-size: .86rem; font-weight: 600; }

/* ---------- footer ---------- */
.site-footer { padding: 80px 0 32px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 60px; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-grid h4 { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bvp-ink-faint); margin-bottom: 20px; font-family: var(--font-body); font-weight: 700; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.footer-grid a { text-decoration: none; color: var(--bvp-ink-muted); font-size: .94rem; font-weight: 500; transition: color var(--speed-fast); }
.footer-grid a:hover { color: var(--bvp-magenta-light); }
.footer-logo { margin-bottom: 20px; }
.footer-logo img { height: 44px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 30px; border-top: 1px solid var(--bvp-line); font-size: .82rem; color: var(--bvp-ink-faint); }
.footer-social { display: flex; gap: 14px; }
.footer-social a { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--bvp-line); display: flex; align-items: center; justify-content: center; text-decoration: none; color: var(--bvp-ink-muted); transition: all var(--speed-fast); }
.footer-social a:hover { border-color: var(--bvp-magenta-light); color: var(--bvp-magenta-light); transform: translateY(-3px); }

/* ---------- utility ---------- */
.text-center { text-align: center; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-0 { margin-top: 0; }
.max-w-prose { max-width: 660px; }
.badge-status { display: inline-block; padding: 7px 16px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.badge-open { background: rgba(224,17,121,.1); color: var(--bvp-magenta-deep); border: 1.5px solid var(--bvp-magenta-light); }
.badge-closed { background: var(--bvp-cream-2); color: var(--bvp-ink-faint); border: 1.5px solid var(--bvp-line); }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; gap: 40px; } }

.empty-state { text-align: center; padding: 90px 20px; }
.empty-state i { font-size: 2.6rem; color: var(--bvp-magenta); margin-bottom: 18px; display: block; }
.empty-state h3 { margin-bottom: 8px; }

.gallery-strip { display: flex; gap: 6px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.gallery-strip img { flex: 0 0 auto; width: min(70vw, 440px); aspect-ratio: 16/10; object-fit: cover; scroll-snap-align: start; border-radius: var(--radius); }

.confirm-hero { text-align: center; padding: calc(var(--header-h) + 20px) 0 110px; }
.confirm-code { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem, 4vw, 2.2rem); color: var(--bvp-magenta-deep); letter-spacing: .02em; margin: 20px 0 32px; padding: 20px 30px; border: 1.5px solid var(--bvp-gold-pale); background: var(--bvp-paper); border-radius: var(--radius); display: inline-block; box-shadow: var(--shadow-sm); }

.skip-link { position: absolute; left: -9999px; top: 0; background: var(--bvp-ink); color: #fff; padding: 12px 20px; z-index: 9999; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { left: 12px; top: 12px; }

:focus-visible { outline: 2px solid var(--bvp-magenta); outline-offset: 3px; }
[id] { scroll-margin-top: calc(var(--header-h) + 16px); }

/* ==========================================================================
   HOMEPAGE-SPECIFIC COMPONENTS (index.php)
   ========================================================================== */

/* ---------- hero ---------- */
.hero { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; padding: calc(var(--header-h) + 30px) 0 70px; }
.hero-blobs { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: center; width: 100%; }
@media (max-width: 980px) { .hero-grid { grid-template-columns: 1fr; gap: 44px; } }
/* small screenplay slug shown above a page-hero eyebrow/heading */
.slug-tag { font-family: 'JetBrains Mono', monospace; font-size: .74rem; letter-spacing: .1em; color: var(--bvp-ink-faint); text-transform: uppercase; margin: 0 0 14px; display: block; }

.hero-eyebrow-row { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; opacity: 0; transform: translateY(14px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.hero.is-ready .hero-eyebrow-row { opacity: 1; transform: translateY(0); }
.hero-eyebrow-row .pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--bvp-magenta); animation: pulseDot 1.8s ease-in-out infinite; flex-shrink: 0; }
@keyframes pulseDot { 0%,100% { box-shadow: 0 0 0 0 rgba(224,17,121,.45); } 50% { box-shadow: 0 0 0 8px rgba(224,17,121,0); } }
.hero-eyebrow-row span { font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--bvp-ink-muted); }
.hero-statement { font-family: var(--font-display); font-size: clamp(3rem, 7.2vw, 5.8rem); line-height: .96; letter-spacing: -.035em; margin: 0 0 26px; opacity: 0; transform: translateY(26px); transition: opacity 1s var(--ease-out) .1s, transform 1s var(--ease-out) .1s; }
.hero.is-ready .hero-statement { opacity: 1; transform: translateY(0); }
.hero-statement .line { display: block; }
.hero-sub { max-width: 480px; font-size: 1.18rem; color: var(--bvp-ink-muted); margin-bottom: 36px; opacity: 0; transition: opacity 1s var(--ease-out) .3s; }
.hero.is-ready .hero-sub { opacity: 1; }
.hero-cta-row { display: flex; gap: 14px; flex-wrap: wrap; }
.hero .hero-cta-row { opacity: 0; transition: opacity 1s var(--ease-out) .45s; }
.hero.is-ready .hero-cta-row { opacity: 1; }
.cta-row { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-visual { position: relative; opacity: 0; transform: translateY(30px) scale(.97); transition: opacity 1.1s var(--ease-out) .2s, transform 1.1s var(--ease-out) .2s; }
.hero.is-ready .hero-visual { opacity: 1; transform: translateY(0) scale(1); }
.hero-visual .visual-frame { aspect-ratio: 4/5; }

/* a small fanned deck of three cards, not one flat photo — the front card
   is the real placeholder-ready visual (defines the box's actual size via
   aspect-ratio, in normal flow); the two behind it are absolutely
   positioned to match that same box, then rotated/offset to peek out.
   Doubles as a visual preview of the three-reel "what we make" section
   further down the page. */
.hero-stack { position: relative; }
.hero-stack .stack-layer { position: absolute; inset: 0; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.hero-stack .stack-back-2 { background: linear-gradient(135deg, var(--bvp-violet), var(--bvp-magenta)); transform: rotate(-6deg) translate(-16px, 8px); z-index: 1; opacity: .85; }
.hero-stack .stack-back-1 { background: var(--gold-gradient); transform: rotate(4deg) translate(12px, -8px); z-index: 2; opacity: .92; }
.hero-stack .stack-front { position: relative; z-index: 3; }
.hero-stack .stack-tag { position: absolute; left: 14px; bottom: 14px; z-index: 4; font-family: 'JetBrains Mono', monospace; font-size: .66rem; font-weight: 700; letter-spacing: .08em; color: rgba(255,255,255,.9); }
.hero-stack .stack-back-1 .stack-tag, .hero-stack .stack-back-2 .stack-tag { opacity: .8; }

.hero-visual-tag { position: absolute; top: -18px; right: -18px; width: 108px; height: 108px; background: var(--bvp-paper); border: 1.5px solid var(--bvp-line); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); animation: spinSlow 16s linear infinite; z-index: 4; }
.hero-visual-tag svg { width: 76%; height: 76%; }
.hero-visual-tag .tag-center { position: absolute; font-size: 1rem; color: var(--bvp-magenta); }
.hero-visual-note { position: absolute; bottom: -14px; left: 22px; z-index: 4; font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.25rem; color: var(--bvp-magenta-deep); transform: rotate(-3deg); background: var(--bvp-paper); padding: 3px 16px; border-radius: 5px; box-shadow: var(--shadow-sm); }

.hero-facts-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; opacity: 0; transition: opacity 1s var(--ease-out) .55s; }
.hero .hero-facts-row { opacity: 0; }
.hero.is-ready .hero-facts-row { opacity: 1; }
@keyframes spinSlow { to { transform: rotate(360deg); } }
@media (max-width: 720px) { .hero-visual-tag { width: 78px; height: 78px; top: -12px; right: -12px; } }
.hero-scroll-cue { position: absolute; bottom: 24px; left: 28px; display: flex; align-items: center; gap: 10px; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--bvp-ink-faint); }
.hero-scroll-cue .cue-line { width: 40px; height: 1px; background: var(--bvp-ink-faint); position: relative; overflow: hidden; }
.hero-scroll-cue .cue-line::after { content: ''; position: absolute; inset: 0; background: var(--bvp-magenta); animation: cueSlide 2.4s var(--ease) infinite; }
@keyframes cueSlide { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }
@media (max-width: 720px) { .hero-scroll-cue { display: none; } }

/* ---------- format grid: "what we create" ---------- */
.format-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--bvp-line); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); overflow: hidden; }
@media (max-width: 860px) { .format-grid { grid-template-columns: 1fr; } }
.format-tile { background: var(--bvp-paper); padding: 48px 36px; position: relative; overflow: hidden; transition: background var(--speed) var(--ease); }
.format-tile::before { content: ''; position: absolute; inset: 0; background: var(--bloom-gradient); opacity: 0; transition: opacity var(--speed) var(--ease); z-index: 0; }
.format-tile:hover::before { opacity: 1; }
.format-tile > * { position: relative; z-index: 1; }
.format-tile .format-num { font-family: var(--font-display); font-size: .82rem; font-weight: 700; letter-spacing: .1em; color: var(--bvp-ink-faint); margin-bottom: 30px; transition: color var(--speed); }
.format-tile h3 { font-size: 1.7rem; margin-bottom: 12px; transition: color var(--speed); }
.format-tile p { font-size: .95rem; margin-bottom: 0; transition: color var(--speed); }
.format-tile:hover .format-num, .format-tile:hover h3, .format-tile:hover p { color: #fff; }
.format-tile:hover p { color: rgba(255,255,255,.85); }

/* ---------- stats ---------- */
.stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--bvp-line); border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
@media (max-width: 720px) { .stats-row { grid-template-columns: 1fr; } }
.stat { background: var(--bvp-paper); padding: 44px 26px; text-align: center; }
.stat-value { font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 3.6rem); font-weight: 800; color: var(--bvp-ink); line-height: 1; margin-bottom: 10px; }
.stat-value .accent { color: var(--bvp-magenta); }
.stat-caption { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--bvp-ink-muted); font-weight: 600; }

/* ---------- featured slate spread ---------- */
.featured-slate { display: grid; grid-template-columns: 1fr 1.1fr; gap: 0; border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); overflow: hidden; background: var(--bvp-paper); box-shadow: var(--shadow-md); }
@media (max-width: 860px) { .featured-slate { grid-template-columns: 1fr; } }
.featured-slate-media { position: relative; aspect-ratio: 4/5; overflow: hidden; }
.featured-slate-media img { width: 100%; height: 100%; object-fit: cover; }
.featured-slate-body { padding: 48px 44px; display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 640px) { .featured-slate-body { padding: 32px 26px; } }
.featured-slate-stats { display: flex; gap: 26px; flex-wrap: wrap; margin: 20px 0 26px; }
.featured-stat { display: flex; flex-direction: column; }
.featured-stat b { font-family: var(--font-display); font-size: 1.4rem; color: var(--bvp-magenta-deep); }
.featured-stat span { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--bvp-ink-faint); font-weight: 600; }

/* ---------- ecosystem / join-us path tiles ---------- */
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 12px; }
@media (max-width: 720px) { .path-grid { grid-template-columns: 1fr; } }
.path-tile {
  display: flex; flex-direction: column; gap: 16px; padding: 32px 26px;
  border: 1.5px solid var(--bvp-line); border-radius: var(--radius-lg); text-decoration: none; color: inherit;
  transition: all var(--speed-fast) var(--ease-out); position: relative; overflow: hidden;
}
.section-dark .path-tile { border-color: #332c39; }
.path-tile:hover { transform: translateY(-6px); border-color: transparent; box-shadow: var(--shadow-lg); }
.path-icon { width: 50px; height: 50px; border-radius: 14px; background: var(--bloom-gradient); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.2rem; }
.path-tile strong { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; }
.path-tile span.path-desc { font-size: .88rem; color: var(--bvp-ink-muted); }
.path-tile .path-arrow { margin-top: auto; align-self: flex-end; opacity: .4; transition: opacity var(--speed-fast), transform var(--speed-fast); }
.path-tile:hover .path-arrow { opacity: 1; transform: translate(4px,-4px); }

/* ---------- allied-with band ---------- */
.allied-band { position: relative; padding: 90px 0; text-align: center; overflow: hidden; }
.allied-line { position: relative; font-family: var(--font-display); font-size: clamp(1.5rem, 3.6vw, 2.4rem); font-weight: 700; line-height: 1.3; max-width: 780px; margin: 0 auto; }
.allied-line strong { color: var(--bvp-magenta-deep); font-weight: 800; }

/* ---------- poster-wall project cards ---------- */
.poster-card { position: relative; }

/* ---------- generic page-header (used by every inner page) ---------- */
.page-hero { padding: calc(var(--header-h) + 30px) 0 64px; position: relative; overflow: hidden; }
.page-hero .ghost-num { display: none; }
@media (min-width: 900px) { .page-hero .ghost-num { display: block; } }

/* ---------- cursor dot (desktop, subtle) ---------- */
body.has-bloom-cursor { cursor: none; }
body.has-bloom-cursor a, body.has-bloom-cursor button, body.has-bloom-cursor .filter-tab { cursor: none; }
body.has-bloom-cursor input, body.has-bloom-cursor textarea, body.has-bloom-cursor select { cursor: auto; }
.bloom-cursor { position: fixed; top: 0; left: 0; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--bvp-magenta); pointer-events: none; z-index: 9998; transform: translate(-100px,-100px); transition: transform .05s linear, width .25s var(--ease-out), height .25s var(--ease-out), margin .25s var(--ease-out), background .25s; will-change: transform; }
.bloom-cursor.is-active { width: 46px; height: 46px; margin: -23px 0 0 -23px; background: rgba(224,17,121,.14); border: 1.5px solid var(--bvp-magenta); }

/* ==========================================================================
   PRODUCTION-LIGHT & CAMERA DECORATION
   Camera/lighting-rig atmosphere used deliberately and visibly — bokeh,
   a lens/aperture line motif, a spotlight beam, light rays — behind hero
   and section-dark areas. Line-art and low-fill so it reads as elegant
   atmosphere rather than clip-art, but bold enough to actually be seen.
   Always absolutely positioned inside an `overflow:hidden` ancestor and
   non-interactive (aria-hidden, pointer-events:none).
   ========================================================================== */
@keyframes bokehFloat { 0%, 100% { transform: translateY(0) scale(1); opacity: var(--bokeh-op, .65); } 50% { transform: translateY(-18px) scale(1.1); opacity: calc(var(--bokeh-op, .65) * .55); } }
.bokeh {
  position: absolute; border-radius: 50%; pointer-events: none; filter: blur(.5px);
  background: radial-gradient(circle at 35% 32%, rgba(255,255,255,.98), var(--bokeh-color, var(--bvp-gold-pale)) 45%, transparent 76%);
  box-shadow: 0 0 34px 9px var(--bokeh-glow, rgba(214,167,72,.38));
  animation: bokehFloat 9s ease-in-out infinite; animation-delay: var(--bokeh-delay, 0s);
  opacity: var(--bokeh-op, .65);
}

.lens-ring { position: absolute; border-radius: 50%; border: 1.5px solid rgba(19,16,24,.14); pointer-events: none; animation: spinSlow 50s linear infinite; color: rgba(19,16,24,.5); }
.lens-ring::before { content: ''; position: absolute; inset: 13%; border-radius: 50%; border: 1px solid rgba(19,16,24,.1); }
.lens-ring::after { content: ''; position: absolute; inset: 27%; border-radius: 50%; border: 1px solid rgba(19,16,24,.08); }
.lens-ring.on-dark { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.5); }
.lens-ring.on-dark::before { border-color: rgba(255,255,255,.13); }
.lens-ring.on-dark::after { border-color: rgba(255,255,255,.1); }

/* line-art camera aperture mark — the <symbol> lives once in layout_top.php,
   every page reuses it via <svg><use>. currentColor so it tints per-section. */
.aperture-mark { position: absolute; pointer-events: none; color: rgba(19,16,24,.16); animation: spinSlow 70s linear infinite reverse; }
.aperture-mark.on-dark { color: rgba(255,255,255,.2); }
.aperture-mark svg { display: block; width: 100%; height: 100%; }

.light-rays {
  position: absolute; inset: -20% -10%; pointer-events: none; opacity: .6; mix-blend-mode: multiply;
  background: repeating-linear-gradient(102deg, rgba(255,205,110,.2) 0px, rgba(255,205,110,.2) 2px, transparent 2px, transparent 60px);
}
.light-rays.on-dark { opacity: .5; mix-blend-mode: screen; background: repeating-linear-gradient(102deg, rgba(255,255,255,.07) 0px, rgba(255,255,255,.07) 2px, transparent 2px, transparent 60px); }

/* spotlight / projector-beam cone — a bright wedge sweeping from a corner */
@keyframes conePulse { 0%, 100% { opacity: .55; } 50% { opacity: .85; } }
.light-cone {
  position: absolute; pointer-events: none; mix-blend-mode: multiply; filter: blur(16px);
  width: var(--cone-size, 70vw); height: var(--cone-size, 70vw);
  top: var(--cone-y, -15%); left: var(--cone-x, -10%);
  background: conic-gradient(from var(--cone-angle, 120deg) at 30% 10%, transparent 0deg, var(--cone-color, rgba(255,205,110,.55)) 8deg, transparent 26deg);
  animation: conePulse 6s ease-in-out infinite;
}
.light-cone.on-dark { mix-blend-mode: screen; }

/* ---------- screenplay-style dialogue card ---------- */
@keyframes slateBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: .25; } }
.script-card { background: var(--bvp-black); color: var(--bvp-cream); border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius-lg); padding: 38px 42px; position: relative; overflow: hidden; box-shadow: var(--shadow-lg); }
@media (max-width: 640px) { .script-card { padding: 28px 24px; } }
.script-slate { font-family: 'JetBrains Mono', monospace; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bvp-gold-light); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.script-slate .script-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--bvp-magenta-light); animation: slateBlink 1.6s steps(1) infinite; flex-shrink: 0; }
.script-line { font-family: 'JetBrains Mono', monospace; font-size: clamp(1.05rem, 2.2vw, 1.4rem); line-height: 1.65; color: var(--bvp-cream); margin: 0; }
.script-line .char { display: block; color: var(--bvp-gold-light); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .85em; margin-bottom: 6px; }

/* ---------- opportunities hub grid ---------- */
.hub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.hub-tile {
  position: relative; display: flex; flex-direction: column; gap: 14px; padding: 32px 26px;
  border-radius: var(--radius-lg); border: 1.5px solid var(--bvp-line); background: var(--bvp-paper);
  text-decoration: none; color: inherit; overflow: hidden; transition: transform var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast), border-color var(--speed-fast);
}
.hub-tile::before { content: ''; position: absolute; inset: 0; background: var(--hub-accent, var(--bloom-gradient)); opacity: 0; transition: opacity var(--speed) var(--ease); z-index: 0; }
.hub-tile:hover::before { opacity: 1; }
.hub-tile:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }
.hub-tile > * { position: relative; z-index: 1; }
.hub-tile:hover .hub-tag, .hub-tile:hover h3, .hub-tile:hover p, .hub-tile:hover .hub-arrow { color: #fff; }
.hub-icon { width: 52px; height: 52px; border-radius: 14px; background: var(--hub-accent, var(--bloom-gradient)); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.25rem; transition: background var(--speed); flex-shrink: 0; }
.hub-tile:hover .hub-icon { background: rgba(255,255,255,.22); }
.hub-tag { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bvp-magenta-deep); transition: color var(--speed); }
.hub-tile h3 { margin: 0; font-size: 1.25rem; }
.hub-tile p { margin: 0; font-size: .9rem; color: var(--bvp-ink-muted); transition: color var(--speed); }
.hub-arrow { margin-top: auto; align-self: flex-end; opacity: .4; transition: opacity var(--speed-fast), transform var(--speed-fast), color var(--speed); }
.hub-tile:hover .hub-arrow { opacity: 1; transform: translate(4px,-4px); }
.hub-badge { position: absolute; top: 18px; right: 18px; z-index: 2; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; background: var(--gold-gradient); color: #241a06; }

/* ==========================================================================
   LANGUAGE GATE — the "before the film starts" language picker.
   Invisible and non-interactive by default (graceful no-JS fallback: real
   page content underneath is always there); a tiny inline script right
   after the markup adds html.lang-gate-active synchronously, before first
   paint, if no language is saved yet. Stays in the light palette — no dark
   theme, just bolder line-art versions of the site's own camera/light marks.
   ========================================================================== */
.lang-gate {
  position: fixed; inset: 0; z-index: 9000; background: var(--bvp-cream);
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity .5s var(--ease-out), visibility 0s .5s;
}
html.lang-gate-active .lang-gate { visibility: visible; opacity: 1; pointer-events: auto; transition: opacity .5s var(--ease-out); }
html.lang-gate-active body { overflow: hidden; }
.lang-gate-deco { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
/* min-height (not height) + its own centering: when the 8 language tiles +
   copy fit the viewport this centers vertically same as before, but when
   they don't (short phones, a11y zoom), the box grows past 100% and
   content stacks from the real top instead of being symmetrically
   clipped top-and-bottom by a flex-centered *scroll container* — that
   clipping (silently losing the top logo + bottom footnote, unreachable
   by scrolling either way) was the actual "gate not fixed on mobile" bug. */
.lang-gate-inner {
  position: relative; z-index: 1; max-width: 760px; width: 100%; margin: 0 auto; text-align: center;
  min-height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 40px 20px;
}
.lang-gate-logo { display: block; width: 84px; margin: 0 auto 22px; opacity: .95; }
.lang-gate-logo img { width: 100%; }
.lang-gate .script-card { text-align: left; max-width: 540px; margin: 0 auto 36px; }
.lang-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 720px) { .lang-grid { grid-template-columns: repeat(2, 1fr); } }
.lang-tile {
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 12px;
  border-radius: var(--radius-lg); border: 1.5px solid var(--bvp-line); background: var(--bvp-paper);
  cursor: pointer; font-family: var(--font-body); transition: all var(--speed-fast) var(--ease-out); position: relative; overflow: hidden;
}
.lang-tile::before { content: ''; position: absolute; inset: 0; background: var(--bloom-gradient); opacity: 0; transition: opacity var(--speed); z-index: 0; }
.lang-tile:hover, .lang-tile:focus-visible { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: transparent; }
.lang-tile:hover::before, .lang-tile:focus-visible::before { opacity: 1; }
.lang-tile > * { position: relative; z-index: 1; }
.lang-tile .lang-native { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; color: var(--bvp-ink); transition: color var(--speed); }
.lang-tile .lang-en { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bvp-ink-faint); transition: color var(--speed); }
.lang-tile:hover .lang-native, .lang-tile:hover .lang-en, .lang-tile:focus-visible .lang-native, .lang-tile:focus-visible .lang-en { color: #fff; }
.lang-gate-foot { margin-top: 34px; font-size: .8rem; color: var(--bvp-ink-faint); }

/* nav language switcher */
.lang-switch {
  display: none; align-items: center; gap: 7px; padding: 10px 14px; border-radius: 999px;
  border: 1.5px solid var(--bvp-line); background: transparent; color: var(--bvp-ink-muted);
  font-size: .82rem; font-weight: 700; cursor: pointer; transition: all var(--speed-fast); margin-left: 10px;
}
.lang-switch:hover { border-color: var(--bvp-ink); color: var(--bvp-ink); }
@media (min-width: 1180px) { .lang-switch { display: inline-flex; } }
.mobile-menu .lang-switch { display: inline-flex; border-color: #332c39; color: var(--bvp-cream); margin: 0; }

/* ==========================================================================
   REEL INDEX — the "what we make" showcase. Three film-can labels, not a
   strip: each one a self-contained dark card sized by its own content
   (never by aspect-ratio, which is what silently collapsed the previous
   filmstrip version to a few pixels tall in a mobile column layout — grid
   + content-driven height is the deliberately boring, deliberately robust
   choice here). Kept as contained dark objects inside an otherwise light
   section, matching the site's one-dark-object-in-a-light-section rule.
   ========================================================================== */
.reel-index { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 860px) { .reel-index { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }
.reel-card {
  position: relative; overflow: hidden; border-radius: var(--radius-lg); padding: 36px 30px 30px;
  background: var(--bvp-black); color: var(--bvp-cream); box-shadow: var(--shadow-lg);
  display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.09);
}
.reel-card::before { content: ''; position: absolute; inset: 0; opacity: .5; background: var(--reel-tint, var(--bloom-gradient)); }
.reel-card > * { position: relative; z-index: 1; }
.reel-card-num { font-family: 'JetBrains Mono', monospace; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.reel-card-icon {
  width: 54px; height: 54px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.25);
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem; color: #fff; margin: 18px 0 20px;
}
.reel-card h3 { font-size: 1.6rem; margin: 0 0 12px; color: #fff; }
.reel-card p { color: rgba(246,241,238,.8); font-size: .94rem; margin: 0; }
.reel-card-tag { margin-top: 22px; font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.2rem; color: var(--bvp-gold-light); }

/* ==========================================================================
   MOOD BOARD — pinned, slightly-tilted cards, like index cards stuck to a
   corkboard. Used for the opportunities grid and other "browse these"
   moments that benefit from a looser, more tactile feel than a clean grid.
   ========================================================================== */
.moodboard-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 22px 18px; padding-top: 14px; }
@media (max-width: 1080px) { .moodboard-grid { grid-template-columns: repeat(3, 1fr); gap: 30px 20px; } }
@media (max-width: 640px) { .moodboard-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px) { .moodboard-grid { grid-template-columns: 1fr; max-width: 320px; margin-left: auto; margin-right: auto; } }
.pin-card {
  position: relative; display: flex; flex-direction: column; gap: 10px; background: var(--bvp-paper);
  border: 1px solid var(--bvp-line); border-radius: 8px; padding: 24px 18px 20px; text-decoration: none; color: inherit;
  box-shadow: var(--shadow-md); transform: rotate(var(--tilt, -1.4deg));
  transition: transform var(--speed-fast) var(--ease-out), box-shadow var(--speed-fast);
}
.pin-card:hover { transform: rotate(0deg) translateY(-6px); box-shadow: var(--shadow-lg); }
.pin-card::before {
  content: ''; position: absolute; top: -11px; left: 50%; transform: translateX(-50%); width: 17px; height: 17px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #fff, var(--pin-color, var(--bvp-magenta)) 55%, var(--pin-color-deep, var(--bvp-magenta-deep)));
  box-shadow: 0 3px 7px rgba(13,11,16,.3);
}
.pin-card .pin-label { font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.4rem; line-height: 1; color: var(--pin-color-deep, var(--bvp-magenta-deep)); transform: rotate(-1.5deg); display: block; }
.pin-card h3 { margin: 0; font-size: 1.15rem; }
.pin-card p { margin: 0; font-size: .88rem; color: var(--bvp-ink-muted); }
.pin-card .pin-badge { position: absolute; top: 14px; right: 14px; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--gold-gradient); color: #241a06; }
.pin-card .pin-arrow { margin-top: auto; align-self: flex-end; opacity: .4; transition: opacity var(--speed-fast), transform var(--speed-fast); }
.pin-card:hover .pin-arrow { opacity: 1; transform: translate(4px,-4px); }

/* ==========================================================================
   REDACTED CARD — the "in development, can't show you yet" project teaser.
   Styled like a classified script cover: blacked-out title bars, a rubber
   stamp, one real sentence you get to read. Used when the slate has no
   published projects yet so the section still feels alive, not empty.
   ========================================================================== */
.redacted-card { position: relative; background: var(--bvp-black); color: var(--bvp-cream); border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius-lg); padding: 30px 28px; overflow: hidden; box-shadow: var(--shadow-md); }
.redacted-stamp { position: absolute; top: 22px; right: -36px; background: var(--bvp-magenta); color: #fff; font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; padding: 6px 42px; transform: rotate(35deg); box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.redacted-bar { height: 1.05em; background: rgba(255,255,255,.2); border-radius: 3px; margin-bottom: 9px; }
.redacted-card .teaser { color: rgba(246,241,238,.72); font-size: .92rem; margin: 16px 0 0; }
.redacted-card .chip { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); color: rgba(246,241,238,.85); }
.redacted-card .chip i { color: var(--bvp-gold-light); }
.redacted-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 760px; }
@media (max-width: 640px) { .redacted-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   HOMEPAGE — COSMIC CINEMA. Scoped to .cosmic-home so all application and
   content pages keep the established studio UI.
   ========================================================================== */
.cosmic-home { background:#070b18; color:#f4f0e9; --bvp-ink:#f4f0e9; --bvp-ink-muted:#b9bdd0; --bvp-line:rgba(231,236,255,.15); --bvp-cream:#070b18; --bvp-paper:#10172b; }
.cosmic-home .site-nav { background:linear-gradient(180deg,rgba(4,7,18,.78),transparent); }
.cosmic-home .site-header.is-scrolled .site-nav { background:rgba(7,11,24,.86); box-shadow:0 8px 28px rgba(0,0,0,.25); }
.cosmic-home .site-nav .brand-word,.cosmic-home .nav-links a,.cosmic-home .lang-switch { color:#f4f0e9; }
.cosmic-home .nav-links a:hover,.cosmic-home .nav-links a.active { background:rgba(255,255,255,.08); color:#fff; }
.cosmic-home .nav-toggle { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.2); color:#fff; }
.cosmic-home .top-strip { background:#121b35; border-bottom:1px solid rgba(255,255,255,.09); }
.cosmic-home .top-strip:hover { background:#182344; }
.cosmic-home .site-footer { background:#03050d; }
.cosmic-home .allied-band { background:#0c1122; color:#f4f0e9; }
.cosmic-home .allied-line { color:#b9bdd0; }
.cosmic-home .btn-secondary { border-color:rgba(255,255,255,.45); color:#fff; }
.cosmic-home .btn-secondary:hover { background:#fff; color:#070b18; }
.cosmic-home .bloom-cursor { background:#8ea4ff; }

.cosmic-hero,.cosmic-closing { position:relative; isolation:isolate; overflow:hidden; background:#070b18; color:#f4f0e9; }
.cosmic-hero { min-height:max(740px,100svh); display:flex; align-items:center; padding:150px 0 100px; }
.cosmic-sky { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.star-field { position:absolute; inset:0; background-image:radial-gradient(circle at 9% 22%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 16% 72%,#9baaff 0 1px,transparent 1.7px),radial-gradient(circle at 27% 45%,#fff 0 1.4px,transparent 2px),radial-gradient(circle at 41% 12%,#fff 0 1px,transparent 1.8px),radial-gradient(circle at 56% 74%,#dfe5ff 0 1px,transparent 1.8px),radial-gradient(circle at 73% 17%,#fff 0 1.3px,transparent 2px),radial-gradient(circle at 87% 63%,#bbc7ff 0 1px,transparent 1.7px),radial-gradient(circle at 93% 31%,#fff 0 1px,transparent 1.7px); background-size:230px 230px; opacity:.78; }
.star-field-two { background-size:310px 310px; background-position:80px 40px; opacity:.36; transform:rotate(9deg) scale(1.1); }
.nebula { position:absolute; width:60vw; aspect-ratio:1; border-radius:50%; filter:blur(35px); opacity:.55; }
.nebula-one { left:-26vw; top:7%; background:radial-gradient(circle,#5d3da5 0,rgba(47,47,132,.55) 28%,transparent 67%); }
.nebula-two { right:-25vw; bottom:-35%; background:radial-gradient(circle,#cf665f 0,rgba(111,46,119,.47) 28%,transparent 68%); }
.orbit { position:absolute; border:1px solid rgba(210,219,255,.16); border-radius:50%; transform:rotate(-24deg); }
.orbit-one { width:86vw; height:32vw; right:-21vw; top:19%; }
.orbit-two { width:67vw; height:22vw; right:-13vw; top:33%; border-color:rgba(238,190,129,.18); }

.hero-planet { width:clamp(260px,35vw,550px); aspect-ratio:1; position:absolute; right:7%; top:18%; border-radius:50%; background:radial-gradient(circle at 30% 27%,#ffd4af 0 1%,#d38382 10%,#815487 33%,#27265c 63%,#090c20 73%); box-shadow:-18px 18px 45px rgba(84,65,177,.3),inset -42px -12px 42px rgba(1,3,15,.75); transform:rotate(-18deg); }
.hero-planet:after { content:''; position:absolute; width:150%; height:24%; left:-27%; top:44%; border:1px solid rgba(234,188,162,.38); border-radius:50%; transform:rotate(-18deg); box-shadow:0 0 12px rgba(237,180,156,.2); }
.hero-planet i { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 67% 45%,transparent 0 7%,rgba(255,182,157,.3) 8% 9%,transparent 10%),radial-gradient(circle at 47% 72%,rgba(9,10,31,.25) 0 5%,transparent 6%); }

.cosmic-hero-inner { position:relative; }
.cosmic-kicker,.cosmic-overline,.cosmic-label,.hero-coordinates,.constellation-note,.pathway-tag,.orbit-project p,.live-role small { font-family:var(--font-mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; }
.cosmic-kicker { display:flex; align-items:center; gap:10px; color:#bec9ff; margin-bottom:44px; }
.signal-dot,.live-dot { width:8px; height:8px; display:inline-block; border-radius:50%; background:#ff8f9d; box-shadow:0 0 0 5px rgba(255,143,157,.12),0 0 16px #ff8f9d; animation:signal-pulse 2s infinite; }
.cosmic-overline { color:#d5b983; margin-bottom:17px; }
.cosmic-overline span { color:#7780ab; margin:0 7px; }
.cosmic-title { max-width:760px; margin:0; font-family:var(--font-display); font-size:clamp(4rem,9.5vw,9rem); font-weight:600; line-height:.84; letter-spacing:-.075em; }
.cosmic-title span,.cosmic-title em { display:block; }
.cosmic-title em { font-family:Georgia,serif; font-weight:400; color:#e4bd9c; padding-left:clamp(22px,7vw,100px); }
.cosmic-intro { max-width:510px; font-size:1.1rem; line-height:1.72; color:#c1c4d4; margin:36px 0 30px; }
.cosmic-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }
.cosmic-btn-primary { background:linear-gradient(135deg,#f4d49d,#d38984); color:#161225; border:0; box-shadow:0 12px 28px rgba(198,117,130,.22); }
.cosmic-btn-primary:hover { background:#fff0cc; box-shadow:0 16px 35px rgba(198,117,130,.35); }
.cosmic-text-link { color:#f4f0e9; display:inline-flex; gap:10px; text-decoration:none; align-items:center; font-weight:700; border-bottom:1px solid rgba(244,240,233,.36); padding-bottom:5px; transition:color .2s,border-color .2s; }
.cosmic-text-link:hover { color:#e9bc9b; border-color:#e9bc9b; }
.hero-coordinates { display:flex; gap:25px; flex-wrap:wrap; color:#8088a8; margin-top:72px; }
.cosmic-scroll { position:absolute; bottom:26px; left:50%; transform:translateX(-50%); color:#aab0c8; text-decoration:none; font:600 .62rem var(--font-mono); letter-spacing:.16em; display:grid; justify-items:center; gap:12px; }
.cosmic-scroll i { width:1px; height:36px; background:linear-gradient(#e4bd9c,transparent); }

.signal-band { background:#e6bd9b; color:#18152b; padding:27px 0; }
.signal-band p { font-family:var(--font-display); font-size:clamp(1.1rem,2vw,1.5rem); font-weight:600; line-height:1.35; margin:0; max-width:1080px; }
.signal-band span { font:700 .65rem var(--font-mono); letter-spacing:.13em; vertical-align:middle; margin-right:35px; }

.cosmic-section { padding:130px 0; background:#070b18; }
.cosmic-section:nth-of-type(even) { background:#0a1022; }
.cosmic-two-column { display:grid; grid-template-columns:1fr 3fr; gap:70px; }
.section-index { color:#59617f; font-family:var(--font-mono); }
.section-index span { display:block; font-size:3rem; letter-spacing:-.1em; }
.section-index small { letter-spacing:.14em; font-size:.63rem; }
.cosmic-label { color:#d5b983; margin:0 0 16px; }
.cosmic-heading { color:#f5f1e9; font:600 clamp(2.8rem,5.3vw,5.2rem)/.94 var(--font-display); letter-spacing:-.065em; margin:0; }
.manifesto-copy { max-width:650px; columns:2; column-gap:48px; color:#b9bdd0; line-height:1.75; margin:36px 0; }
.manifesto-copy p { margin-top:0; }
.format-heading,.pathway-top,.slate-header { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.format-lede,.pathway-top>p { max-width:310px; color:#b9bdd0; line-height:1.65; margin:0; }

.constellation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:62px; }
.constellation-card { position:relative; min-height:370px; border:1px solid rgba(229,232,255,.16); background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); padding:26px; overflow:hidden; transition:transform .35s,border-color .35s,background .35s; }
.constellation-card:hover { transform:translateY(-8px); border-color:rgba(232,194,155,.65); background:linear-gradient(145deg,rgba(126,101,180,.23),rgba(255,255,255,.03)); }
.constellation-card:after { content:''; position:absolute; width:200px; height:200px; border:1px solid rgba(218,180,147,.23); border-radius:50%; right:-100px; top:-100px; }
.constellation-number { color:#8992b5; font:600 .7rem var(--font-mono); letter-spacing:.13em; display:flex; align-items:center; gap:10px; }
.constellation-number span { height:1px; width:40px; background:#8992b5; }
.constellation-icon { color:#e7bc98; font-size:2.3rem; margin:84px 0 20px; }
.constellation-card h3,.pathway-card h3,.orbit-project h3,.live-role h3 { font:600 2rem/.95 var(--font-display); letter-spacing:-.055em; color:#f5f1e9; margin:0; }
.constellation-card p,.pathway-card p { color:#afb5cb; line-height:1.58; max-width:265px; }
.constellation-note { display:block; color:#8791b5; margin-top:30px; }

.cosmic-pathways { background:#0c1122!important; }
.pathway-top { margin-bottom:58px; }
.pathway-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:260px; gap:15px; }
.pathway-card { position:relative; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(229,232,255,.16); padding:27px; background:#101831; text-decoration:none; transition:transform .35s,background .35s; }
.pathway-card:hover { transform:translateY(-6px); background:#172243; }
.pathway-feature { grid-row:span 2; background:linear-gradient(155deg,#25325a,#241a48 55%,#342243); }
.pathway-orb { position:absolute; width:290px; aspect-ratio:1; right:-83px; bottom:-78px; border-radius:50%; background:radial-gradient(circle at 35% 31%,#ffe3c4,#ba7d9c 18%,#5b4ca0 42%,#161b45 68%); box-shadow:0 0 35px rgba(157,113,198,.4); }
.pathway-feature h3 { font-size:clamp(2.6rem,4vw,4.5rem); position:relative; margin-top:48px; }
.pathway-card h3 { margin-top:33px; }
.pathway-card p { position:relative; font-size:.93rem; }
.pathway-tag { position:relative; color:#e7bc98; }
.pathway-action { position:relative; color:#fff; font-weight:700; margin-top:auto; display:flex; align-items:center; gap:10px; }
.pathway-action i { transition:transform .25s; }
.pathway-card:hover .pathway-action i { transform:translateX(5px); }

.cosmic-slate { background:#070b18!important; }
.project-orbit { margin-top:56px; border-top:1px solid rgba(229,232,255,.14); }
.orbit-project { display:grid; grid-template-columns:55px 128px 1fr 25px; align-items:center; gap:26px; min-height:176px; border-bottom:1px solid rgba(229,232,255,.14); text-decoration:none; color:#f5f1e9; transition:padding .25s,background .25s; }
.orbit-project:hover { padding-left:16px; background:rgba(255,255,255,.035); }
.orbit-project-no { color:#777f9d; font:500 .8rem var(--font-mono); }
.orbit-project-art { width:92px; height:118px; overflow:hidden; background:#161d39; position:relative; }
.orbit-project-art img { width:100%; height:100%; object-fit:cover; }
.art-planet { width:115px; height:115px; display:block; position:absolute; left:15px; top:15px; border-radius:50%; background:radial-gradient(circle at 30% 30%,#e7cbad,#bf7f90 16%,#5d4c9d 46%,#12162e 71%); }
.art-planet-alt { background:radial-gradient(circle at 28% 28%,#b5d7e6,#6778b7 27%,#333263 53%,#111429 70%); }
.orbit-project p { margin:0 0 9px; color:#d5b983; }
.orbit-project h3 { font-size:1.75rem; margin-bottom:8px; }
.orbit-project div span { color:#aeb4c7; font-size:.92rem; }
.orbit-project>i { color:#d5b983; }
.project-orbit-empty .orbit-project { cursor:default; }

.cosmic-casting-live { background:#111a34!important; }
.cosmic-casting-live .container { display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:center; }
.casting-live-title .btn { margin-top:35px; }
.live-role-list { border-top:1px solid rgba(229,232,255,.18); }
.live-role { display:grid; grid-template-columns:20px 1fr auto 20px; gap:15px; align-items:center; border-bottom:1px solid rgba(229,232,255,.18); padding:24px 0; color:#fff; text-decoration:none; }
.live-role small { color:#d5b983; }
.live-role h3 { font-size:1.5rem; margin-top:5px; }
.live-role>span { color:#aeb4c7; font-size:.82rem; }
.live-role>i { color:#d5b983; }

.cosmic-closing { padding:150px 0; text-align:center; }
.closing-sky { opacity:.7; }
.closing-planet { position:absolute; width:min(72vw,800px); aspect-ratio:1; border-radius:50%; left:50%; bottom:-73%; transform:translateX(-50%); background:radial-gradient(circle at 50% 18%,#5d66a8,#35325d 25%,#10142d 67%); box-shadow:0 -20px 85px rgba(89,84,169,.42); }
.cosmic-closing .container { max-width:780px; }
.cosmic-closing h2 { color:#f5f1e9; font:600 clamp(3.5rem,7vw,7rem)/.88 var(--font-display); letter-spacing:-.07em; margin:0; }
.closing-copy { max-width:530px; margin:30px auto; line-height:1.7; color:#c3c7d8; }

@keyframes signal-pulse {
  50% {
    opacity:.5;
    box-shadow:0 0 0 8px rgba(255,143,157,.03),0 0 22px #ff8f9d;
  }
}

@media (max-width:800px) {
  .cosmic-hero { padding-top:150px; min-height:780px; align-items:flex-start; }
  .hero-planet { top:auto; bottom:15%; right:-17%; width:340px; opacity:.65; }
  .cosmic-title { font-size:clamp(3.6rem,15vw,6.3rem); }
  .cosmic-hero-inner { z-index:1; }
  .cosmic-two-column,.cosmic-casting-live .container { grid-template-columns:1fr; gap:40px; }
  .manifesto-copy { columns:1; }
  .constellation-grid { grid-template-columns:1fr; }
  .constellation-card { min-height:280px; }
  .constellation-icon { margin:48px 0 16px; }
  .format-heading,.pathway-top,.slate-header { align-items:start; flex-direction:column; }
  .pathway-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .pathway-card,.pathway-feature { min-height:280px; grid-row:auto; }
  .orbit-project { grid-template-columns:31px 84px 1fr; gap:14px; min-height:148px; }
  .orbit-project-art { width:72px; height:96px; }
  .orbit-project>i { display:none; }
  .orbit-project h3 { font-size:1.4rem; }
  .orbit-project div span { font-size:.8rem; }
  .live-role { grid-template-columns:15px 1fr 16px; }
  .live-role>span { display:none; }
  .cosmic-section { padding:86px 0; }
  .signal-band p span { display:block; margin:0 0 10px; }
  .hero-coordinates { margin-top:48px; gap:14px; }
  .cosmic-scroll { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .signal-dot,.live-dot { animation:none; }
  .constellation-card,.pathway-card,.orbit-project { transition:none; }
}


/* ==========================================================================
   BVP HOMEPAGE v2 — "THE STORY BEGINS"
   Light-only cinematic editorial system. The homepage uses CSS-built props
   (lens, reel, clapper, script, chair) instead of stock imagery so the
   visual identity remains owned, tactile and fast.
   ========================================================================== */

.story-home {
  --story-ink:#17131a;
  --story-muted:#6d6670;
  --story-paper:#fffdf9;
  --story-paper-2:#f7f0e8;
  --story-white:#ffffff;
  --story-line:#ded4cb;
  --story-gold:#b4863d;
  --story-gold-soft:#e5c78f;
  --story-pink:#c93c75;
  --story-pink-soft:#f3d8e2;
  --story-plum:#6d3657;
  --story-shadow:0 24px 70px rgba(47,30,31,.13);
  --story-shadow-soft:0 12px 34px rgba(47,30,31,.09);
  background:var(--story-paper);
  color:var(--story-ink);
}

.story-home .top-strip {
  background:#fff8f1;
  color:var(--story-ink);
  border-bottom:1px solid var(--story-line);
}
.story-home .top-strip:hover { background:#fff1e6; }
.story-home .top-strip strong { color:var(--story-pink); }
.story-home .top-strip i.fa-clapperboard { color:var(--story-gold); }

.story-home .site-nav {
  background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(255,253,249,0));
}
.story-home .site-header.is-scrolled .site-nav {
  background:rgba(255,253,249,.92);
  box-shadow:0 8px 30px rgba(38,25,24,.07);
  backdrop-filter:blur(18px);
}
.story-home .site-nav .brand-word,
.story-home .nav-links a,
.story-home .lang-switch { color:var(--story-ink); }
.story-home .nav-links a:hover,
.story-home .nav-links a.active { background:#f4e9e1; color:var(--story-ink); }
.story-home .nav-toggle { background:#fff; border-color:#d8cec5; color:var(--story-ink); }
.story-home .btn-secondary { border-color:var(--story-ink); color:var(--story-ink); }
.story-home .btn-secondary:hover { background:var(--story-ink); color:#fff; }

/* ---------- HERO: a white editorial stage with floating physical props ---------- */
.story-hero {
  position:relative;
  min-height:100svh;
  padding:175px 0 86px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 40%,rgba(229,199,143,.28),transparent 27%),
    radial-gradient(circle at 88% 78%,rgba(201,60,117,.10),transparent 24%),
    linear-gradient(115deg,#fffdf9 0%,#fffaf5 52%,#f7eee8 100%);
}
.story-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.32;
  background-image:
    linear-gradient(rgba(23,19,26,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,19,26,.035) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to right,black,transparent 82%);
}
.story-hero-content { position:relative; z-index:4; }
.scene-tag {
  display:flex;
  align-items:center;
  gap:12px;
  color:#887e76;
  font:600 .66rem/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:38px;
}
.scene-tag span:first-child { color:var(--story-pink); }
.scene-tag i { width:42px; height:1px; background:var(--story-gold); }

.story-kicker {
  color:var(--story-gold);
  font:700 .72rem/1 'JetBrains Mono',monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin:0 0 16px;
}
.story-title {
  max-width:850px;
  margin:0;
  font:600 clamp(4.2rem,8.4vw,8.6rem)/.84 var(--font-display);
  letter-spacing:-.075em;
  color:var(--story-ink);
}
.story-title span,
.story-title em,
.story-title strong { display:block; }
.story-title em {
  padding-left:clamp(28px,8vw,115px);
  font-family:Georgia,serif;
  font-weight:400;
  color:var(--story-pink);
}
.story-title strong {
  padding-left:clamp(7px,2vw,30px);
  font-weight:800;
  color:#8d6a3c;
}
.story-lede {
  max-width:560px;
  margin:34px 0 28px;
  color:var(--story-muted);
  font-size:1.08rem;
  line-height:1.75;
}
.story-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; }
.story-btn {
  background:var(--story-ink);
  color:#fff;
  border:0;
  box-shadow:0 12px 30px rgba(23,19,26,.16);
}
.story-btn:hover {
  background:var(--story-pink);
  color:#fff;
  box-shadow:0 16px 38px rgba(201,60,117,.22);
}
.story-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--story-ink);
  font-weight:750;
  text-decoration:none;
  border-bottom:1px solid #bdb1a8;
  padding-bottom:5px;
  transition:color .25s,border-color .25s,transform .25s;
}
.story-link:hover { color:var(--story-pink); border-color:var(--story-pink); transform:translateX(3px); }
.story-credit {
  display:flex;
  gap:25px;
  flex-wrap:wrap;
  margin-top:74px;
  color:#938981;
  font:600 .62rem/1 'JetBrains Mono',monospace;
  letter-spacing:.13em;
}

.story-page-corner {
  position:absolute;
  width:270px;
  height:270px;
  right:-120px;
  bottom:-130px;
  background:#fff;
  transform:rotate(45deg);
  box-shadow:-14px -12px 34px rgba(53,37,34,.08);
  z-index:3;
}
.story-page-corner:after {
  content:"";
  position:absolute;
  inset:30px;
  border:1px solid #e6ddd5;
}

/* ---------- CSS-built cinematic props ---------- */
.story-stage { position:absolute; inset:0; z-index:1; pointer-events:none; }
.story-spotlight {
  position:absolute;
  width:52vw;
  height:52vw;
  right:-9vw;
  top:3vh;
  opacity:.44;
  transform:rotate(-17deg);
  background:conic-gradient(from 204deg at 50% 100%,transparent 0 26%,rgba(255,225,169,.45) 27% 34%,transparent 35% 100%);
  filter:blur(1px);
}
.story-film-line {
  position:absolute;
  width:100vw;
  height:1px;
  right:-24vw;
  top:63%;
  background:linear-gradient(90deg,transparent,#c7a776 22%,rgba(201,60,117,.35) 67%,transparent);
  transform:rotate(-12deg);
  opacity:.55;
}
.story-prop { position:absolute; transform-style:preserve-3d; }
.story-clapper {
  right:5.5%;
  top:16%;
  width:min(32vw,390px);
  aspect-ratio:1.35;
  transform:rotate(8deg) perspective(900px) rotateY(-15deg);
  filter:drop-shadow(22px 28px 25px rgba(44,29,26,.16));
}
.clapper-top {
  position:absolute;
  top:0; left:3%; width:94%; height:21%;
  border-radius:9px 9px 3px 3px;
  background:repeating-linear-gradient(135deg,#231e22 0 24px,#fffdf9 24px 48px);
  border:1px solid #c8beb6;
  box-shadow:inset 0 -4px 8px rgba(0,0,0,.08);
  transform:skewX(-6deg);
}
.clapper-top span { display:none; }
.clapper-body {
  position:absolute;
  left:6%; right:6%; top:16%; bottom:0;
  padding:28px 24px;
  border-radius:6px 6px 10px 10px;
  background:linear-gradient(145deg,#2c272b,#141216);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.clapper-body b { display:block; font:700 .72rem 'JetBrains Mono',monospace; letter-spacing:.08em; }
.clapper-body small { display:block; margin-top:24px; font:500 .58rem 'JetBrains Mono',monospace; color:#c7a976; }
.clapper-body i { display:block; height:1px; background:rgba(255,255,255,.32); margin-top:28px; }
.story-reel {
  right:29%;
  bottom:7%;
  width:min(22vw,270px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,#f9f2e8 0 9%,#b48b58 10% 13%,#e2c99f 14% 18%,#a98355 19% 20%,transparent 21%),
    radial-gradient(circle,#e7d5b6 0 48%,#9c7649 49% 52%,#d4b37d 53% 60%,#8e6840 61% 63%,#e7d7bd 64% 100%);
  border:7px solid #c1a06d;
  box-shadow:inset -15px -20px 22px rgba(72,45,24,.24),20px 26px 34px rgba(46,31,28,.15);
  transform:rotate(-12deg);
}
.story-reel:before,
.story-reel:after {
  content:"";
  position:absolute;
  inset:14%;
  border:3px solid rgba(82,58,35,.3);
  border-radius:50%;
}
.story-reel:after { inset:24%; border-width:2px; }
.reel-core { position:absolute; width:16%; aspect-ratio:1; left:42%; top:42%; border-radius:50%; background:#7c5a37; box-shadow:inset 0 2px 5px rgba(0,0,0,.3); }
.reel-hole { position:absolute; width:14%; aspect-ratio:1; border-radius:50%; background:#fffaf1; border:2px solid #b48b58; }
.reel-hole.h1 { left:43%; top:19%; }.reel-hole.h2 { right:18%; top:40%; }.reel-hole.h3 { right:31%; bottom:18%; }.reel-hole.h4 { left:24%; bottom:21%; }.reel-hole.h5 { left:17%; top:39%; }

.story-lens {
  right:31%;
  top:28%;
  width:min(17vw,220px);
  aspect-ratio:1;
  border-radius:50%;
  background:linear-gradient(145deg,#ece4dc,#8e847d 38%,#3b3432 42%,#1e1b1d 76%,#c4b5a5);
  padding:16px;
  box-shadow:18px 25px 35px rgba(45,31,28,.22),inset -10px -12px 14px rgba(0,0,0,.24);
  transform:rotate(14deg);
}
.lens-ring { position:absolute; border-radius:50%; border:2px solid #bca991; inset:11%; box-shadow:inset 0 0 0 8px #5a514d; }
.lens-ring.ring-two { inset:20%; border-color:#302a2c; box-shadow:inset 0 0 0 4px #a99a8d; }
.lens-glass { position:absolute; inset:27%; border-radius:50%; background:radial-gradient(circle at 32% 25%,#fff 0 4%,#d8bfd1 5% 9%,#4d5b77 28%,#182132 57%,#070b11 72%); box-shadow:inset 10px 8px 18px rgba(255,255,255,.16); }
.lens-glass span { position:absolute; width:25%; height:8%; background:rgba(255,255,255,.7); transform:rotate(-32deg); top:19%; left:23%; border-radius:50%; filter:blur(2px); }
.story-lens small { position:absolute; left:50%; bottom:-28px; transform:translateX(-50%); white-space:nowrap; color:#786c62; font:600 .55rem 'JetBrains Mono',monospace; letter-spacing:.1em; text-align:center; }
.story-dust { position:absolute; width:8px; height:8px; border-radius:50%; background:#d7a67d; box-shadow:0 0 14px rgba(215,166,125,.55); animation:story-float 5s ease-in-out infinite; }
.dust-a { right:28%; top:24%; }.dust-b { right:15%; top:56%; width:5px;height:5px;animation-delay:-1.6s; }.dust-c { right:43%; top:15%; width:4px;height:4px;animation-delay:-3s; }
@keyframes story-float { 50% { transform:translate3d(8px,-14px,0); opacity:.55; } }

/* ---------- screenplay ---------- */
.screenplay-intro {
  position:relative;
  padding:125px 0 145px;
  background:#f4e9df;
  overflow:hidden;
}
.screenplay-intro:before {
  content:"";
  position:absolute;
  width:55vw; height:55vw;
  border:1px solid rgba(180,134,61,.25);
  border-radius:50%;
  right:-35vw; top:10%;
}
.screenplay-intro .container {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(55px,8vw,125px);
  align-items:center;
}
.screenplay-sheet {
  position:relative;
  padding:50px 54px 38px;
  min-height:590px;
  background:#fffefb;
  color:#2a2528;
  box-shadow:var(--story-shadow);
  transform:rotate(-2deg);
}
.screenplay-sheet:before,
.screenplay-sheet:after {
  content:"";
  position:absolute;
  width:38px; height:38px;
  border-radius:50%;
  background:#eee4db;
  top:26px;
}
.screenplay-sheet:before { left:-19px; }.screenplay-sheet:after { right:-19px; }
.sheet-head,.sheet-footer {
  display:flex; justify-content:space-between; gap:15px;
  color:#958a82;
  font:600 .57rem 'JetBrains Mono',monospace;
  letter-spacing:.11em;
}
.script-rule { height:1px; background:#d9cec4; margin:17px 0 52px; }
.script-body { max-width:580px; }
.script-slug {
  font:700 .82rem 'JetBrains Mono',monospace;
  letter-spacing:.04em;
  color:#2d2729;
  margin-bottom:35px;
}
.script-action {
  max-width:500px;
  font:400 1.02rem/1.75 Georgia,serif;
  color:#5e5654;
}
.script-dialogue {
  margin:46px auto;
  max-width:390px;
  font:400 1.15rem/1.6 Georgia,serif;
  color:#332c2d;
}
.script-dialogue span { display:block; margin-bottom:10px; font:700 .62rem 'JetBrains Mono',monospace; letter-spacing:.14em; color:var(--story-pink); }
.sheet-footer { position:absolute; left:54px; right:54px; bottom:34px; }

.story-intro-copy { padding-top:5px; }
.story-eyebrow {
  margin:0 0 18px;
  color:var(--story-pink);
  font:700 .68rem/1 'JetBrains Mono',monospace;
  letter-spacing:.14em;
}
.story-intro-copy h2,
.scene-heading h2,
.casting-copy h2,
.invitation-inner h2 {
  margin:0;
  color:var(--story-ink);
  font:650 clamp(2.8rem,5.3vw,5.2rem)/.93 var(--font-display);
  letter-spacing:-.065em;
}
.story-intro-copy h2 em,
.scene-heading h2 em,
.invitation-inner h2 em { font-family:Georgia,serif; font-weight:400; color:var(--story-pink); }
.story-intro-copy>p:not(.story-eyebrow) { max-width:520px; margin:30px 0; color:var(--story-muted); font-size:1.03rem; line-height:1.8; }

/* ---------- craft board ---------- */
.craft-section { padding:135px 0; background:#fffdf9; }
.scene-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; }
.scene-heading>p { max-width:360px; margin:0; color:var(--story-muted); line-height:1.75; }
.craft-board {
  display:grid;
  grid-template-columns:1.15fr .9fr .9fr;
  gap:16px;
  margin-top:64px;
  perspective:1200px;
}
.craft-card {
  min-height:480px;
  position:relative;
  overflow:hidden;
  padding:30px;
  border:1px solid var(--story-line);
  background:#fff;
  box-shadow:var(--story-shadow-soft);
  transform-style:preserve-3d;
  transition:transform .45s var(--ease),box-shadow .45s;
}
.craft-card:hover { transform:translateY(-10px) rotateX(1deg) rotateY(-1deg); box-shadow:var(--story-shadow); }
.craft-card-large { background:linear-gradient(145deg,#fff,#f9edf1); }
.craft-card-paper { transform:rotate(1.2deg); background:#fffdf7; }
.craft-card-reel { transform:rotate(-1.2deg); background:linear-gradient(145deg,#fbf7f0,#f1e7da); }
.craft-no { font:600 .66rem 'JetBrains Mono',monospace; color:#a09790; letter-spacing:.13em; }
.craft-type { margin:38px 0 12px; color:var(--story-pink); font:700 .61rem 'JetBrains Mono',monospace; letter-spacing:.14em; }
.craft-card h3 { margin:0 0 20px; color:var(--story-ink); font:650 clamp(2rem,3vw,3rem)/.92 var(--font-display); letter-spacing:-.06em; }
.craft-card>p:not(.craft-type) { max-width:300px; color:var(--story-muted); line-height:1.7; }
.craft-line { position:absolute; bottom:28px; left:30px; color:#998c82; font:600 .59rem 'JetBrains Mono',monospace; letter-spacing:.11em; }
.mini-camera {
  position:absolute; right:12%; top:18%; width:150px; height:100px;
  background:linear-gradient(145deg,#383337,#171417);
  border-radius:13px;
  transform:rotate(-7deg) translateZ(35px);
  box-shadow:12px 18px 24px rgba(38,25,26,.18);
}
.mini-camera:before { content:""; position:absolute; width:75px;height:75px; border-radius:50%; left:-38px; top:13px; background:radial-gradient(circle,#f6d7dd 0 7%,#b55d7e 8% 18%,#3e4b60 30%,#171b27 60%); border:7px solid #9d928b; }
.mini-camera:after { content:""; position:absolute; width:55px;height:22px; right:18px; top:-16px; background:#282327; transform:skew(-18deg); border-radius:4px; }
.mini-camera div { position:absolute; width:35px;height:20px; right:18px; bottom:16px; background:#81736e; border-radius:3px; }
.mini-script {
  position:absolute; right:9%; top:18%; width:150px; height:190px; background:#fff; border:1px solid #ddd2c8;
  padding:25px 20px; transform:rotate(8deg) translateZ(30px); box-shadow:12px 18px 24px rgba(38,25,26,.11);
}
.mini-script:after { content:""; position:absolute; left:20px; right:20px; bottom:25px; height:2px; background:#e3d9d1; box-shadow:0 -12px #e3d9d1,0 -24px #e3d9d1,0 -36px #e3d9d1,0 -48px #e3d9d1; }
.mini-script i { display:block; width:18px;height:18px;border-radius:50%;background:#c93c75;margin-bottom:8px;opacity:.7; }
.mini-script b { position:absolute; bottom:18px; left:20px; font:700 .5rem 'JetBrains Mono',monospace; color:#8b7d73; }
.mini-reel {
  position:absolute; right:12%; top:17%; width:175px;height:175px;border-radius:50%;
  background:radial-gradient(circle,#fff9ef 0 10%,#9d7747 11% 15%,#ead9be 16% 49%,#b18b59 50% 54%,#eee2cf 55% 100%);
  border:5px solid #b08a59; transform:rotate(-15deg) translateZ(28px); box-shadow:12px 18px 25px rgba(38,25,26,.13);
}
.mini-reel:after { content:""; position:absolute; inset:25%; border:2px solid #8e6b42; border-radius:50%; }
.mini-reel span { position:absolute; inset:43%; border-radius:50%; background:#80603c; }
.mini-reel i { position:absolute; width:17%; aspect-ratio:1; border-radius:50%; background:#fffdf8; border:2px solid #b18a58; }
.mini-reel i:nth-of-type(1){left:41%;top:16%;}.mini-reel i:nth-of-type(2){right:17%;top:39%;}.mini-reel i:nth-of-type(3){right:29%;bottom:16%;}.mini-reel i:nth-of-type(4){left:18%;bottom:19%;}

/* ---------- slate / film strip ---------- */
.slate-section { padding:130px 0; background:#f7efe8; }
.slate-heading { align-items:end; }
.film-strip {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:64px;
  padding:27px 0;
  background:#242024;
  box-shadow:var(--story-shadow);
}
.film-strip:before,.film-strip:after {
  content:"";
  position:absolute; left:0; right:0; height:15px;
  background:repeating-linear-gradient(90deg,#f4e9df 0 24px,transparent 24px 48px);
  opacity:.9;
}
.film-strip:before { top:0; }.film-strip:after { bottom:0; }
.film-card {
  position:relative;
  padding:27px 25px 33px;
  color:#fff;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.13);
}
.film-card:last-child { border-right:0; }
.film-frame { position:relative; aspect-ratio:4/5; overflow:hidden; background:#cbb3a2; border:8px solid #141216; box-shadow:0 0 0 1px rgba(255,255,255,.16); }
.film-frame img { width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease); }
.film-card:hover .film-frame img { transform:scale(1.06); }
.film-frame-overlay { position:absolute; inset:0; display:flex; justify-content:space-between; align-items:flex-end; padding:14px; background:linear-gradient(transparent 60%,rgba(0,0,0,.55)); opacity:0; transition:opacity .3s; }
.film-card:hover .film-frame-overlay { opacity:1; }
.film-frame-overlay span { font:700 .6rem 'JetBrains Mono',monospace; }
.film-frame-overlay i { color:#f0c9a7; }
.film-placeholder { width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,#e5bd9d,#9b617b 26%,#4d3a55 58%,#1d2436); }
.film-placeholder-two { background:radial-gradient(circle at 25% 25%,#f2d6b4,#b18a68 24%,#68708d 60%,#292a42); }
.film-placeholder span { color:rgba(255,255,255,.7); font:700 .65rem 'JetBrains Mono',monospace; letter-spacing:.14em; }
.film-caption { padding:23px 2px 0; }
.film-caption>span { color:#d6b17d; font:600 .58rem 'JetBrains Mono',monospace; letter-spacing:.1em; }
.film-caption h3 { margin:10px 0 7px; color:#fff; font:650 1.75rem/.95 var(--font-display); letter-spacing:-.05em; }
.film-caption p { margin:0; color:#bcb2b9; font-size:.86rem; line-height:1.55; }

/* ---------- casting call sheet ---------- */
.casting-section { padding:140px 0; background:#fffdf9; }
.casting-layout { display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(55px,8vw,120px); align-items:center; }
.casting-paper {
  position:relative;
  padding:46px 50px 44px;
  min-height:470px;
  background:#fff;
  border:1px solid #ddd3cb;
  box-shadow:var(--story-shadow);
  transform:rotate(1.4deg);
}
.casting-stamp {
  position:absolute;
  right:30px; top:28px;
  padding:8px 11px;
  border:2px solid #c93c75;
  color:#c93c75;
  font:800 .7rem/.9 'JetBrains Mono',monospace;
  letter-spacing:.08em;
  transform:rotate(7deg);
}
.casting-head { display:flex; justify-content:space-between; color:#83766d; font:700 .62rem 'JetBrains Mono',monospace; letter-spacing:.14em; }
.casting-rule { height:1px; background:#d8cdc4; margin:18px 0 28px; }
.casting-slug { margin:0 0 15px; color:#b4863d; font:700 .61rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.casting-role-row {
  display:grid; grid-template-columns:38px 1fr 20px; gap:14px; align-items:center;
  padding:17px 0; border-top:1px solid #e7ded7; text-decoration:none; color:var(--story-ink);
  transition:padding .25s,color .25s;
}
.casting-role-row:hover { padding-left:8px; color:var(--story-pink); }
.role-no { color:#9d928a; font:600 .62rem 'JetBrains Mono',monospace; }
.casting-role-row small { display:block; color:#a18f83; font:600 .56rem 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; }
.casting-role-row b { display:block; font:650 1.3rem/.95 var(--font-display); }
.casting-role-row i { color:#b4863d; }
.casting-empty { padding:28px 0; color:#7f746d; font-size:.9rem; border-top:1px solid #e7ded7; }
.casting-copy h2 { max-width:620px; }
.casting-copy>p:not(.story-eyebrow) { max-width:500px; color:var(--story-muted); line-height:1.8; margin:30px 0; }
.role-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:30px; }
.role-chips span { padding:7px 11px; border:1px solid #d8ccc2; border-radius:999px; color:#71665e; font:600 .58rem 'JetBrains Mono',monospace; letter-spacing:.09em; }
.story-btn-small { padding:13px 22px; min-height:46px; }

/* ---------- closing invitation ---------- */
.invitation-section {
  position:relative;
  overflow:hidden;
  padding:145px 0 160px;
  background:
    radial-gradient(circle at 76% 42%,rgba(229,199,143,.33),transparent 24%),
    linear-gradient(125deg,#f6e8e2,#fffdf9 52%,#f5e8dd);
}
.invitation-section:after {
  content:"";
  position:absolute; width:580px;height:580px;border:1px solid rgba(180,134,61,.22);border-radius:50%;
  right:-210px; top:50%; transform:translateY(-50%);
}
.invitation-inner { position:relative; z-index:2; }
.invitation-inner h2 { max-width:850px; }
.invitation-inner>p:not(.story-eyebrow) { max-width:560px; margin:28px 0; color:var(--story-muted); font-size:1.05rem; line-height:1.75; }
.invitation-prop { position:absolute; right:3%; top:7%; width:310px;height:290px; transform:rotate(-5deg); opacity:.9; }
.director-chair {
  position:absolute; width:150px;height:150px; right:10px; bottom:5px;
  border:10px solid #8f6545; border-top:0; transform:skewX(-5deg);
  box-shadow:inset 0 0 0 9px #c89d73;
}
.director-chair:before,.director-chair:after { content:"";position:absolute;background:#8f6545;width:10px;height:170px;bottom:-105px; }
.director-chair:before { left:4px;transform:rotate(12deg); }.director-chair:after { right:4px;transform:rotate(-12deg); }
.director-chair span { position:absolute; left:-7px; right:-7px; top:25px;height:65px;background:#242024; }
.director-chair b { position:absolute; top:43px; left:0; right:0; text-align:center; color:#d8b17b; font:700 .62rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.invitation-clap {
  position:absolute; left:0; top:35px; width:155px;height:105px; padding:34px 15px 10px;
  background:#252125; color:#fff; border-radius:5px; transform:rotate(8deg);
  box-shadow:12px 18px 24px rgba(40,25,26,.17);
}
.invitation-clap:before { content:""; position:absolute; left:-2px;right:-2px;top:-20px;height:27px;background:repeating-linear-gradient(135deg,#262126 0 18px,#f4e8dc 18px 36px);border-radius:5px 5px 2px 2px;transform:skewX(-7deg); }
.invitation-clap b { font:700 .55rem 'JetBrains Mono',monospace; letter-spacing:.12em; }
.invitation-clap i { display:block; height:1px;background:rgba(255,255,255,.25); margin-top:12px; }

.story-home .site-footer.section-dark {
  background:#f3e9e1;
  color:var(--story-ink);
  border-top:1px solid #dfd3ca;
}
.story-home .site-footer.section-dark p { color:#746b65; }
.story-home .site-footer.section-dark h4 { color:var(--story-ink); }
.story-home .site-footer.section-dark a { color:#6d635c; }
.story-home .site-footer.section-dark a:hover { color:var(--story-pink); }
.story-home .site-footer .footer-bottom { border-color:#d8ccc3; }
.story-home .site-footer .footer-social a { color:#6d635c; }

/* no dark surfaces anywhere on the redesigned homepage */
.story-home .mobile-menu { background:#fffaf5; color:var(--story-ink); }
.story-home .mobile-menu a { color:var(--story-ink); }
.story-home .mobile-menu .close-row { border-color:#e3d8cf; }
.story-home .mobile-menu .mm-num { color:#b4863d; }
.story-home .mobile-menu .mm-flag { color:var(--story-pink); background:#f8dfe8; }

@media (max-width:1050px) {
  .story-clapper { right:2%; top:18%; width:310px; }
  .story-lens { right:28%; top:32%; width:165px; }
  .story-reel { right:20%; bottom:5%; width:220px; }
  .story-title { max-width:700px; }
  .craft-board { grid-template-columns:1fr 1fr; }
  .craft-card-large { grid-row:span 2; }
  .film-strip { grid-template-columns:1fr 1fr; }
  .film-card:nth-child(2) { border-right:0; }
  .film-card:nth-child(3) { grid-column:1 / -1; display:grid; grid-template-columns:230px 1fr; gap:25px; align-items:center; }
  .film-card:nth-child(3) .film-frame { aspect-ratio:16/10; }
}

@media (max-width:820px) {
  .story-hero { min-height:900px; padding-top:155px; }
  .story-title { font-size:clamp(3.65rem,14vw,6.8rem); }
  .story-stage { opacity:.82; }
  .story-clapper { right:-12%; top:25%; width:285px; }
  .story-lens { right:23%; top:39%; width:145px; }
  .story-reel { right:-3%; bottom:8%; width:205px; }
  .story-hero-content { z-index:5; }
  .story-credit { margin-top:48px; max-width:340px; }
  .screenplay-intro .container,.casting-layout { grid-template-columns:1fr; }
  .screenplay-sheet { max-width:680px; margin:0 auto; }
  .story-intro-copy { padding-top:35px; }
  .scene-heading { flex-direction:column; align-items:flex-start; }
  .craft-board { grid-template-columns:1fr; }
  .craft-card,.craft-card-large { min-height:420px; grid-row:auto; }
  .film-strip { grid-template-columns:1fr; }
  .film-card,.film-card:nth-child(2),.film-card:nth-child(3) { border-right:0; border-bottom:1px solid rgba(255,255,255,.13); display:block; }
  .film-card:last-child { border-bottom:0; }
  .film-card:nth-child(3) .film-frame { aspect-ratio:4/5; }
  .invitation-prop { opacity:.22; right:-70px; top:20%; }
}

@media (max-width:560px) {
  .story-hero { min-height:850px; padding:140px 0 65px; }
  .scene-tag { margin-bottom:28px; }
  .story-title { font-size:clamp(3.35rem,16vw,5.6rem); }
  .story-title em { padding-left:25px; }
  .story-title strong { padding-left:5px; }
  .story-lede { font-size:.98rem; }
  .story-credit { gap:12px; font-size:.53rem; }
  .story-page-corner { width:190px;height:190px; right:-105px;bottom:-110px; }
  .screenplay-intro,.craft-section,.slate-section,.casting-section,.invitation-section { padding:90px 0; }
  .screenplay-sheet { padding:35px 28px 70px; min-height:560px; }
  .sheet-footer { left:28px;right:28px; }
  .script-dialogue { margin:35px auto; }
  .story-intro-copy h2,.scene-heading h2,.casting-copy h2,.invitation-inner h2 { font-size:clamp(2.6rem,12vw,4.2rem); }
  .craft-card { padding:25px; min-height:390px; }
  .mini-camera { transform:scale(.82) rotate(-7deg); right:2%; top:16%; }
  .mini-script { transform:scale(.82) rotate(8deg); right:0; }
  .mini-reel { transform:scale(.82) rotate(-15deg); right:0; }
  .film-strip { margin-left:-20px;margin-right:-20px; }
  .casting-paper { padding:34px 27px; min-height:450px; }
  .casting-stamp { right:20px;top:22px; }
  .casting-role-row { grid-template-columns:30px 1fr 16px; }
  .invitation-prop { display:none; }
}

/* BVP Phase 1 cinematic surfaces */
.bvp-cinematic-home{background:#fffaf5}
.bvp-hero{min-height:calc(100svh - 30px);position:relative;overflow:hidden;display:flex;align-items:center;padding:150px 0 70px;background:radial-gradient(circle at 76% 38%,rgba(215,180,106,.22),transparent 23%),radial-gradient(circle at 85% 76%,rgba(200,23,107,.13),transparent 28%),linear-gradient(135deg,#fffaf5,#f9e9ed)}
.bvp-hero-inner{position:relative;z-index:4}.bvp-scene-chip{display:inline-flex;gap:12px;align-items:center;font:700 11px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:#625963;padding:10px 14px;border:1px solid #1713181f;border-radius:999px;background:#ffffff80}.bvp-scene-chip i{width:20px;height:1px;background:#d7b46a}.bvp-hero-title{max-width:850px;font-size:clamp(3.7rem,8vw,8.8rem);letter-spacing:-.065em;margin:22px 0 24px}.bvp-hero-title span,.bvp-hero-title em,.bvp-hero-title strong{display:block}.bvp-hero-title em{font-style:normal;color:#c8176b}.bvp-hero-copy{max-width:620px;font-size:clamp(1rem,1.6vw,1.25rem)}.bvp-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:30px}.bvp-text-link{display:inline-flex;gap:10px;align-items:center;font-weight:800;text-decoration:none;color:#171318;border-bottom:1px solid #17131835;padding-bottom:5px}.bvp-text-link i{transition:transform .25s var(--ease)}.bvp-text-link:hover i{transform:translateX(5px)}
.bvp-hero-world{position:absolute;inset:0;pointer-events:none}.bvp-hero-lens{position:absolute;right:5vw;top:16%;width:min(42vw,620px);aspect-ratio:1;border-radius:50%;transform:rotate(-13deg);background:conic-gradient(from 20deg,#17131822,#d7b46a,#c8176b30,#17131814,#d7b46a);box-shadow:0 50px 100px #44253126,inset 0 0 0 2px #fff;animation:bvpLensFloat 9s ease-in-out infinite}.bvp-lens-glass{position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8 0 4%,transparent 5%),radial-gradient(circle,#26313d 0 18%,#5d7381 19%,#10161d 40%,#cfb878 41%,#20232a 43%,#111 60%,#333 61%,#080808 75%,transparent 76%);box-shadow:inset 0 0 35px #0007}.bvp-lens-ring{position:absolute;inset:6%;border:1px solid #ffffffb8;border-radius:50%}.bvp-hero-lens span{position:absolute;right:18%;bottom:18%;font:700 10px var(--font-body);letter-spacing:.16em;color:#fff9}.bvp-hero-script{position:absolute;left:53%;bottom:8%;width:280px;height:360px;padding:28px;background:#fff8f1;border:1px solid #6b4d4d22;box-shadow:0 30px 60px #5b35431c;transform:rotate(7deg);font:600 11px var(--font-body);color:#6d5c62;opacity:.7}.bvp-hero-script i{display:block;height:5px;background:#80656b1b;margin:25px 0 12px}.bvp-petal{position:absolute;width:42px;height:18px;border-radius:90% 15% 90% 15%;background:linear-gradient(135deg,#c8176b,#f3a4b9);opacity:.55}.petal-one{right:13%;top:20%;transform:rotate(26deg)}.petal-two{right:29%;top:66%;transform:rotate(-36deg) scale(.7)}.petal-three{left:58%;top:17%;transform:rotate(70deg) scale(.55)}
@keyframes bvpLensFloat{50%{transform:rotate(-8deg) translate3d(-10px,18px,0)}}
.bvp-opportunity-ribbon{background:#fff;border-top:1px solid #76546018;border-bottom:1px solid #76546018;box-shadow:0 18px 40px #6d3f4b0b}.bvp-ribbon-grid{display:grid;grid-template-columns:repeat(4,1fr)}.bvp-ribbon-grid>a{display:flex;align-items:center;gap:12px;padding:20px 16px;text-decoration:none;border-right:1px solid #76546015}.bvp-ribbon-grid>a:last-child{border-right:0}.bvp-ribbon-grid b{display:block;font:800 11px var(--font-body);letter-spacing:.12em}.bvp-ribbon-grid small{display:block;color:#625963;font-size:11px}.bvp-ribbon-grid>a>i{margin-left:auto;color:#c8176b}.bvp-ribbon-icon{width:36px;height:36px;border-radius:12px;background:#f7dce8;display:grid;place-items:center;color:#c8176b;flex-shrink:0}
.bvp-story-section{padding:130px 0;background:linear-gradient(180deg,#fffaf5,#f7eee9)}.bvp-story-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:9vw;align-items:center}.bvp-paper{position:relative;min-height:470px;padding:30px 38px;background:#fffdf9;box-shadow:0 28px 80px #4d2d3a1f;transform:rotate(-1.5deg);border:1px solid #80606a18}.bvp-paper:before{content:"";position:absolute;inset:14px;border:1px solid #80606a14}.bvp-paper-top,.bvp-paper-foot{display:flex;justify-content:space-between;font:700 9px var(--font-body);letter-spacing:.16em;color:#75656b}.bvp-paper-rule{height:1px;background:#80606a22;margin:18px 0 44px}.bvp-script-slug{font:800 12px var(--font-body);letter-spacing:.1em;color:#171318}.bvp-script-copy{font:500 18px/1.8 var(--font-display);max-width:560px}.bvp-script-note{margin-top:60px;font:600 17px/1.7 Caveat,cursive;color:#c8176b;transform:rotate(-2deg)}.bvp-paper-foot{position:absolute;bottom:28px;left:38px;right:38px}.bvp-story-copy h2,.bvp-section-head h2,.bvp-people-copy h2,.bvp-final h2{font-size:clamp(2.7rem,5vw,5.6rem);letter-spacing:-.055em}.bvp-story-copy h2 em,.bvp-section-head h2 em,.bvp-people-copy h2 em,.bvp-final h2 em{font-style:normal;color:#c8176b}.bvp-section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}.bvp-section-head>p{max-width:380px}.bvp-worlds{padding:120px 0}.bvp-world-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}.bvp-world{position:relative;min-height:440px;padding:28px;text-decoration:none;overflow:hidden;border:1px solid #80606a18;background:#fff;box-shadow:0 18px 50px #603d4910;display:flex;flex-direction:column;justify-content:flex-end}.bvp-world:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#fff,#f7e9ed)}.bvp-world>*{position:relative}.bvp-world-film:before{background:linear-gradient(145deg,#fffaf2,#f0e7da)}.bvp-world-music:before{background:linear-gradient(145deg,#fff7f6,#f4e5ec)}.world-no{position:absolute;top:25px;left:28px;font:700 10px var(--font-body);letter-spacing:.15em}.world-mark{position:absolute;top:26px;right:24px;font:700 9px var(--font-body);letter-spacing:.15em;color:#625963}.bvp-world h3{font-size:clamp(2.3rem,4vw,4.6rem);letter-spacing:-.05em}.bvp-world>i{position:absolute;right:28px;bottom:30px;color:#c8176b}
.bvp-slate{padding:130px 0}.bvp-slate-wall{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px}.bvp-project-frame{position:relative;text-decoration:none;background:#fff;padding:12px;box-shadow:0 24px 60px #5c344215;border:1px solid #76546018}.bvp-project-frame:nth-child(2){margin-top:70px;transform:rotate(1deg)}.bvp-project-frame:nth-child(3){margin-top:35px;transform:rotate(-1deg)}.bvp-frame-image{aspect-ratio:4/5;background:linear-gradient(145deg,#f4e6e7,#e6d9ce);display:grid;place-items:center;overflow:hidden}.bvp-frame-image img{width:100%;height:100%;object-fit:cover}.bvp-frame-info{padding:18px 8px 10px}.bvp-frame-info small{font:700 9px var(--font-body);letter-spacing:.14em;color:#c8176b}.bvp-frame-info strong{display:block;font:800 clamp(1.4rem,2.2vw,2rem) var(--font-display);margin-top:7px}.bvp-project-frame>i{position:absolute;right:24px;bottom:30px;color:#c8176b}
.bvp-people{padding:130px 0;background:linear-gradient(135deg,#f9e8ed,#fff9f1)}.bvp-people-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.bvp-role-orbit{min-height:480px;position:relative;display:grid;place-items:center}.bvp-role-orbit span{position:absolute;padding:9px 13px;border:1px solid #76546022;background:#fff9;border-radius:999px;font:800 9px var(--font-body);letter-spacing:.12em}.bvp-role-orbit span:nth-child(1){top:6%;left:26%}.bvp-role-orbit span:nth-child(2){top:22%;right:6%}.bvp-role-orbit span:nth-child(3){top:58%;right:4%}.bvp-role-orbit span:nth-child(4){bottom:7%;right:28%}.bvp-role-orbit span:nth-child(5){bottom:14%;left:10%}.bvp-role-orbit span:nth-child(6){top:52%;left:2%}.bvp-role-orbit span:nth-child(7){top:30%;left:3%}.bvp-role-orbit span:nth-child(8){bottom:32%;right:19%}.orbit-lens{width:250px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff,#dce2e1 20%,#687d86 21%,#1c2329 34%,#d4b66d 35%,#3a3434 38%,#121212 55%,#fff0 56%);box-shadow:0 30px 80px #5b344515;animation:bvpLensFloat 10s ease-in-out infinite}
.bvp-calls{padding:110px 0;background:#f8eee8}.bvp-call-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.bvp-call-card{position:relative;min-height:210px;padding:24px;background:#fff;border:1px solid #76546018;box-shadow:0 16px 45px #6d3f4b0c;text-decoration:none;display:flex;flex-direction:column;transition:.25s var(--ease)}.bvp-call-card:hover{transform:translateY(-5px)}.bvp-call-card span{font:800 9px var(--font-body);letter-spacing:.16em;color:#c8176b}.bvp-call-card strong{font:800 1.65rem var(--font-display);margin-top:auto}.bvp-call-card small{color:#625963;margin-top:7px}.bvp-call-card i{position:absolute;right:20px;top:22px;color:#c8176b}.bvp-final{position:relative;overflow:hidden;text-align:center;padding:150px 0;background:radial-gradient(circle at 50% 50%,#f4dce8,transparent 38%),linear-gradient(135deg,#fffaf5,#f5eee6)}.bvp-final .eyebrow{justify-content:center}.bvp-final .eyebrow:before{display:none}.bvp-final-aperture{position:absolute;width:620px;max-width:70vw;right:-130px;top:50%;transform:translateY(-50%);color:#c8176b16}.bvp-final-aperture svg{width:100%;height:100%}
.bvp-opportunity-hero{padding:170px 0 90px;background:linear-gradient(135deg,#fffaf5,#f8e7ed)}.bvp-opportunity-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.bvp-opportunity-hero h1{font-size:clamp(3rem,7vw,7rem);letter-spacing:-.06em}.bvp-opportunity-hero h1 em{font-style:normal;color:#c8176b}.bvp-lede{font-size:1.1rem;max-width:650px}.bvp-opportunity-quick{background:#fff;border:1px solid #76546018;box-shadow:0 28px 80px #4d2d3a1f;padding:8px}.bvp-opportunity-quick a{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid #76546012;text-decoration:none}.bvp-opportunity-quick a:last-child{border-bottom:0}.bvp-opportunity-quick a:hover{background:#fff6fa}.bvp-opportunity-quick span{flex:1}.bvp-opportunity-quick b{display:block;font:800 11px var(--font-body);letter-spacing:.13em}.bvp-opportunity-quick small{display:block;color:#625963;margin-top:4px}.bvp-opportunity-quick>a>i{color:#c8176b}.bvp-opportunity-mode{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:45px;background:#fff;border:1px solid #76546018;box-shadow:0 28px 80px #4d2d3a1f}.bvp-mode-actions{display:grid;gap:10px}.bvp-mode-actions .btn{justify-content:flex-start}.bvp-open-call-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:35px}.bvp-open-call{padding:22px;background:#fff;border:1px solid #76546018;text-decoration:none;min-height:180px;display:flex;flex-direction:column}.bvp-open-call-tag{font:800 9px var(--font-body);letter-spacing:.15em;color:#c8176b}.bvp-open-call small{color:#625963;margin-top:18px}.bvp-open-call strong{font:800 1.5rem var(--font-display);margin-top:5px}.bvp-open-call>span:not(.bvp-open-call-tag){font-size:.82rem;color:#625963;margin-top:auto}.bvp-open-call>i{margin-top:12px;color:#c8176b}.bvp-quiet-call{padding:35px;background:#fff;border:1px solid #76546018}.bvp-project-pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.bvp-project-pick{padding:24px;background:#fff;border:1px solid #76546018;text-decoration:none;position:relative}.bvp-project-pick span{font:800 9px var(--font-body);letter-spacing:.14em;color:#c8176b}.bvp-project-pick strong{display:block;font:800 1.4rem var(--font-display);margin-top:15px}.bvp-project-pick i{position:absolute;right:20px;bottom:20px;color:#c8176b}.bvp-opportunity-strip{display:flex!important;justify-content:center!important;padding:0!important;background:#171318!important}.bvp-opportunity-strip>a{padding:9px 12px;color:#fff;text-decoration:none}.bvp-opportunity-strip>a:first-child{flex:1;text-align:center}.bvp-opportunity-strip .top-strip-secondary{border-left:1px solid #ffffff22;white-space:nowrap;color:#f6d98c}
@media(max-width:900px){.bvp-hero{padding-top:130px}.bvp-hero-lens{right:-16vw;top:25%;width:72vw;opacity:.72}.bvp-ribbon-grid,.bvp-call-grid{grid-template-columns:repeat(2,1fr)}.bvp-ribbon-grid>a:nth-child(2){border-right:0}.bvp-ribbon-grid>a:nth-child(n+3){border-top:1px solid #76546015}.bvp-story-grid,.bvp-people-grid,.bvp-opportunity-hero-grid,.bvp-opportunity-mode{grid-template-columns:1fr}.bvp-world-grid{grid-template-columns:1fr}.bvp-world{min-height:330px}.bvp-slate-wall{grid-template-columns:1fr 1fr}.bvp-project-frame:first-child{grid-column:1/-1}.bvp-open-call-grid,.bvp-project-pick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.bvp-hero{min-height:760px;padding:125px 0 80px}.bvp-hero-title{font-size:clamp(3.1rem,15vw,5rem)}.bvp-hero-script{display:none}.bvp-hero-lens{right:-34vw;top:36%;opacity:.48}.bvp-hero-meta{display:none}.bvp-ribbon-grid,.bvp-call-grid,.bvp-open-call-grid,.bvp-project-pick-grid{grid-template-columns:1fr}.bvp-ribbon-grid>a{border-right:0!important}.bvp-ribbon-grid>a:nth-child(n+2){border-top:1px solid #76546015}.bvp-story-section,.bvp-slate,.bvp-worlds,.bvp-people,.bvp-calls{padding:85px 0}.bvp-paper{min-height:420px;padding:25px}.bvp-paper-foot{left:25px;right:25px}.bvp-section-head{display:block}.bvp-section-head>a{margin-top:15px}.bvp-slate-wall{grid-template-columns:1fr}.bvp-project-frame:nth-child(2),.bvp-project-frame:nth-child(3){margin-top:0;transform:none}.bvp-role-orbit{min-height:360px}.orbit-lens{width:190px}.bvp-opportunity-hero{padding:140px 0 65px}.bvp-opportunity-mode{padding:28px}.bvp-opportunity-strip .top-strip-secondary{display:none}}
@media(prefers-reduced-motion:reduce){.bvp-hero-lens,.orbit-lens{animation:none!important}}

.bvp-inline-choice{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 6px}.bvp-inline-choice .btn{min-height:46px}@media(max-width:600px){.bvp-inline-choice .btn{width:100%}}


/* ================================================================
   BVP V2 — cinematic realism + mobile-first clarity
   ================================================================ */
.bvp-home-v2{--bvp-ink:#1b1718;--bvp-muted:#655c5f;--bvp-line:rgba(46,28,34,.13);--bvp-pink:#b71861;--bvp-rose:#e9b8c8;--bvp-gold:#b99355;--bvp-cream:#fbf7f1;--bvp-white:#fffdf9;background:var(--bvp-cream);color:var(--bvp-ink)}
.bvp-home-v2 .site-header{background:rgba(255,253,249,.9);backdrop-filter:blur(18px)}
.bvp-hero-v2{min-height:clamp(690px,88vh,900px);position:relative;display:flex;align-items:center;overflow:hidden;background:#e9e0d8;color:#fff}
.bvp-hero-v2-media{position:absolute;inset:0;background:#33282a;overflow:hidden}
.bvp-hero-v2-image{position:absolute;inset:-5%;background:
 radial-gradient(ellipse at 72% 42%,rgba(255,225,181,.52) 0,rgba(255,225,181,.15) 13%,transparent 31%),
 radial-gradient(ellipse at 24% 20%,rgba(205,120,146,.35) 0,transparent 28%),
 linear-gradient(112deg,rgba(20,17,18,.9),rgba(82,50,56,.72) 47%,rgba(31,26,27,.88)),
 url('/assets/img/og-image.jpg') center/cover;
 filter:saturate(.78) contrast(1.05);
 transform:scale(1.04)}
.bvp-hero-v2-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,13,14,.82),rgba(17,13,14,.38) 48%,rgba(17,13,14,.35)),linear-gradient(0deg,rgba(10,8,8,.7),transparent 38%,rgba(10,8,8,.25))}
.bvp-hero-v2-light{position:absolute;width:65vw;height:80vh;right:-20vw;top:-15vh;background:radial-gradient(ellipse,rgba(255,211,148,.18),transparent 62%);transform:rotate(-18deg);filter:blur(8px)}
.bvp-hero-v2-frame{position:absolute;inset:5%;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.bvp-hero-v2-reel{position:absolute;width:420px;height:420px;right:-120px;bottom:-170px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:inset 0 0 0 35px rgba(255,255,255,.025),inset 0 0 0 70px rgba(255,255,255,.02)}
.bvp-hero-v2-inner{position:relative;z-index:2;padding:130px 0 80px;max-width:1180px}
.bvp-kicker{font:700 10px var(--font-body);letter-spacing:.22em;color:#fff9;margin-bottom:24px}
.bvp-hero-v2 h1{font:800 clamp(4rem,8vw,8.5rem)/.9 var(--font-display);letter-spacing:-.065em;max-width:920px;margin:0}
.bvp-hero-v2 h1 em{font-style:normal;color:#f2c2d2}
.bvp-hero-v2-copy{font:400 clamp(1rem,1.45vw,1.2rem)/1.7 var(--font-body);max-width:650px;color:#fffdd;margin:30px 0 30px}
.bvp-hero-v2-actions{display:flex;gap:12px;flex-wrap:wrap}
.bvp-hero-v2 .btn-secondary{color:#fff;border-color:#ffffff55;background:#ffffff12}
.bvp-hero-v2-facts{display:flex;gap:28px;margin-top:55px;padding-top:16px;border-top:1px solid #ffffff2a;max-width:720px;font:700 9px var(--font-body);letter-spacing:.16em;color:#fff9}
.bvp-mobile-priority{position:relative;z-index:5;background:#fff;border-bottom:1px solid var(--bvp-line);box-shadow:0 14px 35px rgba(44,24,31,.08)}
.bvp-mobile-priority .container{display:grid;grid-template-columns:repeat(3,1fr)}
.bvp-mobile-priority a{padding:18px 20px;text-decoration:none;border-right:1px solid var(--bvp-line);display:flex;flex-direction:column;gap:4px}
.bvp-mobile-priority a:last-child{border-right:0}
.bvp-mobile-priority b{font:800 10px var(--font-body);letter-spacing:.14em;color:var(--bvp-pink)}
.bvp-mobile-priority span{font-size:.82rem;color:var(--bvp-muted)}
.bvp-home-intro,.bvp-home-slate,.bvp-home-people,.bvp-home-opportunity,.bvp-home-copro,.bvp-home-story{padding:120px 0}
.bvp-home-intro-grid,.bvp-copro-grid,.bvp-home-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.bvp-home-intro h2,.bvp-home-head h2,.bvp-home-story h2{font:800 clamp(2.8rem,5.2vw,5.8rem)/.95 var(--font-display);letter-spacing:-.06em;margin:0}
.bvp-home-intro h2 em,.bvp-home-head h2 em{font-style:normal;color:var(--bvp-pink)}
.bvp-home-intro-copy>p,.bvp-home-story-grid>div:last-child>p,.bvp-copro-grid>div:first-child>p{font-size:1.05rem;line-height:1.8;color:var(--bvp-muted);max-width:620px}
.bvp-simple-links{margin-top:34px;border-top:1px solid var(--bvp-line)}
.bvp-simple-links a{display:grid;grid-template-columns:45px 1fr 25px;align-items:center;padding:17px 0;border-bottom:1px solid var(--bvp-line);text-decoration:none;color:var(--bvp-ink);font-weight:700}
.bvp-simple-links span{font:700 10px var(--font-body);color:var(--bvp-pink);letter-spacing:.1em}
.bvp-simple-links i{color:var(--bvp-pink)}
.bvp-home-slate{background:#f1ebe5}
.bvp-home-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:48px}
.bvp-head-note{max-width:380px;color:var(--bvp-muted);line-height:1.7}
.bvp-project-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bvp-project-card-v2{background:#fff;border:1px solid var(--bvp-line);text-decoration:none;color:var(--bvp-ink);box-shadow:0 24px 55px rgba(46,28,34,.08);transition:transform .35s ease,box-shadow .35s ease}
.bvp-project-card-v2:hover{transform:translateY(-7px);box-shadow:0 32px 70px rgba(46,28,34,.14)}
.bvp-project-card-image{position:relative;aspect-ratio:4/5;background:#d9ccc2;overflow:hidden}
.bvp-project-card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.86);transition:transform .6s ease}
.bvp-project-card-v2:hover img{transform:scale(1.035)}
.bvp-project-index{position:absolute;left:17px;top:15px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #fff8;border-radius:50%;font:700 10px var(--font-body);color:#fff;background:#17111266;backdrop-filter:blur(8px)}
.bvp-project-card-copy{padding:24px 23px 27px}
.bvp-project-card-copy small{font:700 9px var(--font-body);letter-spacing:.13em;color:var(--bvp-pink)}
.bvp-project-card-copy h3{font:800 2rem var(--font-display);letter-spacing:-.04em;margin:9px 0 7px}
.bvp-project-card-copy p{font-size:.9rem;line-height:1.6;color:var(--bvp-muted);min-height:46px}
.bvp-project-card-copy span{display:inline-flex;gap:8px;margin-top:15px;font:800 10px var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--bvp-ink)}
.bvp-project-placeholder{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 50% 42%,#f5d9df,#cdb9b0 65%,#8c7471);color:#fff}
.bvp-project-placeholder span{font:800 5rem var(--font-display);opacity:.7}
.bvp-project-placeholder small{font:700 9px var(--font-body);letter-spacing:.2em}
.bvp-home-people{background:#fff}
.bvp-path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bvp-line);border:1px solid var(--bvp-line)}
.bvp-path-grid a{position:relative;min-height:245px;padding:27px;background:#fff;text-decoration:none;color:var(--bvp-ink);display:flex;flex-direction:column}
.bvp-path-grid a:hover{background:#fff8fa}
.path-number{font:700 9px var(--font-body);letter-spacing:.15em;color:var(--bvp-pink)}
.bvp-path-grid strong{font:800 1.55rem var(--font-display);margin-top:auto;letter-spacing:-.02em}
.bvp-path-grid small{color:var(--bvp-muted);line-height:1.55;margin-top:8px;max-width:240px}
.bvp-path-grid i{position:absolute;right:23px;top:24px;color:var(--bvp-pink)}
.bvp-home-opportunity{background:#f1ebe5}
.bvp-opportunity-panel{background:#2a2022;color:#fff;padding:70px 75px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.bvp-opportunity-panel:after{content:"";position:absolute;width:520px;height:520px;right:-210px;top:-230px;border-radius:50%;border:1px solid #ffffff18;box-shadow:inset 0 0 0 65px #ffffff04,inset 0 0 0 130px #ffffff03}
.bvp-opportunity-panel h2{font:800 clamp(3rem,5vw,5.7rem)/.93 var(--font-display);letter-spacing:-.06em;margin:0;position:relative;z-index:1}
.bvp-opportunity-panel h2 em{font-style:normal;color:#efbfd0}
.bvp-opportunity-panel p{color:#fff9;line-height:1.75;max-width:650px;position:relative;z-index:1}
.bvp-opportunity-actions{position:relative;z-index:2;display:grid;gap:18px}
.bvp-access-link{display:flex;flex-direction:column;gap:4px;color:#fff;text-decoration:none;border-top:1px solid #ffffff2a;padding-top:18px}
.bvp-access-link span{font-size:.78rem;color:#fff9}.bvp-access-link i{color:#efbfd0}
.bvp-home-copro{background:#fff}
.bvp-copro-note{min-height:360px;padding:42px;background:linear-gradient(145deg,#f6e2e8,#e9d5c8);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.bvp-copro-note:before{content:"";position:absolute;width:300px;height:300px;right:-90px;top:-90px;border-radius:50%;border:1px solid #6d3f4b22;box-shadow:inset 0 0 0 35px #ffffff22,inset 0 0 0 70px #ffffff12}
.bvp-copro-note span{font:800 9px var(--font-body);letter-spacing:.18em;color:#9e315d;position:relative}
.bvp-copro-note strong{font:800 clamp(2.5rem,4vw,4.5rem)/.92 var(--font-display);letter-spacing:-.05em;margin-top:15px;position:relative}
.bvp-copro-note small{margin-top:22px;color:#5e5154;max-width:300px;position:relative}
.bvp-home-story{background:#f4eee8}
.bvp-real-frame{background:#1d1718;color:#fff;min-height:430px;padding:22px;box-shadow:0 30px 75px rgba(38,23,28,.18);transform:rotate(-.7deg)}
.bvp-real-frame-top{display:flex;justify-content:space-between;border-bottom:1px solid #fff2;padding-bottom:14px;font:700 8px var(--font-body);letter-spacing:.16em;color:#fff9}
.bvp-real-frame-body{height:340px;display:flex;flex-direction:column;justify-content:center;padding:35px;background:radial-gradient(circle at 70% 35%,#a84c6c44,transparent 32%),linear-gradient(135deg,#302426,#1a1516)}
.bvp-real-frame-body span{font:700 9px var(--font-body);letter-spacing:.18em;color:#fff8}
.bvp-real-frame-body strong{font:800 clamp(2.5rem,5vw,5rem)/.92 var(--font-display);letter-spacing:-.055em;margin-top:15px}
.bvp-real-frame-body small{font-size:.82rem;line-height:1.6;color:#fff8;max-width:430px;margin-top:24px}
.bvp-home-final{padding:130px 0;text-align:center;background:linear-gradient(135deg,#fffaf5,#f4dfe7)}
.bvp-home-final h2{font:800 clamp(4rem,8vw,8rem)/.88 var(--font-display);letter-spacing:-.07em;margin:15px 0 35px}.bvp-home-final h2 em{font-style:normal;color:var(--bvp-pink)}
.bvp-home-final .bvp-hero-v2-actions{justify-content:center}
.bvp-access-page{min-height:calc(100vh - 90px);padding:150px 0 90px;background:linear-gradient(135deg,#fbf6ef,#f0dfe5);position:relative;overflow:hidden}
.bvp-access-glow{position:absolute;width:60vw;height:60vw;right:-20vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,#e5b5c833,transparent 65%)}
.bvp-access-shell{display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;position:relative}
.bvp-access-copy h1{font:800 clamp(3rem,6vw,6.5rem)/.92 var(--font-display);letter-spacing:-.065em;margin:10px 0 25px}
.bvp-access-copy>p{max-width:580px;color:var(--bvp-muted);line-height:1.8;font-size:1.05rem}
.bvp-access-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.bvp-access-points span{padding:9px 12px;border:1px solid var(--bvp-line);background:#fff8;border-radius:999px;font:700 9px var(--font-body);letter-spacing:.1em;text-transform:uppercase}
.bvp-access-card{background:#fff;border:1px solid var(--bvp-line);box-shadow:0 28px 80px rgba(57,32,40,.14);padding:28px}
.bvp-access-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-28px -28px 25px}.bvp-access-tabs a{padding:17px;text-align:center;text-decoration:none;color:var(--bvp-muted);border-bottom:1px solid var(--bvp-line);font-weight:700}.bvp-access-tabs a.active{color:var(--bvp-ink);border-bottom:2px solid var(--bvp-pink)}
.bvp-simple-form .field{margin-bottom:17px}.bvp-simple-form label{display:block;font-size:.78rem;font-weight:700;margin-bottom:7px}.bvp-simple-form input{width:100%;padding:14px 15px;border:1px solid var(--bvp-line);border-radius:8px;background:#fff;font:inherit}.bvp-full-btn{width:100%;justify-content:center;margin-top:5px}.bvp-access-note{font-size:.72rem;color:var(--bvp-muted);line-height:1.55;margin:18px 0 0}
.bvp-dashboard{padding:140px 0 80px;background:#f7f2ec;min-height:100vh}.bvp-dashboard-head{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:35px}.bvp-dashboard-head h1{font:800 clamp(2.8rem,6vw,6rem)/.9 var(--font-display);letter-spacing:-.06em;margin:10px 0}.bvp-dashboard-head p:last-child{color:var(--bvp-muted)}.bvp-dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:35px}.bvp-dashboard-actions a{background:#fff;border:1px solid var(--bvp-line);padding:22px;text-decoration:none;color:var(--bvp-ink);display:flex;flex-direction:column}.bvp-dashboard-actions span{color:var(--bvp-pink);font-size:1.2rem}.bvp-dashboard-actions b{margin-top:18px}.bvp-dashboard-actions small{color:var(--bvp-muted);line-height:1.5;margin-top:5px}.bvp-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bvp-dashboard-card{background:#fff;border:1px solid var(--bvp-line);padding:24px}.bvp-card-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.bvp-card-head h2{font:800 1.65rem var(--font-display);margin:4px 0}.bvp-card-head a{font-size:.8rem;color:var(--bvp-pink)}.bvp-muted{color:var(--bvp-muted);font-size:.88rem}.bvp-activity-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--bvp-line);align-items:center}.bvp-activity-row strong{display:block;font-size:.9rem}.bvp-activity-row small{display:block;color:var(--bvp-muted);margin-top:3px;font-size:.72rem}.bvp-activity-row>span{font-size:.7rem;padding:5px 8px;background:#f4e3e9;border-radius:999px;color:#8d3157}.bvp-dashboard-footer{margin-top:18px;padding:22px;background:#2a2022;color:#fff;display:flex;gap:10px;align-items:center}.bvp-dashboard-footer span{color:#fff9}.bvp-dashboard-footer a{color:#efbfd0}
.bvp-mobile-dock{display:none}
@media(max-width:900px){.bvp-hero-v2-inner{padding:125px 0 65px}.bvp-home-intro-grid,.bvp-copro-grid,.bvp-home-story-grid,.bvp-access-shell{grid-template-columns:1fr;gap:45px}.bvp-project-grid-v2{grid-template-columns:1fr 1fr}.bvp-path-grid{grid-template-columns:1fr 1fr}.bvp-opportunity-panel{grid-template-columns:1fr;padding:48px 38px}.bvp-dashboard-actions{grid-template-columns:1fr}.bvp-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){body.bvp-home-v2{padding-bottom:76px}.bvp-hero-v2{min-height:700px}.bvp-hero-v2-image{background-position:58% center}.bvp-hero-v2-frame{inset:4%}.bvp-hero-v2-reel{width:260px;height:260px;right:-95px;bottom:-100px}.bvp-hero-v2-inner{padding:115px 20px 55px}.bvp-hero-v2 h1{font-size:clamp(3.4rem,15vw,5.5rem)}.bvp-hero-v2-copy{font-size:.97rem}.bvp-hero-v2-actions .btn{width:100%;justify-content:center}.bvp-hero-v2-facts{gap:12px;flex-wrap:wrap;margin-top:30px}.bvp-mobile-priority .container{grid-template-columns:1fr}.bvp-mobile-priority a{border-right:0!important;border-bottom:1px solid var(--bvp-line);padding:15px 20px}.bvp-mobile-priority a:last-child{border-bottom:0}.bvp-home-intro,.bvp-home-slate,.bvp-home-people,.bvp-home-opportunity,.bvp-home-copro,.bvp-home-story{padding:78px 0}.bvp-home-intro-grid,.bvp-copro-grid,.bvp-home-story-grid{gap:34px}.bvp-home-intro h2,.bvp-home-head h2,.bvp-home-story h2{font-size:clamp(2.7rem,12vw,4.5rem)}.bvp-home-head{display:block;margin-bottom:28px}.bvp-home-head .bvp-text-link{display:inline-block;margin-top:15px}.bvp-project-grid-v2,.bvp-path-grid{grid-template-columns:1fr}.bvp-path-grid a{min-height:185px}.bvp-opportunity-panel{padding:38px 25px}.bvp-opportunity-panel h2{font-size:3.3rem}.bvp-copro-note{min-height:300px}.bvp-real-frame{min-height:360px}.bvp-real-frame-body{height:270px}.bvp-access-page{padding:110px 0 60px}.bvp-access-shell{gap:30px}.bvp-access-copy h1{font-size:3.5rem}.bvp-access-card{padding:22px}.bvp-access-tabs{margin:-22px -22px 22px}.bvp-dashboard{padding:110px 0 35px}.bvp-dashboard-head{align-items:start;flex-direction:column}.bvp-dashboard-head h1{font-size:3.5rem}.bvp-dashboard-footer{display:block}.bvp-mobile-dock{display:grid;position:fixed;z-index:999;left:10px;right:10px;bottom:10px;grid-template-columns:repeat(4,1fr);background:rgba(32,24,26,.96);backdrop-filter:blur(18px);border:1px solid #fff2;border-radius:16px;box-shadow:0 18px 50px #0003;padding:6px}.bvp-mobile-dock a{min-height:52px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-decoration:none;color:#fff8;font:700 8px var(--font-body);letter-spacing:.06em;text-transform:uppercase}.bvp-mobile-dock a i{font-size:15px;color:#efbfd0}.bvp-mobile-dock a.primary i{color:#f3d07c}.bvp-mobile-dock a.primary{color:#fff}}
@media(prefers-reduced-motion:reduce){.bvp-project-card-v2,.bvp-project-card-v2 img{transition:none}.bvp-hero-v2-image{transform:none}}

.bvp-nav-access{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid var(--bvp-line,#3b2a31);border-radius:999px;color:var(--bvp-ink,#1b1718);font:800 9px var(--font-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
@media(max-width:900px){.bvp-nav-access{display:none}}


/* BVP identity UX pass — mobile-first forms and persistent opportunity access */
.bvp-mobile-priority a:focus-visible,.bvp-mobile-dock a:focus-visible,.bvp-path-grid a:focus-visible,.bvp-dashboard-actions a:focus-visible{outline:3px solid #d6a748;outline-offset:-3px}
.bvp-mobile-priority a{min-height:72px}
.form-shell .wizard-progress{position:sticky;top:var(--header-h,90px);z-index:20;background:rgba(255,253,249,.96);backdrop-filter:blur(14px);padding:12px 0 10px;margin-bottom:24px}
.form-shell .wizard-progress-track{height:4px;border-radius:99px;overflow:hidden;background:#eadfe3}
.form-shell .wizard-progress-bar{height:100%;background:linear-gradient(90deg,#b71861,#b99355);border-radius:inherit;transition:width .35s ease}
.form-shell .wizard-progress-label{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:.7rem;color:#756a70}
.form-shell .wizard-progress-steps{display:flex;gap:5px;margin-top:8px}.form-shell .wizard-progress-steps span{height:3px;flex:1;background:#e5d9de;border-radius:99px}.form-shell .wizard-progress-steps span.is-done,.form-shell .wizard-progress-steps span.is-current{background:#b71861}
.field select,.field input,.field textarea{min-height:50px;border-radius:10px}
.select-cards.icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.select-card label{min-height:64px;display:flex;align-items:center;gap:10px}
.wizard-nav{position:sticky;bottom:0;z-index:12;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);padding:12px 0;margin-top:24px;border-top:1px solid var(--bvp-line)}
@media(max-width:600px){
  .bvp-mobile-priority a{min-height:68px;padding:14px 18px}
  .form-shell{padding-left:16px;padding-right:16px}
  .form-shell .wizard-progress{top:var(--header-h,90px);margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .select-cards.icon-grid{grid-template-columns:1fr 1fr}
  .select-card label{min-height:72px;padding:12px 10px;font-size:.82rem}
  .wizard-nav{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;gap:8px;display:flex;justify-content:space-between}
  .wizard-nav .btn{flex:1;min-height:50px}
}
@media(max-width:390px){.select-cards.icon-grid{grid-template-columns:1fr}.bvp-mobile-dock a{font-size:7px}}

/* ================================================================
   BVP HOMEPAGE V3 — cinematic light studio experience
   ================================================================ */
.bvp-home-v3{--v3-ink:#20191b;--v3-muted:#6e6267;--v3-line:rgba(49,28,36,.13);--v3-pink:#b71861;--v3-gold:#b99355;--v3-cream:#fbf7f1;--v3-petal:#f3dce4;background:var(--v3-cream);color:var(--v3-ink)}
.bvp-v3-hero{min-height:clamp(700px,92vh,940px);position:relative;display:flex;align-items:center;overflow:hidden;background:#3a292d;color:#fff}
.bvp-v3-hero-bg,.bvp-v3-hero-image,.bvp-v3-hero-wash,.bvp-v3-frame-lines{position:absolute;inset:0}
.bvp-v3-hero-image{background:linear-gradient(105deg,rgba(25,17,19,.82),rgba(61,36,44,.5) 52%,rgba(31,23,25,.72)),url('/assets/img/og-image.jpg') center/cover;transform:scale(1.045);filter:saturate(.82) contrast(1.04)}
.bvp-v3-hero-wash{background:radial-gradient(circle at 76% 32%,rgba(255,221,177,.3),transparent 25%),linear-gradient(0deg,rgba(15,10,12,.72),transparent 38%)}
.bvp-v3-frame-lines{inset:5%;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.bvp-v3-aperture{position:absolute;width:min(52vw,620px);height:min(52vw,620px);right:-18%;bottom:-35%;border-radius:50%;border:1px solid #fff2;box-shadow:inset 0 0 0 35px #ffffff08,inset 0 0 0 75px #ffffff04}
.bvp-v3-hero-content{position:relative;z-index:2;padding:140px 0 80px;max-width:1180px}
.bvp-v3-film-mark{display:flex;align-items:center;gap:10px;margin-bottom:34px;font:700 8px var(--font-body);letter-spacing:.18em;color:#fff9}.bvp-v3-film-mark i{width:42px;height:1px;background:#fff5}
.bvp-v3-hero .eyebrow{color:#fff9}.bvp-v3-hero h1{font:800 clamp(4.2rem,9vw,9rem)/.86 var(--font-display);letter-spacing:-.07em;max-width:900px;margin:15px 0 28px}.bvp-v3-hero h1 em{font-style:normal;color:#efbed0}
.bvp-v3-hero-lede{max-width:620px;font-size:1.12rem;line-height:1.75;color:#fffdd;margin-bottom:28px}.bvp-v3-actions{display:flex;gap:12px;flex-wrap:wrap}.bvp-v3-hero .btn-secondary{color:#fff;border-color:#ffffff55;background:#ffffff12}
.bvp-v3-hero-meta{display:flex;gap:28px;margin-top:55px;padding-top:17px;border-top:1px solid #fff2;max-width:680px;font:700 9px var(--font-body);letter-spacing:.18em;color:#fff8}.bvp-v3-scroll{position:absolute;z-index:3;right:35px;bottom:35px;display:flex;align-items:center;gap:12px;transform:rotate(90deg);transform-origin:right bottom;font:700 8px var(--font-body);letter-spacing:.2em;color:#fff8}.bvp-v3-scroll i{width:45px;height:1px;background:#fff7}
.bvp-v3-start{padding:105px 0 115px;background:#fff}.bvp-v3-start-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:42px}.bvp-v3-start-head h2,.bvp-v3-section-head h2,.bvp-v3-copro h2,.bvp-v3-final h2{font:800 clamp(3.2rem,6vw,6.7rem)/.9 var(--font-display);letter-spacing:-.065em;margin:8px 0}.bvp-v3-start h2 em,.bvp-v3-section-head h2 em,.bvp-v3-copro h2 em,.bvp-v3-final h2 em{font-style:normal;color:var(--v3-pink)}.bvp-v3-start-head>p,.bvp-v3-section-head>p{color:var(--v3-muted);line-height:1.8;max-width:450px}
.bvp-v3-entry-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v3-line);border-left:1px solid var(--v3-line)}.bvp-v3-entry-grid a{min-height:275px;padding:22px;border-right:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line);text-decoration:none;color:var(--v3-ink);position:relative;display:flex;flex-direction:column;transition:background .3s,transform .3s}.bvp-v3-entry-grid a:hover{background:#fff7fa;transform:translateY(-4px)}.bvp-v3-entry-grid> a>span{font:700 9px var(--font-body);letter-spacing:.15em;color:var(--v3-pink)}.bvp-v3-entry-grid>a>i{font-size:1.35rem;color:var(--v3-gold);margin-top:28px}.bvp-v3-entry-grid strong{font:800 1.55rem var(--font-display);letter-spacing:-.03em;margin-top:auto}.bvp-v3-entry-grid small{font-size:.82rem;line-height:1.55;color:var(--v3-muted);margin-top:8px;max-width:220px}.bvp-v3-entry-grid b{margin-top:20px;font:800 9px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.bvp-v3-entry-grid b i{color:var(--v3-pink);margin-left:5px}
.bvp-v3-statement{padding:105px 0;background:#f2eae4}.bvp-v3-statement-grid{display:grid;grid-template-columns:80px 1.1fr .9fr;gap:35px;align-items:end}.bvp-v3-statement-number{font:700 10px var(--font-body);letter-spacing:.2em;color:var(--v3-pink);padding-bottom:10px}.bvp-v3-statement h2{font:800 clamp(3.3rem,6vw,6.8rem)/.9 var(--font-display);letter-spacing:-.065em;margin:8px 0}.bvp-v3-statement h2 em{font-style:normal;color:var(--v3-pink)}.bvp-v3-statement p:not(.eyebrow){font-size:1.03rem;line-height:1.85;color:var(--v3-muted);max-width:500px}
.bvp-v3-slate{padding:115px 0;background:#fff}.bvp-v3-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.bvp-v3-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.bvp-v3-project{background:#fff;border:1px solid var(--v3-line);text-decoration:none;color:var(--v3-ink);box-shadow:0 22px 55px rgba(53,30,39,.08);transition:transform .35s,box-shadow .35s}.bvp-v3-project:hover{transform:translateY(-7px);box-shadow:0 32px 70px rgba(53,30,39,.14)}.bvp-v3-project-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ded1ca}.bvp-v3-project-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.84);transition:transform .6s}.bvp-v3-project:hover img{transform:scale(1.035)}.bvp-v3-project-no{position:absolute;top:15px;left:15px;width:35px;height:35px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;background:#17111266;color:#fff;font:700 9px var(--font-body)}.bvp-v3-project-placeholder{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 50% 35%,#f5dce2,#cdbbb2 65%,#8d7570);color:#fff}.bvp-v3-project-placeholder span{font:800 5rem var(--font-display);opacity:.72}.bvp-v3-project-placeholder small{font:700 9px var(--font-body);letter-spacing:.18em}.bvp-v3-project-copy{padding:24px}.bvp-v3-project-copy small{font:700 9px var(--font-body);letter-spacing:.12em;color:var(--v3-pink)}.bvp-v3-project-copy h3{font:800 2rem var(--font-display);letter-spacing:-.04em;margin:8px 0}.bvp-v3-project-copy p{color:var(--v3-muted);line-height:1.6;font-size:.88rem;min-height:46px}.bvp-v3-project-copy span{display:inline-flex;gap:8px;margin-top:15px;font:800 9px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.bvp-v3-empty{padding:55px;background:#f5eee8;border:1px solid var(--v3-line);display:flex;justify-content:space-between;gap:30px}.bvp-v3-empty strong{font:800 2rem var(--font-display)}.bvp-v3-empty span{color:var(--v3-muted)}.bvp-v3-empty a{color:var(--v3-pink)}
.bvp-v3-process{padding:115px 0;background:#fbf7f1}.bvp-v3-process-line{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--v3-line);margin-top:55px}.bvp-v3-process-line>div{min-height:205px;padding:18px 18px 18px 0;border-right:1px solid var(--v3-line);margin-right:18px}.bvp-v3-process-line>div:last-child{border-right:0}.bvp-v3-process-line span{font:700 9px var(--font-body);letter-spacing:.15em;color:var(--v3-pink)}.bvp-v3-process-line strong{display:block;font:800 1.55rem var(--font-display);margin-top:75px}.bvp-v3-process-line small{display:block;color:var(--v3-muted);line-height:1.55;margin-top:8px}
.bvp-v3-opportunities{padding:105px 0;background:#efe5df}.bvp-v3-opportunity-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#2b2023;color:#fff;min-height:500px;overflow:hidden}.bvp-v3-opportunity-art{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#d8a6b955,transparent 32%),linear-gradient(145deg,#3c292e,#21181a)}.bvp-v3-clapper{width:235px;height:300px;border:1px solid #fff3;padding:25px;transform:rotate(-6deg);box-shadow:0 35px 70px #0005;display:flex;flex-direction:column}.bvp-v3-clapper span{font:700 8px var(--font-body);letter-spacing:.16em;color:#fff9}.bvp-v3-clapper strong{font:800 4rem/.82 var(--font-display);letter-spacing:-.06em;margin-top:auto}.bvp-v3-clapper i{height:22px;border-top:3px solid #efbfd0;border-bottom:3px solid #efbfd0;margin-top:20px}.bvp-v3-opportunity-copy{padding:65px 70px}.bvp-v3-opportunity-copy h2{font:800 clamp(3.3rem,5vw,5.8rem)/.9 var(--font-display);letter-spacing:-.065em;margin:10px 0 24px}.bvp-v3-opportunity-copy h2 em{font-style:normal;color:#efbfd0}.bvp-v3-opportunity-copy>p:not(.eyebrow){color:#fff9;line-height:1.8;max-width:560px}.bvp-v3-opportunity-links{display:flex;gap:30px;flex-wrap:wrap;margin-top:38px}.bvp-v3-opportunity-links a{color:#fff;text-decoration:none;font:800 9px var(--font-body);letter-spacing:.12em;text-transform:uppercase}.bvp-v3-opportunity-links i{color:#efbfd0;margin-left:5px}
.bvp-v3-copro{padding:115px 0;background:#fff}.bvp-v3-copro-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.bvp-v3-copro p:not(.eyebrow){max-width:590px;color:var(--v3-muted);line-height:1.8;margin:22px 0 30px}.bvp-v3-copro-object{min-height:410px;padding:38px;background:linear-gradient(145deg,#f6e0e7,#e8d5c9);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.bvp-v3-copro-object:before{content:"";position:absolute;width:360px;height:360px;right:-130px;top:-120px;border-radius:50%;border:1px solid #74405233;box-shadow:inset 0 0 0 45px #ffffff22,inset 0 0 0 90px #ffffff12}.bvp-v3-copro-object span{font:700 9px var(--font-body);letter-spacing:.18em;color:#963355;position:relative}.bvp-v3-copro-object strong{font:800 clamp(3.2rem,5vw,5.6rem)/.84 var(--font-display);letter-spacing:-.06em;margin-top:16px;position:relative}.bvp-v3-copro-object small{margin-top:24px;color:#645459;position:relative}
.bvp-v3-final{padding:135px 0;text-align:center;background:linear-gradient(135deg,#fff9f3,#f1dce4)}.bvp-v3-final .eyebrow{color:var(--v3-pink)}.bvp-v3-final h2{font-size:clamp(4.3rem,9vw,9rem);margin:15px 0 28px}.bvp-v3-final p:not(.eyebrow){color:var(--v3-muted);font-size:1.05rem;margin-bottom:30px}.bvp-v3-final .bvp-v3-actions{justify-content:center}
@media(max-width:900px){.bvp-v3-start-head,.bvp-v3-statement-grid,.bvp-v3-copro-grid{grid-template-columns:1fr;gap:28px}.bvp-v3-entry-grid{grid-template-columns:1fr 1fr}.bvp-v3-projects{grid-template-columns:1fr 1fr}.bvp-v3-process-line{grid-template-columns:1fr 1fr}.bvp-v3-process-line>div:nth-child(2n){border-right:0}.bvp-v3-opportunity-card{grid-template-columns:1fr}.bvp-v3-opportunity-art{min-height:300px}.bvp-v3-section-head{align-items:start;flex-direction:column}.bvp-v3-statement-number{padding:0}}
@media(max-width:600px){body.bvp-home-v3{padding-bottom:76px}.bvp-v3-hero{min-height:720px}.bvp-v3-hero-content{padding:120px 20px 60px}.bvp-v3-hero h1{font-size:clamp(3.8rem,16vw,5.8rem)}.bvp-v3-hero-lede{font-size:.98rem}.bvp-v3-hero .btn{width:100%;justify-content:center}.bvp-v3-hero-meta{gap:12px;flex-wrap:wrap;margin-top:32px}.bvp-v3-scroll{display:none}.bvp-v3-start,.bvp-v3-statement,.bvp-v3-slate,.bvp-v3-process,.bvp-v3-opportunities,.bvp-v3-copro{padding:78px 0}.bvp-v3-start-head h2,.bvp-v3-section-head h2,.bvp-v3-copro h2{font-size:clamp(3rem,13vw,4.6rem)}.bvp-v3-entry-grid,.bvp-v3-projects,.bvp-v3-process-line{grid-template-columns:1fr}.bvp-v3-entry-grid a{min-height:205px}.bvp-v3-process-line{margin-top:30px}.bvp-v3-process-line>div{min-height:155px;margin:0;border-right:0;border-bottom:1px solid var(--v3-line)}.bvp-v3-process-line>div:last-child{border-bottom:0}.bvp-v3-process-line strong{margin-top:45px}.bvp-v3-opportunity-copy{padding:42px 25px}.bvp-v3-opportunity-copy h2{font-size:3.5rem}.bvp-v3-copro-object{min-height:320px}.bvp-v3-final{padding:95px 20px}.bvp-v3-final h2{font-size:clamp(4rem,17vw,6rem)}.bvp-v3-final .btn{width:100%;justify-content:center}.bvp-v3-empty{display:block}.bvp-v3-empty span{display:block;margin-top:14px}}
@media(prefers-reduced-motion:reduce){.bvp-v3-hero-image,.bvp-v3-project,.bvp-v3-project img,.bvp-v3-entry-grid a{transition:none;transform:none}}


/* ================================================================
   BVP HOMEPAGE V4 — CAMERA / CLAPPER / CONTACT-SHEET LANGUAGE
   Light cinematic direction. No stock-photo hero, no generic SaaS blocks.
   ================================================================ */
body.bvp-home-v4{
  --v4-ink:#171319;--v4-muted:#6e646b;--v4-paper:#fffdf9;--v4-cream:#f6efe9;
  --v4-petal:#f0d8e1;--v4-pink:#b71861;--v4-gold:#b18a4b;--v4-line:rgba(35,23,29,.14);
  background:var(--v4-paper);color:var(--v4-ink);
}
.bvp-home-v4 .site-header{mix-blend-mode:normal}
.bvp-home-v4 .bvp-v3-hero{display:none}

/* HERO: a production camera becomes the visual anchor */
.bvp-v4-hero{position:relative;min-height:clamp(720px,92vh,900px);overflow:hidden;background:
  radial-gradient(circle at 78% 48%,rgba(216,177,122,.26),transparent 22%),
  radial-gradient(circle at 62% 85%,rgba(183,24,97,.09),transparent 30%),
  linear-gradient(135deg,#fffdf9 0%,#f7eee9 52%,#f1dce4 100%);
  display:flex;align-items:center;border-bottom:1px solid var(--v4-line)}
.bvp-v4-hero:before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:radial-gradient(rgba(23,19,25,.35) .45px,transparent .45px);background-size:5px 5px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.bvp-v4-hero-film{position:absolute;top:0;left:0;right:0;height:44px;background:#171319;color:#fff;display:flex;align-items:center;justify-content:center;gap:20px;font:700 8px var(--font-body);letter-spacing:.18em;z-index:3}
.bvp-v4-hero-film i{width:34px;height:1px;background:#fff4}.bvp-v4-hero-film span:first-child{color:#efbfd0}.bvp-v4-hero-film span:last-child{color:#e6c986}
.bvp-v4-hero-grid{width:100%;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:35px;padding-top:70px;padding-bottom:55px;position:relative;z-index:2}
.bvp-v4-hero-copy{max-width:700px}
.bvp-v4-hero-copy h1{font:800 clamp(4rem,7.8vw,7.8rem)/.84 var(--font-display);letter-spacing:-.075em;margin:12px 0 28px;color:var(--v4-ink)}
.bvp-v4-hero-copy h1 em{font-style:normal;color:var(--v4-pink)}
.bvp-v4-hero-copy>p:not(.eyebrow){max-width:590px;color:var(--v4-muted);font-size:1.06rem;line-height:1.78;margin-bottom:28px}
.bvp-v4-actions{display:flex;gap:12px;flex-wrap:wrap}
.bvp-v4-hero-meta{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--v4-line);margin-top:44px;padding-top:16px;font:800 8px var(--font-body);letter-spacing:.17em;color:#71666c}
.bvp-v4-camera{position:relative;height:min(530px,55vw);min-height:430px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 32px 35px rgba(45,26,34,.16))}
.bvp-v4-camera:after{content:"";position:absolute;width:72%;height:35px;bottom:55px;left:14%;background:radial-gradient(ellipse,#4a293522,transparent 70%);filter:blur(8px)}
.bvp-v4-camera-handle{position:absolute;top:55px;right:28%;width:180px;height:85px;border:16px solid #262027;border-bottom:0;border-radius:22px 22px 0 0;transform:skewX(-10deg);background:linear-gradient(90deg,#493943,#1c171d)}
.bvp-v4-camera-body{position:relative;width:min(470px,78%);height:300px;border-radius:24px 32px 30px 24px;background:linear-gradient(145deg,#4a3940,#211a20 58%,#130f13);border:1px solid #ffffff26;box-shadow:inset 0 1px #fff2,0 28px 60px #25151d33;z-index:3}
.bvp-v4-camera-top{height:44px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff1;color:#e9d5d8;font:700 8px var(--font-body);letter-spacing:.17em}.bvp-v4-camera-top b{color:#ff7c9f}
.bvp-v4-camera-window{position:absolute;left:28px;top:76px;width:115px;height:78px;border:1px solid #fff3;background:linear-gradient(135deg,#30242a,#151217);display:flex;align-items:flex-end;justify-content:space-between;padding:8px;color:#fff9;font:700 7px var(--font-body);letter-spacing:.1em}.bvp-v4-camera-window i{font-style:normal;font-size:16px;color:#e4c17e}
.bvp-v4-lens{position:absolute;width:215px;height:215px;border-radius:50%;right:-55px;top:44px;background:radial-gradient(circle at 42% 35%,#f3d5df 0 3%,#6e4057 8%,#2d2030 25%,#151116 46%,#0c0a0d 63%,#33242d 66%,#0d0b0e 75%);border:13px solid #5a4a50;box-shadow:0 0 0 2px #171218,0 20px 45px #0008}.bvp-v4-lens:before{content:"";position:absolute;inset:17px;border-radius:50%;border:1px solid #ffffff2d;box-shadow:inset 0 0 0 14px #ffffff09}.bvp-v4-lens i{position:absolute;width:24px;height:24px;border-radius:50%;left:57px;top:43px;background:#f8dbe4aa;filter:blur(3px)}.bvp-v4-lens b{position:absolute;width:8px;height:8px;border-radius:50%;background:#e6bdcf;left:calc(50% - 4px);top:calc(50% - 4px);box-shadow:0 0 20px #ef9dbc}
.bvp-v4-camera-foot{position:absolute;left:28px;bottom:20px;color:#d6c7cb;font:700 7px var(--font-body);letter-spacing:.14em}
.bvp-v4-camera-dial{position:absolute;width:56px;height:56px;border-radius:50%;background:repeating-conic-gradient(#2b2228 0 10deg,#92727b 10deg 14deg);border:7px solid #382b31;top:105px;left:17%;z-index:4;box-shadow:0 7px 16px #0005}
.bvp-v4-camera-tripod{position:absolute;z-index:1;bottom:65px;display:flex;gap:85px}.bvp-v4-camera-tripod i{display:block;width:9px;height:160px;background:linear-gradient(#4b3940,#171217);transform:rotate(9deg);border-radius:10px}.bvp-v4-camera-tripod i:nth-child(2){transform:rotate(0)}.bvp-v4-camera-tripod i:nth-child(3){transform:rotate(-9deg)}
.bvp-v4-viewfinder-mark{position:absolute;right:4.5%;top:26%;width:135px;height:135px;border:1px solid #9b72804d;z-index:1}.bvp-v4-viewfinder-mark i{position:absolute;width:18px;height:18px;border-color:#9b7280;border-style:solid}.bvp-v4-viewfinder-mark i:nth-child(1){left:-1px;top:-1px;border-width:2px 0 0 2px}.bvp-v4-viewfinder-mark i:nth-child(2){right:-1px;top:-1px;border-width:2px 2px 0 0}.bvp-v4-viewfinder-mark i:nth-child(3){left:-1px;bottom:-1px;border-width:0 0 2px 2px}.bvp-v4-viewfinder-mark i:nth-child(4){right:-1px;bottom:-1px;border-width:0 2px 2px 0}.bvp-v4-viewfinder-mark span{position:absolute;right:0;top:-22px;font:700 7px var(--font-body);letter-spacing:.15em;color:#9b7280}.bvp-v4-viewfinder-mark span b{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d9275f;margin:0 4px}
.bvp-v4-hero-bottom{position:absolute;left:5%;right:5%;bottom:22px;border-top:1px solid var(--v4-line);padding-top:12px;display:flex;justify-content:space-between;font:800 8px var(--font-body);letter-spacing:.16em;color:#786a70;z-index:2}.bvp-v4-hero-bottom i{width:100px;height:1px;background:#b18a4b55;margin-top:4px}

/* CONTACT SHEET: more visual rhythm and film perforations */
.bvp-home-v4 .bvp-v3-start{padding:120px 0;background:#fff}
.bvp-home-v4 .bvp-v3-start-head{margin-bottom:48px}.bvp-home-v4 .bvp-v3-start-head h2{font-size:clamp(3.4rem,6.2vw,6.2rem)}
.bvp-home-v4 .bvp-v3-entry-grid{border:0;gap:14px;position:relative}
.bvp-home-v4 .bvp-v3-entry-grid:before{content:"CONTACT SHEET / CHOOSE YOUR FRAME";position:absolute;left:0;top:-25px;font:800 7px var(--font-body);letter-spacing:.18em;color:#9a7a84}
.bvp-home-v4 .bvp-v3-entry-grid a{min-height:330px;border:1px solid var(--v4-line);background:#fcfaf7;padding:18px;overflow:hidden;box-shadow:0 12px 30px rgba(45,25,34,.04)}
.bvp-home-v4 .bvp-v3-entry-grid a:before,.bvp-home-v4 .bvp-v3-entry-grid a:after{content:"";position:absolute;top:0;bottom:0;width:7px;background:radial-gradient(circle,#d4c2c7 1.4px,transparent 1.7px);background-size:7px 14px;opacity:.45}
.bvp-home-v4 .bvp-v3-entry-grid a:before{left:3px}.bvp-home-v4 .bvp-v3-entry-grid a:after{right:3px}
.bvp-home-v4 .bvp-v3-entry-grid a:hover{background:#fff7fa;transform:translateY(-8px);box-shadow:0 25px 45px rgba(83,28,52,.12)}
.bvp-home-v4 .bvp-v3-entry-grid>a>i{margin-top:24px}.bvp-home-v4 .bvp-v3-entry-grid strong{font-size:1.7rem}.bvp-home-v4 .bvp-v3-entry-grid b{color:var(--v4-pink)}

/* Studio becomes a director's desk / call sheet */
.bvp-home-v4 .bvp-v3-statement{padding:120px 0;background:var(--v4-cream)}
.bvp-home-v4 .bvp-v3-statement-grid{grid-template-columns:70px 1fr 1fr;gap:50px}
.bvp-home-v4 .bvp-v3-statement-grid:after{content:"PRODUCTION NOTE";grid-column:3;justify-self:end;align-self:start;font:800 7px var(--font-body);letter-spacing:.18em;color:#9a7a84}
.bvp-home-v4 .bvp-v3-statement h2{font-size:clamp(3.7rem,6.5vw,6.8rem)}
.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type{position:relative;background:#fff;padding:34px;border:1px solid var(--v4-line);box-shadow:12px 12px 0 #e8d8d2}.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type:before{content:"BVP / CALL SHEET";display:block;margin-bottom:25px;font:800 8px var(--font-body);letter-spacing:.18em;color:var(--v4-pink)}
.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type:after{content:"";display:block;margin-top:25px;width:75px;height:6px;background:repeating-linear-gradient(135deg,var(--v4-pink) 0 8px,transparent 8px 15px)}

/* Slate: stronger project-frame treatment */
.bvp-home-v4 .bvp-v3-slate{padding:120px 0;background:#fff}
.bvp-home-v4 .bvp-v3-projects{gap:24px}
.bvp-home-v4 .bvp-v3-project{border:0;background:#f7f1ec;box-shadow:none}
.bvp-home-v4 .bvp-v3-project-media{aspect-ratio:16/10;background:#ddd;outline:1px solid var(--v4-line);outline-offset:-1px}
.bvp-home-v4 .bvp-v3-project-media:after{content:"FRAME";position:absolute;left:16px;bottom:15px;font:800 7px var(--font-body);letter-spacing:.2em;color:#fff9}
.bvp-home-v4 .bvp-v3-project-copy{padding:24px 26px 28px}.bvp-home-v4 .bvp-v3-project-copy h3{font-size:2.2rem}.bvp-home-v4 .bvp-v3-project-copy span{color:var(--v4-pink)}
.bvp-home-v4 .bvp-v3-empty{background:#f5eee8;border:1px solid var(--v4-line);min-height:250px;position:relative;overflow:hidden}
.bvp-home-v4 .bvp-v3-empty:before{content:"SLATE / NEXT FRAME";position:absolute;right:30px;top:25px;font:800 7px var(--font-body);letter-spacing:.18em;color:#9b7883}

/* Process becomes a film strip */
.bvp-home-v4 .bvp-v3-process{padding:120px 0;background:#fbf8f3;position:relative;overflow:hidden}
.bvp-home-v4 .bvp-v3-process:before,.bvp-home-v4 .bvp-v3-process:after{content:"";position:absolute;left:0;right:0;height:12px;background:radial-gradient(circle,#c8b6bb 2px,transparent 2.5px);background-size:28px 12px;opacity:.6}
.bvp-home-v4 .bvp-v3-process:before{top:0}.bvp-home-v4 .bvp-v3-process:after{bottom:0}
.bvp-home-v4 .bvp-v3-process-line{margin-top:55px;background:#fff;border:1px solid var(--v4-line);padding:0}
.bvp-home-v4 .bvp-v3-process-line>div{min-height:245px;padding:20px 22px;border-right:1px solid var(--v4-line);margin:0;position:relative}
.bvp-home-v4 .bvp-v3-process-line>div:after{content:"";position:absolute;left:22px;right:22px;top:50px;height:1px;background:var(--v4-line)}
.bvp-home-v4 .bvp-v3-process-line strong{margin-top:95px;font-size:1.7rem}.bvp-home-v4 .bvp-v3-process-line span{color:var(--v4-pink)}

/* Opportunities: retain the old slate feeling the user liked */
.bvp-home-v4 .bvp-v3-opportunities{padding:120px 0;background:#eee3dc}
.bvp-home-v4 .bvp-v3-opportunity-card{min-height:560px;background:#211a1e;box-shadow:0 30px 70px rgba(35,20,26,.16);position:relative}
.bvp-home-v4 .bvp-v3-opportunity-art{background:radial-gradient(circle at 50% 50%,#b9935530,transparent 34%),linear-gradient(145deg,#3c2d31,#171216)}
.bvp-home-v4 .bvp-v3-clapper{width:255px;height:325px;border-color:#fff3;transform:rotate(-7deg);position:relative;background:linear-gradient(160deg,#292126,#120f13);box-shadow:22px 35px 55px #0008}
.bvp-home-v4 .bvp-v3-clapper:before{content:"";position:absolute;left:-15px;right:-15px;top:-18px;height:42px;background:repeating-linear-gradient(135deg,#eac5cf 0 13px,#3c2c33 13px 25px);border:1px solid #fff2}
.bvp-home-v4 .bvp-v3-opportunity-copy{padding:75px 72px}.bvp-home-v4 .bvp-v3-opportunity-copy h2{font-size:clamp(3.6rem,5.3vw,6rem)}
.bvp-home-v4 .bvp-v3-opportunity-copy .eyebrow{color:#e7bdcf}.bvp-home-v4 .bvp-v3-opportunity-links a{font-size:10px}

/* Co-produce: viewfinder instead of generic gradient card */
.bvp-home-v4 .bvp-v3-copro{padding:120px 0;background:#fff}
.bvp-home-v4 .bvp-v3-copro-object{min-height:470px;background:#e9d8d0;box-shadow:inset 0 0 0 1px var(--v4-line);overflow:hidden}
.bvp-home-v4 .bvp-v3-copro-object:after{content:"+";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:300 50px/1 var(--font-body);color:#5e4750}
.bvp-home-v4 .bvp-v3-copro-object:before{width:500px;height:500px;right:-90px;top:-15px;border:1px solid #65414f55;box-shadow:inset 0 0 0 90px #fff1,inset 0 0 0 180px #fff1}
.bvp-home-v4 .bvp-v3-copro-object strong{font-size:clamp(3.8rem,5.5vw,6.2rem)}

/* Final: clapper bars */
.bvp-home-v4 .bvp-v3-final{padding:140px 0;background:linear-gradient(145deg,#fff9f3,#f0d9e2);position:relative;overflow:hidden}
.bvp-home-v4 .bvp-v3-final:before{content:"";position:absolute;left:50%;top:-170px;width:340px;height:340px;border-radius:50%;border:1px solid #b18a4b44;box-shadow:inset 0 0 0 35px #fff4,inset 0 0 0 70px #fff2}
.bvp-home-v4 .bvp-v3-final h2{font-size:clamp(4.5rem,9vw,9rem)}
.bvp-home-v4 .bvp-v3-final h2 em{color:var(--v4-pink)}

/* Responsive */
@media(max-width:900px){
  .bvp-v4-hero-grid{grid-template-columns:1fr;gap:5px;padding-top:95px}.bvp-v4-hero-copy{max-width:720px}.bvp-v4-camera{height:420px;min-height:360px;margin-top:-15px}.bvp-v4-camera-body{transform:scale(.82)}.bvp-v4-camera-handle{transform:scale(.82);top:20px}.bvp-v4-camera-tripod{transform:scale(.82);bottom:25px}.bvp-v4-viewfinder-mark{right:3%;top:45%}.bvp-home-v4 .bvp-v3-statement-grid{grid-template-columns:1fr;gap:28px}.bvp-home-v4 .bvp-v3-statement-grid:after{grid-column:auto}.bvp-home-v4 .bvp-v3-statement-grid>div:last-of-type{margin-top:8px}.bvp-home-v4 .bvp-v3-entry-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .bvp-v4-hero{min-height:820px}.bvp-v4-hero-film{height:38px;gap:9px;font-size:6px}.bvp-v4-hero-film i{width:14px}.bvp-v4-hero-grid{padding:82px 20px 65px}.bvp-v4-hero-copy h1{font-size:clamp(3.65rem,15vw,5.6rem);margin-bottom:22px}.bvp-v4-hero-copy>p:not(.eyebrow){font-size:.95rem}.bvp-v4-actions .btn{width:100%}.bvp-v4-hero-meta{gap:12px;margin-top:30px}.bvp-v4-camera{height:330px;min-height:300px;margin-top:-15px;transform:scale(.88)}.bvp-v4-camera-body{width:330px;height:225px;transform:none}.bvp-v4-camera-handle{right:19%;width:125px;height:60px;border-width:11px;top:14px}.bvp-v4-lens{width:155px;height:155px;right:-43px;top:38px}.bvp-v4-camera-window{width:80px;height:58px;left:20px;top:58px}.bvp-v4-camera-dial{width:43px;height:43px;left:15%;top:80px}.bvp-v4-camera-foot{left:20px;font-size:6px}.bvp-v4-camera-tripod{gap:52px;bottom:7px}.bvp-v4-camera-tripod i{height:105px}.bvp-v4-viewfinder-mark{display:none}.bvp-v4-hero-bottom{left:20px;right:20px;bottom:14px;font-size:6px}.bvp-v4-hero-bottom i{width:35px}.bvp-home-v4 .bvp-v3-start,.bvp-home-v4 .bvp-v3-statement,.bvp-home-v4 .bvp-v3-slate,.bvp-home-v4 .bvp-v3-process,.bvp-home-v4 .bvp-v3-opportunities,.bvp-home-v4 .bvp-v3-copro{padding:82px 0}.bvp-home-v4 .bvp-v3-start-head{margin-bottom:40px}.bvp-home-v4 .bvp-v3-start-head h2,.bvp-home-v4 .bvp-v3-section-head h2{font-size:clamp(3.1rem,14vw,4.8rem)}.bvp-home-v4 .bvp-v3-entry-grid{grid-template-columns:1fr;gap:10px}.bvp-home-v4 .bvp-v3-entry-grid a{min-height:235px}.bvp-home-v4 .bvp-v3-statement h2{font-size:clamp(3.3rem,14vw,5rem)}.bvp-home-v4 .bvp-v3-projects{grid-template-columns:1fr}.bvp-home-v4 .bvp-v3-project-media{aspect-ratio:4/3}.bvp-home-v4 .bvp-v3-process-line{grid-template-columns:1fr}.bvp-home-v4 .bvp-v3-process-line>div{min-height:185px;border-right:0;border-bottom:1px solid var(--v4-line)}.bvp-home-v4 .bvp-v3-process-line>div:last-child{border-bottom:0}.bvp-home-v4 .bvp-v3-opportunity-card{grid-template-columns:1fr}.bvp-home-v4 .bvp-v3-opportunity-art{min-height:300px}.bvp-home-v4 .bvp-v3-opportunity-copy{padding:45px 25px}.bvp-home-v4 .bvp-v3-opportunity-copy h2{font-size:3.6rem}.bvp-home-v4 .bvp-v3-copro-grid{grid-template-columns:1fr;gap:35px}.bvp-home-v4 .bvp-v3-copro-object{min-height:350px}.bvp-home-v4 .bvp-v3-final{padding:105px 20px}.bvp-home-v4 .bvp-v3-final h2{font-size:clamp(4rem,17vw,6rem)}
}
@media(prefers-reduced-motion:reduce){
  .bvp-v4-camera,.bvp-home-v4 .bvp-v3-entry-grid a,.bvp-home-v4 .bvp-v3-project{transition:none;transform:none}
}


/* BVP HOMEPAGE V5 — studio scale / editorial cinema / no equipment hero */
body.bvp-home-v5{--v5-ink:#171318;--v5-muted:#70656d;--v5-paper:#fcfaf7;--v5-warm:#f2e9e2;--v5-pink:#b91863;--v5-gold:#ad8750;--v5-line:rgba(29,20,25,.13);background:var(--v5-paper);color:var(--v5-ink)}
body.bvp-home-v5 .site-header{z-index:600}
body.bvp-home-v5 .bvp-v3-hero,body.bvp-home-v5 .bvp-v4-hero{display:none}
.bvp-v5-hero{min-height:calc(100svh - 0px);position:relative;display:flex;align-items:center;overflow:hidden;background:#f6eee9}
.bvp-v5-hero-visual{position:absolute;inset:0;background:linear-gradient(115deg,#fdfaf7 0%,#f6eee8 44%,#ead7d5 100%);overflow:hidden}
.bvp-v5-hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,250,247,.96) 0%,rgba(252,250,247,.72) 42%,rgba(252,250,247,.08) 75%),radial-gradient(circle at 76% 54%,#fff8 0 5%,transparent 27%),linear-gradient(135deg,transparent 40%,#7e3d5222 100%)}
.bvp-v5-orb{position:absolute;width:58vw;height:58vw;max-width:820px;max-height:820px;border-radius:50%;right:-8vw;top:13%;background:radial-gradient(circle at 38% 32%,#fffdf8 0 3%,#e7c7cb 18%,#c58b99 36%,#71404e 54%,#2d2027 73%,#171218 100%);box-shadow:-35px 35px 90px #3d1f2c24}
.bvp-v5-orb:before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid #fff6;box-shadow:inset 0 0 0 34px #fff1,inset 0 0 0 70px #fff1}
.bvp-v5-orb:after{content:"";position:absolute;width:45%;height:14%;left:10%;top:18%;border-radius:50%;background:#fff8;filter:blur(18px);transform:rotate(-25deg)}
.bvp-v5-stage{position:absolute;right:12%;bottom:-5%;width:48%;height:50%;transform:skewX(-15deg);background:linear-gradient(90deg,#ffffff03,#ffffff45 48%,#ffffff08);border-left:1px solid #fff5}
.bvp-v5-stage:before,.bvp-v5-stage:after{content:"";position:absolute;bottom:0;width:1px;height:100%;background:#ffffff4}.bvp-v5-stage:before{left:25%}.bvp-v5-stage:after{left:72%}
.bvp-v5-light{position:absolute;width:3px;height:75%;background:linear-gradient(#fff0,#fff8,#fff0);filter:blur(1px);transform:rotate(18deg)}.bvp-v5-light.l1{right:38%;top:5%}.bvp-v5-light.l2{right:25%;top:0;height:58%;transform:rotate(-12deg)}
.bvp-v5-frame{position:absolute;inset:12% 6% 9% 6%;border:1px solid #ffffff40;box-shadow:inset 0 0 0 1px #00000008}.bvp-v5-frame:before,.bvp-v5-frame:after{content:"";position:absolute;width:45px;height:45px;border-color:#6c4754;border-style:solid;opacity:.45}.bvp-v5-frame:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.bvp-v5-frame:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.bvp-v5-frame span,.bvp-v5-frame b{position:absolute;top:-20px;font:700 7px var(--font-body);letter-spacing:.18em;color:#775d66}.bvp-v5-frame span{left:0}.bvp-v5-frame b{right:0;font-weight:700}
.bvp-v5-production-mark{position:absolute;right:5%;bottom:7%;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:end;color:#644751}.bvp-v5-production-mark span{grid-column:1/3;font:800 7px var(--font-body);letter-spacing:.2em}.bvp-v5-production-mark strong{font:800 55px/.8 var(--font-display);letter-spacing:-.08em}.bvp-v5-production-mark small{font:700 7px var(--font-body);letter-spacing:.15em}
.bvp-v5-hero-content{position:relative;z-index:3;padding-top:100px;padding-bottom:100px;width:100%}.bvp-v5-hero-content h1{font:800 clamp(4.2rem,8vw,9rem)/.83 var(--font-display);letter-spacing:-.075em;max-width:850px;margin:16px 0 30px}.bvp-v5-hero-content h1 em{font-style:normal;color:var(--v5-pink)}.bvp-v5-hero-content>p:not(.eyebrow){max-width:570px;font-size:1.08rem;line-height:1.8;color:var(--v5-muted);margin-bottom:30px}.bvp-v5-actions{display:flex;gap:12px;flex-wrap:wrap}.bvp-v5-hero-footer{position:absolute;z-index:4;left:5%;right:5%;bottom:22px;border-top:1px solid #5e46504d;padding-top:11px;display:flex;justify-content:space-between;font:800 7px var(--font-body);letter-spacing:.17em;color:#6d5c63}
.bvp-v5-manifesto{padding:145px 0;background:#fff}.bvp-v5-manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:end}.bvp-v5-manifesto h2,.bvp-v5-section-head h2{font:800 clamp(4rem,7vw,7.6rem)/.84 var(--font-display);letter-spacing:-.07em}.bvp-v5-manifesto h2 em,.bvp-v5-section-head h2 em,.bvp-v5-copro h2 em,.bvp-v5-final h2 em{font-style:normal;color:var(--v5-pink)}.bvp-v5-manifesto-grid>div:last-child{max-width:510px;padding-bottom:5px}.bvp-v5-manifesto p:not(.eyebrow){font-size:1.03rem;line-height:1.9;color:var(--v5-muted)}.bvp-v5-link{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font:800 9px var(--font-body);letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #33242b55;padding-bottom:9px}.bvp-v5-link i{color:var(--v5-pink)}
.bvp-v5-entry{padding:130px 0;background:var(--v5-warm)}.bvp-v5-section-head{margin-bottom:55px}.bvp-v5-section-head>h2{max-width:850px}.bvp-v5-entry-stage{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v5-line);border-bottom:1px solid var(--v5-line)}.bvp-v5-entry-item{min-height:330px;padding:25px 22px 22px;border-right:1px solid var(--v5-line);position:relative;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;transition:background .45s var(--ease),padding .45s var(--ease)}.bvp-v5-entry-item:first-child{border-left:1px solid var(--v5-line)}.bvp-v5-entry-item:hover{background:#fff;padding-bottom:30px}.bvp-v5-entry-item span{position:absolute;top:24px;left:22px;font:800 9px var(--font-body);color:#9a747f}.bvp-v5-entry-item strong{font:800 clamp(1.55rem,2.1vw,2.4rem)/.9 var(--font-display);letter-spacing:-.045em}.bvp-v5-entry-item small{margin-top:12px;color:var(--v5-muted);font-size:.82rem;max-width:210px;line-height:1.5}.bvp-v5-entry-item>i{position:absolute;right:22px;top:25px;color:var(--v5-gold);opacity:.5;transition:transform .45s var(--ease)}.bvp-v5-entry-item:hover>i{transform:translate(5px,-5px);opacity:1}
.bvp-v5-slate{padding:145px 0;background:#fff}.bvp-v5-section-head.split{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.bvp-v5-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bvp-v5-project{text-decoration:none;background:#f5eee8;display:block;overflow:hidden}.bvp-v5-project-art{aspect-ratio:3/4;position:relative;overflow:hidden;background:linear-gradient(135deg,#e4d3cc,#9c6d77)}.bvp-v5-project-art img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.9)}.bvp-v5-project:hover img{transform:scale(1.04)}.bvp-v5-project-art:after{content:"";position:absolute;inset:15px;border:1px solid #fff6;pointer-events:none}.bvp-v5-project-index{position:absolute;left:22px;top:20px;color:#fff;font:800 7px var(--font-body);letter-spacing:.2em;text-shadow:0 1px 8px #0008}.bvp-v5-placeholder{position:absolute;inset:0;display:grid;place-items:center;font:800 8rem/.8 var(--font-display);color:#fff5;letter-spacing:-.08em}.bvp-v5-project-copy{padding:24px 24px 30px}.bvp-v5-project-copy small{font:700 8px var(--font-body);letter-spacing:.14em;color:#98717d;text-transform:uppercase}.bvp-v5-project-copy h3{font-size:2.2rem;margin:10px 0 8px}.bvp-v5-project-copy p{color:var(--v5-muted);line-height:1.65}.bvp-v5-project-copy span{font:800 8px var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--v5-pink)}.bvp-v5-empty{min-height:390px;background:#f1e5df;padding:55px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.bvp-v5-empty:before{content:"BVP";position:absolute;right:-20px;top:-100px;font:900 32rem/.8 var(--font-display);color:#fff6;letter-spacing:-.12em}.bvp-v5-empty span{font:800 8px var(--font-body);letter-spacing:.2em;color:#9b6575}.bvp-v5-empty strong{font:800 clamp(3rem,5vw,5.4rem)/.86 var(--font-display);max-width:700px;letter-spacing:-.06em;margin:16px 0}.bvp-v5-empty a{font:800 9px var(--font-body);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--v5-pink)}
.bvp-v5-engine{padding:140px 0;background:#f9f6f2;overflow:hidden}.bvp-v5-engine-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v5-line);border-bottom:1px solid var(--v5-line)}.bvp-v5-engine-line>div{min-height:260px;padding:25px;border-right:1px solid var(--v5-line);position:relative}.bvp-v5-engine-line>div:first-child{border-left:1px solid var(--v5-line)}.bvp-v5-engine-line span{font:800 8px var(--font-body);color:var(--v5-pink)}.bvp-v5-engine-line strong{display:block;margin-top:85px;font:800 2rem/.9 var(--font-display);letter-spacing:-.04em}.bvp-v5-engine-line small{display:block;max-width:220px;margin-top:14px;color:var(--v5-muted);line-height:1.5}
.bvp-v5-opportunities{padding:140px 0;background:#1b151a;color:#fff}.bvp-v5-opportunity-wrap{display:grid;grid-template-columns:1fr .85fr;gap:9%;align-items:center}.bvp-v5-opportunities h2{color:#fff;font:800 clamp(4rem,6.7vw,7rem)/.84 var(--font-display);letter-spacing:-.07em}.bvp-v5-opportunities p:not(.eyebrow){color:#c9bec5;max-width:550px;line-height:1.8}.bvp-v5-opportunities .eyebrow{color:#e5bdcc}.bvp-v5-link.light{color:#fff;border-color:#fff4}.bvp-v5-stage-wall{height:510px;background:linear-gradient(145deg,#3a2930,#171217);border:1px solid #fff1;position:relative;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:30px 35px 70px #0005}.bvp-v5-stage-wall:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-260px;top:-130px;border:1px solid #e2b65e44;box-shadow:inset 0 0 0 80px #ffffff05,inset 0 0 0 160px #ffffff04}.bvp-v5-stage-wall:after{content:"";position:absolute;inset:35px;border:1px solid #fff2}.bvp-v5-stage-wall span{font:800 9px var(--font-body);letter-spacing:.2em;color:#e5c27c;position:relative;z-index:1}.bvp-v5-stage-wall strong{font:800 clamp(4rem,7vw,7.5rem)/.78 var(--font-display);letter-spacing:-.08em;position:relative;z-index:1}.bvp-v5-stage-wall small{font:700 7px var(--font-body);letter-spacing:.16em;color:#cbbcc3;margin-top:20px;position:relative;z-index:1}.bvp-v5-stage-wall i{position:absolute;width:1px;height:70%;left:32%;top:0;background:#fff2;transform:rotate(22deg)}
.bvp-v5-copro{padding:145px 0;background:#fff}.bvp-v5-copro-grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.bvp-v5-copro h2{font:800 clamp(3.8rem,6vw,6.5rem)/.84 var(--font-display);letter-spacing:-.07em}.bvp-v5-copro p:not(.eyebrow){max-width:560px;line-height:1.85;color:var(--v5-muted);margin:24px 0 30px}.bvp-v5-copro-visual{height:470px;background:#eee1d9;position:relative;padding:32px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.bvp-v5-copro-visual:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-170px;top:-160px;border:1px solid #75465255;box-shadow:inset 0 0 0 55px #fff2,inset 0 0 0 110px #fff1}.bvp-v5-copro-visual span{font:800 8px var(--font-body);letter-spacing:.18em;color:#76525c}.bvp-v5-copro-visual strong{font:800 12rem/.7 var(--font-display);letter-spacing:-.12em;color:#ffffff80;position:relative}.bvp-v5-copro-visual small{font:800 7px var(--font-body);letter-spacing:.15em;color:#76525c;position:relative}.bvp-v5-copro-visual i{position:absolute;left:15%;right:15%;top:50%;height:1px;background:#76525c55}
.bvp-v5-final{padding:155px 0;text-align:center;background:linear-gradient(135deg,#fffaf6,#f0dce3)}.bvp-v5-final h2{font:800 clamp(4.4rem,8.5vw,9rem)/.82 var(--font-display);letter-spacing:-.08em;margin:16px auto 25px}.bvp-v5-final p:not(.eyebrow){color:var(--v5-muted);margin-bottom:30px}
@media(max-width:900px){.bvp-v5-hero-content{padding-top:150px}.bvp-v5-hero-visual:before{background:linear-gradient(90deg,#fcfaf7f2,#fcfaf7a8 55%,#fcfaf733),linear-gradient(135deg,transparent 40%,#7e3d5222)}.bvp-v5-orb{width:75vw;height:75vw;right:-22vw;top:31%}.bvp-v5-manifesto-grid,.bvp-v5-opportunity-wrap,.bvp-v5-copro-grid{grid-template-columns:1fr;gap:45px}.bvp-v5-entry-stage{grid-template-columns:1fr 1fr}.bvp-v5-entry-item{border-bottom:1px solid var(--v5-line)}.bvp-v5-project-grid{grid-template-columns:1fr 1fr}.bvp-v5-engine-line{grid-template-columns:1fr 1fr}.bvp-v5-engine-line>div:nth-child(2n){border-right:0}.bvp-v5-stage-wall{height:420px}}
@media(max-width:600px){body.bvp-home-v5{padding-bottom:76px}.bvp-v5-hero{min-height:850px}.bvp-v5-hero-content{padding:125px 20px 100px}.bvp-v5-hero-content h1{font-size:clamp(3.8rem,16vw,5.7rem)}.bvp-v5-hero-content>p:not(.eyebrow){font-size:.95rem}.bvp-v5-hero-content .btn{width:100%}.bvp-v5-hero-footer{left:20px;right:20px;bottom:13px;font-size:6px}.bvp-v5-hero-footer span:nth-child(2){display:none}.bvp-v5-manifesto,.bvp-v5-entry,.bvp-v5-slate,.bvp-v5-engine,.bvp-v5-opportunities,.bvp-v5-copro{padding:88px 0}.bvp-v5-manifesto h2,.bvp-v5-section-head h2{font-size:clamp(3.4rem,15vw,5.2rem)}.bvp-v5-entry-stage,.bvp-v5-project-grid,.bvp-v5-engine-line{grid-template-columns:1fr}.bvp-v5-entry-item{min-height:210px;border-left:1px solid var(--v5-line)!important}.bvp-v5-project-art{aspect-ratio:4/5}.bvp-v5-section-head.split{display:block}.bvp-v5-section-head.split .bvp-v5-link{margin-top:20px}.bvp-v5-opportunities h2{font-size:clamp(3.7rem,15vw,5.5rem)}.bvp-v5-stage-wall{height:360px}.bvp-v5-copro h2{font-size:clamp(3.6rem,14vw,5.3rem)}.bvp-v5-copro-visual{height:330px}.bvp-v5-copro-visual strong{font-size:8rem}.bvp-v5-final{padding:105px 20px}.bvp-v5-final h2{font-size:clamp(4rem,17vw,6.3rem)}.bvp-v5-final .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.bvp-v5-project-art img,.bvp-v5-entry-item{transition:none}}

/* ==========================================================================
   BVP HOMEPAGE V6 — CINEMATIC STUDIO / PRODUCTION WORLD
   A complete homepage layer replacing the V5 editorial experiment.
   Visual language: production architecture, real slate imagery, depth,
   precision, movement and premium light-theme restraint.
   ========================================================================== */

body.bvp-home-v6{
  --v6-ink:#151116;
  --v6-muted:#6b626b;
  --v6-paper:#fbf8f4;
  --v6-white:#fff;
  --v6-rose:#f2e4e1;
  --v6-pink:#c51367;
  --v6-pink-soft:#eaa2bf;
  --v6-gold:#b48a4d;
  --v6-line:rgba(21,17,22,.14);
  background:var(--v6-paper);
  color:var(--v6-ink);
}
body.bvp-home-v6 .site-header{z-index:800}
body.bvp-home-v6 .mobile-dock{z-index:900}

/* HERO — a studio wall, not a camera, lens or generic orb */
.bvp6-hero{
  min-height:100svh;
  position:relative;
  overflow:hidden;
  background:#f5eee9;
  display:flex;
  align-items:center;
}
.bvp6-hero-bg{position:absolute;inset:0;overflow:hidden;background:
  radial-gradient(circle at 78% 38%,rgba(205,83,126,.16),transparent 24%),
  linear-gradient(120deg,#fffdf9 0%,#f6eee8 52%,#ead9d7 100%);
}
.bvp6-grid{
  position:absolute;inset:-10%;
  opacity:.42;
  background-image:linear-gradient(rgba(76,45,57,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(76,45,57,.07) 1px,transparent 1px);
  background-size:80px 80px;
  transform:perspective(900px) rotateX(62deg) translateY(22%);
  transform-origin:center bottom;
}
.bvp6-glow{
  position:absolute;width:58vw;height:58vw;right:-16vw;top:-13vw;border-radius:50%;
  background:radial-gradient(circle,#fff9 0 7%,rgba(218,152,172,.42) 23%,rgba(154,61,96,.16) 48%,transparent 69%);
  filter:blur(2px);
}
.bvp6-orbit{
  position:absolute;width:56vw;height:56vw;right:-13vw;top:-9vw;border-radius:50%;
  border:1px solid rgba(115,65,83,.2);
  box-shadow:inset 0 0 0 44px rgba(255,255,255,.12),inset 0 0 0 45px rgba(255,255,255,.06);
  transform:rotate(-18deg);
}
.bvp6-orbit:before,.bvp6-orbit:after{
  content:"";position:absolute;border:1px solid rgba(115,65,83,.14);border-radius:50%;
}
.bvp6-orbit:before{inset:11% 18%;transform:rotate(27deg)}
.bvp6-orbit:after{inset:-5% 28%;transform:rotate(-31deg)}
.bvp6-monogram{
  position:absolute;right:3%;bottom:-7%;font:900 31vw/.72 var(--font-display);
  letter-spacing:-.13em;color:rgba(255,255,255,.55);
  text-shadow:0 20px 60px rgba(79,39,53,.08);
}
.bvp6-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:20%;
  background:linear-gradient(transparent,rgba(66,34,46,.07));
  pointer-events:none;
}
.bvp6-hero-inner{
  width:100%;position:relative;z-index:5;display:grid;grid-template-columns:1fr 1.05fr;
  gap:4vw;align-items:center;padding-top:120px;padding-bottom:90px;
}
.bvp6-hero-copy{max-width:700px}
.bvp6-kicker,.bvp6-section-tag{
  display:flex;align-items:center;gap:12px;font:800 8px var(--font-body);
  letter-spacing:.19em;text-transform:uppercase;color:#7b6570;
}
.bvp6-kicker span:first-child,.bvp6-section-tag span{color:var(--v6-pink)}
.bvp6-kicker i,.bvp6-section-tag i{height:1px;width:42px;background:var(--v6-gold);display:block}
.bvp6-hero-copy h1{
  font:900 clamp(4.5rem,7.8vw,8.8rem)/.82 var(--font-display);
  letter-spacing:-.085em;margin:22px 0 28px;max-width:780px;
}
.bvp6-hero-copy h1 em,.bvp6-intro h2 em,.bvp6-section-head h2 em,.bvp6-process-title h2 em,
.bvp6-opportunity-top h2 em,.bvp6-copro-copy h2 em,.bvp6-final h2 em{
  color:var(--v6-pink);font-style:normal;
}
.bvp6-hero-lede{max-width:530px;font-size:1.02rem;line-height:1.8;color:var(--v6-muted);margin-bottom:30px}
.bvp6-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.bvp6-text-link,.bvp6-arrow-link{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;font:800 9px var(--font-body);
  letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(21,17,22,.35);padding-bottom:9px;
}
.bvp6-text-link i,.bvp6-arrow-link i{color:var(--v6-pink);transition:transform .35s var(--ease)}
.bvp6-text-link:hover i,.bvp6-arrow-link:hover i{transform:translate(4px,-2px)}
.bvp6-proofline{
  display:flex;gap:20px;flex-wrap:wrap;margin-top:45px;padding-top:15px;border-top:1px solid var(--v6-line);
  font:800 7px var(--font-body);letter-spacing:.15em;color:#8b7c84;
}
.bvp6-proofline span:not(:last-child):after{content:"·";margin-left:20px;color:var(--v6-gold)}

/* Hero production wall */
.bvp6-hero-stage{
  position:relative;height:min(700px,72vh);min-height:560px;max-width:650px;margin-left:auto;
  transform:perspective(1400px) rotateY(-4deg) rotateX(2deg);
}
.bvp6-stage-label{position:absolute;z-index:8;top:2%;left:2%;right:2%;display:flex;justify-content:space-between;
  font:800 7px var(--font-body);letter-spacing:.18em;color:#745d67}
.bvp6-stage-floor{
  position:absolute;left:0;right:0;bottom:5%;height:42%;transform:perspective(600px) rotateX(58deg);
  transform-origin:center bottom;border:1px solid rgba(104,70,84,.18);
  background:linear-gradient(rgba(110,74,87,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(110,74,87,.07) 1px,transparent 1px);
  background-size:54px 54px;box-shadow:0 -20px 60px rgba(90,46,63,.07);
}
.bvp6-frame{
  position:absolute;overflow:hidden;background:#292027;border:1px solid rgba(255,255,255,.48);
  box-shadow:25px 32px 70px rgba(42,20,31,.2);transition:transform .8s var(--ease),box-shadow .8s var(--ease);
}
.bvp6-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) contrast(1.03)}
.bvp6-frame:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.3);pointer-events:none}
.frame-back{width:46%;height:53%;right:0;top:18%;transform:rotate(7deg);opacity:.72}
.frame-mid{width:52%;height:59%;right:17%;top:12%;transform:rotate(-3deg);opacity:.9}
.frame-main{width:61%;height:72%;right:29%;top:17%;z-index:4;transform:rotate(-1deg)}
.bvp6-frame:hover{transform:translateY(-10px) rotate(0deg);box-shadow:30px 42px 90px rgba(42,20,31,.27)}
.bvp6-frame-caption{position:absolute;left:22px;right:22px;bottom:22px;z-index:3;color:#fff;text-shadow:0 2px 12px #000;
  display:flex;flex-direction:column;gap:4px}
.bvp6-frame-caption span{font:800 7px var(--font-body);letter-spacing:.17em}
.bvp6-frame-caption strong{font:800 1.55rem/.95 var(--font-display)}
.bvp6-frame-art{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:25px;
  background:linear-gradient(145deg,#39222f,#d07f9e 58%,#f4d2d7);color:#fff}
.art-two{background:linear-gradient(145deg,#e7d2ca,#7a4057 62%,#251a21)}
.art-three{background:linear-gradient(145deg,#b98b61,#f1dfcf 48%,#5a3944)}
.bvp6-frame-art b{font:900 5rem/.8 var(--font-display);opacity:.55}
.bvp6-frame-art span{font:800 7px var(--font-body);letter-spacing:.18em}
.bvp6-stage-chip{
  position:absolute;z-index:7;left:0;bottom:10%;padding:18px 22px;background:rgba(255,253,249,.92);
  border:1px solid rgba(70,44,55,.15);box-shadow:15px 18px 45px rgba(49,26,36,.1);
  display:flex;flex-direction:column;gap:3px;min-width:205px;
}
.bvp6-stage-chip small,.bvp6-stage-chip span{font:800 7px var(--font-body);letter-spacing:.16em;color:#8b737d}
.bvp6-stage-chip strong{font:900 1.25rem/.9 var(--font-display)}
.bvp6-stage-meta{position:absolute;z-index:8;right:2%;bottom:5%;display:flex;align-items:center;gap:8px;color:#6e5962}
.bvp6-stage-meta>span{font:900 4rem/.7 var(--font-display);letter-spacing:-.08em}
.bvp6-stage-meta small{font:800 7px/1.2 var(--font-body);letter-spacing:.15em}
.bvp6-scroll{position:absolute;z-index:7;left:5%;right:5%;bottom:18px;display:flex;align-items:center;gap:12px;
  font:800 7px var(--font-body);letter-spacing:.18em;color:#7b6870}
.bvp6-scroll i{height:1px;flex:1;background:var(--v6-line)}

/* Intro */
.bvp6-intro{padding:125px 0 0;background:#fff;overflow:hidden}
.bvp6-intro .bvp6-section-tag{margin-bottom:55px}
.bvp6-section-tag small{margin-left:auto;color:#9a8d95}
.bvp6-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:end}
.bvp6-intro-title>p{font:700 1rem var(--font-body);color:var(--v6-pink);margin-bottom:18px}
.bvp6-intro-title h2,.bvp6-section-head h2,.bvp6-process-title h2,.bvp6-opportunity-top h2,.bvp6-copro-copy h2{
  font:900 clamp(3.9rem,6.4vw,7rem)/.86 var(--font-display);letter-spacing:-.075em;
}
.bvp6-intro-note{border-left:1px solid var(--v6-line);padding:8px 0 8px 35px;max-width:500px}
.bvp6-note-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--v6-line);padding-bottom:10px;margin-bottom:22px;
  font:800 7px var(--font-body);letter-spacing:.16em;color:#927d87}
.bvp6-intro-note p{font-size:.96rem;line-height:1.85;color:var(--v6-muted)}
.bvp6-arrow-link{margin-top:10px}
.bvp6-marquee{margin-top:115px;border-top:1px solid var(--v6-line);border-bottom:1px solid var(--v6-line);height:82px;
  display:flex;align-items:center;justify-content:space-around;white-space:nowrap;overflow:hidden;font:900 clamp(1.8rem,4vw,4rem) var(--font-display);
  letter-spacing:-.06em;color:#dfd5d8}
.bvp6-marquee i{font-style:normal;font-size:1rem;color:var(--v6-gold)}

/* Universe */
.bvp6-universe{padding:125px 0;background:#f2e8e2}
.bvp6-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}
.bvp6-section-head>div{max-width:850px}
.bvp6-section-head h2{margin-top:22px}
.bvp6-section-head>p{max-width:360px;line-height:1.8;color:var(--v6-muted);margin:0 0 4px}
.bvp6-universe-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr 1fr;gap:12px}
.bvp6-door{min-width:0;text-decoration:none;color:var(--v6-ink)}
.bvp6-door-art{height:370px;position:relative;overflow:hidden;background:
  radial-gradient(circle at 70% 25%,#fff8,transparent 18%),linear-gradient(145deg,#b82c68,#401d35);
  padding:24px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 18px 45px rgba(55,30,40,.08);
}
.door-tall .bvp6-door-art{height:450px}
.bvp6-door-art:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.27)}
.bvp6-door-art:after{content:"";position:absolute;width:70%;height:70%;right:-25%;top:-20%;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 0 0 40px rgba(255,255,255,.04),inset 0 0 0 80px rgba(255,255,255,.035)}
.bvp6-door-art>span{position:absolute;top:26px;left:27px;z-index:2;color:#fff9;font:800 8px var(--font-body);letter-spacing:.17em}
.bvp6-door-art strong{position:relative;z-index:2;color:#fff;font:900 clamp(2.2rem,3.4vw,4rem)/.82 var(--font-display);letter-spacing:-.06em}
.bvp6-door-art>i{position:absolute;z-index:3;top:25px;right:26px;color:#fff;opacity:.65}
.bvp6-door-lines{position:absolute;left:0;right:0;bottom:0;height:35%;background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.1) 18.2% 18.35%);transform:skewY(-13deg);transform-origin:left bottom}
.art-crew{background:linear-gradient(145deg,#27202a,#8c3e61 52%,#df9a9f)}
.art-story{background:linear-gradient(145deg,#e2b88d,#8c425d 54%,#30202a)}
.art-partner{background:linear-gradient(145deg,#34242d,#b98d55 55%,#e8d8b6)}
.bvp6-door-copy{padding:18px 3px 7px;display:flex;justify-content:space-between;align-items:end;gap:15px;border-bottom:1px solid var(--v6-line)}
.bvp6-door-copy small{font:800 7px/1.3 var(--font-body);letter-spacing:.13em;color:#907a84;max-width:180px}
.bvp6-door-copy b{font:800 1rem var(--font-display);white-space:nowrap}
.bvp6-door:hover .bvp6-door-art{transform:translateY(-6px);box-shadow:0 25px 60px rgba(55,30,40,.17)}
.bvp6-door-art{transition:transform .6s var(--ease),box-shadow .6s var(--ease)}

/* Slate */
.bvp6-slate{padding:135px 0;background:#fff}
.bvp6-slate .slate-head{margin-bottom:48px}
.bvp6-slate-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bvp6-slate-card{text-decoration:none;background:#f5efeb;color:var(--v6-ink);overflow:hidden;box-shadow:0 8px 28px rgba(35,21,28,.06);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.bvp6-slate-card:hover{transform:translateY(-9px);box-shadow:0 28px 65px rgba(35,21,28,.15)}
.bvp6-slate-image{position:relative;aspect-ratio:3/4;background:linear-gradient(145deg,#e7d6cf,#6c3a50);overflow:hidden}
.bvp6-slate-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.bvp6-slate-card:hover img{transform:scale(1.045)}
.bvp6-slate-image:after{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.32);pointer-events:none}
.bvp6-card-no,.bvp6-card-state{position:absolute;z-index:2;color:#fff;text-shadow:0 2px 8px #0008;font:800 7px var(--font-body);letter-spacing:.16em}
.bvp6-card-no{top:20px;left:20px;font-size:11px}
.bvp6-card-state{right:20px;top:20px}
.bvp6-slate-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}
.bvp6-slate-fallback span{font:800 8px var(--font-body);letter-spacing:.2em}
.bvp6-slate-fallback b{font:900 8rem/.75 var(--font-display);opacity:.35}
.bvp6-slate-copy{padding:20px 20px 24px}
.bvp6-slate-copy small{font:800 7px var(--font-body);letter-spacing:.14em;color:#9a7682;text-transform:uppercase}
.bvp6-slate-copy h3{font:900 1.8rem/.95 var(--font-display);margin:10px 0}
.bvp6-slate-copy p{font-size:.84rem;line-height:1.6;color:var(--v6-muted);min-height:55px}
.bvp6-slate-copy>span{font:800 8px var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--v6-pink)}
.bvp6-empty-slate{min-height:420px;background:#f0e2dc;display:flex;justify-content:flex-end;flex-direction:column;padding:50px;position:relative;overflow:hidden}
.bvp6-empty-slate:after{content:"BVP";position:absolute;right:-4%;top:-22%;font:900 28rem/.7 var(--font-display);color:#fff7;letter-spacing:-.12em}
.bvp6-empty-slate span,.bvp6-empty-slate a{position:relative;z-index:2;font:800 8px var(--font-body);letter-spacing:.18em;color:#956676;text-transform:uppercase}
.bvp6-empty-slate strong{position:relative;z-index:2;font:900 clamp(3.2rem,6vw,6rem)/.82 var(--font-display);letter-spacing:-.07em;max-width:800px;margin:15px 0 22px}

/* Production system — controlled dark interval */
.bvp6-process{position:relative;overflow:hidden;background:#171319;color:#fff;padding:130px 0}
.bvp6-process .container{position:relative;z-index:3}
.bvp6-process .light{color:#dfbdc9}
.bvp6-process .light span{color:#ef79ad}
.bvp6-process .light i{background:#b48a4d}
.bvp6-process .light small{color:#87747f}
.bvp6-process-title{display:flex;align-items:end;justify-content:space-between;gap:60px;margin:25px 0 60px}
.bvp6-process-title h2{color:#fff;max-width:850px;margin:0}
.bvp6-process-title p{max-width:310px;color:#a99ca7;line-height:1.8;margin:0 0 7px}
.bvp6-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.bvp6-process-grid>div{min-height:285px;padding:24px 22px;border-right:1px solid rgba(255,255,255,.13);position:relative}
.bvp6-process-grid>div:first-child{border-left:1px solid rgba(255,255,255,.13)}
.bvp6-process-grid span{font:800 8px var(--font-body);letter-spacing:.16em;color:#e16a9e}
.bvp6-process-grid strong{display:block;font:900 2.25rem/.85 var(--font-display);margin-top:110px;letter-spacing:-.05em}
.bvp6-process-grid p{font-size:.78rem;line-height:1.6;color:#9e929d;margin-top:14px}
.bvp6-process-bg{position:absolute;inset:0;opacity:.45}
.bvp6-process-bg div{position:absolute;border:1px solid rgba(227,177,192,.12);border-radius:50%}
.bvp6-process-bg div:nth-child(1){width:700px;height:700px;right:-220px;top:-300px}
.bvp6-process-bg div:nth-child(2){width:480px;height:480px;right:-100px;top:-190px}
.bvp6-process-bg div:nth-child(3){width:240px;height:240px;right:25px;top:-70px}
.bvp6-process-bg div:nth-child(4){width:100%;height:1px;left:0;top:58%;border-radius:0;border-color:rgba(227,177,192,.08);transform:rotate(-7deg)}

/* Opportunities */
.bvp6-opportunities{padding:135px 0;background:#f4e8e2}
.bvp6-opportunity-top{display:grid;grid-template-columns:1.25fr .75fr;gap:9%;align-items:end;margin-bottom:55px}
.bvp6-opportunity-top>div:last-child{padding-bottom:7px}
.bvp6-opportunity-top p{line-height:1.8;color:var(--v6-muted);margin-bottom:28px}
.bvp6-opportunity-board{height:500px;display:grid;grid-template-columns:75px 1fr;background:#21191f;box-shadow:0 30px 70px rgba(45,25,35,.18);overflow:hidden}
.bvp6-board-rail{display:flex;flex-direction:column;justify-content:space-around;align-items:center;border-right:1px solid rgba(255,255,255,.13)}
.bvp6-board-rail span{writing-mode:vertical-rl;transform:rotate(180deg);font:800 7px var(--font-body);letter-spacing:.18em;color:#9b8993}
.bvp6-board-main{position:relative;overflow:hidden;padding:38px}
.bvp6-board-bvp{position:absolute;right:-1%;bottom:-18%;font:900 27rem/.7 var(--font-display);letter-spacing:-.14em;color:rgba(255,255,255,.035)}
.bvp6-board-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}
.bvp6-board-copy small{font:800 8px var(--font-body);letter-spacing:.2em;color:#d8af70}
.bvp6-board-copy strong{font:900 clamp(5rem,10vw,10rem)/.72 var(--font-display);letter-spacing:-.1em;color:#fff;margin:18px 0}
.bvp6-board-copy span{font:800 7px var(--font-body);letter-spacing:.18em;color:#a99aa4}
.bvp6-board-circle{position:absolute;width:480px;height:480px;border:1px solid rgba(218,179,111,.28);border-radius:50%;right:7%;top:3%;box-shadow:inset 0 0 0 55px rgba(255,255,255,.018),inset 0 0 0 110px rgba(255,255,255,.018)}
.bvp6-board-circle:before,.bvp6-board-circle:after{content:"";position:absolute;inset:17%;border:1px solid rgba(255,255,255,.06);border-radius:50%}
.bvp6-board-circle:after{inset:37%;}

/* Co-produce */
.bvp6-coproduce{padding:135px 0;background:#fff}
.bvp6-copro-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}
.bvp6-copro-visual{height:560px;background:#e9d9d2;position:relative;overflow:hidden;padding:34px;display:flex;flex-direction:column;justify-content:space-between}
.bvp6-copro-visual:before{content:"";position:absolute;inset:18px;border:1px solid rgba(76,48,59,.16)}
.bvp6-copro-ring{position:absolute;width:570px;height:570px;right:-190px;top:-130px;border-radius:50%;border:1px solid rgba(93,53,69,.25);box-shadow:inset 0 0 0 52px rgba(255,255,255,.13),inset 0 0 0 104px rgba(255,255,255,.09)}
.bvp6-copro-ring:before,.bvp6-copro-ring:after{content:"";position:absolute;border:1px solid rgba(93,53,69,.15);border-radius:50%}
.bvp6-copro-ring:before{inset:13% 25%;transform:rotate(30deg)}
.bvp6-copro-ring:after{inset:-5% 35%;transform:rotate(-25deg)}
.bvp6-copro-cross{position:absolute;left:13%;right:13%;top:50%;height:1px;background:rgba(93,53,69,.2)}
.bvp6-copro-visual span,.bvp6-copro-visual small{position:relative;z-index:2;font:800 8px var(--font-body);letter-spacing:.18em;color:#755866}
.bvp6-copro-visual strong{position:relative;z-index:2;font:900 clamp(4.7rem,8vw,8rem)/.7 var(--font-display);letter-spacing:-.1em;color:#fff8}
.bvp6-copro-copy p{max-width:560px;line-height:1.85;color:var(--v6-muted);margin:25px 0 30px}
.bvp6-copro-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:40px;padding-top:15px;border-top:1px solid var(--v6-line);font:800 7px var(--font-body);letter-spacing:.16em;color:#8e7c85}
.bvp6-copro-meta span:not(:last-child):after{content:"·";margin-left:18px;color:var(--v6-gold)}

/* Final */
.bvp6-final{position:relative;overflow:hidden;text-align:center;padding:155px 0 170px;background:linear-gradient(135deg,#fffaf5,#f0dce4)}
.bvp6-final:before{content:"";position:absolute;width:720px;height:720px;border-radius:50%;left:50%;top:-430px;transform:translateX(-50%);border:1px solid rgba(94,52,69,.13);box-shadow:inset 0 0 0 70px rgba(255,255,255,.35),inset 0 0 0 140px rgba(255,255,255,.22)}
.bvp6-final-no{position:absolute;right:5%;top:30px;font:900 7px var(--font-body);letter-spacing:.18em;color:#8f7781}
.bvp6-final .container{position:relative;z-index:2}
.bvp6-final-mark{display:flex;justify-content:center;gap:0;margin-bottom:40px;filter:drop-shadow(0 10px 20px rgba(68,34,48,.12))}
.bvp6-final-mark span{font:900 4.2rem/.7 var(--font-display);letter-spacing:-.16em;color:#fff}
.bvp6-final-mark span:nth-child(1){transform:translateY(8px) rotate(-10deg)}
.bvp6-final-mark span:nth-child(2){color:var(--v6-pink)}
.bvp6-final-mark span:nth-child(3){transform:translateY(-5px) rotate(9deg)}
.bvp6-final .bvp6-section-tag{justify-content:center}
.bvp6-final h2{font:900 clamp(4.5rem,8.7vw,9rem)/.78 var(--font-display);letter-spacing:-.09em;margin:22px auto 25px}
.bvp6-final p:not(.bvp6-section-tag){color:var(--v6-muted);margin-bottom:30px}

/* Responsive */
@media(max-width:1050px){
  .bvp6-hero-inner{grid-template-columns:1fr;gap:0;padding-top:145px}
  .bvp6-hero-copy{max-width:760px}
  .bvp6-hero-stage{height:610px;max-width:760px;width:100%;margin:15px 0 0 auto}
  .bvp6-proofline{margin-top:30px}
  .bvp6-universe-grid{grid-template-columns:1fr 1fr}
  .bvp6-slate-rail{grid-template-columns:1fr 1fr}
  .bvp6-opportunity-top{grid-template-columns:1fr;gap:25px}
  .bvp6-copro-wrap{grid-template-columns:1fr;gap:50px}
  .bvp6-copro-visual{max-width:700px}
}
@media(max-width:720px){
  body.bvp-home-v6{padding-bottom:78px}
  .bvp6-hero{min-height:900px}
  .bvp6-hero-inner{padding-top:125px;padding-bottom:70px}
  .bvp6-hero-copy h1{font-size:clamp(4rem,17vw,6.2rem);margin:18px 0 22px}
  .bvp6-hero-lede{font-size:.94rem;line-height:1.7}
  .bvp6-hero-actions .btn{width:100%}
  .bvp6-text-link{margin-left:2px}
  .bvp6-proofline{gap:8px 13px;margin-top:27px}
  .bvp6-proofline span:not(:last-child):after{margin-left:13px}
  .bvp6-hero-stage{height:440px;min-height:0;margin-top:5px;transform:none}
  .frame-back{width:47%;height:54%;right:-2%;top:14%}
  .frame-mid{width:54%;height:61%;right:15%;top:9%}
  .frame-main{width:63%;height:72%;right:25%;top:14%}
  .bvp6-stage-chip{left:0;bottom:3%;min-width:170px;padding:13px 15px}
  .bvp6-stage-meta{right:0;bottom:1%}
  .bvp6-stage-meta>span{font-size:2.8rem}
  .bvp6-scroll{bottom:10px;left:20px;right:20px}
  .bvp6-monogram{font-size:44vw;bottom:6%}
  .bvp6-section-tag small{display:none}
  .bvp6-intro,.bvp6-universe,.bvp6-slate,.bvp6-process,.bvp6-opportunities,.bvp6-coproduce{padding:88px 0}
  .bvp6-intro-grid{grid-template-columns:1fr;gap:38px}
  .bvp6-intro-title h2,.bvp6-section-head h2,.bvp6-process-title h2,.bvp6-opportunity-top h2,.bvp6-copro-copy h2{font-size:clamp(3.5rem,15vw,5.5rem)}
  .bvp6-intro-note{padding:4px 0 4px 20px}
  .bvp6-marquee{margin-top:75px;height:62px}
  .bvp6-section-head{display:block;margin-bottom:38px}
  .bvp6-section-head>p{margin-top:20px}
  .bvp6-universe-grid{grid-template-columns:1fr 1fr;gap:9px}
  .bvp6-door-art,.door-tall .bvp6-door-art{height:280px}
  .bvp6-door-art strong{font-size:2rem}
  .bvp6-door-copy{display:block;padding:13px 2px}
  .bvp6-door-copy b{display:block;margin-top:6px}
  .bvp6-slate-rail{grid-template-columns:1fr 1fr;gap:10px}
  .bvp6-slate-copy{padding:15px}
  .bvp6-slate-copy h3{font-size:1.4rem}
  .bvp6-slate-copy p{font-size:.78rem;min-height:0}
  .bvp6-process-title{display:block;margin:22px 0 38px}
  .bvp6-process-title p{margin-top:18px}
  .bvp6-process-grid{grid-template-columns:1fr 1fr}
  .bvp6-process-grid>div{min-height:210px;padding:18px 15px}
  .bvp6-process-grid>div:nth-child(2){border-right:0}
  .bvp6-process-grid strong{margin-top:75px;font-size:1.7rem}
  .bvp6-opportunity-board{height:370px;grid-template-columns:48px 1fr}
  .bvp6-board-main{padding:22px}
  .bvp6-board-copy strong{font-size:5rem}
  .bvp6-board-circle{width:300px;height:300px;right:-100px;top:20px}
  .bvp6-copro-visual{height:390px}
  .bvp6-final{padding:105px 0 125px}
  .bvp6-final h2{font-size:clamp(4rem,17vw,6.2rem)}
  .bvp6-final .btn{width:100%}
}
@media(max-width:480px){
  .bvp6-hero{min-height:890px}
  .bvp6-hero-inner{padding-left:20px;padding-right:20px}
  .bvp6-hero-stage{height:390px}
  .bvp6-stage-chip{transform:scale(.88);transform-origin:left bottom}
  .bvp6-stage-meta{transform:scale(.8);transform-origin:right bottom}
  .bvp6-universe-grid,.bvp6-slate-rail,.bvp6-process-grid{grid-template-columns:1fr}
  .bvp6-door-art,.door-tall .bvp6-door-art{height:330px}
  .bvp6-slate-image{aspect-ratio:4/5}
  .bvp6-process-grid>div{min-height:175px}
  .bvp6-process-grid strong{margin-top:48px}
  .bvp6-opportunity-board{height:340px}
  .bvp6-board-copy strong{font-size:4.3rem}
  .bvp6-board-rail span{font-size:6px}
}
@media(prefers-reduced-motion:reduce){
  .bvp6-frame,.bvp6-slate-card,.bvp6-slate-image img,.bvp6-door-art{transition:none}
}

/* ==========================================================================
   BVP HOMEPAGE V7 — SCREENPLAY / SCREENING ROOM
   The website behaves like a film script being revealed scene by scene.
   ========================================================================== */
body.bvp-home-v7{
  --v7-ink:#171317;--v7-paper:#fbf8f2;--v7-pink:#c81767;--v7-rose:#efd9dd;
  --v7-gold:#b8955c;--v7-muted:#716871;--v7-line:rgba(23,19,23,.15);
  background:var(--v7-paper);color:var(--v7-ink);
}
body.bvp-home-v7 .site-header{z-index:1000}
body.bvp-home-v7 .mobile-dock{z-index:1100}
.bvp7-hero{position:relative;min-height:100svh;overflow:hidden;background:#f4eee8;display:flex;align-items:center}
.bvp7-hero-blackout{position:absolute;z-index:1;inset:0 0 0 55%;background:#161216;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);display:flex;align-items:flex-start;justify-content:flex-end;padding:145px 5% 0;color:#fff;font:900 10px 'Courier New',monospace;letter-spacing:.18em}
.bvp7-hero-blackout:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(194,23,103,.17),transparent 42%)}
.bvp7-hero-blackout span{position:relative;z-index:2}
.bvp7-hero-script{position:absolute;z-index:4;right:9%;top:17%;width:min(31vw,410px);transform:rotate(5deg);filter:drop-shadow(30px 35px 35px rgba(30,18,25,.22))}
.bvp7-script-page{position:relative;background:#fffdf7;padding:46px 45px 48px;min-height:520px;border:1px solid #ddd3ca;font:14px/1.72 'Courier New',monospace;color:#312b30;box-shadow:0 0 0 1px rgba(255,255,255,.6) inset}
.bvp7-script-page:before{content:"";position:absolute;left:13px;top:0;bottom:0;width:1px;background:rgba(198,35,103,.2);box-shadow:5px 0 rgba(198,35,103,.06)}
.script-page-no{position:absolute;right:24px;top:18px;font-size:9px;color:#94868d}
.script-scene{font-weight:700;text-transform:uppercase;margin:0 0 22px}
.script-character{text-align:center;font-weight:700;margin:35px 0 2px}
.script-dialogue{text-align:center;max-width:250px;margin:0 auto 28px}
.script-transition{text-align:right;font-weight:700;margin-top:30px}
.script-lines{height:65px;margin-top:20px;background:repeating-linear-gradient(to bottom,transparent 0 20px,#ddd5d0 21px)}
.bvp7-hero-set{position:absolute;z-index:2;right:0;bottom:-2%;width:57%;height:67%;overflow:hidden;transform:perspective(1000px) rotateY(-7deg)}
.bvp7-set-wall{position:absolute;inset:0;background:linear-gradient(145deg,#2b2229,#5b3a49 54%,#171217);box-shadow:inset 0 0 130px #000}
.bvp7-set-light{position:absolute;width:500px;height:500px;border-radius:50%;right:5%;top:-30%;background:radial-gradient(circle,#fff8,rgba(230,153,181,.2) 17%,transparent 58%);filter:blur(5px)}
.bvp7-set-frame{position:absolute;border:1px solid rgba(255,255,255,.18);background:linear-gradient(145deg,#fff1 0,#fff0 35%,#0005);box-shadow:0 25px 50px #0008;color:#fff;padding:18px;display:flex;flex-direction:column;justify-content:space-between}
.bvp7-set-frame span{font:8px 'Courier New',monospace;letter-spacing:.16em;color:#eac3d2}
.bvp7-set-frame b{font:900 clamp(2rem,4vw,4.5rem)/.8 var(--font-display);letter-spacing:-.08em}
.frame-a{width:38%;height:54%;left:7%;top:20%;transform:rotate(-6deg)}
.frame-b{width:38%;height:58%;left:31%;top:9%;transform:rotate(3deg);background:linear-gradient(145deg,#c81767,#2a1c25)}
.frame-c{width:42%;height:63%;right:3%;top:16%;transform:rotate(8deg);background:linear-gradient(145deg,#b58d5a,#34272d)}
.bvp7-set-floor{position:absolute;bottom:0;left:-5%;right:-5%;height:32%;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:50px 50px}
.bvp7-hero-content{position:relative;z-index:10;width:100%;padding-top:155px;padding-bottom:100px;min-height:100svh;display:flex;flex-direction:column;justify-content:center;max-width:1500px}
.bvp7-scene-meta,.bvp7-script-header{display:flex;align-items:center;gap:13px;font:800 8px 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase}
.bvp7-scene-meta{color:#765f69;max-width:680px}
.bvp7-scene-meta span:first-child{color:var(--v7-pink)}
.bvp7-scene-meta i{height:1px;width:50px;background:var(--v7-gold)}
.bvp7-fade{font:900 10px 'Courier New',monospace;letter-spacing:.2em;color:var(--v7-pink);margin:40px 0 18px}
.bvp7-hero h1{font:900 clamp(4.8rem,8vw,9.2rem)/.77 var(--font-display);letter-spacing:-.09em;max-width:850px;margin:0 0 30px}
.bvp7-hero h1 em,.bvp7-scene h2 em,.bvp7-door-intro h2 em,.bvp7-slate-head h2 em,.bvp7-black-top h2 em,.bvp7-opportunity-grid h2 em,.bvp7-final h2 em{color:var(--v7-pink);font-style:normal}
.bvp7-hero-lede{max-width:530px;color:#655d64;line-height:1.8;font-size:1rem}
.bvp7-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:28px}
.bvp7-script-link,.bvp7-page-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--v7-ink);font:800 8px 'Courier New',monospace;letter-spacing:.13em;border-bottom:1px solid #766b72;padding-bottom:9px}
.bvp7-script-link span{color:var(--v7-pink);margin-right:2px}
.bvp7-script-link i,.bvp7-page-link i{color:var(--v7-pink)}
.bvp7-page-corner{position:absolute;z-index:8;right:4%;bottom:35px;font:800 7px 'Courier New',monospace;letter-spacing:.18em;color:#8b7c83}
.bvp7-scrollcue{position:absolute;z-index:10;left:5%;right:5%;bottom:24px;display:flex;align-items:center;gap:12px;font:800 7px 'Courier New',monospace;letter-spacing:.18em;color:#786c74}
.bvp7-scrollcue b{height:1px;flex:1;background:var(--v7-line)}
.bvp7-proof-strip{background:#faf6f1;border-top:1px solid var(--v7-line);border-bottom:1px solid var(--v7-line)}
.bvp7-proof-strip .container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1500px}
.bvp7-proof-item{display:flex;flex-direction:column;gap:6px;padding:30px 28px;border-left:1px solid var(--v7-line);min-width:0}
.bvp7-proof-item:first-child{border-left:0;padding-left:0}
.bvp7-proof-item span{font:800 8px 'Courier New',monospace;letter-spacing:.16em;color:#8b7c83}
.bvp7-proof-item strong{font:900 clamp(1.7rem,2.6vw,2.6rem)/1 var(--font-display);letter-spacing:-.06em;color:var(--v7-ink)}
.bvp7-proof-item small{font-size:.86rem;line-height:1.5;color:var(--v7-muted)}
.bvp7-proof-note strong{color:var(--v7-pink);font-size:clamp(1.15rem,1.7vw,1.6rem);letter-spacing:-.04em}
@media (max-width:1000px){.bvp7-proof-strip .container{grid-template-columns:repeat(2,minmax(0,1fr))}.bvp7-proof-item:nth-child(odd){border-left:0;padding-left:0}.bvp7-proof-item:nth-child(n+3){border-top:1px solid var(--v7-line)}}
@media (max-width:560px){.bvp7-proof-strip .container{grid-template-columns:1fr}.bvp7-proof-item{border-left:0;padding:20px 0}.bvp7-proof-item+.bvp7-proof-item{border-top:1px solid var(--v7-line)}}
.bvp7-scene{padding:120px 0}
.bvp7-scene-white{background:#fff}
.bvp7-script-header{padding-bottom:14px;border-bottom:1px solid var(--v7-line);color:#8a7a82}
.bvp7-script-header b{color:var(--v7-ink);font-weight:800}
.bvp7-script-header small{margin-left:auto;font:800 8px 'Courier New',monospace;letter-spacing:.14em}
.bvp7-scene-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:center;padding-top:75px}
.bvp7-action-line{font:700 13px/1.4 'Courier New',monospace;color:var(--v7-pink);margin-bottom:18px}
.bvp7-scene h2,.bvp7-door-intro h2,.bvp7-slate-head h2,.bvp7-black-top h2,.bvp7-opportunity-grid h2,.bvp7-final h2{font:900 clamp(4rem,7vw,8rem)/.78 var(--font-display);letter-spacing:-.09em;margin:0 0 28px}
.bvp7-script-copy>p:not(.bvp7-action-line){max-width:610px;color:var(--v7-muted);line-height:1.85;margin-bottom:18px}
.bvp7-muted{font-size:.9rem!important}
.bvp7-page-link{margin-top:18px}
.bvp7-script-sheet{position:relative;background:#f8f4ec;padding:45px 48px;min-height:450px;box-shadow:18px 24px 55px rgba(47,28,37,.12);border:1px solid #e1d7ce;font:13px/1.7 'Courier New',monospace;transform:rotate(2deg)}
.bvp7-script-sheet:after{content:"";position:absolute;inset:15px;border:1px solid rgba(120,100,106,.15);pointer-events:none}
.sheet-top{display:flex;justify-content:space-between;border-bottom:1px solid #d9cec6;padding-bottom:10px;font-size:7px;letter-spacing:.15em}
.sheet-scene{font-weight:700;margin:32px 0 20px}
.sheet-dialogue{width:55%;margin:30px auto;text-align:center}
.sheet-note{position:absolute;bottom:35px;left:48px;color:var(--v7-pink);font-size:7px;letter-spacing:.13em}
.sheet-pencil{position:absolute;right:35px;top:38%;font-size:35px;color:#b8955c;transform:rotate(-22deg)}
.bvp7-doors{background:#181318;color:#fff;padding:125px 0}
.bvp7-script-header.light{color:#aa929e;border-color:rgba(255,255,255,.14)}
.bvp7-script-header.light b{color:#fff}
.bvp7-door-intro{display:flex;justify-content:space-between;gap:50px;align-items:end;padding:60px 0 45px}
.light-text{color:#ed9abd}
.bvp7-door-intro h2{margin:0}
.bvp7-door-intro>p{max-width:330px;color:#9f929c;line-height:1.7;margin:0 0 10px}
.bvp7-door-intro>p strong{color:#fff}
.bvp7-door-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.bvp7-door-card{color:#fff;text-decoration:none;display:block}
.bvp7-door-visual{position:relative;height:390px;overflow:hidden;background:#2b2028;border:1px solid rgba(255,255,255,.15);transition:transform .55s var(--ease),border-color .55s var(--ease);box-shadow:0 15px 40px #0004}
.bvp7-door-card:hover .bvp7-door-visual{transform:translateY(-8px);border-color:rgba(236,143,180,.7)}
.bvp7-door-visual:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.17);z-index:2}
.door-scene-code{position:absolute;z-index:4;top:25px;left:26px;font:800 7px 'Courier New',monospace;letter-spacing:.15em;color:#e0c2cc}
.door-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.2),transparent 20%),linear-gradient(145deg,#b51c62,#35202c 65%);overflow:hidden}
.door-art:before{content:"";position:absolute;width:120%;height:55%;bottom:-10%;border-top:1px solid rgba(255,255,255,.22);transform:perspective(400px) rotateX(58deg);background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:35px 35px}
.door-art:after{content:"";position:absolute;width:78%;height:78%;border:1px solid rgba(255,255,255,.2);transform:rotate(18deg)}
.door-art span,.door-art strong{position:relative;z-index:3}
.door-art span{font:800 8px 'Courier New',monospace;letter-spacing:.25em;color:#fff9}
.door-art strong{font:900 clamp(2.7rem,4vw,4.5rem)/.78 var(--font-display);letter-spacing:-.08em;margin-top:8px}
.door-art i{position:absolute;z-index:3;width:90px;height:90px;border:1px solid rgba(255,255,255,.32);border-radius:50%;top:40%;left:50%;transform:translate(-50%,-50%);opacity:.5}
.door-crew .door-art{background:linear-gradient(145deg,#29242e,#8e4564 58%,#df9da9)}
.door-story .door-art{background:linear-gradient(145deg,#a16c55,#292027 62%)}
.door-partner .door-art{background:linear-gradient(145deg,#7d5a38,#282026 60%,#c79b5e)}
.door-cta{position:absolute;z-index:6;left:18px;right:18px;bottom:18px;background:#fff;color:#171317;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;box-shadow:0 8px 25px #0006}
.door-cta b{font:900 9px 'Courier New',monospace;letter-spacing:.07em}
.door-cta span{font:800 7px 'Courier New',monospace;color:var(--v7-pink);white-space:nowrap}
.bvp7-door-caption{display:grid;grid-template-columns:32px 1fr 20px;gap:10px;padding:15px 3px 8px;border-bottom:1px solid rgba(255,255,255,.15);align-items:start}
.bvp7-door-caption>span{font:800 8px 'Courier New',monospace;color:#d987a9}
.bvp7-door-caption div{display:flex;flex-direction:column;gap:5px}
.bvp7-door-caption b{font:900 15px var(--font-display)}
.bvp7-door-caption small{font:7px/1.4 'Courier New',monospace;color:#948893}
.bvp7-door-caption>i{color:#d987a9;transition:transform .3s}
.bvp7-door-card:hover .bvp7-door-caption>i{transform:translateX(5px)}
.bvp7-slate{padding:125px 0;background:#fbf8f2}
.bvp7-slate-head{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:55px 0 45px}
.bvp7-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bvp7-project{display:block;text-decoration:none;color:var(--v7-ink);background:#fff;box-shadow:0 10px 35px rgba(40,24,31,.08);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.bvp7-project:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(40,24,31,.16)}
.project-art{position:relative;aspect-ratio:3/4;overflow:hidden;background:#31242b}
.project-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.bvp7-project:hover img{transform:scale(1.05)}
.project-script-tag{position:absolute;z-index:4;left:17px;top:17px;color:#fff;font:800 7px 'Courier New',monospace;letter-spacing:.16em;text-shadow:0 2px 8px #000}
.project-open{position:absolute;z-index:5;left:16px;right:16px;bottom:16px;background:#fff;color:#171317;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;font:900 8px 'Courier New',monospace;letter-spacing:.08em;opacity:0;transform:translateY(10px);transition:.35s}
.bvp7-project:hover .project-open,.bvp7-project:focus-visible .project-open{opacity:1;transform:none}
.project-open i{color:var(--v7-pink)}
.project-copy{padding:18px 18px 22px}
.project-copy small{font:800 7px 'Courier New',monospace;letter-spacing:.13em;color:#9a7e89}
.project-copy h3{font:900 1.7rem/.9 var(--font-display);margin:9px 0}
.project-copy p{font-size:.8rem;line-height:1.55;color:var(--v7-muted);min-height:55px}
.project-copy>b{font:900 8px 'Courier New',monospace;letter-spacing:.12em;color:var(--v7-pink)}
.empty-storyboard{position:relative;width:100%;height:100%;background:linear-gradient(#d7e4e4 0 54%,#c59c7e 55%);overflow:hidden;color:#fff}
.empty-storyboard:before{content:"";position:absolute;inset:13px;border:1px solid #fff8}
.storyboard-sky{position:absolute;width:55%;height:55%;right:-15%;top:-10%;border:1px solid #fff9;border-radius:50%;box-shadow:inset 0 0 0 25px #fff2}
.storyboard-horizon{position:absolute;left:8%;right:8%;bottom:27%;height:25%;border:1px solid #fff9;transform:skewY(-7deg)}
.empty-storyboard>span{position:absolute;z-index:3;top:20px;left:20px;font:800 7px 'Courier New',monospace;letter-spacing:.15em}
.empty-storyboard>b{position:absolute;z-index:3;bottom:45px;left:20px;font:900 2rem/.8 var(--font-display)}
.empty-storyboard>small{position:absolute;z-index:3;bottom:22px;left:20px;font:800 6px 'Courier New',monospace;letter-spacing:.13em}
.bvp7-empty-slate{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:#eaded6;min-height:480px;overflow:hidden}
.empty-script-page{position:relative;background:#fffdf7;margin:30px;padding:50px;font:13px/1.8 'Courier New',monospace;box-shadow:15px 20px 40px #54364222;transform:rotate(-1.5deg)}
.empty-script-page span{font-size:7px;letter-spacing:.16em;color:var(--v7-pink)}
.empty-script-page strong{display:block;margin:45px 0 25px;font-size:12px}
.empty-script-page b{display:block;margin-top:40px;color:var(--v7-pink)}
.empty-slate-copy{align-self:center;padding:55px}
.empty-slate-copy small{font:800 8px 'Courier New',monospace;letter-spacing:.18em;color:#98727f}
.empty-slate-copy h3{font:900 clamp(3rem,5vw,5.5rem)/.82 var(--font-display);letter-spacing:-.08em;margin:15px 0 28px}
.empty-slate-copy a{font:900 8px 'Courier New',monospace;letter-spacing:.14em;color:var(--v7-pink);text-decoration:none}
.bvp7-black-scene{position:relative;overflow:hidden;background:#171318;color:#fff;padding:125px 0}
.bvp7-black-noise{position:absolute;inset:0;opacity:.3;background:radial-gradient(circle at 75% 25%,rgba(199,23,103,.18),transparent 25%),linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.025) 42.2% 42.4%,transparent 42.6%)}
.bvp7-black-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:60px;align-items:end;padding:55px 0}
.bvp7-black-top h2{margin:0;color:#fff}
.bvp7-black-top>p{max-width:320px;color:#9d919a;line-height:1.8}
.bvp7-timeline{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #fff2;border-bottom:1px solid #fff2}
.bvp7-timeline>div{min-height:245px;padding:22px;border-right:1px solid #fff2;display:flex;flex-direction:column}
.bvp7-timeline>div:first-child{border-left:1px solid #fff2}
.bvp7-timeline span{font:800 8px 'Courier New',monospace;color:#df7ca6}
.bvp7-timeline b{font:900 2.3rem/.8 var(--font-display);margin-top:100px}
.bvp7-timeline small{font:7px/1.4 'Courier New',monospace;color:#938791;margin-top:13px}
.bvp7-timeline i{margin-left:auto;color:#d39b61;font-style:normal}
.bvp7-black-script{position:relative;z-index:2;margin-top:70px;padding-top:30px;border-top:1px solid #fff2;display:flex;align-items:center;gap:25px;font:800 8px 'Courier New',monospace;letter-spacing:.14em}
.bvp7-black-script span{color:#e06b9e}.bvp7-black-script strong{font-size:12px}.bvp7-black-script small{color:#8f838d}
.bvp7-opportunities{padding:125px 0;background:#fff}
.bvp7-opportunity-grid{display:grid;grid-template-columns:1fr .9fr;gap:10%;align-items:center;padding-top:65px}
.bvp7-opportunity-grid>div:first-child>p:not(.bvp7-action-line){max-width:470px;line-height:1.8;color:var(--v7-muted);margin-bottom:28px}
.bvp7-call-sheet{background:#f4efe7;border:1px solid #d9cec6;box-shadow:20px 25px 60px #4b2d3c18;padding:25px;font:800 9px 'Courier New',monospace;transform:rotate(2deg)}
.call-top{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;border-bottom:2px solid #1d181c;padding-bottom:14px;margin-bottom:5px;font-size:7px;letter-spacing:.1em}
.call-top b{text-align:center}.call-top span:last-child{text-align:right}
.call-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:20px 0;border-bottom:1px solid #d8ccc4;align-items:center}
.call-row small{color:#8a747d;letter-spacing:.12em}.call-row strong{font-size:12px}.call-row span{text-align:right;color:var(--v7-pink);font-size:7px}
.bvp7-call-sheet>a{display:block;text-align:center;padding:18px 0 3px;color:var(--v7-pink);text-decoration:none;letter-spacing:.14em}
.bvp7-copro{padding:125px 0;background:#efe2dd}
.bvp7-copro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:65px;align-items:center}
.bvp7-copro-script{padding:45px;background:#fffdf8;box-shadow:18px 25px 60px #4b2d3c18;position:relative}
.bvp7-copro-script>span{font:800 7px 'Courier New',monospace;letter-spacing:.16em;color:var(--v7-pink)}
.bvp7-copro-script>strong{display:block;font:900 clamp(3rem,5vw,5.3rem)/.8 var(--font-display);letter-spacing:-.08em;margin:30px 0}
.copro-dialogue{border-left:1px solid #d6c9c0;padding-left:22px;margin-bottom:28px;font:12px/1.7 'Courier New',monospace}
.copro-dialogue b{font-size:8px;letter-spacing:.13em}.copro-dialogue p{margin:4px 0 18px;color:#665d63}
.bvp7-copro-visual{height:530px;background:#231b20;position:relative;overflow:hidden;color:#fff;padding:35px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:20px 30px 65px #2b172233}
.copro-ring{position:absolute;width:520px;height:520px;right:-170px;top:-80px;border:1px solid #e4b67d55;border-radius:50%;box-shadow:inset 0 0 0 45px #fff1,inset 0 0 0 90px #fff1}
.copro-cross{position:absolute;left:10%;right:10%;top:50%;height:1px;background:#fff2}
.bvp7-copro-visual span,.bvp7-copro-visual small{position:relative;z-index:2;font:800 8px 'Courier New',monospace;letter-spacing:.17em;color:#bcaab2}
.bvp7-copro-visual strong{position:relative;z-index:2;font:900 clamp(5rem,8vw,8rem)/.7 var(--font-display);letter-spacing:-.1em}
.copro-crosshair{position:absolute;width:90px;height:90px;border:1px solid #e4b67d77;border-radius:50%;left:23%;top:35%}
.copro-crosshair:before,.copro-crosshair:after{content:"";position:absolute;background:#e4b67d77}.copro-crosshair:before{left:50%;top:-15px;bottom:-15px;width:1px}.copro-crosshair:after{top:50%;left:-15px;right:-15px;height:1px}
.bvp7-final{position:relative;overflow:hidden;padding:145px 0 165px;background:linear-gradient(135deg,#fffaf6,#efdce3);text-align:center}
.bvp7-final-script{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around;align-items:center;font:900 clamp(5rem,13vw,13rem)/.7 'Courier New',monospace;color:#17131706;transform:rotate(-8deg)}
.bvp7-final .container{position:relative;z-index:2}
.bvp7-final .bvp7-script-header{justify-content:center;border:0}
.bvp7-final .bvp7-fade{margin-top:60px}
.bvp7-final h2{margin-bottom:25px}
.bvp7-final> .container>p:not(.bvp7-fade){color:var(--v7-muted);margin-bottom:30px}

/* V7 responsive */
@media(max-width:1050px){
  .bvp7-hero-blackout{inset:45% 0 0 0;clip-path:none}
  .bvp7-hero-script{right:5%;top:21%;width:36vw}
  .bvp7-hero-content{padding-top:130px;min-height:920px}
  .bvp7-hero-set{width:60%;height:43%;bottom:0;opacity:.8}
  .bvp7-door-grid,.bvp7-projects{grid-template-columns:1fr 1fr}
  .bvp7-door-visual{height:390px}
}
@media(max-width:720px){
  body.bvp-home-v7{padding-bottom:78px}
  .bvp7-hero{min-height:920px;align-items:flex-start}
  .bvp7-hero-content{padding-top:125px;min-height:920px}
  .bvp7-hero h1{font-size:clamp(4rem,16vw,6rem)}
  .bvp7-hero-script{width:62vw;right:4%;top:41%;transform:rotate(4deg);opacity:.86}
  .bvp7-script-page{min-height:380px;padding:32px 30px;font-size:10px}
  .bvp7-hero-blackout{inset:55% 0 0 0;padding:0}
  .bvp7-hero-set{display:none}
  .bvp7-hero-lede{max-width:90%;font-size:.9rem}
  .bvp7-page-corner{bottom:58px}
  .bvp7-scrollcue{display:none}
  .bvp7-scene,.bvp7-doors,.bvp7-slate,.bvp7-black-scene,.bvp7-opportunities,.bvp7-copro{padding:88px 0}
  .bvp7-scene-grid,.bvp7-opportunity-grid,.bvp7-copro-grid,.bvp7-empty-slate{grid-template-columns:1fr;gap:45px}
  .bvp7-scene h2,.bvp7-door-intro h2,.bvp7-slate-head h2,.bvp7-black-top h2,.bvp7-opportunity-grid h2,.bvp7-final h2{font-size:clamp(3.5rem,15vw,5.5rem)}
  .bvp7-script-sheet{min-height:390px;padding:35px 30px}
  .bvp7-door-intro,.bvp7-slate-head,.bvp7-black-top{display:block}
  .bvp7-door-intro>p{margin-top:25px}
  .bvp7-slate-head .bvp7-page-link{margin-top:20px}
  .bvp7-door-grid,.bvp7-projects{grid-template-columns:1fr 1fr;gap:9px}
  .bvp7-door-visual{height:310px}
  .door-cta{left:10px;right:10px;bottom:10px;padding:10px}
  .door-cta b{font-size:7px}.door-cta span{font-size:6px}
  .bvp7-door-caption{grid-template-columns:25px 1fr}.bvp7-door-caption>i{display:none}
  .bvp7-door-caption b{font-size:11px}.bvp7-door-caption small{font-size:6px}
  .project-copy{padding:12px}.project-copy h3{font-size:1.35rem}.project-copy p{font-size:.72rem;min-height:0}.project-open{opacity:1;transform:none}
  .empty-script-page{margin:15px;padding:35px;min-height:330px}
  .empty-slate-copy{padding:25px}
  .bvp7-timeline{grid-template-columns:1fr 1fr}
  .bvp7-timeline>div{min-height:190px;padding:16px}.bvp7-timeline b{margin-top:65px;font-size:1.65rem}
  .bvp7-black-script{display:block;line-height:2}.bvp7-black-script strong{display:block}
  .bvp7-call-sheet{transform:none}
  .bvp7-copro-visual{height:400px}
  .bvp7-final{padding:105px 0 125px}
  .bvp7-actions .btn{width:100%}
}
@media(max-width:480px){
  .bvp7-door-grid,.bvp7-projects,.bvp7-timeline{grid-template-columns:1fr}
  .bvp7-door-visual{height:350px}
  .bvp7-project .project-art{aspect-ratio:4/5}
  .bvp7-script-header{gap:8px;font-size:7px}.bvp7-script-header small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .bvp7-door-visual,.bvp7-project,.project-art img,.project-open{transition:none}
}

/* BVP opportunity registry */
.bvp-opportunity-registry-grid{grid-template-columns:repeat(3,1fr)}
.bvp-opportunity-registry-card{min-height:240px;display:flex;flex-direction:column;position:relative}
.bvp-opportunity-registry-card p{margin:10px 0;color:var(--text-muted,#756a72);line-height:1.55}
.bvp-opportunity-registry-card .bvp-op-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.bvp-opportunity-registry-card .bvp-op-meta span{font-size:.68rem;padding:5px 8px;border:1px solid currentColor;border-radius:999px;opacity:.75}
@media(max-width:900px){.bvp-opportunity-registry-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bvp-opportunity-registry-grid{grid-template-columns:1fr}}

/* BVP applicant workflow */
.bvp-unread-badge{display:inline-flex;align-items:center;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:800;background:#b11f54;color:#fff;vertical-align:middle}
.bvp-portal-message{padding:15px 0;border-top:1px solid var(--bvp-line,#eadfd8)}
.bvp-portal-message.is-unread{padding:15px 14px;margin:0 -14px;border-radius:12px;background:rgba(196,119,89,.08)}
.bvp-portal-message p{margin:7px 0 8px;line-height:1.6}
.bvp-message-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.7rem;opacity:.72}
@media(max-width:600px){.bvp-unread-badge{display:block;width:max-content;margin:7px 0 0}.bvp-portal-message.is-unread{margin:0 -8px;padding:13px 8px}}

/* BVP unified journey */
.bvp-identity-overview{overflow:hidden}
.bvp-identity-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:18px 0;background:var(--bvp-line,#eadfd8);border:1px solid var(--bvp-line,#eadfd8);border-radius:14px;overflow:hidden}
.bvp-identity-stats>div{padding:16px;background:rgba(255,255,255,.55)}
.bvp-identity-stats strong{display:block;font-size:1.55rem;line-height:1}
.bvp-identity-stats span{display:block;margin-top:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.68}
.bvp-journey-list{border-top:1px solid var(--bvp-line,#eadfd8)}
.bvp-journey-row{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--bvp-line,#eadfd8)}
.bvp-journey-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;opacity:.65}
.bvp-journey-main strong,.bvp-journey-main small{display:block}
.bvp-journey-main small{margin-top:4px;opacity:.65}
.bvp-journey-row>span{font-size:.72rem;padding:5px 9px;border:1px solid currentColor;border-radius:999px;opacity:.78}
@media(max-width:700px){.bvp-identity-stats{grid-template-columns:repeat(2,1fr)}.bvp-journey-row{grid-template-columns:1fr auto}.bvp-journey-kind{grid-column:1/-1;margin-bottom:-8px}}
