/* ============================================================
   MAIN.CSS — Global Styles, Typography, Layout
   ============================================================ */

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

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  background-color: var(--bg-page);
  color: var(--text-primary);
  transition: background-color 0.35s ease, color 0.35s ease;
  overflow-x: hidden;
}

/* ── Typography ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  line-height: 1.3;
  color: var(--text-primary);
}
h1 { font-size: clamp(2rem, 4vw, 4rem); font-weight: 700; }
h2 { font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: 700; letter-spacing: -0.022em; }
h3 { font-size: clamp(1.2rem, 2vw, 1.75rem); }
h4 { font-size: 1.25rem; }

p { color: var(--text-secondary); margin-bottom: 1rem; }
a { color: var(--color-primary); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--color-accent); }

.text-accent  { color: var(--color-accent) !important; }
.text-gold    { color: var(--color-gold)   !important; }
.text-muted   { color: var(--text-muted)   !important; }
.text-primary-c { color: var(--color-primary) !important; }

/* ── Section Layout ──────────────────────────────────────── */
section { padding: 90px 0; }

.section-alt { background-color: var(--bg-section-alt); }

.section-header {
  text-align: center;
  margin-bottom: 3.5rem;
}
.section-header .tag {
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.3rem 0.9rem;
  border-radius: 50px;
}
.section-header h2 { margin-bottom: 1rem; }

.divider-line {
  width: 60px;
  height: 4px;
  background: var(--gradient-card);
  border-radius: 2px;
  margin: 1rem auto 0;
}

/* ── Tashkilot haqida qisqa blok ─────────────────────────── */
.section-org-brief {
  background: var(--bg-page);
  border-bottom: 1px solid var(--border-color);
  padding: 80px 0;
}
.orb-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.orb-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 1rem;
}
.orb-eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--color-accent);
  flex-shrink: 0;
}
.orb-title {
  color: var(--text-primary);
  margin-bottom: 1.25rem;
}
.orb-desc {
  margin-bottom: 1.5rem;
  max-width: 520px;
}
.orb-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
.orb-stat {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
@media (max-width: 991px) {
  .orb-wrap { grid-template-columns: 1fr; gap: 2.5rem; }
  .orb-desc { max-width: 100%; }
}
@media (max-width: 575px) {
  .orb-stats { grid-template-columns: 1fr 1fr; gap: 0.85rem; }
  .section-org-brief { padding: 60px 0; }
}
[data-theme="dark"] .section-org-brief { border-bottom-color: var(--border-card); }

/* ── Preloader ───────────────────────────────────────────── */
#preloader {
  position: fixed;
  inset: 0;
  background: var(--bg-page);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
#preloader.hide { opacity: 0; visibility: hidden; }

.preloader-logo {
  width: 90px;
  margin-bottom: 2rem;
  animation: pulseLogo 1.5s ease-in-out infinite;
}
.preloader-ring {
  width: 60px;
  height: 60px;
  border: 4px solid var(--border-color);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}

/* ── Navbar ──────────────────────────────────────────────── */
#mainNav {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 1000;
}

.nav-link-custom {
  transition: color 0.2s;
}
.nav-link-custom::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  width: 0; height: 2px;
  transition: width 0.3s, left 0.3s;
  border-radius: 1px;
}
.nav-link-custom:hover::after { width: 80%; left: 10%; }

/* Navbar on transparent (hero) — white links */

/* Dropdown — hover open on desktop */
@media (min-width: 992px) {
  .nav-item.dropdown:hover > .dropdown-menu-custom {
    display: block;
    animation: menuSlideDown 0.18s ease;
  }
}
/* Hide Bootstrap's default caret on nav links */
.nav-link-custom.dropdown-toggle::after { display: none !important; }

/* Navbar Controls */

/* Generic icon control button (lang, a11y, theme, hamburger) */
.btn-icon-ctrl.active { border-color: var(--color-primary); color: var(--color-primary); }

/* Small dropdown chevron inside control buttons */

/* Keep old btn-theme-toggle as alias */
.btn-theme-toggle { display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; padding: 0;
  background: transparent; border: 1.5px solid var(--border-color); border-radius: 8px;
  color: var(--text-primary); font-size: 1rem; cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s; }
.btn-theme-toggle:hover { border-color: var(--color-accent); color: var(--color-accent); }

/* Lang + a11y compact dropdown menus */
.nav-ctrl-menu {
  border-radius: 12px;
  background: var(--bg-card); border: 1px solid var(--border-card);
  box-shadow: var(--shadow-card-hover);
}
.nav-ctrl-menu .dropdown-item-custom { font-size: 0.8rem; padding: 0.45rem 0.7rem; gap: 0.5rem; }
.nav-ctrl-menu .lang-btn {
  display: flex; align-items: center; gap: 0.5rem;
  width: 100%; background: transparent; border: none;
  padding: 0.45rem 0.7rem; border-radius: 8px;
  font-size: 0.8rem; font-weight: 600; color: var(--text-secondary);
  cursor: pointer; transition: background 0.2s, color 0.2s;
}
.nav-ctrl-menu .lang-btn img { border-radius: 2px; }

/* Lang flag + code shown on toggle button */
.lang-flag-cur { border-radius: 2px; }
.lang-code-cur { font-size: 0.75rem; font-weight: 700; }

/* Settings menu (combined a11y + theme) */

/* Theme toggle row inside settings */

/* ── Mobile Side Drawer ───────────────────────────────────── */
#mobileMenu {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(360px, 90vw);
  background: var(--bg-card);
  z-index: 1100;
  transform: translateX(100%);
  transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
  display: flex; flex-direction: column;
  overflow: hidden;
  box-shadow: -12px 0 48px rgba(0,0,0,0.14);
  border-left: 1px solid var(--border-color);
}
#mobileMenu::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
}
#mobileMenu.open { transform: translateX(0); }

#mobileBackdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.45);
  z-index: 1099;
  opacity: 0; visibility: hidden;
  transition: opacity 0.38s ease, visibility 0.38s ease;
  backdrop-filter: blur(3px);
}
#mobileBackdrop.open { opacity: 1; visibility: visible; }

.mobile-menu-inner { display: flex; flex-direction: column; height: 100%; overflow: hidden; }

.mobile-menu-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.15rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  flex-shrink: 0;
}
.mobile-menu-close {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg-overlay); border: 1px solid var(--border-color); border-radius: 8px;
  font-size: 1rem; color: var(--text-primary); cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.mobile-menu-close:hover { background: var(--color-accent); color: #fff; border-color: var(--color-accent); }

.mobile-menu-body { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 0.5rem 1.5rem; }

.mobile-menu-foot {
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border-color);
  flex-shrink: 0; display: flex; flex-direction: column; gap: 0.75rem;
}
.mobile-menu-cta {
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  width: 100%; padding: 0.75rem 1rem;
  background: var(--color-primary); color: #fff;
  border: none; border-radius: 8px;
  font-size: 0.875rem; font-weight: 700;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
}
.mobile-menu-cta:hover { background: var(--color-accent); color: #fff; transform: translateY(-1px); }
.mobile-lang-row { display: flex; gap: 6px; }
.mobile-lang-row .lang-btn {
  display: flex; align-items: center; gap: 4px;
  flex: 1; justify-content: center;
  background: transparent; border: 1.5px solid var(--border-color); border-radius: 6px;
  padding: 0.32rem 0.2rem; font-size: 0.72rem; font-weight: 700; color: var(--text-muted); cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.mobile-lang-row .lang-btn:hover, .mobile-lang-row .lang-btn.active {
  border-color: var(--color-primary); color: var(--color-primary); background: var(--bg-overlay);
}

.mobile-nav-link {
  display: flex; align-items: center; width: 100%;
  padding: 0.85rem 0;
  font-size: 0.925rem; font-weight: 600;
  color: var(--text-primary);
  border: none; border-bottom: 1px solid var(--border-color);
  background: transparent; text-align: left; text-decoration: none;
  transition: color 0.2s, box-shadow 0.18s;
  cursor: pointer;
}
.mobile-nav-link:last-child { border-bottom: none; }
.mobile-nav-link:hover {
  color: var(--color-accent);
  box-shadow: inset 3px 0 0 var(--color-accent);
}
.mobile-nav-link.active {
  color: var(--color-accent);
  box-shadow: inset 3px 0 0 var(--color-accent);
}
.mobile-nav-link i.ms-auto { margin-left: auto !important; transition: transform 0.25s; opacity: 0.45; font-size: 0.8rem; }
.mobile-nav-toggle[aria-expanded="true"] i.ms-auto { transform: rotate(180deg); opacity: 0.7; }

.mobile-nav-group { border-bottom: 1px solid var(--border-color); }
.mobile-nav-group .mobile-nav-link { border-bottom: none; }

.mobile-nav-sub {
  display: none;
  padding: 0.15rem 0 0.65rem 1rem;
  border-left: 2px solid var(--border-color);
  margin: 0 0 0 0.75rem;
}
.mobile-nav-sub.open { display: block; }
.mobile-nav-sub a {
  display: block; padding: 0.4rem 0.5rem; font-size: 0.855rem;
  color: var(--text-muted); text-decoration: none; border-radius: 5px;
  transition: color 0.2s, background 0.18s;
}
.mobile-nav-sub a:hover { color: var(--color-primary); background: rgba(14,165,183,0.06); }

/* ── Hero Section ────────────────────────────────────────── */
.hero-section {
  display: flex;
  position: relative;
}

/* Video/Image background support */
.hero-video-bg video,
.hero-video-bg img {
  display: block;
}

/* Dot grid texture overlay */
.hero-grid-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

#particles-js {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.hero-overlay {
  position: absolute;
  inset: 0;
}

/* Hero row */

/* Hero visual (floating stat cards) */
.hero-visual {
  position: relative;
  height: 440px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-emblem {
  position: absolute;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: rgba(1,61,140,0.25);
  border: 1.5px solid rgba(0,180,216,0.35);
  backdrop-filter: blur(12px);
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  box-shadow: 0 0 60px rgba(0,180,216,0.2);
  animation: floatY 6s ease-in-out infinite;
}
.hero-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(0,180,216,0.15);
  pointer-events: none;
  animation: expandRing 4s ease-out infinite;
}
.hero-ring-1 { width: 220px; height: 220px; animation-delay: 0s; }
.hero-ring-2 { width: 340px; height: 340px; animation-delay: 1s; }
.hero-ring-3 { width: 460px; height: 460px; animation-delay: 2s; }

.hero-stat-pill {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: rgba(13,27,46,0.75);
  border: 1px solid rgba(0,180,216,0.25);
  border-radius: 16px;
  padding: 0.85rem 1.2rem;
  backdrop-filter: blur(16px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  min-width: 155px;
}
.hero-stat-pill i {
  font-size: 1.4rem;
  color: var(--color-accent);
  flex-shrink: 0;
}
.hero-stat-pill .n {
  display: block;
  font-size: 1.1rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.hero-stat-pill .l {
  display: block;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
  margin-top: 2px;
}
.hero-stat-1 { top: 10%;  left: 0;   animation: floatY  7s ease-in-out infinite; }
.hero-stat-2 { top: 42%;  right: 0;  animation: floatY  9s ease-in-out infinite reverse; }
.hero-stat-3 { bottom: 8%; left: 8%; animation: floatY 11s ease-in-out infinite; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(0,180,216,0.15);
  border: 1px solid rgba(0,180,216,0.35);
  color: var(--color-accent);
  border-radius: 50px;
  padding: 0.4rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 1.5rem;
  backdrop-filter: blur(8px);
}
.hero-title span { color: var(--color-accent); }
.hero-subtitle {
  font-weight: 400;
}
.hero-scroll-indicator {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ── Stats Strip ─────────────────────────────────────────── */
.stats-strip {
  padding: 48px 0;
}
.stats-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle,rgba(255,255,255,0.04) 1px,transparent 1px);
  background-size: 24px 24px;
  pointer-events: none;
}
.stat-item { text-align: center; padding: 1rem; }
.stat-number {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 800;
  color: #fff;
  line-height: 1;
  display: block;
}
.stat-suffix { color: var(--color-gold); }
.stat-label {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.72);
  font-weight: 500;
  margin-top: 0.5rem;
  display: block;
}
.stat-divider {
  width: 1px;
  height: 80px;
  background: rgba(255,255,255,0.2);
  margin: 0 auto;
}

/* ── Page Hero (inner pages) ─────────────────────────────── */
.page-hero {
  padding: 140px 0 70px;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  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.04'%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");
}
.page-hero h1 { color: #fff; margin-bottom: 0.5rem; }
.breadcrumb-custom { background: none; padding: 0; margin: 0; }
.breadcrumb-custom .breadcrumb-item { color: rgba(255,255,255,0.65); font-size: 0.875rem; }
.breadcrumb-custom .breadcrumb-item a { color: rgba(255,255,255,0.65); }
.breadcrumb-custom .breadcrumb-item a:hover { color: #fff; }
.breadcrumb-custom .breadcrumb-item.active { color: #fff; }
.breadcrumb-custom .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.4); }

/* ── Back to Top ─────────────────────────────────────────── */
#backToTop {
  position: fixed;
  z-index: 900;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.3s, transform 0.3s, background 0.2s;
}
#backToTop.visible { opacity: 1; transform: translateY(0); }

/* ── Footer ──────────────────────────────────────────────── */
footer {
  color: rgba(255,255,255,0.65);
  padding-top: 0;
}
.footer-wave {
  display: block;
  width: 100%;
  height: 70px;
}
.footer-brand img { height: 52px; margin-bottom: 1rem; filter: brightness(10); }
.footer-links { list-style: none; padding: 0; }
.footer-bottom {
  text-align: center;
  font-size: 0.8rem;
}

/* ── Map iframe ──────────────────────────────────────────── */
.map-iframe {
  width: 100%;
  height: 180px;
  border: 0;
  border-radius: 12px;
  filter: grayscale(40%) opacity(0.8);
}

/* ── Utility ─────────────────────────────────────────────── */
.container-xl-custom { max-width: 1320px; margin: 0 auto; padding: 0 1.5rem; }
.glow-primary { box-shadow: 0 0 30px rgba(1,61,140,0.25); }
.glow-accent  { box-shadow: 0 0 30px rgba(0,180,216,0.25); }
.rounded-xl   { border-radius: 16px !important; }
.rounded-2xl  { border-radius: 24px !important; }

/* Responsive */
@media (max-width: 991.98px) {
  section { padding: 56px 0; }
  .desktop-only { display: none !important; }
  #mainNav:not(.scrolled) .nav-link-custom,
  #mainNav:not(.scrolled) .navbar-brand { filter: none; }
  .hero-visual { height: 280px; }
}
@media (max-width: 767.98px) {
  section { padding: 44px 0; }
  .stats-strip { padding: 36px 0; }
  .stat-divider { display: none; }
  .utility-bar { display: none; }
}

/* ============================================================
   UTILITY BAR
   ============================================================ */
.utility-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  display: flex;
  align-items: center;
  z-index: 1001;
}
.utility-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.utility-bar-left {
  display: flex;
  align-items: center;
}
.utility-official-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--color-gold);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.utility-official-tag i { font-size: 0.68rem; }
.utility-ministry-link {
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
}
.utility-bar-right {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.utility-doc-link {
  text-decoration: none;
  padding: 0 0.25rem;
  transition: color 0.2s;
}

/* ============================================================
   NAVBAR — BRAND TEXT + APPLY CTA
   ============================================================ */
.navbar-brand {
  display: flex !important;
  align-items: center;
  text-decoration: none;
}
.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.brand-tagline {
  text-transform: uppercase;
  margin-top: 2px;
}
/* On transparent hero: brand text turns white via parent filter */

.btn-apply-nav {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--color-gold);
  color: #1a1a2e !important;
  border: none;
  border-radius: 6px;
  padding: 0.42rem 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  white-space: nowrap;
  filter: none !important;
}

/* ============================================================
   HERO — NEW COMPONENTS
   ============================================================ */

/* Eyebrow label */
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 1.4rem;
}
.eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

/* Pipeline strip */
.hero-pipeline span {
  font-size: 0.66rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.hero-pipeline i {
  color: rgba(255,255,255,0.2);
  font-size: 0.55rem;
}

/* Tertiary text link */
.hero-tertiary-link {
  display: inline-block;
  margin-top: 1rem;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  letter-spacing: 0.03em;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}
.hero-tertiary-link:hover {
  color: var(--color-gold);
  border-bottom-color: var(--color-gold);
}

/* Hero image frame */
.hero-image-frame {
  width: 100%;
  overflow: hidden;
}
.hero-image-frame img {
  width: 100%;
  object-fit: cover;
  display: block;
}

/* Upcoming programs card */
.hero-upcoming-card {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(5,12,28,0.9);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 14px 18px;
  min-width: 220px;
}
.upcoming-card-title {
  font-size: 0.67rem;
  font-weight: 700;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.upcoming-card-title i { color: var(--color-gold); font-size: 0.7rem; }
.upcoming-card-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.upcoming-card-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
}
.upc-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}
.upc-dot--green { background: #22c55e; }
.upc-dot--gold  { background: var(--color-gold); }
.upc-dot--blue  { background: var(--color-accent); }

/* ============================================================
   INSTITUTIONAL REDESIGN v2 — Premium Official Platform
   ============================================================ */

/* ── Navbar: refined deep navy ─────────────────────────────── */
#mainNav {
  padding: 0.82rem 0 !important;
}
#mainNav.scrolled {
  border-bottom-color: rgba(50,90,180,0.22) !important;
}

/* Disable filter hacks — dark navbar handles text color directly */
#mainNav .nav-link-custom,
#mainNav .navbar-brand,
#mainNav .btn-icon-ctrl,
#mainNav:not(.scrolled) .nav-link-custom,
#mainNav:not(.scrolled) .navbar-brand,
#mainNav:not(.scrolled) .btn-icon-ctrl { filter: none !important; }

/* Nav links on dark blue navbar */

/* Brand identity — strong and clear */
.brand-name {
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em !important;
}
#mainNav:not(.scrolled) .brand-name { color: #ffffff !important; }
#mainNav:not(.scrolled) .brand-tagline { color: rgba(160,195,255,0.50) !important; }

/* Navbar controls on blue-navy background */
.btn-icon-ctrl:hover {
  border-color: rgba(100,155,240,0.40) !important;
}
.btn-icon-ctrl[aria-expanded="true"] {
  border-color: rgba(100,155,240,0.45) !important;
}
.nav-caret { color: rgba(160,195,255,0.45) !important; }

/* Dropdown menus — white panels from dark navbar */
.dropdown-menu-custom,
.nav-ctrl-menu {
  background: #ffffff !important;
  border: 1px solid rgba(210,225,245,0.85) !important;
  box-shadow: 0 4px 12px rgba(8,24,60,0.10), 0 16px 40px rgba(8,24,60,0.14) !important;
  border-radius: 10px !important;
}
.nav-ctrl-menu { min-width: 160px !important; }
.nav-ctrl-menu .lang-btn { color: #1A2B45 !important; }
.nav-ctrl-menu .lang-btn:hover,
.nav-ctrl-menu .lang-btn.active {
  background: #F2F6FC !important;
  color: #0C2340 !important;
}
.settings-menu { min-width: 230px !important; }
.btn-fs:hover, .btn-fs.active {
  color: #0C2340 !important;
  border-color: #0C2340 !important;
  background: #F2F6FC !important;
}
.dropdown-divider { border-color: #EEF1F6 !important; }
/* Reading mode item */

/* ── Utility Bar: darker than navbar for clear visual layering ── */
.utility-ministry-link {
  font-size: 0.67rem !important;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.utility-contact-item {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
}
.utility-bar-left { gap: 0.55rem !important; flex-wrap: nowrap; }

/* ── Hero Section: premium deep navy ───────────────────────── */
.hero-section {
  border-bottom: none !important;
  overflow: hidden !important;
  align-items: center !important;
}
/* Subtle dot grid on hero */
.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero-row {
  min-height: 0 !important;
  width: 100% !important;
}

@media (max-width: 767.98px) {
  .hero-section { min-height: 100svh !important; }
}

.hero-eyebrow {
  font-size: 0.8125rem !important;
  letter-spacing: 0.12em !important;
}

/* Pipeline: numbered step pills */
.hero-pipeline {
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px 5px !important;
  padding: 16px 0 !important;
  border-top: 1px solid rgba(60,110,220,0.20) !important;
  border-bottom: 1px solid rgba(60,110,220,0.20) !important;
  margin: 26px 0 32px !important;
}
.hero-pipeline .step-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(80,140,230,0.22);
  border-radius: 5px;
  padding: 5px 12px 5px 6px;
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 0.2s, border-color 0.2s;
}
.hero-pipeline .step-num {
  width: 17px; height: 17px;
  border-radius: 50%;
  font-size: 0.56rem;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-style: normal;
  font-family: 'Montserrat', sans-serif;
  line-height: 1;
}
.hero-pipeline > i {
  font-size: 0.5rem !important;
}

/* Hero image frame: premium atmospheric */
.hero-image-frame {
  border-radius: 8px !important;
  border: 1px solid rgba(60,120,220,0.14) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,0.60), 0 4px 18px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.04) !important;
  position: relative;
}
.hero-image-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 50%, rgba(6,15,34,0.65) 100%);
  border-radius: 8px;
  pointer-events: none;
}
.hero-image-frame img {
  height: 440px !important;
  filter: brightness(0.82) saturate(1.08) contrast(1.04) !important;
}

/* Hero CTA buttons on dark background */

/* ── Section backgrounds — alternating institutional rhythm ──── */
/* dark hero → #F2F6FC pillars → white about → #F2F6FC programs
   → white directions → #F2F6FC timeline → white news
   → #F2F6FC partners → dark contact → dark footer            */

/* ── Pillar cards on light background ──────────────────────── */
.section-pillars .pillar-card {
  border-radius: 6px;
  height: 100%;
}
.pillar-num {
  font-weight: 800;
  line-height: 1;
  display: block;
  margin-bottom: 0.7rem;
  font-family: 'Montserrat', sans-serif;
}

/* ── Section header on light backgrounds ─────────────────────── */
.section-pillars .section-header h3,
.section-pillars .section-header h2 { color: #1A2B45; }

/* ── Contact CTA section ────────────────────────────────────── */
.section-contact-cta .section-header .tag {
  background: rgba(255,255,255,0.10) !important;
  color: rgba(255,255,255,0.65) !important;
}
.section-contact-cta .btn-primary-custom {
  border-color: rgba(255,255,255,0.28) !important;
}
.section-contact-cta .link-animated { color: rgba(255,255,255,0.75) !important; }
.section-contact-cta .link-animated:hover { color: #fff !important; }

/* ── Contact Info Block ────────────────────────────────────── */
.contact-info-card {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: 8px;
  height: 100%;
  box-shadow: var(--shadow-card);
}
.contact-info-icon {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: var(--bg-overlay);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  font-size: 1rem;
  flex-shrink: 0;
}
.contact-info-card h6 { font-size: 0.82rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.contact-info-card p  { font-size: 0.85rem; color: var(--text-muted); margin: 0; line-height: 1.5; }

/* ── Back to top: refined ───────────────────────────────────── */

/* ── Stats strip ───────────────────────────────────────────── */

/* ── Dark mode ──────────────────────────────────────────────── */
[data-theme="dark"] .hero-section {
  background: #04091A !important;
  background-image:
    radial-gradient(ellipse at 18% 60%, rgba(16,65,160,0.50) 0%, transparent 52%),
    radial-gradient(ellipse at 82% 22%, rgba(0,140,196,0.11) 0%, transparent 46%),
    radial-gradient(ellipse at 50% 90%, rgba(6,28,72,0.48) 0%, transparent 55%) !important;
}
[data-theme="dark"] .section-pillars    { background: var(--bg-section-alt) !important; }
[data-theme="dark"] .section-about     { background: var(--bg-page); }
[data-theme="dark"] .section-directions{ background: var(--bg-page); }
[data-theme="dark"] .direction-card {
  border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .dir-heading { color: #E8F0FE; }
[data-theme="dark"] .dir-sub { color: rgba(183,196,217,0.70); }
[data-theme="dark"] .section-timeline  { background: var(--bg-section-alt); }
[data-theme="dark"] .section-news      { background: var(--bg-page); }
[data-theme="dark"] .section-pillars .pillar-card {
  background: var(--bg-card);
  border-color: var(--border-card);
  border-top-color: var(--color-primary);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 991.98px) {
  #mainNav.scrolled { padding: 0.5rem 0 !important; }
  .hero-section { align-items: center !important; }
  .hero-row { min-height: 0 !important; padding: 96px 0 56px !important; align-items: flex-start !important; }
}
@media (max-width: 767.98px) {
  .hero-row { padding: 80px 0 48px !important; }
  .hero-image-frame img { height: 280px !important; }
}

/* ============================================================
   REDESIGN v3 — Premium Palette · Grain · Local Glow · Icons
   ============================================================ */

/* ── v3 Hero: new gradient background ─────────────────────── */

/* Grain texture on hero (::after — sits above dot grid) */
.hero-section::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  mix-blend-mode: overlay;
}
/* Ensure hero content stays above grain */

/* ── v3 Navbar: grain + glow border ──────────────────────── */
#mainNav {
  overflow: visible;
}
#mainNav::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  mix-blend-mode: overlay;
  opacity: 0.045;
}
/* Navbar bottom glow line */
#mainNav::after {
  height: 1px;
}

/* ── Utility bar: v3 ─────────────────────────────────────── */

/* ── v3 Text colors on dark backgrounds ──────────────────── */
.nav-link-custom::after { background: rgba(103,211,255,0.70) !important; }
.lang-code-cur { color: #F5F9FF !important; }

/* ── v3 Hero text colors ─────────────────────────────────── */
.hero-title {
  text-shadow: 0 2px 32px rgba(8,21,46,0.55) !important;
}

/* Step pills: v3 palette */
.hero-pipeline {
  border-top-color: rgba(56,127,187,0.24) !important;
  border-bottom-color: rgba(56,127,187,0.24) !important;
}
.hero-pipeline .step-pill {
  background: rgba(11,30,68,0.25) !important;
  border-color: rgba(103,211,255,0.26) !important;
  color: rgba(245,249,255,0.82) !important;
}
.hero-pipeline .step-pill:hover {
  background: rgba(11,30,68,0.40) !important;
  border-color: rgba(103,211,255,0.42) !important;
}
.hero-pipeline .step-num {
  background: rgba(56,127,187,0.40) !important;
  color: #F5F9FF !important;
}
.hero-pipeline > i { color: rgba(103,211,255,0.32) !important; }

/* Hero CTA: v3 */
.hero-section .btn-outline-primary-c {
  border-color: rgba(103,211,255,0.28) !important;
}

/* ── Footer: v3 deep navy + grain ───────────────────────── */
footer {
  position: relative;
  overflow: hidden;
}
footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
footer::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  mix-blend-mode: overlay;
}
.footer-wave, .footer-body, .footer-bottom { position: relative; z-index: 1; }

/* Footer text: v3 */

/* ── Contact CTA section: v3 ─────────────────────────────── */
.section-contact-cta {
  position: relative;
  overflow: hidden;
}
.section-contact-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-size: auto, auto, 200px 200px;
}
.section-contact-cta > .container { position: relative; z-index: 1; }
.section-contact-cta .contact-info-card {
  border-color: rgba(56,127,187,0.20) !important;
}

