
/* ==========================================================================
   Sol Way Business Group
   Folha de estilo principal
   ========================================================================== */

:root{
  /* Cores */
  --areia:        #FCF9F3;
  --areia-2:      #F6EFE2;
  --champanhe:    #F0E3CD;
  --dourado:      #B98A2E;
  --dourado-claro:#DFBE79;
  --dourado-forte:#8E6819;
  --grafite:      #1C1710;
  --grafite-2:    #2A231A;
  --texto:        #382F25;
  --texto-suave:  #6B5D4C;
  --linha:        rgba(185,138,46,.24);
  --branco:       #FFFFFF;

  /* Tipografia */
  --serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --sans:  'Jost', 'Helvetica Neue', Arial, sans-serif;

  /* Medidas */
  --max: 1180px;
  --radius: 4px;
  --sombra: 0 18px 48px rgba(56,47,37,.09);
  --sombra-forte: 0 26px 70px rgba(28,23,16,.20);
  --transicao: .35s cubic-bezier(.22,.61,.36,1);
}

/* Reset ------------------------------------------------------------------ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--areia);
  color:var(--texto);
  font-family:var(--sans);
  font-size:18.5px;
  font-weight:300;
  line-height:1.74;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--dourado-forte); text-decoration:none; transition:color var(--transicao); }
a:hover{ color:var(--dourado); }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.16;
  margin:0 0 .5em;
  color:var(--grafite);
  letter-spacing:.005em;
}
h1{ font-size:clamp(2.75rem, 5.9vw, 4.7rem); font-weight:400; }
h2{ font-size:clamp(2.2rem, 4.2vw, 3.35rem); font-weight:400; }
h3{ font-size:clamp(1.45rem, 2.3vw, 1.88rem); }
h4{ font-size:1.26rem; }
p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }

/* Utilitarios ------------------------------------------------------------ */
.container{ width:100%; max-width:var(--max); margin:0 auto; padding:0 26px; }
.container-estreito{ max-width:840px; }
.secao{ padding:clamp(66px,9vw,124px) 0; position:relative; }
.secao-compacta{ padding:clamp(48px,6vw,84px) 0; }
.centro{ text-align:center; }
.texto-claro{ color:rgba(255,255,255,.82); }

.fundo-areia{ background:var(--areia-2); }
.fundo-champanhe{ background:linear-gradient(160deg,var(--champanhe) 0%,var(--areia-2) 100%); }
.fundo-escuro{ background:var(--grafite); color:rgba(255,255,255,.80); }
.fundo-escuro h1,.fundo-escuro h2,.fundo-escuro h3,.fundo-escuro h4{ color:#fff; }
.fundo-escuro .rotulo{ color:var(--dourado-claro); }
.fundo-escuro .subtitulo{ color:rgba(255,255,255,.70); }

.rotulo{
  display:inline-block;
  font-family:var(--sans);
  font-size:.79rem;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--dourado-forte);
  margin-bottom:1.1rem;
}
.subtitulo{
  font-size:1.15rem;
  color:var(--texto-suave);
  max-width:62ch;
  font-weight:300;
}
.centro .subtitulo{ margin-left:auto; margin-right:auto; }

.filete{
  width:64px; height:1px; border:0; margin:1.6rem 0 2rem;
  background:linear-gradient(90deg,var(--dourado),rgba(185,138,46,0));
}
.centro .filete{ margin-left:auto; margin-right:auto;
  background:linear-gradient(90deg,rgba(185,138,46,0),var(--dourado),rgba(185,138,46,0)); }

.destaque-dourado{ color:var(--dourado-forte); }
.fundo-escuro .destaque-dourado{ color:var(--dourado-claro); }

