:root{
  --black:#1a120f;
  --ink:#241814;
  --muted:#735d53;
  --white:#ffffff;

  --offwhite:#fff6f1;
  --offwhite-2:#fffdfb;

  --line:rgba(146,85,58,.16);
  --shadow:0 18px 46px rgba(115,64,43,.12);

  --terracotta:#c96f49;
  --terracotta-2:#a24e33;
  --terracotta-3:#f3d7cb;

  --font-sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --font-serif:"Playfair Display",Georgia,"Times New Roman",serif;

  --container:1320px;
  --content-width:1240px;
  --radius:14px;
  --radius-lg:22px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink);
  background:
    radial-gradient(1000px 500px at 0% 0%, rgba(201,111,73,.18), transparent 60%),
    radial-gradient(900px 520px at 100% 8%, rgba(162,78,51,.13), transparent 58%),
    linear-gradient(180deg, var(--offwhite), var(--offwhite-2) 72%);
  min-height:100vh;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

.container-header{
  width:100%;
  margin-inline:0;
}

.container{
  width: min(var(--content-width), calc(100% - 48px)); /* define a largura do container como o menor valor entre:                                        1) --content-width (1240px no seu caso)
       2) 100% da tela menos 90px (45px de margem em cada lado) */
  margin-inline:auto; /* centraliza o container horizontalmente */
}

/* HEADER */

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:linear-gradient(180deg, #f7e5dc 0%, #f2ddd2 52%, #f8ebe5 100%);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(162,78,51,.18);
  box-shadow:0 10px 30px rgba(115,64,43,.10);
}

.site-header__topbar{
  width:100%;
  height:4px;
  background:linear-gradient(90deg, #f3d7cb 0%, #d88a67 24%, #b85a3a 56%, #f0d9d2 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 6px 18px rgba(162,78,51,.14);
}

.site-header__wrapper{
  width:min(calc(100% - 5%), var(--container));
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 0;
  position:relative;
}

.site-brand{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-width:320px;
  flex-shrink:0;
}

.site-brand__title{
  font-family:var(--font-serif);
  font-size:1.45rem;
  font-weight:700;
  line-height:1;
  color:var(--ink);
}

.site-brand__subtitle{
  font-size:.78rem;
  font-weight:500;
  line-height:1.4;
  color:var(--muted);
}

.site-nav--desktop{
  display:flex;
  align-items:center;
}

.site-nav__list{
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0;
}

.site-nav__list a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:500;
  color:var(--muted);
  transition:color .25s ease, background-color .25s ease, transform .25s ease;
}

.site-nav__list a::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--terracotta), var(--terracotta-2));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}

.site-nav__list a:hover{
  color:var(--ink);
  background:rgba(255,255,255,.55);
  transform:translateY(-1px);
}

.site-nav__list a:hover::after{
  transform:scaleX(1);
}

.site-header__actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.btn-header,
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:999px;
  font-family:var(--font-sans);
  font-size:.94rem;
  font-weight:600;
  white-space:nowrap;
  transition:transform .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
  cursor:pointer;
}

.btn-header--ghost,
.btn.ghost{
  background:rgba(255,255,255,.38);
  border-color:rgba(201,111,73,.18);
  color:var(--ink);
}

.btn-header--ghost:hover,
.btn.ghost:hover{
  background:rgba(255,255,255,.76);
  border-color:rgba(201,111,73,.26);
  transform:translateY(-1px);
}

.btn-header--primary,
.btn.primary{
  background:linear-gradient(135deg, var(--terracotta), var(--terracotta-2));
  border-color:transparent;
  color:var(--white);
  box-shadow:0 12px 28px rgba(162,78,51,.24);
}

.btn-header--primary:hover,
.btn.primary:hover{
  transform:translateY(-1px);
  filter:saturate(1.04) brightness(1.02);
  box-shadow:0 16px 34px rgba(162,78,51,.28);
}

/* MOBILE MENU */

.mobile-menu{
  display:none !important;
}

.mobile-menu__summary{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(201,111,73,.16);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  cursor:pointer;
  list-style:none;
}

.mobile-menu__summary::-webkit-details-marker{
  display:none;
}

.mobile-menu__summary::marker{
  content:"";
  display:none;
}

.mobile-menu__line{
  width:20px;
  height:2px;
  margin:0 auto;
  border-radius:999px;
  background:var(--ink);
}

.mobile-menu__panel{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(320px, calc(100vw - 32px));
  padding:18px;
  border:1px solid rgba(201,111,73,.14);
  border-radius:20px;
  background:rgba(255,253,251,.98);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 24px 44px rgba(115,64,43,.14);
}

.mobile-menu[open] .mobile-menu__panel{
  display:block;
}

.site-nav__list--mobile{
  flex-direction:column;
  align-items:stretch;
  gap:6px;
}

.site-nav__list--mobile a{
  justify-content:flex-start;
  padding:12px 14px;
  border-radius:14px;
}

.site-header__actions--mobile{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  margin-top:16px;
}

/* ========================================================= */
/* HERO                                                      */
/* Bloco principal da primeira dobra da página               */
/* ========================================================= */

