/* Queijo Mais — Para Empresas v2.89 (Fiel ao PDF Estruturado e revisões) */
.emp-page {
  background: #FCF8F3;
  color: #241919;
  overflow: hidden;
  font-family: Rubik, Arial, sans-serif;
}
.emp-page * {
  box-sizing: border-box;
}
.emp-page h1,
.emp-page h2,
.emp-page h3 {
  font-family: 'DIN Pro', Arial, sans-serif;
  letter-spacing: 0;
  line-height: 1.15;
}
.emp-page p {
  line-height: 1.45;
}
.br-desktop {
  display: inline;
}

/* Ícones Material Symbols Rounded na página Para Empresas */
.emp-icon,
.emp-seg-icon {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  font-size: 28px;
  line-height: 1;
  color: #F36C00;
  display: inline-block;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.emp-seg-svg {
  width: 28px;
  height: 28px;
  color: #F36C00;
  display: block;
}

/* ==========================================================================
   HERO: "Qualidade e praticidade para o seu negócio"
   ========================================================================== */
.emp-hero {
  width: 100%;
  height: 515px;
  position: relative;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  isolation: isolate;
  background: #D52518;
  border-radius: 0 0 50% 50% / 0 0 42px 42px;
  overflow: hidden;
}
.emp-hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.06);
  z-index: -2;
}
.emp-hero-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(168, 28, 18, 0.25) 0%, rgba(190, 32, 18, 0.62) 48%, rgba(198, 30, 16, 0.88) 100%);
  z-index: -1;
}
.emp-hero-content {
  max-width: 860px;
  width: 100%;
  padding: 86px 24px 20px;
}
.emp-hero h1 {
  color: #fff;
  font-size: clamp(28px, 2.5vw, 36px);
  font-weight: 700;
  line-height: 1.15;
  margin: 0 auto 20px;
}
/* Textos do Hero em 18px e com as quebras de linha do modelo */
.emp-hero .emp-hero-lead,
.emp-hero-content > p:not(.emp-hero-lead) {
  color: #fff;
  font: 400 18px/1.38 Rubik, Arial, sans-serif !important;
  max-width: 780px;
  margin: 0 auto 18px;
}

/* Botões */
.emp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 12px 24px;
  border-radius: 10px;
  text-decoration: none;
  text-align: center;
  font: 700 16px/1 'DIN Pro', Arial, sans-serif !important;
  white-space: nowrap;
  transition: filter 0.15s ease;
}
.emp-button:hover {
  filter: brightness(0.95);
}
.emp-button-red {
  background: #D52518;
  color: #fff;
}
.emp-button-yellow {
  background: #FFCA26;
  color: #241919;
}
.emp-button i,
.emp-button svg,
.emp-button .qm-inline-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
}

/* ==========================================================================
   SESSÃO 1: "Qualidade, consistência & suporte para o dia a dia"
   ========================================================================== */
