/* Press home banner (brand-v2). Requires /brand-v2/assets/tokens.css on the host page.
   Mount: banner.js builds the DOM into #bnr-host (or the top of <body>). */
:root{--bnr-h:28px;--bnr-ease:var(--v2-ease-out);--bnr-x:48px}
html.bnr-on .navbar2_component{top:var(--bnr-h)!important}
html.bnr-on .main-wrapper{padding-top:var(--bnr-h)!important}
html.bnr-on .ltv2-page{padding-top:var(--bnr-h)}
html.bnr-on .ltv2-nav{top:var(--bnr-h)}
html.bnr-on{scroll-padding-top:calc(var(--v2-nav-height) + var(--bnr-h) + var(--v2-space-16))}

.bnr,.bnr *,.bnr *::before,.bnr *::after{box-sizing:border-box}
.bnr{position:fixed;top:0;left:0;right:0;z-index:2000;display:block;height:var(--bnr-h);overflow:hidden;
  background:var(--v2-onyx);color:var(--v2-off-white);border-bottom:1px solid var(--v2-border-on-dark);
  font-family:var(--v2-font-body);-webkit-font-smoothing:antialiased;text-decoration:none;cursor:pointer;isolation:isolate;
  transition:height .72s var(--bnr-ease),opacity .36s var(--bnr-ease),transform .36s var(--bnr-ease)}
.bnr::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--v2-grain-opacity);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bnr.is-out{opacity:0;transform:translateY(-8px);pointer-events:none}
.bnr__in{position:relative;z-index:1;max-width:1320px;margin:0 auto;height:100%;padding:0 var(--bnr-x)}

/* shared type */
.bnr__ey{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--v2-font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--v2-dusk);line-height:1;white-space:nowrap}
.bnr__ey::before,.bnr__ey::after{content:"";width:7px;height:7px;border-radius:50%;flex:none}
.bnr__ey::before{position:relative;z-index:1;background:var(--v2-pale);box-shadow:0 0 10px 1px rgba(192,161,255,.55);animation:bnrDot 3.2s ease-in-out infinite}
.bnr__ey::after{position:absolute;left:0;top:50%;margin-top:-3.5px;pointer-events:none;animation:bnrRings 3.2s var(--v2-ease-out) infinite}
@keyframes bnrDot{0%,100%{transform:scale(1)}30%{transform:scale(1.25)}}
@keyframes bnrRings{
  0%{box-shadow:0 0 0 0 rgba(192,161,255,.55),0 0 0 0 rgba(192,161,255,.28)}
  55%{box-shadow:0 0 0 7px rgba(192,161,255,0),0 0 0 4px rgba(192,161,255,.24)}
  100%{box-shadow:0 0 0 7px rgba(192,161,255,0),0 0 0 10px rgba(192,161,255,0)}}
.bnr__mono{font-family:var(--v2-font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--v2-dusk);line-height:1;white-space:nowrap}
.bnr h2{margin:0;font-weight:400}

/* collapsed bar */
.bnr__bar{display:flex;align-items:center;justify-content:center;gap:22px;height:var(--bnr-h);padding:0 64px;transition:opacity .36s var(--bnr-ease)}
.bnr.is-open .bnr__bar{opacity:0;pointer-events:none}
.bnr__bar>*{opacity:0;transform:translateY(8px);transition:opacity .72s var(--bnr-ease),transform .72s var(--bnr-ease)}
.bnr.is-in .bnr__bar>*{opacity:1;transform:none}
.bnr.is-in .bnr__hl1{transition-delay:.12s}
.bnr__hl1{flex:0 1 auto;min-width:0;font-family:var(--v2-font-mono);font-size:11px;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bnr__go{display:inline-block;margin-left:12px;color:var(--v2-mauve);animation:bnrNudge 1.9s var(--v2-ease-inout) infinite}
.bnr:hover .bnr__go{animation-duration:1.05s}
@keyframes bnrNudge{0%,100%{transform:translateX(0);opacity:.6}50%{transform:translateX(6px);opacity:1}}

/* expanded panel */
.bnr__open{position:absolute;top:0;left:0;right:0;max-width:1320px;margin:0 auto;padding:36px var(--bnr-x) 32px;
  opacity:0;pointer-events:none;transition:opacity .36s var(--bnr-ease)}
.bnr.is-open .bnr__open{opacity:1;pointer-events:auto;transition-delay:.12s}
.bnr__top{display:flex;align-items:center;gap:18px;padding-right:56px}
.bnr__proof{margin-left:auto}
.bnr__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-top:22px}
.bnr__col{min-width:0}
.bnr__hl{font-size:40px;line-height:1.05;letter-spacing:-.02em}
.bnr__hl .ln{display:block;overflow:hidden}
.bnr__hl .ln>span{display:block;transform:translateY(110%);transition:transform .72s var(--bnr-ease)}
.bnr.is-open .bnr__hl .ln>span{transform:none}
.bnr.is-open .bnr__hl .ln:nth-child(1)>span{transition-delay:.16s}
.bnr.is-open .bnr__hl .ln:nth-child(2)>span{transition-delay:.24s}
.bnr.is-open .bnr__hl .ln:nth-child(3)>span{transition-delay:.32s}
.bnr__btn{display:inline-flex;align-items:center;gap:12px;margin-top:30px;padding:12px 18px;border-radius:2px;
  background:var(--v2-mauve);color:var(--v2-onyx);font-size:14px;line-height:1;white-space:nowrap;transition:background .18s}
