/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins";
  line-height: 1.6;
  color: #252321;
  background-color: #efefee;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Header Styles */
.header {
  background: linear-gradient(
    to right,
    #780603,
    #ab0905,
    #ffffff
  ); /* Gradient from Figma */
  color: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 100;
}

.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 5rem; /* Increased height to match Figma */
}

.logo {
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  color: white;
  letter-spacing: 0.05em;
}

.logo-img {
  height: 2.5rem; /* Adjust height as needed to match Figma */
  width: auto;
}

.nav {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* Dropdown Styles */
.dropdown {
  position: relative;
}

.dropdown-btn {
  background-color: #efefee; /* Light gray background */
  border: none;
  color: #252321; /* Dark text color */
  cursor: pointer;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem; /* More rounded corners */
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: background-color 0.2s;
  font-weight: 500;
}

.dropdown-btn:hover {
  background-color: #dbdad9; /* Slightly darker on hover */
}

.dropdown-icon {
  color: #252321; /* Ensure icon color matches text */
}

.dropdown-content {
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  border-radius: 0.25rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  min-width: 150px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s;
}

.dropdown:hover .dropdown-content {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-content a {
  display: block;
  padding: 0.75rem 1rem;
  color: #252321;
  text-decoration: none;
  transition: background-color 0.2s;
}

.dropdown-content a:hover {
  background-color: #f5f5f5;
}

/* Button Styles */
.btn {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.btn-primary {
  background-color: #de0b06;
  color: white;
  /* border: 1px solid white; White border as per Figma */
  border-radius: 0.5rem; /* More rounded corners */
}

.btn-primary:hover {
  background-color: #9b0804;
}

.btn-secondary {
  background-color: #6d6b67;
  color: white;
  border-radius: 0.5rem; /* More rounded corners */
}

.btn-secondary:hover {
  background-color: #494641;
}

.btn-outline {
  background-color: white;
  color: #de0b06;
  border: 1px solid #de0b06;
}

.btn-outline:hover {
  background-color: #de0b06;
  color: white;
}

/* Main Content */
.main {
  padding: 2rem 0;
}

/* Hero Section */
.hero-section {
  background-color: #efefee;
  padding-top: 48px; /* Equivalent to py-12 */
  padding-bottom: 48px; /* Equivalent to py-12 */
}

@media (min-width: 1024px) {
  /* Equivalent to lg breakpoint */
  .hero-section {
    padding-top: 80px; /* Equivalent to lg:py-20 */
    padding-bottom: 80px; /* Equivalent to lg:py-20 */
  }
}

.hero-content {
  display: grid;
  gap: 32px; /* Equivalent to gap-8 */
  align-items: center;
}

@media (min-width: 1024px) {
  /* Equivalent to lg breakpoint */
  .hero-content {
    grid-template-columns: repeat(
      2,
      minmax(0, 1fr)
    ); /* Equivalent to lg:grid-cols-2 */
    gap: 48px; /* Equivalent to lg:gap-12 */
  }
}

.hero-image {
  display: flex;
  justify-content: center;
}

@media (min-width: 1024px) {
  /* Equivalent to lg breakpoint */
  .hero-image {
    justify-content: flex-start;
  }
}

.hero-image img {
  max-width: 400px; /* Max-w-md equivalent */
  width: 100%;
  height: auto;
}

.hero-text {
  text-align: center;
  line-height: 1.2;
  font-weight: bold;
  font-size: 36px; /* Base font size for h1 */
}

@media (min-width: 1024px) {
  /* Equivalent to lg breakpoint */
  .hero-text {
    text-align: left;
    font-size: 48px; /* lg:text-5xl */
  }
}

.hero-text h1 {
  font-size: 1em; /* Relative to parent */
  margin-bottom: 24px; /* Space below h1 */
}

.hero-text p {
  font-size: 18px; /* text-lg */
  line-height: 1.6; /* leading-relaxed */
  margin-bottom: 32px; /* Space below p */
}

.italic-text {
  font-style: italic;
}

.text-red-italic {
  color: #de0b06;
  font-style: italic;
}

.text-purple-italic {
  color: #5945de;
  font-style: italic;
}

.text-black {
  color: #000000;
}

/* Features Grid */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; /* gap-6 */
  padding-top: 32px; /* pt-8 */
}

.feature-item-hero {
  text-align: center;
}

.feature-item-hero h3 {
  font-weight: 600; /* font-semibold */
  font-size: 14px; /* text-sm */
  color: #000000;
  margin-bottom: 4px;
}

.feature-item-hero p {
  font-size: 14px; /* text-sm */
  font-weight: 500; /* font-medium */
  color: #000000;
  margin-top: 0;
}

/* Icon Circles */
.icon-circle {
  width: 48px; /* w-12 */
  height: 48px; /* h-12 */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px; /* mb-3 */
  color: white; /* For placeholder icons */
  font-size: 24px; /* For placeholder icons */
}

/* Services Section */
.services-section {
  background-color: #b20905;
  padding-top: 64px; /* py-16 */
  padding-bottom: 64px; /* py-16 */
}

.section-title {
  font-size: 36px; /* text-4xl */
  font-weight: bold;
  color: white;
  text-align: center;
  margin-bottom: 48px; /* mb-12 */
}

@media (min-width: 1024px) {
  /* Equivalent to lg breakpoint */
  .section-title {
    font-size: 48px; /* lg:text-5xl */
  }
}

.cards-grid {
  display: grid;
  gap: 24px; /* gap-6 */
}

@media (min-width: 768px) {
  /* Equivalent to md breakpoint */
  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* md:grid-cols-2 */
  }
}

@media (min-width: 1024px) {
  /* Equivalent to lg breakpoint */
  .cards-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* lg:grid-cols-3 */
  }
}

