/* ===================================================
   BLUE SHALI — Light Blue Theme (redesign)
   Primary: #1565C0 (deep blue)   Gold accent: #c8922a
   =================================================== */

/* ── Dancing Script utility ── */
.dancing { font-family: "Dancing Script", cursive; }

:root {
  --blue:       #1e9ad6;
  --blue-dark:  #1272a0;
  --blue-mid:   #2aafed;
  --blue-light: #ddf0fb;
  --blue-pale:  #f0f9fe;
  --gold:       #c8922a;
  --gold-light: #f5e6c8;
  --text:       #1a2744;
  --muted:      #5a6a82;
  --border:     #c8e7f7;
  --bg:         #ffffff;
  --bg-alt:     #f0f9fe;
  --ink:        #0d2040;
  /* legacy aliases (keep blade views working) */
  --teal:       #1e9ad6;
  --teal-deep:  #1272a0;
  --sand:       #c8922a;
  --sand-light: #f5e6c8;
  --cream:      #f4f8ff;
}

/* ═══════════════════════════════════════
   TOP BAR
   ═══════════════════════════════════════ */
.topbar {
  background: var(--blue-dark);
  color: rgba(255,255,255,.8);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
}
.topbar-inner {
  max-width: 1180px; margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
  height: 38px;
}

/* Contact items (left) */
.topbar-contact { display: flex; align-items: center; gap: 20px; }
.topbar-item {
  display: flex; align-items: center; gap: 6px;
  color: rgba(255,255,255,.75); text-decoration: none; transition: color .2s;
}
.topbar-item:hover { color: #fff; }
.topbar-ico { font-size: 13px; }

/* Right cluster */
.topbar-right { display: flex; align-items: center; gap: 16px; }

/* Social icons */
.topbar-socials { display: flex; align-items: center; gap: 10px; }
.topbar-social {
  color: rgba(255,255,255,.65); display: flex; align-items: center;
  transition: color .2s; padding: 4px;
}
.topbar-social:hover { color: var(--gold); }

/* Divider */
.topbar-divider { width: 1px; height: 18px; background: rgba(255,255,255,.2); }

/* Auth buttons */
.topbar-auth { display: flex; align-items: center; gap: 10px; }
.topbar-login {
  color: rgba(255,255,255,.8); font-size: 12.5px; font-weight: 600;
  transition: color .2s; text-decoration: none;
}
.topbar-login:hover { color: #fff; }
.topbar-signup {
  background: var(--gold); color: #fff;
  padding: 5px 14px; border-radius: 20px;
  font-size: 12px; font-weight: 700; text-decoration: none;
  transition: background .2s; white-space: nowrap;
}
.topbar-signup:hover { background: #b07820; }

/* Dark mode */
[data-theme="dark"] .topbar { background: #050e1e; }

/* Mobile: hide contact email on small screens */
@media(max-width:768px) {
  .topbar-item:last-child { display: none; }
}
@media(max-width:480px) {
  .topbar-contact { display: none; }
  .topbar-inner { justify-content: flex-end; }
}



/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; background: var(--bg); color: var(--text); line-height: 1.75; }
h1, h2, h3, h4 { font-family: 'Poppins', sans-serif; font-weight: 600; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul { list-style: none; }
.container { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* ═══════════════════════════════════════
   HEADER / NAV  — white with blue accents
   ═══════════════════════════════════════ */
header {
  position: sticky; top: 0; z-index: 80;
  background: #fff;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 2px 12px rgba(21, 101, 192, .08);
}
.nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px; max-width: 1180px; margin: 0 auto; color: var(--text);
}
.logo {
  font-family: 'Poppins', sans-serif; font-size: 22px;
  font-weight: 700; letter-spacing: 1px; color: var(--text);
  display: flex; align-items: center; gap: 10px;
}
.logo span { color: var(--blue); }

.nav-menu { display: flex; gap: 2px; font-size: 14px; font-weight: 500; }
.nav-menu > li { position: relative; }
.nav-menu > li > a { display: block; padding: 12px 14px; color: var(--text); transition: color .2s; }
.nav-menu > li > a:hover { color: var(--blue); }

.nav-menu .dropdown {
  position: absolute; top: 100%; left: 0; min-width: 220px;
  background: #fff; border-radius: 12px; padding: 10px;
  box-shadow: 0 12px 36px rgba(21,101,192,.15);
  border: 1px solid var(--border);
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .2s ease;
}
.nav-menu > li:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-menu .dropdown li a {
  display: block; padding: 9px 14px; border-radius: 8px;
  font-size: 13.5px; color: var(--muted); transition: .2s;
}
.nav-menu .dropdown li a:hover { background: var(--blue-light); color: var(--blue); }

.lang-switch {
  font-size: 13px; font-weight: 600; color: var(--blue) !important;
  border: 1.5px solid var(--blue) !important; border-radius: 20px;
  padding: 6px 14px; text-decoration: none; transition: .2s;
}
.lang-switch:hover { background: var(--blue); color: #fff !important; }

/* Dark-mode toggle */
#theme-toggle {
  background: none; border: 1.5px solid var(--border); color: var(--text);
  width: 36px; height: 36px; border-radius: 50%; cursor: pointer;
  font-size: 16px; display: flex; align-items: center; justify-content: center;
}
#theme-toggle:hover { border-color: var(--blue); }

/* Mobile burger */
#nav-burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 6px; }
#nav-burger span { display: block; width: 24px; height: 2px; background: var(--text); border-radius: 2px; transition: .3s; }
#nav-burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
#nav-burger.open span:nth-child(2) { opacity: 0; }
#nav-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

/* ═══════════════════════════════════════
   HERO SLIDER
   ═══════════════════════════════════════ */
.hero-slider { position: relative; }
.hero-slide {
  position: relative; min-height: 90vh;
  display: flex; align-items: center;
  color: #fff; background-size: cover; background-position: center;
}
.hero-slide::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(170deg, rgba(13,32,64,.6) 0%, rgba(13,32,64,.85) 100%);
}
.hero-slide .container { position: relative; z-index: 2; max-width: 680px; }
.eyebrow {
  color: var(--gold); font-size: 13px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px;
}
.hero-slide h1 { font-size: 52px; line-height: 1.2; margin-bottom: 20px; }
.hero-slide p { font-size: 17px; color: rgba(255,255,255,.85); margin-bottom: 30px; max-width: 540px; }

.btn-primary {
  display: inline-block; background: var(--blue); color: #fff;
  padding: 14px 34px; border-radius: 30px; font-weight: 700; font-size: 15px; transition: .2s;
}
.btn-primary:hover { background: var(--blue-dark); }
.btn-outline {
  display: inline-block; border: 2px solid rgba(255,255,255,.6); color: #fff;
  padding: 13px 28px; border-radius: 30px; font-size: 15px; margin-left: 12px;
}

/* Slick gallery (program-detail) — horizontal */
.hero-slider .slick-dots { bottom: -28px; }
.hero-slider .slick-dots li button:before { color: var(--blue); opacity: .4; }
.hero-slider .slick-dots li.slick-active button:before { opacity: 1; color: var(--blue); }
.hero-slider .slick-prev, .hero-slider .slick-next {
  z-index: 5; width: 40px; height: 40px;
  background: rgba(255,255,255,.85); border-radius: 50%;
}
.hero-slider .slick-prev { left: 16px; }
.hero-slider .slick-next { right: 16px; }
.hero-slider .slick-prev:before { content: "←"; color: var(--blue); font-size: 16px; }
.hero-slider .slick-next:before { content: "→"; color: var(--blue); font-size: 16px; }

/* ═══════════════════════════════════════
   SPLIT HERO  (Tourvex style)
   ═══════════════════════════════════════ */
.split-hero {
  background: var(--ink);
  min-height: calc(100vh - 100px);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: relative;
  overflow: hidden;
  padding: 0;
}
/* Subtle radial glow */
.split-hero::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 70% 80% at 20% 60%, rgba(30,154,214,.07) 0%, transparent 65%);
  pointer-events: none;
}
/* Background pattern texture */
.split-hero::after {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background-image: url('/img/pattern-bg.png');
  background-size: cover; background-position: center;
  opacity: 0.18;
  pointer-events: none;
}

/* ── Inner container (Bootstrap-like centering, matches Tourvex container) ── */
.split-hero-inner {
  display: flex; align-items: stretch; flex: 1;
  max-width: 1320px; width: 100%;
  margin: 0 auto; padding: 0 40px;
}

/* ── Text panel (left — col-lg-5 equivalent: 41.67%) ── */
.split-hero-left {
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 80px 80px 0;
  width: 41.67%; flex-shrink: 0;
  position: relative; z-index: 2;
}
@media(max-width:1200px) { .split-hero-left { padding: 60px 60px 60px 0; } }

.hero-eyebrow {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,.45); font-size: 11px;
  font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
  margin-bottom: 28px;
}
.hero-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--blue); display: inline-block; flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(30,154,214,.25);
}

.split-hero-h1 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(46px, 5.5vw, 82px);
  font-weight: 800; color: #fff;
  line-height: 1.05; letter-spacing: -2px;
  text-transform: uppercase; margin-bottom: 26px;
}
.h1-accent {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(28px, 3.5vw, 52px);
  font-weight: 600; font-style: italic;
  color: var(--blue); text-transform: none; letter-spacing: 0;
}

