:root {
  /* Your updated premium color theme with a beautiful light background */
  --bg-color: #E1EDF0;      /* Ultra-clean, premium light tone from your palette */
  --text-dark: #02375d;     /* Deep Abyss - Luxury dark text & dominant layout tone */
  --text-muted: #026E81;    /* Ocean Blue - Perfect for subtitles and medium accents */
  --white: #FFFFFF;         /* Crisp pure white for cards and high contrast buttons */
  --blob-green: #029bc6;    /* Deep Teal - Rich background layout shape */
  --blob-tan: #00A8B5;      /* Muted Cyan - Vibrant layout structure mask */
  --icon-color: #026E81;    /* Ocean Blue - Elegant icons and subtle borders */
}

/* ==========================================
   Base & Reset Styles
   ========================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
    background-color: var(--white);

  color: var(--text-dark);
  overflow-x: hidden;
}

/* Main Container */
.container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 4%;
  background-color: var(--bg-color);
  min-height: 100vh;
  display: flex;
    border-radius: 0px 0px 0px  200px; /* Modern upward curve to mirror the header/hero aesthetic */

  flex-direction: column;
  padding-top: 9rem; /* 👈 Adds space so the hero content isn't covered by the fixed navbar */
}

/* ==========================================
   Header & Navigation
   ========================================== */
header {

  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--white); /* සුදු පැහැති පසුබිම */
  padding: 1.2rem 2.5rem;          /* ඇතුළත ඉඩ (Padding) */
  border-radius: 100px;           /* සම්පූර්ණයෙන්ම වටකුරු කරන්න (Rounded) */
   
  /* --- Fixed Position Changes --- */
  position: fixed;                /* Locks it to the viewport */
  top: 1.5rem;                    /* Keeps a nice gap from the screen top */
  left: 4%;                       /* Matches container's left padding */
  right: 4%;                      /* Matches container's right padding */
  max-width: calc(1600px - 8%);   /* Prevents it from going wider than your container */
  margin: 0 auto;                 /* Centers it when the screen goes beyond 1400px */
  z-index: 100;                   /* Keeps it securely on top of hero images and blobs */
}

/* Updated Logo Container */
.logo {
  display: inline-flex;
  align-items: center;
}

/* Controls the size of your logo image */
.logo img {
  height: 45px;        /* Adjust this value to make your logo bigger or smaller */
  width: auto;         /* Keeps the aspect ratio perfectly intact */
  display: block;
}
 
nav {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.nav-links {
  display: flex;
  list-style: none;
  gap: 2rem;
}

.nav-links li a {
  text-decoration: none;
  color: var(--text-dark);
  font-weight: 600;
  font-size: 1.06rem;
  transition: opacity 0.3s ease;
}
/* ==========================================
   Premium Dropdown Menu Styles (Desktop)
   ========================================== */

/* Parent List Item */
.nav-links li.dropdown {
  position: relative;
}

/* Dropdown Container */
.nav-links .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0; 
  transform: translateY(15px); 
  background-color: var(--white);
  min-width: 260px;
  border-radius: 16px; 
  list-style: none;
  padding: 0.5rem 0;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1); 
  z-index: 1000;
}

/* මෙනුව ඇතුළේ background වෙනස් නොකර gap එක විතරක් fix කරන මැජික් කේතය */
.nav-links .dropdown-menu::before {
  content: '';
  position: absolute;
  top: -20px;      /* 👈 මෙනුවට උඩින් තියෙන හිස් ඉඩ (Gap) එක වහන්න උඩට දික් කරනවා */
  left: 0;
  width: 100%;
  height: 25px;    /* 👈 හිස් ඉඩේ ප්‍රමාණයට හරියන උසක් */
  background-color: transparent; /* 👈 ඇසට නොපෙනෙන transparent layer එකක් */
}

/* Hover කළ විට මෙනුව පෙන්වීම */
.nav-links li.dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(5px); 
}

/* Dropdown එක ඇතුළේ තියෙන ලින්ක්ස් */
.nav-links .dropdown-menu li {
  width: 100%;
}

.nav-links .dropdown-menu li a {
  display: block;
  padding: 1rem 1.5rem;
  color: var(--text-dark);
  font-size: 1.06rem;
  font-weight: 600;
  text-decoration: none;
  text-align: left;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* ලින්ක් එකෙන් ලින්ක් එක වෙන් කරන සියුම් රේඛාව */
.nav-links .dropdown-menu li:not(:last-child) a {
  border-bottom: 1px solid rgba(2, 110, 129, 0.08);
}

/* Dropdown ලින්ක් එකක් උඩට මවුස් එක ගෙනිච්චම වෙනස් වීම */
.nav-links .dropdown-menu li a:hover {
  background-color: rgba(2, 110, 129, 0.04);
  color: var(--text-muted);
  opacity: 1; 
}

/* Dropdown එක ඇතුළේ Active ලයින් එක වැටීම වැළැක්වීම */
.nav-links .dropdown-menu li.active a::after {
  display: none;
}
.nav-links li.active a {
  position: relative;
}

.nav-links li.active a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  background-color: var(--icon-color);
}

.nav-links li a:hover {
  opacity: 0.7;
}

/* Social Icons Section */
.nav-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.divider {
  width: 1px;
  height: 20px;
  background-color: rgba(2, 110, 129, 0.3); 
  margin-left: 1rem;
}

/* Container for the social icons */
.social-icons {
  display: flex;
  gap: 1rem;
  align-items: center; 
}

/* Style for your custom PNG images */
.social-img {
  width: 20px;         
  height: 20px;        
  object-fit: contain; 
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Hover effect for the link wrapper */
.social-icons a:hover .social-img {
   opacity: 0.8;          
}

/* ==========================================
   Hero Section
   ========================================== */
.hero {
  display: flex;
  flex: 1; 
  align-items: center;
  justify-content: space-between;
  position: relative;
  margin-top: 2rem;
}
.slider {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  opacity: 1;
}
/* Slider Dots Wrapper */
.slider-dots {
  position: absolute;
  bottom: 200px; /* පහලට වෙන්න ටිකක් ඉඩ තියන්න */
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px; /* Dot අතර පරතරය */
  z-index: 10;
}

/* Base Dot (Inactive) */
.dot {
  width: 10px;        /* සාමාන්‍ය dot එකේ පළල */
  height: 10px;       /* උස */
  background: rgba(255, 255, 255, 0.4);
  border-radius: 50%; /* මේක වටකුරුයි */
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); /* ස්මූත් වෙනසකට */
}

/* Active Dot (The elongated one) */
.dot.active {
  width: 30px;        /* දිග වැඩි කළා */
  background: var(--white);
  border-radius: 5px; /* මේක නිසා තමයි දිග හැඩේ එන්නේ */
  opacity: 1;
}

/* Left Content */
.hero-content {
  width: 50%;
  z-index: 10;
  padding-bottom: 5rem;
}

.mission-text {
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
  display: block;
}

.hero-content h1 {
  font-size: 5rem;
  line-height: 0.9;
  font-weight: 600;
  margin-bottom: 3.5rem;
  color: var(--text-dark);
  letter-spacing: -1px;

}

.hero-content h1 .font-light {
  font-weight: 300;
}
/* Subtitle for the immigration mission text */
.hero-subtitle {
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--text-muted);
  margin-bottom: 3.5rem;
  max-width: 880px;
  opacity: 0.9;
  margin-top: -20px;
}

/* Flex Group container for Dual CTA buttons */
.hero-cta-group {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: -20px;
}

/* Master setup button adjustments */
.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  padding: 1.2rem 2.5rem;
  border-radius: 50px;
  letter-spacing: 0.5px;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  white-space: nowrap;
}

/* Left main white contrast button */
.primary-cta {
  background-color: var(--white);
  color: var(--text-dark);
 }

.primary-cta:hover {
  background-color: var(--text-dark);
  color: var(--white);
  transform: translateY(-3px);
 }

/* Right text-link layout with elegant responsive border */
.secondary-cta {
  background-color: transparent;
  color: var(--text-dark);
  border: 2px solid rgba(2, 55, 93, 0.15);
}

.secondary-cta i {
  margin-left: 0.75rem;
  font-size: 0.9rem;
  transition: transform 0.3s ease;
}

.secondary-cta:hover {
  background-color: rgba(2, 55, 93, 0.04);
  border-color: var(--text-dark);
 }

.secondary-cta:hover i {
  transform: translateX(4px); /* Arrow shoots forward subtly on hover */
}
/* Right Image Section */
.hero-image-wrapper {
  width: 50%;
  height: 700px;
  position: absolute;
  right: -5%;
  top: -10%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

/* The green blob behind the image */
.bg-shape-green {
  position: absolute;
  top: -20px;
  right: 250px;
  width: 450px;
  height: 450px;
  background-color: var(--blob-green);
  border-radius: 50%;
  z-index: 1;
  animation: floatCircle 4s ease-in-out infinite; 
}

/* ==========================================
   Animation Keyframes
   ========================================== */
@keyframes floatCircle {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-25px); }
  100% { transform: translateY(0px); }
}

/* The main masked image container */
.image-mask {
  position: relative;
  z-index: 2;
  width: 650px;
  height: 750px;
  background-color: var(--blob-tan);
  border-radius: 350px 350px 0 350px;
  overflow: hidden;
}

.image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

/* ==========================================
   Mobile Controls (Hidden on Desktop)
   ========================================== */
.mobile-controls {
  display: none;
  align-items: center;
  gap: 1.2rem;
}

