/* ================================
   ITET COMPONENTS
   ================================ */

.language-switcher {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.lang-btn {
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.6);
  font-size: 0.7rem;
  font-weight: 700;
}

.lang-btn.active {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.hero-kicker {
  color: var(--cyan);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.72rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.hero-copy h1 {
  color: #fff;
  font-size: clamp(3.25rem, 6.4vw, 6rem);
  letter-spacing: -0.035em;
  max-width: 900px;
}

.hero-copy h1 em {
  color: var(--cyan);
  font-style: normal;
}

.hero-lead {
  margin: 1.5rem 0 2rem;
  color: rgba(255,255,255,.82);
  font-size: 1.15rem;
  max-width: 650px;
}

.hero-actions,
.cta-actions {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 49px;
  padding: 0.75rem 1.25rem;
  border-radius: 9px;
  border: 1px solid transparent;
  font-size: 0.82rem;
  font-weight: 700;
  transition: transform 0.25s ease, background 0.25s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,60,150,.22);
}

.button-secondary {
  background: #fff;
  color: var(--blue);
  border-color: var(--blue);
}

.button-outline {
  background: rgba(255,255,255,.06);
  color: #fff;
  border-color: rgba(255,255,255,.45);
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(255,255,255,.13);
  color: rgba(255,255,255,.74);
  font-size: 0.76rem;
}

.hero-meta span::before {
  content: "•";
  color: var(--cyan);
  margin-right: 0.45rem;
}

.hero-highlight {
  padding: 2rem;
  border-radius: var(--radius);
  background: rgba(0, 9, 36, 0.76);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
  color: #fff;
  animation: floatCard 6s ease-in-out infinite;
}

.highlight-badge {
  display: inline-block;
  padding: 0.35rem 0.55rem;
  border-radius: 999px;
  background: rgba(84,201,232,.12);
  color: var(--cyan);
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 1rem;
}

.hero-highlight h2 {
  color: #fff;
  font-size: 2.1rem;
  margin-bottom: 0.8rem;
}

.hero-highlight p {
  color: rgba(255,255,255,.72);
  font-size: 0.88rem;
}

.hero-highlight a {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  margin-top: 1.2rem;
}

.quick-actions {
  position: relative;
  z-index: 4;
  margin-top: -2.1rem;
}

.quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.quick-card {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-height: 112px;
  padding: 1.3rem;
  border-right: 1px solid var(--line);
  transition: background 0.25s ease, transform 0.25s ease;
}

.quick-card:last-child {
  border-right: 0;
}

.quick-card:hover {
  background: #f9fbfe;
  transform: translateY(-2px);
}

.quick-icon,
.feature-symbol,
.step-icon,
.resource-icon,
.dark-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #edf4ff;
  color: var(--blue);
  font-size: 1.15rem;
  font-weight: 700;
}

.quick-card strong {
  display: block;
  color: var(--ink);
  font-size: 0.92rem;
}

.quick-card small {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  margin-top: 0.15rem;
}

.visual-card {
  position: relative;
}

.visual-card img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.visual-caption {
  position: absolute;
  left: -16px;
  bottom: 28px;
  background: #fff;
  padding: 1rem 1.15rem;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0,9,36,.15);
}

.visual-caption span {
  display: block;
  color: var(--blue);
  font-size: 0.66rem;
  font-weight: 700;
}

.visual-caption strong {
  color: var(--ink);
}

.section-copy h2,
.section-heading h2 {
  font-size: clamp(2.35rem, 4.6vw, 4rem);
  margin-bottom: 1.15rem;
}

.section-copy h2 span,
.section-heading h2 span {
  color: var(--blue);
}

.section-copy > p + p {
  margin-top: 1rem;
}

.feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
  margin: 2rem 0;
}

.feature-list article {
  padding: 1rem;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 13px;
}

.feature-list h3 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 0.9rem;
  margin: 0.7rem 0 0.35rem;
}

.feature-list p {
  font-size: 0.78rem;
}

.programme-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}

.programme-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 35px rgba(0,9,36,.08);
}

