/* /intake (issue #8): four questions answered with a tap, then the booking step. Built on premium.css tokens. */
a {text-decoration:none!important;}
.intake-step {margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);}
.intake-lede {margin-top:20px;font-size:19px;line-height:1.6;max-width:46ch;}
.intake-card {margin-top:32px;}
.intake-notice {margin:0 0 24px;padding:12px 16px;border-radius:10px;background:var(--surface-3);color:var(--ink);font-size:16px;}
#intake-status {margin:0 0 20px;font-size:16px;font-weight:500;color:var(--ink);}
#intake-status:empty {display:none;}
.intake-q {min-width:0;margin:0 0 28px;padding:0;border:0;}
.intake-q legend {padding:0;margin-bottom:12px;font:600 17px/1.4 var(--sans);color:var(--ink);}
/* A fixed grid, so answers sit in the same place before and after the web font loads (no layout shift). */
.intake-chips {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px;}
.intake-chip {position:relative;display:flex;}
.intake-chip input {position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;}
.intake-chip span {display:flex;align-items:center;width:100%;min-height:48px;padding:10px 18px;white-space:nowrap;border:1px solid var(--border-strong);border-radius:999px;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.3;transition:background 150ms,border-color 150ms,color 150ms,transform 100ms;}
.intake-chip:hover span {border-color:var(--ink-dim);}
.intake-chip:active span {transform:scale(.97);}
.intake-chip input:checked + span {background:var(--brand);border-color:var(--brand);color:#fff;}
.intake-chip input:focus-visible + span {outline:3px solid var(--accent);outline-offset:3px;}
.intake-q .lead-error {margin-top:10px;}
.intake-field label span {font-weight:400;color:var(--ink-dim);}
.intake textarea {display:block;width:100%;min-height:96px;padding:12px 16px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:17px;line-height:1.5;resize:vertical;transition:border-color 150ms;}
.intake textarea:hover {border-color:var(--ink-dim);}
.intake textarea:focus-visible {outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent);}
#intake-submit {width:100%;min-height:54px;margin-top:8px;font-size:17px;}
/* /stay-informed: one Join button that posts; joining never happens on page load. */
.join-form {margin-top:32px;}
#join-submit {width:100%;max-width:320px;min-height:54px;font-size:17px;}
/* The booking step: Google's page in a frame whose height is reserved, so nothing moves while it loads. */
.intake-booking {margin-top:32px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;}
.intake-booking iframe {display:block;width:100%;height:760px;border:0;}
.intake-fallback {margin-top:16px;font-size:16px;}
.intake-fallback a {font-weight:600;--link-ink:var(--accent);}
@media (max-width:640px) {.intake-lede {font-size:18px;}.intake-booking iframe {height:900px;}}
@media (max-width:360px) {.intake-chip span {white-space:normal;}}
@media (prefers-reduced-motion:reduce) {.intake-chip span,.intake textarea {transition:none;}.intake-chip:active span {transform:none;}}
