*{
    margin:0;
    padding:0;
}
html{
    scroll-behavior: smooth;
}
html , body {
    height:100%;
    
}
a{
    text-decoration:none;
    color:inherit;
}
ul{
    list-style:none;
    margin:0;
    padding:0;
}
button{
    all:unset;
    cursor:pointer;
}
.right-side{
    color:white;
}
.top-header{
    height:10%;
    background-color:#020101;
    
}
.container{
    max-width:1200px;
    padding: 0  16px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items: center;
    font-size: large;
}
.right-side{
    display:flex;
    gap:20px;
    padding:12px;
    align-items: center;
}
.left-side{
    display:flex;
    gap:15px;
    align-items:center;
}
.right-side-small-screen{
    display:none;
}
.header{
    background-color:aqua;
    height:46px;
    font-size: large;
    align-item:center;
    
}

.navigations {
  display: flex;
  gap: 25px;   /* 👈 spacing control */
}


header img {
    height:39px;
    width:325px;
}
.get-free-quote-button{
    background-color:orange;
    color:white;
    padding: 8px 20px;
}


@media(max-width:705px){
    .right-side-small-screen{
    display: block;
    color:white;
    padding:12px ;
    }
    .right-side{
        display:none;
    }
    .container{
        max-width: 500px;
        padding:0 20px;
    }
}

/* section1 */
.section1{
    background-image: url("banner-image.jpg");
    background-size:cover;
    height:60vh;
    color:white;
    padding-left:80px;
}
.section1-paragraph{
    background-color: red;
    height:30px;
}

@media (max-width: 1050px) {
  .desktop-nav {
    display: none !important;
  }
  .mobile-toggle {
    display: block !important;
  }
  .mobile-nav {
    display: none;
  }
  #menu-toggle:checked ~ #mobile-nav {
    display: block !important;
  }
}

@media (max-width: 550px) {
  header img {
    width: 32px;
    height: 32px;
  }
  .header-brand-text,
  .brand-superscript,
  .topbar-social-icons {
    display: none !important;
  }
  .topbar-info {
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 0;
  }
  .topbar-info > div {
    gap: 8px;
  }
  .topbar-info i {
    font-size: 14px;
  }
  .topbar-info span {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  header > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  header > div > div:first-child {
    order: 1;
  }
  
  header > div > button {
    order: 2;
  }
  
  .mobile-toggle {
    order: 3;
  }
  
  .desktop-nav,
  .mobile-nav {
    display: none !important;
  }
}

@media (min-width: 1051px) {
  .mobile-toggle {
    display: none !important;
  }
}

/* Line clamp utilities */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* FAQ Styles */
.faq-item{
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.6);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}
.faq-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
}
.faq-btn{
  width:100%;
  padding:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:600;
  color:#1e293b;
  transition: all 0.3s ease;
}
.faq-btn:hover{
  background: rgba(255,255,255,0.5);
}
.faq-btn i{
  transition:0.3s;
}
.faq-content{
  max-height:0;
  overflow:hidden;
  padding:0 20px;
  color:#64748b;
  transition:0.4s;
  line-height:1.6;
}
.faq-item.active .faq-content{
  max-height:300px;
  padding-bottom:20px;
}
.faq-item.active i{
  transform:rotate(180deg);
}

/* Mobile Nav Improvements */
@media (max-width: 1050px) {
  .mobile-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: white;
    z-index: 1000;
    overflow-y: auto;
    padding-top: 80px;
    display: none;
    flex-direction: column;
  }

  #menu-toggle:checked ~ #mobile-nav {
    display: flex !important;
  }

  .mobile-toggle {
    position: relative;
    z-index: 1001;
  }

  #menu-toggle:checked ~ .mobile-toggle i::before {
    content: "\f00d"; /* fa-xmark */
  }
}

.client-logo-item {
  width: 250px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.client-logo-item:hover {
  transform: translateY(-5px);
}

.logo-wrapper {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 0;
  width: 100%;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  overflow: hidden;
}

.logo-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.client-logo-item:hover .logo-wrapper img {
  transform: scale(1.1);
}

.client-logo-item:hover .logo-wrapper {
  background: #ffffff;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  border-color: #f97316;
}

.client-name {
  margin-top: 12px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #475569;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: color 0.3s ease;
}

.client-logo-item:hover .client-name {
  color: #f97316;
}

/* White + Beige Theme Overrides */
:root {
  --beige-bg: #fbf1e5;
  --beige-surface: #fff8f0;
  --beige-soft: #f4e3d0;
  --beige-border: #e7d2c0;
  --beige-text: #3d2e24;
  --beige-muted: #7c6551;
  --beige-accent: #b38b6b;
}

body {
  background: var(--beige-bg) !important;
  color: var(--beige-text) !important;
}

body, body * {
  transition: background-color 0.25s ease, color 0.25s ease;
}

header,
.topbar-info,
.topbar-social-icons,
.mobile-nav,
.desktop-nav .group > div,
.desktop-nav .group .absolute,
.desktop-nav .group .absolute a,
.bg-white,
.bg-white\/80,
.bg-white\/95,
.bg-slate-50,
.bg-sky-50,
.bg-gradient-to-br.from-slate-50,
.bg-gradient-to-br.from-slate-900,
.bg-gradient-to-br.from-slate-50,
.bg-black,
.bg-\#1e1b4b {
  background: var(--beige-surface) !important;
  color: var(--beige-text) !important;
  border-color: var(--beige-border) !important;
}

