/* =========================================================
   V67 — Refinamento visual de cores
   Objetivo: dar mais presença visual à página sem alterar
   textos, estrutura, grids, animações ou responsividade.
   ========================================================= */

:root{
  --mesp-purple: #5f2b58;
  --mesp-purple-deep: #3f173b;
  --mesp-purple-soft: rgba(95, 43, 88, .075);
  --mesp-gold: #cda758;
  --mesp-gold-soft: rgba(205, 167, 88, .16);
  --mesp-cream: #fbf7ef;
  --mesp-cream-2: #f7efe4;
  --mesp-ink: #12131a;
}

/* Base visual das sections: mais profundidade, sem mexer em layout */
.section:not(.hero):not(.cta-final){
  position: relative;
  isolation: isolate;
}

.section:not(.hero):not(.cta-final)::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .85;
  background:
    radial-gradient(520px 240px at 11% 18%, rgba(205,167,88,.075), transparent 62%),
    radial-gradient(560px 260px at 88% 78%, rgba(95,43,88,.055), transparent 65%);
}

/* Alternância sutil para não parecer uma página toda igual */
#identificacao,
#sobre{
  background:
    linear-gradient(180deg, #fff 0%, var(--mesp-cream) 100%) !important;
}

#atendimento,
#como-funciona{
  background:
    radial-gradient(720px 320px at 8% 18%, rgba(205,167,88,.10), transparent 60%),
    radial-gradient(760px 360px at 92% 82%, rgba(95,43,88,.08), transparent 62%),
    linear-gradient(180deg, #fffdf9 0%, #fff 100%) !important;
}

#demandas{
  background:
    linear-gradient(90deg, rgba(251,247,239,.88) 0%, #fff 48%, rgba(95,43,88,.045) 100%) !important;
}

#faq{
  background:
    radial-gradient(620px 260px at 20% 12%, rgba(95,43,88,.08), transparent 58%),
    linear-gradient(180deg, #fff 0%, #fbf7ef 100%) !important;
}

/* Labels/eyebrows com mais identidade, sem os ícones decorativos */
.service-eyebrow,
.service-section-label,
.section-kicker,
.eyebrow,
.kicker,
.atendimento-pin__kicker,
.atendimento-formats__kicker,
.demandas-slider__eyebrow,
.how-service__eyebrow{
  border-color: rgba(95,43,88,.20) !important;
  color: var(--mesp-purple) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(251,247,239,.86)) !important;
  box-shadow: 0 14px 36px rgba(95,43,88,.055) !important;
}

/* Barras douradas dos títulos mais refinadas */
.section h2::before,
.section .pain-title::before,
.section .how-service__title::before,
.section .how-service__steps-title::before,
.section .atendimento-formats__title::before,
.section .demandas-slider__title::before{
  background: linear-gradient(180deg, #e0bd70, #b78d3f) !important;
  box-shadow: 0 0 0 1px rgba(205,167,88,.12) !important;
}

/* Cards: mais variação visual, mantendo estrutura */
.card,
.service-card,
.how-step,
.how-service__step,
.atendimento-format-card,
.demandas-card,
.service-case-card,
.authority-photo img,
.service-intro__card,
.service-intro__panel{
  border-color: rgba(95,43,88,.16) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96) 0%, rgba(251,247,239,.78) 100%) !important;
  box-shadow:
    0 20px 60px rgba(49,31,48,.055),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
}

/* Cards específicos dos formatos: destaque sem mudar estrutura */
#atendimento .atendimento-format-card{
  position: relative;
  overflow: hidden;
}

#atendimento .atendimento-format-card::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--mesp-gold), rgba(95,43,88,.65));
  opacity: .9;
  pointer-events: none;
}

#atendimento .atendimento-format-card:nth-child(2){
  background:
    radial-gradient(360px 180px at 100% 0%, rgba(95,43,88,.08), transparent 58%),
    linear-gradient(145deg, #fff 0%, #faf3e8 100%) !important;
}

/* Section de soluções: dar mais presença ao lado dos slides */
#demandas .demandas-slider__right,
#demandas .demandas-slider__left,
#demandas .demandas-summary,
#demandas .demandas-slider__panel{
  background-color: transparent !important;
}

#demandas .demandas-slide,
#demandas .demandas-slider__right{
  color: var(--mesp-ink);
}

#demandas .demandas-slider__controls button,
.service-carousel__controls button,
.service-intro__arrow{
  border-color: rgba(95,43,88,.18) !important;
  background:
    linear-gradient(180deg, #fff 0%, #fbf7ef 100%) !important;
  color: var(--mesp-purple) !important;
  box-shadow: 0 14px 34px rgba(95,43,88,.10) !important;
}

#demandas .demandas-slider__controls button:hover,
.service-carousel__controls button:hover,
.service-intro__arrow:hover{
  border-color: rgba(205,167,88,.45) !important;
  color: var(--mesp-purple-deep) !important;
  box-shadow: 0 18px 42px rgba(95,43,88,.14) !important;
}

/* Como funciona: cards mais claros e numerais com tom da marca */
#como-funciona .how-service__step,
#como-funciona .how-step{
  background:
    linear-gradient(145deg, rgba(255,255,255,.97), rgba(251,247,239,.82)) !important;
}

#como-funciona .how-service__number,
#como-funciona .how-step__number{
  color: var(--mesp-gold) !important;
  background: rgba(205,167,88,.12) !important;
  border-color: rgba(205,167,88,.22) !important;
}

/* Authority: foto e contadores mais integrados à paleta */
#sobre .authority-photo img{
  border-color: rgba(205,167,88,.30) !important;
  box-shadow: 0 24px 70px rgba(95,43,88,.12) !important;
}

#sobre .authority-stat,
#sobre .about-stat-item{
  border-color: rgba(95,43,88,.14) !important;
}

#sobre .authority-stat strong,
#sobre .about-stat-number,
#sobre [data-count]{
  color: var(--mesp-gold) !important;
}

/* FAQ/alt-warm: melhorar leitura e separar melhor as perguntas */
#faq .faq-item,
#faq details,
.alt-warm .faq-item,
.alt-warm details{
  border-color: rgba(95,43,88,.14) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(251,247,239,.72)) !important;
  box-shadow: 0 16px 44px rgba(95,43,88,.05) !important;
}

#faq strong,
#faq summary{
  color: var(--mesp-purple-deep) !important;
}

