* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Inter', 'Poppins', sans-serif;
}



html, body {
  height: 100%;
  overflow-x: hidden;
  margin: 0;
}

/* FUNDO BASE */
body {
  background: #ffffff;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
}



/* ===== SEÇÃO HERO SUPREMA ===== */
.hero {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  height: 100dvh;
  display: flex;
  align-items: center;
  color: white;
  padding-left: 8%;
  overflow: hidden;

  background-attachment: scroll; /* REMOVE fixed */
}



/* Partículas flutuantes de fundo */
.hero::after {
  content: '';
  position: absolute;
  width: 200%;
  height: 200%;

  animation: particlesFloat 20s ease-in-out infinite alternate;
  z-index: 0;
}



@keyframes particlesFloat {
  0% { transform: translateX(-10%) translateY(-10%) rotate(0deg); }
  100% { transform: translateX(10%) translateY(10%) rotate(360deg); }
}



.hero-right {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}



.hero-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;

}



/* Overlay gradiente sofisticado */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;

  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.25) 40%,
    rgba(0,0,0,0.55) 70%,
    rgba(0,0,0,0.85) 100%
  );

  z-index: 2;
}



/* ===== TIPOGRAFIA PROFISSIONAL ===== */
.hero h1 {
  position: relative;
  z-index: 3;
  font-size: clamp(24px, 4vw, 48px);
  font-weight: 200;
  letter-spacing: 0.15em;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(135deg, #ffffff 0%, #e0e0e0 50%, #cccccc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 0 30px rgba(255,255,255,0.3);
  animation: titleGlow 3s ease-in-out infinite alternate;
}



@keyframes titleGlow {
  0% { text-shadow: 0 0 30px rgba(255,255,255,0.3), 0 0 60px rgba(138,46,79,0.2); }
  100% { text-shadow: 0 0 40px rgba(255,255,255,0.5), 0 0 80px rgba(138,46,79,0.3); }
}



.hero h1 span {
  font-weight: 300;
  display: block;
  margin-top: 8px;
}







.hero-nome {
  position: absolute;
  top: 2%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 5;
}

.nome{
  font-size:38px;
  font-weight:300;
  letter-spacing:2px;
  white-space: nowrap;
}

.linha{
  width: 60%;
  max-width: 260px;
  height: 1px;
  background: rgba(255,255,255,0.6);
  margin: 14px auto;
}

.subtitulo{
  position: relative;
  z-index: 3;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 3px;
  color: #ddd;
  text-transform: uppercase;
  text-align: center;
}



.hero-descricao {
  position: absolute;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 480px;
  text-align: center;
  z-index: 3;
}

.frase{
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 600; /* deixa mais grossa */
  line-height: 1.5;
  color: #ffffff; /* branco puro */
  text-shadow: 0 4px 15px rgba(0,0,0,0.8);
}


.frase::before,
.frase::after{
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
}


/* ===== FUNDO REVOLUCIONÁRIO DOS CARDS ===== */
.cards-container {
  position: relative;
  top: -40px;
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding: 0 20px 40px;
  z-index: 20;

}




.card-wrapper {
  position: relative;
  max-width: 680px;
  margin: 0 auto;
}


/* ===== CARDS PROFISSIONAIS PREMIUM ===== */
.professional-card {
  background: linear-gradient(135deg, #8A2E4F 0%, #772C4D 50%, #6B2A45 100%);
  border-radius: 24px;
  padding: 35px 30px;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  color: white;
  position: relative;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 
    0 20px 60px rgba(0,0,0,0.4),
    0 0 0 1px rgba(255,255,255,0.05),
    inset 0 1px 0 rgba(255,255,255,0.1);
  backdrop-filter: blur(20px);
  overflow: hidden;
  z-index: 1;
  
}



/* Efeito de brilho interno */
.professional-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.05) 50%, transparent 70%);
  transform: rotate(45deg);
  transition: all 0.6s ease;
  opacity: 0;
}



.professional-card:hover::before {
  animation: shimmer 1.5s ease-in-out;
}



@keyframes shimmer {
  0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); opacity: 0; }
  50% { opacity: 1; }
  100% { transform: translateX(100%) translateY(100%) rotate(45deg); opacity: 0; }
}



.professional-card:hover {
  transform: translateY(-12px) scale(1.02);
  box-shadow: 
    0 40px 100px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,0.1),
    0 0 60px rgba(138,46,79,0.3);
}



/* ===== HEADER DO CARD SOFISTICADO ===== */
.card-header {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
}



.card-img {
  position: absolute;
  top: -40px;
  right: -20px;
  width: 70px;
  z-index: 5;
  pointer-events: none;
}



.professional-card:hover .card-img {
  transform: rotate(-12deg) scale(1.1);
  filter: drop-shadow(0 15px 30px rgba(0,0,0,0.6));
}



/* ===== CONTEÚDO DO CARD PREMIUM ===== */
.card-content {
  display: flex;
  flex-direction: column;
  gap: 22px;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}