.menu-toggle {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  /* Dots ටික mobile වලදී පහලට ගන්න */
  .slider-dots {
    bottom: 100px !important; /* Mobile වලදී ගොඩක් පහලින් තියන්න */
  }

  /* Dot වල සයිස් එක mobile එකට ගැලපෙන විදියට පොඩි කරන්න (Optional) */
  .dot {
    width: 8px;
    height: 8px;
  }

  .dot.active {
    width: 25px; /* Active dot එකත් ටිකක් පොඩි කළා mobile එකට */
  }
}
/* ==========================================
   Responsive Mobile Mood Layout (768px and below)
   ========================================== */
@media (max-width: 1024px) {
  
  .container {
    padding-top: 7.5rem;
    padding-left: 5%;
    padding-right: 5%;
  }

  header {
    padding: 0.8rem 1.5rem;
    top: 1rem;
    left: 5%;
    right: 5%;
    max-width: calc(100% - 10%);
    border-radius: 40px; 
    z-index: 101; 
    transition: background-color 0.3s ease, border-radius 0.3s ease;
  }

  header.header-active {
    background-color: var(--white) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-radius: 40px 40px 0 0 !important;  
  }

  .logo img {
    height: 35px; 
    position: relative;
    z-index: 102; 
  }

  /* --- Mobile Dropdown Menu System --- */
  nav {
    display: flex; 
    flex-direction: column;
    position: fixed;
    top: -120%; 
    left: 5%;
    right: 5%;
    background-color: var(--white);
    padding: 2.5rem 2rem 2.5rem 2rem; 
    border-radius: 0 0 40px 40px; 
    z-index: 99; 
    gap: 2.5rem;
    transition: top 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    max-height: calc(100vh - 5rem); 
    overflow-y: auto;              
    scrollbar-width: none;          
  }
   
  nav.nav-open {
     top: calc(1rem + 54px); 
  }
  
  nav::-webkit-scrollbar {
    display: none;
  }
  
  .nav-links {
    flex-direction: column;
    align-items: center;
    gap: 1.8rem;
    width: 100%; /* Sub-menu එක හරියටම මැදට ගන්න width එක දුන්නා */
  }

  .nav-links li a {
    font-size: 1.2rem; 
  }

  .nav-right {
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
  }

  .divider {
    display: none; 
  }

  .social-icons {
    justify-content: center;
    width: 100%;
  }

  .mobile-controls {
    display: flex;
    z-index: 102; 
  }
 

  .image-mask {
    width: 280px;
    height: 340px;
    border-radius: 180px 180px 0 180px;
  }

  .bg-shape-green {
    width: 200px;
    height: 200px;
    right: 15%;
    top: -10px;
  }

  .mobile-search .social-img,
  .menu-toggle .social-img {
    width: 24px;   
    height: 24px;
  }

  .menu-toggle .social-img {
    width: 24px;   
    height: 24px;
    transition: transform 0.2s ease-in-out;
  }

  .header-active .menu-toggle .social-img {
    transform: rotate(90deg);
  }
  
  /* ==========================================
     Mobile Dropdown System Updates FIXED
     ========================================== */
  /* --- Mobile Dropdown System Updates FIXED --- */
  
  .nav-links {
    flex-direction: column;
    align-items: center;
    gap: 1.8rem;
    width: 100%; 
  }

  /* 🛠️ මෙන්න මේක අලුතින්ම එකතු කරන්න: */
  .nav-links li {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center; /* "About" කියන ප්‍රධාන වචනය හරියටම මැදට ගන්නවා */
  }

  .nav-links li.dropdown .dropdown-menu {
    position: static; 
    opacity: 0;
    visibility: hidden;
    display: none;
    max-height: 0;
    overflow: hidden;
    width: 100%; /* ලිස්ට් එකේ සම්පූර්ණ පළල ගන්නවා */
    max-width: 280px; /* 👈 Sub-menu box එක ඕනාවට වඩා පළල් වෙන එක නවත්තන්න (ගාණට ලස්සන සයිස් එකක්) */
    transition: all 0.3s ease-in-out;
    box-shadow: none;
    background-color: rgba(2, 110, 129, 0.03); 
    border-radius: 12px;
    margin-top: 0.5rem;
    left: auto;
    transform: none;
  }
  .nav-links li.dropdown.active .dropdown-menu {
    opacity: 1;
    visibility: visible;
    display: block;
    max-height: 500px; 
    padding: 0.5rem 0;
  }

  .nav-links .dropdown-menu li a {
    text-align: center; /* 🛠️ FIX: Links ඔක්කොම මැදට කලා (Center) */
    font-size: 1.1rem;
    padding: 0.8rem 1rem;
  }

  /* Disable Desktop Hover Effects on Mobile */
  .nav-links li.dropdown:hover .dropdown-menu {
    opacity: 0;
    visibility: hidden;
    display: none;
  }
  
  .nav-links li.dropdown.active:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    display: block;
  }
 
  .nav-links .dropdown-menu li:not(:last-child) a {
    border-bottom: none !important;
  }

  .nav-links li.active a::after {
    display: none !important;
  }
 
  .menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 59, 70, 0.2);  
    z-index: 98;  
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }

  body.menu-active {
    overflow: hidden;  
  }

  body.menu-active .menu-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px); 
  }
}


@media (max-width: 768px) {
  /* 1. Change layout to stack vertically */
  .hero {
    flex-direction: column-reverse;
    margin-top: 0rem;
    text-align: center; /* Centers all text content */
    padding-bottom: 3rem;
  }

  /* 2. Adjust Image Wrapper (Top) */
  .hero-image-wrapper {
    position: relative; /* Remove absolute positioning */
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
  }

  /* 3. Scale down the image mask for mobile */
  .image-mask {
    width: 280px;
    height: 340px;
    border-radius: 180px 180px 0 180px;
  }

  /* 4. Adjust the green blob position */
  .bg-shape-green {
    width: 300px;
    height: 300px;
    right: 0%;
    transform: translateX(50%); /* Centers the blob behind the image */
    top: -10px;
  }

  /* 5. Adjust Content (Bottom) */
  .hero-content {
    width: 100%;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center; /* Ensures items are centered */
  }

  .mission-text {
    font-size: 0.9rem;
    margin-bottom: 1rem;
  }

  .hero-content h1 {
    font-size: 2.8rem; /* Reduced for better mobile fit */
    margin-bottom: 1.5rem;
  }

  .hero-subtitle {
    font-size: 1rem;         margin-top: 1px;

    line-height: 1.5;
    margin-bottom: 2rem;
    padding: 0 1rem;
  }

  /* 6. Fix CTA Buttons for mobile */
  .hero-cta-group {
    flex-direction: column; /* Stack buttons vertically on very small screens */
    gap: 1rem;
    width: 100%;
    margin-top: 0;
  }
  
  .btn-cta {
    width: 100%;
    max-width: 300px; /* Keeps buttons from being too wide */
  }
}

@media (max-width: 768px) {

  .hero{
    display:flex;
    flex-direction:column;
    text-align:center;
    gap:0;
  }

  .hero-content,
  .hero-content-bottom{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
  }

  .hero-image-wrapper{
    margin:1.5rem 0;
  }

  .hero-subtitle{
    padding:0 1rem;
  }

  .hero-cta-group{
    display:flex;
    flex-direction:column;
    gap:1rem;
    width:100%;
    align-items:center;
  }

  .btn-cta{
    width:100%;
    max-width:300px;
  }
}











/* ==========================================
   Core Values / Introduction Section Styles
   ========================================== */
.core-values {
  background-color: var(--white); 
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  padding: 6rem 4%;     /* 👈 Increased vertical padding slightly for a premium layout feel */
  margin-top: 0rem;     /* 👈 Changed from 4rem to 0rem to seamlessly snap against the blue hero background curve */
  width: 100%;
}

/* --- Left Image Configuration --- */
.values-image-wrapper {
  width: 45%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

/* Unique organic round shape background mask */
.values-image-mask {
  position: relative;
  z-index: 2;
  width: 520px;
  height: 480px;
  background-color: var(--blob-tan);
  border-radius: 45% 55% 40% 60% / 50% 40% 60% 50%;
  overflow: hidden;
}

.values-image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Deep layout shape color behind the organic mask */
.values-bg-shape {
  position: absolute;
  top: -10px;
  left: -15px;
  width: 540px;
  height: 500px;
  background-color: var(--blob-green);
  border-radius: 43% 57% 45% 55% / 48% 45% 55% 52%;
  z-index: 1;
  opacity: 0.8;animation: floatAnimation 4s ease-in-out infinite;
  
}
@keyframes floatAnimation {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}
/* --- Right Text Content Configuration --- */
.values-content {
  width: 50%;
  display: flex;
  flex-direction: column;
}

.section-tag {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 1.5px;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.values-content h2 {
  font-size: 3.2rem;
  line-height: 1.15;
  font-weight: 300;
  color: var(--text-dark);
  margin-bottom: 2rem;
}

.values-content h2 .accent-text {
  font-weight: 600;
  color: var(--blob-green); 
}

.values-description {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--text-dark);
  margin-bottom: 1.5rem;
  opacity: 0.85;
}

/* --- Stats Counters Configuration --- */
.stats-container {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(2, 110, 129, 0.1); /* 👈 Used your precise variable color for transparency */
}

.stat-item {
  display: flex;
  flex-direction: column;
}

.stat-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.stat-icon {
  width: 32px;
  height: 32px;
  stroke: var(--icon-color);
}

.stat-number {
  font-size: 2.8rem;
  font-weight: 600;
  color: var(--blob-green);
}

.stat-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-top: 0.25rem;
}

/* Subtle vertical rule between metrics */
.stat-divider {
  width: 1px;
  height: 60px;
  background-color: rgba(2, 110, 129, 0.15); /* 👈 Used your precise variable color for consistency */
}
 