.hero{
  padding:42px 0 28px; /* define o respiro vertical da seção principal */
  position:relative; /* cria referência para o pseudo-elemento de fundo */
  background:
    radial-gradient(1200px 700px at 18% 22%, rgba(168,71,40,.18), transparent 58%), /* cria brilho quente no lado esquerdo */
    radial-gradient(900px 500px at 82% 24%, rgba(122,46,27,.12), transparent 55%), /* cria brilho suave no lado direito */
    linear-gradient(180deg, #6a2415 0%, #8d3a24 44%, #9d4529 100%); /* define o fundo principal escuro do hero */
}

.hero::before{
  content:""; /* cria a película decorativa sobre o hero */
  position:absolute; /* posiciona a camada em relação à seção hero */
  inset:0; /* faz a película ocupar toda a área do hero */
  background:linear-gradient(90deg, rgba(34,10,6,.20) 0%, rgba(34,10,6,.05) 42%, rgba(255,255,255,0) 100%); /* adiciona profundidade lateral ao fundo */
  pointer-events:none; /* impede que a camada interfira em cliques */
}

.hero .container{
  position:relative; /* mantém o conteúdo acima do fundo decorativo */
  z-index:1; /* eleva o conteúdo acima do pseudo-elemento */
}

.hero-grid{
  display:grid; /* organiza o hero em duas colunas */
  grid-template-columns:1.15fr .85fr; /* define proporção entre texto à esquerda e caixa à direita */
  gap:40px; /* cria espaço entre as duas colunas */
  align-items:stretch; /* faz os blocos ocuparem a mesma altura visual */
}

.hero-left{
  padding:20px 0; /* adiciona respiro vertical no bloco de texto */
  padding-right:20px; /* cria respiro interno à direita */
  display:flex; /* organiza os elementos internos do lado esquerdo */
  flex-direction:column; /* empilha pill, título, texto e botões */
  justify-content:center; /* centraliza verticalmente o conteúdo dentro da coluna */
}

.pill{
  display:inline-flex; /* permite alinhamento horizontal interno */
  align-items:center; /* centraliza verticalmente o conteúdo do pill */
  gap:10px; /* define o espaço entre o ponto e o texto */
  padding:10px 14px; /* cria o espaço interno do pill */
  border-radius:999px; /* deixa o pill totalmente arredondado */
  font-size:14px; /* define tamanho do texto do pill */
  font-weight:600; /* reforça visualmente o pill */
}

.hero-top-pill{
  align-self:flex-start; /* impede que o pill ocupe largura total */
  margin-bottom:22px; /* cria espaço abaixo do pill */
  background:rgba(255,255,255,.08); /* aplica fundo translúcido */
  border:1px solid rgba(255,255,255,.14); /* cria borda sutil no pill */
  color:rgba(255,255,255,.95); /* deixa o texto claro sobre fundo escuro */
  box-shadow:0 10px 24px rgba(0,0,0,.12); /* adiciona leve profundidade */
}

.dot{
  width:8px; /* define largura do ponto decorativo */
  height:8px; /* define altura do ponto decorativo */
  border-radius:50%; /* transforma o ponto em círculo */
  background:var(--terracotta-3); /* aplica cor clara da identidade */
  flex:0 0 auto; /* impede que o ponto encolha */
}

.hero-main-title{
  margin:0 0 24px; /* remove margem superior e cria espaço abaixo */
  max-width:75ch; /* limita a largura do título para quebra elegante */
  font-family:var(--font-serif); /* aplica fonte serifada da identidade */
  font-size:clamp(24px, 5vw, 50px); /* torna o título responsivo */
  line-height:.98; /* deixa o título mais compacto e impactante */
  letter-spacing:-.6px; /* aproxima levemente as letras */
  color:#fff; /* aplica branco para contraste forte */
}

.hero-main-text{
  margin:0 0 26px; /* remove margem superior e cria espaço abaixo */
  max-width:74ch; /* limita a largura do texto para leitura agradável */
  font-size:18px; /* define tamanho do texto de apoio */
  line-height:1.72; /* melhora a legibilidade */
  color:rgba(255,255,255,.92); /* usa branco suavizado */
}

.hero-actions{
  display:flex; /* coloca os botões lado a lado */
  gap:14px; /* define o espaço entre os botões */
  flex-wrap:wrap; /* permite quebra em telas menores */
}

.hero-side{
  display:flex; /* organiza a caixa premium e a nota inferior */
  flex-direction:column; /* empilha os blocos da direita */
  gap:16px; /* define o espaço entre os blocos */
  justify-content:center; /* centraliza o conjunto verticalmente */
}

.hero-side-card{
  border-radius:26px; /* arredonda a caixa premium */
  overflow:hidden; /* impede que o fundo ultrapasse as bordas */
  border:1px solid rgba(255,255,255,.14); /* cria borda discreta */
  box-shadow:0 18px 40px rgba(0,0,0,.14); /* adiciona profundidade ao card */
}

/* FOTO COMO FUNDO APENAS DA CAIXA DA DIREITA */
.hero-side-card--photo{
  position:relative;
  min-height:460px;
  background:
    radial-gradient(600px 400px at 50% 0%, rgba(201,111,73,.08), transparent 70%),
    linear-gradient(180deg, #fff6f1 0%, #fffdfb 100%); /* MESMO GRADIENTE DOS CARDS */
  /* REMOVIDA A FOTO */
}

.hero-side-card__overlay{
  position:relative;
  z-index:2;
  min-height:460px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 26px;
  background:rgba(255,255,255,.92); /*  FUNDO BRANCO */
}

.hero-side-card__eyebrow{
  display:inline-block; /* mantém o rótulo em linha ajustada ao texto */
  margin-bottom:10px; /* cria espaço abaixo do rótulo */
  font-size:12px; /* define tamanho do rótulo */
  font-weight:700; /* reforça o destaque do rótulo */
  letter-spacing:.08em; /* espaça levemente as letras */
  color:#fff; /* mantém o rótulo claro */
  text-transform:uppercase; /* transforma o texto em caixa alta */
}

.hero-side-card h3{
  margin:0 0 14px; /* remove margem superior e cria espaço abaixo */
  max-width:25ch; /* limita a largura para quebra elegante */
  font-family:var(--font-serif); /* aplica a fonte serifada */
  font-size:clamp(34px, 2vw, 56px); /* define tamanho responsivo */
  line-height:1.02; /* deixa o título compacto */
  color:#241814; /* mantém alto contraste */
  text-shadow:0 2px 14px rgba(0,0,0,.14); /* cria leve reforço visual sobre a foto */
}

.hero-side-card p{
  margin:0 0 22px; /* remove margem superior e cria espaço abaixo */
  max-width:30ch; /* limita a largura do parágrafo */
  font-size:17px; /* define o tamanho do texto */
  line-height:1.65; /* melhora a leitura */
  color:#9d4529; /* aplica branco quase puro */
  text-shadow:0 2px 12px rgba(0,0,0,.10); /* reforça a legibilidade */
}

.hero-side-card__features{
  display:grid; /* organiza os diferenciais em colunas */
  grid-template-columns:repeat(3, 1fr); /* cria três colunas iguais */
  gap:14px; /* define o espaço entre os itens */
}

.hero-side-card__features div{
  position:relative; /* cria referência para as linhas */
  padding-top:14px; /* espaço entre a linha e o texto */
  overflow:hidden; /* corta o brilho fora da área */
}

/* linha base */
.hero-side-card__features div::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:2px;
  border-radius:999px;

  background:linear-gradient(
    90deg,
    rgba(162,78,51,.18),
    rgba(162,78,51,.35),
    rgba(162,78,51,.18)
  ); /* leve variação de cor na linha */
}

/* brilho em movimento */
.hero-side-card__features div::after{
  content:""; /* cria a camada de brilho em movimento */
  position:absolute; /* posiciona sobre a linha base */
  top:0; /* alinha exatamente na barra */
  left:-40%; /* começa fora da área visível */
  width:40%; /* largura da faixa de movimento */
  height:2px; /* mesma altura da linha */
  border-radius:999px; /* deixa a linha mais elegante */

  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(162,78,51,.15) 20%, /* terracota suave */
    rgba(201,111,73,1) 100%, /* pico do brilho (cor da marca) */
    rgba(162,78,51,.15) 80%, /* suaviza a saída */
    transparent 100%
  );

  filter:blur(.4px); /* remove aspecto “duro” da faixa */
  animation:heroLineShine 3s ease-in-out infinite; /* movimento mais fluido */
}

.hero-side-card__features div:nth-child(2)::after{
  animation-delay:.4s;
}

.hero-side-card__features div:nth-child(3)::after{
  animation-delay:.8s;
}

@keyframes heroLineShine{
  0%{
    left:-35%;
  }
  100%{
    left:100%;
  }
}


.hero-side-card__features strong{
  display:block; /* coloca o título do item em linha própria */
  margin-bottom:4px; /* cria espaço antes do subtítulo */
  font-size:18px; /* define tamanho do título do item */
  color:#241814; /*  texto preto */
}

.hero-side-card__features span{
  display:block; /* mantém subtítulo em linha própria */
  font-size:14px; /* define tamanho do subtítulo */
  color:#9d4529; /* usa branco suavizado */
}

