:root{
  --bg: #15140f;
  --bg-raised: #1d1c15;
  --paper: #efeae0;
  --paper-dim: rgba(239,234,224,0.62);
  --line: rgba(239,234,224,0.14);
  --accent: #ff5a1f;
  --accent-dim: rgba(255,90,31,0.16);
  --font-display: "Archivo", sans-serif;
  --font-body: "Work Sans", sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #15140f;
    --bg-raised: #1d1c15;
    --paper: #efeae0;
    --paper-dim: rgba(239,234,224,0.62);
    --line: rgba(239,234,224,0.14);
    --accent: #ff5a1f;
    --accent-dim: rgba(255,90,31,0.16);
  }
}

:root[data-theme="dark"]{
  --bg: #15140f;
  --bg-raised: #1d1c15;
  --paper: #efeae0;
  --paper-dim: rgba(239,234,224,0.62);
  --line: rgba(239,234,224,0.14);
  --accent: #ff5a1f;
  --accent-dim: rgba(255,90,31,0.16);
}

*{ margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color: transparent; }

html{ scroll-behavior:smooth; }

body{
  background: var(--bg);
  color: var(--paper);
  font-family: var(--font-body);
  line-height: 1.5;
  overflow-x: hidden;
}

img, svg { max-width: 100%; display:block; }

a { color: inherit; }

::selection{ background: var(--accent); color: #15140f; }

.wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 48px);
}

/* ============ NAV ============ */

nav{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 22px 0;
  background: linear-gradient(to bottom, rgba(21,20,15,0.92), rgba(21,20,15,0));
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.wordmark{
  display: flex;
  align-items: center;
  text-decoration: none;
}

.wordmark img{
  height: 100px;
  width: auto;
  display: block;
}

.nav-links{
  display:flex;
  gap: 32px;
  list-style:none;
}

.nav-links a{
  text-decoration:none;
  font-size: 15px;
  font-weight: 500;
  color: var(--paper-dim);
  transition: color 0.25s ease;
}

.nav-links a:hover{ color: var(--paper); }

.nav-cta{
  text-decoration:none;
  font-weight:600;
  font-size: 14px;
  color: var(--bg);
  background: var(--paper);
  padding: 11px 20px;
  border-radius: 3px;
  transition: background 0.25s ease, transform 0.25s ease;
}

.nav-cta:hover{ background: var(--accent); color: var(--paper); transform: translateY(-1px); }

.nav-toggle-wrap{
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.nav-toggle{
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: none;
  cursor: pointer;

  background: var(--paper);
  color: var(--accent);

  /* sombra sólida deslocada em vez de blur — visual de "selo" 3D,
     consistente com o resto da página (nada de sombra difusa) */
  box-shadow: 3px 3px 0 var(--accent);

  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.nav-toggle:active{
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--accent);
}

.nav-toggle-label{
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--paper-dim);
  font-weight: 500;
}

.mobile-menu{
  display:none;
  position:fixed;
  inset: 0;
  background: var(--bg);
  z-index: 99;
  padding: 100px 24px 40px;
  flex-direction:column;
  gap: 4px;
}

.mobile-menu.open{ display:flex; }

.mobile-menu a{
  text-decoration:none;
  color: var(--paper);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 32px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}

.mobile-menu .nav-cta{
  margin-top: 24px;
  text-align:center;
}

/* ============ HERO ============ */

.hero{
  position: relative;
  min-height: 100svh;
  display:flex;
  align-items:center;
  padding-top: 110px;
  padding-bottom: 60px;
  --mx: 70%;
  --my: 40%;
  
}

.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(480px 480px at var(--mx) var(--my), rgba(255,90,31,0.12), transparent 65%);
  pointer-events: none;
  transition: background 0.1s linear;
}

#hero-canvas{
  position:absolute;
  top:0; right:0;
  width: 58%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.4s ease;
  pointer-events: none;
}

#hero-canvas.ready{ opacity: 1; }

#hero-canvas canvas{ width:100% !important; height:100% !important; }

/* fallback visual caso o WebGL/Three.js não carregue por algum motivo */
#hero-canvas.fallback-glow{
  background:
    radial-gradient(340px 340px at 60% 40%, rgba(255,90,31,0.22), transparent 70%),
    radial-gradient(260px 260px at 40% 65%, rgba(239,234,224,0.10), transparent 70%);
  animation: fallbackFloat 8s ease-in-out infinite;
}

