@import url("typography-refinement.css");
@import url("parallax-depth.css");
/* Shared route transition — independent from page layouts. */
.bro-route-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:linear-gradient(135deg,#07070c 0%,#151022 52%,#09080f 100%);transform:translateY(105%);will-change:transform}
.bro-route-overlay::before{content:"";position:absolute;inset:-16%;background:linear-gradient(112deg,transparent 44%,rgba(201,255,51,.98) 49.6%,rgba(201,255,51,.15) 50.4%,transparent 56%);transform:translateX(-76%);opacity:.85}
.bro-route-overlay::after{content:"BRO // LOADING";position:relative;color:#d0ff3d;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.22em;opacity:0;transform:translateY(10px)}
html.bro-route-leaving .bro-route-overlay{animation:bro-route-cover .46s cubic-bezier(.76,0,.24,1) forwards}
html.bro-route-leaving .bro-route-overlay::before{animation:bro-route-scan .46s ease-out forwards}
html.bro-route-leaving .bro-route-overlay::after{animation:bro-route-label .18s .16s ease-out forwards}
html.bro-route-entering .bro-route-overlay{transform:translateY(0);animation:bro-route-reveal .48s .05s cubic-bezier(.76,0,.24,1) forwards}
html.bro-route-entering .bro-route-overlay::before{transform:translateX(54%);opacity:.45}
html.bro-route-restoring .bro-route-overlay{transform:translateY(0);animation:bro-route-reveal .24s cubic-bezier(.4,0,.2,1) forwards}
html.bro-route-restoring .bro-route-overlay::before{display:none}
@keyframes bro-route-cover{to{transform:translateY(0)}}
@keyframes bro-route-reveal{to{transform:translateY(-105%)}}
@keyframes bro-route-scan{to{transform:translateX(76%)}}
@keyframes bro-route-label{to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.bro-route-overlay{display:none!important}}