/* CTA final mais sofisticado, ainda dentro da identidade */
.cta-final{
  background:
    radial-gradient(680px 300px at 88% 20%, rgba(205,167,88,.18), transparent 62%),
    linear-gradient(100deg, #4a1f45 0%, #642e5d 48%, #7a4a73 100%) !important;
}

.cta-final::after{
  background:
    linear-gradient(90deg, rgba(74,31,69,.98) 0%, rgba(100,46,93,.76) 62%, rgba(205,167,88,.16) 100%) !important;
}

/* Formulários: borda com tom da marca e foco mais premium */
input,
textarea,
select{
  border-color: rgba(95,43,88,.18) !important;
}

input:focus,
textarea:focus,
select:focus{
  border-color: rgba(205,167,88,.62) !important;
  box-shadow:
    0 0 0 4px rgba(205,167,88,.12),
    0 14px 32px rgba(95,43,88,.07) !important;
}

/* Mobile: preservar leveza, sem excesso de gradientes */
@media (max-width: 760px){
  .section:not(.hero):not(.cta-final)::after{
    opacity: .45;
  }

  #identificacao,
  #atendimento,
  #demandas,
  #como-funciona,
  #sobre,
  #faq{
    background:
      linear-gradient(180deg, #fff 0%, #fbf7ef 100%) !important;
  }
}

/* =========================================================
   V68 — Correção de contraste: card "Assessoria jurídica mensal"
   Mantém a estrutura e textos, apenas recupera legibilidade do card direito.
   ========================================================= */
#atendimento .atendimento-format-card--featured,
#atendimento .atendimento-formats__cards .atendimento-format-card--featured,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2){
  background:
    radial-gradient(420px 220px at 92% 6%, rgba(255,255,255,.16), transparent 58%),
    radial-gradient(360px 220px at 0% 100%, rgba(199,163,91,.18), transparent 62%),
    linear-gradient(145deg, #5b2c55 0%, #67345f 52%, #4a2447 100%) !important;
  border-color: rgba(199,163,91,.34) !important;
  color: #fff !important;
  box-shadow:
    0 24px 72px rgba(91,44,85,.18),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

#atendimento .atendimento-format-card--featured .atendimento-format-card__label,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2) .atendimento-format-card__label{
  color: rgba(255,255,255,.72) !important;
}

#atendimento .atendimento-format-card--featured h3,
#atendimento .atendimento-format-card--featured p,
#atendimento .atendimento-format-card--featured strong,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2) h3,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2) p,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2) strong{
  color: #fff !important;
}

#atendimento .atendimento-format-card--featured p,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2) p{
  color: rgba(255,255,255,.84) !important;
}

#atendimento .atendimento-format-card--featured strong,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2) strong{
  border-top-color: rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.96) !important;
}

#atendimento .atendimento-format-card--featured::before,
#atendimento .atendimento-formats__cards .atendimento-format-card:nth-child(2)::before{
  background: linear-gradient(180deg, #d8b45d, rgba(255,255,255,.36)) !important;
  opacity: 1 !important;
}


/* =========================================================
   V89 — Atendimento formats: fundo premium minimalista
   Escopo: somente section compacta da página Trabalhista
   Objetivo: sair do branco puro sem alterar textos, cards ou layout.
   ========================================================= */

body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only{
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    linear-gradient(110deg, rgba(95,43,88,.035) 1px, transparent 1px),
    linear-gradient(25deg, rgba(205,167,88,.040) 1px, transparent 1px),
    radial-gradient(780px 360px at 12% 16%, rgba(205,167,88,.145), transparent 64%),
    radial-gradient(760px 380px at 86% 72%, rgba(95,43,88,.118), transparent 66%),
    radial-gradient(420px 220px at 50% 52%, rgba(255,255,255,.82), transparent 68%),
    linear-gradient(180deg, #fffdf9 0%, #fbf7ef 54%, #fffdf9 100%) !important;
  background-size:
    132px 132px,
    168px 168px,
    auto,
    auto,
    auto,
    auto !important;
  border-top: 1px solid rgba(205,167,88,.22) !important;
  border-bottom: 1px solid rgba(95,43,88,.10) !important;
}

body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only::before{
  content: "" !important;
  position: absolute !important;
  inset: clamp(22px, 4vw, 54px) clamp(20px, 5vw, 88px) !important;
  z-index: -1 !important;
  pointer-events: none !important;
  border: 1px solid rgba(95,43,88,.065) !important;
  background:
    linear-gradient(90deg, rgba(205,167,88,.34), transparent 22%, transparent 78%, rgba(95,43,88,.12)),
    linear-gradient(180deg, rgba(255,255,255,.36), rgba(255,255,255,0)) !important;
  opacity: .82 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 28px 90px rgba(49,31,48,.035) !important;
}

body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: .72 !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.20) 50%, transparent 100%) top center / min(760px, 68vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.16) 50%, transparent 100%) bottom center / min(820px, 72vw) 1px no-repeat,
    radial-gradient(circle at 18% 64%, rgba(95,43,88,.055), transparent 24%),
    radial-gradient(circle at 82% 30%, rgba(205,167,88,.085), transparent 24%) !important;
}

body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-formats__wrap{
  position: relative !important;
  z-index: 1 !important;
}

body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card{
  backdrop-filter: blur(10px) !important;
}

@media (max-width: 760px){
  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only{
    background-size:
      96px 96px,
      128px 128px,
      auto,
      auto,
      auto,
      auto !important;
  }

  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only::before{
    inset: 18px 16px !important;
  }

  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only::after{
    opacity: .55 !important;
  }
}


/* =========================================================
   V91 — Como funciona: visual premium limpo
   Escopo: somente section steps / how-service
   Objetivo: manter a estrutura, mas remover o visual pesado do V90.
   ========================================================= */

#como-funciona.how-service{
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(760px 320px at 10% 18%, rgba(205,167,88,.10), transparent 64%),
    radial-gradient(720px 360px at 92% 84%, rgba(95,43,88,.075), transparent 68%),
    linear-gradient(180deg, #fffdf9 0%, #fbfaf6 54%, #fffdf9 100%) !important;
  border-top: 1px solid rgba(205,167,88,.16) !important;
  border-bottom: 1px solid rgba(95,43,88,.08) !important;
}

/* remove o retângulo grande que estava deixando a section pesada */
#como-funciona.how-service::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .82 !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.18) 50%, transparent 100%) top center / min(720px, 62vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.10) 50%, transparent 100%) bottom center / min(760px, 66vw) 1px no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
}

#como-funciona.how-service::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .72 !important;
  background:
    linear-gradient(115deg, rgba(205,167,88,.09) 0 1px, transparent 1px 100%) 6% 22% / 180px 180px no-repeat,
    linear-gradient(25deg, rgba(95,43,88,.075) 0 1px, transparent 1px 100%) 92% 76% / 210px 210px no-repeat,
    radial-gradient(circle at 16% 72%, rgba(95,43,88,.052), transparent 24%),
    radial-gradient(circle at 84% 22%, rgba(205,167,88,.075), transparent 23%) !important;
}

#como-funciona .how-service__container{
  position: relative !important;
  z-index: 1 !important;
}

/* detalhe central quase invisível, só para dar profundidade */
#como-funciona .how-service__container::before{
  content: "" !important;
  position: absolute !important;
  left: 52% !important;
  top: 50% !important;
  width: min(460px, 32vw) !important;
  height: min(460px, 32vw) !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(205,167,88,.10) !important;
  background: transparent !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

#como-funciona .how-service__left,
#como-funciona .how-service__right{
  position: relative !important;
  z-index: 1 !important;
}

#como-funciona .how-service__benefits{
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,250,244,.58)) !important;
  border: 1px solid rgba(95,43,88,.08) !important;
  box-shadow:
    0 18px 52px rgba(95,43,88,.035),
    inset 0 1px 0 rgba(255,255,255,.70) !important;
}

#como-funciona .how-service__right{
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(205,167,88,.105), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,250,244,.84)) !important;
  border: 1px solid rgba(95,43,88,.10) !important;
  box-shadow:
    0 22px 62px rgba(95,43,88,.075),
    inset 0 1px 0 rgba(255,255,255,.82) !important;
  backdrop-filter: none !important;
}

