.section-label {

font-family: var(--font-body);

font-size: 11px;

font-weight: 600;

letter-spacing: 0.15em;

text-transform: uppercase;

color: var(--teal);

margin-bottom: 12px;
}

.section-label--white {

color: rgba(255, 255, 255, 0.65);
}

.reveal {

opacity: 0;

transform: translateY(32px);

transition:
opacity 0.7s var(--ease),

transform 0.7s var(--ease);
}

.reveal-delay-1 {

transition-delay: 0.1s;
}

.reveal-delay-2 {

transition-delay: 0.2s;
}

.reveal-delay-3 {

transition-delay: 0.3s;
}

.reveal-delay-4 {

transition-delay: 0.4s;
}

.reveal-delay-5 {

transition-delay: 0.5s;
}

#hero {

position: relative;

min-height: 80vh;

display: flex;

flex-direction: column;

justify-content: center;

overflow: hidden;

height: 100%;

width: 100%;
}

.hero-bg {

position: absolute;

inset: 0;

background: linear-gradient(
135deg,
#040c1a96 0%,
#0a1628af 30%,
#102050e1 60%,
#1b398c91 100%
);

z-index: 0;
}

.hero-img-cinematic {

width: 100%;

height: 100%;

object-fit: cover;

object-position: 62% 22%;

filter: contrast(1.06) brightness(0.92) saturate(1.18);

transform: scale(1.06);

transition: transform 10s ease-out;
}

#hero:hover .hero-img-cinematic {

transform: scale(1.01);
}

.hero-img-gold-strip {

position: absolute;

inset: 0;

z-index: 3;

background: linear-gradient(
to right,
rgba(245, 166, 35, 0.22) 0%,
rgba(245, 166, 35, 0.07) 10%,
transparent 22%
);
}

.hero-img-color-grade {

position: absolute;

inset: 0;

z-index: 4;

background:
radial-gradient(
ellipse 70% 80% at 78% 38%,
rgba(245, 166, 35, 0.2) 0%,
transparent 58%
),

radial-gradient(
ellipse 60% 65% at 80% 72%,
rgba(58, 138, 133, 0.24) 0%,
transparent 55%
),

radial-gradient(
ellipse 45% 55% at 5% 18%,
rgba(27, 58, 140, 0.28) 0%,
transparent 52%
);

mix-blend-mode: screen;
}

.hero-img-vignette {

position: absolute;

inset: 0;

z-index: 5;

background: radial-gradient(
ellipse 130% 130% at 54% 44%,
transparent 42%,
rgba(4, 10, 24, 0.2) 68%,
rgba(4, 10, 24, 0.62) 100%
);
}

.hero-img-letterbox {

position: absolute;

left: 0;

right: 0;

z-index: 6;

height: 10%;

pointer-events: none;
}

.hero-img-letterbox.top {

top: 0;

background: linear-gradient(
to bottom,
rgba(4, 10, 24, 0.55) 0%,
transparent 100%
);
}

.hero-img-letterbox.bottom {

bottom: 0;

background: linear-gradient(
to top,
rgba(4, 10, 24, 0.52) 0%,
transparent 100%
);
}

.hero-carousel-bg {

position: absolute;

inset: 0;

width: 100%;

height: 100%;

overflow: hidden;

z-index: 1;
}

.hero-carousel-bg .carousel-inner,

.hero-carousel-bg .carousel-item {

height: 100%;
}

.hero-carousel-bg .carousel-item {

position: relative;
}

.hero-carousel-bg .carousel-control-prev,

.hero-carousel-bg .carousel-control-next {

z-index: 12;

bottom: 76px;

top: auto;

height: 44px;

width: 44px;

border-radius: 50%;

background: rgba(255, 255, 255, 0.12);

border: 1.5px solid rgba(255, 255, 255, 0.3);

backdrop-filter: blur(10px);

opacity: 1;

transition:
background 0.25s,

border-color 0.25s,

transform 0.2s;
}

.hero-carousel-bg .carousel-control-prev:hover,

.hero-carousel-bg .carousel-control-next:hover {

background: rgba(245, 166, 35, 0.25);

border-color: rgba(245, 166, 35, 0.7);

transform: scale(1.1);
}

.hero-carousel-bg .carousel-control-prev {

left: 80px;
}

.hero-carousel-bg .carousel-control-next {

left: 134px;
}

.hero-carousel-bg .carousel-control-prev-icon,

.hero-carousel-bg .carousel-control-next-icon {

width: 16px;

height: 16px;
}

.hero-carousel-bg .carousel-indicators {

z-index: 12;

bottom: 20px;

justify-content: flex-start;

padding-left: 80px;

margin: 0;

gap: 6px;
}

.hero-carousel-bg .carousel-indicators [data-bs-target] {

width: 28px;

height: 3px;

border-radius: 2px;

background: rgba(255, 255, 255, 0.38);

border: none;

opacity: 1;

margin: 0;

transition:
background 0.35s,

width 0.35s;
}

.hero-carousel-bg .carousel-indicators .active {

background: var(--gold);

width: 50px;
}

.hero-carousel-bg.carousel-fade .carousel-item {

transition: opacity 1s ease;
}

.slide-iter-1 .hero-img-cinematic {

object-position: 62% 22%;

filter: contrast(1.06) brightness(0.93) saturate(1.22);
}

.slide-iter-1 .hero-img-left-fade {

background: linear-gradient(
108deg,
rgba(8, 16, 40, 0.84) 0%,
rgba(10, 22, 52, 0.7) 18%,
rgba(10, 22, 52, 0.38) 42%,
rgba(10, 22, 52, 0.1) 60%,
transparent 74%
);
}

.slide-iter-1 .hero-img-gold-strip {

background: linear-gradient(
to right,
rgba(245, 166, 35, 0.28) 0%,
rgba(245, 166, 35, 0.08) 10%,
transparent 22%
);
}

.slide-iter-1 .hero-img-color-grade {

background:
radial-gradient(
ellipse 68% 78% at 78% 36%,
rgba(245, 166, 35, 0.22) 0%,
transparent 56%
),

radial-gradient(
ellipse 55% 62% at 82% 70%,
rgba(58, 138, 133, 0.28) 0%,
transparent 52%
),

radial-gradient(
ellipse 42% 52% at 4% 16%,
rgba(27, 58, 140, 0.3) 0%,
transparent 50%
);

mix-blend-mode: screen;
}

.slide-iter-1 .hero-img-vignette {

background: radial-gradient(
ellipse 135% 135% at 54% 44%,
transparent 44%,
rgba(4, 10, 24, 0.18) 66%,
rgba(4, 10, 24, 0.58) 100%
);
}

.slide-iter-2 .hero-img-cinematic {

object-position: 48% 38%;

filter: contrast(1.08) brightness(0.9) saturate(1.25);
}

.slide-iter-2 .hero-img-left-fade {

background: linear-gradient(
108deg,
rgba(6, 12, 36, 0.86) 0%,
rgba(8, 18, 52, 0.72) 18%,
rgba(8, 18, 52, 0.4) 44%,
rgba(8, 18, 52, 0.1) 62%,
transparent 76%
);
}

.slide-iter-2 .hero-img-gold-strip {

background: linear-gradient(
to right,
rgba(58, 138, 133, 0.3) 0%,
rgba(58, 138, 133, 0.08) 11%,
transparent 24%
);
}

.slide-iter-2 .hero-img-color-grade {

background:
radial-gradient(
ellipse 72% 70% at 74% 44%,
rgba(27, 58, 140, 0.3) 0%,
transparent 60%
),

radial-gradient(
ellipse 58% 68% at 76% 74%,
rgba(58, 138, 133, 0.3) 0%,
transparent 54%
),

radial-gradient(
ellipse 44% 54% at 6% 20%,
rgba(245, 166, 35, 0.22) 0%,
transparent 52%
);

mix-blend-mode: screen;
}

.slide-iter-2 .hero-img-vignette {

background: radial-gradient(
ellipse 132% 132% at 52% 46%,
transparent 40%,
rgba(4, 10, 28, 0.16) 64%,
rgba(4, 10, 28, 0.56) 100%
);
}

.slide-iter-3 .hero-img-cinematic {

object-position: 55% 28%;

filter: contrast(1.1) brightness(0.88) saturate(1.15);
}

.slide-iter-3 .hero-img-left-fade {

background: linear-gradient(
108deg,
rgba(12, 8, 4, 0.85) 0%,
rgba(18, 10, 4, 0.7) 18%,
rgba(18, 10, 4, 0.38) 43%,
rgba(18, 10, 4, 0.1) 61%,
transparent 74%
);
}

.slide-iter-3 .hero-img-gold-strip {

background: linear-gradient(
to right,
rgba(245, 166, 35, 0.35) 0%,
rgba(245, 166, 35, 0.1) 12%,
transparent 26%
);
}

.slide-iter-3 .hero-img-color-grade {

background:
radial-gradient(
ellipse 65% 78% at 82% 38%,
rgba(232, 133, 42, 0.26) 0%,
transparent 58%
),

radial-gradient(
ellipse 56% 62% at 78% 72%,
rgba(245, 166, 35, 0.2) 0%,
transparent 52%
),

radial-gradient(
ellipse 44% 52% at 5% 18%,
rgba(12, 30, 60, 0.32) 0%,
transparent 50%
);

mix-blend-mode: screen;
}

.slide-iter-3 .hero-img-vignette {

background: radial-gradient(
ellipse 132% 132% at 56% 42%,
transparent 42%,
rgba(8, 4, 2, 0.18) 64%,
rgba(8, 4, 2, 0.56) 100%
);
}

.hero-slide-caption {

position: absolute;

bottom: 90px;

right: 40px;

z-index: 12;

background: rgba(245, 166, 35, 0.18);

border: 1px solid rgba(245, 166, 35, 0.45);

backdrop-filter: blur(10px);

border-radius: 8px;

padding: 8px 18px;

font-family: var(--font-body);

font-size: 11px;

font-weight: 600;

letter-spacing: 0.12em;

text-transform: uppercase;

color: rgba(255, 255, 255, 0.85);

opacity: 0;

transition: opacity 0.5s ease 0.4s;
}

.carousel-item.active .hero-slide-caption {

opacity: 1;
}

@media (max-width: 900px) {

.hero-carousel-bg .carousel-control-prev {

left: 32px;
  }

.hero-carousel-bg .carousel-control-next {

left: 86px;
  }

.hero-carousel-bg .carousel-indicators {

padding-left: 32px;
  }

.hero-slide-caption {

right: 20px;

bottom: 85px;
  }
}

@media (max-width: 640px) {

.hero-carousel-bg .carousel-control-prev {

left: 20px;
  }

.hero-carousel-bg .carousel-control-next {

left: 74px;
  }

.hero-carousel-bg .carousel-indicators {

padding-left: 20px;
  }

.hero-slide-caption {

display: none;
  }
}

