@charset "UTF-8";
@import url(/assets/bootstrap.min-f66ef4f5533b9ac17cce568585528abf904e6de5892b0503838c2392bd88b963.css);
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
@import url("https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap");
body {
  font-family: "Mulish"; }

:root {
  --mobile-break-point: 576px;
  /* This allows Bootstrap to calculate opacities and variations */
  --bs-primary-rgb: 156, 132, 90;
  --bs-primary: #9c845a;
  --bs-dark-rgb: 26, 26, 26;
  --bs-dark: #1A1A1A

  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #8a7248;
  --bs-btn-hover-border-color: #8a7248;
  --bs-btn-active-bg: #655032;
  --bs-btn-active-border-color: #655032;
  /* Cor do texto (escolha entre branco ou o dark que você criou) */
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff; }

.img-shadow {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5); }

.box-shadow {
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08); }

.box-shadow-gold {
  box-shadow: 0 6px 12px rgba(156, 132, 90, 0.08); }

@media (min-width: 1280px) {
  .container {
    max-width: 1200px !important; } }

.font-noto, .text-title {
  font-family: "Noto Serif"; }

.text-title {
  font-size: 18px;
  line-height: 55px;
  display: inline-block; }

.left-dash, .right-dash {
  position: relative; }

.left-dash::before {
  content: "";
  position: absolute;
  left: -42px;
  top: 28px;
  height: 2px;
  width: 30px;
  background: #9c845a;
  border-radius: 1px; }

.right-dash:after {
  content: "";
  position: absolute;
  right: -42px;
  top: 28px;
  height: 2px;
  width: 30px;
  background: #9c845a;
  border-radius: 1px; }

.left-dash.dash-white::before, .left-dash.dash-white::after, .right-dash.dash-white::before, .right-dash.dash-white::after {
  background: white; }

p {
  font-size: 16px;
  line-height: 26px;
  color: #7a7a7a;
  font-weight: 400;
  font-family: "Mulish";
  padding: 0;
  margin: 0 0 4px 0; }

/* Sobrescrevendo o botão primário */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: #8a7248;
  --bs-btn-hover-border-color: #8a7248;
  --bs-btn-active-bg: #655032;
  --bs-btn-active-border-color: #655032;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff; }

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #8a7248;
  --bs-btn-active-border-color: #655032;
  --bs-btn-focus-shadow-rgb: 156, 132, 90;
  transition: all 0.3s ease-in-out; }

/* Removendo aquele brilho azul (focus ring) que o Bootstrap coloca */
.btn-primary:focus {
  box-shadow: 0 0 0 0.25rem rgba(156, 132, 90, 0.5); }

/* 1. Reset the conflicting visibility for the navbar specifically */
.navbar .collapse {
  visibility: visible !important; }

/* 2. Ensure it still hides on mobile when NOT active */
@media (max-width: 767.98px) {
  .navbar .collapse:not(.show) {
    display: none !important; } }

/* 3. Ensure it stays visible on desktop (md and up) */
@media (min-width: 768px) {
  .navbar .navbar-collapse.collapse {
    display: flex !important; } }

.hero-section {
  background-image: url(/assets/bruna/background-e826c754158d7390713aabb99d01304b710646780684e3178b6f98d3f224098e.png);
  background-attachment: scroll;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  padding: 170px 0px 270px 0px; }
  @media (max-width: 567px) {
    .hero-section {
      padding: 50px 0px 270px 0px; } }
  .hero-section .content {
    min-height: 30vh; }
  .hero-section .hero-title {
    font-size: 50px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .hero-section .hero-title {
        font-size: 30px;
        line-height: 40px; } }
  @media (min-width: 568px) {
    .hero-section .hero-description {
      width: 60%;
      margin: auto; } }
  .hero-section .hero-button {
    padding: 0 40px;
    font-size: 16px;
    line-height: 55px; }
  @media (max-width: 567px) {
    .hero-section .hero-buttons {
      flex-wrap: wrap; }
      .hero-section .hero-buttons .hero-button {
        width: 100%; } }
