/* CSS-only entrance: the heading and form remain usable without JavaScript. */
.flow-brand-stage { position:relative; isolation:isolate; }
.flow-brand-stage .brand-aura { position:absolute; z-index:-1; pointer-events:none; inset:-66px -28px -20px; overflow:hidden; border-radius:50%; background:radial-gradient(ellipse at 50% 42%,rgb(138 221 180 / 7%),transparent 65%); animation:brand-aura-in 2.2s ease-out both; }
.flow-brand-stage .brand-aura::before { content:""; position:absolute; width:290px; height:290px; left:50%; top:-38px; border:1px solid rgb(225 240 232 / 5%); border-radius:50%; transform:translateX(-50%); }
.flow-brand-stage .brand-aura::after { content:""; position:absolute; width:390px; height:390px; left:50%; top:-88px; border:1px solid rgb(225 240 232 / 3%); border-radius:50%; transform:translateX(-50%); }
.flow-brand-stage>.logo { position:relative; animation:brand-logo-in .85s cubic-bezier(.16,1,.3,1) both; }
.public-site .flow-brand-stage #flow-title { margin:24px 0 0; font-size:clamp(25px,5.7vw,30px); line-height:1.34; font-weight:700; letter-spacing:-1.25px; }
.brand-title-line { display:block; }
.brand-title-line+.brand-title-line { margin-top:1px; }
.brand-title-line:first-child { color:#bfc5c2; font-weight:500; font-size:.8em; letter-spacing:-.8px; }
.brand-letter { display:inline-block; animation:brand-letter-in 1s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(.22s + var(--letter)*.042s); }
.brand-title-proof { position:relative; width:fit-content; max-width:100%; margin-inline:auto; overflow:hidden; color:#f5fcf7; text-shadow:0 1px 18px rgb(185 234 207 / 10%); }
.brand-title-proof::after { content:""; position:absolute; pointer-events:none; inset:0 -8px; background:linear-gradient(105deg,transparent 32%,rgb(215 255 232 / 22%) 49%,transparent 66%); transform:translateX(-130%); opacity:0; animation:brand-light-pass 1.7s 1.1s ease-in-out both; }
.brand-proof-line { display:flex; justify-content:center; align-items:center; gap:10px; margin:13px auto 0; color:#97d7b3; animation:brand-detail-in .8s 1.05s both; }
.brand-proof-line>span { width:48px; height:1px; background:linear-gradient(90deg,transparent,#40574b); transform-origin:right; animation:brand-line-in 1s 1.05s both; }
.brand-proof-line>span:last-child { transform-origin:left; background:linear-gradient(90deg,#40574b,transparent); }
.brand-proof-line svg { width:14px; height:14px; }
.public-site .flow-brand-stage>p { max-width:320px; margin:12px auto 0; color:#969ca0; font-size:12px; line-height:20px; animation:brand-detail-in .9s .9s both; }
.flow-shell-start:has(>.flow-brand-stage),.flow-shell-auth:has(>.flow-brand-stage) { gap:25px; }
.flow-shell-start:has(>.flow-brand-stage)>.flow-card,.flow-shell-auth:has(>.flow-brand-stage)>.flow-card { animation:brand-card-in 1s .38s cubic-bezier(.16,1,.3,1) both; }
@keyframes brand-letter-in { from { opacity:0; filter:blur(8px); transform:translate3d(0,16px,0) scale(.96); } to { opacity:1; filter:blur(0); transform:translateZ(0) scale(1); } }
@keyframes brand-logo-in { from { opacity:0; filter:blur(5px); transform:translateY(-7px); } to { opacity:1; filter:blur(0); transform:translateY(0); } }
@keyframes brand-detail-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@keyframes brand-card-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes brand-line-in { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes brand-aura-in { from { opacity:0; transform:scale(.9); } to { opacity:1; transform:scale(1); } }
@keyframes brand-light-pass { 0% { opacity:0; transform:translateX(-130%); } 20%,60% { opacity:1; } 100% { opacity:0; transform:translateX(130%); } }
@media(max-width:480px) {
  .flow-brand-stage .brand-aura { inset:-45px -8px -15px; }
}
@media(min-width:600px) and (max-height:800px) {
  .flow-shell-start:has(>.flow-brand-stage),.flow-shell-auth:has(>.flow-brand-stage) { padding-block:16px; gap:18px; }
  .public-site .flow-brand-stage #flow-title { margin-top:20px; }
  .brand-proof-line { margin-top:8px; }
  .public-site .flow-brand-stage>p { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .flow-brand-stage .brand-letter,.flow-brand-stage>.logo,.flow-brand-stage .brand-proof-line,.flow-brand-stage .brand-proof-line>span,.flow-brand-stage>p,.flow-brand-stage .brand-aura,.flow-shell-start:has(>.flow-brand-stage)>.flow-card,.flow-shell-auth:has(>.flow-brand-stage)>.flow-card { animation:none; opacity:1; filter:none; transform:none; }
  .brand-title-proof::after { display:none; animation:none; }
}
