.request-page {
  min-height: 100vh;
}

.request-shell {
  width: var(--page);
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 3.5rem) 0 clamp(4rem, 8vw, 6rem);
}

.request-intro {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 30rem), 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.request-back { margin-bottom: 2rem; }
.request-back a { color: var(--copper-light); font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.request-intro__copy { min-width: 0; }
.request-intro h1 { max-width: 24ch; margin-bottom: 1.2rem; font-size: clamp(2rem, 3.4vw, 3.5rem); }
.request-lead { max-width: 61ch; color: #cac4ba; font-size: clamp(1.04rem, 1.55vw, 1.22rem); }
.request-note { align-self: end; padding-top: 1.25rem; border-top: 1px solid var(--copper); }
.request-note strong, .request-note p { display: block; max-width: 34ch; }
.request-note strong { margin-bottom: .6rem; color: var(--warm-white); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.request-note p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.6; }

.brief-form { max-width: 980px; }
.brief-form fieldset { min-inline-size: 0; margin: 0; padding: 1rem 0 2.5rem; border: 0; border-top: 1px solid var(--line); }
.brief-form legend { width: 100%; padding: 0; color: var(--warm-white); font-family: "Rajdhani", sans-serif; font-size: clamp(2rem, 3.8vw, 3.2rem); font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.fieldset-intro { max-width: 58ch; margin: .85rem 0 1.7rem; color: var(--muted); font-size: .93rem; }

.brief-form label { display: block; margin: 1.35rem 0 .55rem; color: var(--warm-white); font-size: .76rem; font-weight: 700; letter-spacing: .065em; line-height: 1.35; text-transform: uppercase; }
.brief-form label > span[aria-hidden="true"], .form-submit p > span { color: var(--copper-light); }
.brief-form .optional { color: var(--muted); font-size: .68rem; font-weight: 600; letter-spacing: .04em; }
.brief-form input:not([type="checkbox"]), .brief-form select, .brief-form textarea {
  display: block;
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(238, 232, 222, .24);
  border-radius: 0;
  outline: none;
  background: rgba(13, 17, 22, .82);
  color: var(--warm-white);
  font: inherit;
  line-height: 1.45;
}
.brief-form input:not([type="checkbox"]), .brief-form select { padding: .7rem .8rem; }
.brief-form textarea { min-height: 7.6rem; padding: .8rem; resize: vertical; }
.brief-form option { background: #101419; color: var(--warm-white); }
.brief-form input::placeholder, .brief-form textarea::placeholder { color: #948d83; opacity: 1; }
.brief-form input:focus, .brief-form select:focus, .brief-form textarea:focus { border-color: var(--copper-light); box-shadow: 0 0 0 3px rgba(238, 168, 99, .15); }
.brief-form.was-validated input:invalid, .brief-form.was-validated select:invalid, .brief-form.was-validated textarea:invalid { border-color: #d98d72; }
.brief-form .button:disabled { opacity: .65; cursor: default; transform: none; }
.brief-form input, .brief-form textarea { caret-color: var(--copper-light); }

.field-grid, .field-grid--three { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 0 1.1rem; }
.field-wide { grid-column: 1 / -1; }
.direction-picked { margin: .75rem 0 0; color: var(--copper-light); font-size: .82rem; }
.choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .3rem 1.1rem; margin: 1.25rem 0 1.1rem; }
.choice-grid label, .consent { display: flex !important; align-items: flex-start; gap: .65rem; margin: 0 !important; padding: .8rem 0; border-bottom: 1px solid rgba(238, 232, 222, .1); color: #d7d0c6 !important; font-size: .78rem !important; font-weight: 600 !important; letter-spacing: .035em !important; text-transform: none !important; }
.choice-grid input, .consent input { width: 1.05rem; height: 1.05rem; margin: .15rem 0 0; accent-color: var(--copper-light); }

.form-submit { padding-top: clamp(2rem, 5vw, 3.5rem); border-top: 1px solid var(--line); }
.consent { max-width: 68ch; margin-bottom: 1.45rem !important; }
.form-submit .button { border: 0; cursor: pointer; font: inherit; }
.form-submit p { max-width: 61ch; margin: 1rem 0 0; color: var(--muted); font-size: .84rem; }
.form-submit p a { color: var(--copper-light); }
.form-status { min-height: 0; color: #f1b196; font-size: .88rem; font-weight: 600; }
.honeypot { position: fixed; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; clip-path: inset(50%); }

.request-result { width: min(760px, var(--page)); min-height: calc(100svh - 95px); margin: 0 auto; padding: clamp(5rem, 15vw, 11rem) 0; }
.request-result__panel { padding-top: 1.5rem; border-top: 1px solid var(--copper); }
.request-result h1 { max-width: clamp(12ch, 60vw, 20ch); margin-bottom: 1.4rem; font-size: clamp(3rem, 5.8vw, 5.8rem); }
.request-result p { max-width: 61ch; color: #cac4ba; font-size: 1.05rem; }
.request-result .button { margin-top: 1rem; }

@media (max-width: 760px) {
  .request-shell { width: min(100% - 36px, 620px); padding-top: 1.75rem; }
  .request-intro { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 1.75rem; }
  .request-intro h1 { font-size: clamp(2rem, 8vw, 3rem); }
  .field-grid, .field-grid--three, .choice-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .choice-grid { gap: 0; }
  .request-result { width: min(100% - 36px, 620px); }
}

@media (prefers-reduced-motion: reduce) {
  .brief-form input, .brief-form select, .brief-form textarea { transition: none; }
}