/* --- Tablet Responsiveness (1024px and below) --- */
@media (max-width: 1024px) {
  .core-values {
    gap: 2.5rem;
    padding: 5rem 4%;
  }

  .values-image-mask {
    width: 400px; /* Scaled down for tablet */
    height: 380px;
  }

  .values-bg-shape {
    width: 420px;
    height: 400px;
  }

  .values-content h2 {
    font-size: 2.6rem; /* Slightly smaller for better fit */
  }

  .stats-container {
    gap: 2rem;
  }
}

/* --- Mobile Responsiveness (768px and below) --- */
@media (max-width: 768px) {
  /* 1. Stack the layout vertically */
  .core-values {
    flex-direction: column;
    padding: 3rem 5%; 
    gap: 2.5rem;
    text-align: center;
  }

  /* 2. Image Wrapper Adjustment */
  .values-image-wrapper {
    width: 100%;
    justify-content: center;
    margin-bottom: 1rem;
  }

  .values-image-mask {
    width: 300px;
    height: 280px;
    border-radius: 40% 60% 35% 65% / 45% 35% 65% 55%;
  }

  .values-bg-shape {
    width: 310px;
    height: 290px;
    left: -5%;
    transform: translateX(-50%);
    top: -5px;
  }

  /* 3. Text Content Adjustment */
  .values-content {
    width: 100%;
    align-items: center;
  }

  .values-content h2 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
  }

  .values-description {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
  }
/* 4. Stats Container Optimization (Updated) */
  .stats-container {
    flex-direction: column; /* Stacks items vertically */
    gap: 1.5rem;
    justify-content: center;
    width: 100%;
    padding-top: 1.5rem;
  }

  .stat-divider {
    display: none; /* Hides the vertical line on mobile */
  }

  .stat-item {
    align-items: center; /* Centers the icon and text */
  }
  /* 4. Stats Container Optimization */
  .stats-container {
    gap: 1.5rem;
    justify-content: center;
    width: 100%;
    padding-top: 1.5rem;
  }

  .stat-number {
    font-size: 2rem;
  }

  .stat-icon {
    width: 24px;
    height: 24px;
  }

  .stat-label {
    font-size: 0.85rem;
  }

  .stat-divider {
    height: 40px;
  }
}


/* ==========================================
   Elite Strategy Section Layout Core
   ========================================== */
.strat-services-section {
  background-color: var(--bg-color); 
  padding: 8rem 4%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
}

/* Premium Section Centered Header */
.strat-services-main-header {
  text-align: center;
  max-width: 800px;
  margin-bottom: 4.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.strat-services-main-header .strat-header-tagline {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.75rem;
}

.strat-services-main-header h2 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--text-dark);
  letter-spacing: -0.5px;
  margin-bottom: 1.5rem;
}

.strat-services-main-header h2 .strat-accent-weight {
  font-weight: 700;
}

.strat-services-subtitle {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--text-muted);
  font-weight: 400;
  opacity: 0.9;
  margin-bottom: 1.5rem;
}

.strat-header-line {
  width: 60px;
  height: 3px;
  background-color: var(--blob-green);
  border-radius: 2px;
}

/* Premium Layout Grid Configuration */
.strat-premium-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); 
  gap: 2.5rem;
  width: 100%;
  max-width: 1300px;
  align-items: start;
}

/* Premium Vector & Minimalist Icon Card Architecture */
.strat-package-card {
  background-color: var(--white);
  border-radius: 24px; 
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 40px rgba(2, 110, 129, 0.02);
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease;
}

.strat-package-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(2, 110, 129, 0.08);
}

/* Premium Custom Translucent Icon Wrapper Box */
.strat-card-icon-badge {
  background-color: rgba(2, 110, 129, 0.06);
  width: 54px;
  height: 54px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--icon-color);
  border: 1px solid rgba(2, 110, 129, 0.1);
  margin-bottom: 1.5rem;
}

.strat-card-icon-badge svg {
  width: 26px;
  height: 26px;
  stroke: var(--icon-color);
}

/* Card Body Structural Setup Layout */
.strat-package-card-body {
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.strat-package-card-body h3 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 1rem;
}

.strat-package-desc {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--text-dark);
  opacity: 0.85;
  margin: 0 0 1.5rem 0;
}

/* Dynamic Curtain Accordion Box Base Layout */
.strat-meta-list-box {
  margin-bottom: 1.5rem;
}

.strat-meta-list-box h4 {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 1.5px;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

/* Premium Row-Styled Checklist Framework */
.strat-package-bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 0;
  margin: 0;
}

.strat-package-bullets li {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--text-dark);
  background-color: rgba(225, 237, 240, 0.3); 
  border-radius: 12px;
  padding: 0.9rem 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  line-height: 1.2;
  border: 1px solid rgba(2, 110, 129, 0.03);
}

.strat-package-bullets li i {
  color: var(--icon-color);
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* Destinations Tag Block Layout */
.strat-target-box {
  margin-top: auto;
  margin-bottom: 0;
}

.strat-pill-badge-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.strat-suitability-pill {
  background-color: rgba(2, 110, 129, 0.06);
  color: var(--text-dark);
  padding: 0.5rem 0.9rem;
  font-size: 0.82rem;
  font-weight: 700;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: all 0.2s ease;
}

.strat-package-card:hover .strat-suitability-pill {
  background-color: rgba(2, 110, 129, 0.12);
}

/* Base Hidden Expandable Curtain Component */
.strat-card-expandable-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.3s ease,
              transform 0.3s ease;
}

.strat-package-card.is-expanded .strat-card-expandable-content {
  max-height: 1000px; 
  opacity: 1;
  transform: translateY(0);
  margin-top: 1rem;
}

/* High-End Target Action Interaction Pill */
.strat-btn-toggle {
  background: linear-gradient(135deg, var(--text-dark) 40%, var(--blob-green) 100%);
  color: var(--white);
  border: none;
  font-size: 0.98rem;
  font-weight: 500;
  padding: 1.1rem 2rem;
  border-radius: 50px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  margin-top: 1.8rem;
  font-family: 'Montserrat', sans-serif;
  width: 100%; 
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.strat-btn-toggle:hover {
  background: linear-gradient(135deg, var(--text-dark) 20%, var(--blob-tan) 100%);
}

.strat-btn-icon {
  font-size: 0.9rem;
  transition: transform 0.3s ease;
}

.strat-package-card.is-expanded .strat-btn-icon {
  transform: translateX(3px); 
}

/* ==========================================
   Responsive Breakpoint Control Framework (Full Scale Locked)
   ========================================== */
@media (max-width: 1024px) {
  .strat-services-section {
    padding: 6rem 4%;
  }
  
  .strat-premium-packages-grid {
    grid-template-columns: repeat(2, 1fr); 
    gap: 2rem;
  }
  
  .strat-services-main-header h2 {
    font-size: 3.5rem; /* Strict Protection: Scale lock verified */
  }
}

@media (max-width: 768px) {
  .strat-services-section {
    padding: 4rem 5%;
  }

  .strat-services-main-header {
    margin-bottom: 2.5rem;
  }

   

  .strat-premium-packages-grid {
    grid-template-columns: 1fr; 
    gap: 1.5rem;
  }

  .strat-services-main-header h2 {
    font-size: 2.2rem; /* Strict Protection: Scale lock verified */
  }
  
  .strat-package-card-body {
    padding: 2.5rem 1.8rem;
  }

  .strat-package-card-body h3 {
    font-size: 1.6rem; /* Strict Protection: Scale lock verified */
  }

  .strat-package-desc {
    font-size: 1.05rem; /* Strict Protection: Scale lock verified */
  }

  .strat-package-bullets li {
    font-size: 0.92rem; /* Strict Protection: Scale lock verified */
  }
}



/* ==========================================
   Why Choose Lexaro Section Styles
   ========================================== */
.why-choose-section {
  background-color: var(--white);
  padding: 8rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.why-choose-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5rem;
  width: 100%;
  max-width: 1250px;
}

/* --- Left Side Visual Mask Architecture --- */
.why-image-side {
  width: 45%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.why-image-mask {
  position: relative;
  z-index: 2;
  width: 500px;
  height: 580px;
  background-color: var(--blob-tan);
  border-radius: 90px 25px 90px 90px; /* Modern asymmetric shape variant mirroring team layout */
  overflow: hidden;
}

.why-image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Ensure the animation is defined once in your CSS */
@keyframes floatAnimation {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}

.why-bg-shape {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 500px;
  height: 580px;
  background-color: var(--bg-color);
  border-radius: 90px 25px 90px 90px;
  z-index: 1;
  
  /* Applying the animation */
  animation: floatAnimation 4s ease-in-out infinite;
  
  /* Optional: Add a slight delay to make it feel more natural */
  animation-delay: 0.5s; 
}

/* --- Right Side Text Grid Architecture --- */
.why-text-side {
  width: 50%;
  display: flex;
  flex-direction: column;
}

.why-text-side h2 {
  font-size: 3.2rem;
  line-height: 1.15;
  font-weight: 300;
  color: var(--text-dark);
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  letter-spacing: -0.5px;
}

.why-text-side h2 .accent-weight {
  font-weight: 700;
  color: var(--blob-green);
}

.why-section-subtitle {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--text-muted);
  margin-bottom: 3rem;
}

/* --- Feature Items Stack Layout --- */
.features-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.feature-item {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

.feature-icon-wrapper {
  background-color: rgba(2, 110, 129, 0.05);
  color: var(--icon-color);
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0; /* Prevents the icon container box from shrinking down on multiple text rows */
  transition: background-color 0.3s ease, color 0.3s ease;
}

.feature-item:hover .feature-icon-wrapper {
  background-color: var(--text-dark);
  color: var(--white);
}

.feature-info h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.5rem;
}

.feature-info p {
  font-size: 1.02rem;
  line-height: 1.55;
  color: var(--text-dark);
  opacity: 0.8;
}
@media (max-width: 1024px) {
  /* 1. Reduce padding for tablet */
  .why-choose-section {
    padding: 6rem 4%;
  }

  /* 2. Tighten gap between image and text */
  .why-choose-container {
    gap: 3rem;
  }

  /* 3. Scale down mask architecture */
  .why-image-mask, 
  .why-bg-shape {
    width: 380px;
    height: 440px;
  }

  /* 4. Adjust text side */
  .why-text-side h2 {
    font-size: 2.6rem; /* Slightly smaller than desktop */
    line-height: 1.2;
  }

  .why-section-subtitle {
    margin-bottom: 2rem;
  }

  /* 5. Features Grid Optimization */
  .features-grid {
    gap: 1.5rem;
  }

  .feature-info h3 {
    font-size: 1.15rem;
  }
}
@media (max-width: 768px) {
  /* 1. Reset container for mobile stacking */
  .why-choose-section {
    padding: 4rem 5%;
  }

  .why-choose-container {
    flex-direction: column;
    gap: 3rem;
    text-align: center;
  }

  /* 2. Visual Mask Adjustments */
  .why-image-side {
    width: 100%;
    justify-content: center;
    margin-bottom: 1rem;
  }

  .why-image-mask {
    width: 280px; /* Slimmer for mobile width */
    height: 350px;
    border-radius: 60px 20px 60px 60px; /* Slightly softer curves */
  }

  .why-bg-shape {
    width: 280px;
    height: 350px;
    left: 10px; /* Tightened offset */
    top: 10px;
    border-radius: 60px 20px 60px 60px;
  }

  /* 3. Text & Content Alignment */
  .why-text-side {
    width: 100%;
    align-items: center;
  }

  .why-text-side h2 {
    font-size: 2.2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }

  .why-section-subtitle {
    margin-bottom: 2rem;
    padding: 0 0.5rem;
  }

  /* 4. Feature Grid Optimization */
  .features-grid {
    gap: 1.8rem;
    text-align: left; /* Keep feature text left-aligned for better reading flow */
  }

  .feature-item {
    flex-direction: column; /* Stack icon on top of text */
    align-items: center;
    text-align: center;
    gap: 1rem;
  }

  .feature-icon-wrapper {
    width: 45px;
    height: 45px;
    font-size: 1.1rem;
  }

  .feature-info h3 {
    font-size: 1.2rem;
    margin-bottom: 0.25rem;
  }

  .feature-info p {
    font-size: 0.95rem;
  }
}



/* ==========================================
   Featured Service (Dual Citizenship) Styles
   ========================================== */
.featured-service-section {
  background-color: var(--bg-color); /* Premium light gray-blue background for contrast step */
  padding: 8rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.featured-service-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5rem;
  width: 100%;
  max-width: 1250px;
}

/* --- Left Text Layout Matrix --- */
.featured-text-block {
  width: 55%;
  display: flex;
  flex-direction: column;
}

.featured-text-block h2 {
  font-size: 3.8rem;
  line-height: 1.15;
  font-weight: 300;
  color: var(--text-dark);
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: -1px;
}

.featured-text-block h2 .accent-weight {
  font-weight: 700;
  color: var(--text-dark);
}

.featured-subtitle {
  font-size: 1.12rem;
  line-height: 1.7;
  color: var(--text-muted);
  margin-bottom: 2.5rem;
  opacity: 0.95;
}

/* --- Modern Interactive Feature List Items --- */
.support-areas-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 3rem;
}

