/* Company assistant concept: shared site colors, no external assets. */
.assistant-heading{padding:44px 0 36px;max-width:850px}
.assistant-heading .case-back{margin-bottom:28px}
.assistant-heading h1{font-size:clamp(38px,4.4vw,70px);line-height:1.05;letter-spacing:-.055em;margin:18px 0 24px;max-width:13em}
.assistant-heading .case-deck{max-width:36em;font-size:19px}
.assistant-workspace{border:1px solid var(--line);border-radius:20px;background:var(--card);overflow:hidden;box-shadow:0 24px 64px #00000008}
.assistant-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;border-bottom:1px solid var(--line)}
.assistant-brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:500}
.assistant-brand small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}
.assistant-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--paper);font-size:22px}
.assistant-badge{border:1px solid var(--line);border-radius:99px;padding:5px 10px;font-size:11px;color:var(--muted);white-space:nowrap}
.assistant-layout{display:grid;grid-template-columns:245px minmax(0,1fr)}
.assistant-sidebar{padding:28px 22px;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}
.assistant-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 13px}
.assistant-examples{display:flex;flex-direction:column;gap:7px}
.assistant-example{display:flex;align-items:center;gap:12px;text-align:left;width:100%;border:1px solid transparent;border-radius:10px;padding:12px 10px;background:none;color:var(--ink);font-size:13px;line-height:1.5;cursor:pointer}
.assistant-example:hover,.assistant-example[aria-pressed=true]{background:var(--card);border-color:var(--line)}
.assistant-example>span:first-child{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:7px;flex:none;font-size:12px}
.assistant-systems{list-style:none;padding:0;margin:0;font-size:13px}
.assistant-systems li{display:flex;gap:10px;align-items:center;padding:10px 0}
.assistant-system-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}
.assistant-sidebar-note{margin-top:auto;font-size:11px;line-height:1.7;color:var(--muted)}
.assistant-chat{min-width:0;display:flex;flex-direction:column}
.assistant-conversation{min-height:390px;max-height:510px;overflow-y:auto;overscroll-behavior:contain;padding:32px 36px;scroll-behavior:smooth}
.assistant-message{display:flex;gap:13px;margin-bottom:28px;animation:assistant-appear .3s ease both;min-width:0}
.assistant-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:12px;background:var(--panel);flex:none}
.assistant-message[data-role=assistant] .assistant-avatar{background:var(--ink);color:var(--paper);font-size:17px}
.assistant-message-content{min-width:0;max-width:100%;font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.assistant-message-name{font-size:12px;font-weight:500;display:block;margin:3px 0 7px}
.assistant-message-content p{margin:0 0 12px}.assistant-message-content p:last-child{margin-bottom:0}
.assistant-message-content ul{padding-left:20px;margin:10px 0 16px}
.assistant-message-content strong{font-weight:500}
.assistant-message-content .assistant-muted{color:var(--muted);font-size:12px}
.assistant-record{margin:14px 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.assistant-record dl{margin:0}.assistant-record dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:5px 0;font-size:13px}.assistant-record dt{color:var(--muted)}.assistant-record dd{margin:0;overflow-wrap:anywhere}
.assistant-sources{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.assistant-source,.assistant-choice{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);padding:7px 10px;font-size:12px;text-align:left;cursor:pointer;line-height:1.5}
.assistant-source:hover,.assistant-choice:hover{background:var(--panel)}
.assistant-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.assistant-compose{margin-top:auto;padding:18px 28px 20px;border-top:1px solid var(--line)}
.assistant-compose-box{display:flex;gap:12px;align-items:flex-end;border:1px solid var(--line);border-radius:13px;padding:12px;background:var(--paper)}
.assistant-compose-box:focus-within{border-color:var(--ink)}
.assistant-compose textarea{resize:none;border:0;background:none;font:inherit;font-size:14px;line-height:1.6;color:var(--ink);width:100%;min-width:0;min-height:44px;max-height:120px;padding:5px;outline:none}
.assistant-compose textarea::placeholder{color:var(--muted)}
.assistant-send{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:var(--ink);color:var(--paper);font-size:21px;cursor:pointer;flex:none}.assistant-send:disabled{opacity:.4;cursor:default}
.assistant-compose-note{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.6}
.assistant-demo-caption{display:flex;justify-content:space-between;gap:18px;margin:18px 0 0;font-size:12px;color:var(--muted);line-height:1.6}
.assistant-reset{border:0;padding:0;background:none;color:var(--ink);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;white-space:nowrap;align-self:flex-start}
.assistant-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding-top:36px;margin-top:64px}
.assistant-principles h2{font-size:21px;margin:10px 0 12px;line-height:1.3}.assistant-principles p{font-size:16px;color:var(--muted)}
.assistant-principles .case-eyebrow{font-size:11px}
.assistant-source-dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:540px;width:calc(100% - 32px);max-height:85vh;overflow:auto;background:var(--card);color:var(--ink)}
.assistant-source-dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}
.assistant-source-dialog h2{font-size:25px;margin:14px 0 20px;line-height:1.2}.assistant-source-dialog .assistant-record{font-size:14px;line-height:1.8;white-space:pre-line}.assistant-dialog-close{display:block;margin-left:auto;border:1px solid var(--line);border-radius:99px;padding:8px 14px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.assistant-source-dialog .case-note{margin-top:18px}
.assistant-card-preview{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:30px;min-height:200px;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.assistant-card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500}
.assistant-card-question{align-self:flex-end;max-width:90%;padding:12px 15px;background:var(--panel);border-radius:12px 12px 2px 12px;font-size:13px;line-height:1.5}
.assistant-card-answer{font-size:14px;line-height:1.7;max-width:95%}.assistant-card-answer small{display:block;color:var(--muted);font-size:11px;margin-top:9px}
.project-demo-grid .assistant-project-card{display:block;min-width:0}.assistant-project-card .project-image{aspect-ratio:4/3}.assistant-project-card .project-copy h3{font-size:28px}
@keyframes assistant-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:991px){.assistant-layout{grid-template-columns:205px minmax(0,1fr)}.assistant-sidebar{padding:24px 14px}.assistant-conversation{padding:28px 24px}.assistant-heading h1{font-size:50px}}
@media(max-width:700px){.assistant-heading{padding-top:28px}.assistant-heading h1{font-size:40px}.assistant-heading .case-deck{font-size:17px}.assistant-layout{grid-template-columns:1fr}.assistant-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:16px;gap:0}.assistant-examples{display:grid;grid-template-columns:1fr 1fr;gap:6px}.assistant-example{font-size:12px;padding:9px 7px;gap:8px;background:var(--card);border-color:var(--line)}.assistant-sidebar .assistant-systems,.assistant-sidebar .assistant-sidebar-note,.assistant-sidebar .assistant-system-section{display:none}.assistant-topbar{padding:16px;gap:10px}.assistant-brand{font-size:13px;gap:9px}.assistant-mark{width:32px;height:32px}.assistant-badge{font-size:10px;padding:4px 8px}.assistant-conversation{padding:24px 16px;min-height:340px;max-height:480px}.assistant-message{gap:10px;margin-bottom:24px}.assistant-message-content{font-size:14px}.assistant-compose{padding:14px 16px}.assistant-demo-caption{flex-direction:column;gap:8px}.assistant-principles{grid-template-columns:1fr;gap:28px;margin-top:44px}.project-demo-grid .assistant-project-card{grid-template-columns:1fr;gap:20px}.assistant-card-preview{padding:24px}.assistant-project-card .project-copy h3{font-size:26px}}
@media(max-width:360px){.assistant-heading h1{font-size:35px}.assistant-topbar{flex-wrap:wrap}.assistant-examples{grid-template-columns:1fr}.assistant-conversation{padding:20px 12px}.assistant-record{padding:12px}.assistant-record dl>div{grid-template-columns:65px minmax(0,1fr);gap:7px;font-size:12px}.assistant-card-preview{padding:18px;gap:10px}.assistant-card-question{font-size:11px;padding:9px 11px}.assistant-card-answer{font-size:12px}.assistant-card-top{font-size:10px}}
@media(max-width:700px){.assistant-project-card .project-image{aspect-ratio:auto;width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.assistant-message{animation:none}.assistant-conversation{scroll-behavior:auto}}

/* Context and source detail within the accepted assistant layout. */
.assistant-context{margin:0;padding:12px 28px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);background:var(--paper)}
.assistant-source small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5}
.assistant-message-content .assistant-followup-label{margin:18px 0 0}
.assistant-source:focus-visible,.assistant-choice:focus-visible,.assistant-example:focus-visible,.assistant-reset:focus-visible,.assistant-dialog-close:focus-visible,.assistant-send:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:700px){.assistant-context{padding:11px 16px}}

.project-demo-secondary{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.project-demo-secondary nav{display:flex;gap:12px 28px;flex-wrap:wrap}.project-demo-secondary a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
