/* Automatic brand intro. The portfolio loads underneath. */
.gv-intro[hidden]{display:none!important}.gv-intro{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:hidden;background:#101014;color:#fff;isolation:isolate;animation:gv-intro-exit 3s cubic-bezier(.22,.68,.2,1) both;pointer-events:auto}.intro-halo{position:absolute;width:min(80vw,850px);aspect-ratio:1;border-radius:50%;background:radial-gradient(ellipse,#5a4a5d3d 0%,#35323e24 40%,transparent 70%);transform:translate(0,5%);animation:gv-halo 3s ease both;z-index:-1}.gv-intro:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 180px #0009;pointer-events:none}.intro-brand{display:flex;flex-direction:column;align-items:center;gap:27px;position:relative;z-index:1;animation:gv-brand 3s cubic-bezier(.2,.8,.2,1) both}.intro-symbol{width:106px;height:55px;overflow:visible;fill:#fff;flex:none}.symbol-band{animation:gv-band-in 1.15s cubic-bezier(.22,.75,.2,1) both}.band-1{--from:-45vw;animation-delay:.06s}.band-2{--from:45vw;animation-delay:.18s}.band-3{--from:45vw;animation-delay:.30s}.band-4{--from:-45vw;animation-delay:.24s}.intro-name{animation:gv-name .75s .8s cubic-bezier(.2,.8,.2,1) both;font-family:Arial,Helvetica,sans-serif;font-size:clamp(25px,5vw,40px);font-weight:650;letter-spacing:-.055em;line-height:1.1;color:#fff}.intro-name span{font-weight:400}.intro-rule{width:76px;height:2px;background:#ffffff20;border-radius:2px;overflow:hidden;margin-top:7px}.intro-rule i{display:block;width:100%;height:100%;background:#fff;transform-origin:left;animation:gv-line 2.6s cubic-bezier(.22,.5,.3,1) both}.intro-active{overflow:hidden!important}
@keyframes gv-band-in{0%{opacity:0;transform:translateX(var(--from))}15%{opacity:1}100%{opacity:1;transform:translateX(0)}}
@keyframes gv-brand{0%,82%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@keyframes gv-name{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes gv-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes gv-halo{from{opacity:0;transform:scale(.8)}50%,100%{opacity:1;transform:scale(1)}}
@keyframes gv-intro-exit{0%,82%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.intro-brand,.symbol-band,.intro-halo,.intro-rule i,.intro-name{animation:none;transform:none;opacity:1}.gv-intro{animation:gv-intro-exit 3s ease both}}
html.reduce-motion .intro-brand,html.reduce-motion .symbol-band,html.reduce-motion .intro-halo,html.reduce-motion .intro-rule i,html.reduce-motion .intro-name{animation:none;transform:none;opacity:1}
