/* Inquiry form and private review page. Claude Code lane, October 22 2026. */
.intake-warning{border:2px solid var(--green);background:var(--soft);border-radius:12px;padding:20px 22px;margin:28px 0;max-width:78ch}
.intake-warning h2{margin-top:0;font-size:1.6rem}
.intake-warning ul{padding-left:22px;margin:14px 0}
.intake-warning li{margin:10px 0;line-height:1.6}
.intake-closed{border:2px solid #8a241a;background:#fff;color:#5c1810;padding:16px 18px;border-radius:8px;max-width:78ch}
.intake-closed a{color:#5c1810}
.intake-form{max-width:700px;margin-top:24px}
.intake-required{font-weight:650}
.intake-field{margin:24px 0}
.intake-field>label,.intake-group legend{display:block;font-weight:700;margin:0 0 6px;font-size:1.05rem}
.intake-hint{display:block;color:var(--ink-soft);margin:0 0 8px;line-height:1.55;max-width:70ch}
.intake-form input[type=text],.intake-form input[type=email],.intake-form textarea,.review-shell input[type=date],.review-shell input[type=search]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff;border:2px solid #5f6b66;border-radius:6px}
.intake-form textarea{min-height:8.5em;resize:vertical;line-height:1.5}
.intake-form input:focus-visible,.intake-form textarea:focus-visible,.review-shell input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.intake-form [aria-invalid=true]{border-color:#8a241a;border-width:3px}
.intake-group{border:0;padding:0;margin:24px 0}
.intake-choice,.intake-consent,.review-confirm{display:flex;align-items:flex-start;gap:12px;margin:10px 0;line-height:1.5}
.intake-choice input,.intake-consent input,.review-confirm input{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:var(--green)}
.intake-choice label,.intake-consent label,.review-confirm label{min-height:28px}
.intake-consent{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-weight:600}
.intake-count{margin:6px 0 0;color:var(--ink-soft);font-size:.95rem}
.field-error{color:#8a241a;font-weight:700;display:block;margin:0 0 8px}
.field-error[hidden]{display:none}
.intake-errors{border:3px solid #8a241a;border-radius:8px;padding:18px 20px;margin:24px 0;background:#fff;max-width:700px}
.intake-errors h2{margin-top:0;font-size:1.4rem;color:#8a241a}
.intake-errors ul{padding-left:20px;margin:8px 0 0}
.intake-errors a{color:#8a241a;font-weight:700;display:inline-block;min-height:32px;padding:4px 0}
.intake-trap{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.intake-form .button{border:0;cursor:pointer;font:inherit;font-weight:750;margin-top:12px}
.intake-result-list{padding-left:22px}
.intake-result-list li{margin:8px 0}
.review-shell{max-width:1000px}
.review-search{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:20px 0}
.review-search label{flex:1 1 100%;font-weight:700}
.review-search input{flex:1 1 220px;width:auto}
.review-item{border:1px solid var(--line);border-radius:12px;padding:20px;margin:22px 0;background:var(--paper)}
.review-item h2{margin-top:0;font-size:1.5rem;overflow-wrap:anywhere}
.review-facts{display:grid;grid-template-columns:minmax(8rem,14rem) 1fr;gap:6px 16px;margin:0}
.review-facts dt{font-weight:700}
.review-facts dd{margin:0;overflow-wrap:anywhere}
.review-message{white-space:pre-wrap}
.review-actions{display:grid;gap:18px;margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.review-actions label{display:block;font-weight:650;margin-bottom:6px}
.review-actions .review-confirm label{display:inline;margin:0}
.review-actions .button{border:0;cursor:pointer;font:inherit;font-weight:750;margin-top:8px;white-space:normal}
@media(max-width:600px){.review-facts{grid-template-columns:1fr}.review-facts dd{margin-bottom:8px}.intake-warning{padding:16px}}
@media(forced-colors:active){.intake-form input,.intake-form textarea,.review-shell input{border:2px solid CanvasText}.intake-warning,.intake-errors{border-color:CanvasText}}
/* Revision 15: on phones the form comes before the contact photo; desktop layout unchanged. */
.intake-email-alt{margin:0 0 18px}
.intake-email-alt a{display:inline-block;padding-block:4px}
@media (max-width:720px){.contact-shell{display:flex;flex-direction:column}.contact-shell>.page-photo{order:1;margin-top:32px}}
.intake-field select{display:block;width:100%;min-height:44px;font:inherit;padding:8px 10px;border:1px solid currentColor;border-radius:4px;background:#fff;color:inherit}