.hero-orb {

position: absolute;

border-radius: 50%;

pointer-events: none;

z-index: 7;
}

.hero-orb-1 {

width: 640px;

height: 640px;

background: radial-gradient(
circle,
rgba(245, 166, 35, 0.22) 0%,
rgba(245, 166, 35, 0.06) 50%,
transparent 72%
);

filter: blur(72px);

top: -120px;

right: 40px;

animation: orbFloat1 8s ease-in-out infinite;
}

.hero-orb-2 {

width: 480px;

height: 480px;

background: radial-gradient(
circle,
rgba(58, 138, 133, 0.24) 0%,
rgba(58, 138, 133, 0.08) 50%,
transparent 72%
);

filter: blur(64px);

bottom: 80px;

left: -60px;

animation: orbFloat2 10s ease-in-out infinite;
}

.hero-orb-3 {

width: 320px;

height: 320px;

background: radial-gradient(
circle,
rgba(27, 58, 140, 0.26) 0%,
transparent 68%
);

filter: blur(56px);

top: 60px;

left: 30%;

animation: orbFloat1 12s ease-in-out infinite reverse;
}

@keyframes orbFloat1 {

0%,

100% {

transform: translateY(0) scale(1);
  }

50% {

transform: translateY(-28px) scale(1.04);
  }
}

@keyframes orbFloat2 {

0%,

100% {

transform: translateY(0) scale(1);
  }

50% {

transform: translateY(22px) scale(1.06);
  }
}

.hero-content {

position: relative;

z-index: 10;

height: 100vh;

padding: 48px 56px 48px 120px;

display: flex;

justify-content: center;

flex-direction: column;

max-width: 100%;

backdrop-filter: blur(2px);

border-left: 2px solid rgba(245, 166, 35, 0.45);

border-radius: 0 16px 16px 0;
}

.hero-headline {

font-family: var(--font-display);

font-weight: 800;

font-size: clamp(40px, 5.5vw, 78px);

line-height: 1.04;

color: #fff;

margin-bottom: 28px;

letter-spacing: -0.01em;

text-shadow:
0 2px 20px rgba(0, 0, 0, 0.35),

0 0 60px rgba(245, 166, 35, 0.08);
}

@keyframes wordIn {

from {

opacity: 0;

transform: translateY(20px);
  }

to {

opacity: 1;

transform: translateY(0);
  }
}

.hero-headline .word {

display: inline-block;

opacity: 0;

animation: wordIn 0.7s var(--ease) forwards;
}

.hero-headline .word:nth-child(1) {

animation-delay: 0.1s;
}

.hero-headline .word:nth-child(2) {

animation-delay: 0.25s;
}

.hero-headline .word:nth-child(3) {

animation-delay: 0.4s;
}

.hero-headline .kinetic-wrap {

display: inline-block;

position: relative;

overflow: hidden;

height: 1.12em;

vertical-align: bottom;

min-width: clamp(260px, 36vw, 560px);
}

.kinetic-word {

display: block;

color: #ffb830;

font-style: italic;

position: absolute;

top: 0;

left: 0;

opacity: 0;

transform: translateY(40px);

transition:
opacity 0.5s var(--ease),

transform 0.5s var(--ease);

white-space: nowrap;

text-shadow:
0 0 32px rgba(245, 166, 35, 0.55),

0 2px 12px rgba(245, 166, 35, 0.3);
}

.hero-headline .line:last-child .word {

font-weight: 700;

color: rgba(255, 255, 255, 0.92);
}

.hero-rule {

display: flex;

align-items: center;

gap: 12px;

margin-bottom: 20px;
}

.hero-rule-line {

width: 48px;

height: 1.5px;

background: var(--gold);
}

.hero-rule-text {

font-family: var(--font-body);

font-size: 11px;

font-weight: 600;

letter-spacing: 0.18em;

text-transform: uppercase;

color: rgba(245, 166, 35, 0.85);
}

.hero-sub {

font-family: var(--font-heading);

font-size: 18px;

font-weight: 400;

color: rgba(255, 255, 255, 0.9);

line-height: 1.8;

margin-bottom: 44px;

max-width: 520px;

text-shadow: 0 1px 10px rgba(0, 0, 0, 0.25);

letter-spacing: 0.015em;
}

.btn-hero-primary {

position: relative;

overflow: hidden;

background: linear-gradient(
135deg,
#f5a623 0%,
#ffb830 45%,
#e8852a 100%
);

color: var(--navy);

font-size: 15px;

font-weight: 700;

padding: 16px 36px;

border-radius: 8px;

display: inline-flex;

align-items: center;

gap: 8px;

transition:
transform 0.22s,

box-shadow 0.22s;

box-shadow:
0 4px 28px rgba(245, 166, 35, 0.5),

0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

.btn-hero-primary::after {

content: "";

position: absolute;

inset: 0;

background: linear-gradient(
105deg,
transparent 30%,
rgba(255, 255, 255, 0.38) 50%,
transparent 70%
);

transform: translateX(-100%);

transition: transform 0.5s ease;
}

.btn-hero-primary:hover {

transform: translateY(-2px) scale(1.03);

box-shadow: 0 10px 40px rgba(245, 166, 35, 0.65);
}

.btn-hero-primary:hover::after {

transform: translateX(100%);
}

.btn-hero-secondary {

background: rgba(255, 255, 255, 0.1);

color: #fff;

font-size: 15px;

font-weight: 600;

padding: 15px 34px;

border-radius: 8px;

border: 1.5px solid rgba(255, 255, 255, 0.45);

display: inline-flex;

align-items: center;

gap: 8px;

backdrop-filter: blur(16px);

transition:
border-color 0.22s,

background 0.22s,

transform 0.22s,

box-shadow 0.22s;
}

.btn-hero-secondary:hover {

border-color: rgba(245, 166, 35, 0.85);

background: rgba(245, 166, 35, 0.14);

transform: translateY(-2px);

box-shadow: 0 6px 24px rgba(245, 166, 35, 0.22);
}

.hero-stats {

position: absolute;

bottom: 0;

left: 0;

right: 0;

z-index: 10;

background: linear-gradient(
to right,
rgba(4, 10, 26, 0.88) 0%,
rgba(4, 10, 26, 0.8) 100%
);

backdrop-filter: blur(24px);

border-top: 1px solid rgba(245, 166, 35, 0.2);

padding: 18px 80px;

display: flex;

gap: 0;

align-items: center;

justify-content: space-between;
}

.hero-stats::before {

content: "";

position: absolute;

top: 0;

left: 0;

right: 0;

height: 1px;

background: linear-gradient(
to right,
rgba(245, 166, 35, 0.65) 0%,
rgba(245, 166, 35, 0.18) 40%,
transparent 70%
);
}

.hero-stat-num {

font-family: var(--font-display);

font-weight: 800;

font-size: 24px;

color: #ffb830;

line-height: 1;

letter-spacing: 0.01em;

text-shadow: 0 0 20px rgba(245, 166, 35, 0.4);
}

.hero-stat-label {

font-size: 11px;

color: rgba(255, 255, 255, 0.62);

font-weight: 500;

letter-spacing: 0.06em;

text-transform: uppercase;
}

.hero-stat-divider {

width: 1px;

height: 38px;

background: linear-gradient(
to bottom,
transparent,
rgba(245, 166, 35, 0.28),
transparent
);

flex-shrink: 0;
}

@media (max-width: 900px) {

.hero-content {

padding: 36px 36px 36px 32px;

border-radius: 0 12px 12px 0;
  }

.hero-stats {

padding: 14px 32px;
  }
}

@media (max-width: 640px) {

.hero-content {

padding: 28px 22px 28px 22px;

border-left: none;

border-radius: 0;

background: linear-gradient(
to bottom,
rgba(6, 14, 36, 0.62),
rgba(6, 14, 36, 0.2)
);

height: 10;
  }

.hero-stats {

padding: 12px 20px;

justify-content: space-evenly;
  }

.hero-stat {

align-items: center;
  }

.hero-stat-num {

font-size: 22px;
  }

.hero-stat-label {

font-size: 10px;
  }

.hero-ctas {

flex-direction: column;

max-width: 300px;
  }

.btn-hero-primary,

.btn-hero-secondary {

justify-content: center;
  }

.hero-headline .kinetic-wrap {

min-width: 260px;
  }
}

@media (max-width:500px) {

.hero-stat-num {

font-size: 14px;
  }

.hero-stat-label {

font-size: 8px;

letter-spacing: 0.03em;
  }

.hero-stats {

gap:2px
  }
}

#introduction {

background: var(--offwhite);

padding: 100px 40px;

max-width: 100%;

text-align: center;
}

.read-more-link {

display: inline-flex;

align-items: center;

gap: 6px;

font-size: 14px;

font-weight: 600;

color: var(--teal);

margin-top: 8px;

transition: gap 0.2s;
}

#why-gems {

background: linear-gradient(135deg, #0a1628 0%, #1b3a8c 100%);

padding: 80px 10px;

max-width: 100%;
}

.advantage-card {

background: rgba(255, 255, 255, 0.1);

border: 1px solid rgba(255, 255, 255, 0.15);

border-radius: 12px;

padding: 28px 22px;

transition:
transform 0.3s var(--ease),

box-shadow 0.3s var(--ease),

background 0.3s;
}

.advantage-card:hover {

transform: translateY(-6px);

box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);

background: rgba(255, 255, 255, 0.18);
}

.advantage-card p {

font-size: 14px;

line-height: 1.7;

color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 1200px) {

.advantage-grid {

grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1024px) {

.advantage-grid {

grid-template-columns: repeat(2, 1fr);
  }
}

#programmes {

background: var(--charcoal);

padding: 80px 40px;

max-width: 100%;
}

.prog-tab {

font-size: 13px;

font-weight: 600;

color: rgba(255, 255, 255, 0.6);

padding: 9px 20px;

border-radius: 999px;

border: 1.5px solid rgba(255, 255, 255, 0.2);

transition: all 0.25s;

cursor: pointer;
}

.prog-tab:hover {

border-color: rgba(255, 255, 255, 0.5);

color: #fff;
}

.prog-card {

width: 300px;

flex-shrink: 0;

background: #1a1a1a;

border-radius: 12px;

overflow: hidden;

border: 1px solid rgba(255, 255, 255, 0.08);

transition:
transform 0.3s,

border-color 0.3s;
}

.prog-card-play {

position: absolute;

width: 44px;

height: 44px;

border-radius: 50%;

background: rgba(255, 255, 255, 0.15);

border: 2px solid rgba(255, 255, 255, 0.4);

display: flex;

align-items: center;

justify-content: center;

font-size: 14px;

color: #fff;

transition: background 0.2s;
}

.prog-card:hover .prog-card-play {

background: rgba(255, 255, 255, 0.3);
}

