/* ==================== BASIC SETUP & GOOGLE FONT ==================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", sans-serif;

  background: #ffffff; /* fallback */
}

.top-header {
  background: linear-gradient(
    90deg,
    #8b0000,
    #000000
  ); /* Red and black gradient */
  color: #e9ecef; /* Softer light text color */
  padding: 0.75rem 0;
  font-size: 0.9rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); /* Enhanced shadow for depth */
  border-bottom: 1px solid #660000; /* Dark red border */
}

.top-header a {
  color: #e9ecef;
  text-decoration: none;
  transition: all 0.3s ease;
}

.top-header a:hover {
  color: #ffffff; /* Brighter color on hover */
  text-shadow: 0 0 8px rgba(255, 50, 50, 0.7); /* Red glow effect */
}

.contact-info .info-item {
  margin-right: 1.5rem;
  display: inline-flex;
  align-items: center;
}

.contact-info .info-item i {
  margin-right: 0.6rem;
  color: #dc3545; /* Bootstrap danger red for icons */
  font-size: 1rem;
}

.social-icons a {
  margin-left: 1.2rem;
  font-size: 1.1rem;
}

.social-icons a:hover {
  color: #dc3545; /* Red color on hover */
  transform: translateY(-2px); /* Add a subtle lift effect on hover */
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .top-header {
    text-align: center;
  }
  .contact-info,
  .social-icons {
    justify-content: center !important;
    flex-wrap: wrap; /* Allow wrapping on small screens */
    width: 100%;
  }
  .social-icons {
    margin-top: 0.75rem;
  }
  .contact-info .info-item {
    margin: 0.25rem 0.75rem;
  }
}

/* Styling for the example content area */
.content-card {
  background-color: #1e1e1e; /* Dark card background */
  color: #e9ecef; /* Light text for readability */
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
  padding: 2rem;
  border: 1px solid #333;
}
/* ==================== HEADER & NAVIGATION STYLING ==================== */
.main-header {
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  z-index: 1000;

  background: #fff;

  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 0.4s ease;
  /* backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); */

  /* 🔥 smooth animation for movement & style changes */
  transition: top 0.4s ease, background 0.4s ease, box-shadow 0.4s ease;
}
/* 📱 mobile: always pinned to top */
@media (max-width: 992px) {
  .main-header {
    top: 0 !important;
  }
}
.main-header.scrolled {
  top: 0;

  /* background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.9) 0%,
    rgba(204, 204, 204, 0.9) 10%,
    rgba(110, 11, 20, 0.9) 60%,
    rgba(0, 0, 0, 0.9) 100%
  ); */
  /* backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2); */
}

.main-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 5%;
  max-width: 1600px;
  margin: 0 auto;
}

/* Logo Styling */
.logo {
  display: inline-block; /* keeps it inline but allows sizing */
  text-decoration: none;
}

.logo img {
  width: clamp(
    120px,
    15vw,
    200px
  ); /* scales between 120px and 200px depending on viewport width */
  height: auto; /* keeps aspect ratio */
  display: block; /* removes inline spacing */
}
/* Navigation Links */
.nav-links {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.nav-links li a {
  color: #c0392b; /* A softer white */
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  position: relative;
  padding-bottom: 0.5rem;
  transition: color 0.3s ease;
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 1px;
}

.nav-links li a:hover {
  color: #fa2912;
}

/* Animated Underline Effect */
.nav-links li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: red; /* White accent */
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.3s ease-out;
}

.nav-links li a:hover::after,
.nav-links > li.active > a::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* Dropdown Menu Styling */
.dropdown {
  position: relative;
}

.dropdown-menu {
  pointer-events: none;
  position: absolute;
  /* top: 150%; */
  left: -20px;
  background: white; /* solid maroon from logo */
  backdrop-filter: blur(10px);
  list-style: none;
  padding: 0.75rem 0.5rem;
  border-radius: 8px;
  min-width: 180px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: translateY(15px) scale(0.95);
  transition: opacity 0.25s ease, transform 0.25s ease;
  visibility: hidden;
}

.dropdown:hover > .dropdown-menu {
  opacity: 1;
  transform: translateY(0) scale(1);
  visibility: visible;
  pointer-events: auto;
  display: block;
}