.split-hero-sub {
  color: rgba(255,255,255,.58); font-size: 16px;
  line-height: 1.8; max-width: 440px; margin-bottom: 42px;
}

.split-hero-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }

.split-cta {
  display: inline-flex; align-items: center; gap: 12px;
  background: #fff; color: var(--ink);
  padding: 13px 22px 13px 28px; border-radius: 40px;
  font-size: 14.5px; font-weight: 700; transition: .2s; white-space: nowrap;
}
.split-cta:hover { background: var(--blue); color: #fff; }
.cta-circle {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--blue); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 700; transition: .2s;
}
.split-cta:hover .cta-circle { background: rgba(255,255,255,.25); color: #fff; }

.split-cta-ghost {
  color: rgba(255,255,255,.6); font-size: 14.5px; font-weight: 600;
  text-decoration: underline; text-underline-offset: 4px; transition: color .2s;
}
.split-cta-ghost:hover { color: #fff; }

/* Compass */
.hero-compass {
  position: absolute; right: 14px; bottom: 100px;
  width: 88px; height: 88px;
  animation: rotateSlow 28s linear infinite;
  opacity: .65;
}
@keyframes rotateSlow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ── Image columns (right — col-lg-6+offset-lg-1 equivalent: flex:1) ── */
.split-hero-right {
  flex: 1; display: flex; gap: 14px;
  padding: 0;
  height: calc(100vh - 100px); overflow: hidden;
  align-items: flex-start;
  justify-content: center;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 8%, black 92%, transparent 100%);
}

.img-col {
  display: flex; flex-direction: column;
  flex: none; width: 163px;
}
.col-reverse  { width: 214px; margin-top: -55px; }
.col-fast     { margin-top: -110px; }

/* الـ box الداخلي هو اللي بيتحرك — نفس فكرة Tourvex */
.img-col .box {
  display: flex; flex-direction: column; gap: 15px;
  animation: scrollUpCol 50s linear infinite;
}
.img-col:hover .box { animation-play-state: paused; }

@keyframes scrollUpCol {
  from { transform: translateY(0); }
  to   { transform: translateY(-100%); }
}

.img-pill {
  border-radius: 50px; overflow: hidden; flex-shrink: 0;
  border: 2px solid rgba(255,255,255,.07);
}
.img-pill img {
  width: 100%; height: 300px;
  object-fit: cover; display: block;
  border-radius: 50px;
  transition: transform .5s ease;
}
.img-pill:hover img { transform: scale(1.06); }
.col-reverse .img-pill         { border-radius: 100px; }
.col-reverse .img-pill img     { height: 400px; border-radius: 100px; }
.col-fast .img-pill img        { height: 300px; }

/* ── Star decoration (Tourvex star1 — star2.png) ── */
.hero-star {
  position: absolute;
    top: 11.9%;
    left: 8.5%;
  width: 40px;
  pointer-events: none; z-index: 3;
  animation: heroStarPulse 3s ease-in-out infinite;
}
@keyframes heroStarPulse {
  0%   { scale: 0.2; opacity: 0.4; }
  50%  { scale: 1;   opacity: 1; }
  100% { scale: 0.2; opacity: 0.4; }
}

/* ── Airplane decorations (Tourvex star2 & star3) ── */
.hero-flight-down {
  position: absolute;
  top: 40%; right: 0;
  width: 240px;
  pointer-events: none; z-index: 3;
  animation: heroFlightSlide 6s ease-in-out infinite;
}
.hero-flight-up {
  position: absolute;
  bottom: -2%; left: 40%;
  width: 180px;
  pointer-events: none; z-index: 3;
  animation: heroFlightFloat 6s ease-in-out infinite;
  animation-delay: 2s;
}
@keyframes heroFlightSlide {
  0%   { transform: translateX(0px) scale(0.95); }
  50%  { transform: translateX(30px) scale(1); }
  100% { transform: translateX(0px) scale(0.95); }
}
@keyframes heroFlightFloat {
  0%   { transform: translateY(0px) scale(0.8); }
  50%  { transform: translateY(-20px) scale(1); }
  100% { transform: translateY(0px) scale(0.8); }
}

/* Mobile */
@media(max-width:900px) {
  .split-hero { min-height: auto; }
  .split-hero-inner { flex-direction: column; padding: 0 24px; }
  .split-hero-left { width: 100%; padding: 80px 0 40px; }
  .split-hero-right { height: 55vw; padding: 0; }
  .col-fast { display: none; }
  .split-hero-h1 { letter-spacing: -1px; }
}

/* ═══════════════════════════════════════
   SUB-PAGE HERO
   ═══════════════════════════════════════ */
.page-hero {
  position: relative; min-height: 44vh;
  display: flex; align-items: center; color: #fff;
  background-size: cover; background-position: center;
}
.page-hero::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(170deg, rgba(13,32,64,.62) 0%, rgba(13,32,64,.88) 100%);
}
.page-hero .container { position: relative; z-index: 2; }
.page-hero .crumbs { color: rgba(255,255,255,.7); font-size: 13px; margin-bottom: 10px; }
.page-hero .crumbs a { color: var(--gold); }
.page-hero h1 { font-size: 42px; }
.page-hero .tag { color: rgba(255,255,255,.8); margin-top: 12px; font-size: 16px; }

/* ═══════════════════════════════════════
   ABOUT2  (Tourvex style)
   ═══════════════════════════════════════ */
.about2-section {
  position: relative;
  padding: 100px 0;
  background: #fff;
  overflow: hidden;
  z-index: 1;
}

/* Two-column grid */
.about2-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative; z-index: 2;
}

/* ── Images (left) ── */
.about2-img-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.a2img {
  width: 100%;
  height: 450px;
  overflow: hidden;
  border-radius: 40px;
}

/* First image staggered lower — layout only, GSAP handles animation */
.a2img:nth-child(1) { margin-top: 90px; }
.a2img:nth-child(2) { }

.a2img img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 40px;
  transition: transform 0.6s ease;
}
.a2img:hover img { transform: scale(1.05); }

/* ── Text (right) ── */
.about2-eyebrow {
  color: var(--blue);
  font-size: 13px; font-weight: 700;
  letter-spacing: 4px; text-transform: uppercase;
  margin-bottom: 16px;
}

.about2-heading {
  font-size: clamp(34px, 3.2vw, 56px);
  font-weight: 800;
  color: var(--ink);
  line-height: 1.1;
  letter-spacing: -1.5px;
  margin-bottom: 20px;
  text-transform: uppercase;
    font-family: 'Cormorant Garamond', serif;
}

.about2-italic {
  display: block;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
  font-weight: 600;
  font-size: 0.75em;
  color: var(--blue);
  text-transform: none;
  letter-spacing: 0;
}

.about2-para {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 32px;
  max-width: 460px;
}

/* Features list — 2-column grid */
.about2-list {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 18px 0;
  list-style: none;
  padding: 0; margin: 0 0 42px;
}

.about2-list li {
  display: flex; align-items: center; gap: 14px;
  font-size: 15px; font-weight: 600;
  color: var(--ink);
}

.a2-icon {
  width: 45px; height: 45px;
  background: var(--blue-pale);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--blue);
  flex-shrink: 0;
  transition: transform 0.6s ease;
}

.about2-list li:hover .a2-icon { transform: rotate(360deg) scale(1.2); }

/* Footer */
.about2-footer {
  display: flex; align-items: center; gap: 40px; flex-wrap: wrap;
}

.a2stat-num {
  font-family: 'Poppins', sans-serif;
  font-size: 44px; font-weight: 700;
  color: var(--ink); line-height: 1;
}

.about2-stat > span {
  display: block; font-size: 13px;
  color: var(--muted); margin-top: 3px;
}