.prog-meta-item {

font-size: 12px;

color: rgba(255, 255, 255, 0.55);

display: flex;

align-items: center;

gap: 6px;
}

.prog-meta-item span {

opacity: 0.7;
}

.prog-card-actions {

display: flex;

align-items: center;

justify-content: space-between;

padding-top: 14px;

border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.prog-apply {

font-size: 12px;

font-weight: 700;

background: #fff;

color: var(--charcoal);

padding: 7px 14px;

border-radius: 5px;

transition: background 0.2s;
}

@media (max-width: 400px) {

#programmes {

padding: 50px 16px;
  }
}

#international {

padding: 80px 40px;

background: linear-gradient(135deg, #e8852a 0%, #f5a623 100%);

position: relative;

max-width: 100%;

overflow: hidden;
}

#international::before {

content: "";

position: absolute;

top: -100px;

right: -100px;

width: 400px;

height: 400px;

border-radius: 50%;

background: rgba(255, 255, 255, 0.08);
}

.check-icon {

width: 22px;

height: 22px;

border-radius: 50%;

background: rgba(255, 255, 255, 0.25);

border: 2px solid rgba(255, 255, 255, 0.6);

display: flex;

align-items: center;

justify-content: center;

flex-shrink: 0;

font-size: 11px;

color: #fff;

margin-top: 2px;
}

.intl-check-item p {

font-size: 15px;

color: rgba(255, 255, 255, 0.92);

line-height: 1.65;
}

.btn-intl {

display: inline-flex;

align-items: center;

gap: 8px;

border: 2px solid #fff;

color: #fff;

font-size: 14px;

font-weight: 700;

padding: 13px 28px;

border-radius: 6px;

transition:
background 0.2s,

color 0.2s;
}

#placements {

background: var(--offwhite);

padding: 10px 40px;

max-width: 100%;
}

.logo-grid {

display: grid;

grid-template-columns: repeat(6, 1fr);

gap: 16px;
}

.logo-cell {

background: #fff;

border: 1px solid #e5e7eb;

border-radius: 12px;

padding: 16px 12px 14px;

display: flex;

flex-direction: column;

align-items: center;

justify-content: center;

gap: 8px;

min-height: 90px;

transition:
transform 0.2s,

box-shadow 0.2s,

border-color 0.2s;
}

.logo-cell:hover {

transform: translateY(-4px);

box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);

border-color: #c4c9d4;
}

.logo-img-wrap img {

max-height: 40px;

max-width: 96px;

width: auto;

object-fit: contain;

filter: grayscale(25%);

opacity: 0.85;

transition:
filter 0.2s,

opacity 0.2s;

display: block;
}

.logo-cell .logo-name {

font-size: 11px;

font-weight: 700;

color: #374151;

text-align: center;

line-height: 1.3;

letter-spacing: 0.01em;
}

@media (max-width: 600px) {

.logo-grid {

grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 400px) {

#placements {

padding: 50px 16px;
  }

.logo-grid {

grid-template-columns: repeat(2, 1fr);

gap: 12px;
  }

.placement-stats {

gap: 20px;

margin-bottom: 36px;
  }
}

#testimonials {

background: var(--navy);

padding: 80px 40px;

max-width: 100%;
}

.testimonial-photo img {

width: 100%;

height: 100%;

object-fit: cover;
}

.testimonial-quote {

font-family: var(--font-quote);

font-style: italic;

font-size: clamp(18px, 2vw, 23px);

color: rgba(255, 255, 255, 0.92);

line-height: 1.65;

margin-bottom: 28px;
}

.testimonial-meta {

font-size: 14px;

color: rgba(255, 255, 255, 0.55);
}

.testimonial-placed {

font-size: 13px;

color: rgba(255, 255, 255, 0.4);

margin-top: 4px;
}

.t-nav-btn {

width: 40px;

height: 40px;

border-radius: 50%;

border: 1.5px solid rgba(255, 255, 255, 0.3);

display: flex;

align-items: center;

justify-content: center;

color: #fff;

font-size: 16px;

cursor: pointer;

transition:
border-color 0.2s,

background 0.2s;
}

.t-nav-btn:hover {

border-color: #fff;

background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {

.testimonial-slide.active {

grid-template-columns: 1fr;
  }

.testimonial-photo {

aspect-ratio: 4/3;

max-height: 280px;
  }

#testimonials {

padding: 60px 20px;
  }
}

#alumni {

background: var(--charcoal);

padding: 80px 40px;

overflow: hidden;

max-width: 100%;
}

.alumni-card {

border-radius: 12px;

overflow: hidden;

position: relative;

cursor: pointer;

transition:
transform 0.4s var(--ease),

opacity 0.4s;
}

.alumni-card.side {

width: 240px;

flex-shrink: 0;

opacity: 0.5;

transform: scale(0.92);
}

.alumni-card-img img {

width: 100%;

height: 100%;

object-fit: cover;

opacity: 0.6;
}

.alumni-play {

position: absolute;

width: 56px;

height: 56px;

border-radius: 50%;

background: rgba(255, 255, 255, 0.15);

border: 2px solid rgba(255, 255, 255, 0.5);

display: flex;

align-items: center;

justify-content: center;

font-size: 20px;

color: #fff;

transition: background 0.2s;
}

.alumni-card:hover .alumni-play {

background: rgba(255, 255, 255, 0.3);
}

.alumni-company-badge {

position: absolute;

bottom: 14px;

left: 14px;

background: rgba(255, 255, 255, 0.9);

backdrop-filter: blur(4px);

border-radius: 8px;

padding: 8px 12px;

font-size: 12px;

font-weight: 600;

color: #1a1a1a;
}

.alumni-dot {

width: 8px;

height: 8px;

border-radius: 50%;

background: rgba(255, 255, 255, 0.2);

cursor: pointer;

transition: background 0.2s;
}

#awards {

background: var(--offwhite);

padding: 80px 40px;

max-width: 100%;
}

.award-card {

background: #fff;

border-radius: 12px;

overflow: hidden;

border: 1px solid #e5e7eb;

transition:
transform 0.3s,

box-shadow 0.3s;
}

.award-card:hover {

transform: translateY(-5px);

box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
}

.award-card-img img {

width: 100%;

height: 100%;

object-fit: cover;

opacity: 0.8;
}

.award-tag {

position: absolute;

top: 12px;

left: 12px;

font-size: 11px;

font-weight: 700;

background: var(--teal);

color: #fff;

padding: 4px 10px;

border-radius: 999px;

letter-spacing: 0.05em;
}

.btn-outline-teal {

display: inline-flex;

align-items: center;

gap: 8px;

border: 2px solid var(--teal);

color: var(--teal);

font-size: 14px;

font-weight: 700;

padding: 12px 28px;

border-radius: 6px;

transition:
background 0.2s,

color 0.2s;
}

.accreditation-strip .strip-label {

font-size: 11px;

font-weight: 600;

letter-spacing: 0.15em;

text-transform: uppercase;

color: var(--gray);

margin-bottom: 20px;
}

@media (min-width: 401px) and (max-width: 576px) {

#awards {

padding: 60px 20px;
  }

#awards .awards-header {

margin-bottom: 34px;
  }

.awards-grid {

gap: 20px;

margin: 0 0 30px;

max-width: 100%;
  }

.award-card-img {

height: 180px;
  }

.award-card-body {

padding: 18px;
  }

.awards-cta {

margin-bottom: 34px;
  }

.accreditation-logos {

gap: 14px;
  }

.accreditation-logos .acc-logo {

padding: 9px 14px;

font-size: 11px;
  }
}

@media (max-width: 400px) {

#awards {

padding: 50px 16px;
  }

.awards-grid {

gap: 18px;

margin-bottom: 28px;
  }

.award-card-img {

height: 170px;
  }

.award-card-body {

padding: 16px;
  }

.accreditation-logos {

gap: 12px;
  }

.accreditation-logos .acc-logo {

padding: 8px 14px;

font-size: 11px;
  }
}

#faculty {

background: var(--navy);

padding: 80px 40px;

max-width: 100%;
}

.faculty-inner {

display: grid;

grid-template-columns: 1fr 1.4fr;

gap: 60px;

align-items: start;

max-width: 1200px;

margin: 0 auto;
}

.faculty-left {
}

.faculty-left .section-header {

margin-bottom: 48px;
}

.faculty-left h2 {

font-family: var(--font-heading);

font-weight: 700;

font-size: clamp(24px, 3vw, 38px);

color: #fff;

line-height: 1.2;
}

.faculty-left h2 span {

color: var(--gold);
}

.faculty-composition {

display: flex;

flex-direction: column;

gap: 28px;
}

.faculty-pct-item {
}

.faculty-pct-num {

font-family: var(--font-display);

font-weight: 800;

font-size: 52px;

color: var(--gold);

line-height: 1;
}

.faculty-pct-title {

font-family: var(--font-heading);

font-weight: 700;

font-size: 17px;

color: #fff;

margin: 6px 0 4px;
}

.faculty-pct-desc {

font-size: 14px;

color: var(--gray);

line-height: 1.6;
}

.faculty-pct-bar {

height: 3px;

background: rgba(255, 255, 255, 0.1);

border-radius: 2px;

margin-top: 12px;

overflow: hidden;
}

.faculty-pct-fill {

height: 100%;

background: var(--gold);

border-radius: 2px;
}

.faculty-right {

position: relative;
}

.faculty-right-header {

display: flex;

justify-content: space-between;

align-items: center;

margin-bottom: 24px;
}

.faculty-right-header h3 {

font-family: var(--font-heading);

font-size: 15px;

font-weight: 600;

color: rgba(255, 255, 255, 0.6);
}

.btn-all-faculty {

font-size: 13px;

font-weight: 600;

color: #fff;

border: 1.5px solid rgba(255, 255, 255, 0.3);

padding: 9px 20px;

border-radius: 6px;

transition:
border-color 0.2s,

background 0.2s;
}

.btn-all-faculty:hover {

border-color: #fff;

background: rgba(255, 255, 255, 0.08);
}

.faculty-grid {

display: grid;

grid-template-columns: repeat(3, 1fr);

gap: 16px;
}

.faculty-card {

background: rgba(255, 255, 255, 0.05);

border: 1px solid rgba(255, 255, 255, 0.08);

border-radius: 10px;

overflow: hidden;

position: relative;

transition:
transform 0.3s,

background 0.3s;
}

.faculty-card:hover {

transform: translateY(-4px);

background: rgba(255, 255, 255, 0.1);
}

