@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#f5f1ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#0b0910;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-x:hidden}body{min-width:320px;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}:root{--ink:#f5f1ff;--muted:#96909f;--faint:#55505f;--purple:#9b5cff;--line:#ffffff1f;--mono:"DM Mono", monospace}main{background:#0b0910;overflow:hidden}main:before{content:"";pointer-events:none;opacity:.22;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.shell{width:min(1120px,100% - 48px);margin-left:auto;margin-right:auto;position:relative}.nav{border-bottom:1px solid var(--line);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;height:94px;font-size:11px;display:flex}.brand,.nav-links,.availability,.hero-actions,.footer{align-items:center;display:flex}.brand{gap:12px;font-weight:700}.brand-mark{color:#fff;letter-spacing:-.05em;border:1px solid #fff6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:9px;display:grid}.nav-links{color:var(--muted);gap:34px}.nav-links a,.text-link,.project-link,.footer a{transition:color .25s}.nav-links a:hover,.nav-links a.active,.text-link:hover,.project-link:hover,.footer a:hover{color:var(--purple)}.nav-links a.active{text-shadow:0 0 18px #9b5cff73}.availability{color:var(--muted);gap:8px}.status-dot{background:#8cf0b0;border-radius:50%;width:6px;height:6px;box-shadow:0 0 14px #8cf0b0}.hero{align-items:flex-start;min-height:670px;padding:45px 0 100px;display:flex}.hero-copy{z-index:1;width:56%}.eyebrow{color:var(--muted);font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 28px;display:flex}.eyebrow-line{background:var(--purple);width:28px;height:1px;display:inline-block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.06em;font-weight:500}h1{margin-bottom:33px;font-size:clamp(4rem,8vw,7.8rem);line-height:.92}em{color:var(--purple);font-style:normal}h2{margin-bottom:0;font-size:clamp(2.4rem,5vw,5rem);line-height:.98}h2 span{color:var(--muted)}.hero-intro{max-width:430px;color:var(--muted);font-size:15px;line-height:1.8}.hero-actions{gap:28px;margin-top:38px}.button{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:22px;padding:15px 18px 15px 21px;font-size:11px;display:inline-flex}.button-primary{background:var(--purple);color:#120b1c;transition:transform .25s,box-shadow .25s;box-shadow:0 0 34px #9b5cff3b}.button-primary:hover{transform:translateY(-3px);box-shadow:0 0 46px #9b5cff80}.arrow{font-size:18px;line-height:.7}.text-link{color:var(--muted);font:12px var(--mono)}.text-link span{color:var(--purple);margin-left:6px;font-size:17px}.hero-orbit{width:470px;height:470px;position:absolute;top:100px;right:-2%}.orbit{border:1px solid #9b5cff4d;border-radius:50%;position:absolute;inset:0;transform:rotate(-30deg)scaleY(.34)}.orbit-one{animation:18s linear infinite spin}.orbit-two{border-color:#ffffff29;animation:25s linear infinite spinReverse;inset:35px -25px;transform:rotate(54deg)scaleY(.38)}.orbit-three{border-color:#9b5cff33;inset:75px 35px;transform:rotate(115deg)scaleY(.45)}.planet{background:radial-gradient(circle at 33% 27%,#c7a6ff,#6732ba 44%,#170b2a 74%);border-radius:50%;place-items:center;display:grid;position:absolute;inset:143px;box-shadow:0 0 75px #914cff66,inset -18px -14px 25px #0000008c}.planet span{font:22px var(--mono);color:#ffffffbf}.orbit-label{font:10px var(--mono);color:var(--muted);letter-spacing:.1em;position:absolute}.label-top{top:75px;right:36px}.label-bottom{bottom:79px;left:35px}.scroll-cue{color:var(--faint);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:18px;display:flex;position:absolute;bottom:37px;left:0}.scroll-line{background:var(--faint);width:52px;height:1px;display:block}.signal-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:71px;color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.signal-bar strong{color:var(--ink);font-weight:400}.signal-star{color:var(--purple);font-size:20px}.section{grid-template-columns:125px minmax(0,1fr);gap:42px;padding-top:140px;display:grid}.section-content{min-width:0}.section-index{color:var(--purple);font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.section-index span{color:var(--muted)}.about-grid,.experience-grid{grid-template-columns:1.05fr .85fr;gap:80px;display:grid}.about-body{max-width:370px;color:var(--muted);padding-top:5px;font-size:14px;line-height:1.9}.about-body p+p{margin-top:22px}.about-body .text-link{margin-top:30px;display:inline-block}.page-header{padding:55px 0 0}.page-header h1{margin-bottom:0}.page-section{min-height:430px;padding-top:70px}.page-contact{min-height:560px;padding-top:75px}.volleyball-page-section{display:block}.volleyball-page-section>.section-index{margin-bottom:48px}.volleyball-content{grid-template-columns:1.05fr .85fr;gap:80px;display:grid}.volleyball-bio{max-width:390px;color:var(--muted);margin-top:30px;font-size:14px;line-height:1.9}.volleyball-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:38px;display:grid}.volleyball-stats div{border:1px solid var(--line);background:#ffffff06;padding:18px 14px;position:relative}.volleyball-stats strong{letter-spacing:-.06em;font-size:28px;font-weight:500;display:block}.volleyball-stats span,.volleyball-stats small{color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;display:block}.volleyball-stats span{margin-top:8px}.volleyball-stats small{color:var(--purple);position:absolute;top:9px;right:10px}.volleyball-intro-card,.volleyball-stats-card{border:1px solid var(--line);background:#ffffff06;padding:28px}.volleyball-intro-card{min-height:245px}.volleyball-intro-card .volleyball-quote{margin-top:0}.volleyball-stats-card{grid-column:1/-1}.volleyball-stats-card .volleyball-stats{margin-bottom:0}.volleyball-content>.video-block{grid-column:1/-1;width:min(100%,520px);margin:0 auto;padding:0}.volleyball-content>.video-block h3{text-align:center;margin-top:0}.volleyball-role-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:8px;display:grid}.volleyball-role-grid .volleyball-roles{border:1px solid var(--line);background:#ffffff06;margin-top:0;padding:24px}.volleyball-role-grid .project-type{margin-bottom:18px}.volleyball-role-grid .experience-list{margin-top:0}.volleyball-role-grid .experience-row{grid-template-columns:70px 1fr;gap:14px;min-height:68px;padding:10px 0}.volleyball-role-grid .experience-row span:last-child{grid-column:2;margin-top:-8px;font-size:11px}.volleyball-intro-card .project-type{margin-bottom:22px}.volleyball-quote-card{border:1px solid var(--line);background:#ffffff06;align-items:center;padding:28px;display:flex}.volleyball-quote-card .volleyball-quote{background:#9b5cff1a;width:100%;max-width:none;margin:0}.volleyball-awards{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:38px;padding:20px 0}.volleyball-awards p{margin-bottom:12px}.volleyball-awards strong,.volleyball-awards span{display:block}.volleyball-awards strong{font-size:17px;font-weight:500}.volleyball-awards span{color:var(--muted);font:11px var(--mono);margin-top:8px}.stats-label{margin-bottom:14px}.volleyball-roles{margin-top:38px}.volleyball-roles>p{margin-bottom:14px}.volleyball-quote{border:1px solid #9b5cff4d;border-left:3px solid var(--purple);max-width:none;color:var(--ink);background:#9b5cff1a;margin:0;padding:22px 24px;font-size:16px;line-height:1.7;box-shadow:inset 0 0 35px #9b5cff0a}.volleyball-schedule{margin-top:38px}.volleyball-schedule>p{margin-bottom:14px}.schedule-list{border-top:1px solid var(--line)}.schedule-row{border-bottom:1px solid var(--line);grid-template-columns:105px 1fr 125px;align-items:center;gap:16px;min-height:60px;font-size:12px;display:grid}.schedule-row span:first-child{color:var(--purple);font:10px var(--mono)}.schedule-row span:last-child{color:var(--muted);font-size:11px}.volleyball-schedule{border:1px solid var(--line);background:#ffffff06;grid-column:1/-1;margin-top:8px;padding:28px}.volleyball-schedule .schedule-list{margin-top:18px}.schedule-row{border-color:#ffffff17}.schedule-row+.schedule-row{border-top:0}.schedule-row:nth-child(2n){background:#ffffff09}.schedule-row span,.schedule-row strong{padding:0 12px}.schedule-row span+strong,.schedule-row strong+span{border-left:1px solid #ffffff14}.schedule-row strong{font-weight:500}.beyond-court{background:#9b5cff14;border:1px solid #9b5cff59;margin:30px 0 38px;padding:20px}.beyond-court .project-type{margin-bottom:12px}.beyond-court strong{font-size:17px;font-weight:500;display:block}.beyond-court p:last-child{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.7}.video-block{width:min(100%,520px);margin-top:38px}.video-block h3{letter-spacing:-.04em;margin:0 0 14px;font-size:18px}.video-embed{aspect-ratio:16/9;border:1px solid var(--line);background:#000;width:100%;overflow:hidden}.video-embed iframe,.video-thumbnail{border:0;width:100%;height:100%;display:block}.video-thumbnail{cursor:pointer;background:#000;padding:0;position:relative}.video-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.video-play{color:#fff;background:#f03;border-radius:10px;place-items:center;width:54px;height:38px;padding-left:2px;font-size:17px;transition:transform .2s,background .2s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-thumbnail:hover .video-play{background:#ff1744;transform:translate(-50%,-50%)scale(1.08)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.work-heading{justify-content:space-between;align-items:end;margin-bottom:44px;display:flex}.work-count{color:var(--faint);font:10px var(--mono)}.project-list{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{border:1px solid var(--line);background:#ffffff06;transition:transform .35s,border-color .35s}.project-card:hover{border-color:#9b5cffb3;transform:translateY(-8px)}.project-visual{background:#17111f;height:280px;position:relative;overflow:hidden}.project-card.lilac .project-visual{background:#211829}.project-card.blue .project-visual{background:#111a2a}.project-number,.visual-caption{z-index:1;font:10px var(--mono);color:#ffffff8c;position:absolute}.project-number{top:16px;left:17px}.visual-caption{text-align:right;line-height:1.6;bottom:16px;right:17px}.visual-shape{border:1px solid #c29fff99;border-radius:50%;width:230px;height:230px;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)rotate(28deg)scaleY(.42);box-shadow:0 0 60px #9b5cff57}.visual-shape:after{content:"";border-radius:inherit;border:1px solid #c29fff73;position:absolute;inset:24px}.lilac .visual-shape{border-radius:44%;transform:translate(-50%,-50%)rotate(-25deg)scaleY(.65)}.blue .visual-shape{border-color:#72aaffa6;border-radius:17%;width:160px;height:160px;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 60px #4580ff4d}.project-info{padding:24px 22px 27px}.project-type{color:var(--purple);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.project-info h3{margin:19px 0 10px;font-size:22px}.project-info>p:not(.project-type){min-height:68px;color:var(--muted);font-size:13px;line-height:1.7}.project-link{color:var(--muted);font:11px var(--mono);text-transform:uppercase;align-items:center;gap:10px;margin-top:22px;display:inline-flex}.experience-section{padding-bottom:150px}.experience-list{border-top:1px solid var(--line)}.experience-row{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr 1.4fr;align-items:center;gap:20px;min-height:77px;font-size:13px;display:grid}.experience-row span:first-child{color:var(--purple);font:10px var(--mono);text-transform:uppercase}.experience-row strong{font-weight:500}.experience-row span:last-child{color:var(--muted)}.contact{border-top:1px solid var(--line);padding:117px 0 125px}.contact h2{margin-bottom:45px;font-size:clamp(3.4rem,7vw,7.2rem)}.contact-email{color:var(--muted);font:14px var(--mono);border-bottom:1px solid var(--purple);align-items:center;gap:25px;padding-bottom:10px;transition:color .25s;display:inline-flex}.contact-email:hover{color:var(--ink)}.footer{border-top:1px solid var(--line);min-height:85px;color:var(--faint);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between}.footer a{color:var(--muted)}@keyframes spin{to{transform:rotate(330deg)scaleY(.34)}}@keyframes spinReverse{to{transform:rotate(-306deg)scaleY(.38)}}@media (width<=760px){.shell{width:min(100% - 36px,600px)}.nav{height:74px}.nav-links{display:none}.availability{font-size:9px}.hero{align-items:start;min-height:760px;padding-top:65px}.hero-copy{width:100%}.hero-orbit{opacity:.8;width:360px;height:360px;top:360px;right:-65px}.planet{inset:110px}.scroll-cue{bottom:22px}.signal-bar{flex-wrap:wrap;justify-content:flex-start;gap:14px;padding:18px 0}.signal-star{display:none}.section{grid-template-columns:1fr;gap:30px;padding-top:88px}.about-grid,.experience-grid{grid-template-columns:1fr;gap:35px}.project-list{grid-template-columns:1fr}.project-visual{height:220px}.experience-section{padding-bottom:90px}.experience-row{grid-template-columns:55px 1fr;gap:10px;padding:15px 0}.experience-row span:last-child{grid-column:2}.contact{padding:85px 0 90px}.footer{flex-wrap:wrap;gap:10px;min-height:110px;padding:20px 0}.footer span:nth-child(2){order:3;width:100%}.page-header{padding-top:70px}.volleyball-content{grid-template-columns:1fr;gap:35px}.volleyball-stats{gap:8px}.volleyball-stats div{padding:14px 10px}.volleyball-stats strong{font-size:23px}.hero,.page-header{padding-top:45px}.page-section{padding-top:50px}.page-contact{padding-top:55px}.schedule-row{grid-template-columns:72px 1fr;gap:10px;padding:12px 0}.schedule-row span:last-child{grid-column:2}.volleyball-intro-card,.volleyball-stats-card,.volleyball-role-grid .volleyball-roles,.volleyball-schedule{padding:20px}.volleyball-role-grid{grid-template-columns:1fr;gap:20px}.volleyball-stats-card .volleyball-stats{grid-template-columns:repeat(3,1fr)}}.volleyball-content .project-type{text-align:center}.volleyball-content .volleyball-intro-card{display:none}.education-grid .experience-row:nth-child(2) span:first-child{font-size:0}.education-grid .experience-row:nth-child(2) span:first-child:after{content:"Dual enrollment";font:10px var(--mono)}.education-grid .experience-row:nth-child(2) span:last-child{font-size:0}.education-grid .experience-row:nth-child(2) span:last-child:after{content:"President's & Dean's List";color:var(--muted);font:13px/1.5 Manrope,sans-serif}main:has(.nav-links a[href=\/education].active) .page-header{display:none}.page-section:has(.education-grid)>.section-index{display:block}.education-grid>h2{display:none}.volleyball-content .volleyball-quote-card{grid-column:1/-1;width:min(100%,760px);margin:0 auto}.page-contact .eyebrow,.page-contact h2{display:none}.volleyball-quote-card{background:#2a194033;border-color:#9b5cff29;padding:32px;position:relative}.volleyball-quote-card .volleyball-quote{color:#0000;background:#9b5cff11;border:0;border-left:6px solid #9b5cffcc;align-items:center;min-height:176px;margin:0;padding:58px 34px 46px 38px;font-size:0;display:flex;position:relative;box-shadow:inset 0 0 45px #9b5cff06}.volleyball-quote-card .volleyball-quote:before{content:"“";color:#c29fff4d;font:700 58px/1 Georgia,serif;position:absolute;top:12px;left:30px}.volleyball-quote-card .volleyball-quote:after{content:"Volleyball is a game of mistakes”";color:var(--ink);letter-spacing:-.035em;font:italic clamp(18px,2.2vw,25px)/1.45 Manrope,sans-serif;position:absolute;top:58px;left:38px;right:34px}.volleyball-quote-card:after{content:"COACH ERIC WOJO";color:var(--muted);font:10px var(--mono);letter-spacing:.14em;position:absolute;bottom:52px;right:66px}@media (width<=760px){.volleyball-quote-card{padding:20px}.volleyball-quote-card .volleyball-quote{border-left-width:5px;min-height:190px;padding:52px 24px 46px 28px}.volleyball-quote-card .volleyball-quote:after{right:24px}.volleyball-quote-card:after{bottom:40px;right:44px}.volleyball-page-section{display:block}.volleyball-page-section>.section-index{margin-bottom:32px}}.hero-orbit{--pointer-x:0px;--pointer-y:0px;--tilt-x:0deg;--tilt-y:0deg;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));touch-action:none;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.planet{transform:translate3d(var(--pointer-x), var(--pointer-y), 0) scale(1);transition:transform .25s,box-shadow .25s}.hero-orbit:hover .planet{transform:translate3d(var(--pointer-x), var(--pointer-y), 0) scale(1.035);box-shadow:0 0 95px #914cff94,inset -18px -14px 25px #0000008c}.orbit-label{transition:transform .45s,color .3s}.hero-orbit:hover .label-top{transform:translate3d(calc(var(--pointer-x) * .5), calc(var(--pointer-y) * .5), 0);color:var(--ink)}.hero-orbit:hover .label-bottom{transform:translate3d(calc(var(--pointer-x) * -.35), calc(var(--pointer-y) * -.35), 0);color:var(--ink)}.hero h1 em{transition:transform .35s cubic-bezier(.2,.8,.2,1),text-shadow .35s;display:inline-block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero h1 em:hover{transform:none}}.visual-shape{border-color:#c29fff6b;box-shadow:0 0 52px #9b5cff33}.visual-shape:after{border-color:#c29fff52}.hero-orbit{background:0 0}.planet{background:radial-gradient(circle at 35% 30%,#a683d2 0%,#6d4a98 58%,#2a1c3e 100%);box-shadow:0 0 52px #914cff33,inset -16px -12px 22px #00000061}.scroll-cue,.nav-links a[href=\/work],.hero-actions a[href=\/work]{display:none}.education-grid{grid-template-columns:1.05fr .85fr;gap:80px;display:grid}@media (width<=760px){.education-grid{grid-template-columns:1fr;gap:35px}}.education-grid{grid-template-columns:1fr;gap:42px}.education-grid .experience-list{width:100%}main{flex-direction:column;min-height:100vh;display:flex}main>.footer{margin-top:auto}body{background:linear-gradient(135deg,#0b0910 0%,#0d0a13 24%,#110c19 46%,#0e0a14 68%,#0b0910 100%) fixed}main{background:0 0}main:has(.page-contact) .page-header{border-bottom:1px solid var(--line);padding-bottom:55px}main:has(.page-contact) .page-contact{border-top:0}@media (width<=760px){main:has(.page-contact) .page-header{padding-bottom:45px}}:root{--surface:#ffffff09;--surface-accent:#9b5cff13;--surface-radius:10px;--surface-shadow:0 18px 45px #00000029}body{color:var(--ink);line-height:1.5}h1,h2,h3{font-weight:700}h1{margin-bottom:48px}.hero{min-height:760px;padding-top:90px;padding-bottom:160px}.hero-intro{font-size:16px;line-height:1.9}.hero-actions{margin-top:52px}.section{padding-top:220px}.page-header{padding-top:100px}.page-section{padding-top:120px}.about-grid,.experience-grid,.volleyball-content{gap:100px}.work-heading{margin-bottom:72px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project-card:nth-child(3){grid-column:1/-1;grid-template-columns:.9fr 1.1fr;display:grid}.project-card:nth-child(3) .project-visual{height:100%;min-height:280px}.volleyball-page-section{padding-top:100px}.contact{padding:160px 0 170px}.button,.project-card,.volleyball-intro-card,.volleyball-stats-card,.volleyball-quote-card,.volleyball-role-grid .volleyball-roles,.volleyball-schedule,.volleyball-stats div,.beyond-court,.video-embed,.video-thumbnail{border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}.button-primary{box-shadow:0 14px 30px #9b5cff29}.button-primary:hover{box-shadow:0 18px 36px #9b5cff47}.project-card,.volleyball-intro-card,.volleyball-stats-card,.volleyball-quote-card,.volleyball-role-grid .volleyball-roles,.volleyball-schedule,.volleyball-stats div{background:var(--surface)}.volleyball-quote-card{background:var(--surface-accent)}.volleyball-quote-card .volleyball-quote{border-radius:var(--surface-radius);box-shadow:none}.volleyball-quote-card .volleyball-quote:before{left:28px}.volleyball-quote-card .volleyball-quote:after{left:36px}@media (width<=760px){.hero{min-height:760px;padding-top:65px;padding-bottom:120px}h1{margin-bottom:36px}.hero-actions{margin-top:40px}.section{padding-top:110px}.page-header{padding-top:65px}.page-section{padding-top:90px}.about-grid,.experience-grid,.volleyball-content{gap:45px}.work-heading{margin-bottom:48px}.project-list{grid-template-columns:1fr;gap:20px}.project-card:nth-child(3){display:block}.project-card:nth-child(3) .project-visual{min-height:220px}.volleyball-page-section{padding-top:65px}.contact{padding:100px 0 110px}}.volleyball-quote-card{--glow-x:50%;--glow-y:50%;overflow:hidden}.volleyball-quote-card:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at var(--glow-x) var(--glow-y), #9b5cff24, transparent 42%);opacity:.8;transition:opacity .3s;position:absolute;inset:0}.volleyball-quote-card:hover:before{opacity:1}.volleyball-quote-card .volleyball-quote,.volleyball-quote-card:after{z-index:1}.reveal-on-scroll{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.2,.8,.2,1);transform:translateY(20px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.page-transition{animation:.3s both page-fade-in}.page-transition:after{content:"SP  /  LOADING";z-index:50;pointer-events:none;background-image:linear-gradient(var(--purple), var(--purple)), linear-gradient(#0b0910, #0b0910);color:var(--muted);font:10px var(--mono);letter-spacing:.18em;background-position:50% calc(50% + 30px),50%;background-repeat:no-repeat;background-size:0 1px,100% 100%;place-items:center;animation:1s cubic-bezier(.2,.8,.2,1) both route-loader,1s cubic-bezier(.2,.8,.2,1) both route-progress;display:grid;position:fixed;inset:0}@keyframes page-fade-in{0%{opacity:.82}to{opacity:1}}@keyframes route-loader{0%,62%{opacity:1}to{opacity:0}}@keyframes route-progress{0%{background-size:0 1px,100% 100%}70%{background-size:110px 1px,100% 100%}to{background-size:160px 1px,100% 100%}}@media (prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none}.page-transition,.page-transition:after{animation:none}.page-transition:after{opacity:0}}:root{--muted:#c9c2d2;--faint:#9d94ab;--line:#ffffff2e}.project-number,.visual-caption{color:#f5f1ffc7}.footer{color:var(--faint)}.hero-orbit .orbit,.hero-orbit .orbit-label{display:none}.hero-orbit .planet{box-shadow:none;background:0 0;inset:100px}.hero-orbit:hover .planet{box-shadow:none}.hero-orbit .planet span{color:#0000;filter:drop-shadow(0 24px 28px #00000057)drop-shadow(0 0 28px #9b5cff33);background:url(/molten-flistatec.png) 50%/112% no-repeat;border-radius:50%;width:270px;height:270px;font-size:0;transition:filter .35s;animation:24s linear infinite volleyball-spin;display:block;overflow:hidden}.hero-orbit:hover .planet span{filter:drop-shadow(0 28px 32px #00000061)drop-shadow(0 0 36px #9b5cff47)}.hero h1 em:hover{text-shadow:none;transform:none}@media (width<=760px){.hero-orbit .planet{inset:45px}.hero-orbit .planet span{width:270px;height:270px}}@keyframes volleyball-spin{0%{transform:rotate(-12deg)}to{transform:rotate(348deg)}}@media (prefers-reduced-motion:reduce){.hero-orbit .planet span{animation:none}}