#como-funciona .how-service__right::before{
  border-color: rgba(205,167,88,.16) !important;
}

#como-funciona .how-service__right::after{
  border-color: rgba(205,167,88,.12) !important;
  box-shadow: none !important;
}

#como-funciona .how-service__step{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78)) !important;
  border-color: rgba(95,43,88,.10) !important;
  box-shadow: 0 10px 28px rgba(49,31,48,.030) !important;
}

#como-funciona .how-service__step:hover{
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(205,167,88,.36) !important;
  box-shadow: 0 16px 38px rgba(95,43,88,.055) !important;
}

#como-funciona .how-service__number{
  background: rgba(205,167,88,.105) !important;
  color: #5f2b58 !important;
  border: 1px solid rgba(205,167,88,.20) !important;
  box-shadow: none !important;
}

@media (max-width: 760px){
  #como-funciona.how-service::after{
    opacity: .48 !important;
  }

  #como-funciona .how-service__container::before{
    display: none !important;
  }
}


/* =====================================================
   V92 — How Service: remove caixa/borda dos benefícios
   Mantém o conteúdo, remove apenas o visual de card.
===================================================== */
#como-funciona .how-service__benefits{
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#como-funciona .how-service__benefits::before,
#como-funciona .how-service__benefits::after{
  display: none !important;
  content: none !important;
}


/* =====================================================
   V116 — How Service: fundo com detalhes jurídicos minimalistas
   Pedido: adicionar mais riqueza visual apenas no fundo da section,
   sem mexer na estrutura interna.
===================================================== */
#como-funciona.how-service::before{
  background:
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.18) 50%, transparent 100%) top center / min(720px, 62vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.10) 50%, transparent 100%) bottom center / min(760px, 66vw) 1px no-repeat,
    linear-gradient(180deg, rgba(205,167,88,.14) 0 1px, transparent 1px 100%) 8% 0 / 1px 150px no-repeat,
    linear-gradient(180deg, rgba(95,43,88,.10) 0 1px, transparent 1px 100%) 92% 100% / 1px 164px no-repeat !important;
}

#como-funciona.how-service::after{
  opacity: .80 !important;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20200%20200%27%20fill%3D%27none%27%3E%0A%20%20%3Cg%20stroke%3D%27%235f2b58%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.22%27%3E%0A%20%20%20%20%3Cpath%20d%3D%27M100%2034v104%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M74%2052h52%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M58%2062h84%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M66%2062l-18%2034h36L66%2062Z%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M134%2062l-18%2034h36L134%2062Z%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M48%2096c4%2011%2015%2018%2028%2018s24-7%2028-18%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M96%2096c4%2011%2015%2018%2028%2018s24-7%2028-18%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M90%20138h20%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M78%20152c9%208%2035%208%2044%200%27%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E") 88% 18% / 168px 168px no-repeat,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20200%20200%27%20fill%3D%27none%27%3E%0A%20%20%3Cg%20stroke%3D%27%23cda758%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.24%27%3E%0A%20%20%20%20%3Cpath%20d%3D%27M52%2046h96%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M44%2060h112%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M60%2060v68%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M84%2060v68%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M108%2060v68%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M132%2060v68%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M42%20128h116%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M36%20142h128%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M70%2034h60%27%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E") 10% 78% / 156px 156px no-repeat,
    linear-gradient(115deg, rgba(205,167,88,.09) 0 1px, transparent 1px 100%) 6% 22% / 180px 180px no-repeat,
    linear-gradient(25deg, rgba(95,43,88,.075) 0 1px, transparent 1px 100%) 92% 76% / 210px 210px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.10) 50%, transparent 100%) 14% 86% / 148px 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.08) 50%, transparent 100%) 84% 12% / 164px 1px no-repeat,
    radial-gradient(circle at 16% 72%, rgba(95,43,88,.052), transparent 24%),
    radial-gradient(circle at 84% 22%, rgba(205,167,88,.075), transparent 23%) !important;
}

#como-funciona .how-service__container::after{
  content: "" !important;
  position: absolute !important;
  inset: 18px 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
  opacity: .78 !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.10) 50%, transparent 100%) 50% 28px / min(180px, 18vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.08) 50%, transparent 100%) 50% calc(100% - 28px) / min(210px, 20vw) 1px no-repeat,
    radial-gradient(circle, rgba(205,167,88,.16) 0 1px, transparent 2px) 50% 50% / 16px 16px no-repeat !important;
}

@media (max-width: 760px){
  #como-funciona.how-service::before{
    background:
      linear-gradient(90deg, transparent 0%, rgba(205,167,88,.18) 50%, transparent 100%) top center / 72vw 1px no-repeat,
      linear-gradient(90deg, transparent 0%, rgba(95,43,88,.10) 50%, transparent 100%) bottom center / 74vw 1px no-repeat !important;
  }

  #como-funciona.how-service::after{
    opacity: .56 !important;
    background:
      url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20200%20200%27%20fill%3D%27none%27%3E%0A%20%20%3Cg%20stroke%3D%27%235f2b58%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.22%27%3E%0A%20%20%20%20%3Cpath%20d%3D%27M100%2034v104%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M74%2052h52%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M58%2062h84%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M66%2062l-18%2034h36L66%2062Z%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M134%2062l-18%2034h36L134%2062Z%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M48%2096c4%2011%2015%2018%2028%2018s24-7%2028-18%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M96%2096c4%2011%2015%2018%2028%2018s24-7%2028-18%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M90%20138h20%27%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%27M78%20152c9%208%2035%208%2044%200%27%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E") 92% 12% / 108px 108px no-repeat,
      linear-gradient(115deg, rgba(205,167,88,.08) 0 1px, transparent 1px 100%) 8% 24% / 126px 126px no-repeat,
      radial-gradient(circle at 18% 76%, rgba(95,43,88,.05), transparent 24%),
      radial-gradient(circle at 84% 16%, rgba(205,167,88,.06), transparent 22%) !important;
  }

  #como-funciona .how-service__container::after{
    display: none !important;
  }
}



/* =====================================================
   V117 — How Service: fundo mais perceptível e ainda minimalista
   Escopo: somente background da section como-funciona.
===================================================== */
#como-funciona.how-service{
  background:
    radial-gradient(680px 360px at 8% 72%, rgba(205,167,88,.16), transparent 68%),
    radial-gradient(720px 390px at 91% 18%, rgba(95,43,88,.13), transparent 70%),
    linear-gradient(180deg, #fffdf8 0%, #fbf7ef 50%, #fffdf8 100%) !important;
}

#como-funciona.how-service::before{
  opacity: .92 !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.28) 50%, transparent 100%) top center / min(920px, 78vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.16) 50%, transparent 100%) bottom center / min(920px, 78vw) 1px no-repeat,
    linear-gradient(90deg, rgba(205,167,88,.18), transparent 28%) 9% 67% / 190px 1px no-repeat,
    linear-gradient(90deg, rgba(205,167,88,.18), transparent 28%) 9% calc(67% + 22px) / 150px 1px no-repeat,
    linear-gradient(90deg, rgba(95,43,88,.14), transparent 30%) 89% 22% / 170px 1px no-repeat,
    repeating-linear-gradient(135deg, rgba(95,43,88,.032) 0 1px, transparent 1px 92px) !important;
}