/* ── Direction icon containers: per-card gradient palette ─── */
.direction-card {
  border-color: rgba(11,30,68,0.10) !important;
}
.direction-icon {
  position: relative;
}
.direction-card:nth-child(1) .direction-icon {
  background: linear-gradient(145deg, #0A1F3E 0%, #1A4E82 100%);
  border: 1px solid rgba(103,211,255,0.22);
  box-shadow: 0 8px 22px rgba(8,21,46,0.50), 0 0 0 1px rgba(103,211,255,0.10);
}
.direction-card:nth-child(2) .direction-icon {
  background: linear-gradient(145deg, #071328 0%, #0E3A6E 100%);
  border: 1px solid rgba(103,211,255,0.18);
  box-shadow: 0 8px 22px rgba(18,48,95,0.52), 0 0 0 1px rgba(103,211,255,0.09);
}
.direction-card:nth-child(3) .direction-icon {
  background: linear-gradient(145deg, #08152E 0%, #0B1E44 100%);
  border: 1px solid rgba(103,211,255,0.20);
  box-shadow: 0 8px 22px rgba(8,21,46,0.55), 0 0 0 1px rgba(103,211,255,0.09);
}
.direction-card:nth-child(4) .direction-icon {
  background: linear-gradient(145deg, #0B1E44 0%, #1A5A90 100%);
  border: 1px solid rgba(103,211,255,0.28);
  box-shadow: 0 8px 22px rgba(18,48,95,0.45), 0 0 0 1px rgba(103,211,255,0.13);
}
.direction-card:nth-child(5) .direction-icon {
  background: linear-gradient(145deg, #071328 0%, #12305F 100%);
  border: 1px solid rgba(103,211,255,0.18);
  box-shadow: 0 8px 22px rgba(18,48,95,0.50), 0 0 0 1px rgba(103,211,255,0.09);
}
.direction-card:nth-child(6) .direction-icon {
  background: linear-gradient(145deg, #08152E 0%, #14396A 100%);
  border: 1px solid rgba(103,211,255,0.20);
  box-shadow: 0 8px 22px rgba(8,21,46,0.52), 0 0 0 1px rgba(103,211,255,0.09);
}
.direction-icon svg { display: block; }
/* Legacy icon font fallback sizing */

/* ── Feature icon boxes: v3 gradient ────────────────────── */
.feature-icon-box .icon {
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #67D3FF !important;
  font-size: 1.2rem !important;
}

/* ── Program card icon: v3 ──────────────────────────────── */
.program-card-icon {
  background: linear-gradient(135deg, #08152E 0%, #0B1E44 60%, #1A5A90 100%) !important;
  border: 1px solid rgba(103,211,255,0.20) !important;
  box-shadow: 0 6px 18px rgba(8,21,46,0.40) !important;
}

/* ── Timeline dots: v3 ──────────────────────────────────── */
.timeline-dot {
  background: linear-gradient(135deg, #0B1E44, #1A5A90) !important;
  border-color: rgba(103,211,255,0.35) !important;
  box-shadow: 0 0 0 4px rgba(56,127,187,0.12), 0 4px 14px rgba(11,30,68,0.40) !important;
  color: #67D3FF !important;
}

/* ── Section header .tag: v3 ────────────────────────────── */

/* ── Pillar cards: v3 border top ───────────────────────── */
.section-pillars .pillar-card { border-top-color: #0B1E44 !important; }

/* ── Stats strip: v3 ────────────────────────────────────── */
.stats-strip {
  background: linear-gradient(135deg, #08152E 0%, #0B1E44 50%, #12305F 100%) !important;
  position: relative;
  overflow: hidden;
}
.stats-strip::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  mix-blend-mode: overlay;
  opacity: 0.045;
}

/* ── Section transitions SVG fill: v3 ──────────────────── */
/* Update transition divs colors if needed */

/* ── Back-to-top: v3 ────────────────────────────────────── */

/* ── Link animated: v3 ──────────────────────────────────── */

/* ── Section pillar/about/timeline on light bg: v3 ─────── */

/* ── Responsive v3 ──────────────────────────────────────── */
@media (max-width: 991.98px) {
  #mainNav::before, #mainNav::after { display: none; }
}
@media (max-width: 767.98px) {
  .direction-icon { width: 60px !important; height: 60px !important; border-radius: 14px !important; }
}

/* ============================================================
   INLINE STYLE REPLACEMENTS — moved from HTML attributes
   ============================================================ */

/* Utility bar: non-interactive time span */
.utility-contact-item--static { cursor: default; pointer-events: none; }

/* Desktop nav list gap */

/* Dropdown caret chevron icons */
.nav-dropdown-caret {
  font-size: 0.6rem;
  opacity: 0.6;
  vertical-align: middle;
  margin-left: 2px;
  transition: transform 0.2s;
}

/* Reading mode button (reset button styles within dropdown) */

/* Mobile menu open button — hidden on desktop via ID-specificity media query */
#mobileMenuOpen {
  width: 40px;
  height: 40px;
  padding: 0;
  justify-content: center;
  border-radius: 8px !important;
}
@media (min-width: 1200px) {
  #mobileMenuOpen { display: none !important; }
}

/* Hamburger icon size */

/* Mobile menu logo */
.mobile-menu-logo { height: 38px; object-fit: contain; }

/* Section transition wrappers */
.section-transition {
  line-height: 0;
  overflow: hidden;
}
.section-transition--hero  { background: #08152E; }
.section-transition--light { background: #F5F7FA; }

/* Transition SVG elements */
.transition-svg {
  display: block;
  width: 100%;
}
.transition-svg--sm { height: 36px; }
.transition-svg--md { height: 40px; }

/* About section image */

/* Partners section padding override */

/* Footer logo */

/* ============================================================
   v4 PREMIUM REFACTOR
   Unified topbar–navbar–hero · Video hero · Premium footer
   ============================================================ */

/* ── 1. HERO VIDEO + OVERLAY: enable and refine ─────────────── */
.hero-overlay   { display: block !important; }
.hero-grid-pattern { display: block !important; z-index: 1 !important; }

/* Neutral solid base — visual atmosphere comes entirely from
   the video + overlay layers, not a CSS background-image    */

/* Dot-grid pseudo sits above video, below overlay */
.hero-section::before {
  z-index: 1 !important;
  background-image: radial-gradient(circle, rgba(255,255,255,0.022) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
}

/* Grain texture sits above content — low opacity, blend-mode safe */
.hero-section::after { z-index: 5 !important; opacity: 0.038 !important; }

/* Video layer: deep colour-grade, not completely black */

/* Rich directional overlay on top of video */

/* Hero text and content above all layers */
.hero-content { z-index: 4 !important; }

/* ── 2. TOPBAR: legible, high-contrast, unified dark base ───── */
.utility-bar {
  transition: background 0.35s ease, border-color 0.35s ease, opacity 0.30s ease, transform 0.30s ease !important;
}

/* Phone / email / hours — clearly readable, uppercase */
.utility-contact-item {
  text-transform: uppercase !important;
}
.utility-contact-item:hover { color: rgba(240,250,255,0.97) !important; }
.utility-contact-item i {
  opacity: 1 !important;
}

/* Right-side document utility links */
.utility-doc-link {
  text-transform: uppercase !important;
}

/* ── 3. NAVBAR: transparent on load, solid on scroll ────────── */
#mainNav {
  transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, top 0.30s ease !important;
}

/* Glowing bottom edge on navbar — ties it into the hero */
#mainNav::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0; left: 0; right: 0; height: 1px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(80,160,230,0.20) 20%,
    rgba(103,211,255,0.40) 50%,
    rgba(80,160,230,0.20) 80%,
    transparent 100%) !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

/* Scrolled: solid dark navy #04091a, 8px blur */

/* Nav links: crisp on dark glass */
.nav-link-custom {
  text-transform: uppercase !important;
}
/* Dropdown items */
.nav-dropdown-menu .dropdown-item {
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}
.nav-link-custom::after {
  background: rgba(103,211,255,0.62) !important;
  height: 1.5px !important;
  bottom: 2px !important;
}

/* Brand identity */
.brand-name {
  text-transform: uppercase !important;
}
.brand-tagline,
#mainNav:not(.scrolled) .brand-tagline,
#mainNav.scrolled .brand-tagline {
  color: rgba(220,235,255,0.95) !important;
  font-size: 0.565rem !important;
  letter-spacing: 0.10em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

/* Navbar controls row — all items centered on one line */
.navbar-controls {
  display: flex !important;
}

/* Icon controls — flat, no border, consistent height */
.btn-icon-ctrl {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: transparent !important;
  border: none !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.btn-icon-ctrl:hover {
  border: none !important;
}
.btn-icon-ctrl[aria-expanded="true"] {
  border: none !important;
}

/* Ensure flag image doesn't push height */
.lang-toggle-btn .lang-flag-cur {
  display: block !important;
  flex-shrink: 0 !important;
  border-radius: 2px !important;
  object-fit: cover !important;
  width: 18px !important;
  height: 13px !important;
  margin: 0 !important;
}
.lang-toggle-btn .lang-code-cur {
  line-height: 1 !important;
  color: rgba(215,232,255,0.90) !important;
}
.nav-caret {
  font-size: 0.55rem !important;
  opacity: 0.60 !important;
  line-height: 1 !important;
  transition: transform 0.2s !important;
}
.btn-icon-ctrl[aria-expanded="true"] .nav-caret { transform: rotate(180deg) !important; }

/* ── 4. FOOTER: deep navy — clean, readable, premium ─────────── */
footer { background: #040D1E !important; }

/* Replace muddy multi-layer grain with clean radial glows only */
footer::before {
  background:
    radial-gradient(ellipse at 6%  12%, rgba(8,28,82,0.55)  0%, transparent 48%),
    radial-gradient(ellipse at 92% 88%, rgba(12,38,98,0.38)  0%, transparent 44%) !important;
  background-size: auto !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}
footer::after { opacity: 0.030 !important; }

/* Footer column headings — clearly separated, readable */

/* Description / body text */

/* Footer navigation links with animated dash */
.footer-links a {
  align-items: center !important;
  gap: 0 !important;
  padding-left: 0 !important;
}

/* Footer contact info */

/* Social icons */
.social-icon:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,0.28) !important;
}

/* Footer bottom bar */

/* Footer logo */

/* ── 5. CONTACT CTA: premium dark — visually rich, readable ──── */
.section-contact-cta {
  background: linear-gradient(175deg, #061525 0%, #040F1C 100%) !important;
  padding: 80px 0 !important;
  border-top: 1px solid rgba(103,211,255,0.06) !important;
}
.section-contact-cta::before {
  background:
    radial-gradient(ellipse at 8%  55%, rgba(10,35,96,0.66)  0%, transparent 52%),
    radial-gradient(ellipse at 88% 28%, rgba(14,50,112,0.44)  0%, transparent 48%) !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

/* Contact info cards — glassmorphism on deep navy */
.section-contact-cta .contact-info-card {
  background: rgba(8,22,62,0.34) !important;
  border: 1px solid rgba(103,211,255,0.11) !important;
  border-radius: 8px !important;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.25s !important;
}
.section-contact-cta .contact-info-card:hover {
  background: rgba(10,28,74,0.50) !important;
  border-color: rgba(103,211,255,0.25) !important;
  box-shadow: 0 4px 22px rgba(0,0,0,0.24) !important;
}
.section-contact-cta .contact-info-card h6 {
  color: rgba(235,246,255,0.95) !important;
  font-weight: 700 !important;
  font-size: 0.84rem !important;
  margin-bottom: 0.28rem !important;
}
.section-contact-cta .contact-info-card p {
  color: rgba(175,212,252,0.72) !important;
  font-size: 0.855rem !important;
  line-height: 1.55 !important;
}
.section-contact-cta .contact-info-icon {
  width: 42px !important;
  height: 42px !important;
  background: rgba(56,127,187,0.22) !important;
  border: 1px solid rgba(103,211,255,0.20) !important;
  border-radius: 8px !important;
  color: #67D3FF !important;
  font-size: 1rem !important;
}

/* Section text on dark */
.section-contact-cta h2 {
  color: #F0F7FF !important;
  text-shadow: 0 2px 24px rgba(4,9,26,0.55) !important;
}
.section-contact-cta p {
  color: rgba(175,212,252,0.72) !important;
}

/* CTA button */
.section-contact-cta .btn-primary-custom {
  background: rgba(8,24,66,0.52) !important;
  border: 1.5px solid rgba(103,211,255,0.36) !important;
  color: rgba(210,236,255,0.92) !important;
  letter-spacing: 0.03em !important;
}
.section-contact-cta .btn-primary-custom:hover {
  background: rgba(14,42,112,0.72) !important;
  border-color: rgba(103,211,255,0.64) !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 22px rgba(103,211,255,0.14) !important;
}

/* ── LANGUAGE SWITCHER ──────────────────────────────────────── */

/* Desktop dropdown */
.lang-menu { min-width: 148px !important; }
.lang-menu .lang-btn {
  position: relative !important;
  padding-right: 2.2rem !important;
}
/* Active language — dot indicator */
.lang-menu .lang-btn.active::after {
  content: '';
  position: absolute;
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  width: 6px; height: 6px;
  background: #0C2340;
  border-radius: 50%;
}

/* lang-toggle-btn flag + code — see v4 btn-icon-ctrl overrides below */

/* Mobile lang row */
.mobile-lang-row .lang-btn img { border-radius: 2px; flex-shrink: 0; }

/* ── SETTINGS PANEL — Premium redesign ─────────────────────── */

/* Dropdown container */
.settings-panel {
  min-width: 256px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid rgba(210,226,248,0.90) !important;
  box-shadow:
    0 4px 8px  rgba(8,24,60,0.05),
    0 14px 36px rgba(8,24,60,0.13),
    0 48px 88px rgba(8,24,60,0.08) !important;
  overflow: hidden !important;
  /* Subtle entrance animation */
  animation: settingsFadeIn 0.18s ease !important;
}
@keyframes settingsFadeIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)  scale(1); }
}

/* Panel header strip */
.settings-panel-hd {
  display: flex !important;
  align-items: center !important;
  gap: 0.50rem !important;
  padding: 0.82rem 1.10rem 0.74rem !important;
  background: linear-gradient(135deg, #F7FAFD 0%, #EFF5FC 100%) !important;
  border-bottom: 1px solid #EAF0F9 !important;
}
.settings-panel-hd > i {
  font-size: 0.82rem !important;
  color: #7B96BF !important;
}
.settings-panel-hd > span {
  font-size: 0.635rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: #8BA0C2 !important;
}

/* Section body padding */
.settings-section { padding: 0.88rem 1.10rem !important; }

/* Section labels */
.settings-label {
  display: flex !important;
  align-items: center !important;
  gap: 0.42rem !important;
  font-size: 0.60rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: #A0B5D2 !important;
  margin-bottom: 0.72rem !important;
}
.settings-label i { font-size: 0.70rem !important; color: #8BA0C2 !important; }

/* Font-size pill group */
.fs-btn-row {
  display: flex !important;
  gap: 0 !important;
  background: #EDF3FB !important;
  border: 1px solid #D8E7F4 !important;
  border-radius: 9px !important;
  padding: 3px !important;
}
.btn-fs {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 0.44rem 0.1rem !important;
  font-weight: 700 !important;
  color: #98B0CC !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s !important;
  line-height: 1.3 !important;
}
.btn-fs:nth-child(1) { font-size: 0.70rem !important; }
.btn-fs:nth-child(2) { font-size: 0.88rem !important; }
.btn-fs:nth-child(3) { font-size: 1.02rem !important; }
.btn-fs:hover { background: rgba(255,255,255,0.72) !important; color: #1A2B45 !important; }
.btn-fs.active {
  background: #ffffff !important;
  color: #0B1E44 !important;
  box-shadow: 0 1px 3px rgba(8,24,60,0.11), 0 2px 8px rgba(8,24,60,0.07) !important;
}

/* Theme toggle row */
.theme-toggle-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  background: #F2F7FD !important;
  border: 1px solid #D8E8F5 !important;
  border-radius: 9px !important;
  padding: 0.60rem 0.82rem !important;
  cursor: pointer !important;
  transition: background 0.2s, border-color 0.2s !important;
}
.theme-toggle-row:hover {
  background: #EAF1FB !important;
  border-color: #C8D9EF !important;
}
.theme-toggle-row .t-label {
  display: flex !important;
  align-items: center !important;
  gap: 0.58rem !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  color: #1A2B45 !important;
}
.theme-toggle-row .t-label i { color: #387FBB !important; font-size: 1.0rem !important; }

/* Toggle switch pill */
.theme-switch {
  position: relative !important;
  width: 38px !important; height: 21px !important;
  background: #C5D6EC !important;
  border-radius: 11px !important;
  transition: background 0.28s !important;
  flex-shrink: 0 !important;
}
.theme-switch::after {
  content: '' !important;
  position: absolute !important;
  width: 15px !important; height: 15px !important;
  background: #fff !important;
  border-radius: 50% !important;
  top: 3px !important; left: 3px !important;
  transition: transform 0.28s cubic-bezier(0.35,0,0.15,1) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.18) !important;
}
[data-theme="dark"] .theme-switch { background: #2563B0 !important; }
[data-theme="dark"] .theme-switch::after { transform: translateX(17px) !important; }

/* Section divider */
.settings-divider {
  margin: 0 !important;
  border-color: #EBF1FA !important;
  opacity: 1 !important;
}

/* Reading mode row */
.settings-reading-li { padding: 0.40rem 0.48rem !important; }
#readingModeBtn {
  display: flex !important;
  align-items: center !important;
  gap: 0.72rem !important;
  width: 100% !important;
  border: none !important;
  background: transparent !important;
  border-radius: 9px !important;
  padding: 0.64rem 0.74rem !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: background 0.18s !important;
  font-size: 0.855rem !important;
  font-weight: 600 !important;
  color: #1A2B45 !important;
}
#readingModeBtn:hover {
  background: #F2F7FD !important;
  color: #0B1E44 !important;
}
#readingModeBtn.active { background: rgba(11,30,68,0.06) !important; }

/* Icon box inside reading mode button */
.srb-icon {
  width: 30px !important; height: 30px !important;
  border-radius: 7px !important;
  background: linear-gradient(145deg, #0B1E44 0%, #1A5A90 100%) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
  color: #67D3FF !important;
  font-size: 0.88rem !important;
  transition: background 0.2s !important;
}
#readingModeBtn.active .srb-icon {
  background: linear-gradient(145deg, #1A5A90 0%, #2272AA 100%) !important;
}
.srb-text { flex: 1 !important; }
.srb-arrow {
  font-size: 0.65rem !important;
  color: #BDD2E8 !important;
  transition: transform 0.2s, color 0.2s !important;
}
#readingModeBtn:hover .srb-arrow {
  transform: translateX(2px) !important;
  color: #8BA0C2 !important;
}

/* ── 6. RESPONSIVE ──────────────────────────────────────────── */

/* Brand text — always visible, wraps naturally */
.navbar-brand .brand-text {
  display: flex !important;
  flex-direction: column !important;
  white-space: normal !important;
}
.navbar-brand .brand-name {
  line-height: 1.25 !important;
}
.navbar-brand .brand-tagline,
#mainNav:not(.scrolled) .navbar-brand .brand-tagline {
  font-size: 0.58rem !important;
  line-height: 1.2 !important;
  color: rgba(220,235,255,0.95) !important;
}

/* Hide brand text only on very small screens */
@media (max-width: 400px) {
  .navbar-brand .brand-text { display: none !important; }
}

/* Move desktop-only threshold from 992 → 1200 */
@media (max-width: 1199.98px) {
  .desktop-only { display: none !important; }
}

/* Navbar transparent at all breakpoints until scrolled */
@media (max-width: 1199.98px) {
  #mainNav::before,
  #mainNav::after { display: none !important; }
}

@media (max-width: 991.98px) {
  .hero-video-bg { display: block !important; }
  #mainNav::before,
  #mainNav::after { display: none !important; }
}
@media (max-width: 767.98px) {
  .utility-contact-item { font-size: 0.68rem !important; }
  .utility-doc-link { font-size: 0.68rem !important; }
  .hero-overlay {
    background:
      linear-gradient(to bottom,
        rgba(4,9,26,0.90) 0%,
        rgba(4,9,26,0.72) 20%,
        rgba(4,9,26,0.50) 60%,
        rgba(4,9,26,0.82) 100%) !important;
  }
}

/* ============================================================
   v5 HERO + HEADER REFINEMENT — clean, institutional, focused
   ============================================================ */

/* ── 1. VIDEO: deep obscure, no detail, pure mood ───────────── */

/* ── Overlay: even coverage, text always clear ──────────────── */
.hero-overlay {
  z-index: 2 !important;
}

/* ── 2. TOPBAR + NAVBAR — single seamless band ──────────────── */
.utility-bar {
  background: rgba(6,14,38,0.30) !important;
  border-bottom: 1px solid rgba(60,100,200,0.06) !important;
  backdrop-filter: blur(6px) !important;
}
.utility-bar.scrolled {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-100%) !important;
}

#mainNav {
  background: rgba(6,14,38,0.30) !important;
  backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid rgba(60,100,200,0.06) !important;
  box-shadow: none !important;
}
#mainNav::after { display: none !important; }

#mainNav.scrolled {
  top: 0 !important;
  border-bottom: 1px solid rgba(80,140,230,0.10) !important;
}

/* ── 3. LOGO — strong brand anchor ─────────────────────────── */
.navbar-brand .brand-tagline,
#mainNav:not(.scrolled) .brand-tagline,
#mainNav.scrolled .brand-tagline {
  letter-spacing: 0.12em !important;
  font-weight: 500 !important;
}

/* ── 4. NAV ITEMS — breathing, lighter weight ───────────────── */

/* ── 5. ICON CONTROLS — clean, consistent ──────────────────── */
.mobile-menu-icon { font-size: 1.45rem !important; }

/* Topbar text — slightly heavier */

/* ── 6. HERO: clean image panel (no stats, no padding below) ── */
.hero-img-panel {
  position: relative !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(80,130,220,0.16) !important;
  width: 100% !important;
}
.hero-img-panel img {
  display: block !important;
  width: 100% !important;
  object-fit: cover !important;
  filter: brightness(0.52) saturate(0.72) contrast(1.06) !important;
}
/* Vignette over image */
.hero-img-panel::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg,
    rgba(4,9,26,0.08) 0%,
    rgba(4,9,26,0.50) 100%) !important;
  pointer-events: none !important;
}
/* Small institutional label bottom-left */
.hip-label {
  position: absolute !important;
  bottom: 1.10rem !important;
  left: 1.10rem !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  background: rgba(4,9,26,0.72) !important;
  border: 1px solid rgba(80,140,230,0.22) !important;
  backdrop-filter: blur(8px) !important;
  border-radius: 5px !important;
  padding: 0.42rem 0.80rem !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: rgba(200,225,255,0.88) !important;
}
.hip-label i { color: rgba(103,211,255,0.80) !important; font-size: 0.75rem !important; }

/* ── 7. HERO TEXT: focused, no pipeline clutter ─────────────── */
.hero-title   { margin-bottom: 1.0rem !important; }
.hero-subtitle {
  opacity: 0.88 !important;
}
/* Remove pipeline from hero — it lives in methodology section */
.hero-pipeline { display: none !important; }

/* ── 8. CTA BUTTONS — premium, rich ────────────────────────── */
.hero-section .btn-primary-custom {
  border-radius: 8px !important;
  border: 1.5px solid rgba(70,140,240,0.68) !important;
  letter-spacing: 0.04em !important;
}
.hero-section .btn-outline-primary-c {
  border-radius: 8px !important;
  letter-spacing: 0.04em !important;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1199.98px) {
  #mainNav { background: rgba(6,14,38,0.34) !important; }
  #mainNav.scrolled { background: rgba(4,9,26,0.98) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
}
@media (max-width: 991.98px) {
  .hero-img-panel img { height: 300px !important; }
}

/* ============================================================
   v6 HEADER / HERO POLISH
   Logo scale · video depth · image panel balance · button contrast
   ============================================================ */

/* 1. Logo — compact, not dominant */
#mainNav .navbar-brand img,
.navbar-brand img {
  height: 40px !important;
  filter: brightness(10) !important;
}
.navbar-brand .brand-tagline,
#mainNav:not(.scrolled) .brand-tagline,
#mainNav.scrolled .brand-tagline {
  font-size: 0.57rem !important;
  color: rgba(195,220,255,0.88) !important;
}

/* 2. Video — deeper obscure, stronger blur */

/* 3. Image panel — taller, balanced vertically */
.hero-img-panel {
  align-self: center !important;
}

/* 4. Hero row — tighter bottom padding */

/* 5. Secondary button — visible, not disabled-looking */

/* 6. Topbar — refined typography and icons */
.utility-contact-item {
  gap: 0.38rem !important;
}
.utility-doc-link {
  letter-spacing: 0.08em !important;
}
.utility-doc-link:hover { color: #ffffff !important; }
.utility-bar-sep { color: rgba(100,150,230,0.20) !important; }

/* 7. Nav active / hover — clearer differentiation */
.nav-link-custom {
  color: rgba(240,250,255,0.92) !important;
  position: relative !important;
}

/* 8. Utility icon controls — final polish */
/* Subtle divider between lang and settings */

/* ============================================================
   v7 FINAL HEADER POLISH
   ============================================================ */

/* 1+2. Logo — corporate anchor, 48-56px range */
#mainNav .navbar-brand img,
.navbar-brand img         { height: 52px !important; }
.navbar-brand             { gap: 0.65rem !important; }
.navbar-brand .brand-text { max-width: 200px !important; }
.navbar-brand .brand-name { font-size: 0.72rem !important; font-weight: 700 !important; }
.navbar-brand .brand-tagline,
#mainNav:not(.scrolled) .brand-tagline,
#mainNav.scrolled .brand-tagline {
  font-size: 0.54rem !important;
  color: rgba(185,212,255,0.72) !important;
  letter-spacing: 0.11em !important;
}

/* 1. Nav items — more breathing */
.nav-desktop-list { gap: 0.05rem !important; }

/* 3. Hero height — fills full viewport */
.hero-section { min-height: 100svh !important; }
.hero-row     { padding: 100px 0 48px !important; align-items: flex-start !important; }

/* 4. Image card — pushed slightly lower, subtle bottom glow */
.hero-img-panel {
  margin-top: 2.5rem !important;
  max-width: 370px !important;
  box-shadow:
    0 36px 80px rgba(0,0,0,0.58),
    0 4px 16px rgba(0,0,0,0.32),
    0 0 48px rgba(30,80,200,0.12) !important;
}
.hero-img-panel img { height: 440px !important; }

/* 5. Background — visible but atmospheric */

/* 6. Secondary button — clearly visible */

/* 7. Topbar — slightly larger, cleaner */
.utility-contact-item {
  font-size: 0.69rem !important;
  font-weight: 600 !important;
  color: rgba(230,244,255,0.92) !important;
  letter-spacing: 0.04em !important;
}
.utility-contact-item i { font-size: 0.72rem !important; color: rgba(140,215,255,0.90) !important; }
.utility-doc-link       { font-size: 0.69rem !important; color: rgba(215,235,255,0.90) !important; font-weight: 700 !important; }

/* ── Utility bar: accessibility link ────────────────────── */
.utility-access-link {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  color: rgba(215,232,255,0.62);
  text-decoration: none;
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: color 0.2s;
  white-space: nowrap;
}
.utility-access-link i {
  font-size: 0.80rem;
  color: rgba(103,211,255,0.70);
  transition: color 0.2s;
}
.utility-access-link:hover { color: rgba(240,250,255,0.97); }
.utility-access-link:hover i { color: rgba(150,235,255,0.95); }

/* ── Utility bar: social icons ───────────────────────────── */
.utility-social-row {
  display: flex;
  align-items: center;
}
.utility-soc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.utility-soc-btn:hover {
  color: rgba(240,250,255,0.97);
  background: rgba(255,255,255,0.08);
}

/* 8. Utility icon controls — premium hover */
.btn-icon-ctrl {
  height: 32px !important;
  font-size: 0.98rem !important;
  padding: 0 0.44rem !important;
  color: rgba(205,225,255,0.76) !important;
  border-radius: 5px !important;
  transition: background 0.16s ease, color 0.16s ease !important;
}
.btn-icon-ctrl:hover {
  color: rgba(240,250,255,0.98) !important;
  background: rgba(255,255,255,0.09) !important;
}
.btn-icon-ctrl[aria-expanded="true"] {
  color: #ffffff !important;
  background: rgba(255,255,255,0.12) !important;
}
.lang-toggle-btn .lang-code-cur { font-size: 0.70rem !important; font-weight: 700 !important; letter-spacing: 0.05em !important; }
.nav-lang-drop { border-right: 1px solid rgba(110,155,230,0.16) !important; padding-right: 0.26rem !important; margin-right: 0.08rem !important; }

/* 9. Active nav item — soft pill, not heavy */
.nav-link-custom:hover {
  color: rgba(240,250,255,0.96) !important;
}

@media (max-width: 1199.98px) {
  .hero-section { min-height: 100svh !important; }
  .hero-row { padding: 106px 0 64px !important; }
}

/* ── HERO PROCESS PANEL — Premium stepper ───────────────────── */
.hero-process-panel {
  width: 100%;
  position: relative;
  /* Glass card */
  background: transparent;
  border-radius: 20px;
  padding: 1.80rem 1.70rem 1.50rem;
  backdrop-filter: none;
  border: none;
  box-shadow: none;
  overflow: visible;
}
/* Top accent line removed (transparent card) */
.hero-process-panel::before { display: none; }

/* Header */
.hpp-head { margin-bottom: 1.10rem; }
.hpp-eyebrow {
  display: block;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.28rem;
}
.hpp-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* ── Pentagon orbital diagram ────────────────────────────────── */
.hpp-diagram {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.10rem;
}
.hpp-svg {
  width: 100%;
  height: auto;
  overflow: visible;
}

/* Hub pulse animation */
@keyframes hpp-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.78; transform: scale(0.96); }
}
.hpp-hub-pulse {
  transform-box: fill-box;
  transform-origin: center;
  animation: hpp-pulse 3.6s ease-in-out infinite;
}

/* Outer orbit ring slow spin */
@keyframes hpp-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.hpp-ring-anim {
  transform-box: fill-box;
  transform-origin: center;
  animation: hpp-spin 32s linear infinite;
}

/* Bottom link */
.hpp-link {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin-top: 1.0rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(80,130,220,0.12);
  width: 100%;
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(103,211,255,0.68);
  text-decoration: none;
  transition: color 0.18s, gap 0.18s;
}
.hpp-link:hover {
  color: rgba(160,230,255,0.94);
  gap: 0.60rem;
}
.hpp-link svg { flex-shrink: 0; transition: transform 0.18s; }
.hpp-link:hover svg { transform: translateX(3px); }

/* ============================================================
   v8 SECTION POLISH — Pillars contrast, About, Cards, BTT
   ============================================================ */

/* ── Pillar section background: slightly more distinct ─────── */
.section-pillars { background: #EDF2F9 !important; }

/* ── Section header: stronger presence ─────────────────────── */
.section-pillars .section-header h3 {
  font-size: 1.80rem !important;
  font-weight: 800 !important;
  color: #091A38 !important;
  letter-spacing: -0.02em !important;
}
.section-pillars .section-header p {
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Pillar card: clear white with visible shadow + border ──── */
.section-pillars .pillar-card {
  background: #ffffff !important;
  border: 1px solid #BFD0E8 !important;
  border-top: 3px solid #1A5A90 !important;
  box-shadow: 0 2px 6px rgba(9,26,56,0.06), 0 8px 22px rgba(9,26,56,0.09) !important;
  padding: 2rem 1.5rem 1.75rem !important;
  transition: box-shadow 0.25s, transform 0.25s, border-top-color 0.25s !important;
}
.section-pillars .pillar-card:hover {
  box-shadow: 0 4px 10px rgba(9,26,56,0.09), 0 18px 38px rgba(9,26,56,0.13) !important;
  transform: translateY(-5px) !important;
}

/* Color progression: top accent per step */
.pillar-card[data-step="1"] { border-top-color: #1A5A90 !important; }
.pillar-card[data-step="2"] { border-top-color: #1479B5 !important; }
.pillar-card[data-step="3"] { border-top-color: #0C9BB0 !important; }

/* Number: visible but decorative */
.pillar-num {
  opacity: 0.40 !important;
  font-size: 3.0rem !important;
  color: #091A38 !important;
}
.pillar-card[data-step="1"] .pillar-num { color: #1A5A90 !important; }
.pillar-card[data-step="2"] .pillar-num { color: #1479B5 !important; }
.pillar-card[data-step="3"] .pillar-num { color: #0C9BB0 !important; }

/* Title and description: better contrast */
.pillar-card h5 { color: #0E1E3A !important; font-size: 0.97rem !important; }
.pillar-card p  { color: #485F82 !important; line-height: 1.70 !important; }

/* ── About section: paragraph tighter & readable ───────────── */

/* About image: brand tint overlay */

/* ── Feature icon boxes: richer, not default ───────────────── */
.feature-icon-box .icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  background: rgba(9,26,56,0.07) !important;
  border: 1px solid rgba(9,26,56,0.12) !important;
  box-shadow: 0 2px 8px rgba(9,26,56,0.07) !important;
  flex-shrink: 0 !important;
}
.feature-icon-box h6 {
  color: #0E1E3A !important;
  font-size: 0.87rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.20rem !important;
}
.feature-icon-box p {
  color: #485F82 !important;
  font-size: 0.79rem !important;
  line-height: 1.55 !important;
}

/* ── Back-to-top: smaller, softer ─────────────────────────── */
#backToTop {
  width: 34px !important;
  height: 34px !important;
  font-size: 0.76rem !important;
  background: rgba(9,26,56,0.60) !important;
  box-shadow: 0 1px 6px rgba(9,26,56,0.14) !important;
  border-radius: 6px !important;
  bottom: 1.5rem !important;
  right: 1.5rem !important;
}
#backToTop:hover { background: rgba(9,26,56,0.85) !important; }

/* ============================================================
   v9 ABOUT SECTION — refined
   ============================================================ */

/* Section: clean white, reduced padding, no noisy dot pattern */
.section-about {
  background: #ffffff;
  position: relative;
}
.section-about .container { position: relative; z-index: 1; }

/* ── Image wrapper ───────────────────────────────────────────── */
.about-img-wrapper {
  position: relative;
}
/* Subtle glow halo behind image */
.about-img-wrapper::before {
  content: '';
  position: absolute;
  inset: -8px -8px -12px -12px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(26,90,144,0.11) 0%, rgba(16,180,154,0.06) 100%);
  z-index: 0;
}
/* Warm + brand tint overlay on the image */
.about-img-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: linear-gradient(160deg,
    rgba(20,45,100,0.08) 0%,
    rgba(20,45,100,0.03) 45%,
    rgba(240,150,40,0.04) 100%);
  z-index: 2;
  pointer-events: none;
}
.about-section-img {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  object-position: center 30% !important;
  border-radius: 16px !important;
  display: block !important;
  filter: saturate(1.02) brightness(1.06) !important;
  box-shadow: 0 6px 28px rgba(9,26,80,0.13), 0 2px 6px rgba(9,26,80,0.07) !important;
}

/* ── Tag ─────────────────────────────────────────────────────── */
.about-tag-row { margin-bottom: 0.80rem; }
.about-tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1px solid rgba(26,90,144,0.24);
  border-radius: 5px;
  padding: 0.42rem 0.95rem;
  box-shadow: 0 1px 4px rgba(26,90,144,0.07);
}

/* ── Heading ─────────────────────────────────────────────────── */
.about-heading {
  font-size: 2.10rem;
  font-weight: 800;
  color: #091A38;
  margin-bottom: 1.10rem;
}
@media (max-width: 1199.98px) { .about-heading { font-size: 1.85rem; } }
@media (max-width: 767.98px)  { .about-heading { font-size: 1.55rem; } }

/* ── Lead paragraph ─────────────────────────────────────────── */
.about-lead {
  max-width: 440px !important;
  font-size: 1.01rem !important;
  line-height: 1.84 !important;
  color: #334A68 !important;
  margin-bottom: 0 !important;
}

/* ── Feature icon boxes ─────────────────────────────────────── */
.feature-icon-box {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.85rem !important;
  background: #ffffff !important;
  border: 1px solid #B8CCE2 !important;
  border-radius: 11px !important;
  padding: 1.10rem 1.05rem !important;
  box-shadow: 0 1px 3px rgba(9,26,80,0.05), 0 5px 16px rgba(9,26,80,0.08) !important;
  transition: box-shadow 0.22s, transform 0.22s, border-color 0.22s !important;
  height: 100% !important;
}
.feature-icon-box:hover {
  box-shadow: 0 3px 8px rgba(9,26,80,0.09), 0 12px 28px rgba(9,26,80,0.11) !important;
  transform: translateY(-3px) !important;
  border-color: #94B4D0 !important;
}
.fib-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: linear-gradient(140deg, rgba(26,90,144,0.12) 0%, rgba(16,140,175,0.09) 100%);
  border: 1px solid rgba(26,90,144,0.18);
  box-shadow: 0 2px 7px rgba(26,90,144,0.10), inset 0 1px 0 rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fib-body { flex: 1; min-width: 0; }
.fib-body h6 {
  font-size: 0.91rem !important;
  font-weight: 700 !important;
  color: #0B1C38 !important;
  margin-bottom: 0.24rem !important;
  line-height: 1.3 !important;
}
.fib-body p {
  font-size: 0.82rem !important;
  color: #3F5878 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* ── CTA button ──────────────────────────────────────────────── */
.about-cta-row { display: flex; align-items: center; }
.about-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.52rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  border: 1.5px solid rgba(26,90,144,0.22);
  border-radius: 7px;
  padding: 0.60rem 1.10rem;
  text-decoration: none;
  transition: background 0.18s, color 0.18s, border-color 0.18s, gap 0.18s;
}
.about-cta-btn:hover {
  gap: 0.70rem;
}
.about-cta-btn svg { flex-shrink: 0; transition: transform 0.18s; }
.about-cta-btn:hover svg { transform: translateX(3px); }

/* Transition: about (white) → programs (very faint blue-gray) */

/* Keep old .icon class from breaking other uses */
.feature-icon-box > .icon { display: none !important; }

/* ============================================================
   v10 PROGRAMS SECTION — card hierarchy + contrast polish
   ============================================================ */

/* ── Base card override ──────────────────────────────────────── */
.program-card {
  background: #ffffff !important;
  border: 1px solid #C0D2E8 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(9,26,80,0.05), 0 6px 20px rgba(9,26,80,0.08) !important;
  overflow: hidden !important;
}
.program-card:hover {
  border-color: #98BBDA !important;
}
/* Consistent warm-neutral image treatment */
.program-card-img {
  width: 100% !important;
  height: 188px !important;
  object-fit: cover !important;
  display: block !important;
  filter: saturate(0.96) brightness(1.02) !important;
  transition: transform 0.4s ease, filter 0.4s ease !important;
}
.program-card:hover .program-card-img {
  transform: scale(1.04) !important;
  filter: saturate(0.94) brightness(1.00) !important;
}
/* Body: flex-column so CTA always pins to bottom */
.program-card-body {
  padding: 1.4rem 1.35rem 1.30rem !important;
  display: flex !important;
  flex-direction: column !important;
  height: calc(100% - 188px) !important;
}
.program-card-title {
  font-size: 1.06rem !important;
  font-weight: 700 !important;
  color: #0B1C38 !important;
  margin-bottom: 0.45rem !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.program-card-desc {
  font-size: 0.88rem !important;
  color: #374F6E !important;
  margin: 0 0 auto !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ── Small icon accent ───────────────────────────────────────── */
.pc-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(26,90,144,0.10) 0%, rgba(16,140,175,0.08) 100%);
  border: 1px solid rgba(26,90,144,0.15);
  color: #1A5A90;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  margin-bottom: 0.80rem;
  flex-shrink: 0;
}

/* ── CTA link: always at bottom ─────────────────────────────── */
.pc-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.40rem;
  margin-top: 1.0rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(9,26,80,0.08);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: color 0.18s, gap 0.18s;
  width: 100%;
}
.pc-cta svg   { flex-shrink: 0; transition: transform 0.18s; }
.pc-cta:hover svg { transform: translateX(3px); }

/* ── Featured card: horizontal layout ───────────────────────── */
.program-card--featured {
  display: flex !important;
  flex-direction: row !important;
  min-height: 260px !important;
  border: 1px solid #A8C4DF !important;
  background: linear-gradient(to right, #ffffff 55%, #F5F9FE 100%) !important;
}
.program-card--featured .program-card-img {
  width: 42% !important;
  height: 100% !important;
  min-height: 260px !important;
  flex-shrink: 0 !important;
  object-position: center 35% !important;
  border-radius: 0 !important;
}
.program-card--featured .program-card-body {
  flex: 1 !important;
  padding: 1.80rem 1.80rem 1.60rem !important;
  height: auto !important;
}
.program-card--featured .program-card-title {
  font-size: 1.28rem !important;
  -webkit-line-clamp: 2 !important;
  margin-bottom: 0.60rem !important;
}
.program-card--featured .program-card-desc {
  -webkit-line-clamp: 4 !important;
  font-size: 0.86rem !important;
}
.program-card--featured .pc-cta {
  margin-top: auto !important;
  padding-top: 0.80rem !important;
  width: auto !important;
  font-size: 0.80rem !important;
}

/* Badge on featured card */
.pc-badge {
  display: inline-block;
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1px solid rgba(26,90,144,0.20);
  border-radius: 4px;
  padding: 0.26rem 0.70rem;
  margin-bottom: 0.85rem;
}

/* Responsive: featured stacks on mobile */
@media (max-width: 767.98px) {
  .program-card--featured {
    flex-direction: column !important;
  }
  .program-card--featured .program-card-img {
    width: 100% !important;
    height: 200px !important;
    min-height: 0 !important;
  }
}

/* ============================================================
   v11 DIRECTIONS SECTION — per-card color + premium hover
   ============================================================ */

.section-directions {
  background: #ffffff !important;
  position: relative;
}

/* ── Faoliyat yo'nalishlari — section header ─────────────────── */
.dir-head {
  margin-bottom: 2.75rem;
  max-width: 680px;
}
.dir-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0EA5B7;
  margin-bottom: 0.6rem;
}
.dir-eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #0EA5B7;
  display: inline-block;
  flex-shrink: 0;
}
.dir-heading {
  color: #0E1E3C;
  line-height: 1.2;
  margin: 0 0 0.7rem;
}
.dir-sub {
  line-height: 1.65;
  margin: 0;
}

/* ── "Batafsil" link ─────────────────────────────────────────── */
.dir-card-link {
  text-decoration: none;
}
.dir-card-link .bi { font-size: 0.78rem; }

/* ── Direction card base ─────────────────────────────────────── */
.direction-card {
  border: 1px solid rgba(14,30,60,0.09) !important;
  border-radius: 14px !important;
  padding: 1.75rem 1.5rem 1.6rem !important;
  text-align: left !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(14,30,60,0.05), 0 6px 20px rgba(14,30,60,0.06) !important;
  transition: transform 0.26s, box-shadow 0.26s, border-color 0.26s !important;
}
.direction-card::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 12px !important;
  background: radial-gradient(ellipse at 50% 0%, rgba(var(--dc,26,90,144),0.06) 0%, transparent 65%) !important;
  opacity: 0 !important;
  transition: opacity 0.28s !important;
  pointer-events: none !important;
}
.direction-card:hover {
  box-shadow: 0 6px 14px rgba(var(--dc,26,90,144),0.14),
              0 18px 38px rgba(9,26,80,0.11) !important;
  border-color: rgba(var(--dc,26,90,144),0.45) !important;
}
.direction-card:hover::after { opacity: 1 !important; }

/* ── Icon container ──────────────────────────────────────────── */
.direction-icon {
  margin: 0 0 1.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid rgba(var(--dc,14,165,183),0.18) !important;
  color: rgb(var(--dc,14,165,183)) !important;
  transition: transform 0.26s, background 0.26s, box-shadow 0.26s !important;
  flex-shrink: 0 !important;
}
.direction-card:hover .direction-icon {
  transform: translateY(-3px) scale(1.07) !important;
  background: rgba(var(--dc,14,165,183),0.16) !important;
  box-shadow: 0 6px 20px rgba(var(--dc,14,165,183),0.24) !important;
}

/* ── Typography ──────────────────────────────────────────────── */
.direction-card h4 {
  color: #0B1C38 !important;
}
.direction-card p {
  margin: 0 0 1.1rem !important;
  flex: 1 !important;
}

/* ============================================================
   v12 — News Section
   ============================================================ */

/* ── Section wrapper ──────────────────────────────────────── */

/* ── "Barcha yangiliklar" CTA ─────────────────────────────── */
.news-all-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.42rem !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  border: 1.5px solid rgba(26,90,144,0.30) !important;
  border-radius: 100px !important;
  padding: 0.50rem 1.15rem !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  transition: background 0.22s, color 0.22s, border-color 0.22s, gap 0.22s !important;
  white-space: nowrap !important;
}
.news-all-btn svg {
  transition: transform 0.22s !important;
  flex-shrink: 0 !important;
}
.news-all-btn:hover {
  gap: 0.60rem !important;
}
.news-all-btn:hover svg { transform: translateX(3px) !important; }

/* ── Base card ────────────────────────────────────────────── */
.news-card {
  background: #ffffff !important;
  border: 1px solid #C4D4E6 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px rgba(9,26,80,0.05), 0 6px 18px rgba(9,26,80,0.07) !important;
  transition: transform 0.26s ease, box-shadow 0.26s ease, border-color 0.26s ease !important;
  height: 100% !important;
}
.news-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 22px rgba(26,90,144,0.13), 0 20px 44px rgba(9,26,80,0.10) !important;
  border-color: rgba(26,90,144,0.38) !important;
}

/* ── Image wrapper ────────────────────────────────────────── */
.news-card-img {
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.nc-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(0.88) brightness(0.96) !important;
  transition: transform 0.42s ease, filter 0.42s ease !important;
}
.news-card:hover .nc-img {
  transform: scale(1.04) !important;
  filter: saturate(0.95) brightness(1.00) !important;
}

/* ── Category badge ───────────────────────────────────────── */
.news-cat {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 0.28rem 0.72rem !important;
  border-radius: 100px !important;
  color: #ffffff !important;
  background: rgba(26,90,144,0.82) !important;
  backdrop-filter: blur(6px) !important;
  line-height: 1 !important;
}
.news-cat[data-cat="tanlov"]  { background: rgba(26,90,144,0.88) !important; }
.news-cat[data-cat="aksel"]   { background: rgba(10,155,176,0.88) !important; }
.news-cat[data-cat="stajir"]  { background: rgba(107,68,192,0.88) !important; }
.news-cat[data-cat="loyiha"]  { background: rgba(14,142,70,0.88) !important; }
.news-cat[data-cat="ilmiy"]   { background: rgba(185,84,18,0.88) !important; }

/* ── Body ─────────────────────────────────────────────────── */
.news-card-body {
  display: flex !important;
  flex-direction: column !important;
  padding: 1.15rem 1.20rem 1.10rem !important;
  flex: 1 !important;
}

/* ── Date ─────────────────────────────────────────────────── */
.nc-date {
  font-size: 0.70rem !important;
  font-weight: 600 !important;
  color: #7A93B4 !important;
  letter-spacing: 0.02em !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.30rem !important;
  margin-bottom: 0.55rem !important;
}
.nc-date .bi { font-size: 0.68rem !important; }

/* ── Title ────────────────────────────────────────────────── */
.news-card-title {
  font-size: 0.96rem !important;
  font-weight: 700 !important;
  color: #091A38 !important;
  line-height: 1.40 !important;
  margin-bottom: 0.55rem !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  -webkit-line-clamp: 3 !important;
}
.news-card-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.20s !important;
}
.news-card-title a:hover { color: #1A5A90 !important; }

/* ── Excerpt ──────────────────────────────────────────────── */
.news-card-excerpt {
  font-size: 0.78rem !important;
  color: #4A6280 !important;
  line-height: 1.72 !important;
  margin: 0 0 auto !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  -webkit-line-clamp: 3 !important;
}

/* ── Read CTA ─────────────────────────────────────────────── */
.nc-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.34rem !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  color: #1A5A90 !important;
  text-decoration: none !important;
  margin-top: 0.85rem !important;
  letter-spacing: 0.02em !important;
  transition: gap 0.20s, color 0.20s !important;
}
.nc-cta svg { transition: transform 0.20s !important; flex-shrink: 0 !important; }
.nc-cta:hover { color: #0E3F6C !important; gap: 0.52rem !important; }
.nc-cta:hover svg { transform: translateX(3px) !important; }

/* ── Featured variant ─────────────────────────────────────── */
.news-card--featured {
  display: flex !important;
  flex-direction: column !important;
}
.news-card--featured .news-card-img {
  height: 240px !important;
}
.news-card--featured .news-card-body {
  padding: 1.30rem 1.35rem 1.25rem !important;
}
.news-card--featured .news-card-title {
  font-size: 1.10rem !important;
  -webkit-line-clamp: 3 !important;
  margin-bottom: 0.65rem !important;
}
.news-card--featured .news-card-excerpt {
  -webkit-line-clamp: 4 !important;
}

/* ── Compact horizontal variant ──────────────────────────── */
.news-card--compact {
  flex-direction: row !important;
  height: auto !important;
}
.news-card--compact .news-card-img {
  width: 148px !important;
  min-width: 148px !important;
  height: auto !important;
  min-height: 130px !important;
}
.news-card--compact .news-card-body {
  padding: 0.90rem 1.00rem 0.85rem !important;
}
.news-card--compact .news-card-title {
  font-size: 0.88rem !important;
  -webkit-line-clamp: 2 !important;
}
.news-card--compact .news-card-excerpt {
  font-size: 0.74rem !important;
  -webkit-line-clamp: 2 !important;
}
.news-card--compact .nc-cta {
  margin-top: 0.65rem !important;
  font-size: 0.70rem !important;
}
.news-card--compact .news-cat {
  font-size: 0.56rem !important;
  padding: 0.22rem 0.56rem !important;
  top: 8px !important;
  left: 8px !important;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 479.98px) {
  .news-card--compact {
    flex-direction: column !important;
  }
  .news-card--compact .news-card-img {
    width: 100% !important;
    min-width: 0 !important;
    height: 160px !important;
  }
}

/* ============================================================
   v13 — Timeline / Activity Section Redesign
   ============================================================ */

.section-timeline {
  background: #EDF2F9 !important;
  padding: 80px 0 84px !important;
}

/* Left column typography */
.tl-heading {
  font-size: clamp(1.75rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  color: #091A38 !important;
  margin-bottom: 1.10rem !important;
}
.tl-lead {
  font-size: 0.90rem !important;
  margin-bottom: 0 !important;
  max-width: 340px !important;
}

/* Step list reset */
.tl-steps {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Step row */
.tl-step {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1.10rem !important;
  padding: 1.05rem 0 !important;
  border-bottom: 1px solid rgba(26,90,144,0.12) !important;
  transition: background 0.22s !important;
}
.tl-step:first-child { padding-top: 0 !important; }
.tl-step:last-child  { border-bottom: none !important; padding-bottom: 0 !important; }

/* Icon pill */
.tl-step-icon {
  flex-shrink: 0 !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.05rem !important;
  background: rgba(var(--sc, 26,90,144), 0.10) !important;
  border: 1.5px solid rgba(var(--sc, 26,90,144), 0.20) !important;
  color: rgb(var(--sc, 26,90,144)) !important;
  box-shadow: 0 2px 8px rgba(var(--sc, 26,90,144), 0.10) !important;
  transition: transform 0.24s, background 0.24s !important;
  margin-top: 2px !important;
}
.tl-step:hover .tl-step-icon {
  transform: translateY(-2px) scale(1.07) !important;
  background: rgba(var(--sc, 26,90,144), 0.18) !important;
}

/* Body */
.tl-step-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
}

/* Number tag */
.tl-step-num {
  font-size: 0.62rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  margin-bottom: 0.20rem !important;
  display: block !important;
}

/* Title */
.tl-step-title {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: #0B1733 !important;
  margin-bottom: 0.22rem !important;
  line-height: 1.30 !important;
}

/* Description */
.tl-step-desc {
  font-size: 0.9375rem !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* ============================================================
   v14 — News Cards (3-column uniform row)
   ============================================================ */

/* ── Section ──────────────────────────────────────────────── */

/* ── Card shell ───────────────────────────────────────────── */
.ncard {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #ffffff !important;
  border: 1px solid #C8D8EB !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px rgba(9,26,80,0.05), 0 8px 22px rgba(9,26,80,0.07) !important;
}
.ncard:hover {
  box-shadow: 0 10px 28px rgba(26,90,144,0.14), 0 24px 48px rgba(9,26,80,0.10) !important;
  border-color: rgba(26,90,144,0.35) !important;
}

/* ── Image wrapper ────────────────────────────────────────── */
.ncard-img-wrap {
  position: relative !important;
  overflow: hidden !important;
  height: 210px !important;
  flex-shrink: 0 !important;
}
.ncard-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(0.96) brightness(1.02) !important;
  transition: transform 0.44s ease, filter 0.44s ease !important;
}
.ncard:hover .ncard-img {
  transform: scale(1.05) !important;
  filter: saturate(0.94) brightness(1.00) !important;
}

/* ── Category badge ───────────────────────────────────────── */
.ncard-cat {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  font-size: 0.60rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 0.26rem 0.70rem !important;
  border-radius: 100px !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  backdrop-filter: blur(8px) !important;
}

/* ── Body ─────────────────────────────────────────────────── */
.ncard-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 1.30rem 1.35rem 1.20rem !important;
}

/* ── Date line ────────────────────────────────────────────── */
.ncard-date {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.28rem !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: #8AA3C0 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 0.60rem !important;
}
.ncard-date .bi { font-size: 0.66rem !important; }

/* ── Title ────────────────────────────────────────────────── */
.ncard-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #091A38 !important;
  margin-bottom: 0.65rem !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  -webkit-line-clamp: 3 !important;
}
.ncard-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.20s !important;
}

