:root {
  --background: #FAFAFA;
  --foreground: #0f172a;
  --card: #ffffff;
  --card-foreground: #0f172a;
  --primary: #F59542;
  --primary-foreground: #ffffff;
  --secondary: #64748b;
  --secondary-foreground: #ffffff;
  --muted: #FAFAFA;
  --muted-foreground: #0f172a;
  --accent: #f59e0b;
  --accent-foreground: #ffffff;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --border: #EEE;
  --input: #FFFFFF;
  --ring: #94a3b8;
  --font-sans: Inter, sans-serif;
  --radius: 10px;
}

/* ===== Base Styles ===== */
*,
::before,
::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  background-color: var(--background);
  color: var(--foreground);
}

::-webkit-scrollbar {
  display: none;
}
/* ===== Scroll Animation ===== */
.animate-scroll {
  animation-duration: 35s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
  animation-name: scroll;
  animation-timeline: auto;
  animation-range-start: normal;
  animation-range-end: normal;
}

.animate-scroll:hover {
  animation-play-state: paused;
}

@keyframes scroll {
  0% {
    transform: translateX(0px);
  }
  100% {
    transform: translateX(-50%);
  }
}

.process-line {
        position: relative;
      }
      .process-line::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 2px;
        background: linear-gradient(90deg, #F59542 0%, #f59e0b 100%);
        transform: translateY(-50%);
        z-index: 0;
      }
      @media (max-width: 1023px) {
        .process-line::before {
          top: 0;
          left: 50%;
          right: auto;
          bottom: 0;
          width: 2px;
          height: 100%;
          transform: translateX(-50%);
          background: linear-gradient(180deg, #F59542 0%, #f59e0b 100%);
        }
      }
.faq-item {
        transition: all 0.3s ease;
      }
      .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
      }
      .faq-item.active .faq-answer {
        max-height: 1000px;
      }
      .faq-item.active .faq-icon {
        transform: rotate(180deg);
      }
      .faq-icon {
        transition: transform 0.3s ease;
      }
.checkbox-custom:checked {
        background-color: #F59542;
        border-color: #F59542;
      }
/* ===== FAQ Accordion Free Quote page ===== */
.faq-free-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.faq-free-item button i {
  transition: transform 0.3s ease;
}


/* ===== Blog pages ===== */

.article-content h2 {
        font-size: 1.875rem;
        font-weight: 700;
        margin-top: 2.5rem;
        margin-bottom: 1rem;
        color: var(--foreground);
      }
      .article-content h3 {
        font-size: 1.5rem;
        font-weight: 600;
        margin-top: 2rem;
        margin-bottom: 0.75rem;
        color: var(--foreground);
      }
      .article-content p {
        margin-bottom: 1.25rem;
        line-height: 1.75;
        color: var(--muted-foreground);
      }
      .article-content ul {
        margin-bottom: 1.5rem;
        padding-left: 1.5rem;
      }
      .article-content ul li {
        margin-bottom: 0.75rem;
        line-height: 1.75;
        color: var(--muted-foreground);
        position: relative;
        padding-left: 0.5rem;
      }
      .article-content ul li::before {
        content: "•";
        color: var(--primary);
        font-weight: bold;
        position: absolute;
        left: -1rem;
      }
      .article-content strong {
        font-weight: 600;
        color: var(--foreground);
      }