/* Demo/trial request form on /about/contact/. */
.request { max-width: var(--max); margin: 0 auto; padding: clamp(96px, 10vw, 150px) var(--gutter) 0; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 7vw, 120px); align-items: start; scroll-margin-top: 92px; }
.request-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(40px, 4vw, 60px); font-weight: 400; line-height: 1.02; letter-spacing: -.04em; }
.request-intro p { max-width: 460px; margin: 22px 0 0; font-size: 17px; line-height: 1.55; color: var(--tl-color-text-secondary); }
.request-intro .request-note { font-size: 15px; }
.request-intro a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 5px; }
.request-form, .request-success { padding: clamp(24px, 3vw, 40px); background: var(--tl-neutral-25); border: 1px solid var(--line); border-radius: 14px; }
.request-field + .request-field { margin-top: 20px; }
.request-field label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--ink); }
.request-field input, .request-field textarea { box-sizing: border-box; width: 100%; padding: 13px 14px; border: 1px solid var(--tl-neutral-250); border-radius: 10px; background: var(--white); font: inherit; font-size: 16px; color: var(--ink); }
.request-field textarea { resize: vertical; min-height: 110px; }
.request-field input:focus, .request-field textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.request-field input::placeholder, .request-field textarea::placeholder { color: var(--tl-neutral-600); opacity: .7; }
.request-error { min-height: 0; margin: 6px 0 0; font-size: 13px; color: #b3261e; }
.request-error:empty { display: none; }
.request-field--invalid input, .request-field--invalid textarea { border-color: #b3261e; }
.request-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#turnstile-slot:not(:empty) { margin-top: 20px; }
.request-submit { margin-top: 26px; border: 0; cursor: pointer; font: inherit; font-size: 15px; }
.request-submit:disabled { opacity: .6; cursor: progress; }
.request-status { margin: 14px 0 0; font-size: 14px; color: var(--tl-color-text-secondary); }
.request-status:empty { display: none; }
.request-status--error { color: #b3261e; }
.request-success h3 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 400; letter-spacing: -.03em; }
.request-success p { margin: 12px 0 0; font-size: 16px; line-height: 1.55; color: var(--tl-color-text-secondary); }
.request-success:focus { outline: none; }
@media (max-width: 800px) { .request { grid-template-columns: minmax(0, 1fr); } }
