
/* ============================================================
   DESIGN TOKENS — UNIFIED SYSTEM
   ============================================================ */
:root{
  --blue:#2563eb;
  --blue-dark:#1d4ed8;
  --blue-soft:#eff4ff;
  --navy:#0b1220;
  --ink:#0f172a;
  --body:#475569;
  --muted:#64748b;
  --line:#e5e9f2;
  --bg:#ffffff;
  --bg-soft:#f7f9fd;

  --page-bg: #f7faff;
  --surface: #ffffff;
  --surface-soft: #f7f9fd;
  --surface-elevated: #ffffff;
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --border-color: #e5e9f2;
  --header-bg: rgba(255,255,255,0.92);
  --header-bg-scrolled: rgba(255,255,255,0.97);
  --card-bg: #ffffff;
  --input-bg: #ffffff;

  --grad-warm:linear-gradient(90deg,#f7a30b 0%,#f43f5e 55%,#e5167e 100%);
  --grad-cool:linear-gradient(90deg,#10b981 0%,#14b8a6 100%);
  --grad-blue:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);
  --grad-text:linear-gradient(90deg,#2563eb,#4f46e5 60%,#7c3aed);
  --grad-theme:linear-gradient(90deg, #2563eb, #4f46e5, #7c3aed);

  --r-sm:12px;
  --r-md:16px;
  --r-lg:22px;
  --r-xl:28px;

  --sh-sm:0 1px 2px rgba(15,23,42,.05), 0 4px 14px rgba(15,23,42,.06);
  --sh-md:0 12px 32px rgba(15,23,42,.10);
  --sh-lg:0 24px 60px rgba(15,23,42,.14);
  --sh-glow:0 30px 80px rgba(37,99,235,.25);

  --space-2xs:clamp(3px,0.5vw,5px);
  --space-xs:clamp(6px,0.8vw,10px);
  --space-sm:clamp(10px,1.2vw,14px);
  --space-md:clamp(14px,1.8vw,20px);
  --space-lg:clamp(20px,2.6vw,30px);
  --space-xl:clamp(30px,4vw,50px);
  --space-2xl:clamp(40px,6vw,70px);

  --fs-display:clamp(2.5rem, 7vw, 5.5rem);
  --fs-h1:clamp(2rem, 4.5vw, 3.5rem);
  --fs-h2:clamp(1.75rem, 3.5vw, 2.5rem);
  --fs-h3:clamp(1.25rem, 2.5vw, 1.75rem);
  --fs-h4:clamp(1.1rem, 2vw, 1.35rem);
  --fs-h5:clamp(1rem, 1.6vw, 1.15rem);
  --fs-body:clamp(0.95rem, 1.4vw, 1.0625rem);
  --fs-small:clamp(0.8125rem, 1.2vw, 0.9375rem);
  --fs-xs:clamp(0.75rem, 1vw, 0.8125rem);
  --fs-tiny:clamp(0.6875rem, 0.9vw, 0.75rem);

  --lh-tight:1.15;
  --lh-snug:1.3;
  --lh-normal:1.5;
  --lh-relaxed:1.65;
  --lh-loose:1.75;

  --container:1440px;
  --header-h:76px;
}

html[data-theme="dark"] {
  --page-bg: #070b14;
  --surface: #0f172a;
  --surface-soft: #131c30;
  --surface-elevated: #1e293b;
  --text-primary: #f1f5f9;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --border-color: #1e293b;
  --header-bg: rgba(15,23,42,0.88);
  --header-bg-scrolled: rgba(15,23,42,0.96);
  --card-bg: #0f172a;
  --input-bg: #1e293b;
  --ink: #f1f5f9;
  --body: #cbd5e1;
  --muted: #94a3b8;
  --line: #1e293b;
  --bg: #0f172a;
  --bg-soft: #131c30;
  --blue-soft: #1e2b4a;
}
html[data-theme="dark"] body {
  background: var(--page-bg);
  color: var(--text-primary);
}
html[data-theme="dark"] .bg-scene {
  background:
    radial-gradient(ellipse 90% 60% at 50% -10%, #0a1428 0%, rgba(10,20,40,0) 65%),
    linear-gradient(180deg, #050a14 0%, #070b16 45%, #050a14 100%);
}
html[data-theme="dark"] .site-header {
  background: var(--header-bg);
  border-bottom-color: rgba(30,41,59,0.6);
}
html[data-theme="dark"] .site-header.scrolled {
  background: var(--header-bg-scrolled);
  border-bottom-color: rgba(30,41,59,0.9);
  box-shadow: 0 8px 40px rgba(0,0,0,.4);
}
html[data-theme="dark"] .logo img {
  filter: brightness(0) invert(1);
}
html[data-theme="dark"] .nav-link { color: var(--text-primary); }
html[data-theme="dark"] .mega-menu {
  background: rgba(15,23,42,0.99);
  border-color: #1e293b;
}
html[data-theme="dark"] .mega-menu::before {
  background: rgba(15,23,42,0.99);
  border-color: #1e293b;
}
html[data-theme="dark"] .mega-link-text h5 { color: var(--text-primary); }
html[data-theme="dark"] .mega-link-text p { color: var(--text-muted); }
html[data-theme="dark"] .mega-menu-footer { border-color: #1e293b; }
html[data-theme="dark"] .btn-outline {
  background: var(--surface);
  color: var(--text-primary);
  border-color: var(--border-color);
}
html[data-theme="dark"] .btn-outline:hover {
  background: var(--blue-soft);
  color: #60a5fa;
  border-color: #60a5fa;
}
html[data-theme="dark"] .btn-apply-square {
  background: var(--surface);
  color: var(--text-primary);
}
html[data-theme="dark"] .btn-apply-square:hover { color: #34d399; }
html[data-theme="dark"] .burger {
  background: var(--surface);
  border-color: var(--border-color);
}
html[data-theme="dark"] .burger span { background: var(--text-primary); }
html[data-theme="dark"] .mobile-menu { background: var(--surface); }
html[data-theme="dark"] .mobile-menu a { color: var(--text-primary); border-color: var(--border-color); }
html[data-theme="dark"] .mobile-menu .mobile-sub a { color: var(--text-secondary); border-color: #1e293b; }
html[data-theme="dark"] .course-card,
html[data-theme="dark"] .mentor-card,
html[data-theme="dark"] .tool-card,
html[data-theme="dark"] .faculty-card,
html[data-theme="dark"] .opp-card,
html[data-theme="dark"] .why-feature-card,
html[data-theme="dark"] .partner-logo-card,
html[data-theme="dark"] .faq-item,
html[data-theme="dark"] .video-testimonial-card,
html[data-theme="dark"] .placed-card,
html[data-theme="dark"] .internship-card,
html[data-theme="dark"] .contact-form-card,
html[data-theme="dark"] .lead-modal-card,
html[data-theme="dark"] .testimonial-text-card,
html[data-theme="dark"] .stop-content {
  background: var(--card-bg);
  border-color: var(--border-color);
  color: var(--text-primary);
}
html[data-theme="dark"] .course-title,
html[data-theme="dark"] .mentor-name,
html[data-theme="dark"] .faculty-info h4,
html[data-theme="dark"] .opp-card h3,
html[data-theme="dark"] .why-feature-card h4,
html[data-theme="dark"] .faq-question,
html[data-theme="dark"] .stop-content h3,
html[data-theme="dark"] .testimonial-text-card .t-name,
html[data-theme="dark"] .contact-form-card h3,
html[data-theme="dark"] .lead-modal-card h3,
html[data-theme="dark"] .section-title {
  color: var(--text-primary);
}
html[data-theme="dark"] .feature-list li,
html[data-theme="dark"] .mentor-bio,
html[data-theme="dark"] .faculty-title,
html[data-theme="dark"] .faq-answer p,
html[data-theme="dark"] .stop-content p,
html[data-theme="dark"] .opp-card p,
html[data-theme="dark"] .testimonial-text-card .t-quote,
html[data-theme="dark"] .section-sub {
  color: var(--text-secondary);
}
html[data-theme="dark"] .mentor-skills span {
  background: #1e293b;
  border-color: #334155;
  color: #cbd5e1;
}
html[data-theme="dark"] .mentor-card:hover .mentor-skills span {
  background: var(--blue-soft);
  border-color: #3b82f6;
  color: #60a5fa;
}
html[data-theme="dark"] .meta {
  background: var(--surface-soft);
  border-color: var(--border-color);
  color: var(--text-secondary);
}
html[data-theme="dark"] .form-group input,
html[data-theme="dark"] .form-group select,
html[data-theme="dark"] .form-group textarea {
  background: var(--input-bg);
  border-color: var(--border-color);
  color: var(--text-primary);
}
html[data-theme="dark"] .form-group label { color: var(--text-primary); }
html[data-theme="dark"] .form-checkbox { color: var(--text-secondary); }
html[data-theme="dark"] .lead-modal-perks span {
  background: var(--surface-soft);
  border-color: var(--border-color);
  color: var(--text-secondary);
}
html[data-theme="dark"] .lead-modal-close { background: var(--surface-soft); color: var(--text-primary); }
html[data-theme="dark"] .lead-modal-close:hover { background: #7f1d1d; color: #fecaca; }
html[data-theme="dark"] .faq-answer { background: transparent; }
html[data-theme="dark"] .compare-table { background: var(--card-bg); border-color: var(--border-color); }
html[data-theme="dark"] .compare-row { border-color: var(--border-color); }
html[data-theme="dark"] .compare-row:hover { background: #131c30; }
html[data-theme="dark"] .compare-cell.us {
  background: rgba(37,99,235,0.08);
  border-color: #1e3a8a;
  color: var(--text-primary);
}
html[data-theme="dark"] .compare-feature { color: var(--text-primary); }
html[data-theme="dark"] .cert-trust-line { background: var(--card-bg); border-color: var(--border-color); }
html[data-theme="dark"] .partner-logo-card img { filter: grayscale(1) brightness(1.8); opacity: .7; }
html[data-theme="dark"] .partner-logo-card:hover img { filter: grayscale(0) brightness(1.2); opacity: 1; }
html[data-theme="dark"] .faculty-logo { filter: brightness(1.8); opacity: 0.8; }
html[data-theme="dark"] .footer-about { color: rgba(255,255,255,.62); }
html[data-theme="dark"] .site-footer { background: linear-gradient(180deg, #050a14 0%, #02050a 100%); }
html[data-theme="dark"] .kerala-section,
html[data-theme="dark"] .scope-section,
html[data-theme="dark"] .mentors-section,
html[data-theme="dark"] .video-testimonials-section,
html[data-theme="dark"] .why-section,
html[data-theme="dark"] .placement-record-section,
html[data-theme="dark"] .faculty-section,
html[data-theme="dark"] .gallery-section,
html[data-theme="dark"] .certifications-section,
html[data-theme="dark"] .partners-section {
  background: var(--page-bg);
}
html[data-theme="dark"] .kerala-section { background: linear-gradient(180deg, rgba(10,18,35,.8) 0%, rgba(7,11,20,.6) 100%); }
html[data-theme="dark"] .career-journey-section { background: linear-gradient(180deg, rgba(10,18,35,.8) 0%, rgba(7,11,20,.6) 50%, rgba(10,18,35,.8) 100%); }
html[data-theme="dark"] .journey-progress-line { background: #1e293b; }
html[data-theme="dark"] .stop-icon-circle { background: var(--surface); border-color: #1e293b; }
html[data-theme="dark"] .kerala-highlight { background: var(--card-bg); border-color: var(--border-color); color: var(--text-primary); }
html[data-theme="dark"] .kerala-image-badge { background: rgba(15,23,42,0.95); }
html[data-theme="dark"] .kerala-image-badge b { color: var(--text-primary); }
html[data-theme="dark"] .scope-tagline span { background: var(--card-bg); border-color: var(--border-color); color: var(--text-secondary); }
html[data-theme="dark"] .mobile-cta { background: rgba(15,23,42,.97); border-color: var(--border-color); }
html[data-theme="dark"] .video-branding-fixed { background: #0f172a; }
html[data-theme="dark"] .gallery-live-chip { background: #064e3b; border-color: #10b981; color: #a7f3d0; }
html[data-theme="dark"] .trend-badge { background: #4a1d3a; border-color: #be185d; color: #f9a8d4; }
html[data-theme="dark"] .pill-badge { background: var(--blue-soft); border-color: #1e3a8a; color: #60a5fa; }
html[data-theme="dark"] .pill-badge .dot { background: #60a5fa; }
html[data-theme="dark"] .tab { background: var(--surface); border-color: var(--border-color); color: var(--text-secondary); }
html[data-theme="dark"] .tab.active { background: var(--surface-elevated); color: #fff; border-color: #334155; }
html[data-theme="dark"] .empty-state { color: var(--text-muted); }
html[data-theme="dark"] .empty-state b { color: var(--text-primary); }

.theme-toggle {
  width: 42px; height: 42px; border-radius: 12px;
  border: 1.5px solid var(--border-color);
  background: var(--surface);
  color: var(--text-primary);
  display: grid; place-items: center;
  cursor: none;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
  flex-shrink: 0;
  font-size: 16px;
  position: relative;
  overflow: hidden;
}
@media (hover: none) { .theme-toggle { cursor: pointer; } }
.theme-toggle:hover {
  transform: translateY(-2px);
  border-color: #60a5fa;
  color: #2563eb;
  box-shadow: 0 6px 18px rgba(37,99,235,.18);
}
html[data-theme="dark"] .theme-toggle:hover {
  border-color: #60a5fa;
  color: #60a5fa;
}
.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
  position: absolute;
  transition: transform .4s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;
}
.theme-toggle .icon-sun { transform: scale(0) rotate(-90deg); opacity: 0; }
.theme-toggle .icon-moon { transform: scale(1) rotate(0deg); opacity: 1; }
html[data-theme="dark"] .theme-toggle .icon-sun { transform: scale(1) rotate(0deg); opacity: 1; }
html[data-theme="dark"] .theme-toggle .icon-moon { transform: scale(0) rotate(90deg); opacity: 0; }

body, .site-header, .course-card, .mentor-card,
.tool-card, .faculty-card, .opp-card, .why-feature-card, .partner-logo-card,
.faq-item, .internship-card, .contact-form-card, .lead-modal-card, .testimonial-text-card,
.mega-menu, .mobile-menu, .compare-table, .kerala-section, .scope-section,
.mentors-section, .video-testimonials-section, .why-section, .gallery-section,
.certifications-section, .partners-section, .placement-record-section,
.faculty-section, .stop-content, .section-title, .course-title {
  transition: background-color .35s ease, border-color .35s ease, color .35s ease;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  background: var(--page-bg);
}
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color: var(--text-primary);
  background: var(--page-bg);
  line-height:var(--lh-relaxed);
  font-size:var(--fs-body);
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  cursor: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: none;
}
@media (hover: none) { body { cursor: auto; } }

img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:none;border:0;background:none;-webkit-tap-highlight-color:transparent;}
@media (hover: none) { button { cursor: pointer; } }
input,textarea,select{font-family:inherit;-webkit-appearance:none;cursor:none;color:var(--text-primary);}
@media (hover: none) { input,textarea,select { cursor: auto; } }

h1,h2,h3,h4,h5,h6,p{margin:0;}
ul{margin:0;padding:0;list-style:none;}

/* ============================================================
   UNIFIED TYPOGRAPHY
   ============================================================ */
h1, .h1 {
  font-size: var(--fs-h1);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: -0.025em;
  color: var(--text-primary);
}
h2, .h2 {
  font-size: var(--fs-h2);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
h3, .h3 {
  font-size: var(--fs-h3);
  font-weight: 800;
  line-height: var(--lh-snug);
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
h4, .h4 {
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: -0.015em;
  color: var(--text-primary);
}
h5, .h5 {
  font-size: var(--fs-h5);
  font-weight: 700;
  line-height: var(--lh-snug);
  letter-spacing: -0.01em;
  color: var(--text-primary);
}
p {
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: var(--text-secondary);
}

.section-title {
  font-size: var(--fs-h2);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: var(--lh-tight);
  color: var(--text-primary);
}
.section-sub {
  font-size: var(--fs-body);
  color: var(--text-secondary);
  margin-top: var(--space-sm);
  line-height: var(--lh-relaxed);
}

/* ============================================================
   LAYOUT CONTAINER
   ============================================================ */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:clamp(16px,2.2vw,34px);
}

/* ============================================================
   ANIMATED BACKGROUND SCENE
   ============================================================ */
.bg-scene{
  position:fixed;
  inset:0;
  z-index:-5;
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(ellipse 90% 60% at 50% -10%, #eef4ff 0%, rgba(238,244,255,0) 65%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8ff 45%, #f8fbff 100%);
  transition: background .5s ease;
}

.bg-aurora{position:absolute;inset:0;}
.aurora{
  position:absolute;
  border-radius:50%;
  will-change:transform;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}
.aurora.a1{
  width:min(78vw,920px);height:min(78vw,920px);
  top:-30%;left:-18%;
  background:radial-gradient(circle, rgba(37,99,235,.42) 0%, rgba(37,99,235,.15) 38%, rgba(37,99,235,0) 70%);
  animation:aurora1 22s ease-in-out infinite;
}
.aurora.a2{
  width:min(70vw,820px);height:min(70vw,820px);
  top:-24%;right:-16%;
  background:radial-gradient(circle, rgba(124,58,237,.38) 0%, rgba(124,58,237,.13) 40%, rgba(124,58,237,0) 70%);
  animation:aurora2 27s ease-in-out infinite;
}
.aurora.a3{
  width:min(74vw,860px);height:min(74vw,860px);
  bottom:-32%;left:20%;
  background:radial-gradient(circle, rgba(16,185,129,.30) 0%, rgba(16,185,129,.10) 42%, rgba(16,185,129,0) 72%);
  animation:aurora3 24s ease-in-out infinite;
}
.aurora.a4{
  width:min(62vw,720px);height:min(62vw,720px);
  top:32%;left:-26%;
  background:radial-gradient(circle, rgba(229,22,126,.24) 0%, rgba(229,22,126,.08) 42%, rgba(229,22,126,0) 72%);
  animation:aurora4 30s ease-in-out infinite;
}
.aurora.a5{
  width:min(60vw,700px);height:min(60vw,700px);
  top:46%;right:-24%;
  background:radial-gradient(circle, rgba(245,158,11,.22) 0%, rgba(245,158,11,.07) 42%, rgba(245,158,11,0) 72%);
  animation:aurora5 33s ease-in-out infinite;
}
html[data-theme="dark"] .aurora.a1 { background:radial-gradient(circle, rgba(37,99,235,.30) 0%, rgba(37,99,235,.10) 38%, rgba(37,99,235,0) 70%); }
html[data-theme="dark"] .aurora.a2 { background:radial-gradient(circle, rgba(124,58,237,.28) 0%, rgba(124,58,237,.10) 40%, rgba(124,58,237,0) 70%); }
html[data-theme="dark"] .aurora.a3 { background:radial-gradient(circle, rgba(16,185,129,.20) 0%, rgba(16,185,129,.07) 42%, rgba(16,185,129,0) 72%); }
html[data-theme="dark"] .aurora.a4 { background:radial-gradient(circle, rgba(229,22,126,.16) 0%, rgba(229,22,126,.06) 42%, rgba(229,22,126,0) 72%); }
html[data-theme="dark"] .aurora.a5 { background:radial-gradient(circle, rgba(245,158,11,.14) 0%, rgba(245,158,11,.05) 42%, rgba(245,158,11,0) 72%); }

@keyframes aurora1{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  33%{transform:translate3d(9vw,7vh,0) scale(1.15);}
  66%{transform:translate3d(-5vw,12vh,0) scale(.92);}
}
@keyframes aurora2{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  40%{transform:translate3d(-10vw,9vh,0) scale(1.12);}
  70%{transform:translate3d(4vw,-6vh,0) scale(.95);}
}
@keyframes aurora3{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  35%{transform:translate3d(7vw,-9vh,0) scale(1.18);}
  70%{transform:translate3d(-8vw,4vh,0) scale(.9);}
}
@keyframes aurora4{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(11vw,-7vh,0) scale(1.2);}
}
@keyframes aurora5{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(-9vw,8vh,0) scale(1.16);}
}

.bg-canvas{
  position:absolute;inset:0;
  width:100%;height:100%;
  display:block;
}

.bg-grid{
  position:absolute;
  inset:-60%;
  background-image:
    linear-gradient(rgba(37,99,235,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.075) 1px, transparent 1px);
  background-size:72px 72px;
  animation:gridPan 44s linear infinite;
  -webkit-mask-image:radial-gradient(ellipse 62% 55% at 50% 45%, #000 18%, transparent 76%);
  mask-image:radial-gradient(ellipse 62% 55% at 50% 45%, #000 18%, transparent 76%);
  opacity:.75;
  will-change:transform;
}
html[data-theme="dark"] .bg-grid {
  background-image:
    linear-gradient(rgba(96,165,250,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96,165,250,.06) 1px, transparent 1px);
  opacity: .5;
}
@keyframes gridPan{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(72px,72px,0);}
}

.bg-glow{
  position:absolute;
  left:0;top:0;
  width:680px;height:680px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,.18) 0%, rgba(124,58,237,.11) 40%, rgba(16,185,129,.05) 60%, transparent 72%);
  transform:translate3d(-9999px,-9999px,0) translate(-50%,-50%);
  opacity:0;
  transition:opacity .6s ease, transform .5s cubic-bezier(.22,1,.36,1);
  will-change:transform;
  pointer-events:none;
}
.bg-glow.on{opacity:1;}
@media (hover: none){ .bg-glow{display:none;} }

.scroll-progress{
  position:fixed;
  top:0;left:0;
  height:3px;width:0%;
  background:linear-gradient(90deg,#2563eb,#7c3aed,#e5167e,#f7a30b,#10b981);
  background-size:200% 100%;
  z-index:9998;
  border-radius:0 3px 3px 0;
  box-shadow:0 0 14px rgba(37,99,235,.55);
  pointer-events:none;
  animation:progressHue 6s linear infinite;
}
@keyframes progressHue{
  0%{background-position:0% 50%;}
  100%{background-position:200% 50%;}
}

.cursor-dot {
  position: fixed; top: 0; left: 0; width: 12px; height: 12px; border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 12px rgba(16,185,129,.8), 0 0 24px rgba(16,185,129,.4);
  pointer-events: none; z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width .2s ease, height .2s ease, background .2s ease;
  will-change: transform;
}
.cursor-dot.hover {
  width: 24px; height: 24px; background: #059669;
  box-shadow: 0 0 20px rgba(16,185,129,1), 0 0 40px rgba(16,185,129,.6);
}
.cursor-trail {
  position: fixed; top: 0; left: 0; width: 8px; height: 8px; border-radius: 50%;
  background: rgba(16,185,129,.5); pointer-events: none; z-index: 9998;
  transform: translate(-50%, -50%); will-change: transform;
}
.cursor-trail:nth-child(2){width:7px;height:7px;background:rgba(16,185,129,.4);}
.cursor-trail:nth-child(3){width:6px;height:6px;background:rgba(16,185,129,.3);}
.cursor-trail:nth-child(4){width:5px;height:5px;background:rgba(16,185,129,.2);}
.cursor-trail:nth-child(5){width:4px;height:4px;background:rgba(16,185,129,.1);}
@media (hover: none) { .cursor-dot, .cursor-trail { display: none; } }

.grad-text{
  background:var(--grad-text);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.section{padding:var(--space-2xl) 0;}
.section-head{text-align:center;max-width:760px;margin:0 auto var(--space-xl);}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* ============================================================
   BUTTONS — UNIFIED
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:var(--fs-small);
  padding:13px 24px;border-radius:var(--r-sm);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;line-height:1;cursor:none;
  border: none;
}
@media (hover: none){ .btn{cursor:pointer;} }
.btn:active{transform:translateY(1px) scale(.99);}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(37,99,235,.30);}
.btn-primary:hover{background:var(--blue-dark);box-shadow:0 12px 26px rgba(37,99,235,.38);}
.btn-dark{background:var(--navy);color:#fff;}
.btn-dark:hover{background:#1b2740;}
.btn-outline{background:var(--surface);color:var(--text-primary);border:1.6px solid var(--border-color);}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);}
.btn-grad-warm{background:var(--grad-warm);color:#fff;box-shadow:0 8px 20px rgba(236,72,153,.28);}
.btn-grad-warm:hover{box-shadow:0 14px 28px rgba(236,72,153,.36);}
.btn-grad-cool{background:var(--grad-cool);color:#fff;box-shadow:0 8px 20px rgba(16,185,129,.28);}
.btn-grad-cool:hover{box-shadow:0 14px 28px rgba(16,185,129,.36);}
.btn-block{width:100%;}

/* ============================================================
   HEADER — ULTRA MODERN REWORK
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--header-bg);
  backdrop-filter: blur(22px) saturate(200%);
  -webkit-backdrop-filter: blur(22px) saturate(200%);
  border-bottom:1px solid rgba(229,233,242,0.6);
  transition:box-shadow .35s ease, background .35s ease, border-color .35s ease;
}
.site-header.scrolled{
  box-shadow:0 8px 40px rgba(15,23,42,.10), 0 1px 2px rgba(15,23,42,.04);
  background:var(--header-bg-scrolled);
  border-bottom-color:rgba(229,233,242,0.9);
}

.site-header::after{
  content:"";
  position:absolute;
  bottom:-1px;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, #2563eb 15%, #7c3aed 40%, #e5167e 65%, #10b981 85%, transparent 100%);
  background-size:200% 100%;
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
  animation:headerGlow 8s linear infinite;
}
@keyframes headerGlow{
  0%{background-position:0% 50%;}
  100%{background-position:200% 50%;}
}
.site-header.scrolled::after{opacity:0.7;}

.header-inner{
  height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.logo{
  display:flex;align-items:center;gap:8px;
  font-weight:900;font-size:20px;letter-spacing:-.02em;
  flex-shrink:0;position:relative;
}
.logo img{
  height:46px;width:auto;
  transition:height .25s ease, transform .25s ease;
}
.logo:hover img{transform:scale(1.03);}
@media (max-width:860px){ .logo img{height:38px;} }

.nav-desktop{
  display:flex;align-items:center;
  gap:2px;
  flex:1;justify-content:center;
}
.nav-item{position:relative;}

.nav-link{
  display:flex;align-items:center;gap:6px;
  font-size:var(--fs-small);font-weight:600;color:var(--text-primary);
  padding:9px 16px;border-radius:12px;
  transition:background .25s cubic-bezier(.34,1.56,.64,1), color .25s ease, transform .25s cubic-bezier(.34,1.56,.64,1);
  white-space:nowrap;cursor:none;background:transparent;
  position:relative;
  overflow:hidden;
}
@media (hover: none){ .nav-link{cursor:pointer;} }

.nav-link::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(37,99,235,0.10), rgba(124,58,237,0.06));
  opacity:0;
  transform:scale(0.85);
  transition:opacity .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1);
  z-index:-1;
}
.nav-link:hover::before{opacity:1;transform:scale(1);}

.nav-link::after{
  content:"";
  position:absolute;
  bottom:5px;left:50%;
  transform:translateX(-50%) scaleX(0);
  width:18px;height:2px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  border-radius:2px;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  transform-origin:center;
}
.nav-link:hover::after{transform:translateX(-50%) scaleX(1);}

.nav-link:hover{color:var(--blue);transform:translateY(-1px);}
.nav-link.active{color:var(--blue);font-weight:700;}
.nav-link.active::after{transform:translateX(-50%) scaleX(1);}

.nav-link svg.chevron{
  width:11px;height:11px;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  opacity:.5;
}
.nav-item:hover .nav-link svg.chevron{
  transform:rotate(180deg);
  opacity:1;
}

.mega-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(12px) scale(0.96);
  min-width:400px;
  background:var(--surface);
  backdrop-filter:blur(24px) saturate(200%);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  border-radius:24px;
  box-shadow:
    0 40px 90px rgba(15,23,42,.20),
    0 12px 32px rgba(15,23,42,.10),
    0 0 0 1px var(--border-color) inset;
  border:1px solid var(--border-color);
  padding:14px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    opacity .32s cubic-bezier(.34,1.2,.64,1),
    transform .32s cubic-bezier(.34,1.2,.64,1),
    visibility .32s ease;
  z-index:200;
}
.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
}

.mega-menu::before{
  content:"";
  position:absolute;
  top:-7px;left:50%;
  transform:translateX(-50%) rotate(45deg);
  width:14px;height:14px;
  background:var(--surface);
  border-top:1px solid var(--border-color);
  border-left:1px solid var(--border-color);
  border-radius:3px 0 0 0;
  z-index:-1;
}

.mega-menu-inner{
  display:flex;flex-direction:column;gap:4px;
}
.mega-link{
  display:flex;align-items:flex-start;gap:14px;
  padding:12px 16px;border-radius:16px;
  transition:background .25s ease, transform .25s ease;
  cursor:none;text-decoration:none;
  position:relative;
  overflow:hidden;
}
@media (hover: none){ .mega-link{cursor:pointer;} }
.mega-link::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:linear-gradient(180deg,#2563eb,#7c3aed);
  border-radius:0 4px 4px 0;
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.mega-link:hover{
  background:linear-gradient(135deg, rgba(37,99,235,0.07), rgba(124,58,237,0.04));
  transform:translateX(5px);
}
.mega-link:hover::before{transform:scaleY(1);}

.mega-icon{
  width:42px;height:42px;border-radius:13px;
  display:grid;place-items:center;
  font-size:17px;flex-shrink:0;
  margin-top:1px;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;
}
.mega-link:hover .mega-icon{transform:scale(1.1);box-shadow:0 6px 18px rgba(37,99,235,0.15);}
.mega-icon.blue{background:#eff4ff;color:#2563eb;}
.mega-icon.purple{background:#f3e8ff;color:#7c3aed;}
.mega-icon.green{background:#ecfdf5;color:#10b981;}
.mega-icon.orange{background:#fff7ed;color:#f97316;}
.mega-icon.pink{background:#fff0f7;color:#e5167e;}
.mega-icon.cyan{background:#ecfeff;color:#06b6d4;}
html[data-theme="dark"] .mega-icon.blue { background: #1e3a8a; color: #93c5fd; }
html[data-theme="dark"] .mega-icon.purple { background: #4c1d95; color: #c4b5fd; }
html[data-theme="dark"] .mega-icon.green { background: #064e3b; color: #6ee7b7; }
html[data-theme="dark"] .mega-icon.orange { background: #7c2d12; color: #fdba74; }
html[data-theme="dark"] .mega-icon.pink { background: #831843; color: #f9a8d4; }
html[data-theme="dark"] .mega-icon.cyan { background: #164e63; color: #67e8f9; }

.mega-link-text h5{
  font-size:var(--fs-small);font-weight:700;color:var(--text-primary);
  margin-bottom:3px;line-height:var(--lh-snug);
  transition:color .25s ease;
}
.mega-link:hover .mega-link-text h5{color:var(--blue);}
.mega-link-text p{
  font-size:var(--fs-xs);color:var(--text-muted);
  line-height:var(--lh-normal);margin:0;
}
.mega-menu-footer{
  border-top:1px solid var(--border-color);
  margin-top:10px;padding-top:12px;
}
.mega-menu-footer a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:var(--fs-xs);font-weight:700;color:var(--blue);
  padding:11px;border-radius:14px;
  transition:background .25s ease, gap .25s ease;
  cursor:none;
}
@media (hover: none){ .mega-menu-footer a{cursor:pointer;} }
.mega-menu-footer a:hover{
  background:var(--blue-soft);
  gap:14px;
}

.header-right{
  display:flex;align-items:center;gap:14px;flex-shrink:0;
}

.btn-apply-square {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 800;
  font-size: var(--fs-small);
  letter-spacing: 0.02em;
  padding: 12px 28px;
  border-radius: 12px;
  background: var(--surface);
  color: var(--text-primary);
  border: none;
  cursor: none;
  white-space: nowrap;
  z-index: 1;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, color .3s ease;
  overflow: visible;
}

@media (hover: none) { .btn-apply-square { cursor: pointer; } }

.btn-apply-square::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 14px;
  padding: 2.5px;
  background: conic-gradient(
    from var(--angle, 0deg),
    #10b981,
    #34d399,
    #6ee7b7,
    #10b981,
    #059669,
    #10b981
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: spinBorder 3s linear infinite;
  z-index: -1;
}

@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes spinBorder {
  0% { --angle: 0deg; }
  100% { --angle: 360deg; }
}

.btn-apply-square::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 16px;
  background: radial-gradient(circle at center, rgba(16,185,129,0.35), transparent 70%);
  opacity: 0;
  transition: opacity .3s ease;
  z-index: -2;
  filter: blur(6px);
}

.btn-apply-square:hover::after { opacity: 1; }

.btn-apply-square:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 12px 30px rgba(16,185,129,0.28), 0 4px 12px rgba(16,185,129,0.15);
  color: #059669;
}

.btn-apply-square i {
  font-size: 12px;
  transition: transform .3s ease;
}
.btn-apply-square:hover i { transform: translateX(3px); }

.burger{
  display:none;width:44px;height:44px;border-radius:13px;
  border:1.5px solid var(--border-color);background:var(--surface);
  align-items:center;justify-content:center;
  flex-direction:column;gap:5px;
  flex-shrink:0;cursor:none;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
@media (hover: none){ .burger{cursor:pointer;} }
.burger:hover{border-color:#c7d5f0;box-shadow:0 6px 16px rgba(15,23,42,.08);background:var(--surface-soft);}
.burger span{
  display:block;width:18px;height:2px;
  background:var(--text-primary);border-radius:2px;
  transition:.35s cubic-bezier(.34,1.56,.64,1);
}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  display:none;border-top:1px solid var(--border-color);background:var(--surface);
  padding:16px 16px 26px;
  max-height:calc(100vh - var(--header-h));overflow-y:auto;
  -webkit-overflow-scrolling: touch;overscroll-behavior: contain;
}
.mobile-menu.open{display:block;animation:mobileMenuIn .35s cubic-bezier(.34,1.2,.64,1);}
@keyframes mobileMenuIn{
  from{opacity:0;transform:translateY(-12px);}
  to{opacity:1;transform:translateY(0);}
}
.mobile-menu a{
  display:block;padding:14px 6px;font-weight:600;
  color:var(--text-primary);border-bottom:1px solid var(--border-color);
  font-size:var(--fs-body);cursor:none;
  transition:color .25s ease, padding-left .25s ease;
}
@media (hover: none){ .mobile-menu a{cursor:pointer;} }
.mobile-menu a:hover{color:var(--blue);padding-left:10px;}
.mobile-menu .mobile-sub{
  padding-left:18px;border-bottom:1px solid var(--border-color);
}
.mobile-menu .mobile-sub a{
  font-size:var(--fs-small);font-weight:500;padding:11px 6px;
  border-bottom:1px dashed var(--border-color);color:var(--text-secondary);
}
.mobile-menu .mobile-sub a:last-child{border-bottom:none;}
.mobile-menu .btn{margin-top:18px;}

.hero-section {
  position: relative;
  height: calc(100vh - var(--header-h));
  min-height: 650px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #0b1220;
}

.hero-slider {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-slide.active { opacity: 1; }

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(to right, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.2) 100%);
}

.hero-content {
  position: relative;
  z-index: 3;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: clamp(60px, 10vh, 120px);
  padding-bottom: clamp(30px, 6vh, 60px);
}

.hero-text { max-width: 900px; }

.hero-text h1 {
  font-size: clamp(2.2rem, 6vw, 5rem);
  font-weight: 900;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  margin-bottom: 20px;
  text-shadow: 0 4px 20px rgba(0,0,0,0.5);
  color: #fff;
}

.hero-course-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3vw, 2.8rem);
  font-weight: 700;
  font-style: italic;
  line-height: 1.2;
  background: var(--grad-theme);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
  display: inline-block;
  filter: drop-shadow(0 2px 8px rgba(37,99,235,.4));
}

.hero-desc {
  font-size: var(--fs-body);
  line-height: var(--lh-relaxed);
  color: rgba(255,255,255,0.85);
  max-width: 600px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}

.hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 700;
  font-size: clamp(14px, 1.5vw, 17px);
  padding: 16px 34px;
  border-radius: 60px;
  text-decoration: none;
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease, background .3s ease, color .3s ease;
  cursor: none;
  border: 2px solid transparent;
  white-space: nowrap;
  letter-spacing: 0.01em;
}

@media (hover: none){ .hero-btn { cursor: pointer; } }

.hero-btn-primary {
  background: #fff;
  color: #0b1220;
  box-shadow: 0 8px 28px rgba(255,255,255,0.2);
}
.hero-btn-primary:hover {
  background: #f1f5f9;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 16px 40px rgba(255,255,255,0.3);
  color: #0b1220;
}
.hero-btn-primary i { font-size: 18px; transition: transform .3s ease; }
.hero-btn-primary:hover i { transform: translateX(4px); }

.hero-btn-secondary {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border-color: rgba(255,255,255,0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.hero-btn-secondary:hover {
  background: rgba(255,255,255,0.25);
  border-color: #fff;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 16px 40px rgba(255,255,255,0.15);
  color: #fff;
}
.hero-btn-secondary i { font-size: 18px; transition: transform .3s ease; }
.hero-btn-secondary:hover i { transform: scale(1.15); }

.hero-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-top: 40px;
}

.hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  flex: 1;
  max-width: 900px;
}

.hero-link {
  flex: 1;
  min-width: 180px;
  border-top: 2px solid rgba(255,255,255,0.3);
  padding-top: 18px;
  padding-right: 20px;
  font-size: var(--fs-small);
  font-weight: 600;
  color: #fff;
  transition: border-color 0.3s ease, color 0.3s ease;
  text-decoration: none;
}

.hero-link:hover { border-color: #fff; color: #fff; }

.hero-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 15px;
  flex-shrink: 0;
}

.slide-count {
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(255,255,255,0.5);
}

.slide-count #currentSlide { color: #fff; }

.slide-dots {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.dot.active { background: #fff; transform: scale(1.2); }

.play-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background 0.3s ease, border-color 0.3s ease;
  margin-left: 10px;
}

.play-btn:hover { background: rgba(255,255,255,0.3); border-color: #fff; }

@media (max-width: 992px) {
  .hero-bottom { flex-direction: column; align-items: flex-start; }
  .hero-controls {
    align-items: flex-start;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 768px) {
  .hero-section { height: auto; min-height: 100vh; padding-bottom: 40px; }
  .hero-content { justify-content: center; gap: 40px; }
  .hero-links { flex-direction: column; gap: 15px; }
  .hero-link { flex: none; width: 100%; min-width: unset; }
  .hero-controls { flex-direction: column; align-items: flex-start; }
  .slide-dots { width: 100%; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-btn { width: 100%; justify-content: center; padding: 15px 24px; font-size: 15px; }
}

@media (max-width: 480px) {
  .hero-text h1 { font-size: clamp(2rem, 9vw, 3.2rem); }
  .hero-course-title { font-size: clamp(1.5rem, 6vw, 2.2rem); }
  .hero-desc { font-size: 0.95rem; }
  .hero-btn { font-size: 14px; padding: 13px 20px; }
}

.admissions-section {
  background: #000000;
  padding: clamp(50px, 8vw, 100px) 0 clamp(60px, 10vw, 110px);
  position: relative;
  overflow: hidden;
}
html[data-theme="dark"] .admissions-section { background: #02050a; }

.admissions-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 4vw, 60px);
  margin-bottom: clamp(40px, 6vw, 70px);
  align-items: start;
}

.admissions-left h2 {
  font-size: var(--fs-display);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #2563eb 0%, #10b981 50%, #f7a30b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 24px;
}

.admissions-left p {
  font-size: var(--fs-body);
  color: rgba(255,255,255,0.75);
  line-height: var(--lh-relaxed);
  max-width: 480px;
  margin-bottom: 32px;
}

.admissions-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #f7a30b;
  color: #000000;
  font-weight: 800;
  font-size: var(--fs-body);
  padding: 14px 28px;
  border-radius: 10px;
  text-decoration: none;
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease, background .25s ease;
  cursor: none;
  border: none;
}
@media (hover: none) { .admissions-cta { cursor: pointer; } }
.admissions-cta:hover {
  background: #e69500;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 32px rgba(247, 163, 11, 0.4);
}
.admissions-cta i { font-size: 16px; transition: transform .3s ease; }
.admissions-cta:hover i { transform: translate(3px, -3px); }

.admissions-right { padding-top: clamp(10px, 2vw, 30px); }
.admissions-right h3 {
  font-size: var(--fs-h3);
  font-weight: 800;
  line-height: var(--lh-tight);
  letter-spacing: -0.025em;
  color: #ffffff;
  margin-bottom: 20px;
}
.admissions-right p {
  font-size: var(--fs-body);
  color: rgba(255,255,255,0.7);
  line-height: var(--lh-relaxed);
  max-width: 440px;
}

.admissions-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  border-radius: 4px;
  overflow: hidden;
}

.admission-card {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: flex-end;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
@media (hover: none) { .admission-card { cursor: pointer; } }

.admission-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(.22,1,.36,1);
}

.admission-card:hover img { transform: scale(1.08); }

.admission-card-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(18px, 2.5vw, 32px);
  transition: background .4s ease;
}

.admission-card.card-blue .admission-card-overlay {
  background: linear-gradient(180deg, rgba(37, 99, 235, 0.15) 0%, rgba(37, 99, 235, 0.65) 45%, rgba(30, 58, 138, 0.95) 100%);
}
.admission-card.card-yellow .admission-card-overlay {
  background: linear-gradient(180deg, rgba(247, 163, 11, 0.1) 0%, rgba(230, 130, 0, 0.5) 45%, rgba(180, 83, 9, 0.95) 100%);
}
.admission-card.card-teal .admission-card-overlay {
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.1) 0%, rgba(13, 148, 136, 0.5) 45%, rgba(15, 118, 110, 0.95) 100%);
}
.admission-card.card-purple .admission-card-overlay {
  background: linear-gradient(180deg, rgba(124, 58, 237, 0.1) 0%, rgba(109, 40, 217, 0.5) 45%, rgba(76, 29, 149, 0.95) 100%);
}

.admission-card:hover .admission-card-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.5) 45%, rgba(0,0,0,0.85) 100%);
}

.admission-card h4 {
  font-size: var(--fs-h4);
  font-weight: 800;
  line-height: var(--lh-snug);
  color: #ffffff;
  letter-spacing: -0.015em;
  margin-bottom: 8px;
  position: relative;
  z-index: 3;
}

.admission-card p {
  font-size: var(--fs-small);
  color: rgba(255,255,255,0.85);
  line-height: var(--lh-normal);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height .5s cubic-bezier(.22,1,.36,1), opacity .4s ease, margin .4s ease;
  position: relative;
  z-index: 3;
}

.admission-card:hover p {
  max-height: 120px;
  opacity: 1;
  margin-top: 4px;
}

.admission-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-small);
  font-weight: 700;
  color: #ffffff;
  margin-top: 12px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .4s ease .1s, transform .4s ease .1s;
  position: relative;
  z-index: 3;
  text-decoration: none;
}
.admission-card:hover .admission-card-link { opacity: 1; transform: translateY(0); }
.admission-card-link i { font-size: 12px; transition: transform .3s ease; }
.admission-card:hover .admission-card-link i { transform: translateX(3px); }

@media (max-width: 1024px) {
  .admissions-inner { grid-template-columns: 1fr; gap: 30px; }
  .admissions-right { padding-top: 0; }
  .admissions-cards { grid-template-columns: repeat(4, 1fr); gap: 2px; }
}

@media (max-width: 768px) {
  .admissions-cards { grid-template-columns: repeat(2, 1fr); gap: 2px; }
  .admission-card { aspect-ratio: 3 / 4; }
  .admission-card p { max-height: 120px; opacity: 1; margin-top: 4px; }
  .admission-card-link { opacity: 1; transform: translateY(0); }
}

@media (max-width: 480px) {
  .admissions-left h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .admissions-right h3 { font-size: clamp(1.4rem, 6vw, 1.8rem); }
  .admissions-cards { grid-template-columns: 1fr 1fr; }
}

.kerala-section{
  background: linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(247,249,253,.55) 100%);
  padding: var(--space-2xl) 0;
  position: relative;
  overflow: hidden;
}
.kerala-section::before{
  content:"";position:absolute;top:-150px;left:-150px;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%);
  pointer-events:none;z-index:0;
}
.kerala-section::after{
  content:"";position:absolute;bottom:-150px;right:-150px;width:450px;height:450px;border-radius:50%;
  background:radial-gradient(circle, rgba(124,58,237,0.06) 0%, transparent 70%);
  pointer-events:none;z-index:0;
}
.kerala-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(30px,4.5vw,60px);align-items:center;
}
.kerala-content h2{
  font-size: var(--fs-h2);
  font-weight:800;
  letter-spacing:-0.025em;line-height:var(--lh-tight);color:var(--text-primary);margin-bottom:16px;
}
.kerala-content h2 .grad-text{
  background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.kerala-content p{
  font-size: var(--fs-body);
  color:var(--text-secondary);
  line-height:var(--lh-relaxed);margin-bottom:24px;
}
.kerala-highlights{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:28px;
}
.kerala-highlight{
  display:flex;align-items:center;gap:10px;
  background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:12px;
  padding:12px 16px;font-size:var(--fs-small);font-weight:700;color:var(--text-primary);
  box-shadow:var(--sh-sm);transition:transform .3s ease, box-shadow .3s ease;
}
.kerala-highlight:hover{transform:translateY(-3px);box-shadow:var(--sh-md);}
.kerala-highlight i{color:#2563eb;font-size:15px;flex-shrink:0;}
.kerala-cta{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--grad-blue);
  color:#fff;font-weight:800;font-size:var(--fs-body);
  padding:16px 32px;border-radius:14px;
  box-shadow:0 12px 32px rgba(37,99,235,0.35);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  cursor:none;border:0;position:relative;overflow:hidden;
}
@media (hover: none){ .kerala-cta{cursor:pointer;} }
.kerala-cta::before{
  content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transition:left .7s ease;
}
.kerala-cta:hover::before{left:100%;}
.kerala-cta:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 20px 48px rgba(37,99,235,0.5);
}
.kerala-cta i{font-size:16px;}

.kerala-image-wrap{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  box-shadow:0 30px 80px rgba(15,23,42,0.18);
}
.kerala-image-wrap img{
  width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover;
  transition:transform 1s ease;
}
.kerala-image-wrap:hover img{transform:scale(1.05);}
.kerala-image-badge{
  position:absolute;bottom:18px;left:18px;right:18px;
  background:var(--surface);backdrop-filter:blur(8px);
  padding:14px 20px;border-radius:16px;
  display:flex;align-items:center;gap:12px;
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
}
.kerala-image-badge i{
  width:40px;height:40px;border-radius:12px;
  background:var(--grad-blue);
  color:#fff;display:grid;place-items:center;font-size:18px;flex-shrink:0;
}
.kerala-image-badge b{display:block;font-size:var(--fs-small);font-weight:800;color:var(--text-primary);}
.kerala-image-badge span{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600;}

.pill-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue-soft);border:1.5px solid #dbe6ff;color:var(--blue-dark);
  font-size:var(--fs-tiny);font-weight:800;letter-spacing:.16em;
  padding:8px 18px;border-radius:999px;text-transform:uppercase;
}
.pill-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--blue);}
html[data-theme="dark"] .pill-badge { border-color: #1e3a8a; color: #60a5fa; }

.tabs-wrap{
  margin:0 auto clamp(20px,3.5vw,36px);max-width:100%;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:4px 2px 8px;
}
.tabs-wrap::-webkit-scrollbar{display:none;}
.tabs{display:flex;gap:10px;justify-content:center;min-width:max-content;margin-inline:auto;padding-inline:4px;}
.tab{
  padding:12px 24px;border-radius:999px;border:1.5px solid var(--border-color);
  background:var(--surface);color:var(--text-secondary);font-weight:700;font-size:var(--fs-small);
  white-space:nowrap;transition:.22s ease;
}
.tab:hover{border-color:#c7d5f0;color:var(--text-primary);}
.tab.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 10px 22px rgba(11,18,32,.24);}
html[data-theme="dark"] .tab.active { background: #334155; border-color: #334155; }

.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(18px,2.8vw,26px);}

.course-card{
  position:relative;background:var(--card-bg);border:1.5px solid var(--border-color);
  border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--sh-sm);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:#d7e2f7;}
.course-card.hide{display:none;}

.card-bar{height:5px;width:100%;flex:none;}
.bar-warm{background:var(--grad-warm);}
.bar-cool{background:var(--grad-cool);}
.bar-blue{background:var(--grad-blue);}

.card-body{padding:clamp(18px,2.8vw,24px) clamp(16px,2.8vw,22px) clamp(16px,2.8vw,20px);display:flex;flex-direction:column;flex:1;}

.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.card-cat{font-size:var(--fs-tiny);font-weight:800;letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase;}
.trend-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:var(--fs-tiny);font-weight:900;letter-spacing:.1em;color:#e5167e;text-transform:uppercase;
  background:#fff0f7;border:1px solid #ffd6ea;padding:5px 10px;border-radius:999px;
}
html[data-theme="dark"] .trend-badge { background: #4a1d3a; border-color: #be185d; color: #f9a8d4; }

.course-title{
  font-size:var(--fs-h5);
  font-weight:800;
  line-height:var(--lh-snug);
  letter-spacing:-.02em;
  margin-bottom:16px;
  min-height:52px;
  color: var(--text-primary);
}

.meta-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;}
.meta{
  display:inline-flex;align-items:center;gap:5px;
  font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);
  background:var(--surface-soft);border:1px solid var(--border-color);
  padding:6px 10px;border-radius:8px;
}
.meta svg{color:var(--blue);flex:none;}

.feature-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.feature-list li{display:flex;align-items:flex-start;gap:9px;font-size:var(--fs-small);color:var(--text-secondary);font-weight:500;line-height:var(--lh-normal);}
.feature-list svg{flex:none;margin-top:2px;color:var(--blue);}

.card-actions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:4px;}
.card-actions .btn{padding:12px 14px;font-size:var(--fs-xs);border-radius:11px;}

.empty-state{display:none;text-align:center;padding:50px 20px;color:var(--text-muted);}
.empty-state.show{display:block;}
.empty-state b{display:block;color:var(--text-primary);font-size:17px;margin-bottom:6px;}

.scope-section{
  background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(242,247,255,.55) 100%);
  padding: var(--space-2xl) 0;
  position: relative;
  overflow: hidden;
}
html[data-theme="dark"] .scope-section {
  background: linear-gradient(180deg, rgba(10,18,35,.6) 0%, rgba(7,11,20,.4) 100%);
}
.scope-section::before{
  content:"";position:absolute;top:-200px;left:-200px;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,0.06) 0%, transparent 70%);
  pointer-events:none;z-index:0;
}
.scope-section::after{
  content:"";position:absolute;bottom:-200px;right:-200px;width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle, rgba(16,185,129,0.05) 0%, transparent 70%);
  pointer-events:none;z-index:0;
}
.scope-section .container{position:relative;z-index:2;}

.scope-header{
  text-align:center;max-width:860px;margin:0 auto var(--space-xl);
}
.scope-header h2{
  font-size:var(--fs-h2);
  font-weight:900;letter-spacing:-0.03em;line-height:var(--lh-tight);margin-bottom:12px;
}
.scope-header p{
  font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh-relaxed);
}
.scope-stats{
  display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3.5vw,40px);
  max-width:820px;margin:0 auto var(--space-xl);
}
.scope-stat{text-align:center;}
.scope-stat b{
  display:block;font-size:clamp(32px,5vw,56px);font-weight:900;letter-spacing:-0.04em;line-height:1.1;
  background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.scope-stat span{
  display:block;font-size:var(--fs-small);font-weight:700;color:var(--text-muted);margin-top:6px;
  text-transform:uppercase;letter-spacing:0.06em;
}

.opp-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.2vw,22px);
  margin-bottom: var(--space-xl);
}
.opp-card{
  background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:var(--r-lg);
  padding:clamp(18px,2.6vw,28px) clamp(16px,2.2vw,22px);
  display:flex;flex-direction:column;gap:14px;
  box-shadow:var(--sh-sm);transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.opp-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:#d7e2f7;}
.opp-icon{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:24px;flex-shrink:0;
}
.opp-icon.cyan{background:#ecfeff;color:#06b6d4;}
.opp-icon.blue{background:#eff4ff;color:#2563eb;}
.opp-icon.purple{background:#f3e8ff;color:#7c3aed;}
.opp-icon.green{background:#ecfdf5;color:#10b981;}
.opp-icon.orange{background:#fff7ed;color:#f97316;}
html[data-theme="dark"] .opp-icon.cyan { background: #164e63; color: #67e8f9; }
html[data-theme="dark"] .opp-icon.blue { background: #1e3a8a; color: #93c5fd; }
html[data-theme="dark"] .opp-icon.purple { background: #4c1d95; color: #c4b5fd; }
html[data-theme="dark"] .opp-icon.green { background: #064e3b; color: #6ee7b7; }
html[data-theme="dark"] .opp-icon.orange { background: #7c2d12; color: #fdba74; }

.opp-card h3{
  font-size:var(--fs-h5);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:var(--lh-snug);
  color:var(--text-primary);
}
.opp-card p{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed);flex:1;}
.opp-card .opp-salary{
  font-size:var(--fs-xs);font-weight:700;color:var(--blue);background:var(--blue-soft);
  padding:7px 12px;border-radius:8px;display:inline-block;align-self:flex-start;
}

.opp-card-dark{
  background:linear-gradient(135deg, #0b1220 0%, #1e293b 100%);
  border-color:transparent;color:#fff;position:relative;overflow:hidden;
}
.opp-card-dark::before{
  content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,0.25) 0%, transparent 70%);
  pointer-events:none;
}
.opp-card-dark h3{color:#fff;position:relative;z-index:2;}
.opp-card-dark p{color:rgba(255,255,255,0.7);position:relative;z-index:2;}
.opp-card-dark .btn-view-more{
  display:inline-flex;align-items:center;gap:8px;
  background:#06b6d4;color:#fff;font-weight:800;font-size:var(--fs-small);
  padding:12px 22px;border-radius:10px;align-self:flex-start;
  transition:background .25s ease, transform .25s ease;
  box-shadow:0 8px 20px rgba(6,182,212,0.3);position:relative;z-index:2;cursor:none;
}
@media (hover: none){ .opp-card-dark .btn-view-more{cursor:pointer;} }
.opp-card-dark .btn-view-more:hover{background:#0891b2;transform:translateY(-2px);}

.scope-bottom-stats{
  display:flex;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 20px 50px rgba(37, 99, 235, 0.12), 0 8px 24px rgba(15, 23, 42, 0.06);
  max-width:1200px;margin:0 auto;border:1px solid rgba(37, 99, 235, 0.08);
}
.scope-stat-block{
  flex:1;padding:clamp(24px,4vw,36px) clamp(12px,1.8vw,18px);
  text-align:center;color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;position:relative;overflow:hidden;
  transition:transform 0.3s ease;
}
.scope-stat-block::before{
  content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition:left 0.6s ease;
}
.scope-stat-block:hover::before{left:100%;}
.scope-stat-block:hover{transform:translateY(-2px);}
.scope-stat-block b{
  font-size:clamp(24px,3.4vw,40px);font-weight:900;display:block;line-height:1.1;
  letter-spacing:-0.03em;text-shadow:0 2px 8px rgba(0,0,0,0.15);
}
.scope-stat-block span{
  font-size:var(--fs-small);font-weight:700;opacity:0.95;margin-top:6px;
  letter-spacing:0.02em;text-transform:uppercase;
}
.scope-stat-block:nth-child(1){background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);}
.scope-stat-block:nth-child(2){background:linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);}
.scope-stat-block:nth-child(3){background:linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);}

.scope-tagline{text-align:center;margin-top:28px;}
.scope-tagline span{
  display:inline-flex;align-items:center;gap:10px;
  font-size:var(--fs-small);font-weight:700;color:var(--text-secondary);
  background:var(--card-bg);border:1.5px solid var(--border-color);padding:12px 24px;border-radius:999px;
  box-shadow:var(--sh-sm);
}
.scope-tagline i{color:#10b981;font-size:15px;}

@media (max-width:1024px){
  .opp-grid{grid-template-columns:repeat(2,1fr);}
  .scope-stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:768px){
  .opp-grid{grid-template-columns:1fr;}
  .scope-bottom-stats{flex-direction:column;}
  .scope-stat-block{width:100%;}
}
@media (max-width:560px){
  .scope-stats{grid-template-columns:1fr;}
  .scope-header h2{font-size:var(--fs-h3);}
  .scope-stat b{font-size:34px;}
}

.internship-section{
  background: linear-gradient(135deg, #0b1220 0%, #1e293b 100%);
  padding: var(--space-2xl) 0; position: relative; overflow: hidden;
}
.internship-section::before{
  content:"";position:absolute;inset:0;
  background-image: radial-gradient(rgba(37,99,235,0.15) 1px, transparent 1px);
  background-size: 32px 32px; pointer-events:none;
}
.internship-inner{
  position:relative;z-index:2;display:grid;
  grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,60px);align-items:center;
}
.internship-left h2{
  font-size:var(--fs-h2);
  font-weight:900;letter-spacing:-.025em;
  line-height:var(--lh-tight);color:#fff;margin-bottom:16px;
}
.internship-left p{font-size:var(--fs-body);color:rgba(255,255,255,.72);line-height:var(--lh-relaxed);margin-bottom:24px;}
.internship-perks{display:flex;flex-direction:column;gap:14px;margin-bottom:28px;}
.internship-perk{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.88);font-size:var(--fs-small);font-weight:600;}
.internship-perk i{
  width:26px;height:26px;border-radius:50%;
  background:rgba(37,99,235,.3);color:#60a5fa;
  display:grid;place-items:center;font-size:11px;flex-shrink:0;
}
.internship-stats{display:flex;gap:24px;flex-wrap:wrap;}
.internship-stat b{
  display:block;font-size:clamp(24px,3vw,34px);font-weight:900;letter-spacing:-.03em;
  background:linear-gradient(90deg,#fff,#bfdbfe);
  -webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1;
}
.internship-stat span{font-size:var(--fs-xs);font-weight:600;color:rgba(255,255,255,.6);margin-top:4px;display:block;}
.internship-right{display:flex;justify-content:center;}
.internship-card{
  background:var(--card-bg);border-radius:var(--r-xl);padding:clamp(26px,3.5vw,38px);
  box-shadow:0 30px 80px rgba(0,0,0,.3);width:100%;max-width:480px;
  position:relative;overflow:hidden;
}
.internship-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
}
.internship-card h3{
  font-size:var(--fs-h4);
  font-weight:900;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.02em;
}
.internship-card > p{font-size:var(--fs-small);color:var(--text-muted);margin-bottom:22px;line-height:var(--lh-relaxed);}
.internship-mini-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.internship-mini-list li{display:flex;align-items:center;gap:10px;font-size:var(--fs-small);font-weight:600;color:var(--text-secondary);}
.internship-mini-list i{
  width:24px;height:24px;border-radius:8px;flex-shrink:0;
  background:var(--blue-soft);color:var(--blue);
  display:grid;place-items:center;font-size:11px;
}
.internship-card-note{
  font-size:var(--fs-xs);color:var(--text-muted);text-align:center;margin-top:12px;line-height:var(--lh-normal);
}

.form-submit-btn{
  width:100%;padding:15px;font-size:var(--fs-body);font-weight:800;
  background:var(--grad-blue);color:#fff;border-radius:12px;
  box-shadow:0 10px 30px rgba(37,99,235,0.35);
  transition:transform .2s ease, box-shadow .2s ease;
  border:none;cursor:none;
}
@media (hover: none){ .form-submit-btn{cursor:pointer;} }
.form-submit-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(37,99,235,0.45);}
.form-submit-btn:active{transform:translateY(0);}
.form-submit-btn[disabled]{opacity:.85;}

.mentors-section{background:rgba(255,255,255,.66);padding:var(--space-2xl) 0;position:relative;overflow:hidden;}
html[data-theme="dark"] .mentors-section { background: rgba(10,18,35,.5); }
.mentors-section::before{
  content:"";position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:980px;height:560px;
  background:radial-gradient(ellipse at center, rgba(37,99,235,0.10) 0%, rgba(124,58,237,0.06) 45%, transparent 72%);
  pointer-events:none;z-index:0;
}
.mentors-section::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(37,99,235,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,0.045) 1px, transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:radial-gradient(ellipse 68% 55% at 50% 42%, #000 15%, transparent 78%);
  mask-image:radial-gradient(ellipse 68% 55% at 50% 42%, #000 15%, transparent 78%);
  pointer-events:none;z-index:0;
}
.mentors-section .container{position:relative;z-index:2;}

.mentors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,26px);margin-top:10px;}

.mentor-card{
  position:relative;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:26px;
  padding:clamp(24px,3vw,36px) clamp(16px,2.2vw,26px) clamp(20px,2.4vw,26px);
  text-align:center;display:flex;flex-direction:column;align-items:center;
  overflow:hidden;isolation:isolate;box-shadow:0 4px 18px rgba(15,23,42,0.05);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .45s ease;
}
.mentor-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,1,.36,1);z-index:4;
}
.mentor-card:hover::before{transform:scaleX(1);}
.mentor-card::after{
  content:"";position:absolute;top:-130px;left:50%;transform:translateX(-50%);
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,.12) 0%, transparent 70%);
  opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:-1;
}
.mentor-card:hover::after{opacity:1;}
.mentor-card:hover{transform:translateY(-9px);border-color:#d6e4ff;box-shadow:0 28px 64px rgba(37,99,235,.16), 0 10px 26px rgba(15,23,42,.06);}

.mentor-rank{
  position:absolute;top:14px;right:20px;
  font-size:clamp(30px,3.2vw,40px);font-weight:900;line-height:1;
  letter-spacing:-.05em;color:#eff4fd;transition:color .45s ease;z-index:1;user-select:none;
}
html[data-theme="dark"] .mentor-rank { color: #1e293b; }
.mentor-card:hover .mentor-rank{color:#dbe7fd;}
html[data-theme="dark"] .mentor-card:hover .mentor-rank { color: #334155; }

.mentor-avatar-wrap{position:relative;margin-bottom:20px;z-index:2;}
.mentor-avatar{
  width:clamp(110px,10vw,130px);height:clamp(110px,10vw,130px);border-radius:50%;padding:5px;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow:0 14px 32px rgba(37,99,235,.22);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease;
}
.mentor-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:4px solid var(--surface);}
.mentor-card:hover .mentor-avatar{transform:scale(1.05) translateY(-3px);box-shadow:0 22px 46px rgba(37,99,235,.32);}
.mentor-verified{
  position:absolute;right:4px;bottom:8px;width:34px;height:34px;border-radius:50%;
  background:var(--surface);border:2px solid var(--border-color);color:#2563eb;
  display:grid;place-items:center;font-size:17px;
  box-shadow:0 6px 16px rgba(15,23,42,.14);z-index:3;
}

.mentor-name{
  font-size:var(--fs-h5);
  font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:8px;position:relative;z-index:2;
}
.mentor-role{
  font-size:var(--fs-xs);font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#2563eb;margin-bottom:20px;position:relative;z-index:2;
}
.mentor-bio{font-size:var(--fs-small);line-height:var(--lh-relaxed);color:var(--text-secondary);margin-bottom:22px;min-height:60px;position:relative;z-index:2;}
.mentor-skills{
  display:flex;flex-wrap:wrap;gap:7px;justify-content:center;
  margin-bottom:24px;min-height:54px;align-content:flex-start;position:relative;z-index:2;
}
.mentor-skills span{
  font-size:var(--fs-tiny);font-weight:700;color:var(--text-secondary);background:var(--surface-soft);
  border:1px solid var(--border-color);padding:6px 12px;border-radius:999px;
  transition:background .3s ease, border-color .3s ease, color .3s ease;
}
.mentor-card:hover .mentor-skills span{background:var(--blue-soft);border-color:#dbe6ff;color:#2563eb;}
html[data-theme="dark"] .mentor-card:hover .mentor-skills span { border-color: #3b82f6; color: #60a5fa; }

.mentor-linkedin{
  margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:13px 20px;border-radius:12px;background:#0a66c2;color:#ffffff;
  font-size:var(--fs-small);font-weight:700;position:relative;overflow:hidden;
  box-shadow:0 10px 24px rgba(10,102,194,.22);
  transition:background .3s ease, transform .3s ease, box-shadow .3s ease;z-index:2;
}
.mentor-linkedin::before{
  content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transition:left .6s ease;
}
.mentor-linkedin:hover::before{left:100%;}
.mentor-linkedin:hover{background:#004182;transform:translateY(-2px);box-shadow:0 16px 34px rgba(10,102,194,.34);color:#ffffff;}
.mentor-linkedin i{font-size:15px;}

@media (max-width: 1024px){ .mentors-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width: 680px){
  .mentors-grid{grid-template-columns:1fr;}
  .mentor-card{max-width:420px;margin:0 auto;width:100%;}
  .mentor-bio,.mentor-skills{min-height:0;}
}

.career-journey-section{
  background:linear-gradient(180deg, rgba(240,244,255,.72) 0%, rgba(232,238,255,.55) 50%, rgba(240,244,255,.72) 100%);
  padding:var(--space-2xl) 0 var(--space-xl);position:relative;overflow:hidden;
}
html[data-theme="dark"] .career-journey-section {
  background: linear-gradient(180deg, rgba(10,18,35,.6) 0%, rgba(7,11,20,.4) 50%, rgba(10,18,35,.6) 100%);
}
.career-journey-section .section-head{margin-bottom:var(--space-xl);}

.journey-scene{position:relative;max-width:1060px;margin:0 auto;min-height:540px;padding:20px 0;}

.journey-progress-line{
  position:absolute;left:50%;top:0;bottom:0;width:3px;
  background:var(--border-color);transform:translateX(-50%);border-radius:3px;overflow:hidden;
}
.journey-progress-fill{
  position:absolute;top:0;left:0;width:100%;height:0%;
  background:linear-gradient(180deg,#2563eb,#7c3aed,#e5167e,#f7a30b,#10b981);
  border-radius:3px;transition:height .3s ease;
}

.journey-stop{
  position:relative;display:flex;align-items:center;gap:clamp(18px,3.8vw,40px);
  margin-bottom:var(--space-xl);opacity:0;transform:translateY(40px);
  transition:opacity .7s ease, transform .7s ease;padding:0 16px;
}
.journey-stop.active{opacity:1;transform:translateY(0);}
.journey-stop:last-child{margin-bottom:0;}
.journey-stop:nth-child(odd){flex-direction:row;}
.journey-stop:nth-child(even){flex-direction:row-reverse;}

.stop-content{
  flex:1;max-width:420px;background:var(--card-bg);border-radius:var(--r-lg);
  padding:clamp(18px,2.8vw,26px) clamp(16px,2.8vw,22px);
  box-shadow:var(--sh-md);border:1.5px solid var(--border-color);
  transition:transform .3s ease, box-shadow .3s ease;
}
.stop-content:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);}
.stop-content .stop-badge{
  display:inline-block;font-size:var(--fs-tiny);font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:#2563eb;background:var(--blue-soft);
  padding:5px 12px;border-radius:999px;margin-bottom:10px;
}
.stop-content h3{
  font-size:var(--fs-h5);
  font-weight:800;line-height:var(--lh-snug);margin-bottom:8px;letter-spacing:-.02em;color:var(--text-primary);
}
.stop-content p{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed);}

.stop-icon-center{
  position:relative;width:88px;height:88px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;z-index:5;
}
.stop-icon-circle{
  width:68px;height:68px;border-radius:50%;background:var(--surface);border:4px solid var(--border-color);
  display:grid;place-items:center;font-size:27px;color:#2563eb;
  box-shadow:0 8px 24px rgba(37,99,235,0.12);
  transition:all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  position:relative;z-index:3;
}
.journey-stop.active .stop-icon-circle{
  border-color:#2563eb;background:#2563eb;color:#fff;
  transform:scale(1.1);box-shadow:0 12px 36px rgba(37,99,235,0.35);
}
.journey-stop:nth-child(1) .stop-icon-circle{border-color:#2563eb;color:#2563eb;}
.journey-stop:nth-child(1).active .stop-icon-circle{background:#2563eb;border-color:#2563eb;color:#fff;}
.journey-stop:nth-child(2) .stop-icon-circle{border-color:#7c3aed;color:#7c3aed;}
.journey-stop:nth-child(2).active .stop-icon-circle{background:#7c3aed;border-color:#7c3aed;color:#fff;}
.journey-stop:nth-child(3) .stop-icon-circle{border-color:#e5167e;color:#e5167e;}
.journey-stop:nth-child(3).active .stop-icon-circle{background:#e5167e;border-color:#e5167e;color:#fff;}
.journey-stop:nth-child(4) .stop-icon-circle{border-color:#f7a30b;color:#f7a30b;}
.journey-stop:nth-child(4).active .stop-icon-circle{background:#f7a30b;border-color:#f7a30b;color:#fff;}
.journey-stop:nth-child(5) .stop-icon-circle{border-color:#10b981;color:#10b981;}
.journey-stop:nth-child(5).active .stop-icon-circle{background:#10b981;border-color:#10b981;color:#fff;}

.walking-student{
  position:absolute;left:50%;transform:translateX(-50%);
  width:56px;height:56px;z-index:10;transition:top .15s linear;
  pointer-events:none;display:flex;align-items:center;justify-content:center;
}
.walking-student .student-body{
  width:40px;height:40px;border-radius:50%;
  background:var(--grad-blue);
  display:grid;place-items:center;color:#fff;font-size:18px;
  box-shadow:0 6px 20px rgba(37,99,235,0.4);
  animation:studentBob 0.6s ease-in-out infinite alternate;
}
@keyframes studentBob{from{transform:translateY(0);}to{transform:translateY(-6px);}}

.stop-number{
  position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;
  background:var(--surface);border:2px solid #2563eb;color:#2563eb;font-size:11px;font-weight:900;
  display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,0.1);
}
.journey-stop.active .stop-number{background:#2563eb;color:#fff;border-color:#2563eb;}

.stop-action-visual{
  position:absolute;right:-30px;top:50%;transform:translateY(-50%);
  width:80px;height:80px;opacity:0;
  transition:opacity .5s ease .3s, transform .5s ease .3s;
}
.journey-stop.active .stop-action-visual{opacity:1;}
.journey-stop:nth-child(even) .stop-action-visual{right:auto;left:-30px;}

.float-icon{position:absolute;font-size:15px;animation:floatIcon 3s ease-in-out infinite;}
.float-icon:nth-child(1){top:0;left:10px;animation-delay:0s;}
.float-icon:nth-child(2){top:20px;right:0;animation-delay:.5s;}
.float-icon:nth-child(3){bottom:0;left:30px;animation-delay:1s;}
@keyframes floatIcon{
  0%,100%{transform:translateY(0) rotate(0deg);opacity:.7;}
  50%{transform:translateY(-10px) rotate(10deg);opacity:1;}
}

/* ============================================================
   TEXT TESTIMONIALS — INFINITE MARQUEE CAROUSEL
   ============================================================ */
.text-testimonials-section {
  padding: var(--space-2xl) 0;
  background: rgba(247,249,253,.55);
  position: relative;
  overflow: hidden;
}
html[data-theme="dark"] .text-testimonials-section { background: rgba(10,18,35,.5); }

.text-testimonials-section .section-head { margin-bottom: var(--space-xl); }

.testimonials-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 22px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.testimonials-text-track {
  display: flex;
  align-items: stretch;
  gap: clamp(16px, 2.2vw, 26px);
  width: max-content;
  animation: testimonialsScroll 65s linear infinite;
  will-change: transform;
}
.testimonials-marquee:hover .testimonials-text-track { animation-play-state: paused; }

@keyframes testimonialsScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.testimonial-text-card {
  flex: 0 0 clamp(275px, 29vw, 380px);
  background: var(--card-bg);
  border: 1.5px solid var(--border-color);
  border-radius: var(--r-lg);
  padding: clamp(22px, 3vw, 32px);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: var(--sh-sm);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.testimonial-text-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--sh-md);
  border-color: #d7e2f7;
}
.testimonial-text-card::before {
  content: "\201C";
  position: absolute;
  top: 10px;
  left: 22px;
  font-family: Georgia, serif;
  font-size: 72px;
  line-height: 1;
  color: var(--blue-soft);
  opacity: 0.9;
  pointer-events: none;
  transition: color .3s ease;
}
html[data-theme="dark"] .testimonial-text-card::before { color: #1e3a8a; opacity: 0.5; }
.testimonial-text-card:hover::before { color: #dbe6ff; }
html[data-theme="dark"] .testimonial-text-card:hover::before { color: #2563eb; opacity: 0.7; }

.testimonial-stars {
  display: flex;
  gap: 4px;
  color: #f59e0b;
  font-size: 14px;
  margin-bottom: 4px;
}
.testimonial-text-card .t-quote {
  font-size: var(--fs-small);
  line-height: var(--lh-relaxed);
  color: var(--text-secondary);
  flex: 1;
  font-style: italic;
  position: relative;
  z-index: 2;
}
.testimonial-text-card .t-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px dashed var(--border-color);
  margin-top: auto;
}
.testimonial-text-card .t-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  border: 2.5px solid var(--blue-soft);
  flex-shrink: 0;
}
.testimonial-text-card .t-avatar img {
  width: 100%; height: 100%; object-fit: cover;
}
.testimonial-text-card .t-meta { display: flex; flex-direction: column; gap: 2px; }
.testimonial-text-card .t-name {
  font-size: var(--fs-small);
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.2;
}
.testimonial-text-card .t-role {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--text-muted);
  line-height: 1.2;
}
.testimonial-text-card .t-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--fs-tiny);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #10b981;
  background: #ecfdf5;
  padding: 4px 10px;
  border-radius: 999px;
  align-self: flex-start;
  border: 1px solid #a7f3d0;
}
html[data-theme="dark"] .testimonial-text-card .t-tag {
  background: #064e3b;
  border-color: #10b981;
  color: #6ee7b7;
}

@media (max-width: 860px) {
  .testimonial-text-card { flex: 0 0 clamp(260px, 78vw, 340px); }
  .testimonials-text-track { animation-duration: 48s; }
}
@media (max-width: 560px) {
  .testimonial-text-card { flex: 0 0 82vw; padding: 22px 20px; }
  .testimonials-text-track { animation-duration: 42s; gap: 14px; }
}

/* ============================================================
   VIDEO TESTIMONIALS — CLICK TO PLAY POPUP
   ============================================================ */
.video-testimonials-section{background:rgba(247,249,253,.55);padding:var(--space-2xl) 0;}
html[data-theme="dark"] .video-testimonials-section { background: rgba(10,18,35,.5); }

.video-layout{
  display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:clamp(16px,2.2vw,28px);align-items:stretch;margin-top:8px;
}

.video-branding-fixed{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:#0b1220;box-shadow:var(--sh-md);min-height:380px;isolation:isolate;
}
.video-branding-fixed .branding-image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.02);transition:transform 7s ease;
}
.video-branding-fixed:hover .branding-image{transform:scale(1.14);}
.video-branding-fixed::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,18,32,0.08) 0%, rgba(11,18,32,0.42) 40%, rgba(11,18,32,0.94) 100%);
  z-index:1;
}
.branding-overlay{position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,2.2vw,26px);z-index:2;color:#fff;}
.branding-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:var(--fs-tiny);font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#93c5fd;background:rgba(37,99,235,.22);
  border:1px solid rgba(96,165,250,.35);
  padding:5px 12px;border-radius:999px;margin-bottom:12px;
}
.branding-overlay h3{
  font-size:var(--fs-h4);
  font-weight:900;letter-spacing:-.02em;line-height:var(--lh-snug);margin-bottom:8px;color:#fff;
}
.branding-overlay p{font-size:var(--fs-small);color:rgba(255,255,255,.74);line-height:var(--lh-normal);margin-bottom:16px;}
.branding-avatars{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.branding-avatars .stack{display:flex;}
.branding-avatars .stack img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.9);margin-left:-10px;}
.branding-avatars .stack img:first-child{margin-left:0;}
.branding-avatars .stack-text{font-size:var(--fs-xs);font-weight:700;color:rgba(255,255,255,.82);display:inline-flex;align-items:center;gap:6px;}
.branding-avatars .stack-text i{color:#34d399;font-size:10px;}

.video-carousel-wrap{position:relative;display:flex;align-items:center;gap:10px;min-width:0;}

.video-carousel{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 2px 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-width:0;
}
.video-carousel::-webkit-scrollbar{display:none;}

.video-testimonial-card{
  flex:0 0 clamp(165px, 17vw, 210px);
  scroll-snap-align:start;
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1.5px solid var(--border-color);
  background:#f1f5f9;
  box-shadow:0 4px 14px rgba(15,23,42,0.06);
  cursor:pointer;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}
.video-testimonial-card:hover{
  transform:translateY(-7px);
  box-shadow:0 18px 40px rgba(15,23,42,.16);
  border-color:#bacdf8;
}
html[data-theme="dark"] .video-testimonial-card:hover{ border-color:#5274b0; }

.video-wrapper{
  position:relative;width:100%;aspect-ratio:3/4;background:#f1f5f9;overflow:hidden;
}
.video-thumbnail{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.video-testimonial-card:hover .video-thumbnail{ transform:scale(1.07); }

.play-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.38) 100%);
  transition:background .3s ease;
}
.video-testimonial-card:hover .play-overlay{
  background:linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.52) 100%);
}
.play-btn{
  width:52px;height:52px;background:rgba(255,255,255,0.95);border-radius:50%;
  display:grid;place-items:center;color:#2563eb;
  box-shadow:0 6px 20px rgba(0,0,0,0.28);transition:transform .3s cubic-bezier(.34,1.56,.64,1);
}
.play-btn svg{width:22px;height:22px;margin-left:3px;}
.video-testimonial-card:hover .play-btn{transform:scale(1.14);}

.video-cta-wrap{margin-top:26px;text-align:center;}
.video-cta-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:var(--fs-small);font-weight:700;
  padding:13px 26px;border-radius:999px;border:1.5px solid var(--border-color);
  background:var(--surface);color:var(--text-primary);transition:all 0.2s ease;
}
.video-cta-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);transform:translateY(-2px);}

/* ============================================================
   PLACED STUDENTS — LARGER POSTERS
   ============================================================ */
.placed-section{background:transparent;padding:var(--space-2xl) 0;}
.placed-carousel-wrap{position:relative;display:flex;align-items:center;gap:14px;margin-top:var(--space-xl);}
.placed-carousel{
  display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:8px 2px 22px;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;
}
.placed-carousel::-webkit-scrollbar{display:none;}
.placed-card{
  flex:0 0 clamp(285px, 30vw, 375px);
  scroll-snap-align:start;background:var(--card-bg);
  border:1.5px solid var(--border-color);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-sm);transition:transform .3s ease, box-shadow .3s ease;
}
.placed-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);}
.placed-thumb{width:100%;aspect-ratio:4/5;background:#f1f5f9;overflow:hidden;position:relative;}
.placed-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.placed-card:hover .placed-thumb img{transform:scale(1.05);}
.carousel-arrow{
  width:42px;height:42px;border-radius:50%;background:var(--surface);border:1.5px solid var(--border-color);
  display:grid;place-items:center;color:var(--text-primary);flex:none;
  transition:.2s ease;box-shadow:var(--sh-sm);
}
.carousel-arrow:hover{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.3);}
.carousel-arrow:disabled{opacity:.4;pointer-events:none;}

