/* Olivia stays independent of the site's palette and preserves legible contrast. */
:root{--vlibras-btn-focus-visible-outline:3px solid #fff;--vlibras-btn-focus-visible-shadow:0 0 0 6px #6b21a8}
.olivia{--olivia-ink:#f8f5ff;--olivia-muted:#c6bfd3;--olivia-border:#514267;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:var(--olivia-ink);text-align:left}
.olivia *, .olivia *::before,.olivia *::after{box-sizing:border-box}
.olivia button,.olivia input{font:inherit;color:inherit;letter-spacing:normal}
.olivia button{cursor:pointer;touch-action:manipulation}
.olivia a{color:inherit;text-decoration:none}
.olivia button:focus-visible,.olivia a:focus-visible,.olivia summary:focus-visible,.olivia input:focus-visible{outline:3px solid #e4c5ff;outline-offset:3px}
.olivia svg{width:22px;height:22px;flex:none}
.olivia [hidden]{display:none!important}
.olivia-launch{position:fixed;z-index:51;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;border:1px solid #a569e4;border-radius:100px;background:#321252;padding:5px 18px 5px 5px;min-height:62px;box-shadow:0 8px 28px #0006;color:#fff}
.olivia-launch:hover{background:#451873;border-color:#ddb2ff}
.olivia-launch img{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:50% 24%;background:#fbf6ef}
.olivia-launch>span{text-align:left;display:grid;line-height:1.35;gap:1px}
.olivia-launch strong{font-size:14px;font-weight:700}
.olivia-launch small{font-size:11px;color:#e1d6ed;white-space:nowrap}
.olivia-launch>svg{width:20px;height:20px;margin-left:7px;color:#e4c5ff}
.olivia-panel{position:fixed;z-index:52;right:24px;bottom:100px;width:min(380px,calc(100vw - 32px));max-height:min(710px,calc(100dvh - 128px));overflow:auto;overscroll-behavior:contain;border-radius:20px;border:1px solid #8251ad;background:#15101f;box-shadow:0 18px 70px #0009;scrollbar-width:thin;scrollbar-color:#805a9e #1c1527;color:var(--olivia-ink)}
.olivia-header{display:flex;align-items:center;gap:12px;padding:19px 20px;background:linear-gradient(120deg,#4f1782,#27123c);border-bottom:1px solid var(--olivia-border);position:sticky;top:0;z-index:2}
.olivia-header>img{width:50px;height:50px;border-radius:50%;object-fit:cover;object-position:50% 24%;background:#fff8ef;border:2px solid #bc88df}
.olivia-header>div{flex:1}
.olivia-header h2{font-size:20px;line-height:1.3;letter-spacing:-.02em;font-weight:700;margin:0;color:#fff;display:flex;align-items:center;gap:8px}
.olivia-header h2 span{width:6px;height:6px;border-radius:50%;background:#abedc7}
.olivia-header p{font-size:11px;line-height:1.5;color:#e4d2f3;margin:2px 0 0}
.olivia-close{padding:10px;display:grid;place-items:center;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#ffffff10}
.olivia-close:hover{background:#ffffff25}
.olivia-body{padding:20px}
.olivia-intro{font-size:15px;line-height:1.6;color:#f3edf9;margin:0 0 16px}
.olivia-topics{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}
.olivia-topics button{border:1px solid #695178;border-radius:100px;background:#21162f;font-size:12px;line-height:1.35;min-height:44px;padding:9px 13px}
.olivia-topics button:hover{background:#3c2059;border-color:#c58deb}
.olivia-log{display:flex;flex-direction:column;gap:9px;max-height:250px;overflow:auto;padding:1px 2px 4px;scrollbar-width:thin;scrollbar-color:#795196 #21152e;overscroll-behavior:contain}
.olivia-message{border-radius:4px 14px 14px 14px;padding:12px 14px;background:#251a34;font-size:13px;line-height:1.6;max-width:97%;overflow-wrap:anywhere;flex-shrink:0}
.olivia-message p{font-size:inherit;line-height:inherit;color:#ece5f6;margin:0}
.olivia-message a{font-size:12px;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;color:#e3baff;margin-top:3px}
.olivia-user{margin-left:22px;align-self:flex-end;background:#4d2575;border-radius:14px 4px 14px 14px}
.olivia-user p{color:#fff}
.olivia-form{display:flex;align-items:center;gap:8px;margin:14px 0 9px}
.olivia-form input{min-width:0;flex:1;border:1px solid #635172;border-radius:9px;background:#110c18;color:#f7f0ff;min-height:48px;height:auto;padding:12px;font-size:14px;line-height:1.5;width:auto;margin:0}
.olivia-form input::placeholder{color:#bbb0c7;font-size:12px;opacity:1}
.olivia-send{display:grid;place-items:center;background:#823cc0;border:1px solid #b371e4;border-radius:10px;width:46px;height:48px;padding:9px;flex-shrink:0}
.olivia-send:hover{background:#9347d7}
.olivia-local{font-size:10px;color:#b7acbf;margin:0 0 20px;line-height:1.6}
.olivia-access{border-top:1px solid #483653;border-bottom:1px solid #483653;margin-top:4px}
.olivia-access summary{display:flex;gap:10px;align-items:center;list-style:none;cursor:pointer;min-height:58px;padding:14px 0;font-size:14px;font-weight:600;color:#f4e9ff}
.olivia-access summary::-webkit-details-marker{display:none}
.olivia-access summary>svg{color:#d6a3ff;width:20px;height:20px}
.olivia-plus{margin-left:auto;font-size:20px;font-weight:400}
.olivia-access[open] .olivia-plus{transform:rotate(45deg)}
.olivia-options{padding:0 0 17px}
.olivia-settings-title{font-size:12px;color:#c8bfd3;margin:0 0 12px}
.olivia-toggles{display:grid;gap:8px}
.olivia-toggles button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;border:1px solid #5d456c;border-radius:8px;background:#241630;font-size:13px;padding:10px 12px;text-align:left}
.olivia-toggles button::after{content:'';width:30px;height:18px;border-radius:100px;background:#7a6a84;flex-shrink:0;box-shadow:inset 0 0 0 4px #b5a7c0}
.olivia-toggles button[aria-pressed=true]{border-color:#c299e5;background:#41215f}
.olivia-toggles button[aria-pressed=true]::after{content:'✓';display:grid;place-items:center;line-height:18px;font-size:13px;background:#e9d4ff;color:#301340;box-shadow:none;font-weight:700}
.olivia-read,.olivia-libras-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:11px 14px;font-size:13px!important;line-height:1.4;border:1px solid #9160b4;border-radius:8px;background:#392049;margin-top:10px}
.olivia-read:hover,.olivia-libras-button:hover{background:#4b2a62}
.olivia-libras{margin-top:12px;padding-top:1px;border-top:1px solid #44304f}
.olivia-libras p{font-size:11px;line-height:1.6;color:#c9bdd4;margin:9px 0 0}
.olivia-libras-language{color:#f0d8ff!important}
.olivia-libras a{font-size:11px;color:#e2b8ff;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.olivia-libras-button:disabled{opacity:.7;cursor:wait}
.olivia-reset{font-size:12px!important;min-height:44px;border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:3px;color:#d7c9e3!important}
.olivia-a11y-status{font-size:12px!important;line-height:1.6;color:#f4ddff;margin:8px 0;overflow-wrap:anywhere}
.olivia-a11y-status:empty{display:none}
.olivia-keyboard{font-size:10px;color:#bcb0c8;margin:8px 0 0}
.olivia-human{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:16px 0 0;font-size:13px;color:#e4c5ff!important}
.olivia-human:hover span{text-decoration:underline;text-underline-offset:4px}
.olivia-sr{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Controls are an addition to semantic navigation, visible keyboard focus and native zoom. */
.oliv-a11y-large{font-size:20px}
.oliv-a11y-large body{font-size:20px}
.oliv-a11y-large main :is(p,li,label,summary,input,select,textarea),.oliv-a11y-large footer :is(p,a,small),.oliv-a11y-large .btn,.oliv-a11y-large .text-link{font-size:1rem!important;line-height:1.65!important}
.oliv-a11y-large :is(.micro,.eyebrow,.hero-note,.under-note,.form-intro,.form-grid label small,.consent-check){font-size:.8rem!important;line-height:1.6!important}
.oliv-a11y-large .olivia :is(p,button,input,summary,a){font-size:16px!important}
.oliv-a11y-large .olivia-header h2{font-size:23px}
.oliv-a11y-large .olivia-launch small{font-size:13px}
.oliv-a11y-large .olivia-panel{width:min(430px,calc(100vw - 32px))}
.oliv-a11y-large .olivia-form input::placeholder{font-size:14px}
.oliv-a11y-contrast{--bg:#000!important;--raised:#080808!important;--text:#fff!important;--muted:#f0f0f0!important;--line:#aaa!important;--accent-light:#e0b0ff!important;color-scheme:dark}
.oliv-a11y-contrast body,.oliv-a11y-contrast .site-header,.oliv-a11y-contrast main,.oliv-a11y-contrast main section,.oliv-a11y-contrast footer{background:#000!important;color:#fff!important}
.oliv-a11y-contrast :is(h1,h2,h3,p,small,.micro,.eyebrow,.hero-note,.under-note,.case-meta,.form-intro,label,summary,.consent-check,.phone,.text-link,.nav nav a){color:#fff!important}
.oliv-a11y-contrast :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid #ffe55c!important;outline-offset:4px!important}
.oliv-a11y-contrast :is(input,textarea,select){background:#080808!important;color:#fff!important;border-color:#ddd!important}
.oliv-a11y-contrast ::placeholder{color:#dedede!important;opacity:1}
.oliv-a11y-contrast .olivia-panel,.oliv-a11y-contrast .olivia-header,.oliv-a11y-contrast .olivia-message,.oliv-a11y-contrast .olivia-launch{background:#000!important;border:1px solid #fff}
.oliv-a11y-contrast .olivia :is(p,a,button,summary,small){color:#fff!important}
.oliv-a11y-motion,.oliv-a11y-motion *,.oliv-a11y-motion *::before,.oliv-a11y-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
.oliv-a11y-motion .reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.olivia *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:600px){.olivia-launch{right:16px;bottom:16px;min-height:58px;padding-right:14px;gap:9px}.olivia-launch img{width:46px;height:46px}.olivia-launch>svg{display:none}.olivia-panel{right:16px;bottom:88px;max-height:calc(100dvh - 108px);border-radius:16px}.olivia-header{padding:14px 16px}.olivia-body{padding:17px}.olivia-log{max-height:225px}.olivia-form input{font-size:16px}.oliv-a11y-large .olivia-launch>span{display:none}.oliv-a11y-large .olivia-launch{padding:5px}}
@media(max-height:560px){.olivia-panel{bottom:12px;max-height:calc(100dvh - 24px)}.olivia-panel:not([hidden])~.olivia-launch{visibility:hidden}}
@media(forced-colors:active){.olivia :is(button,input,a,summary){forced-color-adjust:auto}.olivia-toggles button[aria-pressed=true]{outline:2px solid Highlight}.olivia-toggles button[aria-pressed=true]::after{forced-color-adjust:none;background:Highlight;color:HighlightText}}