.support-tag-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--text-dark);
  transition: transform 0.2s ease;
}

.support-tag-item i {
  color: var(--blob-green); /* Elegant brand checkmark indicator */
  font-size: 1.2rem;
  flex-shrink: 0;
}

.support-tag-item:hover {
  transform: translateX(4px);
}

/* --- Premium Text CTA Anchor Link --- */
.featured-cta-row {
  display: flex;
  justify-content: flex-start;
}

.text-cta {
  background-color: var(--white);
  color: var(--text-dark);
  border: 1px solid rgba(2, 55, 93, 0.1);
  box-shadow: 0 10px 30px rgba(2, 55, 93, 0.03);
}

.text-cta i {
  margin-left: 0.8rem;
  font-size: 0.85rem;
  transition: transform 0.3s ease;
}

.text-cta:hover {
  background-color: var(--text-dark);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(2, 55, 93, 0.12);
}

.text-cta:hover i {
  transform: translateX(4px);
}

/* --- Right Side Visual Blob Mask --- */
.featured-visual-block {
  width: 40%;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.featured-image-mask {
  position: relative;
  z-index: 2;
  width: 440px;
  height: 520px;
  background-color: var(--blob-tan);
  border-radius: 200px 30px 200px 200px; /* Signature organic mask matching global layout theme */
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(2, 55, 93, 0.05);
}

.featured-image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.featured-bg-blob {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 250px;
  height: 250px;
  background-color: var(--blob-green);
  border-radius: 50%;
  z-index: 1;
  opacity: 0.6;
  
  /* Applying the animation */
  /* Using 5s duration instead of 4s for a slightly slower, drifting feel */
  animation: floatAnimation 5s ease-in-out infinite;
}
@media (max-width: 1024px) {
  /* 1. Reduce overall section spacing */
  .featured-service-section {
    padding: 6rem 4%;
  }

  .featured-service-container {
    gap: 3rem; /* Reduced gap */
  }

  /* 2. Text Block adjustments */
  .featured-text-block {
    width: 50%;
  }

  .featured-text-block h2 {
    font-size: 2.8rem; /* Scaled down headline */
    margin-bottom: 1.2rem;
  }

  /* 3. Visual Block adjustments */
  .featured-visual-block {
    width: 45%;
  }

  .featured-image-mask {
    width: 350px; /* Scaled down to fit tablet width */
    height: 420px;
    border-radius: 150px 20px 150px 150px;
  }

  .featured-bg-blob {
    width: 200px;
    height: 200px;
  }
}

@media (max-width: 768px) {
  /* 1. Container & Layout */
  .featured-service-section {
    padding: 4rem 5%;
  }

  .featured-service-container {
    flex-direction: column;
    gap: 3rem;
    text-align: center;
  }

  /* 2. Text Block Adjustments */
  .featured-text-block {
    width: 100%;
    align-items: center;
  }

  .featured-text-block h2 {
    font-size: 2.5rem; /* Scaled down for mobile */
    margin-bottom: 1rem;
  }

  .featured-subtitle {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }

  /* 3. Support Grid (Checkmarks) */
  .support-areas-grid {
    align-items: flex-start; /* Keeps the checkmarks aligned to the left of the text */
    margin-bottom: 2rem;
    width: 100%;
    max-width: 300px; /* Keeps the list centered but organized */
  }

  .support-tag-item {
    font-size: 0.95rem;
  }

  .featured-cta-row {
    justify-content: center; /* Center the button */
  }

  /* 4. Visual Blob Mask */
  .featured-visual-block {
    width: 100%;
    justify-content: center;
    order: -1; /* Optional: Move image to the VERY top if you prefer */
    margin-bottom: 1rem;
  }

  .featured-image-mask {
    width: 260px; /* Scaled down */
    height: 320px;
    border-radius: 120px 20px 120px 120px;
  }

  .featured-bg-blob {
    width: 150px;
    height: 150px;
    bottom: -10px;
    right: 15%;
  }
}


/* ==========================================
   Process Section Styles (Our Roadmap)
   ========================================== */
.process-section {
  background-color: var(--white); /* Pure white section for maximum layout contrast */
  padding: 8rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.process-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1250px;
}

/* --- Centered Process Header --- */
.process-header {
  text-align: center;
  max-width: 750px;
  margin-bottom: 5.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.process-header h2 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--text-dark);
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: -0.5px;
}

.process-header h2 .accent-weight {
  font-weight: 700;
  color: var(--blob-green);
}

.process-subtitle {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--text-muted);
}

/* --- Process Grid Chain Matrix --- */
.process-chain {
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* Pristine 5-column split-screen desktop mapping */
  gap: 2rem;
  width: 100%;
  position: relative;
}

/* --- Minimalist Step Card Structures --- */
.process-step-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}

/* Modern Minimalist Giant Number Badges */
.step-number-badge {
  font-size: 3.2rem;
  font-weight: 700;
  color: var(--bg-color); /* Soft structural contrast fill */
  line-height: 1;
  margin-bottom: 1.5rem;
  transition: color 0.3s ease;
}

.process-step-card:hover .step-number-badge {
  color: var(--blob-green); /* Subtle signature shift on hover interaction */
}

/* Step Content Block Typography */
.step-content h3 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.8rem;
}

.step-content p {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-dark);
  opacity: 0.8;
}
@media (max-width: 1024px) {
  /* 1. Reduce overall section spacing */
  .process-section {
    padding: 6rem 4%;
  }

  /* 2. Adjust grid for 3 columns on tablet */
  .process-chain {
    grid-template-columns: repeat(3, 1fr); /* 3 items per row */
    gap: 2.5rem 1.5rem;
  }

  /* 3. Card adjustments */
  .process-step-card {
    align-items: center;
    text-align: center;
  }

  .step-number-badge {
    font-size: 2.8rem;
    margin-bottom: 1rem;
  }

  .step-content h3 {
    font-size: 1.25rem;
  }

  .step-content p {
    font-size: 0.95rem;
  }
}
@media (max-width: 768px) {
  /* 1. Section Padding */
  .process-section {
    padding: 4rem 5%;
  }

  /* 2. Header Adjustment */
  .process-header {
    margin-bottom: 3rem;
  }

  .process-header h2 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }

  /* 3. Convert Grid Chain to Vertical List */
  .process-chain {
    grid-template-columns: 1fr; /* Stacked vertically */
    gap: 2.5rem;
  }

  /* 4. Step Card Adjustments */
  .process-step-card {
    align-items: center; /* Center steps for mobile focus */
    text-align: center;
  }

  .step-number-badge {
    font-size: 2.5rem; /* Slightly smaller for mobile */
    margin-bottom: 0.5rem;
  }

  .step-content h3 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }

  .step-content p {
    font-size: 0.95rem;
    max-width: 320px; /* Limits width so text doesn't look too stretched */
    margin: 0 auto;
  }
}




