/* Approved BackEngine Intelligence launch announcement. */
#bei-announcement{position:relative;z-index:31;isolation:isolate;box-sizing:border-box;}
#bei-announcement[hidden],html.bei-dismissed #bei-announcement{display:none!important;}
body.menu-open #bei-announcement{display:none!important;}
#bei-announcement *{box-sizing:border-box;}
.bei{--g:oklch(88% .22 128);--ink:oklch(13% .006 110);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:20px 40px;padding:26px 72px 26px 40px;background:var(--ink);color:oklch(96% .01 110);overflow:hidden;font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
.bei-glow{position:absolute;left:-10%;top:-120%;width:60%;height:340%;background:radial-gradient(ellipse at center,oklch(88% .22 128 / .18),transparent 60%);pointer-events:none;}
.bei-stat{position:relative;font-weight:900;font-stretch:72%;font-size:104px;line-height:.8;letter-spacing:-.06em;color:var(--g);}
.bei-stat span{font-size:.45em;vertical-align:top;line-height:1;}
.bei-cap{position:relative;margin:0;font-size:19px;line-height:1.25;font-weight:500;letter-spacing:-.015em;text-wrap:pretty;}
.bei-intro{position:relative;display:flex;flex-direction:column;gap:8px;padding-left:40px;border-left:1px solid rgba(255,255,255,.14);}
.bei-eyebrow{font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.14em;color:var(--g);}
.bei-name{font-size:26px;font-weight:800;font-stretch:108%;letter-spacing:-.035em;line-height:1;}
.bei-body{font-size:15px;line-height:1.4;color:oklch(80% .01 110);text-wrap:pretty;}
.bei-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--g);color:var(--ink)!important;text-decoration:none!important;padding:18px 28px;border-radius:999px;font-weight:700;font-size:16px;line-height:20px;white-space:nowrap;min-height:44px;transition:transform 180ms cubic-bezier(.23,1,.32,1),box-shadow 180ms;}
.bei-cta:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px oklch(88% .22 128 / .7);}
.bei-x{position:absolute;right:14px;top:14px;appearance:none;border:0;background:transparent;color:oklch(70% .01 110);font:22px/1 Arial,sans-serif;cursor:pointer;width:44px;height:44px;}
.bei-x:hover{color:#fff;}
.bei-compact{--g:oklch(88% .22 128);--ink:oklch(13% .006 110);display:none;position:relative;padding:14px 20px;background:var(--ink);color:oklch(96% .01 110);font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;}
.bei-compact::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0 0,oklch(88% .22 128 / .1),transparent 65%);}
.bei-compact-heading{position:relative;display:flex;align-items:center;gap:8px;padding-right:26px;margin:0 0 10px;line-height:22px;}
.bei-compact-tag{flex:none;font-size:9px;font-weight:750;line-height:18px;letter-spacing:.08em;padding:0 5px;border:1px solid oklch(88% .22 128 / .3);border-radius:4px;background:oklch(88% .22 128 / .07);color:var(--g);}
.bei-compact-name{font-size:18px;font-weight:800;letter-spacing:-.025em;line-height:22px;}
.bei-compact-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;}
.bei-compact-copy{margin:0;font-size:13px;line-height:18px;font-weight:400;letter-spacing:-.005em;color:oklch(80% .01 110);}
.bei-compact-cta{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:10px 14px;white-space:nowrap;text-decoration:none!important;background:var(--g);color:var(--ink)!important;border-radius:999px;font-size:12px;font-weight:750;line-height:18px;transition:transform 160ms cubic-bezier(.23,1,.32,1);}
.bei-compact-x{position:absolute;right:7px;top:3px;width:44px;height:44px;border:0;background:transparent;color:oklch(70% .01 110);font:22px/1 Arial,sans-serif;cursor:pointer;}
#bei-announcement a:focus-visible,#bei-announcement button:focus-visible{outline:2px solid #fff;outline-offset:3px;}
#bei-announcement a:active{transform:scale(.97);}
/* Initial geometry before the tiny controller measures the actual font/layout. */
html:has(#bei-announcement):not(.bei-dismissed){--bei-height:148px;--bei-visible-offset:var(--bei-height);}
html.bei-dismissed{--bei-height:0px;--bei-visible-offset:0px;}
#topbar{top:var(--bei-visible-offset,0px)!important;}
html:has(#bei-announcement) #hero{min-height:calc(100svh - var(--bei-height,0px));}
@media(max-width:1100px){
 .bei-desktop{display:none;}.bei-compact{display:block;}
 html:has(#bei-announcement):not(.bei-dismissed){--bei-height:104px;}
 body.nav-hidden #topbar{transform:none!important;pointer-events:auto!important;}
}
@media(max-width:350px){.bei-compact{padding:14px 16px}.bei-compact-name{font-size:16px}.bei-compact-heading{gap:6px}.bei-compact-row{gap:10px}.bei-compact-cta{padding-inline:12px}.bei-compact-copy{font-size:12px}}
@media(prefers-reduced-motion:reduce){#bei-announcement a{transition:none;}}