.hero-side-note{
  display:flex; /* organiza o ponto e o texto em linha */
  align-items:center; /* centraliza verticalmente o conteúdo */
  gap:10px; /* define espaço entre ponto e frase */
  padding:18px 20px; /* cria respiro interno */
  border-radius:18px; /* arredonda a nota inferior */
  background:rgba(255,255,255,.08); /* aplica fundo translúcido */
  border:1px solid rgba(255,255,255,.12); /* cria borda sutil */
  color:rgba(255,255,255,.96); /* mantém o texto claro */
  font-size:15px; /* define tamanho da frase */
  line-height:1.6; /* melhora a leitura */
  box-shadow:0 14px 30px rgba(0,0,0,.10); /* adiciona leve profundidade */
}

main{
  min-height:1px; /* mantém o elemento main estruturalmente ativo */
}

:focus-visible{
  outline:3px solid rgba(201,111,73,.26); /* cria foco visível para acessibilidade */
  outline-offset:3px; /* afasta o contorno do elemento */
  border-radius:12px; /* arredonda o foco */
}

/* RESPONSIVO */

@media (max-width:1100px){
  .site-nav__list{
    gap:4px; /* reduz espaço entre links em telas menores */
  }

  .site-header__actions--desktop{
    gap:10px; /* reduz espaço entre botões do header */
  }

  .btn-header--ghost{
    display:none; /* esconde o botão secundário em larguras intermediárias */
  }

  .hero-grid{
    grid-template-columns:1fr; /* empilha o hero em uma coluna */
    gap:22px; /* define o espaço entre os blocos empilhados */
  }

  .hero-main-title{
    max-width:14ch; /* amplia um pouco a largura do título em telas médias */
  }

  .hero-main-text{
    max-width:46ch; /* amplia a largura do texto em telas médias */
  }

  .hero-side-card--photo,
  .hero-side-card__overlay{
    min-height:420px; /* reduz um pouco a altura da caixa premium */
  }
}

@media (min-width:961px){
  .site-nav--desktop{
    display:flex !important; /* mantém o menu desktop ativo acima de 960px */
  }

  .site-header__actions--desktop{
    display:flex !important; /* mantém os botões desktop ativos acima de 960px */
  }

  .mobile-menu{
    display:none !important; /* esconde o menu mobile acima de 960px */
  }
}

@media (max-width:960px){
  .site-header__wrapper{
    padding:15px 18px; /* compacta o header no tablet */
  }

  .site-brand{
    max-width:220px; /* reduz a largura da marca */
  }

  .site-brand__title{
    font-size:1.2rem; /* reduz o título da marca */
  }

  .site-brand__subtitle{
    font-size:.72rem; /* reduz o subtítulo da marca */
  }

  .site-nav--desktop{
    display:none !important; /* esconde a navegação desktop */
  }

  .site-header__actions--desktop{
    display:none !important; /* esconde os botões desktop */
  }

  .mobile-menu{
    display:block !important; /* mostra o menu mobile */
    position:relative; /* cria referência para o painel dropdown */
  }
}

@media (max-width:720px){
  .hero{
    padding:28px 0 22px; /* reduz o respiro vertical do hero no mobile */
  }

  .hero-main-title{
    max-width:none; /* libera a largura total do título */
    font-size:clamp(34px, 9vw, 54px); /* ajusta tamanho do título no mobile */
  }

  .hero-main-text{
    max-width:none; /* libera largura total do texto */
    font-size:16px; /* reduz levemente o corpo do texto */
    line-height:1.65; /* ajusta o espaçamento entre linhas */
  }

  .hero-actions{
    flex-direction:column; /* empilha os botões */
    align-items:stretch; /* faz os botões ocuparem toda a largura */
  }

  .hero-side-card--photo,
  .hero-side-card__overlay{
    min-height:470px; /* reduz a altura da caixa premium no celular */
  }

  .hero-side-card__overlay{
    padding:22px 20px; /* reduz o espaçamento interno no mobile */
  }

  .hero-side-card h3{
    max-width:none; /* libera a largura total do título da caixa premium */
    font-size:clamp(28px, 7vw, 42px); /* ajusta o tamanho do título da caixa */
  }

  .hero-side-card p{
    max-width:none; /* libera a largura total do parágrafo da caixa */
    font-size:15px; /* reduz levemente o texto */
  }

  .hero-side-card__features{
    grid-template-columns:1fr; /* empilha os diferenciais */
  }
}

@media (max-width:640px){
  .site-header__wrapper{
    gap:14px; /* reduz o espaço interno do header */
    padding:14px 14px; /* compacta o header no celular pequeno */
  }

  .site-brand{
    max-width:190px; /* reduz ainda mais a largura da marca */
  }

  .site-brand__title{
    font-size:1.08rem; /* ajusta o nome da marca */
  }

  .site-brand__subtitle{
    font-size:.68rem; /* ajusta o subtítulo da marca */
  }

  .mobile-menu__panel{
    width:min(300px, calc(100vw - 24px)); /* limita a largura do painel mobile */
    padding:16px; /* reduz o espaçamento interno do painel */
    border-radius:18px; /* suaviza o raio do painel */
  }

  .btn-header{
    min-height:44px; /* reduz a altura dos botões do header */
    padding:0 16px; /* reduz o espaçamento lateral */
    font-size:.92rem; /* reduz o tamanho do texto dos botões */
  }
}

/* ========================================================= */
/* PRÓXIMA FAIXA BRANCA                                      */
/* Acrescentada após o hero, sem alterar a base atual        */
/* ========================================================= */

.section-white{
  position:relative; /* cria contexto para detalhes visuais futuros */
  padding:72px 0; /* cria respiro vertical generoso */
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, #fffdfa 100%); /* cria faixa clara com leve sofisticação */
}

.section-white__header{
  width:100%; /* faz o bloco ocupar toda a largura disponível */
  max-width:none; /* remove qualquer limitação anterior */
  }

.section-white__eyebrow{
  display:inline-flex; /* mantém o rótulo em largura ajustada */
  align-items:center; /* centraliza verticalmente o texto */
  padding:8px 14px; /* cria respiro interno */
  border-radius:999px; /* deixa o rótulo arredondado */
  background:rgba(201,111,73,.08); /* aplica terracota suave */
  border:1px solid rgba(201,111,73,.14); /* cria borda sutil */
  color:var(--terracotta-2); /* reforça a identidade visual */
  font-size:12px; /* define tamanho refinado do rótulo */
  font-weight:700; /* dá destaque ao rótulo */
  letter-spacing:.08em; /* aumenta o refinamento visual */
  text-transform:uppercase; /* deixa o rótulo em caixa alta */
  margin-bottom:18px; /* cria espaço antes do título */
}

.section-white__title{
  margin:0 0 18px; /* remove margem superior e cria espaço abaixo */
  width:100%; /* força o título a usar toda a largura do bloco */
  max-width:none; /* remove trava de largura */  
  font-family:var(--font-serif); /* mantém a fonte nobre da marca */
  font-size:clamp(34px, 4vw, 56px); /* define um título responsivo */
  line-height:1.05; /* deixa a composição elegante */
  letter-spacing:-.03em; /* aproxima levemente as letras */
  color:var(--ink); /* usa a cor principal escura */
}

