/* The hidden attribute must win over any display rule (for example .eyebrow is flex). */
[hidden]{display:none!important}
/* Project request form and the agent-only volunteer prompt. */
dialog#request-dialog, dialog#contact-dialog {max-width:680px}
#request-form fieldset, #contact-form fieldset {border:0;border-top:1px solid var(--line);margin:22px 0 0;padding:6px 0 0;min-width:0}
#request-form legend, #contact-form legend {font:700 9px/1 var(--sans);letter-spacing:1.4px;text-transform:uppercase;color:var(--green);padding:0 10px 0 0}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.field{min-width:0}
#request-form input[type=text], #contact-form input[type=text], #request-form input[type=email], #contact-form input[type=email] {width:100%;padding:11px;border:1px solid #86917f;border-radius:4px;background:white;color:var(--ink);font:inherit;font-size:13px}
#request-form select, #contact-form select, #request-form textarea, #contact-form textarea {font-size:13px}
#request-form input:focus-visible, #contact-form input:focus-visible {outline:3px solid #bd632f;outline-offset:3px}
#request-form input::placeholder, #contact-form input::placeholder, #request-form textarea::placeholder, #contact-form textarea::placeholder {color:#8a948c}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:14px}
label.choice{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:12px;line-height:1.5;margin:0;cursor:pointer}
label.choice input{margin:2px 0 0;flex:none;width:16px;height:16px;accent-color:var(--green)}
.confirm{display:grid;gap:12px;margin:24px 0 4px;padding:16px;background:#eef1e3;border-radius:6px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.turnstile{margin-top:18px;min-height:65px}
.form-error{margin:14px 0 0;padding:12px 14px;border-left:3px solid #bd632f;background:#fbefe6;color:#6b2f12;font-size:12px;line-height:1.6}
#request-form .button:disabled, #contact-form .button:disabled {opacity:.6;cursor:progress;transform:none}
dialog .fine a,.form-note a,details p a{text-decoration:underline;text-underline-offset:3px}
.request-done{padding:20px 0 6px}
.request-done h2{margin-top:12px}
.request-done p:not(.eyebrow){font-size:14px;color:var(--muted)}
.request-done .fine{font:11px var(--mono, ui-monospace, monospace)}
.request-done .button{margin-top:18px}
.request-done:focus{outline:none}
.footer a.footer-domain{text-decoration:underline;text-decoration-color:#b9c3b0;text-underline-offset:3px}

/* Volunteer terminal: agent prompt */
.agent-apply{margin-top:34px}
.agent-apply>p:not(.terminal-hint){color:#c9d0d8;max-width:83ch;margin:0 0 16px}
.agent-prompt{align-items:flex-start;gap:12px;background:#0f1215;border:1px solid #30353b;border-radius:6px;padding:14px 16px}
.agent-prompt code{flex:1;min-width:0;font:inherit;color:#e3eacb;overflow-wrap:anywhere}
.agent-prompt .copy-prompt{flex:none;gap:10px;font-size:12px;border:1px solid #5c6650;border-radius:4px;padding:2px 10px}
.agent-apply .terminal-hint{margin:12px 0 0}
.agent-apply .terminal-hint a{color:#d6e7a4;text-decoration:underline;text-decoration-color:#6e7a5a;text-underline-offset:3px}
@media(max-width:760px){
  .field-grid,.choices{grid-template-columns:1fr}
  .agent-prompt{flex-wrap:wrap;padding:12px}
  .agent-prompt .copy-prompt{margin-left:22px}
}

/* Field errors, draft note and small text buttons */
.field-error{margin:6px 0 0;font-size:12px;line-height:1.5;color:#9a3d12}
#request-form [aria-invalid="true"]:not([type=radio]):not([type=checkbox]), #contact-form [aria-invalid="true"]:not([type=radio]):not([type=checkbox]) {border-color:#bd632f;box-shadow:0 0 0 1px #bd632f}
#request-form fieldset .field-error, #contact-form fieldset .field-error {margin-top:10px}
.confirm .field-error{margin:-4px 0 4px 26px}
.draft-note{font-size:11px;color:var(--muted);margin:12px 0 0}
.link-button{font:inherit;color:var(--green);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#turnstile-retry{display:block;font-size:12px;margin-top:8px}
#turnstile-retry[hidden]{display:none}

/* Close button sits in a bar: absolute on desktop, sticky on phones (phone.css). */
/* Sticky at every size, so the close button stays in reach when a long form scrolls. */
#request-dialog .dialog-bar, #contact-dialog .dialog-bar {position:sticky;top:-35px;z-index:2;display:flex;justify-content:flex-end;margin:-35px -35px 0;padding:8px 10px;background:var(--paper)}
#request-dialog .dialog-bar .close, #contact-dialog .dialog-bar .close {position:static}
.check-note{font-size:12px;line-height:1.6;color:var(--muted);background:#eef1e3;border-radius:6px;padding:10px 12px;margin:12px 0 0}
.field-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0 0}
.footer-links{display:flex;gap:22px;font-size:10px;color:var(--muted)}
.footer-links a:hover{color:#9b5a36}
.service p.service-example{margin:12px 0 0}
.service a.example-link{display:inline-flex;align-items:center;min-height:44px;border:0;padding:0;margin:0;font-size:13px;text-decoration:underline;text-underline-offset:3px}

/* Request confirmation: next steps and a record of what was sent */
.next-steps,.sent-summary{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.next-steps h3,.sent-summary h3{font-size:15px;margin:0 0 6px}
.next-steps p{font-size:13px;color:var(--muted);margin:0}
.sent-summary dl{margin:0;display:grid;gap:6px}
.sent-summary dl div{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13px}
.sent-summary dt{font-weight:600}
.sent-summary dd{margin:0;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
.done-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px}
.done-actions .button{margin-top:0}
.request-done strong{color:var(--ink)}
@media(max-width:760px){.sent-summary dl div{grid-template-columns:1fr;gap:0}}
/* Printing the confirmation prints only the open dialog */
@media print{
  body>*:not(dialog[open]){display:none!important}
  dialog[open]{position:static;max-height:none;overflow:visible;border:0;padding:0;width:auto;max-width:none;height:auto}
  dialog::backdrop{display:none}
  .dialog-bar,.done-actions{display:none!important}
}

/* Fallback for browsers without <dialog> (see script.js) */
.no-dialog dialog:not([open]){display:none}
.no-dialog dialog[open]{display:block;position:fixed;top:0;left:0;right:0;bottom:0;margin:auto;z-index:50;max-height:90vh;height:auto;box-shadow:0 0 0 100vmax rgba(19,43,34,.67)}
.no-dialog.dialog-open body{overflow:hidden}
.noscript-note{max-width:520px;margin:18px auto 0;padding:12px 14px;border-radius:6px;background:#fbefe6;color:#6b2f12;font-size:13px;line-height:1.6}
.noscript-note a{text-decoration:underline}
.intake-paused{margin-top:18px;padding:14px 16px;border-radius:6px;background:#fbefe6;color:#6b2f12;font-size:14px;line-height:1.6}
.intake-paused a{text-decoration:underline}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.request-done h2:focus{outline:none}
.keep-ref{font-size:13px;color:#6b2f12;background:#fbefe6;border-radius:6px;padding:10px 12px}