.cards-section .cards-container {
  margin-top: -110px; }
  .cards-section .cards-container .card {
    box-shadow: 0 0 19px #8a6835;
    transition: box-shadow 0.2s ease;
    background-color: #2a2115de; }
    .cards-section .cards-container .card:hover {
      box-shadow: 0 0 19px #cba874; }
    .cards-section .cards-container .card img {
      filter: drop-shadow(2px 4px 6px #cba874); }

.cards-section .card-header-text {
  padding: 1px 0 8px 0;
  font-size: 22px;
  line-height: 50px;
  font-weight: 600;
  text-align: center;
  color: white; }

.cards-section .card-description {
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  text-align: center;
  color: white; }

.about-section {
  padding: 80px 0px 80px 0px; }
  .about-section .about-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .about-section .about-subtitle {
        font-size: 30px;
        line-height: 40px; } }
  .about-section .about-card-text {
    padding: 10px 0 15px 0;
    font-size: 22px;
    line-height: 28px;
    font-weight: bold; }
  @media (max-width: 1280px) {
    .about-section .lawyer-info {
      flex-wrap: wrap; } }
  @media (max-width: 991px) {
    .about-section .about-info {
      margin-bottom: 40px; } }
  .about-section .lawyer-name {
    font-size: 20px;
    line-height: 32px;
    font-weight: 500; }
  @media (max-width: 1280px) {
    .about-section .lawyer-row {
      margin-bottom: 20px;
      width: 100%; } }
  @media (max-width: 1280px) {
    .about-section .lawyer-signature {
      margin-bottom: 20px;
      width: 100%; } }
  .about-section .lawyer-info-divider {
    width: 1px;
    background: #8a6835; }
    @media (max-width: 1280px) {
      .about-section .lawyer-info-divider {
        display: none; } }
  .about-section .about-image {
    width: 60px;
    height: 60px; }

.services-section {
  background-color: #F2F2F0;
  padding: 90px 0px 80px 0px; }
  .services-section .services-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .services-section .services-subtitle {
        font-size: 30px;
        line-height: 40px; } }
    @media (min-width: 568px) {
      .services-section .services-subtitle {
        width: 60%; } }
  .services-section .card {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
    transition: box-shadow 0.2s ease; }
    .services-section .card:hover {
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12); }
  .services-section .card-icon-border {
    --bs-border-color: #8a6835; }
  .services-section .card-header-text {
    padding: 1px 0 8px 0;
    font-size: 22px;
    line-height: 50px;
    font-weight: 600;
    text-align: center; }
  .services-section .card-description {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
    text-align: center; }

.resume-section {
  padding: 90px 0px 80px 0px; }
  .resume-section .resume-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .resume-section .resume-subtitle {
        font-size: 30px;
        line-height: 40px; } }
  .resume-section .resume-timeline {
    width: 8px;
    z-index: 1;
    transition: 0.4s;
    border-radius: 4px;
    background: #E6E0D6; }
  .resume-section .resume-right-side .resume-cards {
    margin-top: 180px; }
  .resume-section .resume-card {
    margin-bottom: 80px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px; }
    .resume-section .resume-card.right-arrow:before {
      position: absolute;
      content: "";
      background: linear-gradient(90deg, #E6E0D6 0%, #E6E0D6 40%, #CDB58E 50%, #E6E0D6 60%, #E6E0D6 100%);
      background-size: 200% 100%;
      height: 4px;
      width: 76px;
      top: 19px;
      right: -59px;
      z-index: -1;
      animation: flow-right 3s linear infinite;
      animation-delay: 0.2s; }
    .resume-section .resume-card.right-arrow:after {
      position: absolute;
      content: "";
      height: 10px;
      width: 10px;
      top: 15px;
      right: -58px;
      background: #b59a6d;
      opacity: 0.5;
      border-radius: 100%;
      z-index: 2;
      margin: auto;
      animation: inoutzoom 3s linear infinite;
      -webkit-animation-delay: 1s;
      animation-delay: 1s;
      border: 2px solid #E6E0D6; }
    .resume-section .resume-card.left-arrow:before {
      position: absolute;
      content: "";
      background: linear-gradient(90deg, #E6E0D6 0%, #E6E0D6 40%, #CDB58E 50%, #E6E0D6 60%, #E6E0D6 100%);
      background-size: 200% 100%;
      height: 4px;
      width: 76px;
      top: 19px;
      left: -59px;
      z-index: -1;
      animation: flow-left 3s linear infinite;
      animation-delay: 0.2s; }
    .resume-section .resume-card.left-arrow:after {
      position: absolute;
      content: "";
      height: 10px;
      width: 10px;
      top: 15px;
      left: -58px;
      background: #b59a6d;
      opacity: 0.5;
      border-radius: 100%;
      z-index: 2;
      margin: auto;
      animation: inoutzoom 3s linear infinite;
      -webkit-animation-delay: 1s;
      animation-delay: 1s;
      border: 2px solid #E6E0D6;
      animation: inoutzoom 3s ease-out infinite;
      animation-delay: 1s; }
  .resume-section .card-header {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px; }
  .resume-section .card-body {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px; }
  .resume-section .resume-card-body {
    background: #F2F2F0; }

@keyframes inoutzoom {
  0% {
    transform: scale(1);
    opacity: 0; }
  10% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(3.5);
    opacity: 0; } }

@keyframes flow-right {
  0% {
    background-position: -100% 0; }
  70% {
    background-position: 100% 0; }
  100% {
    background-position: 100% 0; } }

@keyframes flow-left {
  0% {
    background-position: 100% 0; }
  70% {
    background-position: -100% 0; }
  100% {
    background-position: -100% 0; } }

.skills-section {
  background-color: #F2F2F0;
  padding: 90px 0px 80px 0px; }
  .skills-section .skills-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .skills-section .skills-subtitle {
        font-size: 30px;
        line-height: 40px; } }
  .skills-section .skill-item-title {
    color: #1A1A1A;
    font-size: 18px;
    font-weight: 500;
    line-height: 60px; }
  .skills-section .skill-image {
    margin-top: 70px; }
    @media (max-width: 767px) {
      .skills-section .skill-image {
        margin-top: 0; } }
  .skills-section .skill-button {
    padding: 0 40px;
    font-size: 16px;
    line-height: 55px; }
    @media (max-width: 567px) {
      .skills-section .skill-button {
        width: 100%; } }
.recommendations-section {
  padding: 90px 0px 80px 0px; }
  .recommendations-section .recommendations-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .recommendations-section .recommendations-subtitle {
        font-size: 30px;
        line-height: 40px; } }
  .recommendations-section .recommendation-author {
    font-size: 20px;
    line-height: 30px;
    color: #1a1a1a;
    font-weight: 600;
    transition: 0.4s; }

.contact-section {
  padding: 90px 0px 80px 0px;
  background-color: #F2F2F0; }
  @media (min-width: 992px) {
    .contact-section {
      background-image: url(/assets/bruna/contact-1cba81f34dac44fe967b0dbac3bf6f77bc7d7aa83a3195cb6ff0188557d6bc5c.png);
      background-attachment: scroll;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover; } }
  .contact-section .contact-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .contact-section .contact-subtitle {
        font-size: 30px;
        line-height: 40px; } }
  .contact-section .contact-button {
    padding: 0 40px;
    font-size: 16px;
    line-height: 55px; }
    @media (max-width: 567px) {
      .contact-section .contact-button {
        width: 100%; } }
.blog-section {
  padding: 90px 0px 80px 0px; }
  .blog-section .blog-subtitle {
    font-size: 40px;
    font-weight: 700; }
    @media (max-width: 567px) {
      .blog-section .blog-subtitle {
        font-size: 30px;
        line-height: 40px; } }
    @media (min-width: 568px) {
      .blog-section .blog-subtitle {
        width: 60%; } }
  .blog-section .post-title {
    font-size: 20px;
    font-weight: bold;
    color: #1a1a1a;
    line-height: 30px;
    padding: 15px 0 23px 0; }
  .blog-section .blog-button {
    padding: 0 40px;
    font-size: 16px;
    line-height: 55px; }
    @media (max-width: 567px) {
      .blog-section .blog-button {
        width: 100%; } }
  .blog-section .card {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12); }

.social-section {
  padding: 90px 0px 80px 0px; }
  .social-section .social-icon-container {
    font-size: 5rem; }
    .social-section .social-icon-container img {
      width: 70px; }

.footer-social-icon {
  font-size: 1.5rem;
  line-height: 1; }
  .footer-social-icon img {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain; }
