/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Arial", sans-serif;
}

body {
  background: #F8F8F8;
}

/* CONTAINER */
.container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}

/* TOP BAR */
.topbar {
  background: #4A555B;
  color: white;
  font-size: 13px;
  padding: 10px 0;
}

.topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.topbar-left i {
  margin-right: 6px;
  color: #ffffff;
}

.topbar-right {
  display: flex;
  gap: 18px;
  align-items: center;
}

a {
    text-decoration: none;
}

.topbar-right a {
  color: white;
  text-decoration: none;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 6px;
  opacity: 0.9;
}

.topbar-right a:hover {
  opacity: 1;
}

.topbar-btn {
  background: #244A3B;
  padding: 6px 12px;
  border-radius: 5px;
}

/* NAVBAR */
.navbar {
  background: white;
  padding: 14px 0;
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid #eaeaea;
}

/* NAV INNER */
.nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* LOGO */
.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  color: #4A555B;
}

.logo i {
  color: #244A3B;
}

.logo b {
  color: #244A3B;
}

/* NAV LINKS */
.nav-links {
  display: flex;
  gap: 22px;
  align-items: center;
}

.nav-links a {
  text-decoration: none;
  color: #4A555B;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 6px;
  transition: 0.3s;
}

/* ACTIVE MENU */
.nav-links a.active {
  background: #E9ECEA;
  color: #244A3B;
  font-weight: 600;
}

/* HOVER */
.nav-links a:hover {
  background: #E9ECEA;
  color: #244A3B;
}

/* ORDER BUTTON */
.nav-btn {
  background: linear-gradient(135deg, #244A3B, #2f6b55);
  color: #ffffff !important;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 6px 18px rgba(36, 74, 59, 0.25);
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* ICON EMPHASIS */
.nav-btn i {
  color: #ffffff;
}

/* HOVER EFFECT */
.nav-btn:hover {
  transform: translateY(-2px);
  color: black !important;
  box-shadow: 0 10px 25px rgba(36, 74, 59, 0.35);
}

/* PULSE GLOW EFFECT */
.nav-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120%;
  height: 120%;
  background: rgba(255, 255, 255, 0.15);
  transform: translate(-50%, -50%) scale(0);
  border-radius: 50%;
  animation: pulse 2.5s infinite;
}

@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: 0.6;
  }
  70% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* MOBILE MENU ICON */
.menu-icon {
  display: none;
  font-size: 22px;
  cursor: pointer;
  color: #4A555B;
}

.logo img {
  height: 45px;
  width: auto;
  max-height: 60px;
  object-fit: contain;
}

/* Mobile adjustment */
@media (max-width: 768px) {
  .logo img {
    height: 45px;
  }
}

/* MOBILE */
@media (max-width: 768px) {

  .nav-links {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    background: white;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    display: none;
  }

  .nav-links.active {
    display: flex;
  }

  .menu-icon {
    display: block;
  }

  .topbar-right {
    display: none;
  }
}

/* Slider Base */
.hero-slider {
  position: relative;
  overflow: hidden;
  height: 80vh;
  min-height: 500px;
}

/* Each Slide */
.hero-slider .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
  display: flex;
  align-items: center;
}

/* Active Slide */
.hero-slider .slide.active {
  opacity: 1;
  z-index: 2;
}

/* Semi-transparent overlay for readability */

.slide-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

/* Text Content */
/* Slide content spacing */
.slide-content {
  position: relative;
  z-index: 2;
  max-width: 500px;
  margin-left: 80px; /* increased space from left */
  color: white;
  animation: fadeInUp 1s ease forwards;
}

/* Features list */
.slide-features {
  list-style: none;
  margin: 20px 0;
  padding: 0;
  font-size: 14px;
}

.slide-features li {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}

.slide-features li i {
  color: green;
  margin-right: 10px;
}

/* Adjust spacing on mobile */
@media(max-width:768px){
  .slide-content {
    margin-left: 20px;
    max-width: 90%;
    text-align: center;
  }
  .slide-title { font-size: 28px; }
  .slide-desc { font-size: 14px; }
  .slide-features li { justify-content: center; }
}

.slide-icon {
  font-size: 40px;
  margin-bottom: 15px;
  color: green;
}

.slide-title {
  font-size: 38px;
  margin-bottom: 15px;
}

.slide-desc {
  font-size: 16px;
  margin-bottom: 20px;
}

/* Hero Button */
.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #244A3B;
  color: white;
  padding: 14px 28px;
  border-radius: 12px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.hero-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(36,74,59,0.4);
}

/* Navigation Arrows */
.slider-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 20px;
  z-index: 3;
}

.slider-nav span {
  background: rgba(36,74,59,0.8);
  color: #fff;
  padding: 12px;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.3s;
}

.slider-nav span:hover {
  background: #244A3B;
}

/* Animation for text */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Mobile Responsive */
@media(max-width:768px){
  .slide-content {
    margin-left: 20px;
    max-width: 90%;
  }
  .slide-title { font-size: 28px; }
  .slide-desc { font-size: 14px; }
}

/* Section background */
.about-us-section {
  position: relative;
  padding: 120px 0;
  background: linear-gradient(120deg, #F8F8F8, #EDEDED);
  overflow: hidden;
  text-align: center;
}

/* Floating circles */
.floating-circle {
  position: absolute;
  border-radius: 50%;
  opacity: 0.05;
  background-color: #244A3B;
  z-index: 1;
  animation: floatAnim linear infinite;
}

/* Each circle different size, position, speed */
.circle-1 {
  width: 200px;
  height: 200px;
  top: -50px;
  left: -50px;
  animation-duration: 20s;
}
.circle-2 {
  width: 150px;
  height: 150px;
  top: 50px;
  right: -40px;
  background-color: #4A555B;
  animation-duration: 25s;
}
.circle-3 {
  width: 100px;
  height: 100px;
  bottom: -30px;
  left: 20%;
  animation-duration: 18s;
}
.circle-4 {
  width: 180px;
  height: 180px;
  bottom: 40px;
  right: 10%;
  animation-duration: 22s;
}

/* Floating animation */
@keyframes floatAnim {
  0% { transform: translateY(0) translateX(0) rotate(0deg); }
  50% { transform: translateY(-30px) translateX(20px) rotate(15deg); }
  100% { transform: translateY(0) translateX(-20px) rotate(-15deg); }
}

/* Intro heading */
.about-us-intro {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto 60px auto;
}

.about-us-intro h2 {
  font-size: 40px;
  color: #4A555B;
  margin-bottom: 15px;
}

.about-us-intro p {
  font-size: 16px;
  color: #4A555B;
}

/* Flip Cards Grid */
.flip-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  justify-items: center;
  position: relative;
  z-index: 2;
  padding: 40px 0;
}

/* Flip Card Styles */
.flip-card {
  width: 220px;
  height: 260px;
  perspective: 1000px;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
  border-radius: 20px;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.flip-card-front {
  background: #244A3B;
  color: white;
}

.flip-card-front i {
  font-size: 36px;
  margin-bottom: 15px;
  color: white;
}

.flip-card-front h3 {
  font-size: 20px;
}

.flip-card-back {
  background: #ffffff;
  color: #4A555B;
  transform: rotateY(180deg);
  font-size: 14px;
}

/* Mobile adjustments */
@media(max-width:768px){
  .flip-cards-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 cards per row */
    gap: 20px;
  }
  .flip-card {
    width: 100%;
    height: 220px;
  }
}

/* =========================
   Products Section CSS
========================= */

/* Products Section */
.products-section {
  padding: 100px 0;
  background: #F8F8F8;
  text-align: center;
}

/* Section Title and Subtitle */
.section-title {
  font-size: 36px;
  color: #4A555B;
  margin-bottom: 10px;
}

.section-subtitle {
  font-size: 16px;
  color: #4A555B;
  margin-bottom: 50px;
}

/* Grid layout for product cards */
.products-grid {
  display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 cards per row on desktop */
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* Product Card Styles */
.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 cards per row on desktop */
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.product-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

.product-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-bottom: 1px solid #eee;
}

.product-card h3 {
    color: #244A3B;
    margin: 15px 0 10px;
    font-size: 1.1rem;
}

.product-card p {
    color: #4A555B;
    font-size: 0.95rem;
    margin-bottom: 15px;
    padding: 0 10px;
}

.product-btn {
    display: inline-block;
    background-color: #244A3B;
    color: #fff !Important;
    padding: 10px 20px;
    border-radius: 8px;
    margin-bottom: 15px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.product-btn:hover {
    background-color: #4A555B;
}

/* Responsive for tablets */
@media (max-width: 992px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 cards per row */
    }
}

/* Responsive for mobile */
@media (max-width: 600px) {
    .products-grid {
        grid-template-columns: 1fr; /* 1 card per row */
    }

    .product-card h3 {
        font-size: 1rem;
    }

    .product-card p {
        font-size: 0.9rem;
    }

    .product-btn {
        padding: 8px 15px;
        font-size: 0.9rem;
    }
}

/* Badge */
.product-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #244A3B;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}


.product-btn i {
  font-size: 12px;
}

.product-btn:hover {
  transform: translateX(3px);
  color: #1f3d30;
}

/* =========================
   Responsive Adjustments
========================= */
@media(max-width:1024px){
  .products-grid {
    gap: 25px;
  }
}

@media(max-width:768px){
  .products-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
  }

  .product-card img { max-height: 140px; }
  .product-card { padding: 15px; border-radius: 20px; }
  .product-badge { top: 10px; right: 10px; padding: 4px 8px; font-size: 11px; }
}

/* =========================
   Products Section
========================= */

.products-section {
  padding: 100px 0;
  background: #F8F8F8;
  text-align: center;
}

/* Section Header */
.products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  /*margin-bottom: 40px;*/
}

.header-left { text-align: left; }
.header-right { text-align: right; }

.view-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #244A3B;
  color: #fff;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.view-all-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(36,74,59,0.35);
}

/* Products Grid */
.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  justify-items: center;
}

/* Product Card */
.product-card {
  position: relative;
  background: #ffffff;
  padding: 25px 20px;
  border-radius: 25px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(36,74,59,0.02),
    rgba(36,74,59,0.02) 10px,
    transparent 10px,
    transparent 20px
  );
}

/* Hover Lift + Shadow */
.product-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}

/* Badge */
.product-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  color: #fff;
}

.badge-new { background: #28a745; }
.badge-popular { background: #ffc107; }

/* Product Image */
.product-img-wrapper {
  margin-bottom: 15px;
}

.product-img-wrapper img {
  width: 100%;
  max-height: 180px;
  object-fit: contain;
  border-radius: 20px;
}

/* Product Title & Description */
.product-card h3 {
  font-size: 20px;
  color: #4A555B;
  margin-bottom: 10px;
}

.product-card p {
  font-size: 14px;
  color: #4A555B;
  margin-bottom: 15px;
}

/* CTA Button */
.product-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #244A3B;
  font-weight: 600;
  text-decoration: none;
  transition: 0.3s;
}

.product-btn i { font-size: 12px; }

.product-btn:hover {
  transform: translateX(3px);
  color: #1f3d30;
}

/* =========================
   Responsive
========================= */
@media(max-width:1024px){
  .products-grid { gap: 25px; }
}

@media(max-width:768px){
  .products-header { flex-direction: column; align-items: flex-start; gap: 15px; }
  .header-right { text-align: left; }

  .products-grid {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 20px;
  }
  .product-card { padding: 15px; border-radius: 20px; }
  .product-img-wrapper img { max-height: 175px; }
  .product-badge { top: 10px; right: 10px; padding: 4px 8px; font-size: 11px; }
}

/* =========================
   How It Works Section
========================= */
.how-it-works {
  padding: 100px 0;
  background: #F8F8F8;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Section Title & Subtitle */
.how-it-works .section-title {
  font-size: 36px;
  color: #4A555B;
  margin-bottom: 10px;
}

.how-it-works .section-subtitle {
  font-size: 16px;
  color: #4A555B;
  margin-bottom: 50px;
}

/* Steps Grid */
.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  justify-items: center;
  padding: 0 10px;
}

/* Individual Step Card */
.step-card {
  background: #ffffff;
  padding: 25px 20px;
  border-radius: 25px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  opacity: 0; /* hidden initially for scroll animation */
  transform: translateY(30px); /* initial slide-up offset */
  transition: all 0.6s ease-out;
  position: relative;
  z-index: 1;
}

/* Hover Lift + Shadow */
.step-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}

/* Step Icon */
.step-icon {
  font-size: 40px;
  color: #244A3B;
  margin-bottom: 15px;
}

/* Step Title */
.step-card h3 {
  font-size: 20px;
  color: #4A555B;
  margin-bottom: 10px;
}

/* Step Description */
.step-card p {
  font-size: 14px;
  color: #4A555B;
}

/* Animated State on Scroll */
.step-card.animate {
  opacity: 1;
  transform: translateY(0);
}

/* =========================
   Responsive Layouts
========================= */

/* Tablet */
@media(max-width:1024px){
  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
  }
}