/* Botoes ----------------------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  padding:16px 34px;
  font-family:var(--sans); font-size:.85rem; font-weight:500;
  letter-spacing:.17em; text-transform:uppercase;
  border:1px solid var(--dourado);
  border-radius:var(--radius);
  cursor:pointer;
  transition:all var(--transicao);
  text-align:center;
}
.btn-principal{
  background:linear-gradient(135deg,var(--dourado) 0%,var(--dourado-forte) 100%);
  color:#fff; border-color:transparent;
  box-shadow:0 12px 30px rgba(142,104,25,.26);
}
.btn-principal:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 18px 40px rgba(142,104,25,.34); }
.btn-secundario{ background:transparent; color:var(--dourado-forte); }
.btn-secundario:hover{ background:var(--dourado); color:#fff; border-color:var(--dourado); }
.btn-claro{ background:transparent; color:#fff; border-color:rgba(255,255,255,.42); }
.btn-claro:hover{ background:#fff; color:var(--grafite); border-color:#fff; }
.grupo-botoes{ display:flex; flex-wrap:wrap; gap:14px; margin-top:2.2rem; }
.centro .grupo-botoes{ justify-content:center; }

/* Cabecalho -------------------------------------------------------------- */
.cabecalho{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding:18px 0;
  transition:background var(--transicao), padding var(--transicao), box-shadow var(--transicao);
}
.cabecalho::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(28,23,16,.55) 0%,rgba(28,23,16,0) 100%);
  opacity:1; transition:opacity var(--transicao); pointer-events:none;
}
.cabecalho.fixo{ background:rgba(252,249,243,.96); backdrop-filter:blur(12px); padding:10px 0; box-shadow:0 6px 30px rgba(56,47,37,.09); }
.cabecalho.fixo::before{ opacity:0; }
.cabecalho-interno{ display:flex; align-items:center; justify-content:space-between; gap:22px; position:relative; }
.marca{ display:flex; align-items:center; }
.marca img{ height:112px; width:auto; transition:height var(--transicao), filter var(--transicao); filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.cabecalho.fixo .marca img{ height:84px; filter:none; }

.navegacao{ display:flex; align-items:center; gap:30px; }
.navegacao a{
  font-size:.83rem; font-weight:400; letter-spacing:.13em; text-transform:uppercase;
  color:rgba(255,255,255,.92); position:relative; padding:6px 0;
  text-shadow:0 1px 4px rgba(0,0,0,.4);
}
.navegacao a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--dourado-claro); transition:width var(--transicao);
}
.navegacao a:hover::after,.navegacao a.ativo::after{ width:100%; }
.cabecalho.fixo .navegacao a{ color:var(--texto); text-shadow:none; }
.cabecalho.fixo .navegacao a:hover,.cabecalho.fixo .navegacao a.ativo{ color:var(--dourado-forte); }
.navegacao .btn-nav{
  padding:12px 24px; border:1px solid rgba(255,255,255,.5); border-radius:var(--radius);
  font-size:.78rem; letter-spacing:.15em;
}
.navegacao .btn-nav::after{ display:none; }
.navegacao .btn-nav:hover{ background:#fff; color:var(--grafite); }
.cabecalho.fixo .navegacao .btn-nav{ border-color:var(--dourado); color:var(--dourado-forte); }
.cabecalho.fixo .navegacao .btn-nav:hover{ background:var(--dourado); color:#fff; }

.abrir-menu{
  display:none; background:none; border:0; cursor:pointer; padding:8px;
  width:44px; height:44px; position:relative; z-index:120;
}
.abrir-menu span{
  display:block; height:1.5px; width:26px; margin:5px auto; border-radius:2px;
  background:#fff; transition:all var(--transicao);
}
.cabecalho.fixo .abrir-menu span{ background:var(--grafite); }
body.menu-aberto .abrir-menu span{ background:var(--grafite); }
body.menu-aberto .abrir-menu span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
body.menu-aberto .abrir-menu span:nth-child(2){ opacity:0; }
body.menu-aberto .abrir-menu span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* Hero ------------------------------------------------------------------- */
.hero{
  position:relative; min-height:92vh; display:flex; align-items:center;
  padding:150px 0 96px; overflow:hidden;
  background:var(--grafite);
}
.hero-fundo{ position:absolute; inset:0; z-index:0; }
.hero-fundo::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 72% 42%, rgba(185,138,46,.30) 0%, rgba(28,23,16,.86) 58%, rgba(28,23,16,.97) 100%);
}
.hero-fundo img{ width:122%; height:100%; object-fit:cover; object-position:center 22%; opacity:.5; }
.hero .container{ position:relative; z-index:2; }
.hero h1{ color:#fff; max-width:15ch; }
.hero .subtitulo{ color:rgba(255,255,255,.76); font-size:1.22rem; max-width:56ch; }
.hero-simples{ min-height:62vh; padding:170px 0 82px; }
.hero-simples h1{ max-width:22ch; }

.hero-duplo{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.hero-retrato{ position:relative; }
.hero-retrato img{
  width:100%; border-radius:280px 280px 8px 8px;
  box-shadow:var(--sombra-forte);
}
.hero-retrato::before{
  content:''; position:absolute; inset:-16px -16px 26px -16px;
  border:1px solid rgba(223,190,121,.45); border-radius:290px 290px 8px 8px; pointer-events:none;
}

/* Cabecalho de secao ----------------------------------------------------- */
.cabecalho-secao{ max-width:66ch; margin-bottom:3.4rem; }
.centro .cabecalho-secao{ margin-left:auto; margin-right:auto; }

/* Grades ----------------------------------------------------------------- */
.grade{ display:grid; gap:26px; }
.grade-2{ grid-template-columns:repeat(2,1fr); }
.grade-3{ grid-template-columns:repeat(3,1fr); }
.grade-4{ grid-template-columns:repeat(4,1fr); }

/* Cartoes ---------------------------------------------------------------- */
.cartao{
  background:var(--branco);
  border:1px solid var(--linha);
  border-radius:var(--radius);
  padding:38px 34px;
  transition:transform var(--transicao), box-shadow var(--transicao), border-color var(--transicao);
  height:100%;
}
.cartao:hover{ transform:translateY(-5px); box-shadow:var(--sombra); border-color:rgba(185,138,46,.5); }
.cartao h3{ margin-bottom:.55em; }
.cartao p{ color:var(--texto-suave); font-size:1.04rem; }
.cartao .numero{
  font-family:var(--serif); font-size:2.4rem; color:var(--dourado-claro);
  line-height:1; display:block; margin-bottom:.35em;
}
.cartao-escuro{ background:var(--grafite-2); border-color:rgba(223,190,121,.20); }
.cartao-escuro p{ color:rgba(255,255,255,.68); }

.cartao-servico{ display:flex; flex-direction:column; }
.cartao-servico .icone{
  width:52px; height:52px; margin-bottom:22px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--linha); border-radius:50%;
  color:var(--dourado); font-family:var(--serif); font-size:1.3rem;
}
.cartao-servico ul{ margin-top:1rem; }
.cartao-servico ul li{
  font-size:1rem; color:var(--texto-suave); padding:6px 0 6px 22px; position:relative;
}
.cartao-servico ul li::before{
  content:''; position:absolute; left:0; top:14px; width:7px; height:7px;
  border-radius:50%; background:var(--dourado-claro);
}

.cartao-link{
  display:block; color:inherit; position:relative; overflow:hidden;
}
.cartao-link .seta{
  display:inline-flex; align-items:center; gap:.5em; margin-top:1.4rem;
  font-size:.8rem; letter-spacing:.17em; text-transform:uppercase; color:var(--dourado-forte);
}
.cartao-link .seta span{ transition:transform var(--transicao); }
.cartao-link:hover .seta span{ transform:translateX(6px); }

/* Numeros ---------------------------------------------------------------- */
.numeros{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
.numeros .item{ padding:26px 14px; border-left:1px solid var(--linha); }
.numeros .item:first-child{ border-left:0; }
.numeros .valor{ font-family:var(--serif); font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; font-size:clamp(2.3rem,4vw,3.2rem); color:var(--dourado); line-height:1; }
.fundo-escuro .numeros .valor{ color:var(--dourado-claro); }
.numeros .rot{ font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--texto-suave); margin-top:.7rem; }
.fundo-escuro .numeros .rot{ color:rgba(255,255,255,.62); }

/* Blocos alternados ------------------------------------------------------ */
.bloco{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(38px,5vw,76px); align-items:center; }
.bloco-imagem img{ border-radius:var(--radius); box-shadow:var(--sombra); width:100%; }
.bloco-imagem.moldura{ position:relative; }
.bloco-imagem.moldura::before{
  content:''; position:absolute; inset:18px -18px -18px 18px;
  border:1px solid var(--linha); border-radius:var(--radius); z-index:-1;
}
.bloco.invertido .bloco-imagem{ order:2; }

/* Lista de itens --------------------------------------------------------- */
.lista-verificada li{
  position:relative; padding:10px 0 10px 34px; color:var(--texto-suave); font-size:1.07rem;
  border-bottom:1px solid rgba(185,138,46,.14);
}
.lista-verificada li:last-child{ border-bottom:0; }
.lista-verificada li::before{
  content:''; position:absolute; left:4px; top:19px;
  width:14px; height:7px; border-left:1.5px solid var(--dourado); border-bottom:1.5px solid var(--dourado);
  transform:rotate(-45deg);
}
.fundo-escuro .lista-verificada li{ color:rgba(255,255,255,.72); border-color:rgba(255,255,255,.10); }

/* Etapas ----------------------------------------------------------------- */
.etapas{ counter-reset:passo; display:grid; gap:2px; }
.etapa{
  counter-increment:passo; position:relative; padding:30px 30px 30px 96px;
  background:var(--branco); border:1px solid var(--linha);
}
.etapa::before{
  content:counter(passo,decimal-leading-zero);
  position:absolute; left:34px; top:30px;
  font-family:var(--serif); font-size:1.9rem; color:var(--dourado-claro); line-height:1;
}
.etapa h4{ margin-bottom:.35em; }
.etapa p{ color:var(--texto-suave); font-size:1.03rem; }

/* Camadas do metodo ------------------------------------------------------ */
.camada{
  display:grid; grid-template-columns:170px 1fr; gap:32px; align-items:start;
  padding:34px 0; border-top:1px solid var(--linha);
}
.camada:last-child{ border-bottom:1px solid var(--linha); }
.camada .nome{ font-family:var(--serif); font-size:1.58rem; color:var(--dourado-forte); line-height:1.2; }
.camada .nome small{ display:block; font-family:var(--sans); font-size:.76rem; letter-spacing:.19em; text-transform:uppercase; color:var(--texto-suave); margin-top:.6em; }
.camada p{ color:var(--texto-suave); }

/* Ciclo ------------------------------------------------------------------ */
.ciclo{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:2.4rem; }
.ciclo .passo{
  padding:13px 26px; border:1px solid var(--linha); border-radius:60px;
  font-size:.84rem; letter-spacing:.17em; text-transform:uppercase; color:var(--dourado-forte);
  background:var(--branco);
}
.fundo-escuro .ciclo .passo{ background:transparent; color:var(--dourado-claro); border-color:rgba(223,190,121,.34); }

/* Livro ------------------------------------------------------------------ */
.capa-livro{ position:relative; }
.capa-livro img{
  width:100%; max-width:400px; margin:0 auto;
  border-radius:3px; box-shadow:0 30px 62px rgba(0,0,0,.40), 0 4px 14px rgba(0,0,0,.22);
  transition:transform .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease;
}
.capa-livro img:hover{ transform:translateY(-8px); box-shadow:0 44px 84px rgba(0,0,0,.46); }

.sumario{ columns:2; column-gap:44px; }
.sumario li{
  break-inside:avoid; padding:10px 0; font-size:1.02rem; color:var(--texto-suave);
  border-bottom:1px solid rgba(185,138,46,.14);
}
.sumario li strong{ color:var(--dourado-forte); font-weight:500; margin-right:.5em; font-family:var(--serif); font-size:1.1rem; }
.fundo-escuro .sumario li{ color:rgba(255,255,255,.72); border-color:rgba(255,255,255,.10); }
.fundo-escuro .sumario li strong{ color:var(--dourado-claro); }

/* Evento ----------------------------------------------------------------- */
.evento{
  border:1px solid rgba(223,190,121,.34); border-radius:var(--radius);
  padding:38px 40px; display:grid; grid-template-columns:auto 1fr; gap:38px; align-items:center;
}
.evento .data{ text-align:center; padding-right:38px; border-right:1px solid rgba(223,190,121,.3); }
.evento .data .dia{ font-family:var(--serif); font-size:3.4rem; line-height:1; color:var(--dourado-claro); }
.evento .data .mes{ font-size:.8rem; letter-spacing:.24em; text-transform:uppercase; margin-top:.5rem; }

/* Manuais ---------------------------------------------------------------- */
.manual{
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--radius);
  padding:30px 28px; display:flex; flex-direction:column; height:100%;
  transition:transform var(--transicao), box-shadow var(--transicao);
}
.manual:hover{ transform:translateY(-5px); box-shadow:var(--sombra); }
.manual .volume{ font-family:var(--serif); font-size:1.02rem; letter-spacing:.2em; color:var(--dourado); margin-bottom:.9rem; }
.manual h4{ font-size:1.3rem; margin-bottom:.6em; }
.manual p{ font-size:1rem; color:var(--texto-suave); flex:1; }
.manual .dados{ margin-top:1.3rem; padding-top:1rem; border-top:1px solid var(--linha); font-size:.84rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dourado-forte); }