/* ==========================================
   Corporate Identity (Vision & Mission) Styles
   ========================================== */
.identity-section {
  background-color: var(--bg-color); /* Uses your premium soft layout background */
  padding: 6rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.identity-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Pristine symmetrical 2-column desktop split */
  gap: 3rem;
  width: 100%;
  max-width: 1250px;
}

/* --- Premium Apple-Style Interactive Cards --- */
.identity-card {
  background-color: var(--white);
  border-radius: 32px;
  padding: 4.5rem 3.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  box-shadow: 0 10px 40px rgba(2, 110, 129, 0.02);
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
  position: relative;
  overflow: hidden;
}

.identity-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 60px rgba(2, 110, 129, 0.08);
}

/* --- Subtle Accent Icon Decorators --- */
.identity-icon-wrapper {
  background-color: rgba(2, 110, 129, 0.04);
  color: var(--icon-color);
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 2rem;
  transition: all 0.3s ease;
}

.identity-card:hover .identity-icon-wrapper {
  background-color: var(--text-dark);
  color: var(--white);
  transform: scale(1.05);
}

.card-tag {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.identity-card h2 {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
  color: var(--text-dark);
  margin-bottom: 1.5rem;
  letter-spacing: -0.5px;
}

.identity-card h2 .accent-text {
  font-weight: 700;
  color: var(--text-dark);
}

.identity-card p {
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--text-dark);
  opacity: 0.8;
}
@media (max-width: 1024px) {
  /* 1. Reduce overall section padding */
  .identity-section {
    padding: 5rem 4%;
  }

  /* 2. Slightly reduce gap between cards */
  .identity-container {
    gap: 2rem;
  }

  /* 3. Card Padding Adjustment */
  .identity-card {
    padding: 3.5rem 2.5rem; /* Balanced padding for tablet width */
    border-radius: 28px;
  }

  /* 4. Typography Scaling */
  .identity-card h2 {
    font-size: 2.1rem; /* Perfectly readable on tablets */
  }

  .identity-card p {
    font-size: 0.98rem;
  }
}
@media (max-width: 768px) {
  /* 1. Overall Section Padding */
  .identity-section {
    padding: 4rem 5%;
  }

  /* 2. Grid to Single Column */
  .identity-container {
    grid-template-columns: 1fr; /* Stacked vertically */
    gap: 1.5rem;
  }

  /* 3. Card Adjustments */
  .identity-card {
    padding: 3rem 2rem; /* Tighter padding for mobile */
    border-radius: 24px;
    align-items: center; /* Center-align content */
    text-align: center;
  }

  /* 4. Icon & Tag Alignment */
  .identity-icon-wrapper {
    width: 48px;
    height: 48px;
    margin-bottom: 1.5rem;
  }

  .card-tag {
    letter-spacing: 1.5px;
  }

  /* 5. Typography Scaling */
  .identity-card h2 {
    font-size: 1.9rem; /* Reduced for better mobile fit */
    margin-bottom: 1rem;
  }

  .identity-card p {
    font-size: 0.95rem;
    line-height: 1.5;
  }
}



/* ==========================================
   Insights & Global Mobility Updates Styles
   ========================================== */
.insights-section {
  background-color: var(--white); /* Pure white surface to separate colored background steps cleanly */
  padding: 8rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.insights-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 5rem;
  width: 100%;
  max-width: 1250px;
}

/* --- Left Editorial Column --- */
.insights-featured-column {
  width: 48%;
  display: flex;
  flex-direction: column;
}

.insights-featured-column h2 {
  font-size: 3.5rem;
  line-height: 1.15;
  font-weight: 300;
  color: var(--text-dark);
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: -0.5px;
}

.insights-featured-column h2 .accent-weight {
  font-weight: 700;
  color: var(--blob-green);
}

.insights-main-subtitle {
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--text-dark);
  opacity: 0.8;
  margin-bottom: 3.5rem;
}

/* Featured Hero Article Box */
.main-insight-card {
  background-color: #F8FBFC; /* Ultra soft contrast grey backing */
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(2, 110, 129, 0.01);
}

.insight-image-mask {
  width: 100%;
  height: 260px;
  overflow: hidden;
}

.insight-image-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.main-insight-card:hover .insight-image-mask img {
  transform: scale(1.04);
}

.insight-card-content {
  padding: 2.5rem 2rem;
}

.insight-date {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--blob-green);
  letter-spacing: 1px;
  display: block;
  margin-bottom: 0.75rem;
}

.insight-card-content h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.3;
  margin-bottom: 1rem;
}

.insight-card-content p {
  font-size: 1.02rem;
  line-height: 1.6;
  color: var(--text-dark);
  opacity: 0.75;
}

/* --- Right Side Topic Feed List Column --- */
.insights-feed-column {
  width: 46%;
  display: flex;
  flex-direction: column;
  padding-top: 1rem;
}

.feed-header-tag {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 1.5px;
  margin-bottom: 2rem;
}

.insights-feed-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 3.5rem;
}

/* Interactive Feed Item Anchors */
.feed-item-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  padding: 1.8rem 0;
  border-bottom: 1px solid rgba(2, 110, 129, 0.08);
  gap: 1.5rem;
  transition: all 0.3s ease;
}

.feed-item-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.feed-item-body h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-dark);
  transition: color 0.2s ease;
}

.feed-item-body p {
  font-size: 1.02rem;
  line-height: 1.5;
  color: var(--text-dark);
  opacity: 0.7;
}

.feed-arrow {
  color: var(--text-muted);
  font-size: 0.9rem;
  opacity: 0.5;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Hover Micro-Animations */
.feed-item-link:hover .feed-item-body h3 {
  color: var(--blob-green);
}

.feed-item-link:hover .feed-arrow {
  opacity: 1;
  color: var(--text-dark);
  transform: translateX(6px);
}

.insights-cta-row {
  display: flex;
  justify-content: flex-start;
}
@media (max-width: 1024px) {
  /* 1. Reduce overall section spacing */
  .insights-section {
    padding: 6rem 4%;
  }

  .insights-container {
    gap: 3rem; /* Reduced from 5rem to fit tablet width better */
  }

  /* 2. Editorial Column adjustments */
  .insights-featured-column {
    width: 50%; /* Give slightly more relative width */
  }

  .insights-featured-column h2 {
    font-size: 2.8rem; /* Scaled down headline */
  }

  /* 3. Feed Column adjustments */
  .insights-feed-column {
    width: 45%;
    padding-top: 0.5rem;
  }

  .feed-item-body h3 {
    font-size: 1.1rem; /* Slightly smaller to prevent text wrapping issues */
  }

  .feed-item-body p {
    font-size: 0.95rem;
  }
}
@media (max-width: 768px) {
  /* 1. Layout Stacking */
  .insights-section {
    padding: 4rem 5%;
  }

  .insights-container {
    flex-direction: column;
    gap: 3rem;
  }

  /* 2. Left Editorial Column */
  .insights-featured-column {
    width: 100%;
    text-align: center;
  }

  .insights-featured-column h2 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }

  .main-insight-card {
    text-align: left; /* Keep card text left-aligned for readability */
  }

  .insight-image-mask {
    height: 200px; /* Reduced height for mobile */
  }

  .insight-card-content {
    padding: 1.5rem;
  }

  .insight-card-content h3 {
    font-size: 1.3rem;
  }

  /* 3. Right Side Topic Feed */
  .insights-feed-column {
    width: 100%;
    padding-top: 0;
  }

  .feed-header-tag {
    text-align: center;
    margin-bottom: 1.5rem;
  }

  .feed-item-link {
    padding: 1.5rem 0;
  }

  .feed-item-body h3 {
    font-size: 1.15rem;
  }

  /* 4. CTA Row */
  .insights-cta-row {
    justify-content: center;
  }
}





/* ==========================================
   Final CTA Section Styles
   ========================================== */
