:root{--bg-color:#050505;--text-primary:#fff;--text-secondary:#a0a0ab;--accent-color:#6d28d9;--accent-color-hover:#7c3aed;--accent-gradient:linear-gradient(135deg, #6d28d9 0%, #3b82f6 100%);--glass-bg:#ffffff08;--glass-border:#ffffff14}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;overflow-x:hidden}.bg-blobs{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.blob{filter:blur(100px);opacity:.5;animation:20s ease-in-out infinite float;position:absolute}.blob-1{background:radial-gradient(circle,#6d28d94d 0%,#05050500 70%);width:50vw;height:50vw;animation-delay:0s;top:-10%;left:-10%}.blob-2{background:radial-gradient(circle,#3b82f633 0%,#05050500 70%);width:60vw;height:60vw;animation-delay:-5s;bottom:-20%;right:-10%}@keyframes float{0%{transform:translate(0)scale(1)}33%{transform:translate(5%,10%)scale(1.1)}66%{transform:translate(-5%,5%)scale(.9)}to{transform:translate(0)scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%{box-shadow:0 0 15px #6d28d966}50%{box-shadow:0 0 30px #6d28d9cc}to{box-shadow:0 0 15px #6d28d966}}.water-drops{pointer-events:none;z-index:-1;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}.drop{opacity:0;-webkit-backdrop-filter:blur(2px);background:radial-gradient(circle at 30% 30%,#ffffff80,#ffffff05 60%,#fff0);border-radius:50%;animation:linear infinite rise;position:absolute;bottom:-100px;box-shadow:inset 0 0 10px #ffffff4d,inset 5px 0 12px #ff69b44d,inset -5px 0 12px #00ffff4d,inset 0 -5px 12px #ff03,inset 0 5px 10px #8a2be24d,0 0 5px #ffffff1a}.drop-1{width:50px;height:50px;animation-duration:8s;animation-delay:1s;left:10%}.drop-2{width:90px;height:90px;animation-duration:12s;animation-delay:0s;left:30%}.drop-3{width:40px;height:40px;animation-duration:6s;animation-delay:2s;left:50%}.drop-4{width:70px;height:70px;animation-duration:9s;animation-delay:4s;left:70%}.drop-5{width:100px;height:100px;animation-duration:11s;animation-delay:3s;left:85%}.drop-6{width:35px;height:35px;animation-duration:5s;animation-delay:5s;left:20%}.drop-7{width:80px;height:80px;animation-duration:10s;animation-delay:1.5s;left:45%}.drop-8{width:45px;height:45px;animation-duration:7s;animation-delay:6s;left:60%}.drop-9{width:55px;height:55px;animation-duration:8.5s;animation-delay:.5s;left:80%}.drop-10{width:65px;height:65px;animation-duration:9.5s;animation-delay:2.5s;left:95%}@keyframes rise{0%{opacity:0;transform:translateY(0)scale(1)}10%{opacity:.6}50%{transform:translateY(-50vh)scale(1.1)}90%{opacity:.6}to{opacity:0;transform:translateY(-120vh)scale(1)}}html,body{height:100%;margin:0;padding:0;overflow:hidden}.app-container{scroll-snap-type:y mandatory;scroll-behavior:smooth;z-index:1;height:100vh;display:block;position:relative;overflow-y:scroll}.hero-section{text-align:center;scroll-snap-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:1100px;height:100vh;margin:0 auto;animation:1s ease-out forwards fadeIn;display:flex;position:relative}.badge{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-secondary);-webkit-backdrop-filter:blur(10px);white-space:nowrap;border-radius:50px;justify-content:center;align-items:center;max-width:100%;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:clamp(.75rem,2vw,.875rem);font-weight:500;display:inline-flex}.scroll-indicator{width:100%;color:var(--text-secondary);opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;transition:opacity .3s;animation:1s ease-out 1.2s forwards fadeIn;display:flex;position:absolute;bottom:2rem;left:0;right:0}.scroll-indicator.hidden{opacity:0!important}.scroll-text{letter-spacing:.05em;font-size:.8rem}.bounce-animation{animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.title{background:linear-gradient(90deg,#fff,#a0a0ab);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;margin-bottom:1.5rem;font-size:clamp(1.5rem,4vw,4rem);font-weight:700;line-height:1.2}.subtitle{color:var(--text-secondary);margin-bottom:3rem;font-size:1.125rem;line-height:1.6}.links-container{flex-direction:column;gap:1.5rem;max-width:500px;margin:0 auto;display:flex}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);border-radius:16px;justify-content:space-between;align-items:center;padding:1.5rem;text-decoration:none;transition:all .3s;animation:1s ease-out both fadeIn;display:flex}.glass-card:first-child{animation-delay:.2s}.glass-card:nth-child(2){animation-delay:.4s}.glass-card:nth-child(3){animation-delay:.6s}.glass-card:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-5px);box-shadow:0 15px 35px #0006}.card-content{align-items:center;gap:1.25rem;display:flex}.icon-wrapper{background:var(--accent-gradient);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;animation:3s infinite glowPulse;display:flex}.card-text{text-align:left}.card-title{white-space:nowrap;margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.card-desc{color:var(--text-secondary);font-size:.875rem}.arrow-icon{color:var(--text-secondary);transition:transform .3s,color .3s}.glass-card:hover .arrow-icon{color:var(--text-primary);transform:translate(5px)}@media (width>=768px){.links-container{flex-direction:row;width:100%;max-width:1050px}.glass-card{flex:1 1 0;width:100%}}.footer{text-align:center;width:100%;color:var(--text-secondary);scroll-snap-align:end;padding:2rem 0;font-size:.875rem}.info-section{scroll-snap-align:center;text-align:center;opacity:0;flex-direction:column;justify-content:center;width:100%;max-width:1000px;height:100vh;margin:0 auto;animation:1s ease-out .6s forwards fadeIn;display:flex}.info-section-title{color:var(--text-primary);background:linear-gradient(90deg,#fff,#a0a0ab);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:2.5rem;font-size:1.75rem;font-weight:600}.info-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.info-grid{grid-template-columns:repeat(3,1fr)}}.info-card{background:var(--glass-bg);border:1px solid var(--glass-border);text-align:left;-webkit-backdrop-filter:blur(10px);opacity:0;border-radius:16px;flex-direction:column;gap:1rem;padding:2rem 1.5rem;transition:all .3s;animation:.8s ease-out forwards fadeInUp;display:flex}.info-card:first-child{animation-delay:.6s}.info-card:nth-child(2){animation-delay:.8s}.info-card:nth-child(3){animation-delay:1s}.info-card:hover{background:#ffffff14;border-color:#ffffff40;transform:translateY(-5px);box-shadow:0 15px 35px #0006}.info-icon{color:#fff;border:1px solid var(--glass-border);background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.info-title{color:var(--text-primary);font-size:1.125rem;font-weight:600}.info-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.info-desc strong{color:var(--text-primary);font-weight:600}.curriculum-section{scroll-snap-align:center;text-align:center;flex-direction:column;justify-content:center;width:100%;max-width:1000px;height:100vh;margin:0 auto;display:flex}.curriculum-table-wrapper{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:2rem;overflow-x:auto}.curriculum-table{border-collapse:collapse;text-align:left;width:100%;color:var(--text-primary);font-size:clamp(.85rem,1.5vw,1rem)}.curriculum-table th,.curriculum-table td{border-bottom:1px solid #ffffff1a;padding:1.25rem 1rem;transition:background-color .2s}.curriculum-table th:first-child,.curriculum-table td:first-child{white-space:nowrap}.curriculum-table th{color:var(--text-primary);background:#ffffff14;border-bottom:2px solid #fff3;font-weight:600}.curriculum-table tr:last-child td{border-bottom:none}.curriculum-table tbody tr:hover td{background:#ffffff0f}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hour-badge{background:var(--accent-gradient);color:#fff;white-space:nowrap;border-radius:50px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}
