/* Shared four-screen intake. Brand typography is supplied by each static site. */
html,body{overflow-x:visible;scroll-behavior:auto}
.intake-card{background:var(--paper,#fffdf8);color:var(--ink,#16202e);border:1px solid var(--line,#d8ccb8);border-radius:18px;padding:clamp(20px,4vw,40px);margin:24px auto;box-shadow:0 12px 38px rgba(15,36,67,.05);max-width:760px}
.intake-card h1{font:500 clamp(29px,5vw,42px)/1.14 var(--serif,Fraunces,Georgia,serif);letter-spacing:-.035em;margin:12px 0 24px;max-width:100%}
.intake-card h2{font:500 26px/1.2 var(--serif,Fraunces,Georgia,serif);margin:8px 0 20px}
.intake-topline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.intake-topline a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.intake-topline .kicker{margin:0;letter-spacing:.08em;font-size:14px;color:var(--muted,#566170)}
.intake-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0}
.intake-progress span{height:4px;border-radius:3px;background:var(--line,#d8ccb8)}
.intake-progress span.complete{background:var(--gold-deep,#876a39)}
.intake-step{font-size:14px;color:var(--muted,#566170);margin:12px 0 0}
.intake-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.intake-field{margin:0 0 16px;min-width:0}
.intake-field label{display:block;font-weight:650;font-size:15px;margin-bottom:8px}
.intake-field input,.intake-field select,.intake-field textarea{display:block;width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--muted,#566170);border-radius:8px;background:var(--paper,#fffdf8);color:var(--ink,#16202e);font:400 16px/1.5 var(--sans,Manrope,sans-serif)}
.intake-helper,.intake-footnote{font-size:14px;line-height:1.6;color:var(--muted,#566170);margin:12px 0 22px}
.intake-footnote{font-size:14px;margin:20px 0 0}
.optional-tag{font-size:14px;font-weight:400;color:var(--muted,#566170)}
.intake-consents label,.intake-check{display:flex;gap:12px;align-items:flex-start;padding:12px 0;font-size:14px;line-height:1.6;min-height:44px}
.intake-consents input,.intake-check input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--gold-deep,#876a39)}
.intake-consents a,.intake-card p a{display:inline;text-decoration:underline;text-underline-offset:3px}
.intake-group{padding:0;margin:0 0 28px;border:0;min-width:0}
.intake-group legend{font-size:18px;font-weight:650;padding:0;margin-bottom:12px;max-width:100%}
.intake-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.intake-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:62px;border:1px solid var(--line,#d8ccb8);background:var(--paper,#fffdf8);padding:14px;border-radius:10px;cursor:pointer;font-size:16px;line-height:1.45;transition:border-color .15s,background .15s}
.intake-choice input{flex:0 0 20px;width:20px;height:20px;margin:0;accent-color:var(--gold-deep,#876a39)}
.intake-choice:has(input:checked){border:2px solid var(--gold-deep,#876a39);padding:13px;background:var(--paper-2,#f3eadc);font-weight:650}
.intake-choice:hover{border-color:var(--gold-deep,#876a39)}
.intake-choice:focus-within{outline:3px solid var(--gold-deep,#876a39);outline-offset:3px}
.intake-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.intake-actions .button{flex:1 1 auto;min-height:50px;white-space:normal;text-align:center;font-size:16px}
.intake-card .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;padding:12px 18px;border-radius:8px;font-weight:650;cursor:pointer}
.intake-card .button.primary{background:#0f2443;color:#fffdf8;border:1px solid #0f2443}
[data-theme="dark"] .intake-card .button.primary{background:#e0be7c;color:#0b1119;border-color:#e0be7c}
.intake-card .button.ghost{color:var(--ink,#16202e);background:transparent;border:1px solid var(--muted,#566170)}
.intake-card button:disabled{opacity:1;background:var(--line,#d8ccb8)!important;color:var(--ink,#16202e)!important;cursor:wait}
.intake-card :focus-visible{outline:3px solid var(--gold-deep,#876a39);outline-offset:3px}
.intake-card [aria-invalid="true"]{border-color:var(--danger,#a33d32)}
.intake-card .field-error{color:var(--danger,#a33d32);font-size:14px;margin:6px 0 0;min-height:0}
.intake-card #form-error{font-size:14px;color:var(--danger,#a33d32)}
.intake-card summary{font-weight:650;font-size:16px;cursor:pointer;min-height:48px;padding:12px 0}
.intake-summary{border-top:1px solid var(--line,#d8ccb8);margin-top:16px}
.intake-summary-list dt,.intake-summary dt{color:var(--muted,#566170);font-size:14px;font-weight:500;margin-top:18px}
.intake-summary-list dd,.intake-summary dd{font-size:16px;margin:6px 0;overflow-wrap:anywhere}
.intake-edit-links{display:flex;gap:10px;flex-wrap:wrap}
.intake-edit-links .button{font-size:14px}
.intake-reference{border:1px solid var(--line,#d8ccb8);padding:20px;border-radius:12px;margin:24px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.intake-reference span{font-size:14px;color:var(--muted,#566170);flex-basis:100%}
.intake-reference strong{font-size:clamp(19px,4vw,26px);letter-spacing:.025em;overflow-wrap:anywhere}
.intake-card #optional-form>details{margin-block:20px}
.intake-card textarea{resize:vertical}
.intake-card p[role="status"]{font-size:14px}
.flow-page.wrap{max-width:800px;padding-top:8px;padding-bottom:40px}
#step-title:focus,#done-title:focus{outline:none}
.site-header .brand{flex-shrink:1;min-width:0}
.site-header .brand span{white-space:nowrap}
.site-header .icon-btn{flex-shrink:0;width:44px;height:44px;min-width:44px}
.track-card{min-height:86px}
.track-card small{font-size:14px!important}
.site-footer a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:480px){.intake-fields,.intake-options{grid-template-columns:1fr}.intake-card{margin:16px 0;padding:20px 16px;border-radius:12px}.intake-card h1{font-size:30px}.intake-reference{padding:14px}.flow-page.wrap{padding-inline:12px}.intake-actions{gap:10px}.intake-choice{min-height:56px}.intake-group{margin-bottom:26px}.intake-card .button{padding-inline:14px}.intake-field{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.intake-choice{transition:none}}

#flow-root,#done-root{display:block;width:100%;min-width:0}
#flow-root>.intake-card,#done-root>.intake-card{width:100%}

.intake-topline[hidden]{display:none}

.intake-card #step-title:focus,.intake-card #done-title:focus{outline:none;box-shadow:none}
html[data-intake-keyboard="true"] .intake-card #step-title:focus,html[data-intake-keyboard="true"] .intake-card #done-title:focus{outline:3px solid var(--gold-deep,#876a39);outline-offset:3px;box-shadow:none}
