/* Motion layer: native CSS + Web Animations. No external dependencies. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{position:fixed;transition:background .35s,box-shadow .35s;isolation:isolate}
.header.scrolled{background:rgba(22,32,31,.86);box-shadow:0 10px 40px #0003}
.header:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(110deg,transparent 10%,#ff7a2f18 30%,#78d8ce12 45%,transparent 60%);background-size:250% 100%;animation:glass-flow 13s linear infinite;pointer-events:none}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:30;background:linear-gradient(90deg,var(--orange),#67c8bc);transform:scaleX(0);transform-origin:left;pointer-events:none}
.hero-glow{overflow:hidden;inset:-12%;opacity:.85;background:radial-gradient(ellipse at 70% 55%,#1f8a8a40,transparent 48%)}
.hero-glow:before,.hero-glow:after{content:'';position:absolute;inset:-25%;border-radius:44%;pointer-events:none;will-change:transform}
.hero-glow:before{background:conic-gradient(from 30deg at 58% 48%,transparent 0 27%,#ff7a2f00 30%,#ff7a2f6b 34%,#feb48066 37%,transparent 43% 68%,#1f8a8a6b 73%,#75d4ba44 76%,transparent 82%);filter:blur(38px);animation:aurora-flow 24s ease-in-out infinite alternate}
.hero-glow:after{background:conic-gradient(from 160deg at 55% 50%,transparent 0 30%,#1f8a8a66 38%,transparent 45% 75%,#ff7a2f33 82%,transparent 89%);filter:blur(50px);animation:aurora-flow 31s ease-in-out infinite alternate-reverse}
.motion-word{display:inline-block;white-space:nowrap}.motion-char{display:inline-block;will-change:transform,opacity}.rotating-phrase{display:inline-block;white-space:nowrap;min-height:1.08em}.hero .hero-heading{perspective:900px}.hero-visual{transform:translate3d(0,var(--portrait-shift,0px),0)}
.portrait-frame{box-shadow:0 0 75px #1f8a8a1c}.portrait-frame:before{content:'';position:absolute;inset:-5%;background:linear-gradient(110deg,transparent 20%,#b2e4d31a 48%,transparent 70%);z-index:1;pointer-events:none;animation:portrait-light 12s ease-in-out infinite}
.motion-enter{transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1),filter .85s;transition-delay:var(--entry-delay,0ms)}
.motion-enter.pending{opacity:0;transform:translateY(35px);filter:blur(5px)}
.course.motion-enter.pending{transform:translateY(55px) scale(.975)}
.number-value{font-variant-numeric:tabular-nums;display:inline-block;min-width:var(--number-width,1ch)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .25s,box-shadow .35s,background .25s}
.button:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff65,transparent 65%);transition:opacity .3s;pointer-events:none}
.button:hover:before,.button:focus-visible:before{opacity:1}.button span{transition:transform .3s}.button:hover span{transform:translate(3px,-3px)}
.button.primary{animation:button-breathe 5s ease-in-out infinite}.course{position:relative;isolation:isolate;overflow:hidden;transition:border-color .4s,box-shadow .4s,opacity .85s,transform .85s,filter .85s}
.course:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,50%),#88d0b610,transparent 70%);opacity:0;transition:opacity .4s}
.course:hover:after{opacity:1}.course:hover{border-color:#8bc6b440;box-shadow:0 15px 65px #0002}
.course-master:before{content:'';position:absolute;inset:-35%;z-index:-1;pointer-events:none;background:conic-gradient(from 90deg,transparent 0 25%,#ff7a2f14 30%,transparent 39% 75%,#1f8a8a19 80%,transparent 88%);filter:blur(20px);animation:orbit-turn 30s linear infinite}
.record-dot{animation:rec-pulse 2.6s ease-in-out infinite}
.method{overflow:hidden}.method-diagram{position:relative;display:grid;grid-template-columns:1fr .8fr 1fr;grid-template-rows:1fr 1fr;gap:55px 8%;min-height:550px;isolation:isolate}
.method-diagram article{border:1px solid #77b8ad33;border-radius:12px;padding:25px;background:linear-gradient(140deg,#1a302ac4,#101819);z-index:2;transition:border-color .6s,box-shadow .6s,opacity .85s,transform .85s,filter .85s}
.method-diagram article:nth-child(1){grid-area:1/1;background:linear-gradient(140deg,#3e251bc4,#151b19)}.method-diagram article:nth-child(2){grid-area:1/3}.method-diagram article:nth-child(3){grid-area:2/1}.method-diagram article:nth-child(4){grid-area:2/3;background:linear-gradient(140deg,#382319c4,#141d1b)}
.method-diagram article:before{display:none}.method-diagram .step-number{margin-bottom:24px}.method-diagram p{max-width:none;margin-bottom:0}.method-diagram article.active-step{border-color:#ff7a2f80;box-shadow:0 0 40px #ff7a2f12}
.method-center{position:absolute;left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:3;background:radial-gradient(circle at 40% 30%,#20423b,#0e1616 65%);box-shadow:0 0 65px #1f8a8a22;border:1px solid #61948b40}
.method-center:before{content:'';position:absolute;inset:-14px;border-radius:50%;border:1px solid #52867c30;border-top-color:var(--orange);border-bottom-color:#59bcaa;animation:orbit-turn 18s linear infinite}
.method-center:after{content:'';position:absolute;inset:8px;border-radius:50%;border:1px dashed #9bc3b322;animation:orbit-turn 34s linear infinite reverse}
.method-center span{font-size:20px;font-weight:600;text-align:center;line-height:1.6}.method-center small{display:block;font-size:10px;letter-spacing:2px;color:#8ebbb0;font-weight:400}
.method-connections{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible}.method-connections path{fill:none;stroke:#689f8c4d;stroke-width:1;vector-effect:non-scaling-stroke}.method-connections .signal{stroke:#ff965f;stroke-dasharray:7 150;stroke-width:2;animation:signal-flow 5s linear infinite;opacity:.8}
.contact{isolation:isolate}.star-field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.65}.contact-orbit{animation:contact-halo 12s ease-in-out infinite}.contact>p,.contact>h2{position:relative;z-index:1}
.motion-control{border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);font-size:12px;padding:6px 10px;cursor:pointer}.motion-control:hover{color:var(--text);border-color:var(--orange)}.footer-bottom>span:last-child{display:flex;align-items:center;gap:20px}
body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after,body.page-hidden *,body.page-hidden *:before,body.page-hidden *:after{animation-play-state:paused!important}
body.motion-paused .motion-enter.pending{opacity:1;transform:none;filter:none}body.motion-paused .hero-visual{transform:none}
@keyframes aurora-flow{0%{transform:rotate(-20deg) scale(1.05) translate(-3%,2%)}50%{transform:rotate(15deg) scale(1.2) translate(3%,-4%)}100%{transform:rotate(48deg) scale(1.08) translate(-2%,5%)}}
@keyframes glass-flow{0%{background-position:120% 0}100%{background-position:-120% 0}}
@keyframes portrait-light{0%,100%{transform:translateX(-45%);opacity:.3}50%{transform:translateX(45%);opacity:.7}}
@keyframes button-breathe{0%,100%{box-shadow:0 0 15px #ff7a2f15}50%{box-shadow:0 0 28px #ff7a2f38}}
@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes signal-flow{to{stroke-dashoffset:-314}}
@keyframes rec-pulse{0%,100%{opacity:1;box-shadow:0 0 14px #ff7a2f55}50%{opacity:.3;box-shadow:0 0 0 #ff7a2f00}}
@keyframes contact-halo{0%,100%{box-shadow:0 0 100px #1f8a8a0c,inset 0 0 100px #1f8a8a10}50%{box-shadow:0 0 140px #ff7a2f10,inset 0 0 130px #1f8a8a24}}
@media(max-width:1050px){.method-diagram{grid-template-columns:1fr .45fr 1fr;gap:40px 6%}.method-center{width:145px;height:145px}.method-center span{font-size:17px}.method-diagram article{padding:23px}}
@media(max-width:760px){html{scroll-padding-top:110px}.hero .hero-heading{font-size:clamp(48px,11vw,80px)}.header nav.open{animation:menu-arrive .35s both}.header nav.open a{animation:menu-item .45s both}.header nav.open a:nth-child(2){animation-delay:.06s}.header nav.open a:nth-child(3){animation-delay:.12s}.header nav.open a:nth-child(4){animation-delay:.18s}.method-diagram{display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:18px;min-height:0;padding-left:25px}.method-diagram article:nth-child(n){grid-area:auto}.method-center,.method-connections{display:none}.method-diagram:before{content:'';position:absolute;left:4px;top:0;bottom:0;width:1px;background:linear-gradient(var(--orange),#1f8a8a)}.method-diagram article:before{display:block;position:absolute;width:7px;height:7px;left:-25px;top:34px;background:var(--orange);border-radius:50%;box-shadow:0 0 12px #ff7a2f70}.method-diagram .step-number{margin-bottom:18px}.hero-glow:before,.hero-glow:after{filter:blur(28px);will-change:auto}.hero-visual{transform:none}.footer-bottom>span:last-child{flex-wrap:wrap}.contact{min-height:500px}}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes menu-item{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.motion-enter.pending{opacity:1;transform:none;filter:none}.hero-visual{transform:none}.method-connections .signal{display:none}}