.faculty-card-img {

height: 140px;

background: linear-gradient(135deg, #1b3a8c 0%, #0a1628 100%);

display: flex;

align-items: center;

justify-content: center;

font-size: 40px;

position: relative;

overflow: hidden;
}

.faculty-card-img img {

width: 100%;

height: 100%;

object-fit: cover;

opacity: 0.7;
}

.faculty-logo-badge {

position: absolute;

bottom: 8px;

right: 8px;

background: rgba(255, 255, 255, 0.9);

border-radius: 4px;

padding: 3px 8px;

font-size: 10px;

font-weight: 700;

color: #1a1a1a;
}

.faculty-card-body {

padding: 12px;
}

.faculty-card-body h4 {

font-weight: 700;

font-size: 13px;

color: #fff;

margin-bottom: 3px;
}

.faculty-card-body p {

font-size: 11px;

color: var(--gray);

line-height: 1.4;
}

@media (max-width: 900px) {

.faculty-inner {

grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {

.faculty-grid {

grid-template-columns: repeat(2, 1fr);
  }

#faculty {

padding: 60px 20px;
  }
}

#campus .campus-header {

text-align: center;

margin-bottom: 56px;
}

#campus .campus-header p {

font-size: 16px;

color: var(--gray);

margin-top: 12px;

max-width: 560px;

margin-left: auto;

margin-right: auto;
}

.campus-tier-label {

display: flex;

align-items: center;

gap: 12px;

margin-bottom: 24px;
}

.campus-tier-label h3 {

font-family: var(--font-heading);

font-weight: 700;

font-size: 13px;

letter-spacing: 0.12em;

text-transform: uppercase;

color: var(--navy);
}

.main-campus-grid {

display: grid;

grid-template-columns: 1fr 1fr;

gap: 24px;

margin-bottom: 48px;
}

.main-campus-card {

background: #fff;

border-radius: 16px;

overflow: hidden;

box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);

border: 1px solid #e5e7eb;

transition:
transform 0.3s var(--ease),

box-shadow 0.3s var(--ease);
}

.main-campus-card:hover {

transform: translateY(-6px);

box-shadow: 0 16px 48px rgba(0, 0, 0, 0.13);
}

.main-campus-img {

width: 100%;

height: 180px;

object-fit: cover;

display: block;
}

.main-campus-img-placeholder {

width: 100%;

height: 180px;

display: flex;

align-items: center;

justify-content: center;

font-size: 48px;
}

.main-campus-body {

padding: 24px 28px 28px;
}

.main-campus-badge {

display: inline-block;

background: linear-gradient(135deg, #0a1628, #1b3a8c);

color: #fff;

font-size: 10px;

font-weight: 700;

letter-spacing: 0.1em;

text-transform: uppercase;

padding: 4px 10px;

border-radius: 20px;

margin-bottom: 12px;
}

.main-campus-card h4 {

font-family: var(--font-heading);

font-weight: 700;

font-size: 22px;

color: var(--navy);

margin-bottom: 6px;
}

.main-campus-card .campus-state {

font-size: 13px;

color: var(--gray);

margin-bottom: 16px;
}

.main-campus-details {

display: flex;

flex-direction: column;

gap: 6px;

margin-bottom: 20px;
}

.main-campus-details span {

font-size: 13px;

color: #374151;

display: flex;

align-items: flex-start;

gap: 8px;
}

.main-campus-details span b {

color: var(--navy);

min-width: 70px;
}

.main-campus-link {

display: inline-flex;

align-items: center;

gap: 6px;

font-size: 13px;

font-weight: 700;

color: var(--teal);

transition: gap 0.2s;
}

.satellite-campus-grid {

display: grid;

grid-template-columns: repeat(4, 1fr);

gap: 20px;
}

.satellite-campus-card {

background: #fff;

border-radius: 14px;

padding: 24px 20px;

border: 1px solid #e5e7eb;

position: relative;

transition:
transform 0.3s var(--ease),

box-shadow 0.3s var(--ease),

border-color 0.3s;
}

.satellite-campus-card:hover {

transform: translateY(-4px);

box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1);

border-color: var(--teal);
}

.satellite-badge {

display: inline-block;

background: #f0fdf9;

color: var(--teal);

font-size: 10px;

font-weight: 700;

letter-spacing: 0.08em;

text-transform: uppercase;

padding: 3px 9px;

border-radius: 20px;

border: 1px solid rgba(58, 138, 133, 0.25);

margin-bottom: 12px;
}

.satellite-campus-card .campus-icon {

font-size: 28px;

margin-bottom: 10px;

display: block;
}

.satellite-campus-card h4 {

font-family: var(--font-heading);

font-weight: 700;

font-size: 17px;

color: var(--navy);

margin-bottom: 4px;
}

.satellite-campus-card .campus-state {

font-size: 12px;

color: var(--gray);

margin-bottom: 14px;
}

.satellite-campus-card .campus-programs {

font-size: 12px;

color: #374151;

line-height: 1.6;

margin-bottom: 16px;
}

.satellite-campus-card .campus-programs strong {

color: var(--navy);
}

.satellite-campus-card a {

font-size: 12px;

font-weight: 700;

color: var(--teal);
}

@media (max-width: 1024px) {

.satellite-campus-grid {

grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {

.main-campus-grid {

grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {

.satellite-campus-grid {

grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 400px) {

.satellite-campus-grid {

grid-template-columns: 1fr;
  }
}

@media (max-width: 992px) {

#campus {

padding: 70px 28px;
  }

.satellite-campus-grid {

grid-template-columns: repeat(2, 1fr);

gap: 18px;
  }

.main-campus-body {

padding: 22px;
  }
}

@media (max-width: 768px) {

#campus {

padding: 60px 22px;
  }

#campus .campus-header {

margin-bottom: 40px;
  }

#campus .campus-header p {

font-size: 15px;
  }

.main-campus-grid {

grid-template-columns: 1fr;

gap: 20px;

margin-bottom: 36px;
  }

.main-campus-img,

.main-campus-img-placeholder {

height: 170px;
  }

.main-campus-card h4 {

font-size: 20px;
  }
}

@media (max-width: 576px) {

#campus {

padding: 55px 18px;
  }

.campus-tier-label {

gap: 8px;

margin-bottom: 18px;
  }

.campus-tier-label h3 {

font-size: 12px;
  }

.satellite-campus-grid {

grid-template-columns: 1fr;

gap: 16px;
  }

.satellite-campus-card {

padding: 18px 16px;
  }

.main-campus-body {

padding: 18px;
  }

.main-campus-details span {

font-size: 12px;
  }
}

@media (max-width: 400px) {

#campus {

padding: 50px 12px;
  }

#campus .campus-header {

margin-bottom: 30px;
  }

#campus .campus-header h2 {

font-size: 24px;
  }

#campus .campus-header p {

font-size: 14px;

margin-top: 8px;
  }

.main-campus-img,

.main-campus-img-placeholder {

height: 150px;
  }

.main-campus-card h4,

.satellite-campus-card h4 {

font-size: 17px;
  }

.main-campus-body,

.satellite-campus-card {

padding: 16px;
  }
}

#news {

background: var(--offwhite);

padding: 80px 40px;

max-width: 100%;
}

.news-tab {

font-size: 13px;

font-weight: 600;

color: var(--gray);

padding: 9px 22px;

border-radius: 999px;

border: 1.5px solid #d1d5db;

transition: all 0.2s;

cursor: pointer;

background: #fff;
}

.news-card {

flex-shrink: 0;

width: 320px;

background: #fff;

border-radius: 12px;

border: 1px solid #e5e7eb;

overflow: hidden;

transition:
transform 0.3s,

box-shadow 0.3s;
}

.news-card:hover {

transform: translateY(-4px);

box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.news-card-img img {

width: 100%;

height: 100%;

object-fit: cover;

opacity: 0.8;
}

.chip {

font-size: 10px;

font-weight: 700;

background: var(--offwhite);

border: 1px solid #d1d5db;

color: #374151;

padding: 3px 10px;

border-radius: 999px;

letter-spacing: 0.05em;
}

.chip-teal {

background: rgba(58, 138, 133, 0.1);

border-color: var(--teal);

color: var(--teal);
}

#placement-report {

background: var(--charcoal);

padding: 80px 40px;

max-width: 100%;
}

#placement-report::before {

content: "";

position: absolute;

inset: 0;

background: radial-gradient(ellipse 70% 55% at 50% 0%, rgba(201,168,76,.08) 0%, transparent 70%);

pointer-events: none;
}

.section-label {

display: inline-block;

font-size: 11px;

font-weight: 700;

letter-spacing: 0.16em;

text-transform: uppercase;

padding: 6px 16px;

border-radius: 999px;

border: 1px solid rgba(201,168,76,.35);

color: var(--gold);

margin-bottom: 20px;
}

.report-header h2 {

font-family: var(--font-heading);

font-weight: 700;

font-size: clamp(26px, 4vw, 46px);

color: #fff;

line-height: 1.15;

margin-bottom: 16px;
}

.report-header p {

font-size: clamp(14px, 1.8vw, 16px);

color: var(--gray);

max-width: 520px;

margin: 0 auto 28px;

line-height: 1.7;
}

.btn-download {

display: inline-flex;

align-items: center;

gap: 10px;

border: 2px solid rgba(255,255,255,.35);

color: #fff;

font-size: 13px;

font-weight: 700;

letter-spacing: 0.05em;

padding: 13px 30px;

border-radius: 999px;

text-decoration: none;

transition: border-color .22s,
   background .22s,
   transform .18s;

background: transparent;
}

.btn-download:hover {

border-color: var(--gold);

color: var(--gold);

background: rgba(201,168,76,.07);

transform: translateY(-2px);
}

.btn-download .arrow {

font-size: 16px;

line-height: 1;
}

.report-cards {

max-width: 1100px;

margin: 0 auto;
}

.report-card {

background: rgba(255,255,255,.04);

border: 1px solid rgba(255,255,255,.09);

border-radius: 16px;

padding: clamp(20px, 3vw, 32px);

backdrop-filter: blur(6px);

transition: transform .25s,
   border-color .25s,
   box-shadow .25s;

height: 100%;
}

.report-card:hover {

transform: translateY(-6px);

border-color: rgba(201,168,76,.3);

box-shadow: 0 16px 40px rgba(0,0,0,.35);
}

.report-card h3 {

font-size: 11px;

font-weight: 700;

color: var(--gray);

letter-spacing: 0.12em;

text-transform: uppercase;

margin-bottom: 18px;
}

.report-stat {

font-family: var(--font-display);

font-weight: 400;

font-size: clamp(36px, 5vw, 52px);

color: var(--gold);

letter-spacing: 0.02em;

line-height: 1;

margin-bottom: 8px;
}

.report-stat-label {

font-size: 12px;

color: rgba(255,255,255,.45);

line-height: 1.55;

min-height: 36px;
}

.report-chart-area {

height: 110px;

margin-top: 22px;

position: relative;
}

.card-divider {

height: 1px;

background: rgba(255,255,255,.07);

margin: 20px 0 0;
}

.reveal {

opacity: 0;

transform: translateY(28px);

transition: opacity .7s ease,
   transform .7s ease;
}

.reveal-delay-1 {
   transition-delay: .12s;
}