#como-funciona.how-service::after{
  opacity: .95 !important;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%20240%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%235f2b58%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.34%27%3E%0A%3Cpath%20d%3D%27M120%2038v140%27%2F%3E%3Cpath%20d%3D%27M86%2062h68%27%2F%3E%3Cpath%20d%3D%27M66%2076h108%27%2F%3E%3Cpath%20d%3D%27M78%2076%2052%20126h52L78%2076Z%27%2F%3E%3Cpath%20d%3D%27M162%2076l-26%2050h52L162%2076Z%27%2F%3E%3Cpath%20d%3D%27M52%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M104%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M108%20178h24%27%2F%3E%3Cpath%20d%3D%27M92%20196c16%2010%2040%2010%2056%200%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") 87% 13% / 226px 226px no-repeat,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%20240%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%23cda758%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.38%27%3E%0A%3Cpath%20d%3D%27M62%2058h116%27%2F%3E%3Cpath%20d%3D%27M50%2076h140%27%2F%3E%3Cpath%20d%3D%27M74%2076v82%27%2F%3E%3Cpath%20d%3D%27M102%2076v82%27%2F%3E%3Cpath%20d%3D%27M138%2076v82%27%2F%3E%3Cpath%20d%3D%27M166%2076v82%27%2F%3E%3Cpath%20d%3D%27M54%20158h132%27%2F%3E%3Cpath%20d%3D%27M44%20176h152%27%2F%3E%3Cpath%20d%3D%27M86%2044h68%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") 8% 78% / 220px 220px no-repeat,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20420%20220%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%235f2b58%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.20%27%3E%0A%3Cpath%20d%3D%27M42%2044h190%27%2F%3E%3Cpath%20d%3D%27M42%2072h292%27%2F%3E%3Cpath%20d%3D%27M42%20100h238%27%2F%3E%3Cpath%20d%3D%27M42%20128h320%27%2F%3E%3Cpath%20d%3D%27M42%20156h210%27%2F%3E%3Cpath%20d%3D%27M42%20184h280%27%2F%3E%0A%3C%2Fg%3E%3Cpath%20d%3D%27M300%2040c34%2022%2056%2054%2068%2096%27%20stroke%3D%27%23cda758%27%20stroke-width%3D%272%27%20opacity%3D%27.22%27%2F%3E%3C%2Fsvg%3E") 51% 48% / 430px 226px no-repeat,
    radial-gradient(circle at 50% 50%, transparent 0 210px, rgba(205,167,88,.16) 211px 212px, transparent 213px) 50% 50% / 520px 520px no-repeat,
    radial-gradient(circle at 13% 72%, rgba(205,167,88,.24) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 26%, rgba(95,43,88,.14) 0 2px, transparent 3px),
    radial-gradient(circle at 30% 38%, rgba(205,167,88,.14), transparent 18%),
    radial-gradient(circle at 78% 84%, rgba(95,43,88,.10), transparent 22%) !important;
}

#como-funciona .how-service__container::after{
  content: "" !important;
  position: absolute !important;
  inset: -26px -38px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  opacity: .82 !important;
  background:
    linear-gradient(90deg, rgba(205,167,88,.24), transparent 34%) 0 8% / 118px 1px no-repeat,
    linear-gradient(180deg, rgba(205,167,88,.24), transparent 34%) 0 8% / 1px 118px no-repeat,
    linear-gradient(270deg, rgba(95,43,88,.18), transparent 34%) 100% 92% / 128px 1px no-repeat,
    linear-gradient(0deg, rgba(95,43,88,.18), transparent 34%) 100% 92% / 1px 128px no-repeat !important;
}

@media (max-width: 760px){
  #como-funciona.how-service{
    background:
      radial-gradient(420px 250px at 0% 72%, rgba(205,167,88,.14), transparent 72%),
      radial-gradient(420px 250px at 100% 8%, rgba(95,43,88,.10), transparent 72%),
      linear-gradient(180deg, #fffdf8 0%, #fbf7ef 54%, #fffdf8 100%) !important;
  }

  #como-funciona.how-service::after{
    opacity: .78 !important;
    background:
      url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%20240%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%235f2b58%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.34%27%3E%0A%3Cpath%20d%3D%27M120%2038v140%27%2F%3E%3Cpath%20d%3D%27M86%2062h68%27%2F%3E%3Cpath%20d%3D%27M66%2076h108%27%2F%3E%3Cpath%20d%3D%27M78%2076%2052%20126h52L78%2076Z%27%2F%3E%3Cpath%20d%3D%27M162%2076l-26%2050h52L162%2076Z%27%2F%3E%3Cpath%20d%3D%27M52%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M104%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M108%20178h24%27%2F%3E%3Cpath%20d%3D%27M92%20196c16%2010%2040%2010%2056%200%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") 100% 7% / 148px 148px no-repeat,
      url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%20240%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%23cda758%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.38%27%3E%0A%3Cpath%20d%3D%27M62%2058h116%27%2F%3E%3Cpath%20d%3D%27M50%2076h140%27%2F%3E%3Cpath%20d%3D%27M74%2076v82%27%2F%3E%3Cpath%20d%3D%27M102%2076v82%27%2F%3E%3Cpath%20d%3D%27M138%2076v82%27%2F%3E%3Cpath%20d%3D%27M166%2076v82%27%2F%3E%3Cpath%20d%3D%27M54%20158h132%27%2F%3E%3Cpath%20d%3D%27M44%20176h152%27%2F%3E%3Cpath%20d%3D%27M86%2044h68%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") -24px 92% / 150px 150px no-repeat,
      repeating-linear-gradient(135deg, rgba(95,43,88,.026) 0 1px, transparent 1px 80px),
      radial-gradient(circle at 18% 76%, rgba(205,167,88,.12), transparent 25%),
      radial-gradient(circle at 88% 16%, rgba(95,43,88,.09), transparent 22%) !important;
  }
}

/* =====================================================
   V99 — Authority mobile: BRASIL maior e centralizado
   Escopo: somente indicadores da section da advogada no mobile
===================================================== */
@media (max-width: 700px){
  #sobre.section.authority .authority-stats--premium .stat-item.stat-item--brasil{
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    padding-left: 8px !important;
    padding-right: 0 !important;
  }

  #sobre.section.authority .authority-stats--premium .stat-item.stat-item--brasil .stat-value{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    margin: 0 0 5px !important;
    line-height: .9 !important;
  }

  #sobre.section.authority .authority-stats--premium .stat-item.stat-item--brasil .stat-num--text{
    display: block !important;
    font-size: clamp(1.52rem, 6.2vw, 1.95rem) !important;
    line-height: .9 !important;
    font-weight: 700 !important;
    letter-spacing: -0.055em !important;
    color: #caa24d !important;
    text-align: center !important;
    transform: translateX(-1px) scaleX(.96) !important;
    transform-origin: center !important;
  }

  #sobre.section.authority .authority-stats--premium .stat-item.stat-item--brasil .stat-label{
    width: 100% !important;
    max-width: 104px !important;
    margin: 0 auto !important;
    text-align: center !important;
    line-height: 1.02 !important;
    letter-spacing: .064em !important;
  }

  #sobre.section.authority .authority-stats--premium .stat-item.stat-item--brasil .stat-line{
    margin: 5px auto 0 !important;
  }
}