.dropdown-menu li {
  padding: 0;
  opacity: 0;
  transform: translateX(-15px);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.dropdown-menu li a {
  padding: 0.5rem 1rem;
  display: block;
}

.dropdown-menu li a::after {
  display: none; /* No underline for dropdown items */
}

/* Staggered Animation for Dropdown Items */
.dropdown:hover > .dropdown-menu li {
  opacity: 1;
  transform: translateX(0);
}
.dropdown:hover > .dropdown-menu li:nth-child(1) {
  transition-delay: 0.05s;
}
.dropdown:hover > .dropdown-menu li:nth-child(2) {
  transition-delay: 0.1s;
}
.dropdown:hover > .dropdown-menu li:nth-child(3) {
  transition-delay: 0.15s;
}
.dropdown:hover > .dropdown-menu li:nth-child(4) {
  transition-delay: 0.2s;
}
.dropdown:hover > .dropdown-menu li:nth-child(5) {
  transition-delay: 0.25s;
}
.dropdown:hover > .dropdown-menu li:nth-child(6) {
  transition-delay: 0.3s;
}
.dropdown:hover > .dropdown-menu li:nth-child(7) {
  transition-delay: 0.35s;
}

/* Submenu Styling */
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu > .dropdown-menu {
  top: -9px; /* Aligns nested menu with parent item */
  left: 100%;
  margin-left: 1px;
}

/* === FIX: Added this rule to show nested submenus on hover === */
.dropdown-submenu:hover > .dropdown-menu {
  opacity: 1;
  transform: translateY(0) scale(1);
  visibility: visible;
  pointer-events: auto;
  display: block;
}

.dropdown-submenu:hover > .dropdown-menu li {
  opacity: 1;
  transform: translateX(0);
}

.dropdown-submenu:hover > .dropdown-menu li:nth-child(1) {
  transition-delay: 0.05s;
}
.dropdown-submenu:hover > .dropdown-menu li:nth-child(2) {
  transition-delay: 0.1s;
}
.dropdown-submenu:hover > .dropdown-menu li:nth-child(3) {
  transition-delay: 0.15s;
}
.dropdown-submenu:hover > .dropdown-menu li:nth-child(4) {
  transition-delay: 0.2s;
}

.dropdown-submenu > a::after {
  content: "›";
  margin-left: 0.5rem;
  display: inline-block;
  transition: transform 0.2s ease;
}

.dropdown-submenu:hover > a::after {
  transform: translateX(3px);
}

/* Call to Action Button */
.cta-button {
  background: #c0392b; /* White CTA */
  color: #fff; /* Black text */
  padding: 0.7rem 1.5rem;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.cta-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.2);
}

/* ==================== MOBILE & RESPONSIVE STYLES ==================== */
#menu-toggle {
  display: none;
  cursor: pointer;
  z-index: 1001;
}