/* ── Excerpt ──────────────────────────────────────────────── */
.ncard-excerpt {
  font-size: 0.86rem !important;
  color: #4E6A8A !important;
  line-height: 1.74 !important;
  margin: 0 0 auto !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  -webkit-line-clamp: 3 !important;
}

/* ── Divider before CTA ───────────────────────────────────── */
.ncard-body::after {
  content: '' !important;
  height: 1px !important;
  background: rgba(9,26,80,0.08) !important;
  margin: 1.10rem 0 0.85rem !important;
}

/* ── CTA link ─────────────────────────────────────────────── */
.ncard-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.36rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: gap 0.20s, color 0.20s !important;
}
.ncard-cta svg { transition: transform 0.20s !important; flex-shrink: 0 !important; }
.ncard-cta:hover svg { transform: translateX(3px) !important; }

/* ============================================================
   v15 — News · Partners · Footer polish
   ============================================================ */

/* ── Fix: ncard divider bug ───────────────────────────────── */
/* ::after on flex container renders AFTER ncard-cta, not before.
   Use border-top on the CTA itself instead.                  */
.ncard-body::after { display: none !important; }
.ncard-cta {
  border-top: 1px solid rgba(9,26,80,0.08) !important;
  padding-top: 0.82rem !important;
  margin-top: 1.05rem !important;
}

/* ── News section heading ─────────────────────────────────── */
.news-section-h2 {
  font-size: clamp(1.60rem,3vw,2.20rem) !important;
  font-weight: 800 !important;
  color: #091A38 !important;
}

/* ── section-news section bg ──────────────────────────────── */
.section-news {
  background: #F0F5FB !important;
  padding: 76px 0 84px !important;
}

/* ── Partners strip ───────────────────────────────────────── */

/* Label above carousel */
.partners-strip-label {
  text-align: center !important;
  margin-bottom: 2.20rem !important;
}
.partners-strip-label span {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #9EB5CC !important;
  display: inline-block !important;
}

/* Partner logo cards */

/* ── Footer: logo fix (invert dark logo to white) ─────────── */
.footer-logo {
  width: auto !important;
  max-width: 200px !important;
  filter: brightness(0) invert(1) opacity(0.88) !important;
  display: block !important;
}

/* Footer body padding */
.footer-body {
  padding: 64px 0 44px !important;
}

/* Footer desc */
.footer-desc {
  margin-bottom: 0 !important;
}

/* Footer column headings */
.footer-title {
  border-bottom: 1px solid rgba(103,211,255,0.08) !important;
  display: block !important;
}

/* Footer nav links */
.footer-links a {
  display: block !important;
  padding: 0 !important;
  transition: color 0.20s, padding-left 0.20s !important;
}
.footer-links a:hover {
  padding-left: 5px !important;
}

/* Footer contact items */
.footer-contact-item {
  font-size: 0.855rem !important;
  color: rgba(205,228,255,0.86) !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  margin-bottom: 0.85rem !important;
  line-height: 1.58 !important;
}
.footer-contact-item i {
  color: #67D3FF !important;
  font-size: 0.88rem !important;
  margin-top: 3px !important;
  flex-shrink: 0 !important;
}

/* Social icons */
.footer-social {
  display: flex !important;
  gap: 0.55rem !important;
  margin-top: 1.25rem !important;
}

/* Footer bottom bar */
.footer-bottom {
  border-top: 1px solid rgba(103,211,255,0.07) !important;
}
.footer-bottom-inner {
  font-size: 0.775rem !important;
  color: rgba(170,205,240,0.68) !important;
}
.footer-bottom span {
  color: rgba(170,205,240,0.68) !important;
  font-size: 0.775rem !important;
}

/* ════════════════════════════════════════════════════════════
   UTILITY BAR PREMIUM — height, spacing, social brightness
   ════════════════════════════════════════════════════════════ */

/* Taller bar with comfortable vertical rhythm */
.utility-bar {
  height: 40px !important;
}
.utility-bar-inner {
  height: 100% !important;
  padding: 0 0.15rem !important;
}

/* Navbar drops to sit just below */
#mainNav { top: 40px !important; }
@media (max-width: 991.98px) {
  #mainNav { top: 0 !important; }
  .utility-bar { display: none !important; }
}

/* Social icons — bright, distinct brand tones */
.utility-soc-btn {
  width: 24px !important;
  height: 24px !important;
  font-size: 0.76rem !important;
  color: rgba(220, 238, 255, 0.90) !important;
  border-radius: 5px !important;
  transition: color 0.18s ease, background 0.18s ease, transform 0.15s ease !important;
}
.utility-soc-btn[aria-label="Telegram"]  { color: rgba(42,  171, 238, 0.95) !important; }
.utility-soc-btn[aria-label="Instagram"] { color: rgba(225,  48, 108, 0.92) !important; }
.utility-soc-btn[aria-label="Facebook"]  { color: rgba( 24, 119, 242, 0.92) !important; }
.utility-soc-btn[aria-label="YouTube"]   { color: rgba(255,  45,  45, 0.92) !important; }