/* =====================================================
   V106 — Demandas mobile: setas centralizadas abaixo do slide
   Escopo: somente posição dos controles no mobile
===================================================== */
@media (max-width: 760px){
  #demandas.demandas-slider .demandas-slider__left{
    display: block !important;
  }

  #demandas.demandas-slider .demandas-slider__content{
    width: min(100%, 390px) !important;
    max-width: 390px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #demandas.demandas-slider .demandas-slider__controls{
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;

    width: fit-content !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 20px auto 0 !important;
    padding: 7px !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    border-radius: 999px !important;
    background: rgba(255,255,255,.90) !important;
    border: 1px solid rgba(91,44,85,.10) !important;
    box-shadow: 0 16px 36px rgba(34,18,31,.12) !important;
    backdrop-filter: blur(10px) !important;
  }

  #demandas.demandas-slider .demandas-slider__arrow{
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    flex: 0 0 38px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* =====================================================
   V110 — Mobile: textos justificados nas sections
   Mantém títulos, botões e navegação intactos.
===================================================== */
@media (max-width: 760px){
  .section p,
  .section li,
  .section .lead,
  .section .subtitle,
  .section .text,
  .section .copy,
  .section .service-card p,
  .section .service-case-card p,
  .section .demandas-slide__text,
  .section .demandas-slide p,
  .section .how-service__lead,
  .section .how-service__benefits li,
  .section .authority-copy p,
  .section .faq-answer,
  .section .faq-answer p,
  .service-hero p,
  .service-hero .service-hero__lead,
  .service-hero .service-hero__text,
  .service-hero .hero-service__text,
  .service-hero .hero-service__lead,
  .service-hero .service-hero__copy p,
  .page-service .service-intro p,
  .page-service .service-intro li,
  .page-service .atendimento-formats p,
  .page-service .atendimento-formats li,
  .page-service .demandas-slider p,
  .page-service .demandas-slider li,
  .page-service .how-service p,
  .page-service .how-service li,
  .page-service .authority p,
  .page-service .authority li,
  .page-service .alt-warm p,
  .page-service .alt-warm li,
  .page-service .cta-final p{
    text-align: justify !important;
    text-align-last: left !important;
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
    overflow-wrap: break-word !important;
  }

  .section h1,
  .section h2,
  .section h3,
  .section .section-title,
  .section .kicker,
  .section .eyebrow,
  .section .pill,
  .section .tag,
  .section .btn,
  .section button,
  .section a[class*="btn"],
  .section a[class*="cta"],
  .service-hero h1,
  .service-hero h2,
  .service-hero h3,
  .service-hero .service-hero__checks,
  .service-hero .service-hero__checks li,
  .service-hero .hero-service__checks,
  .service-hero .hero-service__checks li,
  .page-service .service-card h3,
  .page-service .service-case-card h3,
  .page-service .demandas-slide__title,
  .page-service .authority-stat,
  .page-service .authority-stat *,
  .page-service .faq-question,
  .page-service .faq-toggle,
  .page-service .faq-more-btn{
    text-align: inherit;
    text-align-last: auto !important;
  }
}


/* =====================================================
   V111 — service-intro carousel com fundo premium
   Apenas acabamento visual: fundo, linhas sutis e cards.
===================================================== */

body.page-service--trabalhista #identificacao.service-intro--carousel {
  isolation: isolate;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.92) 0%, rgba(251,247,241,0.86) 48%, rgba(255,255,255,0.96) 100%),
    radial-gradient(760px 360px at 8% 12%, rgba(201, 162, 79, 0.16), transparent 62%),
    radial-gradient(680px 360px at 92% 18%, rgba(94, 43, 90, 0.105), transparent 64%),
    radial-gradient(520px 280px at 76% 92%, rgba(201, 162, 79, 0.09), transparent 70%),
    #fbfaf8 !important;
}

body.page-service--trabalhista #identificacao.service-intro--carousel::before {
  height: 100% !important;
  background:
    linear-gradient(90deg, rgba(201, 162, 79, 0.14) 1px, transparent 1px),
    linear-gradient(180deg, rgba(94, 43, 90, 0.055) 1px, transparent 1px) !important;
  background-size: 96px 96px, 96px 96px !important;
  mask-image: radial-gradient(circle at 50% 40%, rgba(0,0,0,0.56), transparent 72%) !important;
  opacity: 0.38 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

body.page-service--trabalhista #identificacao.service-intro--carousel::after {
  content: "";
  position: absolute;
  right: clamp(-180px, -8vw, -80px);
  top: clamp(42px, 8vw, 120px);
  width: clamp(300px, 32vw, 540px);
  height: clamp(300px, 32vw, 540px);
  border: 1px solid rgba(201, 162, 79, 0.20);
  border-radius: 999px;
  background:
    radial-gradient(circle at 38% 38%, rgba(94, 43, 90, 0.045), transparent 42%),
    radial-gradient(circle at 62% 62%, rgba(201, 162, 79, 0.055), transparent 50%);
  pointer-events: none;
  z-index: 0;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-intro__inner,
