/* =====================================================
   AD ASTRA EDUCARE — Complete Design System
   ===================================================== */

/* ===== DESIGN TOKENS ===== */
:root {
  --cosmos: #04080f;
  --deep:   #080f1e;
  --navy:   #0c1830;
  --slate:  #1a2a4a;
  --star:   #e8d5a3;
  --gold:   #c9961a;
  --gold2:  #f0c040;
  --amber:  #f5a623;
  --white:  #fdfcfa;
  --muted:  rgba(232,213,163,0.45);
  --dim:    rgba(232,213,163,0.18);
  --border: rgba(201,150,26,0.18);
  --glass:  rgba(12,24,48,0.7);
  --grad-gold: linear-gradient(135deg, #c9961a, #f0c040);
  --grad-sky:  linear-gradient(180deg, #04080f 0%, #0c1830 60%, #04080f 100%);
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Syne', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;
  --section-pad: clamp(70px,10vw,120px) 6%;
  --radius:      16px;
  --radius-sm:   8px;
  --radius-pill: 100px;
  --shadow-gold: 0 0 40px rgba(201,150,26,0.15);
  --shadow-card: 0 8px 32px rgba(0,0,0,0.4);
  --shadow-deep: 0 24px 64px rgba(0,0,0,0.6);
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);background:var(--cosmos);color:var(--star);
  overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:var(--font-body);cursor:pointer;border:none}
ul{list-style:none}
::selection{background:var(--gold);color:var(--cosmos)}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--deep)}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.08;font-weight:700}
h1{font-size:clamp(48px,7vw,96px)}
h2{font-size:clamp(36px,5vw,64px)}
h3{font-size:clamp(20px,2.5vw,28px);font-weight:600}
h4{font-size:18px;font-weight:600}
p{line-height:1.75}

.tag{
  font-family:var(--font-mono);font-size:11px;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold);
  display:flex;align-items:center;gap:10px;margin-bottom:16px;
}
.tag::before{content:'';width:28px;height:1px;background:var(--gold)}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 28px;
  border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;
  font-weight:600;letter-spacing:0.3px;transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  cursor:pointer;border:none;white-space:nowrap;
}
.btn-gold{background:var(--grad-gold);color:var(--cosmos)}
.btn-gold:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px rgba(201,150,26,0.4)}
.btn-outline{background:transparent;color:var(--star);border:1.5px solid var(--border)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold2);transform:translateY(-2px)}
.btn-ghost{background:var(--dim);color:var(--star);border:1px solid var(--border);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(201,150,26,0.12);border-color:var(--gold)}
.btn-lg{padding:16px 36px;font-size:16px}
.btn-sm{padding:8px 18px;font-size:13px}

/* ===== SECTION COMMON ===== */
section{padding:var(--section-pad);position:relative}
.section-header{margin-bottom:60px}
.section-header h2{margin-bottom:16px}
.section-header p{color:var(--muted);max-width:560px;font-size:17px}
.section-subtitle{color:var(--muted);max-width:560px;font-size:17px;margin-top:12px}
.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border) 30%,var(--gold) 50%,var(--border) 70%,transparent);margin:0}

/* ===== BADGE ===== */
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 12px;
  border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:11px;
  font-weight:500;letter-spacing:1px;text-transform:uppercase;
}
.badge-hot{background:rgba(220,60,60,0.1);color:#f87171;border:1px solid rgba(220,60,60,0.2)}
.badge-new{background:rgba(52,211,153,0.1);color:#6ee7b7;border:1px solid rgba(52,211,153,0.2)}
.badge-pop{background:rgba(96,165,250,0.1);color:#e8ddbd;border:1px solid rgba(96,165,250,0.2)}
.badge-free{background:rgba(201,150,26,0.1);color:var(--gold2);border:1px solid var(--border)}

/* ===== GLOW ORBS ===== */
.orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:0.25}
.orb-gold{background:radial-gradient(circle,#c9961a,transparent 70%)}
.orb-blue{background:radial-gradient(circle,#1a3a8f,transparent 70%)}

/* ===== STAR FIELD ===== */
.star-field{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.star{position:absolute;border-radius:50%;background:white;animation:twinkle linear infinite}
@keyframes twinkle{0%,100%{opacity:0.1;transform:scale(1)}50%{opacity:0.9;transform:scale(1.4)}}

/* ===== FORM ELEMENTS ===== */
.form-field{margin-bottom:18px}
.form-field label{
  display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:2px;
  text-transform:uppercase;color:var(--muted);margin-bottom:7px;
}
.form-field input,.form-field select,.form-field textarea{
  width:100%;padding:12px 16px;
  background:rgba(232,213,163,0.04);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  color:var(--star);font-family:var(--font-body);font-size:14px;outline:none;transition:border 0.2s;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold)}
.form-field select option{background:var(--navy);color:var(--star)}
.form-field input::placeholder{color:var(--dim)}
.form-field textarea{resize:vertical;min-height:100px}

/* ===== SCROLL ANIMATE ===== */
.will-animate{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.will-animate.animated{opacity:1;transform:translateY(0)}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeLeft{
  from{opacity:0;transform:translateX(50px) translateY(-50%)}
  to{opacity:1;transform:translateX(0) translateY(-50%)}
}

/* ===== NAVBAR ===== */
#navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 6%;height:72px;
  background:rgba(4,8,15,0.88);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);transition:background 0.3s;
}
.nav-brand{display:flex;align-items:center;gap:14px}
.nav-logo{
  width:42px;height:42px;border-radius:10px;background:var(--grad-gold);
  display:grid;place-items:center;
  font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--cosmos);
}
.nav-name{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:0.5px}
.nav-name span{color:var(--gold2)}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{font-size:14px;font-weight:500;color:var(--muted);transition:color 0.2s;position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--star)}
.nav-links a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1.5px;background:var(--gold)}
.nav-actions{display:flex;gap:10px;align-items:center}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:2px;background:var(--star);border-radius:2px;transition:all 0.3s}
.mobile-menu{
  display:none;position:fixed;top:72px;left:0;right:0;
  background:rgba(4,8,15,0.98);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);padding:28px 6%;z-index:999;
  flex-direction:column;gap:20px;
}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:18px;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--dim)}
.mobile-menu a:last-of-type{border:none}

/* ===== TICKER ===== */
.ticker-wrap{background:linear-gradient(90deg,var(--gold) 0%,var(--gold2) 50%,var(--gold) 100%);overflow:hidden;padding:10px 0}
.ticker-track{display:flex;gap:0;animation:ticker 40s linear infinite;width:max-content}
.ticker-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--cosmos);padding:0 40px;white-space:nowrap}
.ticker-item::before{content:'✦';font-size:10px}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ===== HERO ===== */
#hero{min-height:100vh;display:flex;align-items:center;padding:120px 6% 80px;position:relative;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 70% 70% at 70% 40%,rgba(26,58,143,0.25) 0%,transparent 65%),
    radial-gradient(ellipse 40% 40% at 20% 80%,rgba(201,150,26,0.07) 0%,transparent 60%),
    linear-gradient(180deg,#04080f 0%,#080f1e 100%);
}
.hero-grid-lines{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(201,150,26,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(201,150,26,0.03) 1px,transparent 1px);
  background-size:72px 72px;
}
.hero-content{position:relative;z-index:2;max-width:720px}
.hero-pill{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(201,150,26,0.08);border:1px solid rgba(201,150,26,0.25);
  padding:7px 18px;border-radius:var(--radius-pill);
  font-family:var(--font-mono);font-size:12px;color:var(--gold2);
  margin-bottom:32px;letter-spacing:1px;
  animation:fadeUp 0.7s ease both;
}
.hero-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--gold2);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.2}}
.hero-h1{font-size:clamp(52px,8vw,100px);font-weight:700;line-height:1;margin-bottom:28px;animation:fadeUp 0.7s 0.1s ease both}
.hero-h1 em{color:var(--gold2);font-style:normal}
.hero-h1 .italic{font-style:italic;color:var(--muted)}
.hero-sub{font-size:18px;color:var(--muted);max-width:540px;line-height:1.8;margin-bottom:44px;animation:fadeUp 0.7s 0.2s ease both}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;animation:fadeUp 0.7s 0.3s ease both}
.hero-stats{display:flex;gap:48px;margin-top:72px;flex-wrap:wrap;animation:fadeUp 0.7s 0.4s ease both}
.hero-stat-num{font-family:var(--font-display);font-size:42px;font-weight:700;color:var(--gold2);line-height:1}
.hero-stat-lbl{font-size:13px;color:var(--muted);margin-top:4px}

/* Floating enroll card */
.hero-card{
  position:absolute;right:6%;top:50%;transform:translateY(-50%);
  width:380px;z-index:3;
  background:rgba(8,15,30,0.85);border:1px solid var(--border);
  border-radius:24px;padding:36px;backdrop-filter:blur(24px);
  animation:fadeLeft 0.8s 0.35s ease both;
}
.hero-card-head{margin-bottom:24px}
.hero-card-head h3{font-size:26px;margin-bottom:4px}
.hero-card-head p{font-size:13px;color:var(--muted)}
.hero-card .btn-gold{width:100%;justify-content:center;margin-top:6px}