.section-white__text{
  margin:0; /* remove margem padrão */
  width:100%; /* faz o texto ocupar toda a largura disponível */
  max-width:none; /* limita o parágrafo sem limitar o título */
  font-size:17px; /* define tamanho confortável para leitura */
  line-height:1.8; /* aumenta a legibilidade */
  color:var(--muted); /* aplica tom secundário refinado */
}

.section-white .container{
  width:min(1280px, calc(100% - 48px)); /* aumenta a largura útil da faixa */
  margin-inline:auto; /* mantém centralizado */
}

/* ========================================================= */
/* SEÇÃO DIFERENCIAIS                                        */
/* Texto centralizado sobre fundo escuro                     */
/* ========================================================= */

.section-diferenciais{
  position:relative;
  padding:80px 0;
  background:
    radial-gradient(1200px 700px at 18% 22%, rgba(168,71,40,.18), transparent 58%),
    radial-gradient(900px 500px at 82% 24%, rgba(122,46,27,.12), transparent 55%),
    linear-gradient(180deg, #6a2415 0%, #8d3a24 44%, #9d4529 100%);
}

.section-diferenciais::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(34,10,6,.20) 0%, rgba(34,10,6,.05) 42%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.section-diferenciais .container{
  position:relative;
  z-index:1;
  width:min(1280px, calc(100% - 48px)); /* IGUAL À SEÇÃO BRANCA */
  margin-inline:auto;
}

.section-diferenciais__content{
  max-width:none; /* REMOVE LIMITAÇÃO */
  width:100%; /* OCUPA TODA A LARGURA */
  margin-inline:auto;
  text-align:left;
}

.section-eyebrow--light{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.95);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.section-diferenciais__title{
  margin:0 0 24px;
  width:100%; /* OCUPA TODA A LARGURA */
  max-width:none; /* REMOVE LIMITAÇÃO */
  font-family:var(--font-serif);
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.05;
  letter-spacing:-.03em;
  color:var(--white);
}

.section-diferenciais__text{
  margin:0 0 24px;
  width:100%; /* OCUPA TODA A LARGURA */
  max-width:none; /* REMOVE LIMITAÇÃO */
  font-size:17px;
  line-height:1.8;
  color:rgba(255,255,255,.90);
  text-align:left;
}

.section-diferenciais__text:last-child{
  margin-bottom:0;
}

.section-diferenciais__text strong{
  color:var(--white);
  font-weight:700;
}

/* Remove os cards antigos */
.diferenciais-grid{
  display:none;
}

/* ========================================================= */
/* SEÇÃO MENTORIA                                            */
/* Apresentação dos programas com hero e cards               */
/* ========================================================= */

.section-mentoria{
  position:relative;
  padding:80px 0;
  background:
    radial-gradient(1000px 650px at 15% 20%, rgba(122,46,27,.14), transparent 60%),
    radial-gradient(900px 550px at 88% 18%, rgba(168,71,40,.10), transparent 58%),
    linear-gradient(180deg, #6a2415 0%, #8d3a24 48%, #9d4529 100%);
}

.section-mentoria::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(34,10,6,.18) 0%, rgba(34,10,6,.04) 45%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.section-mentoria .container{
  position:relative;
  z-index:1;
}

.mentoria-hero{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:48px;
  align-items:center;
  margin-bottom:64px;
  padding:48px 42px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.mentoria-hero__content{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.mentoria-hero__title{
  margin:0;
  max-width:18ch;
  font-family:var(--font-serif);
  font-size:clamp(32px, 4vw, 48px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--white);
}

.mentoria-hero__text{
  margin:0;
  max-width:48ch;
  font-size:17px;
  line-height:1.7;
  color:rgba(255,255,255,.88);
}

.mentoria-hero__image{
  min-height:280px;
  border-radius:var(--radius);
  background:
    linear-gradient(135deg, rgba(201,111,73,.18), rgba(162,78,51,.12)),
    url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><rect fill="%23f3d7cb" width="100" height="100" opacity=".1"/></svg>');
  background-size:cover;
  background-position:center;
}

.programas-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:32px;
}

.programa-card{
  padding:36px 32px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.95);
  border:1px solid rgba(201,111,73,.14);
  box-shadow:0 18px 38px rgba(0,0,0,.12);
  transition:transform .3s ease, box-shadow .3s ease;
}

.programa-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(0,0,0,.16);
}

.programa-card__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}

.programa-card__header h3{
  margin:0;
  font-family:var(--font-serif);
  font-size:28px;
  line-height:1.2;
  color:var(--ink);
}

.programa-card__tag{
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--terracotta), var(--terracotta-2));
  color:var(--white);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.programa-card__desc{
  margin:0 0 24px;
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
}

.programa-card__features{
  list-style:none;
  padding:0;
  margin:0 0 28px;
}

.programa-card__features li{
  position:relative;
  padding:12px 0 12px 32px;
  font-size:15px;
  line-height:1.5;
  color:var(--ink);
  border-bottom:1px solid rgba(201,111,73,.08);
}

.programa-card__features li:last-child{
  border-bottom:none;
}

.programa-card__features li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:12px;
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(201,111,73,.12);
  color:var(--terracotta-2);
  font-size:12px;
  font-weight:700;
}

.programa-card .btn{
  width:100%;
}

/* ========================================================= */
/* SEÇÃO SERVIÇOS - CARROSSEL INFINITO                       */
/* ========================================================= */

.section-servicos{
  position:relative;
  padding:80px 0;
  background:#ffffff;
}

.section-servicos .container{
  width:min(1280px, calc(100% - 48px));
  margin-inline:auto;
}

.section-servicos__header{
  width:100%;
  max-width:none;
  text-align:left; /* ALINHADO À ESQUERDA */
  margin-bottom:48px;
}

.section-servicos__header .section-eyebrow{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(201,111,73,.08);
  border:1px solid rgba(201,111,73,.14);
  color:var(--terracotta-2);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.section-servicos__header .section-title{
  margin:0;
  width:100%;
  max-width:none;
  font-family:var(--font-serif);
  font-size:clamp(34px, 4vw, 56px);
  line-height:1.05;
  letter-spacing:-.03em;
  color:var(--ink);
  text-align:left;
}

.servicos-carousel-container{
  position:relative;
  overflow:hidden;
  padding:0 60px;
}

.servicos-carousel{
  display:flex;
  gap:20px;
  transition:transform 0.5s ease;
}

.servico-card-wrapper{
  min-width:280px;
  max-width:280px;
  flex-shrink:0;
}

.servico-card{
  padding:24px 20px;
  border-radius:var(--radius-lg);
  background:
    radial-gradient(600px 400px at 50% 0%, rgba(201,111,73,.08), transparent 70%),
    linear-gradient(180deg, #fff6f1 0%, #fffdfb 100%);
  border:1px solid rgba(201,111,73,.14);
  box-shadow:0 14px 32px rgba(115,64,43,.08);
  transition:transform .3s ease, box-shadow .3s ease;
  min-height:420px; /* ALTURA MÍNIMA FIXA */
  display:flex;
  flex-direction:column;
}

.servico-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 42px rgba(115,64,43,.14);
}

.servico-card__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:12px;
  gap:8px;
  flex-wrap:wrap;
}

.servico-card__header h3{
  margin:0;
  font-family:var(--font-serif);
  font-size:20px;
  line-height:1.2;
  color:var(--ink);
  flex:1;
}