.service-card {
  background-color: white;
  border-radius: 12px; /* rounded-xl */
  padding: 24px; /* p-6 */
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px; /* space-y-4 */
}

.service-card h3 {
  font-size: 20px; /* text-xl */
  font-weight: bold;
  color: #000000;
  margin: 0; /* Reset default margin */
}

.service-card p {
  margin: 0; /* Reset default margin */
}

.text-red-bold {
  color: #de0b06;
  font-weight: bold;
  font-size: 18px; /* text-lg */
}

.link-red {
  color: #de0b06;
  font-weight: 500; /* font-medium */
  text-decoration: none;
  transition: text-decoration 0.2s ease-in-out;
}

.link-red:hover {
  text-decoration: underline;
}

/* Icon circles for service cards */
.service-card .icon-circle {
  width: 64px; /* w-16 */
  height: 64px; /* h-16 */
  margin-bottom: 0; /* Override default margin-bottom */
}

/* expedition Section */
.expedition-section {
  background-color: #efefee;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem; /* py-16 px-4 */
  text-align: center;
}

.expedition-section h2 {
  color: #fe0000;
  font-size: 2.5rem; /* text-3xl */
  font-weight: bold;
  margin-bottom: 3rem; /* mb-12 */
  line-height: 1.2;
}

.expedition-section h2 .emoji {
  display: inline-block;
  margin-left: 0.5rem;
}

.express-companies-grid {
  display: grid;
  grid-template-columns: 1fr; /* Default for mobile */
  gap: 1.5rem; /* gap-6 */
  width: 100%;
  max-width: 64rem; /* max-w-6xl */
  margin-bottom: 40px;
}

.company-card {
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem; /* gap-4 */
  border-radius: 20px; /* rounded-full */
  padding: 0.5rem 0.75rem; /* px-6 py-4 */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
}

.company-card img {
  object-fit: contain;
}

.description-text {
  font-weight: 400;
  font-size: 24px;
  line-height: 28px;
  /* or 117% */
  text-align: center;
  color: #6d6b67;
  margin-top: 3rem; /* mt-16 */
  max-width: 48rem; /* max-w-3xl */
  font-style: italic;
}

.description-text .emoji {
  display: inline-block;
  margin-left: 0.25rem;
}

/* Constact Section */
.contact-section {
  background-color: #f4a300;
  padding: 4rem 1rem; /* py-16 px-4 */
}

.contact-wrapper {
  display: flex;
  flex-direction: row; /* Default for mobile */
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-grow: 1; /* Allow it to take available space */
}

.illustration-container {
  width: 50%;
  max-width: 28rem; /* max-w-md */
  margin-bottom: 2rem; /* mb-8 */
}

.illustration-container img {
  display: block;
  margin: 0 auto;
  width: 80%;
  height: auto;
  object-fit: contain;
}

.cta-content {
  display: flex;
  flex-direction: column;
  align-items: center; /* Default for mobile */
  text-align: center; /* Default for mobile */
  width: 100%;
}

.cta-content h2 {
  color: #000000;
  font-size: 1.5rem; /* text-2xl */
  font-weight: bold;
  margin-bottom: 2rem; /* mb-8 */
  line-height: 1.3;
}