/* ===== COURSES ===== */
#courses{background:var(--deep)}
.courses-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:24px}
.course-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.filter-btn{
  padding:7px 18px;border-radius:var(--radius-pill);background:transparent;
  color:var(--muted);border:1px solid var(--dim);font-family:var(--font-body);
  font-size:13px;font-weight:500;cursor:pointer;transition:all 0.2s;
}
.filter-btn.active,.filter-btn:hover{background:var(--gold);color:var(--cosmos);border-color:var(--gold)}
.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.course-card{
  background:rgba(12,24,48,0.6);border:1px solid var(--border);
  border-radius:var(--radius);padding:30px;position:relative;overflow:hidden;
  transition:all 0.35s ease;cursor:pointer;
}
.course-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad-gold);transform:scaleX(0);transform-origin:left;transition:transform 0.35s;
}
.course-card:hover::after{transform:scaleX(1)}
.course-card:hover{border-color:rgba(201,150,26,0.35);transform:translateY(-6px)}
.course-icon{font-size:36px;margin-bottom:18px}
.course-card h3{font-size:20px;margin-bottom:10px}
.course-card p{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:22px}
.course-meta{display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--dim);padding-top:18px}
.course-meta span{font-size:12px;color:var(--dim);display:flex;align-items:center;gap:5px}

/* ===== WHY SECTION ===== */
#why{background:var(--cosmos)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.why-features{display:flex;flex-direction:column;gap:0}
.why-feature{
  display:flex;gap:22px;align-items:flex-start;
  padding:26px;border-radius:var(--radius);border:1px solid transparent;transition:all 0.3s;
}
.why-feature:hover{background:rgba(201,150,26,0.04);border-color:var(--border)}
.why-num{font-family:var(--font-display);font-size:40px;font-weight:700;color:rgba(201,150,26,0.15);flex-shrink:0;line-height:1;min-width:44px}
.why-feature h4{font-family:var(--font-display);font-size:20px;margin-bottom:6px}
.why-feature p{font-size:14px;color:var(--muted);line-height:1.7}
.why-visual{background:rgba(12,24,48,0.5);border:1px solid var(--border);border-radius:24px;padding:44px;text-align:center}

/* Ring Chart */
.ring-wrap{position:relative;width:200px;height:200px;margin:0 auto 36px}
.ring-svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:rgba(201,150,26,0.08);stroke-width:14}
.ring-fill{fill:none;stroke:url(#goldGrad);stroke-width:14;stroke-linecap:round;stroke-dasharray:502;stroke-dashoffset:50;animation:ringAnim 2s ease both}
@keyframes ringAnim{from{stroke-dashoffset:502}to{stroke-dashoffset:50}}
.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-pct{font-family:var(--font-display);font-size:52px;font-weight:700;color:var(--gold2);line-height:1}
.ring-lbl{font-size:12px;color:var(--muted);letter-spacing:1px}
.bar-group{display:flex;flex-direction:column;gap:14px}
.bar-row{display:flex;align-items:center;gap:12px}
.bar-lbl{font-size:12px;width:54px;text-align:right;color:var(--muted)}
.bar-track{flex:1;height:7px;background:rgba(201,150,26,0.07);border-radius:99px;overflow:hidden}
.bar-fill{height:100%;border-radius:99px;background:var(--grad-gold);animation:barGrow 1.8s ease both}
@keyframes barGrow{from{width:0 !important}}
.bar-pct{font-size:13px;font-weight:600;color:var(--gold2);width:34px}

/* ===== RESULTS ===== */
#results{background:var(--deep)}
.results-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:72px}
.rstat{background:rgba(12,24,48,0.6);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:all 0.3s}
.rstat:hover{border-color:rgba(201,150,26,0.4);transform:translateY(-4px)}
.rstat-num{font-family:var(--font-display);font-size:52px;font-weight:700;color:var(--gold2);display:block;margin-bottom:8px;line-height:1}
.rstat-desc{font-size:14px;color:var(--muted);line-height:1.5}
.toppers-title{font-family:var(--font-display);font-size:32px;margin-bottom:8px}
.toppers-sub{color:var(--muted);font-size:14px;margin-bottom:36px}
.toppers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.topper-card{
  background:linear-gradient(135deg,rgba(201,150,26,0.08),rgba(12,24,48,0.6));
  border:1px solid rgba(201,150,26,0.22);border-radius:var(--radius);padding:26px;text-align:center;transition:all 0.3s;
}
.topper-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.topper-rank{font-family:var(--font-mono);font-size:11px;color:var(--gold2);letter-spacing:1.5px;display:block;margin-bottom:14px}
.topper-av{width:64px;height:64px;border-radius:50%;background:rgba(201,150,26,0.1);border:2px solid rgba(201,150,26,0.3);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:28px}
.topper-card h5{font-size:15px;font-weight:600;margin-bottom:3px}
.topper-card .topper-meta{font-size:12px;color:var(--muted)}
.topper-score{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gold2);margin-top:10px}

/* ===== FACULTY ===== */
#faculty{background:var(--cosmos)}
.faculty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin-top:56px}
.faculty-card{background:rgba(12,24,48,0.5);border:1px solid var(--border);border-radius:var(--radius);padding:30px;text-align:center;transition:all 0.35s}
.faculty-card:hover{transform:translateY(-5px);border-color:rgba(201,150,26,0.35)}
.fac-av{width:80px;height:80px;border-radius:50%;margin:0 auto 18px;background:rgba(201,150,26,0.08);border:2px solid rgba(201,150,26,0.25);display:flex;align-items:center;justify-content:center;font-size:34px}
.faculty-card h4{font-size:18px;margin-bottom:5px}
.fac-subject{font-size:13px;color:var(--gold2);font-weight:500;margin-bottom:6px}
.fac-exp{font-size:12px;color:var(--muted)}
.fac-stars{color:var(--gold);font-size:14px;margin-top:12px;letter-spacing:2px}

/* ===== TEST SERIES ===== */
#tests{background:var(--deep)}
.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:56px}
.test-card{background:rgba(12,24,48,0.6);border:1px solid var(--border);border-radius:var(--radius);padding:28px;transition:all 0.35s}
.test-card:hover{border-color:rgba(201,150,26,0.35);transform:translateY(-5px)}
.test-type{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.test-card h3{font-size:20px;margin-bottom:10px}
.test-card p{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:20px}
.test-info{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--dim);margin-bottom:22px}
.test-info span{display:flex;align-items:center;gap:4px}
.test-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--dim);padding-top:18px}
.test-price{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--gold2)}
.test-price.free{color:#6ee7b7}

/* ===== TESTIMONIALS ===== */
#testimonials{background:var(--cosmos)}
.testi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:56px}
.testi-card{background:rgba(12,24,48,0.5);border:1px solid var(--border);border-radius:var(--radius);padding:30px;transition:all 0.3s}
.testi-card:hover{border-color:rgba(201,150,26,0.3);transform:translateY(-4px)}
.testi-quote{font-family:var(--font-display);font-size:52px;line-height:1;color:var(--border);margin-bottom:10px}
.testi-card p{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:26px}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-av{width:46px;height:46px;border-radius:50%;background:rgba(201,150,26,0.08);display:flex;align-items:center;justify-content:center;font-size:22px;border:1px solid var(--border)}
.testi-name{font-size:14px;font-weight:600}
.testi-detail{font-size:12px;color:var(--gold2);margin-top:2px}

/* ===== CENTERS ===== */
#centers{background:var(--deep)}
.centers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-top:56px}
.center-card{background:rgba(12,24,48,0.5);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all 0.3s}
.center-card:hover{border-color:rgba(201,150,26,0.3);transform:translateY(-3px)}
.center-city{font-family:var(--font-display);font-size:22px;margin-bottom:4px}
.center-state{font-size:13px;color:var(--gold2);margin-bottom:10px}
.center-info{font-size:13px;color:var(--muted)}