.card-title {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  background: linear-gradient(135deg, #ffffff 0%, #f0f0f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 4px;
}



.card-subtitle {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #f1f5f9;

  max-width: 660px;
  margin: 0 auto;
  text-align: center;

  letter-spacing: 0.2px;
}


.card-subtitle strong {
  font-weight: 600;
  color: #ffffff;
  
}


/* ===== CTA BUTTON SUPREMO ===== */
.cta-button {
  margin-top: 25px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  color: #1f2937;
  padding: 18px 35px;
  border-radius: 50px;
  border: none;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 
    0 10px 30px rgba(0,0,0,0.3),
    0 0 0 1px rgba(255,255,255,0.1),
    inset 0 1px 0 rgba(255,255,255,0.8);
  position: relative;
  overflow: hidden;
   width: 100%;
     text-decoration: none;
  display: inline-block;
  text-align: center;
}



.cta-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  transition: left 0.5s ease;
}



.cta-button:hover::before {
  left: 100%;
}



.cta-button:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 
    0 20px 40px rgba(0,0,0,0.4),
    0 0 0 1px rgba(255,255,255,0.2);
}



/* ===== PARTÍCULAS INTELIGENTES ===== */
.smart-particle {
  position: absolute;
  width: 3px;
  height: 3px;
  background: radial-gradient(circle, rgba(138,46,79,0.8) 0%, rgba(138,46,79,0.4) 50%, transparent 100%);
  border-radius: 50%;
  animation: smartFloat 15s linear infinite;
  z-index: 1;
}



@keyframes smartFloat {
  0% { 
    transform: translateY(100%) translateX(0px) scale(0);
    opacity: 0;
  }
  10% { 
    opacity: 1;
    transform: translateY(90%) translateX(10px) scale(1);
  }
  50% { 
    transform: translateY(50%) translateX(-20px) scale(1.2);
    opacity: 0.8;
  }
  90% { 
    opacity: 1;
    transform: translateY(10%) translateX(30px) scale(0.8);
  }
  100% { 
    transform: translateY(-10%) translateX(50px) scale(0);
    opacity: 0;
  }
}



/* Múltiplas partículas com delays */
.smart-particle:nth-child(1) { 
  left: 5%; 
  animation-delay: 0s;
  animation-duration: 12s;
}



.smart-particle:nth-child(2) { 
  left: 15%; 
  animation-delay: -3s;
  animation-duration: 18s;
}



.smart-particle:nth-child(3) { 
  left: 25%; 
  animation-delay: -6s;
  animation-duration: 15s;
}



.smart-particle:nth-child(4) { 
  left: 35%; 
  animation-delay: -9s;
  animation-duration: 20s;
}



.smart-particle:nth-child(5) { 
  left: 45%; 
  animation-delay: -12s;
  animation-duration: 14s;
}



.smart-particle:nth-child(6) { 
  left: 55%; 
  animation-delay: -15s;
  animation-duration: 16s;
}



.smart-particle:nth-child(7) { 
  left: 65%; 
  animation-delay: -18s;
  animation-duration: 22s;
}



.smart-particle:nth-child(8) { 
  left: 75%; 
  animation-delay: -21s;
  animation-duration: 13s;
}



.smart-particle:nth-child(9) { 
  left: 85%; 
  animation-delay: -24s;
  animation-duration: 19s;
}



.smart-particle:nth-child(10) { 
  left: 95%; 
  animation-delay: -27s;
  animation-duration: 17s;
}



/* Efeito de interação com cards */
.professional-card:hover ~ .smart-particle,
.professional-card:hover + .smart-particle {
  animation-play-state: paused;
  transform: scale(2) !important;
  opacity: 1 !important;
  filter: blur(1px);
}



/* ===== FOOTER MINIMALISTA ELEGANTE ===== */
.footer {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  padding: 40px 20px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(20px);
  position: relative;
  z-index: 10;
}



.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(138,46,79,0.5) 50%, transparent 100%);
}



.footer p {
  color: #94a3b8;
  font-size: 14px;
  font-weight: 300;
  opacity: 0.8;
}



/* ===== RESPONSIVIDADE MOBILE PREMIUM ===== */
@media (max-width: 768px) {
  .hero {

    background-attachment: scroll;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 0;
    min-height: 100dvh;
    height: 100dvh;
  }


.hero-right img{
   width: 100%;
   height: 100%;
   object-fit: cover; /* volta para cover */
   object-position: center 35%;
}

  .professional-card:hover {
    transform: none;
  }

  .professional-card:active {
    transform: scale(0.98);
  }



  .hero h1 {
    font-size: 22px;
    font-weight: 200;
    letter-spacing: 0.1em;
  }



  .subtitulo {
    font-size: 11px;
    letter-spacing: 0.2em;
    margin-top: 8px;
  }



  .hero-descricao {
    bottom: 10%;
    max-width: 280px;
  }



 .frase{
  font-size: 14px;
}

  .hero-nome{
    top: 2%;
  }

  .nome{
    font-size: 22px;

  }

  .linha{
    width: 100%;
  }


.cards-container {
  position: relative;
  top: -30px;
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding: 0 20px 40px;
  z-index: 20;

}

.card-content {
  margin-top: -10px;
}

  .cards-container::before {
    background-size: 40px 40px, 40px 40px, 60px 60px;
  }



  .professional-card {
    max-width: 340px;
    padding: 25px 20px;
    border-radius: 20px;
    margin-top: -10px;

  }



  .card-img {
    position: absolute;
    top: -25px;
    right: -15px; /* joga para fora do card */
    width: 70px;
    transform: rotate(-12deg);
    z-index: 3;
     pointer-events: none;
  }



  .card-title {
    font-size: 20px;
  }







  .cta-button {
    padding: 16px 28px;
    font-size: 14px;
    margin-top: 20px;
    overflow: visible;
  }



  .footer {
    padding: 30px 20px;
  }



  /* Partículas mobile otimizadas */
  .smart-particle {
    width: 2px;
    height: 2px;
  }



  .smart-particle:nth-child(n+6) {
    display: none; /* Remove partículas extras no mobile */
  }
}



