body {
  background-color: #ffffff;
  font-family: Arial, Helvetica, sans-serif;
}

/* =======================================================
   ESTILOS DO FOOTER INTERATIVO
   ======================================================= */
.footer-section {
  background-color: #080808 !important;
  border-top: 1px solid #222;
}

/* Indicador decorativo nos títulos das colunas */
.footer-heading {
  position: relative;
  padding-bottom: 8px;
}

.footer-heading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 35px;
  height: 2px;
  background-color: #FFD400; /* Cor Amarela do Tema */
  transition: width 0.3s ease;
}

.col-lg-2:hover .footer-heading::after,
.col-lg-4:hover .footer-heading::after {
  width: 55px;
}

/* -------------------------------------------------------
   LINKS DO FOOTER - Animações e Hover
   ------------------------------------------------------- */
.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  color: #a0a0a0;
  text-decoration: none;
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: inline-block;
}

.footer-links a i {
  font-size: 0.75rem;
  transition: transform 0.3s ease;
}

.footer-links a:hover {
  color: #FFD400;
  transform: translateX(6px);
}

.footer-links a:hover i {
  transform: translateX(3px);
}

/* -------------------------------------------------------
   ÍCONES DE REDES SOCIAIS - Efeitos Interativos
   ------------------------------------------------------- */
.social-icon {
  width: 38px;
  height: 38px;
  background-color: #1a1a1a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-decoration: none;
  border: 1px solid #333;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.social-icon:hover {
  background-color: #FFD400;
  color: #000;
  transform: translateY(-4px) scale(1.1);
  border-color: #FFD400;
  box-shadow: 0 5px 15px rgba(255, 212, 0, 0.4);
}

/* -------------------------------------------------------
   BOTÃO DE VOLTAR AO TOPO
   ------------------------------------------------------- */
#back-to-top {
  position: fixed;  
  bottom: 30px;
  right: 30px;
  background-color: #FFD400;
  color: #000;
}

/* Oculta o botão inicialmente */
#back-to-top {
  display: none;
  z-index: 1000;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Mostra o botão quando a página é rolada para baixo */
#back-to-top.show { 
  display: flex;
  animation: fadeIn 0.5s ease-in-out;
}

/* Animação de fade-in */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* Animação de fade-out */
@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
/* -------------------------------------------------------
   BOTÃO DE VOLTAR AO TOPO - Efeito Hover
   ------------------------------------------------------- */ 
#back-to-top:hover {
  background-color: rgba(255, 212, 0, 0.4) !important;
  color: #FFD400;
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 5px 15px rgba(255, 212, 0, 0.4);
}
/* -------------------------------------------------------
   FORMULÁRIO DE NEWSLETTER
   ------------------------------------------------------- */
.newsletter-form .form-control {
  border-radius: 4px 0 0 4px;
}

.newsletter-form .form-control:focus {
  border-color: #FFD400;
}

.newsletter-form .btn {
  border-radius: 0 4px 4px 0;
  transition: all 0.3s ease;
}

.newsletter-form .btn:hover {
  background-color: #FFD400;
  transform: scale(1.02);
}

/* Links do Copyright */
.hover-white:hover {
  color: #fff !important;
  text-decoration: underline !important;
}
.nav-link:hover{
  background-color: #707D32;
  color:#FFD400;
  cursor:pointer;
  border-radius: 5px;
}

.nav-link:hover::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #FFD400;
  transition: width 0.3s ease-in-out;
}
/* Animação suave que simula movimento de vídeo */
@keyframes kenburnsVideo {
  0% {
    transform: scale(1) translate(0, 0);
  }
  50% {
    transform: scale(1.12) translate(-1%, -1%);
  }
  100% {
    transform: scale(1.2) translate(1%, 1%);
  }
}

/* Garante que o contêiner esconda o excesso da imagem ao ampliar */
.carousel-item {
  overflow: hidden;
  height: 550px; /* Ajuste a altura conforme o seu layout */
}

/* Aplica a imagem com cobertura total e animação contínua */
.carousel-item img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease-in-out;
}