/* CTA button (blue — works on white bg) */
.a2-cta {
  display: inline-flex; align-items: center; gap: 12px;
  background: var(--blue); color: #fff;
  padding: 13px 22px 13px 28px; border-radius: 40px;
  font-size: 14.5px; font-weight: 700; transition: .2s; white-space: nowrap;
}
.a2-cta:hover { background: var(--blue-dark); color: #fff; }
.a2-cta .cta-circle { background: rgba(255,255,255,.2); color: #fff; }
.a2-cta:hover .cta-circle { background: rgba(255,255,255,.35); }

/* Background large text */
.about2-bg-text {
  position: absolute;
  bottom: 10px; right: -10px;
  font-size: clamp(80px, 11vw, 150px);
  font-weight: 900;
  color: var(--ink); opacity: 0.04;
  white-space: nowrap;
  pointer-events: none; z-index: 0;
  line-height: 1;
}

/* GSAP handles .duru-slide-right, .duru-slide-up, .duru-slide-down */

/* Mobile about2 */
@media(max-width:900px) {
  .about2-row { grid-template-columns: 1fr; gap: 40px; }
  .a2img { height: 260px; }
  .a2img:nth-child(1) { margin-top: 40px; }
  .about2-list { grid-template-columns: 1fr; }
  .about2-bg-text { font-size: 60px; }
}

/* ═══════════════════════════════════════
   BLOG-HOME (Tourvex exact style)
   ═══════════════════════════════════════ */
.blog-home .item {
  padding: 50px;
  border: 1px solid rgba(255,255,255,0.15);
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 20%;
  border-radius: 24px;
  overflow: hidden;
  transform: scale(1);
  height: 100%;
  box-sizing: border-box;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.blog-home .item.bg-img {
  background-repeat: no-repeat;
  background-size: auto 160%;
  background-position: center top;
  animation: bgScroll 12s ease-in-out infinite alternate;
}
@keyframes bgScroll {
  0%   { background-position: center top; }
  100% { background-position: center bottom; }
}
.blog-home .item::before {
  content: "";
  position: absolute; inset: 0;
  background: rgba(15, 36, 84, 0.55);
  z-index: 1;
  transition: opacity 0.4s ease;
}
.blog-home .item::after {
  content: "";
  position: absolute; inset: 0;
  background: #fff;
  z-index: 2;
  transition: opacity 0.4s ease;
}
.blog-home .item .content {
  position: relative;
  z-index: 5;
}
.blog-home .item h5 {
  font-size: 24px;
  font-weight: 700;
  color: var(--ink);
  transition: color 0.25s ease;
  margin-bottom: 10px;
}
.blog-home .item .info {
  margin-bottom: 15px;
}
.blog-home .item .info span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: color 0.25s ease;
}
.blog-home .item .info span i {
  padding-right: 6px;
  font-size: 11px;
  color: var(--blue);
  transition: color 0.25s ease;
}
.blog-home .item p {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.7;
  transition: color 0.25s ease;
  margin-bottom: 0;
}
.blog-home .item .arrow {
  margin-top: 24px;
}
.blog-home .item .arrow a {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  width: 45px; height: 45px;
  border-radius: 50%;
  background: var(--blue);
  border: 1px solid var(--blue);
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition: all 0.4s ease;
}
/* hover */
.blog-home .item:hover { transform: scale(1.02); }
.blog-home .item:hover.bg-img { background-position: center bottom; }
.blog-home .item:hover::after { opacity: 0; }
.blog-home .item:hover h5,
.blog-home .item:hover p,
.blog-home .item:hover span,
.blog-home .item:hover i { color: #fff; }
.blog-home .item:hover .arrow a {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.5);
  color: #fff;
}
/* active */
.blog-home .item.active { transform: scale(1.02); }
.blog-home .item.active.bg-img { background-position: center bottom; }
.blog-home .item.active::after { opacity: 0; }
.blog-home .item.active h5,
.blog-home .item.active p,
.blog-home .item.active span,
.blog-home .item.active i { color: #fff; }
.blog-home .item.active .arrow a {
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.4);
  color: #fff;
}
.blog-home-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: stretch;
}
.blog-home-row > div {
  display: flex;
  flex-direction: column;
  min-height: 420px;
}
@media (max-width: 992px) {
  .blog-home .item { padding: 30px; }
  .blog-home-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  .blog-home-row { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════
   OUR FEATURES SECTION
   ═══════════════════════════════════════ */
.features-section {
  position: relative;
  padding: 100px 0;
  background: var(--bg-alt);
  overflow: hidden;
}
.features-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.07;
  pointer-events: none;
  z-index: 0;
}
.features-section .container { position: relative; z-index: 1; }

/* Header */
.features-header {
  text-align: center;
  margin-bottom: 60px;
}
.features-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1.5px solid var(--blue);
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 20px;
  border-radius: 999px;
  margin-bottom: 24px;
}
.features-eyebrow svg { color: var(--blue); flex-shrink: 0; }
.features-title {
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 800;
  color: var(--ink);
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.2;
}
[data-theme="dark"] .features-title { color: #fff; }

/* Cards grid */
.features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: stretch;
}
.features-grid > div {
  display: flex;
  flex-direction: column;
}
.features-grid .feat-card {
  flex: 1;
}
.feat-card {
  position: relative;
  border-radius: 20px;
  padding: 36px 30px 32px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
  min-height: 360px;
  box-sizing: border-box;
}
/* bg-img variant — same technique as blog-home */
.feat-card.bg-img {
  background-repeat: no-repeat;
  background-size: auto 160%;
  background-position: center top;
  animation: bgScroll 12s ease-in-out infinite alternate;
  background-color: transparent;
  box-shadow: none;
}
/* dark tint underneath */
.feat-card.bg-img::before {
  content: "";
  position: absolute; inset: 0;
  background: rgba(15, 36, 84, 0.55);
  z-index: 1;
  transition: opacity 0.4s ease;
}
/* white cover (hides image by default) */
.feat-card.bg-img::after {
  content: "";
  position: absolute; inset: 0;
  background: #fff;
  z-index: 2;
  transition: opacity 0.4s ease;
}
/* content sits above overlays */
.feat-card .content {
  position: relative;
  z-index: 5;
}
/* hover — reveal image */
.feat-card.bg-img:hover { transform: scale(1.02); box-shadow: 0 12px 36px rgba(0,0,0,0.25); }
.feat-card.bg-img:hover::after { opacity: 0; }
.feat-card.bg-img:hover .feat-num,
.feat-card.bg-img:hover .feat-title,
.feat-card.bg-img:hover .feat-desc { color: #fff; }
.feat-card.bg-img:hover .feat-icon { background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.4); }
.feat-card.bg-img:hover .feat-divider { background: rgba(255,255,255,0.25); }
/* active — always show image */
.feat-card.bg-img.active { transform: scale(1.02); box-shadow: 0 12px 36px rgba(0,0,0,0.25); }
.feat-card.bg-img.active::after { opacity: 0; }
.feat-card.bg-img.active .feat-num,
.feat-card.bg-img.active .feat-title,
.feat-card.bg-img.active .feat-desc { color: #fff; }
.feat-card.bg-img.active .feat-icon { background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.4); }
.feat-card.bg-img.active .feat-divider { background: rgba(255,255,255,0.25); }

.feat-top {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.feat-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--blue);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  flex-shrink: 0;
  transition: background 0.4s ease, border 0.4s ease;
}
.feat-num {
  font-size: 13px;
  font-weight: 700;
  color: var(--blue);
  letter-spacing: 2px;
  transition: color 0.25s ease;
}
.feat-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
  line-height: 1.3;
  transition: color 0.25s ease;
}
.feat-divider {
  height: 1px;
  background: var(--border, #e5eaf2);
  margin-bottom: 18px;
  transition: background 0.4s ease;
}
.feat-desc {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
  transition: color 0.25s ease;
}

/* Responsive */
@media (max-width: 992px) {
  .features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  .features-grid { grid-template-columns: 1fr; }
  .features-section { padding: 70px 0; }
}

/* ═══════════════════════════════════════
   ABOUT US SPLIT SECTION
   ═══════════════════════════════════════ */
.aboutus-section {
  background: #fff;
  padding: 100px 0;
}
[data-theme="dark"] .aboutus-section { background: var(--bg); }

.aboutus-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

/* ── LEFT ── */
.aboutus-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid var(--blue);
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 20px;
  border-radius: 999px;
  margin-bottom: 22px;
}
.aboutus-eyebrow svg { flex-shrink: 0; }

.aboutus-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(26px, 2.8vw, 42px);
  font-weight: 800;
  color: var(--ink);
  line-height: 1.2;
  margin-bottom: 30px;
}
[data-theme="dark"] .aboutus-heading { color: #fff; }

/* pill image + paragraph row */
.aboutus-mid-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 30px;
}
.aboutus-pill-wrap {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  /*gap: 14px;*/
}
.aboutus-pill {
  width: 160px;
  height: 210px;
  /*border-radius: 999px;*/
    border-radius: 23px;
  overflow: hidden;
}
.aboutus-pill img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.aboutus-deco {
  width: 70px;
  opacity: 0.75;
}
.aboutus-text {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  margin: 0;
  padding-top: 6px;
}

/* feature highlight box */
.aboutus-feat-box {

  background: #f5f7ff;
  border-radius: 16px;
  /*padding: 24px 22px;*/
  margin-bottom: 26px;
    margin-top: -20px;
}
.head-flex {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 20px;
}
[data-theme="dark"] .aboutus-feat-box { background: rgba(30,154,214,0.1); }
.aboutus-feat-icon {
  width: 58px; height: 58px;
  border-radius: 50%;
  background: var(--blue);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.aboutus-feat-text h5 {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 8px;
}
[data-theme="dark"] .aboutus-feat-text h5 { color: #f0f4ff; }
.aboutus-feat-text p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}

/* checklist */
.aboutus-checklist {
  list-style: none;
  padding: 0; margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
    padding: 20px;
    border-top: 1px solid #ddd;
}
.aboutus-checklist li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  color: var(--ink);
  font-weight: 500;
}
[data-theme="dark"] .aboutus-checklist li { color: #c8d4f0; }
.aboutus-checklist li::before {
  content: "";
  width: 22px; height: 22px;
  border-radius: 50%;
  border: 2px solid var(--blue);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231e9ad6' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
  flex-shrink: 0;
}

/* CTA */
.aboutus-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--blue);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.3s ease;
}
.aboutus-cta:hover { background: var(--ink); transform: translateY(-2px); }
.aboutus-cta .cta-circle {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  font-size: 14px;
}