/* Mobile */
@media(max-width:768px){
  .steps-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Base styles (same as before) */
.how-it-works {
  padding: 100px 0;
  background: #F8F8F8;
  text-align: center;
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  justify-items: center;
}

/* Step Card */
.step-card {
  background: #ffffff;
  padding: 25px 20px;
  border-radius: 25px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  opacity: 0; /* hidden by default */
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

/* Hover effect */
.step-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}

/* Step Icon */
.step-icon { font-size: 40px; color: #244A3B; margin-bottom: 15px; }
.step-card h3 { font-size: 20px; color: #4A555B; margin-bottom: 10px; }
.step-card p { font-size: 14px; color: #4A555B; }

/* Animated state */
.step-card.animate {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media(max-width:1024px){ .steps-grid { grid-template-columns: repeat(2, 1fr); gap: 25px; } }
@media(max-width:768px){ .steps-grid { grid-template-columns: 1fr; gap: 20px; } }

/* Step Card Hover Enhancement */
.step-card {
  background: #ffffff;
  padding: 25px 20px;
  border-radius: 25px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  opacity: 0; /* for scroll animation */
  transform: translateY(30px);
  transition: all 0.5s ease; /* smooth hover transition */
  position: relative;
  z-index: 1;
}

/* Hover Effect */
.step-card:hover {
  transform: translateY(-5px) scale(1.05); /* zoom in */
  background: #e0f2ef; /* subtle greenish highlight */
  box-shadow: 0 20px 50px rgba(36,74,59,0.25); /* deeper shadow */
}

/* Step Icon remains same, optional icon color change */
.step-card:hover .step-icon {
  color: #244A3B; /* slightly darker on hover */
}

/* Animated entrance on scroll */
.step-card.animate {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* =========================
   CTA Section
========================= */
.cta-footer-section {
  position: relative;
  background: linear-gradient(135deg, #244A3B, #1f3d30);
  padding: 80px 20px 40px; /* reduced bottom padding */
  color: #fff;
  border-radius: 20px 20px 0 0;
  margin-bottom: 0;
  overflow: hidden;
}

/* =========================
   CTA Floating Circles Animation
========================= */

.cta-footer-section {
  position: relative;
  overflow: hidden;
}

/* Base circle */
.cta-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  z-index: 1;
  pointer-events: none;
  filter: blur(1px);
}

/* Circle 1 */
.cta-circle-1 {
  width: 220px;
  height: 220px;
  top: -70px;
  left: -60px;
  animation: ctaFloatOne 9s ease-in-out infinite alternate;
}

/* Circle 2 */
.cta-circle-2 {
  width: 160px;
  height: 160px;
  bottom: -50px;
  right: -40px;
  animation: ctaFloatTwo 11s ease-in-out infinite alternate;
}

/* Circle 3 */
.cta-circle-3 {
  width: 110px;
  height: 110px;
  top: 45%;
  right: 25%;
  animation: ctaFloatThree 8s ease-in-out infinite alternate;
}

/* Keep content above circles */
.cta-container {
  position: relative;
  z-index: 3;
}

/* Animation 1 */
@keyframes ctaFloatOne {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
  50% {
    transform: translate(35px, 25px) scale(1.08) rotate(18deg);
  }
  100% {
    transform: translate(70px, 5px) scale(0.96) rotate(35deg);
  }
}

/* Animation 2 */
@keyframes ctaFloatTwo {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
  50% {
    transform: translate(-45px, -30px) scale(1.12) rotate(-20deg);
  }
  100% {
    transform: translate(-80px, -10px) scale(0.95) rotate(-35deg);
  }
}

/* Animation 3 */
@keyframes ctaFloatThree {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 0.45;
  }
  50% {
    transform: translate(25px, -35px) scale(1.15);
    opacity: 0.75;
  }
  100% {
    transform: translate(-20px, 25px) scale(0.9);
    opacity: 0.5;
  }
}

/* Mobile adjustment */
@media (max-width: 768px) {
  .cta-circle-1 {
    width: 150px;
    height: 150px;
    top: -45px;
    left: -40px;
  }

  .cta-circle-2 {
    width: 120px;
    height: 120px;
    bottom: -35px;
    right: -30px;
  }

  .cta-circle-3 {
    width: 80px;
    height: 80px;
    top: 55%;
    right: 8%;
  }
}

/* Optional: reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .cta-floating {
    animation: none;
  }
}

/* =========================
   Iron Gate Modern Hero Slider
========================= */

.ig-hero-slider {
  position: relative;
  min-height: 720px;
  background:
    radial-gradient(circle at top left, rgba(74, 85, 91, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f7f7f7 48%, #ececec 100%);
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  padding: 80px 70px 95px;
}

/* Background moving shapes */
.ig-hero-shape {
  position: absolute;
  border-radius: 50%;
  background: rgba(74, 85, 91, 0.08);
  border: 1px solid rgba(74, 85, 91, 0.08);
  z-index: -1;
  pointer-events: none;
}

.ig-shape-one {
  width: 260px;
  height: 260px;
  top: -90px;
  left: -80px;
  animation: igShapeFloatOne 10s ease-in-out infinite alternate;
}

.ig-shape-two {
  width: 180px;
  height: 180px;
  right: 8%;
  top: 12%;
  animation: igShapeFloatTwo 12s ease-in-out infinite alternate;
}

.ig-shape-three {
  width: 340px;
  height: 340px;
  right: -130px;
  bottom: -140px;
  animation: igShapeFloatThree 14s ease-in-out infinite alternate;
}

/* Slider stage */
.ig-slider-stage {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  min-height: 560px;
}

/* Slides */
.ig-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 70px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(35px);
  transition: opacity 0.75s ease, transform 0.75s ease, visibility 0.75s ease;
}

.ig-slide-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

/* Left content */
.ig-slide-copy {
  max-width: 620px;
}

.ig-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #ffffff;
  color: #4A555B;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  margin-bottom: 24px;
  border: 1px solid #e8e8e8;
}

.ig-eyebrow i {
  color: #4A555B;
}

.ig-slide-copy h1 {
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.05;
  color: #2f3437;
  margin-bottom: 22px;
  letter-spacing: -1.6px;
}

.ig-slide-copy p {
  font-size: 17px;
  line-height: 1.75;
  color: #5f676c;
  max-width: 560px;
  margin-bottom: 26px;
}

/* Features */
.ig-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 34px;
}

.ig-feature-grid span {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid #e6e6e6;
  color: #4A555B;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.04);
}

.ig-feature-grid i {
  color: #4A555B;
  font-size: 12px;
}

/* Buttons */
.ig-slider-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.ig-primary-btn,
.ig-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  border-radius: 16px;
  font-weight: 700;
  transition: all 0.3s ease;
}

.ig-primary-btn {
  background: #343c41;
  color: #ffffff;
  padding: 16px 26px;
  box-shadow: 0 16px 35px rgba(52, 60, 65, 0.22);
}

.ig-primary-btn:hover {
  transform: translateY(-3px);
  background: #242a2e;
  box-shadow: 0 22px 45px rgba(52, 60, 65, 0.3);
}

.ig-secondary-btn {
  background: #ffffff;
  color: #343c41;
  padding: 15px 22px;
  border: 1px solid #dddddd;
}

.ig-secondary-btn:hover {
  transform: translateY(-3px);
  border-color: #bfc3c6;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.08);
}

/* Right visual */
.ig-slide-visual {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ig-main-image-card {
  position: relative;
  width: min(460px, 100%);
  height: 500px;
  background: #ffffff;
  border: 1px solid #e7e7e7;
  border-radius: 34px;
  padding: 18px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.12);
  animation: igImageFloat 5s ease-in-out infinite alternate;
}

.ig-main-image-card::before {
  content: "";
  position: absolute;
  inset: 40px -18px -18px 40px;
  border-radius: 34px;
  background: rgba(74, 85, 91, 0.08);
  z-index: -1;
}

.ig-main-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 26px;
  display: block;
  filter: grayscale(8%);
}

.ig-image-label {
  position: absolute;
  left: 34px;
  bottom: 34px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(255, 255, 255, 0.92);
  color: #343c41;
  padding: 12px 16px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(8px);
}

/* Floating mini cards */
.ig-floating-card {
  position: absolute;
  width: 230px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 13px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(10px);
}

.ig-floating-card i {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #f1f1f1;
  color: #4A555B;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.ig-floating-card strong {
  display: block;
  color: #343c41;
  font-size: 14px;
  margin-bottom: 3px;
}

.ig-floating-card small {
  color: #697177;
  font-size: 12px;
}

.ig-card-top {
  top: 68px;
  left: -20px;
  animation: igMiniCardOne 4.5s ease-in-out infinite alternate;
}

.ig-card-bottom {
  right: -20px;
  bottom: 74px;
  animation: igMiniCardTwo 5.5s ease-in-out infinite alternate;
}

/* Arrows */
.ig-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid #e0e0e0;
  background: rgba(255, 255, 255, 0.9);
  color: #343c41;
  border-radius: 50%;
  cursor: pointer;
  z-index: 5;
  transition: all 0.3s ease;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.ig-slider-arrow:hover {
  background: #343c41;
  color: #ffffff;
  transform: translateY(-50%) scale(1.08);
}

.ig-prev {
  left: 24px;
}

.ig-next {
  right: 24px;
}

/* Dots */
.ig-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 5;
}

.ig-dot {
  width: 11px;
  height: 11px;
  border: 0;
  border-radius: 999px;
  background: #c6c9cc;
  cursor: pointer;
  transition: all 0.3s ease;
}

.ig-dot-active {
  width: 34px;
  background: #343c41;
}

/* Animations */
.ig-slide-active .ig-eyebrow {
  animation: igFadeUp 0.7s ease both;
}

.ig-slide-active h1 {
  animation: igFadeUp 0.8s ease both 0.08s;
}

.ig-slide-active p {
  animation: igFadeUp 0.8s ease both 0.16s;
}

.ig-slide-active .ig-feature-grid {
  animation: igFadeUp 0.8s ease both 0.24s;
}

.ig-slide-active .ig-slider-actions {
  animation: igFadeUp 0.8s ease both 0.32s;
}

.ig-slide-active .ig-slide-visual {
  animation: igFadeInScale 0.9s ease both 0.18s;
}

@keyframes igFadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes igFadeInScale {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes igImageFloat {
  from {
    transform: translateY(0) rotate(0deg);
  }
  to {
    transform: translateY(-16px) rotate(1deg);
  }
}

@keyframes igMiniCardOne {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(18px, -18px);
  }
}

@keyframes igMiniCardTwo {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(-18px, 18px);
  }
}

@keyframes igShapeFloatOne {
  from {
    transform: translate(0, 0) scale(1);
  }
  to {
    transform: translate(60px, 35px) scale(1.08);
  }
}

@keyframes igShapeFloatTwo {
  from {
    transform: translate(0, 0) scale(1);
  }
  to {
    transform: translate(-45px, 50px) scale(0.92);
  }
}

@keyframes igShapeFloatThree {
  from {
    transform: translate(0, 0) scale(1);
  }
  to {
    transform: translate(-70px, -40px) scale(1.06);
  }
}

/* Responsive */
@media (max-width: 1100px) {
  .ig-hero-slider {
    padding: 70px 35px 95px;
  }

  .ig-slide {
    gap: 40px;
  }

  .ig-main-image-card {
    height: 460px;
  }

  .ig-card-top {
    left: -5px;
  }

  .ig-card-bottom {
    right: -5px;
  }
}

@media (max-width: 900px) {
  .ig-hero-slider {
    min-height: auto;
    padding: 70px 22px 90px;
  }

  .ig-slider-stage {
    min-height: 900px;
  }

  .ig-slide {
    grid-template-columns: 1fr;
    gap: 35px;
    text-align: center;
  }

  .ig-slide-copy {
    margin: 0 auto;
  }

  .ig-slide-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .ig-feature-grid {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .ig-slider-actions {
    justify-content: center;
  }

  .ig-slide-visual {
    min-height: 430px;
  }

  .ig-main-image-card {
    height: 420px;
    max-width: 420px;
  }

  .ig-slider-arrow {
    top: auto;
    bottom: 28px;
    transform: none;
  }

  .ig-slider-arrow:hover {
    transform: scale(1.08);
  }

  .ig-prev {
    left: 22px;
  }

  .ig-next {
    right: 22px;
  }
}

@media (max-width: 600px) {
  .ig-hero-slider {
    padding: 55px 16px 85px;
  }

  .ig-slider-stage {
    min-height: 880px;
  }

  .ig-slide-copy h1 {
    font-size: 34px;
    letter-spacing: -0.8px;
  }

  .ig-slide-copy p {
    font-size: 15px;
  }

  .ig-feature-grid {
    grid-template-columns: 1fr;
  }

  .ig-primary-btn,
  .ig-secondary-btn {
    width: 100%;
  }

  .ig-slide-visual {
    min-height: 360px;
  }

  .ig-main-image-card {
    height: 340px;
    border-radius: 26px;
  }

  .ig-main-image-card img {
    border-radius: 20px;
  }

  .ig-floating-card {
    width: 190px;
    padding: 12px;
  }

  .ig-card-top {
    top: 20px;
    left: 5px;
  }

  .ig-card-bottom {
    right: 5px;
    bottom: 30px;
  }

  .ig-image-label {
    left: 24px;
    bottom: 24px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ig-hero-shape,
  .ig-main-image-card,
  .ig-floating-card,
  .ig-slide-active .ig-eyebrow,
  .ig-slide-active h1,
  .ig-slide-active p,
  .ig-slide-active .ig-feature-grid,
  .ig-slide-active .ig-slider-actions,
  .ig-slide-active .ig-slide-visual {
    animation: none !important;
  }

  .ig-slide {
    transition: none;
  }
}

.cta-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
}

.cta-left h2 {
  font-size: 32px;
  margin-bottom: 15px;
}

.cta-left p {
  font-size: 16px;
  line-height: 1.6;
}

.cta-right .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: green;
  color: white;
  font-weight: 700;
  font-size: 18px;
  padding: 18px 30px;
  border-radius: 14px;
  box-shadow: 0 8px 25px rgba(36,74,59,0.3);
  transition: all 0.3s ease;
}