/* Dispara a animação contínua apenas no slide ativo */
.carousel-item.active img {
  animation: kenburnsVideo 15s ease-in-out infinite alternate;
}

/* Transição de esvanecimento suave (Fade) */
.carousel-fade .carousel-item {
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}

.carousel-fade .carousel-item.active {
  opacity: 1;
}

/* Ajuste de responsividade para diferentes tamanhos de tela */
@media (max-width: 768px) {
  .carousel-item {
    height: 400px; /* Ajuste a altura para telas menores */
  }
}

/* Ajuste de responsividade para telas muito pequenas */
@media (max-width: 480px) {    
    .carousel-item {
        height: 300px; /* Ajuste a altura para telas muito pequenas */
    }
    }

/* Adiciona uma sombra sutil para destacar o carrossel */
.carousel-item img {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Adiciona uma borda arredondada para suavizar os cantos da imagem */
.carousel-item img {
    border-radius: 8px;
    }

/* Adiciona uma transição suave para a borda arredondada ao passar o mouse */
.carousel-item img:hover {
    border-radius: 12px;
    transition: border-radius 0.3s ease-in-out;
    }

/* Adiciona uma leve escala ao passar o mouse para dar um efeito de zoom */
.carousel-item img:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease-in-out;
    }
/*CARDS*/
.card {
  border: none;
  width: 350px;       /* largura fixa */
      height: 300px;      /* altura fixa */
      margin: auto;
      
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
 .card-text {
      text-align: justify; /* conteúdo justificado */
    }
/* Fundo vermelho característico do Angoset com bordas arredondadas */
.service-card {
  width: 350px; 
  height: 300px;
  background-color: #707D32; /* Tom de vermelho corporativo */
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efeito ao passar o cursor por cima (Hover) */
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

/* Cor dos ícones */
.service-card .card-icon i {
  color: #ffffff;
}

/* Botão interior "VER MAIS" com efeito hover inverso */
.btn-service {
  background-color: #FFD400;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.btn-service:hover {
  background-color: #A6A6A6;
  color: #707D32;
}
/* Ajuste de responsividade para os cards em telas menores */
@media (max-width: 768px) {
  .service-card {
    margin-bottom: 20px; /* Espaçamento entre os cards */
  }
}

/*Valores*/
.value-section {
  background-color: #f8f9fa; /* Cor de fundo clara */
  padding: 60px 0; /* Espaçamento vertical */
}
/* Secção de Valores */
.value-section {
  background-color: #ffffff;
}

/* Título principal */
.value-section h2 {
  color: #1a1a1a;
  letter-spacing: -0.5px;
}

/* Ícones dos destaques */
.value-section .feature-icon i {
  color: #707D32 !important; 
}

/* Botão Principal */
.value-section .btn-danger {
  background-color: #707D32;
  border-color: #707D32;
  transition: all 0.3s ease;
  color: #FFD400;
}

.value-section .btn-danger:hover {
  background-color: #A6A6A6;
  border-color: #FFD400;
  border-color: #A6A6A6;
}

/* Envolvente da imagem */
.value-section .quality-image-wrapper img {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.4s ease;
}

.value-section .quality-image-wrapper:hover img {
  transform: scale(1.02);
}

/*Quem Somos*/
.about-section {
  padding: 60px 0; /* Espaçamento vertical */
}
.tracking-wider {
  letter-spacing: 1.5px;
}

.text-danger {
  color: #707D32 !important;
}
/* Badge decorativo da Kambamagas sobre a imagem */
.experience-badge {
  background-color: #707D32 !important;
  min-width: 160px;
}

/* Estilização do botão primário */
.about-section .btn-danger {
  background-color: #707D32;
  border-color: #707D32;
  color: #FFD400;
  transition: all 0.3s ease;
}

.about-section .btn-danger:hover {
  background-color: #A6A6A6;
  border-color: #A6A6A6;
  color: #707D32;
}

/* Animação suave na imagem */
.about-image-wrapper img {
  transition: transform 0.4s ease;
}

.about-image-wrapper:hover img {
  transform: scale(1.02);
}

/* Espaçamento do subtítulo */
.tracking-wider {
  letter-spacing: 1.5px;
}

/* Linha decorativa por baixo do título */
.clients-section .divider {
  width: 60px;
  height: 3px;
  background-color: #b30000; /* Vermelho institucional */
  border-radius: 2px;
}

/* Limite de largura para o parágrafo descritivo */
.max-w-600 {
  max-width: 600px;
}

/* Card envolvente do logótipo */
.client-logo-card {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  transition: all 0.3s ease;
}

/* Efeito ao passar o rato (Hover) */
.client-logo-card:hover {
  background-color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1) !important;
  transform: translateY(-4px);
}

/* Ajuste e filtro dos logótipos */
.client-logo {
  max-height: 40px;
  max-width: 100%;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.3s ease;
}

/* Restaura a cor original ao passar o cursor */
.client-logo-card:hover .client-logo {
  filter: grayscale(0%);
  opacity: 1;
}

/* --- Efeito de Revelação com Scroll --- */
.reveal-up {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

/*CLIENTES*/    
/* Card dos Clientes */
.client-card {
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
              box-shadow 0.4s ease, 
              border-color 0.4s ease;
  cursor: pointer;
  background-color: #ffffff !important;
}

/* Efeito de destaque estilo apresentação ao passar o mouse */
.client-card:hover {
  transform: translateY(-8px) scale(1.05);
  border-color: #FFD400 !important;
  box-shadow: 0 10px 20px rgba(255, 212, 0, 0.3);
}

/* Imagem da Logo */
.client-img {
  max-height: 80px;
  object-fit: contain;
  filter: grayscale(30%);
  transition: filter 0.3s ease;
}

.client-card:hover .client-img {
  filter: grayscale(0%);
}

/*CHATBOTÃO*/
.chatbot-button {
  position: fixed;
  top: 180px;
  right: 20px;
  background-color: #707D32; /* Cor de fundo do botão */
  color: #FFD400; /* Cor do ícone */
  border: none;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
/* Efeito de hover para o botão do chatbot */
.chatbot-button:hover {
  background-color: #FFD400; /* Cor de fundo ao passar o mouse */
  color: #707D32; /* Cor do ícone ao passar o mouse */
  transform: translateY(-5px) scale(1.1); /* Leve elevação e aumento */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); /* Sombra mais intensa */
}
/* Ícone do chatbot */
.chatbot-button i {
  font-size: 1.5rem; /* Tamanho do ícone */
  transition: transform 0.3s ease-in-out;
}
/* Efeito de animação no ícone ao passar o mouse */
.chatbot-button:hover i {
  transform: rotate(20deg); /* Leve rotação do ícone */
}
/* Adiciona uma animação de "pulse" para chamar atenção */
@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 rgba(255, 212, 0, 0.7);
  }
  70% {
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(255, 212, 0, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 rgba(255, 212, 0, 0);
  }
}
/* Aplica a animação de "pulse" ao botão do chatbot */
.chatbot-button {
  animation: pulse 2s infinite;
}
/* Adiciona uma animação de "pulse" ao ícone do chatbot */
.chatbot-button i {
  animation: pulse 2s infinite;
}

/* ===== KAMBAMAGAS | Modernização responsiva ===== */
:root{--km-olive:#707D32;--km-olive-dark:#424b1d;--km-yellow:#FFD400;--km-ink:#172018;--km-muted:#657064;--km-radius:18px}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{padding-top:72px;color:var(--km-ink);line-height:1.7}
.navbar{padding:.7rem 0;box-shadow:0 8px 28px rgba(0,0,0,.12);backdrop-filter:blur(12px);transition:padding .25s,box-shadow .25s}
.navbar .container-fluid{max-width:1240px;padding-inline:clamp(1rem,4vw,3rem)}
.navbar-brand img{width:auto;height:42px;object-fit:contain}
.navbar-nav{gap:.25rem}
.navbar .nav-link{font-weight:600;padding:.65rem .9rem!important;border-radius:10px;transition:background .2s,color .2s,transform .2s}
.navbar .nav-link:hover,.navbar .nav-link:focus{background:rgba(255,212,0,.16);color:var(--km-yellow)!important;transform:translateY(-1px)}
.navbar-toggler{border-color:rgba(255,255,255,.55)}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(255,212,0,.3)}
.carousel-item{height:clamp(390px,68vh,650px);min-height:390px}
.carousel-item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,8,.72),rgba(9,15,8,.12) 75%);pointer-events:none}
.carousel-caption{z-index:1;left:10%;right:auto;bottom:15%;max-width:min(650px,78%);text-align:left;background:transparent!important;padding:0!important;border-radius:0!important}
.carousel-caption h2{font-size:clamp(2rem,5vw,4.3rem);font-weight:800;line-height:1.08;text-shadow:0 3px 18px #000}
.carousel-caption p{font-size:clamp(1rem,1.8vw,1.3rem);max-width:560px;text-shadow:0 2px 8px #000}
section{scroll-margin-top:90px}
h1,h2,h3,h4,h5{letter-spacing:-.025em}
.btn{border-radius:10px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.btn-warning{background:var(--km-yellow);border-color:var(--km-yellow)}
.card{border-radius:var(--km-radius);overflow:hidden;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(26,39,17,.12)!important}
.card .card-body{padding:clamp(1.25rem,2vw,2rem)}
img{max-width:100%}
.form-control,.form-select{min-height:46px;border-radius:10px;border-color:#dce2d7}
.form-control:focus,.form-select:focus{border-color:var(--km-olive);box-shadow:0 0 0 .22rem rgba(112,125,50,.15)}
.footer-section{padding-top:3.5rem;padding-bottom:1.5rem}
#back-to-top{display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
#back-to-top.show{opacity:1;visibility:visible;pointer-events:auto}
.reveal-up{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal-up.active{opacity:1;transform:translateY(0)}
.km-float-contact{position:fixed;right:22px;bottom:88px;z-index:1040;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-size:1.65rem;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s}
.km-float-contact:hover{color:#fff;transform:translateY(-4px) scale(1.04)}
.km-toast{position:fixed;right:20px;top:90px;z-index:2000;max-width:min(390px,calc(100vw - 40px));background:#172018;color:#fff;padding:14px 18px;border-left:4px solid var(--km-yellow);border-radius:12px;box-shadow:0 12px 36px #0002;animation:kmToastIn .25s ease}
@keyframes kmToastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:991.98px){.navbar-collapse{padding:1rem 0 .4rem}.navbar-nav{gap:.15rem}.carousel-caption{bottom:12%;max-width:82%}.carousel-item{height:58vh;min-height:390px}}
@media(max-width:575.98px){body{padding-top:66px}.navbar-brand img{height:36px}.carousel-item{height:450px;min-height:0}.carousel-caption{left:8%;right:8%;bottom:12%;max-width:none}.carousel-caption h2{font-size:2.1rem}.carousel-caption p{font-size:1rem}.carousel-control-prev,.carousel-control-next{width:10%}.km-float-contact{right:15px;bottom:78px;width:49px;height:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-up{opacity:1;transform:none}}


/* ===== KAMBAMAGAS | Redesign 2026 ===== */
:root{--km-olive:#707d32;--km-olive-dark:#343d18;--km-yellow:#ffd400;--km-ink:#172018;--km-muted:#667064;--km-paper:#f6f8f2;--km-radius:22px;--km-shadow:0 18px 50px rgba(24,35,15,.12)}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--km-ink);line-height:1.7;overflow-x:hidden}
body:before{content:"";height:4px;position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,var(--km-yellow),var(--km-olive));z-index:2000}
.navbar{padding:14px 0!important;background:rgba(52,61,24,.96)!important;backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.15);transition:padding .25s ease,background .25s ease}
.navbar .container,.navbar .container-fluid{padding-left:clamp(18px,4vw,64px);padding-right:clamp(18px,4vw,64px)}
.navbar-brand img{width:68px!important;height:48px!important;object-fit:contain;max-width:100%;filter:drop-shadow(0 3px 8px #0002)}
.navbar-nav{gap:5px;margin-left:auto;align-items:center}.navbar .nav-link{color:#fff!important;font-size:.94rem;font-weight:600;padding:10px 15px!important;border-radius:999px;transition:background .2s,color .2s,transform .2s}.navbar .nav-link:hover,.navbar .nav-link.active{background:rgba(255,212,0,.15)!important;color:var(--km-yellow)!important;transform:translateY(-1px)}
.navbar-toggler{border:1px solid #ffffff70!important;padding:8px 10px}.navbar-toggler:focus{box-shadow:0 0 0 .2rem #ffd40050}
#heroCarousel{margin-top:76px;position:relative;background:#1b2115;overflow:hidden}#heroCarousel .carousel-item{height:min(76vh,740px);min-height:490px;position:relative}#heroCarousel .carousel-item:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,9,.84) 0%,rgba(12,18,9,.55) 45%,rgba(12,18,9,.12) 100%),linear-gradient(0deg,rgba(12,18,9,.35),transparent 45%);pointer-events:none}#heroCarousel .carousel-item>img{height:100%;width:100%;object-fit:cover;object-position:center;filter:saturate(.9);transform:scale(1.015);animation:kmHeroZoom 8s ease-in-out infinite alternate}@keyframes kmHeroZoom{to{transform:scale(1.08)}}
#heroCarousel .carousel-caption{display:block!important;z-index:2;left:clamp(24px,9vw,140px);right:auto;bottom:15%;top:auto;text-align:left;max-width:700px;background:transparent!important;padding:0!important;border-radius:0!important}
#heroCarousel .carousel-caption h2{font-size:clamp(2.5rem,5.5vw,5.2rem);font-weight:850;line-height:1.02;letter-spacing:-.045em;color:#fff;text-shadow:0 5px 28px #0005;margin-bottom:22px}#heroCarousel .carousel-caption p{font-size:clamp(1rem,1.5vw,1.3rem);max-width:560px;color:#f2f4ed;line-height:1.65;margin-bottom:28px}
#heroCarousel .carousel-caption:after{content:"SOLUÇÕES TÉCNICAS • MANUTENÇÃO • INDÚSTRIA";display:block;color:var(--km-yellow);font-size:.76rem;font-weight:800;letter-spacing:.15em;margin-bottom:18px;order:-1}
#heroCarousel .carousel-control-prev,#heroCarousel .carousel-control-next{z-index:3;width:7%;opacity:.85}#heroCarousel .carousel-indicators{z-index:4}
.container{max-width:1220px}.container-fluid{max-width:1500px}
section{scroll-margin-top:90px}.container> .row.justify-content-center.g-4{padding-top:72px;padding-bottom:82px}
h1,h2,h3,h4,h5{letter-spacing:-.025em;line-height:1.2}h2.fw-bold{font-size:clamp(1.9rem,3.5vw,3rem);letter-spacing:-.04em}h2.text-warning{color:var(--km-olive)!important} .text-warning{color:var(--km-olive)!important}
.service-card{background:linear-gradient(145deg,#78853a,#3f4b20)!important;border-radius:var(--km-radius)!important;box-shadow:var(--km-shadow)!important;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease!important;padding:clamp(20px,2.2vw,34px)!important}
.service-card:before{content:"";position:absolute;width:180px;height:180px;border:1px solid #ffffff25;border-radius:50%;right:-75px;top:-75px;transition:transform .4s ease}.service-card:hover{transform:translateY(-10px)!important;box-shadow:0 26px 60px rgba(24,35,15,.22)!important}.service-card:hover:before{transform:scale(1.35)}.service-card .card-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.service-card .card-title{font-size:1.25rem;line-height:1.35}.service-card .card-text{font-size:.95rem!important;line-height:1.8;color:#f4f6ef!important}.btn-service,.btn-warning{border:0!important;background:var(--km-yellow)!important;color:#202510!important;border-radius:999px!important;font-weight:800!important;padding:12px 23px!important;box-shadow:0 8px 18px #00000012;transition:transform .2s,box-shadow .2s!important}.btn-service:hover,.btn-warning:hover{transform:translateY(-3px);box-shadow:0 12px 25px #0002!important;background:#ffe34a!important;color:#202510!important}
.value-section{background:var(--km-paper)!important;padding-top:80px!important;padding-bottom:80px!important;position:relative}.value-section .row{align-items:center}.value-section img{border-radius:var(--km-radius);box-shadow:var(--km-shadow);max-width:100%}.value-section p,.container p{line-height:1.85}.value-section .text-muted{color:var(--km-muted)!important}
.card:not(.service-card){border:1px solid #e9ede2;border-radius:18px;overflow:hidden;box-shadow:0 12px 35px #1b29130b;transition:transform .25s,box-shadow .25s}.card:not(.service-card):hover{transform:translateY(-5px);box-shadow:var(--km-shadow)}
img{max-width:100%}img:not(.navbar-brand img){transition:filter .25s}a{transition:color .2s}
.footer-section{background:#151a12!important;border-top:4px solid var(--km-olive)!important;padding-top:65px!important}.footer-heading{font-size:1rem;letter-spacing:.02em}.footer-links a{line-height:1.7}.footer-section .form-control{min-height:48px;border-radius:12px 0 0 12px!important}.footer-section .newsletter-form .btn{border-radius:0 12px 12px 0!important}.footer-section hr{border-color:#ffffff25!important}
.km-float-contact{position:fixed;right:25px;bottom:25px;z-index:1100;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#20bd5a;color:#fff;font-size:29px;text-decoration:none;box-shadow:0 10px 30px #20bd5a55;transition:transform .2s,box-shadow .2s}.km-float-contact:hover{transform:translateY(-5px) scale(1.04);color:white;box-shadow:0 15px 35px #20bd5a66}
#back-to-top{right:96px;bottom:32px;background:var(--km-yellow)!important;color:#1d2413!important;border:0;display:none!important}#back-to-top.show{display:flex!important}
.chatbot-button{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--km-yellow);color:#1c2413;border-radius:50%;font-size:24px;box-shadow:0 8px 25px #0002;transition:transform .2s}.chatbot-button:hover{transform:scale(1.08);color:#1c2413}
.km-toast{position:fixed;z-index:2100;left:50%;bottom:25px;transform:translateX(-50%);width:min(92vw,540px);padding:16px 20px;border-radius:14px;background:#202719;color:white;box-shadow:0 15px 45px #0003;border-left:4px solid var(--km-yellow);font-size:.95rem}
.reveal-up{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal-up.active{opacity:1;transform:translateY(0)}
/* Improved focus, readability and mobile navigation */
:focus-visible{outline:3px solid #e8bd00!important;outline-offset:3px!important}.carousel-caption .btn{margin-top:5px}
@media(max-width:991.98px){.navbar .navbar-collapse{padding:14px 0 8px}.navbar-nav{align-items:stretch;gap:2px}.navbar .nav-link{border-radius:12px;padding:11px 14px!important}#heroCarousel{margin-top:72px}#heroCarousel .carousel-item{height:68vh;min-height:460px}#heroCarousel .carousel-caption{left:7%;right:7%;bottom:12%;max-width:640px}#heroCarousel .carousel-caption h2{font-size:clamp(2.4rem,7vw,4rem)}}
@media(max-width:575.98px){#heroCarousel .carousel-item{height:72vh;min-height:520px;max-height:680px}#heroCarousel .carousel-caption{left:22px;right:22px;bottom:11%}#heroCarousel .carousel-caption h2{font-size:2.45rem;letter-spacing:-.04em}#heroCarousel .carousel-caption p{font-size:1rem;margin-bottom:20px}#heroCarousel .carousel-caption:after{font-size:.62rem;letter-spacing:.1em}.container> .row.justify-content-center.g-4{padding-top:48px;padding-bottom:50px}.service-card{padding:20px!important}.value-section{padding-top:48px!important;padding-bottom:48px!important}.km-float-contact{width:54px;height:54px;right:16px;bottom:16px}#back-to-top{right:80px;bottom:21px}.footer-section{padding-top:45px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal-up{opacity:1;transform:none}}