#menu-toggle .bar {
  width: 28px;
  height: 3px;
  background-color: #c0392b;
  margin: 5px 0;
  border-radius: 3px;
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@media (max-width: 992px) {
  .cta-button {
    display: none;
  }

  #menu-toggle {
    display: block;
  }

  .nav-links {
    position: fixed;
    display: flex;
    top: 0;
    left: -100%; /* Start off-screen to the left */
    right: auto;
    width: min(75%, 300px);
    height: 100vh;
    background: white;
    backdrop-filter: blur(90px);
    -webkit-backdrop-filter: blur(20px);
    flex-direction: column;
    align-items: flex-start;
    gap: 2;
    transition: left 0.5s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.4s ease,
      transform 0.4s ease;
    border-right: 1px solid rgba(255, 255, 255, 0.1); /* border on right now */
    border-left: none;
    padding: 2rem;
    /* Add transition for opacity and transform for animation */
    opacity: 0;
    transform: translateX(-50px); /* Slide from left */
  }

  .nav-links.active {
    margin-top: 100px;
    left: 0; /* Slide in from left */
    right: auto;
    display: flex;
    opacity: 1;
    transform: translateX(0);
    transition: left 0.5s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.4s ease,
      transform 0.4s ease;
  }

  /* Animate menu items on slide-in */
  .nav-links.active li {
    animation: menuItemFadeInLeft 0.5s ease forwards;
    opacity: 0;
    transform: translateX(-30px);
    animation-delay: 0.2s;
  }
  .nav-links.active li:nth-child(2) {
    animation-delay: 0.3s;
  }
  .nav-links.active li:nth-child(3) {
    animation-delay: 0.4s;
  }
  .nav-links.active li:nth-child(4) {
    animation-delay: 0.5s;
  }
  .nav-links.active li:nth-child(5) {
    animation-delay: 0.6s;
  }
  .nav-links.active li:nth-child(6) {
    animation-delay: 0.7s;
  }
  .nav-links.active li:nth-child(7) {
    animation-delay: 0.8s;
  }

  @keyframes menuItemFadeInLeft {
    from {
      opacity: 0;
      transform: translateX(-30px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .nav-links li {
    width: 100%;
  }
  /* 
  .nav-links.active {
    right: 0;
    display: flex;
  } */

  .dropdown > a,
  .dropdown-submenu > a {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  /* Reset dropdown styles for mobile accordion */
  .dropdown-menu {
    position: static;
    display: none;
    background: transparent;
    backdrop-filter: none;
    box-shadow: none;
    border: none;
    padding-left: 1.5rem;
    width: 100%;
    opacity: 1;
    transform: none;
    visibility: visible;
    min-width: unset;
    padding-top: 1rem;
    padding-bottom: 0;
    pointer-events: auto;
  }

  /* Override creative animations for mobile */
  .dropdown-menu li {
    opacity: 1;
    transform: none;
    transition: none;
    padding: 0;
  }

  .dropdown.active > .dropdown-menu,
  .dropdown-submenu.active > .dropdown-menu {
    display: block;
  }

  .dropdown:hover .dropdown-menu {
    display: none;
  }

  .dropdown.active > .dropdown-menu {
    display: block;
  }

  /* Style arrows for mobile */
  .dropdown-submenu > a::after {
    transition: transform 0.3s ease;
  }

  .dropdown-submenu.active > a::after {
    transform: rotate(90deg);
  }

  /* Animate hamburger to 'X' */
  #menu-toggle.active .bar:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
  }
  #menu-toggle.active .bar:nth-child(2) {
    opacity: 0;
  }
  #menu-toggle.active .bar:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
  }
  /* Nested Submenus - Mobile Accordion */
  .dropdown-submenu > .dropdown-menu {
    display: none; /* Hide by default */
    padding-left: 1rem; /* Indent for hierarchy */
  }

  .dropdown-submenu.active > .dropdown-menu {
    display: block; /* Show when parent is active */
  }

  /* Arrow Rotation */
  .dropdown-submenu > a::after {
    transition: transform 0.3s ease;
  }
  .dropdown-submenu.active > a::after {
    transform: rotate(90deg);
  }
}

/* ==================== DUMMY CONTENT STYLING ==================== */
.content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  text-align: center;
  color: #fff;
  padding: 0 2rem;
}

.content section {
  max-width: 800px;
}

.content h1 {
  font-size: clamp(2rem, 5vw, 4rem);
  margin-bottom: 1rem;
  font-weight: 700;
}

.content p {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  color: #d1d5db;
}
/* ====================
   CAROUSEL BASE STYLES
   ==================== */
#motionCarousel {
  max-height: 1000px;
}

.carousel-item {
  height: 100%;
  overflow: hidden; /* Crucial for containing the zoom effect */
}

.carousel-item img {
  height: 100vh;
  width: 100%;
  object-fit: cover; /* Ensures the image covers the container */
  transform: scale(1);
  transition: transform 0.5s ease;
}

/* ====================
   IMAGE ZOOM (KEN BURNS) EFFECT
   ==================== */

/* Define the zoom-in animation */
@keyframes kenburnsZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* Zoom to 115% */
  }
}

/* Apply the animation ONLY to the active slide's image */
.carousel-item.active img {
  animation: kenburnsZoom 7s linear forwards; /* A long duration makes the zoom slow and smooth */
}

/* ====================
   TEXT MOTION & STYLING
   ==================== */

.carousel-caption {
  /* Center the caption text vertically and horizontally */
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
  text-align: center;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.serv {
  margin-top: 30px;
  top: 70%;
  transform: translateY(-50%);
  bottom: auto;
  text-align: center;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.7);
  display: flex;
  gap: 1rem;
  justify-content: center;
}

