/* Keyboard access without changing the unfocused page. */
.sustentia-skip-link { position:fixed; top:12px; left:12px; z-index:2147483647; padding:12px 18px; border:2px solid #7130b7; border-radius:7px; background:#fff; color:#54228b; font:700 16px/1.5 Inter,sans-serif; clip-path:inset(50%); transform:translateY(-200%); transition:none; }
.sustentia-skip-link:focus { clip-path:none; transform:none; outline:3px solid #111831; outline-offset:3px; }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #7130b7; box-shadow:0 0 0 3px #fff; outline-offset:3px; scroll-margin-block:120px 100px; }
body :is(.section-footer,.service-conversion,.cs-section--dark,.gestor-contact__guide,.servialiado-join-form__guide,.home-cta,.home-contact,.contactanos-channels) :focus-visible { outline-color:#c1ff00; }
main[tabindex="-1"]:focus { outline:none; }
/* Reveal keyboard-focused content immediately, including during entrance animations. */
.jos:focus-within { opacity:1 !important; transform:none !important; transition:none !important; }
.whatsapp-header button:focus-visible { outline-color:#fff; outline-offset:-5px; }
.menu-block-wrapper[role="dialog"] :focus-visible { outline-offset:-4px; }
.fslightbox-container :focus-visible { outline:3px solid #c1ff00; outline-offset:-4px; }
.fslightbox-container [role="button"] { -webkit-tap-highlight-color:transparent; }
/* Preserve the approved appearance when correcting heading levels. */
.a11y-section-heading { font-size:1.5rem; line-height:1.25; letter-spacing:normal; }
.event-one-page .event-one-copy .a11y-section-heading { margin:28px 0 14px; padding:13px 16px; border:1px solid var(--event-one-purple-light); border-left:5px solid var(--event-one-purple); border-radius:13px; background:#f6f0ff; color:var(--event-one-navy); font-size:21px; line-height:1.3; }
.event-one-page .event-one-copy .a11y-section-heading:first-child { margin-top:0; }
.legal-page .legal-document > .a11y-section-heading { margin:38px 0 14px; padding-top:23px; border-top:1px solid #e8e3ed; color:var(--legal-navy); font-size:22px; line-height:1.35; }
.legal-page .legal-document > .a11y-section-heading:first-child { margin:0 0 10px; padding-top:0; border-top:0; font-size:clamp(25px,3vw,32px); line-height:1.25; }
.legal-page .legal-document > .a11y-legal-byline { margin:0 0 12px; padding-top:0; border-top:0; color:#697085; font:800 14px/1.4 'Plus Jakarta Sans',sans-serif; letter-spacing:.075em; }
.legal-rates-page .legal-document > .a11y-section-heading--credit { margin-top:24px; }
@media (max-width:767px) {
 .event-one-page .event-one-copy .a11y-section-heading { margin-top:22px; padding:12px 14px; font-size:19px; }
 .legal-page .legal-document > .a11y-section-heading { margin-top:30px; padding-top:18px; font-size:20px; }
 .legal-page .legal-document > .a11y-section-heading:first-child { font-size:25px; }
}
/* The video keeps its dark presentation; the browser manages its modal focus. */
.sustentia-video-dialog { position:fixed; inset:0; box-sizing:border-box; margin:0; padding:56px 16px; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; border:0; background:rgba(12,12,12,.97); color:#fff; }
.sustentia-video-dialog[open] { display:grid; place-items:center; }
.sustentia-video-dialog::backdrop { background:rgba(0,0,0,.85); }

.video-dialog__button { position:absolute; top:8px; display:grid; place-items:center; width:48px; height:48px; border:0; background:transparent; color:#fff; font:400 34px/1 Arial,sans-serif; cursor:pointer; }
.video-dialog__button:hover { background:#333; }
.video-dialog__button:focus-visible { outline:3px solid #c1ff00; outline-offset:-4px; }
.video-dialog__player { width:min(1280px,calc(100vw - 32px),calc((100dvh - 112px)*1.77778)); aspect-ratio:16/9; background:#000; }
.video-dialog__player iframe { width:100%; height:100%; border:0; }
.video-dialog__player:fullscreen { width:100vw; height:100vh; max-width:none; aspect-ratio:auto; }
.video-dialog__sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

.video-dialog__button[hidden] { display:none; }

.video-dialog__close { right:8px; }
.video-dialog__fullscreen { right:60px; }
/* White labels retain AA contrast in the expanded WhatsApp panel. */
body .whatsapp-chat :is(.whatsapp-header,.whatsapp-open,.whatsapp-button) { background-color:#087c40; }
body .whatsapp-chat :is(.whatsapp-open,.whatsapp-button):hover { background-color:#056330; }
body .whatsapp-chat .whatsapp-agent p { color:#fff; opacity:1; }