.reveal-delay-2 {
   transition-delay: .24s;
}

.reveal-delay-3 {
   transition-delay: .36s;
}

:root {

  --navy:    #0A1628;

  --royal:   #1B3A8C;

  --gold:    #F5A623;

  --amber:   #E8852A;

  --teal:    #3A8A85;

  --green:   #1DB07A;

  --offwhite:#F8F9FC;

  --charcoal:#0D0D0D;

  --gray:    #6B7280;

  --white:   #FFFFFF;

  --font-display: "Syne",
   sans-serif;

  --font-heading: "Plus Jakarta Sans",
   sans-serif;

  --font-body:    "Inter",
   sans-serif;

  --font-quote:   "Lora",
   serif;

  --font-serif:   "Fraunces",
   serif;

  --ease: cubic-bezier(0.4,0,0.2,1);
}

*,
*::before,
*::after {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html {
  scroll-behavior:smooth;
}

body {
  font-family:var(--font-body);
  color:var(--charcoal);
  background:#fff;
  overflow-x:hidden;
}

img {
  max-width:100%;
  display:block;
}

a {
  text-decoration:none;
  color:inherit;
}

button {
  cursor:pointer;
  border:none;
  background:none;
  font-family:inherit;
}

.section-label {
  font-family:var(--font-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:12px;
}

.section-label--white {
  color:rgba(255,255,255,.65);
}

.section-label--gold {
  color:var(--gold);
}

.reveal {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .7s var(--ease),
  transform .7s var(--ease);
}

.reveal.visible {
  opacity:1;
  transform:translateY(0);
}

.reveal-delay-1 {
  transition-delay:.1s;
}

.reveal-delay-2 {
  transition-delay:.2s;
}

.reveal-delay-3 {
  transition-delay:.3s;
}

.reveal-delay-4 {
  transition-delay:.4s;
}

.reveal-delay-5 {
  transition-delay:.5s;
}

.container {
  max-width:1280px;
  margin:0 auto;
  padding:0 40px;
}

#campus {

  background: var(--offwhite);

  padding: 80px 40px;

  max-width: 100%;
}

#campus .campus-header {

  text-align: center;

  margin-bottom: 48px;
}

#campus .campus-header h2 {

  font-family: var(--font-heading);

  font-weight: 700;

  font-size: clamp(26px, 3.5vw, 40px);

  color: var(--navy);
}

#campus .campus-header p {

  font-size: 16px;

  color: var(--gray);

  margin-top: 12px;

  max-width: 620px;

  margin-left: auto;

  margin-right: auto;

  line-height: 1.7;
}

.campus-layout {

  max-width: 1280px;

  margin: 0 auto;

  display: grid;

  grid-template-columns: 1.25fr 0.95fr;

  gap: 28px;

  align-items: start;
}

.campus-tier-label {

  display: flex;

  align-items: center;

  gap: 12px;

  margin-bottom: 18px;
}

.campus-tier-label h3 {

  font-family: var(--font-heading);

  font-weight: 700;

  font-size: 13px;

  letter-spacing: 0.12em;

  text-transform: uppercase;

  color: var(--navy);

  white-space: nowrap;
}

.campus-tier-label::after {

  content: "";

  flex: 1;

  height: 1px;

  background: #d1d5db;
}

.main-campus-card {

  background: #fff;

  border-radius: 18px;

  overflow: hidden;

  border: 1px solid #e5e7eb;

  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);

  transition: transform 0.3s var(--ease),
   box-shadow 0.3s var(--ease);
}

.main-campus-card:hover {

  transform: translateY(-6px);

  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.14);
}

.main-campus-img-wrap {

  position: relative;

  width: 100%;

  height: 360px;

  overflow: hidden;
}

.main-campus-img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.4s var(--ease);
}

.main-campus-card:hover .main-campus-img {

  transform: scale(1.04);
}

.main-campus-img-wrap::after {

  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(to top, rgba(10, 22, 40, 0.35), rgba(10, 22, 40, 0.05));
}

.main-campus-badge {

  position: absolute;

  left: 20px;

  bottom: 18px;

  z-index: 2;

  display: inline-block;

  background: linear-gradient(135deg, #0a1628, #1b3a8c);

  color: #fff;

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.1em;

  text-transform: uppercase;

  padding: 6px 12px;

  border-radius: 999px;
}

.main-campus-body {

  padding: 24px 26px 28px;
}

.main-campus-card h4 {

  font-family: var(--font-heading);

  font-weight: 700;

  font-size: 26px;

  color: var(--navy);

  margin-bottom: 8px;
}

.main-campus-card .campus-state {

  font-size: 14px;

  color: var(--gray);

  margin-bottom: 18px;
}

.main-campus-details {

  display: flex;

  flex-direction: column;

  gap: 8px;

  margin-bottom: 22px;
}

.main-campus-details span {

  font-size: 14px;

  color: #374151;

  display: flex;

  align-items: flex-start;

  gap: 8px;

  line-height: 1.6;
}

.main-campus-details span b {

  color: var(--navy);

  min-width: 72px;
}

.main-campus-link {

  display: inline-flex;

  align-items: center;

  gap: 6px;

  font-size: 14px;

  font-weight: 700;

  color: var(--teal);

  transition: gap 0.2s ease;
}

.main-campus-link:hover {

  gap: 10px;
}

.satellite-campus-list {

  display: flex;

  flex-direction: column;

  gap: 18px;
}

.satellite-campus-card {

  background: #fff;

  border-radius: 16px;

  border: 1px solid #e5e7eb;

  overflow: hidden;

  display: grid;

  grid-template-columns: 140px 1fr;

  min-height: 150px;

  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);

  transition: transform 0.3s var(--ease),
   box-shadow 0.3s var(--ease),
   border-color 0.3s;
}

.satellite-campus-card:hover {

  transform: translateY(-4px);

  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12);

  border-color: var(--teal);
}

.satellite-campus-thumb {

  width: 100%;

  height: 100%;

  min-height: 150px;

  overflow: hidden;

  background: #e5e7eb;
}

.satellite-campus-thumb img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.4s var(--ease);
}

.satellite-campus-card:hover .satellite-campus-thumb img {

  transform: scale(1.05);
}

.satellite-campus-body {

  padding: 18px 18px 16px;

  display: flex;

  flex-direction: column;

  justify-content: center;
}

.satellite-badge {

  display: inline-block;

  align-self: flex-start;

  background: #f0fdf9;

  color: var(--teal);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 0.08em;

  text-transform: uppercase;

  padding: 4px 10px;

  border-radius: 999px;

  border: 1px solid rgba(58, 138, 133, 0.25);

  margin-bottom: 10px;
}

.satellite-campus-card h4 {

  font-family: var(--font-heading);

  font-weight: 700;

  font-size: 18px;

  color: var(--navy);

  margin-bottom: 6px;
}

.satellite-campus-card .campus-state {

  font-size: 13px;

  color: var(--gray);

  margin-bottom: 14px;

  line-height: 1.5;
}

.satellite-campus-card a {

  font-size: 13px;

  font-weight: 700;

  color: var(--teal);
}

.satellite-campus-card a:hover {

  text-decoration: underline;
}

@media (max-width: 1100px) {

  .campus-layout {

    grid-template-columns: 1fr;
  }

  .main-campus-img-wrap {

    height: 300px;
  }
}

@media (max-width: 767px) {

  #campus {

    padding: 60px 20px;
  }

  #campus .campus-header {

    margin-bottom: 36px;
  }

  .main-campus-img-wrap {

    height: 240px;
  }

  .main-campus-body {

    padding: 20px;
  }

  .satellite-campus-card {

    grid-template-columns: 1fr;
  }

  .satellite-campus-thumb {

    min-height: 180px;
  }

  .satellite-campus-body {

    padding: 16px;
  }
}

@media(max-width:768px) {
  .container {
    padding:0 20px;
  }
}

#navbar {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  padding:0 40px;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:background .4s var(--ease),
  box-shadow .4s var(--ease);
}

#navbar.scrolled {
  background:var(--navy);
  box-shadow:0 2px 24px rgba(0,0,0,.4);
}

.nav-logo {
  display:flex;
  align-items:center;
}

.nav-logo-pill {

  display:flex;

  align-items:center;
}

.nav-logo-pill img {
  height:70px;
  width:auto;
  display:block;
}

.scrolled > .nav-logo-pill img {
  height:60px;
}

.scrolled > .nav-logo-pill.logo {

    height: 50px;
}

.nav-links {
  display:flex;
  align-items:center;
  gap:10px;
}

.nav-links a {
  font-size:14px;
  font-weight:500;
  color:rgba(255,255,255,.85);
  transition:color .2s;
}

.nav-links a:hover {
  color:#fff;
}

.nav-item-with-arrow::after {
  content:" ▾";
  font-size:11px;
  opacity:.7;
}

.nav-right {
  display:flex;
  align-items:center;
  gap:16px;
}

.nav-search {
  color:rgba(255,255,255,.7);
  font-size:18px;
  cursor:pointer;
  transition:color .2s;
}

.nav-search:hover {
  color:#fff;
}

.btn-apply {
  background:var(--gold);
  color:var(--navy);
  font-size:13px;
  font-weight:700;
  padding:10px 22px;
  border-radius:6px;
  transition:transform .2s,
  box-shadow .2s;
}

.btn-apply:hover {
  transform:scale(1.04);
  box-shadow:0 4px 20px rgba(245,166,35,.4);
}

.nav-hamburger {
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.nav-hamburger span {
  width:24px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:.3s;
}

@media(max-width:900px) {

  .nav-links {
    display:none;
  }

  .nav-hamburger {
    display:flex;
  }
}

#nav-drawer {
  position:fixed;
  top:0;
  right:-100%;
  width:80%;
  max-width:360px;
  height:100vh;
  background:var(--navy);
  z-index:1100;
  padding:80px 32px 40px;
  transition:right .4s var(--ease);
  display:flex;
  flex-direction:column;
  gap:24px;
}

#nav-drawer.open {
  right:0;
}

#nav-drawer a {
  font-size:18px;
  font-weight:600;
  color:#fff;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

#drawer-overlay {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  z-index:1050;
}

#drawer-overlay.open {
  display:block;
}

#hero {
  position:relative;
  height:100vh;
  min-height:640px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}

.hero-bg {
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#040c1a 0%,#0a1628 35%,#0d2545 70%,#0a1628 100%);
  z-index:0;
}

.hero-bg::after {
  content:"";
  position:absolute;
  inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  z-index:1;
}

.hero-image-wrap {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  z-index:1;
}

.hero-img-cinematic {

  width:100%;
  height:100%;

  object-fit:cover;
  object-position:65% 25%;

  transform:scale(1.04);

  transition:transform 9s ease-out;
}

#hero:hover .hero-img-cinematic {
  transform:scale(1.0);
}