@media (max-width: 768px) {
  .serv {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }

  .serv .btn {
    width: fit-content;
  }
}

/* Define the text animation */
@keyframes slideUpFadeIn {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Headings - Strong & impactful */
.motion-h1 {
  font-family: "Oswald", sans-serif;
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;

  color: white; /* Bright Red (Netflix-style metallic red) */
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
  margin-bottom: 1rem;
}

/* Paragraph - Sleek & modern */
.motion-p {
  font-family: "Roboto", sans-serif;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  font-weight: 400;
  color: #e5e7eb;
  max-width: 650px;
  line-height: 1.6;
  margin: 0 auto;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.6);
  margin-bottom: 10px;
}
/* Hide the text initially */
.motion-h1,
.motion-p {
  opacity: 0;
}
/* Apply animation ONLY to the active slide's text */
.carousel-item.active .motion-h1 {
  animation: slideUpFadeIn 1s ease-out 0.5s forwards; /* 0.5s delay */
}

.carousel-item.active .motion-p {
  animation: slideUpFadeIn 1s ease-out 0.9s forwards; /* 0.9s delay */
}

/* Hide text and buttons initially */
.motion-h1,
.motion-p,
.serv .btn {
  opacity: 0;
}

/* Apply animation to active slide's elements */
.carousel-item.active .motion-h1 {
  animation: slideUpFadeIn 1s ease-out 0.5s forwards;
}

.carousel-item.active .motion-p {
  animation: slideUpFadeIn 1s ease-out 0.9s forwards;
}

/* Add animations for buttons */
.carousel-item.active .serv .btn:nth-child(1) {
  animation: slideUpFadeIn 1s ease-out 1.2s forwards;
}

.carousel-item.active .serv .btn:nth-child(2) {
  animation: slideUpFadeIn 1s ease-out 1.4s forwards;
}

/* Styles for the hover animation on the 'Read More' link */
.read-more-container {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  color: #f7444e; /* Orange color */
  font-weight: 500;
}

.read-more-text {
  /* Start hidden: zero width, invisible, and no margin */
  max-width: 0;
  opacity: 0;
  margin-right: 0;
  white-space: nowrap; /* Prevents text from wrapping during transition */
  overflow: hidden;
  /* Smooth transition for all animated properties */
  transition: max-width 0.4s ease-in-out, opacity 0.3s ease-in-out,
    margin-right 0.4s ease-in-out;
}

/* On hover, reveal the 'Read More' text */
.read-more-container:hover .read-more-text {
  max-width: 100px; /* An ample width to show the text */
  opacity: 1;
  margin-right: 0.5rem; /* 8px space between text and arrow */
}

.arrow-icon {
  transition: transform 0.3s ease-in-out;
}

/* Optional: slightly move the arrow on hover for more feedback */
.read-more-container:hover .arrow-icon {
  transform: translateX(4px);
}

.ars-services-section {
  /* padding: 80px 0; */
}

.ars-section-title {
  text-align: center;
  margin-bottom: 50px;
}

.ars-section-title h2 {
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 2.5rem;
  color: #333;
}

.ars-section-title p {
  color: #777;
  font-size: 1.1rem;
}

.ars-section-title p::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background-color: #f7444e;
  margin: 10px auto 0;
}

.ars-service-grid {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Default to 3 columns */
}


.ars-service-item {
  position: relative;
  overflow: hidden;
  background-color: #343a40;
  color: white;
  min-height: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  transition: transform 0.4s ease-in-out;
}

.ars-service-item:hover {
  transform: scale(1.05);
  z-index: 10;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.ars-service-item img.ars-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.ars-service-item:hover img.ars-bg-image {
  transform: scale(1.1);
}

.ars-service-item .ars-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  transition: background-color 0.4s ease;
}

.ars-service-item:hover .ars-overlay {
  background-color: rgba(0, 0, 0, 0.7);
}

.ars-service-item .ars-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 20px;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.ars-service-item:hover .ars-content {
  opacity: 1;
}

.ars-service-item .ars-background-text {
  position: absolute;
  bottom: -30px;
  left: 10px;
  font-size: 6rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.05);
  text-transform: uppercase;
  z-index: 1;
  transition: color 0.4s ease, transform 0.4s ease;
  user-select: none;
}

