/* ================================================================ RESET & BASE ================================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#0077B6;--blue-lt:#90E0EF;--blue-dk:#005a8e;
  --white:#FFFFFF;--black:#111111;--grey:#6B7280;--bg-lt:#F0F7FF;
  --sh-sm:0 2px 12px rgba(0,119,182,.08);--sh-md:0 8px 32px rgba(0,119,182,.13);--sh-lg:0 20px 60px rgba(0,119,182,.18);
  --r:16px;--r-sm:10px;--tr:all .3s ease;
}
html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;font-size:16px;color:var(--black);background:#fff;line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:100%;object-fit:cover;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.2}
h2{font-size:clamp(1.6rem,4vw,2.5rem);font-weight:800;line-height:1.25}
h3{font-size:1.25rem;font-weight:700}
h4{font-size:1.1rem;font-weight:700}
p{color:var(--grey);line-height:1.8}
.text-blue{color:var(--blue)}
[data-lucide]{display:inline-block;vertical-align:middle;width:18px;height:18px;flex-shrink:0;stroke-width:2}

/* ================================================================ BUTTONS ================================================================ */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;padding:13px 28px;border-radius:50px;font-weight:700;font-size:.95rem;font-family:'Nunito',sans-serif;border:none;cursor:pointer;transition:var(--tr);box-shadow:0 4px 20px rgba(0,119,182,.3)}
.btn-primary:hover{background:var(--blue-dk);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,119,182,.4)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--blue);padding:13px 28px;border-radius:50px;font-weight:700;font-size:.95rem;font-family:'Nunito',sans-serif;border:2px solid var(--blue);cursor:pointer;transition:var(--tr)}
.btn-secondary:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--blue);padding:13px 28px;border-radius:50px;font-weight:700;font-size:.95rem;font-family:'Nunito',sans-serif;border:none;cursor:pointer;transition:var(--tr)}
.btn-white:hover{background:var(--blue-lt);transform:translateY(-2px)}
.btn-outline-white{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;padding:13px 28px;border-radius:50px;font-weight:700;font-size:.95rem;font-family:'Nunito',sans-serif;border:2px solid rgba(255,255,255,.6);cursor:pointer;transition:var(--tr)}
.btn-outline-white:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}
.btn-full{width:100%;justify-content:center;border-radius:var(--r-sm)}

/* ================================================================ LAYOUT ================================================================ */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.section{padding:96px 0}
.bg-light{background:var(--bg-lt)}
.section-header{text-align:center;max-width:640px;margin:0 auto 64px}
.section-header p{font-size:1.05rem;margin-top:12px}
.section-tag{display:inline-block;background:rgba(0,119,182,.1);color:var(--blue);padding:6px 16px;border-radius:50px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}

