/* Decorative document-entry animation. No script or application readiness dependency. */
.brand-intro[hidden]{display:grid;place-items:center;position:fixed;inset:0;z-index:1000;background:#fffaf5;pointer-events:none;visibility:hidden;opacity:0;animation:brand-intro-dismiss 1500ms ease-out both}
.brand-intro img{display:block;width:clamp(120px,25vw,170px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:50%;z-index:1;animation:brand-intro-bounce 1350ms ease-in-out both}
.brand-intro::before{content:'';position:absolute;left:50%;top:calc(50% + 100px);width:86px;height:12px;border-radius:50%;background:#ed8b3d25;animation:brand-intro-shadow 1350ms ease-in-out both}
.brand-intro::after{content:'✦';position:absolute;left:calc(50% - 106px);top:calc(50% - 32px);font-size:21px;color:#ed8b3d;text-shadow:200px 20px 0 #f5ad62,18px 101px 0 #ed8b3d,180px -55px 0 #f5ad62;animation:brand-intro-sparkle 700ms 500ms ease-out both}
@keyframes brand-intro-dismiss{0%,76%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes brand-intro-bounce{0%{transform:translateY(25px) rotate(-7deg) scale(.88)}23%{transform:translateY(-32px) rotate(7deg) scale(1.08)}43%{transform:translateY(8px) rotate(-5deg) scale(1)}64%{transform:translateY(-17px) rotate(4deg) scale(1.04)}82%{transform:translateY(2px) rotate(-2deg) scale(1)}100%{transform:translateY(0) rotate(0) scale(1)}}
@keyframes brand-intro-shadow{0%,43%,82%,100%{transform:translateX(-50%) scale(1);opacity:.8}23%,64%{transform:translateX(-50%) scale(.65);opacity:.35}}
@keyframes brand-intro-sparkle{0%{opacity:0;transform:scale(.6)}35%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.12)}}
/* Reveal focused content immediately; the decorative layer never receives focus. */
body:has(:focus-visible) .brand-intro[hidden]{visibility:hidden!important;opacity:0!important}
@media(prefers-reduced-motion:reduce){.brand-intro[hidden],.brand-intro img,.brand-intro::before,.brand-intro::after{animation:none}.brand-intro[hidden]{visibility:hidden;opacity:0}}