.ars-service-item:hover .ars-background-text {
  color: rgba(255, 255, 255, 0.15);
  transform: translateY(-10px);
}

.ars-content h3 {
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 1.5rem;
}

.ars-content p {
  font-size: 0.95rem;
  max-width: 250px;
  margin: 0 auto;
  line-height: 1.6;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;
}

.ars-service-item:hover .ars-content p {
  opacity: 0.9;
  transform: translateY(0);
}

/* Specific item styles */
.ars-item-1 {
  background-color: #f7444e;
  color: #333;
}
.ars-item-3 {
  background-color: #f8f9fa;
  color: #333;
}
.ars-item-5 {
  background-color: #212529;
  color: #f7444e;
}

.ars-item-1 .ars-background-text,
.ars-item-3 .ars-background-text,
.ars-item-5 .ars-background-text {
  color: rgba(0, 0, 0, 0.05);
}

.ars-item-1:hover .ars-background-text,
.ars-item-3:hover .ars-background-text {
  color: rgba(0, 0, 0, 0.1);
}

.ars-item-5:hover .ars-background-text {
  color: rgba(255, 255, 255, 0.1);
}

/* Responsive styles for mobile */
@media (max-width: 768px) {
  .ars-service-grid {
    grid-template-columns: 1fr; /* Stack items in a single column */
  }
}

.how-it-works-section {
  font-family: "Inter", sans-serif;
  background-image: url(assets/Images/block-bg-2-1.jpg);
  background-attachment: fixed;
  background-repeat: no-repeat;
  backface-visibility: hidden;
  padding: 75px 0px 60px;
  background-position: center center;
}
.step-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.step-number {
  position: absolute;
  font-size: 10rem; /* Large font size for the number */
  font-weight: 900; /* Extra bold */
  color: #f7444e; /* Yellow color for the number */
  z-index: 1;
  /* Positioning the number slightly to the left and centered vertically */
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-text-stroke: 2px #212529; /* Optional: stroke for better visibility */
}
.step-image {
  position: relative;
  width: 300px;
  height: 300px;
  object-fit: cover;
  border-radius: 0.5rem;
  filter: grayscale(100%); /* Makes image black and white */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
  transition: transform 0.4s ease, filter 0.4s ease;
}

/* Hover effect */
.step-image:hover {
  transform: scale(1.08); /* Slight zoom */
  filter: grayscale(0%); /* Reveal color */
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5); /* Deeper shadow */
}
/* Responsive adjustments */
@media (max-width: 1024px) {
  .step-number {
    font-size: 10rem;
    left: -20px;
  }
  .step-image {
    width: 300px;
    height: 300px;
  }
}

@media (max-width: 768px) {
  .step-container {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
  .step-number {
    font-size: 8rem;
    left: -15px;
  }
  .step-image {
    width: 250px;
    height: 220px;
  }
}

@media (max-width: 480px) {
  .step-number {
    font-size: 9rem;
    left: -40px;
  }
  /* .step-image {
    width: 160px;
    height: 120px;
  } */
  .how-it-works-section .text-center h2 {
    font-size: 1.875rem; /* ~text-3xl */
  }
}
/* --- General Section Styling --- */
.result-guarantee-section {
  font-family: Arial, sans-serif;
  text-align: center;
  padding: 60px 0px;
  background-color: #ffffff;
}

.result-guarantee-heading {
  font-size: 44px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 10px;
}

.result-guarantee-subheading {
  font-size: 18px;
  color: #666666;
  margin-bottom: 50px;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Flexbox Grid for Features (Desktop First) --- */
.guarantee-features {
  display: flex;
  justify-content: space-around;
  gap: 30px;
  flex-wrap: wrap; /* Allows items to wrap to the next line */
}

/* --- Individual Feature Item Styling --- */
.feature-item {
  flex-basis: calc(33.333% - 20px); /* 3 items per row, accounting for gap */
  max-width: 350px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
}

.feature-icon {
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #dcdcdc;
  border-radius: 5px;
  margin-bottom: 20px;
  position: relative;
}

/* The yellow bar next to the icon */
.feature-icon::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -20px;
  width: 5px;
  background-color: #c0392b; /* Yellow color */
  border-radius: 2px;
  transition: all 0.3s ease; /* Smooth transition for responsive changes */
}

.feature-icon img {
  width: 40px;
  height: 40px;
}

.feature-title {
  font-size: 24px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 10px;
}

.feature-description {
  font-size: 16px;
  color: #666666;
  line-height: 1.6;
}

/* ======================================= */
/* --- RESPONSIVE ADJUSTMENTS --- */
/* ======================================= */

/* For Tablets and smaller desktops (up to 992px) */
@media (max-width: 992px) {
  .feature-item {
    flex-basis: calc(50% - 20px); /* 2 items per row */
  }
}

/* For Mobile devices (up to 768px) */
@media (max-width: 768px) {
  .result-guarantee-heading {
    font-size: 36px;
  }

  .result-guarantee-subheading {
    font-size: 16px;
  }

  .feature-item {
    flex-basis: 100%; /* 1 item per row (full width) */
    align-items: center; /* Center everything for a clean mobile look */
    text-align: center;
  }

  /* Repositions the yellow bar for mobile view */
  .feature-icon::before {
    left: 50%; /* Center the bar */
    transform: translateX(-50%); /* Fine-tune centering */
    top: -20px; /* Position the bar above the icon */
    width: 60px; /* Make it horizontal */
    height: 5px; /* Give it a height */
    bottom: auto; /* Unset the bottom property */
  }
}

.adh-section {
  background-color: #2c2c2c;
  color: #ffffff;
  padding: 2rem 0;
  position: relative;
  /* overflow: hidden; */
}

.adh-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}

