/* Layered depth, kinetic type and one-shot reveals. */
.hero{isolation:isolate;background:radial-gradient(ellipse at 85% 26%,#e4f1d955,transparent 58%)}.hero-halo{position:absolute;z-index:-1;width:740px;height:740px;right:-170px;top:-130px;border-radius:50%;background:radial-gradient(circle,#c4e2a96e,transparent 67%);translate:var(--halo-x,0px) 0;pointer-events:none;transition:translate 1.6s cubic-bezier(.16,1,.3,1)}
.hero-title .w{animation:cinema-word 1.25s cubic-bezier(.16,1,.3,1) both;transform-origin:0 100%;will-change:transform,opacity}.hero-title .w:nth-of-type(2){animation-delay:.13s}.hero-title .w:nth-of-type(3){animation-delay:.26s}.hero-title .acc{background-image:linear-gradient(100deg,#355a27 5%,#619447 35%,#b4d489 50%,#527f3e 65%,#355a27);background-size:280% 100%;animation:cinema-word 1.25s cubic-bezier(.16,1,.3,1) .26s both,hero-shine 2.6s cubic-bezier(.16,1,.3,1) 1s both}.hero-portrait{translate:var(--portrait-x,0px) var(--portrait-y,0px);transition:translate 1.3s cubic-bezier(.16,1,.3,1)}.hero-portrait img{animation:portrait-materialize 1.4s cubic-bezier(.16,1,.3,1) .15s both}.hero-disc{animation:disc-bloom 1.6s cubic-bezier(.16,1,.3,1) both}.hero-hello{animation:label-arrive 1s cubic-bezier(.16,1,.3,1) .75s both}.portrait-tag{animation:tag-arrive 1s cubic-bezier(.16,1,.3,1) 1s both}
.math-orbit{position:absolute;inset:0;pointer-events:none;z-index:3;translate:var(--orbit-x,0px) var(--orbit-y,0px);transition:translate 1.6s cubic-bezier(.16,1,.3,1)}.orbit-ring{position:absolute;left:-9%;top:10%;width:116%;height:80%;border:1px solid #789d4f45;border-radius:50%;rotate:-23deg;z-index:-1}.ring-b{left:2%;top:4%;width:96%;height:94%;rotate:24deg;border-style:dashed;border-color:#789d4f33;animation:orbital-drift 42s linear infinite}.orbit-token{position:absolute;padding:14px 20px;background:#fffffff0;backdrop-filter:blur(10px);border:1px solid #ffffff;border-radius:15px;box-shadow:0 15px 40px #31472715;color:#3d652c;font-size:21px;font-weight:600;letter-spacing:-.04em;animation:token-float 6s ease-in-out infinite}.token-a{left:-5%;top:37%;rotate:-11deg;font-size:34px}.token-b{right:-5%;top:19%;rotate:9deg;animation-delay:-2s}.token-c{right:-2%;bottom:22%;rotate:-6deg;font-size:15px;animation-delay:-4s}.orbit-spark{position:absolute;font-size:55px;color:#80a956;animation:spark-turn 18s linear infinite}.spark-a{left:0;bottom:15%}.spark-b{right:8%;top:1%;font-size:37px;animation-direction:reverse}.motion-band{position:relative;overflow:hidden;padding:26px 0;background:#c3dfaa;border-block:1px solid #a9c98e;rotate:-1.5deg;margin:12px -2% 20px;width:104%;contain:paint}.motion-band-track{display:flex;align-items:center;gap:42px;width:max-content;animation:math-marquee 32s linear infinite;will-change:transform}.motion-band span{font-size:clamp(26px,4.5vw,64px);letter-spacing:-.06em;font-weight:650;line-height:1}.motion-band i{font-style:normal;font-size:46px;color:#527f3e}.motion-heading .reveal-mask{display:inline-block;overflow:hidden;vertical-align:top;padding:.13em .035em;margin:-.13em -.035em}.motion-heading .reveal-word{display:inline-block;translate:0 115%;rotate:4deg;opacity:0;transition:translate 1s cubic-bezier(.16,1,.3,1),rotate 1s cubic-bezier(.16,1,.3,1),opacity .65s;transition-delay:var(--word-delay,0ms)}.motion-heading.is-in .reveal-word{translate:0 0;rotate:0deg;opacity:1}.js h2.motion-heading[data-rise]{opacity:1;transform:none;transition:none}
.motion-surface{position:relative;isolation:isolate;transform-style:preserve-3d;rotate:1 0 0 var(--rx,0deg);transition:rotate .7s cubic-bezier(.16,1,.3,1),box-shadow .5s;--light-x:50%;--light-y:50%}.motion-surface::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(440px circle at var(--light-x) var(--light-y),#bde59e35,transparent 65%);opacity:0;transition:opacity .5s;z-index:2}.motion-surface.pointer-on::after{opacity:1}.plan,.case{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .5s}.plan-hot{box-shadow:0 25px 65px -35px #385c2a70}.plan-hot .plan-badge{box-shadow:0 0 0 5px #c7e4af60,0 8px 25px #527f3e25}.btn{position:relative;overflow:hidden;translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .6s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s}.btn::after{content:'';position:absolute;width:35%;height:220%;top:-60%;left:-65%;background:linear-gradient(90deg,transparent,#ffffff45,transparent);rotate:25deg;pointer-events:none}.btn:hover::after{animation:button-sweep .8s ease-out}.btn:hover{box-shadow:0 12px 30px -12px #527f3e90}.case-arrow{overflow:visible}.score-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:#94bd64;top:-3px;left:0;box-shadow:0 0 16px #a1d57d;opacity:0}.is-in .score-particle{animation:score-run 1.3s cubic-bezier(.22,1,.36,1) .5s both}.metrics dt{font-variant-numeric:tabular-nums}.lesson-board{box-shadow:inset 0 0 80px #91b3710f,0 18px 36px -22px #17201665}.lesson-board::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#d7f6b406 45%,transparent 60%);background-size:240% 100%;animation:board-glint 9s ease-in-out infinite}.result-proof{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}.result-proof:hover{transform:translateY(-6px)}.result-track{padding-top:10px}.final-photo{perspective:1000px}.final-photo.is-in img{animation:final-develop 1.4s cubic-bezier(.16,1,.3,1) both}.dark .aurora i{width:42vw;height:42vw;filter:blur(65px);opacity:.25}.soft{background:#edf1e8}
.hero:not(.motion-visible) .math-orbit *,.motion-band:not(.motion-visible) .motion-band-track,.dark:not(.motion-visible) .aurora i,.referral:not(.motion-visible) img{animation-play-state:paused}
@keyframes cinema-word{from{opacity:0;transform:translate3d(0,70px,0) rotateX(-50deg) rotateZ(2deg);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@keyframes hero-shine{from{background-position:100% 50%}to{background-position:0 50%}}@keyframes portrait-materialize{from{opacity:0;clip-path:inset(14% 0 5% 0 round 200px 200px 28px 28px);transform:scale(1.06) translateY(28px)}to{opacity:1;clip-path:inset(0 round 200px 200px 28px 28px);transform:none}}@keyframes disc-bloom{from{opacity:0;scale:.7}to{opacity:1;scale:1}}@keyframes label-arrive{from{opacity:0;translate:-30px 20px;rotate:-12deg}to{opacity:1;translate:0 0;rotate:0deg}}@keyframes tag-arrive{from{opacity:0;translate:25px 20px}to{opacity:1;translate:0 0}}@keyframes token-float{50%{translate:0 -14px}}@keyframes orbital-drift{to{rotate:384deg}}@keyframes spark-turn{to{transform:rotate(360deg)}}@keyframes math-marquee{to{transform:translateX(-50%)}}@keyframes button-sweep{to{left:140%}}@keyframes score-run{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}@keyframes board-glint{0%,30%{background-position:100% 0}70%,100%{background-position:0 0}}@keyframes final-develop{from{opacity:.3;transform:rotateY(-7deg) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:760px){.math-orbit{inset:12px}.token-a{left:-2%;font-size:27px;padding:10px 15px}.token-b{right:-1%;font-size:17px;padding:10px 15px}.token-c{right:0;font-size:12px;padding:10px 14px}.orbit-ring{width:106%;left:-3%}.motion-band{padding:22px 0;margin-top:0}.motion-band-track{gap:24px}.motion-band i{font-size:30px}.hero-title .w{will-change:auto}.dark .aurora i{filter:blur(40px);width:65vw;height:65vw}.motion-surface{rotate:none}.plan,.case{transform:none}.hero-halo{width:500px;height:600px;right:-200px}}
@media(prefers-reduced-motion:reduce){.hero-halo,.math-orbit,.motion-band{display:none}.motion-heading .reveal-word{translate:none;rotate:none;opacity:1}.motion-surface,.plan,.case,.hero-portrait,.btn{transform:none!important;translate:none!important;rotate:none!important}.hero-title .w,.hero-portrait img{opacity:1;clip-path:none;filter:none}}
body{overflow-x:clip}.plan.motion-surface,.case.motion-surface{rotate:none}.js [data-stagger].is-in>.plan.motion-surface,.js [data-stagger].is-in>.case.motion-surface{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:opacity .65s var(--ease),transform .55s cubic-bezier(.16,1,.3,1),box-shadow .5s}.motion-band:hover .motion-band-track{animation-play-state:paused}
@media(max-width:760px){.js [data-stagger].is-in>.motion-surface{transform:none}}
@media(prefers-reduced-motion:reduce){.js [data-stagger].is-in>.motion-surface{transform:none!important}}

/* Full boxing composition: keep both the punch and the workbook visible. */
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:28px;animation:boxing-arrive 1.3s cubic-bezier(.16,1,.3,1) .15s both}.hero-portrait{height:auto;aspect-ratio:3/4;max-height:none}.hero-hello{top:3%;left:-5%;font-size:24px}.token-a{left:-7%;top:27%;font-size:28px}.token-b{top:9%;right:-4%}.token-c{bottom:9%;right:-3%}.portrait-tag{bottom:-2%;right:4%}.final-photo img{aspect-ratio:4/3;object-fit:cover;object-position:center;border:1px solid #ffffff18}.final h2{font-size:clamp(38px,4.5vw,64px)}
@keyframes boxing-arrive{from{opacity:0;transform:translateY(35px) rotate(2deg) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:760px){.hero-portrait{height:auto;width:min(100%,420px);aspect-ratio:3/4;margin-top:28px}.hero-portrait img{width:100%;height:100%}.hero-hello{left:-1%;font-size:21px}.token-a{left:-3%;font-size:24px}.token-b{right:-1%;font-size:15px}.token-c{display:none}.final h2{font-size:clamp(38px,9vw,60px)}}

.final-photo img{aspect-ratio:3/2;object-fit:contain}
