.request-shell { max-width: 1440px; min-height: 100vh; display: grid; grid-template-columns: minmax(300px, .75fr) minmax(500px, 1.25fr); gap: clamp(60px, 7vw, 120px); margin: auto; padding: 158px 48px 120px; }
.request-intro { align-self: start; position: sticky; top: 135px; }
.request-intro .eyebrow, .request-panel .eyebrow { color: var(--metal); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.request-intro h1 { max-width: 560px; margin: 36px 0 30px; font: 500 clamp(58px, 5.5vw, 88px)/.95 var(--serif); letter-spacing: -.05em; }
.request-intro > p:not(.eyebrow):not(.sample-note) { max-width: 490px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.request-aside { display: grid; grid-template-columns: 72px 1fr; margin-top: 65px; border-top: 1px solid var(--line); }
.request-aside > * { padding: 18px 0; border-bottom: 1px solid var(--line); }
.request-aside span { color: var(--metal); font-size: 10px; }
.request-aside strong { font-size: 12px; font-weight: 500; }
.sample-note { max-width: 490px; margin-top: 50px; padding-left: 18px; border-left: 2px solid var(--metal); color: var(--muted); font-size: 11px; line-height: 1.8; }
.request-panel { padding: clamp(36px, 4vw, 68px); border: 1px solid var(--line); background: var(--white); }
.request-panel h2 { margin: 18px 0 12px; font: 500 clamp(38px, 3.3vw, 55px)/1 var(--serif); letter-spacing: -.035em; }
.required-note, .request-footnote { color: var(--muted); font-size: 11px; line-height: 1.6; }
.request-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; margin-top: 42px; }
.request-fields label { display: flex; flex-direction: column; gap: 10px; }
.request-fields label.wide { grid-column: 1 / 3; }
.request-fields label > span { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.request-fields input, .request-fields select, .request-fields textarea { width: 100%; min-height: 48px; padding: 11px 12px; border: 1px solid #cdd3d7; border-radius: 0; outline: 0; background: #fbfcfc; color: var(--ink); font: 13px/1.5 var(--sans); }
.request-fields textarea { min-height: 140px; resize: vertical; }
.request-fields input:focus, .request-fields select:focus, .request-fields textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 2px rgba(17,19,21,.08); }
.request-fields [aria-invalid="true"] { border-color: #a54545; }
.request-consent { display: flex; align-items: flex-start; gap: 12px; margin: 32px 0 24px; font-size: 11px; line-height: 1.6; cursor: pointer; }
.request-consent input { margin-top: 2px; accent-color: var(--ink); }
.request-consent[aria-invalid="true"] { color: #a54545; }
.request-privacy { margin: -8px 0 26px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.request-privacy a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.request-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.request-submit { width: 100%; cursor: pointer; }
.request-submit:disabled { opacity: .65; cursor: wait; }
.request-error { margin: 25px 0 0; padding: 14px 16px; border-left: 2px solid #a54545; color: #8b3333; background: #fff6f5; font-size: 12px; line-height: 1.5; }
.request-success { min-height: 450px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.request-success[hidden], .request-error[hidden] { display: none; }
.request-success > p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.7; }
.request-success strong { color: var(--ink); }
.request-success .button { margin-top: 30px; }
#turnstile-container { margin-bottom: 24px; }
@media (max-width: 980px) { .request-shell { grid-template-columns: 1fr; gap: 45px; }.request-intro { position: static; }.request-aside { margin-top: 35px; } }
@media (max-width: 760px) { .request-shell { padding: 195px 20px 80px; }.request-intro h1 { font-size: clamp(52px, 14vw, 70px); }.request-panel { padding: 28px 20px; }.request-fields { grid-template-columns: 1fr; gap: 20px; }.request-fields label.wide { grid-column: 1; } }
