/* Matte theme for Edustream one-page demo */

:root{
  --bg:#0c0c10;
  --surface:#121218;
  --surface-2:#171721;
  --surface-3:#1d1d28;
  --text:#ffffff;
  --text-700:#cfd1d6;
  --accent:#10b4e6;
  --accent-2:#0c6aa1;
  --ring:0 0 0 2px rgba(12, 10, 126, 0.35);
  --shadow-1:0 10px 24px rgba(0,0,0,.35);
  --radius:12px;
}

/* Utilities */
.text-accent{color:var(--accent)!important}
.brand-accent{color:var(--accent)}
.btn-accent{background:var(--accent);color:#fff;border:0;box-shadow:0 8px 24px rgba(14, 7, 116, 0.35)}
.btn-accent:hover{background:var(--accent-2);color:#fff}
.text-light-700{color:var(--text-700)!important}
.section-offset{scroll-margin-top:90px}

/* Body and navbar */
body{background:var(--bg);color:var(--text)}
.navbar{background:rgba(0,0,0,.65)!important;backdrop-filter:saturate(120%) blur(6px)}
.navbar .nav-link{color:#e7e7ea}
.navbar .nav-link.active,.navbar .nav-link:hover{color:#fff}

/* Hero */
.hero{position:relative; min-height:72vh; display:flex; align-items:center; background:radial-gradient(120% 120% at 70% 0%, rgba(44, 76, 218, 0.18), rgba(12,12,16,0) 55%), linear-gradient(180deg, rgba(12,12,16,.88), rgba(12,12,16,.88));}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.3; filter:grayscale(.4) brightness(.7)}
.hero .hero-badge{border:1px solid rgba(255,255,255,.18); border-radius:8px; color:var(--text-700); background:rgba(255,255,255,.05); backdrop-filter:blur(4px);}
.hero-figure{position:relative; width:100%; max-width:520px; margin-left:auto}
.hero-figure::before{content:""; position:absolute; inset:auto 0 0 0; height:86%; background:var(--accent); border-top-left-radius:260px; border-top-right-radius:260px; border-bottom-left-radius:18px; border-bottom-right-radius:18px; filter:saturate(90%) brightness(70%); opacity:.9; box-shadow:0 30px 60px rgba(225,6,122,.25)}
.hero-figure img{position:relative; width:100%; height:auto; z-index:2; display:block; filter:saturate(105%)}

/* Gallery */
.g-thumb{position:relative; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.06); box-shadow:var(--shadow-1)}
.g-thumb img{display:block; width:100%; height:auto}

/* Education cards */
.edu-card{background:var(--surface-2); border:1px solid rgba(255,255,255,.06); border-radius:12px; overflow:hidden; box-shadow:var(--shadow-1)}
.edu-card .img{aspect-ratio:16/9; background:#000}
.edu-card img{width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.05)}

/* Country strip */
.country-strip{display:flex; gap:16px; overflow-x:auto; padding:12px 6px; scroll-snap-type:x proximity; flex-wrap:nowrap; align-items:stretch; -webkit-overflow-scrolling:touch; white-space:nowrap}
.country-strip::-webkit-scrollbar{height:10px}
.country-strip::-webkit-scrollbar-thumb{background:#2a2a33; border-radius:999px}

/* Card look to match screenshot: rounded, subtle border, white label */
.country-card{position:relative; width:220px; min-width:220px; max-width:220px; background:var(--surface-3); border-radius:14px; border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow-1); scroll-snap-align:start; flex:0 0 auto; transition:transform .25s ease, box-shadow .25s ease, outline-color .25s ease; display:inline-block; vertical-align:top}
.country-card .img-wrap{aspect-ratio:4/3; overflow:hidden; border-radius:12px; margin:8px 8px 6px; box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.country-card img{width:100%; height:100%; object-fit:cover; display:block; transform:scale(1); transition:transform .35s ease}
.country-card .p-2{background:#ffffff; color:#111; border-radius:10px; margin:0 8px 10px; text-align:center; box-shadow:0 6px 16px rgba(0,0,0,.25); padding:6px 8px; font-size:.8rem}
.country-card .p-2.fw-semibold{letter-spacing:.02em}

/* Flag badge */
.country-card .flag-badge{position:absolute; top:6px; left:8px; display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.96); color:#111; border-radius:999px; padding:2px 6px; box-shadow:0 4px 12px rgba(0,0,0,.25); border:1px solid rgba(0,0,0,.06)}
.country-card .flag-badge img{width:18px; height:12px; object-fit:cover; border-radius:3px; display:block}

/* Hover/active animation */
.country-card:hover{transform:translateY(-6px); box-shadow:0 16px 32px rgba(0,0,0,.55), 0 0 0 2px rgba(225,6,122,.55) inset}
.country-card:hover .img-wrap img{transform:scale(1.06)}

/* Staggered entrance */
@keyframes cardFadeUp{from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:translateY(0)}}
.country-strip .country-card{opacity:0; animation:cardFadeUp .5s ease forwards}
.country-strip .country-card:nth-child(1){animation-delay:.02s}
.country-strip .country-card:nth-child(2){animation-delay:.06s}
.country-strip .country-card:nth-child(3){animation-delay:.10s}
.country-strip .country-card:nth-child(4){animation-delay:.14s}
.country-strip .country-card:nth-child(5){animation-delay:.18s}
.country-strip .country-card:nth-child(6){animation-delay:.22s}
.country-strip .country-card:nth-child(7){animation-delay:.26s}

/* Services */
.service-card{background:var(--surface-2); border:1px solid rgba(255,255,255,.06); border-radius:14px; position:relative; box-shadow:var(--shadow-1)}
.service-card::after{content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg, var(--accent), transparent 70%); border-bottom-left-radius:14px; border-bottom-right-radius:14px}
.icon-wrap{width:56px; height:56px; display:grid; place-items:center; background:rgba(84, 175, 228, 0.12); color:var(--accent); border-radius:12px; box-shadow:inset 0 0 0 1px rgba(6, 210, 225, 0.35)}

/* Reviews */
.review-card{background:var(--surface-2); border:1px solid rgba(255,255,255,.06); border-radius:14px; box-shadow:var(--shadow-1)}

/* Consultation CTA */
.consultation{background:linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.35)), radial-gradient(80% 80% at 100% 0%, rgba(16, 154, 247, 0.14), transparent 60%)}