body.page-service--trabalhista #identificacao.service-intro--carousel .container {
  position: relative;
  z-index: 2;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-intro__head {
  position: relative;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-intro__head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -18px;
  width: min(420px, 58vw);
  height: 1px;
  background: linear-gradient(90deg, rgba(201, 162, 79, 0.58), rgba(94, 43, 90, 0.12), transparent);
  pointer-events: none;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-cases {
  position: relative;
  z-index: 2;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-cases__top {
  position: relative;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-cases__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-cases__eyebrow::after {
  content: "";
  display: block;
  width: clamp(42px, 6vw, 82px);
  height: 1px;
  background: linear-gradient(90deg, rgba(201, 162, 79, 0.7), transparent);
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card {
  overflow: hidden;
  border-color: rgba(94, 43, 90, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.82)),
    radial-gradient(180px 120px at 92% 4%, rgba(201, 162, 79, 0.12), transparent 72%) !important;
  box-shadow:
    0 22px 58px rgba(33, 18, 31, 0.055),
    inset 0 1px 0 rgba(255,255,255,0.72) !important;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card::before {
  top: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 3px !important;
  height: 100% !important;
  opacity: 0.72 !important;
  background: linear-gradient(180deg, #c9a24f 0%, rgba(94, 43, 90, 0.35) 100%) !important;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card::after {
  content: "";
  position: absolute;
  right: -44px;
  bottom: -52px;
  width: 138px;
  height: 138px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(94, 43, 90, 0.055), transparent 64%);
  pointer-events: none;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card:hover,
body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card:focus-within {
  border-color: rgba(201, 162, 79, 0.48) !important;
  box-shadow:
    0 28px 74px rgba(33, 18, 31, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card__number {
  color: rgba(201, 162, 79, 0.98) !important;
}

body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card__icon {
  border-color: rgba(94, 43, 90, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(251,247,241,0.72)) !important;
  box-shadow: 0 12px 28px rgba(33, 18, 31, 0.045) !important;
}

@media (max-width: 760px) {
  body.page-service--trabalhista #identificacao.service-intro--carousel {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.96), rgba(251,247,241,0.92)),
      radial-gradient(420px 240px at 12% 5%, rgba(201, 162, 79, 0.13), transparent 68%),
      radial-gradient(360px 220px at 96% 42%, rgba(94, 43, 90, 0.09), transparent 70%),
      #fbfaf8 !important;
  }

  body.page-service--trabalhista #identificacao.service-intro--carousel::before {
    background-size: 72px 72px, 72px 72px !important;
    opacity: 0.26 !important;
  }

  body.page-service--trabalhista #identificacao.service-intro--carousel::after {
    right: -220px;
    top: 120px;
    opacity: 0.72;
  }

  body.page-service--trabalhista #identificacao.service-intro--carousel .service-intro__head::after {
    width: 68%;
    bottom: -14px;
  }

  body.page-service--trabalhista #identificacao.service-intro--carousel .service-case-card {
    box-shadow:
      0 18px 46px rgba(33, 18, 31, 0.06),
      inset 0 1px 0 rgba(255,255,255,0.8) !important;
  }
}

/* =====================================================
   V115 — demandas-slider: somente fundo da section
   Sem mexer nas colunas, cards, textos, slides ou estrutura.
===================================================== */

#demandas.demandas-slider{
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background:
    radial-gradient(760px 380px at 7% 10%, rgba(205, 167, 88, .16), transparent 64%),
    radial-gradient(820px 420px at 98% 18%, rgba(94, 43, 90, .105), transparent 68%),
    radial-gradient(640px 300px at 50% 100%, rgba(205, 167, 88, .075), transparent 70%),
    linear-gradient(180deg, #fffaf2 0%, #ffffff 46%, #fbf6f0 100%) !important;
  border-top: 1px solid rgba(205, 167, 88, .20) !important;
  border-bottom: 1px solid rgba(205, 167, 88, .16) !important;
}

/* textura/linhas minimalistas apenas no fundo da section */
#demandas.demandas-slider::before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .48 !important;
  background:
    repeating-linear-gradient(135deg, rgba(94, 43, 90, .035) 0 1px, transparent 1px 92px),
    radial-gradient(circle at 11% 22%, rgba(205, 167, 88, .55) 0 4px, transparent 5px),
    radial-gradient(circle at 88% 78%, rgba(94, 43, 90, .11) 0 13px, transparent 14px),
    linear-gradient(90deg, rgba(205,167,88,.07), transparent 28%, transparent 72%, rgba(94,43,90,.06)) !important;
}

/* detalhes grandes e discretos no fundo, sem criar caixa nos cards */
#demandas.demandas-slider::after{
  content: "" !important;
  position: absolute !important;
  inset: auto auto clamp(-180px, -11vw, -110px) clamp(-120px, -7vw, -70px) !important;
  width: clamp(260px, 28vw, 470px) !important;
  height: clamp(260px, 28vw, 470px) !important;
  border-radius: 999px !important;
  border: 1px solid rgba(205, 167, 88, .15) !important;
  background: radial-gradient(circle, rgba(205, 167, 88, .065), transparent 66%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#demandas.demandas-slider .demandas-slider__wrap,
#demandas.demandas-slider .demandas-slider__left,
#demandas.demandas-slider .demandas-slider__right,
#demandas.demandas-slider .demandas-slider__right-inner{
  position: relative !important;
  z-index: 2 !important;
}

/* Neutraliza somente a personalização visual anterior nas colunas.
   O visual original dos cards/colunas continua vindo dos CSS próprios. */
#demandas.demandas-slider .demandas-slider__left,
#demandas.demandas-slider .demandas-slider__right,
#demandas.demandas-slider .demandas-slider__right-inner{
  background-image: none !important;
}

#demandas.demandas-slider .demandas-slider__left .demandas-slider__content::after{
  display: none !important;
  content: none !important;
}

@media (max-width: 760px){
  #demandas.demandas-slider{
    background:
      radial-gradient(420px 230px at 0% 0%, rgba(205,167,88,.15), transparent 70%),
      radial-gradient(420px 250px at 100% 90%, rgba(94,43,90,.09), transparent 72%),
      linear-gradient(180deg, #fffaf2 0%, #ffffff 54%, #fbf7f1 100%) !important;
  }

  #demandas.demandas-slider::before{
    opacity: .34 !important;
    background:
      repeating-linear-gradient(135deg, rgba(94, 43, 90, .03) 0 1px, transparent 1px 76px),
      radial-gradient(circle at 12% 18%, rgba(205,167,88,.48) 0 3px, transparent 4px) !important;
  }

  #demandas.demandas-slider::after{
    width: 260px !important;
    height: 260px !important;
    left: -128px !important;
    bottom: -128px !important;
    opacity: .72 !important;
  }
}


/* =====================================================
   V118 — How Service: fundo refinado com menos linhas + Lady Justice
   Pedido: deixar os detalhes mais coerentes e adicionar a imagem
   no lado esquerdo, bem transparente, sem apagar os textos.
===================================================== */
#como-funciona.how-service{
  background:
    radial-gradient(640px 320px at 14% 72%, rgba(205,167,88,.13), transparent 68%),
  radial-gradient(720px 360px at 92% 18%, rgba(95,43,88,.10), transparent 72%),  
    linear-gradient(180deg, #fffdf9 0%, #fbf8f2 52%, #fffdf9 100%) !important;
}

#como-funciona.how-service::before{
  opacity: 1 !important;
  background:
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.20) 50%, transparent 100%) top center / min(720px, 62vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.10) 50%, transparent 100%) bottom center / min(760px, 66vw) 1px no-repeat,
    linear-gradient(180deg, rgba(205,167,88,.16), transparent 80%) 9.5% 73% / 1px 132px no-repeat,
    linear-gradient(90deg, rgba(205,167,88,.16), transparent 92%) 9.5% calc(73% + 132px) / 112px 1px no-repeat,
    linear-gradient(90deg, rgba(95,43,88,.08), transparent 96%) 43% 33% / 164px 1px no-repeat,
    linear-gradient(90deg, rgba(95,43,88,.07), transparent 96%) 43% 67% / 132px 1px no-repeat !important;
}

#como-funciona.how-service::after{
  opacity: .78 !important;
  background:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%20240%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%235f2b58%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.24%27%3E%0A%3Cpath%20d%3D%27M120%2038v140%27%2F%3E%3Cpath%20d%3D%27M86%2062h68%27%2F%3E%3Cpath%20d%3D%27M66%2076h108%27%2F%3E%3Cpath%20d%3D%27M78%2076%2052%20126h52L78%2076Z%27%2F%3E%3Cpath%20d%3D%27M162%2076l-26%2050h52L162%2076Z%27%2F%3E%3Cpath%20d%3D%27M52%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M104%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M108%20178h24%27%2F%3E%3Cpath%20d%3D%27M92%20196c16%2010%2040%2010%2056%200%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") 87% 13% / 138px 138px no-repeat,
    radial-gradient(circle at 50% 50%, transparent 0 190px, rgba(205,167,88,.12) 191px 192px, transparent 193px) 50% 50% / 500px 500px no-repeat,
    radial-gradient(circle at 18% 76%, rgba(205,167,88,.10), transparent 18%),
    radial-gradient(circle at 84% 20%, rgba(95,43,88,.07), transparent 20%) !important;
}

