/* Dedicated request form for the event caption service. */
.caption-request-hero { padding: clamp(72px, 10vw, 122px) 0 clamp(54px, 7vw, 82px); background: #f7f8f6; text-align: center; }
.caption-request-hero-copy { max-width: 780px; }
.caption-request-eyebrow { margin: 0 0 16px; color: var(--brand); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.caption-request-hero h1 { margin: 0; color: var(--ink); font-size: clamp(31px, 4.25vw, 49px); font-weight: 700; line-height: 1.35; letter-spacing: .03em; }
.caption-request-hero-copy > .caption-request-hero-lead { max-width: 640px; margin: 28px auto 0; color: var(--ink-soft); line-height: 1.9; }
.caption-request-main { padding-top: clamp(52px, 7vw, 82px); background: #fff; }
.caption-request-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.caption-request-divider { display: flex; align-items: center; gap: 12px; margin: 6px 0 28px; color: var(--ink); font-size: 16px; font-weight: 700; }
.caption-request-divider::before { width: 5px; height: 22px; border-radius: 99px; background: var(--brand); content: ""; }
.caption-request-services { margin-top: 4px; }
.caption-request-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.caption-request-general-link { margin: 28px auto 0; color: var(--ink-soft); font-size: 14px; line-height: 1.8; text-align: center; }
.caption-request-general-link a { color: var(--brand); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 680px) { .caption-request-hero { padding: 58px 0 46px; } .caption-request-pair, .caption-request-choice-grid { grid-template-columns: 1fr; gap: 0; } .caption-request-pair .form-row { margin-bottom: 28px; } }