/* Footer */
.site-footer{background:#0a0a0e; color:#cfd1d6}
.footer-top{background:radial-gradient(120% 120% at 0% 0%, rgba(255,255,255,.04), transparent 50%), url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"160\" height=\"160\" viewBox=\"0 0 160 160\"><path d=\"M0 120 Q40 100 80 120 T160 120 V160 H0Z\" fill=\"%23000000\" opacity=\".35\"/></svg>') repeat; background-blend-mode:overlay}
.footer-links a{color:#bfc2c9; text-decoration:none}
.footer-links a:hover{color:#fff}
.foot-title{color:#e6e6ea}
.site-footer .social{color:#cfd1d6}
.site-footer .social:hover{color:#fff}
.footer-bottom{background:linear-gradient(180deg, rgba(6, 137, 225, 0.18), rgba(6, 174, 225, 0.18))}

/* Forms */
.form-control.bg-dark{background:#0f0f14!important; color:#fff!important}
.form-control.bg-dark::placeholder{color:#9aa0a6}
.form-control:focus{box-shadow:var(--ring)}

/* Responsive tweaks */
@media (max-width: 991px){
  .hero{min-height:60vh}
  .hero-figure{max-width:420px; margin:24px auto 0}
}
@media (max-width: 575px){
  .display-5{font-size:2rem}
  .country-card{width:180px; min-width:180px; max-width:180px}
}
.consultation-image {
  height: 100%;
}

.consultation-image img {
  width: 100%;
  height: 400px; /* Fixed height to match form */
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

@media (max-width: 991px) {
  .consultation-image img {
    height: 400px;
  }
}
/* About section image container - Mobile fix */
.about .d-flex {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.about .thumb {
  width: 100% !important;
  max-width: 100% !important;
  height: 300px;
  object-fit: cover;
  border-radius: 8px;
}

/* Hide second image on mobile */
.about .thumb:nth-child(2) {
  display: none;
}

/* Tablet and up: Images side by side */
@media (min-width: 768px) {
  .about .d-flex {
    flex-direction: row;
    gap: 1rem;
  }
  
  .about .thumb {
    width: 400px !important;
    max-width: 400px !important;
  }
  
  /* Show second image on tablet and up */
  .about .thumb:nth-child(2) {
    display: block;
  }
}
/* Mobile Navigation Close Icon */
.navbar-toggler {
  position: relative;
  padding: 0.5rem;
}

.navbar-toggler .close-icon {
  display: none;
  font-size: 1.5rem;
  color: #fff;
}

/* Show hamburger by default */
.navbar-toggler .navbar-toggler-icon {
  display: inline-block;
}

/* When menu is open (toggler not collapsed) */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  display: none;
}

.navbar-toggler[aria-expanded="true"] .close-icon {
  display: inline-block;
}

/* Optional: Add smooth transition */
.navbar-toggler .navbar-toggler-icon,
.navbar-toggler .close-icon {
  transition: all 0.3s ease;
}

/* Auto-close menu when clicking nav links on mobile */
@media (max-width: 991.98px) {
  .navbar-nav .nav-link {
    padding: 0.75rem 0;
  }
}
.country-strip-wrapper {
  overflow: hidden;
  position: relative;
  margin: 0 -15px;
}

.country-strip {
  display: flex;
  gap: 1rem;
  animation: scroll 30s linear infinite;
  width: max-content;
}

.country-strip:hover {
  animation-play-state: paused;
}

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

.country-card {
  min-width: 200px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.country-card:hover {
  transform: translateY(-10px);
}

.country-card .img-wrap img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 8px;
}