.request-section { position:relative; }
#request-form { max-width:1000px; margin-inline:auto; }
.request-anchor { position:absolute; top:0; }
.request-intro { margin:20px 0 36px; color:var(--muted); max-width:none; }
.request-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.request-needs { padding:0; border:0; margin:12px 0 24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 24px; }
.request-needs legend { padding:0; margin-bottom:16px; font-weight:600; }
.request-needs legend span { font-weight:400; font-size:14px; color:var(--muted); }
.request-choice { position:relative; display:flex; justify-content:center; align-items:center; min-height:52px; padding:12px 22px; border:1px solid var(--heading-blue); border-radius:999px; background:var(--cream); color:var(--heading-blue); text-align:center; cursor:pointer; font-size:16px; line-height:1.4; transition:background-color .18s ease,color .18s ease; }
.request-choice:hover { background:var(--light); }
.request-choice:has(input:checked) { background:var(--sheen-blue); color:var(--night); }
.request-choice:has(input:focus-visible) { outline:2px solid var(--heading-blue); outline-offset:4px; }
.request-choice input { position:absolute; width:1px; height:1px; padding:0; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(prefers-reduced-motion:reduce) { .request-choice { transition:none; } }
#request-form [hidden] { display:none; }
#request-check { margin-top:24px; }
#request-status { margin-top:16px; font-size:16px; color:var(--heading-blue); }
@media(max-width:600px) { .request-fields { grid-template-columns:minmax(0,1fr); } .request-needs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .request-choice { padding:12px; font-size:14px; } #request-other-field { grid-column:1 / -1; } }

.request-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#request-other-field { margin:0; justify-content:center; }
#request-other { min-height:48px; }

#request-check:hover, #request-check:focus-visible { background:var(--light); color:var(--night); }

.request-coordinates { border:0; padding:0; margin:0; min-width:0; }
.request-coordinates legend { padding:0; margin-bottom:20px; font-weight:600; }
.request-required, .request-needs legend .request-required { color:var(--heading-blue); }
#request-form select { width:100%; min-height:46px; padding:11px 13px; border:1px solid #7c8089; border-radius:6px; background:var(--body); color:var(--ink); font:400 16px/1.4 var(--reading); }
#request-form select:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
