    :root {
      --primary-color: #A67B5B;
      --secondary-color: #5D634F;
      --accent-color: #E6D5C3;
      --text-dark: #2C2C2C;
      --text-light: #5A5A5A;
      --bg-light: #FAF9F6;
      --white: #FFFFFF;
      --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    body {
      font-family: 'Lato', sans-serif;
      color: var(--text-dark);
      background-color: var(--bg-light);
      line-height: 1.6;
      overflow-x: hidden;
    }

    h1, h2, h3, .nav-link {
      font-family: 'Playfair Display', serif;
    }

    .navbar {
      background-color: rgba(250, 249, 246, 0.95);
      backdrop-filter: blur(10px);
      transition: var(--transition);
      padding: 1rem 0;
      border-bottom: 1px solid rgba(166, 123, 91, 0.1);
      z-index: 1050;
    }

    .navbar-brand {
      font-weight: 700;
      color: var(--primary-color) !important;
      font-size: 1.5rem;
    }

    .nav-link {
      font-family: 'Montserrat', sans-serif;
      text-transform: uppercase;
      font-size: 0.85rem;
      letter-spacing: 1px;
      color: var(--text-dark) !important;
      margin: 0 10px;
      font-weight: 500;
    }

    .nav-link:hover {
      color: var(--primary-color) !important;
    }

    .hero {
      padding: 180px 0 100px;
      background: linear-gradient(135deg, var(--bg-light) 60%, var(--accent-color) 100%);
      min-height: 100vh;
      display: flex;
      align-items: center;
      position: relative;
    }

    .hero-content {
      position: relative;
      z-index: 2;
    }

    .hero-content h1 {
      font-size: clamp(2.5rem, 5vw, 3.8rem);
      color: var(--primary-color);
      margin-bottom: 1.5rem;
      line-height: 1.2;
      font-weight: 400;
      letter-spacing: -0.5px;
    }

    .hero-content p {
      font-size: 1.15rem;
      max-width: 520px;
      margin-bottom: 1rem;
      color: var(--text-light);
    }

    .hero-image-container {
      position: relative;
      display: inline-block;
    }

    .hero-image {
      width: 100%;
      max-width: 550px;
      border-radius: 200px 200px 20px 20px;
      box-shadow: 30px 30px 0px var(--accent-color);
      object-fit: cover;
      aspect-ratio: 3/4;
    }

    .btn-primary-custom {
      background-color: var(--primary-color);
      color: var(--white);
      padding: 14px 32px;
      border-radius: 50px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      text-transform: uppercase;
      font-size: 0.75rem;
      letter-spacing: 1px;
      border: none;
      transition: var(--transition);
      box-shadow: 0 4px 15px rgba(166, 123, 91, 0.2);
      text-decoration: none;
      display: inline-block;
    }

    .btn-secondary-custom {
      background-color: transparent;
      color: var(--primary-color);
      padding: 14px 32px;
      border-radius: 50px;
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      text-transform: uppercase;
      font-size: 0.75rem;
      letter-spacing: 1px;
      border: 1px solid var(--primary-color);
      transition: var(--transition);
      text-decoration: none;
      display: inline-block;
      margin-left: 10px;
    }

    .btn-primary-custom:hover {
      background-color: var(--secondary-color);
      transform: translateY(-2px);
      color: var(--white);
    }

    .btn-secondary-custom:hover {
      background-color: var(--primary-color);
      color: var(--white);
      transform: translateY(-2px);
    }

    section {
      padding: 100px 0;
    }

    .section-title {
      text-align: center;
      margin-bottom: 60px;
    }

    .section-title h2 {
      font-size: 2.5rem;
      color: var(--primary-color);
      position: relative;
      display: inline-block;
      padding-bottom: 15px;
    }

    .service-card {
      background: var(--white);
      padding: 40px;
      border-radius: 20px;
      text-align: center;
      transition: var(--transition);
      border: 1px solid rgba(166, 123, 91, 0.05);
      height: 100%;
    }

    /* Estilo para os cards da nova seção "Como funciona a terapia" */
    .funciona-item {
      background: var(--white);
      padding: 30px 20px;
      border-radius: 20px;
      text-align: center;
      transition: var(--transition);
      border: 1px solid rgba(166, 123, 91, 0.1);
      height: 100%;
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.02);
    }
    .funciona-item i {
      color: var(--primary-color);
      font-size: 2.8rem;
      margin-bottom: 1.2rem;
      display: inline-block;
    }
    .funciona-item p {
      margin-bottom: 0;
      color: var(--text-light);
      font-size: 1rem;
      line-height: 1.6;
    }
    .funciona-item:hover {
      transform: translateY(-5px);
      border-color: var(--primary-color);
      box-shadow: 0 12px 30px rgba(166, 123, 91, 0.1);
    }

    .about-section {
      background-color: var(--accent-color);
      border-radius: 0 100px 0 100px;
      padding: 120px 0;
    }

    .about-image-wrapper {
      position: relative;
      display: inline-block;
    }

    .about-image {
      width: 100%;
      max-width: 420px;
      border-radius: 20px;
      object-fit: cover;
      position: relative;
      z-index: 2;
      box-shadow: 15px 15px 40px rgba(0,0,0,0.1);
    }

    .about-image-bg {
      position: absolute;
      top: -20px;
      left: -20px;
      width: 100%;
      height: 100%;
      border: 2px solid var(--primary-color);
      border-radius: 20px;
      z-index: 1;
    }

    .about-content {
      padding-left: 40px;
    }

    .about-badge {
      display: inline-block;
      background-color: var(--primary-color);
      color: white;
      padding: 5px 15px;
      border-radius: 50px;
      font-size: 0.8rem;
      font-weight: 600;
      margin-bottom: 15px;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    .accordion-button:not(.collapsed) {
      background-color: var(--primary-color);
      color: var(--white);
    }

    footer {
      background-color: var(--secondary-color);
      color: var(--white);
      padding: 60px 0 20px;
    }

    .whatsapp-btn {
      position: fixed;
      bottom: 30px;
      right: 30px;
      background-color: #25d366;
      color: white;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 30px;
      z-index: 1000;
      text-decoration: none;
    }

    .reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease-out;
    }

    .reveal.active {
      opacity: 1;
      transform: translateY(0);
    }

    @media (max-width: 991px) {
      .hero { padding-top: 140px; text-align: center; }
      .hero-content p { margin-left: auto; margin-right: auto; }
      .about-content { padding-left: 0; margin-top: 40px; }
      .hero-content h1 { font-size: 2.8rem; }
      .btn-secondary-custom { margin-left: 0; margin-top: 10px; display: block; }
    }