.servico-card__tag{
  padding:4px 10px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--terracotta), var(--terracotta-2));
  color:var(--white);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}

.servico-card__desc{
  margin:0 0 16px;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
}

.servico-card__features{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  flex:1;
}

.servico-card__features li{
  position:relative;
  padding:8px 0 8px 26px;
  font-size:13px;
  line-height:1.4;
  color:var(--ink);
  border-bottom:1px solid rgba(201,111,73,.08);
}

.servico-card__features li:last-child{
  border-bottom:none;
}

.servico-card__features li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:8px;
  width:18px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(201,111,73,.12);
  color:var(--terracotta-2);
  font-size:11px;
  font-weight:700;
}

.servico-card .btn{
  width:100%;
  min-height:44px; /* ALTURA FIXA */
  max-height:44px;
  font-size:14px;
  margin-top:auto; /* EMPURRA PARA BAIXO */
}

.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:10;
  width:44px;
  height:44px;
  border:1px solid rgba(201,111,73,.2);
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--terracotta);
  font-size:28px;
  font-weight:300;
  cursor:pointer;
  transition:all .3s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.carousel-btn:hover{
  background:var(--terracotta);
  color:var(--white);
  transform:translateY(-50%) scale(1.1);
}

.carousel-btn--prev{
  left:0;
}

.carousel-btn--next{
  right:0;
}

.carousel-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:28px;
}

.carousel-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(201,111,73,.2);
  border:none;
  cursor:pointer;
  transition:all .3s ease;
  padding:0;
}

.carousel-dot.active{
  background:var(--terracotta);
  width:28px;
  border-radius:5px;
}

@media (max-width:768px){
  .servicos-carousel-container{
    padding:0 50px;
  }
  
  .servico-card-wrapper{
    min-width:240px;
    max-width:240px;
  }
  
  .carousel-btn{
    width:40px;
    height:40px;
    font-size:24px;
  }
}

/* ========================================================= */
/* SEÇÃO FAQ                                                 */
/* Accordion de perguntas frequentes                         */
/* ========================================================= */

.section-faq{
  position:relative;
  padding:80px 0;
  background:
    radial-gradient(1200px 700px at 18% 22%, rgba(168,71,40,.18), transparent 58%),
    radial-gradient(900px 500px at 82% 24%, rgba(122,46,27,.12), transparent 55%),
    linear-gradient(180deg, #6a2415 0%, #8d3a24 44%, #9d4529 100%);
}

.section-faq::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(34,10,6,.20) 0%, rgba(34,10,6,.05) 42%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.section-faq .container{
  position:relative;
  z-index:1;
  width:min(1280px, calc(100% - 48px));
  margin-inline:auto;
}

.section-faq__header{
  width:100%;
  max-width:none; /* REMOVE LIMITAÇÃO */
  margin-inline:0; /* REMOVE CENTRALIZAÇÃO */
  text-align:left;
  margin-bottom:56px;
}

.section-faq__header .section-eyebrow{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.95);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.section-faq__header .section-title{
  margin:0 0 18px;
  font-family:var(--font-serif);
  font-size:clamp(34px, 4vw, 52px);
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--white);
  text-align:left;
}
.section-faq__subtitle{
  margin:0;
  font-size:17px;
  line-height:1.7;
  color:rgba(255,255,255,.88);
  text-align:left;
}

.faq-list{
  max-width:900px;
  margin-inline:auto;
}

.faq-item{
  margin-bottom:16px;
  border-radius:var(--radius);
  background:rgba(255,255,255,.95);
  border:1px solid rgba(201,111,73,.14);
  overflow:hidden;
  transition:box-shadow .3s ease;
}

.faq-item:hover{
  box-shadow:0 8px 20px rgba(115,64,43,.16);
}

.faq-item__question{
  padding:22px 24px;
  font-size:17px;
  font-weight:600;
  line-height:1.5;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  transition:color .3s ease;
}

.faq-item__question::-webkit-details-marker{
  display:none;
}

.faq-item__question::marker{
  content:"";
  display:none;
}

.faq-item__question::after{
  content:"+";
  font-size:28px;
  font-weight:400;
  color:var(--terracotta);
  transition:transform .3s ease;
  flex-shrink:0;
}

.faq-item[open] .faq-item__question::after{
  content:"−";
  transform:rotate(180deg);
}

.faq-item[open] .faq-item__question{
  color:var(--terracotta-2);
}

.faq-item__answer{
  padding:0 24px 24px;
  animation:fadeIn .3s ease;
}

.faq-item__answer p{
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:var(--muted);
}

@keyframes fadeIn{
  from{
    opacity:0;
    transform:translateY(-8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media (max-width:720px){
  .section-faq{
    padding:64px 0;
  }
  .section-faq__header{
    margin-bottom:42px;
  }
  .faq-item__question{
    padding:18px 20px;
    font-size:16px;
  }
  .faq-item__answer{
    padding:0 20px 20px;
  }
}

@media (max-width:640px){
  .faq-item__question{
    padding:16px 18px;
    font-size:15px;
  }
  .faq-item__answer{
    padding:0 18px 18px;
  }
}

/* ========================================================= */
/* SEÇÃO CTA DUO (Palestras + Suporte)                      */
/* Dois cards lado a lado com call-to-action                 */
/* ========================================================= */

.section-cta-duo{
  position:relative;
  padding:80px 0;
  background:
    radial-gradient(1000px 600px at 50% 30%, rgba(201,111,73,.10), transparent 65%),
    linear-gradient(180deg, var(--offwhite), var(--offwhite-2));
}

.cta-duo-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:28px;
}

.cta-card{
  padding:48px 38px;
  border-radius:var(--radius-lg);
  text-align:center;
  transition:transform .3s ease, box-shadow .3s ease;
}

.cta-card:hover{
  transform:translateY(-4px);
}

.cta-card--light{
  background:rgba(255,255,255,.85);
  border:1px solid rgba(201,111,73,.14);
  box-shadow:0 14px 32px rgba(115,64,43,.08);
}

.cta-card--light:hover{
  box-shadow:0 20px 42px rgba(115,64,43,.12);
}

.cta-card--dark{
  background:linear-gradient(135deg, #6a2415, #8d3a24);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 32px rgba(0,0,0,.16);
}

.cta-card--dark:hover{
  box-shadow:0 20px 42px rgba(0,0,0,.22);
}

.cta-card h3{
  margin:0 0 16px;
  font-family:var(--font-serif);
  font-size:32px;
  line-height:1.2;
}

.cta-card--light h3{
  color:var(--ink);
}

.cta-card--dark h3{
  color:var(--white);
}

.cta-card p{
  margin:0 0 28px;
  font-size:16px;
  line-height:1.7;
}

.cta-card--light p{
  color:var(--muted);
}

.cta-card--dark p{
  color:rgba(255,255,255,.88);
}

.btn--dark{
  background:linear-gradient(135deg, var(--terracotta), var(--terracotta-2));
  border-color:transparent;
  color:var(--white);
  box-shadow:0 12px 28px rgba(162,78,51,.24);
}

.btn--dark:hover{
  filter:saturate(1.04) brightness(1.02);
  box-shadow:0 16px 34px rgba(162,78,51,.28);
}

.btn--light{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.22);
  color:var(--ink);
  box-shadow:0 8px 20px rgba(255,255,255,.12);
}

.btn--light:hover{
  background:var(--white);
  box-shadow:0 12px 26px rgba(255,255,255,.18);
}

/* ========================================================= */
/* FOOTER                                                    */
/* Rodapé com informações de contato e navegação             */
/* ========================================================= */

.site-footer{
  position:relative;
  padding:64px 0 32px;
  background:
    linear-gradient(180deg, #1a120f 0%, #0f0908 100%);
  border-top:1px solid rgba(201,111,73,.14);
}

.site-footer__main{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:48px;
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:32px;
}

.site-footer__brand .site-brand__title{
  color:var(--white);
  font-size:1.6rem;
  margin-bottom:8px;
}

.site-footer__brand .site-brand__subtitle{
  color:rgba(255,255,255,.68);
  margin-bottom:18px;
  display:block;
}

.site-footer__tagline{
  margin:0;
  max-width:36ch;
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.62);
}

.site-footer__nav h4,
.site-footer__contact h4{
  margin:0 0 20px;
  font-family:var(--font-serif);
  font-size:18px;
  color:var(--white);
}

.site-footer__nav ul{
  list-style:none;
  padding:0;
  margin:0;
}

.site-footer__nav li{
  margin-bottom:12px;
}

.site-footer__nav a{
  font-size:15px;
  color:rgba(255,255,255,.72);
  transition:color .25s ease;
}

.site-footer__nav a:hover{
  color:var(--terracotta-3);
}

.site-footer__contact p{
  margin:0 0 10px;
  font-size:15px;
  color:rgba(255,255,255,.72);
}

.site-footer__social{
  display:flex;
  gap:14px;
  margin-top:20px;
}

.site-footer__social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.78);
  transition:all .25s ease;
}