/* ── RIGHT ── */
.aboutus-right {
  position: relative;
}
.aboutus-big-img {
  border-radius: 24px;
  overflow: hidden;
  height: 580px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: end;
}
.aboutus-big-img::after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}
.aboutus-big-img:hover::after {
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}
.aboutus-big-img img {
    width: 86%;
    height: 100%;
  object-fit: cover;
  display: block;
    border-radius: 24px;
}
.aboutus-badge {
  position: absolute;
  top: 36px;
  left: 7px;
  width: 128px; height: 128px;
  border-radius: 50%;
  background: var(--blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 8px 28px rgba(30,154,214,0.4);
  z-index: 2;
    outline: 10px solid #fff;
}
.au-badge-num {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.au-badge-label {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  line-height: 1.4;
  margin-top: 4px;
}

/* responsive */
@media (max-width: 992px) {
  .aboutus-row {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .aboutus-badge { left: 20px; top: -36px; }
  .aboutus-big-img { height: 400px; }
}
@media (max-width: 576px) {
  .aboutus-mid-row { flex-direction: column; }
  .aboutus-pill { width: 100%; height: 200px; border-radius: 20px; }
  .aboutus-section { padding: 70px 0; }
}

/* ═══════════════════════════════════════
   VIDEO MODAL LIGHTBOX
   ═══════════════════════════════════════ */
.video-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.88);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.video-modal-overlay.active {
  opacity: 1;
  pointer-events: all;
}
.video-modal-inner {
  position: relative;
  width: 90%;
  max-width: 920px;
}
.video-modal-close {
  position: absolute;
  top: -46px;
  right: 0;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 26px;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.2s, transform 0.2s;
  line-height: 1;
}
.video-modal-close:hover { opacity: 1; transform: scale(1.15); }
.video-modal-frame {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
}
.video-modal-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ═══════════════════════════════════════
   MISSION + CORE VALUES
   ═══════════════════════════════════════ */
.mission-section {
  background: var(--bg-alt);
  padding: 100px 0;
}

.mission-header { margin-bottom: 30px; }

.mission-brand {
  color: var(--blue);
  font-size: 13px; font-weight: 700;
  letter-spacing: 4px; text-transform: uppercase;
  margin-bottom: 14px;
}

.mission-title {
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 800; color: var(--ink);
  line-height: 1.2; letter-spacing: -1px;
  max-width: 680px; margin: 0;
}

.mission-body { margin-bottom: 60px; }

.mission-text {
  font-size: 17px; line-height: 1.85;
  color: var(--muted); max-width: 700px;
  margin: 0;
}

.mission-values-heading {
  font-size: 22px; font-weight: 700;
  color: var(--ink); margin-bottom: 32px;
}

.mission-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

/* ── Plain value card ── */
.mval-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 32px 24px;
  position: relative;
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease;
}

.mval-card:hover {
  box-shadow: 0 12px 40px rgba(30,154,214,.12);
  transform: translateY(-6px);
}

/* ── Image card (bg-img variant) — removed, now using .blog-home .item ── */
.mval-card.bg-img-DISABLED {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  border: 1px solid rgba(255,255,255,0.1);
  transform: scale(1);
  cursor: pointer;
  animation: mvalBgScroll 12s ease-in-out infinite alternate;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
              background-position 2.2s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes mvalBgScroll {
  0%   { background-position: center top; }
  100% { background-position: center bottom; }
}

/* dark tint */
.mval-card.bg-img::before {
  content: "";
  position: absolute; inset: 0;
  background: rgba(15, 36, 84, 0.55);
  z-index: 1;
  transition: opacity 0.4s ease;
}

/* white overlay — hides image by default */
.mval-card.bg-img::after {
  content: "";
  position: absolute; inset: 0;
  background: #fff;
  z-index: 2;
  transition: opacity 0.4s ease;
}

/* content above both overlays */
.mval-card.bg-img .content {
  position: relative;
  z-index: 5;
}

.mval-card.bg-img .content .mval-num,
.mval-card.bg-img .content h4,
.mval-card.bg-img .content p {
  transition: color 0.25s ease;
}

/* hover */
.mval-card.bg-img:hover {
  transform: scale(1.02);
  background-position: center bottom;
  box-shadow: 0 16px 48px rgba(13,32,64,.3);
}

.mval-card.bg-img:hover::after           { opacity: 0; }
.mval-card.bg-img:hover .content h4,
.mval-card.bg-img:hover .content p       { color: #fff; }
.mval-card.bg-img:hover .content .mval-num { color: #fff; opacity: 0.6; }

/* active — image always visible */
.mval-card.bg-img.active {
  transform: scale(1.02);
  background-position: center bottom;
}

.mval-card.bg-img.active::after            { opacity: 0; }
.mval-card.bg-img.active .content h4,
.mval-card.bg-img.active .content p        { color: #fff; }
.mval-card.bg-img.active .content .mval-num { color: #fff; opacity: 0.6; }

/* ── Shared text styles ── */
.mval-num {
  font-family: 'Poppins', sans-serif;
  font-size: 44px; font-weight: 700;
  color: var(--blue); opacity: 0.3;
  line-height: 1; margin-bottom: 14px;
}

.mval-card h4 {
  font-size: 17px; font-weight: 700;
  color: var(--ink); margin-bottom: 8px;
}

.mval-card p {
  font-size: 14px; color: var(--muted);
  line-height: 1.6; margin: 0;
}

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

/* ═══════════════════════════════════════
   SECTIONS
   ═══════════════════════════════════════ */
section { padding: 90px 0; }
.eyebrow-dark {
  color: var(--blue); font-weight: 700; font-size: 13px;
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 10px;
}
.section-title { font-size: 36px; max-width: 680px; margin-bottom: 14px; }
.section-sub { color: var(--muted); max-width: 620px; margin-bottom: 48px; font-size: 16px; }
.center { text-align: center; margin-left: auto; margin-right: auto; }

/* alternate light-blue background sections */
.bg-alt { background: var(--bg-alt); }

/* ═══════════════════════════════════════
   VALUES GRID
   ═══════════════════════════════════════ */
.values-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.value-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: 14px; padding: 28px 22px; text-align: center;
  transition: box-shadow .2s;
}
.value-card:hover { box-shadow: 0 8px 28px rgba(21,101,192,.1); }
.value-card .ico {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--blue-light); margin: 0 auto 16px;
  display: flex; align-items: center; justify-content: center;
  color: var(--blue); font-weight: 700; font-size: 20px;
}
.value-card h3 { font-size: 18px; margin-bottom: 8px; color: var(--blue-dark); }
.value-card p { color: var(--muted); font-size: 14px; }

/* ═══════════════════════════════════════
   PROGRAMS (home dark-section → blue section)
   ═══════════════════════════════════════ */
.dark-section {  color: #f0f7ff;  position: relative; }
.light-section{background-color: #f6f6f6; position: relative;}
.dark-section .section-sub { color: #a0b8d8; }
.dark-section .eyebrow-dark { color: var(--gold); }
.dark-section .section-title { color: #f0f7ff; }

/* ── CWJ slider replaces old program-grid ── */
.cwj-section {
  padding: 90px 0 110px;
  background: #fff;
}
[data-theme="dark"] .cwj-section { background: var(--bg); }

.cwj-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}
.cwj-title {
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 800;
  color: var(--ink);
  margin-top: 12px;
  line-height: 1.2;
    font-family: 'Cormorant Garamond', serif;
}
[data-theme="dark"] .cwj-title { color: #fff; }
.cwj-see-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--blue);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.3s;
  flex-shrink: 0;
}
.cwj-see-more:hover { background: var(--ink); }

/* slider outer */
.cwj-slider { padding-bottom: 60px; }
.cwj-slider .slick-list { overflow: hidden !important; padding-bottom: 40px !important; }
.cwj-slide { padding: 0 10px 20px; }

/* card wrapper — overflow visible so body can pop out */
.cwj-card {
  position: relative;
  overflow: visible;
  padding-bottom: 10px;
}

/* image — full rounded corners on all 4 sides */
.cwj-img-wrap {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  height: 270px;
}
.cwj-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.cwj-card:hover .cwj-img-wrap img { transform: scale(1.05); }

/* badge on image */
.cwj-badge {
  position: absolute;
  top: 16px; left: 16px;
  background: rgba(255,255,255,0.95);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 16px;
  border-radius: 999px;
  z-index: 2;
  letter-spacing: 0.3px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* body — overlaps the image from below */
.cwj-body {
  position: relative;
  z-index: 2;
  background: #fff;
  border: 1px solid var(--border, #e8eef8);
  border-radius: 16px;
  padding: 22px 24px 26px;
  margin-top: -52px;      /* overlap amount */
  margin-left: 14px;
  margin-right: 14px;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.4s ease;
}
[data-theme="dark"] .cwj-body {
  background: #162035;
  border-color: rgba(255,255,255,0.08);
}
/* center card — body lifts up during slider animation */
.cwj-slider .slick-slide.is-center .cwj-body {
  transform: translateY(-18px);
  box-shadow: 0 16px 40px rgba(30,154,214,0.16);
}
/* hover on non-center cards */
.cwj-card:hover .cwj-body {
  transform: translateY(-10px);
  box-shadow: 0 12px 32px rgba(30,154,214,0.12);
}

/* meta */
.cwj-meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.cwj-meta span { display: flex; align-items: center; gap: 6px; }
.cwj-meta i { color: var(--blue); font-size: 12px; }

/* card title */
.cwj-card-title {
  font-size: 17px;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.45;
  margin-bottom: 20px;
}
[data-theme="dark"] .cwj-card-title { color: #f0f4ff; }

/* read more button */
.cwj-read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid var(--border-strong, #bcc9e0);
  color: var(--blue);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 22px;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.cwj-read-more:hover {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}

/* slick dots */
.cwj-slider .slick-dots { bottom: 0; }
.cwj-slider .slick-dots li button:before {
  font-size: 10px;
  color: var(--blue);
  opacity: 0.3;
}
.cwj-slider .slick-dots li.slick-active button:before { opacity: 1; }
.cwj-slider .slick-prev,
.cwj-slider .slick-next { display: none !important; }

@media (max-width: 900px) {
  .cwj-section { padding: 60px 0 90px; }
}
@media (max-width: 576px) {
  .cwj-header { flex-direction: column; align-items: flex-start; }
}
.program-card p { font-size: 14px; color: rgba(255,255,255,.8); margin-bottom: 14px; }
.program-card a { font-size: 13.5px; font-weight: 700; color: var(--gold); }

/* ── You Might Also Like (program detail page) ── */
.also-like-section {
  padding: 60px 0 90px;
  background: #fff;
}
[data-theme="dark"] .also-like-section { background: var(--bg); }
.also-like-title {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 40px;
}
[data-theme="dark"] .also-like-title { color: #fff; }
.also-like-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.also-card { display: block; }

/* image wrapper */
.also-card-img {
  position: relative;
  padding-bottom: 22px; /* room for the arrow that hangs below */
}
.also-like-grid .shape {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    width: 110px;
    z-index: 0;
}
.also-like-grid .shape img {
    border-radius: 50px;
}
.also-card-img .also-img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 50px;
  display: block;
  transition: transform 0.5s ease;
}
.also-card:hover .also-card-img img { transform: scale(1.03); }

/* arrow centered at bottom edge of image */
.also-card-arrow {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 44px; height: 44px;
  line-height: 44px;
  background: var(--blue);
  border-radius: 50%;
  color: #fff;
  text-align: center;
  font-size: 18px;
  z-index: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.3s;
  box-shadow: 0 4px 16px rgba(30,154,214,0.30);
}
.also-card-arrow i {
  transform: rotate(-45deg);
  transition: transform 0.3s ease;
}
.also-card-arrow:hover { background: var(--ink); }
.also-card-arrow:hover i { transform: rotate(0deg); }

/* text below */
.also-card-body {
  margin-top: 16px;
  text-align: center;
}
.also-card-name {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 6px;
  line-height: 1.3;
}
.also-card-name a {
  color: var(--ink);
  text-decoration: none;
  transition: color 0.3s;
}
.also-card-name a:hover { color: var(--blue); }
[data-theme="dark"] .also-card-name a { color: #f0f4ff; }
.also-card-tag {
  font-size: 13px;
  color: var(--muted, #6b7a99);
}
@media (max-width: 768px) {
  .also-like-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 480px) {
  .also-like-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════
   SERVICES  (Tourigo blog style)
   ═══════════════════════════════════════ */
.bsvc-section { padding: 90px 0; background: #fff; }
[data-theme="dark"] .bsvc-section { background: var(--bg); }

.bsvc-header { margin-bottom: 50px; }
.bsvc-title {
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 800;
  color: var(--ink);
  margin-top: 14px;
  line-height: 1.2;
    font-family: 'Cormorant Garamond', serif;
}
[data-theme="dark"] .bsvc-title { color: #fff; }

/* ── Main 2-col grid ── */
.bsvc-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  align-items: stretch;
}

/* ── Shared badge ── */
.bsvc-badge {
  position: absolute;
  top: 16px; left: 16px;
  background: rgba(255,255,255,0.92);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
  z-index: 2;
  letter-spacing: 0.5px;
}

/* ── Shared meta row ── */
.bsvc-meta {
  display: flex;
  gap: 18px;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.bsvc-meta span { display: flex; align-items: center; gap: 6px; }
.bsvc-meta i { color: var(--blue); font-size: 12px; }

/* ── Card title ── */
.bsvc-card-title {
  font-size: 18px;
  font-weight: 400;
  color: var(--ink);
  line-height: 1.4;
  margin-bottom: 18px;
}
[data-theme="dark"] .bsvc-card-title { color: #f0f4ff; }

/* ── Arrow button ── */
.bsvc-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--border, #dde3ef);
  color: var(--ink);
  font-size: 14px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s, border-color 0.3s, transform 0.3s;
}
.bsvc-arrow:hover {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
  transform: translateX(4px);
}

/* ── FEATURED card (left) ── */
.bsvc-featured {
  border-radius: 16px;
  overflow: hidden;
  background: #f5f7fb;
  border: 1px solid var(--border, #e8eef8);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s;
}
[data-theme="dark"] .bsvc-featured { background: #162035; border-color: rgba(255,255,255,0.07); }
.bsvc-featured:hover { box-shadow: 0 12px 40px rgba(30,154,214,0.13); }
.bsvc-img-wrap {
  position: relative;
  flex-shrink: 0;
}
.bsvc-img-wrap img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.bsvc-featured:hover .bsvc-img-wrap img { transform: scale(1.04); }
.bsvc-body {
  padding: 28px 30px 30px;
}

/* ── STACK (right column) ── */
.bsvc-stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.bsvc-side {
  display: flex;
  border-radius: 16px;
  overflow: hidden;
  background: #f5f7fb;
  border: 1px solid var(--border, #e8eef8);
  flex: 1;
  transition: box-shadow 0.3s;
}
[data-theme="dark"] .bsvc-side { background: #162035; border-color: rgba(255,255,255,0.07); }
.bsvc-side:hover { box-shadow: 0 12px 40px rgba(30,154,214,0.13); }
.bsvc-side-img {
  position: relative;
  flex-shrink: 0;
  width: 44%;
  overflow: hidden;
}
.bsvc-side-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.bsvc-side:hover .bsvc-side-img img { transform: scale(1.05); }
.bsvc-side-body {
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bsvc-side-body .bsvc-card-title { font-size: 16px; }

/* responsive */
@media (max-width: 900px) {
  .bsvc-grid { grid-template-columns: 1fr; }
  .bsvc-side { flex-direction: column; }
  .bsvc-side-img { width: 100%; height: 200px; }
  .bsvc-img-wrap img { height: 240px; }
}
@media (max-width: 576px) {
  .bsvc-section { padding: 60px 0; }
}

/* ═══════════════════════════════════════
   BENEFIT / INFO GRIDS  (detail pages)
   ═══════════════════════════════════════ */
.benefit-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.benefit-card {
  background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 26px;
}
.benefit-card h3 { font-size: 18px; margin-bottom: 10px; color: var(--blue-dark); }
.benefit-card p { color: var(--muted); font-size: 14.5px; }

.info-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.info-card { background: var(--blue-dark); color: #f0f7ff; border-radius: 14px; padding: 22px; }
.info-card h4 { font-size: 15px; color: var(--gold); margin-bottom: 8px; }
.info-card p { font-size: 14px; color: #a0c0e0; }

/* Two-col */
.two-col { display: flex; gap: 50px; flex-wrap: wrap; align-items: center; }
.two-col > div { flex: 1; min-width: 300px; }
.two-col img { border-radius: 16px; }

/* Springs / steps */
.cards-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.spring-card { background: #fff; border: 1px solid var(--border); border-radius: 14px; overflow: hidden; }
.spring-card img { height: 180px; width: 100%; object-fit: cover; }
.spring-card .body { padding: 20px; }
.spring-card h4 { font-size: 17px; margin-bottom: 8px; color: var(--blue-dark); }
.spring-card p { font-size: 14px; color: var(--muted); }

/* ── Place cards (Siwa Oasis image cards with overlay) ── */
.place-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.place-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  height: 250px;
  cursor: default;
}
.place-card img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}
.place-card:hover img { transform: scale(1.06); }
.place-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,22,48,0.88) 0%, rgba(8,22,48,0.3) 55%, transparent 100%);
  transition: opacity 0.4s;
}
.place-card:hover .place-card-overlay { opacity: 0.9; }
.place-card-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 20px 22px;
}
.place-card-body h4 {
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.3;
}
.place-card-body p {
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 768px) { .place-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px) { .place-grid { grid-template-columns: 1fr; } }

/* benefit card with icon (siwa todo) */
.benefit-card--icon { padding-top: 22px; }
.benefit-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(30,154,214,0.10);
  color: var(--blue);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  margin-bottom: 16px;
}

/* ── Elagi highlight section ── */
.elagi-highlight-section {
  padding: 80px 0;
  background: linear-gradient(135deg, #eef6fd 0%, #f4f8fc 100%);
}
[data-theme="dark"] .elagi-highlight-section { background: #111c2e; }
.elagi-highlight-text {
  text-align: center;
  color: var(--muted);
  font-size: 16px;
  max-width: 680px;
  margin: 0 auto 48px;
  line-height: 1.8;
}
.elagi-feat-row {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 28px;
}
.elagi-feat-box {
  background: #fff;
  border-radius: 18px;
  padding: 32px 26px;
  text-align: center;
  border: 1px solid #e0eaf6;
  box-shadow: 0 2px 18px rgba(30,154,214,0.06);
  transition: box-shadow 0.3s, transform 0.3s;
}
.elagi-feat-box:hover {
  box-shadow: 0 10px 34px rgba(30,154,214,0.13);
  transform: translateY(-5px);
}
[data-theme="dark"] .elagi-feat-box { background: #162035; border-color: rgba(255,255,255,0.07); }
.elagi-feat-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
  margin: 0 auto 20px;
}
.elagi-feat-box h4 {
  font-size: 17px; font-weight: 700;
  color: var(--ink);
  margin: 0 0 10px;
}
[data-theme="dark"] .elagi-feat-box h4 { color: #f0f4ff; }
.elagi-feat-box p { font-size: 14px; color: var(--muted); line-height: 1.65; margin: 0; }
@media (max-width: 768px) { .elagi-feat-row { grid-template-columns: 1fr; gap: 18px; } }

/* ── Procedure cards (elagi) ── */
.proc-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}
.proc-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  transition: box-shadow 0.3s, transform 0.3s;
}
.proc-card:hover {
  box-shadow: 0 10px 32px rgba(30,154,214,0.12);
  transform: translateY(-4px);
}
[data-theme="dark"] .proc-card { background: #162035; border-color: rgba(255,255,255,0.07); }
.proc-card-img { overflow: hidden; height: 200px; }
.proc-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.proc-card:hover .proc-card-img img { transform: scale(1.05); }
.proc-card-body { padding: 22px 20px; }
.proc-card-icon {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(30,154,214,0.10);
  color: var(--blue);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
  margin-bottom: 12px;
}
.proc-card-body h3 {
  font-size: 16px; font-weight: 700;
  color: var(--ink);
  margin: 0 0 8px;
}
[data-theme="dark"] .proc-card-body h3 { color: #f0f4ff; }
.proc-card-body p { font-size: 13.5px; color: var(--muted); line-height: 1.65; margin: 0; }
@media (max-width: 900px) { .proc-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .proc-grid { grid-template-columns: 1fr; } }

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

.step-card {
  background: #fff;
  border-radius: 18px;
  padding: 28px 24px 26px;
  border: 1px solid #e8edf8;
  box-shadow: 0 2px 16px rgba(30,154,214,0.06);
  transition: box-shadow 0.3s, transform 0.3s;
}
.step-card:hover {
  box-shadow: 0 10px 32px rgba(30,154,214,0.13);
  transform: translateY(-4px);
}
[data-theme="dark"] .step-card {
  background: #162035;
  border-color: rgba(255,255,255,0.07);
}

/* icon + number row */
.step-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.step-icon-wrap {
  width: 54px; height: 54px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.step-num {
  font-size: 22px;
  font-weight: 700;
  color: var(--blue);
  line-height: 1;
}

.step-card h4 {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 14px;
}
[data-theme="dark"] .step-card h4 { color: #f0f4ff; }

.step-divider {
  height: 1px;
  background: #e4edf8;
  margin-bottom: 16px;
}
[data-theme="dark"] .step-divider { background: rgba(255,255,255,0.08); }

.step-card p { font-size: 14.5px; color: var(--muted); line-height: 1.7; margin: 0; }

/* conditions section */
.conditions-section { padding: 70px 0 80px; background: var(--bg-alt, #f4f8fd); }
[data-theme="dark"] .conditions-section { background: #111c2e; }

.condition-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 36px;
}
.condition-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid #e4edf8;
  border-radius: 14px;
  padding: 16px 18px;
  font-size: 14.5px;
  color: var(--ink);
  font-weight: 500;
  transition: box-shadow 0.25s, transform 0.25s;
}
.condition-item:hover {
  box-shadow: 0 6px 22px rgba(30,154,214,0.10);
  transform: translateY(-3px);
}
[data-theme="dark"] .condition-item {
  background: #162035;
  border-color: rgba(255,255,255,0.07);
  color: #d0daf0;
}
.condition-icon {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(30,154,214,0.12);
  display: flex; align-items: center; justify-content: center;
  color: var(--blue);
  font-size: 13px;
}

.note-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fff;
  border: 1px solid #d0e8f8;
  border-left: 4px solid var(--blue);
  border-radius: 14px;
  padding: 20px 24px;
  margin-top: 28px;
  font-size: 14.5px;
  color: var(--ink);
  line-height: 1.7;
}
[data-theme="dark"] .note-box {
  background: #162035;
  border-color: rgba(30,154,214,0.3);
  color: #c8d4ec;
}

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

/* ═══════════════════════════════════════
   CTA SECTION
   ═══════════════════════════════════════ */
.cta-section {  color: #fff; text-align: center; padding: 100px 0; }
.cta-section p { color: rgba(255,255,255,.8); margin-bottom: 30px; }
.cta-section .btn-primary { background: #1e9ad6; color: #fff; }
.cta-section .btn-primary:hover { background: #b07820; }
.cta-section .eyebrow { color: var(--gold-light); }
.cta-section {
    background: rgb(from #f98225 r g b/0.05);
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.cta-btn {
    background: var(--blue); color: #fff;
    padding: 10px 22px; border-radius: 30px; font-size: 14px; font-weight: 700;
    white-space: nowrap; transition: background .2s;
}
.cta-btn:hover { background: var(--blue-dark); }
.cta-shape .shape-1 {
    right: 0;
    bottom: 0;
    width: 20%;
    opacity: 0.08;
}
.cta-shape .shape-2 {
    left: 0;
    bottom: 0;
    width: 25%;
    opacity: 0.2;
}

.cta-shape .shape-3 {
    left: 50%;
    top: 35%;
    width: 50%;
    opacity: 0.3;
    transform: translate(-50%, -50%);
}
.cta-shape img {
    position: absolute;
    z-index: -1;
}
/* ═══════════════════════════════════════
   GALLERY
   ═══════════════════════════════════════ */
.gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.gallery-grid img { height: 260px; width: 100%; object-fit: cover; border-radius: 12px; }

/* ═══════════════════════════════════════
   REVIEWS
   ═══════════════════════════════════════ */
.reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; margin-top: 50px; }
.review-card {
  background: #fff; border: 1px solid var(--border);
    border-radius: 23px;
    padding: 28px 26px;
    transition: box-shadow .2s;
    text-align: left;
}
.review-card:hover { box-shadow: 0 8px 28px rgba(21,101,192,.1); }
.review-stars { color: #f5a623; font-size: 18px; margin-bottom: 14px; letter-spacing: 2px; }
.review-text { color: var(--muted); font-size: 14.5px; line-height: 1.8; margin-bottom: 20px; font-style: italic; }
.review-author { display: flex; align-items: center; gap: 14px; }
.review-author img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.review-author-name { font-weight: 700; font-size: 14.5px; color: var(--blue-dark); }
.review-author-loc { font-size: 13px;   color: #d09739; }
.reviews-grid  .icon {
    position: absolute;
    right: 1px;
    top: 1px;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background: #1e9ad6;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px 50px 50px 0;
    opacity: 1;
    z-index: -1;
}
.reviews-grid  .icon img {
    width: 40px !important;
    filter: brightness(0) invert(1);
}
/* ═══════════════════════════════════════
   PROGRAMS LISTING PAGE
   ═══════════════════════════════════════ */
.programs-listing-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 30px; margin-top: 50px; }
.program-listing-card {
  border-radius: 18px; overflow: hidden; border: 1px solid var(--border);
  background: #fff; display: flex; flex-direction: column;
  transition: box-shadow .25s, transform .25s;
}
.program-listing-card:hover { box-shadow: 0 12px 40px rgba(21,101,192,.14); transform: translateY(-3px); }
.program-listing-card .img-wrap { height: 240px; overflow: hidden; }
.program-listing-card .img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.program-listing-card:hover .img-wrap img { transform: scale(1.05); }
.program-listing-card .body { padding: 26px; flex: 1; display: flex; flex-direction: column; }
.program-listing-card .tag { color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px; }
.program-listing-card h3 { font-size: 22px; margin-bottom: 10px; color: var(--blue-dark); }
.program-listing-card p { color: var(--muted); font-size: 14.5px; margin-bottom: 18px; flex: 1; }
.program-listing-card .price-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.program-listing-card .price { font-size: 22px; font-weight: 700; font-family: 'Poppins', sans-serif; color: var(--blue-dark); }
.program-listing-card .price small { font-size: 13px; font-weight: 400; color: var(--muted); }
.program-listing-card .duration { font-size: 13px; color: var(--muted); }
.program-listing-card .btn-teal {
  display: inline-block; background: var(--blue); color: #fff;
  padding: 11px 26px; border-radius: 30px; font-size: 14px; font-weight: 700;
  width: 100%; text-align: center; transition: background .2s;
}
.program-listing-card .btn-teal:hover { background: var(--blue-dark); }

/* ═══════════════════════════════════════
   PROGRAM DETAIL
   ═══════════════════════════════════════ */
.inclusions-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-top: 20px; }
.inclusion-item { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--text); }
.inclusion-item .ico {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--blue-light); display: flex; align-items: center;
  justify-content: center; font-size: 15px; color: var(--blue); flex-shrink: 0;
}
.price-box { background: var(--blue-dark); border-radius: 16px; padding: 28px; color: #fff; text-align: center; }
.price-box .big-price { font-size: 42px; font-family: 'Poppins', sans-serif; font-weight: 700; color: var(--gold); }
.price-box .per { font-size: 14px; color: #a0c0e0; margin-bottom: 20px; }

/* ═══════════════════════════════════════
   BOOKING FORM
   ═══════════════════════════════════════ */
.booking-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 36px; }
.booking-field { margin-bottom: 22px; }
.booking-field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; color: var(--text); }
.booking-field input,
.booking-field select,
.booking-field textarea {
  width: 100%; border: 1.5px solid var(--border); border-radius: 10px;
  padding: 12px 16px; font-size: 14.5px; font-family: 'Poppins', sans-serif;
  outline: none; transition: border-color .2s; background: #fff; color: var(--text);
}
.booking-field input:focus,
.booking-field select:focus,
.booking-field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(21,101,192,.1); }
.persons-counter { display: flex; align-items: center; gap: 16px; }
.persons-counter button {
  width: 36px; height: 36px; border-radius: 50%;
  border: 1.5px solid var(--border); background: #fff; font-size: 18px;
  cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--blue);
}
.persons-counter input { width: 60px; text-align: center; }
.price-summary { background: var(--bg-alt); border: 1px solid var(--border); border-radius: 12px; padding: 20px; margin-bottom: 22px; }
.price-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 14.5px; }
.price-row.total { font-weight: 700; font-size: 17px; border-top: 1px solid var(--border); padding-top: 12px; margin-top: 6px; color: var(--blue-dark); }
.payment-options { display: flex; gap: 14px; margin-bottom: 22px; }
.payment-option { flex: 1; border: 1.5px solid var(--border); border-radius: 12px; padding: 16px; cursor: pointer; text-align: center; transition: .2s; font-size: 14px; }
.payment-option.active { border-color: var(--blue); background: var(--blue-light); }
.payment-option h4 { font-size: 15px; margin-bottom: 4px; color: var(--blue-dark); }
.payment-option p { font-size: 13px; color: var(--muted); }
.btn-book {
  width: 100%; background: var(--blue); color: #fff;
  padding: 16px; border: none; border-radius: 30px;
  font-size: 16px; font-weight: 700; cursor: pointer;
  font-family: 'Poppins', sans-serif; transition: background .2s;
}
.btn-book:hover { background: var(--blue-dark); }

/* ═══════════════════════════════════════
   CONTACT
   ═══════════════════════════════════════ */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.contact-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 32px; }
.contact-info-item { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 24px; }
.contact-info-item .ico {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--blue-light); display: flex; align-items: center;
  justify-content: center; font-size: 20px; flex-shrink: 0;
}
.contact-info-item h4 { font-size: 15px; font-weight: 700; margin-bottom: 4px; color: var(--blue-dark); }
.contact-info-item p { font-size: 14px; color: var(--muted); }
.map-wrap { border-radius: 16px; overflow: hidden; height: 300px; margin-top: 24px; }
.map-wrap iframe { width: 100%; height: 100%; border: 0; }

/* ═══════════════════════════════════════
   NEWSLETTER
   ═══════════════════════════════════════ */
.newsletter-section { background: var(--blue-dark); padding: 64px 0; text-align: center; }
.newsletter-section h3 { font-size: 28px; color: #fff; margin-bottom: 10px; }
.newsletter-section p { color: #a0c0e0; margin-bottom: 28px; }
.newsletter-form { display: flex; gap: 12px; max-width: 440px; margin: 0 auto; }
.newsletter-form input { flex: 1; padding: 13px 18px; border-radius: 30px; border: none; font-size: 14.5px; outline: none; }
.newsletter-form button {
  background: var(--gold); color: var(--ink); padding: 13px 28px;
  border-radius: 30px; border: none; font-weight: 700; font-size: 14px; cursor: pointer;
}

/* ═══════════════════════════════════════
   CONFIRMATION
   ═══════════════════════════════════════ */
.confirm-box { max-width: 560px; margin: 0 auto; text-align: center; padding: 60px 0; }
.confirm-icon {
  width: 80px; height: 80px; border-radius: 50%;
  background: var(--blue-light); margin: 0 auto 28px;
  display: flex; align-items: center; justify-content: center; font-size: 36px;
}
.confirm-box h2 { font-size: 32px; margin-bottom: 16px; color: var(--blue-dark); }
.confirm-box p { color: var(--muted); margin-bottom: 30px; }

/* ═══════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════ */
footer {
  background: var(--ink);
  color: #8aa4c8;
  padding: 60px 0 30px;
  font-size: 14px;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
footer::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(http://127.0.0.1:8000/img/17.png);
    background-position-x: 0%;
    background-position-y: 0%;
    background-repeat: repeat;
    background-size: auto;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0.02;
    z-index: -1;
}
footer .text-shape {
  position: absolute;
  left: 0; bottom: -14%;
  font-size: 21em; line-height: 1;
  color: #fff; font-weight: bold;
  text-align: center; width: 100%;
  opacity: 0.07; z-index: -1;
  pointer-events: none;
}

/* ── Logo + contact on same row ── */
.footer-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

/* ── Contact bar ── */
.footer-contact-bar {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  align-items: center;
}
.fci {
  display: flex;
  align-items: center;
  gap: 16px;
}
.fci-icon {
  width: 54px; height: 54px;
  border-radius: 50%;
  background: var(--blue);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}
.fci-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fci-label {
  font-size: 12px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}
.fci-value {
  font-size: 15px;
  color: #fff;
  font-weight: 500;
}
.footer-divider {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin-bottom: 48px;
}

/* ── Logo row ── */
.footer-top { display: flex; gap: 18px; align-items: center; }
.footer-top h3 { color: #f0f7ff; font-size: 20px; }

/* ── Grid ── */
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 30px;
  margin-bottom: 50px;
}
.footer-grid h4 {
  color: #f0f7ff;
  margin-bottom: 8px;
  font-size: 15px;
  font-family: 'Poppins', sans-serif;
  position: relative;
  padding-bottom: 14px;
}
.footer-grid h4::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 30px; height: 2px;
  background: var(--blue);
  border-radius: 2px;
}
.footer-grid ul { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.footer-grid ul li a { color: #8aa4c8; transition: color .2s; }
.footer-grid ul li a:hover { color: var(--gold); }

/* tagline */
.footer-tagline { color: #8b8878; max-width: 280px; line-height: 1.7; margin-bottom: 24px; }

/* ── Social icons ── */
.footer-follow-label {
  font-size: 13px;
  color: #f0f7ff;
  font-weight: 600;
  margin-bottom: 12px;
}
.footer-socials { display: flex; gap: 10px; }
.footer-soc {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  color: #8aa4c8;
  font-size: 15px;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.footer-soc:hover {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}

/* ── Newsletter inside footer ── */
.footer-nl-sub { color: #8aa4c8; font-size: 13.5px; line-height: 1.6; margin-bottom: 18px; margin-top: 6px; }
.footer-nl-wrap {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  overflow: hidden;
  padding: 6px 6px 6px 16px;
  gap: 8px;
}
.footer-nl-ico { color: #6a8aaa; font-size: 14px; flex-shrink: 0; }
.footer-nl-wrap input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #e0eaf8;
  font-size: 13.5px;
  font-family: inherit;
}
.footer-nl-wrap input::placeholder { color: #5a7a9a; }
.footer-nl-wrap button {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--blue);
  border: none;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s;
}
.footer-nl-wrap button:hover { background: var(--gold); }

/* ── Bottom bar ── */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 24px;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  color: #6a8aaa; font-size: 13px;
}
.footer-made { color: #b79039; font-size: 12px; }

/* responsive */
@media (max-width: 992px) {
  .footer-contact-bar { gap: 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 576px) {
  .footer-contact-bar { flex-direction: column; gap: 20px; }
  .footer-grid { grid-template-columns: 1fr; }
}

/* WhatsApp FAB */
.whatsapp-fab {
  position: fixed; bottom: 24px; left: 24px;
  background: #25D366; color: #fff;
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 26px;
  z-index: 90; box-shadow: 0 8px 24px rgba(37,211,102,.4);
  transition: transform .2s;
}
.whatsapp-fab:hover { transform: scale(1.08); }

/* ═══════════════════════════════════════
   SCROLL REVEAL ANIMATIONS
   ═══════════════════════════════════════ */
.reveal {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity 0.75s cubic-bezier(.22,.61,.36,1), transform 0.75s cubic-bezier(.22,.61,.36,1);
}
.reveal.revealed { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: .10s; }
.reveal-delay-2 { transition-delay: .20s; }
.reveal-delay-3 { transition-delay: .30s; }
.reveal-delay-4 { transition-delay: .40s; }
.reveal-left { opacity:0; transform:translateX(-40px); transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1); }
.reveal-left.revealed { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(40px); transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1); }
.reveal-right.revealed { opacity:1; transform:translateX(0); }

/* ── Image gallery slider (program-detail pages) ── */
/* horizontal, no vertical mode */

/* ═══════════════════════════════════════
   STATS / COUNTER SECTION
   ═══════════════════════════════════════ */
.stats-section { background: var(--blue); padding: 70px 0; }
.stats-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 0;
}
.stat-item {
  text-align: center; padding: 30px 20px;
  border-right: 1px solid rgba(255,255,255,.18);
}
.stat-item:last-child { border-right: none; }
.stat-num {
  font-family: 'Poppins', sans-serif; font-size: 58px;
  font-weight: 700; color: #fff; line-height: 1; margin-bottom: 10px;
}
.stat-label {
  color: rgba(255,255,255,.75); font-size: 13px;
  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
}
@media(max-width:700px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); }
  .stat-item:nth-child(2n) { border-bottom: none; }
}

/* ═══════════════════════════════════════
   HORIZONTAL DRAG-SCROLL PROGRAMS STRIP
   ═══════════════════════════════════════ */
.hscroll-section { padding: 90px 0 80px; overflow: hidden; }
.hscroll-header {
  max-width: 1180px; margin: 0 auto 48px; padding: 0 24px;
  /*display: flex;*/
  /*flex-direction: column;*/
  /*align-items: center;*/
  /*text-align: center;*/
  /*gap: 10px;*/
}
.hscroll-header-brand {
  font-size: clamp(42px, 6vw, 80px);
  color: var(--blue);
  line-height: 1;
  margin-bottom: 64px;
}
.hscroll-header .eyebrow-dark { margin-bottom: 0; }
.hscroll-header .section-title { margin-bottom: 0; }
.hscroll-header .see-all {
  font-size: 14px; font-weight: 700; color: var(--blue);
  white-space: nowrap;
  margin-top: 6px;
}
.hscroll-track {
  display: flex; gap: 22px;
  padding: 8px 24px 28px; overflow-x: auto;
  scroll-snap-type: x mandatory; cursor: grab;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
  /* allow first card to feel aligned to page max-width */
  padding-left: calc(50vw - 570px);
}
@media(max-width:1220px) { .hscroll-track { padding-left: 24px; } }
.hscroll-track::-webkit-scrollbar { display: none; }
.hscroll-track.dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.hscroll-card {
  flex: 0 0 300px; border-radius: 20px; overflow: hidden;
  position: relative; min-height: 400px;color: #fff;
  transition: transform .3s ease, box-shadow .3s ease;
}
.hscroll-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px rgba(0,0,0,.3); }
/*.hscroll-card::before {*/
/*  content:''; position:absolute; inset:0;*/
/*  background: linear-gradient(180deg, rgba(13,32,64,.1) 30%, rgba(13,32,64,.92));*/
/*  border-radius: 20px;*/
/*}*/
.hscroll-card .body { position:relative; z-index:2; padding: 24px; width:100%;  background-color: #fff; }
.hscroll-card .htag {
  color: var(--gold); font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px;
}
.hscroll-card h3 { font-size: 21px; margin-bottom: 10px; line-height: 1.3;  color: #757f95; }
.hscroll-card .price-badge {
  display: inline-block; background: var(--blue); color: #fff;
  padding: 5px 14px; border-radius: 20px;
  font-size: 13px; font-weight: 700; margin-bottom: 14px;
}
.hscroll-card .hlink {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700;  color: rgb(201, 148, 47);
  transition: color .2s;
}
.hscroll-card .hlink:hover { color: var(--gold); }
.tour-img {
    position: relative;
}
.hscroll-card:hover {
    transform: unset;
}
.hscroll-card {
    box-shadow: none;
}
.hscroll-card {
    background: #fff;
    padding: 8px;
    border-radius: 25px;
    box-shadow: 0 0 40px 5px rgba(0, 0, 0, 0.05);
    transition: all 0.5s ease-in-out;
    position: relative;
}
.hscroll-heading {
    display:flex;
    justify-content: space-between;
}
.tour-img .favorite {
    position: absolute;
    top: 5px;
    right: 5px;
    background: rgb(from #ffffff r g b/0.6);
    color: #2a4456;
    width: 35px;
    height: 35px;
    line-height: 37px;
    text-align: center;
    border-radius: 50px;
    box-shadow:  0 0 40px 5px rgba(0, 0, 0, 0.05);
    z-index: 2;
}
.ani-img::after {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}
.ani-img:hover::after {
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}
.ani-img {
    position: relative;
    overflow: hidden;
}
.ani-img img{
    height: 200px;
}
.tour-img img {
    border-radius: 18px 18px 0 0;
}
.tour-img .shape {
    left: -0.8px;
}
.tour-img .shape {
    position: absolute;
    left: -0.1px;
    bottom: -0.4px;
    width: 100%;
    border-radius: 0;
}
/* ═══════════════════════════════════════
   WAVE / ANGLED SECTION DIVIDERS
   ═══════════════════════════════════════ */
.section-wave-bottom {
  position: relative;
}
.section-wave-bottom::after {
  content: '';
  position: absolute; bottom: -1px; left: 0; right: 0;
  height: 60px;
  background: var(--bg);
  clip-path: ellipse(55% 100% at 50% 100%);
}
.dark-section.section-wave-bottom::after { background: var(--bg); }
.section-angled {
  clip-path: polygon(0 4%, 100% 0%, 100% 100%, 0% 100%);
  margin-top: -3%;
  padding-top: calc(90px + 3%);
}
.video-bg::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(http://127.0.0.1:8000/img/17.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0.04;
}
.video-bg {
    position: absolute;
    left: 0;
    top: 0;
    background: #2a4456;
    width: 100%;
    height: 540px;
}
.video-content::before {
    border-radius: 50em;
}
.video-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
}
.video-content {
    border-radius: 50em;
    border: 15px solid #fff;
    margin-top:40px;
}
.video-content {
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}
.video-wrap {
    height: 430px;
}
.video-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    border-radius: 5px;
    height: 470px;
    z-index: 1;
}
.play-btn {
    display: inline-block;
    padding: 0;
    height: 75px;
    width: 75px;
    text-align: center;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 75px;
    font-size: 20px;
    background:#1e9ad6;
    color: #fff;
}
.play-btn i::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #1e9ad6;
    border-radius: 50px;
    animation: ripple-wave 1s linear infinite;
    transform: scale(1);
    transition: all 0.5s ease-in-out;
}
@keyframes ripple-wave {
    0% {
        opacity: 0.8;
        transform: scale(1);
    }
    100% {
        opacity: 0;
        transform: scale(2.2);
    }
}
.video-header{
    z-index: 1;
    position: relative;
    text-align: center;
}
.video-header .about2-heading {
   color:#fff;
}
/* Image zoom on hover (for cards without overflow:hidden set) */
.img-zoom { overflow: hidden; border-radius: inherit; }
.img-zoom img { transition: transform .5s ease; }
.img-zoom:hover img { transform: scale(1.06); }

/* ═══════════════════════════════════════
   DARK MODE OVERRIDES
   ═══════════════════════════════════════ */
[data-theme="dark"] {
  --bg:       #0d1829;
  --bg-alt:   #111f36;
  --text:     #d0e4f8;
  --muted:    #7a96b8;
  --border:   #1e3a5a;
  --blue-light: #1a3a6a;
  --blue-pale:  #0f2040;
  --gold-light: #4a3010;
}
[data-theme="dark"] body { background: #0d1829; }
[data-theme="dark"] header { background: #0f1e38; border-color: #1e3a5a; }
[data-theme="dark"] .logo { color: #d0e4f8; }
[data-theme="dark"] .nav-menu > li > a { color: #d0e4f8; }
[data-theme="dark"] .nav-menu .dropdown { background: #0f1e38; border-color: #1e3a5a; }
[data-theme="dark"] .value-card,
[data-theme="dark"] .benefit-card,
[data-theme="dark"] .spring-card,
[data-theme="dark"] .service-card,
[data-theme="dark"] .review-card,
[data-theme="dark"] .booking-card,
[data-theme="dark"] .contact-card,
[data-theme="dark"] .program-listing-card { background: #111f36; border-color: #1e3a5a; }
[data-theme="dark"] .price-summary { background: #0f1e38; }
[data-theme="dark"] .booking-field input,
[data-theme="dark"] .booking-field select,
[data-theme="dark"] .booking-field textarea { background: #0f1e38; color: #d0e4f8; border-color: #1e3a5a; }

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */
@media(max-width:900px) {
  #nav-burger { display: flex; }
  .nav-menu {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; flex-direction: column; padding: 16px; gap: 0;
    box-shadow: 0 12px 30px rgba(21,101,192,.12); border-top: 1px solid var(--border);
  }
  [data-theme="dark"] .nav-menu { background: #0f1e38; }
  .nav-menu.open { display: flex; }
  .nav-menu > li > a { padding: 12px 16px; }
  .nav-menu .dropdown {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; padding: 0 0 0 16px; border: none;
  }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .service-grid { grid-template-columns: 1fr; }
  .program-grid { grid-template-columns: 1fr; }
  .programs-listing-grid { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .info-grid { grid-template-columns: 1fr 1fr; }
  .benefit-grid { grid-template-columns: 1fr 1fr; }
  .steps-4 { grid-template-columns: 1fr 1fr; }
  .cards-3 { grid-template-columns: 1fr; }
  .newsletter-form { flex-direction: column; }
  .hero-slide h1 { font-size: 36px; }
}
@media(max-width:600px) {
  .values-grid, .info-grid, .benefit-grid, .steps-4 { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .inclusions-grid { grid-template-columns: 1fr; }
  .payment-options { flex-direction: column; }
  .two-col { flex-direction: column; }
}
/* editing*/

.logo-img {
    display: flex;
}
.logo-img .ms-2 {
    margin-left: .5rem !important;
}
.logo-img .mt-1 {
    margin-top: .25rem !important;