/* ===== CTA BAND ===== */
#cta{
  background:linear-gradient(135deg,var(--slate) 0%,var(--cosmos) 100%);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  text-align:center;padding:clamp(70px,10vw,120px) 6%;
  position:relative;overflow:hidden;
}
#cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(201,150,26,0.07),transparent 70%)}
#cta>*{position:relative;z-index:1}
#cta h2{margin-bottom:18px}
#cta p{color:var(--muted);font-size:18px;margin-bottom:40px}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== FOOTER ===== */
#footer{background:var(--deep);border-top:1px solid var(--border);padding:70px 6% 30px}
.footer-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.footer-brand-col p{font-size:14px;color:var(--muted);line-height:1.8;max-width:300px;margin-top:14px}
.footer-socials{display:flex;gap:10px;margin-top:24px}
.social-link{width:38px;height:38px;border-radius:9px;background:var(--dim);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all 0.2s}
.social-link:hover{background:var(--gold);border-color:var(--gold)}
.footer-col h5{font-family:var(--font-mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-col a{display:block;font-size:14px;color:var(--muted);margin-bottom:12px;transition:color 0.2s}
.footer-col a:hover{color:var(--star)}
.footer-bottom{border-top:1px solid var(--dim);padding-top:28px;margin-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--dim);flex-wrap:wrap;gap:12px}
.footer-bottom span b{color:var(--gold);font-weight:400}

/* ===== MODAL ===== */
.modal-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(4,8,15,0.92);backdrop-filter:blur(12px);display:none;place-items:center;padding:20px}
.modal-backdrop.open{display:grid}
.modal-box{background:var(--navy);border:1px solid var(--border);border-radius:24px;padding:44px;max-width:500px;width:100%;position:relative;animation:modalIn 0.3s cubic-bezier(0.34,1.56,0.64,1);max-height:90vh;overflow-y:auto}
@keyframes modalIn{from{opacity:0;transform:scale(0.9) translateY(20px)}}
.modal-close{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;background:var(--dim);border:1px solid var(--border);color:var(--star);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s}
.modal-close:hover{background:var(--gold)}
.modal-box h3{font-size:32px;margin-bottom:8px}
.modal-box .modal-sub{color:var(--muted);font-size:14px;margin-bottom:28px}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:28px;right:28px;z-index:9999;background:var(--navy);border:1px solid var(--gold);border-radius:12px;padding:16px 24px;font-size:14px;color:var(--star);box-shadow:var(--shadow-deep);animation:slideIn 0.3s ease,fadeOut 0.5s ease 2.5s forwards;max-width:340px}
@keyframes slideIn{from{transform:translateX(100%);opacity:0}}
@keyframes fadeOut{to{opacity:0;transform:translateX(20px)}}

/* ===== BACK TO TOP ===== */
#backToTop{position:fixed;bottom:28px;right:28px;z-index:800;width:44px;height:44px;border-radius:50%;background:var(--grad-gold);color:var(--cosmos);border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s;box-shadow:0 4px 16px rgba(201,150,26,0.4)}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .hero-card{display:none}
  .why-grid{grid-template-columns:1fr}
  .results-stats{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .nav-links,.nav-actions{display:none}
  .hamburger{display:flex}
}
@media(max-width:700px){
  .results-stats{grid-template-columns:1fr}
  .courses-top{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr;gap:32px}
  :root{--section-pad:60px 5%}
}