.site-footer__social a:hover{
  background:rgba(255,255,255,.14);
  color:var(--terracotta-3);
  transform:translateY(-2px);
}

.site-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.site-footer__bottom p{
  margin:0;
  font-size:14px;
  color:rgba(255,255,255,.52);
}

/* ========================================================= */
/* RESPONSIVO - NOVAS SEÇÕES                                 */
/* ========================================================= */

@media (max-width:1100px){
  .diferenciais-grid{
    gap:24px;
  }
  
  .programas-grid{
    gap:28px;
  }
  
  .servicos-grid{
    gap:24px;
  }
}

@media (max-width:960px){
  .section-diferenciais,
  .section-mentoria,
  .section-servicos,
  .section-faq,
  .section-cta-duo{
    padding:64px 0;
  }
  
  .diferenciais-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  
  .mentoria-hero{
    grid-template-columns:1fr;
    gap:32px;
    padding:36px 28px;
  }
  
  .mentoria-hero__image{
    min-height:240px;
  }
  
  .programas-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  
  .servicos-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  
  .cta-duo-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  
  .site-footer__main{
    grid-template-columns:1fr;
    gap:36px;
  }
  
  .site-footer__bottom{
    flex-direction:column;
    text-align:center;
  }
}

@media (max-width:720px){
  .section-diferenciais,
  .section-mentoria,
  .section-servicos,
  .section-faq,
  .section-cta-duo{
    padding:52px 0;
  }
  
  .section-diferenciais__header,
  .section-servicos__header,
  .section-faq__header{
    margin-bottom:42px;
  }
  
  .section-title{
    max-width:none;
    font-size:clamp(28px, 7vw, 44px);
  }
  
  .diferencial-card{
    padding:28px 22px;
  }
  
  .diferencial-card__number{
    width:48px;
    height:48px;
    font-size:18px;
  }
  
  .mentoria-hero{
    margin-bottom:48px;
    padding:28px 22px;
  }
  
  .mentoria-hero__title{
    max-width:none;
    font-size:clamp(28px, 7vw, 42px);
  }
  
  .programa-card{
    padding:28px 24px;
  }
  
  .servico-card__image{
    height:220px;
  }
  
  .servico-card__content{
    padding:22px 20px;
  }
  
  .faq-item__question{
    padding:18px 20px;
    font-size:16px;
  }
  
  .faq-item__answer{
    padding:0 20px 20px;
  }
  
  .cta-card{
    padding:36px 28px;
  }
  
  .site-footer{
    padding:48px 0 28px;
  }
  
  .site-footer__main{
    padding-bottom:36px;
    margin-bottom:24px;
  }
}

@media (max-width:640px){
  .section-eyebrow{
    font-size:11px;
    padding:7px 12px;
  }
  
  .diferencial-card h3{
    font-size:23px;
  }
  
  .programa-card__header{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  
  .faq-item__question{
    padding:16px 18px;
    font-size:15px;
  }
  
  .faq-item__answer{
    padding:0 18px 18px;
  }
  
  .cta-card h3{
    font-size:28px;
  }
}

/* ========================================================= */
/* MODAL MULTI-ETAPA - ESTILOS COMPLETOS                     */
/* ========================================================= */

/* Container do modal */
.lead-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.lead-modal.is-open {
  display: flex;
}

/* Overlay escuro */
.lead-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(26, 18, 15, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
}

/* Container do conteúdo */
.lead-modal__container {
  position: relative;
  width: 100%;
  max-width: 680px;
  max-height: 90vh;
  overflow-y: auto;
  background: linear-gradient(180deg, #fffdfb 0%, #fff6f1 100%);
  border-radius: 24px;
  border: 1px solid rgba(201, 111, 73, 0.14);
  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.24);
  z-index: 10000;
}

/* Botão fechar */
.lead-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(201, 111, 73, 0.16);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.82);
  color: var(--muted);
  cursor: pointer;
  transition: all 0.25s ease;
}

.lead-modal__close:hover {
  background: var(--white);
  border-color: rgba(201, 111, 73, 0.24);
  color: var(--ink);
  transform: rotate(90deg);
}

/* Conteúdo interno */
.lead-modal__content {
  padding: 48px 42px;
}

/* ========================================= */
/* BARRA DE PROGRESSO                        */
/* ========================================= */

.lead-progress {
  margin-bottom: 32px;
}

.lead-progress__bar {
  width: 100%;
  height: 8px;
  background: rgba(201, 111, 73, 0.1);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 12px;
}

.lead-progress__fill {
  height: 100%;
  background: linear-gradient(90deg, #c96f49, #a24e33);
  border-radius: 999px;
  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.lead-progress__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}

.lead-progress__label {
  color: #666;
  font-weight: 500;
}

.lead-progress__percent {
  color: #c96f49;
  font-weight: 700;
}

/* ========================================= */
/* ETAPAS DO FORMULÁRIO                      */
/* ========================================= */

.lead-step {
  animation: fadeInUp 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lead-step__title {
  margin: 0 0 12px;
  font-family: var(--font-serif);
  font-size: clamp(24px, 4vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.lead-step__subtitle {
  margin: 0 0 32px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--muted);
}

/* ========================================= */
/* CAMPOS DE ENTRADA                         */
/* ========================================= */

.field {
  margin-bottom: 22px;
}

.field label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}

.field input,
.field textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(201, 111, 73, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--ink);
  transition: all 0.25s ease;
}

.field input:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--terracotta);
  background: var(--white);
  box-shadow: 0 0 0 4px rgba(201, 111, 73, 0.08);
}

