 :root {
   --ea-indigo: #5a2f74;
   --ea-magenta: #cf3caf;
   --ea-gold: #f3b23f;
   --ea-dark: #15101f;
   --ea-slate: #3d3a46;
   --ea-light: #f8f9fb;
 }
 
 * {
   box-sizing: border-box;
 }
 
 body {
   font-family: 'Raleway', 'Segoe UI', Tahoma, sans-serif;
   color: var(--ea-dark);
   line-height: 1.6;
   background-color: var(--ea-light);
 }
 
 a {
   color: var(--ea-indigo);
 }
 
 a:hover {
   color: var(--ea-magenta);
 }
 
 .top-bar {
   background: linear-gradient(120deg, var(--ea-indigo), var(--ea-magenta));
   color: #fff;
   font-size: 0.95rem;
 }
 
 .top-bar a {
   color: #fff;
   text-decoration: none;
 }
 
.top-bar .social-link {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.top-bar .social-link-icon {
  width: 18px;
  height: 18px;
  display: block;
}
 
 .navbar {
   font-weight: 600;
   padding-top: 1rem;
   padding-bottom: 1rem;
 }
 
 .navbar-brand img {
   height: 60px;
 }
 
 .btn-primary {
   background: linear-gradient(135deg, var(--ea-indigo), var(--ea-magenta));
   border: none;
 }
 
 .btn-primary:hover,
 .btn-primary:focus {
   background: linear-gradient(135deg, var(--ea-magenta), var(--ea-indigo));
 }
 
 .btn-outline-light {
   border-width: 2px;
 }
 
 .section-title {
   text-transform: uppercase;
   letter-spacing: 0.35em;
   font-size: 0.85rem;
   font-weight: 600;
   color: var(--ea-indigo);
 }
 
 .display-heading {
   font-family: 'Playfair Display', 'Times New Roman', serif;
 }
 
 .hero-section {
   position: relative;
   background: url('../img/demo/parallax/parallax-landing.jpg') center/cover no-repeat;
   min-height: 80vh;
   display: flex;
   align-items: center;
   padding: 5rem 0;
   color: #fff;
 }
 
 .hero-section::before {
   content: '';
   position: absolute;
   inset: 0;
   background: rgba(15, 6, 24, 0.78);
 }
 
 .hero-section .container {
   position: relative;
 }
 
 .hero-section .info-panel {
   background-color: rgba(255, 255, 255, 0.15);
   border: 1px solid rgba(255, 255, 255, 0.3);
   border-radius: 1.5rem;
   padding: 2.5rem;
   backdrop-filter: blur(6px);
 }
 
 .hero-section .info-panel h3 {
   font-size: 1.25rem;
 }
 
 .hero-section .info-panel li {
   border-bottom: 1px solid rgba(255, 255, 255, 0.2);
   padding: 0.75rem 0;
 }
 
 .hero-section .info-panel li:last-child {
   border-bottom: 0;
 }
 
 .check-list {
   list-style: none;
   padding: 0;
   margin-bottom: 1.5rem;
 }
 
 .check-list li {
   position: relative;
   padding-left: 1.75rem;
   margin-bottom: 0.5rem;
 }
 
 .check-list li::before {
   content: '\2713';
   position: absolute;
   left: 0;
   top: 0;
   color: var(--ea-gold);
   font-weight: 700;
 }
 
 .stat-card {
   background: #fff;
   border-radius: 1.5rem;
   padding: 1.75rem;
   height: 100%;
   box-shadow: 0 20px 50px rgba(90, 47, 116, 0.15);
 }
 
 .stat-card .stat-icon {
   width: 56px;
   height: 56px;
   border-radius: 14px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: rgba(90, 47, 116, 0.08);
   color: var(--ea-indigo);
   font-size: 1.4rem;
   margin-bottom: 1rem;
   line-height: 1;
 }

 .stat-card .stat-icon::before {
   content: '\2713';
   font-weight: 700;
 }

 .stat-card .stat-icon i {
   display: none;
 }
 
 .stat-label {
   text-transform: uppercase;
   font-size: 0.85rem;
   letter-spacing: 0.15em;
   color: var(--ea-slate);
 }
 
 .stat-value {
   font-size: 1.6rem;
   font-weight: 700;
 }
 
 .about-card {
   border-radius: 1rem;
   background: #fff;
   padding: 1.25rem 1.5rem;
   height: 100%;
   box-shadow: 0 15px 35px rgba(17, 5, 29, 0.08);
 }
 
 .about-photo {
   border-radius: 1.5rem;
   overflow: hidden;
   box-shadow: 0 25px 60px rgba(17, 5, 29, 0.35);
 }
 
 #advantages {
   background: #fff;
 }
 
 .adv-card {
   background: #fff;
   border-radius: 1.5rem;
   padding: 2rem;
   height: 100%;
   border: 1px solid rgba(90, 47, 116, 0.1);
   box-shadow: 0 20px 40px rgba(15, 6, 24, 0.07);
 }
 
 .adv-card .icon {
   width: 64px;
   height: 64px;
   border-radius: 18px;
   background: rgba(207, 60, 175, 0.12);
   color: var(--ea-magenta);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-size: 1.5rem;
   margin-bottom: 1rem;
   line-height: 1;
 }

 .adv-card .icon::before {
   content: '\2713';
   font-weight: 700;
 }

 .adv-card .icon i {
   display: none;
 }
 
 .program-card {
   border-radius: 1.5rem;
   padding: 2rem;
   background: linear-gradient(135deg, #fff, rgba(255, 255, 255, 0.8));
   box-shadow: 0 20px 45px rgba(15, 6, 24, 0.12);
   height: 100%;
 }
 
 .program-card h4 {
   font-weight: 700;
 }
 
 .team-card {
   border-radius: 1.5rem;
   padding: 2rem;
   background: #fff;
   box-shadow: 0 20px 45px rgba(32, 16, 43, 0.12);
 }
 
 .team-card img {
   max-width: 230px;
   border-radius: 1rem;
   box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
 }
 
 .testimonial-section {
   background: linear-gradient(135deg, #2d1a3f, #5a2f74);
   color: #fff;
 }
 
 .testimonial-card {
   background: rgba(255, 255, 255, 0.1);
   border-radius: 1.5rem;
   padding: 2rem;
   backdrop-filter: blur(4px);
   border: 1px solid rgba(255, 255, 255, 0.15);
 }
 
 .testimonial-card .quote-mark {
   font-size: 3rem;
   color: var(--ea-gold);
   line-height: 1;
 }
 
 .contact-card {
   border-radius: 1.5rem;
   background: #fff;
   padding: 2.5rem;
   box-shadow: 0 20px 45px rgba(32, 16, 43, 0.08);
   height: 100%;
 }
 
 .contact-link {
   text-decoration: none;
   color: inherit;
 }
 
 .contact-link:hover {
   color: var(--ea-magenta);
 }
 
 .map-wrapper iframe {
   width: 100%;
   border: 0;
   min-height: 420px;
   filter: grayscale(0.15) contrast(1.05);
 }
 
 footer {
   background: #12091d;
   color: rgba(255, 255, 255, 0.76);
 }
 
 footer a {
   color: #fff;
   text-decoration: none;
 }
 
 footer a:hover {
   color: var(--ea-gold);
 }
 
 @media (max-width: 991px) {
   .hero-section {
     min-height: auto;
     padding-top: 4rem;
   }
 
   .navbar-brand img {
     height: 50px;
   }
 }
 
 @media (max-width: 767px) {
   .top-bar {
     text-align: center;
   }
 
   .hero-section .info-panel {
     margin-top: 2rem;
   }
 
   .team-card {
     text-align: center;
   }
 
   .team-card img {
     margin-bottom: 1.5rem;
   }
 }
