.assistant-section { padding-block:2.5rem; background:var(--service-surface); }
.assistant-shell { max-width:1080px; display:grid; grid-template-columns:230px minmax(0,1fr); align-items:center; gap:2.5rem; padding:2rem 2.5rem; border:1px solid var(--service-border); border-radius:16px; box-shadow:none; background:var(--service-surface); }
.assistant-character { margin:0; align-self:end; text-align:center; }
.assistant-portrait { height:268px; overflow:hidden; border-radius:110px 110px 12px 12px; background:#eef7f8; }
.assistant-portrait img { width:100%; height:100%; object-fit:contain; object-position:center bottom; transform-origin:50% 100%; animation:drbit-greeting 1.6s ease-in-out 3; }
.assistant-character figcaption { margin-top:.75rem; font-size:.75rem; color:var(--service-copy); }
.assistant-content { min-width:0; }
.assistant-shell .assistant-heading h2 { color:#087e9c; font-size:clamp(1.6rem,2.5vw,2.1rem); margin:.35rem 0 .75rem; letter-spacing:-.025em; }
.assistant-shell .assistant-heading p { font-size:.95rem; line-height:1.75; max-width:570px; color:var(--service-copy); }
.assistant-heading .community-eyebrow { text-transform:none; font-size:.8rem; color:var(--service-copy); font-weight:500; }
.assistant-label { display:block; font-size:.85rem; font-weight:650; color:var(--service-ink); margin-top:1.4rem; }
.assistant-input { border-radius:10px; margin-top:.5rem; padding:.4rem; gap:.5rem; background:var(--service-muted); border-color:var(--service-border); }
.assistant-input input { padding:.65rem .65rem; font-size:.9rem; color:var(--service-ink); }
.assistant-input input::placeholder { color:#64748b; opacity:1; }
.assistant-input button { width:auto; height:auto; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:.7rem; padding:.65rem 1rem; border-radius:7px; background:#087e9c; font-size:.85rem; font-weight:650; white-space:nowrap; }
.assistant-input button:hover { background:#06647c; }
.assistant-input button:disabled { opacity:.65; cursor:wait; }
.assistant-suggestions { gap:.25rem .8rem; margin-top:.75rem; align-items:baseline; }
.assistant-suggestions span { font-size:.75rem; color:var(--service-copy); }
.assistant-suggestions button { padding:.15rem 0; border:0; border-radius:0; font-size:.75rem; color:#087e9c; text-decoration:underline; text-decoration-color:#9fcbd5; text-underline-offset:4px; }
.assistant-suggestions button:hover { color:#06566a; text-decoration-color:currentColor; }
.assistant-shell .assistant-note { font-size:.72rem; line-height:1.7; margin-top:.85rem; color:var(--service-copy); }
.assistant-content #assistant-replies { border-color:var(--service-border); }
.assistant-content .assistant-result { border-radius:8px; }
.assistant-results-title { color:var(--service-ink); font-weight:700; font-size:.95rem; margin:1rem 0 .5rem; }
html.dark .assistant-shell { background:var(--service-surface); border-color:var(--service-border); }
html.dark .assistant-portrait { background:#172e39; }
html.dark .assistant-shell h2,html.dark .assistant-suggestions button { color:#67d7e9; }
html.dark .assistant-input { background:var(--service-muted); }
html.dark .assistant-input input::placeholder { color:#94a3b8; }
@keyframes drbit-greeting { 0%,100% { transform:rotate(0); } 50% { transform:rotate(-1deg) translateY(-3px); } }
@media(max-width:760px) {
  .assistant-shell { grid-template-columns:140px minmax(0,1fr); gap:1.25rem; padding:1.5rem; }
  .assistant-portrait { height:185px; }
  .assistant-character figcaption { font-size:.7rem; }
  .assistant-input { flex-wrap:wrap; }
  .assistant-input input { flex:1 1 150px; }
  .assistant-input button { flex:1 1 auto; }
}
@media(max-width:540px) {
  .assistant-section { padding-block:1.5rem; }
  .assistant-shell { display:block; padding:1.25rem; }
  .assistant-character { float:right; width:100px; margin:0 0 .75rem .75rem; }
  .assistant-portrait { height:126px; border-radius:50px 50px 8px 8px; }
  .assistant-character figcaption { display:none; }
  .assistant-shell .assistant-heading h2 { font-size:1.5rem; }
  .assistant-shell .assistant-heading p { font-size:.875rem; }
  #assistant-form { clear:both; padding-top:.1rem; }
  .assistant-label { margin-top:1rem; }
  .assistant-input { display:block; padding:.45rem; }
  .assistant-input input { display:block; width:100%; padding:.7rem .35rem; font-size:16px; }
  .assistant-input button { width:100%; margin-top:.25rem; }
}
@media(prefers-reduced-motion:reduce) { .assistant-portrait img { animation:none; } }