.cta-content .phone-icon {
  display: inline-block;
  vertical-align: middle;
  width: 1.5rem; /* h-6 w-6 */
  height: 1.5rem;
  color: #000000; /* currentColor */
  margin-left: 0.5rem;
}

.cta-content .phone-icon svg {
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

/* Responsive adjustments */
@media (min-width: 768px) {
  /* md breakpoint */
  .expedition-section {
    padding: 4rem 2rem; /* md:px-8 */
  }
  .expedition-section h2 {
    font-size: 3rem; /* md:text-4xl */
  }
  .express-companies-grid {
    grid-template-columns: 1fr 1fr; /* sm:grid-cols-2 */
  }
  .company-card .company-name {
    font-size: 1.25rem; /* md:text-xl */
  }
  .description-text {
    font-size: 1.25rem; /* md:text-xl */
  }
  .contact-section {
    padding: 4rem 2rem; /* md:px-8 */
  }
  .illustration-container {
    width: 50%; /* md:w-1/2 */
    margin-bottom: 0;
  }
  .cta-content {
    width: 50%; /* md:w-1/2 */
    padding-left: 3rem; /* md:pl-12 */
    align-items: flex-start;
    text-align: left;
  }
  .cta-content h2 {
    font-size: 2rem; /* md:text-3xl */
  }
  .cta-content .phone-icon {
    width: 2rem; /* md:h-8 md:w-8 */
    height: 2rem;
  }
}

@media (min-width: 1024px) {
  /* lg breakpoint */
  .expedition-section {
    padding: 4rem 4rem; /* lg:px-16 */
  }
  .expedition-section h2 {
    font-size: 3.5rem; /* lg:text-5xl */
  }
  .express-companies-grid {
    grid-template-columns: repeat(4, 1fr); /* lg:grid-cols-4 */
  }
  .contact-section {
    padding: 4rem 4rem; /* lg:px-16 */
  }
  .cta-content h2 {
    font-size: 2.5rem; /* lg:text-4xl */
  }
}

/* Screen Reader Only */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Testimonials Section */
.testimonials-section {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px; /* py-20 */
  background: #9b0804;
  color: white;
  overflow: hidden;
}

.section-title {
  font-size: 2.5rem; /* text-4xl */
  font-weight: 800; /* font-bold */
  margin-bottom: 64px; /* mb-16 */
  text-align: center;
  letter-spacing: 0.025em; /* tracking-wide */
}

@media (min-width: 768px) {
  /* md */
  .section-title {
    font-size: 3rem; /* md:text-5xl */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .section-title {
    font-size: 3.75rem; /* lg:text-6xl */
  }
}

.testimonial-carousel-container {
  position: relative;
  width: 100%;
  max-width: 1200px; /* max-w-7xl */
  display: flex;
  justify-content: center;
  align-items: center;
  height: 400px; /* h-[400px] */
  padding: 0 16px; /* px-4 */
}

@media (min-width: 768px) {
  /* md */
  .testimonial-carousel-container {
    height: 450px; /* md:h-[450px] */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .testimonial-carousel-container {
    height: 500px; /* lg:h-[500px] */
  }
}

.testimonial-card {
  position: absolute;
  background: linear-gradient(to bottom right, #efefee, #dbdad9);
  color: black;
  border-radius: 24px; /* rounded-3xl */
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1); /* shadow-2xl */
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.7s ease-in-out;
  cursor: pointer;
  padding: 24px;
  width: 300px; /* w-[300px] */
  height: 320px; /* h-[320px] */
  opacity: 0; /* Initially hidden */
  pointer-events: none; /* Disable clicks on hidden cards */
  will-change: transform, opacity, filter, width, height, padding; /* Optimize for animations */
}

@media (min-width: 768px) {
  /* md */
  .testimonial-card {
    width: 350px; /* md:w-[350px] */
    height: 360px; /* md:h-[360px] */
    padding: 32px; /* p-8 */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .testimonial-card {
    width: 400px; /* lg:w-[400px] */
    height: 400px; /* lg:h-[400px] */
  }
}

/* Card States */
.testimonial-card.center {
  z-index: 30;
  transform: scale(1);
  opacity: 1;
  filter: none;
  pointer-events: auto;
}

.testimonial-card.left {
  z-index: 10;
  transform: scale(0.75) translateX(-280px); /* -translate-x-[280px] */
  opacity: 0.6;
  filter: blur(1px);
}

.testimonial-card.right {
  z-index: 10;
  transform: scale(0.75) translateX(280px); /* translate-x-[280px] */
  opacity: 0.6;
  filter: blur(1px);
}

@media (min-width: 768px) {
  /* md */
  .testimonial-card.left {
    transform: scale(0.75) translateX(-320px); /* md:-translate-x-[320px] */
  }
  .testimonial-card.right {
    transform: scale(0.75) translateX(320px); /* md:translate-x-[320px] */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .testimonial-card.left {
    transform: scale(0.75) translateX(-360px); /* lg:-translate-x-[360px] */
  }
  .testimonial-card.right {
    transform: scale(0.75) translateX(360px); /* lg:translate-x-[360px] */
  }
}

/* Hover effects for cards */
.testimonial-card.center:hover {
  transform: scale(1.05);
}
.testimonial-card.left:hover,
.testimonial-card.right:hover {
  transform: scale(0.8) translateX(var(--translate-x-hover)); /* Use CSS variable for dynamic translation */
  opacity: 0.8;
}
.testimonial-card.left:hover {
  --translate-x-hover: -280px; /* Default for left */
}
.testimonial-card.right:hover {
  --translate-x-hover: 280px; /* Default for right */
}
@media (min-width: 768px) {
  .testimonial-card.left:hover {
    --translate-x-hover: -320px;
  }
  .testimonial-card.right:hover {
    --translate-x-hover: 320px;
  }
}
@media (min-width: 1024px) {
  .testimonial-card.left:hover {
    --translate-x-hover: -360px;
  }
  .testimonial-card.right:hover {
    --translate-x-hover: 360px;
  }
}

/* Expanded Card State */
.testimonial-card.expanded {
  width: 90vw; /* w-[90vw] */
  max-width: 1200px; /* max-w-3xl */
  min-height: 400px; /* min-h-[400px] */
  padding: 48px; /* p-12 */
  transform: scale(1.1); /* scale-110 */
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); /* Deeper shadow */
}

.testimonial-card.expanded .user-icon-wrapper {
  transform: scale(1.25); /* scale-125 */
}

.testimonial-card.expanded .user-icon {
  width: 80px; /* w-20 */
  height: 80px; /* h-20 */
}

.testimonial-card.expanded .testimonial-name {
  font-size: 2rem; /* text-3xl */
}

@media (min-width: 768px) {
  /* md */
  .testimonial-card.expanded .testimonial-name {
    font-size: 2.25rem; /* md:text-4xl */
  }
}

.testimonial-card.expanded .testimonial-quote {
  display: none; /* Hide short quote when expanded */
}

.testimonial-card.expanded .testimonial-full-text {
  display: block; /* Show full text when expanded */
  font-size: 1.125rem; /* text-lg */
}

@media (min-width: 768px) {
  /* md */
  .testimonial-card.expanded .testimonial-full-text {
    font-size: 1.25rem; /* md:text-xl */
  }
}

.testimonial-card .click-to-read-more {
  margin-top: 16px; /* mt-4 */
  font-size: 0.75rem; /* text-xs */
  color: #6b7280; /* text-gray-600 */
  opacity: 0.7;
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.testimonial-card.expanded .click-to-read-more {
  display: none; /* Hide when expanded */
}

@keyframes pulse {
  0%,
  100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

@media (min-width: 768px) {
  /* md */
  .testimonial-card .click-to-read-more {
    font-size: 0.875rem; /* md:text-sm */
  }
}

.user-icon-wrapper {
  padding: 12px; /* p-3 */
  margin-bottom: 24px; /* mb-6 */
  transition: all 0.3s ease-in-out;
}

.user-icon {
  color: white;
  width: 48px; /* w-12 */
  height: 48px; /* h-12 */
}

@media (min-width: 768px) {
  /* md */
  .user-icon {
    width: 56px; /* md:w-14 */
    height: 56px; /* md:h-14 */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .user-icon {
    width: 64px; /* lg:w-16 */
    height: 64px; /* lg:h-16 */
  }
}

.testimonial-name {
  font-size: 1.25rem; /* text-xl */
  font-weight: 700; /* font-bold */
  margin-bottom: 24px; /* mb-6 */
  transition: all 0.3s ease-in-out;
}

@media (min-width: 768px) {
  /* md */
  .testimonial-name {
    font-size: 1.5rem; /* md:text-2xl */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .testimonial-name {
    font-size: 1.5rem; /* lg:text-2xl */
  }
}

.testimonial-quote,
.testimonial-full-text {
  font-style: italic;
  line-height: 1.6;
  flex: 1; /* flex-1 */
  display: flex;
  align-items: center;
  font-size: 0.875rem; /* text-sm */
}

@media (min-width: 768px) {
  /* md */
  .testimonial-quote,
  .testimonial-full-text {
    font-size: 1rem; /* md:text-base */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .testimonial-quote,
  .testimonial-full-text {
    font-size: 1.125rem; /* lg:text-lg */
  }
}

.testimonial-full-text.hidden {
  display: none;
}

.navigation-buttons {
  display: flex;
  gap: 24px; /* space-x-6 */
  margin-top: 64px; /* mt-16 */
}

.nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px; /* w-14 */
  height: 56px; /* h-14 */
  border-radius: 9999px; /* rounded-full */
  background-color: white;
  color: #9b0804;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -4px rgba(0, 0, 0, 0.1); /* shadow-xl */
  border: 2px solid rgba(255, 255, 255, 0.2); /* border-2 border-white/20 */
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  outline: none;
}

.nav-button:hover {
  background-color: #f3f4f6; /* hover:bg-gray-100 */
  transform: scale(1.1); /* hover:scale-110 */
}

@media (min-width: 768px) {
  /* md */
  .nav-button {
    width: 64px; /* md:w-16 */
    height: 64px; /* md:h-16 */
  }
}

.nav-icon {
  width: 24px; /* w-6 */
  height: 24px; /* h-6 */
}

@media (min-width: 768px) {
  /* md */
  .nav-icon {
    width: 28px; /* md:w-7 */
    height: 28px; /* md:h-7 */
  }
}

/* Features and CTA Section */
.features-cta-section {
  position: relative;
  padding: 64px 24px; /* py-20 px-6 */
  background: #f4a300;
  color: black;
}

.feature-cta-wrapper {
  display: flex;
  flex-direction: row; /* Default for mobile */
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-grow: 1; /* Allow it to take available space */
}

@media (min-width: 768px) {
  /* md */
  .features-cta-section {
    padding: 80px 48px; /* md:py-32 md:px-12 */
    gap: 64px; /* md:gap-16 */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .features-cta-section {
    flex-direction: row; /* lg:flex-row */
    padding: 80px 60px; /* lg:px-20 */
    gap: 80px; /* lg:gap-20 */
  }
}

.features-list-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 800px; /* max-w-2xl */
  gap: 24px; /* space-y-6 */
}

@media (min-width: 1024px) {
  /* lg */
  .features-list-container {
    gap: 32px; /* lg:space-y-8 */
  }
}

.features-list {
  display: flex;
  flex-direction: column;
  gap: 12px; /* space-y-4 */
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 16px; /* gap-4 */
  font-size: 1.25rem; /* text-xl */
  font-weight: 600; /* font-semibold */
  transition: all 0.3s ease-in-out;
  cursor: default;
  max-width: 400px;
}

.feature-item:hover {
  transform: scale(1.05); /* hover:scale-105 */
}

@media (min-width: 768px) {
  /* md */
  .feature-item {
    font-size: 1.5rem; /* md:text-2xl */
  }
}

@media (min-width: 1024px) {
  /* lg */
  .feature-item {
    font-size: 1.5rem; /* lg:text-2xl */
  }
}

.cta-button {
  border: unset;
  margin-top: 16px; /* mt-12 */
  padding: 12px 24px; /* px-10 py-4 */
  border-radius: 16px; /* rounded-2xl */
  background: #2aa866;
  color: white;
  font-size: 0.75rem; /* text-xl */
  font-weight: 700; /* font-bold */
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); /* shadow-2xl */
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  outline: none;
}

.cta-button:hover {
  box-shadow: 0 35px 60px -15px rgba(0, 0, 0, 0.3); /* hover:shadow-3xl */
  transform: scale(1.05); /* hover:scale-105 */
}

@media (min-width: 768px) {
  /* md */
  .cta-button {
    padding: 16px 32px; /* md:px-12 md:py-5 */
    font-size: 1rem; /* md:text-2xl */
  }
}

.illustration-container {
  position: relative;
  /* width: 100%; */
  max-width: 600px; /* max-w-lg */
  margin-top: 32px; /* mt-8 */
  transition: transform 0.5s ease-in-out;
}

@media (min-width: 1024px) {
  /* lg */
  .illustration-container {
    max-width: 800px; /* lg:max-w-2xl */
    margin-top: 0; /* lg:mt-0 */
  }
}

.illustration-container:hover {
  transform: scale(1.05); /* hover:scale-105 */
}

.illustration-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255, 204, 102, 0.2),
    rgba(255, 255, 153, 0.2)
  ); /* from-orange-300/20 to-yellow-300/20 */
  border-radius: 9999px; /* rounded-full */
  filter: blur(48px); /* blur-3xl */
  z-index: -1;
}

.delivery-illustration {
  position: relative;
  object-fit: contain;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 25px 25px rgba(0, 0, 0, 0.15)); /* drop-shadow-2xl */
}

/* FAQ Section */
.faq-section {
  background-color: #efefee;
  padding-top: 48px; /* Equivalent to py-12 */
  padding-bottom: 48px; /* Equivalent to py-12 */
}

.faq-title {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  color: #252321;
  text-align: center;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.faq-item {
  background-color: #f5f5f5;
  border-radius: 0.5rem;
  overflow: hidden;
}

.faq-question {
  width: 100%;
  padding: 1rem;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #252321;
  font-size: 1rem;
  transition: background-color 0.2s;
}

.faq-question:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.faq-bullet {
  width: 8px;
  height: 8px;
  background-color: #de0b06;
  border-radius: 50%;
  flex-shrink: 0;
}

.faq-text {
  flex: 1;
}

.faq-icon {
  flex-shrink: 0;
  transition: transform 0.2s;
}

.faq-item.active .faq-icon {
  transform: rotate(90deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.faq-item.active .faq-answer {
  max-height: 200px;
}

.faq-answer p {
  padding: 0 1rem 1rem;
  color: #6d6b67;
}

/* Footer */
.footer {
  background-color: #9b0804;
  color: white;
  margin-top: 2rem;
  padding: 1rem 0;
}

.footer-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: auto;
}

.footer-logo {
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  color: white;
  letter-spacing: 0.05em;
}

.footer-text {
  font-size: 0.875rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .header-content {
    flex-direction: column;
    height: auto;
    padding: 1rem 0;
    gap: 1rem;
  }

  .nav {
    flex-wrap: wrap;
    justify-content: center;
  }

  .faq-title {
    font-size: 2rem;
  }

  .footer-content {
    flex-direction: column;
    text-align: center;
    gap: 0.5rem;
  }
}

@media (max-width: 480px) {
  .faq-title {
    font-size: 1.75rem;
  }
}

/* Modal Styles */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.modal-content {
  background-color: white;
  border-radius: 12px;
  padding: 40px 24px; /* Adjusted padding to match Figma */
  position: relative;
  max-width: 600px; /* Max width for the modal */
  width: 90%; /* Responsive width */
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(20px); /* Initial slight offset */
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.modal-overlay.active .modal-content {
  transform: translateY(0);
  opacity: 1;
}

.modal-close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 32px; /* Large X icon */
  color: #000000;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.modal-icon-circle {
  width: 80px; /* Larger icon circle for modal */
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px; /* Centered with margin-bottom */
}

.modal-icon-placeholder {
  width: 40px; /* Larger icon size */
  height: 40px;
  background-color: transparent;
  display: block;
}

.modal-title {
  font-size: 32px; /* text-3xl */
  font-weight: bold;
  color: #000000;
  margin-bottom: 16px; /* mb-4 */
  line-height: 1.2;
}

.modal-description {
  font-size: 18px; /* text-lg */
  color: #000000;
  line-height: 1.6;
  margin-bottom: 0;
}

/* Specific text colors within modal content */
.modal-description .text-red-inline,
.modal-title .text-red-inline {
  color: #de0b06;
  font-weight: bold; /* As seen in Figma for highlighted text */
}

/* Responsive adjustments for modal */
@media (max-width: 640px) {
  .modal-content {
    padding: 30px 15px;
    width: 95%;
  }
  .modal-title {
    font-size: 28px;
  }
  .modal-description {
    font-size: 16px;
  }
  .modal-icon-circle {
    width: 70px;
    height: 70px;
    margin-bottom: 20px;
  }
  .modal-icon-placeholder {
    width: 35px;
    height: 35px;
  }
}

.link-red {
  color: #de0b06;
  font-weight: 500; /* font-medium */
  text-decoration: none;
  background: none; /* Ensure it looks like a link, not a button */
  border: none;
  padding: 0;
  cursor: pointer;
  transition: text-decoration 0.2s ease-in-out;
}

.link-red:hover {
  text-decoration: underline;
}
