/* Existing 3P tokens, deliberately compact product typography. */
:root { --intake-ease:cubic-bezier(.16,1,.3,1); scroll-padding-bottom:120px; }
body { background:radial-gradient(ellipse at 80% 20%,#17223766,transparent 55%),#0a0e16; }
body::after { content:"";position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.sample-band { background:#f5a524;color:#0a0e16;font-size:13px;font-weight:600;padding:9px 0;line-height:1.5; }
.intake { padding-top:40px;padding-bottom:48px; }
.intake-intro { display:flex;gap:44px;align-items:flex-end;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:32px; }
.intake-label { font:11px var(--mono);letter-spacing:.12em;color:var(--signal);margin-bottom:15px; }
.intake h1 { font-size:40px;letter-spacing:-.025em;max-width:18ch;line-height:1.1; }
.intake .lead { font-size:17px;max-width:49ch;margin-bottom:0; }
.intake .scope { flex:0 0 250px;font-size:13px;line-height:1.6;margin:0 0 2px;color:#b8c5d9; }
.workspace { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start; }
.workspace>* { min-width:0; }
.progress { list-style:none;display:flex;justify-content:space-between;gap:7px;padding:0;margin:0 0 28px; }
.progress li { display:flex;align-items:center;gap:8px;flex:1;color:var(--fg-2);font-size:12px; }
.progress li>span:last-child { display:none; }
.progress-dot { display:grid;place-items:center;width:29px;height:29px;border:1px solid #59667c;font:12px var(--mono);border-radius:50%;flex-shrink:0; }
.progress li:not(:last-child)::after { content:"";height:1px;background:var(--line);flex:1; }
.progress li.current .progress-dot { color:var(--ink);background:var(--signal);border-color:var(--signal);box-shadow:0 0 12px #f5a52422; }
.progress li.done .progress-dot { color:var(--signal);border-color:var(--signal); }
.step-number { font:11px var(--mono);color:var(--signal);margin:0 0 12px;letter-spacing:.08em; }
.intake h2 { font-size:28px;line-height:1.2;letter-spacing:-.02em; }
.intake h3 { font-size:17px;line-height:1.4;letter-spacing:0; }
.step { scroll-margin-top:96px; }
.step h2 { scroll-margin-top:96px; }
.step>p:not(.step-number) { font-size:15px;line-height:1.65;color:#b8c5d9;max-width:60ch; }
.step h2:focus { outline:none; }
.step h2:focus-visible { outline:2px solid var(--scan);outline-offset:6px; }
fieldset { border:0;padding:0;margin:0;min-width:0; }
legend { padding:0; }
.type-field>legend { font-size:14px;margin:6px 0 12px;color:#c9d3e3; }
.type-choice { display:block;position:relative;margin-bottom:9px;cursor:pointer; }
.type-choice input { position:absolute;top:18px;left:16px; }
.type-choice>span { display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:14px 15px 14px 45px;border:1px solid #45526a;border-radius:4px;background:linear-gradient(105deg,#172030,#111725);font-size:15px;line-height:1.4; }
.type-choice b { font-weight:500; }
.type-choice input:checked+span { border-color:var(--signal);background:linear-gradient(110deg,#32271a,#171923);color:#ffcf81; }
.choice-arrow { color:var(--signal);font-size:23px;margin-left:10px; }
input[type=radio],input[type=checkbox] { accent-color:var(--signal);width:18px;height:18px;flex-shrink:0; }
.type-choice:has(input:focus-visible)>span { outline:2px solid var(--scan);outline-offset:3px; }
.prefill { margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line); }
.prefill p { font-size:13px;color:#b8c5d9;line-height:1.6; }
.intake button { font:500 14px var(--font);border:1px solid #62728c;background:#182235;color:var(--fg);border-radius:4px;min-height:46px;padding:12px 16px;cursor:pointer;line-height:1.3; }
.intake button:hover { background:#253148;border-color:var(--fg-2); }
.intake button:active { transform:translateY(1px); }
.intake button:focus-visible { outline:2px solid var(--scan);outline-offset:4px; }
.prefill button { width:100%;margin-bottom:9px;text-align:left;background:transparent;border-color:#45526a; }
.question { margin:0;padding:21px 0;border-bottom:1px solid var(--line-soft);scroll-margin-top:96px; }
.question>label,.question>legend { font-size:16px;line-height:1.5;font-weight:500;display:block;margin-bottom:10px;color:var(--fg); }
.question>legend { padding-top:20px; }
fieldset.question { padding-top:0; }
.question input[type=text],.question input[type=number],.question select { width:100%;min-width:0;font:16px var(--font);color:var(--fg);background:#111a29;border:1px solid #62728c;border-radius:4px;padding:13px 12px;min-height:48px; }
.question select { padding-right:24px;color-scheme:dark; }
.question input:focus,.question select:focus { border-color:var(--scan); }
.check-list { display:flex;flex-wrap:wrap;gap:8px; }
.check { display:flex;gap:9px;align-items:center;border:1px solid #45526a;padding:10px 12px;min-height:46px;background:#111725;border-radius:4px;cursor:pointer;font-size:14px;line-height:1.4; }
.check input { margin:0; }
.check:has(input:checked) { border-color:var(--signal);background:#2b251c; }
.check:has(input:focus-visible) { outline:2px solid var(--scan);outline-offset:3px; }
.branch-fields>h3 { color:#a8b4ca;font-weight:400;margin-top:21px; }
.actions { margin-top:26px; }
.actions-inner { display:flex;align-items:center;gap:12px; }
.actions #action-count { flex:1;text-align:center;color:#b8c5d9;font:12px var(--mono); }
.intake .primary { background:var(--signal);color:var(--ink);border-color:var(--signal);font-weight:650;min-width:150px; }
.intake .primary:hover { background:#e59a20; }
.intake button:disabled { opacity:.5;cursor:default; }
.draft-tools { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px; }
.draft-tools p { font:11px var(--mono);color:#acbbd2;margin:0;line-height:1.6; }
.intake .draft-tools button { background:none;padding:6px 0;border:0;color:#b8c5d9;min-width:88px;text-decoration:underline; }
.plan-column { position:sticky;top:105px;border:1px solid #3d485c;background:linear-gradient(140deg,#192236,#0d1320 65%);box-shadow:0 4px 8px #0003;border-radius:4px; }
.plan-heading { display:block;border-bottom:1px solid #38445a;padding:20px 22px; }
.plan-heading p { margin:4px 0 0;font-size:12px;line-height:1.5;color:#b8c5d9; }
.plan-index { font:10px var(--mono);color:var(--signal);white-space:nowrap;padding-top:4px; }
.intake .plan-heading h2 { font-size:15px;line-height:1.5;letter-spacing:0;margin:0;max-width:23ch; }
#plan-drawing { padding:22px 16px 6px; }
#plan-drawing svg { display:block;width:100%;height:auto;overflow:visible; }
.plan-empty { min-height:260px;display:grid;place-content:center;text-align:center;padding:15px; }
.plan-empty svg { max-height:135px;margin:auto;filter:drop-shadow(0 0 8px #f5a52430); }
.plan-empty p { font-size:14px;line-height:1.65;max-width:29ch;margin:18px auto; }
.area rect { fill:#1e2a3e;stroke:#64748e;stroke-width:1;transition:fill .22s var(--intake-ease),stroke .22s var(--intake-ease),filter .22s var(--intake-ease); }
.area text { fill:#d8e2f1;font:11px var(--mono); }
.area.flagged rect { fill:#4b3419;stroke:#f5a524;filter:drop-shadow(0 0 4px #f5a52433); }
.area circle { fill:var(--signal);stroke:#0a0e16;stroke-width:2; }
.area .pin-number { fill:#0a0e16;font-size:12px;font-weight:700; }
.area:not(.flagged) .area-pin,.area:not(.flagged) .pin-number { display:none; }
.north { fill:#acbbd2;font:11px var(--mono); }
.plan-boundary { stroke:#566781;stroke-width:1;stroke-dasharray:4 4;fill:none;animation:plan-draw .3s var(--intake-ease); }
@keyframes plan-draw { from { opacity:.2;stroke-dashoffset:30; } to { opacity:1;stroke-dashoffset:0; } }
.north-arrow { stroke:#b9c8dd;fill:none; }
.plan-path { fill:none;stroke:#536079;stroke-dasharray:3 5;stroke-width:1.5; }
#walk-order { padding:9px 22px 16px; }
#walk-order h3,.plan-docs h3 { font-size:13px;font-weight:600;color:#d8e2f1;margin-bottom:10px; }
#walk-order ol { padding-left:22px;font:12px var(--mono);color:#ffcb75;margin:0;columns:2;column-gap:24px; }
#walk-order li { margin-bottom:7px;break-inside:avoid; }
.plan-hint { font-size:12px;margin:0;line-height:1.6; }
.plan-docs { padding:18px 22px;border-top:1px solid #38445a; }
.plan-docs ul { font-size:13px;line-height:1.6;color:#bdcbe0;margin:0;padding-left:17px; }
.plan-docs li+li { margin-top:5px; }
#plan-toggle { display:none; }
.sample-footer { font-size:12px;margin:44px 0 0;padding-top:20px;border-top:1px solid var(--line); }
.error { color:#ffd0b8!important;border:1px solid #ef8d66;padding:12px;border-radius:4px;margin-top:12px; }
.summary-mast { display:flex;gap:15px;align-items:center;padding:20px 0;border-top:1px solid #69788e;border-bottom:1px solid #69788e;margin:25px 0; }
.summary-mark { font:650 31px var(--font);color:var(--signal); }
.summary-mast p { font-size:13px;margin:0; }
.summary-mast h3 { margin:0 0 5px; }
.summary-heading { display:flex;justify-content:space-between;gap:16px;align-items:center; }
.summary-heading a { font-size:13px;display:inline-flex;min-height:44px;align-items:center;text-decoration:underline; }
.summary-group { padding:0 0 19px;margin-bottom:24px;border-bottom:1px solid var(--line);break-inside:avoid; }
.summary-group h3 { color:#ffcb75; }
.summary-group dl { margin:12px 0 0; }
.summary-group dl>div { margin-bottom:12px; }
.summary-group dt { display:inline;font-size:14px;line-height:1.55;color:#b8c5d9; }
.summary-group dd { display:inline;font-size:14px;line-height:1.55;margin:0;color:var(--fg);overflow-wrap:anywhere; }
.summary-group .skipped { font-size:12px;color:#b8c5d9; }
.summary-group p,.summary-group li { font-size:14px;line-height:1.6; }
.summary-group ul { padding-left:20px; }
.summary-sources h3 { font-size:13px; }
.summary-sources ul { padding:0;list-style:none;font-size:12px; }
.summary-sources a,.report-link a { display:inline-flex;align-items:center;min-height:44px;text-decoration:underline; }
.receipt-actions { display:flex;flex-wrap:wrap;gap:10px;margin:24px 0; }
.receipt-view .workspace { grid-template-columns:1fr; }
.receipt-view .form-column { max-width:100%; }
.receipt-view .plan-column { display:none; }
.receipt-view .summary-grid { display:block;columns:2;column-gap:42px; }
.receipt-view .progress { max-width:550px; }
.receipt-view .summary-mast { max-width:none; }
.no-js { border:1px solid var(--signal);padding:20px; }
html:not(.intake-js) .step { margin-bottom:50px;padding-top:24px; }
html:not(.intake-js) .progress,html:not(.intake-js) .draft-tools,html:not(.intake-js) .prefill,html:not(.intake-js) .receipt-actions { display:none; }
@media(min-width:1250px) { .intake { --maxw:1200px; }.workspace { gap:64px; } }
@media(max-width:900px) {
 .intake-intro { display:block; }.intake .scope { margin-top:20px;max-width:55ch; }
 .workspace { gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,.85fr); }
 .intake h1 { font-size:36px; }
 .plan-heading { padding:16px; }.plan-index { display:none; }
 .plan-column { top:90px; }
}
@media(max-width:650px) {
 :root { scroll-padding-bottom:115px; }
 .intake { padding-top:27px; }.intake-intro { padding-bottom:24px;margin-bottom:22px; }
 .intake h1 { font-size:33px;max-width:16ch; }.intake h2 { font-size:26px; }
 .intake-label { font-size:10px;margin-bottom:13px; }
 .intake .lead { font-size:16px;line-height:1.65; }
 .intake .scope { font-size:12px;margin-top:16px;margin-bottom:0; }
 .workspace { display:flex;flex-direction:column;gap:24px; }
 .form-column { width:100%; }.plan-column { order:-1;width:100%;position:static; }
 #plan-toggle { display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;text-align:left;border:0;background:#161f30;color:#ffcb75;font-size:14px;scroll-margin-top:90px; }
 .intake-js #plan-content:not(.open) { display:none; }
 #plan-content { border-top:1px solid #38445a; }
 #plan-drawing { max-width:420px;margin:auto; }
 .progress { margin-bottom:24px; }.progress-dot { width:25px;height:25px;font-size:11px; }.progress { gap:5px; }.progress li { gap:5px; }
 .type-choice>span { min-height:60px; }.type-choice { margin-bottom:9px; }
 .actions { position:fixed;bottom:0;left:0;right:0;z-index:4;background:#101725;border-top:1px solid #59667c;padding:12px 20px max(12px,env(safe-area-inset-bottom));margin:0; }
 .actions-inner { max-width:600px;margin:auto; }
 body { padding-bottom:87px; }
 input,select,button,label { scroll-margin-bottom:130px;scroll-margin-top:100px; }
 .intake .primary { min-width:145px; }
 .draft-tools { margin-top:24px; }
 .summary-grid,.receipt-view .summary-grid { display:block;columns:1; }
 .receipt-actions { flex-direction:column; }
 .summary-sources a { min-height:44px; }
 .question { padding:20px 0; }
 .check-list { gap:8px; }.check { padding:10px 11px; }
 .sample-band { font-size:11px; }
 .site-foot { padding-bottom:20px; }
}
/* The shared contact bar occupies the intake action bar's phone position. */
body .mobile-contact { display:none!important; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
@media print {
 @page { size:A4;margin:12mm; }
 html,body { background:white!important;color:#172031!important;padding:0!important;font-size:9px; }
 body::after,.site-head,.site-foot,.skip-link,.sample-band,.intake-intro,.progress,.draft-tools,.plan-column,.actions,.receipt-actions,.summary-heading a,.step-number,.sample-footer { display:none!important; }
 main.intake { padding:0!important;margin:0!important;max-width:none!important; }
 .workspace,.receipt-view .workspace { display:block; }.form-column { max-width:none!important; }
 .step { display:none!important; }[data-step="8"] { display:block!important; }
 #heading-8 { font-size:16px;margin-bottom:6px;color:#172031; }
 .step>p { font-size:9px!important;color:#27354a!important;margin-bottom:8px; }
 .summary-mast { margin:8px 0 12px;padding:8px 0;gap:10px; }.summary-mark { font-size:23px;color:#5a390a; }
 .summary-mast h3 { font-size:12px; }.summary-mast p { font-size:9px;color:#37465c; }
 .summary-grid,.receipt-view .summary-grid { display:block;columns:2;column-gap:22px; }
 .summary-group { margin-bottom:10px;padding-bottom:7px;break-inside:avoid;border-color:#c0c5cb; }
 .summary-heading { display:block; }.summary-group h3 { font-size:11px;color:#172031;margin:0 0 6px; }
 .summary-group dl { margin-top:6px; }.summary-group dl>div { margin-bottom:5px; }
 .summary-group dt { color:#37465c;font-size:8px; }.summary-group dd { color:#172031;font-size:9px;line-height:1.35;margin:1px 0 0; }
 .summary-group p,.summary-group li { font-size:9px;line-height:1.4;color:#172031; }
 .summary-group .skipped { font-size:9px;color:#37465c; }
 .summary-group p { margin:0 0 6px; }.summary-group ul { margin:4px 0;padding-left:12px; }
 a { color:#172031!important; }.summary-sources { margin-top:7px; }.summary-sources h3 { font-size:9px; }
 .summary-sources ul { display:flex;gap:12px;flex-wrap:wrap;margin:0;font-size:8px; }
 .summary-sources a,.report-link a { min-height:0;display:inline;font-size:8px; }.report-link { margin:3px 0; }
 .sample-footer { display:block!important;font-size:8px!important;color:#37465c;margin:8px 0 0;padding-top:5px; }
}
