/* Connect page: the intake form. Ported from variant-c/connect.html. */
.prep{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:0 0 clamp(28px,4vw,40px)}
.prep > div{background:var(--ink-2);padding:22px 20px}
.prep .pn{font-family:var(--font-display);font-size:1.5rem;color:var(--gold);line-height:1;margin-bottom:10px}
.prep h3{font-size:.95rem;font-weight:700;margin:0 0 6px;color:#fff}
.prep p{margin:0;font-size:.88rem;color:var(--text-dim);line-height:1.5}
@media(max-width:820px){.prep{grid-template-columns:1fr}}

.steps{display:flex;gap:8px;margin:0 0 28px;list-style:none;padding:0}
.steps li{flex:1;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--text-faint);padding-top:12px;border-top:3px solid var(--line);transition:color .2s,border-color .2s}
.steps li[aria-current="step"]{color:var(--gold-bright);border-top-color:var(--gold)}
.steps li.done{color:var(--text-dim);border-top-color:rgba(212,162,74,.5)}
@media(max-width:560px){.steps li{font-size:.6rem;letter-spacing:.06em}}

.step{display:none;border:0;padding:0;margin:0;min-inline-size:0}
.step.on{display:block}
.step > h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.3rem,3vw,1.85rem);color:#fff;margin:0 0 6px}
.step > .sub{color:var(--text-dim);font-size:.95rem;margin:0 0 26px;max-width:56ch}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}

.intake-form .field .opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--text-faint);font-size:.78rem}
.intake-form .field input[type=text],.intake-form .field input[type=email],.intake-form .field input[type=tel],
.intake-form .field select,.intake-form .field textarea{width:100%;padding:13px 15px;border-radius:12px;background:var(--ink-3);border:1px solid var(--line);color:#fff;font:inherit;font-size:1rem;min-height:50px;transition:border-color .18s,box-shadow .18s}
.intake-form .field textarea{min-height:110px;resize:vertical;line-height:1.55}
.intake-form .field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a99b7d' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.intake-form .field input:focus,.intake-form .field select:focus,.intake-form .field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,162,74,.18)}
.intake-form .field input[aria-invalid="true"],.intake-form .field select[aria-invalid="true"]{border-color:#e2705d;box-shadow:0 0 0 3px rgba(226,112,93,.16)}
.field .err{display:none;color:#f0947f;font-size:.84rem;margin-top:6px}
.field .err.on{display:block}
.field .hint{color:var(--text-faint);font-size:.84rem;margin-top:6px;line-height:1.5}

.check-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.check-row input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--gold)}
.check-row label{font-size:.95rem;color:var(--text);text-transform:none;letter-spacing:0;font-weight:400;margin:0;line-height:1.5}
.why{border-left:2px solid var(--line);padding:2px 0 2px 16px;margin:0 0 26px;color:var(--text-faint);font-size:.9rem;line-height:1.6;max-width:60ch}

.step-nav{display:flex;gap:12px;align-items:center;margin-top:28px;flex-wrap:wrap}
.step-nav .btn[disabled]{opacity:.55;cursor:progress}
.step-count{color:var(--text-faint);font-size:.85rem;margin-left:auto}
.form-alert{display:none;margin:0 0 22px;padding:14px 16px;border-radius:12px;background:rgba(226,112,93,.1);border:1px solid rgba(226,112,93,.4);color:#f2a795;font-size:.94rem}
.form-alert.on{display:block}
.fallback{color:var(--text-faint);font-size:.88rem;margin-top:22px;text-align:center}
.fallback a{color:var(--gold-bright)}

.intake-success{display:none;text-align:center;padding:clamp(30px,5vw,52px) clamp(20px,4vw,40px)}
.intake-success.show{display:block}
.intake-success .tick{width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:var(--gold-bright);display:flex;align-items:center;justify-content:center}
.intake-success .tick svg{width:32px;height:32px;color:#241a08}
.intake-success h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.6rem,4vw,2.6rem);color:#fff;margin:0 0 12px}
.intake-success p{color:var(--text-dim);font-size:1.06rem;margin:0 auto 24px;max-width:460px}
/* The card's own primary button rule from Get help must not stretch the step buttons. */
.intake-card .step-nav .btn-primary{width:auto;margin-top:0}