/* =================================
   TEXT CONTENT STYLES
   ================================= */
.adh-text-content {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex: 1; /* Allows text content to take up available space */
}

.adh-heading {
  margin: 0;
  line-height: 1.2;
  flex-shrink: 0; /* Prevents the heading from shrinking */
}

.adh-heading-white {
  font-size: 1.5rem;
  font-weight: 700;
  display: block;
  color: #ffffff;

  position: relative; /* 👈 Add this */
  right: 40px;
}

.adh-heading-yellow {
  font-size: 1.75rem;
  font-weight: 700;
  display: block;
  color: #f7444e; /* A vibrant yellow/gold color */
}

.adh-description {
  margin: 0;
  font-size: 1rem;
  color: #d1d5db; /* A softer white */
  max-width: 300px;
}

/* =================================
   KEY IMAGE STYLES
   ================================= */
.adh-key-wrapper {
  /* This wrapper helps with flexbox alignment */
}

.adh-key-image {
  display: block;
  max-width: 250px;
  height: auto;
  transform: rotate(5deg);
  /* Pull the image down to hang off the bottom */
  margin-bottom: -90px;
}

/* =================================
   CTA BUTTON STYLES
   ================================= */
.adh-cta-wrapper {
  /* Wrapper for alignment */
}

.adh-cta-button {
  display: inline-block;
  border: 2px solid #f7444e;
  padding: 0.75rem 2rem;
  color: #ffffff;
  background-color: transparent;
  text-decoration: none;
  font-weight: 700;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.adh-cta-button:hover {
  background-color: #f7444e;
  color: #2c2c2c;
}

/* =================================
   RESPONSIVE STYLES
   ================================= */
@media (max-width: 992px) {
  .adh-container {
    flex-direction: column;
    text-align: center;
    gap: 2.5rem;
  }

  .adh-text-content {
    flex-direction: column;
    gap: 1rem;
  }

  .adh-key-wrapper {
    order: 3; /* Move the key to the bottom on mobile */
    z-index: 2;
  }

  .adh-key-image {
    max-width: 200px;
    margin-bottom: -70px; /* Adjust dropdown for smaller size */
  }

  .adh-cta-wrapper {
    order: 2; /* Move the button between text and key */
  }
}

@media (max-width: 480px) {
  .adh-heading-white {
    font-size: 1.3rem;
  }

  .adh-heading-yellow {
    font-size: 1.5rem;
  }

  .adh-description {
    font-size: 0.9rem;
  }

  .adh-key-image {
    display: none; /* Hide the key on very small screens to prevent layout issues */
  }

  .adh-section {
    overflow: visible; /* Allow button to be seen */
  }
}
.brc-section {
  background: url("assets/Images/cl.jpg");
  background-size: cover; /* make sure the image covers the section */
  background-position: center; /* center the image */
  background-repeat: no-repeat; /* avoid tiling */
  font-family: "Inter", sans-serif;
  padding: 10px 0;
}

/* Scoped Bootstrap class customizations */
.brc-section .carousel-item {
  padding: 40px 0;
  transition: transform 0.6s ease-in-out;
}

.brc-card {
  max-width: 700px;
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  padding: 2.5rem;
  text-align: center;
  border: 1px solid #e9ecef;
  margin-bottom: 20px;
  transition: box-shadow 0.3s ease; /* Smooth transition */
}

.brc-card:hover {
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25); /* Stronger shadow on hover */
}