.hero-img-left-fade {

  position:absolute;
  inset:0;
  z-index:2;
}

.hero-img-color-grade {

  position:absolute;
  inset:0;
  z-index:3;

  background:
    radial-gradient(ellipse 65% 70% at 75% 45%, rgba(58,138,133,.20) 0%, transparent 65%),

    radial-gradient(ellipse 55% 55% at 15% 75%, rgba(245,166,35,.12) 0%, transparent 60%),

    linear-gradient(170deg, rgba(27,58,140,.18) 0%, transparent 55%);

  mix-blend-mode:screen;
}

.hero-img-vignette {

  position:absolute;
  inset:0;
  z-index:4;

  background:radial-gradient(ellipse 110% 110% at 55% 45%,
    transparent 30%, rgba(2,6,14,.45) 65%, rgba(2,6,14,.85) 100%);
}

.hero-img-letterbox {

  position:absolute;
  left:0;
  right:0;
  z-index:5;

  height:6%;
  background:#000;
}

.hero-img-letterbox.top {
  top:0;
}

.hero-img-letterbox.bottom {
  bottom:0;
}

.hero-img-seam {
  display:none;
}

.hero-orb {
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  pointer-events:none;
  z-index:6;
}

.hero-orb-1 {
  width:500px;
  height:500px;
  background:radial-gradient(circle,rgba(245,166,35,.10),transparent 70%);
  top:-80px;
  right:60px;
}

.hero-orb-2 {
  width:360px;
  height:360px;
  background:radial-gradient(circle,rgba(58,138,133,.14),transparent 70%);
  bottom:100px;
  left:-40px;
}

.hero-content {
  position:relative;
  z-index:10;
  padding:0 80px;
  max-width:780px;
}

.hero-headline {
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(36px,5vw,55px);
  line-height:1.07;
  color:#fff;
  margin-bottom:24px;
  letter-spacing:-.02em;
  text-shadow:0 2px 24px rgba(0,0,0,.4);
}

.hero-headline .line {
  display:block;
  overflow:visible;
}

@keyframes wordIn {
  from {
    opacity:0;
    transform:translateY(18px);
  }

  to {
    opacity:1;
    transform:translateY(0);
  }
}

.hero-headline .word {
  display:inline-block;
  opacity:0;
  animation:wordIn .65s var(--ease) forwards;
}

.hero-headline .word:nth-child(1) {
  animation-delay:.1s;
}

.hero-headline .word:nth-child(2) {
  animation-delay:.25s;
}

.hero-headline .word:nth-child(3) {
  animation-delay:.4s;
}

.hero-headline .word.visible {
  opacity:1;
  transform:translateY(0);
}

.hero-headline .kinetic-wrap {
  display:inline-block;
  position:relative;
  overflow:hidden;
  height:1.15em;
  vertical-align:bottom;
  min-width:clamp(260px,36vw,540px);
}

.kinetic-word {
  display:block;
  color:var(--gold);
  position:absolute;
  top:0;
  left:0;
  opacity:0;
  transform:translateY(40px);
  transition:opacity .5s var(--ease),
  transform .5s var(--ease);
  white-space:nowrap;
}

.kinetic-word.active {
  opacity:1;
  transform:translateY(0);
}

.kinetic-word.exit {
  opacity:0;
  transform:translateY(-40px);
}

.hero-rule {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.hero-rule-line {
  width:40px;
  height:1.5px;
  background:var(--gold);
}

.hero-rule-text {
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(245,166,35,.85);
}

.hero-sub {
  font-size:18px;
  font-weight:400;
  color:rgba(255,255,255,.88);
  line-height:1.78;
  margin-bottom:40px;
  max-width:530px;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}

.hero-ctas {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.btn-hero-primary {
  background:var(--gold);
  color:var(--navy);
  font-size:15px;
  font-weight:700;
  padding:15px 34px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:transform .2s,
  box-shadow .2s;
  box-shadow:0 4px 24px rgba(245,166,35,.45);
}

.btn-hero-primary:hover {
  transform:scale(1.04);
  box-shadow:0 8px 36px rgba(245,166,35,.65);
}

.btn-hero-secondary {
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:15px;
  font-weight:600;
  padding:15px 34px;
  border-radius:8px;
  border:1.5px solid rgba(255,255,255,.38);
  display:inline-flex;
  align-items:center;
  gap:8px;
  backdrop-filter:blur(12px);
  transition:border-color .2s,
  background .2s;
}

.btn-hero-secondary:hover {
  border-color:rgba(245,166,35,.75);
  background:rgba(245,166,35,.10);
}

.hero-stats {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:10;
  background:rgba(4,10,22,.80);
  backdrop-filter:blur(20px);
  border-top:1px solid rgba(255,255,255,.10);
  padding:18px 80px;
  display:flex;
  gap:0;
  align-items:center;
  justify-content:space-between;
}

.hero-stat {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  white-space:nowrap;
}

.hero-stat-num {
  font-family:var(--font-display);
  font-weight:800;
  font-size:24px;
  color:var(--gold);
  line-height:1;
}

.hero-stat-label {
  font-size:11px;
  color:rgba(255,255,255,.58);
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.hero-stat-divider {
  width:1px;
  height:38px;
  background:rgba(255,255,255,.14);
  flex-shrink:0;
}

@media(max-width:900px) {

  .hero-content {
    padding:0 32px;
  }

  .hero-stats {
    padding:14px 32px;
  }
}

@media(max-width:640px) {

  .hero-content {
    padding:0 22px;
  }

  .hero-stats {
    padding:12px 20px;
    justify-content:space-evenly;
  }

  .hero-stat {
    align-items:center;
  }

  .hero-stat-num {
    font-size:20px;
  }

  .hero-stat-label {
    font-size:10px;
  }

  .hero-ctas {
    flex-direction:column;
    max-width:300px;
  }

  .btn-hero-primary,
  .btn-hero-secondary {
    justify-content:center;
  }

  .hero-headline .kinetic-wrap {
    min-width:260px;
  }

  #hero {
    height:120vh;
  }
}

#introduction {
  background:var(--offwhite);
  padding:100px 40px;
  text-align:center;
}

.intro-inner {
  max-width:800px;
  margin:0 auto;
}

#introduction h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(28px,4vw,44px);
  color:var(--navy);
  margin-bottom:28px;
  line-height:1.2;
}

#introduction p {
  font-size:17px;
  line-height:1.8;
  color:#374151;
  margin-bottom:20px;
}

.read-more-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:600;
  color:var(--teal);
  margin-top:8px;
  transition:gap .2s;
}

.read-more-link:hover {
  gap:10px;
}

#why-gems {

    background: var(--teal);

    padding: 80px 40px;
}

#why-gems .section-header {
  margin-bottom:48px;
}

#why-gems h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(26px,3.5vw,38px);
  color:#fff;
}

.advantage-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:24px;
}

.advantage-card {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  padding:28px 22px;
  transition:transform .3s var(--ease),
  box-shadow .3s var(--ease),
  background .3s;
}

.advantage-card:hover {
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,0,0,.2);
  background:rgba(255,255,255,.18);
}

.advantage-icon {
  font-size:32px;
  margin-bottom:16px;
}

.advantage-card h3 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:16px;
  color:#fff;
  margin-bottom:10px;
}

.advantage-card p {
  font-size:14px;
  line-height:1.7;
  color:rgba(255,255,255,.8);
}

@media(max-width:1024px) {
  .advantage-grid {
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:640px) {
  .advantage-grid {
    grid-template-columns:repeat(1,1fr);
  }

  .advantage-card:last-child {
    grid-column:1/-1;
  }
}

#programmes {
  background:var(--charcoal);
  padding:80px 0 60px;
}

#programmes .section-inner {
  padding:0 40px;
}

#programmes h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(28px,3.5vw,42px);
  color:#fff;
  margin-bottom:36px;
}

#programmes h2 em {
  font-family:var(--font-serif);
  font-style:italic;
  color:var(--gold);
}

.prog-tabs {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:40px;
}

.prog-tab {
  font-size:13px;
  font-weight:600;
  color:rgba(255,255,255,.6);
  padding:9px 20px;
  border-radius:999px;
  border:1.5px solid rgba(255,255,255,.2);
  transition:all .25s;
  cursor:pointer;
}

.prog-tab:hover {
  border-color:rgba(255,255,255,.5);
  color:#fff;
}

.prog-tab.active {
  background:#fff;
  color:var(--charcoal);
  border-color:#fff;
}

.prog-cards-wrap {
  overflow-x:auto;
  padding-bottom:20px;
  scrollbar-width:thin;
  scrollbar-color:var(--teal) transparent;
}

.prog-cards {
  display:flex;
  gap:24px;
  min-width:max-content;
  padding:4px 2px;
}

.prog-card {
  width:300px;
  flex-shrink:0;
  background:#1a1a1a;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .3s,
  border-color .3s;
}

.prog-card:hover {
  transform:scale(1.02);
  border-color:var(--teal);
}

.prog-card-thumb {
  position:relative;
  height:160px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.prog-card-thumb-img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1;
}

.prog-card-play {
  position:absolute;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:2px solid rgba(255,255,255,.4);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:#fff;
  transition:background .2s;
}

.prog-card:hover .prog-card-play {
  background:rgba(255,255,255,.3);
}

.prog-badge {
  position:absolute;
  top:12px;
  left:12px;
  font-size:11px;
  font-weight:700;
  padding:4px 10px;
  border-radius:999px;
}

.badge-popular {
  background:var(--gold);
  color:var(--navy);
}

.badge-trending {
  background:#ef4444;
  color:#fff;
}

.badge-global {
  background:var(--teal);
  color:#fff;
}

.prog-card-body {
  padding:20px;
}

.prog-card-body h3 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:16px;
  color:#fff;
  margin-bottom:6px;
}

.prog-card-desc {
  font-size:13px;
  color:var(--gray);
  margin-bottom:14px;
}

.prog-meta {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:16px;
}

.prog-meta-item {
  font-size:12px;
  color:rgba(255,255,255,.55);
  display:flex;
  align-items:center;
  gap:6px;
}

.prog-meta-item span {
  opacity:.7;
}

.prog-card-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}

.prog-explore {
  font-size:13px;
  font-weight:600;
  color:var(--teal);
  display:flex;
  align-items:center;
  gap:4px;
}

.prog-apply {
  font-size:12px;
  font-weight:700;
  background:#fff;
  color:var(--charcoal);
  padding:7px 14px;
  border-radius:5px;
  transition:background .2s;
}

.prog-apply:hover {
  background:var(--gold);
}

@media(max-width:600px) {
  #programmes .section-inner {
    padding:0 20px;
  }
}

#international {
  padding:80px 40px;
  background:linear-gradient(135deg,#E8852A 0%,#F5A623 100%);
  position:relative;
  overflow:hidden;
}

#international::before {
  content:"";
  position:absolute;
  top:-100px;
  right:-100px;
  width:400px;
  height:400px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

