.intake-form { max-width: 850px; margin: 2rem 0 4rem; }
.intake-form fieldset { margin: 2rem 0; padding: 1.5rem; border: 1px solid var(--line, #bbb); }
.intake-form legend { font-weight: 700; padding: 0 .5rem; }
.intake-form label:not(.intake-consent) { display: block; margin: 1.25rem 0 .4rem; font-weight: 600; }
.intake-form input:not([type=checkbox]), .intake-form textarea, .intake-form select { box-sizing: border-box; width: 100%; padding: .8rem; font: inherit; color: inherit; background: var(--paper, #fff); border: 1px solid #777; border-radius: 2px; }
.intake-form textarea { resize: vertical; min-height: 7rem; }
.intake-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.intake-form .field-help { font-size: .88rem; line-height: 1.5; margin: .45rem 0 1rem; }
.intake-consent { display: flex; gap: .8rem; align-items: flex-start; line-height: 1.6; }
.intake-consent input { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; margin-top: .3rem; }
.intake-form :focus-visible { outline: 3px solid #1866a6; outline-offset: 3px; }
.intake-form [aria-invalid=true] { border-color: #a21c17; }
.intake-error, .intake-error-summary { color: #9a1813; font-size: .95rem; }
.intake-error-summary { padding: 1rem; border: 2px solid currentColor; margin-bottom: 1.5rem; }
.intake-error-summary a { color: inherit; text-decoration: underline; }
.intake-status { line-height: 1.6; max-width: 65ch; }
.intake-references { margin: 1.5rem 0; padding: 1rem; background: #f2f0eb; color: #191919; }
.intake-references li { margin: .6rem 0; }
.intake-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.intake-form button:disabled { opacity: .6; cursor: not-allowed; }
.intake-form [hidden] { display: none !important; }
@media (max-width: 650px) { .intake-grid { grid-template-columns: 1fr; gap: 0; } .intake-form fieldset { padding: 1rem; } }

.intake-project-summary {border-left:3px solid var(--signal,#ef4d2a);padding:4px 20px;margin:0 0 20px}
.intake-project-summary h3 {font-size:20px;margin:4px 0 12px}
.intake-project-summary p {font-size:14px;line-height:1.6}
.intake-project-details {border-block:1px solid var(--line,#bbb);padding:16px 0;margin:24px 0}
.intake-project-details summary {cursor:pointer;font-weight:600;min-height:44px}
.intake-project-details summary span {display:block;font-size:13px;font-weight:400;line-height:1.5;margin:6px 0}
.inquiry-email {max-width:850px;margin:2rem 0;padding:1.5rem;border-left:3px solid var(--signal,#ef4d2a);background:var(--paper,#fff)}
.inquiry-email a {overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.2em}
.intake-email-actions {display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.intake-email-actions button {min-height:44px;white-space:normal}
.intake-email-preview {margin:1rem 0}
.intake-email-preview summary {font-weight:600;min-height:44px;align-content:center;cursor:pointer}
.intake-email-preview textarea {min-height:14rem;font-size:.9rem;line-height:1.5}
@media (max-width:650px) {.inquiry-email {padding:1rem}.intake-email-actions {align-items:stretch;flex-direction:column}.intake-email-actions button {width:100%}}
.intake-hosted {max-width:960px;margin:2rem 0 4rem}
.intake-hosted [hidden] {display:none!important}
.intake-hosted-actions {display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.intake-hosted-actions .button {min-height:44px;white-space:normal}
.intake-typeform-container {height:650px;max-height:85vh;min-height:440px;width:100%;margin:1.5rem 0;background:var(--paper,#fff)}
.intake-typeform-container iframe {width:100%;height:100%;border:0}
.intake-context {margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line,#bbb)}
.intake-context-review {margin:1rem 0}
.intake-context-review summary {font-weight:600;min-height:44px;align-content:center;cursor:pointer}
.intake-context-review label {display:block;margin:.75rem 0 .4rem;font-weight:600}
.intake-context-review textarea {box-sizing:border-box;width:100%;min-height:16rem;padding:.8rem;font:inherit;line-height:1.5;color:inherit;background:var(--paper,#fff);border:1px solid #777;resize:vertical}
.intake-hosted :focus-visible {outline:3px solid #1866a6;outline-offset:3px}
@media (max-width:650px) {.intake-hosted-actions {align-items:stretch;flex-direction:column}.intake-hosted-actions .button {width:100%;box-sizing:border-box}.intake-typeform-container {height:650px;max-height:none;min-height:440px}}