/* ================================================================ NAVBAR ================================================================ */
.navbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,119,182,.08);box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nav-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.3rem;color:var(--black)}
.nav-logo-img{height:54px;width:54px;object-fit:contain;border-radius:8px}
.footer-logo-img{height:60px;width:60px}
.logo-accent{color:var(--blue)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links li a{padding:8px 14px;border-radius:8px;font-weight:600;font-size:.9rem;color:var(--black);transition:var(--tr)}
.nav-links li a:hover,.nav-links li a.active-nav{color:var(--blue);background:rgba(0,119,182,.07)}
.nav-cta{background:var(--blue)!important;color:#fff!important;border-radius:50px!important;padding:10px 22px!important;margin-left:8px}
.nav-cta:hover{background:var(--blue-dk)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:26px;height:2.5px;background:var(--black);border-radius:4px;transition:var(--tr)}

/* ================================================================ PAGE SYSTEM ================================================================ */
.page{display:none;animation:fadeIn .4s ease}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ================================================================ HOME HERO ================================================================ */
.hero{min-height:calc(100vh - 70px);position:relative;display:flex;align-items:center;background:url('https://images.unsplash.com/photo-1607990281966-b525cff197d9?w=1600&q=80') center/cover no-repeat;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,30,60,.88) 0%,rgba(0,80,130,.68) 55%,rgba(0,20,45,.82) 100%)}
.hero-content{max-width:1200px;margin:0 auto;padding:60px 24px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);color:#fff;padding:8px 18px;border-radius:50px;font-size:.85rem;font-weight:700;letter-spacing:.04em;margin-bottom:20px;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(4px)}
.badge-ic{width:16px;height:16px}
.hero-text h1{color:#fff;margin-bottom:20px;text-shadow:0 2px 16px rgba(0,0,0,.3)}
.hero-text p{color:rgba(255,255,255,.85);font-size:1.08rem;margin-bottom:32px;max-width:500px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
.hero-stats{display:flex;align-items:center;gap:24px}
.stat{text-align:center}
.stat strong{display:block;font-size:1.7rem;font-weight:800;color:var(--blue-lt)}
.stat span{font-size:.82rem;color:rgba(255,255,255,.72);font-weight:600}
.stat-divider{width:1px;height:40px;background:rgba(255,255,255,.25)}
.hero-image{position:relative}
.hero-img-wrapper{position:relative;border-radius:24px}
.hero-img-wrapper img{border-radius:24px;width:100%;height:480px;box-shadow:var(--sh-lg)}
.hero-card{position:absolute;background:#fff;padding:12px 18px;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.14);display:flex;align-items:center;gap:12px;font-size:.85rem}
.hero-card strong{display:block;font-weight:700;color:var(--black);font-size:.88rem}
.hero-card small{color:var(--grey)}
.hc-icon{width:22px;height:22px;color:var(--blue)}
.floating{bottom:32px;left:-28px;animation:float 3s ease-in-out infinite}
.floating-2{top:32px;right:-20px;animation:float 3s ease-in-out infinite 1.5s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* ================================================================ BOOKING ================================================================ */
.booking-section{background:#fff;padding:80px 0;border-bottom:1px solid rgba(0,119,182,.08)}
.booking-header{text-align:center;margin-bottom:40px}
.booking-header p{font-size:1.05rem;margin-top:10px}
.booking-box{background:#fff;border-radius:20px;box-shadow:0 8px 48px rgba(0,119,182,.14);border:1px solid rgba(0,119,182,.1);overflow:hidden;position:relative}
.b-tabs{display:flex;background:var(--bg-lt);border-bottom:1px solid rgba(0,119,182,.1);padding:8px 8px 0;gap:4px}
.b-tab{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px 10px 0 0;font-family:'Nunito',sans-serif;font-weight:700;font-size:.92rem;background:transparent;border:none;cursor:pointer;color:var(--grey);transition:var(--tr)}
.b-tab [data-lucide]{width:17px;height:17px}
.b-tab:hover{color:var(--blue);background:rgba(255,255,255,.7)}
.b-tab--active{background:#fff!important;color:var(--blue)!important;box-shadow:0 -2px 0 var(--blue) inset}
.b-pane{display:none;padding:32px 32px 28px}
.b-pane--active{display:block}
.trip-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.rpill{cursor:pointer}
.rpill input{display:none}
.rpill span{display:inline-block;padding:7px 18px;border-radius:50px;border:2px solid rgba(0,119,182,.2);font-size:.85rem;font-weight:600;color:var(--grey);transition:var(--tr)}
.rpill input:checked+span{background:var(--blue);color:#fff;border-color:var(--blue)}
.rpill:hover span{border-color:var(--blue);color:var(--blue)}
.b-grid-flights{display:grid;grid-template-columns:1fr 44px 1fr 1fr 1fr 1fr;gap:14px;align-items:end;margin-bottom:24px}
.b-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end;margin-bottom:24px}
.b-field{display:flex;flex-direction:column;gap:7px}
.b-field--full{grid-column:1/-1}
.b-field label{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--black)}
.b-field label [data-lucide]{width:14px;height:14px;color:var(--blue)}
.b-field input,.b-field select{padding:11px 14px;border:2px solid rgba(0,119,182,.15);border-radius:var(--r-sm);font-family:'Nunito',sans-serif;font-size:.92rem;color:var(--black);background:#fafcff;transition:var(--tr);outline:none;width:100%}
.b-field input:focus,.b-field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,119,182,.1)}
.swap-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(0,119,182,.08);border-radius:50%;cursor:pointer;transition:var(--tr);border:none;margin-top:auto;flex-shrink:0}
.swap-btn [data-lucide]{width:18px;height:18px;color:var(--blue)}
.swap-btn:hover{background:var(--blue)}
.swap-btn:hover [data-lucide]{color:#fff}
.b-action{display:flex;justify-content:flex-end}
.b-search-btn{padding:14px 36px;font-size:1rem;border-radius:var(--r-sm)}
.b-toast{display:none;position:absolute;bottom:24px;right:24px;background:#fff;border-radius:14px;box-shadow:0 8px 32px rgba(0,119,182,.18);border:1px solid rgba(0,119,182,.15);padding:16px 20px;max-width:360px;align-items:flex-start;gap:14px;animation:slideUp .3s ease;z-index:20}
.b-toast.show{display:flex}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.toast-check{width:28px;height:28px;color:#22c55e;flex-shrink:0;margin-top:2px}
.b-toast strong{display:block;font-size:.95rem;color:var(--black);margin-bottom:3px}
.b-toast p{font-size:.84rem;color:var(--grey);margin:0}
.toast-x{background:none;border:none;cursor:pointer;padding:4px;margin-left:auto;color:var(--grey)}
.toast-x [data-lucide]{width:16px;height:16px}

/* ================================================================ SERVICE CARDS ================================================================ */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-card{background:#fff;padding:36px 30px;border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid rgba(0,119,182,.08);transition:var(--tr)}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:rgba(0,119,182,.2)}
.service-icon{width:56px;height:56px;background:rgba(0,119,182,.08);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--blue)}
.service-icon [data-lucide]{width:26px;height:26px}
.service-card h3{margin-bottom:10px}
.service-card p{font-size:.93rem;margin-bottom:18px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:700;font-size:.9rem;transition:var(--tr)}
.link-arrow [data-lucide]{width:15px;height:15px;transition:var(--tr)}
.link-arrow:hover [data-lucide]{transform:translateX(4px)}

/* ================================================================ WHY US ================================================================ */
.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.why-image{position:relative}
.why-image img{border-radius:20px;width:100%;height:460px;box-shadow:var(--sh-md)}
.why-badge{position:absolute;bottom:-20px;right:-20px;background:var(--blue);color:#fff;padding:20px 24px;border-radius:16px;text-align:center;box-shadow:var(--sh-md)}
.why-badge strong{display:block;font-size:1.6rem;font-weight:800}
.why-badge span{font-size:.8rem;opacity:.85}
.why-content h2{margin-bottom:16px}
.why-content>p{margin-bottom:28px}
.why-list{margin-bottom:36px}
.why-list li{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06);font-weight:600;font-size:.95rem;color:var(--black)}
.check{width:28px;height:28px;background:rgba(0,119,182,.1);color:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.check [data-lucide]{width:14px;height:14px}

/* MVV */
.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mvv-card{background:#fff;padding:40px 32px;border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid rgba(0,119,182,.08);text-align:center;transition:var(--tr)}
.mvv-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.mvv-featured{background:var(--blue);border-color:transparent}
.mvv-featured h3,.mvv-featured p{color:#fff}
.mvv-icon{width:60px;height:60px;margin:0 auto 18px;background:rgba(0,119,182,.1);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--blue)}
.mvv-featured .mvv-icon{background:rgba(255,255,255,.2);color:#fff}
.mvv-icon [data-lucide]{width:28px;height:28px}
.mvv-card h3{margin-bottom:14px}
.values-list{text-align:left;margin-top:12px}
.values-list li{padding:7px 0 7px 14px;border-bottom:1px solid rgba(0,119,182,.12);font-size:.93rem;font-weight:600;color:var(--black);position:relative}
.values-list li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--blue);border-radius:50%}

/* ================================================================ TESTIMONIALS ================================================================ */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{background:#fff;border-radius:var(--r);padding:32px 28px 28px;box-shadow:var(--sh-sm);border:1px solid rgba(0,119,182,.08);transition:var(--tr);display:flex;flex-direction:column;gap:14px}
.testimonial-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.featured-testi{background:linear-gradient(145deg,#f0f8ff,#e6f4ff);border-color:rgba(0,119,182,.2)}
.testi-quote{font-size:4rem;color:var(--blue);line-height:.5;font-weight:900;opacity:.2;margin-bottom:-8px}
.testi-text{font-size:.93rem;color:#444;line-height:1.75;flex:1}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(0,119,182,.1);flex-wrap:wrap}
.testi-author img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--blue-lt)}
.testi-author>div:nth-child(2){flex:1}
.testi-author strong{display:block;font-size:.9rem;font-weight:800;color:var(--black)}
.testi-author span{display:block;font-size:.78rem;color:var(--grey)}
.testi-stars{color:#f5a623;font-size:.85rem;letter-spacing:1px;margin-left:auto;align-self:flex-start}

/* ================================================================ VIDEO TESTIMONIALS ================================================================ */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.video-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid rgba(0,119,182,.08);overflow:hidden;transition:var(--tr)}
.video-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.video-frame{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.video-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.video-info{padding:20px 22px 22px}
.video-info h4{margin-bottom:8px;color:var(--black);font-size:1rem}
.video-info p{font-size:.88rem;margin-bottom:10px}

/* ================================================================ PARTNERS ================================================================ */
.partners-section { padding: 80px 0; }

.partners-track-wrap {
  overflow: hidden;
  position: relative;
  border-top: 1px solid rgba(0,119,182,.1);
  border-bottom: 1px solid rgba(0,119,182,.1);
  padding: 16px 0;
}

/* Fade edges left and right */
.partners-track-wrap::before,
.partners-track-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.partners-track-wrap::before { left: 0;  background: linear-gradient(to right, #fff, transparent); }
.partners-track-wrap::after  { right: 0; background: linear-gradient(to left,  #fff, transparent); }
.bg-light .partners-track-wrap::before { background: linear-gradient(to right, var(--bg-lt), transparent); }
.bg-light .partners-track-wrap::after  { background: linear-gradient(to left,  var(--bg-lt), transparent); }

/*
  KEY FIX:
  - width: max-content  → track is exactly as wide as all cards combined
  - The track contains 2 identical sets of 10 logos = 20 total
  - translateX(-50%) moves exactly one full set width to the left
  - When it reaches -50% it jumps back to 0 seamlessly → perfect loop
  - Duration: 40s (adjust up/down to taste — higher = slower)
*/
.partners-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: partnersLoop 40s linear infinite;
  padding: 8px 0;
  will-change: transform; /* GPU acceleration */
}

.partners-track:hover {
  animation-play-state: paused;
}

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

/* Individual logo card */
.partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  padding: 12px 24px;
  border-radius: 12px;
  border: 1px solid rgba(0,119,182,.1);
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  min-width: 160px;
  height: 76px;
  flex-shrink: 0;
  transition: var(--tr);
  cursor: default;
}

.partner-logo:hover {
  border-color: var(--blue);
  transform: translateY(-2px);
  box-shadow: 0 4px 18px rgba(0,119,182,.15);
}

/* Logo image inside the card */
.partner-logo img {
  max-width: 130px;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(20%) brightness(1.0);
  opacity: 0.88;
  transition: var(--tr);
}

.partner-logo:hover img {
  filter: grayscale(0%) brightness(1.05);
  opacity: 1;
}

/* Fallback for text-based logos (icon + name) */
.partner-logo [data-lucide] { width: 20px; height: 20px; color: var(--blue); }
.partner-logo strong { font-size: .88rem; font-weight: 700; color: var(--black); }

/* ================================================================ CTA ================================================================ */
.cta-banner{background:linear-gradient(135deg,#0077B6 0%,#005a8e 100%);padding:80px 0}
.cta-content{text-align:center}
.cta-content h2{color:#fff;margin-bottom:14px}
.cta-content p{color:rgba(255,255,255,.82);font-size:1.05rem;margin-bottom:36px}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ================================================================ PAGE HERO PHOTO ================================================================ */
.page-hero-photo{position:relative;background-size:cover!important;background-position:center 35%!important;background-repeat:no-repeat!important;background-color:#003c64;min-height:540px;display:flex;align-items:center;padding:110px 0 90px}
.pho{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,30,60,.88) 0%,rgba(0,90,150,.68) 55%,rgba(0,15,40,.84) 100%)}
.phc{position:relative;z-index:2;max-width:800px}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:20px;cursor:pointer}
.breadcrumb a{color:rgba(255,255,255,.7);transition:var(--tr)}
.breadcrumb a:hover{color:#fff}
.breadcrumb [data-lucide]{width:14px;height:14px;color:rgba(255,255,255,.4)}
.tag-white{background:rgba(255,255,255,.15)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(4px)}
.hw{color:#fff!important;font-size:clamp(2.2rem,5vw,3.8rem);margin-bottom:18px;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.ha{color:var(--blue-lt)!important}
.hs{color:rgba(255,255,255,.85)!important;font-size:1.1rem;max-width:560px;margin-bottom:40px;text-shadow:0 1px 8px rgba(0,0,0,.2)}
.ph-stats{display:inline-flex;align-items:center;gap:28px;flex-wrap:wrap;padding:22px 28px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:16px}
.phs{text-align:center}
.phs strong{display:block;font-size:1.8rem;font-weight:800;color:#fff;line-height:1}
.phs span{font-size:.78rem;color:rgba(255,255,255,.72);font-weight:600;margin-top:4px;display:block}
.phs-div{width:1px;height:44px;background:rgba(255,255,255,.2)}

/* ================================================================ ABOUT ================================================================ */
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-image img{border-radius:20px;width:100%;height:500px;box-shadow:var(--sh-md)}
.about-content h2{margin:12px 0 20px}
.about-content p{margin-bottom:16px}

/* ================================================================ TEAM WITH SOCIALS ================================================================ */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-card{background:#fff;border-radius:var(--r);box-shadow:var(--sh-sm);overflow:hidden;transition:var(--tr);border:1px solid rgba(0,119,182,.08);display:flex;flex-direction:column}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.team-img{height:220px;overflow:hidden;flex-shrink:0}
.team-img img{width:100%;height:100%}
.team-body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.team-body h4{font-size:.97rem;color:var(--black);margin-bottom:4px}
.team-role{display:block;color:var(--blue);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.team-body p{font-size:.84rem;flex:1;margin-bottom:14px}
.team-socials{display:flex;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(0,119,182,.1);flex-wrap:wrap}
.ts-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:var(--tr);flex-shrink:0}
.ts-btn [data-lucide]{width:16px;height:16px}

/* LinkedIn */
.ts-btn:nth-child(1){background:rgba(10,102,194,.1);color:#0a66c2}
.ts-btn:nth-child(1):hover{background:#0a66c2;color:#fff}
/* Facebook */
.ts-btn:nth-child(2){background:rgba(24,119,242,.1);color:#1877f2}
.ts-btn:nth-child(2):hover{background:#1877f2;color:#fff}
/* Instagram */
.ts-btn:nth-child(3){background:rgba(225,48,108,.1);color:#e1306c}
.ts-btn:nth-child(3):hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
/* Profile */
.ts-profile{background:rgba(0,119,182,.1)!important;color:var(--blue)!important}
.ts-profile:hover{background:var(--blue)!important;color:#fff!important}

/* VALUES */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.value-item{text-align:center;padding:36px 24px;background:#fff;border-radius:var(--r);box-shadow:var(--sh-sm);transition:var(--tr);border:1px solid rgba(0,119,182,.08)}
.value-item:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.val-ic{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:rgba(0,119,182,.08);border-radius:14px;margin:0 auto 14px;color:var(--blue)}
.val-ic [data-lucide]{width:26px;height:26px}
.value-item h4{margin-bottom:8px}
.value-item p{font-size:.9rem}

/* ================================================================ SERVICES ================================================================ */
.services-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-full-card{background:#fff;padding:36px 30px;border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid rgba(0,119,182,.08);transition:var(--tr)}
.service-full-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:rgba(0,119,182,.2)}
.sf-icon{width:56px;height:56px;background:rgba(0,119,182,.08);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--blue)}
.sf-icon [data-lucide]{width:26px;height:26px}
.service-full-card h3{margin-bottom:12px}
.service-full-card p{font-size:.93rem}

/* PROCESS */
.process-steps{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.step{flex:1;min-width:200px;background:#fff;padding:32px 24px;border-radius:var(--r);box-shadow:var(--sh-sm);border:1px solid rgba(0,119,182,.08);text-align:center}
.step-num{display:inline-block;width:48px;height:48px;background:var(--blue);color:#fff;border-radius:50%;font-weight:800;font-size:1.1rem;line-height:48px;text-align:center;margin-bottom:16px}
.step h4{margin-bottom:10px}
.step p{font-size:.9rem}
.step-arrow{flex-shrink:0;margin-top:50px;color:var(--blue);opacity:.4}
.step-arrow [data-lucide]{width:24px;height:24px}

/* ================================================================ GALLERY ================================================================ */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gallery-item{border-radius:var(--r);overflow:hidden;cursor:zoom-in;box-shadow:var(--sh-sm);transition:var(--tr)}
.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.gallery-item img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s ease}
.gallery-item:hover img{transform:scale(1.05)}

/* ================================================================ LIGHTBOX ================================================================ */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}
.lightbox.open{opacity:1;pointer-events:all}
.lb-img{max-width:88vw;max-height:82vh;object-fit:contain;border-radius:10px;box-shadow:0 24px 64px rgba(0,0,0,.6);transition:transform .25s ease}
.lb-close{position:absolute;top:18px;right:22px;background:rgba(255,255,255,.12);border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-close:hover{background:rgba(255,255,255,.28)}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-prev{left:20px}
.lb-next{right:20px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.28)}

/* ================================================================ AFFILIATE / INSTITUTIONAL CARDS ================================================================ */
.affil-grid{display:flex;flex-direction:column;gap:40px}

.affil-card{
  background:#fff;border-radius:20px;box-shadow:var(--sh-md);
  border:1px solid rgba(0,119,182,.1);overflow:hidden;
  display:grid;grid-template-columns:80px 1fr;
  transition:var(--tr);
}
.affil-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}

.affil-icon-wrap{
  background:var(--blue);
  display:flex;align-items:flex-start;justify-content:center;
  padding:28px 0;min-width:80px;
}
.affil-icon-wrap [data-lucide]{width:32px;height:32px;color:#fff;margin-top:4px}

.affil-content{padding:28px 32px}
.affil-badge{display:inline-block;background:rgba(0,119,182,.08);color:var(--blue);padding:4px 14px;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}
.affil-content h3{font-size:1.2rem;color:var(--black);margin-bottom:10px}
.affil-desc{font-size:.93rem;margin-bottom:20px;color:var(--grey)}
.affil-works h5{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:800;color:var(--blue);margin-bottom:14px;text-transform:uppercase;letter-spacing:.05em}
.affil-works h5 [data-lucide]{width:16px;height:16px;color:#22c55e}
.affil-works ul{display:flex;flex-direction:column;gap:12px}
.affil-works ul li{display:flex;gap:14px;align-items:flex-start;padding:14px;background:var(--bg-lt);border-radius:10px;border:1px solid rgba(0,119,182,.08)}
.affil-works ul li>i{width:22px;height:22px;color:var(--blue);flex-shrink:0;margin-top:2px}
.affil-works ul li>div strong{display:block;font-size:.92rem;font-weight:700;color:var(--black);margin-bottom:3px}
.affil-works ul li>div span{font-size:.86rem;color:var(--grey);line-height:1.6}

/* ================================================================ AFFILIATE PROGRAMME SECTION ================================================================ */
.affiliate-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.affiliate-intro-text h2{margin-bottom:16px}
.affiliate-intro-text p{margin-bottom:16px}
.affiliate-intro-image img{border-radius:20px;width:100%;height:420px;box-shadow:var(--sh-md)}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.benefit-item{background:#fff;padding:32px 26px;border-radius:var(--r);box-shadow:var(--sh-sm);transition:var(--tr);border:1px solid rgba(0,119,182,.08)}
.benefit-item:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.ben-ic{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:rgba(0,119,182,.08);border-radius:14px;margin-bottom:14px;color:var(--blue)}
.ben-ic [data-lucide]{width:24px;height:24px}
.benefit-item h4{margin-bottom:8px}
.benefit-item p{font-size:.9rem}
.how-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.how-step{background:#fff;padding:36px 24px;border-radius:var(--r);box-shadow:var(--sh-sm);text-align:center;border:1px solid rgba(0,119,182,.08);transition:var(--tr)}
.how-step:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.how-num{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-lt));color:#fff;font-size:1.4rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.how-step h4{margin-bottom:10px}
.how-step p{font-size:.9rem}

/* ================================================================ CONTACT ================================================================ */
.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start}
.contact-info h3{margin-bottom:28px}
.info-item{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start}
.info-ic{width:38px;height:38px;background:rgba(0,119,182,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--blue);flex-shrink:0;margin-top:2px}
.info-ic [data-lucide]{width:18px;height:18px}
.info-item strong{display:block;color:var(--black);font-weight:700;font-size:.9rem}
.info-item p{font-size:.92rem;margin:2px 0 0}
.hours-card{background:var(--bg-lt);border-radius:var(--r);padding:24px;margin:28px 0;border:1px solid rgba(0,119,182,.12)}
.hours-card h4{margin-bottom:14px;font-size:1rem;display:flex;align-items:center;gap:8px}
.h-clk{width:18px;height:18px;color:var(--blue)}
.hours-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(0,119,182,.1);font-size:.88rem;color:var(--grey)}
.hours-list li:last-child{border-bottom:none}
.hours-list li strong{color:var(--black);font-weight:700}
.closed{color:#e53e3e!important}

/* SOCIAL BUTTONS — branded colours */
.social-row{display:flex;gap:10px;margin-top:4px}
.social-btn{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:var(--tr);flex-shrink:0}
.social-btn [data-lucide]{width:20px;height:20px}
.linkedin-btn{background:#0a66c2;color:#fff}
.linkedin-btn:hover{background:#004e99;transform:translateY(-3px);box-shadow:0 6px 20px rgba(10,102,194,.4)}
.twitter-btn{background:#000;color:#fff}
.twitter-btn:hover{background:#333;transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.facebook-btn{background:#1877f2;color:#fff}
.facebook-btn:hover{background:#0d6ee8;transform:translateY(-3px);box-shadow:0 6px 20px rgba(24,119,242,.4)}
.instagram-btn{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
.instagram-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(225,48,108,.4)}

.contact-form-wrap{background:#fff;padding:44px 40px;border-radius:20px;box-shadow:var(--sh-md);border:1px solid rgba(0,119,182,.08)}
.contact-form-wrap h3{margin-bottom:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:.88rem;font-weight:700;margin-bottom:7px;color:var(--black)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:2px solid rgba(0,119,182,.15);border-radius:var(--r-sm);font-family:'Nunito',sans-serif;font-size:.93rem;color:var(--black);background:#fafcff;transition:var(--tr);outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,119,182,.1)}
.form-group textarea{resize:vertical}
.form-success{display:none;text-align:center;padding:32px}
.form-success.visible{display:block;animation:fadeIn .4s ease}
.form-ok-ic{width:56px;height:56px;color:#22c55e;margin:0 auto 14px;display:block}
.form-success h4{margin-bottom:8px}
.map-section{padding-top:0}

/* ================================================================ FOOTER ================================================================ */
.footer{background:#0a1628;color:#fff;padding:72px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;margin-bottom:56px}
.footer-logo-link{display:inline-flex;align-items:center;gap:10px;color:#fff;margin-bottom:16px}
.footer-brand .logo-accent{color:var(--blue-lt)}
.footer-brand p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.7}

/* Footer social — branded */
.footer-social{display:flex;gap:10px;margin-top:20px}
.footer-social a{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:var(--tr);flex-shrink:0}
.footer-social [data-lucide]{width:18px;height:18px}
.fs-linkedin{background:#0a66c2;color:#fff}
.fs-linkedin:hover{background:#004e99;transform:translateY(-3px)}
.fs-twitter{background:#1a1a1a;color:#fff}
.fs-twitter:hover{background:#333;transform:translateY(-3px)}
.fs-facebook{background:#1877f2;color:#fff}
.fs-facebook:hover{background:#0d6ee8;transform:translateY(-3px)}
.fs-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}
.fs-instagram:hover{transform:translateY(-3px);box-shadow:0 4px 14px rgba(225,48,108,.5)}

.footer-links h5,.footer-contact h5{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);margin-bottom:18px}
.footer-links ul li{margin-bottom:10px}
.footer-links ul li a{color:rgba(255,255,255,.7);font-size:.9rem;font-weight:600;transition:var(--tr)}
.footer-links ul li a:hover{color:var(--blue-lt)}
.footer-contact p{color:rgba(255,255,255,.7);font-size:.9rem;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.ft-ic{width:15px;height:15px;color:var(--blue-lt);flex-shrink:0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{color:rgba(255,255,255,.45);font-size:.85rem}

/* ================================================================ SCROLL REVEAL ================================================================ */
.revealed{opacity:1!important;transform:translateY(0)!important}

/* ================================================================ RESPONSIVE ================================================================ */
@media(max-width:1100px){
  .b-grid-flights{grid-template-columns:1fr 44px 1fr 1fr;gap:12px}
  .b-grid-3{grid-template-columns:1fr 1fr}
  .affil-card{grid-template-columns:60px 1fr}
  .affil-icon-wrap{min-width:60px;padding:20px 0}
}
@media(max-width:1024px){
  .hero-content{grid-template-columns:1fr;gap:40px}
  .hero-image{display:none}
  .hero{min-height:auto;padding:80px 0}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .mvv-grid{grid-template-columns:1fr 1fr}
  .why-layout{grid-template-columns:1fr;gap:40px}
  .why-image{display:none}
  .about-layout{grid-template-columns:1fr;gap:40px}
  .about-image{display:none}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .services-full-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{flex-direction:column}
  .step-arrow{display:none}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .affiliate-intro{grid-template-columns:1fr;gap:40px}
  .affiliate-intro-image{display:none}
  .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .how-steps{grid-template-columns:repeat(2,1fr)}
  .contact-layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .video-grid{grid-template-columns:1fr 1fr}
  .testimonials-grid{grid-template-columns:1fr 1fr}
  .b-grid-flights{grid-template-columns:1fr 1fr}
  .swap-btn{display:none}
  .page-hero-photo{min-height:460px;text-align:center;padding:80px 0 60px}
  .phc{max-width:100%}
  .breadcrumb{justify-content:center}
  .ph-stats{justify-content:center}
  .hs{margin-left:auto;margin-right:auto}
  .affil-card{grid-template-columns:1fr}
  .affil-icon-wrap{display:none}
}
@media(max-width:768px){
  .section{padding:64px 0}
  .hamburger{display:flex}
  .nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:20px 24px 28px;box-shadow:0 12px 40px rgba(0,0,0,.12);gap:4px;border-bottom:1px solid rgba(0,119,182,.1)}
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links li a{display:block;padding:10px 14px}
  .nav-cta{text-align:center;margin:8px 0 0}
  .cards-grid{grid-template-columns:1fr}
  .mvv-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .services-full-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .benefits-grid{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .contact-form-wrap{padding:28px 20px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .footer-bottom{flex-direction:column;text-align:center}
  .video-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .b-grid-flights{grid-template-columns:1fr}
  .b-grid-3{grid-template-columns:1fr}
  .b-tab{font-size:.82rem;padding:10px 14px}
  .ph-stats{gap:14px;padding:16px 18px}
  .phs strong{font-size:1.4rem}
  .phs-div{display:none}
  .affil-content{padding:20px}
  .social-row{gap:8px}
}
@media(max-width:480px){
  .hero-text h1{font-size:1.9rem}
  .hero-actions{flex-direction:column}
  .hero-stats{flex-wrap:wrap}
  .team-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr}
  .cta-actions{flex-direction:column;align-items:center}
  .b-tabs{flex-wrap:wrap}
  .team-socials{gap:6px}
  .ts-btn{width:30px;height:30px}
}

/* ================================================================
   CALENDAR & WORLD CLOCKS
================================================================ */
.cal-tz-section { background: var(--bg-lt); padding: 96px 0; }

.cal-tz-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}

/* ── CALENDAR PANEL ── */
.cal-panel {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,119,182,.12);
  border: 1px solid rgba(0,119,182,.1);
  overflow: hidden;
}

.cal-top-bar {
  background: var(--blue);
  padding: 20px 24px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cal-country-row label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.8);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 6px;
}
.cal-lbl-ic { width: 14px; height: 14px; }
.cal-country-row select {
  width: 100%;
  padding: 9px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.3);
  background: rgba(255,255,255,.15);
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: .92rem;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  backdrop-filter: blur(4px);
}
.cal-country-row select option { background: #0077B6; color: #fff; }

.cal-nav-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cal-month-label {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.cal-nav-btn {
  background: rgba(255,255,255,.2);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  width: 34px; height: 34px;
  border-radius: 8px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s ease;
}
.cal-nav-btn:hover { background: rgba(255,255,255,.35); }
.cal-nav-btn [data-lucide] { width: 16px; height: 16px; }

/* Day-of-week headers */
.cal-grid-wrap { padding: 16px 20px 8px; }
.cal-dow-row {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 6px;
}
.cal-dow-row span {
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
  color: var(--grey);
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 4px 0;
}

/* Calendar day cells */
.cal-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px;
}
.cal-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--black);
  cursor: default;
  position: relative;
  transition: all .15s ease;
  min-height: 36px;
}
.cal-day:hover:not(.cal-day-empty):not(.cal-day-today) {
  background: rgba(0,119,182,.07);
}
.cal-day-empty { cursor: default; }
.cal-day-today {
  background: var(--blue) !important;
  color: #fff !important;
  font-weight: 900;
  box-shadow: 0 2px 10px rgba(0,119,182,.35);
}
.cal-day-holiday {
  background: linear-gradient(135deg, #fef3cd, #fde68a);
  color: #92400e !important;
  font-weight: 800;
}
.cal-day-holiday::after {
  content: '';
  position: absolute;
  bottom: 4px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 4px;
  background: #d97706;
  border-radius: 50%;
}
.cal-day-weekend { color: #ef4444; }
.cal-day-today.cal-day-holiday { background: var(--blue) !important; color: #fff !important; }
.cal-day-other-month { color: #ccc; }

/* Legend */
.cal-legend {
  display: flex;
  gap: 20px;
  padding: 10px 20px 14px;
  border-top: 1px solid rgba(0,119,182,.08);
  flex-wrap: wrap;
}
.cal-leg-item { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--grey); font-weight: 600; }
.cal-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.cal-dot-today    { background: var(--blue); }
.cal-dot-holiday  { background: #d97706; }
.cal-dot-weekend  { background: #ef4444; }

/* Holidays list */
.cal-holidays-list {
  padding: 16px 20px 20px;
  border-top: 1px solid rgba(0,119,182,.08);
  max-height: 260px;
  overflow-y: auto;
}
.cal-holidays-list h4 {
  font-size: .88rem;
  font-weight: 800;
  color: var(--black);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.cal-hlist { display: flex; flex-direction: column; gap: 8px; }
.cal-h-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 12px;
  background: #fffbeb;
  border-radius: 10px;
  border-left: 3px solid #d97706;
}
.cal-h-date {
  background: #d97706;
  color: #fff;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
  flex-shrink: 0;
  margin-top: 2px;
}
.cal-h-name { font-size: .86rem; font-weight: 700; color: var(--black); line-height: 1.3; }
.cal-h-note { font-size: .75rem; color: var(--grey); }
.cal-h-past { opacity: .5; }
.cal-h-today-badge {
  font-size: .68rem;
  background: var(--blue);
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 700;
  margin-left: 6px;
}
.cal-empty-msg {
  text-align: center;
  color: var(--grey);
  font-size: .88rem;
  padding: 16px 0;
}
.cal-holidays-list::-webkit-scrollbar { width: 4px; }
.cal-holidays-list::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 4px; }
.cal-holidays-list::-webkit-scrollbar-thumb { background: var(--blue-lt); border-radius: 4px; }

/* ─────────────────────────────────────────
   TIMEZONE PANEL — grouped by shared offset
───────────────────────────────────────── */
.tz-panel {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 40px rgba(0,119,182,.12);
  border: 1px solid rgba(0,119,182,.1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.tz-header {
  background: linear-gradient(135deg, #0077B6, #005a8e);
  padding: 20px 24px;
  flex-shrink: 0;
}
.tz-header h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 4px;
}
.tz-header [data-lucide] { width: 18px; height: 18px; }
.tz-header p { color: rgba(255,255,255,.7); font-size: .82rem; }

/* Groups container — scrollable */
.tz-groups {
  overflow-y: auto;
  flex: 1;
  max-height: 620px;
  padding: 0 0 8px;
}
.tz-groups::-webkit-scrollbar { width: 4px; }
.tz-groups::-webkit-scrollbar-track { background: #f1f5f9; }
.tz-groups::-webkit-scrollbar-thumb { background: var(--blue-lt); border-radius: 4px; }

/* Each timezone group */
.tz-group {
  border-bottom: 1px solid rgba(0,119,182,.08);
}
.tz-group:last-child { border-bottom: none; }

.tz-group-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px 8px;
  background: rgba(0,119,182,.04);
  border-bottom: 1px solid rgba(0,119,182,.06);
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(4px);
}
.tz-group-offset {
  display: inline-block;
  font-size: .7rem;
  font-weight: 800;
  background: var(--blue);
  color: #fff;
  padding: 3px 9px;
  border-radius: 20px;
  letter-spacing: .04em;
}
.tz-group-time-live {
  font-size: .82rem;
  font-weight: 700;
  color: var(--blue);
  font-variant-numeric: tabular-nums;
  margin-left: auto;
}
.tz-group-date-live {
  font-size: .72rem;
  color: var(--grey);
}

/* Cards inside a group */
.tz-group-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0;
}

.tz-card {
  padding: 12px 14px;
  border-right: 1px solid rgba(0,119,182,.07);
  border-bottom: 1px solid rgba(0,119,182,.07);
  transition: background .2s ease;
  cursor: default;
}
.tz-card:last-child { border-right: none; }
.tz-card:hover { background: rgba(0,119,182,.04); }

.tz-flag { font-size: 1.3rem; margin-bottom: 3px; display: block; }
.tz-city { font-size: .76rem; font-weight: 800; color: var(--black); text-transform: uppercase; letter-spacing: .04em; }
.tz-country { font-size: .68rem; color: var(--grey); margin-bottom: 5px; }
.tz-time {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--blue);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
  line-height: 1;
}
.tz-date { font-size: .68rem; color: var(--grey); margin-top: 2px; }
.tz-offset {
  display: inline-block;
  font-size: .62rem;
  background: rgba(0,119,182,.08);
  color: var(--blue);
  padding: 2px 5px;
  border-radius: 4px;
  font-weight: 700;
  margin-top: 3px;
}
.tz-daynight {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .67rem;
  color: var(--grey);
  margin-top: 2px;
}
.tz-sun { color: #f59e0b; }
.tz-moon { color: #6366f1; }

/* ─────────────────────────────────────────
   TOURIST SITES SECTION
───────────────────────────────────────── */
.tourist-section {
  margin-top: 72px;
}

.tourist-header {
  text-align: center;
  margin-bottom: 48px;
}
.tourist-header h2 { font-size: 2.2rem; margin: 10px 0 12px; }
.tourist-header p { color: var(--grey); max-width: 560px; margin: 0 auto; line-height: 1.6; }

.tourist-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.tourist-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,119,182,.1);
  border: 1px solid rgba(0,119,182,.08);
  transition: transform .3s ease, box-shadow .3s ease;
  display: flex;
  flex-direction: column;
}
.tourist-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,119,182,.18);
}

.tourist-img-wrap {
  position: relative;
  height: 200px;
  overflow: hidden;
  flex-shrink: 0;
}
.tourist-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
  display: block;
}
.tourist-card:hover .tourist-img-wrap img {
  transform: scale(1.06);
}

.tourist-country-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  backdrop-filter: blur(6px);
  letter-spacing: .03em;
}

.tourist-body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.tourist-body h3 {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--black);
  margin-bottom: 6px;
  line-height: 1.3;
}
.tourist-location {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .78rem;
  color: var(--blue);
  font-weight: 700;
  margin-bottom: 10px;
  letter-spacing: .01em;
}
.t-pin { width: 13px; height: 13px; flex-shrink: 0; }
.tourist-body p {
  font-size: .86rem;
  color: var(--grey);
  line-height: 1.65;
  flex: 1;
  margin: 0;
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .tourist-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .cal-tz-wrapper { grid-template-columns: 1fr; }
  .tz-group-cards { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}
@media (max-width: 768px) {
  .tourist-grid { grid-template-columns: repeat(2, 1fr); }
  .tourist-img-wrap { height: 170px; }
}
@media (max-width: 640px) {
  .tourist-grid { grid-template-columns: 1fr; }
  .cal-day { font-size: .75rem; min-height: 30px; }
  .tz-group-cards { grid-template-columns: 1fr 1fr; }
}

/* ================================================================ THEME TOGGLE BUTTON ================================================================ */
.theme-toggle{background:rgba(0,119,182,.08);border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--tr);color:var(--blue);flex-shrink:0}
.theme-toggle:hover{background:rgba(0,119,182,.18);transform:scale(1.08)}
.theme-toggle [data-lucide]{width:18px;height:18px}
@media(max-width:768px){.theme-toggle-li{padding:4px 14px}}

/* ================================================================ DARK MODE ================================================================ */
[data-theme="dark"]{
  --black:#e2e8f0;
  --grey:#94a3b8;
  --bg-lt:#1e293b;
  --sh-sm:0 2px 12px rgba(0,0,0,.35);
  --sh-md:0 8px 32px rgba(0,0,0,.45);
  --sh-lg:0 20px 60px rgba(0,0,0,.55);
}
[data-theme="dark"] body{background:#0f172a}
[data-theme="dark"] .navbar{background:rgba(15,23,42,.97);border-bottom-color:rgba(144,224,239,.1)}
[data-theme="dark"] .nav-links{background:#0f172a}
[data-theme="dark"] .theme-toggle{background:rgba(144,224,239,.1);color:var(--blue-lt)}
[data-theme="dark"] .theme-toggle:hover{background:rgba(144,224,239,.2)}
[data-theme="dark"] .booking-section{background:#0f172a;border-bottom-color:rgba(144,224,239,.08)}
[data-theme="dark"] .booking-box,[data-theme="dark"] .cal-panel,[data-theme="dark"] .tz-panel,
[data-theme="dark"] .service-card,[data-theme="dark"] .mvv-card,[data-theme="dark"] .testimonial-card,
[data-theme="dark"] .video-card,[data-theme="dark"] .team-card,[data-theme="dark"] .value-item,
[data-theme="dark"] .service-full-card,[data-theme="dark"] .step,[data-theme="dark"] .benefit-item,
[data-theme="dark"] .how-step,[data-theme="dark"] .tourist-card,[data-theme="dark"] .hero-card,
[data-theme="dark"] .affil-card,[data-theme="dark"] .contact-form-wrap,[data-theme="dark"] .gallery-item{background:#1e293b;border-color:rgba(144,224,239,.08)}
[data-theme="dark"] .b-tabs{background:#0f172a;border-bottom-color:rgba(144,224,239,.1)}
[data-theme="dark"] .b-tab--active{background:#1e293b!important}
[data-theme="dark"] .b-toast{background:#1e293b;border-color:rgba(144,224,239,.15)}
[data-theme="dark"] .b-field input,[data-theme="dark"] .b-field select{background:#0f172a;color:#e2e8f0;border-color:rgba(144,224,239,.2)}
[data-theme="dark"] .form-group input,[data-theme="dark"] .form-group select,[data-theme="dark"] .form-group textarea{background:#0f172a;color:#e2e8f0;border-color:rgba(144,224,239,.2)}
[data-theme="dark"] .partner-logo{background:#1e293b;border-color:rgba(144,224,239,.1)}
[data-theme="dark"] .partner-logo img{filter:grayscale(20%) brightness(1.3)}
[data-theme="dark"] .partners-track-wrap::before{background:linear-gradient(to right,#0f172a,transparent)}
[data-theme="dark"] .partners-track-wrap::after{background:linear-gradient(to left,#0f172a,transparent)}
[data-theme="dark"] .bg-light .partners-track-wrap::before{background:linear-gradient(to right,#1e293b,transparent)}
[data-theme="dark"] .bg-light .partners-track-wrap::after{background:linear-gradient(to left,#1e293b,transparent)}
[data-theme="dark"] .featured-testi{background:linear-gradient(145deg,#1a2d42,#1e3a52);border-color:rgba(144,224,239,.2)}
[data-theme="dark"] .hours-card{background:#1e293b;border-color:rgba(144,224,239,.12)}
[data-theme="dark"] .affil-works ul li{background:#0f172a;border-color:rgba(144,224,239,.08)}
[data-theme="dark"] .testi-text{color:#cbd5e1}
[data-theme="dark"] .why-list li{border-bottom-color:rgba(255,255,255,.07)}
[data-theme="dark"] .team-socials{border-top-color:rgba(144,224,239,.1)}
[data-theme="dark"] .testi-author{border-top-color:rgba(144,224,239,.1)}
[data-theme="dark"] .hours-list li{border-bottom-color:rgba(144,224,239,.1)}
[data-theme="dark"] .cal-day:hover:not(.cal-day-empty):not(.cal-day-today){background:rgba(144,224,239,.1)}
[data-theme="dark"] .cal-day-other-month{color:#334155}
[data-theme="dark"] .cal-legend,[data-theme="dark"] .cal-holidays-list{border-top-color:rgba(144,224,239,.08)}
[data-theme="dark"] .cal-h-item{background:#2c1c07;border-left-color:#d97706}
[data-theme="dark"] .cal-holidays-list::-webkit-scrollbar-track,[data-theme="dark"] .tz-groups::-webkit-scrollbar-track{background:#0f172a}
[data-theme="dark"] .tz-group{border-bottom-color:rgba(144,224,239,.08)}
[data-theme="dark"] .tz-group-header{background:rgba(144,224,239,.04);border-bottom-color:rgba(144,224,239,.06)}
[data-theme="dark"] .tz-card{border-right-color:rgba(144,224,239,.07);border-bottom-color:rgba(144,224,239,.07)}
[data-theme="dark"] .tz-card:hover{background:rgba(144,224,239,.04)}
[data-theme="dark"] .tz-offset{background:rgba(144,224,239,.08)}