.final-cta-section {
  background-color: var(--white); /* Seamless flush continuation with previous sections */
  padding: 4rem 4% 8rem 4%;      /* Balances spacing pushing perfectly down to the footer */
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Luxury Card Frame with Deep Theme Tint */
.final-cta-card {
  width: 100%;
  max-width: 1250px;
  background-color: var(--text-dark); /* Deep Abyss luxury dominant layout tone */
  border-radius: 40px;
  padding: 6rem 4rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(2, 55, 93, 0.15);
  display: flex;
  justify-content: center;
  text-align: center;
}

/* Glassmorphism Subtle Internal Light Reflection Layer */
.cta-glass-blur {
  position: absolute;
  top: -50%;
  left: -20%;
  width: 80%;
  height: 200%;
  background: radial-gradient(circle, rgba(0, 168, 181, 0.15) 0%, transparent 60%);
  z-index: 1;
  pointer-events: none;
}

.final-cta-content {
  position: relative;
  z-index: 2;
  max-width: 850px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Specialized High-Contrast Tag for Dark Layout Context */
.invert-tag {
  color: var(--blob-tan) !important;
  margin-bottom: 1.5rem;
}

.final-cta-content h2 {
  font-size: 3.5rem;
  line-height: 1.2;
  font-weight: 300;
  color: var(--white);
  margin-bottom: 1.8rem;
  letter-spacing: -0.5px;
}

.final-cta-content h2 .accent-weight {
  font-weight: 700;
  color: var(--white);
}

.final-cta-subtitle {
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--white);
  opacity: 0.8;
  margin-bottom: 3.5rem;
}

/* --- Twin Action Trigger Button Group --- */
.final-cta-buttons {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

/* Primary Contrast Pill Option */
.primary-final-cta {
  background-color: var(--white);
  color: var(--text-dark);
}

.primary-final-cta:hover {
  background-color: var(--blob-tan);
  color: var(--white);
  transform: translateY(-3px);
 }

/* Secondary Translucent Glass Option */
.secondary-final-cta {
  background-color: rgba(255, 255, 255, 0.04);
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.secondary-final-cta i {
  margin-left: 0.75rem;
  font-size: 0.9rem;
  transition: transform 0.3s ease;
}

.secondary-final-cta:hover {
  background-color: var(--white);
  color: var(--text-dark);
  border-color: var(--white);
  transform: translateY(-3px);
}
@media (max-width: 1024px) {
  /* 1. Section Spacing */
  .final-cta-section {
    padding: 3rem 4% 6rem 4%;
  }

  /* 2. Card Refinement */
  .final-cta-card {
    padding: 4.5rem 3rem; /* Slightly reduced horizontal padding */
    border-radius: 35px;
  }

  /* 3. Text & Typography */
  .final-cta-content h2 {
    font-size: 2.8rem; /* Scaled down slightly for tablet */
    margin-bottom: 1.5rem;
  }

  /* 4. Button Group: Keep horizontal, but tighten the gap */
  .final-cta-buttons {
    flex-direction: row; /* Keep buttons side-by-side on tablet */
    gap: 1rem;
  }

  .primary-final-cta, 
  .secondary-final-cta {
    width: auto; /* Buttons return to their natural content width */
    padding: 1.1rem 2rem;
  }
}
@media (max-width: 768px) {
  /* 1. Section Spacing */
  .final-cta-section {
    padding: 2rem 5% 4rem 5%;
  }

  /* 2. Card Refinement */
  .final-cta-card {
    padding: 3rem 1.5rem; /* Significant padding reduction for mobile */
    border-radius: 30px;
  }

  /* 3. Text & Typography */
  .final-cta-content h2 {
    font-size: 2rem; /* Scaled down for mobile */
    line-height: 1.3;
    margin-bottom: 1.2rem;
  }

  .final-cta-subtitle {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    padding: 0 0.5rem;
  }

  /* 4. Button Group Stack */
  .final-cta-buttons {
    flex-direction: column; /* Stack buttons */
    gap: 1rem;
    width: 100%;
  }

  .primary-final-cta, 
  .secondary-final-cta {
    width: 100%;
    padding: 1.1rem 1.5rem; /* Maintain comfortable touch target size */
    font-size: 0.95rem;
  }
}











/* ==========================================
   Meet Our Team Section Styles
   ========================================== */
.team-section {
  background-color: var(--white); /* 👈 Changes container background to pure white */
  padding: 6rem 4%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* --- Centered Header Elements --- */
.team-header {
  text-align: center;
  max-width: 700px;
  margin-bottom: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.team-header h2 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--text-dark);
  margin-top: 0.5rem;
  margin-bottom: 1.5rem;
  letter-spacing: -0.5px;
}

.team-header h2 .accent-weight {
  font-weight: 700;
  color: var(--blob-green); /* Using your rich theme colors */
}

.team-subtitle {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--text-muted);
  opacity: 0.85;
}

/* --- 3-Column Profile Layout Grid --- */
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  width: 100%;
  max-width: 1250px;
}

.team-card {
  display: flex;
  flex-direction: column;
  background: transparent;
}

/* --- Custom Masked Profile Image Mask --- */
.team-image-container {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1; /* Keeps images beautifully squared */
  background-color: #EAEAEA; /* Fallback gray tone */
  
  /* Creates the custom squircle layout with modern rounded corners */
  border-radius: 90px 90px 20px 90px; 
  overflow: hidden;
  margin-bottom: 2rem;
}

.team-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
/* --- Centered Floating Social Badge --- */
.team-social-badge {
  position: absolute;
  bottom: 0;
  left: 50%; /* Moves to center */
  transform: translateX(-50%); /* Perfectly centers the element */
  background-color: rgba(255, 255, 255, 0.95);
  padding: 0.6rem 1.2rem;
  border-radius: 50px; /* Fully rounded pill shape */
  display: flex;
  align-items: center;
  gap: 1.2rem;
  z-index: 5;
  margin-bottom: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  
  /* Text Direction Note: Ensure items flow LTR */
  direction: ltr; 
  unicode-bidi: isolate;
}

.team-social-badge a {
  color: var(--text-dark);
  font-size: 1.1rem;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  text-decoration: none;
  justify-content: center;
}

.team-social-badge a:hover {
  color: var(--blob-green);
  transform: translateY(-3px) scale(1.1);
}
/* --- Typographic Profile Breakdown --- */
.team-info {
  display: flex;
  flex-direction: column;
  text-align: left;
  padding: 0 0.5rem;
}

.member-role {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 1px;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}

.team-info h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.8rem;
}

.team-info p {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text-dark);
  opacity: 0.75;
}

@media (max-width: 768px) {
  /* 1. Section Padding */
  .team-section {
    padding: 4rem 5%;
  }

  /* 2. Header Adjustment */
  .team-header {
    margin-bottom: 3rem;
  }

  .team-header h2 {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }

  /* 3. Grid to Single Column */
  .team-grid {
    grid-template-columns: 1fr; /* Stacked vertically */
    gap: 3rem;
    max-width: 400px; /* Keeps cards from getting too wide on large phones */
    margin: 0 auto;
  }

  /* 4. Card Adjustments */
  .team-card {
    align-items: center; /* Center the profile card */
    text-align: center;
  }

  .team-image-container {
    width: 100%;
    max-width: 320px; /* Constrains the image size */
    margin-bottom: 1.5rem;
  }

  /* 5. Typographic Profile Breakdown */
  .team-info {
    text-align: center; /* Centering text looks better in a single column */
    padding: 0;
  }

  .member-role {
    font-size: 0.8rem;
    margin-bottom: 0.4rem;
  }

  .team-info h3 {
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
  }

  .team-info p {
    font-size: 0.95rem;
  }

  /* 6. Social Badge Adjustment */
  .team-social-badge {
    padding: 0.7rem 1.5rem; /* Slightly larger for easier tapping */
  }
}



/* ==========================================
   Trusted Brands Showcase Section
   ========================================== */
.trusted-brands-section {
  background-color: var(--white); /* 👈 Enforces your required pure white section theme */
  padding: 4.5rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-top: 1px solid rgba(2, 110, 129, 0.05); /* Soft premium boundary blend */
}

/* --- Flex Container Layout --- */
.brands-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  width: 100%;
  max-width: 1250px;
}

/* --- Brand Item Structure --- */
.brand-item {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Sleek grayscale blending for a high-end corporate aesthetic */
.brand-item img {
  max-width: 170px;
  height: auto;
  max-height: 40px;
  object-fit: contain;
  opacity: 0.45; /* Soft corporate styling precisely matching your uploaded graphic */
  filter: grayscale(100%);
  transition: opacity 0.3s ease, filter 0.3s ease;
}

/* Clean hover feedback */
.brand-item img:hover {
  opacity: 0.85;
  filter: grayscale(0%);
}

@media (max-width: 1024px) {
  /* 1. Reduce padding for tablet */
  .trusted-brands-section {
    padding: 3.5rem 4%;
  }

  /* 2. Adjust grid for 3 logos per row */
  .brands-container {
    flex-wrap: wrap;
    gap: 3rem 2rem;
  }

  .brand-item {
    flex: 0 0 30%; /* Roughly 3 per line (3 x 30% = 90% width) */
  }

  /* 3. Slightly scale logos for tablet */
  .brand-item img {
    max-width: 150px;
    max-height: 35px;
    opacity: 0.5;
  }
}

@media (max-width: 768px) {
  /* 1. Section Padding */
  .trusted-brands-section {
    padding: 3rem 5%;
  }

  /* 2. Convert Flex to Wrap Grid */
  .brands-container {
    flex-wrap: wrap; /* Allows logos to drop to the next line */
    justify-content: center;
    gap: 2rem 1.5rem; /* More vertical gap, tighter horizontal gap */
  }

  /* 3. Brand Item Size Adjustment */
  .brand-item {
    flex: 0 0 40%; /* Each logo takes up roughly 40% of the row (2 per line) */
  }

  .brand-item img {
    max-width: 120px; /* Slightly smaller for mobile layout */
    max-height: 30px;
    opacity: 0.6; /* Slightly more visible on mobile for clarity */
  }
}





/* ==========================================
   Contact & Global Consultation Hub Styles
   ========================================== */
.contact-section {
  background-color: var(--white); /* Enforces pure white section background */
  padding: 6rem 4%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
  width: 100%;
  max-width: 1250px;
}

/* --- Left Column Configurations --- */
.contact-text-side {
  width: 45%;
  display: flex;
  flex-direction: column;
}

.contact-text-side h2 {
  font-size: 4rem;
  font-weight: 300;
  line-height: 1.15;
  color: var(--text-dark);
  margin-top: 0.5rem;
  margin-bottom: 2rem;
  letter-spacing: -1px;
}

.contact-text-side h2 .accent-weight {
  font-weight: 600;
  color: var(--blob-green); /* Pulls rich teal from your theme palette */
}

.contact-subtitle {
  font-size: 1.15rem;
  line-height: 1.6;
  color: var(--text-dark);
  opacity: 0.8;
}

/* --- Instant Channel Badges & Touchpoints --- */
.instant-channels-wrapper {
  margin: 2rem 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.channel-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 1.1rem 2.2rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  width: max-content;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.whatsapp-link {
  background-color: #25D366;
  color: var(--white);
 }

.whatsapp-link:hover {
  opacity: 0.9;
 }

.direct-meta-info {
  display: flex;
  gap: 2rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-top: 0.5rem;
}

.direct-meta-info p {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.direct-meta-info i {
  color: var(--icon-color);
}

/* --- Consultation Process Steps Timeline --- */
.consultation-process-steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1rem;
  border-left: 2px dashed rgba(2, 110, 129, 0.15);
  padding-left: 1rem;
  margin-left: 0.5rem;
}

.process-step-item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  text-align: left;
  position: relative;
}

.step-num {
  background-color: var(--bg-color);
  color: var(--text-dark);
  font-weight: 700;
  font-size: 0.95rem;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(0, 59, 70, 0.04);
  position: relative;
  left: calc(-1rem - 19px); /* Centers cleanly right over the dashed border timeline line */
  background-color: var(--white);
  border: 2px solid var(--bg-color);
}

.step-text {
  margin-left: -2rem; /* Pulls text structure back evenly to fill content boxes */
}

.step-text h4 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 0.2rem;
}