.emp-quality {
  max-width: 1140px;
  margin: 0 auto;
  padding: 104px 0 0;
  position: relative;
}
/* Símbolo "+" amarelo grande vazado à esquerda do título */
.emp-quality-decor {
  position: absolute;
  left: 35px;
  top: 98px;
  width: 124px;
  height: auto;
  pointer-events: none;
}
.emp-quality-intro {
  margin-left: 205px;
  max-width: 720px;
}
/* Título principal na cor #241919 e quebra de linha após "consistência" */
.emp-quality-intro h2 {
  color: #241919 !important;
  font-size: 32px;
  line-height: 1.16;
  max-width: 480px;
  margin: 0 0 24px;
}
/* Textos em 16px */
.emp-quality-intro p {
  font-size: 16px !important;
  line-height: 1.42;
  color: #241919;
  margin: 0 0 18px;
}
.emp-quality-features {
  max-width: 890px;
  margin: 64px 0 0 205px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.emp-quality-feature {
  position: relative;
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  align-items: center;
  gap: 56px;
  min-height: 292px;
}
.emp-quality-feature > img:first-child {
  display: block;
  width: 292px;
  height: 292px;
  object-fit: cover;
  border-radius: 30px;
}
/* Símbolos "+" vermelhos vazados posicionados entre as fotos 1-2 e 2-3 */
.emp-page .emp-quality-feature > img.emp-quality-red {
  position: absolute;
  display: block;
  width: 96px !important;
  height: auto !important;
  max-width: none !important;
  object-fit: contain;
  border-radius: 0;
  z-index: 3;
  pointer-events: none;
  filter: none !important;
}
.emp-page .emp-quality-feature > img.emp-quality-red-1 {
  left: -46px !important;
  bottom: -54px !important;
  top: auto !important;
  right: auto !important;
}
.emp-page .emp-quality-feature > img.emp-quality-red-2 {
  left: 242px !important;
  bottom: -52px !important;
  top: auto !important;
  right: auto !important;
}

.emp-feature-copy {
  max-width: 440px;
}
.emp-feature-copy .emp-icon {
  margin-bottom: 10px;
}
/* Títulos menores em 20px e peso semibold (600) */
.emp-feature-copy h3 {
  color: #241919;
  font-family: 'DIN Pro', Arial, sans-serif;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.2;
  margin: 0 0 12px;
}
/* Textos dos diferenciais em 16px */
.emp-feature-copy p {
  font-size: 16px !important;
  line-height: 1.38;
  color: #241919;
  margin: 0 0 14px;
}

/* ==========================================================================
   SESSÃO 2: "Uma linha para diferentes formas de servir"
   ========================================================================== */
.emp-segments {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 135px auto 0;
  padding: 0 max(20px, calc((100vw - 1440px) / 2 + 20px)) 95px;
}
.emp-segments-wave {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  top: 155px;
  height: 920px;
  background: url('../assets/empresas-marca-ondulada.svg') center / 100% 100% no-repeat;
  z-index: 0;
  pointer-events: none;
}
.emp-segments-heading {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 auto 74px;
  text-align: center;
}
.emp-segments-heading h2 {
  color: #241919;
  font-size: 32px;
  line-height: 1.16;
  margin: 0 0 18px;
}
.emp-segments-heading p {
  font-size: 16px;
  line-height: 1.4;
  margin: 0 auto;
  max-width: 520px;
}
.emp-segments-top,
.emp-segments-bottom {
  display: grid;
  position: relative;
  z-index: 1;
}
.emp-segments-top {
  grid-template-columns: repeat(3, 309px);
  justify-content: center;
  column-gap: 88px;
  max-width: 1103px;
  margin: 0 auto;
}
.emp-segments-bottom {
  grid-template-columns: repeat(2, 309px);
  justify-content: center;
  column-gap: 96px;
  max-width: 714px;
  margin: 90px auto 0;
}
.emp-segment {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.emp-segment > img {
  display: block;
  width: 309px;
  height: 205px;
  max-width: 100%;
  object-fit: cover;
  border-radius: 28px;
  margin-bottom: 22px;
}
.emp-segment .emp-seg-icon,
.emp-segment .emp-seg-svg {
  margin-bottom: 12px;
}
.emp-segment h3 {
  color: #241919;
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px;
}
.emp-segment p {
  font-size: 16px;
  line-height: 1.35;
  color: #241919;
  margin: 0;
}

/* Símbolos "+" amarelos posicionados exatamente no centro entre os cards */
.emp-page .emp-segment-plus {
  position: absolute;
  z-index: 3;
  width: 48px;
  height: 43px;
  object-fit: contain;
  pointer-events: none;
}
.emp-page .emp-segments-top .plus-a {
  top: 81px !important;
  left: 353px !important;
  transform: translateX(-50%);
}
.emp-page .emp-segments-top .plus-b {
  top: 81px !important;
  left: 750px !important;
  transform: translateX(-50%);
}
.emp-page .emp-segments-bottom .plus-c {
  top: 81px !important;
  left: 50% !important;
  bottom: auto !important;
  transform: translateX(-50%);
}

/* ==========================================================================
   SESSÃO 3: "Vamos encontrar as melhores opções para o seu negócio"
   ========================================================================== */
.emp-cta {
  width: min(1140px, calc(100% - 48px));
  margin: 90px auto 140px;
  display: grid;
  grid-template-columns: minmax(0, 500px) 440px;
  justify-content: space-between;
  gap: 60px;
  align-items: center;
  min-height: 440px;
}
.emp-cta-copy {
  max-width: 490px;
}
/* Título ajustado para 32px */
.emp-cta h2 {
  color: #241919;
  font-size: 32px !important;
  line-height: 1.15;
  margin: 0 0 24px;
}
.emp-cta p {
  font-size: 16px;
  line-height: 1.42;
  color: #241919;
  margin: 0 0 18px;
}
.emp-cta .emp-button {
  margin-top: 12px;
  font-size: 16px !important;
}
/* Card amarelo com a nova foto funcionaria-mais.svg */
.emp-cta-visual {
  background: #FFCA26;
  width: 440px;
  height: 420px;
  max-width: 100%;
  border-radius: 32px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  overflow: visible;
}
.emp-cta-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 32px;
  background: url('../assets/empresas-mais-secao3.svg') 16px 18px / 150px auto no-repeat;
  opacity: 0.14;
  pointer-events: none;
}
.emp-cta-visual > img {
  position: relative;
  z-index: 2;
  height: 485px;
  width: auto;
  max-width: 92%;
  object-fit: contain;
  object-position: bottom center;
}

/* ==========================================================================
   RESPONSIVO TABLET (800px - 1199px)
   ========================================================================== */
@media (max-width: 1199px) {
  .emp-quality {
    max-width: calc(100% - 64px);
  }
  .emp-quality-decor {
    left: 0;
    width: 95px;
  }
  .emp-quality-intro,
  .emp-quality-features {
    margin-left: 120px;
  }
  .emp-segments-top {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 36px;
    max-width: calc(100% - 48px);
  }
  .emp-page .emp-segments-top .plus-a {
    left: 33.33% !important;
  }
  .emp-page .emp-segments-top .plus-b {
    left: 66.66% !important;
  }
  .emp-cta {
    grid-template-columns: 1fr 390px;
    gap: 40px;
  }
  .emp-cta-visual {
    width: 390px;
    height: 380px;
  }
  .emp-cta-visual > img {
    height: 435px;
  }
}

/* ==========================================================================
   RESPONSIVO MOBILE (<= 799px)
   ========================================================================== */
@media (max-width: 799px) {
  .br-desktop {
    display: none !important;
  }
  .emp-hero {
    min-height: 520px;
    height: auto;
    border-radius: 0 0 32px 32px;
  }
  .emp-hero-photo {
    object-position: 58% center;
    transform: none;
  }
  .emp-hero-content {
    padding: 132px 22px 56px;
  }
  .emp-hero h1 {
    white-space: normal;
    font-size: clamp(26px, 7vw, 34px);
    margin-bottom: 16px;
  }
  .emp-hero .emp-hero-lead,
  .emp-hero-content > p:not(.emp-hero-lead) {
    font-size: 16px !important;
    line-height: 1.42 !important;
  }
  .emp-quality {
    max-width: calc(100% - 40px);
    padding-top: 72px;
  }
  .emp-quality-decor {
    width: 68px;
    left: auto;
    right: 0;
    top: 32px;
  }
  .emp-quality-intro {
    margin: 0;
    max-width: 100%;
    padding-right: 20px;
  }
  .emp-quality-intro h2 {
    color: #D52518 !important;
    font-size: 28px;
  }
  .emp-quality-features {
    margin: 42px auto 0;
    gap: 48px;
  }
  .emp-quality-feature {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .emp-quality-feature > img:first-child {
    width: 100%;
    max-width: 340px;
    height: auto;
    aspect-ratio: 1 / 1;
    justify-self: center;
  }
  .emp-page .emp-quality-feature > img.emp-quality-red-1 {
    left: 2% !important;
    top: 255px !important;
    bottom: auto !important;
    width: 72px !important;
  }
  .emp-page .emp-quality-feature > img.emp-quality-red-2 {
    left: auto !important;
    right: 2% !important;
    top: 255px !important;
    bottom: auto !important;
    width: 72px !important;
  }
  .emp-feature-copy {
    max-width: 520px;
    margin: 0 auto;
  }
  .emp-segments {
    margin-top: 84px;
    padding: 0 20px 64px;
  }
  .emp-segments-heading {
    margin-bottom: 44px;
  }
  .emp-segments-heading h2 {
    color: #D52518 !important;
    font-size: 28px;
  }
  .emp-segments-wave {
    top: 200px;
    height: calc(100% - 100px);
  }
  .emp-segments-top,
  .emp-segments-bottom {
    grid-template-columns: 1fr;
    gap: 38px;
    max-width: 340px;
  }
  .emp-segments-bottom {
    margin-top: 38px;
  }
  .emp-segment > img {
    width: 100%;
    height: auto;
    aspect-ratio: 309 / 205;
  }
  .emp-page .emp-segment-plus {
    display: none !important;
  }
  .emp-cta {
    width: calc(100% - 40px);
    margin: 64px auto 96px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 56px;
  }
  .emp-cta h2 {
    color: #D52518 !important;
    font-size: 28px !important;
  }
  .emp-cta-copy {
    max-width: 100%;
  }
  .emp-cta-visual {
    width: 100%;
    max-width: 360px;
    height: 340px;
    margin: 0 auto;
  }
  .emp-cta-visual > img {
    height: 390px;
    max-width: 90%;
  }
}