.utility-soc-btn[aria-label="Telegram"]:hover  { color: #2AABEE !important; background: rgba(42,171,238,0.10) !important; }
.utility-soc-btn[aria-label="Instagram"]:hover { color: #E1306C !important; background: rgba(225,48,108,0.10) !important; }
.utility-soc-btn[aria-label="Facebook"]:hover  { color: #1877F2 !important; background: rgba(24,119,242,0.10) !important; }
.utility-soc-btn[aria-label="YouTube"]:hover   { color: #FF2D2D !important; background: rgba(255,45,45,0.10) !important; }
.utility-soc-btn:hover { transform: translateY(-1px) !important; }

/* Accessibility dropdown trigger button */
.utility-access-btn {
  width: 26px !important;
  height: 26px !important;
  font-size: 0.88rem !important;
  color: rgba(103, 211, 255, 0.82) !important;
  border: 1px solid rgba(103, 211, 255, 0.20) !important;
  border-radius: 6px !important;
  background: rgba(103, 211, 255, 0.05) !important;
  transition: all 0.18s ease !important;
}
.utility-access-btn:hover,
.utility-access-btn[aria-expanded="true"] {
  color: #67D3FF !important;
  background: rgba(103, 211, 255, 0.14) !important;
  border-color: rgba(103, 211, 255, 0.45) !important;
  box-shadow: 0 0 10px rgba(103, 211, 255, 0.18) !important;
}

/* Settings panel z-index: must float above navbar */
.util-access-drop .settings-panel {
  z-index: 1100 !important;
  margin-top: 7px !important;
}

/* Ministry / official text links — visible on dark bar */
.utility-ministry-link { color: rgba(225,240,255,0.84) !important; }
.utility-ministry-link:hover { color: #ffffff !important; }

/* Social row gap — slightly tighter */
.utility-social-row { gap: 0.06rem !important; }

/* ════════════════════════════════════════════════════════════
   NAVBAR DROPDOWNS — unified, compact, consistent
   ════════════════════════════════════════════════════════════ */

.dropdown-menu-custom {
  min-width: 228px !important;
  padding: 0.30rem 0 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid rgba(210,225,245,0.85) !important;
  box-shadow:
    0 4px 12px rgba(8,24,60,0.10),
    0 16px 40px rgba(8,24,60,0.14) !important;
  margin-top: 0.30rem !important;
}

.dropdown-item-custom {
  display: flex !important;
  align-items: center !important;
  gap: 0.60rem !important;
  padding: 0.48rem 1.0rem !important;
  font-weight: 500 !important;
  color: #1A2B45 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
  transition: background 0.15s, color 0.15s !important;
  border-radius: 0 !important;
}
.dropdown-item-custom:hover {
  background: #EFF5FC !important;
  color: #071E3E !important;
}
.dropdown-item-custom i {
  width: 16px !important;
  font-size: 0.82rem !important;
  flex-shrink: 0 !important;
  color: #2B7EA1 !important;
  opacity: 0.85 !important;
}

/* ════════════════════════════════════════════════════════════
   QO'LLAB-QUVVATLASH MEXANIZMLARI — replaces section-timeline
   ════════════════════════════════════════════════════════════ */
.section-support {
  padding: 5.5rem 0;
}

.support-card {
  background: #ffffff;
  border-radius: 16px;
  height: 100%;
  border: 1px solid rgba(210,225,245,0.70);
  box-shadow: 0 2px 8px rgba(8,24,60,0.04);
  display: flex;
  flex-direction: column;
}
.support-card:hover {
  border-color: rgba(var(--spc), 0.28);
}

.support-card-icon {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background: linear-gradient(135deg,
    rgba(var(--spc), 0.09) 0%,
    rgba(var(--spc), 0.18) 100%);
  border: 1px solid rgba(var(--spc), 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  color: rgb(var(--spc));
  margin-bottom: 1.2rem;
  flex-shrink: 0;
  transition: background 0.24s ease, border-color 0.24s ease, transform 0.24s ease;
}
.support-card:hover .support-card-icon {
  transform: scale(1.07);
  background: linear-gradient(135deg,
    rgba(var(--spc), 0.15) 0%,
    rgba(var(--spc), 0.28) 100%);
  border-color: rgba(var(--spc), 0.35);
}

.support-card h5 {
  color: #071E3E;
  margin-bottom: 0.65rem;
  line-height: 1.3;
}
.support-card p {
  color: rgba(40,65,105,0.65);
  flex: 1;
  margin-bottom: 1.25rem;
}
.support-card-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.40rem;
  padding: 0.28rem 0.80rem;
  border: 1px solid rgba(var(--spc), 0.16);
  border-radius: 20px;
  font-size: 0.715rem;
  font-weight: 600;
  letter-spacing: 0.025em;
  margin-top: auto;
  width: fit-content;
}
.support-card-stat i { font-size: 0.70rem; }

/* ── Page Hero: match index.html hero darkness ─────────────────── */
.page-hero {
  background: linear-gradient(
    160deg,
    #060F22 0%,
    #08152E 40%,
    #0B1E44 100%
  ) !important;
}

/* ============================================================
   LARGE SCREEN RESPONSIVE
   1600px · 1920px (FHD) · 2560px (QHD/2K) · 3840px (4K/UHD)
   ============================================================ */

/* ── 1600px+ — kengaytirilgan desktop ───────────────────── */
@media (min-width: 1600px) {
  .container,
  .container-xl-custom {
    max-width: 1540px !important;
  }
  section { padding: 96px 0; }
  .section-header p { max-width: 680px; }
}

/* ── 1920px+ — FHD va katta monitorlar ──────────────────── */
@media (min-width: 1920px) {
  .container,
  .container-xl-custom {
    max-width: 1840px !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  section { padding: 96px 0; }
  .section-support  { padding: 6.5rem 0; }
  .section-news,
  .section-programs { padding: 88px 0 96px !important; }
  .section-about    { padding: 88px 0 84px !important; }
  .section-partners { padding: 56px 0 60px !important; }
  .section-contact-cta { padding: 96px 0 !important; }

  h1 { font-size: clamp(3rem, 3.4vw, 5rem); }
  h2 { font-size: clamp(2.4rem, 2.6vw, 3.8rem); }
  h3 { font-size: clamp(1.5rem, 1.8vw, 2.4rem); }

  .hero-title {
    font-size: clamp(2.8rem, 3.6vw, 5rem) !important;
  }
  .hero-subtitle {
    font-size: clamp(1.1rem, 1.2vw, 1.5rem) !important;
    max-width: 660px !important;
  }
  .hero-row { padding: 150px 0 96px !important; }

  .section-header p { max-width: 760px; font-size: 1.125rem; }
  .about-heading    { font-size: 2.4rem !important; }
  .about-lead       { max-width: 520px !important; font-size: 1.0625rem !important; }


  .program-card-img { height: 220px !important; }
  .about-section-img { height: 480px !important; }

  .support-card   { padding: 2.2rem; }
  .support-card-icon { width: 62px; height: 62px; font-size: 1.5rem; }
  .support-card h5   { font-size: 1.05rem; }

  .ncard-img-wrap { height: 240px !important; }
  .news-section-h2 { font-size: clamp(1.8rem,2.4vw,2.6rem) !important; }

  .partner-logo-card { height: 84px !important; }
  .partner-logo-card img { max-height: 44px !important; max-width: 130px !important; }

  .footer-body { padding: 76px 0 56px !important; }
  .footer-desc { max-width: 340px !important; }

  .page-hero { padding: 160px 0 90px; }
}

/* ── 2560px+ — QHD / 2K monitorlar ──────────────────────── */
@media (min-width: 2560px) {
  .container,
  .container-xl-custom {
    max-width: 2440px !important;
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }

  section { padding: 120px 0; }
  .section-support  { padding: 8rem 0; }
  .section-news,
  .section-programs { padding: 112px 0 120px !important; }
  .section-about    { padding: 112px 0 108px !important; }
  .section-partners { padding: 72px 0 76px !important; }
  .section-contact-cta { padding: 120px 0 !important; }
  .section-directions { padding: 120px 0; }

  body { font-size: 1.18rem; }
  h1 { font-size: clamp(3.8rem, 3.2vw, 6.5rem); }
  h2 { font-size: clamp(2.8rem, 2.4vw, 4.8rem); }
  h3 { font-size: clamp(1.9rem, 1.8vw, 3.2rem); }
  h4 { font-size: 1.65rem; }
  p  { font-size: 1.1rem; }

  .hero-title {
    font-size: clamp(3.8rem, 3.4vw, 6.5rem) !important;
  }
  .hero-subtitle {
    font-size: clamp(1.25rem, 1.2vw, 1.9rem) !important;
    max-width: 900px !important;
  }
  .hero-row { padding: 210px 0 130px !important; }
  .hero-eyebrow { font-size: 0.82rem !important; letter-spacing: 0.20em !important; }

  .section-header p   { max-width: 1080px; font-size: 1.15rem; }
  .section-header .tag { font-size: 0.82rem !important; padding: 0.45rem 1.1rem !important; }
  .section-header h2  { margin-bottom: 1.2rem; }
  .section-header     { margin-bottom: 4.5rem; }

  .about-heading { font-size: 3.0rem !important; }
  .about-lead    { max-width: 640px !important; font-size: 1.12rem !important; }

  .utility-bar { height: 48px !important; }
  #mainNav { top: 48px !important; }
  #mainNav.scrolled { top: 0 !important; }
  #mainNav { padding: 1.1rem 0 !important; }
  .navbar-brand img { height: 50px !important; }
  .navbar-brand .brand-text { max-width: 280px !important; }
  .navbar-brand .brand-name { font-size: 0.92rem !important; }
  .navbar-brand .brand-tagline { font-size: 0.68rem !important; }
  .nav-link-custom { font-size: 0.85rem !important; padding: 0.55rem 1.05rem !important; }
  .btn-icon-ctrl { height: 40px !important; font-size: 1.15rem !important; }
  .utility-soc-btn { width: 28px !important; height: 28px !important; font-size: 0.88rem !important; }
  .utility-access-btn { width: 30px !important; height: 30px !important; }
  .utility-contact-item { font-size: 0.78rem !important; }
  .utility-doc-link     { font-size: 0.78rem !important; }


  .program-card-img { height: 260px !important; }
  .program-card--featured { min-height: 340px !important; }
  .program-card--featured .program-card-img { min-height: 340px !important; }
  .program-card-title { font-size: 1.15rem !important; }
  .program-card-desc  { font-size: 0.95rem !important; }
  .pc-icon { width: 42px; height: 42px; font-size: 0.98rem; }

  .about-section-img { height: 620px !important; }
  .about-tag { font-size: 0.82rem; padding: 0.52rem 1.15rem; }
  .about-cta-btn { font-size: 0.95rem; padding: 0.75rem 1.35rem; }

  .support-card   { padding: 2.6rem; border-radius: 20px; }
  .support-card-icon { width: 72px; height: 72px; font-size: 1.7rem; border-radius: 17px; }
  .support-card h5   { font-size: 1.15rem; }
  .support-card p    { font-size: 0.95rem; }
  .support-card-stat { font-size: 0.84rem; padding: 0.36rem 1rem; }

  .direction-card { padding: 2.1rem 1.65rem 1.9rem !important; border-radius: 16px !important; }
  .direction-icon { width: 86px !important; height: 86px !important; border-radius: 22px !important; }
  .direction-card h4 { font-size: 1.1rem !important; }
  .direction-card p  { font-size: 0.9rem !important; }

  .ncard-img-wrap { height: 270px !important; }
  .ncard-title    { font-size: 1.1rem !important; }
  .ncard-excerpt  { font-size: 0.92rem !important; }
  .news-section-h2 { font-size: clamp(2rem,2.2vw,3.2rem) !important; }
  .news-all-btn   { font-size: 0.95rem !important; padding: 0.65rem 1.4rem !important; }

  .btn-primary-custom,
  .btn-outline-primary-c {
    font-size: 0.95rem !important;
    padding: 0.88rem 2rem !important;
  }

  .partner-logo-card { height: 100px !important; }
  .partner-logo-card img { max-height: 52px !important; max-width: 155px !important; }
  .partners-strip-label span { font-size: 0.78rem !important; }

  .contact-info-card { padding: 1.65rem !important; border-radius: 12px !important; }
  .contact-info-icon { width: 52px !important; height: 52px !important; font-size: 1.2rem !important; }
  .contact-info-card h6 { font-size: 0.98rem !important; }
  .contact-info-card p  { font-size: 0.95rem !important; }

  .footer-body { padding: 96px 0 72px !important; }
  .footer-desc { max-width: 420px !important; font-size: 1rem !important; }
  .footer-title { font-size: 0.76rem !important; }
  .footer-links a { font-size: 1rem !important; }
  .footer-contact-item { font-size: 1rem !important; }
  .social-icon { width: 44px !important; height: 44px !important; font-size: 1.05rem !important; }
  .footer-logo { height: 58px !important; }
  .footer-bottom span { font-size: 0.9rem !important; }

  #backToTop { width: 44px !important; height: 44px !important; font-size: 0.9rem !important; }

  .page-hero { padding: 190px 0 110px; }
  .dropdown-menu-custom { min-width: 270px !important; }
  .dropdown-item-custom { font-size: 0.96rem !important; padding: 0.60rem 1.2rem !important; }
}

/* ── 3840px+ — 4K / UHD monitorlar ──────────────────────── */
@media (min-width: 3840px) {
  .container,
  .container-xl-custom {
    max-width: 3600px !important;
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }

  section { padding: 160px 0; }
  .section-support  { padding: 11rem 0; }
  .section-news,
  .section-programs { padding: 152px 0 160px !important; }
  .section-about    { padding: 152px 0 148px !important; }
  .section-partners { padding: 96px 0 100px !important; }
  .section-contact-cta { padding: 160px 0 !important; }
  .section-directions { padding: 160px 0; }

  body { font-size: 1.5rem; }
  h1 { font-size: clamp(5rem, 3.2vw, 9rem); }
  h2 { font-size: clamp(4rem, 2.5vw, 7rem); }
  h3 { font-size: clamp(2.5rem, 2vw, 4.2rem); }
  h4 { font-size: 2.2rem; }
  p  { font-size: 1.4rem; }

  .hero-title {
    font-size: clamp(5rem, 3.2vw, 8rem) !important;
  }
  .hero-subtitle {
    font-size: clamp(1.5rem, 1.2vw, 2.8rem) !important;
    max-width: 1300px !important;
  }
  .hero-row { padding: 300px 0 200px !important; }
  .hero-eyebrow { font-size: 1rem !important; letter-spacing: 0.22em !important; margin-bottom: 2rem !important; }

  .section-header p   { max-width: 1500px; font-size: 1.4rem; }
  .section-header .tag { font-size: 1rem !important; padding: 0.55rem 1.4rem !important; }
  .section-header     { margin-bottom: 6rem; }

  .about-heading { font-size: 4.2rem !important; }
  .about-lead    { max-width: 900px !important; font-size: 1.4rem !important; }

  .utility-bar { height: 60px !important; }
  #mainNav { top: 60px !important; padding: 1.4rem 0 !important; }
  #mainNav.scrolled { top: 0 !important; }
  .navbar-brand img { height: 64px !important; }
  .navbar-brand .brand-text { max-width: 380px !important; }
  .navbar-brand .brand-name { font-size: 1.15rem !important; }
  .navbar-brand .brand-tagline { font-size: 0.85rem !important; }
  .navbar-brand { gap: 0.9rem !important; }
  .nav-link-custom { font-size: 1.0rem !important; padding: 0.70rem 1.25rem !important; }
  .nav-desktop-list { gap: 0.3rem !important; }
  .btn-icon-ctrl { height: 50px !important; font-size: 1.35rem !important; padding: 0 0.7rem !important; }
  .utility-soc-btn { width: 36px !important; height: 36px !important; font-size: 1.1rem !important; }
  .utility-access-btn { width: 38px !important; height: 38px !important; font-size: 1.1rem !important; }
  .utility-contact-item { font-size: 0.98rem !important; gap: 0.55rem !important; }
  .utility-doc-link     { font-size: 0.98rem !important; }
  .lang-code-cur { font-size: 0.92rem !important; }


  .program-card-img { height: 380px !important; }
  .program-card--featured { min-height: 480px !important; }
  .program-card--featured .program-card-img { min-height: 480px !important; }
  .program-card-body { padding: 2.2rem 2.1rem 2rem !important; }
  .program-card-title { font-size: 1.55rem !important; }
  .program-card-desc  { font-size: 1.22rem !important; }
  .pc-icon { width: 56px; height: 56px; border-radius: 14px; font-size: 1.2rem; margin-bottom: 1.2rem; }
  .pc-cta  { font-size: 1.0rem !important; }

  .about-section-img { height: 900px !important; }
  .about-tag { font-size: 1.0rem; padding: 0.65rem 1.45rem; }
  .about-cta-btn { font-size: 1.15rem; padding: 0.92rem 1.7rem; }
  .fib-icon { width: 60px; height: 60px; border-radius: 16px; }
  .fib-body h6 { font-size: 1.1rem !important; }
  .fib-body p  { font-size: 1.0rem !important; }

  .support-card { padding: 3.4rem; border-radius: 24px; }
  .support-card-icon { width: 96px; height: 96px; font-size: 2.2rem; border-radius: 22px; }
  .support-card h5   { font-size: 1.55rem; }
  .support-card p    { font-size: 1.2rem; }
  .support-card-stat { font-size: 1.08rem; padding: 0.50rem 1.3rem; }

  .direction-card { padding: 2.8rem 2.2rem 2.6rem !important; border-radius: 20px !important; }
  .direction-icon { width: 110px !important; height: 110px !important; border-radius: 28px !important; margin-bottom: 1.5rem !important; }
  .direction-card h4 { font-size: 1.45rem !important; }
  .direction-card p  { font-size: 1.14rem !important; }

  .ncard-img-wrap { height: 360px !important; }
  .ncard-body { padding: 1.8rem 1.9rem 1.7rem !important; }
  .ncard-title   { font-size: 1.45rem !important; }
  .ncard-excerpt { font-size: 1.15rem !important; }
  .ncard-date    { font-size: 1.0rem !important; }
  .ncard-cta     { font-size: 1.05rem !important; }
  .news-section-h2 { font-size: clamp(2.8rem,2.2vw,4.5rem) !important; }
  .news-all-btn   { font-size: 1.15rem !important; padding: 0.85rem 1.8rem !important; }

  .btn-primary-custom,
  .btn-outline-primary-c {
    font-size: 1.18rem !important;
    padding: 1.1rem 2.6rem !important;
    border-radius: 10px !important;
  }

  .partner-logo-card { height: 140px !important; padding: 1.4rem 2rem !important; }
  .partner-logo-card img { max-height: 72px !important; max-width: 220px !important; }
  .partners-strip-label span { font-size: 1rem !important; }
  .partners-strip-label { margin-bottom: 3.2rem !important; }

  .contact-info-card { padding: 2.2rem !important; border-radius: 16px !important; }
  .contact-info-icon { width: 68px !important; height: 68px !important; font-size: 1.5rem !important; border-radius: 14px !important; }
  .contact-info-card h6 { font-size: 1.22rem !important; }
  .contact-info-card p  { font-size: 1.18rem !important; }

  .footer-body { padding: 130px 0 100px !important; }
  .footer-desc { max-width: 560px !important; font-size: 1.3rem !important; line-height: 1.8 !important; }
  .footer-title { font-size: 0.95rem !important; margin-bottom: 1.7rem !important; }
  .footer-links a { font-size: 1.3rem !important; }
  .footer-links li { margin-bottom: 0.9rem !important; }
  .footer-contact-item { font-size: 1.3rem !important; margin-bottom: 1.2rem !important; }
  .footer-contact-item i { font-size: 1.15rem !important; }
  .social-icon { width: 56px !important; height: 56px !important; font-size: 1.35rem !important; border-radius: 14px !important; }
  .footer-social { gap: 0.75rem !important; margin-top: 1.6rem !important; }
  .footer-logo { height: 76px !important; }
  .footer-bottom span { font-size: 1.1rem !important; }
  .footer-bottom { padding: 1.7rem 0 !important; }
  .footer-wave { height: 110px; }

  .hero-process-panel { max-width: 740px !important; padding: 3rem 2.8rem 2.6rem; }
  .hpp-svg { max-width: 740px !important; }
  .hpp-eyebrow { font-size: 0.92rem !important; letter-spacing: 0.22em !important; }

  #backToTop { width: 58px !important; height: 58px !important; font-size: 1.1rem !important; border-radius: 10px !important; bottom: 2.2rem !important; right: 2.2rem !important; }

  .page-hero { padding: 240px 0 140px; }
  .dropdown-menu-custom { min-width: 340px !important; }
  .dropdown-item-custom { font-size: 1.18rem !important; padding: 0.75rem 1.5rem !important; }
  .dropdown-item-custom i { font-size: 1.0rem !important; width: 22px !important; }

  .about-img-wrapper::before { inset: -12px -12px -18px -18px; border-radius: 30px; }
  .section-transition--sm { height: 56px; }
  .section-transition--md { height: 64px; }
}

/* ════════════════════════════════════════════════════════════
   HERO PREMIUM — Uppercase gradient title + HPP diagram
   ════════════════════════════════════════════════════════════ */

/* Hero title: institutional uppercase + gradient depth */
/* Column width: col-xl-7 = 746px @ 1320px container. 3 natural lines at ~50px. */

/* Hero text — white palette */
.hero-eyebrow  { color: rgba(235,245,255,0.80) !important; }
.eyebrow-dot   { background: rgba(255,255,255,0.65) !important; }

/* HPP diagram — larger base size + brighter eyebrow */
.hero-process-panel { max-width: 490px !important; }
.hpp-svg            { max-width: 490px !important; }
.hpp-eyebrow {
  color: rgba(235,245,255,0.80) !important;
  font-size: 0.70rem !important;
  letter-spacing: 0.18em !important;
}

@media (min-width: 1920px) {
  .hero-title         { font-size: clamp(2.90rem, 2.65vw, 3.15rem) !important; }
  .hero-process-panel { max-width: 600px !important; }
  .hpp-svg            { max-width: 600px !important; }
}
@media (min-width: 2560px) {
  .hero-title         { font-size: clamp(3.20rem, 2.65vw, 3.60rem) !important; }
  .hero-process-panel { max-width: 680px !important; }
  .hpp-svg            { max-width: 680px !important; }
}
@media (min-width: 3840px) {
  .hero-title         { font-size: clamp(4.20rem, 2.65vw, 5.20rem) !important; }
}

/* ════════════════════════════════════════════════════════════
   INNOVATION LIFECYCLE — Ilon-izi SVG diagrammasi (v2)
   ════════════════════════════════════════════════════════════ */

.section-lifecycle {
  position: relative;
  background: linear-gradient(180deg, #08152E 0%, #091C38 100%);
  padding: 52px 0 64px;
  overflow: hidden;
}

/* Dot grid — subtle visual break from hero */
.lc-bg {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(78,142,247,0.065) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none;
}

/* Top separator line */
.section-lifecycle::before {
  content: '';
  position: absolute;
  top: 0; left: 8%; right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(78,142,247,0.24) 30%, rgba(103,211,255,0.40) 50%, rgba(78,142,247,0.24) 70%, transparent);
}

/* ── Premium head row ── */
.lc-head-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 48px;
}

.lc-head-ghost {
  flex-shrink: 0;
  user-select: none;
}

.lc-head-title {
  margin: 0;
}

/* ── Flow wrapper: fixed height, relative for absolute nodes ── */
.lc-flow-wrap {
  position: relative;
  height: 360px;
  width: 100%;
  overflow: visible;
}

/* SVG covers full wrapper — path only */
.lc-path-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Animated dashes */
@keyframes lc-path-flow {
  to { stroke-dashoffset: -28; }
}
.lc-path-anim { animation: lc-path-flow 2.8s linear infinite; }

/* ── HTML Nodes ── */
.lcn {
  position: absolute;
  width: 80px;
  height: 80px;
  transform: translate(-50%, -50%);
  z-index: 4;
}

/* Pulsing outer ring */
.lcn-ring {
  position: absolute;
  top: 50%; left: 50%;
  width: 108px; height: 108px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1.5px solid rgba(var(--lcc), 0.20);
  animation: lcn-ring-pulse 3s ease-in-out infinite;
  pointer-events: none;
}

.lcn:nth-child(2) .lcn-ring { animation-delay: 0.5s; }
.lcn:nth-child(3) .lcn-ring { animation-delay: 1.0s; }
.lcn:nth-child(4) .lcn-ring { animation-delay: 1.5s; }
.lcn:nth-child(5) .lcn-ring { animation-delay: 2.0s; }
.lcn:nth-child(6) .lcn-ring { animation-delay: 2.5s; }
.lcn:nth-child(7) .lcn-ring { animation-delay: 3.0s; }

@keyframes lcn-ring-pulse {
  0%, 100% { transform: translate(-50%,-50%) scale(1);    opacity: 0.20; }
  50%       { transform: translate(-50%,-50%) scale(1.20); opacity: 0.46; }
}

/* Main circle */
.lcn-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(var(--lcc), 0.10);
  border: 2px solid rgba(var(--lcc), 0.52);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.80rem;
  color: rgb(var(--lcc));
  position: relative;
  z-index: 2;
  transition: background 0.30s, transform 0.30s, box-shadow 0.30s;
  box-shadow:
    0 0 28px rgba(var(--lcc), 0.18),
    0 0 72px rgba(var(--lcc), 0.08),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.lcn:hover .lcn-circle {
  background: rgba(var(--lcc), 0.22);
  transform: translateY(-8px);
  box-shadow:
    0 18px 44px rgba(var(--lcc), 0.32),
    0 0 90px rgba(var(--lcc), 0.14);
}

/* Number badge */
.lcn-num {
  position: absolute;
  top: 3px; right: 3px;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(var(--lcc), 0.92);
  color: #07101E;
  font-size: 0.68rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  box-shadow: 0 2px 10px rgba(var(--lcc), 0.45);
}

/* Labels */
.lcn-info-above {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  white-space: nowrap;
}

.lcn-info-below {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  white-space: nowrap;
}

.lcn-label {
  display: block;
}

/* ── Mobile vertical track ── */
.lc-mobile-track {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 4px 8px 0;
}

.lc-m-item {
  display: flex;
  align-items: center;
  gap: 18px;
  position: relative;
}

.lc-m-dot {
  width: 50px; height: 50px;
  border-radius: 50%;
  flex-shrink: 0;
  background: rgba(var(--lcc), 0.12);
  border: 1.5px solid rgba(var(--lcc), 0.52);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: rgb(var(--lcc));
  position: relative;
  z-index: 2;
  box-shadow: 0 0 18px rgba(var(--lcc), 0.14);
}

.lc-m-vline {
  position: absolute;
  left: 25px; top: 50px;
  width: 1px; height: 32px;
  background: linear-gradient(180deg, rgba(var(--lcc), 0.38), rgba(103,211,255,0.15));
}

.lc-m-content {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 28px;
}
.lc-m-last .lc-m-content { margin-bottom: 0; }
.lc-m-label {
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(225,240,255,0.92);
  line-height: 1.2;
}
.lc-m-desc {
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 991px) {
  .section-lifecycle { padding: 60px 0 68px; }
  .lc-head-row { margin-bottom: 32px; }
}

/* ════════════════════════════════════════════════════════════
   ACCENT UNIFICATION — Navy → Teal family · izchil rang tizimi
   ════════════════════════════════════════════════════════════

   Aksent rang oilasi (barcha light sectionlar uchun):
   · deep navy:   #1A5A90  (26,90,144)
   · blue:        #0E79B5  (14,121,181)
   · teal-blue:   #0C9BB0  (12,155,176)
   · light teal:  #2AACC8  (42,172,200)
   · bright teal: #37C3D7  (55,195,215)

   Dark sectionlar (hero, lifecycle, contact, footer) o'z
   overridelarini saqlab qoladi — bu blok faqat light bg uchun.
   ════════════════════════════════════════════════════════════ */

/* ── Section header tag: teal accent on light backgrounds ── */
.section-header .tag {
  color: #0C9BB0 !important;
  background: rgba(12,155,176,0.08) !important;
  border: 1px solid rgba(12,155,176,0.22) !important;
}
/* Dark-bg contact CTA section: restore cyan tag (comes after to override) */
.section-contact-cta .tag {
  color: rgba(103,211,255,0.90) !important;
  background: rgba(56,127,187,0.14) !important;
  border: 1px solid rgba(103,211,255,0.16) !important;
}

/* ── Pillar card step 4+5: teal family (not green) ── */
.pillar-card[data-step="4"] { border-top-color: #0C9BB0 !important; }
.pillar-card[data-step="4"] .pillar-num { color: #0C9BB0 !important; }
.pillar-card[data-step="5"] { border-top-color: #2AACC8 !important; }
.pillar-card[data-step="5"] .pillar-num { color: #2AACC8 !important; }

/* ── Link-animated: teal on light ── */
.link-animated { color: #0C9BB0 !important; }
.link-animated:hover { color: #0A7B8C !important; }

/* ── About CTA button: teal family ── */
.about-cta-btn {
  color: #0C9BB0 !important;
  background: rgba(12,155,176,0.07) !important;
  border-color: rgba(12,155,176,0.26) !important;
}
.about-cta-btn:hover {
  color: #0A7B8C !important;
  background: rgba(12,155,176,0.13) !important;
  border-color: rgba(12,155,176,0.46) !important;
}

/* ── Program card CTA link ── */
.pc-cta { color: #0C9BB0 !important; }
.pc-cta:hover { color: #0A7B8C !important; }

/* ── News section CTAs ── */
.ncard-cta { color: #0C9BB0 !important; }
.ncard-cta:hover { color: #0A7B8C !important; }
.ncard-title a:hover { color: #0C9BB0 !important; }

.news-all-btn {
  color: #0C9BB0 !important;
  border-color: rgba(12,155,176,0.32) !important;
}
.news-all-btn:hover {
  background: #0C9BB0 !important;
  color: #ffffff !important;
  border-color: #0C9BB0 !important;
}

/* ── Timeline: teal step labels ── */
.tl-step-num { color: rgba(12,155,176,0.50) !important; }
.tl-step { border-bottom-color: rgba(12,155,176,0.14) !important; }

/* ── Stat-plus sign: teal ── */
.stat-plus { color: #0C9BB0 !important; }

/* ── Partners hover: teal glow ── */

/* ── Program card small badge ── */
.pc-badge {
  color: #0C9BB0 !important;
  background: rgba(12,155,176,0.09) !important;
  border-color: rgba(12,155,176,0.22) !important;
}

/* ── About tag ── */
.about-tag {
  color: #0C9BB0 !important;
  background: rgba(12,155,176,0.09) !important;
  border-color: rgba(12,155,176,0.28) !important;
}

/* ════════════════════════════════════════════════════════════
   TYPOGRAPHY REFINEMENT — line-height · spacing · subheading
   ════════════════════════════════════════════════════════════ */

/* ── Section eyebrow tag: more gap before heading ── */
.section-header .tag {
  margin-bottom: 0.95rem !important;
}

/* ── Section heading (h2/h3 inside section-header): breathing ── */
.section-header h2,
.section-header h3 {
  line-height: 1.26 !important;
  letter-spacing: -0.016em !important;
  margin-bottom: 1.25rem !important;
}

/* ── Section subheading paragraph: size + contrast boost ── */
.section-header p {
  line-height: 1.82 !important;
  color: #334D6B !important;
}

/* Dark section: restore soft light color */
.section-contact-cta .section-header p {
  color: rgba(175,212,252,0.76) !important;
  font-size: 1.06rem !important;
}

/* ── About section heading ── */
.about-heading {
  line-height: 1.26 !important;
  letter-spacing: -0.022em !important;
}

/* ── Timeline heading ── */
.tl-heading {
  line-height: 1.26 !important;
}

/* ── News section heading ── */
.news-section-h2 {
  line-height: 1.26 !important;
  letter-spacing: -0.018em !important;
}

/* ── Lifecycle head title ── */

/* ── Pillar section subheading: match new standard ── */
.section-pillars .section-header p {
  font-size: 1.04rem !important;
  line-height: 1.78 !important;
  color: #334D6B !important;
}

/* ── Program card description: slightly more readable ── */
.program-card-desc {
  line-height: 1.70 !important;
}

/* ── Direction card: more comfortable ── */
.direction-card h4 {
  letter-spacing: -0.005em !important;
}

/* ── News card title ── */
.ncard-title {
  line-height: 1.44 !important;
  letter-spacing: -0.008em !important;
}

/* ── Timeline lead text ── */
.tl-lead {
  color: #3D5575 !important;
  line-height: 1.85 !important;
}

/* ════ MICRO-ANIMATIONS ════ */


/* ── Program card: smoother cubic-bezier lift ── */
.program-card {
  transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              border-color 0.32s ease !important;
}
.program-card:hover {
  transform: translateY(-9px) !important;
  box-shadow: 0 6px 14px rgba(9,26,80,0.10), 0 22px 44px rgba(9,26,80,0.14) !important;
}

/* ── News card: smoother lift ── */
.ncard {
  transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              border-color 0.32s ease !important;
}
.ncard:hover {
  transform: translateY(-8px) !important;
}

/* ── Pillar card: smooth lift ── */
.pillar-card {
  transition: transform 0.30s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              box-shadow 0.30s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              border-color 0.28s ease !important;
}
.pillar-card:hover {
  transform: translateY(-5px) !important;
}

/* ── About progress bars ── */
.about-progress-section {
  margin-bottom: 0.5rem;
}
.apr-item {
  margin-bottom: 1.1rem;
}
.apr-item:last-child {
  margin-bottom: 0;
}
.apr-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.apr-label {
  font-size: 0.845rem;
  font-weight: 600;
  color: #334D6B;
  letter-spacing: 0.01em;
}
.apr-val {
  font-size: 0.825rem;
  font-weight: 700;
  color: #1A5A90;
  min-width: 2.5rem;
  text-align: right;
}
.progress-custom {
  height: 5px !important;
  background: #DCE7F5 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}
.progress-bar-custom {
  background: linear-gradient(90deg, #1A5A90 0%, #0C9BB0 100%) !important;
  border-radius: 4px !important;
  transition: width 1.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
[data-theme="dark"] .apr-label { color: var(--text-secondary) !important; }
[data-theme="dark"] .apr-val   { color: var(--color-accent-bright) !important; }
[data-theme="dark"] .progress-custom { background: rgba(255,255,255,0.08) !important; }
.apr-sub {
  font-size: 0.75rem;
  color: #7B90B2;
  margin: 0.35rem 0 0;
  letter-spacing: 0.005em;
}
[data-theme="dark"] .apr-sub { color: var(--text-muted) !important; }

/* ════════════════════════════════════════════════════════════
   UNIFIED SECTION TITLE — .section-title
   Barcha section H2 sarlavhalarini yagona tizimga keltiradi.
   H1 (hero) : 48–64px (clamp)
   H2 section : 40px  (section-title)
   H3 card    : 22–24px (card titles)
   ════════════════════════════════════════════════════════════ */

.section-title {
  margin-bottom: 1rem !important;
}

/* Dark background sections — contact CTA */
.section-contact-cta .section-title {
  color: #F5F9FF !important;
}

/* Tablet */
@media (max-width: 991.98px) {
  .section-title { font-size: 2rem !important; }       /* 32px */
}
/* Large mobile */
@media (max-width: 767.98px) {
  .section-title { font-size: 1.875rem !important; }   /* 30px */
}
/* Mobile */
@media (max-width: 575.98px) {
  .section-title { font-size: 1.75rem !important; }    /* 28px */
}

/* ════════════════════════════════════════════════════════════
   UNIFIED SECTION SPACING — 8-point grid
   Desktop 120px · Laptop 80px · Mobile 48px
   ════════════════════════════════════════════════════════════ */

.section-about,
.section-lifecycle,
.section-directions,
.section-programs,
.section-support,
.section-news,
.section-partners,
.section-contact-cta,
.section-apply-cta,
.section-events {
  padding-top:    120px !important;
  padding-bottom: 120px !important;
}

/* Laptop: 80px */
@media (max-width: 1199.98px) {
  .section-about,
  .section-lifecycle,
  .section-directions,
  .section-programs,
  .section-support,
  .section-news,
  .section-partners,
  .section-contact-cta,
  .section-apply-cta,
  .section-events {
    padding-top:    80px !important;
    padding-bottom: 80px !important;
  }
}

/* Mobile: 48px */
@media (max-width: 767.98px) {
  .section-about,
  .section-lifecycle,
  .section-directions,
  .section-programs,
  .section-support,
  .section-news,
  .section-partners,
  .section-contact-cta,
  .section-apply-cta,
  .section-events {
    padding-top:    48px !important;
    padding-bottom: 48px !important;
  }
}

/* ── Container: 1280px max-width, centered ───────────────── */

/* ── Hero subtitle ───────────────────────────────────────── */

/* ── Hero CTA button hierarchy ───────────────────────────── */

/* ══════════════════════════════════════════════════════════════
   APPLY CTA SECTION
   ══════════════════════════════════════════════════════════════ */
.section-apply-cta {
  background: linear-gradient(135deg, #061224 0%, #0B1E44 100%);
  padding-top: 80px;
  padding-bottom: 80px;
}
.apply-cta-wrap {
  display: flex;
  align-items: center;
}
.apply-cta-left { flex: 1; }
.apply-cta-left .section-title {
  color: #F5F9FF !important;
  margin-top: 0.75rem;
}
.apply-cta-desc {
  max-width: 480px;
  margin-bottom: 2rem;
}
.apply-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.apply-cta-right { flex: 0 0 280px; }
.apply-checklist {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
}
.apply-checklist li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.apply-checklist li:last-child { border-bottom: none; }
.apply-response-note {
  color: rgba(220,235,255,0.78);
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  letter-spacing: 0.01em;
}
.apply-response-note i { color: #0EA5B7; font-size: 1rem; }
.tag--glow {
  background: rgba(14,165,183,0.15);
  color: #0EA5B7;
  border: 1px solid rgba(14,165,183,0.30);
}
.section-apply-cta .btn-primary-custom {
  background: #0EA5B7 !important;
  border-color: #0EA5B7 !important;
  color: #fff !important;
}
.section-apply-cta .btn-primary-custom:hover {
  background: #0c8fa0 !important;
  border-color: #0c8fa0 !important;
}
.section-apply-cta .btn-outline-primary-c {
  opacity: 1 !important;
}
@media (max-width: 991.98px) {
  .apply-cta-right { flex: 0 0 240px; }
}
@media (max-width: 767.98px) {
  .section-apply-cta { padding-top: 48px; padding-bottom: 48px; }
  .apply-cta-wrap { flex-direction: column; gap: 2.5rem; }
  .apply-cta-right { flex: 0 0 auto; width: 100%; }
}

/* ══════════════════════════════════════════════════════════════
   EVENTS SECTION
   ══════════════════════════════════════════════════════════════ */
.section-events {
  background: #ffffff;
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Vertical event card (2-column grid) */
.event-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #F9FAFB;
  border: 1px solid rgba(9,26,56,0.07);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.event-card:hover {
  box-shadow: 0 6px 28px rgba(9,26,56,0.09);
  border-color: rgba(14,165,183,0.28);
}
.event-card-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem 1rem;
  border-bottom: 1px solid rgba(9,26,56,0.06);
}
.event-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.event-month {
  margin-top: 0.2rem;
}
.event-badge {
  display: inline-block;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.22rem 0.65rem;
  border-radius: 5px;
}
.event-badge--deadline   { background: rgba(185,28,28,0.09);  color: #b91c1c; }
.event-card-body {
  flex: 1;
  padding: 1.25rem 1.5rem;
}
.event-title {
  color: #091A38;
  margin: 0 0 0.5rem;
}
.event-card-body > p {
  margin: 0 0 0.75rem;
}
.event-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  font-size: 0.8rem;
  color: #94A3B8;
}
.event-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.event-card-foot {
  padding: 1rem 1.5rem 1.25rem;
}
@media (max-width: 767.98px) {
  .section-events { padding-top: 48px; padding-bottom: 48px; }
  .event-cta-btn { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════════════
   PREMIUM DESIGN SYSTEM
   ══════════════════════════════════════════════════════════════ */

/* ── Display font assignment ─────────────────────────────────── */
h1, h2, h3, h4,
.hero-title,
.section-title,
.hpp-title,
.about-heading,
.ncard-title,
.event-title,
.apply-cta-left .section-title {
  font-family: var(--font-display, 'Plus Jakarta Sans', 'Montserrat', sans-serif) !important;
}

/* ── H1: desktop two-column — max 3 lines in col-lg-7 (~676px) ── */
/* clamp: min 32px → fluid → max 52px keeps all 4 words in 3 rows  */
/* Teal accent word inside H1 */
.hero-accent {
  color: #0EA5B7;
}

/* ── H2 — 40-52px, weight 700 ────────────────────────────────── */
.section-title {
  font-weight: 700 !important;
  color: #091A38 !important;
}
.section-contact-cta .section-title,
.section-apply-cta .section-title { color: #F5F9FF !important; }

/* ── H3 — 22px, weight 600 ───────────────────────────────────── */
h3 {
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

/* ── Eyebrow / tag — 12px uppercase 8% tracking ─────────────── */
.tag, .hero-eyebrow, .about-tag {
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* ── Responsive type ─────────────────────────────────────────── */
/* md: single-column, full-width — can go bigger */
@media (max-width: 991.98px) {
  .section-title { font-size: clamp(1.75rem, 5vw, 2.5rem) !important; }
}
/* sm-xs: small screens */
@media (max-width: 575.98px) {
  .hero-title    { font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
                   letter-spacing: -0.015em !important; }
  .section-title { font-size: 1.75rem !important; }
}

/* ── Container 1200px ────────────────────────────────────────── */
.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}



/* ══════════════════════════════════════════════════════════════
   MICRO-INTERACTIONS
   ══════════════════════════════════════════════════════════════ */

/* Universal card hover lift */
.support-card,
.direction-card,
.ncard,
.event-card,
.program-card,
.feature-icon-box,
.contact-info-card {
  transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 240ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.support-card:hover,
.ncard:hover,
.event-card:hover,
.program-card:hover,
.contact-info-card:hover {
  transform: translateY(-4px) !important;
}
.direction-card:hover {
  transform: translateY(-4px) scale(1.01) !important;
}

/* Image zoom on hover */
.about-section-img,
.ncard img,
.program-card img {
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.about-img-wrapper:hover .about-section-img {
  transform: scale(1.04) !important;
}
.about-img-wrapper {
  overflow: hidden;
  border-radius: inherit;
}

/* Button arrow shift on hover */
.btn-primary-custom .bi-arrow-right,
.btn-primary-custom .bi-send-fill,
.btn-primary-custom .bi-calendar3 {
  display: inline-block;
  transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-primary-custom:hover .bi-arrow-right {
  transform: translateX(4px);
}

/* CTA text-link arrow shift */
.about-cta-btn svg,
.ncard-cta svg {
  display: inline-block;
  transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
}
.about-cta-btn:hover svg,
.ncard-cta:hover svg {
  transform: translateX(4px);
}

/* ── Hero org name — small label between H1 and subtitle ─────── */
.hero-org {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: rgba(183,196,217,0.55) !important;
  letter-spacing: 0.02em !important;
  margin: 0.25rem 0 1rem !important;
  line-height: 1.4 !important;
}

/* ── Active nav link — underline, no fill ───────────────────── */
.nav-link-custom.active {
  color: #ffffff !important;
  font-weight: 600 !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.nav-link-custom.active::after {
  width: 80% !important;
  left: 10% !important;
  background: #0EA5B7 !important;
  opacity: 1 !important;
}
/* Hover: underline only, no background fill */
.nav-link-custom:hover {
  background: transparent !important;
  border-radius: 0 !important;
}
.nav-link-custom:hover::after {
  background: rgba(14,165,183,0.55) !important;
}

/* ── HPP Interactive Diagram ─────────────────────────────────── */
.hpp-node {
  cursor: pointer;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
  outline: none;
}
.hpp-node:hover,
.hpp-node:focus-visible {
  transform: scale(1.18);
}
.hpp-node .hpp-inner-circle {
  transition: stroke-width 0.25s ease;
}
.hpp-node:hover .hpp-inner-circle,
.hpp-node:focus-visible .hpp-inner-circle {
  stroke-width: 3.4;
}

/* HPP detail card */
.hpp-detail {
  margin-top: 14px;
  min-height: 80px;
  padding: 14px 18px;
  border-radius: 12px;
  background: rgba(9, 22, 56, 0.60);
  border: 1px solid rgba(100, 170, 255, 0.20);
  backdrop-filter: blur(10px);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.22s ease, transform 0.22s ease;
  pointer-events: none;
}
.hpp-detail.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.hpp-detail-num {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(160, 210, 255, 0.55);
  margin: 0 0 4px;
  text-transform: uppercase;
}
.hpp-detail-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #F5F9FF;
  margin: 0 0 6px;
  font-family: var(--font-display);
}
.hpp-detail-desc {
  font-size: 0.775rem;
  color: rgba(183, 196, 217, 0.82);
  line-height: 1.58;
  margin: 0;
}

/* ── (e) "Faoliyatimiz" outline button — readable border + hover ─ */
.hero-section .btn-outline-primary-c:hover,
.hero-section .btn-outline-primary-c:focus-visible {
  border-color: rgba(255, 255, 255, 0.85) !important;
  background: rgba(255, 255, 255, 0.10) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* ── (b) Hero H1: remove gradient, plain bright white ───────── */
/* Overrides the gradient-text rule at ~line 5091 which sets
   color:transparent / -webkit-text-fill-color:transparent */
.hero-title {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #F5F9FF !important;
  color: #F5F9FF !important;
  filter: none !important;
  text-transform: none !important;
}

/* ── (c) Hero: video background enabled ──────────────────────── */
.hero-video-bg {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
}
.hero-video-bg video,
.hero-video-bg img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  filter: brightness(0.38) saturate(1.15) contrast(1.05) !important;
}

/* Solid dark base — video + overlay handle the visual atmosphere */
.hero-section {
  background: #04091A !important;
  background-image: none !important;
}

/* Diagonal dark overlay: top-left heavy → bottom-right transparent */
.hero-overlay {
  background:
    linear-gradient(125deg,
      rgba(4,9,26,0.82)    0%,
      rgba(4,9,26,0.75)    18%,
      rgba(11,30,68,0.55)  48%,
      rgba(11,30,68,0.18)  72%,
      transparent           100%),
    linear-gradient(to bottom,
      rgba(4,9,26,0.68)    0%,
      rgba(4,9,26,0.22)    10%,
      transparent           26%),
    linear-gradient(to top,
      rgba(4,9,26,0.80)    0%,
      rgba(4,9,26,0.28)    12%,
      transparent           32%) !important;
}

/* ══════════════════════════════════════════════════════════
   BATCH FIXES — stats, about, lifecycle, directions, news,
   events, partners, contact, footer
   ══════════════════════════════════════════════════════════ */

/* ── (a) Counter: final value guarantee — handled in JS ─────── */

/* ── Stats: gradient numbers, sparklines, remove dividers ──── */
.stat-sparkline {
  display: block;
  width: 80px;
  height: 24px;
  margin: 8px 0 6px;
  overflow: visible;
}
.stat-divider { display: none !important; }

/* ── About KPI row ─────────────────────────────────────────── */
.about-kpi-row {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 28px 0 0;
  padding: 20px 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
.about-kpi {
  flex: 1;
  text-align: center;
}
.about-kpi-num {
  display: block;
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  background: linear-gradient(135deg, #091A38 0%, #0EA5B7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.about-kpi-lbl {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-top: 4px;
}
.about-kpi-sep {
  width: 1px;
  height: 40px;
  background: var(--border-color);
  flex-shrink: 0;
}

/* ── Lifecycle ghost caption ───────────────────────────────── */
.lc-head-ghost {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(103, 211, 255, 0.35) !important;
  line-height: 1 !important;
  align-self: center !important;
}

/* Lifecycle step descriptions */
.lcn-desc {
  display: block;
  margin-top: 5px;
  text-align: center;
  white-space: normal;
}
.lcn-info-above .lcn-desc { margin-left: auto; margin-right: auto; }
.lcn-info-below .lcn-desc { margin-left: auto; margin-right: auto; }

/* ── Directions: 3×2 grid — cards taller, more breathing room */
.section-directions .direction-card {
  min-height: 200px;
}

/* ── News: brand-aligned category badges ───────────────────── */

/* ── Events: "all events" button ───────────────────────────── */
.btn-outline-events {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  border: 1.5px solid var(--color-primary);
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

/* ── Partners: full override — readable logos ────────────────── */
.partners-label-text {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--text-secondary) !important;
}

/* Card: visible background, proper size */
.partner-logo-card {
  background: #ffffff !important;
  border: 1px solid #E2EAF4 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 4px rgba(11,30,68,0.05) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px 24px !important;
  height: 110px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}
.partner-logo-card:hover {
  background: #F8FBFF !important;
  border-color: rgba(14,165,183,0.35) !important;
  box-shadow: 0 4px 20px rgba(14,165,183,0.12) !important;
}

/* Logo: large enough to read clearly */
.partner-logo-card img {
  max-height: 64px !important;
  max-width: 160px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

/* ── Contact: map embed ──────────────────────────────────────── */
.contact-map-wrap {
  margin-top: 32px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border-color);
}
.contact-map-iframe {
  display: block;
  width: 100%;
  height: 400px;
  border: none;
}

/* ── Footer: newsletter ──────────────────────────────────────── */
.footer-newsletter-desc {
  font-size: 0.8rem;
  color: var(--dark-text-soft, #B7C4D9);
  margin: 0 0 12px;
  line-height: 1.5;
}
.footer-newsletter-form { margin-bottom: 4px; }
.footer-newsletter-row {
  display: flex;
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.15);
}
.footer-newsletter-input {
  flex: 1;
  outline: none;
  padding: 10px 14px;
  font-size: 0.8rem;
}
.footer-newsletter-btn {
  background: #0EA5B7;
  border: none;
  padding: 10px 14px;
  color: #fff;
  cursor: pointer;
  transition: background 0.2s;
}
.footer-newsletter-btn:hover { background: #0c8fa0; }

/* Footer legal links */
.footer-legal-link {
  text-decoration: none;
}

/* ══════════════════════════════════════════════════════════
   FAQ SECTION
   ══════════════════════════════════════════════════════════ */
.section-faq {
  padding: 100px 0;
  background: var(--bg-page);
}
.faq-accordion { border: none; }
.faq-item {
  border: none !important;
  border-bottom: 1px solid var(--border-color) !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.faq-item:first-child { border-top: 1px solid var(--border-color) !important; }
.faq-btn {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 18px 0 !important;
  font-family: var(--font-display) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--text-primary) !important;
  transition: color 0.2s !important;
}
.faq-btn:not(.collapsed) {
  color: #0EA5B7 !important;
}
.faq-btn::after {
  background-image: none !important;
  content: '+' !important;
  font-size: 1.25rem !important;
  font-weight: 300 !important;
  color: var(--text-muted) !important;
  transform: none !important;
  transition: transform 0.25s ease !important;
}
.faq-btn:not(.collapsed)::after {
  content: '−' !important;
  color: #0EA5B7 !important;
  transform: none !important;
}
.faq-body {
  padding: 0 0 18px !important;
  font-size: 0.9rem !important;
  color: var(--text-secondary) !important;
  line-height: 1.7 !important;
}

/* ══════════════════════════════════════════════════════════
   HERO ABSTRACT ORB — replaces pentagon diagram
   ══════════════════════════════════════════════════════════ */
.hero-orb-wrap {
  position: relative;
  width: 400px;
  height: 400px;
  flex-shrink: 0;
  transition: transform 0.14s ease-out;
}

/* Core glowing sphere */
.hero-orb-core {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 230px; height: 230px;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 33%,
    rgba(103,211,255,0.55) 0%,
    rgba(14,165,183,0.38) 28%,
    rgba(9,26,56,0.72)    65%,
    transparent           100%
  );
  box-shadow:
    0 0 55px rgba(14,165,183,0.38),
    0 0 110px rgba(14,165,183,0.14),
    inset 0 0 36px rgba(103,211,255,0.10);
  animation: orb-breathe 5.5s ease-in-out infinite;
}

/* Outer ambient haze */
.hero-orb-glow {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 310px; height: 310px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(14,165,183,0.10) 0%,
    transparent           70%
  );
  filter: blur(28px);
  animation: orb-breathe 5.5s ease-in-out infinite 0.6s;
}

/* Tilted orbit rings */
.hero-orb-ring {
  position: absolute;
  top: 50%; left: 50%;
  border-radius: 50%;
}
.hero-orb-ring--1 {
  width: 310px; height: 110px;
  border: 1px solid rgba(103,211,255,0.20);
  transform: translate(-50%, -50%) rotateX(74deg);
  animation: ring-spin 14s linear infinite;
}
.hero-orb-ring--2 {
  width: 380px; height: 145px;
  border: 1px solid rgba(103,211,255,0.10);
  transform: translate(-50%, -50%) rotateX(70deg) rotateZ(40deg);
  animation: ring-spin 22s linear infinite reverse;
}

/* Gold accent blob — top-right */
.hero-orb-accent {
  position: absolute;
  top: 18%; right: 14%;
  width: 68px; height: 68px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%,
    rgba(212,162,76,0.55) 0%,
    rgba(212,162,76,0.12) 60%,
    transparent           100%
  );
  filter: blur(7px);
  animation: orb-float 7.5s ease-in-out infinite 1.2s;
}

/* Floating accent dots */
.hero-orb-dot {
  position: absolute;
  border-radius: 50%;
  background: rgba(103,211,255,0.75);
}
.hero-orb-dot--1 {
  width: 6px; height: 6px;
  top: 26%; left: 18%;
  animation: dot-float 4.2s ease-in-out infinite;
}
.hero-orb-dot--2 {
  width: 4px; height: 4px;
  top: 70%; left: 74%;
  background: rgba(212,162,76,0.85);
  animation: dot-float 5.8s ease-in-out infinite 1.6s;
}
.hero-orb-dot--3 {
  width: 5px; height: 5px;
  top: 80%; left: 28%;
  background: rgba(103,211,255,0.60);
  animation: dot-float 5.1s ease-in-out infinite 0.8s;
}

/* Keyframes */
@keyframes orb-breathe {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  50%       { transform: translate(-50%, -50%) scale(1.06); opacity: 0.92; }
}
@keyframes orb-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%       { transform: translate(-8px, -14px) scale(1.10); }
}
@keyframes ring-spin {
  from { transform: translate(-50%, -50%) rotateX(74deg) rotateZ(0deg); }
  to   { transform: translate(-50%, -50%) rotateX(74deg) rotateZ(360deg); }
}
@keyframes dot-float {
  0%, 100% { transform: translateY(0);    opacity: 0.70; }
  50%       { transform: translateY(-12px); opacity: 1; }
}

/* ── (10a) Apply CTA eyebrow — pill capsule ─────────────────── */
.tag--glow {
  border-radius: 50px !important;
}

/* ── (7b) Programs secondary card — body text ───────────────── */
.program-card:not(.program-card--featured) .program-card-desc {
  font-size: 0.9375rem !important;
  color: #445A7A !important;
  line-height: 1.6 !important;
}

/* ── (7c) Program card images — uniform 16/9 (non-featured) ── */
.program-card:not(.program-card--featured) .program-card-img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  display: block;
}

/* ── (8c) Support stat badges — neutral/brand consistent ────── */
.support-card-stat {
  background: rgba(var(--spc), 0.07) !important;
  color: rgba(var(--spc), 1) !important;
  border-color: rgba(var(--spc), 0.18) !important;
}

/* ── Stat numbers: gradient text ────────────────────────────── */
.stat-card-num .snum {
  background: linear-gradient(135deg, #091A38 0%, #0EA5B7 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ── Lifecycle heading — match other section H2s ──────────── */
.lc-head-title {
  color: var(--dark-text-primary, #F5F9FF) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.018em !important;
}

/* ── Lifecycle eyebrow — uniform with section-header .tag ─── */
.lc-head-eyebrow {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #0EA5B7 !important;
  display: block !important;
  margin-bottom: 0.75rem !important;
}

/* ── Direction cards: custom stagger animation ──────────────── */
.dir-animate {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.52s ease, transform 0.52s ease;
}
.dir-animate.animate-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ============================================================
   PROGRAMS — Tab/Filter Switcher redesign
   ============================================================ */

/* ── Filter bar ─────────────────────────────────────────────── */
.prog-filters {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 2.75rem;
}
.prog-filter {
  padding: 0.5rem 1.4rem;
  border-radius: 50px;
  border: 1.5px solid #DEE5EF;
  background: #ffffff;
  color: #445A7A;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
  outline: none;
}
.prog-filter:hover {
  border-color: #091A38;
  color: #091A38;
}
.prog-filter.active {
  background: #091A38;
  border-color: #091A38;
  color: #ffffff;
  box-shadow: 0 2px 12px rgba(9,26,56,0.18);
}

/* ── Cards grid ─────────────────────────────────────────────── */
@media (max-width: 575px) {
  .prog-grid { grid-template-columns: 1fr; }
}
@media (min-width: 576px) and (max-width: 991px) {
  .prog-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Card ───────────────────────────────────────────────────── */
.prog-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #E8EDF6;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04), 0 4px 16px rgba(11,30,68,0.07);
  overflow: hidden;
  transition: opacity 0.22s ease, transform 0.28s ease, box-shadow 0.28s ease;
}
.prog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.06), 0 18px 38px rgba(11,30,68,0.12);
}
.prog-card.prog-fade {
  opacity: 0;
}

/* ── Image ──────────────────────────────────────────────────── */
.prog-img-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.prog-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.42s ease;
  display: block;
}
.prog-card:hover .prog-img {
  transform: scale(1.05);
}

/* ── Category badge ─────────────────────────────────────────── */
.prog-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 0.28rem 0.85rem;
  border-radius: 50px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  line-height: 1;
}
.prog-badge--tanlov      { background: #091A38; color: #ffffff; }
.prog-badge--grant       { background: #D4A24C; color: #ffffff; }
.prog-badge--akseleratsiya { background: #0EA5B7; color: #ffffff; }
.prog-badge--stajirovka  { background: #1A4E82; color: #ffffff; }

/* ── Body ───────────────────────────────────────────────────── */
.prog-body {
  padding: 1.4rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.prog-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1A2B45;
  margin: 0 0 0.45rem;
  line-height: 1.28;
  letter-spacing: -0.01em;
}
.prog-desc {
  font-size: 0.875rem;
  color: #445A7A;
  line-height: 1.65;
  margin: 0 0 1.2rem;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.prog-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #091A38;
  text-decoration: none;
  transition: gap 0.22s ease, color 0.22s ease;
  align-self: flex-start;
}
.prog-cta:hover {
  color: #0EA5B7;
  gap: 0.7rem;
}

/* ============================================================
   PROGRAMS - Bento Grid (Premium SaaS)
   ============================================================ */
.bento-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 1.25rem;
}
.bento-hero   { grid-column: 1; grid-row: 1; }
.bento-stack  { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 1.25rem; }
.bento-bottom { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.bento-card { border-radius: 18px; overflow: hidden; transition: box-shadow 0.26s ease, transform 0.26s ease; }
.bento-badge { display: inline-block; padding: 0.27rem 0.82rem; border-radius: 50px; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; line-height: 1; }
.bento-card--hero { display: flex; min-height: 360px; border: 1px solid #E0E8F4; box-shadow: 0 2px 12px rgba(9,26,56,0.08), 0 8px 28px rgba(9,26,56,0.06); }
.bento-card--hero:hover { box-shadow: 0 6px 20px rgba(9,26,56,0.12), 0 18px 44px rgba(9,26,56,0.10); }
.bento-hero-media { flex: 0 0 46%; position: relative; overflow: hidden; }
.bento-hero-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.bento-card--hero:hover .bento-hero-img { transform: scale(1.04); }
.bento-hero-icon-wrap { width: 46px; height: 46px; background: rgba(14,165,183,0.14); border: 1px solid rgba(14,165,183,0.28); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #0EA5B7; margin: 0.9rem 0; }
.bento-hero-title { font-size: clamp(1.05rem, 1.55vw, 1.4rem); font-weight: 700; color: #F5F9FF; line-height: 1.28; letter-spacing: -0.015em; margin: 0 0 0.6rem; }
.bento-hero-desc { font-size: 0.8125rem; color: #8897B0; line-height: 1.65; margin: 0 0 1.2rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bento-hero-stats { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.5rem; }
.bhs-item { display: flex; flex-direction: column; }
.bhs-num { font-size: 1.75rem; font-weight: 800; color: #67D3FF; line-height: 1; letter-spacing: -0.02em; }
.bhs-label { font-size: 0.67rem; font-weight: 600; color: rgba(183,196,217,0.7); text-transform: uppercase; letter-spacing: 0.09em; margin-top: 0.28rem; }
.bhs-sep { width: 1px; height: 36px; background: rgba(103,211,255,0.16); flex-shrink: 0; }
.bento-hero-cta { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(14,165,183,0.14); border: 1px solid rgba(14,165,183,0.38); color: #67D3FF; padding: 0.58rem 1.4rem; border-radius: 50px; font-size: 0.8125rem; font-weight: 700; text-decoration: none; align-self: flex-start; transition: background 0.22s ease, border-color 0.22s ease, gap 0.22s ease; }
.bento-hero-cta:hover { background: rgba(14,165,183,0.24); border-color: rgba(14,165,183,0.55); gap: 0.75rem; color: #67D3FF; }
.bento-card--mini { background: #ffffff; border: 1px solid #E8EDF6; box-shadow: 0 1px 4px rgba(0,0,0,0.04), 0 4px 16px rgba(11,30,68,0.06); padding: 1.35rem 1.55rem; display: flex; align-items: center; gap: 1.1rem; flex: 1; }
.bmini-icon-wrap { width: 50px; height: 50px; flex-shrink: 0; border-radius: 14px; background: rgba(9,26,56,0.06); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #091A38; }
.bmini-icon-wrap--gold { background: rgba(212,162,76,0.10); color: #D4A24C; }
.bmini-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.28rem; }
.bmini-title { font-size: 0.9375rem; font-weight: 700; color: #1A2B45; margin: 0; line-height: 1.25; letter-spacing: -0.01em; }
.bmini-arrow { width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; background: rgba(9,26,56,0.05); display: flex; align-items: center; justify-content: center; color: #94A3B8; text-decoration: none; transition: background 0.22s ease, color 0.22s ease; }
.bmini-arrow:hover { background: #091A38; color: #fff; }
.bento-card--mid { background: #ffffff; border: 1px solid #E8EDF6; box-shadow: 0 1px 4px rgba(0,0,0,0.04), 0 4px 16px rgba(11,30,68,0.06); display: flex; flex-direction: column; }
.bento-mid-img-wrap { position: relative; aspect-ratio: 16 / 9; overflow: hidden; flex-shrink: 0; }
.bento-mid-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.42s ease; }
.bento-mid-img-wrap .bento-badge { position: absolute; top: 10px; left: 10px; }
.bento-mid-body { padding: 1.1rem 1.35rem 1.3rem; display: flex; flex-direction: column; flex: 1; }
.bento-mid-title { font-size: 0.9375rem; font-weight: 700; color: #1A2B45; margin: 0 0 0.35rem; line-height: 1.28; letter-spacing: -0.01em; }
.bento-mid-desc { font-size: 0.8rem; color: #445A7A; line-height: 1.6; margin: 0 0 0.85rem; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bento-link { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.8125rem; font-weight: 700; color: #091A38; text-decoration: none; align-self: flex-start; transition: gap 0.22s ease, color 0.22s ease; }
.bento-link:hover { color: #0EA5B7; gap: 0.6rem; }
@media (max-width: 767px) {
  .bento-grid { grid-template-columns: 1fr; }
  .bento-hero, .bento-stack, .bento-bottom { grid-column: 1; }
  .bento-hero { grid-row: 1; } .bento-stack { grid-row: 2; flex-direction: row; } .bento-bottom { grid-row: 3; grid-template-columns: 1fr; }
  .bento-card--hero { flex-direction: column; min-height: auto; }
  .bento-hero-media { flex: 0 0 200px; }
  .bento-hero-body { padding: 1.75rem 1.5rem; justify-content: flex-start; }
  .bento-hero-title { font-size: 1.15rem; }
  .bento-card--mini { flex: 1; min-width: 0; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .bento-grid { grid-template-columns: 1fr; }
  .bento-hero { grid-column: 1; grid-row: 1; } .bento-stack { grid-column: 1; grid-row: 2; flex-direction: row; } .bento-bottom { grid-column: 1; grid-row: 3; grid-template-columns: repeat(2, 1fr); }
  .bento-bottom .bento-card--mid:last-child { grid-column: 1 / -1; flex-direction: row; }
  .bento-bottom .bento-card--mid:last-child .bento-mid-img-wrap { flex: 0 0 260px; aspect-ratio: auto; }
}

/* -- Bento hero eyebrow row (icon + badge inline) ---------- */
.bento-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.bento-hero-eyebrow .bento-hero-icon-wrap {
  margin: 0;
  flex-shrink: 0;
}
/* 3-stat row: reduce num size slightly so all 3 fit */
.bento-hero-stats .bhs-num { font-size: 1.5rem; }
/* teal icon variant */
.bmini-icon-wrap--teal { background: rgba(14,165,183,0.10); color: #0EA5B7; }

/* -- bmini-desc: allow 2 lines for richer content ---------- */
.bmini-desc { -webkit-line-clamp: 2 !important; }

/* ============================================================
   BENTO STAT CARD — "Kelajak muhandislari" respublika tanlovi
   ============================================================ */
.bento-card--stat {
  background: #ffffff;
  border: 1px solid #E8EDF6;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04), 0 4px 16px rgba(11,30,68,0.06);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.26s ease, transform 0.26s ease;
}
.bento-card--stat:hover {
  box-shadow: 0 4px 18px rgba(11,30,68,0.11);
  transform: translateY(-3px);
}

/* header row */
.bstat-header {
  display: flex;
  align-items: flex-start;
}
.bstat-icon {
  flex-shrink: 0;
  border-radius: 11px;
  background: rgba(14,165,183,0.10);
  display: flex; align-items: center; justify-content: center;
  color: #0EA5B7;
}
.bstat-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.bstat-title {
  font-weight: 700;
  color: #1A2B45;
  margin: 0.25rem 0 0;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.bstat-date {
  font-size: 0.7rem;
  color: #7B90B2;
  margin: 0;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.bstat-ext {
  width: 28px; height: 28px;
  flex-shrink: 0;
  border-radius: 8px;
  background: rgba(9,26,56,0.05);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem;
  color: #94A3B8;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
  margin-top: 2px;
}
.bstat-ext:hover { background: #091A38; color: #fff; }

/* divider */
.bstat-divider {
  height: 1px;
  background: linear-gradient(to right, #E8EDF6 0%, transparent 100%);
  margin: 0 -0.25rem;
}

/* total */
.bstat-total {
  display: flex;
  align-items: baseline;
}
.bstat-num {
  font-weight: 800;
  color: #091A38;
  line-height: 1;
  letter-spacing: -0.025em;
}
.bstat-desc {
  font-size: 0.7rem;
  font-weight: 600;
  color: #7B90B2;
  line-height: 1.4;
}
.bstat-year {
  color: #B0BFCF;
  font-weight: 500;
}

/* category bars */
.bstat-bars {
  display: flex;
  flex-direction: column;
}
.bstat-row {
  display: grid;
  grid-template-columns: 44px 1fr 38px;
  align-items: center;
}
.bstat-lbl {
  font-weight: 600;
  color: #445A7A;
  white-space: nowrap;
}
.bstat-track {
  background: #EAF0FB;
  border-radius: 3px;
  overflow: hidden;
}
.bstat-fill {
  height: 100%;
  border-radius: 3px;
}
.bstat-pct {
  font-weight: 700;
  color: #94A3B8;
  text-align: right;
  white-space: nowrap;
}

/* -- Stat card sizing fix: let content determine height ----- */
.bento-card--stat {
  overflow: visible !important;
  flex: 0 0 auto !important;
  gap: 0.6rem !important;
  padding: 1.2rem 1.4rem 1.25rem !important;
}
.bstat-header  { gap: 0.65rem !important; }
.bstat-icon    { width: 36px !important; height: 36px !important; font-size: 1rem !important; }
.bstat-title   { font-size: 0.82rem !important; margin-top: 0.2rem !important; }
.bstat-total   { gap: 0.4rem !important; }
.bstat-num     { font-size: 1.5rem !important; }
.bstat-bars    { gap: 0.38rem !important; }
.bstat-row     { gap: 0.45rem !important; }
.bstat-track   { height: 4px !important; }
.bstat-lbl     { font-size: 0.68rem !important; }
.bstat-pct     { font-size: 0.67rem !important; }

/* -- Stat card subtitle ------------------------------------ */
.bstat-subtitle {
  font-size: 0.67rem;
  color: #7B90B2;
  line-height: 1.45;
  margin: 0.18rem 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   GLOBAL FIXES — badges, hero, hover, sup-animate
   ============================================================ */

/* -- 1. Consistent category badge color system ------------- */
/* Soft pill: light tinted bg + colored text + subtle border  */
.bento-badge--tanlov {
  background: rgba(6,182,212,0.10) !important;
  color: #0E7490 !important;
  border: 1px solid rgba(6,182,212,0.28) !important;
}
.bento-badge--akseleratsiya {
  background: rgba(20,184,166,0.10) !important;
  color: #0F766E !important;
  border: 1px solid rgba(20,184,166,0.28) !important;
}
.bento-badge--stajirovka {
  background: rgba(59,130,246,0.10) !important;
  color: #1D4ED8 !important;
  border: 1px solid rgba(59,130,246,0.28) !important;
}
.bento-badge--grant {
  background: rgba(99,102,241,0.10) !important;
  color: #4338CA !important;
  border: 1px solid rgba(99,102,241,0.28) !important;
}
/* hero badge stays on dark bg — keep glass style */
.bento-badge--hero-tanlov {
  background: rgba(14,165,183,0.18) !important;
  color: #67D3FF !important;
  border: 1px solid rgba(103,211,255,0.28) !important;
}

/* -- 2. Hero body: fill height, stats pinned to bottom ----- */
.bento-hero-body {
  justify-content: flex-start !important;
}
.bento-hero-spacer { flex: 1; min-height: 1.5rem; }

/* -- 3. CTA text: standardise bento-link label ------------- */
/* All mid-card links say "Batafsil" — hero CTA says "Batafsil ko'rish" */
/* No text change needed in CSS — just ensure arrow gap uniform */
.bento-link svg, .bento-hero-cta svg { flex-shrink: 0; }

/* -- 4. Hover states: premium lift + shadow + image scale -- */
.bento-card--hero:hover { transform: none; }   /* hero doesn't lift (too big) */

/* Mid cards */
.bento-card--mid {
  transition: transform 0.28s ease, box-shadow 0.28s ease !important;
}
.bento-card--mid:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 10px 28px rgba(11,30,68,0.14), 0 2px 8px rgba(0,0,0,0.06) !important;
}
.bento-card--mid:hover .bento-mid-img {
  transform: scale(1.05) !important;
}

/* Mini cards */
.bento-card--mini {
  transition: transform 0.24s ease, box-shadow 0.24s ease !important;
}
.bento-card--mini:hover {
  transform: translateX(5px) !important;
  box-shadow: 0 6px 20px rgba(11,30,68,0.12) !important;
}

/* Support cards */
.support-card {
  transition: transform 0.26s ease, box-shadow 0.26s ease !important;
}
.support-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 28px rgba(11,30,68,0.12) !important;
}

/* -- 5. sup-animate: same pattern as dir-animate ----------- */
.sup-animate {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.52s ease, transform 0.52s ease;
}
.sup-animate.animate-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ============================================================
   UNIFIED BADGE COLOR SYSTEM — category → brand color, site-wide
   Two display contexts:
     Overlay  (image bg) : semi-opaque fill + white text
     Pill     (card bg)  : tinted bg + dark text + border
   ============================================================ */

/* ── Tanlov / Contest — Cyan ────────────────────────────── */
.ncard-cat[data-cat="tanlov"]  { background: rgba(6,182,212,0.88)  !important; color: #fff !important; }
.event-badge--contest          { background: rgba(6,182,212,0.10)  !important; color: #0E7490 !important; border: 1px solid rgba(6,182,212,0.28)  !important; }

/* ── Akseleratsiya — Teal-green ─────────────────────────── */
.ncard-cat[data-cat="aksel"]   { background: rgba(20,184,166,0.88) !important; color: #fff !important; }
/* bento-badge--akseleratsiya already correct */

/* ── Stajirovka / Internship — Blue ─────────────────────── */
.ncard-cat[data-cat="stajir"]  { background: rgba(59,130,246,0.88) !important; color: #fff !important; }
.event-badge--internship       { background: rgba(59,130,246,0.10) !important; color: #1D4ED8 !important; border: 1px solid rgba(59,130,246,0.28) !important; }

/* ── Festival — Indigo ──────────────────────────────────── */
.event-badge--festival         { background: rgba(99,102,241,0.10) !important; color: #4338CA !important; border: 1px solid rgba(99,102,241,0.28) !important; }

/* ── Loyiha — Brand navy ────────────────────────────────── */
.ncard-cat[data-cat="loyiha"]  { background: rgba(9,26,56,0.88)    !important; color: #fff !important; }

/* ── Ilmiy — Violet ─────────────────────────────────────── */
.ncard-cat[data-cat="ilmiy"]   { background: rgba(139,92,246,0.88) !important; color: #fff !important; }

/* deadline badge stays red — urgency semantics, not a category */

/* ============================================================
   EVENTS — countdown timer
   ============================================================ */
.event-countdown {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.65rem 0 0.75rem;
  padding: 0.45rem 0.75rem;
  background: rgba(185,28,28,0.07);
  border: 1px solid rgba(185,28,28,0.18);
  border-radius: 8px;
}
.ec-prefix {
  font-size: 0.63rem;
  font-weight: 700;
  color: #b91c1c;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  white-space: nowrap;
}
.ec-units {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.ec-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 26px;
}
.ec-num {
  font-size: 1rem;
  font-weight: 800;
  color: #b91c1c;
  line-height: 1;
  letter-spacing: -0.02em;
}
.ec-lbl {
  font-size: 0.52rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #9CA3AF;
  letter-spacing: 0.07em;
  margin-top: 1px;
}
.ec-dot {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(185,28,28,0.35);
  line-height: 1;
  padding-bottom: 0.7rem;
}

/* ============================================================
   PARTNERS — marquee (auto-scroll, CSS-only)
   ============================================================ */
.partners-marquee {
  position: relative;
  overflow: hidden;
  padding: 0.5rem 0;
}
.partners-marquee::before,
.partners-marquee::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.partners-marquee::before {
  left: 0;
  background: linear-gradient(to right, #ffffff 0%, transparent 100%);
}
.partners-marquee::after {
  right: 0;
  background: linear-gradient(to left, #ffffff 0%, transparent 100%);
}
.partners-track {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: max-content;
  animation: partners-scroll 28s linear infinite;
}
.partners-track:hover {
  animation-play-state: paused;
}
@keyframes partners-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
/* Fixed size for marquee cards */
.partners-marquee .partner-logo-card {
  flex-shrink: 0 !important;
  width: 155px !important;
  height: 90px !important;
}
/* Grayscale by default, full color on hover */
.partner-logo-card img {
  filter: grayscale(1) opacity(0.45) !important;
  transition: filter 0.32s ease !important;
}
.partner-logo-card:hover img {
  filter: grayscale(0) opacity(1) !important;
}

/* ============================================================
   CONTACT — inline form (dark background context)
   ============================================================ */
.contact-inline-form { margin-top: 1.25rem; }
.cif-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}
.cif-field { margin-bottom: 0.65rem; }
.cif-field input,
.cif-field textarea {
  width: 100%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  color: #F5F9FF;
  font-size: 0.875rem;
  font-family: inherit;
  padding: 0.62rem 0.95rem;
  outline: none;
  resize: none;
  transition: border-color 0.22s ease;
}
.cif-field input::placeholder,
.cif-field textarea::placeholder { color: rgba(255,255,255,0.32); }
.cif-field input:focus,
.cif-field textarea:focus { border-color: rgba(14,165,183,0.55); }
.cif-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.cif-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  background: #0EA5B7;
  border: none;
  border-radius: 50px;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  font-family: inherit;
  padding: 0.62rem 1.75rem;
  cursor: pointer;
  transition: background 0.22s ease, gap 0.22s ease;
}
.cif-submit:hover { background: #0A8FA0; gap: 0.62rem; }
.cif-submit svg { flex-shrink: 0; }
.cif-page-link {
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(183,196,217,0.6);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: color 0.22s ease;
}
.cif-page-link:hover { color: #67D3FF; }
@media (max-width: 575px) {
  .cif-row { grid-template-columns: 1fr; }
}

/* ============================================================
   CONTACT MAP — skeleton loader
   ============================================================ */
.contact-map-wrap { position: relative; }
.map-skeleton {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 12px;
  background: linear-gradient(90deg, #0b1a35 25%, #122242 50%, #0b1a35 75%);
  background-size: 400% 100%;
  animation: map-shimmer 1.6s ease infinite;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.map-skeleton.map-loaded { opacity: 0; }
@keyframes map-shimmer {
  0%   { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

/* ============================================================
   FOOTER — social icons, newsletter input, micro-copy, legal bar
   ============================================================ */

/* Social icons: 44×44 circle with teal hover */
.social-icon {
  border-radius: 50% !important;
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.11) !important;
  color: rgba(183,196,217,0.65) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: background 0.24s ease, color 0.24s ease, transform 0.24s ease, border-color 0.24s ease !important;
}
.social-icon:hover {
  background: #0EA5B7 !important;
  border-color: #0EA5B7 !important;
  color: #ffffff !important;
  transform: translateY(-4px) !important;
}

/* Newsletter input: visible on dark bg */
.footer-newsletter-input {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  color: #F5F9FF !important;
}
.footer-newsletter-input::placeholder {
  color: rgba(255,255,255,0.32) !important;
}
.footer-newsletter-input:focus {
  border-color: rgba(14,165,183,0.45) !important;
  outline: none !important;
}

/* Micro-copy under newsletter */
.footer-newsletter-micro {
  font-size: 0.7rem !important;
  color: rgba(183,196,217,0.38) !important;
  margin: 0.45rem 0 0 !important;
  line-height: 1.4 !important;
}

/* Footer legal bar */
.footer-legal-bar {
  border-top: 1px solid rgba(56,127,187,0.12);
  padding: 0.75rem 0;
}
.footer-legal-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
  font-size: 0.7rem;
  color: rgba(183,196,217,0.42);
}
.footer-legal-inner i,
.footer-legal-inner .fab {
  margin-right: 0.28rem;
  color: rgba(103,211,255,0.45);
}
.footer-legal-inner a {
  color: rgba(183,196,217,0.42);
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer-legal-inner a:hover { color: #67D3FF; }

/* ============================================================
   ABOUT SECTION — full redesign
   ============================================================ */

/* ── Floating trust badge on image ─────────────────────────── */
.about-img-badge {
  position: absolute;
  bottom: 22px;
  left: 22px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  background: #ffffff;
  border: 1px solid #E2EDF6;
  border-radius: 12px;
  padding: 0.72rem 1.05rem;
  box-shadow: 0 4px 20px rgba(9,26,56,0.13);
}
.aib-icon {
  width: 34px; height: 34px;
  flex-shrink: 0;
  border-radius: 9px;
  background: rgba(14,165,183,0.10);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.95rem;
  color: #0EA5B7;
}
.aib-body { display: flex; flex-direction: column; gap: 1px; }
.aib-title {
  font-size: 0.74rem;
  font-weight: 700;
  color: #1A2B45;
  line-height: 1.2;
}
.aib-sub {
  font-size: 0.61rem;
  color: #7B90B2;
  font-weight: 500;
}

/* ── Feature items list ─────────────────────────────────────── */
.about-features {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 1.4rem;
}
.about-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  border: 1px solid #E8EDF6;
  background: #FAFBFD;
  transition: border-color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
}
.about-feature-item:hover {
  border-color: rgba(14,165,183,0.30);
  background: #ffffff;
  box-shadow: 0 2px 14px rgba(14,165,183,0.08);
}
.afi-icon {
  width: 36px; height: 36px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(14,165,183,0.09);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.92rem;
  color: #0EA5B7;
  transition: background 0.22s ease, color 0.22s ease;
}
.about-feature-item:hover .afi-icon {
  background: rgba(14,165,183,0.12);
  color: #0EA5B7;
}
.afi-body { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.afi-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1A2B45;
  line-height: 1.25;
}
.afi-desc {
  font-size: 0.775rem;
  color: #7B90B2;
  line-height: 1.55;
}

/* ── Dark mode ──────────────────────────────────────────────── */
[data-theme="dark"] .about-feature-item {
  background: var(--bg-card);
  border-color: var(--border-card);
}
[data-theme="dark"] .about-feature-item:hover {
  background: var(--bg-card-hover);
  border-color: rgba(14,165,183,0.28);
  box-shadow: 0 2px 14px rgba(14,165,183,0.06);
}
[data-theme="dark"] .afi-icon  { background: rgba(14,165,183,0.12); color: #0EA5B7; }
[data-theme="dark"] .about-feature-item:hover .afi-icon { background: rgba(14,165,183,0.14); color: #0EA5B7; }
[data-theme="dark"] .afi-title { color: var(--text-primary); }
[data-theme="dark"] .afi-desc  { color: var(--text-muted); }
[data-theme="dark"] .about-img-badge { background: var(--bg-card); border-color: var(--border-card); box-shadow: 0 4px 20px rgba(0,0,0,0.30); }
[data-theme="dark"] .aib-title { color: var(--text-primary); }
[data-theme="dark"] .aib-sub   { color: var(--text-muted); }

/* ── About section: slightly taller to breathe ──────────────── */
.section-about { padding: 80px 0 76px !important; }

/* ══════════════════════════════════════════════════════════
   HERO MICRO STATS STRIP + SCROLL INDICATOR
   ══════════════════════════════════════════════════════════ */

/* Micro stats strip — sits at hero bottom, replaces the orb */
.hero-micro-stats {
  position: absolute;
  bottom: 52px;
  left: 0;
  right: 0;
  z-index: 4;
  pointer-events: none;
}
.hero-micro-stats-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 1rem;
}
.hms-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2rem;
  flex-shrink: 0;
}
.hms-num {
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-size: 1.10rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
  letter-spacing: 0.04em;
}
.hms-label {
  font-size: 0.575rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(180,210,255,0.62);
  margin-top: 5px;
  white-space: nowrap;
}
.hms-sep {
  width: 1px;
  height: 30px;
  background: rgba(103,211,255,0.18);
  flex-shrink: 0;
}

/* Scroll indicator — pulsating, bottom-center */
.hero-scroll-indicator {
  display: flex !important;
  z-index: 4 !important;
  bottom: 14px !important;
  color: rgba(255,255,255,0.40) !important;
  font-size: 0.62rem !important;
  animation: heroScrollPulse 2.4s ease-in-out infinite !important;
}
.hero-scroll-indicator i {
  font-size: 1rem !important;
  margin-top: 2px;
}

@keyframes heroScrollPulse {
  0%, 100% { opacity: 0.45; transform: translateX(-50%) translateY(0); }
  50%       { opacity: 0.80; transform: translateX(-50%) translateY(5px); }
}

/* Mobile: hide stats strip, keep indicator */
@media (max-width: 575.98px) {
  .hero-micro-stats { display: none !important; }
  .hero-scroll-indicator { bottom: 10px !important; }
}

/* Tablet: compact stats */
@media (min-width: 576px) and (max-width: 991.98px) {
  .hms-item { padding: 0 1.2rem; }
  .hms-num  { font-size: 0.95rem; }
  .hms-label { font-size: 0.52rem; }
}

/* ══════════════════════════════════════════════════════════
   SECTION-SUPPORT: dark navy + glassmorphism cards
   ══════════════════════════════════════════════════════════ */

/* 1. Dark section background */

/* Subtle dot-grid texture on dark bg */
.section-support::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
}

/* 2. Section header — light text on dark */

/* 3. Glassmorphism cards */

/* 4. Card text — legible on dark glass */

/* 5. All icons unified teal on dark bg */
.section-support .support-card {
  --spc: 14, 165, 183;
}
.section-support .support-card-icon {
  border-color: rgba(14,165,183,0.22) !important;
}

/* 6. Stats badge on dark */
.section-support .support-card-stat {
  border-color: rgba(14,165,183,0.18) !important;
}

/* 7. Opacity bug fix — CSS fallback if JS stagger fails */
.section-support .sup-animate {
  animation: supVisibleFallback 0.001s 2.2s forwards;
}
@keyframes supVisibleFallback {
  to { opacity: 1; transform: translateY(0); }
}
.section-support .sup-animate.animate-in {
  opacity: 1 !important;
  transform: translateY(0) !important;
  animation: none !important;
}

/* ════════════════════════════════════════════════════════════
   SECTION-PROGRAMS v3 — Structured program/competition cards
   Classes: prog-head · prog-eyebrow · prog-heading · prog-sub
            prog-legend · prog-status · prog-card-top
            prog-card-badges · prog-cat · prog-status-badge
            prog-status-dot · prog-card-icon · prog-card-title
            prog-card-desc · prog-card-meta · prog-meta-row
            prog-card-footer · prog-cta variants · prog-all-btn
   ════════════════════════════════════════════════════════════ */

/* ── Section background ────────────────────────────────────── */
.section-programs {
  background: #F4F8FC !important;
}

/* ── Section header layout ─────────────────────────────────── */
.prog-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 2.75rem;
  flex-wrap: wrap;
}
.prog-head-left {
  flex: 1;
  min-width: 0;
}

/* Eyebrow */
.prog-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0EA5B7;
  margin-bottom: 0.65rem;
}
.prog-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0C9BB0;
  display: inline-block;
  flex-shrink: 0;
}

/* Heading */
.prog-heading {
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 700;
  color: #0E1E3C;
  letter-spacing: -0.022em;
  line-height: 1.2;
  margin: 0 0 0.7rem;
}

/* Sub paragraph */
.prog-sub {
  color: #475569;
  line-height: 1.65;
  margin: 0;
  max-width: 520px;
}

/* ── Legend (right side) ───────────────────────────────────── */
.prog-head-right {
  flex-shrink: 0;
  align-self: flex-end;
  padding-bottom: 0.25rem;
}
.prog-legend {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.prog-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.77rem;
  font-weight: 600;
  color: #4A5568;
  white-space: nowrap;
}
.prog-status {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.prog-status--open    { background: #16A34A; box-shadow: 0 0 0 2px rgba(22,163,74,0.22); }
.prog-status--closing { background: #D97706; box-shadow: 0 0 0 2px rgba(217,119,6,0.22); }
.prog-status--soon    { background: #9CA3AF; }
.prog-status--results { background: #2563EB; box-shadow: 0 0 0 2px rgba(37,99,235,0.18); }

/* ── Cards grid — override earlier 3-col definition ───────── */
.prog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 991.98px) {
  .prog-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 575.98px) {
  .prog-grid { grid-template-columns: 1fr !important; }
}

/* ── Card: top row (badges + icon) ─────────────────────────── */
.prog-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.4rem 1.4rem 0;
  margin-bottom: 1.0rem;
}

/* Badges column */
.prog-card-badges {
  display: flex;
  flex-direction: column;
  gap: 0.48rem;
}

/* ── Category badge ─────────────────────────────────────────── */
.prog-cat {
  display: inline-block;
  font-size: 0.60rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  padding: 0.26rem 0.75rem;
  border-radius: 100px;
  line-height: 1;
  width: fit-content;
}
.prog-cat--tanlov      { background: rgba(9,26,56,0.90);    color: #ffffff; }
.prog-cat--inkubatsiya { background: rgba(12,155,176,0.92); color: #ffffff; }
.prog-cat--grant       { background: rgba(180,135,40,0.92); color: #ffffff; }
.prog-cat--dastur      { background: rgba(30,78,130,0.90);  color: #ffffff; }
.prog-cat--festival    { background: rgba(109,40,217,0.88); color: #ffffff; }

/* ── Status badge ───────────────────────────────────────────── */
.prog-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.36rem;
  font-size: 0.78125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.24rem 0.65rem;
  border-radius: 100px;
  line-height: 1;
  width: fit-content;
}
.prog-status-badge .bi { font-size: 0.68rem; flex-shrink: 0; }

/* Status variants */
.prog-status-badge--open {
  background: rgba(22,163,74,0.10);
  color: #15803D;
  border: 1px solid rgba(22,163,74,0.28);
}
.prog-status-badge--closing {
  background: rgba(217,119,6,0.10);
  color: #B45309;
  border: 1px solid rgba(217,119,6,0.28);
}

/* Animated pulse dot (open status) */
.prog-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #16A34A;
  flex-shrink: 0;
  animation: prog-dot-pulse 2.0s ease-in-out infinite;
}
@keyframes prog-dot-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.50; transform: scale(1.45); }
}

/* ── Card icon ──────────────────────────────────────────────── */
.prog-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
  transition: transform 0.26s ease, box-shadow 0.26s ease;
}
.prog-card:hover .prog-card-icon {
  transform: translateY(-3px) scale(1.06);
}

.prog-card-icon--1 {
  background: rgba(9,26,56,0.07);
  color: #1A2B45;
  border: 1.5px solid rgba(9,26,56,0.13);
  box-shadow: 0 2px 10px rgba(9,26,56,0.07);
}
.prog-card-icon--2 {
  background: rgba(12,155,176,0.10);
  color: #0C9BB0;
  border: 1.5px solid rgba(12,155,176,0.22);
  box-shadow: 0 2px 10px rgba(12,155,176,0.10);
}
.prog-card-icon--3 {
  background: rgba(180,135,40,0.10);
  color: #A07820;
  border: 1.5px solid rgba(180,135,40,0.24);
  box-shadow: 0 2px 10px rgba(180,135,40,0.10);
}
.prog-card-icon--4 {
  background: rgba(30,78,130,0.09);
  color: #1A4E82;
  border: 1.5px solid rgba(30,78,130,0.18);
  box-shadow: 0 2px 10px rgba(30,78,130,0.08);
}
.prog-card-icon--5 {
  background: rgba(109,40,217,0.09);
  color: #6D28D9;
  border: 1.5px solid rgba(109,40,217,0.18);
  box-shadow: 0 2px 10px rgba(109,40,217,0.08);
}
.prog-card-icon--6 {
  background: rgba(5,150,105,0.09);
  color: #047857;
  border: 1.5px solid rgba(5,150,105,0.20);
  box-shadow: 0 2px 10px rgba(5,150,105,0.08);
}
.prog-card:hover .prog-card-icon--1 { box-shadow: 0 6px 20px rgba(9,26,56,0.14); }
.prog-card:hover .prog-card-icon--2 { box-shadow: 0 6px 20px rgba(12,155,176,0.22); }
.prog-card:hover .prog-card-icon--3 { box-shadow: 0 6px 20px rgba(180,135,40,0.20); }
.prog-card:hover .prog-card-icon--4 { box-shadow: 0 6px 20px rgba(30,78,130,0.18); }
.prog-card:hover .prog-card-icon--5 { box-shadow: 0 6px 20px rgba(109,40,217,0.18); }
.prog-card:hover .prog-card-icon--6 { box-shadow: 0 6px 20px rgba(5,150,105,0.18); }

/* ── Card typography ────────────────────────────────────────── */
.prog-card-title {
  color: #0B1C38;
  letter-spacing: -0.01em;
  margin: 0 0 0.55rem;
  padding: 0 1.4rem;
}
.prog-card-desc {
  margin: 0 0 auto;
  padding: 0 1.4rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Meta rows ──────────────────────────────────────────────── */
.prog-card-meta {
  padding: 0.9rem 1.4rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.prog-meta-row {
  display: flex;
  align-items: center;
  gap: 0.44rem;
}
.prog-meta-row .bi {
  font-size: 0.74rem;
  color: #9CA3AF;
  flex-shrink: 0;
}
.prog-meta-key {
  color: #4A5568;
}
.prog-meta-val {
  color: #6B7280;
}
.prog-meta-val--deadline {
  color: #DC2626;
  font-weight: 600;
}

/* ── Card footer: CTA row ───────────────────────────────────── */
.prog-card-footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.0rem 1.4rem 1.4rem;
  margin-top: 1.0rem;
  border-top: 1px solid rgba(9,26,80,0.07);
  flex-wrap: wrap;
}

/* CTA base: override the generic text-link from earlier */
.prog-card-footer .prog-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.38rem !important;
  font-size: 0.80rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  border-radius: 7px !important;
  padding: 0.52rem 1.05rem !important;
  transition: background 0.20s ease, color 0.20s ease, border-color 0.20s ease, gap 0.20s ease, box-shadow 0.20s ease !important;
  white-space: nowrap !important;
  align-self: auto !important;
}
.prog-card-footer .prog-cta .bi {
  font-size: 0.75rem;
  transition: transform 0.20s ease;
}
.prog-card-footer .prog-cta:hover .bi { transform: translateX(2px); }

/* Primary: filled teal */
.prog-card-footer .prog-cta--primary {
  background: #0C9BB0 !important;
  color: #ffffff !important;
  border: 1.5px solid #0C9BB0 !important;
}
.prog-card-footer .prog-cta--primary:hover {
  background: #0A8090 !important;
  border-color: #0A8090 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(12,155,176,0.32) !important;
  gap: 0.55rem !important;
}

/* Ghost: outline */
.prog-card-footer .prog-cta--ghost {
  background: transparent !important;
  color: #4A5568 !important;
  border: 1.5px solid #D1D5DB !important;
  padding: 0.52rem 0.90rem !important;
}
.prog-card-footer .prog-cta--ghost:hover {
  background: rgba(9,26,80,0.05) !important;
  border-color: #9CA3AF !important;
  color: #1A2B45 !important;
}

/* Secondary: muted teal outline (coming-soon) */
.prog-card-footer .prog-cta--secondary {
  background: rgba(12,155,176,0.06) !important;
  color: #0C9BB0 !important;
  border: 1.5px solid rgba(12,155,176,0.26) !important;
}
.prog-card-footer .prog-cta--secondary:hover {
  background: rgba(12,155,176,0.12) !important;
  border-color: rgba(12,155,176,0.46) !important;
  color: #0A7B8C !important;
}

/* Results: blue variant */
.prog-card-footer .prog-cta--results {
  background: rgba(37,99,235,0.08) !important;
  color: #1D4ED8 !important;
  border: 1.5px solid rgba(37,99,235,0.24) !important;
}
.prog-card-footer .prog-cta--results:hover {
  background: rgba(37,99,235,0.14) !important;
  border-color: rgba(37,99,235,0.44) !important;
  color: #1D4ED8 !important;
}

/* ── Section footer: "all programs" button ─────────────────── */
.prog-footer {
  margin-top: 2.5rem;
  text-align: center;
}
.prog-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0C9BB0;
  border: 1.5px solid rgba(12,155,176,0.32);
  border-radius: 100px;
  text-decoration: none;
  transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, gap 0.22s ease;
}
.prog-all-btn .bi {
  font-size: 0.82rem;
  transition: transform 0.22s ease;
}
.prog-all-btn:hover {
  background: #0C9BB0;
  color: #ffffff;
  border-color: #0C9BB0;
  gap: 0.75rem;
}
.prog-all-btn:hover .bi { transform: translateX(3px); }

/* ── Responsive: header stacking on mobile ─────────────────── */
@media (max-width: 767.98px) {
  .prog-head {
    flex-direction: column;
    gap: 1.5rem;
  }
  .prog-head-right { align-self: flex-start; }
  .prog-legend {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 1.2rem;
  }
  .prog-card-top   { padding: 1.2rem 1.2rem 0; }
  .prog-card-title { padding: 0 1.2rem; }
  .prog-card-desc  { padding: 0 1.2rem; }
  .prog-card-meta  { padding: 0.8rem 1.2rem 0; }
  .prog-card-footer { padding: 0.9rem 1.2rem 1.2rem; }
}

/* ── Dark theme ────────────────────────────────────────────── */
[data-theme="dark"] .section-programs {
  background: #0D1526 !important;
}
[data-theme="dark"] .prog-heading {
  color: rgba(228,240,255,0.95) !important;
}
[data-theme="dark"] .prog-sub {
  color: rgba(155,175,210,0.72) !important;
}
[data-theme="dark"] .prog-legend-item {
  color: rgba(175,200,235,0.78) !important;
}
[data-theme="dark"] .prog-card {
  background: #141E32 !important;
  border-color: rgba(100,140,200,0.14) !important;
}
[data-theme="dark"] .prog-card:hover {
  box-shadow: 0 6px 14px rgba(0,0,0,0.22), 0 18px 38px rgba(0,0,0,0.28) !important;
  border-color: rgba(100,140,200,0.26) !important;
}
[data-theme="dark"] .prog-card-title {
  color: rgba(225,238,255,0.95) !important;
}
[data-theme="dark"] .prog-card-desc {
  color: rgba(150,172,210,0.82) !important;
}
[data-theme="dark"] .prog-meta-key {
  color: rgba(175,200,235,0.80) !important;
}
[data-theme="dark"] .prog-meta-val {
  color: rgba(140,162,200,0.72) !important;
}
[data-theme="dark"] .prog-meta-row .bi {
  color: rgba(115,145,190,0.60) !important;
}
[data-theme="dark"] .prog-card-footer {
  border-top-color: rgba(100,140,200,0.12) !important;
}
[data-theme="dark"] .prog-card-footer .prog-cta--ghost {
  color: rgba(175,200,235,0.78) !important;
  border-color: rgba(100,140,200,0.22) !important;
}
[data-theme="dark"] .prog-card-footer .prog-cta--ghost:hover {
  background: rgba(100,140,200,0.10) !important;
  color: rgba(215,235,255,0.95) !important;
}
[data-theme="dark"] .prog-all-btn {
  color: #37C3D7 !important;
  border-color: rgba(55,195,215,0.30) !important;
}
[data-theme="dark"] .prog-all-btn:hover {
  background: #0C9BB0 !important;
  color: #ffffff !important;
  border-color: #0C9BB0 !important;
}

/* ══════════════════════════════════════════════════════════
   PARTNERS GRID — corporate static layout
   ══════════════════════════════════════════════════════════ */

.section-partners {
  border-top: 1px solid #E8EFF8 !important;
  border-bottom: 1px solid #E8EFF8 !important;
}
.partners-head {
  text-align: center;
  margin-bottom: 3rem;
}
.partners-title {
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 700;
  color: #071E3E;
  line-height: 1.2;
  margin: 0.5rem 0 0.75rem;
}
.partners-sub {
  font-size: 1rem;
  color: #6B85A8;
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}
.partners-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.partner-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.25rem 1.5rem 1.6rem;
  background: #ffffff;
  border: 1px solid #E2EAF4;
  border-radius: 14px;
  cursor: default;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.partner-item:hover {
  border-color: rgba(14,165,183,0.40);
  box-shadow: 0 6px 28px rgba(14,165,183,0.10), 0 1px 4px rgba(11,30,68,0.06);
  transform: scale(1.04);
}
.partner-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  margin-bottom: 1rem;
}
.partner-logo-wrap img {
  max-height: 80px;
  max-width: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(1) brightness(0.35) contrast(1.1);
  transition: filter 0.30s ease;
}
.partner-item:hover .partner-logo-wrap img {
  filter: grayscale(0) brightness(1) contrast(1);
}
.partner-type {
  font-size: 0.575rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #9EB5CC;
  margin-bottom: 3px;
}
.partner-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #1E3A5F;
}
.partners-footer-row {
  text-align: center;
  margin-top: 2.5rem;
}
.partners-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #2D6EA8;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s, gap 0.2s;
}
.partners-all-link:hover { color: #0EA5B7; gap: 0.6rem; }

@media (max-width: 767.98px) {
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .partners-title { font-size: 1.5rem !important; }
}

/* ══════════════════════════════════════════════════════════
   MAP NAV LINKS
   ══════════════════════════════════════════════════════════ */

.map-nav-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  background: rgba(6,18,50,0.04);
  border-top: 1px solid rgba(14,40,100,0.08);
  font-size: 0.775rem;
}
.map-nav-label {
  color: #5B7A9E;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-right: 0.25rem;
}
.map-nav-label i { font-size: 0.72rem; }
.map-nav-btn {
  color: #1A5EA8;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s;
}
.map-nav-btn:hover { color: #0EA5B7; text-decoration: underline; }
.map-nav-sep { color: #BDD0E8; }
[data-theme="dark"] .map-nav-links { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.08); }
[data-theme="dark"] .map-nav-label { color: rgba(180,210,255,0.55); }
[data-theme="dark"] .map-nav-btn   { color: #67D3FF; }
[data-theme="dark"] .map-nav-sep   { color: rgba(103,211,255,0.22); }

/* ══════════════════════════════════════════════════════════
   FOOTER INSTITUTIONAL BAR
   ══════════════════════════════════════════════════════════ */

.footer-inst-bar {
  background: rgba(4,9,26,0.55);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 1rem 0;
}
.footer-inst-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.25rem 2.5rem;
}
.footer-inst-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.fii-label {
  font-size: 0.56rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(160,190,240,0.48);
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.fii-label i { font-size: 0.65rem; }
.fii-text {
  font-size: 0.72rem;
  color: rgba(185,210,255,0.60);
  font-weight: 500;
}
.fii-link {
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(185,210,255,0.76);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  transition: color 0.2s;
}
.fii-link:hover { color: #67D3FF; }
.fii-link i { font-size: 0.70rem; opacity: 0.75; }
.footer-inst-item--alert .fii-label { color: rgba(248,180,0,0.62); }
.fii-link--alert { color: rgba(248,200,80,0.78) !important; }
.fii-link--alert:hover { color: #FFC107 !important; }

/* ══════════════════════════════════════════════════════════
   FEATURED NEWS SECTION  (.section-fn)
   ══════════════════════════════════════════════════════════ */

.section-fn {
  background: #EFF4FA;
  border-top: 3px solid #0EA5B7;
  padding: 64px 0 72px;
}

/* ── Header ──────────────────────────────────────────────── */
.fn-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.fn-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #0EA5B7;
  margin-bottom: 0.5rem;
}
.fn-eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #0EA5B7;
  flex-shrink: 0;
  box-shadow: 0 0 7px rgba(14,165,183,0.55);
}
.fn-heading {
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  font-weight: 700;
  color: #071E3E;
  line-height: 1.2;
  margin: 0;
}
.fn-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.80rem;
  font-weight: 600;
  color: #0EA5B7;
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 0.1rem;
  transition: color 0.2s ease, gap 0.2s ease;
}
.fn-all-link:hover { color: #0c8fa0; gap: 0.6rem; }
.fn-all-link svg { flex-shrink: 0; }

/* ── Badge pills (shared: slider + list) ─────────────────── */
.fn-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.18em 0.58em;
  border-radius: 4px;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  flex-shrink: 0;
  line-height: 1;
}
.fn-badge--tanlov    { background: rgba(14,165,183,0.20);  color: #2BC9D8; }
.fn-badge--aksel     { background: rgba(245,166,35,0.20);  color: #F5B84A; }
.fn-badge--xalqaro   { background: rgba(59,130,246,0.20);  color: #60A5FA; }
.fn-badge--grant     { background: rgba(16,185,129,0.20);  color: #34D399; }
.fn-badge--mentorlik { background: rgba(139,92,246,0.20);  color: #A78BFA; }

/* ── Body: Bootstrap row handles two-column layout ────────── */
.fn-body { /* row + align-items-stretch via Bootstrap classes */ }

/* ── LEFT: Slider ────────────────────────────────────────── */
.fn-slider-col { position: relative; }

.fn-swiper {
  border-radius: 14px;
  overflow: hidden;
  height: 480px;
  box-shadow: 0 12px 48px rgba(11,30,68,0.18), 0 2px 8px rgba(11,30,68,0.10);
}
.fn-slide {
  background-size: cover;
  background-position: center;
  background-color: #07122A;
  position: relative;
  height: 100%;
}
.fn-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(4,9,26,0.08) 0%,
    rgba(4,9,26,0.35) 45%,
    rgba(4,9,26,0.88) 100%
  );
  z-index: 1;
}
.fn-slide-inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.75rem 1.75rem 2rem;
}
.fn-slide-title {
  color: #ffffff;
  font-family: var(--font-display, 'Montserrat', sans-serif);
  font-size: clamp(1rem, 1.55vw, 1.25rem);
  font-weight: 700;
  line-height: 1.38;
  margin: 0.6rem 0 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fn-slide-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.fn-slide-date {
  font-size: 0.73rem;
  color: rgba(180,210,255,0.65);
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.fn-slide-date i { opacity: 0.65; }
.fn-slide-read {
  font-size: 0.75rem;
  font-weight: 700;
  color: #67D3FF;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.28rem;
  letter-spacing: 0.01em;
  transition: color 0.2s, gap 0.2s;
}
.fn-slide-read:hover { color: #ffffff; gap: 0.45rem; }

/* Progress bar */
.fn-progress-wrap {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: rgba(255,255,255,0.10);
  z-index: 5;
  overflow: hidden;
}
.fn-progress-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #0EA5B7, #67D3FF);
}

/* Nav arrows — bottom-right corner of slider */
.fn-nav {
  position: absolute;
  bottom: 1.4rem;
  z-index: 6;
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(4,9,26,0.55);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.fn-nav:hover {
  background: rgba(14,165,183,0.30);
  border-color: rgba(14,165,183,0.45);
  transform: scale(1.1);
}
.fn-nav i { font-size: 0.80rem; line-height: 1; }
.fn-nav--prev { right: 3.2rem; }
.fn-nav--next { right: 0.85rem; }

/* ── RIGHT: News list ────────────────────────────────────── */
.fn-list-col { /* Bootstrap col — no extra flex needed */ }

.fn-list-inner {
  display: flex;
  flex-direction: column;
  height: 480px;
  overflow: hidden;
  border: 1px solid #D8E4F0;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 4px 24px rgba(11,30,68,0.08);
}
.fn-list-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.85rem;
  padding: 0.75rem 1rem 0.75rem 0.9rem;
  border-left: 3px solid transparent;
  border-bottom: 1px solid #EBF2FA;
  text-decoration: none;
  flex: 1;
  min-height: 0;
  transition: background 0.18s ease, border-left-color 0.18s ease;
}
.fn-list-item:last-child { border-bottom: none; }
.fn-list-item:hover {
  background: #F3F8FD;
  border-left-color: rgba(14,165,183,0.45);
}
.fn-list-item.is-active {
  background: rgba(14,165,183,0.06);
  border-left-color: #0EA5B7;
}
.fn-list-item--minor { opacity: 0.68; }
.fn-list-item--minor.is-active { opacity: 1; }

/* Thumbnail */
.fn-li-thumb {
  width: 72px;
  height: 56px;
  border-radius: 7px;
  overflow: hidden;
  flex-shrink: 0;
  background: #E8F0FA;
}
.fn-li-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.fn-list-item:hover .fn-li-thumb img { transform: scale(1.06); }

/* Content column */
.fn-li-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
}
.fn-li-top {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.fn-li-date {
  font-size: 0.62rem;
  color: #94AAC4;
  font-weight: 500;
  margin-left: auto;
  white-space: nowrap;
}
.fn-li-title {
  font-size: 0.78rem;
  font-weight: 600;
  color: #1E3A5F;
  line-height: 1.42;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s;
}
.fn-list-item:hover .fn-li-title,
.fn-list-item.is-active .fn-li-title { color: #071E3E; }

/* Badge overrides — darker text on white background */
.fn-list-inner .fn-badge--tanlov    { background: rgba(14,165,183,0.10);  color: #0A7D8C; }
.fn-list-inner .fn-badge--aksel     { background: rgba(245,166,35,0.13);  color: #8B5C0A; }
.fn-list-inner .fn-badge--xalqaro   { background: rgba(59,130,246,0.10);  color: #1D4ED8; }
.fn-list-inner .fn-badge--grant     { background: rgba(16,185,129,0.10);  color: #047857; }
.fn-list-inner .fn-badge--mentorlik { background: rgba(139,92,246,0.10);  color: #6D28D9; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 991.98px) {
  .fn-swiper { height: 340px; }
  .fn-list-inner { height: auto; overflow: visible; border-radius: 10px; }
  .fn-list-item { flex: none; min-height: 64px; }
}
@media (max-width: 575.98px) {
  .section-fn { padding: 40px 0 48px; }
  .fn-header { flex-direction: column; align-items: flex-start; gap: 0.45rem; }
  .fn-swiper { height: 220px; border-radius: 10px; }
  .fn-slide-inner { padding: 1rem 1rem 1.3rem; }
  .fn-slide-title { font-size: 0.9rem !important; }
  .fn-li-thumb { width: 60px; height: 48px; }
}

@media (max-width: 767.98px) {
  .footer-inst-inner { gap: 0; flex-direction: column; }
  .footer-inst-item {
    width: 100%;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
  }
  .footer-inst-item:last-child { border-bottom: none; }
}

/* ═══════════════════════════════════════════════════════════
   STRATEGIK YO'NALISHLAR — Direction Cards Section
   ═══════════════════════════════════════════════════════════ */
.section-strat {
  background: #ffffff;
  padding: 80px 0 88px;
}
.strat-head {
  text-align: center;
  margin: 0 auto 3rem;
  max-width: 600px;
}
.strat-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0EA5B7;
  margin-bottom: 0.6rem;
}
.strat-eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #0EA5B7;
  display: inline-block;
  flex-shrink: 0;
}
.strat-heading {
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 800;
  color: #0E1E3C;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin: 0 0 0.85rem;
}
.strat-sub {
  font-size: 0.94rem;
  color: #6B7280;
  line-height: 1.65;
  margin: 0;
}

/* 3×2 grid */
.strat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.strat-card {
  background: #F8FAFC;
  border: 1px solid rgba(14,30,60,0.08);
  border-radius: 16px;
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: border-color 0.22s, box-shadow 0.22s, transform 0.22s;
}
.strat-card:hover {
  border-color: rgba(14,165,183,0.30);
  box-shadow: 0 8px 32px rgba(14,165,183,0.09);
  transform: translateY(-3px);
}
.strat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: transparent;
  transition: background 0.22s;
}
.strat-card:hover::before { background: linear-gradient(90deg, #0EA5B7, #4E8EF7); }

.strat-card-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  margin-bottom: 1.1rem;
  flex-shrink: 0;
}
.strat-card-icon--1 { background: rgba(14,165,183,0.10);  color: #0EA5B7; }
.strat-card-icon--2 { background: rgba(78,142,247,0.10);  color: #4E8EF7; }
.strat-card-icon--3 { background: rgba(139,92,246,0.10);  color: #8B5CF6; }
.strat-card-icon--4 { background: rgba(245,158,11,0.10);  color: #D97706; }
.strat-card-icon--5 { background: rgba(16,185,129,0.10);  color: #059669; }
.strat-card-icon--6 { background: rgba(239,68,68,0.10);   color: #DC2626; }

.strat-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0E1E3C;
  line-height: 1.35;
  letter-spacing: -0.01em;
  margin: 0 0 0.6rem;
}
.strat-card-desc {
  font-size: 0.83rem;
  color: #6B7280;
  line-height: 1.62;
  margin: 0 0 1.25rem;
  flex: 1;
}
.strat-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.79rem;
  font-weight: 700;
  color: #0EA5B7;
  text-decoration: none;
  margin-top: auto;
  transition: gap 0.18s, color 0.18s;
}
.strat-card-link:hover { gap: 0.55rem; color: #0c8fa0; }
.strat-card-link .bi { font-size: 0.77rem; }

/* About section stats row */
.about-stats-row {
  display: flex;
  gap: 2rem;
  margin: 1.5rem 0;
  padding: 1.25rem 0;
  border-top: 1px solid rgba(14,30,60,0.08);
  border-bottom: 1px solid rgba(14,30,60,0.08);
}
.about-stat { display: flex; flex-direction: column; gap: 0.2rem; }
.about-stat-num {
  font-size: 1.5rem;
  font-weight: 800;
  color: #0E1E3C;
  letter-spacing: -0.03em;
  line-height: 1;
}
.about-stat-label {
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 500;
}

/* Responsive */
@media (max-width: 991.98px) {
  .strat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767.98px) {
  .section-strat { padding: 52px 0 60px; }
  .strat-head { margin-bottom: 2rem; }
  .strat-grid { grid-template-columns: 1fr 1fr; gap: 0.9rem; }
  .strat-card { padding: 1.35rem; }
  .about-stats-row { gap: 1.25rem; }
}
@media (max-width: 575.98px) {
  .strat-grid { grid-template-columns: 1fr; }
  .about-stats-row { flex-wrap: wrap; gap: 1rem; }
}

/* Dark theme */
[data-theme="dark"] .section-strat { background: var(--bg-page, #091833); }
[data-theme="dark"] .strat-heading { color: #E8F0FE; }
[data-theme="dark"] .strat-sub { color: rgba(183,196,217,0.70); }
[data-theme="dark"] .strat-card {
  background: var(--bg-card, #0f2040);
  border-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .strat-card:hover {
  border-color: rgba(14,165,183,0.35);
  box-shadow: 0 8px 32px rgba(14,165,183,0.12);
}
[data-theme="dark"] .strat-card-title { color: rgba(232,240,254,0.92); }
[data-theme="dark"] .strat-card-desc  { color: rgba(183,196,217,0.65); }
[data-theme="dark"] .about-stat-num   { color: #E8F0FE; }
[data-theme="dark"] .about-stats-row  {
  border-color: rgba(255,255,255,0.07);
}

/* ═══════════════════════════════════════════════════════════
   YANGILIKLAR VA E'LONLAR — Unified News Section
   ═══════════════════════════════════════════════════════════ */
.section-news-unified {
  background: #EFF4FA;
  padding: 72px 0 80px;
}

/* Header */
.nu-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}
.nu-header-left { flex-shrink: 0; }
.nu-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0EA5B7;
  margin-bottom: 0.5rem;
}
.nu-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0EA5B7;
  flex-shrink: 0;
  display: inline-block;
}
.nu-heading {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: #0E1E3C;
  margin: 0;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

/* Category filter */
.nu-cats {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.nu-cat {
  display: inline-flex;
  align-items: center;
  border-radius: 100px;
  border: 1.5px solid rgba(14,30,60,0.12);
  background: transparent;
  color: #4A5568;
  cursor: pointer;
  transition: all 0.18s;
  white-space: nowrap;
}
.nu-cat:hover {
  border-color: #0EA5B7;
  color: #0EA5B7;
  background: rgba(14,165,183,0.06);
}

/* Badges */
.nu-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}
.nu-badge--elon    { background: rgba(59,130,246,0.12);  color: #1D4ED8; }
.nu-badge--tanlov  { background: rgba(14,165,183,0.14);  color: #0E7A89; }
.nu-badge--tadbir  { background: rgba(245,158,11,0.14);  color: #92400E; }
.nu-badge--natija  { background: rgba(16,185,129,0.14);  color: #065F46; }
.nu-badge--press   { background: rgba(9,26,56,0.08);     color: #0E1E3C; }

/* Top row: featured + aside */
.nu-top {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  align-items: stretch;
}

/* Featured article */
.nu-featured {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 14px rgba(14,30,60,0.07);
  transition: box-shadow 0.22s;
  text-decoration: none;
}
.nu-featured:hover { box-shadow: 0 8px 32px rgba(14,30,60,0.12); }
.nu-feat-media {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.nu-feat-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.nu-featured:hover .nu-feat-img { transform: scale(1.04); }
.nu-feat-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(9,26,56,0.30) 100%);
  pointer-events: none;
}
.nu-feat-body {
  padding: 1.5rem 1.75rem 1.75rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.nu-feat-meta {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.8rem;
  flex-wrap: wrap;
}
.nu-feat-date {
  font-size: 0.72rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.nu-feat-date .bi { opacity: 0.7; font-size: 0.65rem; }
.nu-feat-title {
  color: #0E1E3C;
  margin: 0 0 0.75rem;
}
.nu-feat-excerpt {
  margin: 0 0 1.25rem;
  flex: 1;
}
.nu-feat-cta {
  width: fit-content;
}

/* Aside announcements */
.nu-aside {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(14,30,60,0.07);
  display: flex;
  flex-direction: column;
}
.nu-aside-head {
  padding: 0.9rem 1.25rem;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9CA3AF;
  border-bottom: 1px solid rgba(14,30,60,0.07);
  background: #FAFBFC;
}
.nu-aside-list { display: flex; flex-direction: column; flex: 1; }
.nu-aside-item {
  display: block;
  border-bottom: 1px solid rgba(14,30,60,0.06);
  text-decoration: none;
  transition: background 0.15s;
  flex: 1;
}
.nu-aside-item:last-child { border-bottom: none; flex: auto; }
.nu-aside-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.nu-aside-date {
  font-size: 0.67rem;
  color: #9CA3AF;
  white-space: nowrap;
}
.nu-aside-title {
  color: #1A2C4A;
  margin: 0;
  transition: color 0.15s;
}
.nu-aside-item:hover .nu-aside-title { color: #0EA5B7; }

/* Bottom: 3 cards */
.nu-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-bottom: 2.25rem;
}
.nu-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(14,30,60,0.07);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.22s, transform 0.22s;
}
.nu-card:hover {
  box-shadow: 0 8px 32px rgba(14,30,60,0.12);
  transform: translateY(-3px);
}
.nu-card-media {
  position: relative;
  overflow: hidden;
}
.nu-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.nu-card:hover .nu-card-img { transform: scale(1.05); }
.nu-card-media .nu-badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
}
.nu-card-body {
  padding: 1.1rem 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.nu-card-date {
  font-size: 0.8125rem;
  color: #64748B;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0.5rem;
}
.nu-card-date .bi { opacity: 0.7; }
.nu-card-title {
  line-height: 1.4;
  letter-spacing: -0.01em;
  margin: 0 0 0.6rem;
  flex: 1;
}
.nu-card-title a {
  color: #0E1E3C;
  text-decoration: none;
  transition: color 0.18s;
}
.nu-card-title a:hover { color: #0EA5B7; }
.nu-card-excerpt {
  color: #475569;
  margin: 0 0 0.9rem;
}
.nu-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #0EA5B7;
  text-decoration: none;
  margin-top: auto;
  transition: gap 0.18s, color 0.18s;
}
.nu-card-cta:hover { gap: 0.55rem; color: #0c8fa0; }

/* Footer CTA */
.nu-footer { display: flex; justify-content: center; }
.nu-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 2rem;
  border: 1.5px solid rgba(14,30,60,0.15);
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0E1E3C;
  text-decoration: none;
  transition: all 0.2s;
  background: #fff;
}
.nu-all-btn:hover {
  border-color: #0EA5B7;
  color: #0EA5B7;
  background: rgba(14,165,183,0.04);
  gap: 0.85rem;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .nu-top { grid-template-columns: 1fr 320px; }
}
@media (max-width: 991.98px) {
  .nu-top { grid-template-columns: 1fr; }
  .nu-feat-media { height: 240px; }
  .nu-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767.98px) {
  .section-news-unified { padding: 48px 0 56px; }
  .nu-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .nu-cats { gap: 0.3rem; }
  .nu-cat { font-size: 0.7rem; padding: 0.25rem 0.65rem; }
  .nu-feat-media { height: 210px; }
  .nu-feat-body { padding: 1.25rem; }
  .nu-cards { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
  .nu-feat-title { font-size: 1rem !important; }
  .nu-card-media { height: 165px; }
}

/* Dark theme */
[data-theme="dark"] .section-news-unified { background: var(--bg-section-alt, #0d1b33); }
[data-theme="dark"] .nu-heading { color: #E8F0FE; }
[data-theme="dark"] .nu-featured,
[data-theme="dark"] .nu-aside,
[data-theme="dark"] .nu-card { background: var(--bg-card, #0f2040); box-shadow: 0 2px 14px rgba(0,0,0,0.28); }
[data-theme="dark"] .nu-aside-head { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.07); }
[data-theme="dark"] .nu-feat-title { color: #E8F0FE; }
[data-theme="dark"] .nu-feat-excerpt { color: rgba(183,196,217,0.70); }
[data-theme="dark"] .nu-aside-item { border-color: rgba(255,255,255,0.05); }
[data-theme="dark"] .nu-aside-item:hover { background: rgba(255,255,255,0.04); }
[data-theme="dark"] .nu-aside-title { color: rgba(232,240,254,0.88); }
[data-theme="dark"] .nu-card-title a { color: rgba(232,240,254,0.92); }
[data-theme="dark"] .nu-card-excerpt { color: rgba(183,196,217,0.65); }
[data-theme="dark"] .nu-badge--elon   { background: rgba(59,130,246,0.18);  color: #93C5FD; }
[data-theme="dark"] .nu-badge--tanlov { background: rgba(14,165,183,0.18);  color: #5EEAD4; }
[data-theme="dark"] .nu-badge--tadbir { background: rgba(245,158,11,0.18);  color: #FCD34D; }
[data-theme="dark"] .nu-badge--natija { background: rgba(16,185,129,0.18);  color: #6EE7B7; }
[data-theme="dark"] .nu-badge--press  { background: rgba(255,255,255,0.08); color: rgba(232,240,254,0.8); }
[data-theme="dark"] .nu-cat { border-color: rgba(255,255,255,0.12); color: rgba(183,196,217,0.8); }
[data-theme="dark"] .nu-cat:hover { border-color: #0EA5B7; color: #5EEAD4; }
[data-theme="dark"] .nu-all-btn { border-color: rgba(255,255,255,0.12); color: rgba(232,240,254,0.85); background: transparent; }
[data-theme="dark"] .nu-all-btn:hover { border-color: #0EA5B7; color: #5EEAD4; }

/* ── Trust Strip ─────────────────────────────────────────── */
.trust-strip {
  background: var(--color-surface, #fff);
  border-bottom: 1px solid var(--color-border, rgba(14,30,60,0.08));
  padding: 0;
  position: relative;
  z-index: 2;
}
.trust-strip-inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2.5rem;
  flex: 1;
  justify-content: center;
  transition: background 0.2s;
}
.trust-item:hover {
  background: var(--color-hover, rgba(14,30,60,0.03));
}
.trust-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  background: rgba(14,165,183,0.10);
  color: var(--color-accent, #0EA5B7);
  font-size: 0.95rem;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.2s;
}
.trust-item:hover .trust-icon {
  background: rgba(14,165,183,0.18);
  transform: scale(1.08);
}
.trust-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text, #0E1E3C);
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.trust-sep {
  width: 1px;
  background: var(--color-border, rgba(14,30,60,0.08));
  align-self: stretch;
  flex-shrink: 0;
}
@media (max-width: 767.98px) {
  .trust-strip-inner {
    flex-direction: column;
    gap: 0;
  }
  .trust-item {
    padding: 1rem 1.5rem;
    justify-content: flex-start;
    border-bottom: 1px solid var(--color-border, rgba(14,30,60,0.07));
  }
  .trust-item:last-child { border-bottom: none; }
  .trust-sep { display: none; }
  .trust-label { white-space: normal; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .trust-item { padding: 1.1rem 1.5rem; }
  .trust-label { font-size: 0.82rem; }
}

/* Dark theme overrides */
[data-theme="dark"] .trust-strip {
  background: var(--color-surface-dark, #0f1c35);
  border-bottom-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .trust-item:hover {
  background: rgba(255,255,255,0.04);
}
[data-theme="dark"] .trust-label {
  color: rgba(235,245,255,0.88);
}
[data-theme="dark"] .trust-sep {
  background: rgba(255,255,255,0.07);
}
[data-theme="dark"] .trust-item { border-bottom-color: rgba(255,255,255,0.06); }

/* =========================================================
   SECTION-PARTNERS v2 — ph-* classes
   ========================================================= */

/* ── Container ── */

/* ── Head: two-column flex ── */
.ph-head {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.ph-head-left { flex: 1 1 320px; }
.ph-head-right { flex: 0 0 auto; }

/* ── Eyebrow ── */
.ph-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0C9BB0;
  margin-bottom: 0.6rem;
}
.ph-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0C9BB0;
  flex-shrink: 0;
}

/* ── Title / Sub ── */
.ph-title {
  font-size: clamp(1.55rem, 2.8vw, 2.1rem);
  font-weight: 800;
  color: #0E1E3C;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin: 0 0 0.55rem;
}
.ph-sub {
  font-size: 0.97rem;
  color: #5A6B8C;
  line-height: 1.65;
}

/* ── Trust stats ── */
.ph-trust-stats {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 1.5px solid rgba(14,30,60,0.10);
  border-radius: 14px;
  padding: 1rem 1.5rem;
  box-shadow: 0 2px 10px rgba(14,30,60,0.06);
}
.ph-trust-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 1.25rem;
  text-align: center;
}
.ph-trust-num {
  line-height: 1;
  letter-spacing: -0.03em;
}
.ph-trust-lbl {
  margin-top: 0.25rem;
  white-space: nowrap;
}
.ph-trust-sep {
  width: 1px;
  height: 2.5rem;
  background: rgba(14,30,60,0.10);
  flex-shrink: 0;
}

/* ── Category filter tabs ── */
.ph-cats {
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.ph-cat-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 100px;
  font-weight: 600;
  border: 1.5px solid rgba(14,30,60,0.13);
  background: #fff;
  color: #5A6B8C;
  cursor: pointer;
  transition: all 0.18s;
  letter-spacing: 0.01em;
}
.ph-cat-btn:hover {
  border-color: #0C9BB0;
  color: #0C9BB0;
  background: rgba(12,155,176,0.05);
}

/* Category indicator dots */
.ph-cat-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.ph-cat-dot--davlat     { background: #0E1E3C; }
.ph-cat-dot--talim      { background: #0C9BB0; }
.ph-cat-dot--texnologik { background: #D97706; }
.ph-cat-dot--xalqaro    { background: #7C3AED; }

/* ── Partners grid ── */
.ph-grid {
  display: grid !important;
  margin-bottom: 2.5rem;
}
@media (max-width: 1199px) {
  .ph-grid { grid-template-columns: repeat(4, 1fr) !important; }
}

/* ── Partner card ── */
.ph-card {
  overflow: hidden;
}
.ph-card.ph-card--hidden {
  display: none !important;
}

/* ── Logo area ── */
.ph-logo-area {
  flex: 1;
}
.ph-card:hover .ph-logo-img {
  filter: grayscale(0%) opacity(1);
}

/* ── Card footer (badge + name) ── */
.ph-card-foot {
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  padding: 0.65rem 0.75rem 0.85rem;
  border-top: 1px solid rgba(14,30,60,0.07);
  text-align: center;
}

/* ── Category badge ── */
.ph-badge {
  display: inline-block;
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.2rem 0.55rem;
  border-radius: 100px;
  line-height: 1.5;
}
.ph-badge--davlat     { background: rgba(14,30,60,0.08);    color: #0E1E3C; }
.ph-badge--talim      { background: rgba(12,155,176,0.10);  color: #0780A0; }
.ph-badge--texnologik { background: rgba(217,119,6,0.10);   color: #B45309; }
.ph-badge--xalqaro    { background: rgba(124,58,237,0.09);  color: #6D28D9; }

.ph-pname {
  line-height: 1.25;
}

/* ── Footer CTA ── */
.ph-footer {
  text-align: center;
  margin-top: 0.5rem;
}
.ph-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1.75rem;
  border-radius: 100px;
  font-size: 0.9rem;
  font-weight: 600;
  color: #0C9BB0;
  border: 1.5px solid rgba(12,155,176,0.32);
  background: transparent;
  text-decoration: none;
  transition: all 0.18s;
}
.ph-all-btn:hover {
  background: #0C9BB0;
  color: #fff;
  border-color: #0C9BB0;
  text-decoration: none;
}

/* ── Dark theme ── */
[data-theme="dark"] .ph-title { color: #E8EDF7; }
[data-theme="dark"] .ph-sub   { color: #8A9DC0; }
[data-theme="dark"] .ph-eyebrow { color: #29C7E0; }
[data-theme="dark"] .ph-eyebrow-dot { background: #29C7E0; }
[data-theme="dark"] .ph-trust-stats {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.08);
}
[data-theme="dark"] .ph-trust-num  { color: #E8EDF7; }
[data-theme="dark"] .ph-trust-lbl  { color: #6A7DA0; }
[data-theme="dark"] .ph-trust-sep  { background: rgba(255,255,255,0.08); }
[data-theme="dark"] .ph-cat-btn {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.10);
  color: #8A9DC0;
}
[data-theme="dark"] .ph-cat-btn:hover {
  background: rgba(41,199,224,0.10);
  border-color: #29C7E0;
  color: #29C7E0;
}
[data-theme="dark"] .ph-card:hover {
  background: rgba(255,255,255,0.07);
}
[data-theme="dark"] .ph-card:hover .ph-logo-img {
  filter: grayscale(0%) opacity(1) brightness(1);
}
[data-theme="dark"] .ph-card-foot { border-top-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .ph-badge--davlat     { background: rgba(232,237,247,0.10); color: #C0CCE0; }
[data-theme="dark"] .ph-badge--talim      { background: rgba(41,199,224,0.12);  color: #29C7E0; }
[data-theme="dark"] .ph-badge--texnologik { background: rgba(251,191,36,0.12);  color: #FBB724; }
[data-theme="dark"] .ph-badge--xalqaro   { background: rgba(167,139,250,0.12); color: #A78BFA; }
[data-theme="dark"] .ph-all-btn {
  color: #29C7E0;
  border-color: rgba(41,199,224,0.30);
}
[data-theme="dark"] .ph-all-btn:hover {
  background: #29C7E0;
  color: #0A1628;
  border-color: #29C7E0;
}

/* ── Responsive tweaks ── */
@media (max-width: 767px) {
  .ph-head { flex-direction: column; gap: 1.5rem; }
  .ph-trust-stats { padding: 0.75rem 1rem; }
  .ph-trust-stat  { padding: 0 0.75rem; }
  .ph-trust-num   { font-size: 1.3rem; }
  .ph-cats        { gap: 0.4rem; }
  .ph-cat-btn     { padding: 0.4rem 0.85rem; font-size: 0.78rem; }
}
@media (max-width: 479px) {
  .section-partners { padding: 3.5rem 0 3rem; }
  .ph-trust-stats { flex-wrap: wrap; gap: 0.5rem; justify-content: center; }
  .ph-trust-sep   { display: none; }
}

/* =========================================================
   SECTION-CONTACT v2 — sc-* classes
   ========================================================= */

/* ── Container ── */
.sc-section {
  background: #fff;
  padding: 5rem 0 5.5rem;
  border-top: 1px solid rgba(14,30,60,0.07);
}

/* ── Head ── */
.sc-head {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 3rem;
}
.sc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0C9BB0;
  margin-bottom: 0.65rem;
}
.sc-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0C9BB0;
  flex-shrink: 0;
}
.sc-title {
  font-size: clamp(1.55rem, 2.8vw, 2.1rem);
  font-weight: 800;
  color: #0E1E3C;
  letter-spacing: -0.025em;
  line-height: 1.2;
  margin: 0 0 0.6rem;
}
.sc-sub {
  font-size: 0.97rem;
  color: #5A6B8C;
  line-height: 1.65;
  margin: 0;
}

/* ── Two-column body ── */
.sc-body {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 2.5rem;
  align-items: start;
}
@media (max-width: 991px) {
  .sc-body { grid-template-columns: 1fr; }
}

/* ── Aside (left column) ── */
.sc-aside { display: flex; flex-direction: column; gap: 1.75rem; }

/* ── Info list ── */
.sc-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1.5px solid rgba(14,30,60,0.08);
  border-radius: 16px;
  overflow: hidden;
}
.sc-info-item {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid rgba(14,30,60,0.07);
  transition: background 0.16s;
}
.sc-info-item:last-child { border-bottom: none; }
.sc-info-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.sc-info-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.sc-info-label {
  text-transform: uppercase;
  color: #8A9DC0;
}
.sc-info-val {
  color: #1A2E5C;
  line-height: 1.45;
}
.sc-info-val small { font-size: 0.82em; color: #7A8BAF; font-weight: 400; }
.sc-info-link {
  color: #0780A0;
  text-decoration: none;
  transition: color 0.15s;
}
.sc-info-link:hover { color: #055A78; text-decoration: underline; }

/* ── Social links ── */
.sc-social {}
.sc-social-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #8A9DC0;
  margin-bottom: 0.65rem;
}
.sc-social-row {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.sc-soc-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 1rem;
  border-radius: 100px;
  font-size: 0.83rem;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: all 0.18s;
}
.sc-soc--telegram  { background: #E5F4F9; color: #0A8CB0; border-color: rgba(10,140,176,0.18); }
.sc-soc--instagram { background: #FDF0F5; color: #C13584; border-color: rgba(193,53,132,0.18); }
.sc-soc--facebook  { background: #EEF2FB; color: #1877F2; border-color: rgba(24,119,242,0.18); }
.sc-soc--telegram:hover  { background: #0A8CB0; color: #fff; border-color: #0A8CB0; }
.sc-soc--instagram:hover { background: #C13584; color: #fff; border-color: #C13584; }
.sc-soc--facebook:hover  { background: #1877F2; color: #fff; border-color: #1877F2; }

/* ── Map ── */
.sc-map-wrap {
  overflow: hidden;
  border: 1.5px solid rgba(14,30,60,0.09);
  position: relative;
}
.sc-map-skeleton {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #EEF3F9 0%, #E0EAF5 100%);
  z-index: 1;
  pointer-events: none;
}
.sc-map-iframe {
  display: block;
  width: 100%;
  height: 220px;
  border: none;
  position: relative;
  z-index: 2;
}
.sc-map-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  background: #fff;
  border-top: 1px solid rgba(14,30,60,0.07);
  flex-wrap: wrap;
}
.sc-map-nav-icon { color: #0C9BB0; font-size: 0.8rem; }
.sc-map-nav-label { font-size: 0.78rem; font-weight: 600; color: #5A6B8C; }
.sc-map-nav-link {
  font-size: 0.78rem;
  font-weight: 600;
  color: #0780A0;
  text-decoration: none;
  transition: color 0.15s;
}
.sc-map-nav-link:hover { color: #055A78; text-decoration: underline; }
.sc-map-nav-sep { color: #BDD0E8; font-size: 0.75rem; }

/* ── Form card (right column) ── */
.sc-form-card {
  border: 1.5px solid rgba(14,30,60,0.09);
  border-radius: 20px;
  padding: 2.25rem 2rem 2rem;
}
.sc-form-hd { margin-bottom: 1.75rem; }
.sc-form-title {
  color: #0E1E3C;
  margin: 0 0 0.35rem;
}
.sc-form-sub {
  margin: 0;
  line-height: 1.55;
}

/* ── Form fields ── */
.sc-form { display: flex; flex-direction: column; gap: 1rem; }
.sc-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 575px) {
  .sc-field-row { grid-template-columns: 1fr; }
}
.sc-field { display: flex; flex-direction: column; gap: 0.35rem; }
.sc-label {
  letter-spacing: 0.02em;
}
.sc-input {
  width: 100%;
  border: 1.5px solid rgba(14,30,60,0.14);
  background: #fff;
  color: #0E1E3C;
  font-family: inherit;
  transition: border-color 0.18s, box-shadow 0.18s;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.sc-input::placeholder { color: #B0BFDA; }

/* Select */
.sc-select-wrap {
  position: relative;
}
.sc-select-wrap::after {
  content: '';
  position: absolute;
  right: 0;
  top: 1.5px;
  bottom: 1.5px;
  width: 2.6rem;
  background: rgba(14,30,60,0.03);
  border-left: 1px solid rgba(14,30,60,0.09);
  border-radius: 0 8px 8px 0;
  pointer-events: none;
  transition: background 0.18s;
}
.sc-select {
  width: 100%;
  cursor: pointer;
  padding-right: 2.8rem;
  -moz-appearance: none;
}
.sc-select:hover {
  border-color: rgba(14,30,60,0.28) !important;
}
.sc-select:hover ~ .sc-select-arrow { color: #4A6A9C; }
.sc-select:focus ~ .sc-select-arrow {
  color: #0EA5B7;
  transform: translateY(-50%) rotate(180deg);
}
.sc-select option[disabled] { color: #B0BFDA; }
.sc-select option { color: #1A2E5C; }
.sc-select-arrow {
  position: absolute;
  right: 0.88rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8rem;
  color: #8A9DC0;
  pointer-events: none;
  transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1), color 0.18s;
  z-index: 1;
}
[data-theme="dark"] .sc-select-wrap::after {
  background: rgba(255,255,255,0.04);
  border-left-color: rgba(255,255,255,0.07);
}
[data-theme="dark"] .sc-select option { background: #131E30; color: #C0CCE0; }
[data-theme="dark"] .sc-select option[disabled] { color: rgba(255,255,255,0.25); }

/* Textarea */
.sc-textarea {
  line-height: 1.55;
}

/* Form footer */
.sc-form-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}
.sc-submit {
  display: inline-flex;
  align-items: center;
  color: #fff;
  border: none;
  cursor: pointer;
}
.sc-submit svg { flex-shrink: 0; }
.sc-form-note {
  font-size: 0.78rem;
  color: #8A9DC0;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.sc-form-note i { color: #16A34A; font-size: 0.85rem; }

/* ── Dark theme ── */
[data-theme="dark"] .sc-section {
  background: #0A1628;
  border-top-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .sc-title  { color: #E8EDF7; }
[data-theme="dark"] .sc-sub    { color: #8A9DC0; }
[data-theme="dark"] .sc-eyebrow { color: #29C7E0; }
[data-theme="dark"] .sc-eyebrow-dot { background: #29C7E0; }

[data-theme="dark"] .sc-info-item { border-bottom-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .sc-info-item:hover { background: rgba(41,199,224,0.05); }
[data-theme="dark"] .sc-info-label { color: #5A7090; }
[data-theme="dark"] .sc-info-val   { color: #C0CCE0; }
[data-theme="dark"] .sc-info-link  { color: #29C7E0; }
[data-theme="dark"] .sc-info-link:hover { color: #5DE0F5; }

[data-theme="dark"] .sc-social-label { color: #5A7090; }
[data-theme="dark"] .sc-soc--telegram  { background: rgba(10,140,176,0.12); color: #29C7E0; border-color: rgba(41,199,224,0.20); }
[data-theme="dark"] .sc-soc--instagram { background: rgba(193,53,132,0.10); color: #F06FAD; border-color: rgba(193,53,132,0.20); }
[data-theme="dark"] .sc-soc--facebook  { background: rgba(24,119,242,0.10); color: #6DA8FF; border-color: rgba(109,168,255,0.20); }

[data-theme="dark"] .sc-map-skeleton { background: rgba(255,255,255,0.04); }
[data-theme="dark"] .sc-map-nav {
  background: rgba(255,255,255,0.03);
  border-top-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .sc-map-nav-label { color: #6A7DA0; }
[data-theme="dark"] .sc-map-nav-link  { color: #29C7E0; }
[data-theme="dark"] .sc-map-nav-sep   { color: rgba(41,199,224,0.20); }

[data-theme="dark"] .sc-form-title { color: #E8EDF7; }
[data-theme="dark"] .sc-form-sub   { color: #6A7DA0; }
[data-theme="dark"] .sc-label      { color: #8A9DC0; }
[data-theme="dark"] .sc-input::placeholder { color: rgba(255,255,255,0.22); }
[data-theme="dark"] .sc-input:focus {
  border-color: #29C7E0;
  box-shadow: 0 0 0 3px rgba(41,199,224,0.12);
}
[data-theme="dark"] .sc-select-arrow { color: #5A7090; }
[data-theme="dark"] .sc-form-note { color: #5A7090; }

/* ── Responsive ── */
@media (max-width: 767px) {
  .sc-section { padding: 3.5rem 0 4rem; }
  .sc-form-card { padding: 1.5rem 1.25rem; }
  .sc-form-foot { flex-direction: column; align-items: flex-start; }
}

/* =========================================================
   FOOTER v2 — ft-* classes
   ========================================================= */

/* ── Brand column ── */
.ft-brand { display: flex; flex-direction: column; gap: 0; align-items: flex-start; }

/* Ministry attribution */
.ft-ministry {
  margin-top: 1.35rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.ft-ministry-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ft-ministry-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.18s;
  line-height: 1.4;
}
.ft-ministry-link i { font-size: 0.75rem; color: rgba(103,211,255,0.55); flex-shrink: 0; }

/* ── Contact list (col 4) ── */
.ft-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.ft-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.ft-contact-icon {
  border-radius: 8px;
  background: rgba(103,211,255,0.10);
  color: #67D3FF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.ft-contact-icon--alert {
  background: rgba(248,180,0,0.10);
  color: rgba(248,200,80,0.80);
}
.ft-contact-label {
  display: block;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.15rem;
}
.ft-contact-val {
  display: block;
  font-weight: 500;
  line-height: 1.45;
}
.ft-contact-muted {
  font-size: 0.78em;
  color: rgba(160,190,240,0.45);
}
.ft-contact-link {
  text-decoration: none;
  transition: color 0.15s;
}
.ft-contact-link:hover { color: #67D3FF; }
.ft-contact-link--alert { color: rgba(248,200,80,0.70) !important; }
.ft-contact-link--alert:hover { color: #FFC107 !important; }

/* ── Footer bottom redesign ── */
.footer-bottom-inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.ft-legal-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.ft-legal-nav .footer-bottom-sep {
  font-size: 0.7rem;
  color: rgba(183,196,217,0.22);
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .ft-brand { max-width: 480px; }
  .ft-ministry { margin-top: 1rem; padding-top: 0.9rem; }
}

/* footer-bottom-inner: space-between for ft-copy + ft-legal-nav layout */

/* ════════════════════════════════════════════════════════════
   DESIGN POLISH v5 — Typography · Cards · Section balance
   ════════════════════════════════════════════════════════════ */

/* ── 1. Statistics block (orb-stat): premium institutional feel ── */
.orb-stat:hover {
  transform: translateY(-3px) !important;
}
@media (max-width: 575px) {
  .orb-stat-num { font-size: 2.25rem !important; }
  .orb-stat-label { font-size: 0.9375rem !important; }
}

/* ── 2. Direction cards: bigger text, icon, clearer hover ─────── */
.direction-icon > i:not(svg *) {
  font-size: 1.875rem !important;
}
.dir-sub {
  font-size: 1rem !important;
  color: #475569 !important;
}
.dir-card-link {
  margin-top: 1.1rem !important;
}
[data-theme="dark"] .direction-card h4 { color: rgba(232,240,254,0.92) !important; }

/* ── 3. Lifecycle: readable step labels + descriptions ─────────── */
.lc-m-desc {
  color: rgba(183,196,217,0.72) !important;
}

/* ── 4. Support section: light background (after dark lifecycle) ── */
.section-support {
  background: #F4F8FC !important;
  position: relative !important;
}
.section-support::before {
  display: none !important;
}
.section-support .container { position: static !important; }
.section-support .section-title {
  color: #0E1E3C !important;
}
.section-support .section-header > p {
  color: #445A7A !important;
}
.section-support .tag {
  background: rgba(14,165,183,0.10) !important;
  color: #0C9BB0 !important;
  border: 1px solid rgba(14,165,183,0.20) !important;
}
.section-support .divider-line {
  background: rgba(14,165,183,0.55) !important;
  opacity: 1 !important;
}
.section-support .support-card {
  background: #ffffff !important;
  backdrop-filter: none !important;
  border: 1px solid #D8E6F2 !important;
  box-shadow: 0 1px 4px rgba(9,26,80,0.05), 0 6px 20px rgba(9,26,80,0.07) !important;
}
.section-support .support-card:hover {
  background: #F8FBFF !important;
  border-color: rgba(14,165,183,0.42) !important;
  box-shadow: 0 4px 10px rgba(9,26,80,0.07), 0 14px 32px rgba(9,26,80,0.10) !important;
  transform: translateY(-5px) !important;
}
.section-support .support-card h5 {
  color: #0E1E3C !important;
  font-size: 1.05rem !important;
}
.section-support .support-card p {
  color: #374F6E !important;
  font-size: 0.9rem !important;
}
.section-support .support-card-icon {
  background: rgba(14,165,183,0.10) !important;
  border: 1.5px solid rgba(14,165,183,0.22) !important;
  color: #0C9BB0 !important;
}
.section-support .support-card:hover .support-card-icon {
  background: rgba(14,165,183,0.18) !important;
  border-color: rgba(14,165,183,0.38) !important;
  color: #0EA5B7 !important;
}
.section-support .support-card-stat {
  background: rgba(14,165,183,0.08) !important;
  border: 1px solid rgba(14,165,183,0.18) !important;
  color: #0C9BB0 !important;
}
[data-theme="dark"] .section-support {
  background: var(--bg-section-alt) !important;
}
[data-theme="dark"] .section-support .support-card {
  background: var(--bg-card) !important;
  border-color: var(--border-card) !important;
}
[data-theme="dark"] .section-support .support-card h5 { color: rgba(232,240,254,0.92) !important; }
[data-theme="dark"] .section-support .support-card p  { color: rgba(183,196,217,0.68) !important; }

/* ── 5. Program cards: bigger primary CTA button ──────────────── */
.prog-all-btn {
  font-size: 0.9375rem !important;
  padding: 0.75rem 2.2rem !important;
  border-width: 2px !important;
}

/* ── 6. Program cards: bigger description text ────────────────── */
.prog-sub {
  font-size: 1rem !important;
}

/* ── 7. Event cards: more premium date block + CTA ────────────── */
.event-card-body > p {
  line-height: 1.65 !important;
}

/* ── 8. News: bigger aside text + filter tabs ─────────────────── */

/* ── 9. Partners: bigger trust stats ─────────────────────────── */
.ph-trust-num {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #0B1C38 !important;
}
.ph-trust-lbl {
  font-size: 0.875rem !important;
  color: #445A7A !important;
}

/* ── 10. CTA section: bigger primary button + stronger checklist ─ */

/* ── 11. Global: improve section subtitle readability ─────────── */
.section-header p {
  font-size: 1rem !important;
  max-width: 640px !important;
}

/* ── 12. Primary button: global premium box-shadow ─────────────── */
.btn-primary-custom {
  box-shadow: 0 2px 8px rgba(9,26,80,0.20) !important;
  letter-spacing: 0.03em !important;
}
.btn-primary-custom:hover {
  box-shadow: 0 4px 18px rgba(9,26,80,0.32) !important;
  transform: translateY(-2px) !important;
}
/* Hero overrides its own shadow — keep those */

/* ════════════════════════════════════════════════════════════
   DESIGN POLISH v6 — Hero · Cards · Timeline · News · Events
   ════════════════════════════════════════════════════════════ */

/* ── 1. Hero: H1 bigger, subtitle refined, buttons taller ─── */
.hero-section .btn-primary-custom {
  min-height: 50px !important;
}
.hero-section .btn-outline-primary-c {
  min-height: 50px !important;
}

/* ── 2. Direction cards: icon 44px, title 19px, desc 15px ─── */

/* ── 3. Program card title bigger ────────────────────────── */
.prog-card-title {
  font-weight: 700 !important;
}

/* ── 4. Lifecycle: step title 17px (not uppercase), desc 14px */
.lcn-label {
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  color: rgba(232,242,255,0.95) !important;
}

/* ── 5. Support section: outcome link per card ────────────── */
[data-theme="dark"] .support-card-link { color: #2BC9D8; }

/* ── 6. Event cards: bigger date + status badge ───────────── */
.event-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  border-radius: 100px;
  letter-spacing: 0.04em;
  white-space: nowrap;
  flex-shrink: 0;
}
.event-status--online  { background: rgba(16,185,129,0.12); color: #059669; border: 1px solid rgba(16,185,129,0.20); }
.event-status--offline { background: rgba(59,130,246,0.12); color: #1D4ED8; border: 1px solid rgba(59,130,246,0.20); }
.event-status--open    { background: rgba(245,158,11,0.12);  color: #B45309; border: 1px solid rgba(245,158,11,0.20); }

/* ── 7. News: featured image height, bigger title, tabs ──── */
.nu-cat--active {
  background: #0B1E44 !important;
  border-color: #0B1E44 !important;
  color: #ffffff !important;
}
.nu-cat--active:hover {
  background: #0F2657 !important;
  border-color: #0F2657 !important;
  color: #ffffff !important;
}
[data-theme="dark"] .nu-cat--active {
  background: rgba(14,165,183,0.22) !important;
  border-color: rgba(14,165,183,0.35) !important;
  color: #ffffff !important;
}
@media (max-width: 575px) {
  .nu-feat-media { height: 220px !important; }
  .nu-cat { font-size: 0.78rem !important; padding: 0.35rem 0.8rem !important; }
}

/* ════════════════════════════════════════════════════════════
   PARTNERS REDESIGN — Premium logo grid, no stats
   ════════════════════════════════════════════════════════════ */

/* Header: centered */
.ph-head-right { display: none !important; }

/* Filter tabs: centered, consistent with news tabs */
.ph-cats {
  justify-content: center !important;
  margin-bottom: 2.75rem !important;
}
.ph-cat-btn {
  font-size: 0.875rem !important;
  padding: 0.5rem 1.25rem !important;
}
.ph-cat-btn.active {
  background: #0B1E44 !important;
  border-color: #0B1E44 !important;
  color: #ffffff !important;
}
.ph-cat-btn.active:hover {
  background: #0F2657 !important;
  border-color: #0F2657 !important;
}

/* Grid: 3 columns desktop */
.ph-grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 767px) {
  .ph-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1rem !important; }
}
@media (max-width: 479px) {
  .ph-grid { grid-template-columns: 1fr !important; }
}

/* Card: clean white, generous padding, premium hover */
.ph-card {
  background: #FFFFFF !important;
  border: 1.5px solid #E4ECF7 !important;
  border-radius: 18px !important;
  padding: 2.75rem 2rem 1.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  box-shadow: 0 1px 4px rgba(9,26,80,0.04), 0 6px 20px rgba(9,26,80,0.06) !important;
  transition: border-color 0.24s, box-shadow 0.24s, transform 0.24s !important;
  cursor: default !important;
  min-height: 200px !important;
}
.ph-card:hover {
  border-color: rgba(14,165,183,0.40) !important;
  box-shadow: 0 6px 16px rgba(9,26,80,0.07), 0 24px 52px rgba(9,26,80,0.11) !important;
  transform: translateY(-7px) !important;
}

/* Logo area: tall centred stage */
.ph-logo-area {
  width: 100% !important;
  height: 110px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.ph-logo-img {
  max-width: 180px !important;
  max-height: 90px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  opacity: 0.82 !important;
  transition: opacity 0.22s, transform 0.32s cubic-bezier(0.34,1.56,0.64,1) !important;
  filter: none !important;
}
.ph-card:hover .ph-logo-img {
  opacity: 1 !important;
  transform: scale(1.09) !important;
}

/* Partner name: small muted label below logo */
.ph-card-foot { display: none !important; }
.ph-pname {
  display: block !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #8A9DC0 !important;
  text-align: center !important;
  letter-spacing: 0.02em !important;
}

/* Dark mode */
[data-theme="dark"] .ph-card {
  background: var(--bg-card) !important;
  border-color: var(--border-card) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.25) !important;
}
[data-theme="dark"] .ph-card:hover {
  border-color: rgba(14,165,183,0.35) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.40) !important;
}
[data-theme="dark"] .ph-logo-img {
  filter: brightness(1.05) contrast(0.95) !important;
  opacity: 0.88 !important;
}
[data-theme="dark"] .ph-pname { color: rgba(183,196,217,0.55) !important; }
[data-theme="dark"] .ph-cat-btn.active {
  background: rgba(14,165,183,0.22) !important;
  border-color: rgba(14,165,183,0.35) !important;
  color: #ffffff !important;
}

/* ════════════════════════════════════════════════════════════
   PARTNERS MARQUEE — Infinite auto-scroll logo strip
   ════════════════════════════════════════════════════════════ */

/* Hide old category tabs entirely */
.ph-cats { display: none !important; }
/* Hide old grid/card elements if any remain */
.ph-grid, .ph-card { display: none !important; }

/* Section layout */
.section-partners {
  background: #FFFFFF !important;
  padding: 5rem 0 4.5rem !important;
  overflow: hidden !important;
}

/* Header: centered */
.ph-head {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0.65rem !important;
  margin-bottom: 3rem !important;
}
.ph-sub {
  max-width: 520px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* ── Marquee wrapper ── */
.ph-marquee {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
  padding: 1rem 0 1.5rem;
}

/* ── Scrolling track ── */
.ph-marquee-track {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: max-content;
  animation: ph-scroll 26s linear infinite;
  will-change: transform;
}
.ph-marquee:hover .ph-marquee-track {
  animation-play-state: paused;
}

@keyframes ph-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Individual logo item ── */
.ph-logo-item {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1.5px solid #E4ECF7;
  border-radius: 16px;
  box-shadow: 0 1px 4px rgba(9,26,80,0.04), 0 4px 14px rgba(9,26,80,0.06);
  transition: border-color 0.22s, box-shadow 0.22s, transform 0.22s;
  cursor: default;
  overflow: visible;
}
.ph-logo-item:hover {
  border-color: rgba(14,165,183,0.45);
  box-shadow: 0 4px 12px rgba(9,26,80,0.07), 0 16px 36px rgba(9,26,80,0.10);
  transform: translateY(-5px);
  z-index: 2;
}

/* ── Logo image ── */
.ph-logo-item .ph-logo-img {
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  transition: opacity 0.22s, transform 0.28s cubic-bezier(0.34,1.56,0.64,1) !important;
  filter: none !important;
}
.ph-logo-item:hover .ph-logo-img {
  transform: scale(1.08) !important;
}

/* ── Tooltip on hover ── */
.ph-logo-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(5px);
  background: #0B1E44;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 0.3rem 0.8rem;
  border-radius: 7px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 10;
}
.ph-logo-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #0B1E44;
}
.ph-logo-item:hover .ph-logo-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── Responsive ── */
@media (max-width: 767px) {
  .ph-logo-item {
    width: 160px;
    height: 100px;
  }
  .ph-logo-item .ph-logo-img {
    max-width: 110px !important;
    max-height: 56px !important;
  }
  .ph-marquee-track { gap: 1rem; animation-duration: 20s; }
}

/* ── Dark mode ── */
[data-theme="dark"] .section-partners {
  background: var(--bg-section-alt) !important;
}
[data-theme="dark"] .ph-logo-item {
  background: var(--bg-card);
  border-color: var(--border-card);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}
[data-theme="dark"] .ph-logo-item:hover {
  border-color: rgba(14,165,183,0.35);
  box-shadow: 0 6px 24px rgba(0,0,0,0.38);
}
[data-theme="dark"] .ph-logo-item .ph-logo-img {
  filter: brightness(1.1) contrast(0.9) !important;
  opacity: 0.80 !important;
}
[data-theme="dark"] .ph-logo-item:hover .ph-logo-img {
  opacity: 1 !important;
}
[data-theme="dark"] .ph-marquee {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    #000 12%,
    #000 88%,
    transparent 100%
  );
}

/* ════════════════════════════════════════════════════════════
   CTA SECTION POLISH — Stronger button, bigger subtitle/list
   ════════════════════════════════════════════════════════════ */

/* Primary button: taller, rounder, heavier weight */
.section-apply-cta .btn-primary-custom {
  min-height: 52px !important;
  border-radius: 11px !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 22px rgba(14,165,183,0.38) !important;
  transition: transform 0.22s, box-shadow 0.22s !important;
}
.section-apply-cta .btn-primary-custom:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(14,165,183,0.52) !important;
}

/* Outline button: visible border on dark bg, same height */
.section-apply-cta .btn-outline-primary-c {
  min-height: 52px !important;
  border-radius: 11px !important;
  border: 1.5px solid rgba(255,255,255,0.32) !important;
  background: transparent !important;
  transition: border-color 0.22s, color 0.22s, background 0.22s, transform 0.22s !important;
}
.section-apply-cta .btn-outline-primary-c:hover {
  background: rgba(255,255,255,0.07) !important;
  transform: translateY(-2px) !important;
}

/* Left subtitle: bigger */

/* Checklist: 16px, comfortable reading */
.apply-checklist li {
  line-height: 1.6 !important;
  font-weight: 500 !important;
  gap: 0.75rem !important;
}
.apply-checklist i {
  flex-shrink: 0 !important;
}

/* ════════════════════════════════════════════════════════════
   CONTACT SECTION POLISH — Inputs, icons, form card, map
   ════════════════════════════════════════════════════════════ */

/* Info list: bolder card look */
.sc-info-list {
  background: #ffffff !important;
  border-color: #DDE8F4 !important;
  box-shadow: 0 1px 4px rgba(9,26,80,0.04), 0 6px 22px rgba(9,26,80,0.07) !important;
}
.sc-info-item {
  gap: 1rem !important;
}
.sc-info-item:hover {
  background: rgba(14,165,183,0.04) !important;
}

/* Contact icons: bigger */
.sc-info-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 11px !important;
  font-size: 1.1rem !important;
  background: rgba(14,165,183,0.10) !important;
  color: #0C9BB0 !important;
  box-shadow: 0 2px 8px rgba(14,165,183,0.12) !important;
}

/* Map wrap: same card system as info list */
.sc-map-wrap {
  border-color: #DDE8F4 !important;
  box-shadow: 0 1px 4px rgba(9,26,80,0.04), 0 6px 22px rgba(9,26,80,0.07) !important;
  border-radius: 16px !important;
}

/* Form card: white, stronger shadow */
.sc-form-card {
  background: #ffffff !important;
  border-color: #DDE8F4 !important;
  box-shadow: 0 2px 8px rgba(9,26,80,0.05), 0 10px 36px rgba(9,26,80,0.09) !important;
}

/* Inputs: height 48px */
.sc-input {
  border-color: rgba(14,30,60,0.14) !important;
  border-radius: 10px !important;
}
.sc-input:focus {
  border-color: #0EA5B7 !important;
  box-shadow: 0 0 0 3px rgba(14,165,183,0.14) !important;
}

/* Textarea: taller */
.sc-textarea {
  min-height: 135px !important;
  resize: vertical !important;
}

/* Submit button: accent kuchliroq, consistent shape */
.sc-submit {
  min-height: 50px !important;
  letter-spacing: 0.02em !important;
  gap: 0.6rem !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s, gap 0.18s !important;
}
.sc-submit:hover {
  transform: translateY(-2px) !important;
  gap: 0.85rem !important;
}

/* Dark mode updates */
[data-theme="dark"] .sc-info-list {
  background: var(--bg-card) !important;
  border-color: var(--border-card) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.22) !important;
}
[data-theme="dark"] .sc-info-icon {
  background: rgba(41,199,224,0.12) !important;
  color: #29C7E0 !important;
  box-shadow: none !important;
}
[data-theme="dark"] .sc-map-wrap {
  border-color: rgba(255,255,255,0.08) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.22) !important;
}
[data-theme="dark"] .sc-form-card {
  background: var(--bg-card) !important;
  border-color: var(--border-card) !important;
  box-shadow: 0 4px 28px rgba(0,0,0,0.28) !important;
}
[data-theme="dark"] .sc-input {
  background: var(--input-bg) !important;
  border-color: var(--input-border) !important;
  color: var(--text-primary) !important;
}
[data-theme="dark"] .sc-submit {
  background: #1295B0 !important;
  box-shadow: 0 4px 16px rgba(18,149,176,0.35) !important;
}
[data-theme="dark"] .sc-submit:hover {
  background: #29C7E0 !important;
}

/* ════════════════════════════════════════════════════════════
   FOOTER POLISH — Bigger text, visible copyright, premium logo
   ════════════════════════════════════════════════════════════ */

/* Logo: more impactful */
.footer-logo {
  opacity: 0.96 !important;
}

/* Description: bigger, more readable */
.footer-desc {
  max-width: 280px !important;
}

/* Ministry attribution: a bit more visible */
.ft-ministry-label {
  color: rgba(160,190,240,0.52) !important;
}
.ft-ministry-link {
  font-size: 0.8rem !important;
  color: rgba(190,215,255,0.72) !important;
}
.ft-ministry-link:hover {
  color: #67D3FF !important;
}

/* Column titles: bigger, more contrast */
.footer-title {
  border-bottom-color: rgba(103,211,255,0.12) !important;
  padding-bottom: 0.7rem !important;
}

/* Nav links: bigger, easier to read */
.footer-links a {
  line-height: 1.4 !important;
}

/* Bottom bar: less dim, more readable */
.footer-bottom-inner {
  justify-content: space-between !important;
  gap: 0.75rem 1.5rem !important;
}
.footer-legal-link {
  transition: color 0.18s !important;
}
.ft-legal-nav .footer-legal-link {
  font-size: 0.82rem !important;
}

/* Contact list in footer: bigger text */
.ft-contact-val {
  font-size: 0.875rem !important;
  color: rgba(195,220,255,0.80) !important;
}
.ft-contact-label {
  font-size: 0.65rem !important;
  color: rgba(160,190,240,0.48) !important;
}
.ft-contact-icon {
  width: 30px !important;
  height: 30px !important;
  font-size: 0.85rem !important;
}

@media (max-width: 575px) {
  .footer-bottom-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.65rem !important;
  }
  .ft-legal-nav { flex-wrap: wrap !important; gap: 0.4rem 0.6rem !important; }
}

/* ════════════════════════════════════════════════════════════
   SYSTEM v7 — Typography · Card Identity · CTA Prominence
   ════════════════════════════════════════════════════════════ */

/* ── 1. TYPOGRAPHY — consistent scale across all sections ─── */

/* Section titles: clamp for smoother responsive scaling */
.section-title {
  font-size: clamp(1.875rem, 3.8vw, 2.625rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.022em !important;
}

/* Section subtitles / lead text */
.section-header > p {
  font-size: 1.0625rem !important;
  line-height: 1.75 !important;
  color: #5A6D8C !important;
}

/* Section-specific headings — same scale */
.orb-title {
  font-weight: 800 !important;
  letter-spacing: -0.022em !important;
}
.dir-heading {
  font-size: clamp(1.75rem, 3.5vw, 2.375rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.022em !important;
}
.ph-title, .nu-heading, .sc-title {
  font-size: clamp(1.625rem, 3.2vw, 2.25rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.022em !important;
}

/* Card titles: 18-20px across all card types */

/* Body text in cards: 15-16px */

/* Small labels: 12-13px, readable (not xira) */
.tag {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  opacity: 1 !important;
}
.nu-badge     { font-size: 0.75rem !important; }
.event-badge  { font-size: 0.72rem !important; letter-spacing: 0.05em !important; }

/* ── 2. CARD IDENTITY — each card type has a distinct look ── */

/* ·· Direction cards: Icon-forward ·· */
.direction-card {
  background: linear-gradient(160deg, #F6FAFF 0%, #ffffff 60%) !important;
  border-top: 3px solid rgba(14,165,183,0.38) !important;
  border-left: 1px solid #E4EEF8 !important;
  border-right: 1px solid #E4EEF8 !important;
  border-bottom: 1px solid #E4EEF8 !important;
}
.direction-card:hover {
  border-top-color: #0EA5B7 !important;
}
.direction-icon {
  background: rgba(14,165,183,0.13) !important;
  box-shadow: 0 4px 14px rgba(14,165,183,0.16) !important;
  margin-bottom: 1.25rem !important;
}
.direction-icon > i { font-size: 1.5rem !important; }

/* ·· Support cards: Outcome card (left accent bar) ·· */
.section-support .support-card {
  border-left: 3px solid rgba(14,165,183,0.45) !important;
  border-top: 1px solid #D8E6F2 !important;
  border-right: 1px solid #D8E6F2 !important;
  border-bottom: 1px solid #D8E6F2 !important;
  border-radius: 14px !important;
}
.section-support .support-card:hover {
  border-left-color: #0EA5B7 !important;
}
.support-card-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  background: rgba(14,165,183,0.08) !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 100px !important;
  text-decoration: none !important;
  margin-top: 0.85rem !important;
  transition: background 0.18s, color 0.18s, gap 0.18s !important;
}
.support-card-link:hover {
  background: rgba(14,165,183,0.16) !important;
  color: #0EA5B7 !important;
  gap: 0.65rem !important;
}

/* ·· Event cards: Date-dominant card ·· */
.event-card {
  border-top: 3px solid rgba(9,26,56,0.12) !important;
}
.event-date {
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(9,26,80,0.22) !important;
}

/* ── 3. CTA PROMINENCE — primary action clearly visible ──── */

/* Org-brief: text link → teal button */
.orb-link {
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(14,165,183,0.28) !important;
  margin-top: 1.5rem !important;
}
.orb-link:hover {
  box-shadow: 0 6px 22px rgba(14,165,183,0.40) !important;
  transform: translateY(-2px) !important;
}
.orb-link .bi { transition: transform 0.2s !important; }
.orb-link:hover .bi { transform: translateX(4px) !important; }

/* Direction card links: more visible */
.dir-card-link {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0C9BB0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  transition: gap 0.18s, color 0.18s !important;
}
.dir-card-link:hover { color: #0EA5B7 !important; gap: 0.65rem !important; }

/* Event CTA button: teal filled (primary action) */
.event-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s !important;
}
.event-cta-btn:hover {
  transform: translateY(-2px) !important;
}

/* News featured CTA */
.nu-feat-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0C9BB0 !important;
  text-decoration: none !important;
  transition: gap 0.18s, color 0.18s !important;
}
.nu-feat-cta:hover { color: #0EA5B7 !important; gap: 0.7rem !important; }

/* Section-level "barcha" buttons: teal outline → filled on hover */
.prog-all-btn, .ph-all-btn, .btn-outline-events {
  border-width: 2px !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  padding: 0.8rem 2rem !important;
  border-radius: 10px !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s !important;
}

/* Dark-section "Barcha tadbirlar" etc. */
.btn-outline-events {
  border-color: rgba(14,165,183,0.55) !important;
  color: rgba(14,165,183,0.90) !important;
}
.btn-outline-events:hover {
  background: #0EA5B7 !important;
  border-color: #0EA5B7 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(14,165,183,0.30) !important;
  transform: translateY(-2px) !important;
}

/* Dark mode adjustments */
[data-theme="dark"] .direction-card {
  background: var(--bg-card) !important;
  border-top-color: rgba(14,165,183,0.40) !important;
}
[data-theme="dark"] .direction-card:hover { border-top-color: #0EA5B7 !important; }
[data-theme="dark"] .section-support .support-card { border-left-color: rgba(14,165,183,0.50) !important; }
[data-theme="dark"] .event-cta-btn { box-shadow: 0 3px 12px rgba(14,165,183,0.18) !important; }
[data-theme="dark"] .orb-link { box-shadow: 0 4px 16px rgba(14,165,183,0.22) !important; }

/* ════════════════════════════════════════════════════════════
   NAVBAR POLISH — Logo bigger, nav text, sticky, CTA button
   ════════════════════════════════════════════════════════════ */

/* Logo: 15-20% bigger */
#mainNav .navbar-brand img {
  height: 56px !important;
  max-width: 220px !important;
}
#mainNav.scrolled .navbar-brand img {
  height: 46px !important;
}

/* Brand text: bigger, more impactful */
.brand-name {
  font-size: 1.0rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.005em !important;
}
.brand-tagline {
  font-size: 0.63rem !important;
  letter-spacing: 0.08em !important;
  opacity: 0.82 !important;
}

/* Nav links: 14px, comfortable spacing */
.nav-link-custom {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 0.55rem 0.95rem !important;
  letter-spacing: 0.02em !important;
}

/* Scrolled navbar: stronger semi-transparent navy */
#mainNav.scrolled {
  background: rgba(5, 18, 38, 0.92) !important;
  backdrop-filter: blur(18px) !important;
  box-shadow: 0 1px 0 rgba(14,165,183,0.08), 0 4px 24px rgba(0,0,0,0.28) !important;
  padding: 0.5rem 0 !important;
}

/* Navbar controls gap */
.navbar-controls {
  gap: 0.6rem !important;
  align-items: center !important;
}

/* CTA button: teal, premium */
.btn-apply-nav {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  background: #0EA5B7 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 0.55rem 1.2rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 3px 12px rgba(14,165,183,0.30) !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s !important;
  filter: none !important;
}
.btn-apply-nav:hover {
  background: #0c8fa0 !important;
  color: #ffffff !important;
  box-shadow: 0 5px 18px rgba(14,165,183,0.44) !important;
  transform: translateY(-1px) !important;
}
.btn-apply-nav .bi {
  font-size: 0.8rem !important;
}

/* Dropdown font size */
.dropdown-item-custom {
  font-size: 0.875rem !important;
}

/* Responsive: hide CTA on narrow screens */
@media (max-width: 1199px) {
  .btn-apply-nav.desktop-only { display: none !important; }
}
@media (min-width: 1200px) {
  .btn-apply-nav.desktop-only { display: inline-flex !important; }
}

/* ════════════════════════════════════════════════════════════
   HERO PRINCIPLES STRIP — replaces micro stats strip
   ════════════════════════════════════════════════════════════ */

.hero-principles {
  position: absolute;
  bottom: 52px;
  left: 0;
  right: 0;
  z-index: 4;
  pointer-events: none;
}
.hero-principles-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
}

/* The pill container */
.hpr-wrap {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,0.055);
  border: 1px solid rgba(103,211,255,0.16);
  border-radius: 100px;
  backdrop-filter: blur(20px);
  box-shadow: 0 4px 32px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.06);
}

/* "Tamoyillar" eyebrow label */
.hpr-eyebrow {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.20em;
  color: #0EA5B7;
  padding-right: 1.1rem;
  margin-right: 0.5rem;
  border-right: 1px solid rgba(103,211,255,0.20);
  white-space: nowrap;
  line-height: 1;
}

/* Each step */
.hpr-step {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

/* Numbered badge */
.hpr-num {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(14,165,183,0.16);
  border: 1px solid rgba(14,165,183,0.40);
  color: #67D3FF;
  font-weight: 800;
  letter-spacing: 0.03em;
  flex-shrink: 0;
  line-height: 1;
  box-shadow: 0 0 10px rgba(14,165,183,0.20);
}

/* Step label */
.hpr-name {
  color: rgba(215,232,255,0.88);
  white-space: nowrap;
  letter-spacing: 0.01em;
}

/* Chevron connector */
.hpr-arrow {
  font-size: 0.52rem;
  color: rgba(103,211,255,0.38);
  flex-shrink: 0;
  padding: 0 0.15rem;
}

/* Last step gets a subtle teal highlight — the end goal */
.hpr-step:last-child .hpr-num {
  background: rgba(14,165,183,0.28);
  border-color: rgba(14,165,183,0.60);
  box-shadow: 0 0 14px rgba(14,165,183,0.32);
}
.hpr-step:last-child .hpr-name {
  color: rgba(103,211,255,0.95);
  font-weight: 700;
}

/* Mobile: hide */
@media (max-width: 767px) {
  .hero-principles { display: none !important; }
}

/* Tablet: tighter spacing */
@media (min-width: 768px) and (max-width: 1199px) {
  .hpr-wrap { padding: 0.55rem 1.1rem; gap: 0; }
  .hpr-step { padding: 0 0.45rem; gap: 0.35rem; }
  .hpr-name { font-size: 0.65rem; }
  .hpr-eyebrow { font-size: 0.50rem; padding-right: 0.85rem; margin-right: 0.35rem; }
}

/* ════════════════════════════════════════════════════════════
   CTA VISUAL CENTER — animated rocket figure
   ════════════════════════════════════════════════════════════ */

/* Column between left text and right checklist */
.apply-cta-center {
  flex: 0 0 auto;
  width: 200px;
  flex-shrink: 0;
}

/* gap override only — display handled per breakpoint below */
.apply-cta-wrap {
  gap: 2.5rem !important;
}

/* Scene container */
.cta-visual {
  position: relative;
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Pulsing halo rings ── */
.cta-ring {
  position: absolute;
  border-radius: 50%;
  animation: cta-pulse-ring 3.6s ease-out infinite;
}
.cta-ring--1 {
  width: 82px; height: 82px;
  border: 1.5px solid rgba(14,165,183,0.45);
  animation-delay: 0s;
}
.cta-ring--2 {
  width: 130px; height: 130px;
  border: 1px solid rgba(103,211,255,0.22);
  animation-delay: 1.0s;
}
.cta-ring--3 {
  width: 184px; height: 184px;
  border: 1px solid rgba(103,211,255,0.10);
  animation-delay: 2.0s;
}

@keyframes cta-pulse-ring {
  0%   { transform: scale(0.90); opacity: 0.80; }
  65%  { transform: scale(1.10); opacity: 0.25; }
  100% { transform: scale(1.18); opacity: 0;    }
}

/* ── Orbital tracks ── */
.cta-orbit-track {
  position: absolute;
  border-radius: 50%;
  border: 1px dashed rgba(103,211,255,0.13);
  animation: cta-orbit-spin linear infinite;
}
.cta-orbit-track--1 {
  width: 148px; height: 148px;
  animation-duration: 11s;
}
.cta-orbit-track--2 {
  width: 190px; height: 190px;
  animation-duration: 18s;
  animation-direction: reverse;
  border-style: dotted;
  border-color: rgba(103,211,255,0.08);
}

@keyframes cta-orbit-spin {
  to { transform: rotate(360deg); }
}

/* Dot riding the orbit (positioned at top of track) */
.cta-orbit-dot {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
}
.cta-orbit-dot--a {
  top: -5px;
  width: 9px; height: 9px;
  background: #0EA5B7;
  box-shadow: 0 0 14px rgba(14,165,183,0.75), 0 0 28px rgba(14,165,183,0.35);
}
.cta-orbit-dot--b {
  top: -4px;
  width: 6px; height: 6px;
  background: rgba(103,211,255,0.85);
  box-shadow: 0 0 10px rgba(103,211,255,0.60);
}

/* ── Floating particles ── */
.cta-particle {
  position: absolute;
  border-radius: 50%;
  animation: cta-twinkle ease-in-out infinite;
}
.cta-particle--1 { width: 4px; height: 4px; top: 12%; left: 10%;   background: rgba(103,211,255,0.55); animation-duration: 2.8s; animation-delay: 0s;    }
.cta-particle--2 { width: 3px; height: 3px; top: 18%; right: 9%;   background: rgba(103,211,255,0.40); animation-duration: 3.6s; animation-delay: 0.7s;  }
.cta-particle--3 { width: 5px; height: 5px; bottom: 14%; left: 14%; background: rgba(14,165,183,0.55);  animation-duration: 4.2s; animation-delay: 1.3s;  }
.cta-particle--4 { width: 3px; height: 3px; bottom: 18%; right: 12%; background: rgba(103,211,255,0.45); animation-duration: 2.5s; animation-delay: 0.4s; }
.cta-particle--5 { width: 4px; height: 4px; top: 46%; left: 4%;    background: rgba(103,211,255,0.35); animation-duration: 3.2s; animation-delay: 1.9s;  }

@keyframes cta-twinkle {
  0%, 100% { opacity: 0.18; transform: scale(0.9); }
  50%       { opacity: 0.90; transform: scale(1.5); }
}

/* ── Center gem wrapper (floats) ── */
.cta-gem-wrap {
  position: relative;
  z-index: 2;
  animation: cta-float 4.5s ease-in-out infinite;
}

@keyframes cta-float {
  0%, 100% { transform: translateY(0px);   }
  50%       { transform: translateY(-11px); }
}

/* Radial glow behind icon */
.cta-gem-glow {
  position: absolute;
  inset: -24px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(14,165,183,0.32) 0%, rgba(14,165,183,0) 68%);
  animation: cta-glow-breathe 4.5s ease-in-out infinite;
}

@keyframes cta-glow-breathe {
  0%, 100% { opacity: 0.65; transform: scale(0.95); }
  50%       { opacity: 1.00; transform: scale(1.15); }
}

/* Icon box */
.cta-gem {
  width: 76px;
  height: 76px;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(14,165,183,0.22) 0%, rgba(9,26,56,0.82) 100%);
  border: 1px solid rgba(103,211,255,0.38);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 8px 32px rgba(14,165,183,0.22),
    0 2px 8px rgba(0,0,0,0.30),
    inset 0 1px 0 rgba(103,211,255,0.22);
}
.cta-gem svg {
  width: 38px;
  height: 40px;
  display: block;
}

/* ── Responsive ── */
@media (max-width: 991px) {
  .apply-cta-right  { min-width: unset !important; max-width: unset !important; width: 100% !important; }
}

/* ════════════════════════════════════════════════════════════
   CTA VISUAL v2 — Geometric lightbulb "G'oya" figure
   ════════════════════════════════════════════════════════════ */

/* Center column base */
.apply-cta-center {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* Scene wrapper */
.cta-visual-v2 {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* The SVG itself floats gently */
.cta-bulb-svg {
  width: 220px;
  height: 248px;
  display: block;
  filter: drop-shadow(0 0 28px rgba(14,165,183,0.20));
  animation: cta-bulb-float 5.5s ease-in-out infinite;
}

@keyframes cta-bulb-float {
  0%, 100% { transform: translateY(0px);    }
  50%       { transform: translateY(-13px);  }
}

/* Background glow — breathes */
.cta-bg-breathe {
  transform-box: fill-box;
  transform-origin: center;
  animation: cta-breathe 4.8s ease-in-out infinite;
}

/* Blur halo behind bulb — pulses scale */
.cta-glow-blob {
  transform-box: fill-box;
  transform-origin: center;
  animation: cta-breathe 3.8s ease-in-out infinite 0.4s;
}

@keyframes cta-breathe {
  0%, 100% { opacity: 0.65; transform: scale(0.93); }
  50%       { opacity: 1.00; transform: scale(1.10); }
}

/* Core filament bloom — pulses opacity */
.cta-core-pulse {
  animation: cta-core-pulse 3.2s ease-in-out infinite;
}

@keyframes cta-core-pulse {
  0%, 100% { opacity: 0.65; }
  50%       { opacity: 1.00; }
}

/* Spark lines — each blinks on its own timing */
.cta-spark        { animation: cta-spark-blink ease-in-out infinite; }
.cta-spark--top   { animation-duration: 2.4s; animation-delay: 0.0s; }
.cta-spark--tr    { animation-duration: 3.2s; animation-delay: 0.7s; }
.cta-spark--tl    { animation-duration: 2.9s; animation-delay: 1.3s; }
.cta-spark--r     { animation-duration: 3.6s; animation-delay: 0.3s; }
.cta-spark--l     { animation-duration: 2.7s; animation-delay: 1.0s; }

@keyframes cta-spark-blink {
  0%, 100% { opacity: 0.15; }
  50%       { opacity: 0.90; }
}

/* Ambient particles — twinkle */
.cta-p            { animation: cta-p-twinkle ease-in-out infinite; }
.cta-p--1         { animation-duration: 3.2s; animation-delay: 0.0s; }
.cta-p--2         { animation-duration: 2.8s; animation-delay: 0.6s; }
.cta-p--3         { animation-duration: 4.0s; animation-delay: 1.4s; }
.cta-p--4         { animation-duration: 2.6s; animation-delay: 0.4s; }
.cta-p--5         { animation-duration: 3.5s; animation-delay: 1.0s; }
.cta-p--6         { animation-duration: 2.9s; animation-delay: 1.8s; }

@keyframes cta-p-twinkle {
  0%, 100% { opacity: 0.18; }
  50%       { opacity: 0.85; }
}

/* ════════════════════════════════════════════════════════════
   CTA SECTION — 3-COLUMN GRID LAYOUT (MUST BE LAST IN FILE)
   Left: text/buttons | Center: SVG (pinned) | Right: checklist
   ════════════════════════════════════════════════════════════ */

/* Desktop grid — comes last so it wins over any earlier flex rules */
@media (min-width: 992px) {
  .apply-cta-wrap {
    display: grid !important;
    grid-template-columns: 1fr 240px 1fr !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 2.5rem !important;
  }

  /* Pin each child to its explicit column — no auto-placement ambiguity */
  .apply-cta-left {
    grid-column: 1 !important;
    grid-row: 1 !important;
    /* unset any flex residue */
    flex: unset !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .apply-cta-center {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    flex: unset !important;
    width: 240px !important;
  }

  .apply-cta-right {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;   /* hug right edge of the 1fr column */
    flex: unset !important;
    width: auto !important;
    min-width: unset !important;
    max-width: unset !important;
  }
}

/* Mobile/tablet: single column stack, center hidden */
@media (max-width: 991px) {
  .apply-cta-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
  }
  .apply-cta-center {
    display: none !important;
  }
  .apply-cta-left,
  .apply-cta-right {
    width: 100% !important;
    flex: 0 0 auto !important;
    grid-column: unset !important;
  }
}

/* ══════════════════════════════════════════════════════════
   DESIGN POLISH — Hero, Org Brief, Direction Cards
   ══════════════════════════════════════════════════════════ */

/* ── Hero: H1 bigger, premium ─────────────────────────────── */
.hero-title {
  font-size: clamp(2.8rem, 5.5vw, 5rem) !important;
  font-weight: 800 !important;
  line-height: 1.10 !important;
  letter-spacing: -0.025em !important;
}
@media (max-width: 991.98px) {
  .hero-title { font-size: clamp(2.2rem, 7vw, 3.5rem) !important; }
}
@media (max-width: 575.98px) {
  .hero-title { font-size: clamp(1.9rem, 8.5vw, 2.5rem) !important; }
}

/* ── Hero: subtitle larger + more readable ─────────────────── */
.hero-subtitle {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important;
  color: rgba(255,255,255,0.88) !important;
  line-height: 1.75 !important;
  max-width: 560px !important;
  margin-bottom: 2.75rem !important;
}

/* ── Hero: primary button → cyan/turquoise ─────────────────── */
.hero-section .btn-primary-custom {
  background: #0EA5B7 !important;
  border-color: #0EA5B7 !important;
  color: #ffffff !important;
  padding: 0.85rem 2rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(14,165,183,0.35) !important;
}
.hero-section .btn-primary-custom:hover {
  background: #0c8fa0 !important;
  border-color: #0c8fa0 !important;
  box-shadow: 0 6px 28px rgba(14,165,183,0.50) !important;
  transform: translateY(-2px) !important;
}

/* ── Hero: secondary button → transparent + white border ──── */
.hero-section .btn-outline-primary-c {
  background: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.65) !important;
  color: #ffffff !important;
  padding: 0.85rem 2rem !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
.hero-section .btn-outline-primary-c:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.90) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* ── Hero principles: slightly larger text ─────────────────── */
.hpr-name {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}
.hpr-num {
  width: 22px !important;
  height: 22px !important;
  font-size: 0.6rem !important;
}
.hpr-eyebrow {
  font-size: 0.6rem !important;
}
.hpr-wrap {
  padding: 0.7rem 1.5rem !important;
  gap: 0.1rem !important;
}
.hpr-step {
  padding: 0 0.65rem !important;
}

/* ── Org Brief: layout 5/12 + 7/12 ─────────────────────────── */
.orb-wrap {
  grid-template-columns: 5fr 7fr !important;
  gap: 4rem !important;
}

/* ── Org Brief: title ───────────────────────────────────────── */
.orb-title {
  font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
  line-height: 1.22 !important;
}

/* ── Org Brief: body text ───────────────────────────────────── */
.orb-desc {
  font-size: 0.9375rem !important;
  line-height: 1.75 !important;
  color: var(--text-secondary) !important;
  margin-bottom: 0 !important;
}

/* ── Org Brief: trust badges ────────────────────────────────── */
.orb-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 1.25rem 0 1.5rem;
}
.orb-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.725rem;
  font-weight: 600;
  color: var(--text-muted);
  background: #F4F8FC;
  border: 1px solid rgba(9,26,56,0.09);
  border-radius: 100px;
  padding: 0.28rem 0.7rem;
  white-space: nowrap;
}
.orb-badge .bi {
  color: #0EA5B7;
  font-size: 0.72rem;
}

/* ── Org Brief: text link (no button chrome) ────────────────── */
.orb-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--color-accent) !important;
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  transition: gap 0.2s !important;
}
.orb-link:hover {
  gap: 0.7rem !important;
  background: none !important;
  color: var(--color-accent) !important;
}
.orb-link .bi { transition: transform 0.2s !important; }
.orb-link:hover .bi { transform: translateX(4px) !important; }

/* ── Org Brief: stat cards ──────────────────────────────────── */
.orb-stat {
  background: #ffffff !important;
  border: 1px solid #E5EAF2 !important;
  border-radius: 16px !important;
  padding: 1.5rem !important;
  box-shadow: 0 2px 8px rgba(11,30,68,0.05), 0 6px 20px rgba(11,30,68,0.04) !important;
  transition: transform 0.22s, border-color 0.22s, box-shadow 0.22s !important;
  display: flex !important;
  flex-direction: column !important;
}
.orb-stat:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(14,165,183,0.40) !important;
  box-shadow: 0 6px 20px rgba(14,165,183,0.12), 0 12px 32px rgba(11,30,68,0.07) !important;
}
[data-theme="dark"] .orb-stat {
  background: var(--bg-card) !important;
  border-color: var(--border-card) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.20) !important;
}

/* ── Org Brief: stat icon ───────────────────────────────────── */
.orb-stat-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(14,165,183,0.10);
  color: #0EA5B7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0625rem;
  margin-bottom: 0.9rem;
  flex-shrink: 0;
}

/* ── Org Brief: stat number ─────────────────────────────────── */
.orb-stat-num {
  display: block !important;
  font-size: clamp(2.25rem, 3.5vw, 3.5rem) !important;
  font-weight: 800 !important;
  color: var(--color-primary) !important;
  letter-spacing: -0.035em !important;
  line-height: 1 !important;
}

/* ── Org Brief: stat label ──────────────────────────────────── */
.orb-stat-label {
  display: block !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--text-muted) !important;
  line-height: 1.45 !important;
  margin-top: 0.35rem !important;
}

/* ── Org Brief: trust bar ───────────────────────────────────── */
.orb-trust {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 2rem;
  margin-top: 2.25rem;
  border-top: 1px solid rgba(9,26,56,0.07);
  flex-wrap: wrap;
}
.orb-trust-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-shrink: 0;
}
.orb-trust-logos {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
}
.orb-trust-logo {
  height: 22px;
  width: auto;
  max-width: 80px;
  object-fit: contain;
  filter: grayscale(1) opacity(0.40);
  transition: filter 0.25s;
}
.orb-trust-logo:hover { filter: grayscale(0) opacity(1); }

/* ── Org Brief: responsive ──────────────────────────────────── */
@media (max-width: 991.98px) {
  .orb-wrap { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
}
@media (max-width: 575.98px) {
  .orb-trust-logos { gap: 1.25rem; }
  .orb-trust-logo { height: 18px; }
}

/* ── Direction cards: icon box 48x48 ───────────────────────── */
.direction-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  font-size: 1.4rem !important;
}

/* ── Direction cards: title 18px ───────────────────────────── */
.direction-card h4 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 0.6rem !important;
}

/* ── Direction cards: description 15px ─────────────────────── */
.direction-card p {
  font-size: 0.9375rem !important;
  line-height: 1.70 !important;
  color: #4A5568 !important;
  margin-bottom: 0 !important;
}
[data-theme="dark"] .direction-card p {
  color: rgba(183,196,217,0.75) !important;
}

/* ── Direction: section head full-width + right link ─────────── */
.dir-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  max-width: 100% !important;
  gap: 2rem !important;
}
.dir-head-left { flex: 1; min-width: 0; }
.dir-head-right { flex-shrink: 0; padding-bottom: 0.15rem; }
.dir-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0EA5B7;
  text-decoration: none;
  white-space: nowrap;
  transition: gap 0.2s;
}
.dir-all-link:hover { gap: 0.65rem; color: #0EA5B7; }
.dir-all-link .bi { font-size: 0.78rem; transition: transform 0.18s; }
.dir-all-link:hover .bi { transform: translateX(3px); }
@media (max-width: 575.98px) {
  .dir-head { flex-direction: column !important; align-items: flex-start !important; gap: 0.85rem !important; }
}

/* ── Direction cards: separator + meta row ──────────────────── */
.dir-separator {
  height: 1px;
  background: rgba(9,26,56,0.07);
  margin: 0.9rem 0 0.7rem;
  flex-shrink: 0;
}
.dir-meta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.7375rem;
  font-weight: 600;
  color: #64748B;
  margin-bottom: 0.8rem;
  flex-shrink: 0;
}
[data-theme="dark"] .dir-meta { color: rgba(183,196,217,0.60); }
.dir-meta-sep {
  color: rgba(9,26,56,0.22);
  font-size: 0.6rem;
  line-height: 1;
}
[data-theme="dark"] .dir-separator { background: rgba(255,255,255,0.07); }
[data-theme="dark"] .dir-meta-sep { color: rgba(255,255,255,0.18); }

/* ══════════════════════════════════════════════════════════
   SECTION POLISH v2 — Programs, Lifecycle, Support,
   Events, News, Partners, CTA, Contact, Footer
   ══════════════════════════════════════════════════════════ */

/* ── Programs: section header — single column, legend inline ── */
.prog-head {
  display: block !important;
  margin-bottom: 1.25rem !important;
}
.prog-legend {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 1.25rem !important;
  margin-top: 0.85rem !important;
}
.prog-filters {
  justify-content: flex-start !important;
  margin-bottom: 1.75rem !important;
}

/* ── Programs: card — clean column layout ────────────────── */
.prog-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 1.375rem !important;
  position: relative !important;
  min-height: unset !important;
  overflow: visible !important;
}

/* ── Programs: card header (category + status) ───────────── */
.prog-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.7rem;
  flex-shrink: 0;
}
.prog-cat-label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0EA5B7;
  line-height: 1;
}
[data-theme="dark"] .prog-cat-label { color: rgba(183,196,217,0.50); }

/* ── Programs: status badge semantic colors ──────────────── */
.prog-status-badge--soon {
  background: rgba(100,116,139,0.10) !important;
  color: #475569 !important;
  border: 1px solid rgba(100,116,139,0.22) !important;
}
[data-theme="dark"] .prog-status-badge--soon {
  background: rgba(100,116,139,0.18) !important;
  color: #94A3B8 !important;
  border-color: rgba(100,116,139,0.30) !important;
}
.prog-status-badge--results {
  background: rgba(37,99,235,0.08) !important;
  color: #1D4ED8 !important;
  border: 1px solid rgba(37,99,235,0.22) !important;
}
[data-theme="dark"] .prog-status-badge--results {
  background: rgba(37,99,235,0.15) !important;
  color: #60A5FA !important;
  border-color: rgba(37,99,235,0.30) !important;
}

/* ── Programs: card title ─────────────────────────────────── */
.prog-card-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: #0E1E3C !important;
  margin-bottom: 0.45rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
[data-theme="dark"] .prog-card-title { color: #E8F0FE !important; }

/* ── Programs: card description ──────────────────────────── */
.prog-card-desc {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  flex: 1 !important;
  margin-bottom: 0 !important;
}
[data-theme="dark"] .prog-card-desc { color: rgba(183,196,217,0.70) !important; }

/* ── Programs: separator ─────────────────────────────────── */
.prog-card-sep {
  height: 1px;
  background: rgba(9,26,56,0.07);
  margin: 0.9rem 0;
  flex-shrink: 0;
}
[data-theme="dark"] .prog-card-sep { background: rgba(255,255,255,0.07); }

/* ── Programs: meta row (2 cols) ─────────────────────────── */
.prog-card-meta {
  display: flex !important;
  gap: 1rem !important;
  margin-bottom: 0.85rem !important;
  flex-shrink: 0 !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
}
.prog-meta-col {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #64748B;
}
.prog-meta-col .bi {
  font-size: 0.75rem;
  color: #94A3B8;
  flex-shrink: 0;
}
[data-theme="dark"] .prog-meta-col { color: rgba(183,196,217,0.60); }

/* ── Programs: single CTA per card ──────────────────────── */
.prog-card-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  padding: 0.6rem 1rem !important;
  border-radius: 8px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 0.2s, box-shadow 0.2s, gap 0.18s !important;
  flex-shrink: 0 !important;
}
.prog-card-cta .bi { font-size: 0.8rem; transition: transform 0.18s; }
.prog-card-cta:hover .bi { transform: translateX(3px); }

.prog-card-cta.prog-cta--primary {
  background: #0EA5B7 !important;
  color: #ffffff !important;
  box-shadow: 0 3px 12px rgba(14,165,183,0.28) !important;
}
.prog-card-cta.prog-cta--primary:hover {
  background: #0C93A4 !important;
  box-shadow: 0 5px 18px rgba(14,165,183,0.38) !important;
  gap: 0.65rem !important;
  color: #ffffff !important;
}
.prog-card-cta.prog-cta--urgent {
  background: rgba(217,119,6,0.10) !important;
  color: #B45309 !important;
  border: 1px solid rgba(217,119,6,0.30) !important;
}
.prog-card-cta.prog-cta--urgent:hover {
  background: rgba(217,119,6,0.17) !important;
  gap: 0.65rem !important;
  color: #B45309 !important;
}
.prog-card-cta.prog-cta--notify {
  background: rgba(100,116,139,0.08) !important;
  color: #475569 !important;
  border: 1px solid rgba(100,116,139,0.20) !important;
}
.prog-card-cta.prog-cta--notify:hover {
  background: rgba(100,116,139,0.14) !important;
  gap: 0.65rem !important;
  color: #475569 !important;
}
.prog-card-cta.prog-cta--results {
  background: rgba(37,99,235,0.08) !important;
  color: #1D4ED8 !important;
  border: 1px solid rgba(37,99,235,0.22) !important;
}
.prog-card-cta.prog-cta--results:hover {
  background: rgba(37,99,235,0.14) !important;
  gap: 0.65rem !important;
  color: #1D4ED8 !important;
}
[data-theme="dark"] .prog-card-cta.prog-cta--notify { color: #94A3B8 !important; }
[data-theme="dark"] .prog-card-cta.prog-cta--results { color: #60A5FA !important; }

/* ── Lifecycle: head title bigger ─────────────────────────── */
.lc-head-title {
  font-size: clamp(1.65rem, 2.5vw, 2.4rem) !important;
  font-weight: 700 !important;
}

/* ── Lifecycle: step label + desc bigger ──────────────────── */
.lcn-label {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
}
.lcn-desc {
  font-size: 0.9375rem !important;
  color: rgba(183,196,217,0.85) !important;
  line-height: 1.5 !important;
  max-width: 150px !important;
}

/* ── Lifecycle: mobile label + desc ──────────────────────── */
.lc-m-label { font-size: 0.9375rem !important; font-weight: 700 !important; }
.lc-m-desc  { font-size: 0.9375rem !important; }

/* ── Support cards: title 18px, desc 15px ───────────────── */
.support-card h5 {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
}
.support-card p {
  font-size: 0.9375rem !important;
  line-height: 1.70 !important;
}
.support-card-link {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0C9BB0 !important;
}
.support-card {
  padding: 1.75rem 1.5rem 1.5rem !important;
}

/* ── Events: date block bigger ────────────────────────────── */
.event-day {
  font-size: 2.25rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  color: #091A38 !important;
}
.event-month {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.event-date {
  min-width: 66px !important;
  padding: 0.55rem 0.65rem !important;
  background: rgba(9,26,56,0.05) !important;
  border-radius: 10px !important;
  border: 1px solid rgba(9,26,56,0.10) !important;
}

/* ── Events: title bigger ─────────────────────────────────── */
.event-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
}
.event-card-body > p {
  font-size: 0.9rem !important;
  color: #546A8A !important;
}

/* ── Events: CTA button stronger ─────────────────────────── */
.event-cta-btn {
  background: #091A38 !important;
  color: #ffffff !important;
  border: 1.5px solid #091A38 !important;
  border-radius: 8px !important;
  padding: 0.6rem 1.25rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  width: 100% !important;
  justify-content: center !important;
  box-shadow: 0 2px 10px rgba(9,26,56,0.18) !important;
}
.event-cta-btn:hover {
  background: #0C9BB0 !important;
  border-color: #0C9BB0 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(12,155,176,0.32) !important;
}

/* ── News: featured media taller ─────────────────────────── */
.nu-feat-media {
  height: 330px !important;
}

/* ── News: featured title bigger ─────────────────────────── */
.nu-feat-title {
  font-size: clamp(1.15rem, 2vw, 1.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.018em !important;
}
.nu-feat-excerpt {
  font-size: 0.9375rem !important;
  line-height: 1.68 !important;
  color: #4A5568 !important;
}

/* ── News: aside items more readable ─────────────────────── */
.nu-aside-title {
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
}
.nu-aside-item {
  padding: 0.9rem 1.25rem !important;
}
.nu-aside-item:hover {
  border-left: 2.5px solid #0EA5B7 !important;
  padding-left: 1.0rem !important;
  background: rgba(14,165,183,0.035) !important;
}

/* ── News: category tabs bigger ─────────────────────────── */
.nu-cat {
  padding: 0.38rem 0.95rem !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

/* ── News: bottom card title + excerpt bigger ─────────────── */
.nu-card-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
}
.nu-card-excerpt {
  font-size: 1rem !important;
  line-height: 1.60 !important;
}
.nu-card-media {
  height: 210px !important;
}

/* ── Partners: logo item taller ──────────────────────────── */
.ph-logo-item {
  height: 130px !important;
  width: 210px !important;
}
.ph-logo-item .ph-logo-img {
  max-height: 80px !important;
  max-width: 150px !important;
  opacity: 0.80 !important;
}
.ph-logo-item:hover .ph-logo-img {
  opacity: 1 !important;
}

/* ── CTA section: checklist brighter + bigger ────────────── */
.apply-checklist li {
  font-size: 1rem !important;
  color: rgba(215,232,255,0.90) !important;
  padding: 0.6rem 0 !important;
}
.apply-checklist i {
  color: #0EA5B7 !important;
  font-size: 1.1rem !important;
}
.apply-cta-desc {
  font-size: 1.0625rem !important;
  color: rgba(200,220,255,0.88) !important;
  line-height: 1.72 !important;
}
/* CTA glow element — slightly less intense */
.cta-glow-blob {
  opacity: 0.55 !important;
}

/* ── CTA section: buttons bigger ────────────────────────── */
.section-apply-cta .btn-primary-custom {
  padding: 0.9rem 2.1rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
}
.section-apply-cta .btn-outline-primary-c {
  padding: 0.9rem 2.1rem !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: rgba(210,230,255,0.92) !important;
  border-color: rgba(255,255,255,0.40) !important;
}
.section-apply-cta .btn-outline-primary-c:hover {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.65) !important;
}

/* ── Contact: input fields taller ───────────────────────── */
.sc-input {
  padding: 0.82rem 1rem !important;
  font-size: 1rem !important;
  min-height: 48px !important;
}
.sc-textarea.sc-input { min-height: auto !important; }

/* ── Contact: label bigger ───────────────────────────────── */
.sc-label {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #1E293B !important;
}

/* ── Contact: form title + sub ───────────────────────────── */
.sc-form-title {
  font-size: 1.375rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.022em !important;
}
.sc-form-sub {
  font-size: 0.9125rem !important;
  color: #546A8A !important;
}

/* ── Contact: info label + val ───────────────────────────── */
.sc-info-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.sc-info-val {
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
}
.sc-info-item {
  padding: 1rem 0 !important;
}

/* ── Contact: submit button stronger ────────────────────── */
.sc-submit {
  padding: 0.85rem 2rem !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  background: #0C9BB0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(12,155,176,0.28) !important;
}
.sc-submit:hover {
  background: #0A7B8C !important;
  box-shadow: 0 6px 22px rgba(12,155,176,0.40) !important;
}

/* ── Footer: column title bigger ────────────────────────── */
.footer-title {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  color: rgba(183,210,255,0.82) !important;
  text-transform: uppercase !important;
  margin-bottom: 1.2rem !important;
}

/* ── Footer: nav links bigger + better spacing ───────────── */
.footer-links a {
  font-size: 0.9125rem !important;
  color: rgba(195,220,255,0.78) !important;
}
.footer-links a:hover {
  color: rgba(220,240,255,0.98) !important;
}
.footer-links li {
  margin-bottom: 0.75rem !important;
}

/* ── Footer: brand description ──────────────────────────── */
.footer-desc {
  font-size: 0.9rem !important;
  color: rgba(195,218,255,0.65) !important;
  line-height: 1.65 !important;
}

/* ── Footer: logo bigger ────────────────────────────────── */
.footer-logo {
  height: 56px !important;
  margin-bottom: 1.1rem !important;
}

/* ── Footer: bottom bar more visible ────────────────────── */
.ft-copy {
  font-size: 0.8rem !important;
  color: rgba(180,210,255,0.62) !important;
}
.footer-bottom-sep {
  color: rgba(180,210,255,0.30) !important;
  opacity: 1 !important;
}
.footer-legal-link {
  font-size: 0.8rem !important;
  color: rgba(180,210,255,0.58) !important;
}
.footer-legal-link:hover {
  color: rgba(220,240,255,0.92) !important;
}
.footer-bottom {
  padding: 1.5rem 0 !important;
  border-top-color: rgba(103,211,255,0.10) !important;
}

/* ── Footer: social icons bigger ────────────────────────── */
.social-icon {
  width: 40px !important;
  height: 40px !important;
  font-size: 1rem !important;
}

/* ── Lifecycle CTA row ───────────────────────────────────── */
.lc-cta-row {
  text-align: center;
  margin-top: 3.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
.lc-cta-sub {
  font-size: 1rem;
  color: rgba(183,210,255,0.78);
  margin: 0;
  line-height: 1.6;
  max-width: 480px;
}
.lc-cta-btns {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.lc-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(103,211,255,0.85);
  text-decoration: none;
  transition: color 0.2s, gap 0.2s;
}
.lc-cta-link:hover {
  color: rgba(103,211,255,1);
  gap: 0.55rem;
}
/* Primary button inside lifecycle — teal */
.lc-cta-row .btn-primary-custom {
  background: #0EA5B7 !important;
  border-color: #0EA5B7 !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(14,165,183,0.32) !important;
}
.lc-cta-row .btn-primary-custom:hover {
  background: #0c8fa0 !important;
  border-color: #0c8fa0 !important;
  box-shadow: 0 6px 24px rgba(14,165,183,0.45) !important;
}
@media (max-width: 575.98px) {
  .lc-cta-btns { flex-direction: column; gap: 1rem; }
}

/* ════════════════════════════════════════════════════════════
   DESIGN SYSTEM UNIFICATION — v8
   1. Category badge neutrals
   2. Lifecycle eyebrow dot
   3. Hero overlay: left-to-right directional gradient
   4. Hero title: 48-56px / line-height 1.1
   5. Principles bar: standalone slim section
   ════════════════════════════════════════════════════════════ */

/* ── 1. Category badges → neutral (only status badges stay coloured) ── */
.prog-cat--tanlov,
.prog-cat--inkubatsiya,
.prog-cat--grant,
.prog-cat--dastur,
.prog-cat--festival {
  background: #EEF2F4 !important;
  color: #2A3E5A !important;
}
[data-theme="dark"] .prog-cat--tanlov,
[data-theme="dark"] .prog-cat--inkubatsiya,
[data-theme="dark"] .prog-cat--grant,
[data-theme="dark"] .prog-cat--dastur,
[data-theme="dark"] .prog-cat--festival {
  background: rgba(14,30,60,0.38) !important;
  color: #9BB5D4 !important;
}

/* ── 2. Lifecycle eyebrow — add dot support ── */
.lc-head-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
}
.lc-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0EA5B7;
  display: inline-block;
  flex-shrink: 0;
}

/* ── 3. Hero overlay: left-to-right directional gradient ── */
.hero-overlay {
  background:
    linear-gradient(to right,
      rgba(4,9,26,0.65)   0%,
      rgba(4,9,26,0.42)  40%,
      transparent        68%),
    linear-gradient(to bottom,
      rgba(4,9,26,0.62)   0%,
      rgba(4,9,26,0.16)  10%,
      transparent        24%),
    linear-gradient(to top,
      rgba(4,9,26,0.75)   0%,
      rgba(4,9,26,0.22)  12%,
      transparent        30%) !important;
}
@media (max-width: 767.98px) {
  .hero-overlay {
    background:
      linear-gradient(to bottom,
        rgba(4,9,26,0.92)   0%,
        rgba(4,9,26,0.74)  20%,
        rgba(4,9,26,0.52)  60%,
        rgba(4,9,26,0.84) 100%) !important;
  }
}

/* ── 4. Hero title: 48-56px desktop / line-height 1.1 ── */
.hero-title {
  line-height: 1.1 !important;
}
@media (min-width: 576px) and (max-width: 1919px) {
  .hero-title {
    font-size: clamp(3rem, 3.5vw, 3.5rem) !important;
  }
}

/* ── 5. Principles bar: standalone slim dark strip ── */
.principles-bar {
  background: #061224;
  padding: 10px 1.5rem;
  position: relative;
  z-index: 10;
  border-top: 1px solid rgba(103,211,255,0.06);
}
.principles-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.principles-bar-inner::-webkit-scrollbar { display: none; }
.principles-bar .hpr-wrap {
  flex-shrink: 0;
}

/* Mobile: left-align + horizontal scroll */
@media (max-width: 767.98px) {
  .principles-bar { padding: 8px 0; }
  .principles-bar-inner { justify-content: flex-start; padding: 0 1rem; }
  .principles-bar .hpr-wrap { gap: 0; padding: 0.5rem 0.85rem; }
  .principles-bar .hpr-step { padding: 0 0.4rem; gap: 0.3rem; }
  .principles-bar .hpr-name { font-size: 0.63rem; }
  .principles-bar .hpr-eyebrow { font-size: 0.50rem; padding-right: 0.75rem; margin-right: 0.3rem; }
  .principles-bar .hpr-num { width: 20px; height: 20px; font-size: 0.55rem; }
}

/* ── 6. Direction cards: full-card click · bigger icon · hover lift ── */

/* 56×56px icon, rounded-xl */
.direction-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  font-size: 1.5rem !important;
}

/* 28px padding all sides */
.direction-card {
  padding: 1.75rem !important;
}

/* Card hover: lift + deeper shadow */
.direction-card:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    0 8px 20px rgba(14,165,183,0.14),
    0 24px 48px rgba(9,26,80,0.13) !important;
}

/* Stretched link — makes entire card clickable.
   dir-card-link stays in normal flow (position:static) so ::before
   is positioned relative to direction-card (nearest positioned ancestor).
   inset:0 then covers the entire card surface. */
.direction-card { cursor: pointer !important; }
.dir-card-link::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
}

/* Arrow slides right on card hover */
.dir-card-link .bi {
  transition: transform 0.18s ease !important;
  font-size: 0.82rem !important;
}
.direction-card:hover .dir-card-link .bi {
  transform: translateX(4px) !important;
}

[data-theme="dark"] .direction-card:hover {
  box-shadow:
    0 8px 20px rgba(14,165,183,0.18),
    0 24px 48px rgba(0,0,0,0.28) !important;
}

/* ── 7. SVG icons inside all icon containers ── */
.direction-icon svg,
.prog-card-icon svg,
.support-card-icon svg {
  display: block !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
}

/* ════════════════════════════════════════════════════════════
   UTILITY BAR LEFT — working hours · phone · email  (v9)
   ════════════════════════════════════════════════════════════ */
.utility-bar-left {
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
}
.ub-hours {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  font-size: 0.635rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(180,210,245,0.80);
  white-space: nowrap;
}
.ub-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(148,163,184,0.5);
  flex-shrink: 0;
  transition: background 0.4s ease, box-shadow 0.4s ease;
}
.ub-dot--open {
  background: #22c55e !important;
  box-shadow: 0 0 0 2.5px rgba(34,197,94,0.22) !important;
  animation: ubPulse 2.4s ease-in-out infinite;
}
.ub-dot--closed {
  background: rgba(148,163,184,0.40) !important;
  box-shadow: none !important;
}
@keyframes ubPulse {
  0%, 100% { box-shadow: 0 0 0 2.5px rgba(34,197,94,0.22); }
  50%       { box-shadow: 0 0 0 5px   rgba(34,197,94,0.08); }
}
.ub-contact {
  display: inline-flex;
  align-items: center;
  gap: 0.30rem;
  text-decoration: none;
  font-size: 0.635rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(180,210,245,0.72);
  transition: color 0.18s ease;
  white-space: nowrap;
}
.ub-contact i {
  font-size: 0.60rem;
  opacity: 0.75;
  transition: opacity 0.18s ease;
}
.ub-contact:hover {
  color: #0EA5B7 !important;
}
.ub-contact:hover i { opacity: 1; }

/* Dark mode keeps the same palette (bar is always dark-tinted) */
[data-theme="dark"] .ub-hours,
[data-theme="dark"] .ub-contact { color: rgba(180,210,245,0.68); }

/* ════════════════════════════════════════════════════════════
   HERO TYPOGRAPHY REFRESH — v10
   1. Title 60-72px · weight 600 · tracking -0.02 · lh 1.05
   2. Accent: cyan→lighter cyan gradient text
   3. Subtitle: weight 400 · rgba(255,255,255,0.7) · lh 1.6
   4. Primary CTA: 56px · 32px padding · r-12 · halo glow
   5. Secondary CTA: ghost 1px white/30
   6. Scroll indicator: removed
   7. Principles bar: white 80px slim band · light colors
   ════════════════════════════════════════════════════════════ */

/* ── 1. Hero title ─────────────────────────────────────────── */
.hero-title {
  font-size: clamp(3.5rem, 5.5vw, 4.75rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  margin-bottom: 1.25rem !important;
}
@media (max-width: 991.98px) {
  .hero-title { font-size: clamp(2.75rem, 6.5vw, 3.5rem) !important; }
}
@media (max-width: 575.98px) {
  .hero-title { font-size: clamp(2rem, 9vw, 2.5rem) !important; }
}

/* ── 2. Accent span: cyan → lighter cyan gradient text ─────── */
.hero-accent {
  background: linear-gradient(100deg, #0EA5B7 0%, #7DE8F8 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: inline !important;
}

/* ── 3. Subtitle ────────────────────────────────────────────── */
.hero-subtitle {
  font-size: clamp(1rem, 1.6vw, 1.1875rem) !important;
  font-weight: 400 !important;
  color: rgba(245,249,255,0.85) !important;
  line-height: 1.6 !important;
  max-width: 560px !important;
  margin-top: 1.5rem !important;
  margin-bottom: 2.25rem !important;
}

/* ── 4. Primary CTA: 56px · 32px · r-12 · halo glow ───────── */
.hero-section .btn-primary-custom {
  min-height: 56px !important;
  padding: 0 2rem !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  background: #0EA5B7 !important;
  border-color: #0EA5B7 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow:
    0 0 40px rgba(14,165,183,0.28),
    0 4px 18px rgba(14,165,183,0.32) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}
.hero-section .btn-primary-custom .bi,
.hero-section .btn-primary-custom svg {
  font-size: 1.15rem !important;
  opacity: 0.90 !important;
}
.hero-section .btn-primary-custom:hover {
  transform: scale(1.035) translateY(-1px) !important;
  background: #0c9aab !important;
  border-color: #0c9aab !important;
  box-shadow:
    0 0 56px rgba(14,165,183,0.40),
    0 8px 28px rgba(14,165,183,0.48) !important;
}

/* ── 5. Secondary CTA: ghost 1px white/30 ─────────────────── */
.hero-section .btn-outline-primary-c {
  min-height: 56px !important;
  padding: 0 1.75rem !important;
  border-radius: 12px !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.30) !important;
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.hero-section .btn-outline-primary-c:hover {
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(255,255,255,0.55) !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ── 6. Scroll indicator: removed ─────────────────────────── */
.hero-scroll-indicator { display: none !important; }

/* ── 7. Methodology section ────────────────────────────────── */
.section-methodology {
  background: #F4F8FC;
  padding: 52px 0 56px;
  border-bottom: 1px solid rgba(9,26,56,0.07);
}
.meth-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0EA5B7;
  margin-bottom: 2.25rem;
}
.meth-eyebrow::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0EA5B7;
}
.meth-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
}
.meth-card {
  padding: 0 1.75rem 0 0;
  border-right: 1px solid rgba(9,26,56,0.10);
}
.meth-card:last-child {
  border-right: none;
  padding-right: 0;
}
.meth-card:not(:first-child) {
  padding-left: 1.75rem;
}
.meth-num {
  display: block;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #0EA5B7 0%, #0B4F8A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  position: relative;
  width: fit-content;
}
.meth-title {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  color: #0B1733;
  margin-bottom: 0.4rem;
}
.meth-desc {
  margin: 0;
  font-size: 0.9375rem;
  color: #475569;
  line-height: 1.6;
}
@media (max-width: 767.98px) {
  .section-methodology { padding: 40px 0 44px; }
  .meth-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .meth-card {
    padding: 1rem 0;
    border-right: none;
    border-bottom: 1px solid rgba(9,26,56,0.08);
  }
  .meth-card:not(:first-child) { padding-left: 0; }
  .meth-card:last-child { border-bottom: none; }
  .meth-num { font-size: 2rem; }
}



/* ════════════════════════════════════════════════════════════
   PREMIUM POLISH — v6
   1.  Type system: Manrope heading scale
   2.  Skip link accessibility
   3.  Focus-visible global ring
   4.  Stat trend indicators
   5.  Direction card accent glow
   6.  Partners marquee 40s + grayscale logos
   7.  Featured news hover scale
   8.  Status badge icon spacing
   9.  Button micro-animation (click scale)
   10. High contrast mode toggle
   11. Honeypot field hidden
   ════════════════════════════════════════════════════════════ */

/* ── 1. Type system ──────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display) !important;
}
body {
  font-family: var(--font-body) !important;
  font-size: 1.0625rem !important;
}
h1 { font-size: clamp(2.75rem, 6vw, 4.75rem) !important; font-weight: 700 !important; line-height: 1.05 !important; }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -0.022em !important; }
h3 { font-size: clamp(1.25rem, 2vw, 1.375rem) !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: -0.01em !important; }
h4 { font-size: 1.25rem !important; font-weight: 700 !important; line-height: 1.3 !important; }
small, .text-sm { font-size: 0.875rem !important; }
@media (max-width: 575.98px) {
  h1 { font-size: clamp(2rem, 9vw, 2.5rem) !important; }
  h2 { font-size: clamp(1.5rem, 6vw, 1.75rem) !important; }
}

/* ── 2. Skip link ────────────────────────────────────────── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 99999;
  background: #0EA5B7;
  color: #fff !important;
  padding: 0.6rem 1.2rem;
  border-radius: 0 0 8px 8px;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
  transition: top 0.15s ease;
  white-space: nowrap;
}
.skip-link:focus {
  top: 0;
  outline: 3px solid #fff;
  outline-offset: 2px;
}

/* ── 3. Focus-visible ring ───────────────────────────────── */
:focus-visible {
  outline: 2.5px solid #0EA5B7 !important;
  outline-offset: 3px !important;
  border-radius: 4px;
}
:focus:not(:focus-visible) { outline: none !important; }

/* ── 4. Stat trend indicators ────────────────────────────── */
.orb-stat-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--success, #10B981);
  background: rgba(16,185,129,0.10);
  border-radius: 20px;
  padding: 0.18rem 0.55rem;
  margin-top: 0.35rem;
}
.orb-stat-trend i { font-size: 0.85em; }
.orb-stat-trend--stable {
  color: var(--text-muted, #7B90B2) !important;
  background: rgba(120,140,180,0.10) !important;
}

/* ── 5. Direction card accent glow ──────────────────────── */
.direction-card {
  --card-accent-glow: rgba(var(--dc, 14,165,183), 0.22);
}
.direction-card:hover {
  box-shadow:
    0 0 0 1px rgba(var(--dc, 14,165,183), 0.28),
    0 8px 32px var(--card-accent-glow) !important;
}

/* ── 6a. Partners marquee 40s ────────────────────────────── */
.ph-marquee-track {
  animation-duration: 40s !important;
}

/* ── 6b. Partners logo grayscale ─────────────────────────── */
.ph-logo-item .ph-logo-img {
  filter: grayscale(1) opacity(.65) !important;
  transition: filter 0.35s ease, opacity 0.35s ease, transform 0.35s ease !important;
}
.ph-logo-item:hover .ph-logo-img {
  filter: grayscale(0) opacity(1) !important;
  transform: scale(1.08) !important;
}
[data-theme="dark"] .ph-logo-item .ph-logo-img {
  filter: grayscale(1) brightness(1.2) opacity(.55) !important;
}
[data-theme="dark"] .ph-logo-item:hover .ph-logo-img {
  filter: grayscale(0) brightness(1) opacity(1) !important;
}

/* ── 7. Featured news hover scale ────────────────────────── */
.nu-featured {
  overflow: hidden;
}
.nu-featured .nu-feat-img {
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.nu-featured:hover .nu-feat-img {
  transform: scale(1.04) !important;
}

/* ── 8. Status badge icon spacing ────────────────────────── */
.prog-status-badge i {
  font-size: 0.7em;
  margin-right: 0.3em;
}

/* ── 9. Button micro-animation ───────────────────────────── */
.btn-primary-custom:active,
.btn-outline-primary-c:active,
.btn-apply-nav:active,
.mobile-menu-cta:active,
.sc-submit:active {
  transform: scale(0.97) !important;
  transition: transform 0.1s ease !important;
}

/* ── 10. High contrast mode ──────────────────────────────── */
@media (forced-colors: active) {
  .skip-link,
  .btn-primary-custom,
  .btn-apply-nav { forced-color-adjust: none; }
}

/* ── 11. Honeypot field hidden ───────────────────────────── */
.sc-field--hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  pointer-events: none !important;
}


/* ════════════════════════════════════════════════════════════
   NEWS SECTION — magazine redesign v2
   1. Featured card: overlay-text magazine layout
   2. Dot-grid pattern overlay
   3. Load-more button
   4. Card reveal animation
   ════════════════════════════════════════════════════════════ */

/* ── 1. Featured magazine layout ────────────────────────── */
.nu-featured {
  display: block !important;           /* single-column block */
  overflow: hidden !important;
}
.nu-feat-media {
  position: relative !important;
  min-height: 420px !important;
  height: 100% !important;
  overflow: hidden !important;
}
@media (max-width: 767.98px) {
  .nu-feat-media { min-height: 300px !important; }
}
.nu-feat-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.nu-featured:hover .nu-feat-img { transform: scale(1.06) !important; }

/* ── 2. Pattern overlay ──────────────────────────────────── */
.nu-feat-pattern {
  position: absolute !important;
  inset: 0 !important;
  background-image: radial-gradient(rgba(255,255,255,0.09) 1px, transparent 1px) !important;
  background-size: 22px 22px !important;
  pointer-events: none !important;
  z-index: 1 !important;
  mix-blend-mode: overlay !important;
}

/* cinematic gradient: subtle at top, strong dark-navy at bottom */
.nu-feat-overlay {
  background: linear-gradient(
    to bottom,
    rgba(8,21,46,0.12) 0%,
    rgba(8,21,46,0.30) 40%,
    rgba(8,21,46,0.82) 100%
  ) !important;
  z-index: 2 !important;
}

/* ── Featured body: absolute bottom overlay ─────────────── */
.nu-feat-body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 2rem 2.25rem 2rem !important;
  z-index: 3 !important;
  flex: unset !important;
}
.nu-feat-title {
  color: #FFFFFF !important;
  font-size: clamp(1.125rem, 2vw, 1.375rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.25) !important;
  margin-bottom: 0.6rem !important;
}
.nu-feat-excerpt {
  color: rgba(245,249,255,0.85) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin-bottom: 1.25rem !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.20) !important;
}
.nu-feat-date {
  color: rgba(255,255,255,0.70) !important;
}
.nu-feat-date .bi { opacity: 0.80 !important; }
.nu-feat-readtime {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.68rem;
  color: rgba(255,255,255,0.62);
}
.nu-feat-readtime .bi { font-size: 0.65rem; }
.nu-feat-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  font-weight: 700;
  color: #67D3FF !important;
  text-decoration: none !important;
  letter-spacing: 0.01em;
  transition: gap 0.18s, color 0.18s !important;
}
.nu-feat-cta:hover {
  gap: 0.65rem !important;
  color: #A5ECFF !important;
}
.nu-feat-cta .bi { font-size: 0.85em; }

/* ── Load-more button ────────────────────────────────────── */
.nu-footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
}
.nu-loadmore {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.7rem 1.75rem;
  border: 1.5px solid rgba(14,165,183,0.35);
  border-radius: 8px;
  background: rgba(14,165,183,0.06);
  color: #0EA5B7;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.nu-loadmore:hover {
  background: rgba(14,165,183,0.12);
  border-color: #0EA5B7;
  gap: 0.7rem;
}
.nu-loadmore .bi { font-size: 1rem; }
.nu-loadmore-count {
  font-size: 0.78rem;
  font-weight: 500;
  color: rgba(14,165,183,0.72);
}

/* ── Hidden card batch ───────────────────────────────────── */
.nu-card--hidden {
  display: none !important;
}
.nu-card--reveal {
  display: flex !important;
  animation: nuCardReveal 0.38s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes nuCardReveal {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* dark mode adjustments */
[data-theme="dark"] .nu-feat-title { color: #F5F9FF !important; }
[data-theme="dark"] .nu-feat-excerpt { color: rgba(220,235,255,0.82) !important; }
[data-theme="dark"] .nu-loadmore {
  border-color: rgba(14,165,183,0.30);
  background: rgba(14,165,183,0.08);
  color: #2CCFDE;
}


/* ── Support cards: gradient border ─────────────────────── */
.support-card {
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #0EA5B7 0%, #0B4F8A 100%) border-box !important;
  border: 2px solid transparent !important;
  box-shadow: 0 2px 14px rgba(8,24,60,0.06) !important;
  transition: box-shadow 0.28s ease, transform 0.28s ease !important;
}
.support-card:hover {
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #0EA5B7 0%, #0B4F8A 100%) border-box !important;
  box-shadow:
    0 0 0 4px rgba(14,165,183,0.12),
    0 10px 32px rgba(14,165,183,0.18),
    0 3px 10px rgba(8,24,60,0.08) !important;
  transform: translateY(-3px) !important;
}
[data-theme="dark"] .support-card {
  background:
    linear-gradient(#0d1b2e, #0d1b2e) padding-box,
    linear-gradient(135deg, #0EA5B7 0%, #2a6db5 100%) border-box !important;
}
[data-theme="dark"] .support-card:hover {
  background:
    linear-gradient(#0d1b2e, #0d1b2e) padding-box,
    linear-gradient(135deg, #0EA5B7 0%, #2a6db5 100%) border-box !important;
}


/* ============================================================
   GLOBAL POLISH — navbar centering, footer typography
   (previously premium.css — merged here so all pages benefit)
   ============================================================ */

#mainNav {
  display: flex !important;
  align-items: center !important;
  min-height: 72px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#mainNav > .container,
#mainNav > .container-fluid {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 72px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#mainNav.scrolled {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 64px !important;
}
#mainNav.scrolled > .container,
#mainNav.scrolled > .container-fluid {
  min-height: 64px !important;
}
@media (max-width: 991.98px) {
  #mainNav,
  #mainNav > .container,
  #mainNav > .container-fluid {
    min-height: 64px !important;
  }
}

@media (min-width: 992px) {
  .hero-section {
    min-height: 760px !important;
    height: auto !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
  }
  .hero-row {
    min-height: 0 !important;
    padding-top: 7rem !important;
    padding-bottom: 6rem !important;
    align-items: center !important;
  }
}
@media (min-width: 1400px) {
  .hero-section {
    min-height: 820px !important;
  }
  .hero-row {
    padding-top: 8rem !important;
    padding-bottom: 7rem !important;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero-section {
    min-height: 600px !important;
    height: auto !important;
    max-height: none !important;
  }
  .hero-row {
    min-height: 0 !important;
    padding-top: 6rem !important;
    padding-bottom: 5rem !important;
  }
}
@media (max-width: 767.98px) {
  .hero-section {
    min-height: 520px !important;
    height: auto !important;
    max-height: none !important;
  }
  .hero-row {
    min-height: 0 !important;
    padding-top: 5.5rem !important;
    padding-bottom: 4rem !important;
  }
}

.footer-title {
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #94A3B8 !important;
  margin-bottom: 1.25rem !important;
}
[data-theme="dark"] .footer-title {
  color: rgba(183, 210, 255, 0.85) !important;
}

.ft-contact-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: rgba(160, 196, 245, 0.72) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
.ft-contact-val {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  color: rgba(205, 226, 255, 0.85) !important;
}
.ft-contact-icon {
  width: 32px !important;
  height: 32px !important;
  font-size: 0.875rem !important;
  flex-shrink: 0 !important;
}
[data-theme="dark"] .ft-contact-label {
  color: rgba(140, 176, 230, 0.62) !important;
}
[data-theme="dark"] .ft-contact-val {
  color: rgba(195, 220, 255, 0.82) !important;
}

.footer-links a {
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  color: #CBD5E1 !important;
}
.footer-links a:hover {
  color: #FFFFFF !important;
}
.footer-links li {
  margin-bottom: 0.8rem !important;
}

.ft-copy {
  font-size: 0.8125rem !important;
  color: #94A3B8 !important;
}
.footer-legal-link,
.ft-legal-nav .footer-legal-link {
  font-size: 0.8125rem !important;
  color: #64748B !important;
}
.footer-legal-link:hover {
  color: rgba(220, 240, 255, 0.92) !important;
}
@media (max-width: 575px) {
  .footer-bottom-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.65rem !important;
  }
}

.footer-logo {
  height: 56px !important;
  opacity: 0.95 !important;
  margin-bottom: 1.1rem !important;
}
.social-icon {
  width: 38px !important;
  height: 38px !important;
  font-size: 1rem !important;
  flex-shrink: 0 !important;
}

.prog-card {
  display: flex !important;
  flex-direction: column !important;
}
.prog-card-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.prog-card-desc {
  flex: 1 !important;
}

.section-events .row > [class*="col-"] {
  display: flex !important;
}
.event-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.event-card-body {
  flex: 1 !important;
}

.nu-card-media {
  height: 200px !important;
}
@media (max-width: 575px) {
  .nu-card-media { height: 170px !important; }
}
