/* Request form: "Request talent", "Request our roster", "Book this lineup".
 * Self-contained (only .rq-* classes), so it can load on the homepage, the
 * roster page and shortlist pages without touching their styles. */
.rq-overlay { --rq-cream: #F6F1E8; --rq-ivory: #FBF8F2; --rq-sand: #E9DFCE; --rq-taupe: #9C8C73; --rq-terra: #A9764F; --rq-espresso: #2A211A; --rq-ink: #1D1712; }
/* Request form (Request talent / Book this lineup) */
.rq-overlay { position: fixed; inset: 0; z-index: 80; background: rgba(42, 33, 26, 0.42); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.rq-overlay[hidden] { display: none; }
.rq { width: 100%; max-width: 560px; max-height: calc(100vh - 2rem); overflow-y: auto; background: var(--rq-ivory); border: 1px solid var(--rq-sand); border-radius: 22px; padding: 1.6rem 1.6rem 1.4rem; position: relative; box-shadow: 0 30px 80px rgba(42, 33, 26, 0.28); }
.rq h3 { font-family: 'Akshar', sans-serif; font-weight: 600; font-size: 1.7rem; line-height: 1.1; margin: 0.2rem 0 0.4rem; }
.rq-sub { color: var(--rq-taupe); font-size: 0.92rem; margin-bottom: 1rem; }
.rq-close { position: absolute; top: 0.8rem; right: 0.9rem; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--rq-sand); background: var(--rq-ivory); color: var(--rq-espresso); font-size: 1.3rem; cursor: pointer; line-height: 1; }
.rq form { display: grid; gap: 0.75rem; }
.rq-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.rq label { display: grid; gap: 0.3rem; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; color: var(--rq-espresso); }
.rq input[type=text], .rq input[type=email], .rq select, .rq textarea {
  font: 400 1rem 'Archivo', sans-serif; color: var(--rq-ink); background: #fff; border: 1px solid var(--rq-sand); border-radius: 12px; padding: 0.7rem 0.85rem; width: 100%; min-height: 46px;
}
.rq textarea { min-height: 96px; resize: vertical; }
.rq input:focus, .rq select:focus, .rq textarea:focus { outline: 2px solid var(--rq-espresso); outline-offset: 1px; }
.rq-creators { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.rq-creators label { display: inline-flex; align-items: center; gap: 0.4rem; border: 1px solid var(--rq-sand); border-radius: 999px; padding: 0.4rem 0.8rem; font-weight: 500; font-size: 0.85rem; letter-spacing: 0; cursor: pointer; background: #fff; }
.rq-creators input { accent-color: var(--rq-espresso); }
.rq .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.rq-submit { justify-self: start; border: none; cursor: pointer; }
.rq-note { margin-top: 0.8rem; font-size: 0.9rem; color: var(--rq-espresso); }
.rq-done h3 { margin-top: 0.4rem; }
@media (max-width: 560px) {
  .rq-overlay { align-items: flex-end; padding: 0; }
  .rq { border-radius: 22px 22px 0 0; max-height: 92vh; padding: 1.4rem 1.2rem 1.6rem; }
  .rq-row { grid-template-columns: 1fr; }
  .rq-submit { justify-self: stretch; justify-content: center; }
}

.rq, .rq * { box-sizing: border-box; }
.rq { font-family: 'Archivo', sans-serif; color: var(--rq-espresso); text-align: left; }
.rq-kicker { font-family: 'Catamaran', sans-serif; font-size: 0.72rem; letter-spacing: 0.28em; text-transform: uppercase; font-weight: 600; color: var(--rq-terra); margin: 0; }
.rq-btn { font-family: 'Overpass', sans-serif; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; background: var(--rq-espresso); color: var(--rq-ivory); border-radius: 999px; padding: 0 1.5rem; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; border: none; cursor: pointer; }
.rq-btn:hover { background: var(--rq-terra); }
.rq-label { display: block; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.04em; margin-bottom: 0.35rem; }

/* Inline on a page (the /talent roster request): no overlay, no shadow, full content width. */
.rq.rq-inline { max-width: none; max-height: none; overflow: visible; box-shadow: none; margin-top: 2rem; padding: 1.8rem; }
.rq.rq-inline form { max-width: none; }
@media (max-width: 560px) { .rq.rq-inline { border-radius: 18px; padding: 1.3rem 1.1rem; } }