#como-funciona .how-service__container::after{
  display: none !important;
  content: none !important;
}

#como-funciona .how-service__left{
  isolation: isolate !important;
}

#como-funciona .how-service__left::before{
  content: "" !important;
  position: absolute !important;
  inset: -28px -10px -28px -56px !important;
  z-index: -2 !important;
  pointer-events: none !important;}

#como-funciona .how-service__left::after{
  content: "" !important;
  position: absolute !important;
  left: clamp(-308px, -76.8vw, -18px) !important;
  bottom: -296px !important;
  width: clamp(308px, 32vw, 518px) !important;
  height: clamp(300px, 61vw, 940px) !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: url("../img/how-service-lady-justice.png") center / contain no-repeat !important;
  opacity: .1 !important;
  filter: saturate(.82) brightness(1.02) contrast(1.02) !important;
}

@media (max-width: 760px){
  #como-funciona.how-service::before{
    background:
      linear-gradient(90deg, transparent 0%, rgba(205,167,88,.18) 50%, transparent 100%) top center / 72vw 1px no-repeat,
      linear-gradient(90deg, transparent 0%, rgba(95,43,88,.10) 50%, transparent 100%) bottom center / 74vw 1px no-repeat !important;
  }

  #como-funciona.how-service::after{
    opacity: .48 !important;
    background:
      url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20240%20240%27%20fill%3D%27none%27%3E%0A%3Cg%20stroke%3D%27%235f2b58%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.24%27%3E%0A%3Cpath%20d%3D%27M120%2038v140%27%2F%3E%3Cpath%20d%3D%27M86%2062h68%27%2F%3E%3Cpath%20d%3D%27M66%2076h108%27%2F%3E%3Cpath%20d%3D%27M78%2076%2052%20126h52L78%2076Z%27%2F%3E%3Cpath%20d%3D%27M162%2076l-26%2050h52L162%2076Z%27%2F%3E%3Cpath%20d%3D%27M52%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M104%20126c6%2015%2021%2024%2042%2024s36-9%2042-24%27%2F%3E%3Cpath%20d%3D%27M108%20178h24%27%2F%3E%3Cpath%20d%3D%27M92%20196c16%2010%2040%2010%2056%200%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") 92% 10% / 96px 96px no-repeat,
      radial-gradient(circle at 84% 16%, rgba(205,167,88,.06), transparent 18%) !important;
  }

  #como-funciona .how-service__left::before{
    inset: -14px -6px -16px -18px !important;
    background: linear-gradient(180deg, rgba(255,253,248,.94), rgba(255,253,248,.88)) !important;
  }

  #como-funciona .how-service__left::after{
    left: auto !important;
    right: 2px !important;
    bottom: auto !important;
    top: 8px !important;
    width: 128px !important;
    height: 188px !important;
    opacity: .09 !important;
  }
}


/* =====================================================
   V119 — Textos justificados no desktop e mobile
   Escopo: conteúdo textual das páginas, do começo ao fim.
   Mantém títulos, botões, menus, formulários e números sem justificar.
===================================================== */
body :where(
  p,
  li,
  .lead,
  .subtitle,
  .text,
  .copy,
  .section-lead,
  .section-subtitle,
  .hero-lead,
  .hero-copy,
  .service-hero__lead,
  .service-hero__text,
  .hero-service__lead,
  .hero-service__text,
  .service-card p,
  .service-card li,
  .service-case-card p,
  .service-case-card li,
  .atendimento-card p,
  .format-card p,
  .demandas-slide__text,
  .demandas-slide p,
  .how-service__lead,
  .how-service__benefits li,
  .how-service__step p,
  .authority-copy p,
  .included-card p,
  .cta-final p,
  .faq-answer,
  .faq-answer p,
  .footer p,
  .footer li
){
  text-align: justify !important;
  text-align-last: left !important;
  -webkit-hyphens: auto !important;
  hyphens: auto !important;
  overflow-wrap: break-word !important;
}

body :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .section-title,
  .section-heading,
  .kicker,
  .eyebrow,
  .pill,
  .tag,
  .badge,
  .btn,
  button,
  label,
  input,
  textarea,
  select,
  nav,
  nav *,
  .site-header,
  .site-header *,
  .topbar,
  .topbar *,
  .preloader,
  .preloader *,
  .service-hero__checks,
  .service-hero__checks *,
  .hero-service__checks,
  .hero-service__checks *,
  .hero-checks,
  .hero-checks *,
  .check-list,
  .check-list *,
  .faq-question,
  .faq-toggle,
  .faq-more-btn,
  .authority-stat,
  .authority-stat *,
  .stat-item,
  .stat-item *,
  .how-service__number,
  .demandas-slider__controls,
  .demandas-slider__controls *,
  .social-links,
  .social-links *
){
  text-align-last: auto !important;
  hyphens: manual !important;
}


/* =====================================================
   V120 — Justificação refinada: sem buracos em textos estreitos
   Mantém textos longos justificados, mas impede espaçamento exagerado
   em títulos, cards, listas e blocos compactos.
===================================================== */
body :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .hero-copy,
  .service-hero .hero-copy,
  .service-hero h1,
  .service-hero h2,
  .service-hero h3,
  .section-title,
  .section-heading,
  .pain-title,
  .how-service__title,
  .how-service__steps-title,
  .service-card h3,
  .service-case-card h3,
  .atendimento-card h3,
  .format-card h3,
  .demandas-slide__title,
  .included-card h3,
  .faq-question,
  .faq-toggle,
  .btn,
  button,
  nav,
  nav *
){
  text-align: left !important;
  text-align-last: auto !important;
  word-spacing: normal !important;
  letter-spacing: inherit;
  -webkit-hyphens: manual !important;
  hyphens: manual !important;
}

body :where(
  .service-card p,
  .service-card li,
  .service-case-card p,
  .service-case-card li,
  .atendimento-card p,
  .format-card p,
  .how-service__benefits li,
  .how-service__step p,
  .included-card p,
  .microbullets,
  .microbullets *,
  .service-hero__bullet-list,
  .service-hero__bullet-list *,
  .hero-checks,
  .hero-checks *,
  .check-list,
  .check-list *
){
  text-align: left !important;
  text-align-last: auto !important;
  word-spacing: normal !important;
  -webkit-hyphens: manual !important;
  hyphens: manual !important;
  overflow-wrap: normal !important;
  text-wrap: pretty !important;
}

body :where(
  .subtitle,
  .lead,
  .section-lead,
  .section-subtitle,
  .hero-lead,
  .service-hero__lead,
  .service-hero__text,
  .hero-service__lead,
  .hero-service__text,
  .hero-copy > p,
  .service-intro__head > p,
  .atendimento-formats__head > p,
  .demandas-slider__left > p,
  .demandas-slide__text,
  .demandas-slide p,
  .how-service__lead,
  .authority-copy p,
  .cta-final p,
  .faq-answer p
){
  text-align: justify !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  -webkit-hyphens: auto !important;
  hyphens: auto !important;
  overflow-wrap: break-word !important;
  text-wrap: pretty !important;
}