.step-text p {
  font-size: 0.98rem;
  line-height: 1.45;
  color: var(--text-dark);
  opacity: 0.75;
}

/* --- Right Column: Rounded Form Card --- */
.contact-form-card {
  width: 50%;
  background-color: #F0F6F7; /* Soft light gray-blue tint box background */
  border-radius: 60px; /* Highly rounded luxury corners matching your screenshot */
  padding: 4.5rem 4rem;
  box-shadow: 0 10px 40px rgba(0, 59, 70, 0.02);
}

.contact-form-card h3 {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 2.5rem;
}

/* --- Form Field Elements --- */
.message-form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.form-row-twin {
  display: flex;
  gap: 1.2rem;
  width: 100%;
}

.form-row-twin .input-group {
  flex: 1;
}

.input-group input,
.input-group select,
.input-group textarea {
  width: 100%;
  background-color: var(--white);
  border: 1px solid transparent;
  color: var(--text-dark);
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  padding: 1.1rem 1.5rem;
  border-radius: 20px; /* Clean rounded edges inside input frames */
  outline: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Custom Select Dropdown Styling Overrides */
.input-group select {
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  /* Clean embedded dynamic arrow matching your layout scheme font color precisely */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2302375d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
  background-repeat: no-repeat;
  background-position: right 1.5rem center;
  background-size: 1.2rem;
  padding-right: 3rem;
}

.input-group textarea {
  resize: none;
  border-radius: 24px;
}

/* Custom placeholder visibility typography styling */
.input-group input::placeholder,
.input-group select:invalid,
.input-group textarea::placeholder {
  color: var(--text-dark);
  opacity: 0.4;
  font-weight: 500;
}

/* Subtle focus state indicators */
.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus {
  border-color: rgba(2, 110, 129, 0.3);
  box-shadow: 0 0 12px rgba(2, 110, 129, 0.05);
}

/* --- Submission Button Layout --- */
.form-submit-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

.btn-submit {
  background-color: #E2ECEE; /* Pill button default tint background */
  color: var(--text-dark);
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  border: 1px solid var(--text-dark);
  padding: 1.1rem 2.8rem;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-submit:hover {
  background-color: var(--text-dark);
  color: var(--white);
}

@media (max-width: 1024px) {
  /* 1. Adjust Section & Container Padding */
  .contact-section {
    padding: 5rem 4%;
  }

  .contact-container {
    gap: 2.5rem; /* Reduced gap to keep content balanced */
  }

  /* 2. Text Side Adjustments */
  .contact-text-side {
    width: 50%; /* Allow slightly more room for text */
  }

  .contact-text-side h2 {
    font-size: 3rem; /* Scaled down from 4rem */
    margin-bottom: 1.5rem;
  }

  /* 3. Form Card Adjustments */
  .contact-form-card {
    width: 50%;
    padding: 3rem 2.5rem; /* Tighter padding for tablet screen */
    border-radius: 40px;
  }

  /* 4. Form Field Optimization */
  .input-group input,
  .input-group select,
  .input-group textarea {
    padding: 0.9rem 1.2rem; /* Tighter padding to fit comfortably */
    font-size: 0.95rem;
  }
}

@media (max-width: 768px) {
  /* 1. Layout Stacking */
  .contact-section {
    padding: 4rem 5%;
  }

  .contact-container {
    flex-direction: column;
    gap: 3rem;
    text-align: center;
  }

  /* 2. Left Side Adjustments */
  .contact-text-side {
    width: 100%;
    align-items: center;
  }

  .contact-text-side h2 {
    font-size: 2.2rem;
    margin-bottom: 1.5rem;
  }

  /* Adjust meta-info for mobile readability */
  .direct-meta-info {
    flex-direction: column;
    gap: 0.8rem;
    align-items: center;
  }

  /* Process Timeline: Keep left-aligned but clean */
  .consultation-process-steps {
    align-items: flex-start;
    text-align: left;
    margin-top: 2rem;
  }

  /* 3. Form Card Adjustments */
  .contact-form-card {
    width: 100%;
    padding: 2.5rem 1.5rem; /* Tightened padding */
    border-radius: 30px;
  }

  .contact-form-card h3 {
    margin-bottom: 1.5rem;
  }

  /* 4. Form Fields & Layout */
  .form-row-twin {
    flex-direction: column; /* Stack name fields */
    gap: 1.2rem;
  }

  .input-group input,
  .input-group select,
  .input-group textarea {
    padding: 0.9rem 1.2rem; /* Tighter padding */
    font-size: 0.95rem;
  }

  .form-submit-row {
    justify-content: center; /* Center the submit button */
  }

  .btn-submit {
    width: 100%; /* Full-width button for easy tapping */
    padding: 1rem;
  }
}







/* ==========================================
   Premium Footer Section Styles (5-Column Matrix)
   ========================================== */
.site-footer {
  background-color: var(--text-dark);
  color: var(--white);
  padding: 6rem 4% 2rem 4%;
  width: 100%;
  border-radius: 0 200px 0 0;
  margin-top: 0rem;
}

.footer-container {
  display: grid;
  /* 🛠️ Upgraded to 5 columns with custom relative track definitions */
  grid-template-columns: 1.3fr 0.7fr 0.8fr 1fr 1.2fr;
  gap: 3.5rem;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding-bottom: 4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* --- Brand Meta Column --- */
.footer-column h2 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  margin-bottom: 1.5rem;
  color: var(--white);
}

.footer-tagline {
  font-size: 1rem;
  line-height: 1.6;
  opacity: 0.75;
  margin-bottom: 2rem;
}

.footer-socials {
  display: flex;
  gap: 1rem;
}

.footer-socials a {
  width: 42px;
  height: 42px;
  background-color: rgba(255, 255, 255, 0.05);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1rem;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.footer-socials a:hover {
  background-color: var(--white);
  color: var(--text-dark);
  transform: translateY(-4px);
}

/* --- Link Columns --- */
.footer-column h3 {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 1.8rem;
  position: relative;
  color: var(--white);
}

.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.footer-links li a {
  color: var(--white);
  text-decoration: none;
  font-size: 1rem;
  opacity: 0.7;
  transition: all 0.2s ease;
  display: inline-block;
}

.footer-links li a:hover {
  opacity: 1;
  color: var(--blob-tan);
  transform: translateX(4px);
}

/* --- Contact Meta Details --- */
.footer-contact-details {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.footer-contact-details li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 1rem;
  line-height: 1.4;
}

.footer-contact-details li i {
  color: var(--blob-tan);
  font-size: 1.1rem;
  width: 20px;
  text-align: center;
  margin-top: 2px;
  flex-shrink: 0;
}

.footer-contact-details li a {
  color: var(--white);
  text-decoration: none;
  opacity: 0.75;
  transition: opacity 0.2s ease;
}

.footer-contact-details li a:hover {
  opacity: 1;
}

.footer-contact-details li span {
  opacity: 0.75;
}

/* --- Newsletter Form Column --- */
.newsletter-desc {
  font-size: 1rem;
  line-height: 1.5;
  opacity: 0.75;
  margin-bottom: 1.5rem;
}

.footer-newsletter-form {
  display: flex;
  position: relative;
  width: 100%;
}

.footer-newsletter-form input {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.1rem 3.5rem 1.1rem 1.5rem;
  border-radius: 30px;
  color: var(--white);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.95rem;
  outline: none;
  transition: all 0.3s ease;
}

.footer-newsletter-form input::placeholder {
  color: var(--white);
  opacity: 0.4;
}

.footer-newsletter-form input:focus {
  border-color: var(--blob-tan);
  background-color: rgba(255, 255, 255, 0.08);
}

.footer-newsletter-form button {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background-color: var(--white);
  color: var(--text-dark);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

.footer-newsletter-form button:hover {
  background-color: var(--blob-tan);
  color: var(--white);
}

/* --- Bottom Copyright Bar --- */
.footer-bottom {
  max-width: 1300px;
  margin: 0 auto;
  padding-top: 2rem;
}

.footer-bottom-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
  opacity: 0.6;
}

.footer-bottom-links {
  display: flex;
  gap: 2rem;
}

.footer-bottom-links a {
  color: var(--white);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer-bottom-links a:hover {
  opacity: 1;
}
 
@media (max-width: 768px) {
  /* 1. Footer Container */
  .site-footer {
    padding: 4rem 5% 2rem 5%;
    border-radius: 0 100px 0 0; /* Scaled down curve for mobile */
  }

  .footer-container {
    grid-template-columns: 1fr; /* Single column stack */
    gap: 3rem;
    padding-bottom: 3rem;
    text-align: center;
  }

  /* 2. Column Adjustments */
  .footer-column {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer-socials {
    justify-content: center;
  }

  .footer-links li a {
    padding: 0.2rem 0; /* Easier to tap */
  }

  /* 3. Contact Details */
  .footer-contact-details {
    align-items: center;
  }

  .footer-contact-details li {
    justify-content: center;
  }

  /* 4. Newsletter Form */
  .footer-newsletter-form {
    max-width: 400px;
    margin: 0 auto;
  }

  /* 5. Bottom Copyright Bar */
  .footer-bottom-content {
    flex-direction: column;
    gap: 1.5rem;
    text-align: center;
  }

  .footer-bottom-links {
    justify-content: center;
  }
}
/* ==========================================
   Premium Search Modal (Optimized)
   ========================================== */
.search-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  font-family: 'Montserrat', sans-serif;
}

.search-modal.active {
  visibility: visible;
  opacity: 1;
}

.search-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(2, 55, 93, 0.7); 
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

.search-container {
  position: relative;
  width: 90%;
  max-width: 750px;
  background: var(--white);
  padding: 3rem; 
  border-radius: 30px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
  transform: translateY(20px);
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  /* Removed max-height and overflow-y here */
}

.search-modal.active .search-container {
  transform: translateY(0);
}

.close-search {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  font-size: 1.5rem;
  background: none;
  border: none;
  color: var(--text-dark);
  cursor: pointer;
  opacity: 0.5;
  transition: 0.3s;
}

.close-search:hover { opacity: 1; }

/* --- Input Area --- */
.search-content h2 {
  font-size: 1.6rem;
  color: var(--text-dark);
  margin-bottom: 1.5rem;
}

.search-form-box {
  display: flex;
  align-items: center;
  border-bottom: 2px solid var(--text-dark);
  padding-bottom: 0.5rem;
  margin-bottom: 2rem;
}

.search-form-box input {
  flex: 1;
  background: transparent;
  border: none;  font-family: 'Montserrat', sans-serif;

  font-size: 1.2rem;
  padding: 0.5rem;
  color: var(--text-dark);
  outline: none;
}

.btn-search-submit {
  background: var(--text-dark);
  color: var(--white);
  padding: 0.7rem 1.5rem;
  border-radius: 40px;
  font-size: 0.9rem;   
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

/* --- Results Area (SCROLLABLE) --- */
.search-results-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  /* Added scrolling constraints */
  max-height: 50vh; 
  overflow-y: auto;
  padding-right: 10px;
}

/* --- Premium Scrollbar Styling --- */
.search-results-area::-webkit-scrollbar {
  width: 8px; /* Slightly wider for better usability */
}

.search-results-area::-webkit-scrollbar-track {
  background: var(--bg-color); /* Light background to match your container */
  border-radius: 10px;
}

.search-results-area::-webkit-scrollbar-thumb {
  background: var(--text-muted); /* Uses your Ocean Blue */
  border-radius: 10px;
  border: 2px solid var(--bg-color); /* Adds a little "padding" around the thumb */
}

.search-results-area::-webkit-scrollbar-thumb:hover {
  background: var(--blob-green); /* Changes to Deep Teal on hover for interactivity */
}

.result-item {
  padding: 1rem;
  border-radius: 16px;
  background: var(--bg-color);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: 0.2s;
}

.result-item:hover {
  background: rgba(2, 110, 129, 0.1);
}

.result-category {
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--blob-green);
  margin-bottom: 0.3rem;
}

.result-item h4 {
  font-size: 0.95rem;
  color: var(--text-dark);
  font-weight: 600;
}

/* --- Refined Mobile Responsive Breakpoints --- */
@media (max-width: 768px) {
  .search-container {
    padding: 1.5rem;
    width: 95%;
    border-radius: 24px;
  }

  .search-content h2 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
  }

  .search-form-box input {
    font-size: 1rem;
  }

  .btn-search-submit {
    padding: 0.6rem 1.2rem;
    font-size: 0.8rem;
  }

  .search-results-area {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    max-height: 50vh; /* Keeps it contained on smaller mobile screens */
  }

  .close-search {
    top: 1rem;
    right: 1rem;
  }
}
/* ==========================================
   Premium Inquiry Modal Styles
   ========================================== */
.inquiry-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  visibility: hidden;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  font-family: 'Montserrat', sans-serif;
  /* Ensures nothing behind the modal is clickable when visible */
  pointer-events: none; 
}

.inquiry-modal.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(2, 55, 93, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.modal-content {
  position: relative;
  width: 90%;
  max-width: 500px;
  /* Added scrolling constraints */
  max-height: 90vh;
  overflow-y: auto;
  background: var(--white);
  padding: 3rem;
  border-radius: 40px;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
  transform: translateY(30px);
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  /* Custom scrollbar for better mobile UX */
  scrollbar-width: thin;
}

/* Chrome/Safari scrollbar */
/* Scrollbar එකේ සාමාන්‍ය පෙනුම (Track) */
.modal-content {
  scrollbar-width: thin; /* Firefox සඳහා */
  scrollbar-color: #ccc transparent; /* Firefox සඳහා (thumb color, track color) */
}

/* Chrome, Safari, සහ Edge සඳහා Scrollbar පෙනුම */
.modal-content::-webkit-scrollbar {
  width: 6px; /* Scrollbar එකේ පළල */
}

.modal-content::-webkit-scrollbar-track {
  background: transparent; /* Track එකේ පාට */
}

.modal-content::-webkit-scrollbar-thumb {
  background-color: #ccc; /* Thumb එකේ (ගැටෙන කොටස) පාට */
  border-radius: 10px;    /* රවුම් හැඩයක් ගැනීමට */
  border: 2px solid transparent; /* වටේ පොඩි හිඩසක් තියන්න */
}

/* Mouse එක උඩින් ගියාම පාට වෙනස් වෙන්න (Optional) */
.modal-content::-webkit-scrollbar-thumb:hover {
  background-color: #999;
}
.inquiry-modal.active .modal-content {
  transform: translateY(0);
}

.close-modal {
  position: sticky; /* Keeps the button in view if scrolling */
  top: 0;
  float: right;
  margin-bottom: 1rem;
  background: var(--bg-color);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  color: var(--text-dark);
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  z-index: 10;
}

.close-modal:hover {
  background: var(--blob-green);
  color: var(--white);
}

.modal-content h3 {
  font-size: 2rem;
  color: var(--text-dark);
  margin-bottom: 0.8rem;
}

.modal-content p {
  color: var(--text-muted);
  margin-bottom: 2rem;
  font-size: 0.95rem;
}

/* Form Styling */
.message-form {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.form-row-twin {
  display: flex;
  gap: 1rem;
}

.input-group input,
.input-group select,
.input-group textarea {
  width: 100%;
  padding: 1.1rem 1.5rem;
  border-radius: 20px;
  border: 1px solid rgba(2, 110, 129, 0.15);
  background: var(--bg-color);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.95rem;
  outline: none;
  transition: 0.3s;
}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus {
  border-color: var(--blob-green);
  background: var(--white);
  box-shadow: 0 0 10px rgba(2, 155, 198, 0.1);
}

.btn-submit {
  background: var(--text-dark);
  color: var(--white);
  padding: 1.2rem;
  border-radius: 50px;
  border: none;
  font-weight: 500;
  cursor: pointer;
  margin-top: 0.5rem;
  transition: 0.3s;
}

.btn-submit:hover {
  background: var(--blob-green);
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
  .modal-content {
    padding: 2rem;
    border-radius: 30px;
    max-height: 85vh; /* Tighter fit for mobile screens */
  }
  .form-row-twin {
    flex-direction: column;
    gap: 1.2rem;
  }
  .modal-content h3 {
    font-size: 1.6rem;
  }
}

.input-label {
  display: block;
  font-size: 0.8rem;
  color: var(--text-muted);
  margin-top: 0.4rem;
  margin-left: 10px;
  font-weight: 500;
}

.required {
  color: #dc2626;
  font-weight: 700;
}


/* Base Apple Modern Toast Style */
.status-msg {
    position: fixed;
    top: 100px;
    right: 20px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 1.2rem 1.8rem;
    border-radius: 200px;
    color: var(--text-dark);
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 9999;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Status Colors */
.msg-success {   color: #27ae60; }
.msg-error   { color: #c0392b; }
.msg-info    { color: #2980b9; }
.msg-exists { color: #f39c12; } /* Orange color for warnings/exists */
/* Animation States */
.status-msg.fade-in { opacity: 1; transform: translateY(0); }
.status-msg.fade-out { opacity: 0; transform: translateY(20px); }

/* Mobile Responsive */
@media (max-width: 768px) {
    .status-msg {
        top: auto;
        bottom: 30px;
        right: 5%;
        left: 5%;
        width: 90%;
        justify-content: center;
        padding: 1.2rem;
        border-radius: 160px;
    }
}
 
 
 
 
 
 /* Prevent auto-zoom on mobile devices */
.inquiry-modal input,
.inquiry-modal select,
.inquiry-modal textarea {
    font-size: 16px !important;
}

/* Optional: If you have labels that might also trigger it */
.inquiry-modal .input-label {
    font-size: 16px !important;
}



/* Prevent auto-zoom on mobile devices for the contact form */
.message-form input,
.message-form select,
.message-form textarea {
    font-size: 16px !important;
}
