@charset "UTF-8";
@import url(/assets/bootstrap.min-f66ef4f5533b9ac17cce568585528abf904e6de5892b0503838c2392bd88b963.css);
@import url(/assets/animate.min-c3f62b454ae936dc627e863163f7c3faac885f264e239f55c8e016aa730166d6.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&family=Mea+Culpa&display=swap");
body {
  font-family: "Mulish"; }

html {
  scrollbar-color: #f8f4e3 var(--bs-primary); }

::-webkit-scrollbar {
  width: 12px; }

::-webkit-scrollbar-track {
  background: var(--bs-primary); }

::-webkit-scrollbar-thumb {
  background-color: #f8f4e3;
  border-radius: 6px;
  border: 3px solid var(--bs-primary); }

::-webkit-scrollbar-thumb:hover {
  background-color: #f0e7c2; }

:root {
  --mobile-break-point: 576px;
  /* This allows Bootstrap to calculate opacities and variations */
  --bs-primary-rgb: 62, 30, 50;
  --bs-primary: #3e1e32;
  --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: #2f1827;
  --bs-btn-hover-border-color: #2f1827;
  --bs-btn-active-bg: #2a1723;
  --bs-btn-active-border-color: #2a1723;
  /* Cor do texto (escolha entre branco ou o dark que você criou) */
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff; }

.color-ivory {
  color: #f8f4e3; }

.color-plum {
  color: #4A243B; }

.icon-plum {
  filter: hue-rotate(309deg) saturate(1.25) brightness(0.38); }

[data-scroll-reveal]:not(.animate__animated) {
  opacity: 0; }

footer {
  --animate-duration: 0.8s; }
  footer .footer-delay-1 {
    --animate-delay: 0.15s; }
  footer .footer-delay-2 {
    --animate-delay: 0.3s; }

.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"; }

.font-mea-culpa {
  font-family: "Mea Culpa"; }

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

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

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

.right-dash:after {
  content: "";
  position: absolute;
  right: -42px;
  top: 28px;
  height: 2px;
  width: 30px;
  background: #3e1e32;
  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: #2f1827;
  --bs-btn-hover-border-color: #2f1827;
  --bs-btn-active-bg: #2a1723;
  --bs-btn-active-border-color: #2a1723;
  --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: #2f1827;
  --bs-btn-active-border-color: #2a1723;
  --bs-btn-focus-shadow-rgb: 62, 30, 50;
  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(62, 30, 50, 0.5); }

.navbar-signature {
  align-items: center;
  color: #3e1e32;
  font-size: 18px;
  line-height: 1;
  margin-right: 2rem;
  white-space: nowrap; }

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  background-color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  --animate-duration: 0.6s; }
  .navbar .nav-link {
    color: var(--bs-primary);
    transition: color 0.3s ease; }
  .navbar .navbar-logo-light {
    display: none; }
  .navbar .navbar-toggler {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(62, 30, 50, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
  .navbar.navbar-transparent {
    background-color: transparent;
    border-bottom-color: transparent; }
    .navbar.navbar-transparent .navbar-logo-default {
      display: none; }
    .navbar.navbar-transparent .navbar-logo-light {
      display: inline-block; }
    .navbar.navbar-transparent .nav-link {
      color: #f8f4e3; }
    .navbar.navbar-transparent .navbar-signature {
      color: #f8f4e3; }
    .navbar.navbar-transparent .navbar-toggler {
      border-color: rgba(248, 244, 227, 0.6);
      --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(248, 244, 227, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.content:not(.pages-home) {
  padding-top: 88px; }

/* 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 {
  --animate-duration: 0.9s;
  background-image: url(/assets/bruna/background-5a347c811816b3013b8c2c7d3bd1bb33461227c182b5b20ea3bd889cd56fbe9d.jpeg);
  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; }
  .hero-section .hero-delay-1 {
    --animate-delay: 0.2s; }
  .hero-section .hero-delay-2 {
    --animate-delay: 0.4s; }
  .hero-section .hero-delay-3 {
    --animate-delay: 0.6s; }
  .hero-section .hero-delay-4 {
    --animate-delay: 0.8s; }
  @media (max-width: 567px) {
    .hero-section {
      padding: 50px 0px 270px 0px; } }
  .hero-section .content {
    min-height: 30vh; }
  .hero-section .hero-title {
    font-size: 90px;
    font-weight: 500; }
    @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; }
  .hero-section .hero-buttons .btn-primary {
    --bs-btn-bg: #f3eee7;
    --bs-btn-border-color: #f3eee7;
    --bs-btn-color: #3e1e32;
    --bs-btn-hover-bg: #e4dfd8;
    --bs-btn-hover-border-color: #e4dfd8;
    --bs-btn-hover-color: #3e1e32;
    --bs-btn-active-bg: #d6d1ca;
    --bs-btn-active-border-color: #d6d1ca;
    --bs-btn-active-color: #3e1e32; }
  @media (max-width: 567px) {
    .hero-section .hero-buttons {
      flex-wrap: wrap; }
      .hero-section .hero-buttons .hero-button {
        width: 100%; } }
.cards-about-bg {
  background-image: url(/assets/bruna/background-cards-779f61a52fd7b1b8fcb14001323c430201f268d14b9a4eb4931077b63c35f821.png);
  background-attachment: scroll;
  background-position: center 100px;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 110px;
  margin-top: -110px; }

.cards-section .cards-container {
  margin-top: -110px; }
  .cards-section .cards-container .card {
    --animate-duration: 0.8s;
    box-shadow: 0 0 19px #e5c8c2;
    transition: box-shadow 0.2s ease;
    background-color: #F3EEE7; }
    .cards-section .cards-container .card:hover {
      box-shadow: 0 0 19px #3e1e32; }
    .cards-section .cards-container .card img {
      filter: hue-rotate(309deg) saturate(1.25) brightness(0.38); }
  .cards-section .cards-container .card-delay-1 {
    --animate-delay: 0.1s; }
  .cards-section .cards-container .card-delay-2 {
    --animate-delay: 0.25s; }
  .cards-section .cards-container .card-delay-3 {
    --animate-delay: 0.4s; }

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

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

.about-section {
  --animate-duration: 0.8s;
  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; }
  .about-section .icon-plum {
    padding-right: 0;
    width: 70%;
    margin: auto; }
    @media (min-width: 992px) {
      .about-section .icon-plum {
        padding-right: 40px;
        width: 100%; } }
  @media (max-width: 1280px) {
    .about-section .lawyer-info {
      flex-wrap: wrap; } }
  .about-section .lawyer-info.signature {
    top: calc(100% - 170px);
    left: 34%; }
    .about-section .lawyer-info.signature img {
      width: 400px;
      filter: grayscale(100%); }
  @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 {
  --animate-duration: 0.8s;
  background-image: url(/assets/bruna/background-services-e252b6655a013fe01e96830afdc79019f019706827a64e5056466a4d48fa6e31.jpeg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 90px 0px 80px 0px; }
  .services-section .heading-delay {
    --animate-delay: 0.15s; }
  .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;
    background-color: #F3EEE7; }
    .services-section .card:hover {
      box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12); }
  .services-section .card-delay-1 {
    --animate-delay: 0.1s; }
  .services-section .card-delay-2 {
    --animate-delay: 0.2s; }
  .services-section .card-delay-3 {
    --animate-delay: 0.3s; }
  .services-section .card-delay-4 {
    --animate-delay: 0.1s; }
  .services-section .card-delay-5 {
    --animate-delay: 0.2s; }
  .services-section .card-delay-6 {
    --animate-delay: 0.3s; }
  .services-section .card-icon-border {
    --bs-border-color: #8a6835; }
  .services-section .card-header-text {
    color: #4A243B;
    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 {
  --animate-duration: 0.8s;
  padding: 90px 0px 80px 0px; }
  .resume-section .heading-delay-1 {
    --animate-delay: 0.15s; }
  .resume-section .heading-delay-2 {
    --animate-delay: 0.3s; }
  .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: #3e1e32; }
  .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, #331a29 0%, #693b57 40%, #5f354e 50%, #693b57 60%, #331a29 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: #3e1e32;
      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 #331a29; }
    .resume-section .resume-card.left-arrow:before {
      position: absolute;
      content: "";
      background: linear-gradient(90deg, #331a29 0%, #693b57 40%, #a06e8c 50%, #693b57 60%, #331a29 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: #3e1e32;
      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 #331a29;
      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 {
  --animate-duration: 0.8s;
  background-image: url(/assets/bruna/background-skills-0afe5d3a96ed700ed1b32dd1acdafac58687ec5726012d298af5d114eb1e5fdb.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  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: 40px; }
  .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 {
  --animate-duration: 0.8s;
  padding: 90px 0px 80px 0px;
  background-color: #F2F2F0; }
  @media (min-width: 992px) {
    .contact-section {
      background-image: url(/assets/bruna/contact-ecd8e73ebdee1e6bdbf1baa7b54e3fcb09c094cad35ce8bbb3a3e0234e35e134.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 {
  --animate-duration: 0.8s;
  background-image: url(/assets/bruna/background-blog-e5d1d58b0612e79204636d9b4773116ff7840e1c7325cedb8d71c53702896a41.png);
  background-attachment: scroll;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 90px 0px 240px 0px;
  min-height: 700px; }
  @media (max-width: 567px) {
    .blog-section {
      padding: 90px 0px 80px 0px;
      min-height: 500px; } }
  .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); }

.post-detail-title {
  line-height: 1.3; }

.post-detail-content {
  font-size: 20px; }
  .post-detail-content p, .post-detail-content li {
    font-size: 20px; }

.blog-post-image-placeholder {
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f8f4e3;
  color: var(--bs-primary);
  opacity: 0.35;
  font-size: 56px; }

.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; }
