/* Intake form (Oct 2026). Uses the site tokens; dark is the default, light via theme.css variables. */
.intake-hero{padding-bottom:40px}
.intake-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start;padding-bottom:var(--section-space)}
html:not(.js) .intake{display:none}
.intake-noscript{padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--raised);color:var(--silver)}
.intake{min-width:0;padding:32px;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(160deg,#10243a,#0a1926);box-shadow:0 24px 60px #02080d66}
:root[data-theme="light"] .intake{background:linear-gradient(160deg,#fffdf8,#f1eee6);box-shadow:0 18px 40px #27382914}
.intake fieldset{border:0;margin:0;padding:0;min-width:0}
.intake legend{padding:0}

/* progress */
.intake-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 32px;padding:0}
.intake-progress li{display:flex;align-items:center;gap:10px;padding:0 0 12px;border-bottom:2px solid var(--line);color:var(--muted);font-size:var(--fs-sm);font-weight:600;line-height:1.3;transition:color var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out)}
.intake-progress-num{font-size:var(--fs-xs);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.intake-progress li[data-state="current"]{color:var(--white);border-color:var(--gold)}
.intake-progress li[data-state="current"] .intake-progress-num{color:var(--gold)}
.intake-progress li[data-state="done"]{color:var(--silver);border-color:#e4c48e80}

/* step heading */
.intake-legend{display:block;margin-bottom:8px}
.intake-step-label{display:block;color:var(--gold);font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.intake-step-heading{display:block;font-size:clamp(24px,2.6cqw,30px);font-weight:650;line-height:1.15;letter-spacing:-.03em;outline:none}
.intake-step-heading:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:4px}
.intake-help{margin:0 0 20px;color:var(--silver);font-size:var(--fs-sm);line-height:1.55}
.intake-group .intake-help,.intake-field .intake-help{margin-bottom:10px}

/* service cards */
.intake-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.intake-choice{position:relative;display:flex;gap:14px;padding:18px 18px 18px 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#0b1a2880;cursor:pointer;transition:border-color var(--duration) var(--ease-out),background-color var(--duration) var(--ease-out),transform var(--duration) var(--ease-out)}
:root[data-theme="light"] .intake-choice{background:#ffffff80}
.intake-choice:hover{border-color:#e4c48e99}
.intake-choice:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.intake-choice:has(input:checked){border-color:var(--gold);background:#e4c48e14}
.intake-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.intake-choice-body{display:grid;gap:4px;min-width:0}
.intake-choice-body:before{content:'';position:absolute;top:20px;right:18px;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;transition:border-color var(--duration) var(--ease-out),background-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}
.intake-choice:has(input:checked) .intake-choice-body:before{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 4px var(--navy)}
.intake-choice-title{font-size:var(--fs-md);font-weight:650;letter-spacing:-.01em;padding-right:28px}
.intake-choice-text{color:var(--silver);font-size:var(--fs-sm);line-height:1.5}
.intake-choices+.intake-field-error{margin-top:12px}

/* question groups */
.intake-service-questions{display:grid;gap:28px;margin-top:8px}
.intake-group legend{font-size:var(--fs-base);font-weight:650;margin-bottom:8px;line-height:1.4}
.intake-optional{color:var(--muted);font-weight:500;font-size:var(--fs-sm)}
.intake-options{display:grid;gap:8px}
.intake-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;color:var(--white);font-size:var(--fs-base);line-height:1.45;transition:border-color var(--duration) var(--ease-out),background-color var(--duration) var(--ease-out)}
.intake-option:hover{border-color:#e4c48e99}
.intake-option:has(input:checked){border-color:var(--gold);background:#e4c48e14}
.intake-option:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.intake-option input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--gold)}
.intake-group+.intake-group,.intake-group+.intake-field,.intake-field+.intake-group{margin-top:0}

/* text fields */
.intake-field{display:grid;gap:6px;min-width:0}
.intake-field label{font-size:var(--fs-base);font-weight:650;line-height:1.4}
.intake input[type="text"],.intake input[type="email"],.intake input[type="tel"],.intake input[type="url"],.intake textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#06142080;color:var(--white);font:inherit;font-size:16px;line-height:1.5;transition:border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}
:root[data-theme="light"] .intake input[type="text"],:root[data-theme="light"] .intake input[type="email"],:root[data-theme="light"] .intake input[type="tel"],:root[data-theme="light"] .intake input[type="url"],:root[data-theme="light"] .intake textarea{background:#ffffffcc}
.intake input::placeholder,.intake textarea::placeholder{color:var(--muted)}
.intake input:focus-visible,.intake textarea:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #e4c48e33}
.intake textarea{resize:vertical;min-height:140px}
.intake-counter{margin:0;color:var(--muted);font-size:var(--fs-xs);text-align:right}
.intake .is-invalid input,.intake .is-invalid textarea,.intake .is-invalid .intake-option{border-color:#e08a7a}
.intake-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-top:24px}
.intake-field+.intake-field{margin-top:0}
.intake [data-step="details"] .intake-field{margin-top:28px}

/* errors */
.intake-field-error{margin:0;color:#f0a898;font-size:var(--fs-sm);line-height:1.5;font-weight:500}
:root[data-theme="light"] .intake-field-error{color:#9b2f1f}
.intake-error-summary{margin:0 0 24px;padding:16px 20px;border:1px solid #e08a7a99;border-left-width:3px;border-radius:var(--radius-md);background:#e08a7a14;outline:none}
.intake-error-summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.intake-error-title{margin:0 0 8px;font-weight:650;font-size:var(--fs-sm)}
.intake-error-summary ul{margin:0;padding-left:18px;font-size:var(--fs-sm);line-height:1.6}
.intake-error-summary a{color:var(--white)}
.intake-submit-error{margin-top:24px}

/* summary */
.intake-summary{margin-top:32px;padding:20px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#0b1a2880}
:root[data-theme="light"] .intake-summary{background:#ffffff80}
.intake-summary h3{font-size:var(--fs-lg);margin:0 0 12px}
.intake-summary dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:10px 20px;font-size:var(--fs-sm)}
.intake-summary dt{color:var(--muted);font-weight:600;padding-top:2px}
.intake-summary dd{margin:0;color:var(--white);display:flex;justify-content:space-between;gap:12px;align-items:flex-start;line-height:1.5;overflow-wrap:anywhere}
.intake-edit{flex:none;min-height:auto;padding:0;border:0;background:none;color:var(--gold);font-size:var(--fs-xs);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.intake-edit:hover{color:var(--white)}

/* honeypot: not for people */
.intake-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* turnstile + privacy */
.intake-turnstile{margin-top:28px}
.intake-turnstile .intake-help{margin-bottom:8px}
.intake-turnstile [data-turnstile]{min-height:65px}
.intake-privacy{margin:24px 0 0;color:var(--muted);font-size:var(--fs-sm);line-height:1.6}

/* actions */
.intake-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.intake-actions [data-next],.intake-actions [data-submit]{margin-left:auto;min-width:180px}

/* aside */
.intake-aside{position:sticky;top:24px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--raised)}
.intake-aside h2{font-size:var(--fs-lg);margin-bottom:16px}
.intake-aside ul{margin:0;padding-left:18px;color:var(--silver);font-size:var(--fs-sm);line-height:1.6}
.intake-aside li+li{margin-top:10px}
.intake-aside-mail{margin:20px 0 0;color:var(--silver);font-size:var(--fs-sm);line-height:1.6}
.intake-aside-mail strong{color:var(--white)}

/* success */
.intake-success{grid-column:1/-1;max-width:720px;padding:40px;border:1px solid #e4c48e66;border-radius:var(--radius-xl);background:radial-gradient(ellipse at 100% 0%,#e4c48e1a,transparent 55%),linear-gradient(160deg,#10243a,#0a1926);outline:none}
:root[data-theme="light"] .intake-success{background:radial-gradient(ellipse at 100% 0%,#e4c48e3b,transparent 65%),#fffdf8}
.intake-success h2{font-size:var(--fs-h2);margin-bottom:16px}
.intake-success p{color:var(--silver);font-size:var(--fs-md)}
.intake-success .actions{margin-top:24px}

@container (max-width:1000px){.intake-layout{grid-template-columns:1fr;gap:32px}.intake-aside{position:static}}
@container (max-width:750px){.intake{padding:24px 20px;border-radius:var(--radius-lg)}.intake-choices{grid-template-columns:1fr}.intake-contact-grid{grid-template-columns:1fr}.intake-progress{gap:8px}.intake-progress-title{font-size:12px}.intake-summary dl{grid-template-columns:1fr;gap:4px 0}.intake-summary dt{margin-top:10px}.intake-actions [data-next],.intake-actions [data-submit]{flex:1 1 100%;margin-left:0}.intake-actions [data-back]{flex:1 1 100%}.intake-success{padding:28px 22px}}
/* Narrow phones: the step titles stay in the accessibility tree (sr-only), only the numbers show. */
@container (max-width:420px){.intake{padding:20px 16px}.intake-progress-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.intake-progress li{justify-content:center}.intake-step-heading{font-size:22px}}
.intake-turnstile [data-turnstile]{max-width:100%;overflow:hidden}
.intake-turnstile [data-turnstile] iframe{max-width:100%}