@keyframes fallbackFloat{
  0%, 100% { background-position: 0 0, 0 0; }
  50% { background-position: 30px -20px, -20px 20px; }
}

.hero-inner{
  position: relative;
  z-index: 2;
  max-width: 640px;
}

.hero-eyebrow{
  font-size: 14px;
  color: var(--paper-dim);
  margin-bottom: 22px;
}

h1 {
  text-align: center;         /* Centraliza o texto */
  display: flex;
  flex-direction: column;     /* Empilha 'Everton' e 'Souza' */
  align-items: center;        /* Centraliza os blocos no eixo horizontal */
  justify-content: center;
  margin: 30px 0;
  
  /* Fonte Marcante e Profissional */
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(3.0rem, 8vw, 5rem); /* Ajusta o tamanho da fonte automaticamente em celulares */
  font-weight: 800;
  text-transform: uppercase;  /* Caixa alta para dar mais presença */
  letter-spacing: -1px;        /* Espaçamento moderno e compacto */
  line-height: 0.95;           /* Aproxima as duas linhas */
  color: var(--paper, #ffffff);/* Usa a cor do seu tema */
}

/* Garante o alinhamento das linhas internas */
h1 .line {
  display: block;
  overflow: hidden; /* Útil para animações de entrada caso use JavaScript/GSAP */
}

h1 .line span {
  display: inline-block;
}

/* Opcional: Destaque visual na segunda palavra (Sobrenome) */
h1 .line:last-child span {
  color: var(--accent, #ffd700); /* Usa sua cor de destaque ou um tom dourado/amarelo */
}

.hero h1 .line span{
  display:block;
  transform: translateY(110%);
  animation: lineUp 0.9s cubic-bezier(.16,.84,.34,1) forwards;
}

.hero h1 .line:nth-child(1) span{ animation-delay: 0.05s; }
.hero h1 .line:nth-child(2) span{ animation-delay: 0.16s; }
.hero h1 .line:nth-child(3) span{ animation-delay: 0.27s; color: var(--accent); }

@keyframes lineUp{
  to{ transform: translateY(0); }
}

.hero p{
  margin-top: 28px;
  font-size: 18px;
  color: var(--paper-dim);
  max-width: 460px;
  opacity: 0;
  animation: fadeIn 0.8s ease forwards;
  animation-delay: 0.6s;
}

.hero-actions{
  display: flex;
  justify-content: center; /* Centraliza a dupla na horizontal */
  align-items: center;    /* Alinha verticalmente no centro */
  gap: 25px;              /* Espaçamento uniforme e limpo entre os botões */
  margin-top: 40px;       /* Distância em relação ao conteúdo de cima */
  flex-wrap: wrap;
}

@keyframes fadeIn{ to{ opacity: 1; } }


/* REMOVA O MARGIN-TOP DAQUI */
.btn {
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
  padding: 16px 28px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
  min-height: 48px;

  /* margin-top: 100px;  <--- EXCLUA OU COMENTE ESTA LINHA */
}


/* Variação Sólida */
.btn-solid {
  background: var(--accent);
  color: #15140f;
  
}
.btn-solid:hover { 
  transform: translateY(-2px); 
}

/* Variação Outline */
.btn-outline {
  border: 1px solid var(--line);
  color: var(--paper);
}
.btn-outline:hover { 
  border-color: var(--paper); 
  transform: translateY(-2px); 
}

.section-head.reveal,
.areas-content.reveal{
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(.16,.84,.34,1);
}

.section-head.reveal-in,
.areas-content.reveal-in{
  opacity: 1;
  transform: translateY(0);
}

/* ============ MÉTODO ============ */

section{ padding: 120px 0; }

#metodo{
  position: relative;
  overflow: hidden;
  --mx: 50%;
  --my: 40%;
}

#metodo::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(480px 480px at var(--mx) var(--my), rgba(255,90,31,0.1), transparent 65%);
  pointer-events: none;
}

#metodo .wrap{
  position: relative;
  z-index: 2;
}

.section-head{
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 60px;
  margin-bottom: 64px;
}

.section-head h2{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(30px, 4vw, 46px);
  text-transform: uppercase;
  line-height: 1.05;
}

.section-head .lede{
  font-size: 18px;
  color: var(--paper-dim);
  max-width: 46ch;
}

.metodo-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
}

