/* Andrea is fixed outside the page layout; all styles stay inside this component. */
.andrea-assistant{--andrea-size:58px;--andrea-edge:28px;--andrea-lift:0px;position:fixed;right:calc(var(--andrea-edge) + env(safe-area-inset-right,0px));bottom:calc(var(--andrea-edge) + env(safe-area-inset-bottom,0px) + var(--andrea-lift));width:var(--andrea-size);height:var(--andrea-size);z-index:24}
.andrea-assistant.is-obscured{visibility:hidden;pointer-events:none}
.andrea-launcher{display:block;width:100%;height:100%;padding:0;border:2px solid var(--paper);border-radius:50%;background:var(--paper);box-shadow:0 0 0 1px #be9b5670,0 4px 18px #0002;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.andrea-launcher img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.andrea-status{position:absolute;right:2px;bottom:3px;width:10px;height:10px;border:2px solid var(--paper);border-radius:50%;background:#64876b;pointer-events:none}
.andrea-card{position:absolute;right:0;bottom:calc(100% + 14px);width:300px;max-width:calc(100vw - 2 * var(--andrea-edge) - env(safe-area-inset-right,0px) - env(safe-area-inset-left,0px));max-height:calc(100vh - var(--header) - var(--andrea-size) - 2 * var(--andrea-edge) - var(--andrea-lift) - 28px);max-height:calc(100dvh - var(--header) - var(--andrea-size) - 2 * var(--andrea-edge) - var(--andrea-lift) - 28px);overflow:auto;overscroll-behavior:contain;padding:22px;border:1px solid #be9b5647;border-radius:8px;background:var(--ink);color:var(--paper);box-shadow:0 12px 40px #0003;opacity:0;transform:translateY(5px) scale(.98);transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease}
.andrea-assistant.is-open .andrea-card{opacity:1;transform:none}
.andrea-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-bottom:15px;border-bottom:1px solid #be9b5633}
.andrea-identity{display:flex;align-items:center;gap:10px;min-width:0}
.andrea-identity>div{min-width:0}
/* Decorative identity portrait reuses the same optimized image as the launcher. */
.andrea-portrait{display:block;flex:0 0 48px;width:48px;height:48px;border:1px solid #be9b5670;border-radius:50%;background:url('assets/andrea-avatar.webp') center/cover no-repeat}
.andrea-heading h2{font-family:'Raleway',Arial,sans-serif;font-size:21px;line-height:1.2;font-weight:500;letter-spacing:.02em;color:#e4cf9f}
.andrea-role{margin-top:5px;font-size:11px;line-height:1.5;color:#d5d2ca}
.andrea-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin:-11px -11px 0 0;padding:0;border:0;background:transparent;color:#e5e1d8;cursor:pointer}
.andrea-close svg{width:16px;height:16px}
.andrea-greeting{margin-top:17px;font-size:13px;line-height:1.65;color:#e2dfd8}
.andrea-actions{display:grid;gap:8px;margin-top:19px}
.andrea-action{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:10px 12px;border:1px solid #e3dfd333;border-radius:3px;font-family:'Raleway',Arial,sans-serif;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.02em;color:var(--paper);transition:background .15s ease,border-color .15s ease}
.andrea-primary{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.andrea-call-copy{display:flex;flex-direction:column;gap:3px}
.andrea-phone{font-family:'Work Sans',Arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:.025em}
.andrea-assistant :focus-visible{outline-color:#e4cf9f;outline-offset:4px}
.andrea-close:focus-visible{outline-width:2px;outline-offset:-4px}
.andrea-launcher:focus-visible{outline-color:var(--accent)}
.andrea-tooltip{display:none;position:absolute;right:calc(100% + 13px);top:50%;transform:translateY(-50%);padding:7px 11px;border:1px solid #be9b5633;border-radius:3px;background:var(--ink);color:var(--paper);font-size:11px;line-height:1.5;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease}
@media(hover:hover) and (pointer:fine){
  .andrea-launcher:hover{transform:scale(1.035);box-shadow:0 0 0 1px #be9b5699,0 6px 22px #0003}
  .andrea-action:hover{background:#ffffff0c;border-color:#be9b5699}
  .andrea-primary:hover{background:#eee8db;border-color:#eee8db}
  .andrea-close:hover{color:#e4cf9f}
}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
  .andrea-tooltip{display:block}
  .andrea-assistant:not(.is-open):not(.is-obscured):hover .andrea-tooltip{opacity:1}
}
@media(max-width:639px){
  .andrea-assistant{--andrea-size:52px;--andrea-edge:16px}
  .andrea-card{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  .andrea-assistant *{transition:none!important}
  .andrea-card,.andrea-launcher:hover{transform:none}
}
