/* ============================================================
   LUMINARY INSTITUTE — Education Premium Styles (Premium Tier)
   Theme: Ultra dark (#06080f) / deep purple (#7c3aed) / platinum (#e2d9f3)
   ============================================================ */

body { font-family:'Inter','Helvetica Neue',sans-serif; background:#06080f; color:#c4b8e0; cursor:none; }
h1,h2,h3,h4 { font-family:'Cormorant Garamond','Georgia',serif; }
p,li,label,input,textarea,select,button,span { font-family:'Inter','Helvetica Neue',sans-serif; }

.cursor-dot { width:8px;height:8px;background:#7c3aed;position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:opacity 0.3s; }
.cursor-ring { width:36px;height:36px;border:1.5px solid rgba(124,58,237,0.5);position:fixed;border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width 0.25s,height 0.25s,border-color 0.25s; }
.cursor-ring.hover { width:54px;height:54px;border-color:#7c3aed; }

.page-loader { position:fixed;inset:0;background:#06080f;z-index:9997;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:opacity 0.8s,visibility 0.8s; }
.page-loader.done { opacity:0;visibility:hidden; }
.loader-logo { font-size:2rem;color:#7c3aed;font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:8px; }
.loader-bar { width:180px;height:1px;background:rgba(124,58,237,0.15);position:relative;overflow:hidden; }
.loader-bar::after { content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,#7c3aed,transparent);animation:loaderSlide 1.2s ease forwards; }
@keyframes loaderSlide { to{left:100%} }

.site-nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 0;transition:all 0.5s; }
.site-nav.scrolled { background:rgba(6,8,15,0.97);backdrop-filter:blur(20px);box-shadow:0 1px 40px rgba(124,58,237,0.1);padding:1rem 0; }
.nav-inner { max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between; }
.nav-logo { font-size:1.6rem;color:#fff;letter-spacing:4px;font-family:'Cormorant Garamond',serif;font-weight:700;text-transform:uppercase; }
.nav-logo span { color:#7c3aed; }
.nav-links { display:flex;gap:3rem;list-style:none; }
.nav-links a { font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;color:rgba(196,184,224,0.5);transition:color 0.4s; }
.nav-links a:hover,.nav-links a.active { color:#7c3aed; }
.nav-cta { border:1px solid rgba(124,58,237,0.4);color:#7c3aed;padding:0.55rem 1.4rem;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;transition:all 0.4s; }
.nav-cta:hover { background:rgba(124,58,237,0.08); }
.hamburger { background:none;border:none;cursor:none;display:none;flex-direction:column;gap:5px;padding:4px; }
.hamburger span { width:24px;height:1px;background:#7c3aed;display:block; }
.mobile-nav { list-style:none;max-height:0;overflow:hidden;background:rgba(6,8,15,0.98);transition:max-height 0.4s; }
.mobile-nav.open { max-height:300px;padding:1rem 0; }
.mobile-nav li a { display:block;padding:1rem 1.5rem;font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;color:rgba(196,184,224,0.6);border-bottom:1px solid rgba(124,58,237,0.07); }
.mobile-nav li a:hover { color:#7c3aed; }

.hero-section { position:relative;min-height:100vh;background:#06080f;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center; }
.hero-overlay { position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(124,58,237,0.1) 0%,rgba(6,8,15,0.88) 65%);z-index:1; }
.hero-content { position:relative;z-index:2;padding-top:90px;max-width:800px;padding-left:1.5rem;padding-right:1.5rem; }
.hero-eyebrow { font-size:0.62rem;letter-spacing:5px;text-transform:uppercase;color:rgba(124,58,237,0.7);margin-bottom:2rem;display:block; }
.hero-title { font-size:clamp(3rem,8vw,7rem);color:#fff;line-height:0.95;font-weight:400;margin-bottom:1.5rem;letter-spacing:-1px; }
.hero-title em { font-style:italic;color:#7c3aed; }
.hero-tagline { font-size:0.8rem;letter-spacing:3px;text-transform:uppercase;color:rgba(196,184,224,0.4);margin-bottom:3rem; }
.hero-cta { display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap; }
.btn-luminary-primary { background:transparent;border:1px solid #7c3aed;color:#7c3aed;padding:1rem 2.5rem;font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;transition:all 0.4s;cursor:none;display:inline-block; }
.btn-luminary-primary:hover { background:rgba(124,58,237,0.12);letter-spacing:4px; }
.btn-luminary-secondary { background:transparent;border:1px solid rgba(196,184,224,0.2);color:rgba(196,184,224,0.6);padding:1rem 2.5rem;font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;transition:all 0.4s;cursor:none;display:inline-block; }
.btn-luminary-secondary:hover { border-color:rgba(196,184,224,0.5);color:rgba(196,184,224,0.9); }

.section { padding:6rem 0; }
.section-dark { background:#040610; }
.container { max-width:1200px;margin:0 auto;padding:0 2rem; }
.section-label { font-size:0.6rem;letter-spacing:4px;text-transform:uppercase;color:rgba(124,58,237,0.6);font-weight:500;margin-bottom:1rem;display:block; }
.section-title { font-size:clamp(2.2rem,4.5vw,4rem);color:#fff;line-height:1.1;margin-bottom:1.5rem;font-weight:400; }
.section-body { color:rgba(196,184,224,0.5);line-height:1.9;margin-bottom:1rem;font-size:0.9rem; }
.section-header { text-align:center;margin-bottom:4.5rem; }

.stats-bar { border-top:1px solid rgba(124,58,237,0.1);border-bottom:1px solid rgba(124,58,237,0.1);padding:3rem 0;background:#06080f; }
.stats-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;text-align:center; }
.stat-num { display:block;font-size:2.5rem;color:#7c3aed;font-family:'Cormorant Garamond',serif;font-weight:700; }
.stat-label { font-size:0.63rem;letter-spacing:3px;text-transform:uppercase;color:rgba(196,184,224,0.35); }

.programs-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.5rem; }
.program-card { border:1px solid rgba(124,58,237,0.1);background:rgba(255,255,255,0.02);padding:2.5rem;position:relative;transition:all 0.4s; }
.program-card::before { content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#7c3aed,transparent);opacity:0;transition:opacity 0.4s; }
.program-card:hover { border-color:rgba(124,58,237,0.25);transform:translateY(-4px); }
.program-card:hover::before { opacity:1; }
.program-level { font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:rgba(124,58,237,0.5);margin-bottom:0.8rem; }
.program-title { font-size:1.5rem;color:#fff;font-weight:400;margin-bottom:0.8rem;font-family:'Cormorant Garamond',serif; }
.program-desc { font-size:0.84rem;color:rgba(196,184,224,0.48);line-height:1.75; }
.program-duration { font-size:0.8rem;color:rgba(124,58,237,0.6);margin-top:1.2rem;display:block; }

.t-card { border-left:1px solid rgba(124,58,237,0.2);padding:2rem;transition:border-color 0.4s; }
.t-card:hover { border-color:rgba(124,58,237,0.5); }
.t-card p { font-size:1rem;line-height:1.9;color:rgba(196,184,224,0.6);margin:1rem 0;font-style:italic; }
.t-name { font-size:0.72rem;letter-spacing:2px;text-transform:uppercase;color:rgba(124,58,237,0.5); }
.stars { color:#7c3aed;font-size:0.85rem;letter-spacing:2px; }

.cta-banner { padding:8rem 0;text-align:center;border-top:1px solid rgba(124,58,237,0.08); }
.cta-banner h2 { font-size:clamp(2.5rem,5vw,5rem);color:#fff;margin-bottom:1rem;font-weight:400;font-family:'Cormorant Garamond',serif; }
.cta-banner p { color:rgba(196,184,224,0.45);margin-bottom:3rem;font-size:0.85rem;letter-spacing:1px; }

.site-footer { background:#040610;color:rgba(196,184,224,0.35);padding:5rem 0 2rem;border-top:1px solid rgba(124,58,237,0.06); }
.footer-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:3rem;margin-bottom:4rem; }
.footer-logo { font-size:1.4rem;color:#fff;font-family:'Cormorant Garamond',serif;letter-spacing:4px;text-transform:uppercase;margin-bottom:0.8rem; }
.footer-logo span { color:#7c3aed; }
.footer-grid h4 { color:rgba(124,58,237,0.6);font-size:0.63rem;letter-spacing:3px;text-transform:uppercase;font-weight:500;margin-bottom:1.2rem; }
.footer-grid ul { list-style:none; }
.footer-grid ul li a { font-size:0.8rem;color:rgba(196,184,224,0.32);line-height:2.4;transition:color 0.3s; }
.footer-grid ul li a:hover { color:#7c3aed; }
.footer-bottom { border-top:1px solid rgba(124,58,237,0.06);padding-top:1.5rem;text-align:center;font-size:0.75rem;opacity:0.3; }

.page-hero { background:linear-gradient(160deg,#06080f,#0a050f);padding:10rem 0 5rem;text-align:center;border-bottom:1px solid rgba(124,58,237,0.08); }
.page-hero h1 { font-size:clamp(2.5rem,6vw,5rem);color:#fff;font-weight:400;font-family:'Cormorant Garamond',serif;letter-spacing:-1px;margin-bottom:1rem; }
.page-hero p { color:rgba(196,184,224,0.45);font-size:1rem;max-width:520px;margin:0 auto; }

.contact-grid { display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start; }
.contact-item { display:flex;gap:1rem;margin-bottom:1.8rem; }
.contact-icon { font-size:1.4rem;flex-shrink:0; }
.contact-item h4 { font-size:0.7rem;color:rgba(124,58,237,0.7);font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:0.3rem; }
.contact-item p { font-size:0.84rem;color:rgba(196,184,224,0.5); }
.contact-form-wrap { background:rgba(255,255,255,0.02);border:1px solid rgba(124,58,237,0.1);padding:2.5rem; }
.form-group { margin-bottom:1.5rem; }
.form-group label { display:block;font-size:0.7rem;letter-spacing:1.5px;text-transform:uppercase;color:rgba(196,184,224,0.45);margin-bottom:0.6rem; }
.form-group input,.form-group textarea,.form-group select { width:100%;background:rgba(255,255,255,0.03);border:none;border-bottom:1px solid rgba(124,58,237,0.2);padding:0.9rem 0;font-size:0.88rem;color:#c4b8e0;font-family:'Inter',sans-serif;transition:border-color 0.3s;outline:none; }
.form-group input:focus,.form-group textarea:focus { border-color:rgba(124,58,237,0.6); }
.form-group textarea { height:120px;resize:none; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:2rem; }
.btn-submit { background:transparent;border:1px solid #7c3aed;color:#7c3aed;padding:1rem 2.5rem;font-size:0.7rem;letter-spacing:3px;text-transform:uppercase;cursor:none;width:100%;transition:all 0.4s; }
.btn-submit:hover { background:rgba(124,58,237,0.1);letter-spacing:4px; }

.scroll-progress { position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,#7c3aed,#a78bfa);z-index:9999;width:0%; }
.back-to-top { position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:transparent;border:1px solid rgba(124,58,237,0.5);border-radius:50%;color:#7c3aed;font-size:1rem;cursor:none;z-index:500;opacity:0;transform:translateY(10px);transition:all 0.3s;display:flex;align-items:center;justify-content:center; }
.back-to-top.visible { opacity:1;transform:translateY(0); }

@media(max-width:768px) { .nav-links,.nav-cta{display:none} .hamburger{display:flex} .contact-grid{grid-template-columns:1fr} .form-row{grid-template-columns:1fr} }
