/* ============================================================
   THE CREATIVITY LAB — Founder Philosophy (no portrait)
   .fp-  ·  left obsidian-crystal video card / right statement
   Replaces the old founder portrait card. Premium, mysterious.
   ============================================================ */
.fp-grid { display: grid; grid-template-columns: 1fr; gap: clamp(32px, 4vw, 56px); margin-top: clamp(44px, 6vw, 88px); align-items: stretch; }
@media (min-width: 900px) { .fp-grid { grid-template-columns: 35% 1fr; gap: clamp(40px, 5vw, 80px); } }

/* Left — abstract obsidian visual card */
.fp-card {
  position: relative; overflow: hidden; min-height: clamp(380px, 44vw, 580px);
  border: 1px solid rgba(255,255,255,0.1); background: #060606;
  transition: transform 1.1s var(--ease-out), border-color 1.1s var(--ease-out), box-shadow 1.1s var(--ease-out);
}
.fp-card:hover { transform: scale(1.015); border-color: rgba(255,255,255,0.24);
  box-shadow: 0 44px 110px -55px rgba(0,0,0,0.92), 0 0 70px -22px rgba(237,70,9,0.13); }
.fp-card__media { position: absolute; inset: 0; }
.fp-card__video { position: absolute; inset: -2%; width: 104%; height: 104%; object-fit: cover;
  opacity: 0.74; filter: contrast(1.06) brightness(0.92);
  transition: opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out); }
.fp-card:hover .fp-card__video { opacity: 0.94; transform: scale(1.04); }
.fp-card__vignette { position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(120% 100% at 50% 28%, transparent 40%, rgba(5,5,5,0.72) 100%),
    linear-gradient(180deg, rgba(5,5,5,0.42) 0%, transparent 28%, transparent 54%, rgba(5,5,5,0.88) 100%); }
.fp-card__sweep { display: none; /* shimmer over photos removed site-wide */ position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.1) 50%, transparent 60%);
  transform: translateX(-130%); transition: transform 1.3s var(--ease-out); }
.fp-card:hover .fp-card__sweep { transform: translateX(130%); }
.fp-card__label { position: absolute; left: clamp(18px, 1.6vw, 24px); top: clamp(16px, 1.5vw, 22px); z-index: 3;
  font-family: var(--font-label); font-size: 11px; font-weight: var(--fw-semibold); letter-spacing: 0.2em; color: var(--text-secondary); }
.fp-card__foot { position: absolute; left: clamp(18px, 1.6vw, 24px); right: clamp(18px, 1.6vw, 24px); bottom: clamp(18px, 1.6vw, 24px); z-index: 3; }
.fp-card__studio { font-family: var(--font-display); font-weight: var(--fw-semibold); font-size: clamp(1.1rem, 1.4vw, 1.4rem); letter-spacing: -0.01em; color: var(--text-primary); }
.fp-card__loc { font-family: var(--font-label); font-size: 12px; letter-spacing: 0.04em; color: var(--text-muted); margin-top: 6px; }
.fp-card__plus { position: absolute; right: 0; bottom: 2px; color: var(--text-faint); font-size: 20px; line-height: 1;
  opacity: 0; transform: rotate(-45deg) scale(0.8); transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out), color 0.6s var(--ease-out); }
.fp-card:hover .fp-card__plus { opacity: 1; transform: rotate(0) scale(1); color: var(--text-primary); }

/* Right — statement + philosophy */
.fp-content { display: flex; flex-direction: column; justify-content: center; }
.fp-statement { font-family: var(--font-display); font-weight: var(--fw-bold);
  font-size: clamp(2.6rem, 6vw, 5.2rem); line-height: 0.95; letter-spacing: var(--tracking-display); color: var(--text-primary); }
.fp-philosophy { margin-top: clamp(26px, 3vw, 40px); display: flex; flex-direction: column; gap: clamp(15px, 1.7vw, 22px); max-width: 56ch; }
.fp-p { font-size: clamp(1.05rem, 1.25vw, 1.26rem); line-height: 1.6; letter-spacing: -0.01em; color: var(--text-secondary); }
.fp-p--list { color: var(--text-primary); font-weight: var(--fw-medium); }
.fp-p--muted { color: var(--text-muted); font-size: clamp(1rem, 1.15vw, 1.15rem); }
.fp-sign { margin-top: clamp(30px, 3.6vw, 48px); opacity: 0.55; transition: opacity var(--dur) var(--ease-out); }
.fp-sign:hover { opacity: 0.85; }
.fp-sign__name { display: block; font-family: var(--font-display); font-weight: var(--fw-medium); font-size: clamp(1rem, 1.2vw, 1.2rem); letter-spacing: -0.01em; color: var(--text-primary); }
.fp-sign__role { display: block; margin-top: 4px; font-family: var(--font-label); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-faint); }

@media (prefers-reduced-motion: reduce) { .fp-card__video { transition: none; } }

/* Hero float-card — obsidian visual (replaces the portrait) */
.hc-media { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }
.hc-media__video { position: absolute; inset: -2%; width: 104%; height: 104%; object-fit: cover;
  opacity: 0.8; filter: contrast(1.06) brightness(0.92);
  transition: opacity 0.9s var(--ease-out), transform 0.9s var(--ease-out); }
.card-wrap:hover .hc-media__video { opacity: 0.95; transform: scale(1.04); }
.hc-media__vignette { position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(120% 100% at 50% 30%, transparent 44%, rgba(5,5,5,0.62) 100%),
    linear-gradient(180deg, rgba(5,5,5,0.32) 0%, transparent 38%, transparent 70%, rgba(5,5,5,0.55) 100%); }
.hc-media__label { position: absolute; left: 16px; top: 14px; z-index: 2;
  font-family: var(--font-label); font-size: 10.5px; font-weight: var(--fw-semibold); letter-spacing: 0.18em; color: var(--text-secondary); }
@media (prefers-reduced-motion: reduce) { .hc-media__video { transition: none; } }
