/* Shared language control and guided customer support. */
.site-language { display: inline-flex; align-items: center; gap: 2px; padding: 4px; margin-left: 20px; border: 1px solid #b8c8e4; border-radius: 999px; background: #fff; flex-shrink: 0; }
.site-language button { border: 0; padding: 7px 11px; border-radius: 999px; background: transparent; color: #263854; font: 700 13px/1.2 'Nunito', sans-serif; cursor: pointer; }
.site-language button[aria-pressed="true"] { color: #fff; background: #0018fd; }
.site-language button:focus-visible, .desusy-assistant :focus-visible { outline: 3px solid #ebaa32; outline-offset: 3px; }
.navbar-contact { white-space: nowrap; }
.facts .row > .col-lg-4 { flex-grow: 1; }
.service-item { min-height: 330px; height: auto; padding-top: 35px; padding-bottom: 35px; }
.service-item:focus-within a.btn { bottom: -24px; opacity: 1; }
@media (hover: none) { .service-item a.btn { bottom: -24px; opacity: 1; } }
.desusy-assistant { --assistant-blue: #0018fd; --assistant-ink: #122440; --assistant-muted: #52647c; position: fixed; right: 24px; bottom: max(24px, env(safe-area-inset-bottom)); z-index: 1050; color: var(--assistant-ink); font: 400 15px/1.5 'Nunito', sans-serif; text-align: left; }
.desusy-assistant *, .desusy-assistant *::before, .desusy-assistant *::after { box-sizing: border-box; }
.desusy-assistant [hidden] { display: none !important; }
.desusy-assistant button, .desusy-assistant textarea { font: inherit; }
.desusy-assistant button, .desusy-assistant a { -webkit-tap-highlight-color: transparent; }
.assistant-launcher { min-height: 56px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-left: auto; padding: 14px 22px; border: 1px solid #ffffff36; border-radius: 999px; background: var(--assistant-blue); color: #fff; font-weight: 800 !important; box-shadow: 0 8px 28px #0018fd38; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.assistant-launcher:hover { transform: translateY(-2px); box-shadow: 0 10px 30px #0018fd50; }
.assistant-launcher.is-open span { display: none; }
.assistant-launcher.is-open { width: 56px; padding: 14px; }
.assistant-invite { position: absolute; right: 0; bottom: 72px; width: 310px; padding: 22px; border: 1px solid #e0e7f2; border-radius: 20px; background: #fff; box-shadow: 0 12px 50px #132b4826; animation: assistant-appear .25s ease-out; }
.assistant-invite::after { content: ''; position: absolute; right: 30px; bottom: -7px; width: 13px; height: 13px; background: #fff; border-right: 1px solid #e0e7f2; border-bottom: 1px solid #e0e7f2; transform: rotate(45deg); }
.assistant-invite h2 { font-size: 19px; margin: 12px 0 6px; color: var(--assistant-ink); }
.assistant-invite p { font-size: 14px; color: var(--assistant-muted); margin: 0 0 16px; }
.assistant-invite-mark, .assistant-avatar { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: var(--assistant-blue); font: 800 29px/1 'Nunito', sans-serif; flex-shrink: 0; }
.assistant-invite-mark span, .assistant-avatar span { color: #b8efda; }
.assistant-avatar { background: #ffffff1f; border: 1px solid #ffffff32; }
.assistant-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: inherit; cursor: pointer; flex-shrink: 0; }
.assistant-icon-button:hover { background: #ffffff25; }
.assistant-dismiss { position: absolute; right: 10px; top: 10px; color: #52647c; }
.assistant-dismiss:hover { background: #eef2f8; }
.assistant-invite-action { width: 100%; display: block; border: none; padding: 12px 16px; border-radius: 11px; background: var(--assistant-blue); color: #fff; font-weight: 800 !important; cursor: pointer; }
.assistant-invite-action:hover { background: #071dcc; }
.assistant-panel { position: absolute; bottom: 72px; right: 0; width: 390px; height: 630px; max-height: calc(100vh - 124px); max-height: calc(100dvh - 124px); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #dfe6f2; border-radius: 22px; background: #fff; box-shadow: 0 18px 65px #12244030; animation: assistant-appear .2s ease-out; }
.assistant-header { display: flex; align-items: center; gap: 11px; padding: 18px 14px 18px 20px; background: linear-gradient(115deg, #061b80, #0018fd); color: #fff; flex-shrink: 0; }
.assistant-heading { flex: 1; min-width: 0; }
.assistant-heading h2 { font-size: 17px; margin: 0 0 3px; color: #fff; }
.assistant-heading p { font-size: 11px; color: #e0e7ff; margin: 0; }
.assistant-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 4px 20px; border-bottom: 1px solid #edf0f6; background: #f8faff; flex-shrink: 0; }
.assistant-progress { font-size: 12px; color: var(--assistant-muted); font-weight: 700; }
.assistant-end { border: 0; background: transparent; color: #3e526e; font-size: 12px !important; text-decoration: underline; text-underline-offset: 3px; padding: 7px 2px; cursor: pointer; }
.assistant-body { overflow-y: auto; overscroll-behavior: contain; flex: 1; min-height: 0; padding: 22px; scrollbar-width: thin; scrollbar-color: #b9c8df transparent; }
.assistant-eyebrow { color: var(--assistant-blue); font-size: 10px; font-weight: 800; letter-spacing: .12em; margin: 0 0 9px; }
.assistant-question { font-size: 23px; line-height: 1.22; margin: 0 0 10px; color: var(--assistant-ink); }
.assistant-question:focus { outline: none; }
.assistant-description { color: var(--assistant-muted); font-size: 14px; margin: 0 0 18px; }
.assistant-topics { display: grid; gap: 8px; }
.assistant-topic { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid #dce5f1; border-radius: 12px; background: #fff; text-align: left; color: var(--assistant-ink); cursor: pointer; transition: border-color .15s, background .15s; }
.assistant-topic > svg:first-child { color: var(--assistant-blue); width: 24px; flex-shrink: 0; }
.assistant-topic > svg:last-child { width: 16px; flex-shrink: 0; color: #61748e; margin-left: auto; }
.assistant-topic strong { display: block; font-size: 14px; line-height: 1.3; }
.assistant-topic small { display: block; font-size: 11px; line-height: 1.4; color: var(--assistant-muted); margin-top: 3px; }
.assistant-topic:hover, .assistant-choice:hover { border-color: var(--assistant-blue); background: #f4f6ff; }
.assistant-choice { width: 100%; display: block; padding: 14px; margin: 10px 0 0; border: 1px solid #d6e0ef; border-radius: 12px; background: #fff; color: var(--assistant-ink); text-align: left; font-size: 14px !important; cursor: pointer; }
.assistant-back { display: block; padding: 0 0 13px; border: 0; background: none; color: #405477; font-size: 13px !important; cursor: pointer; }
.assistant-back::before { content: '←'; margin-right: 7px; }
.assistant-topic-chip { display: inline-block; border-radius: 7px; padding: 5px 9px; background: #edf0ff; color: #142ba4; font-size: 11px; font-weight: 800; margin: 0 0 14px; }
.assistant-answer { background: #f2f5fa; padding: 13px 15px; border-radius: 12px 12px 3px 12px; font-size: 14px; margin: 16px 0 22px; }
.assistant-summary { display: grid; grid-template-columns: 76px 1fr; gap: 8px 12px; padding: 15px; border: 1px solid #e1e8f3; border-radius: 12px; background: #f8faff; margin: 0 0 15px; font-size: 12px; }
.assistant-summary dt { color: var(--assistant-muted); font-weight: 600; }
.assistant-summary dd { margin: 0; font-weight: 800; overflow-wrap: anywhere; }
.assistant-advice { color: #344d69; font-size: 13px; padding-left: 12px; border-left: 3px solid #bfd1ee; margin: 0 0 17px; }
.assistant-program-link { display: inline-block; color: #0018cf; text-decoration: underline; font-size: 13px; margin-bottom: 17px; }
.assistant-notes-label { font-size: 13px; font-weight: 800; display: block; margin: 0 0 7px; }
.assistant-body textarea { display: block; width: 100%; resize: vertical; min-height: 78px; max-height: 160px; border: 1px solid #c7d3e4; border-radius: 10px; padding: 11px; color: var(--assistant-ink); background: #fff; font-size: 14px; }
.assistant-body textarea::placeholder { color: #65758b; }
.assistant-note-count { text-align: right; font-size: 11px; color: #60728a; margin: 4px 0 14px; }
.assistant-whatsapp { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px 10px; border-radius: 11px; color: #fff; background: #116646; font-size: 14px; font-weight: 800; text-decoration: none; }
.assistant-whatsapp:hover { color: #fff; background: #0c5137; }
.assistant-whatsapp svg:last-child { width: 17px; }
.assistant-handoff { font-size: 11px; line-height: 1.5; color: #566780; margin: 10px 0 0; }
.assistant-footer { padding: 12px 18px; border-top: 1px solid #e6ecf4; text-align: center; flex-shrink: 0; background: #fff; }
.assistant-footer span { display: block; color: #63738a; font-size: 10px; }
.assistant-footer a { display: inline-block; color: #153f93; font-weight: 700; font-size: 12px; padding: 4px; text-decoration: underline; text-underline-offset: 3px; }
.assistant-finished-icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 18px; border-radius: 50%; background: #e8f6ef; color: #116646; }
.back-to-top { left: 24px; right: auto; bottom: 28px; }
@keyframes assistant-appear { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 992px) and (max-width: 1250px) { .navbar-dark .navbar-nav .nav-link { margin-left: 14px; font-size: 15px; } .site-language { margin-left: 12px; } .navbar-contact { padding-left: 12px !important; padding-right: 12px !important; } }
@media (max-width: 991.98px) { .site-language { margin: 10px 0 15px; } .navbar-contact { margin: 0 0 15px 12px !important; } }
@media (max-width: 480px) { .desusy-assistant { right: 14px; bottom: max(16px, env(safe-area-inset-bottom)); } .assistant-launcher { width: 56px; padding: 14px; } .assistant-launcher span { display: none; } .assistant-panel { width: calc(100vw - 28px); bottom: 68px; max-height: calc(100vh - 106px); max-height: calc(100dvh - 106px); border-radius: 18px; } .assistant-invite { width: min(310px, calc(100vw - 28px)); bottom: 68px; } .assistant-body { padding: 18px; } .assistant-header { padding: 15px 10px 15px 17px; } .assistant-body textarea { font-size: 16px; } .back-to-top { left: 14px; bottom: 20px; } }
@media (prefers-reduced-motion: reduce) { .desusy-assistant *, .desusy-assistant *::before, .desusy-assistant *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