.bnr__btn .ar{transition:transform .36s var(--bnr-ease)}
.bnr:hover .bnr__btn{background:var(--v2-pale)}
.bnr:hover .bnr__btn .ar{transform:translateX(4px)}
.bnr__fig{display:block;width:100%;height:auto}
.bnr__fig .v{stroke:var(--v2-mauve)}
.bnr__fig.landed .pulse{transform-box:fill-box;transform-origin:center;animation:bnrBreath 3.2s ease-in-out infinite}
@keyframes bnrBreath{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.75}}
.bnr__strip{display:flex;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--v2-border-on-dark);
  font-size:17px;font-weight:400;letter-spacing:-.01em;color:var(--v2-mauve);white-space:nowrap}
.bnr__mfoot{display:none}

/* staged reveal inside the panel */
.bnr__open .rv{opacity:0;transform:translateY(14px);transition:opacity .72s var(--bnr-ease),transform .72s var(--bnr-ease)}
.bnr.is-open .rv{opacity:1;transform:none;transition-delay:calc(.1s + var(--d,0) * 1s)}

/* dismiss */
.bnr__x{position:absolute;top:0;right:var(--bnr-x);z-index:3;display:flex;align-items:center;justify-content:flex-end;width:40px;height:var(--bnr-h);color:var(--v2-dusk);transition:color .18s}
.bnr__x:hover,.bnr__x:focus-visible{color:var(--v2-off-white);outline:none}
.bnr__x svg{display:block}

@media (max-width:1300px){
  .bnr__strip{flex-wrap:wrap;justify-content:flex-start;gap:12px 32px}
}
@media (max-width:1100px){
  .bnr__hl{font-size:34px}
}
@media (max-width:720px){
  :root{--bnr-x:16px;--bnr-h:44px}
  .bnr__bar{gap:14px;padding:0 60px 0 44px}
  .bnr__x{width:44px;justify-content:center}
  .bnr__bar .bnr__ey{display:none}
  .bnr__hl1{display:flex;align-items:center;gap:12px;line-height:1.4;white-space:normal;overflow:visible}
  .bnr__hl1 .bnr__txt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}
  .bnr__go{margin-left:0;flex:none}
  .bnr.is-open{max-height:100vh;max-height:100dvh}
  .bnr__open{padding:20px var(--bnr-x);max-height:100vh;max-height:100dvh;overflow-y:auto}
  .bnr__top{flex-wrap:wrap;gap:10px 16px;padding-right:36px}
  .bnr__proof{margin-left:0;flex-basis:100%}
  .bnr__body{grid-template-columns:1fr;gap:14px;margin-top:14px}
  .bnr__hl{font-size:28px}
  .bnr__fig{max-height:96px}
  .bnr__col .bnr__btn{display:none}
  .bnr__strip{flex-direction:column;gap:0;margin-top:16px;padding-top:0;font-size:16px;line-height:1.25;white-space:normal}
  .bnr__strip span{padding:9px 0;border-top:1px solid var(--v2-border-on-dark)}
  .bnr__mfoot{display:block;margin-top:16px}
  .bnr__mfoot .bnr__btn{margin-top:0}
}

@media (prefers-reduced-motion:reduce){
  .bnr,.bnr *,.bnr *::before,.bnr *::after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}
}