/* Preco ------------------------------------------------------------------ */
.caixa-preco{
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--radius);
  padding:44px 40px; text-align:center; box-shadow:var(--sombra);
}
.caixa-preco .de{ font-size:1.02rem; color:var(--texto-suave); text-decoration:line-through; }
.caixa-preco .por{ font-family:var(--serif); font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1; font-size:clamp(3rem,6vw,4.2rem); color:var(--dourado-forte); line-height:1; margin:.2em 0; }
.caixa-preco .cond{ font-size:.92rem; letter-spacing:.14em; text-transform:uppercase; color:var(--texto-suave); }

/* Citacao ---------------------------------------------------------------- */
.citacao{
  font-family:var(--serif); font-size:clamp(1.65rem,3.2vw,2.5rem); font-weight:300;
  line-height:1.42; font-style:italic; max-width:26ch; color:var(--grafite);
}
.fundo-escuro .citacao{ color:#fff; }
.citacao-assinatura{ font-family:var(--sans); font-size:.82rem; letter-spacing:.24em; text-transform:uppercase; color:var(--dourado-forte); margin-top:1.8rem; font-style:normal; }
.fundo-escuro .citacao-assinatura{ color:var(--dourado-claro); }

/* Formulario ------------------------------------------------------------- */
.formulario{ display:grid; gap:20px; }
.campo{ display:flex; flex-direction:column; gap:8px; }
.campo label{ font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--texto-suave); }
.campo input,.campo select,.campo textarea{
  width:100%; padding:14px 16px;
  font-family:var(--sans); font-size:1.06rem; font-weight:300; color:var(--texto);
  background:var(--branco); border:1px solid var(--linha); border-radius:var(--radius);
  transition:border-color var(--transicao), box-shadow var(--transicao);
}
.campo textarea{ min-height:132px; resize:vertical; }
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none; border-color:var(--dourado); box-shadow:0 0 0 3px rgba(185,138,46,.13);
}
.linha-campos{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }

/* Contato ---------------------------------------------------------------- */
.contato-item{ display:flex; gap:18px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--linha); }
.contato-item:last-child{ border-bottom:0; }
.contato-item .rot{ font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--texto-suave); }
.contato-item .val{ font-size:1.16rem; color:var(--grafite); }
.fundo-escuro .contato-item .val{ color:#fff; }
.fundo-escuro .contato-item{ border-color:rgba(255,255,255,.12); }

/* CTA final -------------------------------------------------------------- */
.faixa-cta{
  background:linear-gradient(135deg,var(--grafite) 0%,#3A2E1C 55%,var(--grafite) 100%);
  color:#fff; text-align:center; padding:clamp(64px,8vw,110px) 0;
}
.faixa-cta h2{ color:#fff; max-width:20ch; margin-left:auto; margin-right:auto; }
.faixa-cta p{ color:rgba(255,255,255,.72); max-width:58ch; margin-left:auto; margin-right:auto; }

/* Rodape ----------------------------------------------------------------- */
.rodape{ background:var(--grafite); color:rgba(255,255,255,.62); padding:80px 0 34px; font-size:1.02rem; }
.rodape-grade{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:44px; }
.rodape img.logo-rodape{ height:86px; width:auto; margin-bottom:22px; }
.rodape h4{ color:#fff; font-family:var(--sans); font-size:.8rem; letter-spacing:.22em; text-transform:uppercase; margin-bottom:1.3rem; }
.rodape a{ color:rgba(255,255,255,.62); }
.rodape a:hover{ color:var(--dourado-claro); }
.rodape li{ padding:6px 0; }
.rodape-base{
  margin-top:56px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1);
  display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between;
  font-size:.88rem; color:rgba(255,255,255,.44);
}

/* WhatsApp flutuante ----------------------------------------------------- */
.whatsapp-flutuante{
  position:fixed; right:22px; bottom:22px; z-index:90;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(0,0,0,.24);
  transition:transform var(--transicao);
}
.whatsapp-flutuante:hover{ transform:scale(1.08); }
.whatsapp-flutuante svg{ width:29px; height:29px; fill:#fff; }

/* Animacao de entrada ---------------------------------------------------- */
.revelar{ opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1); }
.revelar.visivel{ opacity:1; transform:none; }

/* Responsivo ------------------------------------------------------------- */
@media (max-width:1024px){
  .grade-4{ grid-template-columns:repeat(2,1fr); }
  .rodape-grade{ grid-template-columns:1fr 1fr; gap:36px; }
  .numeros{ grid-template-columns:repeat(2,1fr); }
  .numeros .item:nth-child(3){ border-left:0; }
}

@media (max-width:900px){
  .abrir-menu{ display:block; }
  .navegacao{
    position:fixed; inset:0; z-index:110;
    flex-direction:column; justify-content:center; gap:26px;
    background:var(--areia); padding:80px 30px;
    transform:translateX(100%); transition:transform .45s cubic-bezier(.22,.61,.36,1);
  }
  body.menu-aberto .navegacao{ transform:none; }
  .navegacao a{ color:var(--texto); font-size:1rem; letter-spacing:.16em; text-shadow:none; }
  .navegacao .btn-nav{ border-color:var(--dourado); color:var(--dourado-forte); margin-top:10px; }
  body.menu-aberto{ overflow:hidden; }

  .grade-2,.grade-3,.grade-4{ grid-template-columns:1fr; }
  .bloco,.hero-duplo{ grid-template-columns:1fr; gap:42px; }
  .bloco.invertido .bloco-imagem{ order:0; }
  .hero-retrato{ max-width:420px; margin:0 auto; }
  .camada{ grid-template-columns:1fr; gap:12px; }
  .sumario{ columns:1; }
  .evento{ grid-template-columns:1fr; gap:24px; text-align:center; }
  .evento .data{ border-right:0; border-bottom:1px solid rgba(223,190,121,.3); padding:0 0 22px; }
  .bloco-imagem.moldura::before{ display:none; }
}

@media (max-width:600px){
  body{ font-size:17px; }
  .container{ padding:0 20px; }
  .hero{ min-height:auto; padding:130px 0 76px; }
  .hero-simples{ padding:130px 0 62px; }
  .cartao{ padding:30px 26px; }
  .etapa{ padding:26px 24px 26px 74px; }
  .etapa::before{ left:24px; top:26px; font-size:1.6rem; }
  .caixa-preco{ padding:34px 24px; }
  .evento{ padding:30px 24px; }
  .numeros{ grid-template-columns:1fr; }
  .numeros .item{ border-left:0; border-top:1px solid var(--linha); }
  .numeros .item:first-child{ border-top:0; }
  .linha-campos{ grid-template-columns:1fr; }
  .grupo-botoes .btn{ width:100%; }
  .rodape-grade{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .revelar{ opacity:1; transform:none; }
}

/* Hero com textura em vez de foto ---------------------------------------- */
.hero-fundo.textura img{ opacity:.92; object-position:center; }
.hero-fundo.textura::after{
  background:linear-gradient(100deg, rgba(28,23,16,.95) 0%, rgba(28,23,16,.76) 46%, rgba(28,23,16,.52) 100%);
}

/* Icones dentro dos botoes ------------------------------------------------ */
.btn svg{ width:1.15em; height:1.15em; fill:currentColor; flex-shrink:0; }

/* Rodape: logo maior e links com destaque ao passar o mouse --------------- */
.rodape img.logo-rodape{ height:248px; }
.rodape li a{ position:relative; display:inline-block; }
.rodape li a::after{
  content:''; position:absolute; left:0; bottom:-1px; height:1px; width:0;
  background:var(--dourado-claro); transition:width var(--transicao);
}
.rodape li a:hover{ color:var(--dourado-claro); }
.rodape li a:hover::after{ width:100%; }
@media (max-width:600px){
  .rodape img.logo-rodape{ height:186px; }
}

/* Marca Sol Way em destaque na página inicial ----------------------------- */
.marca-destaque{ text-align:center; margin-bottom:3.6rem; }
.marca-destaque img{
  height:440px; width:auto; margin:0 auto 26px;
  filter:drop-shadow(0 14px 34px rgba(142,104,25,.20));
}
.marca-destaque .frentes{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px;
  font-size:.84rem; letter-spacing:.2em; text-transform:uppercase; color:var(--dourado-forte);
}
.marca-destaque .frentes span{ display:inline-block; }

/* Artes de divulgação ---------------------------------------------------- */
.arte-img{
  width:100%; border-radius:var(--radius);
  box-shadow:0 26px 62px rgba(28,23,16,.22);
  border:1px solid var(--linha);
}
.arte-centro{ max-width:740px; margin:0 auto; }
.arte-media{ max-width:560px; margin:0 auto; }
.fundo-escuro .arte-img,.lp-secao .arte-img{ border-color:rgba(223,190,121,.28); box-shadow:0 30px 70px rgba(0,0,0,.55); }

@media (max-width:900px){
  .marca-destaque img{ height:310px; }
}
@media (max-width:600px){
  .marca img{ height:74px; }
  .cabecalho.fixo .marca img{ height:62px; }
  .marca-destaque img{ height:212px; }
  .marca-destaque .frentes{ font-size:.76rem; gap:8px 18px; }
}

/* Logo Up in Knowledge dentro das seções -------------------------------- */
.logo-uik{ height:152px; width:auto; margin-bottom:1.5rem; }
.logo-uik-hero{ height:150px; width:auto; margin-bottom:1.8rem;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.45)); }
.logo-assinatura{ height:120px; width:auto; margin:0 0 1.6rem; }
@media (max-width:900px){
  .hero-fundo img{ width:100%; }
}
@media (max-width:600px){
  .logo-uik{ height:112px; }
  .logo-uik-hero{ height:104px; }
  .logo-assinatura{ height:92px; }
}



/* ==========================================================================
   Ajustes de setembro de 2026
   ========================================================================== */

/* Hero da pagina inicial, retrato deslocado para a direita ---------------- */
.hero-inicio .hero-fundo img{
  width:100%; object-position:26% 16%; opacity:.62;
}
.hero-inicio .hero-fundo::after{
  background:
    linear-gradient(96deg,
      rgba(28,23,16,.97) 0%,
      rgba(28,23,16,.93) 30%,
      rgba(28,23,16,.62) 58%,
      rgba(28,23,16,.30) 100%),
    radial-gradient(74% 66% at 78% 34%, rgba(185,138,46,.26) 0%, rgba(28,23,16,0) 72%);
}
.hero-inicio .container{ max-width:1180px; }
.hero-inicio h1,.hero-inicio .subtitulo{ max-width:19ch; }
.hero-inicio .subtitulo{ max-width:52ch; }
@media (max-width:900px){
  .hero-inicio .hero-fundo img{ object-position:50% 12%; opacity:.42; }
  .hero-inicio .hero-fundo::after{
    background:linear-gradient(180deg, rgba(28,23,16,.90) 0%, rgba(28,23,16,.94) 100%);
  }
}

/* Espaco reservado para um link que ainda vai existir --------------------- */
.espaco-link{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  padding:16px 30px; border:1px dashed rgba(185,138,46,.65); border-radius:var(--radius);
  font-size:.8rem; font-weight:400; letter-spacing:.15em; text-transform:uppercase;
  color:var(--dourado-forte); background:rgba(185,138,46,.06);
}
.espaco-link svg{ width:1.15em; height:1.15em; fill:currentColor; }
.fundo-escuro .espaco-link,.faixa-cta .espaco-link{
  color:var(--dourado-claro); border-color:rgba(223,190,121,.55); background:rgba(223,190,121,.07);
}

/* Icones nos itens de contato do rodape ----------------------------------- */
.rodape li.com-icone a{ display:inline-flex; align-items:center; gap:.62em; }
.rodape li.com-icone svg{
  width:17px; height:17px; fill:var(--dourado-claro); flex-shrink:0; opacity:.9;
  transition:opacity var(--transicao);
}
.rodape li.com-icone a:hover svg{ opacity:1; }
.rodape li.com-icone a::after{ left:calc(17px + .62em); width:0; }
.rodape li.com-icone a:hover::after{ width:calc(100% - 17px - .62em); }

/* Icones antes da chamada da secao Vamos conversar ------------------------ */
.canais-cta{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px 26px;
  margin:0 0 1.6rem;
}
.canais-cta a{
  display:inline-flex; align-items:center; gap:.6em;
  font-size:.86rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--dourado-claro);
}
.canais-cta a:hover{ color:#fff; }
.canais-cta svg{ width:19px; height:19px; fill:currentColor; }

/* Logo pequena do Up in Knowledge ---------------------------------------- */
.logo-uik-pequena{ height:96px; width:auto; margin-bottom:1.2rem; }
@media (max-width:600px){ .logo-uik-pequena{ height:78px; } }

/* Assinatura com a logo completa de Viviane Leitao ------------------------ */
.logo-vl{ height:104px; width:auto; margin:2rem 0 0; }
.centro .logo-vl{ margin-left:auto; margin-right:auto; }
@media (max-width:600px){ .logo-vl{ height:82px; } }

/* Selo de volume na coleção ---------------------------------------------- */
.manual.destacado{ background:var(--grafite); border-color:rgba(223,190,121,.24); }
.manual.destacado h4{ color:#fff; }
.manual.destacado p{ color:rgba(255,255,255,.70); }
.manual.destacado .volume{ color:var(--dourado-claro); }
.manual.destacado .dados{ color:var(--dourado-claro); border-color:rgba(255,255,255,.14); }

/* Icone nos cartoes de canal da pagina de contato -------------------------- */
.icone-canal{
  display:flex; align-items:center; justify-content:center;
  width:46px; height:46px; margin-bottom:18px;
  border:1px solid var(--linha); border-radius:50%;
}
.icone-canal svg{ width:20px; height:20px; fill:var(--dourado); }
.cartao-link:hover .icone-canal{ border-color:rgba(185,138,46,.55); }


/* Hero da home, retrato encostado a direita ------------------------------ */
.hero-inicio .hero-fundo{ display:flex; justify-content:flex-end; align-items:flex-end; }
.hero-inicio .hero-fundo img{
  width:auto; height:100%; max-width:none; object-fit:contain; object-position:bottom right;
  margin-right:0; opacity:.95;
  -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 22%, #000 46%, #000 100%);
          mask-image:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 22%, #000 46%, #000 100%);
}
.hero-inicio .hero-fundo::after{
  background:
    linear-gradient(96deg,
      rgba(28,23,16,.99) 0%,
      rgba(28,23,16,.96) 34%,
      rgba(28,23,16,.55) 56%,
      rgba(28,23,16,.16) 76%,
      rgba(28,23,16,.10) 100%),
    linear-gradient(180deg, rgba(28,23,16,0) 52%, rgba(28,23,16,.72) 88%, rgba(28,23,16,.96) 100%),
    radial-gradient(64% 58% at 74% 40%, rgba(185,138,46,.20) 0%, rgba(28,23,16,0) 74%);
}
.hero-inicio{ min-height:96vh; }
.hero-inicio h1{ max-width:14ch; }
.hero-inicio .subtitulo{ max-width:46ch; }

@media (max-width:1100px){
  .hero-inicio .hero-fundo img{ margin-right:-6%; opacity:.7; }
  .hero-inicio .subtitulo{ max-width:52ch; }
}
@media (max-width:900px){
  .hero-inicio{ min-height:auto; }
  .hero-inicio .hero-fundo{ justify-content:center; }
  .hero-inicio .hero-fundo img{
    height:100%; margin-right:0; opacity:.34;
    -webkit-mask-image:none; mask-image:none;
  }
  .hero-inicio .hero-fundo::after{
    background:linear-gradient(180deg, rgba(28,23,16,.90) 0%, rgba(28,23,16,.95) 100%);
  }
  .hero-inicio h1,.hero-inicio .subtitulo{ max-width:none; }
}

/* Navegacao mais compacta, porque os nomes ficaram maiores ---------------- */
.navegacao{ gap:23px; }
.navegacao a{ font-size:.79rem; letter-spacing:.1em; white-space:nowrap; }
.navegacao .btn-nav{ padding:11px 20px; font-size:.74rem; letter-spacing:.12em; }
@media (max-width:1180px){
  .marca img{ height:96px; }
  .cabecalho.fixo .marca img{ height:74px; }
  .navegacao{ gap:17px; }
  .navegacao a{ font-size:.74rem; letter-spacing:.07em; }
}
@media (max-width:1040px){
  .abrir-menu{ display:block; }
  .navegacao{
    position:fixed; inset:0; z-index:110;
    flex-direction:column; justify-content:center; gap:26px;
    background:var(--areia); padding:80px 30px;
    transform:translateX(100%); transition:transform .45s cubic-bezier(.22,.61,.36,1);
  }
  body.menu-aberto .navegacao{ transform:none; }
  .navegacao a{ color:var(--texto); font-size:1rem; letter-spacing:.14em; text-shadow:none; white-space:normal; }
  .navegacao .btn-nav{ border-color:var(--dourado); color:var(--dourado-forte); margin-top:10px; }
  body.menu-aberto{ overflow:hidden; }
}

/* Hero da pagina de vendas do kit ---------------------------------------- */
.hero-kit{ min-height:auto; padding:172px 0 90px; }
.hero-kit .hero-duplo{ grid-template-columns:1.06fr .94fr; align-items:center; }
.hero-kit .hero-arte img{ box-shadow:0 34px 78px rgba(0,0,0,.55); border-color:rgba(223,190,121,.3); }
@media (max-width:900px){
  .hero-kit{ padding:132px 0 66px; }
  .hero-kit .hero-arte{ max-width:420px; margin:0 auto; }
}
