
:root {
  --brand-black:#0b0b0b;
  --brand-yellow:#ffd200;
  --text:#222;
  --muted:#666;
  --border:#e5e5e5;
}
body { background:#fafafa; color:var(--text); font-family:'Lexend',sans-serif; }
h1,h2,h3,.btn,nav a { font-family:'Comfortaa',sans-serif; }
nav { background:#fff; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
nav a { padding:10px 14px; margin:0 4px; border-radius:8px; color:var(--brand-black); text-decoration:none; font-weight:bold; }
nav a:hover { background:rgba(0,0,0,0.05); color:var(--brand-yellow); }
.btn { display:inline-block; padding:10px 16px; border-radius:999px; border:2px solid var(--brand-black); text-decoration:none; }
.btn-primary { background:var(--brand-black); color:#fff; }
.btn-primary:hover { background:#000; }
.btn-ghost { background:transparent; color:var(--brand-black); }
.btn-ghost:hover { background:rgba(0,0,0,0.06); }
.card { border:1px solid var(--border); border-radius:12px; background:#fff; padding:16px; }
.card h3::before { content:""; display:inline-block; width:8px; height:1em; background:var(--brand-yellow); margin-right:8px; }
.result-box { border:1px dashed var(--brand-yellow); background:#fff; padding:8px 12px; border-radius:8px; display:inline-block; }
footer { color:#888; font-size:0.9rem; }



/* Cinematic Team Section (studio-level layout) */
.team-section {
  max-width: 1400px;
  margin: 0 auto;
  padding: 40px 20px 20px;
}

.bio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.6rem;
  align-items: stretch;
}

.bio-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bio-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* Director-credit typography scale */
.bio-card h3 {
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  margin-top: 0.5rem;
}