.field input::placeholder,
.field textarea::placeholder {
  color: var(--muted);
  opacity: 0.6;
}

.field input.input-error,
.field textarea.input-error {
  border-color: #e74c3c;
  background: rgba(231, 76, 60, 0.03);
}

.field-error {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #e74c3c;
  font-weight: 500;
}

.field textarea {
  resize: vertical;
  min-height: 100px;
}

/* ========================================= */
/* CARDS DE ESCOLHA                          */
/* ========================================= */

.choice-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.choice-group--grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.choice-card {
  position: relative;
  display: flex;
  align-items: center;
  padding: 20px 18px;
  border: 2px solid rgba(201, 111, 73, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: all 0.25s ease;
}

.choice-card:hover {
  border-color: rgba(201, 111, 73, 0.3);
  background: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(201, 111, 73, 0.1);
}

.choice-card.is-selected {
  border-color: var(--terracotta);
  background: rgba(201, 111, 73, 0.06);
  box-shadow: 0 8px 20px rgba(201, 111, 73, 0.15);
}

.choice-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.choice-card__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.choice-card__icon {
  font-size: 32px;
  margin-bottom: 8px;
}

.choice-card__content strong {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
}

.choice-card__content span {
  display: block;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.4;
}

.choice-card__check {
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--terracotta), var(--terracotta-2));
  color: var(--white);
  font-size: 16px;
  font-weight: bold;
  flex-shrink: 0;
}

.choice-card.is-selected .choice-card__check {
  display: flex;
  animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes scaleIn {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}

.choice-card--small {
  padding: 16px 14px;
}

.choice-card--small .choice-card__content strong {
  font-size: 14px;
}

.choice-card--small .choice-card__check {
  width: 24px;
  height: 24px;
  font-size: 14px;
}

/* ========================================= */
/* INFORMAÇÃO DE INVESTIMENTO                */
/* ========================================= */

.budget-info {
  padding: 24px;
  margin-bottom: 32px;
  border-radius: 14px;
  background: rgba(201, 111, 73, 0.05);
  border: 1px solid rgba(201, 111, 73, 0.12);
}

.budget-info__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  gap: 12px;
}

.budget-info__label {
  font-size: 14px;
  font-weight: 500;
  color: var(--muted);
}

.budget-info__range {
  font-size: 18px;
  font-weight: 700;
  color: var(--terracotta);
}

.budget-info__description {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--muted);
}

/* ========================================= */
/* TELA DE RESULTADO                         */
/* ========================================= */

.result {
  text-align: center;
  padding: 20px;
  animation: fadeIn 0.4s ease;
}

.result__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin: 0 auto 24px;
  border-radius: 50%;
  animation: scaleIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.result__icon--success {
  background: linear-gradient(135deg, #27ae60, #229954);
  color: var(--white);
}

.result__icon--info {
  background: linear-gradient(135deg, #3498db, #2980b9);
  color: var(--white);
}

.result__title {
  margin: 0 0 14px;
  font-family: var(--font-serif);
  font-size: clamp(24px, 4vw, 30px);
  line-height: 1.2;
  color: var(--ink);
}

.result__text {
  margin: 0 0 28px;
  max-width: 42ch;
  margin-inline: auto;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

.result__summary {
  padding: 24px;
  margin-bottom: 28px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(201, 111, 73, 0.1);
  text-align: left;
  font-size: 15px;
  line-height: 1.9;
}

.result__summary div {
  margin-bottom: 10px;
}

.result__summary div:last-child {
  margin-bottom: 0;
}

.result__summary strong {
  color: var(--ink);
  font-weight: 600;
  margin-right: 8px;
}

/* ========================================= */
/* BOTÕES DE AÇÃO                            */
/* ========================================= */

.lead-form__actions {
  display: flex;
  gap: 12px;
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid rgba(201, 111, 73, 0.1);
}

.btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: none;
  border-radius: 12px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
}

.btn--primary {
  background: linear-gradient(135deg, var(--terracotta), var(--terracotta-2));
  color: var(--white);
  box-shadow: 0 12px 28px rgba(162, 78, 51, 0.24);
}

.btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(162, 78, 51, 0.28);
  filter: saturate(1.04) brightness(1.02);
}

.btn--ghost {
  background: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(201, 111, 73, 0.14);
  color: var(--ink);
}

.btn--ghost:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(201, 111, 73, 0.22);
  transform: translateY(-1px);
}

.btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none !important;
}

/* ========================================= */
/* RESPONSIVO                                */
/* ========================================= */

@media (max-width: 720px) {
  .lead-modal__content {
    padding: 36px 24px;
  }
.lead-modal__close {
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
  }
.choice-group--grid {
    grid-template-columns: 1fr;
  }
.lead-form__actions {
    flex-direction: column;
  }
.budget-info__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
.result__icon {
    width: 72px;
    height: 72px;
  }
}

@media (max-width: 640px) {
  .lead-modal {
    padding: 0;
    align-items: flex-end;
  }
.lead-modal__container {
    max-width: 100%;
    max-height: 95vh;
    border-radius: 24px 24px 0 0;
  }
.lead-modal__content {
    padding: 32px 20px;
  }
.lead-step__title {
    font-size: 24px;
  }
.choice-card {
    padding: 16px 14px;
  }
.budget-info {
    padding: 20px;
  }
}

/* Bloqueia scroll do body quando modal está aberto */
body.modal-open {
  overflow: hidden;
}

/* ========================================================= */
/* CORREÇÃO DO MENU MOBILE                                   */
/* ========================================================= */

/* Esconde o botão hambúrguer no desktop */
.mobile-menu-toggle {
  display: none;
}

/* Mostra navegação e botões no desktop */
@media (min-width: 961px) {
  .site-nav--desktop {
    display: flex !important;
  }
  
  .site-header__actions--desktop {
    display: flex !important;
  }
  
  .mobile-menu-toggle {
    display: none !important;
  }
}

/* Mobile: esconde desktop e mostra hambúrguer */
@media (max-width: 960px) {
  .site-nav--desktop {
    display: none !important;
  }
  
  .site-header__actions--desktop {
    display: none !important;
  }
  
  .mobile-menu-toggle {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(201, 111, 73, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.72);
    cursor: pointer;
    transition: all 0.25s ease;
  }
  
  .mobile-menu-toggle:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(201, 111, 73, 0.3);
  }
  
  .mobile-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--ink);
    border-radius: 2px;
    transition: all 0.3s ease;
  }
  
  /* Animação do hambúrguer quando ativo */
  .mobile-menu-toggle.is-active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  
  .mobile-menu-toggle.is-active span:nth-child(2) {
    opacity: 0;
  }
  
  .mobile-menu-toggle.is-active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
}

