@keyframes heroSlideUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes heroBlobFloat{0%,100%{transform:translate(0, 0) scale(1)}33%{transform:translate(-24px, -16px) scale(1.04)}66%{transform:translate(12px, -28px) scale(0.97)}}@keyframes heroFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero{position:relative;height:100vh;min-height:580px;max-height:1000px;display:flex;align-items:center;overflow:hidden;background:var(--heading-color)}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;z-index:0;transition:transform 12s ease}.hero:hover .hero__bg{transform:scale(1.03)}.hero__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, var(--overlay-opacity, 0.45));z-index:1;pointer-events:none}.hero__blob{position:absolute;border-radius:50%;pointer-events:none}.hero__blob--1{width:600px;height:600px;background:radial-gradient(circle, rgba(74, 129, 240, 0.15) 0%, transparent 70%);top:-150px;right:-100px;animation:heroBlobFloat 12s ease-in-out infinite}.hero__blob--2{width:400px;height:400px;background:radial-gradient(circle, rgba(255, 184, 48, 0.12) 0%, transparent 70%);bottom:0;left:-80px;animation:heroBlobFloat 9s ease-in-out infinite reverse}.hero__blob--3{width:250px;height:250px;background:radial-gradient(circle, rgba(74, 129, 240, 0.08) 0%, transparent 70%);top:40%;left:35%;animation:heroBlobFloat 15s ease-in-out infinite 3s}.hero__container{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(60px,10vh,120px) 40px;width:100%;display:flex;justify-content:center}@media(max-width: 768px){.hero__container{padding:60px 24px}}.hero__content{max-width:780px;width:100%;text-align:center;animation:heroSlideUp .9s ease-out both}.hero__badge{display:inline-flex;align-items:center;gap:8px;background:hsla(0,0%,100%,.12);color:#fff;padding:8px 18px;border-radius:100px;font-size:1.4rem;font-weight:600;font-family:var(--font-body);margin-bottom:24px;border:1.5px solid hsla(0,0%,100%,.2);backdrop-filter:blur(8px)}.hero__badge i{font-size:1.6rem}.hero__title{font-family:var(--font-heading);font-size:6rem;line-height:1.05;color:#fff;margin:0 0 24px;font-weight:900;letter-spacing:-0.02em;text-shadow:0 2px 24px rgba(0,0,0,.15);animation:heroSlideUp .9s ease-out .1s both}@media(max-width: 1024px){.hero__title{font-size:4.8rem}}@media(max-width: 768px){.hero__title{font-size:3.6rem}}.hero__subtitle{font-family:var(--font-body);font-size:1.9rem;line-height:1.7;color:hsla(0,0%,100%,.85);margin:0 auto 44px;max-width:600px;font-weight:400;animation:heroSlideUp .9s ease-out .2s both}@media(max-width: 768px){.hero__subtitle{font-size:1.6rem}}.hero__actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:28px;animation:heroSlideUp .9s ease-out .3s both}.hero__btn{display:inline-flex;align-items:center;gap:10px;padding:18px 38px;border-radius:100px;font-family:var(--font-body);font-weight:600;font-size:1.6rem;text-decoration:none;transition:all .3s cubic-bezier(0.175, 0.885, 0.32, 1.275);white-space:nowrap}.hero__btn--primary{background:var(--accent-color);color:#fff;box-shadow:0 8px 28px rgba(74,129,240,.4)}.hero__btn--primary i{font-size:1.8rem;transition:transform .3s ease}.hero__btn--primary:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(74,129,240,.5)}.hero__btn--primary:hover i{transform:translateX(4px)}.hero__btn--secondary{background:hsla(0,0%,100%,.12);color:#fff;border:2px solid hsla(0,0%,100%,.3);backdrop-filter:blur(8px)}.hero__btn--secondary:hover{background:hsla(0,0%,100%,.22);border-color:hsla(0,0%,100%,.5)}.hero__enroll{display:inline-flex;align-items:center;gap:10px;color:hsla(0,0%,100%,.75);font-size:1.5rem;font-weight:600;font-family:var(--font-body);text-decoration:none;padding:10px 0;transition:color .3s ease;animation:heroFadeIn 1s ease-out .5s both}.hero__enroll i{font-size:1.8rem;color:#ef4444;transition:transform .3s ease}.hero__enroll:hover{color:#fff}.hero__enroll:hover i{transform:scale(1.2)}.hero__wave{position:absolute;bottom:-2px;left:0;right:0;z-index:3;line-height:0}.hero__wave svg{width:100%;height:80px}@media(max-width: 768px){.hero{min-height:520px;max-height:none}}