.cta-right .cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(36,74,59,0.5);
  background: black;
}

@keyframes floatCircle1 {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(20px, -10px) rotate(15deg); }
  50% { transform: translate(0, 15px) rotate(0deg); }
  75% { transform: translate(-20px, -10px) rotate(-15deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes floatCircle2 {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(-15px, 20px) rotate(10deg); }
  50% { transform: translate(10px, -15px) rotate(-10deg); }
  75% { transform: translate(-10px, 10px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}
@keyframes floatCircle3 {
  0% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
  25% { transform: translate(-45%, -55%) rotate(10deg) scale(1.05); }
  50% { transform: translate(-55%, -50%) rotate(-10deg) scale(1); }
  75% { transform: translate(-50%, -45%) rotate(5deg) scale(1.03); }
  100% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
}

/* =========================
   Footer Section
========================= */

.site-footer {
  background: #3A4449;
  color: #F8F8F8;
  padding: 80px 20px 30px;
  font-family: 'Sora', sans-serif;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Desktop: Proper 4 Columns */
.footer-top {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr 0.75fr 1.15fr;
  gap: 40px;
  margin-bottom: 40px;
  align-items: flex-start;
}

/* Important Fix:
   This makes Company and Quick Links act as separate grid columns */
.footer-col-wrapper {
  display: contents;
}

.footer-col {
  min-width: 0;
}

.footer-logo-desc .footer-logo {
  width: 150px;
  margin-bottom: 15px;
}

.footer-logo-desc p {
  font-size: 14px;
  line-height: 1.7;
  color: #F8F8F8;
  margin: 0;
}

.footer-col h3 {
  color: green;
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 600;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col ul li {
  margin-bottom: 8px;
}

.footer-col ul li:last-child {
  margin-bottom: 0;
}

.footer-col ul li a {
  color: #F8F8F8;
  text-decoration: none;
  transition: color 0.3s ease;
  font-size: 14px;
}

.footer-col ul li a:hover {
  color: green;
}

.footer-contact p {
  font-size: 14px;
  margin: 0 0 10px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #F8F8F8;
  line-height: 1.5;
}

.footer-contact i {
  color: green;
  margin-top: 3px;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.footer-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #F8F8F8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer-social a:hover {
  background: #FFD700;
  color: #3A4449;
  transform: translateY(-3px);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding-top: 18px;
  font-size: 14px;
}

.footer-bottom-left {
  color: #F8F8F8;
}

.footer-bottom-right {
  color: #F8F8F8;
}

.footer-bottom-right a {
  color: #F8F8F8;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-bottom-right a:hover {
  color: green;
}

/* Tablet */
@media (max-width: 992px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 35px 30px;
  }

  .footer-logo-desc {
    grid-column: 1 / -1;
  }

  .footer-contact {
    grid-column: 1 / -1;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .site-footer {
    padding: 55px 18px 25px;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 28px 22px;
    margin-bottom: 32px;
  }

  /* Logo full width */
  .footer-logo-desc {
    grid-column: 1 / -1;
    text-align: center;
  }

  .footer-logo-desc .footer-logo {
    width: 135px;
    margin: 0 auto 14px;
    display: block;
  }

  .footer-logo-desc p {
    max-width: 430px;
    margin: 0 auto;
    font-size: 13.5px;
  }

  /* Column 2 and Column 3 stay side by side */
  .footer-company {
    grid-column: 1 / 2;
  }

  .footer-links {
    grid-column: 2 / 3;
  }

  .footer-col h3 {
    font-size: 16px;
    margin-bottom: 12px;
  }

  .footer-col ul li {
    margin-bottom: 6px;
  }

  .footer-col ul li a {
    font-size: 13.5px;
  }

  /* Contact full width below */
  .footer-contact {
    grid-column: 1 / -1;
    text-align: left;
  }

  .footer-contact p {
    font-size: 13.5px;
  }

  .footer-social {
    justify-content: flex-start;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 10px;
    font-size: 13px;
  }

  .footer-bottom-right a {
    margin: 0 4px;
  }
}

/* Small Mobile */
@media (max-width: 420px) {
  .footer-top {
    gap: 25px 16px;
  }

  .footer-col h3 {
    font-size: 15px;
  }

  .footer-col ul li a {
    font-size: 13px;
  }

  .footer-contact {
    text-align: center;
  }

  .footer-contact p {
    justify-content: center;
  }

  .footer-social {
    justify-content: center;
  }
}

/* =========================
   Mobile Responsive
========================= */
@media(max-width:768px){
  /* CTA stacking */
  .cta-container { flex-direction: column; text-align: center; gap: 25px; }
  .cta-left h2 { font-size: 28px; }
  .cta-left p { font-size: 15px; }
  .cta-right .cta-btn { font-size: 16px; padding: 15px 25px; }
}

.footer-contact a {
  color: #F8F8F8;
  text-decoration: none;
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
}

.footer-contact a:hover {
  color: green;
}

/* =========================
   About Us Hero Section
========================= */
.about-hero-modern {
  position: relative;
  width: 100%;
  height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Background image */
.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/about_hero.webp'); /* replace with your image */
  background-size: cover;
  background-position: center;
  filter: brightness(0.6);
  z-index: 1;
}

/* Hero Content Card */
.hero-content {
  position: relative;
  z-index: 2;
  background: rgba(36, 74, 59, 0.6); /* theme accent with transparency */
  backdrop-filter: blur(12px);
  padding: 40px 30px;
  border-radius: 20px;
  max-width: 700px;
  text-align: center;
  color: #F8F8F8;
  animation: fadeInUp 1s ease forwards;
}

/* Headline */
.hero-content h1 {
  font-size: 36px;
  margin-bottom: 15px;
  color: #F8F8F8;
  font-weight: 700;
  line-height: 1.2;
}

/* Paragraph */
.hero-content p {
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 1.6;
  color: #F8F8F8;
}

/* Hero Badges */
.hero-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-bottom: 25px;
}

.hero-badges span {
  background: rgba(74,85,91,0.8); /* #4A555B */
  padding: 8px 15px;
  border-radius: 12px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #F8F8F8;
  transition: transform 0.3s ease;
}

.hero-badges span:hover {
  transform: translateY(-3px) scale(1.05);
}

/* CTA Button */
.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B; /* theme accent */
  color: #F8F8F8;
  padding: 15px 30px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
  box-shadow: 0 8px 25px rgba(36,74,59,0.3);
  transition: all 0.3s ease;
}

.hero-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(36,74,59,0.5);
  background: #1f3d30; /* darker hover shade */
}

/* Floating Circles */
.hero-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: floatHero 15s ease-in-out infinite;
}

.circle-1 { width: 200px; height: 200px; top: 10%; left: 5%; }
.circle-2 { width: 120px; height: 120px; bottom: 15%; right: 10%; }
.circle-3 { width: 100px; height: 100px; top: 50%; left: 70%; transform: translate(-50%, -50%); }

/* Floating animation */
@keyframes floatHero {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(15px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Fade-in animation for hero content */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:1024px){
  .hero-content { padding: 30px 20px; }
  .hero-content h1 { font-size: 32px; }
  .hero-content p { font-size: 15px; }
  .hero-badges { gap: 10px; }
  .hero-btn { font-size: 16px; padding: 12px 25px; }
}

@media(max-width:768px){
  .about-hero-modern { height: 450px; }
  .hero-content h1 { font-size: 28px; }
  .hero-content p { font-size: 14px; }
  .hero-badges { flex-direction: column; gap: 8px; }
  .hero-btn { width: 100%; justify-content: center; }
}

/* Section Base */
.our-story-dashing {
  position: relative;
  background: #F8F8F8;
  padding: 150px 20px;
  overflow: hidden;
}

@media (max-width: 768px) {
  .our-story-dashing {
    padding: 75px 20px !important;
  }
  
  .highlights-dynamic{
      padding: 50px 20px;
  }
}

/* Container */
.story-dashing-container {
  display: flex;
  align-items: center;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
}

/* Left Image */
.story-image img {
  width: 100%;
  max-width: 550px;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(36,74,59,0.15);
  transition: transform 0.4s ease;
}
.story-image img:hover { transform: scale(1.03) rotate(-1deg); }

/* Right Glass Card */
.story-card {
  flex: 1;
  background: rgba(36,74,59,0.15); /* theme color with transparency */
  backdrop-filter: blur(15px);
  padding: 50px 35px;
  border-radius: 25px;
  box-shadow: 0 25px 60px rgba(36,74,59,0.25);
  animation: fadeInUp 1s ease forwards;
  position: relative;
  z-index: 2;
}

/* Headline */
.story-card h2 {
  font-size: 38px;
  color: #244A3B;
  margin-bottom: 25px;
  font-weight: 700;
}

/* Paragraph */
.story-card p {
  font-size: 17px;
  line-height: 1.7;
  color: #4A555B;
  margin-bottom: 25px;
}

/* Badges */
.story-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.story-badges span {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 10px 18px;
  border-radius: 14px;
  font-size: 14px;
  animation: badgeIn 0.8s ease forwards;
  opacity: 0;
}

.story-badges span:nth-child(1) { animation-delay: 0.2s; }
.story-badges span:nth-child(2) { animation-delay: 0.4s; }
.story-badges span:nth-child(3) { animation-delay: 0.6s; }

@keyframes badgeIn {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* CTA Button */
.story-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 16px 35px;
  border-radius: 16px;
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 10px 30px rgba(36,74,59,0.35);
  transition: all 0.3s ease;
}

.story-cta-btn:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 15px 50px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* Floating shapes */
.story-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: floatStory 20s ease-in-out infinite;
}

.story-floating.circle-1 { width: 180px; height: 180px; top: 5%; left: 10%; }
.story-floating.circle-2 { width: 120px; height: 120px; bottom: 15%; right: 10%; }
.story-floating.circle-3 { width: 100px; height: 100px; top: 50%; left: 70%; transform: translate(-50%, -50%); }

@keyframes floatStory {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(15px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Fade-in animation */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:1024px){
  .story-dashing-container { flex-direction: column; gap: 40px; text-align: center; }
  .story-image img { max-width: 100%; }
  .story-card h2 { font-size: 32px; }
  .story-card p { font-size: 16px; }
}

@media(max-width:768px){
  .story-dashing-container { gap: 25px; }
  .story-card h2 { font-size: 28px; }
  .story-card p { font-size: 15px; }
  .story-badges { flex-direction: column; gap: 10px; }
  .story-cta-btn { width: 100%; justify-content: center; }
}

.highlights-dynamic {
  background: #F8F8F8;
  padding: 120px 20px;
  position: relative;
  overflow: hidden;
}

/* Section Heading */
.highlights-header {
  text-align: center;
  margin-bottom: 60px;
}
.highlights-header h2 {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 15px;
}
.highlights-header p {
  font-size: 16px;
  color: #4A555B;
  line-height: 1.6;
}

/* Cards Container */
.highlights-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

/* Highlight Panel Base */
.highlight-panel {
  flex: 1 1 250px;
  background: rgba(36,74,59,0.1);
  backdrop-filter: blur(12px);
  padding: 30px 20px;
  border-radius: 20px;
  text-align: center;
  box-shadow: 0 15px 40px rgba(36,74,59,0.15);
  transition: transform 0.4s ease, box-shadow 0.4s ease, background 0.4s ease;
  animation: fadeInUp 0.8s ease forwards;
}

/* Active / Sequential Highlight Colors */
.highlight-panel.active {
  background: #244A3B;
  color: #F8F8F8;
}
.highlight-panel.active i,
.highlight-panel.active h3,
.highlight-panel.active p { color: #F8F8F8; }

.highlight-panel.second { background: rgba(36,74,59,0.3); }
.highlight-panel.third { background: rgba(36,74,59,0.2); }
.highlight-panel.fourth { background: rgba(36,74,59,0.15); }

/* Hover effect */
.highlight-panel:hover {
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 25px 60px rgba(36,74,59,0.25);
}

/* Icons */
.highlight-panel i {
  font-size: 36px;
  margin-bottom: 15px;
}

/* Titles */
.highlight-panel h3 {
  font-size: 20px;
  margin-bottom: 12px;
  color: #244A3B;
}

/* Description */
.highlight-panel p {
  font-size: 14px;
  color: #4A555B;
  line-height: 1.6;
}

/* Fade-in animation */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:1024px){
  .highlight-panel { flex: 1 1 45%; }
}

@media(max-width:768px){
  .highlight-panel { flex: 1 1 100%; }
}

/* ===============================
   How to Order Section – Full CSS
=============================== */
.how-to-order-flow {
  position: relative;
  background: #F8F8F8;
  padding: 120px 20px;
  overflow: hidden;
}

.section-header {
  text-align: center;
  margin-bottom: 60px;
}

.section-header h2 {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 15px;
}

.section-header p {
  font-size: 16px;
  color: #4A555B;
  line-height: 1.6;
}

/* Steps wrapper */
.order-steps-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  gap: 40px;
}

/* Horizontal connecting line */
.order-line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 4px;
  background: rgba(36,74,59,0.2);
  z-index: 0;
}