#international h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(26px,3.5vw,40px);
  color:#fff;
  margin-bottom:40px;
  max-width:600px;
}

.uni-logos {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:40px;
}

.uni-pill {
  background:#fff;
  border-radius:10px;
  padding:14px 24px;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:220px;
}

.uni-flag {
  font-size:22px;
}

.uni-pill-text {
  font-size:13px;
  font-weight:700;
  color:#1a1a1a;
  line-height:1.3;
}

.uni-pill-text span {
  display:block;
  font-size:11px;
  font-weight:500;
  color:var(--gray);
}

.intl-checklist {
  display:flex;
  flex-direction:column;
  gap:14px;
  max-width:720px;
  margin-bottom:36px;
}

.intl-check-item {
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.check-icon {
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(255,255,255,.25);
  border:2px solid rgba(255,255,255,.6);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:11px;
  color:#fff;
  margin-top:2px;
}

.intl-check-item p {
  font-size:15px;
  color:rgba(255,255,255,.92);
  line-height:1.65;
}

.btn-intl {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:2px solid #fff;
  color:#fff;
  font-size:14px;
  font-weight:700;
  padding:13px 28px;
  border-radius:6px;
  transition:background .2s,
  color .2s;
}

.btn-intl:hover {
  background:#fff;
  color:var(--amber);
}

@media(max-width:600px) {

  #international {
    padding:60px 20px;
  }

  .uni-logos {
    flex-direction:column;
  }

  .uni-pill {
    min-width:auto;
  }
}

#placements {
  background:var(--offwhite);
  padding:80px 40px;
}

#placements .placement-header {
  text-align:center;
  margin-bottom:48px;
}

#placements .placement-header h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(24px,3vw,38px);
  color:var(--navy);
  margin-bottom:10px;
}

#placements .placement-header p {
  font-size:15px;
  color:var(--gray);
}

.placement-stats {
  display:flex;
  justify-content:center;
  gap:60px;
  margin-bottom:52px;
  flex-wrap:wrap;
}

.placement-stat-item {
  text-align:center;
}

.placement-stat-num {
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(32px,4vw,52px);
  color:var(--gold);
  line-height:1;
}

.placement-stat-label {
  font-size:13px;
  color:var(--gray);
  margin-top:6px;
  font-weight:500;
}

.logo-grid {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
  max-width:1040px;
  margin:0 auto 28px;
}

.logo-cell {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:16px 12px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:90px;
  transition:transform .2s,
  box-shadow .2s,
  border-color .2s;
}

.logo-cell:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 28px rgba(0,0,0,.1);
  border-color:#c4c9d4;
}

.logo-img-wrap {
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
}

.logo-img-wrap img {
  max-height:40px;
  max-width:96px;
  width:auto;
  object-fit:contain;
  filter:grayscale(25%);
  opacity:.85;
  transition:filter .2s,
  opacity .2s;
  display:block;
}

.logo-cell:hover .logo-img-wrap img {
  filter:grayscale(0%);
  opacity:1;
}

.logo-img-wrap img.img-error {
  display:none;
}

.logo-cell .logo-name {
  font-size:11px;
  font-weight:700;
  color:#374151;
  text-align:center;
  line-height:1.3;
  letter-spacing:.01em;
}

.more-logos-link {
  text-align:center;
  margin-top:8px;
}

.more-logos-link a {
  font-size:14px;
  font-weight:600;
  color:var(--teal);
  display:inline-flex;
  align-items:center;
  gap:4px;
}

@media(max-width:900px) {
  .logo-grid {
    grid-template-columns:repeat(4,1fr);
  }
}

@media(max-width:600px) {
  .logo-grid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:480px) {
  .placement-stats {
    gap:30px;
  }
}

#testimonials {
  background:var(--navy);
  padding:80px 40px;
}

#testimonials h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(26px,3.5vw,42px);
  color:#fff;
  margin-bottom:52px;
}

#testimonials h2 .highlight-box {
  display:inline-block;
  background:var(--teal);
  padding:0 12px;
  border-radius:4px;
}

.testimonial-carousel {
  position:relative;
  max-width:1100px;
  margin:0 auto;
}

.testimonial-slide {
  display:none;
  grid-template-columns:1fr 1.5fr;
  gap:60px;
  align-items:center;
}

.testimonial-slide.active {
  display:grid;
}

.testimonial-photo {
  border-radius:12px;
  overflow:hidden;
  aspect-ratio:3/4;
  background:#1B3A8C;
}

.testimonial-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: center top;
}

.testimonial-content {
}

.testimonial-quote {
  font-family:var(--font-quote);
  font-style:italic;
  font-size:clamp(18px,2vw,23px);
  color:rgba(255,255,255,.92);
  line-height:1.65;
  margin-bottom:28px;
}

.testimonial-rule {
  width:48px;
  height:2px;
  background:var(--teal);
  margin-bottom:20px;
}

.testimonial-name {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:17px;
  color:var(--gold);
  margin-bottom:4px;
}

.testimonial-meta {
  font-size:14px;
  color:rgba(255,255,255,.55);
}

.testimonial-placed {
  font-size:13px;
  color:rgba(255,255,255,.4);
  margin-top:4px;
}

.testimonial-nav {
  display:flex;
  gap:12px;
  margin-top:36px;
}

.t-nav-btn {
  width:40px;
  height:40px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.3);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:16px;
  cursor:pointer;
  transition:border-color .2s,
  background .2s;
}

.t-nav-btn:hover {
  border-color:#fff;
  background:rgba(255,255,255,.1);
}

@media(max-width:768px) {

  .testimonial-slide.active {
    grid-template-columns:1fr;
  }

  .testimonial-photo {
    aspect-ratio:0/1;
    max-height:410px;
  }

  #testimonials {
    padding:60px 20px;
  }
}

#alumni {
  background:var(--charcoal);
  padding:80px 40px;
  overflow:hidden;
}

#alumni .alumni-header {
  text-align:center;
  margin-bottom:52px;
}

#alumni .alumni-header h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(26px,3.5vw,42px);
  color:#fff;
  line-height:1.2;
}

#alumni .alumni-header h2 em {
  font-family:var(--font-serif);
  font-style:italic;
  color:var(--gold);
}

.alumni-filmstrip {
  display:flex;
  gap:20px;
  justify-content:center;
  align-items:center;
  margin-bottom:32px;
}

.alumni-card {
  border-radius:12px;
  overflow:hidden;
  position:relative;
  cursor:pointer;
  transition:transform .4s var(--ease),
  opacity .4s;
}

.alumni-card.center {
  width:380px;
  flex-shrink:0;
}

.alumni-card.side {
  width:240px;
  flex-shrink:0;
  opacity:.5;
  transform:scale(.92);
}

.alumni-card-img {
  width:100%;
  aspect-ratio:9/14;
  background:linear-gradient(145deg,#1B3A8C,#0a1628);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

.alumni-card-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.6;
}

.alumni-play {
  position:absolute;
  width:56px;
  height:56px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:2px solid rgba(255,255,255,.5);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  color:#fff;
  transition:background .2s;
}

.alumni-card:hover .alumni-play {
  background:rgba(255,255,255,.3);
}

.alumni-name-badge {
  position:absolute;
  top:14px;
  right:14px;
  background:#fff;
  border-radius:8px;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
  color:var(--navy);
  white-space:nowrap;
}

.alumni-company-badge {
  position:absolute;
  bottom:14px;
  left:14px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(4px);
  border-radius:8px;
  padding:8px 12px;
  font-size:12px;
  font-weight:600;
  color:#1a1a1a;
}

.alumni-card-info {
  padding:14px 0 0;
}

.alumni-card-info h4 {
  font-weight:700;
  font-size:15px;
  color:#fff;
  margin-bottom:3px;
}

.alumni-card-info p {
  font-size:13px;
  color:var(--gray);
}

.alumni-dots {
  display:flex;
  gap:8px;
  justify-content:center;
}

.alumni-dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  cursor:pointer;
  transition:background .2s;
}

.alumni-dot.active {
  background:var(--gold);
}

@media(max-width:768px) {

  .alumni-card.side {
    display:none;
  }

  .alumni-card.center {
    width:100%;
    max-width:340px;
  }

  #alumni {
    padding:60px 20px;
  }
}

#awards {
  background:var(--offwhite);
  padding:80px 40px;
}

#awards .awards-header {
  margin-bottom:48px;
}

#awards .awards-header h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(24px,3vw,38px);
  color:var(--navy);
  margin-bottom:8px;
}

.awards-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  max-width:1100px;
  margin:0 auto 40px;
}

.award-card {
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #e5e7eb;
  transition:transform .3s,
  box-shadow .3s;
}

.award-card:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 40px rgba(0,0,0,.1);
}

.award-card-img {
  height:200px;
  background:linear-gradient(135deg,var(--navy),var(--royal));
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:48px;
  position:relative;
  overflow:hidden;
}

.award-card-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.8;
}

.award-tag {
  position:absolute;
  top:12px;
  left:12px;
  font-size:11px;
  font-weight:700;
  background:var(--teal);
  color:#fff;
  padding:4px 10px;
  border-radius:999px;
  letter-spacing:.05em;
}

.award-card-body {
  padding:20px;
}

.award-date {
  font-size:12px;
  color:var(--gray);
  margin-bottom:8px;
}

.award-card-body h3 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:16px;
  color:var(--navy);
  margin-bottom:8px;
  line-height:1.35;
}

.award-card-body p {
  font-size:13px;
  color:var(--gray);
  line-height:1.6;
  margin-bottom:12px;
}

.award-read-more {
  font-size:13px;
  font-weight:600;
  color:var(--teal);
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.awards-cta {
  text-align:center;
  margin-bottom:48px;
}

.btn-outline-teal {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:2px solid var(--teal);
  color:var(--teal);
  font-size:14px;
  font-weight:700;
  padding:12px 28px;
  border-radius:6px;
  transition:background .2s,
  color .2s;
}

.btn-outline-teal:hover {
  background:var(--teal);
  color:#fff;
}

.accreditation-strip {
  border-top:1px solid #e5e7eb;
  padding-top:36px;
  text-align:center;
}

.accreditation-strip .strip-label {
  font-size:11px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--gray);
  margin-bottom:20px;
}

.accreditation-logos {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:center;
  align-items:center;
}

.accreditation-logos .acc-logo {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:8px;
  padding:10px 20px;
  font-size:12px;
  font-weight:700;
  color:#374151;
}

@media(max-width:900px) {
  .awards-grid {
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:580px) {
  .awards-grid {
    grid-template-columns:1fr;
  }
}

#faculty {

  background: var(--navy);

  padding: 90px 40px;

  position: relative;

  overflow: hidden;
}

