@tailwind base;
@tailwind components;
@tailwind utilities;

/* ── Custom design tokens as CSS variables ── */
:root {
  --clr-primary:                #18241a;
  --clr-on-primary:             #ffffff;
  --clr-primary-container:      #2d3a2f;
  --clr-secondary:              #5a6243;
  --clr-on-secondary:           #ffffff;
  --clr-secondary-container:    #B72E27;
  --clr-on-secondary-container: #606848;
  --clr-tertiary:               #2e1f00;
  --clr-tertiary-container:     #B72E27;
  --clr-on-tertiary-container:  #bf9b54;
  --clr-tertiary-fixed:         #ffdea5;
  --clr-on-tertiary-fixed:      #261900;
  --clr-background:             #fbf9f4;
  --clr-on-background:          #1b1c19;
  --clr-surface:                #fbf9f4;
  --clr-on-surface:             #1b1c19;
  --clr-on-surface-variant:     #434843;
  --clr-surface-container-low:  #f5f3ee;
  --clr-surface-container-high: #eae8e3;
  --clr-surface-container-highest: #e4e2dd;
  --clr-outline:                #747872;
  --clr-outline-variant:        #c4c8c1;
}

html {
  font-family: var(--font-body), sans-serif;
}

body {
  color: var(--clr-on-background);
  font-family: var(--font-body), sans-serif;
}

::selection {
  background-color: var(--clr-tertiary-fixed);
  color: var(--clr-on-tertiary-fixed);
}

.font-headline { font-family: var(--font-headline), 'Manrope', sans-serif; }
.font-body     { font-family: var(--font-body), 'Inter', sans-serif; }
.font-label    { font-family: var(--font-label), 'Plus Jakarta Sans', sans-serif; }

/* rest of your utility classes unchanged below */
.bg-primary               { background-color: var(--clr-primary) !important; }
.text-primary             { color: var(--clr-primary) !important; }
.text-on-primary          { color: var(--clr-on-primary) !important; }
.bg-secondary             { background-color: var(--clr-secondary) !important; }
.text-secondary           { color: var(--clr-secondary) !important; }
.border-secondary         { border-color: var(--clr-secondary) !important; }
.bg-secondary-container   { background-color: var(--clr-secondary-container) !important; }
.text-on-secondary-container { color: var(--clr-on-secondary-container) !important; }
.text-tertiary-fixed      { color: var(--clr-tertiary-fixed) !important; }
.bg-tertiary-fixed        { background-color: var(--clr-tertiary-fixed) !important; }
.text-on-tertiary-fixed   { color: var(--clr-on-tertiary-fixed) !important; }
.bg-tertiary-container    { background-color: var(--clr-tertiary-container) !important; }
.text-on-tertiary-container { color: var(--clr-on-tertiary-container) !important; }
.bg-surface               { background-color: var(--clr-surface) !important; }
.bg-surface-container-low { background-color: var(--clr-surface-container-low) !important; }
.bg-surface-container-high { background-color: var(--clr-surface-container-high) !important; }
.bg-surface-container-highest { background-color: var(--clr-surface-container-highest) !important; }
.border-surface-container-highest { border-color: var(--clr-surface-container-highest) !important; }
.text-on-surface-variant  { color: var(--clr-on-surface-variant) !important; }
.text-outline             { color: var(--clr-outline) !important; }
.border-outline-variant   { border-color: var(--clr-outline-variant) !important; }

.glass-nav {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 70;
}
/* .hero-overlay {
  background: linear-gradient(to right, rgba(24,36,26,0.6), transparent);
} */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.faq-answer.open { max-height: 300px; }
.faq-icon        { transition: transform 0.3s ease; }
.faq-icon.open   { transform: rotate(180deg); }

/* Image hover zoom — pure CSS, no JS event handlers needed */
.img-zoom {
  transition: transform 0.7s ease;
}
.img-zoom-fast {
  transition: transform 0.5s ease;
}
.img-zoom-sm:hover .img-zoom,
.group:hover .img-zoom {
  transform: scale(1.05);
}
.group:hover .img-zoom-fast {
  transform: scale(1.1);
}



/* Section */
.legacy-section {
  background-color: #F5F0E8;
  padding: 5rem 2rem;
}

/* Container */
.legacy-container {
  max-width: 1200px;   /* 👈 more width = better spacing */
  margin: 0 auto;
  text-align: center;
  padding: 0 20px;
}

/* Heading */
.legacy-heading {
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: #1a1a1a;
  margin-bottom: 3rem;
  line-height: 1.2;
}

.legacy-heading span {
  color: #B72E27;
}

/* Grid */
.legacy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 80px;   /* 👈 LEFT-RIGHT spacing */
  row-gap: 30px;
}

/* Item */
.legacy-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
  max-width: 280px;
  margin: 0 auto;
}

/* Icon */
.legacy-icon {
  font-size: 7rem;
  color: #D0393B;
}

/* Title */
.legacy-title {
  font-weight: 700;
  font-size: 1.1rem;
  color: #B72E27; /* your brand red — darker, passes ~4.6:1 on #F5F0E8 */
  margin: 0;
}

/* Description */
.legacy-desc {
  color: #000;
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 0;
  text-align: left;
}

section.bg-white.py-20.px-16.contect {
    padding-top: 105px;
    padding-bottom: 110px;
}
.roadmap-track {
  display: flex;
  will-change: transform;
  transition: transform 0.15s linear;
}
/* ================= RESPONSIVE ================= */

/* Tablet */
@media (max-width: 992px) {
  .legacy-grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 50px;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .legacy-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 40px;
  }
}


/* Section */
.why-section {
  background-color: #B53232;
  padding: 4rem 2rem;
}

/* Container */
.why-container {
  max-width: 1200px;   /* 👈 more space horizontally */
  margin: 0 auto;
  padding: 0 20px;
}

/* Heading */
.why-heading {
  color: #ffffff;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  margin-bottom: 3rem;
}

/* Grid */
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 70px;   /* 👈 LEFT-RIGHT spacing */
  row-gap: 40px;
}

/* Card */
.why-card {
  background-color: #F5F0E8;
  border-radius: 12px;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;   /* 👈 center everything */
  text-align: center;
  gap: 1rem;
  max-width: 320px;
  margin: 0 auto;
  transition: all 0.3s ease;
}

/* Hover effect */
.why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

/* Circle */
.why-circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: #d6d0c4;
}

/* Title */
.why-title {
  font-weight: 700;
  font-size: 1.05rem;
  color: #1a1a1a;
  margin: 0;
}

/* Description */
.why-desc {
  color: #000;
  font-size: 0.875rem;
  line-height: 1.7;
  margin: 0;
}

/* ================= RESPONSIVE ================= */

/* Tablet */
@media (max-width: 992px) {
  .why-grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .why-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 30px;
  }

  .why-circle {
    width: 90px;
    height: 90px;
  }
}

.client-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}