.elementor-529 .elementor-element.elementor-element-96503c9{--display:flex;}/* Start custom CSS *//* ================================================
   EMILY THAYSLANE — CSS COMPLETO E LIMPO
   ================================================ */

/* SCROLL OFFSET — header fixo não cobre âncoras */
#problema,
#solucao,
#diferencial,
#portfolio,
#processo,
#contato {
  scroll-margin-top: 90px;
}

/* STEP NUMBER — número decorativo acima do título */
.process-steps .step .step-number {
  display: block !important;
  font-size: 36px !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}

/* BOTÃO DO FORMULÁRIO — não estoura */
#contato .btn-primary[type="submit"] {
  width: 100% !important;
  white-space: normal !important;
  word-break: break-word;
  font-size: 0.85rem !important;
  padding: 14px 20px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

/* ================================================
   DESKTOP
   ================================================ */
@media (min-width: 992px) {

  #contato .btn-primary[type="submit"] {
    font-size: 0.9rem !important;
    white-space: nowrap !important;
  }

  .process-steps {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 2rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 40px 0 0 0 !important;
  }

  .process-steps .step {
    text-align: center !important;
    position: relative !important;
    padding-top: 60px !important;
  }

  .process-steps .step .step-number {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 5rem !important;
    line-height: 1 !important;
    color: rgba(201, 169, 110, 0.12) !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 0 !important;
    white-space: nowrap !important;
    margin-bottom: 0 !important;
  }

  .process-steps .step h3 {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 0 !important;
    color: #C9A96E !important;
    font-size: 1.4rem !important;
    margin-bottom: 0.5rem !important;
  }

  .process-steps .step p {
    position: relative !important;
    z-index: 1 !important;
    color: #A0A0A0 !important;
    font-size: 0.95rem !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    line-height: 1.5 !important;
  }

  .card h3,
  .card p,
  .diff-item p,
  .portfolio-info p {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
  }
}

/* ================================================
   MOBILE
   ================================================ */
@media (max-width: 768px) {

  .logo.brand-name,
  header .logo {
    font-size: 1.2rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 55vw !important;
  }

  header#header {
    padding: 0.8rem 0 !important;
  }

  header#header .container {
    padding: 0 1rem !important;
  }

  header#header nav {
    align-items: center !important;
    gap: 10px !important;
  }

  header#header .btn-primary {
    padding: 8px 14px !important;
    font-size: 0.75rem !important;
    white-space: nowrap !important;
  }

  .hero {
    padding-top: 80px !important;
  }

  .portfolio-grid,
  .portfolio-item,
  .grid-3,
  .process-steps {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .portfolio-item,
  .card,
  .step {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body,
  .elementor-section,
  .elementor-container,
  .elementor-row,
  .elementor-widget-wrap {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
}
@media (max-width: 768px) {
  .portfolio-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 1rem !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .portfolio-item {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 2rem 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .portfolio-info h3 {
    font-size: 1.3rem !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  .portfolio-info p {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
@media (max-width: 768px) {
  .process-steps .step {
    position: relative !important;
    padding-top: 50px !important;
  }

  .process-steps .step .step-number {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 3.5rem !important;
    line-height: 1 !important;
    color: rgba(201, 169, 110, 0.15) !important;
    z-index: 0 !important;
    display: block !important;
  }

  .process-steps .step h3,
  .process-steps .step p {
    position: relative !important;
    z-index: 1 !important;
  }
}/* End custom CSS */