/* ===== TABLETS ===== */
@media (max-width: 1024px) and (min-width: 769px) {
  .hero h1 {
    font-size: 38px;
  }



  .subtitulo {
    font-size: 15px;
  }



  .professional-card {
    max-width: 600px;
  }



  .cards-container::before {
    background-size: 60px 60px, 60px 60px, 90px 90px;
  }
}



/* ===== TELAS PEQUENAS ===== */
@media (max-width: 480px) {
  .hero h1 {
    font-size: 20px;
    letter-spacing: 0.08em;
  }



  .subtitulo {
    font-size: 10px;
  }


.professional-card {
  max-width: 105%;     /* aumenta largura */
  padding: 20px 10px; /* diminui altura */
  border-radius: 20px;
}

.card-content{
  gap: 12px; /* diminui espaço vertical */
}

.card-subtitle{
  max-width: 100%; /* deixa texto ocupar largura */
  font-size: 11px;
  line-height: 1.4;

  text-align: center;
  letter-spacing: 0.2px;
}




  .card-img {
  position: absolute;
  top: 95px;
  right: -25px; /* joga para fora do card */
  width: 70px;
  transform: rotate(-12deg);
  z-index: 5;
  pointer-events: none;
  width: clamp(60px, 8vw, 80px);
  }



  .card-title {
    font-size: 18px;
  }





  .cta-button {
    padding: 14px 24px;
    font-size: 13px;
    overflow: hidden;
  }


.frase{
  font-size: 14px;
}



  .cards-container::before {
    background-size: 30px 30px, 30px 30px, 45px 45px;
  }
}



/* ===== DESKTOP 4K SUPREMO ===== */
@media (min-width: 1920px) {
  .hero h1 {
    font-size: 58px;
    letter-spacing: 0.12em;
  }



  .subtitulo {
    font-size: 20px;
  }



  .hero-descricao p {
    font-size: 18px;
    padding: 25px;
  }



  .professional-card {
    max-width: 800px;
    padding: 45px 40px;
  }



  .card-title {
    font-size: 42px;
  }



  .card-subtitle {
    font-size: 22px;
  }



  .cta-button {
    padding: 22px 40px;
    font-size: 18px;
  }



  .card-img {
    width: 110px;
    right: 120px;
    top: -80px;
  }



  .cards-container::before {
    background-size: 120px 120px, 120px 120px, 180px 180px;
  }
}










/* Aplicação das animações */



.professional-card:nth-child(1) { 
  animation-delay: 0.2s, 0s; 
}



.professional-card:nth-child(2) { 
  animation-delay: 0.4s, 1s; 
}



.professional-card:nth-child(3) { 
  animation-delay: 0.6s, 2s; 
}



/* ===== EFEITOS DE HOVER PREMIUM ===== */
.hero h1:hover {
  transform: scale(1.02);
  transition: all 0.3s ease;
}



.card-title:hover {
  transform: translateY(-2px);
  transition: all 0.3s ease;
}



/* ===== SCROLLBAR CUSTOMIZADA ===== */
::-webkit-scrollbar {
  width: 8px;
}



::-webkit-scrollbar-track {
  background: #0a0a0a;
}



::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #8A2E4F, #772C4D);
  border-radius: 10px;
}



::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #9A3E5F, #823C5D);
}



/* ===== OTIMIZAÇÕES DE PERFORMANCE ===== */
.professional-card,
.cta-button,
.hero h1,
.smart-particle {
  will-change: transform;
}



/* ===== ESTADOS DE FOCO PARA ACESSIBILIDADE ===== */
.cta-button:focus {
  outline: 3px solid rgba(138, 46, 79, 0.5);
  outline-offset: 2px;
}



.cta-button:focus:not(:focus-visible) {
  outline: none;
}



/* ===== SUPORTE PARA MOVIMENTO REDUZIDO ===== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}



/* ===== EFEITOS ESPECIAIS PARA INTERAÇÃO ===== */
.professional-card:active {
  transform: translateY(-8px) scale(0.98);
  transition: all 0.1s ease;
}



.cta-button:active {
  transform: translateY(-1px) scale(0.95);
  transition: all 0.1s ease;
}


body {
  overflow-x: hidden;
}

html {
  overflow-x: hidden;
}

.smart-particle {
  pointer-events: none;
}