/* Painel mobile */
.mobile-menu-panel {
  position: fixed;
  top: 80px;
  right: -100%;
  width: min(320px, 90vw);
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  padding: 24px;
  background: rgba(255, 253, 251, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(201, 111, 73, 0.14);
  border-radius: 20px;
  box-shadow: 0 24px 44px rgba(115, 64, 43, 0.14);
  z-index: 9999;
  transition: right 0.3s ease;
}

.mobile-menu-panel.is-open {
  right: 20px;
}

.mobile-menu-panel .site-nav__list {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.mobile-menu-panel .site-nav__list a {
  justify-content: flex-start;
  padding: 14px 16px;
  border-radius: 12px;
}

.mobile-menu-panel .site-header__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(201, 111, 73, 0.1);
}

/* ========================================================= */
/* BOTÃO FLUTUANTE E CHAT WHATSAPP                           */
/* ========================================================= */

.whatsapp-float{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:1001;
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:50%;
  border:none;
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:var(--white);
  box-shadow:0 8px 24px rgba(37,211,102,.35);
  transition:all .3s ease;
  cursor:pointer;
}

.whatsapp-float:hover{
  transform:translateY(-4px) scale(1.08);
  box-shadow:0 12px 32px rgba(37,211,102,.45);
}

.whatsapp-float.is-open{
  transform:scale(0);
  opacity:0;
  pointer-events:none;
}

.whatsapp-chat{
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:1000;
  width:min(380px, calc(100vw - 40px));
  max-height:600px;
  display:flex;
  flex-direction:column;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 48px rgba(0,0,0,.25);
  transform:scale(0) translateY(20px);
  transform-origin:bottom right;
  opacity:0;
  transition:all .3s cubic-bezier(0.16,1,0.3,1);
  pointer-events:none;
}

.whatsapp-chat.is-open{
  transform:scale(1) translateY(0);
  opacity:1;
  pointer-events:all;
}

.whatsapp-chat__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:#fff;
  border-radius:16px 16px 0 0;
}

.whatsapp-chat__info{
  display:flex;
  align-items:center;
  gap:12px;
}

.whatsapp-chat__avatar{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  font-size:18px;
  font-weight:700;
}

.whatsapp-chat__info div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.whatsapp-chat__info strong{
  font-size:16px;
  line-height:1.2;
}

.whatsapp-chat__info span{
  font-size:13px;
  opacity:.85;
}

.whatsapp-chat__close{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:20px;
  cursor:pointer;
  transition:background .2s ease;
}

.whatsapp-chat__close:hover{
  background:rgba(255,255,255,.25);
}

.whatsapp-chat__body{
  flex:1;
  padding:20px;
  background:#e5ddd5 url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><rect fill="%23d9d9d9" width="100" height="100" opacity=".05"/></svg>');
  overflow-y:auto;
  min-height:200px;
  max-height:400px;
}

.whatsapp-chat__message{
  position:relative;
  max-width:85%;
  padding:10px 14px;
  margin-bottom:12px;
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}

.whatsapp-chat__message p{
  margin:0 0 6px;
  font-size:14px;
  line-height:1.5;
  color:#000;
}

.whatsapp-chat__message p:last-of-type{
  margin-bottom:0;
}

.whatsapp-chat__time{
  display:block;
  margin-top:6px;
  font-size:11px;
  color:#667781;
  text-align:right;
}

.whatsapp-chat__footer{
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:12px 16px;
  background:#f0f0f0;
  border-radius:0 0 16px 16px;
}

.whatsapp-chat__input{
  flex:1;
  min-height:44px;
  max-height:120px;
  padding:12px 14px;
  border:none;
  border-radius:22px;
  background:#fff;
  font-family:var(--font-sans);
  font-size:14px;
  line-height:1.4;
  color:#000;
  resize:none;
  transition:all .2s ease;
}

.whatsapp-chat__input:focus{
  outline:none;
  box-shadow:0 0 0 2px rgba(37,211,102,.3);
}

.whatsapp-chat__send{
  width:44px;
  height:44px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:50%;
  background:linear-gradient(135deg, #25D366, #128C7E);
  color:#fff;
  cursor:pointer;
  transition:all .2s ease;
}

.whatsapp-chat__send:hover{
  transform:scale(1.08);
  box-shadow:0 4px 12px rgba(37,211,102,.35);
}

@media (max-width:768px){
  .whatsapp-float{
    width:56px;
    height:56px;
    bottom:20px;
    right:20px;
  }
  
  .whatsapp-float svg{
    width:28px;
    height:28px;
  }
  
  .whatsapp-chat{
    bottom:20px;
    right:20px;
    width:calc(100vw - 40px);
  }
}

/* ========================================================= */
/* AJUSTES MODAL COMPACTO - VERSÃO CORRIGIDA                 */
/* ========================================================= */

.lead-modal__content {
  padding: 24px 28px !important;
}

.lead-progress {
  margin-bottom: 18px !important;
}

.lead-step__title {
  margin: 0 0 6px !important;
  font-size: clamp(20px, 4vw, 26px) !important;
}

.lead-step__subtitle {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.field {
  margin-bottom: 12px !important;
}

.field label {
  margin-bottom: 4px !important;
  font-size: 13px !important;
}

.field input,
.field textarea {
  padding: 10px 12px !important;
  font-size: 14px !important;
}

.choice-group {
  gap: 10px !important;
}

.choice-card {
  padding: 12px 10px !important;
}

.choice-card__icon {
  font-size: 24px !important;
  margin-bottom: 4px !important;
}

.choice-card__content strong {
  font-size: 14px !important;
}

.choice-card__content span {
  font-size: 12px !important;
}

.choice-card--small {
  padding: 10px 8px !important;
}

.choice-card--small .choice-card__content strong {
  font-size: 13px !important;
}

.budget-info {
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
}

.budget-info__description {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.lead-form__actions {
  margin-top: 18px !important;
  padding-top: 18px !important;
}

.lead-modal .btn {
  min-height: 42px !important;
  padding: 0 18px !important;
  font-size: 14px !important;
}

.result {
  padding: 12px !important;
}

.result__icon {
  width: 64px !important;
  height: 64px !important;
  margin-bottom: 14px !important;
}

.result__title {
  margin: 0 0 10px !important;
  font-size: clamp(20px, 4vw, 24px) !important;
}

.result__text {
  margin: 0 0 16px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.result__summary {
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.result__summary div {
  margin-bottom: 6px !important;
}

/* Ajuste mobile */
@media (max-width: 720px) {
  .lead-modal__content {
    padding: 20px 16px !important;
  }

  .lead-step__title {
    font-size: 18px !important;
  }

  .choice-card {
    padding: 10px 8px !important;
  }

  .budget-info {
    padding: 12px 14px !important;
  }

  .result__icon {
    width: 56px !important;
    height: 56px !important;
  }
}

/* ========================================================= */
/* BOTÃO ÁREA INTERNA NO FOOTER                              */
/* ========================================================= */

.btn-area-interna {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.95);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.25s ease;
  position: relative;
  z-index: 100; /* Fica acima do botão WhatsApp */
}

.btn-area-interna:hover {
  background: var(--white);
  border-color: rgba(201, 111, 73, 0.3);
  color: var(--terracotta);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(201, 111, 73, 0.25);
}

.site-footer__bottom {
  position: relative;
  z-index: 100; /* Garante que o footer inteiro fique acima do WhatsApp */
}

@media (max-width: 640px) {
  .site-footer__bottom {
    flex-direction: column;
    gap: 16px;
  }
  
  .btn-area-interna {
    width: 100%;
  }
}