@media (max-width: 1024px){
  .placed-card{ flex:0 0 clamp(262px, 36vw, 340px); }
}
@media (max-width: 860px){
  .placed-card{ flex:0 0 clamp(235px, 64vw, 315px); }
  .placed-carousel{ gap:16px; }
}
@media (max-width: 560px){
  .placed-card{ flex:0 0 clamp(215px, 74vw, 290px); }
}

/* ============================================================
   HIRING PARTNERS
   ============================================================ */
.partners-section{
  background:linear-gradient(180deg, rgba(255,255,255,.80) 0%, rgba(245,248,255,.62) 55%, rgba(255,255,255,.80) 100%);
  padding:var(--space-2xl) 0;
  position:relative;overflow:hidden;
}
html[data-theme="dark"] .partners-section {
  background: linear-gradient(180deg, rgba(10,18,35,.6) 0%, rgba(7,11,20,.4) 100%);
}
.partners-section::before{
  content:"";position:absolute;top:-170px;left:50%;transform:translateX(-50%);
  width:940px;height:440px;border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(37,99,235,.10) 0%, rgba(124,58,237,.06) 45%, transparent 72%);
  pointer-events:none;z-index:0;
}
.partners-section .container{position:relative;z-index:2;}

.partners-marquee{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:clamp(12px,1.8vw,18px);
  padding:6px 0;
}
.partners-row{
  overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%);
}
.partners-track{
  display:flex;align-items:center;gap:clamp(12px,1.6vw,18px);
  width:max-content;
  animation:partnersScroll 42s linear infinite;
  will-change:transform;
}
.partners-track.reverse{animation-direction:reverse;animation-duration:56s;}
.partners-row:hover .partners-track{animation-play-state:paused;}
@keyframes partnersScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.partner-logo-card{
  flex:0 0 auto;
  width:clamp(132px,14vw,186px);
  height:clamp(72px,7.6vw,94px);
  background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:16px;
  display:grid;place-items:center;padding:12px 18px;
  box-shadow:0 2px 10px rgba(15,23,42,.05);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.partner-logo-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:#d7e2f7;}
.partner-logo-card img{
  max-width:100%;max-height:100%;width:auto;object-fit:contain;
  filter:grayscale(1);opacity:.7;
  transition:filter .35s ease, opacity .35s ease, transform .35s ease;
}
.partner-logo-card:hover img{filter:grayscale(0);opacity:1;transform:scale(1.05);}

.partners-footer{
  margin-top:var(--space-xl);
  display:flex;align-items:center;justify-content:center;
  gap:clamp(14px,2.4vw,34px);flex-wrap:wrap;
}
.partners-footer-stat{
  display:inline-flex;align-items:center;gap:9px;
  font-size:var(--fs-small);font-weight:700;color:var(--text-secondary);
}
.partners-footer-stat i{color:#2563eb;font-size:14px;}
.partners-cta{
  display:inline-flex;align-items:center;gap:9px;
  font-size:var(--fs-small);font-weight:800;color:#fff;
  background:var(--grad-blue);padding:13px 26px;border-radius:999px;
  box-shadow:0 10px 26px rgba(37,99,235,.30);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
  cursor:none;border:0;
}
@media (hover:none){ .partners-cta{cursor:pointer;} }
.partners-cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 38px rgba(37,99,235,.42);color:#fff;}

/* ============================================================
   LINKEDIN MENTIONS — INFINITE MARQUEE
   ============================================================ */
.linkedin-screenshot-section{
  background:linear-gradient(135deg, #0a66c2 0%, #004182 100%);
  padding:var(--space-2xl) 0;overflow:hidden;position:relative;
}
.linkedin-screenshot-section::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size:24px 24px;pointer-events:none;
}
.linkedin-screenshot-section .section-head{position:relative;z-index:2;}
.linkedin-screenshot-section .section-title{color:#fff;}
.linkedin-screenshot-section .section-sub{color:rgba(255,255,255,0.75);}
.linkedin-screenshot-section .pill-badge{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.25);color:#fff;}
.linkedin-screenshot-section .pill-badge .dot{background:#fff;}

.linkedin-fullwidth-scroll{
  position:relative;z-index:2;width:100%;overflow:hidden;margin-top:var(--space-xl);padding:10px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}
.linkedin-fullwidth-track{
  display:flex;gap:20px;width:max-content;
  animation:linkedinFullScroll 45s linear infinite;padding:0 10px;
  will-change:transform;
}
.linkedin-fullwidth-track:hover{animation-play-state:paused;}
@keyframes linkedinFullScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

.linkedin-screenshot-card{
  flex:0 0 clamp(250px, 26vw, 320px);background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,0.25);
  transition:transform .3s ease, box-shadow .3s ease;cursor:pointer;position:relative;
}
.linkedin-screenshot-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,0.35);}
.linkedin-screenshot-card img{
  width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;background:#f1f5f9;
}
.linkedin-screenshot-card::after{
  content:"\f08c";font-family:"Font Awesome 6 Brands";
  position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;
  background:#0a66c2;color:#fff;display:grid;place-items:center;font-size:15px;
  box-shadow:0 4px 12px rgba(0,0,0,0.25);
}
@media (max-width: 860px){
  .linkedin-screenshot-card{flex:0 0 230px;}
  .linkedin-fullwidth-track{animation-duration:35s;}
}
@media (max-width: 560px){
  .linkedin-screenshot-card{flex:0 0 190px;}
  .linkedin-fullwidth-track{gap:12px;animation-duration:30s;}
}

/* ============================================================
   WHY SECTION
   ============================================================ */
.why-section{background:rgba(247,249,253,.55);padding:var(--space-2xl) 0;}
html[data-theme="dark"] .why-section { background: rgba(10,18,35,.5); }

.why-top-row{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;margin-bottom:22px;}

.why-highlight-card{
  background:var(--grad-blue);
  border-radius:var(--r-lg);padding:clamp(26px,3.8vw,38px);color:#fff;
  position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;
}
.why-highlight-badge{
  font-size:var(--fs-tiny);font-weight:800;letter-spacing:0.15em;text-transform:uppercase;
  background:rgba(255,255,255,0.15);padding:6px 12px;border-radius:999px;
  align-self:flex-start;margin-bottom:15px;
}
.why-highlight-card h3{
  font-size:var(--fs-h3);
  font-weight:900;letter-spacing:-0.02em;line-height:var(--lh-tight);margin-bottom:15px;
}
.why-highlight-card p{font-size:var(--fs-small);color:rgba(255,255,255,0.85);line-height:var(--lh-relaxed);margin-bottom:22px;max-width:80%;}
.highlight-avatars{display:flex;align-items:center;gap:15px;flex-wrap:wrap;}
.avatar-stack{display:flex;}
.avatar-stack img{width:34px;height:34px;border-radius:50%;border:2px solid #2563eb;margin-left:-10px;}
.avatar-stack img:first-child{margin-left:0;}
.verified-text{font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;gap:4px;}
.highlight-bg-icon{position:absolute;top:40px;right:40px;font-size:100px;opacity:0.1;color:#fff;pointer-events:none;}

.why-top-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.why-feature-card{
  background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:var(--r-md);
  padding:clamp(13px,1.8vw,19px);display:flex;gap:13px;align-items:flex-start;
  box-shadow:var(--sh-sm);transition:transform .3s ease, box-shadow .3s ease;
}
.why-feature-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:#d7e2f7;}
.feature-icon-box{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:19px;flex-shrink:0;}
.icon-blue{background:#eff4ff;color:#2563eb;}
.icon-orange{background:#fff7ed;color:#f97316;}
.icon-pink{background:#fff0f7;color:#e5167e;}
.icon-green{background:#ecfdf5;color:#10b981;}
.icon-purple{background:#f3e8ff;color:#7c3aed;}
.icon-cyan{background:#ecfeff;color:#06b6d4;}
.icon-amber{background:#fffbeb;color:#f59e0b;}
.icon-indigo{background:#e0e7ff;color:#4f46e5;}
html[data-theme="dark"] .icon-blue { background: #1e3a8a; color: #93c5fd; }
html[data-theme="dark"] .icon-orange { background: #7c2d12; color: #fdba74; }
html[data-theme="dark"] .icon-pink { background: #831843; color: #f9a8d4; }
html[data-theme="dark"] .icon-green { background: #064e3b; color: #6ee7b7; }
html[data-theme="dark"] .icon-purple { background: #4c1d95; color: #c4b5fd; }
html[data-theme="dark"] .icon-cyan { background: #164e63; color: #67e8f9; }
html[data-theme="dark"] .icon-amber { background: #78350f; color: #fcd34d; }
html[data-theme="dark"] .icon-indigo { background: #312e81; color: #a5b4fc; }

.feature-text-box span{font-size:var(--fs-tiny);font-weight:800;letter-spacing:0.1em;color:var(--text-muted);display:block;margin-bottom:4px;text-transform:uppercase;}
.feature-text-box h4{font-size:var(--fs-small);font-weight:800;line-height:var(--lh-snug);color:var(--text-primary);}

.why-bottom-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;}
.why-bottom-grid .why-feature-card{padding:clamp(11px,1.6vw,15px);}

.why-cta-wrap{margin-top:var(--space-xl);text-align:center;}
.why-cta-btn{
  display:inline-flex;align-items:center;justify-content:space-between;
  width:100%;max-width:520px;margin:0 auto;
  background:var(--grad-blue);color:#fff;padding:15px 24px;border-radius:16px;
  text-align:left;box-shadow:0 10px 30px rgba(37,99,235,0.3);
  transition:transform .2s ease, box-shadow .2s ease;cursor:none;
}
@media (hover: none){ .why-cta-btn{cursor:pointer;} }
.why-cta-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(37,99,235,0.4);color:#fff;}
.why-cta-btn span{font-size:var(--fs-xs);font-weight:700;line-height:var(--lh-snug);display:block;}
.why-cta-btn span strong{font-size:var(--fs-h5);font-weight:900;display:block;margin-top:2px;}
.arrow-circle{width:42px;height:42px;background:rgba(255,255,255,0.15);border-radius:50%;display:grid;place-items:center;flex-shrink:0;}
.arrow-circle svg{width:18px;height:18px;}

/* ============================================================
   MILESTONES
   ============================================================ */
.milestones-section{background:transparent;padding:var(--space-2xl) 0;}
.milestones-grid{display:grid;grid-template-columns:repeat(6, 1fr);gap:18px;margin-top:var(--space-xl);}
.milestone-card{
  border-radius:var(--r-lg);padding:clamp(18px,2.8vw,30px) clamp(11px,1.8vw,15px);
  text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:15px;box-shadow:var(--sh-md);transition:transform .3s ease, box-shadow .3s ease;min-height:170px;
}
.milestone-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);}
.milestone-icon{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,0.2);display:grid;place-items:center;font-size:19px;}
.milestone-card h4{font-size:var(--fs-small);font-weight:700;line-height:var(--lh-snug);margin:0;color:#ffffff;}
.milestone-card.color-blue{background:linear-gradient(135deg, #4f46e5, #4338ca);}
.milestone-card.color-red{background:linear-gradient(135deg, #ef4444, #dc2626);}
.milestone-card.color-green{background:linear-gradient(135deg, #10b981, #059669);}
.milestone-card.color-purple{background:linear-gradient(135deg, #7c3aed, #6d28d9);}
.milestone-card.color-cyan{background:linear-gradient(135deg, #06b6d4, #0891b2);}
.milestone-card.color-rose{background:linear-gradient(135deg, #e11d48, #be123c);}

/* ============================================================
   PLACEMENT RECORD
   ============================================================ */
.placement-record-section{background:linear-gradient(180deg, rgba(248,250,252,.72) 0%, rgba(240,244,255,.55) 100%);padding:var(--space-2xl) 0;}
html[data-theme="dark"] .placement-record-section {
  background: linear-gradient(180deg, rgba(10,18,35,.6) 0%, rgba(7,11,20,.4) 100%);
}
.placement-record-header{text-align:center;max-width:860px;margin:0 auto var(--space-xl);}
.placement-record-header .eyebrow{
  font-size:var(--fs-small);font-weight:800;letter-spacing:0.16em;color:#2563eb;
  text-transform:uppercase;display:block;margin-bottom:12px;
}
.placement-record-header h2{
  font-size:var(--fs-h2);
  font-weight:900;letter-spacing:-0.02em;line-height:var(--lh-tight);margin-bottom:16px;
}
.placement-record-header p{font-size:var(--fs-body);color:var(--text-secondary);line-height:var(--lh-relaxed);}

.placement-stats-bar{
  display:flex;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 20px 50px rgba(37, 99, 235, 0.18), 0 8px 24px rgba(15, 23, 42, 0.08);
  max-width:1200px;margin:0 auto;border:1px solid rgba(37, 99, 235, 0.08);
}
.stat-block{
  flex:1;padding:clamp(24px,4vw,36px) clamp(12px,1.8vw,18px);
  text-align:center;color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;position:relative;overflow:hidden;
  transition:transform 0.3s ease;
}
.stat-block::before{
  content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition:left 0.6s ease;
}
.stat-block:hover::before{left:100%;}
.stat-block:hover{transform:translateY(-2px);}
.stat-block b{font-size:clamp(24px,3.4vw,40px);font-weight:900;display:block;line-height:1.1;letter-spacing:-0.03em;text-shadow:0 2px 8px rgba(0,0,0,0.15);}
.stat-block span{font-size:var(--fs-small);font-weight:700;opacity:0.95;margin-top:6px;letter-spacing:0.02em;text-transform:uppercase;}
.stat-block:nth-child(1){background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);}
.stat-block:nth-child(2){background:linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);}
.stat-block:nth-child(3){background:linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);}
.stat-block:nth-child(4){background:linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);}

/* ============================================================
   FACULTY
   ============================================================ */
.faculty-section{background:rgba(247,249,253,.55);padding:var(--space-2xl) 0;}
html[data-theme="dark"] .faculty-section { background: rgba(10,18,35,.5); }
.faculty-carousel-wrap{position:relative;display:flex;align-items:center;gap:14px;margin-top:var(--space-xl);}
.faculty-carousel{
  display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:8px 2px 22px;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;
}
.faculty-carousel::-webkit-scrollbar{display:none;}
.faculty-card{
  flex:0 0 clamp(190px,23vw,230px);scroll-snap-align:start;background:var(--card-bg);
  border:1.5px solid var(--border-color);border-radius:var(--r-lg);
  padding:clamp(18px,2.8vw,24px) clamp(11px,1.8vw,15px);
  text-align:center;box-shadow:var(--sh-sm);
  transition:transform .3s ease, box-shadow .3s ease;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:310px;
}
.faculty-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);}
.faculty-avatar{width:86px;height:86px;border-radius:50%;overflow:hidden;margin-bottom:15px;border:3px solid var(--border-color);}
.faculty-avatar img{width:100%;height:100%;object-fit:cover;}
.faculty-info h4{
  font-size:var(--fs-small);font-weight:800;color:var(--text-primary);margin-bottom:5px;
  display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;
}
.faculty-info h4 i{color:#2563eb;font-size:11px;}
.faculty-title{font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);margin-bottom:15px;line-height:var(--lh-snug);min-height:34px;}
.faculty-logo{height:24px;object-fit:contain;opacity:0.7;margin-top:auto;}

/* ============================================================
   TOOLS SECTION
   ============================================================ */
.tools-section{
  background:transparent;
  padding:var(--space-2xl) 0;
  position:relative;
  overflow:hidden;
}
.tools-section::before{
  content:""; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%); width:min(1000px,95vw); height:min(1000px,95vw);
  border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,.055) 0%, rgba(124,58,237,.035) 42%, transparent 70%);
  pointer-events:none; z-index:0;
}
.tools-section .container{position:relative; z-index:2;}

.tools-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap: clamp(10px, 1.4vw, 18px);
  align-items:stretch;
  justify-items:stretch;
  width:100%;
}

.tool-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding: clamp(12px, 1.4vw, 20px) clamp(8px, 0.9vw, 14px);
  background: var(--card-bg);
  border: 2px solid var(--border-color);
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(15,23,42,0.05);
  transition: transform .3s cubic-bezier(.22,1,.36,1),
              box-shadow .3s ease,
              border-color .3s ease;
  cursor: default;
  isolation: isolate;
  min-height: clamp(80px, 9vw, 120px);
  box-sizing: border-box;
}

.tool-card:hover{
  transform: translateY(-4px) scale(1.02);
  border-color: #2563eb;
  box-shadow: 0 10px 24px rgba(37,99,235,0.15);
}

.tool-card::before,
.tool-card::after{ display: none !important; }

.tool-card img{
  height: clamp(40px, 5.2vw, 72px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
  will-change: transform;
}
.tool-card:hover img{
  transform: scale(1.08);
}

.view-all-card{
  background: var(--blue-soft);
  border: 2px solid var(--border-color);
  border-radius: 16px;
  padding: clamp(12px, 1.4vw, 20px) clamp(8px, 0.9vw, 14px);
  min-height: clamp(80px, 9vw, 120px);
  box-shadow: 0 2px 10px rgba(15,23,42,0.05);
  color: var(--blue);
  font-weight: 800;
  font-size: var(--fs-small);
  transition: all .3s ease;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
}
.view-all-card::before,
.view-all-card::after{ display: none !important; }
.view-all-card:hover{
  background: var(--blue);
  color: #fff;
  transform: translateY(-4px) scale(1.02);
  border-color: var(--blue);
  box-shadow: 0 10px 24px rgba(37,99,235,0.25);
}

.more-card{
  display: none;
  background: var(--surface-soft);
  border: 2px dashed var(--border-color);
  border-radius: 16px;
  padding: clamp(12px, 1.4vw, 20px) clamp(8px, 0.9vw, 14px);
  min-height: clamp(80px, 9vw, 120px);
  color: var(--text-muted);
  font-weight: 800;
  font-size: var(--fs-small);
  user-select: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
}
.more-card::before,
.more-card::after{ display: none !important; }
.tools-grid.expanded .more-card{
  display: flex;
  animation: fadeIn .4s ease forwards;
}
.more-card span{
  display: flex;
  align-items: center;
  gap: 6px;
}
.more-card span::before{
  content: "+";
  font-size: 18px;
  font-weight: 900;
  color: var(--blue);
}

.hidden-tool{ display: none; }
.tools-grid.expanded .hidden-tool{
  display: flex;
  animation: fadeIn .4s ease forwards;
}
@keyframes fadeIn{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

html[data-theme="dark"] .tool-card{
  background: var(--card-bg);
  border-color: var(--border-color);
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
html[data-theme="dark"] .tool-card:hover{
  border-color: #60a5fa;
  box-shadow: 0 10px 24px rgba(37,99,235,0.2);
}
html[data-theme="dark"] .tool-card img{
  filter: none;
}
html[data-theme="dark"] .view-all-card{
  background: var(--blue-soft);
  border-color: #36548a;
  color: #93c5fd;
}
html[data-theme="dark"] .view-all-card:hover{
  background: #285cce;
  color: #fff;
  border-color: #285cce;
}

@media (max-width: 860px){
  .tools-grid{
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(10px, 2vw, 18px);
  }
  .tool-card{
    min-height: clamp(80px, 16vw, 110px);
    padding: clamp(10px, 2vw, 18px) clamp(8px, 1.4vw, 14px);
    border-radius: 14px;
  }
  .tool-card img{
    height: clamp(36px, 8vw, 60px);
  }
  .view-all-card,
  .more-card{
    min-height: clamp(80px, 16vw, 110px);
    padding: clamp(10px, 2vw, 18px) clamp(8px, 1.4vw, 14px);
    border-radius: 14px;
    font-size: var(--fs-xs);
  }
}

@media (max-width: 480px){
  .tools-grid{
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(8px, 2vw, 14px);
  }
  .tool-card{
    min-height: clamp(72px, 18vw, 96px);
    padding: clamp(8px, 1.6vw, 14px) clamp(6px, 1vw, 10px);
    border-radius: 12px;
  }
  .tool-card img{
    height: clamp(32px, 7.5vw, 52px);
  }
  .view-all-card,
  .more-card{
    min-height: clamp(72px, 18vw, 96px);
    padding: clamp(8px, 1.6vw, 14px) clamp(6px, 1vw, 10px);
    border-radius: 12px;
    font-size: 0.7rem;
  }
}

/* ============================================================
   CERTIFICATIONS — LOGOS ONLY, BORDERED, NO BOX BG, NO TEXT
   ============================================================ */
.certifications-section{
  background:linear-gradient(180deg, rgba(255,255,255,.78) 0%, rgba(247,249,253,.58) 100%);
  padding:var(--space-2xl) 0;
  position:relative;overflow:hidden;
}
html[data-theme="dark"] .certifications-section {
  background: linear-gradient(180deg, rgba(10,18,35,.6) 0%, rgba(7,11,20,.4) 100%);
}
.certifications-section::before{
  content:"";position:absolute;top:-140px;right:-140px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle, rgba(37,99,235,0.07) 0%, transparent 70%);pointer-events:none;z-index:0;
}
.certifications-section::after{
  content:"";position:absolute;bottom:-140px;left:-140px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(124,58,237,0.07) 0%, transparent 70%);pointer-events:none;z-index:0;
}
.certifications-section .container{position:relative;z-index:2;}

.cert-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:clamp(12px,1.6vw,18px);
}

.cert-card{
  position:relative;
  background:transparent;
  border:1.5px solid var(--border-color);
  border-radius:var(--r-md);
  min-height:clamp(96px, 9.5vw, 132px);
  display:grid;
  place-items:center;
  padding:clamp(14px,1.8vw,22px);
  box-shadow:none;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease, background .3s ease;
  overflow:hidden;
}
.cert-card:hover{
  transform:translateY(-6px);
  border-color:#bacdf8;
  box-shadow:0 14px 30px rgba(37,99,235,.12);
}
html[data-theme="dark"] .cert-card{
  border-color:#2a3850;
}
html[data-theme="dark"] .cert-card:hover{
  border-color:#5274b0;
  box-shadow:0 14px 30px rgba(37,99,235,.22);
}

.cert-card img{
  max-width:100%;
  max-height:clamp(46px, 5.2vw, 70px);
  width:auto;
  height:auto;
  object-fit:contain;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.cert-card:hover img{
  transform:scale(1.06);
}

.cert-trust-line{
  margin-top:var(--space-xl);display:flex;align-items:center;justify-content:center;
  gap:18px;flex-wrap:wrap;padding:16px 22px;border-radius:999px;
  background:var(--card-bg);border:1.5px solid var(--border-color);box-shadow:var(--sh-sm);
  max-width:820px;margin-left:auto;margin-right:auto;
}
.cert-trust-line span{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-small);font-weight:700;color:var(--text-secondary);}
.cert-trust-line i{color:#10b981;font-size:13px;}

@media (max-width: 1024px){ .cert-grid{grid-template-columns:repeat(4, 1fr);} }
@media (max-width: 768px){
  .cert-grid{grid-template-columns:repeat(3, 1fr);}
  .cert-trust-line{border-radius:20px;gap:12px;padding:16px;}
  .cert-card{ min-height:clamp(92px, 22vw, 122px); padding:14px; }
  .cert-card img{ max-height:clamp(42px, 11vw, 60px); }
}
@media (max-width: 560px){
  .cert-grid{grid-template-columns:repeat(2, 1fr);}
  .cert-card{ min-height:clamp(88px, 28vw, 112px); }
  .cert-card img{ max-height:clamp(40px, 13vw, 54px); }
}

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-section{background:rgba(247,249,253,.5);padding:var(--space-2xl) 0;}
html[data-theme="dark"] .gallery-section { background: rgba(10,18,35,.5); }
.gallery-grid{display:grid;grid-template-columns:repeat(4, 1fr);grid-auto-rows:clamp(130px,16vw,190px);gap:clamp(9px,1.6vw,14px);}
.gallery-item{border-radius:var(--r-md);overflow:hidden;position:relative;box-shadow:var(--sh-sm);transition:transform .3s ease, box-shadow .3s ease;background:#e8eefb;}
.gallery-item:hover{transform:scale(1.02);box-shadow:var(--sh-md);z-index:2;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery-item img.gallery-img{transition:opacity .7s ease, transform .5s ease;}
.gallery-item img.gallery-img.swapping{opacity:0;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-item.span-2{grid-column:span 2;}
.gallery-item.tall{grid-row:span 2;}

.gallery-live-chip{
  display:inline-flex;align-items:center;gap:7px;
  font-size:var(--fs-tiny);font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0;
  padding:6px 14px;border-radius:999px;margin-top:14px;
}
html[data-theme="dark"] .gallery-live-chip { background: #064e3b; border-color: #10b981; color: #a7f3d0; }
.gallery-live-chip .live-dot{
  width:7px;height:7px;border-radius:50%;background:#10b981;
  box-shadow:0 0 0 0 rgba(16,185,129,.7);
  animation:livePulse 1.8s infinite;
}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(16,185,129,.7);}
  70%{box-shadow:0 0 0 9px rgba(16,185,129,0);}
  100%{box-shadow:0 0 0 0 rgba(16,185,129,0);}
}

/* ============================================================
   COMPARE TABLE
   ============================================================ */
.compare-table{width:100%;background:var(--card-bg);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-md);border:1px solid var(--border-color);}

.compare-header{
  display:grid;grid-template-columns:1.2fr 1fr 1fr;background:#0b1220;color:#fff;
  font-size:var(--fs-tiny);font-weight:800;letter-spacing:0.08em;text-transform:uppercase;
}
.compare-header > div{padding:18px 16px;}
.compare-header > div:nth-child(2){color:#2563eb;text-align:center;}
.compare-header > div:nth-child(3){color:#94a3b8;text-align:center;}

.compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-bottom:1px solid var(--border-color);transition:background 0.2s ease;}
.compare-row:last-child{border-bottom:0;}
.compare-row:hover{background:var(--surface-soft);}

.compare-feature{padding:18px 16px;font-size:var(--fs-small);font-weight:800;color:var(--text-primary);display:flex;align-items:center;}

.compare-cell{padding:18px 16px;font-size:var(--fs-small);line-height:var(--lh-normal);color:var(--text-secondary);display:flex;align-items:flex-start;gap:10px;}
.compare-cell.us{
  background:rgba(37, 99, 235, 0.03);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);
  font-weight:600;color:var(--text-primary);
}
html[data-theme="dark"] .compare-cell.us {
  background: rgba(37,99,235,0.08);
  border-color: #1e3a8a;
}
.compare-cell.them{color:var(--text-muted);}

.tick-circle, .cross-circle{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-top:2px;}
.tick-circle{background:#10b981;}
.cross-circle{background:#ef4444;}

.compare-cta{
  background:var(--grad-blue);
  padding:22px 30px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.compare-cta-left{display:flex;align-items:center;gap:15px;}
.compare-cta-icon{
  width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,0.15);
  display:grid;place-items:center;flex-shrink:0;color:#fff;
}
.compare-cta-text h3{font-size:var(--fs-h5);font-weight:900;margin:0 0 4px 0;letter-spacing:-0.01em;line-height:var(--lh-snug);color:#fff;}
.compare-cta-text p{font-size:var(--fs-small);color:rgba(255, 255, 255, 0.85);margin:0;line-height:var(--lh-normal);}
.btn-cta-white{
  background:#fff;color:#2563eb;font-size:var(--fs-small);font-weight:800;
  padding:12px 24px;border-radius:8px;box-shadow:0 4px 14px rgba(0, 0, 0, 0.15);
  transition:transform 0.2s ease, box-shadow 0.2s ease;white-space:nowrap;
  display:inline-flex;align-items:center;gap:8px;cursor:none;
}
@media (hover: none){ .btn-cta-white{cursor:pointer;} }
.btn-cta-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0, 0, 0, 0.2);}

/* ============================================================
   FAQ
   ============================================================ */
.faq-section{background:transparent;padding:var(--space-2xl) 0;}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.8vw,38px);margin-top:var(--space-xl);}
.faq-column{display:flex;flex-direction:column;gap:15px;}
.faq-item{background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:var(--r-md);overflow:hidden;transition:border-color .2s ease, box-shadow .2s ease;}
.faq-item:hover{border-color:#d7e2f7;box-shadow:var(--sh-sm);}
.faq-item.open{border-color:#bfdbfe;box-shadow:0 4px 16px rgba(37,99,235,.08);}
html[data-theme="dark"] .faq-item.open { border-color: #3b82f6; }
.faq-question{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:clamp(15px,1.8vw,19px) clamp(15px,2.2vw,21px);
  text-align:left;font-size:var(--fs-body);font-weight:700;color:var(--text-primary);
  cursor:none;transition:background .2s ease;line-height:var(--lh-snug);
}
@media (hover: none){ .faq-question{cursor:pointer;} }
.faq-question:hover{background:var(--surface-soft);}
.faq-question .faq-icon{
  width:24px;height:24px;border-radius:50%;background:var(--blue-soft);color:var(--blue);
  display:grid;place-items:center;font-size:11px;flex-shrink:0;
  transition:transform .3s ease, background .3s ease, color .3s ease;
}
.faq-item.open .faq-icon{background:var(--blue);color:#fff;transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease, padding .35s ease;padding:0 clamp(15px,2.2vw,21px);}
.faq-item.open .faq-answer{max-height:320px;padding:0 clamp(15px,2.2vw,21px) clamp(15px,2.2vw,21px);}
.faq-answer p{font-size:var(--fs-small);color:var(--text-secondary);line-height:var(--lh-relaxed);}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-section{
  background:linear-gradient(135deg, #0b1220 0%, #1e293b 100%);
  padding:var(--space-2xl) 0;position:relative;overflow:hidden;
}
.contact-section::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(37,99,235,0.15) 1px, transparent 1px);
  background-size:32px 32px;pointer-events:none;
  animation:contactPulse 8s ease-in-out infinite alternate;
}
@keyframes contactPulse{0%{opacity:.5;}100%{opacity:1;}}
.contact-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,4.5vw,60px);align-items:center;position:relative;z-index:2;
}
.contact-left h2{
  font-size:var(--fs-h2);
  font-weight:900;letter-spacing:-0.025em;line-height:var(--lh-tight);color:#fff;margin-bottom:15px;
}
.contact-left p{font-size:var(--fs-body);color:rgba(255,255,255,0.7);line-height:var(--lh-relaxed);margin-bottom:24px;}
.contact-benefits{display:flex;flex-direction:column;gap:13px;margin-bottom:28px;}
.contact-benefit{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,0.85);font-size:var(--fs-small);font-weight:600;}
.contact-benefit i{
  width:24px;height:24px;border-radius:50%;background:rgba(37,99,235,0.3);color:#60a5fa;
  display:grid;place-items:center;font-size:10px;flex-shrink:0;
}
.contact-trust-badges{display:flex;flex-wrap:wrap;gap:15px;}
.contact-trust-badges span{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:rgba(255,255,255,0.6);}
.contact-trust-badges span i{color:#10b981;}

.contact-form-card{
  background:var(--card-bg);border-radius:var(--r-xl);padding:clamp(26px,3.8vw,38px);
  box-shadow:0 30px 80px rgba(0,0,0,0.3);
}
.contact-form-card h3{
  font-size:var(--fs-h4);
  font-weight:900;color:var(--text-primary);margin-bottom:8px;letter-spacing:-0.02em;
}
.contact-form-card > p{font-size:var(--fs-small);color:var(--text-muted);margin-bottom:24px;}

.form-group{margin-bottom:17px;}
.form-group label{display:block;font-size:var(--fs-small);font-weight:700;color:var(--text-primary);margin-bottom:6px;}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--border-color);border-radius:10px;
  font-size:var(--fs-body);color:var(--text-primary);background:var(--input-bg);
  transition:border-color .2s ease, box-shadow .2s ease;outline:none;line-height:var(--lh-snug);
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,0.12);}
.form-group input::placeholder,
.form-group textarea::placeholder{color:var(--text-muted);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-checkbox{
  display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;
  font-size:var(--fs-xs);color:var(--text-secondary);line-height:var(--lh-normal);
}
.form-checkbox input{width:17px;height:17px;margin-top:1px;accent-color:var(--blue);flex-shrink:0;cursor:none;}
@media (hover: none){ .form-checkbox input{cursor:pointer;} }
.form-checkbox a{color:var(--blue);font-weight:600;text-decoration:underline;}

.recaptcha-holder{margin-bottom:14px;min-height:0;transform-origin:left top;}
@media (max-width:420px){ .recaptcha-holder{transform:scale(.88);} }
.recaptcha-error{
  display:flex;align-items:center;gap:7px;
  font-size:var(--fs-xs);font-weight:700;color:#dc2626;
  background:#fef2f2;border:1px solid #fecaca;
  padding:8px 11px;border-radius:9px;margin:0 0 14px;
}
html[data-theme="dark"] .recaptcha-error { background: #7f1d1d; border-color: #b91c1c; color: #fecaca; }
.recaptcha-error i{font-size:11px;}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

.video-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;}
.video-modal.active{display:flex;}
.modal-backdrop{position:absolute;inset:0;background:rgba(10,15,30,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.modal-content{
  position:relative;width:100%;max-width:900px;background:#000;border-radius:var(--r-lg);
  overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);z-index:10;animation:modalIn .3s ease;
}
@keyframes modalIn{from{opacity:0;transform:translateY(20px) scale(.97);}to{opacity:1;transform:none;}}
.video-container{position:relative;padding-bottom:56.25%;height:0;}
.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.close-btn{
  position:absolute;top:-50px;right:0;width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.15);color:#fff;display:grid;place-items:center;
  transition:.2s ease;backdrop-filter:blur(4px);
}
.close-btn:hover{background:rgba(255,255,255,.3);}

.lead-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:16px;}
.lead-modal.active{display:flex;}
.lead-modal .modal-backdrop{
  position:absolute;inset:0;background:rgba(9,14,28,.78);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  animation:leadFade .3s ease;
}
@keyframes leadFade{from{opacity:0;}to{opacity:1;}}

.lead-modal-card{
  position:relative;z-index:10;width:100%;max-width:540px;
  max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--card-bg);border-radius:24px;
  padding:clamp(22px,3.5vw,36px);
  box-shadow:0 40px 110px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.5) inset;
  animation:leadPop .42s cubic-bezier(.34,1.42,.62,1);
}
@keyframes leadPop{from{opacity:0;transform:translateY(26px) scale(.95);}to{opacity:1;transform:none;}}
.lead-modal-card::-webkit-scrollbar{width:6px;}
.lead-modal-card::-webkit-scrollbar-thumb{background:#dbe3f0;border-radius:10px;}

.lead-modal-close{
  position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;
  background:var(--surface-soft);color:var(--text-primary);display:grid;place-items:center;
  font-size:14px;cursor:none;transition:background .25s ease, transform .25s ease, color .25s ease;
  z-index:5;
}
@media (hover: none){ .lead-modal-close{cursor:pointer;} }
.lead-modal-close:hover{background:#fee2e2;color:#dc2626;transform:rotate(90deg);}

.lead-modal-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:var(--fs-tiny);font-weight:800;letter-spacing:.15em;text-transform:uppercase;
  color:#2563eb;background:var(--blue-soft);border:1px solid #dbe6ff;
  padding:6px 14px;border-radius:999px;margin-bottom:14px;
}
.lead-modal-card h3{
  font-size:var(--fs-h4);
  font-weight:900;color:var(--text-primary);
  letter-spacing:-.025em;line-height:var(--lh-snug);margin-bottom:8px;padding-right:44px;
}
.lead-modal-card > p{font-size:var(--fs-small);color:var(--text-muted);line-height:var(--lh-relaxed);margin-bottom:22px;}

.lead-modal-perks{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;
  padding-bottom:20px;border-bottom:1px dashed var(--border-color);
}
.lead-modal-perks span{
  display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);
  background:var(--surface-soft);border:1px solid var(--border-color);
  padding:6px 11px;border-radius:999px;
}
.lead-modal-perks i{color:#10b981;font-size:10px;}

.site-footer{
  background:linear-gradient(180deg, #0b1220 0%, #060b14 100%);
  color:rgba(255,255,255,.62);
  padding:clamp(40px,6.5vw,68px) 0 clamp(22px,3.8vw,32px);
  font-size:var(--fs-small);position:relative;overflow:hidden;
}
html[data-theme="dark"] .site-footer { background: linear-gradient(180deg, #050a14 0%, #02050a 100%); }
.site-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent, rgba(37,99,235,0.5), transparent);
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(22px,3.8vw,38px);margin-bottom:38px;}
.site-footer .logo img{height:38px;filter:brightness(1.2);}
.footer-about{margin-top:15px;max-width:360px;line-height:var(--lh-relaxed);font-size:var(--fs-small);color:rgba(255,255,255,.62);}
.footer-col h4{color:#fff;font-size:var(--fs-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px;}
.footer-col a{display:block;padding:5px 0;font-size:var(--fs-small);transition:color .2s ease, transform .2s ease;color:rgba(255,255,255,.62);}
.footer-col a:hover{color:#fff;transform:translateX(4px);}

.footer-social{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
.footer-social a{
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);
  display:grid;place-items:center;color:rgba(255,255,255,0.7);font-size:16px;
  transition:all .25s ease;text-decoration:none;
}
.footer-social a:hover{transform:translateY(-3px);color:#fff;}
.footer-social a.facebook:hover{background:#1877f2;border-color:#1877f2;box-shadow:0 8px 20px rgba(24,119,242,0.4);}
.footer-social a.twitter:hover{background:#000;border-color:#000;box-shadow:0 8px 20px rgba(0,0,0,0.4);}
.footer-social a.instagram:hover{background:linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);border-color:#dc2743;box-shadow:0 8px 20px rgba(220,39,67,0.4);}
.footer-social a.linkedin:hover{background:#0a66c2;border-color:#0a66c2;box-shadow:0 8px 20px rgba(10,102,194,0.4);}
.footer-social a.whatsapp:hover{background:#25d366;border-color:#25d366;box-shadow:0 8px 20px rgba(37,211,102,0.4);}

.footer-bottom{
  padding-top:22px;border-top:1px solid rgba(255,255,255,.10);
  display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;
  font-size:var(--fs-xs);
}

.mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:var(--header-bg);backdrop-filter:blur(14px);
  border-top:1px solid var(--border-color);
  padding:10px 13px calc(10px + env(safe-area-inset-bottom));
  gap:10px;box-shadow:0 -6px 24px rgba(15,23,42,.08);
}
.mobile-cta .btn{flex:1;padding:13px 10px;font-size:var(--fs-small);border-radius:11px;}

@media (max-width:1200px){
  .kerala-inner{grid-template-columns:1fr;gap:30px;}
}

@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
  .gallery-grid{grid-template-columns:repeat(2, 1fr);}
  .why-top-row{grid-template-columns:1fr;}
  .why-bottom-grid{grid-template-columns:repeat(2, 1fr);}
  .milestones-grid{grid-template-columns:repeat(3, 1fr);}
  .placement-stats-bar{flex-wrap:wrap;}
  .stat-block{flex:1 1 50%;min-width:150px;}
  .contact-grid{grid-template-columns:1fr;gap:38px;}
  .faq-grid{grid-template-columns:1fr;gap:20px;}
  .internship-inner{grid-template-columns:1fr;gap:38px;}
  .internship-right{justify-content:flex-start;}
  .nav-desktop{gap:1px;}
  .nav-link{padding:8px 10px;font-size:13px;}
}

@media (max-width: 992px){
  .video-layout{grid-template-columns:1fr;gap:20px;}
  .video-branding-fixed{min-height:230px;max-height:300px;}
  .video-branding-fixed .branding-image{transform:scale(1.01);}
  .branding-overlay{padding:20px;}
  .branding-overlay h3{font-size:var(--fs-h5);}
  .branding-overlay p{margin-bottom:10px;}
  .video-testimonial-card{flex:0 0 clamp(170px, 32vw, 210px);}
}

@media (max-width:860px){
  .nav-desktop{display:none;}
  .header-right .btn-apply-square{display:none;}
  .burger{display:flex;}
  .mobile-cta{display:flex;}
  body{padding-bottom:74px;}
  .course-title{min-height:auto;}

  .milestones-grid{grid-template-columns:repeat(2, 1fr);}
  .milestone-card{min-height:150px;}

  .placement-stats-bar{flex-direction:column;}
  .stat-block{width:100%;}

  .compare-header > div{padding:11px 8px;font-size:9.5px;}
  .compare-header > div:nth-child(1){font-size:10px;}
  .compare-row{grid-template-columns:1.1fr 1.2fr 1.2fr;}
  .compare-feature{padding:11px 8px;font-size:11px;line-height:1.4;}
  .compare-cell{padding:11px 8px;font-size:11px;gap:6px;}
  .tick-circle, .cross-circle{width:14px;height:14px;margin-top:1px;}
  .tick-circle svg, .cross-circle svg{width:5px;height:5px;}

  .compare-cta{padding:18px;flex-direction:column;align-items:flex-start;}
  .compare-cta-left{width:100%;}
  .compare-cta-text h3{font-size:var(--fs-h5);}
  .compare-cta-text p{font-size:var(--fs-xs);}
  .btn-cta-white{width:100%;justify-content:center;}

  .video-carousel-wrap .carousel-arrow{display:none;}
  .placed-carousel .carousel-arrow{display:none;}
  .faculty-carousel-wrap .carousel-arrow{display:none;}

  .why-highlight-card h3{font-size:var(--fs-h3);}
  .why-highlight-card p{max-width:100%;}
  .why-bottom-grid{grid-template-columns:1fr;}
  .why-top-grid{grid-template-columns:1fr;}

  .gallery-grid{grid-template-columns:repeat(2, 1fr);}
  .gallery-item.span-2{grid-column:span 1;}

  .journey-progress-line{left:28px;transform:none;}
  .journey-stop,
  .journey-stop:nth-child(odd),
  .journey-stop:nth-child(even){
    flex-direction:row;align-items:flex-start;gap:18px;padding-left:0;margin-bottom:38px;
  }
  .stop-icon-center{width:56px;height:56px;}
  .stop-icon-circle{width:48px;height:48px;font-size:19px;border-width:3px;}
  .stop-content{max-width:100%;}
  .stop-action-visual{display:none;}
  .walking-student{left:28px;width:42px;height:42px;}
  .walking-student .student-body{width:34px;height:34px;font-size:15px;}

  .form-row{grid-template-columns:1fr;gap:0;}
  .contact-form-card{padding:24px 20px;}
  .lead-modal-card{padding:24px 20px;border-radius:20px;}

  .scholarship-inner,
  .kerala-inner{grid-template-columns:1fr;gap:26px;}
  .scholarship-stats{gap:16px;}

  .partner-logo-card{width:132px;height:72px;}
  .partners-track{animation-duration:32s;}
  .partners-track.reverse{animation-duration:40s;}
  .partners-footer{gap:12px;}
}

@media (max-width:560px){
  .hero-text h1{font-size:clamp(2.2rem,10vw,3.4rem);}
  .hero-course-title{font-size:clamp(1.6rem,7vw,2.4rem);}
  .hero-desc{font-size:0.95rem;}

  .card-actions{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .tabs{justify-content:flex-start;}

  .milestones-grid{grid-template-columns:1fr;}

  .journey-stop{margin-bottom:28px;gap:13px;}
  .stop-icon-center{width:46px;height:46px;}
  .stop-icon-circle{width:40px;height:40px;font-size:16px;border-width:3px;}
  .stop-number{width:21px;height:21px;font-size:9px;top:-5px;right:-5px;}
  .journey-progress-line{left:22px;}
  .walking-student{left:22px;width:34px;height:34px;}
  .walking-student .student-body{width:28px;height:28px;font-size:13px;}

  .faq-question{padding:13px 15px;font-size:13.8px;}
  .faq-answer{padding:0 15px;}
  .faq-item.open .faq-answer{padding:0 15px 15px;}

  .footer-social a{width:36px;height:36px;font-size:14px;}

  .video-branding-fixed{min-height:200px;max-height:240px;}
  .branding-overlay h3{font-size:var(--fs-h5);}
  .branding-overlay p{font-size:var(--fs-xs);}
  .video-testimonial-card{flex:0 0 158px;}

  .internship-stats{gap:16px;}
  .lead-modal{padding:8px;}
  .lead-modal-card{padding:20px 16px;border-radius:18px;max-height:94vh;}
  .lead-modal-card h3{font-size:var(--fs-h4);}
  .lead-modal-close{top:8px;right:8px;width:34px;height:34px;}

  .scholarship-content h2{font-size:var(--fs-h3);}
  .kerala-content h2{font-size:var(--fs-h3);}
  .kerala-highlights{grid-template-columns:1fr;}

  .partner-logo-card{width:118px;height:64px;border-radius:13px;padding:10px 12px;}
  .partners-track{gap:10px;animation-duration:26s;}
  .partners-track.reverse{animation-duration:32s;}
}

@media (prefers-reduced-motion: reduce){
  html { scroll-behavior: auto; }
  .partners-track,
  .hero-marquee-track,
  .linkedin-fullwidth-track,
  .testimonials-text-track,
  .hero-orb,
  .aurora,
  .bg-grid,
  .walking-student .student-body{animation:none !important;}
  .bg-canvas{display:none;}
}

/* =============================================================
   SLASHFORD LEARNING — TYPOGRAPHY / COLOUR / MOBILE REFINEMENTS
   ============================================================= */

:root {
  --blue: #255fe5;
  --blue-dark: #1d4ccc;
  --blue-soft: #edf4ff;
  --navy: #101d37;
  --ink: #14213d;
  --body: #475569;
  --muted: #64748b;
  --line: #e3e9f3;
  --page-bg: #f8faff;
  --surface-soft: #f4f7fc;
  --text-primary: #14213d;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --border-color: #e3e9f3;
  --grad-warm: linear-gradient(105deg, #3666ed 0%, #6656e9 100%);
  --grad-cool: linear-gradient(105deg, #087fa4 0%, #0d9b9b 100%);
  --grad-blue: linear-gradient(135deg, #255fe5 0%, #514bdf 100%);
  --grad-text: linear-gradient(90deg, #255fe5 0%, #514bdf 65%, #6b50dc 100%);
  --grad-theme: linear-gradient(90deg, #83baff 0%, #a5a8ff 54%, #c3b7ff 100%);
  --fs-h1: clamp(2.1rem, 4.25vw, 3.45rem);
  --fs-h2: clamp(1.8rem, 3.2vw, 2.55rem);
  --fs-h3: clamp(1.3rem, 2.35vw, 1.7rem);
  --fs-h4: clamp(1.125rem, 1.8vw, 1.35rem);
  --fs-h5: clamp(1.025rem, 1.5vw, 1.15rem);
  --fs-body: clamp(0.96rem, 1.15vw, 1.05rem);
  --fs-small: clamp(0.85rem, 1.05vw, 0.93rem);
  --fs-xs: clamp(0.78rem, 0.93vw, 0.85rem);
  --fs-tiny: clamp(0.73rem, 0.82vw, 0.78rem);
  --lh-tight: 1.18;
  --lh-snug: 1.35;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;
}
html[data-theme="dark"] {
  --blue: #76a4ff;
  --blue-dark: #a2bcff;
  --blue-soft: #192e4e;
  --navy: #101c32;
  --page-bg: #080f1c;
  --surface: #121d30;
  --surface-soft: #172337;
  --surface-elevated: #1f304b;
  --text-primary: #f1f5fc;
  --text-secondary: #c8d4e4;
  --text-muted: #a4b3c8;
  --border-color: #2a3850;
  --card-bg: #121d30;
  --input-bg: #1a2940;
  --ink: #f1f5fc;
  --body: #c8d4e4;
  --muted: #a4b3c8;
  --line: #2a3850;
  --bg: #121d30;
  --bg-soft: #172337;
  --grad-text: linear-gradient(90deg, #86b7ff, #aaa8ff 65%, #c1abff);
  --grad-theme: linear-gradient(90deg, #83baff, #b0a7ff, #d0b4ff);
  --grad-blue: linear-gradient(135deg, #285cce, #5244c8);
  --grad-warm: linear-gradient(105deg, #3561d7, #6653d7);
  --grad-cool: linear-gradient(105deg, #087a9a, #0b908f);
}

body, button, input, select, textarea {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  font-optical-sizing: auto;
}
body { text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6, .section-title {
  text-wrap: pretty;
  -webkit-font-smoothing: antialiased;
}
.hero-course-title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 800;
  font-style: normal;
  letter-spacing: -0.035em;
  text-shadow: none;
}
.section-sub, .scope-header p, .kerala-content p, .hero-desc {
  line-height: var(--lh-relaxed);
}
.nav-link, .btn, .hero-btn, .tab, .form-submit-btn,
.form-group input, .form-group select, .form-group textarea {
  letter-spacing: 0;
}
.form-group input, .form-group select, .form-group textarea,
.form-group label, .faq-question, .mobile-menu a {
  font-family: inherit;
}

.btn-primary { background: #255fe5; }
.btn-primary:hover { background: #1d4ccc; }
.btn-grad-warm, .btn-grad-cool, .form-submit-btn,
.partners-cta, .kerala-cta { color: #fff; }
.tab.active { background: #14213d; border-color: #14213d; }
html[data-theme="dark"] .tab.active { background: #344567; border-color: #344567; color: #fff; }
.trend-badge { background: #edf4ff; border-color: #d4e3ff; color: #255fe5; }
html[data-theme="dark"] .trend-badge { background: #192e4e; border-color: #36548a; color: #9abfff; }
.pill-badge { border-color: #d4e3ff; }
html[data-theme="dark"] .pill-badge { border-color: #36548a; color: #a9c7ff; }
.stop-content .stop-badge, .lead-modal-badge { color: #255fe5; border-color: #d4e3ff; }
html[data-theme="dark"] .stop-content .stop-badge,
html[data-theme="dark"] .lead-modal-badge { color: #a9c7ff; border-color: #36548a; }
.course-card:hover, .mentor-card:hover, .opp-card:hover,
.faq-item:hover, .tool-card:hover, .testimonial-text-card:hover {
  border-color: #bacdf8;
}
html[data-theme="dark"] .course-card:hover,
html[data-theme="dark"] .mentor-card:hover,
html[data-theme="dark"] .opp-card:hover,
html[data-theme="dark"] .faq-item:hover,
html[data-theme="dark"] .tool-card:hover,
html[data-theme="dark"] .testimonial-text-card:hover {
  border-color: #5274b0;
}
html[data-theme="dark"] .btn-primary { background: #285cce; color: #fff; }
html[data-theme="dark"] .btn-primary:hover { background: #366fef; }
html[data-theme="dark"] .tab:not(.active) { color: var(--text-secondary); }
html[data-theme="dark"] .meta svg,
html[data-theme="dark"] .feature-list svg { color: #91b9ff; }
html[data-theme="dark"] .form-group input::placeholder,
html[data-theme="dark"] .form-group textarea::placeholder { color: #9aacc7; }

:where(.container, .header-inner, .header-right, .hero-text, .hero-bottom,
       .course-card, .card-body, .opp-card, .mentor-card, .stop-content,
       .faculty-card, .why-feature-card, .contact-grid,
       .contact-form-card, .footer-grid, .footer-col, .faq-column,
       .compare-feature, .compare-cell, .internship-card, .scholarship-inner,
       .kerala-inner, .kerala-content, .scope-header) { min-width: 0; }
:where(p, .feature-list li, .mega-link-text p, .mentor-bio,
       .internship-mini-list li, .footer-about, .footer-col a,
       .course-title, .compare-feature, .compare-cell,
       .contact-benefit, .faq-answer, .kerala-highlight) {
  overflow-wrap: break-word;
}
:where(button, a, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid #86b7ff;
  outline-offset: 3px;
}
:where(.btn, .hero-btn, .btn-apply-square, .form-submit-btn, .tab) {
  -webkit-tap-highlight-color: transparent;
}
img, video, iframe { max-width: 100%; }

@media (max-width: 1179px) and (min-width: 861px) {
  .nav-desktop { display: none; }
  .burger { display: flex; }
  .header-inner { gap: 14px; }
  .mobile-menu { max-height: calc(100dvh - var(--header-h)); }
}

@media (max-width: 1024px) {
  .header-inner { gap: 12px; }
  .header-right { gap: 10px; }
  .nav-link { padding-inline: 9px; }
  .course-grid, .mentors-grid, .opp-grid, .gallery-grid,
  .footer-grid, .contact-grid { min-width: 0; }
}

@media (max-width: 860px) {
  :root { --header-h: 70px; }
  .header-inner { min-height: var(--header-h); }
  .logo { min-width: 0; }
  .logo img { width: auto; max-width: min(47vw, 190px); height: auto; max-height: 39px; object-fit: contain; }
  .theme-toggle, .burger { width: 44px; height: 44px; flex: 0 0 44px; }
  .mobile-menu {
    max-height: calc(100vh - var(--header-h));
    max-height: calc(100dvh - var(--header-h));
    padding: 12px clamp(16px, 4vw, 24px) calc(25px + env(safe-area-inset-bottom));
  }
  .mobile-menu a { padding-block: 13px; line-height: 1.45; }
  .mobile-menu .mobile-sub a { line-height: 1.5; padding-block: 11px; }
  .mobile-menu .btn { min-height: 46px; }
  .mobile-cta { padding-inline: max(12px, env(safe-area-inset-left)); }
  .mobile-cta .btn { min-height: 46px; }
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .section-head { width: 100%; }
  .journey-stop, .journey-stop:nth-child(odd), .journey-stop:nth-child(even) {
    min-width: 0;
  }
  .stop-content { overflow-wrap: break-word; }
  .compare-row, .compare-header { min-width: 0; }
  .compare-cell, .compare-feature { overflow-wrap: anywhere; }
}

@media (max-width: 768px) {
  :root {
    --fs-h1: clamp(1.95rem, 7vw, 2.65rem);
    --fs-h2: clamp(1.75rem, 6vw, 2.3rem);
    --fs-h3: clamp(1.25rem, 4.8vw, 1.55rem);
    --fs-h4: clamp(1.08rem, 4.1vw, 1.25rem);
    --fs-h5: 1.0625rem;
    --fs-body: 0.96875rem;
    --fs-small: 0.875rem;
    --fs-xs: 0.8125rem;
    --fs-tiny: 0.75rem;
    --space-2xl: clamp(46px, 9vw, 64px);
    --space-xl: clamp(25px, 5vw, 36px);
  }
  .container { padding-inline: clamp(17px, 4.6vw, 28px); }
  .section-head { margin-bottom: var(--space-xl); }
  .section-title { line-height: 1.2; }
  .section-sub { margin-top: 12px; }
  .hero-section { min-height: calc(100svh - var(--header-h)); padding-bottom: 0; }
  .hero-content {
    min-height: calc(100svh - var(--header-h));
    height: auto;
    padding-top: clamp(45px, 8svh, 82px);
    padding-bottom: 28px;
    justify-content: space-between;
    gap: 48px;
  }
  .hero-text { width: 100%; max-width: 100%; }
  .hero-text h1 { font-size: clamp(2.15rem, 8.5vw, 3.5rem); line-height: 1.08; }
  .hero-course-title { font-size: clamp(1.3rem, 5.4vw, 2rem); line-height: 1.25; }
  .hero-desc { max-width: 37rem; }
  .hero-actions { gap: 11px; margin-top: 23px; }
  .hero-btn { min-height: 48px; padding: 14px 18px; }
  .hero-bottom { gap: 22px; margin-top: 0; }
  .hero-links { width: 100%; max-width: none; gap: 0; }
  .hero-link { min-width: 0; padding: 10px 0 9px; font-size: var(--fs-small); line-height: 1.35; }
  .hero-controls { width: 100%; gap: 12px; }
  .slide-dots { flex-wrap: wrap; gap: 9px; }
  .play-btn { margin-left: 4px; }
  .kerala-highlight { line-height: 1.4; }
  .course-grid, .mentors-grid, .opp-grid, .faq-grid,
  .why-bottom-grid, .contact-grid { gap: 17px; }
  .course-title { min-height: 0; }
  .tab { min-height: 44px; padding-inline: 19px; }
  .form-group input, .form-group select, .form-group textarea {
    font-size: 16px; min-height: 46px;
  }
  .form-checkbox { font-size: 0.8125rem; }
  .lead-modal { padding: 12px; }
  .lead-modal-card {
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    overscroll-behavior: contain;
  }
  .video-modal { padding: 12px; }
  .faculty-carousel, .placed-carousel, .video-carousel,
  .tabs-wrap { -webkit-overflow-scrolling: touch; }
}

@media (max-width: 560px) {
  .container { padding-inline: 17px; }
  .hero-content { gap: 34px; }
  .hero-text h1 { font-size: clamp(2rem, 8.8vw, 2.8rem); }
  .hero-course-title { font-size: clamp(1.25rem, 5.7vw, 1.75rem); }
  .hero-desc { font-size: 0.9375rem; }
  .hero-link { padding-block: 8px; }
  .hero-btn { font-size: 0.9rem; }
  .admissions-cards { gap: 10px; }
  .admission-card { min-width: 0; }
  .kerala-image-badge { left: 10px; right: 10px; bottom: 10px; padding: 11px 12px; gap: 9px; }
  .kerala-image-badge i { width: 35px; height: 35px; }
  .kerala-highlights { gap: 10px; }
  .kerala-highlight { padding: 12px; }
  .card-body { padding: 19px 17px 18px; }
  .card-actions { gap: 9px; }
  .card-actions .btn { min-height: 44px; }
  .course-card, .opp-card, .faq-item,
  .testimonial-text-card, .contact-form-card { max-width: 100%; }
  .scope-tagline span { max-width: 100%; border-radius: 16px; padding: 11px 14px; text-align: left; }
  .scope-bottom-stats { gap: 12px; }
  .form-submit-btn { min-height: 48px; }
  .faq-question { font-size: 0.9rem; line-height: 1.45; }
  .contact-form-card { padding: 23px 17px; }
  .lead-modal-card { padding: 22px 17px; }
  .mobile-cta { gap: 9px; }
  .mobile-cta .btn { padding-inline: 9px; font-size: 0.84rem; }
  .compare-header > div, .compare-feature, .compare-cell { overflow-wrap: anywhere; }
  .footer-col a { line-height: 1.5; }
}

@media (max-width: 390px) {
  .container { padding-inline: 15px; }
  .header-right { gap: 7px; }
  .hero-text h1 { font-size: clamp(1.9rem, 9vw, 2.4rem); }
  .hero-course-title { font-size: 1.27rem; }
  .admissions-cards { grid-template-columns: 1fr; gap: 12px; }
  .admission-card { aspect-ratio: 4 / 3; }
  .admission-card-overlay { padding: 16px; }
  .admission-card p { font-size: 0.8rem; }
  .kerala-highlights { grid-template-columns: 1fr; }
  .lead-modal { padding: 7px; }
  .lead-modal-card {
    max-height: calc(100dvh - 14px);
    padding: 19px 14px;
  }
}