.metodo-item{
  padding: 32px 28px 32px 0;
  border-right: 1px solid var(--line);
  position: relative;
  transition: padding-left 0.3s ease;
}

.metodo-item::before{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: width 0.35s ease;
}

.metodo-item:hover{
  padding-left: 12px;
}

.metodo-item:hover::before{
  width: 100%;
}

.metodo-item:last-child{ border-right:none; }

.metodo-item h3{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 14px;
}

.metodo-item p{
  font-size: 15px;
  color: var(--paper-dim);
}

/* ============ ÁREAS DE ATUAÇÃO (abas com vídeo) ============ */

.areas{
  padding: 0;
}

.areas-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-top: 100px;
  padding-bottom: 0;
  border-bottom: 1px solid var(--line);
}

.areas-tab{
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 17px;
  color: var(--paper-dim);
  padding: 16px 22px 16px 0;
  margin-right: 18px;
  position: relative;
  transition: color 0.25s ease;
}

.areas-tab::after{
  content: "";
  position: absolute;
  left: 0;
  right: 22px;
  bottom: 0;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.areas-tab:hover{ color: var(--paper); }

.areas-tab.active{ color: var(--paper); }
.areas-tab.active::after{ transform: scaleX(1); }

.areas-panels{
  position: relative;
  min-height: 72vh;
  overflow: hidden;
}

.areas-panel{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
  z-index: 1;
}

.areas-panel.active{
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

.areas-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--bg-raised);
}

.areas-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(21,20,15,0.08), rgba(21,20,15,0.92) 85%);
}

.areas-content{
  position: relative;
  z-index: 2;
  padding-bottom: 64px;
}

.areas-content h3{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 4vw, 44px);
  text-transform: uppercase;
  max-width: 16ch;
  line-height: 1.05;
}

.areas-content p{
  margin-top: 14px;
  font-size: 17px;
  color: var(--paper-dim);
  max-width: 48ch;
}

/* --- cards de benefícios, abaixo do vídeo de cada aba --- */

.benefits-panel{
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 48px;
  margin-bottom: 24px;
}

.benefits-panel.active{
  display: grid;
}

.benefit-card{
  background: var(--bg);
  border: none;
  text-align: left;
  cursor: pointer;
  padding: 26px 24px;
  font-family: var(--font-body);
  color: var(--paper);
  position: relative;
}

.benefit-card::before{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0;
  height: 2px;
  background: var(--accent);
  transition: width 0.35s ease;
}

.benefit-card:hover::before{ width: 100%; }

.benefit-card-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.benefit-card-head h4{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
}

.benefit-toggle{
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--paper-dim);
  transition: transform 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.benefit-card[aria-expanded="true"] .benefit-toggle{
  transform: rotate(135deg);
  color: var(--accent);
  border-color: var(--accent);
}

.benefit-card-body{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, margin-top 0.4s ease;
}

.benefit-card[aria-expanded="true"] .benefit-card-body{
  max-height: 220px;
  margin-top: 14px;
}

.benefit-card-body p{
  font-size: 14px;
  line-height: 1.6;
  color: var(--paper-dim);
}

.benefit-card-body cite{
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-weight: 600;
  color: var(--paper);
}

.areas-subhead{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--paper-dim);
  margin-bottom: 20px;
}

.testimonials-panel{
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-bottom: 80px;
}

.testimonials-panel.active{
  display: grid;
}

.testimonials-panel .benefit-card-head h4{
  font-family: var(--font-body);
  font-weight: 600;
  font-style: italic;
  font-size: 16px;
}

/* ============ CONTATO ============ */

.contato{
  position: relative;
  overflow: hidden;
  text-align: center;
  --mx: 50%;
  --my: 40%;
}

.contato::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(480px 480px at var(--mx) var(--my), rgba(255,90,31,0.14), transparent 65%);
  pointer-events: none;
}

.contato .wrap{
  position: relative;
  z-index: 2;
}

.contato h2{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(34px, 5.4vw, 60px);
  text-transform: uppercase;
  max-width: 16ch;
  margin: 0 auto;
  line-height: 1.05;
}

.contato p{
  margin: 22px auto 0;
  color: var(--paper-dim);
  font-size: 17px;
  max-width: 50ch;
}

.contato .btn{ margin-top: 36px; }

footer{
  border-top: 1px solid var(--line);
  padding: 32px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size: 13px;
  color: var(--paper-dim);
}