/* ===== PROJECT ADDITIONS ===== */
main.page-main{padding-top:72px}
.page-hero{padding:130px 6% 70px;background:linear-gradient(180deg,#04080f 0%,#080f1e 100%);position:relative;overflow:hidden}
.page-hero p{max-width:760px;color:var(--muted);font-size:18px;margin-top:14px}
.content-wrap{padding:var(--section-pad)}
.card-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.info-card,.glass-card,.feature-card{
  background:rgba(12,24,48,0.6);border:1px solid var(--border);border-radius:var(--radius);padding:28px;
}
.feature-card h3,.info-card h3,.glass-card h3{margin-bottom:8px}
.feature-card p,.info-card p,.glass-card p{color:var(--muted);font-size:14px}
.stats-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;margin-top:40px}
.stat-box{background:rgba(12,24,48,0.55);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.stat-box strong{display:block;font-family:var(--font-display);font-size:40px;color:var(--gold2);line-height:1;margin-bottom:8px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:rgba(12,24,48,0.5)}
table{width:100%;border-collapse:collapse}
th,td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--dim);font-size:14px}
th{font-family:var(--font-mono);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2);background:rgba(4,8,15,0.55)}
td{color:var(--star)}
tbody tr:hover{background:rgba(201,150,26,0.04)}
.two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.timeline{display:grid;gap:18px}
.timeline-item{background:rgba(12,24,48,0.5);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.timeline-item .step{font-family:var(--font-mono);font-size:11px;color:var(--gold2);letter-spacing:2px;text-transform:uppercase;display:block;margin-bottom:8px}
.notice{padding:16px 18px;border-radius:12px;border:1px solid var(--border);background:rgba(201,150,26,0.06);color:var(--star);font-size:14px}
.list-clean{display:grid;gap:10px;margin-top:12px}
.list-clean li{color:var(--muted);font-size:14px;position:relative;padding-left:18px}
.list-clean li::before{content:'✦';position:absolute;left:0;color:var(--gold2)}
.form-card{background:rgba(12,24,48,0.65);border:1px solid var(--border);border-radius:24px;padding:34px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hero-mini-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.portal-box{max-width:560px;margin:0 auto;background:rgba(12,24,48,0.65);border:1px solid var(--border);border-radius:24px;padding:36px}
.portal-box h3{font-size:30px;margin-bottom:8px}
.small-muted{font-size:13px;color:var(--muted)}
.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.kpi{background:rgba(12,24,48,0.55);border:1px solid var(--border);border-radius:16px;padding:18px}
.kpi .label{font-size:12px;color:var(--muted);margin-bottom:8px}
.kpi .value{font-family:var(--font-display);font-size:34px;color:var(--gold2);line-height:1}
.center-map{height:320px;border-radius:18px;border:1px solid var(--border);background:
 linear-gradient(rgba(201,150,26,0.03) 1px,transparent 1px),
 linear-gradient(90deg,rgba(201,150,26,0.03) 1px,transparent 1px),
 linear-gradient(180deg,#080f1e,#0c1830);
 background-size:48px 48px,48px 48px,auto;
 display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px}
.admin-shell{min-height:100vh;background:linear-gradient(180deg,#04080f,#080f1e)}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 6%;border-bottom:1px solid var(--border)}
.admin-grid{padding:28px 6% 48px;display:grid;gap:24px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#04080f,#080f1e)}
.login-card{width:min(100%,460px);background:rgba(12,24,48,0.72);border:1px solid var(--border);border-radius:24px;padding:34px}
.flash{margin-bottom:16px;padding:12px 14px;border-radius:12px;font-size:14px}
.flash-success{background:rgba(52,211,153,0.12);border:1px solid rgba(52,211,153,0.25);color:#9ff5c9}
.flash-error{background:rgba(248,113,113,0.12);border:1px solid rgba(248,113,113,0.25);color:#fecaca}
.empty-state{padding:28px;text-align:center;color:var(--muted)}
@media(max-width:900px){
  .two-col,.three-col,.form-row{grid-template-columns:1fr}
}


/* ===== AD ASTRA GOLD THEME FINAL POLISH — 2026-04-24 ===== */
:root{
  --cosmos:#04080f; --deep:#080f1e; --navy:#0c1830; --slate:#101b31;
  --star:#f2dfaa; --gold:#c9961a; --gold2:#f0c040; --amber:#f5a623;
  --muted:rgba(242,223,170,.68); --dim:rgba(242,223,170,.16); --border:rgba(240,192,64,.24);
  --glass:rgba(8,15,30,.82); --grad-gold:linear-gradient(135deg,#c9961a,#f0c040 55%,#ffe37a);
}
#navbar{background:rgba(4,8,15,.96)!important;border-bottom:1px solid rgba(240,192,64,.22)!important;box-shadow:0 18px 46px rgba(0,0,0,.45)!important;backdrop-filter:blur(18px)!important}
.nav-brand-image-wrap{display:flex!important;align-items:center!important;min-width:0!important;gap:0!important}
.brand-header-logo{height:58px!important;width:auto!important;max-width:min(430px,42vw)!important;object-fit:contain!important;background:transparent!important;mix-blend-mode:screen;filter:drop-shadow(0 8px 22px rgba(0,0,0,.55)) drop-shadow(0 0 8px rgba(240,192,64,.16))!important}
#footer{background:#04080f!important;border-top:1px solid rgba(240,192,64,.22)!important;box-shadow:inset 0 1px 0 rgba(255,223,110,.06)!important}
.footer-logo-wrap{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:14px}
.brand-footer-logo{width:min(520px,100%)!important;height:auto!important;object-fit:contain!important;background:transparent!important;mix-blend-mode:screen;filter:drop-shadow(0 12px 28px rgba(0,0,0,.62)) drop-shadow(0 0 10px rgba(240,192,64,.18))!important}
.hero-h1-one-line{font-size:clamp(42px,6.2vw,78px)!important;line-height:.98!important;letter-spacing:-1.2px!important}
.hero-h1-one-line .reach-text{color:var(--muted)!important;font-style:italic!important;white-space:nowrap!important}
.hero-h1-one-line em{color:var(--gold2)!important;white-space:nowrap!important}
.hero-h1-one-line .adastra-text{color:var(--gold2)!important;font-style:normal!important}
.card,.glass-card,.info-card,.feature-card,.dashboard-card,.portal-box,.form-card,.login-card,.table-wrap,.stat-box,.kpi,.timeline-item,.course-card,.result-card,.lesson-card,.exam-card,.payment-card,.question-card,.preview-panel,.math-preview-card,.math-authoring-card,.app-card,.content-card,.panel,.white-card{background:linear-gradient(180deg,rgba(8,15,30,.96),rgba(12,24,48,.88))!important;border-color:rgba(240,192,64,.24)!important;color:var(--star)!important;box-shadow:0 22px 58px rgba(0,0,0,.42)!important}
.card *, .glass-card *, .info-card *, .feature-card *, .dashboard-card *, .portal-box *, .form-card *, .login-card *, .stat-box *, .kpi *, .timeline-item *, .course-card *, .result-card *, .lesson-card *, .exam-card *, .payment-card *, .question-card *, .preview-panel *, .math-preview-card *, .math-authoring-card *, .app-card *, .content-card *, .panel *, .white-card *{color:inherit}
p,.small-muted,.text-muted,.text-muted-2,.muted,.card p,.glass-card p,.info-card p,.feature-card p,.course-card p,.result-card p,.lesson-card p{color:rgba(242,223,170,.72)!important}
h1,h2,h3,h4,h5,.sidebar-title,.page-title,.section-title,.card-title,.course-title{color:var(--star)!important}
a:not(.btn),.link,.nav-link,.app-sidebar a{color:var(--star)!important}
a:not(.btn):hover,.app-sidebar a:hover{color:var(--gold2)!important}
.app-sidebar{background:linear-gradient(180deg,#04080f,#080f1e)!important;border-right:1px solid rgba(240,192,64,.20)!important}
.app-sidebar a{background:rgba(242,223,170,.08)!important;border:1px solid rgba(240,192,64,.16)!important;color:var(--star)!important}
.app-sidebar a.active{background:var(--grad-gold)!important;color:#04080f!important;border-color:rgba(255,227,122,.55)!important}
.app-sidebar a.active *{color:#04080f!important}
.badge,.pill,.chip,.tag-soft,.status-badge{background:rgba(240,192,64,.13)!important;color:var(--gold2)!important;border-color:rgba(240,192,64,.26)!important}
input,select,textarea,.form-control,.form-select{background:rgba(4,8,15,.78)!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.26)!important}
input::placeholder,textarea::placeholder{color:rgba(242,223,170,.45)!important}
.btn-gold,.btn-primary,.btn-warning{background:var(--grad-gold)!important;color:#04080f!important;border-color:transparent!important}
.btn-outline,.btn-ghost,.btn-secondary{background:rgba(242,223,170,.07)!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.28)!important}
table,th,td{color:var(--star)!important;border-color:rgba(240,192,64,.14)!important}
th{background:rgba(201,150,26,.12)!important;color:var(--gold2)!important}
/* Remove dull blue/grey patches in student exam and LMS */
.nta-shell,.exam-shell,.student-shell,.app-shell,main.page-main{background:linear-gradient(180deg,#04080f,#080f1e 58%,#04080f)!important;color:var(--star)!important}
.nta-question-card,.nta-option,.nta-panel,.palette-card,.timer-card,.question-block,.question-preview,.answer-card,.assigned-course-card{background:linear-gradient(180deg,rgba(8,15,30,.97),rgba(12,24,48,.9))!important;border:1px solid rgba(240,192,64,.23)!important;color:var(--star)!important;box-shadow:0 18px 42px rgba(0,0,0,.38)!important}
.nta-option:hover{border-color:rgba(240,192,64,.52)!important;background:rgba(201,150,26,.11)!important}
.nta-option-copy,.question-text-block,.math-content,.question-part,.option-text,.exam-text{color:var(--star)!important}
.nta-question-card a,.student-shell a,.exam-shell a,.math-content a{color:var(--gold2)!important}
/* Visual Equation Editor gold theme */
.math-authoring-shell,.math-author-shell,.math-toolbar,.math-editor-panel,.math-preview-panel{background:transparent!important;color:var(--star)!important}
math-field.premium-mathfield,.premium-mathfield,.modal-mathfield{background:linear-gradient(180deg,rgba(4,8,15,.96),rgba(12,24,48,.9))!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.34)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 18px 42px rgba(0,0,0,.42)!important}
math-field.premium-mathfield:focus-within,.premium-mathfield:focus-within{border-color:rgba(240,192,64,.85)!important;box-shadow:0 0 0 3px rgba(240,192,64,.14),0 18px 42px rgba(0,0,0,.42)!important}
.math-toolbar button,.equation-btn,.insert-equation-btn,.insert-diagram-btn{background:rgba(240,192,64,.11)!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.24)!important}
.math-toolbar button:hover,.equation-btn:hover,.insert-equation-btn:hover,.insert-diagram-btn:hover{background:var(--grad-gold)!important;color:#04080f!important}
@media(max-width:900px){.brand-header-logo{height:44px!important;max-width:68vw!important}.hero-h1-one-line{font-size:clamp(38px,10vw,58px)!important}.brand-footer-logo{width:min(430px,100%)!important}}

/* =====================================================
   V8.3 FINAL PERFECT BUILD — exact user polish lock
   ===================================================== */
:root{
  --cosmos:#04080f!important;--deep:#080f1e!important;--navy:#0c1830!important;--slate:#101b31!important;
  --star:#f2dfaa!important;--gold:#c9961a!important;--gold2:#f0c040!important;--gold3:#ffe37a!important;
  --muted:rgba(242,223,170,.70)!important;--soft:rgba(242,223,170,.10)!important;--border:rgba(240,192,64,.26)!important;
  --grad-gold:linear-gradient(135deg,#c9961a,#f0c040 58%,#ffe37a)!important;
}
body,html{background:#04080f!important;color:var(--star)!important;}
#navbar,.site-header,.admin-header,.student-header{background:#04080f!important;border-bottom:1px solid rgba(240,192,64,.22)!important;box-shadow:none!important;}
.nav-brand,.nav-brand-image-wrap,.logo-wrap,.navbar-brand,.footer-logo-wrap,.footer-logo{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;outline:0!important;}
.brand-header-logo,.brand-footer-logo,.nav-brand img,.navbar-brand img,.footer-logo img{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;display:block!important;mix-blend-mode:normal!important;filter:drop-shadow(0 6px 14px rgba(0,0,0,.34))!important;}
.brand-header-logo{height:58px!important;max-width:min(430px,42vw)!important;object-fit:contain!important;}
.brand-footer-logo{width:min(520px,100%)!important;height:auto!important;object-fit:contain!important;}
#hero{min-height:calc(100vh - 70px)!important;padding-top:42px!important;padding-bottom:18px!important;align-items:start!important;}
.hero-content{transform:translateY(-18px)!important;}
.hero-card{transform:translateY(-8px)!important;background:linear-gradient(180deg,rgba(8,15,30,.97),rgba(9,17,34,.94))!important;border-color:rgba(240,192,64,.27)!important;box-shadow:0 20px 54px rgba(0,0,0,.42)!important;}
.hero-h1,.hero-h1-one-line{font-size:clamp(38px,5.2vw,70px)!important;line-height:1.02!important;margin-bottom:22px!important;letter-spacing:-1px!important;}
.hero-h1-one-line .reach-text{color:var(--gold2)!important;font-style:italic!important;white-space:nowrap!important;}
.hero-h1-one-line em{color:var(--gold2)!important;white-space:nowrap!important;font-style:normal!important;}
.hero-h1-one-line .adastra-text{color:var(--muted)!important;font-style:normal!important;}
.hero-actions{gap:12px!important;margin-top:28px!important;}
.hero-actions .btn,.hero-actions a.btn,#hero .btn{padding:12px 26px!important;font-size:15px!important;min-height:48px!important;border-radius:999px!important;letter-spacing:.2px!important;}
.hero-stats,.hero-actions + .hero-stats{margin-top:44px!important;gap:42px!important;transform:translateY(-24px)!important;}
.hero-stat-num{font-size:clamp(26px,3.8vw,48px)!important;color:var(--gold2)!important;line-height:1!important;}
.hero-stat-lbl{font-size:14px!important;color:rgba(242,223,170,.75)!important;}
/* remove grey/blue washed cards everywhere; use homepage dark-gold language */
.card,.glass-card,.info-card,.feature-card,.dashboard-card,.portal-box,.form-card,.login-card,.table-wrap,.stat-box,.kpi,.timeline-item,.course-card,.result-card,.lesson-card,.exam-card,.payment-card,.question-card,.preview-panel,.math-preview-card,.math-authoring-card,.app-card,.content-card,.panel,.white-card,.assigned-course-card,.student-card,.question-preview,.answer-card,.nta-question-card,.nta-option,.nta-panel,.palette-card,.timer-card,.question-block,.exam-sidebar-card,.summary-card,.app-sidebar,.app-main .panel,[class*="card"],[class*="panel"]{background:linear-gradient(180deg,rgba(8,15,30,.97),rgba(12,24,48,.90))!important;border:1px solid rgba(240,192,64,.24)!important;color:var(--star)!important;box-shadow:0 20px 50px rgba(0,0,0,.40)!important;}
.card *,.glass-card *,.info-card *,.feature-card *,.dashboard-card *,.portal-box *,.form-card *,.login-card *,.stat-box *,.kpi *,.timeline-item *,.course-card *,.result-card *,.lesson-card *,.exam-card *,.payment-card *,.question-card *,.preview-panel *,.math-preview-card *,.math-authoring-card *,.app-card *,.content-card *,.panel *,.white-card *,.assigned-course-card *,.student-card *{color:inherit;}
body .bg-light,body .bg-white,body .bg-secondary,body [class*="bg-light"],body [class*="bg-white"]{background:linear-gradient(180deg,rgba(8,15,30,.97),rgba(12,24,48,.90))!important;color:var(--star)!important;}
p,.small-muted,.text-muted,.text-muted-2,.muted,.card p,.panel p,.course-card p,.lesson-card p,.exam-card p,.assigned-course-card p{color:rgba(242,223,170,.74)!important;}
h1,h2,h3,h4,h5,.sidebar-title,.page-title,.section-title,.card-title,.course-title{color:var(--star)!important;}
a:not(.btn),.link,.nav-link,.app-sidebar a,.student-shell a,.exam-shell a,.math-content a{color:var(--gold2)!important;}
.app-sidebar a{background:rgba(242,223,170,.08)!important;border:1px solid rgba(240,192,64,.18)!important;color:var(--star)!important;}
.app-sidebar a.active,.app-sidebar a:hover{background:var(--grad-gold)!important;color:#04080f!important;border-color:rgba(255,227,122,.55)!important;}
.badge,.pill,.chip,.tag-soft,.status-badge,.exam-chip,.subject-tab,.nta-meta-chip,.nta-topbar-chip{background:rgba(240,192,64,.13)!important;color:var(--gold2)!important;border:1px solid rgba(240,192,64,.26)!important;}
input,select,textarea,.form-control,.form-select,math-field{background:rgba(4,8,15,.84)!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.28)!important;box-shadow:none!important;}
input::placeholder,textarea::placeholder{color:rgba(242,223,170,.48)!important;}
.btn-gold,.btn-primary,.btn-warning,.btn-main,.nta-btn-primary,#submitExamBtn,.btn-submit-exam{background:var(--grad-gold)!important;color:#04080f!important;border-color:transparent!important;box-shadow:none!important;}
.btn-outline,.btn-ghost,.btn-secondary{background:rgba(242,223,170,.07)!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.28)!important;box-shadow:none!important;}
.nta-shell,.exam-shell,.student-shell,.app-shell,main.page-main,.math-authoring-shell,.math-author-shell{background:linear-gradient(180deg,#04080f,#080f1e 58%,#04080f)!important;color:var(--star)!important;}
.nta-option:hover{border-color:rgba(240,192,64,.54)!important;background:rgba(201,150,26,.12)!important;}
.nta-option-copy,.question-text-block,.math-content,.question-part,.option-text,.exam-text{color:var(--star)!important;}
.math-live-wrap,#visual-math-field,.premium-mathfield,.modal-mathfield,.math-preview-sheet,.math-toolbar,.math-editor-panel,.math-preview-panel{background:linear-gradient(180deg,rgba(4,8,15,.97),rgba(12,24,48,.92))!important;color:var(--star)!important;border-color:rgba(240,192,64,.32)!important;box-shadow:0 18px 42px rgba(0,0,0,.40)!important;}
.math-toolbar button,.equation-btn,.insert-equation-btn,.insert-diagram-btn{background:rgba(240,192,64,.12)!important;color:var(--star)!important;border:1px solid rgba(240,192,64,.26)!important;}
.math-toolbar button:hover,.equation-btn:hover,.insert-equation-btn:hover,.insert-diagram-btn:hover{background:var(--grad-gold)!important;color:#04080f!important;}
@media(max-width:900px){#hero{padding-top:28px!important}.hero-content{transform:none!important}.hero-h1,.hero-h1-one-line{font-size:clamp(34px,9vw,52px)!important}.hero-actions .btn,#hero .btn{padding:11px 20px!important;font-size:14px!important;min-height:44px!important}.hero-stats{transform:none!important;margin-top:28px!important}.brand-header-logo{height:44px!important;max-width:68vw!important}}


/* =====================================================
   V8.3.1 FINAL CORRECTION LOCK
   - hero pulled up without hiding the institute badge
   - transparent cleaned logos with no dark rectangle patch
   - footer logo fully visible
   - side panes/admin/student/exam/editor recolored to home theme
   ===================================================== */

:root{
  --astra-bg:#04080f!important;
  --astra-bg-2:#071121!important;
  --astra-panel:#091427!important;
  --astra-panel-2:#0c1830!important;
  --astra-gold:#f0c040!important;
  --astra-gold-soft:#f2dfaa!important;
  --astra-border:rgba(240,192,64,.26)!important;
  --astra-muted:rgba(242,223,170,.74)!important;
}

/* Logos: remove CSS rectangle/backplate and let cleaned transparent PNG merge into header/footer */
#navbar .nav-brand,
.nav-brand-image-wrap,
.footer-logo-wrap{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  outline:0!important;
  padding:0!important;
}
.brand-header-logo{
  height:54px!important;
  max-width:395px!important;
  width:auto!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.42))!important;
}
.footer-logo-wrap{
  width:100%!important;
  max-width:560px!important;
  overflow:visible!important;
  margin-bottom:18px!important;
}
.brand-footer-logo{
  width:min(560px,100%)!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.50))!important;
}
#footer .footer-grid{
  grid-template-columns:minmax(460px,1.4fr) repeat(3,minmax(160px,.75fr))!important;
  column-gap:56px!important;
  align-items:start!important;
}
.footer-brand-col{overflow:visible!important;min-width:0!important;}


/* === V8.12.266 REAL BLUE TEXT REPLACEMENT FALLBACK === */
[style*="color:#2563eb"],[style*="color: #2563eb"],
[style*="color:#1d4ed8"],[style*="color: #1d4ed8"],
[style*="color:#1e40af"],[style*="color: #1e40af"],
[style*="color:#1e3a8a"],[style*="color: #1e3a8a"],
[style*="color:#183b68"],[style*="color: #183b68"],
[style*="color:#173f73"],[style*="color: #173f73"],
[style*="color:#123b6f"],[style*="color: #123b6f"],
[style*="color:#315d9b"],[style*="color: #315d9b"],
[style*="color:#2f5f9f"],[style*="color: #2f5f9f"]{
  color:#e8ddbd!important;
  -webkit-text-fill-color:#e8ddbd!important;
}
.rendered-math-preview,.math-render-preview,.option-math-preview,.preview-math-box{
  color:#f7e7b8!important;
  -webkit-text-fill-color:#f7e7b8!important;
  opacity:.94!important;
}


/* V8.12.356 premium bullets for in-exam Instructions only */
.nta-modal-card .nta-instruction-list{
  list-style:none !important;
  margin:0 !important;
  padding-left:0 !important;
  display:grid !important;
  gap:12px !important;
}
.nta-modal-card .nta-instruction-list li{
  position:relative !important;
  padding-left:24px !important;
  margin-bottom:0 !important;
}
.nta-modal-card .nta-instruction-list li::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.72em !important;
  width:7px !important;
  height:7px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#c9961a,#f0c040 58%,#ffe37a) !important;
  box-shadow:0 0 0 3px rgba(240,192,64,.12) !important;
}


/* AD ASTRA live cleanup: hide demo/page-description subtitles in portal/admin pages */
body.portal-theme .section-subtitle,
body.portal-theme .admin-intro-copy,
.admin-shell .section-subtitle,
.student-shell .section-subtitle,
.app-shell .section-subtitle{display:none!important;}

@media (min-width:768px) and (max-width:1024px){
.container,.container-fluid,.main-content,.content-wrapper,.page-content,.dashboard-container,.exam-container,.student-container,.admin-container{
padding-left:12px !important;
padding-right:12px !important;
max-width:100% !important;
}
.card,.panel,.exam-layout,.exam-wrapper{
margin-left:0 !important;
margin-right:0 !important;
}
}


/* =====================================================
   AD ASTRA FINAL TABLET WIDTH + FULLSCREEN ALIGNMENT FIX
   Scope: tablet only. Reduces left/right gutters everywhere and lowers
   fullscreen toggle to align with header/logo row. No functional changes.
   ===================================================== */
@media (min-width:701px) and (max-width:1100px){
  :root{
    --aa-tablet-page-x:8px;
    --aa-tablet-card-x:16px;
  }
  html,body{max-width:100%!important;overflow-x:hidden!important;}

  body.portal-theme #navbar,
  body.portal-theme .navbar,
  body.portal-theme .topbar,
  body.portal-theme .app-header,
  body.portal-theme .portal-header,
  body.portal-theme .admin-topbar,
  body.portal-theme .student-topbar{
    padding-left:var(--aa-tablet-page-x)!important;
    padding-right:var(--aa-tablet-page-x)!important;
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.portal-theme .app-shell,
  body.portal-theme .student-shell,
  body.portal-theme .admin-shell,
  body.portal-theme .exam-window-shell,
  body.portal-theme .page-shell,
  body.portal-theme .dashboard-shell,
  body.portal-theme .question-bank-shell,
  body.portal-theme .math-authoring-shell,
  body.portal-theme .math-author-shell,
  body.portal-theme main,
  body.portal-theme .app-main,
  body.portal-theme .main-content,
  body.portal-theme .content-wrapper,
  body.portal-theme .page-content,
  body.portal-theme .container,
  body.portal-theme .container-fluid,
  body.portal-theme .dashboard-container,
  body.portal-theme .exam-container,
  body.portal-theme .student-container,
  body.portal-theme .admin-container,
  body.portal-theme section,
  body.portal-theme .content-wrap{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:var(--aa-tablet-page-x)!important;
    padding-right:var(--aa-tablet-page-x)!important;
    box-sizing:border-box!important;
  }

  body.portal-theme #navbar + .app-shell,
  body.portal-theme #navbar + .student-shell,
  body.portal-theme #navbar + .admin-shell,
  body.portal-theme #navbar + main{
    padding-top:18px!important;
  }

  body.portal-theme .panel,
  body.portal-theme .card,
  body.portal-theme .content-card,
  body.portal-theme .form-card,
  body.portal-theme .glass-card,
  body.portal-theme .dashboard-card,
  body.portal-theme .main-card,
  body.portal-theme .side-card,
  body.portal-theme .white-card,
  body.portal-theme .result-card,
  body.portal-theme .course-card,
  body.portal-theme .quick-admin-card,
  body.portal-theme .student-overview-card,
  body.portal-theme .student-summary-card,
  body.portal-theme .question-card,
  body.portal-theme .exam-question-card,
  body.portal-theme .nta-question-card,
  body.portal-theme .exam-card,
  body.portal-theme .nta-main-card,
  body.portal-theme .nta-side-card,
  body.portal-theme .dashboard-banner,
  body.portal-theme .login-side-card,
  body.portal-theme .hero-card,
  body.portal-theme .test-card,
  body.portal-theme .faculty-card,
  body.portal-theme .contact-card{
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  body.portal-theme .panel,
  body.portal-theme .card,
  body.portal-theme .content-card,
  body.portal-theme .form-card,
  body.portal-theme .glass-card,
  body.portal-theme .dashboard-card,
  body.portal-theme .main-card,
  body.portal-theme .side-card,
  body.portal-theme .white-card{
    padding-left:var(--aa-tablet-card-x)!important;
    padding-right:var(--aa-tablet-card-x)!important;
  }

  body.portal-theme .grid,
  body.portal-theme .grid-2,
  body.portal-theme .grid-3,
  body.portal-theme .dashboard-grid,
  body.portal-theme .cards-grid,
  body.portal-theme .admin-shell,
  body.portal-theme .exam-layout,
  body.portal-theme .exam-wrapper,
  body.portal-theme .exam-layout-shell,
  body.portal-theme .nta-layout,
  body.portal-theme .nta-topline{
    gap:14px!important;
  }

  body.portal-theme.exam-portal .exam-window-shell,
  body.portal-theme.exam-portal .exam-shell,
  body.portal-theme.exam-portal .nta-shell,
  body.portal-theme.exam-portal .nta-exam-shell,
  body.portal-theme.exam-portal .compact-exam-shell,
  body.portal-theme.student-portal.exam-portal .exam-window-shell,
  body.portal-theme.student-portal.exam-portal .exam-shell,
  body.portal-theme.student-portal.exam-portal .nta-shell,
  body.portal-theme.student-portal.exam-portal .nta-exam-shell,
  body.portal-theme.student-portal.exam-portal .compact-exam-shell{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:6px!important;
    padding-right:6px!important;
    box-sizing:border-box!important;
  }

  body.portal-theme .table-wrap{max-width:100%!important;overflow-x:auto!important;}
}

/* =====================================================
   AD ASTRA TABLET HEADER OVERLAP FINAL FIX — 2026-06-08
   Scope: tablet only. Keeps the reduced side gutters, restores clean
   vertical breathing room below the header, and prevents page content from
   being clipped under the header. No desktop/mobile or functionality changes.
   ===================================================== */
@media (min-width:701px) and (max-width:1100px){
  :root{
    --aa-tablet-page-x:8px;
    --aa-tablet-card-x:16px;
    --aa-tablet-under-header-gap:22px;
  }

  html, body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  body.portal-theme #navbar,
  body.admin-portal #navbar,
  body.student-portal #navbar{
    position:sticky!important;
    top:0!important;
    z-index:1200!important;
    transform:none!important;
    margin:0!important;
    padding-left:var(--aa-tablet-page-x)!important;
    padding-right:var(--aa-tablet-page-x)!important;
    box-sizing:border-box!important;
  }

  body.portal-theme #navbar + .app-shell,
  body.portal-theme #navbar + .student-shell,
  body.portal-theme #navbar + .admin-shell,
  body.portal-theme #navbar + main,
  body.admin-portal #navbar + .app-shell,
  body.admin-portal #navbar + .admin-shell,
  body.admin-portal #navbar + main,
  body.student-portal #navbar + .app-shell,
  body.student-portal #navbar + .student-shell,
  body.student-portal #navbar + main{
    margin-top:0!important;
    padding-top:var(--aa-tablet-under-header-gap)!important;
  }

  body.portal-theme .app-shell,
  body.portal-theme .student-shell,
  body.portal-theme .admin-shell,
  body.portal-theme .page-shell,
  body.portal-theme .dashboard-shell,
  body.portal-theme .question-bank-shell,
  body.portal-theme .math-authoring-shell,
  body.portal-theme .math-author-shell,
  body.portal-theme main,
  body.portal-theme .app-main,
  body.portal-theme .main-content,
  body.portal-theme .content-wrapper,
  body.portal-theme .page-content,
  body.portal-theme .container,
  body.portal-theme .container-fluid,
  body.portal-theme .dashboard-container,
  body.portal-theme .exam-container,
  body.portal-theme .student-container,
  body.portal-theme .admin-container,
  body.portal-theme .content-wrap{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:var(--aa-tablet-page-x)!important;
    padding-right:var(--aa-tablet-page-x)!important;
    box-sizing:border-box!important;
  }

  body.portal-theme .panel,
  body.portal-theme .card,
  body.portal-theme .content-card,
  body.portal-theme .form-card,
  body.portal-theme .glass-card,
  body.portal-theme .dashboard-card,
  body.portal-theme .main-card,
  body.portal-theme .side-card,
  body.portal-theme .white-card,
  body.portal-theme .result-card,
  body.portal-theme .course-card,
  body.portal-theme .quick-admin-card,
  body.portal-theme .student-overview-card,
  body.portal-theme .student-summary-card,
  body.portal-theme .question-card,
  body.portal-theme .exam-question-card,
  body.portal-theme .nta-question-card,
  body.portal-theme .exam-card,
  body.portal-theme .nta-main-card,
  body.portal-theme .nta-side-card,
  body.portal-theme .dashboard-banner,
  body.portal-theme .login-side-card,
  body.portal-theme .hero-card,
  body.portal-theme .test-card,
  body.portal-theme .faculty-card,
  body.portal-theme .contact-card{
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  body.portal-theme .panel,
  body.portal-theme .card,
  body.portal-theme .content-card,
  body.portal-theme .form-card,
  body.portal-theme .glass-card,
  body.portal-theme .dashboard-card,
  body.portal-theme .main-card,
  body.portal-theme .side-card,
  body.portal-theme .white-card{
    padding-left:var(--aa-tablet-card-x)!important;
    padding-right:var(--aa-tablet-card-x)!important;
  }

  body.portal-theme .grid,
  body.portal-theme .grid-2,
  body.portal-theme .grid-3,
  body.portal-theme .dashboard-grid,
  body.portal-theme .cards-grid,
  body.portal-theme .exam-layout,
  body.portal-theme .exam-wrapper,
  body.portal-theme .exam-layout-shell,
  body.portal-theme .nta-layout,
  body.portal-theme .nta-topline{
    gap:14px!important;
  }

  body.portal-theme.exam-portal .exam-window-shell,
  body.portal-theme.exam-portal .exam-shell,
  body.portal-theme.exam-portal .nta-shell,
  body.portal-theme.exam-portal .nta-exam-shell,
  body.portal-theme.exam-portal .compact-exam-shell,
  body.portal-theme.student-portal.exam-portal .exam-window-shell,
  body.portal-theme.student-portal.exam-portal .exam-shell,
  body.portal-theme.student-portal.exam-portal .nta-shell,
  body.portal-theme.student-portal.exam-portal .nta-exam-shell,
  body.portal-theme.student-portal.exam-portal .compact-exam-shell{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:6px!important;
    padding-right:6px!important;
    box-sizing:border-box!important;
  }

  body.portal-theme .table-wrap{
    max-width:100%!important;
    overflow-x:auto!important;
  }
}




/* === AD ASTRA FINAL PROJECT FIXES 2026-06-10 === */
@media (min-width:769px) and (max-width:1180px){
  #navbar{height:64px!important;min-height:64px!important;padding:8px 2.5%!important;gap:12px!important;}
  #navbar .brand-header-logo{height:42px!important;max-height:42px!important;width:auto!important;max-width:220px!important;}
  #navbar .nav-links{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;flex:1 1 auto!important;min-width:0!important;margin:0 8px!important;padding:0!important;}
  #navbar .nav-links li{display:block!important;list-style:none!important;}
  #navbar .nav-links a{font-size:12px!important;line-height:1!important;white-space:nowrap!important;letter-spacing:.01em!important;padding:6px 0!important;}
  #navbar .nav-actions{display:flex!important;gap:8px!important;flex:0 0 auto!important;}
  #navbar .nav-actions .btn{height:38px!important;min-height:38px!important;padding:0 18px!important;font-size:13px!important;line-height:38px!important;white-space:nowrap!important;}
  #navbar .hamburger{display:none!important;}.mobile-menu{display:none!important;}
}
/* =========================================================
   AD ASTRA desktop heading scale fix
   Scope: Desktop typography only. No layout, color, spacing,
   button, tab, equation, or functional changes.
   ========================================================= */
@media (min-width:981px){
  h1,
  h2,
  .hero-h1,
  .hero-h1-one-line,
  .page-hero h1,
  .page-hero h2,
  .section-header h2,
  .dashboard-banner h1,
  .dashboard-banner h2,
  .admin-intro-title,
  .page-title,
  .section-title,
  .question-title,
  .panel > h1:first-child,
  .panel > h2:first-child,
  .auth-card h1,
  .auth-card h2,
  .login-card h1,
  .login-card h2,
  .public-shell h1:first-child,
  .public-shell h2:first-child,
  .admin-shell h1,
  .student-shell h1,
  .app-shell h1{
    font-size:clamp(34px,3vw,42px)!important;
    line-height:1.08!important;
  }

  .panel h1,
  .panel h2,
  .card-title,
  .course-title,
  .sidebar-title,
  .math-editor-panel h2,
  .math-system-shell h2,
  .math-builder h2,
  .math-card h2,
  .editor-card h2,
  .q-modal-card h1,
  .q-modal-card h2{
    font-size:clamp(30px,2.6vw,38px)!important;
    line-height:1.1!important;
  }

  h3,
  .section-header h3,
  .panel h3,
  .card h3,
  .course-card h3,
  .hero-card-head h3{
    font-size:clamp(22px,1.8vw,28px)!important;
    line-height:1.14!important;
  }
}
/* =========================================================
   AD ASTRA final precise heading correction
   Scope: Desktop only. Corrects remaining oversized section headings,
   restores original hero line scale, and restores compact reset panel width.
   ========================================================= */
@media (min-width:981px){
  body.portal-theme .app-shell > .panel[style*="max-width:760px"]{
    max-width:760px!important;
    width:calc(100% - 48px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  #hero .hero-h1{
    font-size:clamp(48px,6.2vw,88px)!important;
    line-height:1.02!important;
  }
  section .section-header h2,
  #scholarship .section-header h2,
  #testimonials .section-header h2,
  #why .section-header h2,
  #results .section-header h2,
  #faculty .section-header h2,
  #tests .section-header h2,
  #contact-section .section-header h2,
  #cta h2,
  .toppers-title{
    font-size:clamp(34px,3vw,42px)!important;
    line-height:1.08!important;
    white-space:normal!important;
  }
}

/* =========================================================
   AD ASTRA final two-item typography correction
   Scope: only Home hero heading and Forgot Password reset heading/button.
   No layout, color, spacing, responsiveness, or functional changes elsewhere.
   ========================================================= */
@media (min-width:981px){
  body:has(#hero) #hero .hero-h1{
    font-size:clamp(44px,5.45vw,78px)!important;
    line-height:1.02!important;
  }
  body.portal-theme .app-shell > .panel[style*="max-width:760px"] > h2:first-of-type{
    font-size:26px!important;
    line-height:1.12!important;
  }
  body.portal-theme .app-shell > .panel[style*="max-width:760px"] .form-actions .btn[type="submit"]{
    font-size:14px!important;
    padding:11px 18px!important;
    min-height:42px!important;
  }
}


/* AD ASTRA Option C final: text-only premium dashboard tiles (Tablet/Mobile only).
   Removes decorative icons and makes navigation tiles compact. */
@media (max-width:1280px){
  body.portal-theme .app-shell.admin-shell > .app-sidebar > a,
  body.portal-theme .app-shell.admin-shell > .app-sidebar.sidebar-menu-open > a{
    min-height:78px!important;
    height:78px!important;
    padding:10px 12px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    text-align:center!important;
    font-size:.94rem!important;
    font-weight:700!important;
    line-height:1.18!important;
    border-radius:18px!important;
    white-space:normal!important;
  }
  body.portal-theme .app-shell.admin-shell > .app-sidebar > a::before,
  body.portal-theme .app-shell.admin-shell > .app-sidebar.sidebar-menu-open > a::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:none!important;
  }
}
@media (max-width:640px){
  body.portal-theme .app-shell.admin-shell > .app-sidebar > a,
  body.portal-theme .app-shell.admin-shell > .app-sidebar.sidebar-menu-open > a{
    min-height:72px!important;
    height:72px!important;
    padding:9px 10px!important;
    border-radius:17px!important;
    font-size:.86rem!important;
  }
}
/* End AD ASTRA Option C final text-only tiles. */


/* Final deployment fix: remove excessive blank gaps on public pages opened from Admin > Open Contact Page. */
.page-main .page-hero{
  padding: 96px 6% 34px !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
}
.page-main .content-wrap{
  padding: 34px 6% 72px !important;
}
.page-main section + section{
  margin-top: 0 !important;
}
@media (min-width: 901px){
  .page-main .page-hero{padding-top: 92px !important;}
}
@media (max-width: 700px){
  .page-main .page-hero{padding: 84px 22px 24px !important;}
  .page-main .content-wrap{padding: 24px 18px 54px !important;}
}

/* Final deployment fix: mobile public-form buttons must not overflow. */
@media (max-width: 560px){
  .btn.btn-gold.btn-lg,
  .btn.btn-gold{
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.18 !important;
  }
}


/* === AD ASTRA VERIFIED FINAL PUBLIC PAGE GAP + FORM FIX (2026-07-02) ===
   Fixes the excessive blank space on Contact/About/Faculty/Test Series pages opened from Admin links,
   keeps the public admission card on the same dark premium theme, and prevents mobile CTA text overflow. */
main.page-main{
  padding-top:86px!important;
  min-height:auto!important;
}
main.page-main>.page-hero{
  padding:54px 6% 34px!important;
  min-height:0!important;
  margin:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#050a13 0%,#071020 100%)!important;
}
main.page-main>.content-wrap{
  padding:34px 6% 64px!important;
  margin:0!important;
}
main.page-main section+section{margin-top:0!important;}
main.page-main .faculty-grid,
main.page-main .tests-grid,
main.page-main .card-grid-3,
main.page-main .stats-band{
  margin-top:0!important;
}
.public-shell{
  padding-top:108px!important;
  background:linear-gradient(180deg,#04080f,#080f1e 58%,#04080f)!important;
}
.public-shell .grid-2{align-items:stretch!important;}
.public-shell .panel,
.public-shell .form-card,
.public-shell .glass-card{
  background:linear-gradient(180deg,rgba(12,24,48,.88),rgba(8,15,30,.96))!important;
  border-color:rgba(226,180,87,.34)!important;
  color:var(--star)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
.public-shell .panel h1,
.public-shell .panel h2,
.public-shell .panel h3,
.public-shell .form-card h3,
.public-shell .glass-card h3{color:var(--star)!important;}
.public-shell .panel p,
.public-shell .small-muted,
.public-shell .glass-card p{color:var(--muted)!important;}
.public-shell input,
.public-shell select,
.public-shell textarea,
.page-main input,
.page-main select,
.page-main textarea{
  background:#050c18!important;
  border-color:rgba(226,180,87,.45)!important;
  color:var(--star)!important;
}
.public-shell input::placeholder,
.public-shell textarea::placeholder,
.page-main input::placeholder,
.page-main textarea::placeholder{color:rgba(235,216,164,.56)!important;}
@media (max-width:700px){
  main.page-main{padding-top:78px!important;}
  main.page-main>.page-hero{padding:34px 20px 22px!important;}
  main.page-main>.content-wrap{padding:22px 16px 48px!important;}
  .public-shell{padding:92px 12px 30px!important;}
}
@media (max-width:560px){
  .btn.btn-gold.btn-lg,
  .hero-card .btn-gold,
  .modal-box .btn-gold,
  #contact-section .btn-gold,
  .page-main .btn-gold,
  .public-shell .btn-gold{
    font-size:clamp(14px,3.65vw,16px)!important;
    line-height:1.16!important;
    padding:15px 18px!important;
    white-space:normal!important;
    text-align:center!important;
    min-height:0!important;
  }
}


/* === AD ASTRA REAL FINAL MOBILE PUBLIC PAGE SPACING + ONE-LINE BRAND FIX ===
   Target: public pages opened from Admin > Open Contact Page.
   Reduces the remaining header-to-content gap without changing admin/student panels. */
body > main.page-main{
  padding-top:72px!important;
}
body > main.page-main > .page-hero{
  padding-top:26px!important;
  padding-bottom:24px!important;
}
body > main.page-main > .content-wrap{
  padding-top:24px!important;
}
@media (max-width:700px){
  body > main.page-main{padding-top:72px!important;}
  body > main.page-main > .page-hero{padding:18px 20px 18px!important;}
  body > main.page-main > .content-wrap{padding-top:18px!important;}
  body > main.page-main .page-hero h1,
  body > main.page-main .section-header h2,
  body > main.page-main h2{
    font-size:clamp(34px,10.2vw,46px)!important;
    line-height:1.12!important;
    letter-spacing:-.01em!important;
  }
  .ad-astra-nowrap{white-space:nowrap!important;display:inline-block!important;}
}
@media (max-width:420px){
  body > main.page-main .page-hero h1,
  body > main.page-main .section-header h2,
  body > main.page-main h2{
    font-size:clamp(31px,9.2vw,40px)!important;
  }
}


/* ===== FINAL TARGETED MOBILE FOOTER COPY FIT FIX =====
@media (max-width: 768px){
  html, body{
    overflow-x:hidden !important;
  }
  #footer,
  .public-footer{
    overflow-x:hidden !important;
  }
  #footer .footer-grid,
  .public-footer .footer-grid{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:minmax(0,1fr) !important;
  }
  #footer .footer-brand-col,
  .public-footer .footer-brand-col{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  #footer .footer-logo-wrap,
  .public-footer .footer-logo-wrap{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  #footer .brand-footer-logo,
  .public-footer .brand-footer-logo{
    width:min(100%, 390px) !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
  }
  #footer .footer-brand-col p,
  .public-footer .footer-brand-col p{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto !important;
    box-sizing:border-box !important;
    padding-right:0 !important;
    font-size:15.5px !important;
    line-height:1.85 !important;
  }
}

@media (max-width: 420px){
  #footer .footer-brand-col p,
  .public-footer .footer-brand-col p{
    font-size:14.5px !important;
    line-height:1.78 !important;
  }
  #footer .brand-footer-logo,
  .public-footer .brand-footer-logo{
    width:min(100%, 340px) !important;
  }
}

/* AD ASTRA targeted action button text color only fix */
body.portal-theme.admin-portal .data-table a.btn.btn-gold,
body.portal-theme.admin-portal .data-table button.btn.btn-gold,
body.portal-theme.admin-portal .data-table a.btn.btn-gold:hover,
body.portal-theme.admin-portal .data-table button.btn.btn-gold:hover,
body.portal-theme.admin-portal .data-table a.btn.btn-gold:focus,
body.portal-theme.admin-portal .data-table button.btn.btn-gold:focus{
  color:#04080f!important;
  -webkit-text-fill-color:#04080f!important;
}


/* AD ASTRA LIVE CLEANUP FINAL PATCH - deployed-mode stability, autofill, theme, and mobile containment */
:root{--astra-live-gold:#f0c040;--astra-live-ivory:#f7e8b8;--astra-live-ivory-soft:#d9c98f;--astra-live-panel:#081223;--astra-live-deep:#050a13;}
body.portal-theme input,body.portal-theme select,body.portal-theme textarea,body.portal-theme math-field{background:var(--astra-live-deep)!important;background-color:var(--astra-live-deep)!important;color:var(--astra-live-ivory)!important;-webkit-text-fill-color:var(--astra-live-ivory)!important;caret-color:var(--astra-live-ivory)!important;border-color:rgba(240,192,64,.36)!important;}
body.portal-theme input::placeholder,body.portal-theme textarea::placeholder{color:rgba(247,232,184,.55)!important;-webkit-text-fill-color:rgba(247,232,184,.55)!important;opacity:1!important;}
body.portal-theme input:-webkit-autofill,body.portal-theme input:-webkit-autofill:hover,body.portal-theme input:-webkit-autofill:focus,body.portal-theme textarea:-webkit-autofill,body.portal-theme select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--astra-live-deep) inset!important;box-shadow:0 0 0 1000px var(--astra-live-deep) inset!important;background-color:var(--astra-live-deep)!important;-webkit-text-fill-color:var(--astra-live-ivory)!important;color:var(--astra-live-ivory)!important;caret-color:var(--astra-live-ivory)!important;transition:background-color 999999s ease-in-out 0s!important;}
body.portal-theme input:-internal-autofill-selected{appearance:none!important;background-image:none!important;background-color:var(--astra-live-deep)!important;color:var(--astra-live-ivory)!important;}
body.portal-theme .muted,body.portal-theme .text-muted,body.portal-theme small,body.portal-theme .payload,body.portal-theme .event-payload,body.portal-theme .timeline-payload,body.portal-theme code,body.portal-theme pre,body.portal-theme .data-table td,body.portal-theme .timeline-content p,body.portal-theme .timeline-content div,body.portal-theme .proctor-alert-item p{color:var(--astra-live-ivory)!important;-webkit-text-fill-color:var(--astra-live-ivory)!important;}
body.portal-theme a:not(.btn):not(.proctor-chip):not(.filter-chip),body.portal-theme .link,body.portal-theme .blue-text,body.portal-theme [class*="blue"]{color:var(--astra-live-ivory)!important;-webkit-text-fill-color:var(--astra-live-ivory)!important;}
body.portal-theme .proctor-filter-chips .proctor-chip,body.portal-theme .filter-chip{background:rgba(247,232,184,.08)!important;border-color:rgba(240,192,64,.36)!important;color:var(--astra-live-ivory)!important;-webkit-text-fill-color:var(--astra-live-ivory)!important;box-shadow:none!important;}
body.portal-theme .proctor-filter-chips .proctor-chip.active,body.portal-theme .filter-chip.active,body.portal-theme .proctor-filter-chips .proctor-chip:first-child.active,body.portal-theme .filter-chip:first-child.active{background:linear-gradient(135deg,#d8a51c,#ffd44d)!important;border-color:#ffd44d!important;color:#071126!important;-webkit-text-fill-color:#071126!important;}
body.portal-theme .data-table,body.portal-theme .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
body.portal-theme .data-table th,body.portal-theme .data-table td{white-space:nowrap!important;}
body.portal-theme .data-table td:last-child,body.portal-theme .data-table .payload,body.portal-theme .timeline-payload,body.portal-theme pre,body.portal-theme code{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;}
body.portal-theme .panel,body.portal-theme .card,body.portal-theme .login-card,body.portal-theme .form-card,body.portal-theme .table-wrap{overflow:hidden;}
@media (max-width:700px){body.portal-theme .app-main,body.portal-theme .portal-main,body.portal-theme main{padding-left:18px!important;padding-right:18px!important;max-width:100vw!important;overflow-x:hidden!important;}body.portal-theme .panel,body.portal-theme .card,body.portal-theme .mini-panel,body.portal-theme .dashboard-banner{border-radius:22px!important;padding-left:20px!important;padding-right:20px!important;max-width:100%!important;}body.portal-theme .grid-2,body.portal-theme .dashboard-mini-grid,body.portal-theme .stats-strip{grid-template-columns:1fr!important;}body.portal-theme .kv{grid-template-columns:minmax(92px,38%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;}body.portal-theme .kv>div{min-width:0!important;max-width:100%!important;display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-align:left!important;}body.portal-theme .kv strong{min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;}body.portal-theme .badge-soft{white-space:nowrap!important;}body.portal-theme .proctor-filter-chips{gap:10px!important;justify-content:flex-start!important;}body.portal-theme .proctor-filter-chips .proctor-chip,body.portal-theme .filter-chip{padding:12px 20px!important;min-width:auto!important;max-width:100%!important;}body.portal-theme h1{font-size:clamp(30px,9vw,42px)!important;line-height:1.08!important;}body.portal-theme h2{font-size:clamp(26px,8vw,36px)!important;line-height:1.12!important;}body.portal-theme h3{font-size:clamp(22px,7vw,30px)!important;line-height:1.15!important;}}


/* 2026-07 live mobile overflow and native text-selection hardening */
@media (max-width:700px){
  body.portal-theme.student-portal .app-main,
  body.portal-theme.student-portal .portal-main,
  body.portal-theme.student-portal main{padding-left:20px!important;padding-right:20px!important;overflow-x:hidden!important;}
  body.portal-theme.student-portal .grid-2{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;gap:24px!important;}
  body.portal-theme.student-portal .grid-2>.panel{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:24px 20px!important;overflow:hidden!important;}
  body.portal-theme.student-portal .grid-2 .kv{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;width:100%!important;min-width:0!important;padding:16px 0!important;}
  body.portal-theme.student-portal .grid-2 .kv strong,
  body.portal-theme.student-portal .grid-2 .kv>div{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;word-break:break-word!important;text-align:left!important;}
  body.portal-theme.student-portal .dashboard-mini-grid,
  body.portal-theme.student-portal .stats-strip{width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important;}
}
/* Keep long-press selection, copy and paste available in ordinary forms. Exam pages override this intentionally. */
body:not(.exam-portal) input,
body:not(.exam-portal) textarea,
body:not(.exam-portal) select,
body:not(.exam-portal) [contenteditable="true"]{
  -webkit-user-select:text!important;
  user-select:text!important;
  -webkit-touch-callout:default!important;
}