@media (min-width: 761px){
  body :where(
    .service-card p,
    .service-case-card p,
    .atendimento-card p,
    .format-card p,
    .how-service__step p,
    .included-card p
  ){
    text-align: left !important;
    text-align-last: auto !important;
  }
}

@media (max-width: 760px){
  body :where(
    .service-card p,
    .service-case-card p,
    .atendimento-card p,
    .format-card p,
    .how-service__step p,
    .included-card p
  ){
    text-align: left !important;
    text-align-last: auto !important;
    text-wrap: pretty !important;
  }
}

/* =====================================================
   V121 — Justificação refinada: evita buracos em slides e pills
   Escopo: corrige textos estreitos da demandas-slider e mantém
   os 3 balões/pills em uma linha no desktop.
===================================================== */
#demandas.demandas-slider :where(
  .demandas-slide__text,
  .demandas-slide p,
  .demandas-slider__right p,
  .demandas-slider__right-line p
){
  text-align: left !important;
  text-align-last: auto !important;
  word-spacing: normal !important;
  letter-spacing: inherit !important;
  -webkit-hyphens: manual !important;
  hyphens: manual !important;
  overflow-wrap: normal !important;
  text-wrap: pretty !important;
}

@media (min-width: 761px){
  #demandas.demandas-slider .demandas-slider__mini-list{
    display: grid !important;
    grid-template-columns: repeat(3, max-content) !important;
    justify-content: start !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  #demandas.demandas-slider .demandas-slider__mini-list li{
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    padding: 10px 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    text-align: center !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    line-height: 1 !important;
    font-size: clamp(.70rem, .72vw, .78rem) !important;
  }
}

@media (max-width: 760px){
  #demandas.demandas-slider .demandas-slider__mini-list li{
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
  }
}


/* =========================================================
   V119 — Atendimento formats: imagem de balança no fundo
   Escopo: somente section atendimento-formats--compact-only
   Objetivo: adicionar a balança no canto direito, apagada e ao fundo,
   sem alterar estrutura, cards ou copy.
   ========================================================= */
body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only::after{
  opacity: .1 !important;
  background:
    url("../img/atendimento-scales-bg.png") right clamp(-528px, -25vw, -90px) center / clamp(640px, 58vw, 790px) auto no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(205,167,88,.20) 50%, transparent 100%) top center / min(760px, 68vw) 1px no-repeat,
    linear-gradient(90deg, transparent 0%, rgba(95,43,88,.16) 50%, transparent 100%) bottom center / min(820px, 72vw) 1px no-repeat,
    radial-gradient(circle at 18% 64%, rgba(95,43,88,.055), transparent 24%),
    radial-gradient(circle at 82% 30%, rgba(205,167,88,.085), transparent 24%) !important;
}

body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-formats__wrap{
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 760px){
  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only::after{
    opacity: .50 !important;
    background:
      linear-gradient(90deg, transparent 0%, rgba(205,167,88,.20) 50%, transparent 100%) top center / min(760px, 68vw) 1px no-repeat,
      linear-gradient(90deg, transparent 0%, rgba(95,43,88,.16) 50%, transparent 100%) bottom center / min(820px, 72vw) 1px no-repeat,
      radial-gradient(circle at 18% 64%, rgba(95,43,88,.055), transparent 24%),
      radial-gradient(circle at 82% 30%, rgba(205,167,88,.085), transparent 24%) !important;
  }
}


/* =====================================================
   V122 — Demandas: centraliza os 3 balões/pills no card
   Pedido: não alterar tamanho, apenas alinhar o grupo no centro.
===================================================== */
@media (min-width: 761px){
  #demandas.demandas-slider .demandas-slider__mini-list{
    justify-content: center !important;
    justify-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =====================================================
   V122 — Mobile: remove justificação que cria espaços enormes
   Escopo: somente textos em telas pequenas.
   Mantém leitura natural e evita buracos entre palavras em cards,
   listas, etapas, benefícios, slides e descrições.
===================================================== */
@media (max-width: 760px){
  body :where(
    .section p,
    .section li,
    .section span:not(.faq-icon):not(.faq-more__icon),
    .section .lead,
    .section .subtitle,
    .section .text,
    .section .copy,
    .service-hero p,
    .service-hero li,
    .service-hero .service-hero__lead,
    .service-hero .service-hero__text,
    .service-hero .hero-service__lead,
    .service-hero .hero-service__text,
    .service-card p,
    .service-card li,
    .service-case-card p,
    .service-case-card li,
    .atendimento-card p,
    .format-card p,
    .atendimento-format-card p,
    .service-intro p,
    .service-intro li,
    .atendimento-formats p,
    .atendimento-formats li,
    .demandas-slider p,
    .demandas-slider li,
    .demandas-slide__text,
    .demandas-slide p,
    .how-service p,
    .how-service li,
    .how-service__lead,
    .how-service__benefits li,
    .how-service__step p,
    .authority p,
    .authority li,
    .alt-warm p,
    .alt-warm li,
    .cta-final p,
    .faq-answer,
    .faq-answer p
  ){
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    letter-spacing: inherit;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    text-wrap: pretty !important;
  }

  body :where(
    .section h1,
    .section h2,
    .section h3,
    .section h4,
    .section h5,
    .section h6,
    .section .section-title,
    .section .section-heading,
    .section .kicker,
    .section .eyebrow,
    .section .pill,
    .section .tag,
    .section .badge,
    .section .btn,
    .section button,
    .section a[class*="btn"],
    .section a[class*="cta"],
    .service-hero h1,
    .service-hero h2,
    .service-hero h3,
    .faq-trigger,
    .faq-trigger *,
    .faq-more,
    .faq-more *,
    .site-header,
    .site-header *,
    .topbar,
    .topbar *
  ){
    text-align-last: auto !important;
    word-spacing: normal !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
  }
}


/* =====================================================
   V123 — Como funciona mobile: remove espaços da justificação
   Escopo: somente cards da section how-service no mobile.
===================================================== */
@media (max-width: 760px){
  #como-funciona.how-service .how-service__step,
  #como-funciona.how-service .how-service__step *,
  #como-funciona.how-service .how-service__lead,
  #como-funciona.how-service .how-service__benefits li{
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    text-wrap: pretty !important;
  }

  #como-funciona.how-service .how-service__step p{
    display: block !important;
    max-width: none !important;
    width: auto !important;
  }
}

/* =====================================================
   V124 — Mobile: corrige espaços nos cards de atendimento
   Escopo: todos os HTMLs que usam atendimento-formats--compact-only.
   Motivo: regras globais de justificação tinham maior especificidade
   e ainda afetavam os textos pequenos dentro dos cards.
===================================================== */
@media (max-width: 760px){
  body.page-service #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card,
  body.page-service #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card *,
  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card,
  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card *{
    text-align: left !important;
    text-align-last: auto !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
    text-wrap: pretty !important;
  }

  body.page-service #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card p,
  body.page-service #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card strong,
  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card p,
  body.page-service--trabalhista #atendimento.atendimento-formats.atendimento-formats--compact-only .atendimento-format-card strong{
    max-width: none !important;
    white-space: normal !important;
    line-break: auto !important;
  }
}