footer a{ text-decoration:none; color: var(--paper-dim); transition: color 0.2s ease; }
footer a:hover{ color: var(--paper); }

/* ============ MOBILE ============ */

@media (max-width: 900px){

  .nav-links{ display:none; }
  .nav-cta{ display:none; }
  .nav-toggle-wrap{ display: flex; }
  .nav-toggle{ display: flex; }

  .hero{
    flex-direction: column;
    align-items: stretch;
    padding-top: 96px;
    padding-bottom: 80px;
  }

  /* o texto/botões (dentro de .wrap) vem primeiro, a bola 3D depois */
  .hero > .wrap{
    order: 1;
  }

  #hero-canvas{
    position: static;
    order: 2;
    width: 100%;
    max-width: 320px;
    height: 260px;
    margin: 36px auto 0;
    opacity: 1;
  }

  .hero-inner{ max-width: 100%; }

  section{ padding: 80px 0; }

  .section-head{
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }

  .metodo-grid{
    grid-template-columns: 1fr;
  }

  .metodo-item{
    border-right: none;
    border-bottom: 1px solid var(--line);
    padding: 26px 0;
  }
  .metodo-item:last-child{ border-bottom:none; }

  .areas-tabs{
    padding-top: 72px;
    gap: 2px;
  }

  .areas-tab{
    font-size: 14px;
    padding: 12px 14px 12px 0;
    margin-right: 10px;
  }

  .areas-panels{
    min-height: 56vh;
  }

  .areas-content{
    padding-bottom: 32px;
  }

  .benefits-panel{
    grid-template-columns: 1fr;
    margin-top: 32px;
    margin-bottom: 56px;
  }

  footer{
    flex-direction: column;
    gap: 12px;
    text-align:center;
  }
}

.instagram-link {
    text-decoration: none;
    color: white;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px; /* Espaçamento em relação ao conteúdo acima */
   
   
  }

.instagram-link i {
    font-size: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    transition: all 0.3s ease;
    
  
}

/* Efeito ao passar o mouse */
.instagram-link:hover i {
    color: #ff7a00;
    transform: scale(1.2);
    filter: drop-shadow(0 0 10px #ff7a00);
    animation: instagramPulse 0.8s infinite alternate;
}

@keyframes instagramPulse {
    from {
        transform: scale(1.15);
        filter: drop-shadow(0 0 5px #ff7a00);
    }

    to {
        transform: scale(1.3);
        filter: drop-shadow(0 0 15px #ff7a00);
    }
}

.img-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1; /* Coloca a imagem atrás do conteúdo */
    opacity: 0.3; /* Ajusta a opacidade para suavizar o efeito */
}

/* nota: a rotação do 3D e a entrada do hero não são desligadas por
   prefers-reduced-motion aqui de propósito — são movimentos suaves,
   sem parallax agressivo ou flicker, então mantê-las ativas é seguro
   e é o que sustenta a sensação "viva" da página. */

/* Container para organizar as tags */
.tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center; /* Centraliza as tags */
  margin: 20px 0;
  margin-top: 60px;
}

/* Estilização diferenciada das Spans */
.tags-container span {
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #f5a507;
  display: inline-flex;  /* <--- OBRIGATÓRIO para o gap funcionar */
  align-items: center;   /* Centraliza a bolinha na altura da letra */
  gap: 12px;             /* Ajuste a distância desejada aqui */
  
  /* Gradiente moderno e bordas arredondadas */
  background: linear-gradient(135deg, rgba(228, 113, 7, 0.08), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(226, 214, 190, 0.404);
  padding: 8px 18px;
  border-radius: 50px;
  
  /* Efeito de desfoque de vidro (Glassmorphism) */
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  
  /* Transição suave e sombras */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Efeito Interativo ao passar o mouse */
.tags-container span:hover {
  transform: translateY(-3px) scale(1.03);
  border-color: var(--accent, #ffd700); /* Usa sua cor de destaque ou amarelo */
  color: var(--accent, #ffd700);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  background: rgba(255, 255, 255, 0.12);
}

.tags-container span::before {
  content: "";
  display: inline-block;
  width: 8px;         /* Largura da bolinha */
  height: 8px;        /* Altura da bolinha */
  background-color: #ff7a00; /* Cor laranja vibrante */
  border-radius: 50%; /* Transforma o quadrado em círculo */
  gap: 80px;             /* Espaçamento entre a bolinha e o texto */
}