.topbar-info span,
.topbar-social-icons a,
.desktop-nav a,
.desktop-nav button,
.mobile-nav a,
.mobile-nav button,
.text-slate-900,
.text-slate-800,
.text-slate-700,
.text-slate-600,
  .text-slate-500,
  .text-slate-400,
  .text-slate-300,
  .text-gray-900,
  .text-gray-800,
  .text-gray-700,
  .text-gray-600,
  .text-gray-500,
  .text-gray-400,
  .text-gray-300 {
    color: var(--beige-text) !important;
  }

.topbar-info,
.topbar-social-icons,
.topbar-social-icons a,
.topbar-info > div {
  background: transparent !important;
  color: #3d2e24 !important;
}

.topbar-social-icons a {
  padding: 0 !important;
}

footer,
footer a,
footer li,
footer p,
footer span,
footer h3,
footer h4,
footer h2 {
  color: var(--beige-text) !important;
}
.bg-\#1e1b4b {
  background: #ddc6b3 !important;
}

.bg-white\/10 {
  background: rgba(255, 248, 240, 0.88) !important;
}

.bg-white\/5 {
  background: rgba(255, 248, 240, 0.65) !important;
}

.bg-white\/90,
.bg-white\/95 {
  background: rgba(255, 248, 240, 0.95) !important;
}

.shadow-xl,
.shadow-2xl,
.shadow-lg {
  box-shadow: 0 18px 45px -25px rgba(96, 63, 38, 0.16) !important;
}

a:hover,
button:hover,
.hover\:text-orange-400:hover,
.hover\:text-orange-500:hover {
  color: #8d6d52 !important;
}

body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.65;
}

/* Scroll reveal animation utilities */
.reveal-on-scroll,
.reveal-card {
  opacity: 0;
  transform: translateY(28px) scale(0.98);
  transition: opacity 0.9s ease-out, transform 0.9s ease-out, box-shadow 0.35s ease;
  will-change: opacity, transform;
}

.reveal-on-scroll.visible,
.reveal-card.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.reveal-card:hover {
  box-shadow: 0 28px 70px rgba(61, 46, 36, 0.14) !important;
}

/* Preserve intentional white text on buttons and icons while keeping page text dark where possible */
.bg-gradient-to-r .text-white,
button.text-white,
a.text-white,
button .text-white,
a .text-white {
  color: #ffffff !important;
}

.bg-gradient-to-r.from-orange-500.to-pink-500,
.bg-gradient-to-r.from-blue-600.to-purple-600,
.bg-gradient-to-r.from-orange-500.via-pink-500.to-purple-600,
.bg-gradient-to-r.from-green-500.to-emerald-500,
.bg-gradient-to-r.from-indigo-500.to-blue-500 {
  background-image: linear-gradient(135deg, #d8b496, #c9a17c) !important;
}

.bg-gradient-to-r.from-orange-500.to-pink-500 .text-white,
.bg-gradient-to-r.from-blue-600.to-purple-600 .text-white,
.bg-gradient-to-r.from-orange-500.via-pink-500.to-purple-600 .text-white {
  color: #ffffff !important;
}

.section-heading,
.section-text,
.hero-heading,
.hero-subtitle {
  color: var(--beige-text) !important;
}

/* Force remaining Tailwind text color utilities into beige theme */
.text-slate-900,
.text-slate-800,
.text-slate-700,
.text-slate-600,
.text-slate-500,
.text-slate-400,
.text-slate-300,
.text-gray-900,
.text-gray-800,
.text-gray-700,
.text-gray-600,
.text-gray-500,
.text-gray-400,
.text-gray-300,
.text-blue-500,
.text-blue-600,
.text-indigo-900,
.text-indigo-600,
.text-indigo-500,
.text-purple-600,
.text-purple-500,
.text-pink-600,
.text-orange-600,
.text-orange-500,
.text-green-600,
.text-green-500,
.text-emerald-600,
.text-emerald-500,
.text-teal-500,
.text-cyan-600,
.text-red-500,
.text-red-600,
.text-yellow-600,
.text-amber-600,
.text-gray-50,
.text-slate-50 {
  color: var(--beige-text) !important;
}

/* So accent labels remain visible, preserve background-specific text on white buttons */
.text-white {
  color: #ffffff !important;
}

/* Make softer info badges and panels beige instead of blue or gray */
.bg-sky-50,
.bg-blue-100,
.bg-indigo-100,
.bg-pink-100,
.bg-emerald-100,
.bg-cyan-100,
.bg-yellow-100,
.bg-green-100,
.bg-red-100,
.bg-purple-100,
.bg-orange-100,
.bg-gradient-to-r.from-blue-200\/30.to-purple-200\/30,
.bg-gradient-to-r.from-orange-200\/20.to-pink-200\/20,
.bg-gradient-to-br.from-slate-50.via-blue-50.to-indigo-100 {
  background-color: var(--beige-surface) !important;
  background-image: none !important;
  border-color: var(--beige-border) !important;
}

