:root{--forest:#102b23;--deep:#071a15;--gold:#efc769;--paper:#f6f5ee;--white:#fffefa;--ink:#1d342b;--muted:#57685e;--border:#d7ded3;--soft:#edf1e9;--red:#9b302b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px;overflow-wrap:anywhere}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #91611b;outline-offset:4px}input:focus,textarea:focus{outline:2px solid #4d755d;outline-offset:2px}h1,h2,h3,p{margin:0}header{background:var(--deep);color:#f4f5ea;border-bottom:1px solid #ffffff18}.header-inner{max-width:1220px;min-height:82px;padding:15px 30px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--gold)}.brand b{font-size:38px;letter-spacing:-2px;line-height:1}.brand span{font-size:9px;line-height:1.6;text-transform:uppercase;letter-spacing:2px}.direct{font-size:13px;text-decoration:none;color:#dbe3d6}.direct:hover{text-decoration:underline}.direct span{color:var(--gold);padding-left:6px}.planning-boundary{position:sticky;top:0;z-index:10;display:flex;justify-content:center;align-items:center;gap:13px;padding:10px 25px;background:#efc769;color:#243824;font-size:11px;box-shadow:0 2px 4px #00000012}.planning-boundary strong{font-size:10px;letter-spacing:1px;flex-shrink:0}.intro{background:var(--deep);color:#fffdf1;padding:37px max(30px,calc((100% - 1160px)/2)) 34px;position:relative;overflow:hidden}.intro:after{content:'';width:290px;height:290px;border:1px solid #efc76915;border-radius:50%;position:absolute;right:7%;top:30px;box-shadow:0 0 0 40px #ffffff02,0 0 0 80px #ffffff01;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px;color:var(--gold)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold)}h1{font:400 clamp(38px,4.5vw,55px)/1.04 Georgia,serif;letter-spacing:-1.4px;margin-top:18px}h1 em{font-style:normal;color:var(--gold)}.intro>p{font-size:15px;max-width:740px;color:#d0dbd1;margin-top:18px}.preview-label{display:flex;align-items:center;gap:11px;flex-wrap:wrap;font-size:10px;letter-spacing:1px;color:var(--gold);margin-top:22px}.preview-label span{color:#c5d0c6;font-size:11px;letter-spacing:0;border-left:1px solid #c5d0c64d;padding-left:11px}.page-body{width:min(1160px,calc(100% - 60px));margin:auto}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0;font-size:12px;color:#566c57}.workspace-heading p{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.step-number{font-size:10px;color:#656e5f}.step-divider{margin:0 7px;color:#879780}.workspace-heading button{flex-shrink:0}#workspace{scroll-margin-top:68px}#workspace:focus{outline:none}.wizard-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:26px;align-items:start}.panel{background:var(--white);border:1px solid var(--border);border-radius:13px;padding:28px;box-shadow:0 6px 18px #263d2904;min-width:0}.panel h2{font:400 29px/1.14 Georgia,serif;letter-spacing:-.4px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.small-label{font-size:10px;font-weight:650;letter-spacing:1.1px;color:#60705b;text-transform:uppercase}.conversation-badge{font-size:10px;border:1px solid var(--border);border-radius:20px;padding:3px 8px;white-space:nowrap;color:#677862}.subtle{color:var(--muted);font-size:13px;margin-top:12px}.messages{margin-top:23px;max-height:510px;overflow:auto;overscroll-behavior:contain;padding:2px;scrollbar-width:thin}.conversation-start{background:var(--soft);padding:21px;border:1px solid #e2e8db;border-radius:10px}.conversation-start p{font:400 19px/1.4 Georgia,serif;margin-top:10px}.conversation-start small{font-size:11px;color:#687964;display:block;margin-top:10px}.message{padding:15px 17px;border:1px solid var(--border);border-radius:12px;margin-bottom:13px;font-size:13px;overflow-wrap:anywhere;max-width:95%}.message p{white-space:pre-wrap}.message-speaker{text-transform:uppercase;letter-spacing:.7px;font-size:9px;font-weight:700;margin-bottom:8px;color:#61705b}.human-message{margin-left:auto;background:#edf1e7;border-color:#d7dfcc;border-bottom-right-radius:3px}.assistant-message{background:#fffaf0;border-color:#ead9b2;border-bottom-left-radius:3px}.template-message{background:#f0f1ef;border-style:dashed}.pending-message{opacity:.8}.pending-note{font-size:12px;color:#60705b;padding:3px 0 12px}.question-label{display:block;font-size:14px;font-weight:600;line-height:1.45;margin:23px 0 9px}textarea,input{display:block;width:100%;max-width:100%;background:white;border:1px solid #b7c6b7;border-radius:7px;padding:11px 13px;color:var(--ink);font-size:14px;line-height:1.6}textarea{resize:vertical;min-height:130px}input{min-height:46px}textarea::placeholder{color:#646e64}.field-note{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);margin-top:7px}.field-note span:last-child{white-space:nowrap}.examples{margin-top:20px}.example-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.example{border:1px solid var(--border);border-radius:20px;padding:8px 11px;font-size:11px;color:#3f5e49;background:#f3f5ec;min-height:38px}.example:hover{border-color:#6d8a69;background:#e9eee2}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:23px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;text-align:center;border-radius:26px;min-height:46px;padding:11px 18px;font-size:12px;font-weight:650;border:1px solid transparent;line-height:1.4;max-width:100%;overflow-wrap:anywhere}.primary{background:var(--gold);color:#152418;border-color:#d1a64a}.primary:hover{background:#f9d885}.secondary{background:transparent;border-color:#afbfad;color:#36533c}.secondary:hover{background:#edf2e7}.text-button{font-size:11px;padding:7px 3px;min-height:38px;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;color:#49624c}.text-button:hover{color:#182e20}.consent-box{margin-top:24px;padding:15px;border:1px solid #d3dccb;border-radius:9px;background:#f5f6ee}.checkbox-label{display:flex;align-items:flex-start;gap:11px;font-size:12px;font-weight:550;cursor:pointer}.checkbox-label input{width:18px;height:18px;min-height:0;flex-shrink:0;margin:2px 0 0;accent-color:#315e43}.consent-box p{font-size:10px;color:#60705d;margin:10px 0 0 29px;line-height:1.65}.connection-note{font-size:11px;color:#4b664e;margin-top:15px}.history-note{font-size:10px;color:#636f5c;margin-top:8px}.template-option{border-top:1px solid var(--border);margin-top:24px;padding-top:16px;font-size:12px;color:#5e715d}.template-option summary{padding:3px 0;cursor:pointer}.template-option p{margin:13px 0;font-size:11px}.outline-panel{padding:0;overflow:hidden}.outline-header{padding:25px 27px 20px;background:#edf1e7;border-bottom:1px solid var(--border)}.outline-header h2{margin-top:12px}.outline-header p{font-size:12px;color:#5f705a;margin-top:12px}.outline-header .outline-count{font-size:10px;letter-spacing:.3px;margin-top:14px;color:#49643f}.brief-field{padding:18px 24px 12px;border-bottom:1px solid #e4e8de}.brief-field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.brief-field label{font-size:12px;font-weight:650;color:#355431}.field-state{font-size:9px;color:#6d7e65;text-align:right}.brief-field textarea{min-height:76px;font-size:12px;padding:9px 11px;border-color:#d0d9c8;background:#ffffff;line-height:1.5}.brief-field-note{display:flex;justify-content:space-between;align-items:center;gap:9px;min-height:30px}.brief-field small{font-size:9px;color:#798472}.brief-field .text-button{font-size:10px;flex-shrink:0;min-height:30px}.outline-actions{padding:23px 26px;background:#f4f5ef}.outline-actions p{font-size:11px;color:#66735f}.outline-actions .actions{margin-top:15px}.outline-actions small{display:block;font-size:10px;color:#745d28;margin-top:15px}.status{font-size:13px;margin:13px 0;color:#315d3a;min-height:0;overflow-wrap:anywhere}.error{font-size:12px;color:var(--red);padding:10px 0;overflow-wrap:anywhere}.error:empty{display:none}.privacy{font-size:11px;color:#607262;margin:20px 0 32px;max-width:920px}.privacy summary{cursor:pointer;padding:7px 0;width:fit-content}.privacy p{padding:5px 0;line-height:1.7}.contact-panel{max-width:850px;margin:auto}.contact-panel h2,.review-panel>h2{margin-top:14px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}.contact-fields label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.review-panel{max-width:900px;margin:auto}.review-contact{padding:20px 22px;border:1px solid var(--border);border-radius:9px;background:var(--soft);margin-top:23px;font-size:13px;overflow-wrap:anywhere}.review-contact h3{font-size:13px;margin-bottom:10px}.review-contact p{margin-top:5px}.review-outline{border:1px solid var(--border);border-radius:9px;margin-top:20px;overflow:hidden}.review-outline section{padding:17px 22px;border-bottom:1px solid #e4e8de}.review-outline section:last-child{border:0}.review-outline h3{font-size:11px;letter-spacing:.5px;color:#56734d;text-transform:uppercase;margin-bottom:9px}.review-outline p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.submission-boundary{background:#fff3d4;border:1px solid #e1c883;border-radius:9px;padding:18px 21px;margin-top:24px;color:#634e1b;font-size:13px}.submission-boundary p{font-size:12px;margin-top:7px}.receipt{margin-top:20px;border:1px solid #bccdb0;background:#edf4e5;border-radius:9px;padding:18px 21px;font-size:13px;overflow-wrap:anywhere}.receipt p{margin-top:8px;font-size:12px}.receipt small{display:block;font-size:10px;margin-top:9px}.session-note{font-size:11px;color:#6a785f;margin-top:17px}.select-copy{width:100%;min-height:200px;margin-top:10px;font-size:12px}footer{max-width:1220px;margin:auto;padding:22px 30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.5px;color:#627360}dialog{max-width:470px;width:calc(100% - 38px);padding:30px;border:1px solid #b5c6ad;border-radius:15px;color:var(--ink);background:var(--white)}dialog::backdrop{background:#071a15aa}dialog h2{font:400 28px/1.2 Georgia,serif}dialog p{font-size:14px;margin-top:15px}.skip{position:absolute;top:-60px;left:15px;z-index:30;padding:10px 15px;background:var(--gold);color:var(--ink)}.skip:focus{top:10px}[hidden]{display:none!important}.entry-main{background:var(--deep);color:#f9f6e8;min-height:calc(100vh - 120px);padding:65px max(30px,calc((100% - 1120px)/2))}.entry-main h1{margin-top:22px;font-size:56px}.entry-subtitle{color:#b9cbb9;font-size:15px;margin-top:20px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}.entry-grid>section{padding:30px}.entry-grid h2{font:400 31px/1.2 Georgia,serif;margin:16px 0}.entry-grid p{color:#c6d4c6;font-size:15px;margin-bottom:25px}.entry-planner{border:1px solid #52633a;border-radius:14px;background:#173023}.entry-planner .secondary{color:var(--gold);border-color:#907944}.entry-planner .secondary:hover{background:#233f2b}.entry-planner small{display:block;color:#b5c6b3;font-size:11px;margin-top:15px}.entry-footnote{font-size:12px;max-width:780px;color:#a9bfa9;margin-top:40px}
@media(min-width:1100px){.intro h1 br{display:none}.intro h1 em{margin-left:12px}.conversation-panel{position:sticky;top:62px}}
@media(max-width:900px){.wizard-grid{gap:18px}.panel{padding:22px}.outline-panel{padding:0}.outline-header{padding:22px}.brief-field{padding:17px 19px 11px}.panel h2{font-size:26px}.section-top{flex-wrap:wrap}.brief-field-heading{flex-wrap:wrap;gap:3px 10px}.brief-field-note{flex-wrap:wrap;gap:0;padding-top:5px}.consent-box{padding:12px}.chat-actions .primary,.chat-actions .secondary{flex:1}.outline-actions{padding:21px}.outline-actions .primary,.outline-actions .secondary{flex:1}}
@media(max-width:700px){.header-inner{padding:15px 20px;min-height:76px;gap:20px}.brand b{font-size:32px}.brand span{font-size:7px;letter-spacing:1px}.brand{gap:9px}.direct{font-size:10px;max-width:113px;text-align:right;line-height:1.6}.planning-boundary{align-items:flex-start;padding:9px 16px;gap:9px;font-size:9px;line-height:1.5}.planning-boundary strong{font-size:8px;padding-top:1px}.intro{padding:29px 21px}.intro h1{font-size:40px;margin-top:18px;letter-spacing:-.7px}.intro .eyebrow{font-size:8px;letter-spacing:1.25px}.intro>p{font-size:13px;line-height:1.7}.preview-label{font-size:9px;gap:5px}.preview-label span{border:0;padding:0;font-size:10px;width:100%}.page-body{width:calc(100% - 30px)}.workspace-heading{font-size:10px;gap:10px;align-items:flex-start;margin:15px 0}.workspace-heading p{gap:4px 6px}.step-divider{margin:0 2px}.step-number{font-size:8px}.workspace-heading button{font-size:10px;padding-top:0;min-height:30px}.wizard-grid{grid-template-columns:1fr;gap:20px}.panel{padding:22px 20px;border-radius:11px}.panel h2{font-size:27px}.outline-panel{padding:0}.outline-header{padding:23px 21px}.brief-field{padding:18px 20px 12px}.brief-field-note{flex-wrap:nowrap;gap:7px}.brief-field-heading{flex-wrap:nowrap;gap:10px}.brief-field label{font-size:12px}.brief-field textarea{font-size:14px;min-height:82px}.brief-field small{font-size:9px}.field-state{font-size:9px}.messages{max-height:440px}.message{font-size:13px}.question-label{font-size:14px}.subtle{font-size:12px}.actions{gap:10px}.actions .primary{width:100%}.actions .secondary{flex-grow:1}.chat-actions .primary,.chat-actions .secondary{flex:auto;width:100%}.example-buttons{gap:6px}.example{font-size:10px;padding:8px 10px;min-height:38px}.consent-box p{font-size:10px}.checkbox-label{font-size:11px}.field-note{font-size:9px}.outline-actions .primary,.outline-actions .secondary{flex:auto;width:100%}.contact-fields{grid-template-columns:1fr}.review-contact{padding:18px}.review-outline section{padding:17px 18px}.submission-boundary{padding:17px}.review-panel .actions .secondary{width:100%}.privacy{font-size:10px}.entry-main{padding:40px 21px}.entry-main h1{font-size:43px}.entry-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.entry-grid>section{padding:24px 0}.entry-grid>.entry-planner{padding:24px}.entry-grid h2{font-size:28px}.entry-planner .secondary{width:100%;padding:12px}.entry-footnote{margin-top:25px}footer{flex-direction:column;gap:12px;padding:20px}}
@media(max-width:360px){.planning-boundary{gap:7px;padding:8px 12px;font-size:8px}.page-body{width:calc(100% - 24px)}.intro{padding:27px 17px}.intro .eyebrow{font-size:7px;letter-spacing:1px}.panel{padding:20px 16px}.outline-panel{padding:0}.outline-header{padding:21px 17px}.brief-field{padding:17px 16px 11px}.brief-field-note{flex-wrap:wrap}.section-top{gap:7px}.small-label{font-size:9px}.conversation-badge{font-size:9px}.panel h2{font-size:25px}.consent-box{padding:11px}.consent-box p{margin-left:0}.field-note{gap:9px}.field-state{max-width:86px}.workspace-heading p{line-height:1.6}.outline-actions{padding:19px 17px}}
.contact-intro{margin-top:28px}.contact-intro h3{font:400 23px/1.3 Georgia,serif}.contact-intro p{font-size:12px;color:var(--muted);margin-top:10px;max-width:670px}.contact-intro+.contact-fields{margin-top:18px}.editable-review .brief-field{padding:18px 22px 12px}.editable-review textarea{min-height:84px}.review-panel input[readonly]{background:var(--soft);color:var(--muted)}.review-panel #submission-status:not(:empty){padding:12px 0}.review-panel #submission-error:not(:empty){padding:13px 16px;border:1px solid #dec4b6;border-radius:8px;background:#fff4ed}.review-panel .receipt{margin-top:14px}.review-panel #send-project{min-width:175px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.handoff-steps{margin:25px 0 0;padding-left:24px}.handoff-steps li{padding:0 0 23px 7px;font-size:14px}.handoff-steps li::marker{color:#56734d;font-weight:700}.handoff-steps h3{font-size:15px}.handoff-steps p{font-size:13px;color:var(--muted);margin:8px 0 13px;max-width:700px}.handoff-copy{margin-top:10px}.handoff-copy label{font-size:14px;font-weight:650}.handoff-copy p{font-size:12px;color:var(--muted);margin-top:8px}.handoff-copy textarea{background:#f8faf3;line-height:1.65;min-height:280px}.handoff-copy textarea[readonly]{color:var(--ink)}

.budget-note { margin: 0.5rem 0 0; font-weight: 600; }
/* Consultant contract (CONTRACT-02): six understanding areas, their states, supporting lists, readiness and the approach. */
.step[data-current="true"]{color:#1d342b;font-weight:650}.step[data-current="true"] .step-number{color:#91611b}
.areas-details>summary{cursor:pointer;padding:15px 24px;font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;color:#49643f;border-bottom:1px solid #e4e8de;background:#f8f9f4}
.area-card{padding:17px 24px 13px;border-bottom:1px solid #e4e8de;border-left:4px solid transparent}
.area-card[data-state="AI_PROPOSED"]{border-left-color:#efc769;background:#fffdf6}
.area-card[data-state="HUMAN_CONFIRMED"]{border-left-color:#4d755d}
.area-card[data-state="SUGGESTED"]{border-left-color:#91611b;background:#fffaf0}
.area-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px 10px;flex-wrap:wrap;margin-bottom:8px}
.area-heading label{font-size:12px;font-weight:650;color:#355431}
.gate-mark{display:inline-block;margin-left:8px;font-size:9px;font-weight:500;color:#7a6a3a;letter-spacing:.2px}
.area-state{font-size:10px;font-weight:650;color:#6d7e65;border:1px solid #d7ded3;border-radius:20px;padding:2px 9px;white-space:nowrap}
.area-card[data-state="AI_PROPOSED"] .area-state{color:#6e5520;border-color:#e6cf93;background:#fff6dc}
.area-card[data-state="HUMAN_CONFIRMED"] .area-state{color:#24452f;border-color:#a9c2ad;background:#edf4ec}
.area-card[data-state="SUGGESTED"] .area-state{color:#7a4a12;border-color:#e2bf85;background:#fff1d8}
.area-card textarea{min-height:84px;field-sizing:content;font-size:13px;padding:9px 11px;border-color:#d0d9c8;line-height:1.5}
.area-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-height:8px;margin-top:8px}
.confirm-button{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border-radius:20px;border:1px solid #4d755d;background:#edf4ec;color:#1d3a27;font-size:12px;font-weight:650}
.confirm-button:hover{background:#dcebdc}
.suggestion{margin-top:10px;padding:12px 14px;border:1px dashed #d1a64a;border-radius:9px;background:#fffdf6}
.suggestion-label{font-size:11px;color:#7a5a1c}
.suggestion-text{font-size:13px;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.suggestion-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px}
.suggestion-actions .secondary{min-height:38px;padding:7px 14px}
.supporting-lists{padding:6px 24px 0}
.support-list{padding:14px 0 10px;border-bottom:1px solid #e9ece4}
.support-list h3{font-size:11px;letter-spacing:.5px;color:#56734d;text-transform:uppercase}
.support-list ul{list-style:none;margin:8px 0 0;padding:0}
.support-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding:3px 0;overflow-wrap:anywhere}
.support-list li .text-button{min-height:32px;flex-shrink:0}
.list-hint{font-size:11px;color:#646e5d;margin-top:6px}
.suggested-items{margin-top:8px;padding:8px 12px;border:1px dashed #d1a64a;border-radius:9px;background:#fffdf6}
.suggested-label{font-size:11px;color:#7a5a1c}
.support-list .suggested-items li{flex-wrap:wrap}
.suggested-items li>span:first-child{flex:1 1 8em}
.conflict-note{order:3;flex-basis:100%;font-size:11px;color:#7a4a12}
.add-items{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 24px 18px}
.add-item label{display:block;font-size:11px;font-weight:600;color:#4b6247;margin-bottom:6px}
.add-row{display:flex;gap:8px}.add-row input{min-height:40px;font-size:13px;padding:8px 10px}.add-row .secondary{min-height:40px;padding:8px 14px;flex-shrink:0}
.readiness-box{padding:16px 24px;background:#f8f9f4;border-top:1px solid #e4e8de}
.review-panel .readiness-box{margin-top:18px;border:1px solid var(--border);border-radius:9px}
.readiness{margin-top:6px}.readiness p{font-size:13px;color:#2f4a36;margin-top:3px}
.approach-actions{padding:14px 24px 18px;border-top:1px solid #e4e8de}.approach-actions .actions{margin-top:0}
.approach-hint{font-size:11px;color:#66735f;margin-top:10px}.approach-hint:empty{display:none}
.approach-view{padding:6px 24px 16px;scroll-margin-top:62px}
.review-panel .approach-view{margin-top:18px;border:1px solid var(--border);border-radius:9px;padding:6px 20px 14px}
.approach-section{padding:12px 0;border-bottom:1px solid #eef0ea}
.approach-section h3{font-size:11px;letter-spacing:.5px;color:#56734d;text-transform:uppercase}
.approach-section p,.approach-section li{font-size:13px;margin-top:5px;overflow-wrap:anywhere}
.approach-section ul{margin:4px 0 0;padding-left:18px}
.exploratory-label{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff1d8;border:1px solid #e2bf85;color:#6a3f0e;font-size:12px;font-weight:650}
.stale-label{margin-top:12px;font-size:12px;color:#7a4a12}
.approach-boundary{font-size:11px;color:#66735f;margin-top:12px}
.approach-stale{margin:14px 24px 0;padding:10px 12px;border-radius:8px;background:#fff6dc;border:1px solid #e6cf93;font-size:12px;color:#5b4718}
.review-panel .area-cards{border:1px solid var(--border);border-radius:9px;margin-top:18px;overflow:hidden}
.review-panel .supporting-lists{padding:4px 2px 0}
@media(max-width:700px){.area-card{padding:16px 18px 12px}.areas-details>summary,.supporting-lists,.readiness-box,.approach-actions,.approach-view{padding-left:18px;padding-right:18px}.add-items{grid-template-columns:1fr;padding:12px 18px 16px}.area-card textarea{font-size:14px}.approach-stale{margin:12px 18px 0}.workspace-heading p .step{white-space:nowrap}}
.area-changed{margin:0 0 8px;padding:6px 10px;border-radius:8px;background:#fff1d8;border:1px solid #e2bf85;color:#6a3f0e;font-size:12px;font-weight:600}

/* Conversation-first presentation (CONTRACT-REPAIR-03). Presentation only: the conversation leads,
   the six areas become a compact project map built from their states, and an approach is shown
   as the plan. Status is always written out beside its icon, never colour alone. */
.intro{padding:24px max(30px,calc((100% - 1160px)/2)) 22px}
.intro h1{font-size:clamp(32px,3.6vw,44px);margin-top:12px}
.intro>p{margin-top:10px}
.intro .intro-secondary{font-size:13px;color:#c5d0c6;margin-top:10px}
.intro-secondary a{color:var(--gold)}
.intro .preview-label{margin-top:14px}
.intro:after{display:none}
.wizard-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:24px}
.main-column{display:grid;gap:24px;min-width:0;align-content:start}
.conversation-panel{position:static}
.conversation-panel h2{font-size:32px}
.conversation-panel .messages{max-height:min(58vh,640px);min-height:90px}
.conversation-panel .message{font-size:14px;line-height:1.6}
.conversation-panel #message{min-height:92px}
.map-jump,.map-back{display:none}
.project-map{position:sticky;top:52px;max-height:calc(100vh - 64px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.project-map .outline-header{padding:20px 22px 16px}
.project-map .outline-header h2{font-size:24px;margin-top:8px}
.project-map .outline-header p{font-size:11px;margin-top:8px}
.areas-details>summary{display:flex;justify-content:space-between;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:12px 22px}
.map-icons{letter-spacing:2px;color:#4d755d;font-size:13px}
.map-count{text-transform:none;letter-spacing:0;font-weight:600;color:#5f705a}
.area-card{padding:0;border-left:4px solid transparent}
.area-summary{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:12px 18px 12px 16px;cursor:pointer;list-style:none}
.area-summary::-webkit-details-marker{display:none}
.area-summary:hover{background:#f7f8f2}
.area-summary:focus-visible{outline:2px solid #4d755d;outline-offset:-3px}
.area-icon{font-size:15px;line-height:1;text-align:center;color:#8a978a}
.area-card[data-state="HUMAN_CONFIRMED"] .area-icon{color:#2f6a45}
.area-card[data-state="AI_PROPOSED"] .area-icon{color:#91611b}
.area-card[data-state="SUGGESTED"] .area-icon{color:#91611b}
.area-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0}
.area-name{font-size:13px;font-weight:650;color:#1d342b}
.area-summary .gate-mark{margin-left:0}
.area-preview{grid-column:2 / 4;font-size:12px;color:#40584a;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.area-preview[hidden],.area-card[open] .area-preview{display:none}
.area-body{padding:2px 18px 14px 46px}
.area-label{display:block;font-size:11px;color:#5f705a;margin:2px 0 6px}
.area-card textarea{min-height:64px}
.held{margin:0 0 10px;padding:10px 12px;border:1px dashed #b98a3a;border-radius:9px;background:#fff8e8}
.held-label{font-size:11px;color:#6a3f0e;font-weight:600}
.held-text{font-size:13px;margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.review-panel .area-summary{cursor:default}
.lists-block{border-top:1px solid #e4e8de;padding-top:12px}
.lists-title{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#56734d;padding:0 22px}
.project-map .supporting-lists{padding:0 22px}
.add-details>summary{padding:12px 22px;font-size:12px;font-weight:600;color:#36533c;cursor:pointer}
.add-details .add-items{padding-top:4px}
.matching-rule{padding:0 22px 16px}
.project-map .outline-actions{padding:18px 22px}
.plan-panel{padding:0;overflow:hidden;border-color:#c3d2bd}
.plan-header{padding:24px 28px 18px;background:var(--deep);color:#fffdf1}
.plan-header .small-label{color:var(--gold)}
.plan-header h2{margin-top:8px;color:#fffdf1;font-size:32px}
.plan-header .subtle{color:#d0dbd1;margin-top:8px}
.plan-panel .approach-view{padding:6px 28px 4px}
.plan-panel .approach-section{padding:14px 0}
.plan-panel .approach-section h3{font-size:11px}
.plan-panel .approach-section p,.plan-panel .approach-section li{font-size:14px;line-height:1.6}
.plan-panel .plan-actions{padding:0 28px 24px;margin-top:12px}
.withheld-note{font-size:12px;color:#5b4718;margin-top:8px;padding:7px 10px;background:#fff6dc;border:1px solid #e6cf93;border-radius:7px}
.entry-primary{margin-top:40px;padding:34px;border:1px solid #52633a;border-radius:16px;background:#173023;max-width:760px}
.entry-primary h2{font:400 40px/1.1 Georgia,serif;margin:14px 0 12px}
.entry-primary p{color:#d0dbd1;font-size:17px;max-width:560px}
.entry-primary .primary{margin-top:24px;min-height:52px;padding:13px 24px;font-size:14px}
.entry-primary small{display:block;color:#b5c6b3;font-size:11px;margin-top:14px}
.entry-secondary{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;color:#c6d4c6}
.entry-secondary h2{font:600 15px/1.4 system-ui,sans-serif}
.entry-secondary .secondary{color:#f4f5ea;border-color:#6e7f6c}
.entry-secondary .secondary:hover{background:#233f2b}
@media(max-width:1000px){
  .wizard-grid{grid-template-columns:minmax(0,1fr)}
  .project-map{position:static;max-height:none;overflow:visible}
  .map-jump{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 12px;border:1px solid #d3dccb;border-radius:20px;background:#f5f6ee;font-size:12px;font-weight:600;color:#36533c;text-decoration:none}
  .map-back{display:block;padding:14px 22px 20px;font-size:12px;font-weight:600;color:#36533c}
}
@media(max-width:700px){
  .intro{padding:18px 20px 16px}
  .intro h1{font-size:30px;margin-top:10px}
  .intro>p{font-size:13px}
  .intro .intro-secondary{font-size:12px}
  .conversation-panel h2{font-size:24px}
  .conversation-panel .messages{max-height:52vh}
  .area-summary{padding:12px 14px}
  .area-body{padding:2px 14px 12px}
  .areas-details>summary,.lists-title,.project-map .supporting-lists,.add-details>summary,.matching-rule,.project-map .outline-actions{padding-left:16px;padding-right:16px}
  .plan-header{padding:20px 18px 16px}
  .plan-header h2{font-size:25px}
  .plan-panel .approach-view{padding:4px 18px 2px}
  .plan-panel .plan-actions{padding:0 18px 20px}
  .entry-primary{padding:24px}
  .entry-primary h2{font-size:31px}
}
.conversation-panel .subtle{margin-top:8px}
.conversation-panel .messages{margin-top:16px}
.conversation-panel .conversation-start{padding:14px 16px}
.conversation-panel .conversation-start p{font-size:17px;margin-top:6px}
.conversation-panel .question-label{margin:16px 0 8px}
.conversation-panel .consent-box{margin-top:14px;padding:12px 14px}
.conversation-panel .chat-actions{margin-top:14px}
.conversation-panel .examples{margin-top:18px}
.workspace-heading{margin:12px 0}
.plan-panel,.project-map,#conversation-title{scroll-margin-top:56px}
@media(max-width:700px){
  .workspace-heading p .step:not([data-current="true"]),.workspace-heading p .step-divider{display:none}
  .conversation-panel>.subtle{display:none}
  .conversation-panel .section-top{margin-bottom:8px}
  .conversation-panel .conversation-start{padding:10px 12px}
  .conversation-panel .conversation-start p{font-size:15px}
  .conversation-panel .conversation-start small{display:none}
  .intro .preview-label{margin-top:10px}
}
.intro{padding-top:20px;padding-bottom:18px}
.intro h1{margin-top:8px}
.intro>p{margin-top:8px;max-width:820px}
.conversation-panel{padding-top:22px}
.conversation-panel h2{font-size:30px}
.conversation-panel .conversation-start{padding:12px 16px;background:#f3f5ec}
.conversation-panel .conversation-start p{font-size:16px;line-height:1.45;margin-top:4px}
.conversation-panel .messages{min-height:0}
@media(max-width:700px){
  .intro{padding:14px 20px 14px}
  .intro>p:not(.intro-secondary){display:none}
  .intro h1{font-size:28px;margin-top:8px}
  .conversation-panel{padding-top:18px}
  .conversation-panel h2{font-size:23px}
  .conversation-panel .conversation-start{padding:10px 12px}
  .conversation-panel .conversation-start p{font-size:15px}
  .conversation-panel .map-jump{margin-top:8px}
  .conversation-panel .question-label{margin-top:12px}
}
[data-settling]{cursor:progress}.refusal-note{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;width:max-content;max-width:min(560px,calc(100% - 32px));padding:10px 14px;border-radius:9px;background:#102b23;color:#fffefa;font-size:13px;line-height:1.45;box-shadow:0 4px 14px #00000033;cursor:pointer;overflow-wrap:anywhere}.refusal-note[data-place="top"]{top:72px;bottom:auto}.matching-rule{color:#57685e}

/* Optional local Consultant voice controls. */
.offer{margin:.5rem 0 .2rem;padding:0;border:0}.offer>summary{cursor:pointer;font-weight:650;font-size:14px;padding:.5rem .7rem;border:1px solid #a2b3a0;border-radius:9px;background:#fff;list-style:none}.offer>summary::-webkit-details-marker{display:none}.offer>summary::before{content:"+";display:inline-block;width:1.1em;color:#315e43;font-weight:700}.offer[open]>summary::before{content:"\2212"}.offer[open]>summary{border-radius:9px 9px 0 0;background:#e8eee3}.offer-note{font-weight:500;color:#57685e;font-size:12px;margin-left:.4rem}.offer-body{padding:.6rem .7rem .3rem;border:1px solid #a2b3a0;border-top:0;border-radius:0 0 9px 9px;background:#fff}.offer-body>p:first-child{margin-top:0}.offer-settings{margin-top:.6rem}.consultant-intro{margin:0 0 8px;font-size:14px;color:#57685e}.voice-panel{margin:1rem 0;padding:1rem;border:1px solid #a2b3a0;border-radius:12px;background:#f1f4ed;overflow-wrap:anywhere}.consultation-offer{margin:.2rem 0 .7rem}.consultation-offer[hidden]{display:none}.consultation-agree{font-size:16px;font-weight:700;color:#15251d}.consultation-disclosure{margin:6px 0 0 29px;font-size:12.5px;line-height:1.55;color:#3c4a41}.consultation-offer .performer-about{margin-left:29px}.consultation-offer .actions{margin-top:12px}.consultation-status{margin:8px 0 0;min-height:1.5em}.consultation-alternative{margin:8px 0 0;font-size:13px;color:#57685e}.consultation-alternative[hidden]{display:none}.consultant-voice .voice-panel{margin:.4rem 0 0;padding:0;border:0;background:none}.consultant-voice .voice-status,.consultant-voice .voice-stage-note{height:4.6em;overflow-y:auto}.consultant-voice #voice-timing{height:3.4em;overflow-y:auto}.composer-voice-note{clear:both;margin:8px 0 0;font-size:12px;color:#3c4a41}.mic-chip[data-mic="starting"]{background:#f6e7b3;border-color:#c9a23a;color:#5a4410}.consultant-voice:empty{display:none}.composer-tools{margin-top:8px}.composer-tools::after{content:"";display:block;clear:both}.composer-tools[hidden]{display:none}.mic-chip{float:left;margin:0 8px 6px 0;font-size:12px;font-weight:650;padding:5px 11px;border-radius:999px;border:1px solid #a2b3a0;background:#f1f4ed;color:#3c4a41}.mic-chip[data-mic="on"]{background:#e3efe2;border-color:#4d7f5a;color:#1f4a2c}.mic-chip[data-mic="paused"],.mic-chip[data-mic="muted"]{background:#f6e7b3;border-color:#c9a23a;color:#5a4410}.composer-menu{display:block;text-align:right}.composer-menu>summary{display:inline-block;cursor:pointer;list-style:none;font-size:12px;font-weight:650;padding:5px 11px;border-radius:999px;border:1px solid #a2b3a0;background:#fff;color:#15251d}.composer-menu>summary::-webkit-details-marker{display:none}.composer-menu>summary::after{content:"\25BE";margin-left:.45em;color:#57685e}.composer-menu[open]>summary{background:#e8eee3}.composer-menu-body{clear:both;text-align:left;margin-top:8px;padding:12px 14px;border:1px solid #a2b3a0;border-radius:12px;background:#fff;font-size:13px}.composer-menu-body .voice-mode{margin:0 0 8px;padding:0;border:0}.composer-menu-body legend{font-weight:650;margin-bottom:4px}.voice-panel h3{margin-top:0}.voice-panel .actions{display:flex;flex-wrap:wrap;gap:.6rem}.voice-panel button{max-width:100%;white-space:normal}.voice-status{min-height:1.5em}.voice-mode{border:0;margin:.8rem 0 .2rem;padding:0;min-width:0}.voice-mode legend{padding:0;margin-bottom:.4rem;font-size:12px;font-weight:650}.voice-mode .checkbox-label{margin-bottom:.4rem}.voice-stage{margin:.9rem 0 .2rem;font-size:12px;color:#57685e}.stage-step[data-current="true"]{color:#1d342b;font-weight:700}.stage-divider{margin:0 5px;color:#879780}.voice-mic{margin:.2rem 0;font-size:12px;font-weight:650;border-radius:6px;padding:2px 6px;margin-left:-6px}.voice-mic[data-mic="on"]{animation:mic-ready 1.4s ease-out}@keyframes mic-ready{0%{background:#efc769}60%{background:#f6e7b3}100%{background:transparent}}@media(prefers-reduced-motion:reduce){.voice-mic[data-mic="on"]{animation:none}}.voice-mic[data-mic="paused"],.voice-mic[data-mic="muted"]{color:#9b302b}.voice-stage-note{margin:.2rem 0 .5rem;min-height:2.9em}.voice-panel input{flex-shrink:0}
/* Interaction stability R1: a spacer that keeps the field being entered in place takes no input; a card whose new wording waits for the visitor is marked in its summary row without changing its size. */
.stability-spacer{pointer-events:none}
.area-card[data-new-wording]>.area-summary{box-shadow:inset 3px 0 0 #b8860b}
/* R1-COMPLETION: a message that was not answered is set apart from the answered conversation: dashed edge, its reason, and the visitor's two choices. */
.unanswered-message{border-style:dashed;border-color:#b9a36a;background:#fbf8ee}.unanswered-note{font-size:12px;color:#6b521d;margin-top:8px}.unanswered-actions{margin-top:10px;gap:8px}.unanswered-actions .secondary{min-height:40px;padding:8px 14px}
/* TCT-WIZARD-TAVUS-TEXT-ECHO-INTEGRATION-R1: the Consultant video performer (local TEST). The stage keeps one fixed box
   whatever it shows (portrait, video, nothing), and the status line reserves its height, so nothing below moves when a
   performance starts or stops. The panel sits outside #workspace, which is redrawn on every stage change. */
.performer-mount{margin:0 0 18px}
.performer-panel{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start;padding:16px;border:1px solid #a2b3a0;border-radius:12px;background:#f1f4ed;overflow-wrap:anywhere}
.performer-stage{position:relative;width:320px;height:320px;border-radius:10px;overflow:hidden;background:#0f1a15}
.performer-stage video,.performer-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.performer-stage video[hidden],.performer-stage img[hidden]{display:none}
.performer-side h2{margin:0 0 6px;font-size:17px}
.performer-about summary{cursor:pointer;font-size:14px;margin-top:8px}
.performer-stage-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:#c9d4cf;font-size:14px}
.performer-stage-note[hidden]{display:none}
.delivery-note{margin:4px 0 0;font-size:13px;color:#4b5a54}
.delivery-note[hidden]{display:none}
.performer-side .history-note{margin-top:8px}
.performer-side .actions{margin-top:12px}
#performer-status{height:7.8em;overflow-y:auto;margin-top:8px}
@media(max-width:700px){.performer-panel{grid-template-columns:1fr}.performer-stage{width:100%;max-width:320px;height:auto;aspect-ratio:1/1;margin:0 auto}}
/* TCT-CONSULTANT-GRACEFUL-COMPLETION-R1: the closing note under the conversation once its AI replies are used up. */
.conversation-end{margin-top:16px;padding:15px 17px;border:1px solid #d3dccb;border-left:4px solid #efc769;border-radius:9px;background:#fffdf6}
.conversation-end[hidden]{display:none}
.conversation-end h3{font-size:15px;color:var(--ink)}
.conversation-end p{font-size:13px;color:var(--ink);margin-top:8px;max-width:700px}
.conversation-end .actions{margin-top:12px}
