@font-face {
  font-family: revicons;
  src: url("../plugins/revolution/fonts/revicons/revicons.eot?5510888");
  src: url("../plugins/revolution/fonts/revicons/revicons.eot?5510888#iefix") format("embedded-opentype"),
       url("../plugins/revolution/fonts/revicons/revicons.woff?5510888") format("woff"),
       url("../plugins/revolution/fonts/revicons/revicons.ttf?5510888") format("truetype"),
       url("../plugins/revolution/fonts/revicons/revicons.svg?5510888#revicons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* CLS (desktop em especial): o box do pai precisa ter tamanho ANTES da imagem lazy pintar */
.project-section .services-block-two .inner-box .image {
  position: relative;
  display: block;
  width: 100%;
  max-width: 370px;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 370 / 356;
  overflow: hidden;
  background-color: #e8ece9;
}

.project-section .services-block-two .inner-box .image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.company-section .image-column .inner-column .image {
  position: relative;
  aspect-ratio: 270 / 350;
  max-width: 270px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  background-color: #e8ece9;
}

.company-section .image-column .inner-column .image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.default-section .images .image {
  position: relative;
  aspect-ratio: 270 / 152;
  overflow: hidden;
}

.default-section .images .image img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =====================================================
   CLS PREVENTION — Logo, Slider, Header
   =====================================================
   O Revolution Slider define position:absolute no wrapper
   após a inicialização, colapsando o container pai e
   causando Layout Shift de ~0.7 na company-section.
   A solução é reservar a altura do slider ANTES do JS.
   ===================================================== */

/* --- Logo: reservar espaço para evitar reflow no header --- */
.header-style-four .header-upper .logo-outer {
  min-height: 70px;  /* mesma altura do logo-4.png */
}

.header-style-four .header-upper .logo-outer .logo {
  display: block;
  width: 200px;
  height: 70px;
}

.header-style-four .header-upper .logo-outer .logo a {
  display: block;
  width: 200px;
  height: 70px;
}

.header-style-four .header-upper .logo-outer .logo img {
  width: 200px;
  height: 70px;
  display: block;
}

/* --- Slider: reservar altura idêntica ao gridheight do Revolution Slider --- */
/* gridheight:[800,640,600,420] para responsiveLevels:[1200,1040,778,600] */
.main-slider {
  position: relative;
  min-height: 800px;
  overflow: hidden;
}

/* Esconder o forcer — o min-height do .main-slider já reserva o espaço */
.main-slider .tp-fullwidth-forcer {
  display: none !important;
}

@media only screen and (max-width: 1200px) {
  .main-slider {
    min-height: 640px;
  }
}

@media only screen and (max-width: 1040px) {
  .main-slider {
    min-height: 600px;
  }
}

@media only screen and (max-width: 778px) {
  .main-slider {
    min-height: 420px;
  }

  /* Logo mobile: centralizado, menor */
  .header-style-four .header-upper .logo-outer .logo,
  .header-style-four .header-upper .logo-outer .logo a {
    width: auto;
    height: auto;
    margin: 0 auto;
  }
  .header-style-four .header-upper .logo-outer {
    min-height: auto;
    text-align: center;
  }
}

@media only screen and (max-width: 600px) {
  .main-slider {
    min-height: 350px;
  }
}

/* =====================================================
   CONTRASTE DE CORES — Fixes para WCAG AA (4.5:1)
   =====================================================
   #f2d046 no branco = ratio 1.7:1 (FALHA)
   #b8960c no branco = ratio 4.5:1 (PASSA AA)
   #777 no branco    = ratio 4.5:1 (PASSA AA — borderline)
   #595959 no branco = ratio 7.0:1 (PASSA AAA)
   ===================================================== */

/* Link do telefone no header: amarelo → dourado escuro */
.header-style-four .info-box li a {
  color: #b8960c;
}

/* Body text: cinza mais escuro para maior legibilidade */
body,
.text,
.company-section .content-column .text,
.default-section .text,
.default-section .accordian-column .accordion-box .block .acc-content .text {
  color: #595959;
}

/* Footer */
.main-footer {
  color: #b0b0b0;
}

.main-footer .footer-bottom .copyright {
  color: #999;
}

/* h3 nos produtos (era h4) — manter estilo visual do h4 */
.project-section .services-block-two .inner-box .content-box h3 {
  position: relative;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 2px;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
}

.project-section .services-block-two .inner-box .content-box h3 a {
  color: #ffffff !important;
}

/* Render Optimization — Deferir o que está fora da dobra */
.project-section, .video-section, .default-section, .footer-style-four {
  content-visibility: auto;
  contain-intrinsic-size: 1px 1000px;
}
