/* Shared public Visucio shell. Extracted from the native home header/menu/UI;
   loaded after site-ui.css and theme.css by the home renderer and Delfos. */
.vis-ui{--vis-font:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vis-brand:#678fff;--vis-radius-sm:.5rem;--vis-radius-md:.75rem;--vis-radius-lg:1.125rem;--vis-radius-xl:1.5rem;--vis-radius-pill:999px;--vis-space-2:.5rem;--vis-space-3:.75rem;--vis-space-4:1rem;--vis-space-6:1.5rem;--vis-space-8:2rem;font-family:var(--vis-font)}
.vis-ui .icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vis-ui .button.vis-button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:56px;padding:16px 25px;border:1px solid #365dcc;border-radius:15px;background:#365dcc;color:#fff;font:550 13px/1.4 var(--vis-font);letter-spacing:-.02em;text-decoration:none;box-shadow:none;transition:background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease,transform 200ms ease}
.vis-ui .button.vis-button:hover{background:#426dde;border-color:#426dde;box-shadow:0 10px 30px #365dcc24;transform:translateY(-2px)}
.vis-ui .button-small.vis-button{border-radius:13px;min-height:44px;padding:11px 17px;font-size:13px;gap:14px}.vis-ui .button>.icon{width:18px;height:18px}
.vis-ui .underlined{display:inline-flex;align-items:center;gap:17px;font-size:13px;line-height:1.5;font-weight:550;letter-spacing:-.02em;color:var(--vis-action,#365dcc);padding-block:8px;text-decoration:none;transition:color 200ms ease}
.vis-ui .underlined>.icon{width:18px;height:18px}.vis-ui .underlined:hover{text-decoration:underline;text-underline-offset:5px}
.vis-ui .header,.vis-ui .header.scrolled{position:fixed;inset:18px 28px auto;z-index:90;display:flex;justify-content:space-between;align-items:center;height:72px;max-width:1280px;margin:0 auto;padding:12px 20px;gap:24px;border:1px solid #ffffffeb;border-radius:21px;background:#ffffffc9;box-shadow:0 3px 8px #25345503,0 12px 48px #25345508;backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);transition:background-color 220ms ease,box-shadow 220ms ease,border-color 220ms ease}
.vis-ui .header.scrolled{background:#ffffffeb;box-shadow:0 8px 34px #223b7610}
.vis-ui .brand{display:block;flex:none;line-height:0}.vis-ui .header .brand,.vis-ui .header .brand img{width:125px}.vis-ui .brand img{display:block;max-width:100%;height:auto;object-fit:contain}
.vis-ui .header-nav.vis-tabs-spotlight{position:relative;isolation:isolate;display:flex;align-items:center;flex-wrap:nowrap;gap:7px;min-height:44px;width:auto;margin:0;padding:4px 0;border:0;background:transparent;overflow:visible}
.vis-ui .header-nav.vis-tabs-spotlight:before,.vis-ui .header-nav .vis-tab:after{display:none}
.vis-ui .header-nav .vis-tab{position:relative;display:flex;align-items:center;justify-content:center;flex:none;height:40px;min-height:40px;padding:10px 11px;border-radius:8px;font-size:13px;font-weight:500;line-height:1.4;letter-spacing:-.02em;white-space:nowrap;color:#303a50;background:transparent;transition:color 200ms ease,background-color 200ms ease,box-shadow 200ms ease}
.vis-ui .header-nav .vis-tab:hover,.vis-ui .header-nav .vis-tab:focus-visible{color:#365dcc;background:#678fff0d;box-shadow:inset 0 0 0 1px #678fff18}.vis-ui .header-nav .vis-tab[aria-current]{color:#365dcc;background:#678fff0a}
.vis-ui .header-actions{display:flex;align-items:center;gap:8px;flex:none}.vis-ui .login-link.vis-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:0;border-radius:12px;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:-.02em;color:#273859;background:transparent;box-shadow:none;white-space:nowrap;text-decoration:none;transition:color 200ms ease,background-color 200ms ease}
.vis-ui .locale-switch{display:inline-flex;align-items:center;min-height:40px;white-space:nowrap;font-size:11px!important;line-height:1.5;padding:7px 10px!important;border-radius:12px;text-decoration:none}
.vis-ui .menu-trigger{position:static;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:none;width:40px;height:40px;padding:0;border:1px solid #e6edf8;border-radius:12px;background:#f1f5fc;color:#253657;cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease}
.vis-ui .menu-trigger span{display:block;width:17px;height:1.5px;background:currentColor;transition:none}.vis-ui .menu-trigger:hover span{transform:none}
.vis-ui .menu{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;border:0;margin:0;padding:27px max(40px,calc((100vw - 1320px)/2));background:radial-gradient(ellipse at 87% 0,#dbe6ff,transparent 65%),#f5f8ff;color:#17191e;overflow-y:auto;overscroll-behavior:contain}
.vis-ui .menu:not([open]){display:none}.vis-ui .menu::backdrop{background:#16307060}.vis-ui .menu[open]{animation:menu-enter 220ms ease-out both}.vis-ui .menu.closing{animation:menu-exit 180ms ease-in both}
.vis-ui .menu-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.vis-ui .menu-top .brand,.vis-ui .menu-top .brand img{width:125px}
.vis-ui .menu-close{display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 18px;border:1px solid #c9d4ea;border-radius:50px;background:#fffc;font-size:13px;line-height:1.5;font-weight:500;cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease}.vis-ui .menu-close .icon{width:18px;height:18px}
.vis-ui .menu-content{display:grid;grid-template-columns:1fr 1.7fr;align-items:start;gap:7vw;margin:clamp(45px,8vh,100px) 0 52px}.vis-ui .menu-intro{padding-top:26px}.vis-ui .menu-intro .eyebrow{font-size:13px;font-weight:550;line-height:1.5;color:var(--vis-action,#365dcc)}
.vis-ui .menu-intro h2{font-size:clamp(36px,3.8vw,55px);font-weight:550;line-height:1.08;letter-spacing:-.06em;margin:24px 0}.vis-ui .menu-intro>p:last-child{font-size:14px;line-height:1.8;color:var(--vis-muted,#626570)}
.vis-ui .menu-links{display:grid}.vis-ui .menu .menu-links>a{display:flex;align-items:center;gap:25px;padding:11px 0;border-bottom:1px solid #bdc9e1;text-decoration:none;animation:none;transition:color 200ms ease,text-shadow 200ms ease}
.vis-ui .menu-links>a[aria-current]{color:var(--vis-action,#365dcc)}
.vis-ui .menu .menu-links>a>span{flex:1;font-size:clamp(36px,5.7vh,69px);font-weight:450;line-height:1.1;letter-spacing:-.065em}.vis-ui .menu-links>a>small{font-size:12px;color:#667590}.vis-ui .menu-links .icon{width:30px;height:30px;transform:none;transition:none}.vis-ui .menu .menu-links>a:hover{padding-left:0;color:var(--vis-action,#365dcc)}.vis-ui .menu-links>a:hover .icon{transform:none}
.vis-ui .menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:26px;border-top:1px solid #c9d4e8}.vis-ui .menu-bottom>div{display:flex;align-items:center;gap:27px}.vis-ui .menu-bottom .button{border-radius:16px}.vis-ui .header .button:hover,.vis-ui .menu .button:hover{transform:none}
html[data-theme="dark"] .vis-ui .header,html[data-theme="dark"] .vis-ui .header.scrolled{color:#edf3ff;border-color:#8facff26;background:#111d30e8;box-shadow:0 12px 35px #0002}
html[data-theme="dark"] .vis-ui .header.scrolled{background:#111d30f2;box-shadow:0 12px 35px #0004}
html[data-theme="dark"] .vis-ui .header-nav .vis-tab{color:#c8d5eb}html[data-theme="dark"] .vis-ui .header-nav .vis-tab[aria-current]{color:#a9c1ff}html[data-theme="dark"] .vis-ui .header-nav .vis-tab:hover,html[data-theme="dark"] .vis-ui .header-nav .vis-tab:focus-visible{color:#edf3ff;background:#678fff16;box-shadow:inset 0 0 0 1px #91adff22,0 0 18px #678fff0c}
html[data-theme="dark"] .vis-ui .menu{color:#edf3ff;background:radial-gradient(ellipse at 85% 0,#24407370,transparent 65%),#0c1423}html[data-theme="dark"] .vis-ui .menu-close,html[data-theme="dark"] .vis-ui .menu-trigger{color:#dce8fc;background:#17243b;border-color:#33445f}
html[data-theme="dark"] .vis-ui .menu-links>a,html[data-theme="dark"] .vis-ui .menu-bottom{border-color:#31435f}html[data-theme="dark"] .vis-ui .menu-links>a>small{color:#a5b7d6}html[data-theme="dark"] .vis-ui .menu-links>a:hover{color:#dce7ff;text-shadow:0 0 24px #678fff30}
html[data-theme="dark"] .vis-ui .brand img.vis-brand-white{filter:none}
/* Native cursor aura: two colored lights, beneath content and clipped to viewport. */
.vis-ui .page-aura{display:none}
@media(hover:hover) and (pointer:fine){
 .vis-ui .page-aura{display:block;position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 220ms ease}
 .vis-ui .page-aura.aura-active{opacity:1}
 .vis-ui .page-aura:before,.vis-ui [data-cursor-aura]:before{content:'';position:absolute;pointer-events:none;background:radial-gradient(230px 210px at calc(var(--aura-x,50%) - 62px) calc(var(--aura-y,50%) - 18px),#678fff36,#678fff12 44%,transparent 76%),radial-gradient(220px 205px at calc(var(--aura-x,50%) + 74px) calc(var(--aura-y,50%) + 22px),#947af629,#947af60d 46%,transparent 77%)}
 .vis-ui .page-aura:before{left:0;top:0;width:560px;height:560px;--aura-x:280px;--aura-y:280px;transform:translate3d(calc(var(--aura-view-x,0px) - 280px),calc(var(--aura-view-y,0px) - 280px),0)}
 .vis-ui [data-cursor-aura]{position:relative;isolation:isolate}.vis-ui [data-cursor-aura]:before{inset:0;z-index:-1;border-radius:inherit;opacity:0;transition:opacity 220ms ease}.vis-ui [data-cursor-aura].aura-active:before{opacity:1}
}
@media(max-width:1180px){.vis-ui .header-nav.vis-tabs-spotlight{display:none}.vis-ui .header-actions{margin-left:auto}}
@media(max-width:960px){.vis-ui .header .header-actions>a{display:none}.vis-ui .menu-content{grid-template-columns:1fr 1.65fr;gap:5vw}}
@media(max-width:760px){
 .vis-ui .header,.vis-ui .header.scrolled{inset:10px 12px auto;height:68px;display:flex;gap:16px;padding:10px 13px;border-radius:19px}.vis-ui .header .brand,.vis-ui .header .brand img{width:105px}.vis-ui .header .header-actions{display:flex;gap:0;margin-left:auto}.vis-ui .header .menu-trigger{position:static;width:44px;height:44px}
 .vis-ui .menu{padding:22px}.vis-ui .menu-content{display:flex;flex-direction:column-reverse;gap:27px;margin-block:28px}.vis-ui .menu .menu-links>a{padding:17px 0;gap:20px}.vis-ui .menu .menu-links>a>span{font-size:clamp(34px,10vw,64px);line-height:1.15}.vis-ui .menu-links .icon{width:25px;height:25px}.vis-ui .menu-intro{padding:0}.vis-ui .menu-intro h2{font-size:28px;margin-block:16px}.vis-ui .menu-intro>p:last-child{font-size:12px}.vis-ui .menu-intro>p br{display:none}.vis-ui .menu-close{font-size:11px;min-height:42px;padding:9px 15px}.vis-ui .menu-bottom{align-items:flex-start;flex-direction:column;gap:23px;padding-top:23px}.vis-ui .menu-bottom>div{width:100%;justify-content:space-between;gap:14px}.vis-ui .menu-bottom .button{font-size:12px;min-height:46px;padding:12px 17px}.vis-ui .menu-bottom .login-link,.vis-ui .menu-bottom>.underlined{font-size:12px}
}
@keyframes menu-enter{from{opacity:0;transform:translate3d(0,-8px,0)}to{opacity:1;transform:none}}
@keyframes menu-exit{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(0,-6px,0)}}
.df-page .menu[open],.df-page .menu.closing{animation:none}
.document-hidden .page-aura,.df-motion-paused .page-aura,.menu-open .page-aura{display:none!important}
@media(prefers-reduced-motion:reduce){.vis-ui .menu,.vis-ui .menu-links>a{animation:none!important}.vis-ui .page-aura,.vis-ui [data-cursor-aura]:before{display:none!important}.vis-ui .header,.vis-ui .header-nav .vis-tab{transition:none}}
@media(hover:none),(pointer:coarse){.vis-ui .page-aura,.vis-ui [data-cursor-aura]:before{display:none!important}}
@media print{.vis-ui .header,.vis-ui .menu,.vis-ui .page-aura,.vis-ui [data-cursor-aura]:before{display:none!important}}
