@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&display=swap";.app{width:100%;overflow-x:hidden}.container{max-width:1240px;margin:0 auto;padding:0 1.75rem}@media (width<=768px){.container{padding:0 1.1rem}}.header{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f3f5f8b3;border-bottom:1px solid #0f172a0d;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 35px #0f172a0d}.header-content{justify-content:space-between;align-items:center;gap:2rem;padding:1rem 1.5rem;display:flex}.logo{flex-direction:column;gap:.2rem;display:flex}.logo-button{text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.logo h1{color:#0f172a;letter-spacing:-.06em;margin:0;font-size:1.45rem;font-weight:800}.logo span{color:#64748b;letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:700}.nav{background:#ffffffb8;border:1px solid #0f172a0f;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem;display:flex;box-shadow:0 12px 28px #0f172a0a}.nav-link{cursor:pointer;color:#334155;font:inherit;background:0 0;border:none;border-radius:999px;padding:.72rem 1.05rem;font-size:.95rem;font-weight:700;transition:color .2s,transform .2s,background-color .2s}.nav-link:hover{color:#0f172a;background:#0f5fd714;transform:translateY(-1px)}.mobile-toggle{color:#334155;background:#ffffffd1;border:1px solid #0f172a0f;border-radius:999px;width:2.75rem;height:2.75rem;font-size:1.35rem;display:none}@media (width<=768px){.header-content{padding:.85rem 1rem}.mobile-toggle{display:block}.nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border:1px solid #0f172a14;border-radius:1.2rem;flex-direction:column;gap:0;padding:.85rem 1rem;display:none;position:absolute;top:calc(100% + .35rem);left:.75rem;right:.75rem;box-shadow:0 24px 50px #0f172a1c}.nav.open{display:flex}.nav-link{text-align:left;background:0 0;border-bottom:1px solid #f3f4f6;border-radius:0;width:100%;padding:.9rem 0}.nav-link:last-child{border-bottom:none}.logo span{display:none}}.hero{background:radial-gradient(circle at 86% 14%,#0f5fd724,#0000 24%),radial-gradient(circle at 10% 88%,#94a3b82e,#0000 28%),linear-gradient(#f7f9fb 0%,#eef2f7 100%);width:100%}.hero-shell{grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);align-items:center;gap:4rem;max-width:1240px;min-height:100vh;margin:0 auto;padding:8.25rem 1.75rem 7rem;display:grid;position:relative;overflow:visible}.hero-accent{pointer-events:none;letter-spacing:-.08em;font-size:clamp(12rem,24vw,18rem);font-weight:800;line-height:1;position:absolute}.hero-accent-b{color:#0f5fd70d;top:1rem;right:-2rem}.hero-accent-t{color:#0f5fd70a;top:42%;left:-2rem}.hero-accent-u{color:#0f5fd70a;bottom:-1rem;right:-1rem}.hero-content{z-index:1;position:relative}.hero-eyebrow{color:#0f5fd7;letter-spacing:.14em;text-transform:uppercase;background:#ffffffb8;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.2rem;padding:.55rem .9rem;font-size:.78rem;font-weight:800;display:inline-flex}.hero-content h1{color:#0f172a;letter-spacing:-.06em;max-width:11ch;margin-bottom:1.25rem;font-size:clamp(3.3rem,6.3vw,5.2rem);line-height:.98}.hero-content p{color:#475569;max-width:36rem;margin-bottom:2.2rem;font-size:1.08rem;line-height:1.85}.hero-buttons{flex-wrap:wrap;gap:1rem;margin-bottom:2.8rem;display:flex}.btn{border-radius:999px;justify-content:center;align-items:center;min-width:190px;padding:1rem 1.55rem;font-size:.98rem;font-weight:700;transition:transform .3s,box-shadow .3s,background-color .3s,border-color .3s;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#0f5fd7 0%,#0b3d91 100%);box-shadow:0 16px 28px #0f5fd72e}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 34px #0f5fd738}.btn-secondary{color:#0f172a;background:#ffffffc7;border:1px solid #0f172a14}.btn-secondary:hover{background:#fff;border-color:#0f172a24;transform:translateY(-2px)}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:36rem;display:grid}.hero-metric{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border:1px solid #0f172a14;border-radius:1.35rem;padding:1.15rem 1.1rem;box-shadow:0 14px 36px #0f172a0f}.hero-metric-wide{grid-column:span 1}.hero-metric strong{color:#0f172a;margin-bottom:.2rem;font-size:1.5rem;font-weight:800;display:block}.hero-metric span{color:#64748b;font-size:.9rem}.hero-image-wrap{z-index:1;position:relative}.hero-note{z-index:2;color:#334155;letter-spacing:.04em;background:#ffffffe0;border:1px solid #0f172a14;border-radius:999px;padding:.7rem .95rem;font-size:.78rem;font-weight:700;position:absolute;box-shadow:0 12px 32px #0f172a14}.hero-note-top{top:1.25rem;left:-1.25rem}.hero-note-bottom{bottom:1.25rem;right:-1rem}.hero-image{background:linear-gradient(#ffffffe6 0%,#f4f8fce6 100%);border:1px solid #0f172a14;border-radius:2rem;position:relative;overflow:hidden;box-shadow:0 28px 64px #0f172a1f}.hero-image:before{content:"";pointer-events:none;border:1px solid #fff9;border-radius:1.4rem;position:absolute;inset:1rem}.hero-image img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=980px){.hero-shell{grid-template-columns:1fr;gap:2.75rem;min-height:auto;padding:7rem 1.5rem 5.5rem}.hero-content h1{max-width:none}.hero-note-top{left:1rem}.hero-note-bottom{right:1rem}}@media (width<=768px){.hero-shell{gap:2rem;padding:6.5rem 1.1rem 4.5rem}.hero-content h1{font-size:2.75rem}.hero-content p{font-size:1rem}.hero-buttons{flex-direction:column}.btn{width:100%}.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-metric-wide{grid-column:1/-1}.hero-note{margin-bottom:.85rem;display:inline-flex;position:static}.hero-image-wrap{flex-direction:column;display:flex}.hero-accent-b{top:4rem;right:-.5rem}.hero-accent-t{top:52%;left:-1rem}.hero-accent-u{bottom:-1rem;right:-.25rem}}.about{background:radial-gradient(circle at 100% 0,#0f5fd714,#0000 24%),linear-gradient(#fff 0%,#f3f6fa 100%);padding:8.5rem 1.5rem 5.5rem}.about .container{max-width:1240px;margin:0 auto}.about-heading{text-align:center;max-width:780px;margin:0 auto 4.25rem}.section-kicker{color:#0f5fd7;letter-spacing:.15em;text-transform:uppercase;background:#ffffffd1;border:1px solid #0f172a14;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:1rem;padding:.55rem .9rem;font-size:.78rem;font-weight:800;display:inline-flex}.about h2{color:#0f172a;text-align:center;margin-bottom:1.35rem;font-size:clamp(2.5rem,4vw,3.7rem);line-height:1.03}.intro{color:#475569;text-align:center;max-width:720px;margin:0 auto;font-size:1.06rem;line-height:1.9}.students{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-bottom:4.5rem;display:grid}.student-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#fffffff0 0%,#f6f9fcf5 100%);border:1px solid #0f172a14;border-radius:1.8rem;padding:2rem 1.8rem;transition:transform .35s,box-shadow .35s,border-color .35s;box-shadow:0 18px 48px #0f172a0f}.student-card:hover{border-color:#0f5fd724;transform:translateY(-4px);box-shadow:0 24px 58px #0f172a1a}.student-avatar-wrap{justify-content:center;display:flex}.student-avatar{opacity:0;border:3px solid #0f5fd72e;border-radius:50%;width:140px;height:140px;transition:opacity .95s,transform 1.05s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:scale(.5);box-shadow:0 14px 34px #0f5fd71f}.student-avatar img{object-fit:cover;object-position:center top;width:100%;height:100%}.student-copy{opacity:0;transition:opacity .82s .35s,transform .82s .35s;transform:translateY(14px)}.student-card.is-visible .student-avatar{opacity:1;transform:scale(1)}.student-card.is-visible .student-copy{opacity:1;transform:translateY(0)}.student-card h3{color:#0f172a;text-align:center;margin:1.15rem 0 .4rem;font-size:1.28rem}.student-card .role{color:#0f5fd7;text-transform:uppercase;text-align:center;letter-spacing:.11em;margin-bottom:.95rem;font-size:.78rem;font-weight:800}.student-card .bio{color:#5b6678;text-align:center;font-size:.98rem;line-height:1.75}.why-choose-us{background:radial-gradient(circle at 100% 0,#0f5fd717,#0000 34%),linear-gradient(#fffffff5 0%,#f3f6faf5 100%);border:1px solid #0f172a14;border-radius:2rem;padding:3rem;box-shadow:0 22px 52px #0f172a0f}.why-choose-us h3{color:#0f172a;margin-bottom:2rem;font-size:clamp(1.8rem,3vw,2.35rem)}.benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1.8rem;display:grid}.benefit{background:#ffffffb8;border:1px solid #0f172a0f;border-radius:1.35rem;align-items:flex-start;gap:1rem;padding:1.1rem 1.15rem;display:flex}.benefit .icon{color:#0f5fd7;opacity:0;background:#dbeafebf;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-weight:800;display:inline-flex;transform:scale(.7);box-shadow:0 10px 22px #0f5fd71a}.benefit p{color:#334155;line-height:1.7}.benefits.is-visible .benefit .icon{animation:.9s forwards benefitPop}.benefits.is-visible .benefit:first-child .icon{animation-delay:.12s}.benefits.is-visible .benefit:nth-child(2) .icon{animation-delay:.48s}.benefits.is-visible .benefit:nth-child(3) .icon{animation-delay:.84s}.benefits.is-visible .benefit:nth-child(4) .icon,.benefits.is-visible.is-reverse .benefit:first-child .icon{animation-delay:1.2s}.benefits.is-visible.is-reverse .benefit:nth-child(2) .icon{animation-delay:.84s}.benefits.is-visible.is-reverse .benefit:nth-child(3) .icon{animation-delay:.48s}.benefits.is-visible.is-reverse .benefit:nth-child(4) .icon{animation-delay:.12s}@keyframes benefitPop{0%{opacity:0;transform:scale(.72)}65%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (width<=900px){.students{grid-template-columns:1fr}}@media (width<=768px){.about{padding:7rem 1.1rem 4.5rem}.about-heading{margin-bottom:3rem}.about h2{font-size:2.2rem}.why-choose-us{padding:2rem}.benefits{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.student-card,.student-avatar,.student-copy,.benefit .icon{opacity:1;transition:none;animation:none;transform:none}}.services{background:radial-gradient(circle at top,#0f5fd714,#0000 22%),linear-gradient(#f8fafc 0%,#f1f5f9 100%);padding:6.5rem 1.5rem}.services .container{max-width:1160px;margin:0 auto}.services h2{color:#0f172a;text-align:center;margin-bottom:1rem;font-size:clamp(2.35rem,4vw,3.55rem);line-height:1.04}.services-intro{color:#475569;text-align:center;max-width:700px;margin:0 auto 3.75rem;font-size:1.03rem;line-height:1.8}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;display:grid;overflow:visible}.service-card{background:linear-gradient(#fffffff5 0%,#f5f8fbfa 100%);border:1px solid #0f172a14;border-radius:1.7rem;min-height:320px;transition:transform .42s,box-shadow .42s,border-color .42s;position:relative;overflow:hidden;box-shadow:0 18px 48px #0f172a0f}.service-card:before{content:"";opacity:0;background:radial-gradient(circle at 100% 0,#0f5fd71a,#0000 34%);transition:opacity .35s;position:absolute;inset:0}.service-card-inner{z-index:1;flex-direction:column;min-height:100%;padding:2.1rem;display:flex;position:relative}.service-index{color:#64748b;letter-spacing:.18em;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:800}.service-card h3{color:#0f172a;margin:0 0 .85rem;font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.12}.service-summary{color:#334155;max-width:30ch;margin:0;font-size:1rem;line-height:1.72}.service-card-detail{opacity:0;max-height:0;margin-top:0;transition:max-height .45s,margin-top .45s,opacity .32s;overflow:hidden}.service-card-detail p{color:#334155;border-top:1px solid #0f172a14;margin:0;padding-top:1rem;font-size:.98rem;line-height:1.72}.grow-br{transform-origin:0 0}.grow-bl{transform-origin:100% 0}.grow-tr{transform-origin:0 100%}.grow-tl{transform-origin:100% 100%}.service-card:hover,.service-card:focus-within{z-index:3;border-color:#0f5fd72e;transform:scale(1.05);box-shadow:0 28px 72px #0f172a1f}.service-card:hover:before,.service-card:focus-within:before{opacity:1}.service-card:hover .service-card-detail,.service-card:focus-within .service-card-detail{opacity:1;max-height:12rem;margin-top:1.25rem}@media (width<=768px){.services{padding:5rem 1.1rem}.services-intro{margin-bottom:2.75rem}.services-grid{grid-template-columns:1fr;gap:1rem}.service-card{min-height:280px}.service-card-inner{padding:1.6rem}}@media (hover:none){.service-card{transform:none}.service-card:before{opacity:1}.service-card-detail{opacity:1;max-height:none;margin-top:1.25rem;overflow:visible}}.contact{background:radial-gradient(circle at 10% 10%,#0f5fd714,#0000 22%),linear-gradient(#fff 0%,#f5f8fb 100%);padding:6rem 1.5rem}.contact .container{max-width:1240px;margin:0 auto}.contact h2{color:#0f172a;text-align:center;margin-bottom:1rem;font-size:clamp(2.4rem,4vw,3.5rem)}.contact-intro{text-align:center;color:#475569;max-width:640px;margin:0 auto 3.25rem;font-size:1.05rem;line-height:1.8}.contact-content{grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);align-items:stretch;gap:1.5rem;display:grid}.contact-info,.contact-form{border:1px solid #0f172a14;border-radius:1.8rem;box-shadow:0 18px 48px #0f172a0f}.contact-info{background:radial-gradient(circle at 100% 0,#0f5fd717,#0000 30%),linear-gradient(#fffffff5 0%,#f4f8fcf5 100%);padding:2.25rem}.contact-kicker{color:#0f5fd7;letter-spacing:.14em;text-transform:uppercase;background:#dbeafeb3;border-radius:999px;margin-bottom:1rem;padding:.5rem .8rem;font-size:.78rem;font-weight:800;display:inline-flex}.contact-info h3{color:#0f172a;margin-bottom:1rem;font-size:2rem;line-height:1.08}.contact-copy{color:#475569;margin-bottom:2rem;line-height:1.8}.info-item{border-bottom:1px solid #0f172a14;margin-bottom:1.35rem;padding-bottom:1.35rem}.info-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.info-item .label{color:#0f5fd7;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem;font-size:.78rem;font-weight:800;display:block}.info-item p,.info-item a{color:#334155;line-height:1.7}.contact-form{background:#fffffff0;padding:2.25rem}.form-group{margin-bottom:1.2rem}.form-group label{color:#334155;margin-bottom:.55rem;font-weight:700;display:block}.form-group input,.form-group textarea{color:#0f172a;background:#f8fafc;width:100%}.form-group textarea{resize:vertical;min-height:148px}.submit-btn{color:#fff;background:linear-gradient(135deg,#0f5fd7 0%,#0b3d91 100%);border-radius:999px;width:100%;padding:1rem 1.2rem;font-size:.98rem;font-weight:700;box-shadow:0 16px 28px #0f5fd729}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 34px #0f5fd738}.submit-btn.is-pulsing:not(:disabled){animation:2s ease-in-out infinite submitPulse}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.success-message,.error-message{border-radius:1rem;margin-bottom:1.25rem;padding:1rem 1.1rem;font-weight:600}.success-message{color:#0b3d91;background:#e5f0ff;border:1px solid #0f5fd729}.error-message{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}@keyframes submitPulse{0%,to{transform:scale(1);box-shadow:0 16px 28px #0f5fd729}50%{transform:scale(1.012);box-shadow:0 20px 34px #0f5fd738}}@media (width<=768px){.contact{padding:4.75rem 1.1rem}.contact h2{font-size:2.2rem}.contact-content{grid-template-columns:1fr}.contact-info,.contact-form{padding:1.65rem}.contact-info h3{font-size:1.7rem}}.footer{color:#fff;background:radial-gradient(circle at 100% 0,#0f5fd72e,#0000 26%),linear-gradient(135deg,#0f172a 0%,#162338 100%);padding:3.25rem 1.5rem 1.5rem}.footer .container{max-width:1240px;margin:0 auto}.footer-content{border-bottom:1px solid #ffffff14;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem;padding-bottom:2rem;display:grid}.footer-section h4{color:#fff;letter-spacing:-.02em;margin-bottom:1rem;font-size:1.05rem;font-weight:800}.footer-section p{color:#e2e8f0d1;line-height:1.75}.footer-section ul{margin:0;padding:0;list-style:none}.footer-section ul li{margin-bottom:.8rem}.footer-section a,.footer-link-button{color:#e2e8f0d1;transition:color .2s,transform .2s}.footer-section a:hover,.footer-link-button:hover{color:#fff}.footer-link-button{font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.footer-bottom{text-align:center;color:#bfdbfed1;padding-top:.5rem;font-size:.88rem}@media (width<=768px){.footer{padding:2.5rem 1.1rem 1.2rem}}.legal{background:#fff;min-height:60vh;padding:5rem 1.5rem}.legal-container{max-width:800px;margin:0 auto}.legal h1{color:#1f2937;margin-bottom:2rem;font-size:2.5rem;line-height:1.1}.legal h2{color:#1f2937;margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;line-height:1.3}.legal p,.legal ul{color:#4b5563;margin-bottom:1rem;line-height:1.8}.legal ul{padding-left:1.5rem}.legal a{color:#2563eb;text-decoration:none}.legal a:hover{text-decoration:underline}@media (width<=768px){.legal{padding:3rem 1.5rem}.legal h1{font-size:1.9rem}.legal h2{font-size:1.15rem}}:root{--page-bg:#f3f5f8;--surface:#ffffffd1;--surface-strong:#fff;--surface-muted:#eef2f7;--line:#0f172a14;--line-strong:#0f172a24;--text:#0f172a;--text-soft:#475569;--text-muted:#64748b;--brand:#0f5fd7;--brand-deep:#0b3d91;--brand-soft:#dbeafe;--shadow-soft:0 18px 45px #0f172a0f;--shadow-strong:0 24px 70px #0f172a1f;--radius-sm:1rem;--radius-md:1.5rem;--radius-lg:2rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:radial-gradient(circle at 0 0,#0f5fd714,#0000 26%),linear-gradient(#f7f9fb 0%,#eff3f7 100%);font-family:Manrope,Segoe UI,sans-serif}body:before{content:"";pointer-events:none;opacity:.18;background-image:linear-gradient(#ffffff40 1px,#0000 1px),linear-gradient(90deg,#ffffff40 1px,#0000 1px);background-size:120px 120px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 45%,#0000 90%);mask-image:radial-gradient(circle,#000 45%,#0000 90%)}h1,h2,h3,h4,h5,h6{letter-spacing:-.04em;font-weight:700;line-height:1.08}p{line-height:1.7}button{cursor:pointer;border:none;border-radius:.75rem;font-family:inherit;font-size:1rem;transition:all .28s}input,textarea{border:1px solid var(--line);border-radius:1rem;padding:.9rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s}input:focus,textarea:focus{background-color:#fff;border-color:#0f5fd766;outline:none;box-shadow:0 0 0 4px #0f5fd714}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-deep)}
