/* Pointer ornament: only enabled after an actual mouse movement. */
.tech-pointer{position:fixed;inset:0;z-index:10000;pointer-events:none;opacity:0;transition:opacity .2s;contain:layout style}
.tech-pointer.is-active{opacity:1}
.pointer-core,.pointer-shadow{position:absolute;left:0;top:0;will-change:transform}
.pointer-core{width:26px;height:26px;margin:-13px;border:1px solid #79e7dc;border-radius:50%;box-shadow:0 0 13px #3bd7d44d,inset 0 0 9px #8ce5ff38;transition:width .2s,height .2s,margin .2s,box-shadow .2s;background:radial-gradient(circle,#befde680 0 2px,transparent 3px)}
.pointer-core:before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px dashed #799bffb3;animation:pointer-orbit 9s linear infinite}
.pointer-core:after{content:'';position:absolute;inset:3px;border-radius:50%;background:conic-gradient(from 45deg,#6ddbdc,transparent 25%,#b0a4ff,transparent 75%,#6ddbdc);mask:radial-gradient(transparent 60%,#000 64%);opacity:.9}
.pointer-shadow{width:86px;height:86px;margin:-43px;border-radius:50%;background:radial-gradient(circle,#7cead645 0,#73a1ff30 32%,#a084ec20 48%,transparent 70%);filter:blur(8px);transition:opacity .2s;mix-blend-mode:screen}
.tech-pointer.is-hover .pointer-core{width:42px;height:42px;margin:-21px;box-shadow:0 0 22px #66e5d96b,inset 0 0 14px #7ea1ff4d}
.tech-pointer.is-down .pointer-core{width:18px;height:18px;margin:-9px}
.tech-pointer.is-keyboard{opacity:0}
@keyframes pointer-orbit{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html.tech-cursor,html.tech-cursor *{cursor:none!important}
  html.tech-cursor dialog,html.tech-cursor dialog *{cursor:auto!important}
}
.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:100;background:linear-gradient(90deg,#9df0d6,#78c9ed,#b39cf5);transform:scaleX(0);transform-origin:left;pointer-events:none;box-shadow:0 0 10px #80d9eb70}
.atmosphere-ready .hero-copy>.eyebrow{animation:soft-arrive .7s both .05s}
.atmosphere-ready .hero h1{animation:soft-arrive .9s both .15s}
.atmosphere-ready .hero-description{animation:soft-arrive .85s both .3s}
.atmosphere-ready .hero-copy>.button{animation:soft-arrive .85s both .42s}
.atmosphere-ready .hero-mentor{animation:soft-arrive .85s both .55s}
.atmosphere-ready .hero-art{animation:art-arrive 1.1s both .15s}
@keyframes soft-arrive{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes art-arrive{from{opacity:0;translate:30px 15px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
.hero:before,.closing:before{content:'';position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(ellipse at 76% 35%,#449baa17,transparent 40%),radial-gradient(ellipse at 16% 75%,#8375bf15,transparent 40%);animation:ambient-drift 14s ease-in-out infinite alternate}
.closing{position:relative;overflow:hidden}.closing>*{position:relative;z-index:1}
@keyframes ambient-drift{to{transform:translate3d(3%,-2%,0) scale(1.08)}}
.hero-orbit{animation:orbit-breathe 10s ease-in-out infinite}
@keyframes orbit-breathe{50%{opacity:.4;scale:1.045}}
.live-dot{animation:signal-breathe 3s ease-in-out infinite}
@keyframes signal-breathe{50%{box-shadow:0 0 0 6px #b2f6d810,0 0 20px #b2f6d870}}
.plan,.possibility,.review{position:relative;isolation:isolate}
.plan:after,.possibility:after,.review:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(300px circle at var(--light-x,50%) var(--light-y,50%),#82dfc332,transparent 75%);transition:opacity .35s}
.plan:hover:after,.possibility:hover:after,.review:hover:after{opacity:1}
.button{position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.button:after{content:'';position:absolute;inset:-80% auto -80% -80%;width:45%;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:rotate(25deg);transition:left .65s;pointer-events:none}
.button:hover:after{left:140%}
.button:hover{box-shadow:0 9px 25px #286f4826}
.button span,.plan-button{transition:transform .3s}
.button:hover span{transform:translate(3px,-3px)}
.mentor-photo img{transition:scale .8s cubic-bezier(.2,.7,.2,1)}
.mentor-photo:hover img{scale:1.035}
.stats b{display:inline-block;font-variant-numeric:tabular-nums}
.atmosphere-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--entrance-delay,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--entrance-delay,0s)}
.atmosphere-reveal.is-visible{opacity:1;transform:none}
@media(hover:none),(pointer:coarse){.tech-pointer{display:none}.plan:after,.possibility:after,.review:after{display:none}}
@media(prefers-reduced-motion:reduce){
  .tech-pointer,.reading-progress{display:none}
  .atmosphere-reveal{opacity:1;transform:none;transition:none}
  .atmosphere-ready .hero-copy>*,.atmosphere-ready .hero h1,.atmosphere-ready .hero-art,.hero:before,.closing:before,.hero-orbit,.live-dot{animation:none}
  .mentor-photo:hover img{scale:1}.button:after{display:none}
}