.programme-card img,
.programme-placeholder {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.programme-placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #dce8f7, #f7f9fc);
  color: var(--blue);
  font-weight: 700;
}

.programme-card-body {
  padding: 1.35rem;
}

.programme-card-body span {
  color: var(--blue);
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.programme-card-body h3 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 1.08rem;
  line-height: 1.25;
  margin: 0.55rem 0;
}

.programme-card-body p {
  font-size: 0.8rem;
}

.programme-card-body a {
  display: inline-block;
  margin-top: 1rem;
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 700;
}

.current-campaign {
  background: var(--navy);
  color: #fff;
  overflow: hidden;
}

.campaign-copy h2 {
  color: #fff;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.campaign-copy h2 span {
  color: var(--cyan);
}

.campaign-copy > p {
  color: rgba(255,255,255,.72);
  margin: 1.15rem 0;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1.4rem 0;
}

.pill-row span {
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.06);
  font-size: 0.68rem;
}

.campaign-visual img {
  width: 100%;
  height: 470px;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.centres-module {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0,9,36,.06);
}

.centres-placeholder {
  position: relative;
  min-height: 370px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #dce8f7, #f8fbfe);
}

.centres-placeholder-copy {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 430px;
  padding: 2rem;
}

.centres-placeholder-copy small {
  display: block;
  color: var(--blue);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.centres-placeholder-copy strong {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2rem;
  color: var(--ink);
  margin: 0.4rem 0;
}

.centre-pulse {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 8px rgba(0,60,150,.12);
}

.p1 { left: 20%; top: 22%; }
.p2 { left: 54%; top: 25%; }
.p3 { left: 72%; top: 44%; }
.p4 { left: 34%; top: 56%; }
.p5 { left: 58%; top: 72%; }
.p6 { left: 18%; top: 77%; }

.centres-info {
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.centres-info h3 {
  font-size: 2.2rem;
  margin-bottom: 0.8rem;
}

.centres-info p {
  margin-bottom: 1.4rem;
}

.dark-feature-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 1rem;
}

.dark-heading {
  padding: 1.7rem;
}

.dark-heading h2 {
  font-size: 3rem;
}

.dark-heading h2 span {
  color: var(--cyan);
}

.dark-feature {
  padding: 1.7rem;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
  border-radius: 14px;
}

.dark-icon {
  background: rgba(84,201,232,.12);
  color: var(--cyan);
}

.dark-feature h3 {
  font-family: Helvetica, Arial, sans-serif;
  margin: 2rem 0 0.5rem;
}

.dark-feature p {
  color: rgba(255,255,255,.66);
  font-size: 0.8rem;
}

.news-feature {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border-radius: var(--radius);
}

.news-feature img,
.news-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.news-feature img {
  object-fit: cover;
}

.news-overlay {
  background: linear-gradient(to top, rgba(0,9,36,.95), rgba(0,9,36,.08));
}

.news-feature-copy {
  position: absolute;
  z-index: 2;
  left: 1.7rem;
  right: 1.7rem;
  bottom: 1.6rem;
  color: #fff;
}

.news-feature-copy span,
.news-card span {
  color: var(--cyan);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.news-feature-copy h3 {
  color: #fff;
  font-size: 1.9rem;
  margin: 0.5rem 0;
}

.news-feature-copy p {
  color: rgba(255,255,255,.72);
  font-size: 0.8rem;
}

.news-side {
  display: grid;
  gap: 1.2rem;
}

.news-card {
  padding: 1.6rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.news-card h3 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 1.2rem;
  margin: 0.5rem 0;
}

.news-card p {
  font-size: 0.8rem;
}

.news-card a {
  display: inline-block;
  margin-top: 1rem;
  color: var(--blue);
  font-size: 0.76rem;
  font-weight: 700;
}

.news-card-dark {
  background: var(--navy);
  color: #fff;
  border-color: transparent;
}

.news-card-dark h3 {
  color: #fff;
}

.news-card-dark p {
  color: rgba(255,255,255,.66);
}

.news-card-dark a {
  color: var(--cyan);
}

.gallery-preview {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 0.9fr;
  grid-auto-rows: 210px;
  gap: 0.8rem;
}

.gallery-tile {
  overflow: hidden;
  border-radius: 14px;
}

.gallery-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.gallery-tile:hover img {
  transform: scale(1.04);
}

.gallery-tall {
  grid-row: span 2;
}

.gallery-wide {
  grid-column: span 2;
}

.cta-strip {
  padding: 3.5rem 0;
  background: var(--blue);
  color: #fff;
}

.cta-strip-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.cta-strip p {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.cta-strip h2 {
  color: #fff;
  font-size: 2.4rem;
  margin-top: 0.2rem;
}

.site-footer {
  padding: 4.5rem 0 1.2rem;
  background: var(--navy);
  color: rgba(255,255,255,.68);
}

.footer-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  padding: 4px;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 1rem;
}

.footer-brand h3 {
  color: #fff;
  font-size: 1.2rem;
  margin-bottom: 0.6rem;
}

.footer-grid h4 {
  color: #fff;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 0.82rem;
  margin-bottom: 0.9rem;
}

.footer-grid a,
.footer-grid p {
  display: block;
  font-size: 0.76rem;
  margin-bottom: 0.55rem;
}

.social-links {
  display: flex;
  gap: 0.45rem;
  margin-top: 1rem;
}

.social-links a {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  margin: 0;
}

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

.footer-bottom div {
  display: flex;
  gap: 1rem;
}

.search-panel {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  place-items: start center;
  padding-top: 10vh;
  background: rgba(0,9,36,.82);
}

.search-panel.open {
  display: grid;
}

.search-dialog {
  position: relative;
  width: min(760px, 92%);
  padding: 2rem;
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}

.search-close {
  position: absolute;
  right: 1rem;
  top: 0.7rem;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 2rem;
}

.search-dialog h2 {
  font-size: 2.2rem;
  margin-bottom: 1rem;
}

.search-dialog input {
  width: 100%;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.search-results {
  display: grid;
  gap: 0.5rem;
  margin-top: 1rem;
}

.search-result {
  padding: 0.8rem 1rem;
  background: var(--soft);
  border-radius: 8px;
}

.search-result strong {
  display: block;
  color: var(--ink);
}

@keyframes floatCard {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}


/* =====================================================
   PROFESSIONAL HEADER REFINEMENT
   ===================================================== */
.utility-shell{width:min(1480px,95%);margin-inline:auto}.navbar-shell{width:min(1480px,95%);margin-inline:auto}.navbar{min-height:82px;gap:1.1rem}.brand{min-width:265px}.brand-logo{width:52px;height:52px;border-radius:12px;box-shadow:0 8px 22px rgba(0,9,36,.16)}.brand-text strong{font-size:.82rem;line-height:1.08;white-space:nowrap}.main-nav{gap:1.05rem;justify-content:center}.main-nav>a,.nav-dropdown-toggle{font-size:.75rem;white-space:nowrap;letter-spacing:-.01em}.nav-dropdown-toggle{display:flex;align-items:center;gap:.35rem}.nav-dropdown-toggle svg{width:10px;height:7px;transition:transform .25s}.nav-dropdown:hover .nav-dropdown-toggle svg{transform:rotate(180deg)}.nav-actions{margin-left:.2rem;gap:.55rem}.search-button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;padding:0;background:rgba(255,255,255,.07);transition:.25s}.search-button svg{width:18px;height:18px}.search-button:hover{background:#fff;color:var(--blue);transform:translateY(-1px)}.nav-cta{height:42px;display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;padding:0 1rem;border-radius:999px;box-shadow:0 8px 22px rgba(0,9,36,.16);transition:.25s}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,9,36,.2)}.nav-cta-arrow{font-size:1rem}.utility-inner{min-height:34px}.utility-actions{gap:1.2rem}

/* =====================================================
   WHY ITET — PREMIUM EXPERIENCE
   ===================================================== */
.why-wow-section{position:relative;overflow:hidden;padding:8rem 0;background:linear-gradient(135deg,#000924 0%,#061a46 48%,#003c96 140%);color:#fff}.why-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 95%)}.why-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.why-orb-one{width:420px;height:420px;right:-130px;top:-80px;background:radial-gradient(circle,rgba(84,201,232,.22),transparent 65%);animation:whyDrift 10s ease-in-out infinite}.why-orb-two{width:360px;height:360px;left:-140px;bottom:-150px;background:radial-gradient(circle,rgba(0,60,150,.52),transparent 65%);animation:whyDrift 12s ease-in-out infinite reverse}.why-wow-layout{position:relative;z-index:2;display:grid;grid-template-columns:.78fr 1.22fr;gap:4.5rem;align-items:center}.why-wow-intro h2{font-size:clamp(3rem,5vw,5rem);color:#fff;letter-spacing:-.03em}.why-wow-intro h2 span{color:var(--cyan)}.why-intro-text{margin:1.35rem 0 1.5rem;color:rgba(255,255,255,.7);font-size:1rem}.why-link{color:#fff;font-weight:700;font-size:.82rem}.why-link b{color:var(--cyan);margin-left:.35rem}.why-emblem{width:76px;height:76px;position:relative;margin-bottom:1.8rem;border-radius:24px;border:1px solid rgba(84,201,232,.28);background:linear-gradient(145deg,rgba(84,201,232,.15),rgba(255,255,255,.03));box-shadow:inset 0 0 30px rgba(84,201,232,.08),0 18px 45px rgba(0,0,0,.18)}.why-emblem span{position:absolute;background:var(--cyan);border-radius:999px}.why-emblem span:nth-child(1){width:34px;height:3px;left:21px;top:20px}.why-emblem span:nth-child(2){width:3px;height:33px;left:29px;top:29px}.why-emblem span:nth-child(3){width:3px;height:33px;right:29px;top:29px}.why-wow-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.why-wow-card{position:relative;min-height:245px;padding:1.55rem;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));backdrop-filter:blur(12px);transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}.why-wow-card:hover{transform:translateY(-8px);border-color:rgba(84,201,232,.38);background:linear-gradient(145deg,rgba(84,201,232,.12),rgba(255,255,255,.035));box-shadow:0 24px 55px rgba(0,0,0,.2)}.why-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:rgba(84,201,232,.11);border:1px solid rgba(84,201,232,.18);color:var(--cyan);font-size:1.15rem}.why-card-line{width:32px;height:2px;margin:1.4rem 0 1rem;background:linear-gradient(90deg,var(--cyan),transparent)}.why-wow-card h3{font-family:Helvetica,Arial,sans-serif;color:#fff;font-size:1.05rem;margin-bottom:.55rem}.why-wow-card p{max-width:34ch;color:rgba(255,255,255,.64);font-size:.8rem}.why-card-watermark{position:absolute;right:-4px;bottom:6px;color:rgba(255,255,255,.035);font-size:1.8rem;font-weight:700;letter-spacing:.08em;pointer-events:none}.why-wow-card:hover .why-card-watermark{color:rgba(84,201,232,.075)}@keyframes whyDrift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-18px,12px,0)}}

/* =====================================================
   PREMIUM GALLERY PREVIEW
   ===================================================== */
.premium-gallery-preview{grid-template-columns:1.18fr .82fr .82fr;grid-auto-rows:220px}.premium-gallery-preview .gallery-tile{position:relative}.premium-gallery-preview .gallery-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,9,36,.82),transparent 62%);opacity:.7;transition:.35s}.premium-gallery-preview .gallery-tile:hover::after{opacity:.9}.gallery-overlay{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;color:#fff;transform:translateY(4px);transition:.35s}.gallery-overlay small{display:block;color:var(--cyan);font-size:.62rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.gallery-overlay strong{display:block;margin-top:.2rem;font-size:.9rem}.gallery-tile:hover .gallery-overlay{transform:translateY(0)}


/* --------------------------------
   OFFICIAL-STYLE SOCIAL BRAND COLOURS
   -------------------------------- */
.social-links a {
  color: #fff;
  border: 0;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.18);
  font-family: Helvetica, Arial, sans-serif;
  font-weight: 700;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.social-links a:hover {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 11px 24px rgba(0, 0, 0, 0.25);
  filter: brightness(1.06);
}

.social-facebook { background: #1877F2; }
.social-instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0 5%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.social-linkedin { background: #0A66C2; }
.social-youtube { background: #FF0000; }
.social-tiktok {
  background: #000;
  text-shadow: -1px 0 #25F4EE, 1px 0 #FE2C55;
}


/* Current navigation page */
.main-nav > a.nav-current::after {
  width: 100%;
}

.main-nav > a.nav-current {
  color: #fff;
}


/* =====================================================
   PREMIUM ITET FOOTER
   ===================================================== */

.site-footer {
  position: relative;
  overflow: hidden;
  padding: 0;
  background:
    linear-gradient(180deg, #000924 0%, #020d2a 100%);
  color: rgba(255, 255, 255, 0.72);
}

.footer-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(5px);
}

.footer-glow-one {
  width: 460px;
  height: 460px;
  right: -180px;
  top: -170px;
  background: radial-gradient(circle, rgba(0, 60, 150, 0.24), transparent 66%);
}

.footer-glow-two {
  width: 360px;
  height: 360px;
  left: -160px;
  bottom: -180px;
  background: radial-gradient(circle, rgba(84, 201, 232, 0.11), transparent 68%);
}

.footer-topline {
  position: relative;
  z-index: 2;
  min-height: 170px;
  padding-block: 2.3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-kicker {
  color: var(--cyan);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.footer-topline h2 {
  margin-top: 0.35rem;
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3rem);
}

.footer-topline h2 span {
  color: var(--cyan);
}

.footer-cta {
  min-height: 48px;
  padding: 0.75rem 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 700;
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.footer-cta:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(84, 201, 232, 0.3);
}

.footer-grid-premium {
  position: relative;
  z-index: 2;
  padding: 3.6rem 0 3rem;
  grid-template-columns: 1.55fr 0.8fr 0.9fr 1.15fr;
  align-items: start;
}

.footer-brand {
  max-width: 420px;
}

.footer-brand-lockup {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.footer-logo {
  width: 68px;
  height: 68px;
  flex: 0 0 68px;
  object-fit: contain;
  padding: 4px;
  margin: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.footer-brand h3 {
  max-width: 300px;
  margin: 0.1rem 0 0.5rem;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.14;
}

.footer-brand-lockup p {
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.74rem;
}

.footer-social-block {
  margin-top: 1.7rem;
}

.footer-social-block > span {
  display: block;
  margin-bottom: 0.7rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-column h4 {
  position: relative;
  margin-bottom: 1.1rem;
  padding-bottom: 0.65rem;
  color: #fff;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 0.78rem;
}

.footer-column h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28px;
  height: 2px;
  background: var(--cyan);
}

.footer-column > a,
.footer-column > p {
  display: block;
  margin-bottom: 0.62rem;
  color: rgba(255, 255, 255, 0.66);
  font-size: 0.74rem;
  transition: color 0.2s ease, transform 0.2s ease;
}

.footer-column > a:hover {
  color: #fff;
  transform: translateX(3px);
}

.footer-contact > a {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.footer-contact > a i {
  width: 18px;
  color: var(--cyan);
  text-align: center;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.social-links a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
  font-size: 0.92rem;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    filter 0.22s ease;
}

.social-links a:hover {
  transform: translateY(-4px) scale(1.06);
  box-shadow: 0 13px 28px rgba(0, 0, 0, 0.28);
  filter: brightness(1.08);
}

.social-facebook {
  background: #1877F2;
}

.social-instagram {
  background:
    radial-gradient(circle at 30% 107%, #fdf497 0 5%, #fd5949 42%, #d6249f 63%, #285AEB 94%);
}

.social-linkedin {
  background: #0A66C2;
}

.social-youtube {
  background: #FF0000;
}

.social-tiktok {
  position: relative;
  background: #000;
}

.social-tiktok i {
  position: relative;
  z-index: 2;
}

.social-tiktok::before,
.social-tiktok::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  opacity: 0.55;
  filter: blur(5px);
}

.social-tiktok::before {
  left: 6px;
  top: 7px;
  background: #25F4EE;
}

.social-tiktok::after {
  right: 6px;
  bottom: 7px;
  background: #FE2C55;
}

.footer-bottom {
  position: relative;
  z-index: 2;
  min-height: 66px;
  margin-top: 0;
  padding: 1.1rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.52);
}

.footer-bottom a {
  color: rgba(255, 255, 255, 0.58);
}

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

@media (max-width: 1000px) {
  .footer-grid-premium {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.2rem;
  }

  .footer-brand {
    max-width: none;
  }
}

@media (max-width: 650px) {
  .footer-topline {
    min-height: auto;
    flex-direction: column;
    align-items: flex-start;
    padding-block: 2rem;
  }

  .footer-topline h2 {
    font-size: 2rem;
  }

  .footer-grid-premium {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.7rem 0 2.4rem;
  }

  .footer-brand-lockup {
    flex-direction: column;
  }

  .footer-brand h3 {
    max-width: none;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* =====================================================
   SMART GLOBAL SEARCH RESULTS
   ===================================================== */

.search-dialog {
  width: min(780px, 92%);
}

.search-results {
  max-height: 54vh;
  overflow-y: auto;
  padding-right: 0.15rem;
}

.smart-search-group + .smart-search-group {
  margin-top: 1rem;
}

.smart-search-group h3 {
  margin: 0 0 0.45rem;
  color: var(--muted);
  font-family: Helvetica, Arial, sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.smart-search-result {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.78rem 0.85rem;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--soft);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease;
}

.smart-search-result + .smart-search-result {
  margin-top: 0.42rem;
}

.smart-search-result:hover {
  transform: translateX(3px);
  border-color: rgba(0, 60, 150, 0.18);
  background: #fff;
}

.smart-search-result-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-weight: 700;
}

.smart-search-result-icon.page {
  background: #edf4ff;
  color: var(--blue);
}

.smart-search-result-icon.programme {
  background: var(--blue);
  color: #fff;
}

.smart-search-result-copy {
  min-width: 0;
}

.smart-search-result-copy strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.smart-search-result-copy small {
  display: block;
  margin-top: 0.08rem;
  color: var(--muted);
  font-size: 0.65rem;
}

.smart-search-result-arrow {
  color: var(--blue);
  font-weight: 700;
}

.smart-search-result mark {
  padding: 0;
  background: rgba(84, 201, 232, 0.25);
  color: inherit;
}

.smart-search-hint,
.smart-search-empty {
  padding: 1rem;
  border: 1px dashed #b6c5d8;
  border-radius: 10px;
  background: #fafcff;
  color: var(--muted);
  font-size: 0.76rem;
}

.smart-search-empty strong {
  display: block;
  margin-bottom: 0.18rem;
  color: var(--ink);
}

.smart-search-empty span {
  display: block;
}

@media (max-width: 620px) {
  .search-dialog {
    padding: 1.25rem;
  }

  .search-dialog h2 {
    font-size: 1.7rem;
  }

  .smart-search-result {
    grid-template-columns: 34px 1fr auto;
    padding: 0.7rem;
  }

  .smart-search-result-icon {
    width: 34px;
    height: 34px;
  }
}


/* =====================================================
   ACTIVE NAVIGATION STATE
   ===================================================== */

.main-nav > a.nav-current {
  color: #fff;
}

.main-nav > a.nav-current::after {
  width: 100%;
}

.nav-dropdown.nav-current-dropdown > .nav-dropdown-toggle {
  color: #fff;
}

.nav-dropdown.nav-current-dropdown > .nav-dropdown-toggle::after {
  width: 100%;
}

.nav-dropdown-menu a.dropdown-current {
  background: var(--soft);
  color: var(--blue);
  font-weight: 700;
}

@media (max-width: 930px) {
  .main-nav > a.nav-current {
    color: var(--cyan);
  }

  .nav-dropdown.nav-current-dropdown > .nav-dropdown-toggle {
    color: var(--cyan);
  }
}


/* ==========================================================
   ITET v5 — OFFICIAL BRAND LOCKUPS & MICRO-INTERACTIONS
   ========================================================== */

.brand.brand-official {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand-logo-horizontal {
  width: clamp(210px, 18vw, 295px);
  max-height: 64px;
  object-fit: contain;
  object-position: left center;
}

.footer-logo-official {
  width: min(210px, 100%);
  height: auto;
  max-height: 150px;
  object-fit: contain;
  object-position: left center;
}

/* Smooth interactive feedback without making the site feel animated for its own sake */
.button,
.nav-cta,
.quick-card,
.home-journey-card,
.why-wow-card,
.news-card,
.programme-card,
.resource-grid article,
.admission-steps article {
  transition:
    transform .25s ease,
    box-shadow .3s ease,
    border-color .3s ease,
    background-color .3s ease;
}

.button:hover,
.nav-cta:hover {
  transform: translateY(-2px);
}

.quick-card:hover,
.home-journey-card:hover,
.why-wow-card:hover,
.news-card:hover,
.programme-card:hover,
.resource-grid article:hover,
.admission-steps article:hover {
  transform: translateY(-5px);
}

/* Visible keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(84,201,232,.72);
  outline-offset: 3px;
}


/* ITET v6 — header brand */
.brand.brand-official {
  min-width: 260px;
  gap: .78rem;
}

.brand-logo-symbol {
  width: 52px;
  height: 52px;
  padding: 6px;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
}

.brand-text-official {
  display: grid;
  gap: .04rem;
  color: #fff;
}

.brand-text-official strong {
  font-family: Helvetica, Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.05;
}

.site-header {
  background: linear-gradient(90deg, #003c96 0%, #0b4fac 100%);
  box-shadow: 0 8px 24px rgba(0,9,36,.10);
}

.navbar {
  min-height: 86px;
}


/* ==========================================================
   ITET v6.6 — LAUNCH HEADER / NAV REFINEMENT
   ========================================================== */
.brand.brand-official {
  min-width: 290px;
  gap: .82rem;
}

.brand-logo-symbol {
  width: 54px !important;
  height: 54px !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 15px;
  background: #fff;
  object-fit: contain;
  transform: scale(1.34);
}

.brand-text-official strong {
  font-size: .84rem !important;
  line-height: 1.05;
  letter-spacing: -.012em;
}

.nav-dropdown {
  position: relative;
}

/* Invisible hover bridge stops the dropdown disappearing while the cursor moves downward. */
.nav-dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: -14px;
  right: -14px;
  height: 16px;
}

.nav-dropdown-menu {
  top: calc(100% + 10px) !important;
  left: -18px !important;
  min-width: 225px !important;
  display: grid !important;
  gap: .18rem;
  padding: .65rem !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-7px);
  pointer-events: none;
  border: 1px solid rgba(0,60,150,.08);
  box-shadow: 0 18px 46px rgba(0,9,36,.16) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 1000;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.nav-dropdown-menu a {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: .7rem .8rem !important;
}

/* Resource cards */
.resource-list article {
  border: 1px solid rgba(0,60,150,.10);
  box-shadow: 0 14px 38px rgba(0,9,36,.055);
}

.resource-download-button {
  white-space: nowrap;
}


/* ==========================================================
   ITET v6.8 — FINAL BRAND LOCKUP
   ========================================================== */
.brand.brand-official {
  min-width:300px;
  gap:.72rem;
}

.brand-logo-symbol {
  width:48px !important;
  height:58px !important;
  padding:0 !important;
  transform:none !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:0 !important;
  filter:brightness(0) invert(1);
}

.brand-text-official {
  gap:.02rem;
}

.brand-text-official strong {
  color:#fff;
  font-size:.80rem !important;
  font-weight:750;
  line-height:1.06;
}

.footer-symbol {
  width:64px !important;
  height:70px !important;
  padding:0 !important;
  object-fit:contain;
  background:transparent !important;
  filter:brightness(0) invert(1);
}
