/* The original photo keeps its place in the hero while its card is docked. */
.portrait-slot{width:100%;max-width:344px;margin-left:auto;flex-shrink:0}.portrait-slot .portrait-card{width:100%;margin:0}
.hero-assistant[hidden],.hero-assistant [hidden]{display:none!important}
.hero-assistant{position:fixed;top:110px;right:24px;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 126px);padding-top:0;z-index:45;overflow:visible;filter:drop-shadow(0 12px 26px #10232d22);color:var(--ink);isolation:isolate}
.hero-assistant__close{position:absolute;top:0;right:0;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:26px;line-height:1;box-shadow:0 3px 10px #10232d12}.hero-assistant__close:hover{background:var(--soft)}
.hero-assistant__photo{display:flex;justify-content:flex-end;padding-right:12px}.hero-assistant .portrait-card{width:160px;max-width:none;margin:0;padding:8px;transform:rotate(0);box-shadow:none;border:1px solid var(--line);border-radius:10px;color:var(--ink)}.hero-assistant .portrait-card img{width:100%;aspect-ratio:1;filter:saturate(.7)}.hero-assistant .portrait-caption{padding:10px 3px 4px;font-size:11px;line-height:1.4}.hero-assistant .portrait-caption small{font-size:8px}
.hero-assistant__chat{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .25s}.hero-assistant__chat.is-revealed{opacity:1;transform:translateY(0)}
.hero-assistant__heading{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px;font-size:12px}.hero-assistant__heading>span:last-child{margin-left:auto;color:var(--muted);font-size:9px}.hero-assistant__dot{width:7px;height:7px;border-radius:50%;background:#30b784}.hero-assistant__messages p{font-size:14px;line-height:1.6;margin:0 0 16px}.hero-assistant__greeting{background:var(--soft);padding:12px;border-radius:0 12px 12px 12px}.hero-assistant__typing{display:flex;align-items:center;gap:8px;color:var(--muted);padding:12px 0}.hero-assistant__typing>span{display:flex;gap:3px}.hero-assistant__typing i{width:4px;height:4px;border-radius:50%;background:var(--blue-dark);animation:assistant-typing 1.1s infinite}.hero-assistant__typing i:nth-child(2){animation-delay:.15s}.hero-assistant__typing i:nth-child(3){animation-delay:.3s}
.hero-assistant__choices{display:grid;gap:7px}.hero-assistant__choices button{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-align:left;font-size:12px;line-height:1.4;color:var(--ink);transition:background .15s,border-color .15s}.hero-assistant__choices button:hover{background:#e5f6fe;border-color:var(--blue)}.hero-assistant__choices button span{color:var(--blue-dark)}
.hero-assistant__selected{margin:0 0 12px 24px;padding:10px 12px;background:var(--blue);color:white;border-radius:12px 0 12px 12px;font-size:12px}.hero-assistant__reply{font-size:13px;line-height:1.6;margin-bottom:16px}.hero-assistant__contact{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;border-radius:8px;padding:12px;font-size:12px}.hero-assistant__details{display:block;font-size:11px;margin-top:12px;color:var(--blue-dark)}.hero-assistant__back{background:none;border:0;color:var(--muted);padding:12px 0 0;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes assistant-typing{0%,70%,100%{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
@media(max-width:600px){.portrait-slot{width:155px;max-width:155px;margin:0}.hero-assistant{width:288px;right:16px;top:94px;max-height:calc(100dvh - 110px)}.hero-assistant .portrait-card{width:120px;padding:6px}.hero-assistant .portrait-caption{font-size:9px;padding:7px 2px 3px}.hero-assistant .portrait-caption small{font-size:6px}.hero-assistant__chat{padding:16px}.hero-assistant__heading{margin-bottom:12px}.hero-assistant__messages p{font-size:13px;margin-bottom:12px}.hero-assistant__choices button{padding:9px 11px;font-size:11px}}
@media(max-height:650px){.hero-assistant .portrait-card{width:96px}.hero-assistant .portrait-caption{display:none}.hero-assistant__chat{margin-top:8px;padding:14px}.hero-assistant__heading{margin-bottom:8px}.hero-assistant__choices{gap:5px}.hero-assistant__choices button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.hero-assistant__chat{transition:none}.hero-assistant__typing i{animation:none}}

.hero-assistant__body{max-height:inherit;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-top:14px}
.portrait-slot .portrait-card,.hero-assistant .portrait-card{transition:transform .28s ease}

/* Compact avatar inside the chat; a round launcher stays available after closing. */
.hero-assistant{border-radius:16px;background:#fff;border:1px solid var(--line)}
.hero-assistant__body{padding-top:0;border-radius:16px}
.hero-assistant__close{top:10px;right:10px;width:30px;height:30px;border:0;box-shadow:none;font-size:24px;background:var(--soft)}
.hero-assistant__chat{margin-top:0;border:0;border-radius:16px;opacity:1;transform:none;padding:18px}
.hero-assistant__heading{display:grid;grid-template-columns:42px 7px 1fr;gap:0 7px;align-items:center;min-height:42px;margin-bottom:16px;padding-right:26px}
.hero-assistant__photo{grid-column:1;grid-row:1/3;display:block;padding:0;width:42px;height:42px}
.hero-assistant .portrait-card{width:42px!important;height:42px;padding:0!important;border:0;border-radius:50%;overflow:hidden;transform:none;box-shadow:none;margin:0}
.hero-assistant .portrait-card img{width:42px;height:42px;aspect-ratio:1;object-fit:cover;border-radius:50%}
.hero-assistant .portrait-caption{display:none}
.hero-assistant__dot{grid-column:2;grid-row:1;align-self:end;margin-bottom:5px}
.hero-assistant__heading strong{grid-column:3;grid-row:1;align-self:end;font-size:13px;line-height:1.5}
.hero-assistant__heading>span:last-child{grid-column:2/4;grid-row:2;margin:0;align-self:start;font-size:10px;line-height:1.5}
.hero-assistant-launcher[hidden]{display:none!important}
.hero-assistant-launcher{position:fixed;right:24px;top:110px;z-index:45;width:56px;height:56px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 5px 24px #10232d30;transition:transform .2s}
.hero-assistant-launcher:hover{transform:scale(1.06)}
.hero-assistant-launcher img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.hero-assistant-launcher__dot{position:absolute;right:0;bottom:0;width:12px;height:12px;border:2px solid white;border-radius:50%;background:#30b784}
@media(max-width:600px){.hero-assistant__chat{padding:16px}.hero-assistant-launcher{right:16px;width:52px;height:52px}}
@media(max-height:650px){.hero-assistant__chat{margin-top:0;padding:14px}.hero-assistant__heading{margin-bottom:12px}}

.hero-assistant__callback h3{font-size:23px;margin-bottom:10px}.hero-assistant__callback>p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:16px}.hero-assistant__callback label{font-size:12px;margin-bottom:13px}.hero-assistant__callback input:not([type=checkbox]){font-size:16px;padding:10px 12px;margin-top:5px}.hero-assistant__callback .checkbox{font-size:10px;line-height:1.5;gap:8px}.hero-assistant__submit{display:block;width:100%;padding:12px;border:0;border-radius:8px;background:var(--ink);color:white;font-size:12px}.hero-assistant__submit:disabled{opacity:.55;cursor:default}.hero-assistant__callback .hero-assistant__form-status{font-size:11px;line-height:1.5;margin:10px 0 0;color:var(--muted)}.hero-assistant__callback-back{padding:12px 0 0;font-size:11px;background:none;border:0;color:var(--muted)}

/* Handwritten signature on the lower right corner of the portrait card. */
@font-face{font-family:Caveat;src:url('/static/fonts/Caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
.portrait-slot .portrait-card{position:relative}
.hero-signature{position:absolute;z-index:1;right:2px;bottom:12px;margin:0;color:#c92332;font-family:Caveat,cursive;font-size:30px;font-weight:600;line-height:1.1;white-space:nowrap;transform:rotate(-8deg);transform-origin:right bottom;pointer-events:none}
.hero-signature::after{content:'';position:absolute;left:2px;right:0;bottom:-3px;height:5px;border-bottom:2px solid currentColor;border-radius:50%;transform:rotate(-2deg)}
.hero-assistant .hero-signature{display:none}
@media(max-width:900px){.hero-signature{font-size:27px}}
@media(max-width:600px){.hero-signature{right:-2px;bottom:12px;font-size:20px}}

/* Fit the technical-practice signature on the existing portrait card. */
.hero-signature{font-size:27px}@media(max-width:900px){.hero-signature{font-size:24px}}@media(max-width:600px){.hero-signature{font-size:17px}}

/* Share the action column with the note beside the portrait on mobile. */
@media(min-width:375px) and (max-width:600px){
 .hero{--hero-action-width:178px;--hero-action-gap:22px}
 .hero-actions{gap:var(--hero-action-gap)}
 .hero-actions .button{width:var(--hero-action-width);justify-content:space-between}
 .hero .hero-aside{gap:calc(var(--hero-action-width) - 155px + var(--hero-action-gap))}
}

.hero-assistant-launcher__caption{position:absolute;top:calc(100% + 6px);right:-3px;width:max-content;padding:3px 6px;border:1px solid #dce8e455;border-radius:12px;background:#ffffffa6;color:#16805a;font-size:10px;font-weight:400;line-height:1.25;white-space:nowrap}

.hero-assistant-launcher__dot{animation:launcher-online-pulse 2.2s ease-out infinite}
@keyframes launcher-online-pulse{0%{box-shadow:0 0 0 0 #30b78477}75%,100%{box-shadow:0 0 0 7px #30b78400}}
@media(prefers-reduced-motion:reduce){.hero-assistant-launcher__dot{animation:none}}