.order-line::after {
  content: '';
  position: absolute;
  height: 100%;
  width: 0%;
  background: #244A3B;
  animation: glowLine 4s linear infinite;
  top: 0;
  left: 0;
}

/* Glow animation for line */
@keyframes glowLine {
  0% { width: 0%; }
  100% { width: 100%; }
}

/* Individual Step Card */
.order-step {
  position: relative;
  flex: 1 1 220px;
  background: rgba(36,74,59,0.1);
  backdrop-filter: blur(12px);
  padding: 50px 20px 30px 60px;
  border-radius: 20px;
  text-align: left;
  box-shadow: 0 15px 40px rgba(36,74,59,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  z-index: 1;
  animation: fadeInUp 0.8s ease forwards;
}

.order-step:hover {
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 25px 60px rgba(36,74,59,0.25);
}

/* Big Step Numbers */
.step-number {
  position: absolute;
  top: 20px;
  left: -35px;
  font-size: 60px;
  font-weight: 800;
  color: #244A3B;
  opacity: 0.1;
  z-index: 2;
}

/* Step Icons */
.order-step i {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 15px;
  display: block;
}

/* Step Titles */
.order-step h3 {
  font-size: 20px;
  color: #244A3B;
  margin-bottom: 12px;
}

/* Step Descriptions */
.order-step p {
  font-size: 14px;
  color: #4A555B;
  line-height: 1.6;
}

/* Fade-in animation for cards */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Floating background shapes (optional) */
.order-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: floatOrder 15s ease-in-out infinite;
}
.order-floating.circle-1 { width: 150px; height: 150px; top: 10%; left: 5%; }
.order-floating.circle-2 { width: 120px; height: 120px; bottom: 10%; right: 10%; }

/* Floating Animation */
@keyframes floatOrder {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(10px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Responsive Styles */
@media(max-width:1024px){
  .order-step { flex: 1 1 45%; padding-left: 50px; }
  .step-number { font-size: 50px; left: -30px; }
}

@media(max-width:768px){
  .order-steps-wrapper { flex-direction: column; gap: 25px; }
  .order-step { flex: 1 1 100%; padding-left: 50px; }
  .step-number { font-size: 40px; left: -25px; }
}

.contact-hero-modern {
  position: relative;
  width: 100%;
  height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

/* Background */
.contact-hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/contact_hero.webp'); /* replace with your image */
  background-size: cover;
  background-position: center;
  filter: brightness(0.6);
  z-index: 1;
}

/* Hero content card */
.contact-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 30px 20px;
  background: rgba(36,74,59,0.15); /* glass-style */
  backdrop-filter: blur(12px);
  border-radius: 20px;
  animation: contact-hero-fadeIn 1s ease forwards;
}

.contact-hero-content h1 {
  font-size: 42px;
  margin-bottom: 20px;
  color: #244A3B;
}

.contact-hero-content p {
  font-size: 18px;
  margin-bottom: 25px;
  color: #4A555B;
  line-height: 1.6;
}

/* Badges */
.contact-hero-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.contact-hero-badges span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  border-radius: 12px;
  font-size: 14px;
  color: #F8F8F8;
  background: #244A3B;
  transition: transform 0.3s ease;
}

.contact-hero-badges span:hover {
  transform: translateY(-3px) scale(1.05);
}

/* CTA Button */
.contact-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 15px 30px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 18px;
  box-shadow: 0 10px 30px rgba(36,74,59,0.3);
  text-decoration: none;
  transition: all 0.3s ease;
}

.contact-hero-btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 15px 50px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* Floating Circles */
.contact-hero-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: contact-hero-float 15s ease-in-out infinite;
}
.contact-hero-floating.circle-1 { width: 200px; height: 200px; top: 10%; left: 5%; }
.contact-hero-floating.circle-2 { width: 120px; height: 120px; bottom: 15%; right: 10%; }