#faculty::before {

  content: "";

  position: absolute;

  top: -120px;

  right: -120px;

  width: 420px;

  height: 420px;

  background: radial-gradient(circle, rgba(255, 170, 0, 0.14), transparent 65%);

  pointer-events: none;
}

.faculty-inner {

  max-width: 1200px;

  margin: 0 auto;

  position: relative;

  z-index: 1;
}

.faculty-showcase-only {

  display: block;
}

.faculty-showcase-header {

  display: flex;

  justify-content: space-between;

  align-items: flex-end;

  gap: 40px;

  margin-bottom: 36px;
}

.faculty-showcase-header h2 {

  font-family: var(--font-heading);

  font-weight: 700;

  font-size: clamp(28px, 4vw, 46px);

  color: #fff;

  line-height: 1.15;

  margin: 12px 0 0;
}

.faculty-showcase-header h2 span {

  color: var(--gold);
}

.faculty-intro {

  max-width: 680px;

  margin-top: 14px;

  font-size: 15px;

  color: rgba(255,255,255,.62);

  line-height: 1.7;
}

.btn-all-faculty {

  flex-shrink: 0;

  font-size: 13px;

  font-weight: 700;

  color: #fff;

  border: 1.5px solid rgba(255,255,255,.28);

  padding: 11px 22px;

  border-radius: 8px;

  transition: border-color .25s,
   background .25s,
   transform .25s;
}

.btn-all-faculty:hover {

  border-color: var(--gold);

  background: rgba(255,170,0,.08);

  transform: translateY(-2px);
}

.faculty-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;
}

.faculty-grid-wide {

  width: 100%;
}

.faculty-card {

  background: rgba(255,255,255,.055);

  border: 1px solid rgba(255,255,255,.10);

  border-radius: 16px;

  overflow: hidden;

  position: relative;

  transition: transform .3s ease,
   background .3s ease,
   border-color .3s ease,
   box-shadow .3s ease;
}

.faculty-card:hover {

  transform: translateY(-6px);

  background: rgba(255,255,255,.085);

  border-color: rgba(255,170,0,.35);

  box-shadow: 0 22px 50px rgba(0,0,0,.22);
}

.faculty-card-img {

  height: 350px;

  background: linear-gradient(135deg,#1B3A8C 0%,#0A1628 100%);

  position: relative;

  overflow: hidden;
}

.faculty-card-img img,

.faculty-card-img video {

  width: 100%;

  height: 100%;

  object-fit: cover;

  opacity: 1;

  transition: transform .45s ease,
   opacity .3s ease;
}

.faculty-card:hover .faculty-card-img img,

.faculty-card:hover .faculty-card-img video {

  transform: scale(1.06);

  opacity: .95;
}

.faculty-card-img::after {

  content: "";

  position: absolute;

  inset: 0;

  background: linear-gradient(
    to bottom,
    rgba(10,22,40,0) 35%,
    rgba(10,22,40,.82) 100%
  );
}

.faculty-logo-badge {

  position: absolute;

  bottom: 12px;

  right: 12px;

  z-index: 2;

  background: rgba(255,255,255,.92);

  border-radius: 6px;

  padding: 5px 10px;

  font-size: 11px;

  font-weight: 800;

  color: #1a1a1a;

  max-width: 80%;
}

.faculty-play-btn {

  position: absolute;

  left: 14px;

  bottom: 12px;

  z-index: 3;

  width: 38px;

  height: 38px;

  border-radius: 50%;

  background: var(--gold);

  color: #071323;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 13px;

  font-weight: 900;

  text-decoration: none;

  box-shadow: 0 10px 24px rgba(0,0,0,.28);

  transition: transform .25s ease,
   background .25s ease;
}

.faculty-play-btn:hover {

  transform: scale(1.08);

  background: #fff;
}

.faculty-card-body {

  padding: 16px 16px 18px;
}

.faculty-card-body h4 {

  font-family: var(--font-heading);

  font-weight: 700;

  font-size: 16px;

  color: #fff;

  margin-bottom: 6px;
}

.faculty-card-body p {

  font-size: 13px;

  color: rgba(255,255,255,.55);

  line-height: 1.5;
}

.faculty-feature-card {

  grid-row: span 1;
}

@media(max-width: 1024px) {

  .faculty-grid {

    grid-template-columns: repeat(2, 1fr);
  }

  .faculty-showcase-header {

    align-items: flex-start;
  }
}

@media(max-width: 700px) {

  #faculty {

    padding: 65px 20px;
  }

  .faculty-showcase-header {

    flex-direction: column;

    gap: 22px;

    margin-bottom: 28px;
  }

  .faculty-grid {

    grid-template-columns: 1fr;

    gap: 18px;
  }

  .faculty-card-img {

    height: 240px;
  }

  .btn-all-faculty {

    width: fit-content;
  }
}

#news {
  background:var(--offwhite);
  padding:80px 40px;
}

#news h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(24px,3vw,38px);
  color:var(--navy);
  margin-bottom:32px;
}

.news-tabs {
  display:flex;
  gap:8px;
  margin-bottom:36px;
  flex-wrap:wrap;
}

.news-tab {
  font-size:13px;
  font-weight:600;
  color:var(--gray);
  padding:9px 22px;
  border-radius:999px;
  border:1.5px solid #d1d5db;
  transition:all .2s;
  cursor:pointer;
  background:#fff;
}

.news-tab:hover {
  border-color:var(--teal);
  color:var(--teal);
}

.news-tab.active {
  background:var(--teal);
  color:#fff;
  border-color:var(--teal);
}

.news-panel {
  display:none;
}

.news-panel.active {
  display:block;
}

.news-cards-scroll {
  display:flex;
  gap:24px;
  overflow-x:auto;
  padding-bottom:16px;
  scrollbar-width:thin;
  scrollbar-color:var(--teal) transparent;
}

.news-card {
  flex-shrink:0;
  width:320px;
  background:#fff;
  border-radius:12px;
  border:1px solid #e5e7eb;
  overflow:hidden;
  transition:transform .3s,
  box-shadow .3s;
}

.news-card:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,.08);
}

.news-card-img {
  height:160px;
  background:linear-gradient(135deg,var(--navy),var(--royal));
  overflow:hidden;
}

.news-card-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.8;
}

.news-card-body {
  padding:18px;
}

.news-chips {
  display:flex;
  gap:8px;
  margin-bottom:10px;
  flex-wrap:wrap;
}

.chip {
  font-size:10px;
  font-weight:700;
  background:var(--offwhite);
  border:1px solid #d1d5db;
  color:#374151;
  padding:3px 10px;
  border-radius:999px;
  letter-spacing:.05em;
}

.chip-teal {
  background:rgba(58,138,133,.1);
  border-color:var(--teal);
  color:var(--teal);
}

.news-card-body h3 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:15px;
  color:var(--navy);
  margin-bottom:8px;
  line-height:1.35;
}

.news-card-body p {
  font-size:13px;
  color:var(--gray);
  line-height:1.6;
  margin-bottom:12px;
}

.news-card-body a {
  font-size:13px;
  font-weight:600;
  color:var(--teal);
  display:inline-flex;
  align-items:center;
  gap:4px;
}

@media(max-width:600px) {
  #news {
    padding:60px 20px;
  }
}

#placement-report {
  background:var(--charcoal);
  padding:80px 40px;
}

.report-header {
  text-align:center;
  margin-bottom:52px;
}

.report-header h2 {
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(26px,3.5vw,42px);
  color:#fff;
}

.report-header h2 em {
  font-family:var(--font-serif);
  font-style:italic;
  color:var(--gold);
}

.report-header p {
  font-size:15px;
  color:var(--gray);
  margin:12px auto 28px;
  max-width:560px;
}

.btn-download {
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:2px solid rgba(255,255,255,.4);
  color:#fff;
  font-size:14px;
  font-weight:700;
  padding:14px 32px;
  border-radius:999px;
  transition:border-color .2s,
  background .2s;
}

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

.report-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1100px;
  margin:0 auto;
}

.report-card {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:28px;
  backdrop-filter:blur(4px);
}

.report-card h3 {
  font-size:13px;
  font-weight:600;
  color:var(--gray);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:16px;
}

.report-stat {
  font-family:var(--font-display);
  font-weight:800;
  font-size:40px;
  color:var(--gold);
  margin-bottom:8px;
}

.report-stat-label {
  font-size:13px;
  color:rgba(255,255,255,.5);
}

.report-chart-area {
  height:120px;
  margin:20px 0 8px;
  position:relative;
}

@media(max-width:900px) {
  .report-cards {
    grid-template-columns:1fr;
  }
}

@media(max-width:600px) {
  #placement-report {
    padding:60px 20px;
  }
}

footer {
  background:var(--navy);
  padding:60px 40px 32px;
  color:rgba(255,255,255,.65);
}

.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 2fr;
  gap:40px;
  margin-bottom:40px;
}

.footer-brand .nav-logo {
  margin-bottom:16px;
}

.footer-brand p {
  font-size:14px;
  line-height:1.7;
  max-width:280px;
}

.footer-col h4 {
  font-size:13px;
  font-weight:700;
  color:#fff;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:16px;
}

.footer-col a {
  display:block;
  font-size:14px;
  color:rgba(255,255,255,.55);
  margin-bottom:10px;
  transition:color .2s;
}

.footer-col a:hover {
  color:#fff;
}

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  font-size:13px;
}

.footer-bottom a {
  color:rgba(255,255,255,.4);
  transition:color .2s;
}

.footer-bottom a:hover {
  color:#fff;
}

@media(max-width:900px) {
  .footer-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:580px) {

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

  footer {
    padding:48px 20px 24px;
  }
}

#whatsapp-btn {
  position:fixed;
  bottom:32px;
  right:32px;
  z-index:900;
  display:flex;
  align-items:center;
  gap:10px;
  background:#25D366;
  color:#fff;
  font-size:13px;
  font-weight:700;
  padding:12px 12px 12px 12px;
  border-radius:999px;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  cursor:pointer;
  animation:whatsappPulse 2.5s infinite;
  transition:transform .2s;
}

#whatsapp-btn:hover {
  transform:scale(1.05);
}

#whatsapp-btn .wa-icon {
  font-size:20px;
}

@keyframes whatsappPulse {

  0%,
  100% {
    box-shadow:0 4px 20px rgba(37,211,102,.4);
  }

  50% {
    box-shadow:0 4px 32px rgba(37,211,102,.7);
  }
}

@media(max-width:480px) {
  #whatsapp-btn span.wa-label {
    display:none;
  }
}

.footer-social h4 {

    margin-bottom: 15px;

    font-weight: 600;
}

.social-links {

    display: flex;

    gap: 12px;

    flex-wrap: wrap;
}

.social-links a {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    background: rgba(255,255,255,0.1);

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    text-decoration: none;

    font-size: 18px;

    transition: all 0.3s ease;
}

.social-links a:hover {

    transform: translateY(-3px);

    background: #fff;

    color: #000;
}