.elementor-2 .elementor-element.elementor-element-a32bd1f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-4880b27{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-6950883{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-3f3787d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-4ffd1b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-1c2a7fd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-8baaee5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2 .elementor-element.elementor-element-197d4a4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-4fe7766{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-077a145{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2 .elementor-element.elementor-element-fcde2cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-2 .elementor-element.elementor-element-4ffd1b4{--content-width:1200px;}}/* Start custom CSS for html, class: .elementor-element-3e4de9c *//* ═══ HERO — CSS da Seção ═══ */

.sa-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 0 0 0;
  background:
    radial-gradient(1200px 700px at 15% 15%,
      rgba(22,74,103,.48), rgba(0,0,0,0) 60%),
    radial-gradient(1000px 600px at 85% 10%,
      rgba(30,58,138,.36), rgba(0,0,0,0) 65%),
    linear-gradient(180deg, var(--sa-bg1) 0%, var(--sa-bg2) 100%);
  /* Garante que fundo não cause CLS */
  contain: layout style;
}

.sa-hero__overlay {
  position: absolute;
  inset: 0;
  /* background-image via inline style no HTML — mantido */
  opacity: .08;
  /* Evita que o overlay cause reflow */
  pointer-events: none;
  will-change: auto;
}

/* Container */
.sa-container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

/* ── Header ── */
.sa-header {
  position: absolute;
  top: 0; left: 0; right: 0;
}
.sa-header__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 0;
}

/* Logo: dimensões fixas previnem CLS */
.sa-brand__logo {
  width: 180px;   /* igual ao atributo width do  */
  height: 96px;   /* igual ao atributo height do  */
  object-fit: contain;
}

/* Nav */
.sa-nav { display: flex; gap: 28px; }
.sa-nav a {
  color: rgba(255,255,255,.9);
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
}
.sa-nav a:hover { color: #fff; }

/* ── Layout hero ── */
.sa-hero__wrap {
  position: relative;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 20px;
  min-height: 650px;
  align-items: stretch;
}
.sa-hero__left {
  display: flex;
  flex-direction: column;
  padding-top: 110px;
}

/* ── Tipografia ── */
.sa-hero__kicker {
  color: rgba(255,255,255,.72);
  letter-spacing: .25em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 18px;
}
.sa-hero__title {
  margin: 0;
  color: var(--sa-white);
  font-size: clamp(37px, 3.8vw, 60px);
  font-weight: 600;
  line-height: 1.15;
  /* Reserva espaço de linha enquanto fonte carrega */
  font-family: var(--sa-font-sans);
}

/* Palavra "entende" — fonte serif italic */
.sa-hero__title .sa-serif {
  font-family:    var(--sa-font-serif);
  font-style:     italic;
  font-weight:    600;
  font-synthesis: none;  /* bloqueia fake italic */
  letter-spacing: -0.01em;
  line-height:    1.15;
  /* size-adjust: reduz salto quando Cormorant substituir o fallback */
  /* Navegadores modernos aplicam automaticamente */
}

.sa-hero__subtitle {
  margin-top: 22px;
  color: rgba(255,255,255,.88);
  font-size: 18px;
  line-height: 1.65;
  max-width: 56ch;
}

/* ── CTAs — NUNCA esmagados ── */
.sa-hero__ctas {
  display: flex;
  gap: 16px;
  margin-top: 32px;
  flex-wrap: wrap;
  align-items: center;
}

.sa-btn {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  padding:         18px 38px;
  border-radius:   var(--sa-radius);
  font-weight:     700;
  font-size:       15px;
  text-decoration: none;
  cursor:          pointer;
  white-space:     nowrap;
  /* Área mínima de toque WCAG 2.5.5 */
  min-height:      44px;
  min-width:       44px;
  box-sizing:      border-box;
  transition:      transform .25s ease, background .25s ease;
  /* Sem transition em reduced-motion (já coberto pelo global) */
}

.sa-btn--metal {
  color: #0b1220;
  background: linear-gradient(180deg,
    rgba(255,255,255,.92), rgba(255,255,255,.78));
  box-shadow: 0 18px 40px rgba(0,0,0,.55);
}
.sa-btn--metal:hover { transform: translateY(-4px); }

.sa-btn--ghost {
  color: #ffffff;
  background: rgba(255,255,255,.06);
  border: 2px solid rgba(255,255,255,.55);
}
.sa-btn--ghost:hover { background: rgba(255,255,255,.12); }

/* ── Foto do advogado (LCP) ── */
.sa-hero__right {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.sa-hero__photo {
  width: min(460px, 100%);
  height: auto;
  /* aspect-ratio reserva espaço antes do carregamento → zero CLS */
  aspect-ratio: 460 / 560;
  object-fit: cover;
  object-position: top center;
}

/* ══════════════════════════════════════
   MOBILE — tudo sem esmagamento
   ══════════════════════════════════════ */
@media (max-width: 980px) {
  .sa-nav { display: none; } /* hamburguer externo, se houver */

  .sa-hero__wrap {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-bottom: 40px;
  }
  .sa-hero__left { padding-top: 70px; }
  .sa-hero__right { justify-content: center; }
}

@media (max-width: 600px) {
  .sa-hero { padding-top: 100px; }

  .sa-hero__title {
    font-size: clamp(32px, 8vw, 44px);
  }
  .sa-hero__subtitle { font-size: 16px; }

  /* CTAs: empilham verticalmente, sem quebrar */
  .sa-hero__ctas {
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  .sa-btn {
    width: 100%;
    justify-content: center;
    padding: 16px 24px;
  }

  /* Logo menor no mobile */
  .sa-brand__logo {
    width: 130px;
    height: auto;
  }
}/* End custom CSS */