.brc-section .brc-reviewer-img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  margin: -70px auto 20px; /* Pull the image up */
  border: 5px solid #ffffff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transform: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Smooth transition */
}

.brc-section .brc-reviewer-img:hover {
  transform: scale(1.1); /* Zoom in slightly */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15); /* Optional: slightly stronger shadow on hover */
}

.brc-reviewer-name {
  font-weight: 600;
  color: #343a40;
  margin-bottom: 0.25rem;
}

.brc-review-text {
  color: #6c757d;
  font-style: italic;
  line-height: 1.7;
}

.brc-star-rating .fa-star,
.brc-star-rating .fas,
.brc-star-rating .far {
  color: #ffc107; /* Bootstrap's warning/yellow color */
}

/* Scoped Bootstrap control customizations */
.brc-section .carousel-control-prev,
.brc-section .carousel-control-next {
  width: 5%; /* Adjust width of controls */
}

.brc-section .carousel-control-prev-icon,
.brc-section .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.5); /* Darker background for visibility */
  background-size: 50% 50%;
  border-radius: 50%;
  padding: 20px;
}

/* Scoped Bootstrap indicator customizations */
.brc-section .carousel-indicators [data-bs-target] {
  background-color: #adb5bd;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 0 5px;
}

.brc-section .carousel-indicators .active {
  background-color: #0d6efd; /* Bootstrap primary color */
}

.gallery-section {
  padding: 60px 0;
}

.gallery-section h3 {
  text-align: center;
  margin-bottom: 50px;
  font-weight: 700;
  color: #343a40;
}

/* Grid styles */
.gallery-item {
  overflow: hidden;
  border-radius: 15px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.gallery-item img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
}

/* Carousel styles for mobile */
.height .carousel-item img {
  height: 300px;
  object-fit: cover;
  border-radius: 15px;
}

.bord {
  border-radius: 15px;
}
.custom-footer-container {
  background-color: #ffffff;
  color: #374151;
  padding: 4rem 2rem;
}

.custom-footer-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
  max-width: 1280px;
  margin: 0 auto;
}

/* Responsive: 2 columns on medium screens */
@media (min-width: 768px) {
  .custom-footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Large screens: 4 columns in a single row */
@media (min-width: 1024px) {
  .custom-footer-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
  }
}

.footer-company-info .logo-image {
  width: 150px;
  height: auto;
  margin-bottom: 1rem;
}

.footer-company-info .company-description {
  font-size: 0.875rem;
  line-height: 1.5;
  max-width: 300px;
}

.footer-section-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.footer-links-list,
.footer-contact-list,
.business-hours-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.footer-links-list a,
.footer-contact-text a {
  color: #4b5563;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-links-list a:hover,
.footer-contact-text a:hover {
  color: #111827;
  text-decoration: underline;
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.footer-contact-item svg {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 2px;
  color: #ef4444;
}

.footer-business-hours {
  color: #374151;
}

.footer-business-hours li {
  margin-bottom: 5px;
}

.footer-bottom-section {
  border-top: 1px solid #e5e7eb;
  padding-top: 2rem;
  margin-top: 3rem;
  text-align: center;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.footer-copyright-text,
.footer-credits-text {
  font-size: 0.875rem;
  color: #6b7280;
}

.footer-credits-text a {
  color: #4b5563;
  text-decoration: none;
}

.footer-credits-text a:hover {
  text-decoration: underline;
}

.powered-by-logo {
  margin-top: 1.5rem;
  display: inline-block;
}

.upr{ text-transform: uppercase; font-weight: 600; color: #000;}
.seo-none{
  display: none;
}