/* Animations */
@keyframes contact-hero-fadeIn {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes contact-hero-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(15px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Responsive */
@media(max-width:1024px){
  .contact-hero-content h1 { font-size: 36px; }
  .contact-hero-content p { font-size: 16px; }
}

@media(max-width:768px){
  .contact-hero-modern { height: 450px; }
  .contact-hero-content h1 { font-size: 28px; }
  .contact-hero-content p { font-size: 14px; }
}

/* Section Base */
.contact-modern-section {
  position: relative;
  background: #F8F8F8;
  padding: 120px 20px;
  overflow: hidden;
}

/* Container */
.contact-modern-container {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
}

/* -------------------------
   Contact Form Card
--------------------------*/
.contact-form-modern-card {
  flex: 1 1 450px;
  background: rgba(36,74,59,0.12);
  backdrop-filter: blur(15px);
  padding: 50px 35px;
  border-radius: 25px;
  box-shadow: 0 20px 60px rgba(36,74,59,0.15);
  animation: fadeInUpModern 1s ease forwards;
}

.contact-form-modern-title {
  font-size: 34px;
  color: #244A3B;
  margin-bottom: 30px;
  text-align: center;
}

.contact-input-modern,
.contact-textarea-modern {
  width: 100%;
  padding: 16px 18px;
  margin-bottom: 15px;
  border-radius: 14px;
  border: 1px solid rgba(36,74,59,0.3);
  font-size: 15px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.contact-input-modern:focus,
.contact-textarea-modern:focus {
  border-color: #244A3B;
  box-shadow: 0 0 10px rgba(36,74,59,0.3);
  outline: none;
}

.contact-submit-modern {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 18px 35px;
  border-radius: 16px;
  font-weight: 700;
  font-size: 16px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 10px 30px rgba(36,74,59,0.35);
}

.contact-submit-modern:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 20px 60px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* -------------------------
   Modern Contact Info Card
--------------------------*/
.contact-info-modern-card {
  flex: 1 1 350px;
  background: rgba(36,74,59,0.12);
  backdrop-filter: blur(15px);
  padding: 50px 35px;
  border-radius: 25px;
  box-shadow: 0 20px 60px rgba(36,74,59,0.15);
  animation: fadeInUpModern 1s ease forwards;
}

.contact-info-modern-title {
  font-size: 32px;
  color: #244A3B;
  margin-bottom: 35px;
  text-align: center;
}

/* Badge layout */
.contact-info-badges {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.contact-info-badge {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 20px;
  border-radius: 18px;
  background: rgba(36,74,59,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info-badge:hover {
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 25px 60px rgba(36,74,59,0.25);
}

/* Icon */
.badge-icon i {
  font-size: 28px;
  color: #244A3B;
}

/* Content */
.badge-content .badge-title {
  font-weight: 700;
  font-size: 16px;
  color: #244A3B;
}

.badge-content .badge-text {
  font-size: 14px;
  color: #4A555B;
  line-height: 1.4;
}

/* Floating shapes */
.contact-floating-modern {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: contact-modern-float 15s ease-in-out infinite;
}

.contact-floating-modern.circle-one { width: 180px; height: 180px; top: 5%; left: 5%; }
.contact-floating-modern.circle-two { width: 120px; height: 120px; bottom: 10%; right: 10%; }

/* Floating animation */
@keyframes contact-modern-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(10px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Fade-in animation */
@keyframes fadeInUpModern {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:1024px){
  .contact-modern-container {
    flex-direction: column;
    gap: 35px;
    align-items: center;
  }
  .contact-form-modern-card,
  .contact-info-modern-card { max-width: 90%; }
}

@media(max-width:768px){
  .contact-form-modern-card,
  .contact-info-modern-card { padding: 35px 20px; }
  .contact-form-card-title { font-size: 28px; }
  .contact-info-modern-title { font-size: 26px; }
}

.contact-map-card-section {
  position: relative;
  background: #F8F8F8;
  padding: 80px 0;
}

.contact-map-card-container {
  max-width: 1100px;
  margin: 0 auto;
}

/* Map Card */
.contact-map-card {
  position: relative;
  border-radius: 25px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(36,74,59,0.2);
}

/* Google Map iframe */
.contact-map-iframe {
  width: 100%;
  height: 400px;
  border: 0;
  border-radius: 25px;
  filter: brightness(0.9);
}

/* Overlay Card */
.contact-map-overlay-card {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(36,74,59,0.15);
  backdrop-filter: blur(12px);
  padding: 20px 25px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(36,74,59,0.25);
  max-width: 280px;
}

.overlay-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #244A3B;
  margin-bottom: 8px;
}

.overlay-card-text {
  font-size: 14px;
  color: #4A555B;
  line-height: 1.5;
}

/* Responsive */
@media(max-width:1024px){
  .contact-map-overlay-card {
    top: 15px;
    left: 15px;
    max-width: 240px;
    padding: 18px 20px;
  }
}

@media(max-width:768px){
  .contact-map-card {
    height: auto;
  }
  .contact-map-iframe {
    height: 300px;
  }
  .contact-map-overlay-card {
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 90%;
    padding: 16px 18px;
  }
}

.order-hero-modern {
  position: relative;
  width: 100%;
  height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

/* Background Image */
.order-hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/order_hero.webp'); /* replace with your image */
  background-size: cover;
  background-position: center;
  filter: brightness(0.6);
  z-index: 1;
}

/* Hero Content */
.order-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 30px 20px;
  background: rgba(36,74,59,0.15);
  backdrop-filter: blur(12px);
  border-radius: 20px;
  animation: order-hero-fadeIn 1s ease forwards;
}

.order-hero-content h1 {
  font-size: 42px;
  margin-bottom: 20px;
  color: #244A3B;
}

.order-hero-content p {
  font-size: 18px;
  margin-bottom: 25px;
  color: #4A555B;
  line-height: 1.6;
}

/* Badges */
.order-hero-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.order-hero-badges span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  border-radius: 12px;
  font-size: 14px;
  color: #F8F8F8;
  background: #244A3B;
  transition: transform 0.3s ease;
}

.order-hero-badges span:hover {
  transform: translateY(-3px) scale(1.05);
}

/* CTA Button */
.order-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 15px 30px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 18px;
  box-shadow: 0 10px 30px rgba(36,74,59,0.3);
  text-decoration: none;
  transition: all 0.3s ease;
}

.order-hero-btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 15px 50px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* Floating Circles */
.order-hero-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: order-hero-float 15s ease-in-out infinite;
}
.order-hero-floating.circle-one { width: 200px; height: 200px; top: 10%; left: 5%; }
.order-hero-floating.circle-two { width: 120px; height: 120px; bottom: 15%; right: 10%; }

/* Animations */
@keyframes order-hero-fadeIn {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes order-hero-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(15px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Responsive */
@media(max-width:1024px){
  .order-hero-content h1 { font-size: 36px; }
  .order-hero-content p { font-size: 16px; }
}

@media(max-width:768px){
  .order-hero-modern { height: 450px; }
  .order-hero-content h1 { font-size: 28px; }
  .order-hero-content p { font-size: 14px; }
}

.order-form-card-section {
  position: relative;
  background: #F8F8F8;
  padding: 120px 20px;
  overflow: hidden;
}

.order-form-card-container {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

/* Form Card */
.order-form-card {
  position: relative;
  width: 100%;
  background: rgba(36,74,59,0.12);
  backdrop-filter: blur(15px);
  padding: 50px 40px;
  border-radius: 25px;
  box-shadow: 0 25px 60px rgba(36,74,59,0.2);
  animation: fadeInUpCard 1s ease forwards;
}

.order-form-card-title {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 10px;
  text-align: center;
}

.order-form-card-subtitle {
  font-size: 16px;
  color: #4A555B;
  text-align: center;
  margin-bottom: 40px;
}

/* Form fields */
.order-form-card-form .form-section-card {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 25px;
}

.order-input-card,
.order-select-card,
.order-textarea-card {
  flex: 1 1 48%;
  padding: 16px 18px;
  border-radius: 14px;
  border: 1px solid rgba(36,74,59,0.3);
  font-size: 14px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.order-input-card:focus,
.order-select-card:focus,
.order-textarea-card:focus {
  border-color: #244A3B;
  box-shadow: 0 0 10px rgba(36,74,59,0.3);
  outline: none;
}

.order-textarea-card {
  flex: 1 1 100%;
}

.order-select-card {
  appearance: none;
  cursor: pointer;
}

/* Submit button */
.order-submit-card {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 18px 35px;
  border-radius: 16px;
  font-weight: 700;
  font-size: 16px;
  border: none;
  cursor: pointer;
  margin-top: 10px;
  box-shadow: 0 15px 40px rgba(36,74,59,0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.order-submit-card:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 25px 60px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* Floating circles */
.order-floating-circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: floatOrder 15s ease-in-out infinite;
}

.order-floating-circle.circle-1 { width: 180px; height: 180px; top: 10%; left: 5%; }
.order-floating-circle.circle-2 { width: 120px; height: 120px; bottom: 10%; right: 10%; }
.order-floating-circle.circle-3 { width: 150px; height: 150px; top: 40%; right: 15%; }

@keyframes floatOrder {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(10px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Fade-in animation */
@keyframes fadeInUpCard {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:1024px){
  .order-form-card-form .form-section-card { flex-direction: column; }
  .order-input-card, .order-select-card { flex: 1 1 100%; }
}

@media(max-width:768px){
  .order-form-card { padding: 35px 25px; }
  .order-form-card-title { font-size: 28px; }
  .order-form-card-subtitle { font-size: 14px; }
}

.products-hero-modern {
  position: relative;
  width: 100%;
  height: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}

/* Background Image */
.products-hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/product_hero.webp'); /* replace with your image */
  background-size: cover;
  background-position: center;
  filter: brightness(0.6);
  z-index: 1;
}

/* Hero Content Card */
.products-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 30px 20px;
  background: rgba(36,74,59,0.15);
  backdrop-filter: blur(12px);
  border-radius: 20px;
  animation: products-hero-fadeIn 1s ease forwards;
}

.products-hero-content h1 {
  font-size: 42px;
  margin-bottom: 20px;
  color: #244A3B;
}

.products-hero-content p {
  font-size: 18px;
  margin-bottom: 25px;
  color: #4A555B;
  line-height: 1.6;
}

/* Badges */
.products-hero-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
}

.products-hero-badges span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 15px;
  border-radius: 12px;
  font-size: 14px;
  color: #F8F8F8;
  background: #244A3B;
  transition: transform 0.3s ease;
}

.products-hero-badges span:hover {
  transform: translateY(-3px) scale(1.05);
}

/* CTA Button */
.products-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 15px 30px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 18px;
  box-shadow: 0 10px 30px rgba(36,74,59,0.3);
  text-decoration: none;
  transition: all 0.3s ease;
}

.products-hero-btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 15px 50px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* Floating Circles */
.products-hero-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: products-hero-float 15s ease-in-out infinite;
}
.products-hero-floating.circle-one { width: 200px; height: 200px; top: 10%; left: 5%; }
.products-hero-floating.circle-two { width: 120px; height: 120px; bottom: 15%; right: 10%; }

/* Animations */
@keyframes products-hero-fadeIn {
  0% { opacity: 0; transform: translateY(30px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes products-hero-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(15px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Responsive */
@media(max-width:1024px){
  .products-hero-content h1 { font-size: 36px; }
  .products-hero-content p { font-size: 16px; }
}

@media(max-width:768px){
  .products-hero-modern { height: 450px; }
  .products-hero-content h1 { font-size: 28px; }
  .products-hero-content p { font-size: 14px; }
}

.products-intro-search-section {
  position: relative;
  background: #F8F8F8;
  padding: 80px 20px;
  overflow: hidden;
}

.products-intro-search-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  gap: 30px;
}

/* Left Side */
.products-intro-text {
  flex: 1 1 450px;
}

.products-intro-title {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 15px;
}

.products-intro-subtitle {
  font-size: 16px;
  color: #4A555B;
  line-height: 1.5;
}

/* Right Side – Search Bar */
.products-search-bar-wrapper {
  flex: 1 1 350px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.products-search-input {
  flex: 1 1 auto;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px solid rgba(36,74,59,0.3);
  font-size: 14px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.products-search-input:focus {
  border-color: #244A3B;
  box-shadow: 0 0 8px rgba(36,74,59,0.3);
  outline: none;
}

.products-search-btn {
  padding: 14px 18px;
  background: #244A3B;
  color: #F8F8F8;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  font-size: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.products-search-btn:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 10px 30px rgba(36,74,59,0.35);
}

/* Floating shapes */
.products-intro-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: products-intro-float 15s ease-in-out infinite;
}

.products-intro-floating.circle-one { width: 180px; height: 180px; top: 5%; left: 5%; }
.products-intro-floating.circle-two { width: 120px; height: 120px; bottom: 10%; right: 10%; }

@keyframes products-intro-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(10px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Responsive */
@media(max-width:1024px){
  .products-intro-search-container { flex-direction: column; gap: 20px; }
  .products-intro-text, .products-search-bar-wrapper { flex: 1 1 100%; }
}

@media(max-width:768px){
  .products-intro-title { font-size: 28px; }
  .products-intro-subtitle { font-size: 14px; }
  .products-search-input { font-size: 13px; padding: 12px 15px; }
  .products-search-btn { font-size: 14px; padding: 12px 15px; }
}

#product-grid-section {
  background: #F8F8F8;
  padding-bottom: 80px;
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 cards per row */
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

/* ================= Product Hero Section ================= */
.product-hero-modern {
  position: relative;
  background: #F8F8F8;
  padding: 100px 20px;
  overflow: hidden;
}

.product-hero-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
  gap: 40px;
}

/* Left: Product Image */
.product-hero-image {
  flex: 1 1 500px;
  text-align: center;
}

.product-hero-image img {
  max-width: 100%;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(36,74,59,0.2);
  transition: transform 0.3s ease;
}

.product-hero-image img:hover {
  transform: scale(1.03);
}

/* Right: Product Info */
.product-hero-info {
  flex: 1 1 500px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Product Top Badges */
.product-badges-top {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.product-badges-top .badge-new,
.product-badges-top .badge-popular {
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  color: #F8F8F8;
}

.badge-new { background: #28a745; }
.badge-popular { background: #dc3545; }

/* Product Title & Description */
.product-title {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 10px;
}

.product-subtitle {
  font-size: 16px;
  color: #4A555B;
  line-height: 1.6;
}

/* Feature Highlights */
.product-features {
  display: flex;
  gap: 20px;
  margin: 25px 0;
  flex-wrap: wrap;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(36,74,59,0.1);
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 14px;
  color: #244A3B;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-item i {
  font-size: 18px;
  color: #244A3B;
}

.feature-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(36,74,59,0.2);
}

/* CTA Button */
.product-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #244A3B;
  color: #F8F8F8;
  padding: 16px 35px;
  border-radius: 16px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 15px 50px rgba(36,74,59,0.3);
  transition: all 0.3s ease;
}

.product-cta-btn:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 25px 60px rgba(36,74,59,0.45);
  background: #1f3d30;
}

/* Floating circles */
.product-hero-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: product-hero-float 15s ease-in-out infinite;
}
.product-hero-floating.circle-one { width: 180px; height: 180px; top: 10%; left: 5%; }
.product-hero-floating.circle-two { width: 120px; height: 120px; bottom: 10%; right: 10%; }

/* Floating animation */
@keyframes product-hero-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(10px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Responsive */
@media(max-width:1024px){
  .product-hero-container { flex-direction: column; gap: 30px; }
  .product-title { font-size: 32px; }
  .product-subtitle { font-size: 15px; }
}

@media(max-width:768px){
  .product-title { font-size: 28px; }
  .product-subtitle { font-size: 14px; }
  .feature-item { font-size: 13px; padding: 6px 10px; }
  .product-cta-btn { font-size: 15px; padding: 14px 28px; }
}

.product-tabs-section {
  background: #F8F8F8;
  padding: 80px 20px;
}

.product-tabs-container {
  max-width: 900px;
  margin: 0 auto;
  background: white;
  backdrop-filter: blur(12px);
  padding: 40px 30px;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(36,74,59,0.15);
}

/* Tabs Navigation */
.product-tabs-nav {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}

.tab-link {
  background: #244A3B;
  color: #F8F8F8;
  border: none;
  padding: 10px 20px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s ease;
}

.tab-link:hover {
  background: #1f3d30;
  transform: translateY(-2px) scale(1.05);
}

.tab-link.active {
  background: #1f3d30;
  font-weight: 700;
}

/* Tabs Content */
.tab-content {
  display: none;
  font-size: 14px;
  color: #4A555B;
  line-height: 1.6;
  animation: fadeInUpTab 0.5s ease forwards;
}

.tab-content.active {
  display: block;
}

/* List inside tabs */
.tab-content ul {
  padding-left: 20px;
  list-style-type: disc;
  gap: 8px;
}

/* Animation */
@keyframes fadeInUpTab {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:768px){
  .tab-link { flex: 1 1 100%; text-align: center; }
}

/* ================= Product Tabs Section ================= */
.product-tabs-section {
  background: #F8F8F8;
  padding: 80px 20px;
}

.product-tabs-container {
  max-width: 900px;
  margin: 0 auto;
  background: white;
  backdrop-filter: blur(12px);
  padding: 40px 30px;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(36,74,59,0.15);
}

.product-tabs-nav {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}

.tab-link {
  background: #244A3B;
  color: #F8F8F8;
  border: none;
  padding: 10px 20px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s ease;
}

.tab-link:hover { background: #1f3d30; transform: translateY(-2px) scale(1.05); }
.tab-link.active { background: #1f3d30; font-weight: 700; }

.tab-content { display: none; font-size: 14px; color: #4A555B; line-height: 1.6; }
.tab-content.active { display: block; animation: fadeInUpTab 0.5s ease forwards; }

.feature-list { padding-left: 20px; list-style: disc; margin-top: 15px; }
.feature-list li { margin-bottom: 6px; }

/* Specs Table */
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table td { padding: 10px; border-bottom: 1px solid rgba(36,74,59,0.2); }

/* Benefits Grid */
.benefits-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 15px; }
.benefit-item { display: flex; gap: 12px; align-items: center; padding: 12px; background: rgba(36,74,59,0.1); border-radius: 12px; }
.benefit-item i { font-size: 18px; color: #244A3B; }

/* Fade-in */
@keyframes fadeInUpTab { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity:1; transform: translateY(0); } }

/* ================= Trust Section ================= */
.product-trust-section { background: #F8F8F8; padding: 60px 20px; }
.product-trust-container { max-width: 1000px; margin: 0 auto; display: flex; gap: 25px; flex-wrap: wrap; justify-content: center; text-align: center; }
.trust-item { flex: 1 1 250px; padding: 20px; background: rgba(36,74,59,0.12); border-radius: 20px; box-shadow: 0 15px 50px rgba(36,74,59,0.15); transition: transform 0.3s ease; }
.trust-item:hover { transform: translateY(-5px) scale(1.02); }
.trust-item i { font-size: 36px; color: #244A3B; margin-bottom: 10px; display: block; }

/* ================= Related Products ================= */
.related-products-section { background: #F8F8F8; padding: 80px 20px; }
.related-products-container { max-width: 1200px; margin: 0 auto; }
.related-products-container h3 { font-size: 28px; color: #244A3B; margin-bottom: 30px; }
.related-products-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; }

/* Responsive */
@media(max-width:1024px){ .benefits-grid { grid-template-columns: 1fr; } .related-products-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:768px){ .related-products-grid { grid-template-columns: 1fr; } }

/* Container and Tabs Section */
.product-tabs-beautiful {
  background: #F8F8F8;
  padding: 80px 20px;
}

.product-tabs-beautiful-container {
  max-width: 900px;
  margin: 0 auto;
  background: white;
  backdrop-filter: blur(15px);
  padding: 40px 30px;
  border-radius: 20px;
  box-shadow: 0 25px 60px rgba(36,74,59,0.15);
}

/* Tabs Navigation */
.tabs-nav-beautiful {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.tab-link-beautiful {
  background: rgba(36,74,59,0.2);
  color: #244A3B;
  border: none;
  padding: 12px 25px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  backdrop-filter: blur(8px);
}

.tab-link-beautiful i { font-size: 16px; }

.tab-link-beautiful:hover {
  background: #244A3B;
  color: #F8F8F8;
  transform: translateY(-2px) scale(1.05);
}

.tab-link-beautiful.active {
  background: #244A3B;
  color: #F8F8F8;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(36,74,59,0.25);
}

/* Tab Content */
.tab-content-beautiful {
  display: none;
  font-size: 14px;
  color: #4A555B;
  line-height: 1.6;
  animation: fadeInUp 0.5s ease forwards;
}

.tab-content-beautiful.active {
  display: block;
}

/* Feature List */
.feature-list-beautiful {
  margin-top: 15px;
  padding-left: 20px;
  list-style: disc;
}

.feature-list-beautiful li {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.feature-list-beautiful i {
  color: #244A3B;
}

/* Specs Table */
.spec-table-beautiful {
  width: 100%;
  border-collapse: collapse;
}

.spec-table-beautiful td {
  padding: 10px;
  border-bottom: 1px solid rgba(36,74,59,0.2);
}

/* Benefits Grid */
.benefits-grid-beautiful {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 15px;
}

.benefit-item-beautiful {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(36,74,59,0.1);
  padding: 12px;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-item-beautiful i {
  font-size: 18px;
  color: #244A3B;
}

.benefit-item-beautiful:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(36,74,59,0.2);
}

/* Animations */
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media(max-width:1024px){
  .benefits-grid-beautiful { grid-template-columns: 1fr; }
}

@media(max-width:768px){
  .tab-link-beautiful { flex: 1 1 100%; text-align: center; }
}

.product-trust-section {
  background: #F8F8F8;
  padding: 80px 20px;
  position: relative;
}

.product-trust-container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.product-trust-header h2 {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 10px;
}

.product-trust-header p {
  font-size: 16px;
  color: #4A555B;
  margin-bottom: 50px;
}

/* Trust Cards */
.trust-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  justify-items: center;
}

.trust-card {
  background: rgba(36,74,59,0.12);
  backdrop-filter: blur(12px);
  padding: 30px 20px;
  border-radius: 20px;
  box-shadow: 0 15px 50px rgba(36,74,59,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trust-card:hover {
  transform: translateY(-5px) scale(1.03);
  box-shadow: 0 25px 60px rgba(36,74,59,0.25);
}

.trust-card i {
  font-size: 36px;
  color: #244A3B;
  margin-bottom: 15px;
}

.trust-card h4 {
  font-size: 20px;
  color: #244A3B;
  margin-bottom: 10px;
}

.trust-card p {
  font-size: 14px;
  color: #4A555B;
  line-height: 1.5;
}

/* Responsive */
@media(max-width:1024px){
  .trust-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:768px){
  .trust-cards {
    grid-template-columns: 1fr;
  }
}

.product-breadcrumbs {
  background: #F8F8F8;
  padding: 15px 0;
  font-size: 14px;
  color: #4A555B;
}

.breadcrumb-container {
  max-width: 1200px;
  margin: 0 auto;
}

.product-breadcrumbs ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  align-items: center;
}

.product-breadcrumbs li {
  display: flex;
  align-items: center;
}

.product-breadcrumbs li + li:before {
  content: "\f105"; /* FontAwesome chevron-right */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  margin: 0 8px;
  color: #244A3B;
}

.product-breadcrumbs a {
  color: #244A3B;
  text-decoration: none;
  transition: color 0.3s ease;
}

.product-breadcrumbs a:hover {
  color: #1f3d30;
}

.product-breadcrumbs .active {
  color: #4A555B;
  font-weight: 600;
}

/* Responsive */
@media(max-width:768px){
  .product-breadcrumbs ol {
    font-size: 13px;
  }
}

/* Container */
.product-hero-card-section {
  position: relative;
  background: #F8F8F8;
  padding: 80px 20px;
}

.product-hero-card-container {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  gap: 30px;
  flex-wrap: wrap;
}

/* Left Image Card */
.product-card-left {
  flex: 1 1 500px;
  background: white;
  backdrop-filter: blur(15px);
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(36,74,59,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
}

.product-card-left img {
  max-width: 100%;
  border-radius: 16px;
  transition: transform 0.3s ease;
}

.product-card-left img:hover {
  transform: scale(1.03);
}

/* Right Info Card */
.product-card-right {
  flex: 1 1 500px;
  background: white;
  backdrop-filter: blur(15px);
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(36,74,59,0.15);
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Badges */
.product-card-badges {
  display: flex;
  gap: 10px;
}

.product-card-badges .badge-new,
.product-card-badges .badge-popular {
  padding: 6px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  color: #F8F8F8;
}

.badge-new { background: #28a745; }
.badge-popular { background: #dc3545; }

/* Title & Subtitle */
.product-card-title {
  font-size: 36px;
  color: #244A3B;
}

.product-card-subtitle {
  font-size: 16px;
  color: #4A555B;
  line-height: 1.6;
}

/* Feature Highlights */
.product-card-features {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.feature-card-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(36,74,59,0.1);
  padding: 8px 12px;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card-item i {
  font-size: 18px;
  color: #244A3B;
}

.feature-card-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(36,74,59,0.2);
}

/* Buttons */
.product-card-buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.product-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 14px;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(36,74,59,0.25);
  transition: all 0.3s ease;
}

.product-card-btn.primary {
  background: #244A3B;
  color: #F8F8F8;
}

.product-card-btn.primary:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 25px 60px rgba(36,74,59,0.45);
  background: #1f3d30;
}

.product-card-btn.secondary {
  background: #4A555B;
  color: #F8F8F8;
}

.product-card-btn.secondary:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 25px 60px rgba(36,74,59,0.35);
  background: #3a464b;
}

/* Floating Circles */
.product-card-floating {
  position: absolute;
  border-radius: 50%;
  background: rgba(36,74,59,0.05);
  z-index: 0;
  animation: product-card-float 15s ease-in-out infinite;
}

.product-card-floating.circle-one { width: 180px; height: 180px; top: 5%; left: 5%; }
.product-card-floating.circle-two { width: 120px; height: 120px; bottom: 10%; right: 10%; }

@keyframes product-card-float {
  0% { transform: translate(0,0) rotate(0deg); }
  25% { transform: translate(10px,-10px) rotate(10deg); }
  50% { transform: translate(-10px,10px) rotate(-10deg); }
  75% { transform: translate(5px,-5px) rotate(5deg); }
  100% { transform: translate(0,0) rotate(0deg); }
}

/* Ensure both sides same height */
.product-card-left, .product-card-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Responsive */
@media(max-width:1024px){
  .product-hero-card-container {
    flex-direction: column;
    gap: 30px;
  }
}

#contact-success-message {
    display: block; /* Ensure visible when JS/PHP triggers it */
    background-color: #244A3B; /* Primary theme color */
    color: #ffffff; /* White text for contrast */
    font-weight: 600;
    font-size: 1rem;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(36, 74, 59, 0.2);
    animation: fadeInUp 0.8s ease forwards;
}

/* Fade in & move up animation */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Optional: make it disappear after 5 seconds */
#contact-success-message.auto-hide {
    animation: fadeInUp 0.8s ease forwards, fadeOut 0.8s ease 4s forwards;
}

@keyframes fadeOut {
    0% { opacity: 1; }
    100% { opacity: 0; }
}

/* =========================
   FINAL PRODUCT RESPONSIVE FIX
   Paste this at the VERY END of style.css
========================= */

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.product-card {
  width: 100%;
  min-width: 0;
  position: relative;
}

.product-img-wrapper {
  width: 100%;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Tablet */
@media (max-width: 992px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    padding: 18px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .products-section {
    padding: 60px 0;
  }

  .products-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 15px;
  }

  .product-card {
    padding: 18px 15px;
    border-radius: 18px;
  }

  .product-img-wrapper {
    height: 160px;
  }

  .product-card h3 {
    font-size: 18px;
    line-height: 1.3;
  }

  .product-card p {
    font-size: 14px;
    line-height: 1.5;
  }

  .product-btn {
    width: 100%;
    color: white !Important;
    justify-content: center;
    padding: 12px 15px;
    font-size: 14px;
  }

  .product-badge {
    top: 10px;
    right: 10px;
    font-size: 10px;
    padding: 4px 8px;
  }
}

/* Very small mobile */
@media (max-width: 380px) {
  .product-img-wrapper {
    height: 140px;
  }

  .product-card h3 {
    font-size: 16px;
  }

  .product-card p {
    font-size: 13px;
  }
}

/* =========================
   FINAL HOW IT WORKS RESPONSIVE FIX
   Paste at the VERY END of style.css
========================= */

.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: stretch;
  justify-items: stretch;
}

.step-card {
  width: 100%;
  height: 100%;
  min-height: 230px;
  padding: 28px 22px;
  border-radius: 22px;
  text-align: center;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.step-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(36, 74, 59, 0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.step-icon i {
  font-size: 30px;
  color: #244A3B;
}

.step-card h3 {
  font-size: 19px;
  line-height: 1.3;
  margin-bottom: 10px;
}

.step-card p {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

/* Tablet */
@media (max-width: 992px) {
  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
  }

  .step-card {
    min-height: 220px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .how-it-works {
    padding: 60px 0;
  }

  .steps-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 15px;
  }

  .step-card {
    min-height: 200px;
    padding: 24px 18px;
    border-radius: 18px;
  }

  .step-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 14px;
  }

  .step-icon i {
    font-size: 26px;
  }

  .step-card h3 {
    font-size: 18px;
  }

  .step-card p {
    font-size: 14px;
  }
}

/* Very small mobile */
@media (max-width: 380px) {
  .step-card {
    min-height: 190px;
    padding: 22px 15px;
  }

  .step-card h3 {
    font-size: 17px;
  }

  .step-card p {
    font-size: 13px;
  }
}

/* =========================
   FINAL FOOTER MOBILE FIX
   Desktop will not change
========================= */

@media (max-width: 768px) {
  .site-footer .footer-top {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 22px;
    align-items: start;
  }

  /* Column 1: Logo full width */
  .site-footer .footer-logo-desc {
    grid-column: 1 / -1;
    text-align: center;
  }

  .site-footer .footer-logo-desc .footer-logo {
    margin: 0 auto 14px;
    display: block;
  }

  /* Column 2 + 3 side by side */
  .site-footer .footer-col-wrapper {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    width: 100%;
  }

  .site-footer .footer-company,
  .site-footer .footer-links {
    grid-column: auto !important;
    text-align: left;
  }

  /* Column 4: Contact full width */
  .site-footer .footer-contact {
    grid-column: 1 / -1;
    text-align: left;
  }

  .site-footer .footer-contact p {
    justify-content: flex-start;
  }

  .site-footer .footer-bottom {
    grid-column: 1 / -1;
  }
}

/* Very small mobile: still keep Company + Quick Links side by side */
@media (max-width: 420px) {
  .site-footer .footer-col-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .site-footer .footer-col h3 {
    font-size: 15px;
  }

  .site-footer .footer-col ul li a {
    font-size: 13px;
    line-height: 1.4;
  }

  .site-footer .footer-contact {
    text-align: center;
  }

  .site-footer .footer-contact p,
  .site-footer .footer-contact a {
    justify-content: center;
  }
}

/* =========================
   FOOTER CONTACT LEFT FIX
   Paste at very end
========================= */

@media (max-width: 768px) {
  .site-footer .footer-contact {
    grid-column: 1 / -1;
    text-align: left !important;
  }

  .site-footer .footer-contact h3 {
    text-align: left !important;
  }

  .site-footer .footer-contact p {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .site-footer .footer-contact a {
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100%;
  }

  .site-footer .footer-contact i {
    flex-shrink: 0;
  }
}

/* Very small mobile also left */
@media (max-width: 420px) {
  .site-footer .footer-contact {
    text-align: left !important;
  }

  .site-footer .footer-contact p,
  .site-footer .footer-contact a {
    justify-content: flex-start !important;
    text-align: left !important;
  }
}

/* =========================
   PRODUCTS HEADER RESPONSIVE FIX
   Paste at very end
========================= */

.products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.header-left {
  flex: 1;
  min-width: 0;
}

.header-right {
  flex-shrink: 0;
}

.view-all-btn {
  white-space: nowrap;
}

/* Tablet + Mobile */
@media (max-width: 768px) {
  .products-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    text-align: left;
    padding: 0 15px;
  }

  .header-left,
  .header-right {
    width: 100%;
    text-align: left;
  }

  .section-title {
    font-size: 30px;
    line-height: 1.2;
  }

  .section-subtitle {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 0;
  }

  .view-all-btn {
    width: 100%;
    justify-content: center;
    padding: 13px 18px;
  }
}

/* Small Mobile */
@media (max-width: 420px) {
  .section-title {
    font-size: 26px;
  }

  .section-subtitle {
    font-size: 14px;
  }

  .view-all-btn {
    font-size: 14px;
    padding: 12px 15px;
  }
}

/* =========================
   PROPER HERO SLIDER MOBILE FIX
   Paste at the VERY END of style.css
========================= */

@media (max-width: 768px) {

  .hero-slider {
    height: 500px !important;
    min-height: 0 !important;
    overflow: hidden;
  }

  .hero-slider .slide {
    height: 500px !important;
    min-height: 0 !important;
    width: 100%;
    background-size: cover;
    background-position: center center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px !important;
  }

  .slide-overlay {
    background: rgba(0, 0, 0, 0.55) !important;
  }

  .slide-content {
    margin: 0 !important;
    padding: 22px 18px !important;
    width: 100%;
    max-width: 390px !important;
    text-align: left !important;
    color: #ffffff;
    background: rgba(0, 0, 0, 0.32);
    border-radius: 18px;
    backdrop-filter: blur(4px);
  }

  .slide-icon {
    font-size: 26px !important;
    margin-bottom: 10px !important;
    color: #28a745 !important;
  }

  .slide-title {
    font-size: 26px !important;
    line-height: 1.18 !important;
    margin-bottom: 10px !important;
  }

  .slide-desc {
    font-size: 14px !important;
    line-height: 1.45 !important;
    margin-bottom: 12px !important;
  }

  .slide-features {
    margin: 12px 0 16px !important;
  }

  .slide-features li {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    align-items: flex-start !important;
  }

  .slide-features li i {
    margin-right: 8px !important;
    margin-top: 2px !important;
    flex-shrink: 0;
  }

  .hero-btn {
    width: 100%;
    justify-content: center;
    padding: 12px 16px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
  }

  .slider-nav {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    padding: 0 10px !important;
  }

  .slider-nav span {
    width: 36px;
    height: 36px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
  }
}

/* Small mobile */
@media (max-width: 420px) {

  .hero-slider {
    height: 480px !important;
  }

  .hero-slider .slide {
    height: 480px !important;
    padding: 0 12px !important;
  }

  .slide-content {
    max-width: 340px !important;
    padding: 18px 15px !important;
  }

  .slide-title {
    font-size: 23px !important;
  }

  .slide-desc {
    font-size: 13px !important;
  }

  .slide-features li {
    font-size: 12.5px !important;
    margin-bottom: 7px !important;
  }

  .hero-btn {
    font-size: 13px !important;
    padding: 11px 14px !important;
  }
}

/* =========================
   STORY CARD MOBILE + COLOR FIX
   Paste at very end of style.css
========================= */

/* Better color separation */
.story-badges span {
  background: #ffffff !important;
  color: #244A3B !important;
  border: 1px solid rgba(36, 74, 59, 0.18);
  box-shadow: 0 6px 18px rgba(36, 74, 59, 0.10);
}

.story-badges span i {
  color: #244A3B !important;
}

.story-cta-btn {
  background: linear-gradient(135deg, #244A3B, #2f6b55) !important;
  color: #ffffff !important;
}

.story-cta-btn i {
  color: #ffffff !important;
}

.story-cta-btn:hover {
  background: #1f3d30 !important;
  color: #ffffff !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .story-card {
    width: 100%;
    padding: 32px 20px !important;
    border-radius: 20px;
    text-align: center;
  }

  .story-card h2 {
    font-size: 28px !important;
    line-height: 1.2;
    margin-bottom: 16px;
  }

  .story-card p {
    font-size: 15px !important;
    line-height: 1.6;
    margin-bottom: 22px;
  }

  .story-badges {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 24px;
  }

  .story-badges span {
    width: 100%;
    justify-content: center;
    padding: 12px 14px;
    font-size: 14px;
    border-radius: 12px;
  }

  .story-cta-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 18px !important;
    font-size: 15px !important;
    border-radius: 12px;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  .story-card {
    padding: 28px 16px !important;
  }

  .story-card h2 {
    font-size: 25px !important;
  }

  .story-card p {
    font-size: 14px !important;
  }

  .story-badges span {
    font-size: 13px;
  }

  .story-cta-btn {
    font-size: 14px !important;
  }
}

/* =========================
   HOW TO ORDER MOBILE FIX
   Paste at very end of style.css
========================= */

@media (max-width: 768px) {
  .how-to-order-flow {
    padding: 70px 20px !important;
  }

  .how-to-order-flow .section-header {
    margin-bottom: 35px;
    text-align: center;
  }

  .how-to-order-flow .section-header h2 {
    font-size: 28px !important;
    line-height: 1.2;
  }

  .how-to-order-flow .section-header p {
    font-size: 14px !important;
    line-height: 1.6;
    max-width: 340px;
    margin: 0 auto;
  }

  .order-steps-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  /* Hide desktop horizontal line on mobile */
  .order-line {
    display: none !important;
  }

  .order-step {
    width: 100% !important;
    flex: none !important;
    padding: 28px 20px 24px 22px !important;
    border-radius: 18px !important;
    text-align: left !important;
    min-height: auto !important;
    display: block !important;
    position: relative;
  }

  .step-number {
    position: absolute !important;
    top: 14px !important;
    right: 18px !important;
    left: auto !important;
    font-size: 48px !important;
    opacity: 0.10 !important;
  }

  .order-step i {
    font-size: 30px !important;
    margin-bottom: 14px !important;
  }

  .order-step h3 {
    font-size: 18px !important;
    line-height: 1.3;
    margin-bottom: 8px !important;
    padding-right: 45px;
  }

  .order-step p {
    font-size: 14px !important;
    line-height: 1.55;
    margin: 0 !important;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  .how-to-order-flow {
    padding: 60px 16px !important;
  }

  .order-step {
    padding: 24px 18px 22px 18px !important;
  }

  .step-number {
    font-size: 42px !important;
    right: 15px !important;
  }

  .order-step h3 {
    font-size: 17px !important;
  }

  .order-step p {
    font-size: 13.5px !important;
  }
}

/* =========================
   CONTACT SECTION MOBILE FIX
   Paste at very end of style.css
========================= */

@media (max-width: 768px) {
  .contact-modern-section {
    padding: 70px 16px !important;
  }

  .contact-modern-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .contact-form-modern-card,
  .contact-info-modern-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 30px 18px !important;
    border-radius: 20px !important;
  }

  .contact-form-modern-title,
  .contact-info-modern-title {
    font-size: 26px !important;
    line-height: 1.25 !important;
    margin-bottom: 24px !important;
    text-align: center;
  }

  .contact-input-modern,
  .contact-textarea-modern {
    width: 100% !important;
    padding: 14px 15px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
  }

  .contact-textarea-modern {
    min-height: 130px;
    resize: vertical;
  }

  .contact-submit-modern {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
  }

  .contact-info-badges {
    gap: 16px !important;
  }

  .contact-info-badge {
    width: 100% !important;
    padding: 16px 15px !important;
    gap: 14px !important;
    align-items: flex-start !important;
    border-radius: 16px !important;
  }

  .badge-icon {
    flex-shrink: 0;
  }

  .badge-icon i {
    font-size: 24px !important;
  }

  .badge-content {
    min-width: 0;
    flex: 1;
  }

  .badge-title {
    font-size: 15px !important;
    margin-bottom: 4px !important;
  }

  .badge-text {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .contact-floating-modern {
    display: none !important;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  .contact-modern-section {
    padding: 60px 14px !important;
  }

  .contact-form-modern-card,
  .contact-info-modern-card {
    padding: 26px 15px !important;
  }

  .contact-form-modern-title,
  .contact-info-modern-title {
    font-size: 23px !important;
  }

  .contact-info-badge {
    padding: 14px 13px !important;
  }

  .badge-text {
    font-size: 13px !important;
  }
}

/* =========================
   ORDER FORM MOBILE FIX
   Paste at very end of style.css
========================= */

@media (max-width: 768px) {
  .order-form-card-section {
    padding: 70px 16px !important;
    overflow: hidden;
  }

  .order-form-card-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  .order-form-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 30px 18px !important;
    border-radius: 20px !important;
  }

  .order-form-card-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    text-align: center;
    margin-bottom: 10px !important;
  }

  .order-form-card-subtitle {
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: center;
    max-width: 340px;
    margin: 0 auto 25px !important;
  }

  .order-form-card-form {
    width: 100% !important;
  }

  .form-section-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 16px !important;
  }

  .order-input-card,
  .order-select-card,
  .order-textarea-card {
    width: 100% !important;
    padding: 14px 15px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
    box-sizing: border-box;
  }

  .order-textarea-card {
    min-height: 120px;
    resize: vertical;
  }

  .order-submit-card {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
  }

  .order-floating-circle {
    display: none !important;
  }
}

/* Small mobile */
@media (max-width: 420px) {
  .order-form-card-section {
    padding: 60px 14px !important;
  }

  .order-form-card {
    padding: 26px 15px !important;
  }

  .order-form-card-title {
    font-size: 24px !important;
  }

  .order-form-card-subtitle {
    font-size: 13.5px !important;
  }

  .order-input-card,
  .order-select-card,
  .order-textarea-card {
    font-size: 13.5px !important;
    padding: 13px 14px !important;
  }

  .order-submit-card {
    font-size: 14px !important;
  }
}

.products-grid {
  align-items: stretch;
  justify-items: stretch;
}

.product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}

.product-card .product-btn {
  margin-top: auto;
  align-self: center;
  margin-bottom: 0;
}


/* =========================
   Professional Flip Cards Fix
========================= */

.flip-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  position: relative;
  z-index: 2;
  padding: 45px 0;
}

.flip-card {
  width: 100%;
  height: 285px;
  perspective: 1200px;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 24px;
  transition: transform 0.75s ease;
  transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(36, 74, 59, 0.14);
}

/* Front Card */
.flip-card-front {
  background: #ffffff;
  border: 1px solid rgba(36, 74, 59, 0.12);
  padding: 32px 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
}

.flip-card-front::before {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  right: -55px;
  top: -55px;
  background: rgba(36, 74, 59, 0.08);
  border-radius: 50%;
}

.flip-card-front::after {
  content: "";
  position: absolute;
  left: 25px;
  bottom: 25px;
  width: 58px;
  height: 4px;
  background: #244A3B;
  border-radius: 20px;
}

.flip-card-front i {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  background: #244A3B;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  box-shadow: 0 12px 28px rgba(36, 74, 59, 0.28);
  position: relative;
  z-index: 2;
}

.flip-card-front h3 {
  font-size: 22px;
  line-height: 1.3;
  color: #244A3B;
  font-weight: 700;
  margin: 0 0 20px;
  position: relative;
  z-index: 2;
}

/* Back Card */
.flip-card-back {
  background: linear-gradient(135deg, #244A3B, #3A4449);
  transform: rotateY(180deg);
  padding: 35px 28px;
  display: flex;
  align-items: flex-end;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.flip-card-back::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -65px;
  top: -65px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
}

.flip-card-back::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 35px;
  width: 60px;
  height: 4px;
  background: #ffffff;
  border-radius: 20px;
}

.flip-card-back p {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
  margin: 0;
  position: relative;
  z-index: 2;
}

/* Better Hover Feel */
.flip-card:hover .flip-card-front,
.flip-card:hover .flip-card-back {
  box-shadow: 0 24px 65px rgba(36, 74, 59, 0.24);
}

/* Responsive */
@media (max-width: 1024px) {
  .flip-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .flip-cards-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .flip-card {
    height: 255px;
  }

  .flip-card-front,
  .flip-card-back {
    border-radius: 20px;
  }

  .flip-card-front {
    padding: 28px 22px;
  }

  .flip-card-back {
    padding: 32px 24px;
  }

  .flip-card-front h3 {
    font-size: 20px;
  }

  .flip-card-back p {
    font-size: 15px;
  }
}

/* =========================
   Flip Card Back Text Animation
========================= */

.flip-card-back {
  align-items: center;
  justify-content: flex-start;
  padding: 38px 28px;
}

/* Small premium label on back */
.flip-card-back::after {
  content: "Care Promise";
  position: absolute;
  top: 28px;
  left: 28px;
  width: auto;
  height: auto;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.9);
  padding: 7px 12px;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Animated back paragraph */
.flip-card-back p {
  opacity: 0;
  transform: translateY(24px) scale(0.96);
  filter: blur(4px);
  color: #ffffff;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 500;
  margin: 45px 0 0;
  position: relative;
  z-index: 2;
  transition: 
    opacity 0.45s ease,
    transform 0.45s ease,
    filter 0.45s ease;
  transition-delay: 0s;
}

/* Decorative line before text */
.flip-card-back p::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  width: 0;
  height: 3px;
  background: #ffffff;
  border-radius: 20px;
  transition: width 0.45s ease;
  transition-delay: 0s;
}

/* Text appears after flip */
.flip-card:hover .flip-card-back p {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
  transition-delay: 0.35s;
}

.flip-card:hover .flip-card-back p::before {
  width: 62px;
  transition-delay: 0.45s;
}

/* Soft moving shine on back card */
.flip-card-back::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -80px;
  top: -80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  transition: transform 0.7s ease;
}

.flip-card:hover .flip-card-back::before {
  transform: scale(1.25) rotate(20deg);
}

/* Mobile */
@media (max-width: 600px) {
  .flip-card-back {
    padding: 34px 24px;
  }

  .flip-card-back p {
    font-size: 15px;
    margin-top: 42px;
  }

  .flip-card-back::after {
    top: 24px;
    left: 24px;
  }
}

/* =========================================================
   Oak Stone / Iron Gate Medical - Final Hero Slider Fix
   Desktop: Green Circles
   Mobile: Gray Circles
   Paste at the END of style.css
========================================================= */

:root {
  --ig-green: #244A3B;
  --ig-green-light: #2f6b55;
  --ig-gray: #4A555B;
  --ig-gray-light: #7b858a;
  --ig-dark: #2f3437;
  --ig-text: #5f676c;
  --ig-muted: #697177;
  --ig-border: #e5e8e6;
  --ig-white: #ffffff;
}

/* =========================
   Hero Base
========================= */

.ig-hero-slider {
  position: relative;
  min-height: 690px;
  padding: 72px 70px 96px;
  background:
    radial-gradient(circle at 13% 9%, rgba(36, 74, 59, 0.10), transparent 34%),
    radial-gradient(circle at 90% 82%, rgba(74, 85, 91, 0.08), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8f9f8 48%, #eef1ef 100%);
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
}

/* =========================
   Animated Circles
========================= */

.ig-hero-shape {
  position: absolute;
  border-radius: 50%;
  z-index: 0 !important;
  opacity: 0.085 !important;
  filter: blur(1px);
  pointer-events: none;
  background: linear-gradient(135deg, var(--ig-green), var(--ig-green-light));
}

.ig-shape-one {
  width: 260px;
  height: 260px;
  top: -90px;
  left: -80px;
  animation: igShapeFloatOne 10s ease-in-out infinite alternate;
}

.ig-shape-two {
  width: 180px;
  height: 180px;
  right: 8%;
  top: 12%;
  animation: igShapeFloatTwo 12s ease-in-out infinite alternate;
}

.ig-shape-three {
  width: 340px;
  height: 340px;
  right: -130px;
  bottom: -140px;
  animation: igShapeFloatThree 14s ease-in-out infinite alternate;
}

/* =========================
   Slider Stage
========================= */

.ig-slider-stage {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  min-height: 560px;
}

.ig-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 70px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(35px);
  transition: opacity 0.75s ease, transform 0.75s ease, visibility 0.75s ease;
}

.ig-slide-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}

/* =========================
   Text Content
========================= */

.ig-slide-copy {
  max-width: 620px;
  position: relative;
  z-index: 4;
}

.ig-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  color: var(--ig-green);
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
  margin-bottom: 20px;
  border: 1px solid var(--ig-border);
}

.ig-eyebrow i {
  color: var(--ig-green);
}

.ig-slide-copy h1 {
  font-size: clamp(40px, 5vw, 66px);
  line-height: 1.14;
  color: var(--ig-dark);
  margin-bottom: 24px;
  letter-spacing: -1px;
  font-weight: 800;
}

.ig-slide-copy p {
  font-size: 17px;
  line-height: 1.75;
  color: var(--ig-text);
  max-width: 560px;
  margin-bottom: 30px;
}

/* =========================
   Trust Feature Boxes
========================= */

.ig-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 34px;
}

.ig-feature-grid span {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--ig-border);
  color: var(--ig-gray);
  padding: 11px 13px;
  border-radius: 12px;
  font-size: 14px;
  box-shadow: 0 8px 22px rgba(36, 74, 59, 0.045);
}

.ig-feature-grid i {
  color: var(--ig-green);
  font-size: 12px;
}

/* =========================
   Buttons
========================= */

.ig-slider-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.ig-primary-btn,
.ig-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  border-radius: 14px;
  font-weight: 700;
  transition: all 0.3s ease;
}

.ig-primary-btn {
  background: linear-gradient(135deg, var(--ig-green), var(--ig-green-light));
  color: #ffffff !important;
  padding: 14px 24px;
  box-shadow: 0 14px 32px rgba(36, 74, 59, 0.24);
}

.ig-primary-btn:hover {
  background: linear-gradient(135deg, #1f3d30, var(--ig-green));
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(36, 74, 59, 0.30);
}

.ig-secondary-btn {
  background: #ffffff;
  color: var(--ig-green) !important;
  padding: 13px 22px;
  border: 1.5px solid rgba(36, 74, 59, 0.35);
  box-shadow: none;
}

.ig-secondary-btn:hover {
  background: rgba(36, 74, 59, 0.06);
  color: var(--ig-green) !important;
  border-color: var(--ig-green);
  transform: translateY(-2px);
}

/* =========================
   Visual Side
========================= */

.ig-slide-visual {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  z-index: 4;
}

.ig-main-image-card {
  position: relative;
  width: min(460px, 100%);
  height: 500px;
  background: #ffffff;
  border: 1px solid #e7e7e7;
  border-radius: 30px;
  padding: 14px;
  box-shadow: 0 26px 65px rgba(36, 74, 59, 0.14);
  animation: igImageFloat 5s ease-in-out infinite alternate;
}

.ig-main-image-card::before {
  content: "";
  position: absolute;
  inset: 40px -18px -18px 40px;
  border-radius: 30px;
  background: rgba(36, 74, 59, 0.08);
  z-index: -1;
}

.ig-main-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  display: block;
  filter: grayscale(6%);
}

.ig-image-label {
  position: absolute;
  left: 30px;
  bottom: 30px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--ig-dark);
  padding: 11px 15px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(8px);
}

/* Floating Cards */
.ig-floating-card {
  position: absolute;
  width: 230px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e8e8e8;
  border-radius: 18px;
  padding: 15px;
  display: flex;
  align-items: center;
  gap: 13px;
  box-shadow: 0 16px 38px rgba(36, 74, 59, 0.14);
  backdrop-filter: blur(10px);
  z-index: 5;
}

.ig-floating-card i {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(36, 74, 59, 0.08);
  color: var(--ig-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex: 0 0 auto;
}

.ig-floating-card strong {
  display: block;
  color: var(--ig-dark);
  font-size: 14px;
  margin-bottom: 3px;
}

.ig-floating-card small {
  color: var(--ig-muted);
  font-size: 12px;
}

.ig-card-top {
  top: 58px;
  left: -10px;
  animation: igMiniCardOne 4.5s ease-in-out infinite alternate;
}

.ig-card-bottom {
  right: -10px;
  bottom: 70px;
  animation: igMiniCardTwo 5.5s ease-in-out infinite alternate;
}

/* =========================
   Slider Controls
========================= */

.ig-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid var(--ig-border);
  background: #ffffff;
  color: var(--ig-green);
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

.ig-slider-arrow:hover {
  background: var(--ig-green);
  color: #ffffff;
  transform: translateY(-50%) scale(1.08);
}

.ig-prev {
  left: 18px;
}

.ig-next {
  right: 18px;
}

.ig-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 10;
}

.ig-dot {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(36, 74, 59, 0.25);
  cursor: pointer;
  transition: all 0.3s ease;
}

.ig-dot-active {
  width: 32px;
  background: var(--ig-green);
}

/* =========================
   Animations
========================= */

.ig-slide-active .ig-eyebrow {
  animation: igFadeUp 0.7s ease both;
}

.ig-slide-active h1 {
  animation: igFadeUp 0.8s ease both 0.08s;
}

.ig-slide-active p {
  animation: igFadeUp 0.8s ease both 0.16s;
}

.ig-slide-active .ig-feature-grid {
  animation: igFadeUp 0.8s ease both 0.24s;
}

.ig-slide-active .ig-slider-actions {
  animation: igFadeUp 0.8s ease both 0.32s;
}

.ig-slide-active .ig-slide-visual {
  animation: igFadeInScale 0.9s ease both 0.18s;
}

@keyframes igFadeUp {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes igFadeInScale {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(20px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes igImageFloat {
  from {
    transform: translateY(0) rotate(0deg);
  }

  to {
    transform: translateY(-14px) rotate(0.8deg);
  }
}

@keyframes igMiniCardOne {
  from {
    transform: translate(0, 0);
  }

  to {
    transform: translate(14px, -14px);
  }
}

@keyframes igMiniCardTwo {
  from {
    transform: translate(0, 0);
  }

  to {
    transform: translate(-14px, 14px);
  }
}

@keyframes igShapeFloatOne {
  from {
    transform: translate(0, 0) scale(1);
  }

  to {
    transform: translate(55px, 32px) scale(1.07);
  }
}

@keyframes igShapeFloatTwo {
  from {
    transform: translate(0, 0) scale(1);
  }

  to {
    transform: translate(-42px, 46px) scale(0.94);
  }
}

@keyframes igShapeFloatThree {
  from {
    transform: translate(0, 0) scale(1);
  }

  to {
    transform: translate(-64px, -36px) scale(1.05);
  }
}

/* =========================
   Tablet
========================= */

@media (max-width: 1100px) {
  .ig-hero-slider {
    padding: 70px 35px 94px;
  }

  .ig-slide {
    gap: 42px;
  }

  .ig-main-image-card {
    height: 460px;
  }

  .ig-card-top {
    left: -5px;
  }

  .ig-card-bottom {
    right: -5px;
  }
}

/* =========================
   Mobile
========================= */

@media (max-width: 900px) {
  .ig-hero-slider {
    min-height: auto;
    padding: 54px 20px 98px;
    align-items: flex-start;
    background:
      radial-gradient(circle at 12% 8%, rgba(74, 85, 91, 0.10), transparent 32%),
      linear-gradient(135deg, #ffffff 0%, #f8f8f8 48%, #eeeeee 100%);
  }

  .ig-slider-stage {
    min-height: auto !important;
  }

  .ig-slide {
    position: relative;
    inset: auto;
    display: none;
    grid-template-columns: 1fr;
    gap: 34px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    text-align: center;
  }

  .ig-slide-active {
    display: grid;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .ig-slide-copy {
    max-width: 680px;
    margin: 0 auto;
    order: 1;
  }

  .ig-eyebrow {
    font-size: 11px;
    padding: 7px 12px;
    margin-bottom: 16px;
  }

  .ig-slide-copy h1 {
    font-size: clamp(34px, 7vw, 48px);
    line-height: 1.18;
    margin-bottom: 20px;
    letter-spacing: -0.7px;
  }

  .ig-slide-copy p {
    font-size: 15.5px;
    line-height: 1.75;
    margin: 0 auto 24px;
  }

  .ig-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 620px;
    margin: 0 auto 28px;
  }

  .ig-feature-grid span {
    justify-content: flex-start;
    text-align: left;
    font-size: 13.5px;
  }

  .ig-slider-actions {
    justify-content: center;
  }

  .ig-slide-visual {
    order: 2;
    min-height: 420px;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
  }

  .ig-main-image-card {
    height: 410px;
    width: 100%;
    max-width: 440px;
  }

  .ig-card-top {
    left: 0;
    top: 28px;
  }

  .ig-card-bottom {
    right: 0;
    bottom: 42px;
  }

  .ig-floating-card {
    width: 205px;
  }

  /* Mobile circles = gray, still animated */
  .ig-hero-shape {
    background: linear-gradient(135deg, var(--ig-gray), var(--ig-gray-light));
    opacity: 0.06 !important;
    filter: blur(2px);
    z-index: 0 !important;
  }

  .ig-shape-one {
    width: 120px;
    height: 120px;
    top: -40px;
    left: -35px;
  }

  .ig-shape-two {
    width: 95px;
    height: 95px;
    right: -30px;
    top: 20%;
  }

  .ig-shape-three {
    width: 150px;
    height: 150px;
    right: -70px;
    bottom: 10%;
  }

  /* Controls below content on mobile */
  .ig-slider-arrow {
    top: auto;
    bottom: 25px;
    transform: none;
    width: 42px;
    height: 42px;
  }

  .ig-slider-arrow:hover {
    transform: scale(1.05);
  }

  .ig-prev {
    left: calc(50% - 92px);
  }

  .ig-next {
    right: calc(50% - 92px);
  }

  .ig-slider-dots {
    bottom: 38px;
  }
}

/* =========================
   Small Mobile
========================= */

@media (max-width: 600px) {
  .ig-hero-slider {
    padding: 42px 16px 92px;
  }

  .ig-slide {
    gap: 28px;
  }

  .ig-eyebrow {
    font-size: 10.5px;
    padding: 7px 11px;
    margin-bottom: 15px;
  }

  .ig-slide-copy h1 {
    font-size: 32px;
    line-height: 1.22;
    margin-bottom: 18px;
  }

  .ig-slide-copy p {
    font-size: 14.5px;
    line-height: 1.7;
    margin-bottom: 22px;
  }

  .ig-feature-grid {
    grid-template-columns: 1fr;
    gap: 9px;
    margin-bottom: 24px;
  }

  .ig-feature-grid span {
    font-size: 13px;
    padding: 10px 12px;
  }

  .ig-primary-btn,
  .ig-secondary-btn {
    width: 100%;
    min-height: 50px;
    font-size: 14px;
    border-radius: 13px;
  }

  .ig-slider-actions {
    gap: 10px;
  }

  .ig-slide-visual {
    min-height: 330px;
    max-width: 100%;
  }

  .ig-main-image-card {
    height: 315px;
    max-width: 100%;
    border-radius: 24px;
    padding: 10px;
  }

  .ig-main-image-card::before {
    inset: 28px -10px -10px 28px;
    border-radius: 24px;
  }

  .ig-main-image-card img {
    border-radius: 18px;
  }

  .ig-image-label {
    left: 18px;
    bottom: 18px;
    font-size: 11px;
    padding: 9px 12px;
  }

  .ig-hero-shape {
    display: block;
    background: linear-gradient(135deg, var(--ig-gray), var(--ig-gray-light));
    opacity: 0.045 !important;
    filter: blur(2px);
    z-index: 0 !important;
    pointer-events: none;
  }

  .ig-shape-one {
    width: 95px;
    height: 95px;
    top: -28px;
    left: -30px;
  }

  .ig-shape-two {
    width: 75px;
    height: 75px;
    top: 130px;
    right: -28px;
  }

  .ig-shape-three {
    width: 120px;
    height: 120px;
    right: -60px;
    bottom: 170px;
  }

  .ig-slider-stage,
  .ig-slide-copy,
  .ig-slide-visual {
    position: relative;
    z-index: 2;
  }

  /* Small phones: hide floating cards only, not circles */
  .ig-floating-card {
    display: none;
  }

  .ig-prev {
    left: calc(50% - 86px);
  }

  .ig-next {
    right: calc(50% - 86px);
  }

  .ig-slider-dots {
    bottom: 35px;
  }

  .ig-dot {
    width: 9px;
    height: 9px;
  }

  .ig-dot-active {
    width: 28px;
  }
}

/* =========================
   Very Small Phones
========================= */

@media (max-width: 420px) {
  .ig-slide-copy h1 {
    font-size: 30px;
  }

  .ig-main-image-card {
    height: 292px;
  }

  .ig-slide-visual {
    min-height: 308px;
  }
}

/* =========================
   Reduced Motion
========================= */

@media (prefers-reduced-motion: reduce) {
  .ig-hero-shape,
  .ig-main-image-card,
  .ig-floating-card,
  .ig-slide-active .ig-eyebrow,
  .ig-slide-active h1,
  .ig-slide-active p,
  .ig-slide-active .ig-feature-grid,
  .ig-slide-active .ig-slider-actions,
  .ig-slide-active .ig-slide-visual {
    animation: none !important;
  }

  .ig-slide {
    transition: none;
  }
}