/* ==========================================================================
   INTERNA DE SERVIÇO (identidade visual, posicionamento, registro)

   CSS só destas páginas. Carrega depois de todos os outros, então o que
   estiver aqui tem a última palavra. Tudo com o pai .servico na frente,
   porque o tema antigo tem seletores fortes para h1, h2 e p.

   O desenho é o da home: o bloco preto de cantos redondos com o título
   sublinhado e o vídeo em pé ao lado (a primeira faixa da home), os
   cartões de "Sua marca completa" para as entregas, e o banner da oferta
   fechando. Nada aqui muda a home nem o portfólio.
   ========================================================================== */

.servico{
  display:block; width:100%; margin:0; padding:0;
  font-family:'Ubuntu','Open Sans',system-ui,sans-serif; color:#111;
}
.servico .svInterno{ max-width:1140px; margin:0 auto; padding:0 20px; box-sizing:border-box; }
.servico .svInterno--estreito{ max-width:860px; }

/* ---------- o chapéu amarelo, o mesmo da oferta ---------- */
.servico .svChapeu{
  margin:0 0 22px; padding:0; line-height:1;
  font-size:12px; font-weight:700; letter-spacing:2.6px; text-transform:uppercase;
}
.servico .svChapeu span{ display:inline-block; background:#feec34; color:#000; padding:9px 16px; border-radius:30px; }

/* ---------- títulos de seção ---------- */
.servico .svSecao__titulo{
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:40px; line-height:1.08; letter-spacing:.6px;
  text-transform:uppercase; color:#000; text-align:center; margin:0 0 42px;
}
.servico .svSecao__titulo--menor{ font-size:30px; margin-bottom:28px; }

/* ==========================================================================
   A ABERTURA: bloco preto, título sublinhado, vídeo em pé ao lado
   ========================================================================== */
.servico .svAbre{ padding:0 20px 26px; box-sizing:border-box; }
.servico .svAbre__caixa{
  position:relative; max-width:1140px; margin:0 auto;
  background:#000; color:#fff; border-radius:28px;
  padding:54px 56px 58px; box-sizing:border-box;
  display:-webkit-box; display:-ms-flexbox; display:flex;
  -webkit-box-align:center; -ms-flex-align:center; align-items:center;
  gap:56px;
}
.servico .svAbre__texto{ -webkit-box-flex:1; -ms-flex:1 1 520px; flex:1 1 520px; min-width:0; }
.servico .svAbre__video{ -webkit-box-flex:0; -ms-flex:0 0 300px; flex:0 0 300px; width:300px; position:relative; }

/* a mesma moldura em pé dos vídeos do site: cantos redondos e o bloco
   amarelo deslocado atrás, como no banner "Eu sou o Zé Paulo Gomes" */
.servico .svAbre__video::before{
  content:''; position:absolute; left:-14px; top:14px; right:14px; bottom:-14px;
  background:#feec34; border-radius:26px; z-index:0;
}
.servico .svAbre__video .quadroVideo{ position:relative; z-index:1; border-radius:26px; overflow:hidden; background:#111; }

.servico .svMigalhas{ margin:0 0 26px; font-size:12.5px; line-height:1.4; color:#8a8a80; }
.servico .svMigalhas a{ color:#b6b6ae; text-decoration:none; font-weight:700; }
.servico .svMigalhas a:hover{ color:#feec34; text-decoration:underline; }
.servico .svMigalhas span{ margin:0 7px; color:#4a4a44; }

.servico h1.svTitulo, .servico h2.svTitulo{
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:58px; line-height:1.24; letter-spacing:1.2px;
  text-transform:uppercase; color:#fff; margin:0 0 22px; max-width:620px;
  text-decoration:underline; text-decoration-thickness:4px; text-underline-offset:8px; text-decoration-skip-ink:none;
  text-wrap:balance;
}
.servico .svFrase{ margin:0 0 16px; font-size:21px; line-height:1.42; font-weight:700; color:#fff; max-width:600px; }
.servico .svResumo{ margin:0 0 30px; font-size:16.5px; line-height:1.65; color:#cfcfc4; max-width:600px; }

.servico .svBotoes{ display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap; gap:14px; }
/* sobre o preto: o principal amarelo (é o pedido da página), o segundo de traço branco */
.servico .svAbre .btn--principal, .servico .svAbre .btn--principal .btn__texto{ background:#feec34; border-color:#feec34; color:#000; }
.servico .svAbre .btn--principal .btn__seta{ border-color:#000; }
.servico .svAbre .btn--principal:hover, .servico .svAbre .btn--principal:focus-visible,
.servico .svAbre .btn--principal:hover .btn__texto, .servico .svAbre .btn--principal:focus-visible .btn__texto{ background:#fff; border-color:#fff; color:#000; }
.servico .svAbre .btn--secundario, .servico .svAbre .btn--secundario .btn__texto{ background:transparent; color:#fff; }
.servico .svAbre .btn--secundario{ border:2px solid #fff; }
.servico .svAbre .btn--secundario:hover, .servico .svAbre .btn--secundario:focus-visible,
.servico .svAbre .btn--secundario:hover .btn__texto, .servico .svAbre .btn--secundario:focus-visible .btn__texto{ border-color:#feec34; color:#feec34; background:transparent; }

/* ==========================================================================
   AS ENTREGAS: os cartões da home, com o título desta página
   ========================================================================== */
.servico .svEntregas{ padding-top:78px; padding-bottom:70px; }
.servico .svEntregas .marcaCompleta__titulo{ margin-bottom:12px; }
.servico .svEntregas .marcaCompleta__subtitulo{ margin:0 auto 40px; text-align:center; }

/* ==========================================================================
   COMO É FEITO: quatro etapas numeradas
   ========================================================================== */
.servico .svComo{ background:#f5f5f0; padding:78px 0 70px; }
.servico .svEtapas{
  list-style:none; margin:0; padding:0;
  display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap; gap:16px;
}
.servico .svEtapa{
  -webkit-box-flex:1; -ms-flex:1 1 220px; flex:1 1 220px; min-width:0;
  background:#fff; border:1px solid #e6e6df; border-radius:20px;
  padding:28px 26px 26px; box-sizing:border-box; margin:0;
}
.servico .svEtapa__num{
  display:block; font-family:'Anton', Impact, sans-serif; font-size:34px; line-height:1;
  color:#000; background:#feec34; width:56px; height:56px; border-radius:50%;
  text-align:center; padding-top:11px; box-sizing:border-box; margin:0 0 18px;
}
.servico h3.svEtapa__titulo{
  font-family:'Anton', Impact, sans-serif; font-weight:400; font-size:22px; line-height:1.12; letter-spacing:.6px;
  text-transform:uppercase; color:#000; margin:0 0 10px;
}
.servico .svEtapa__texto{ margin:0; font-size:14.5px; line-height:1.6; color:#55554e; }

/* ==========================================================================
   POR QUE E PARA QUEM: bloco preto, texto de um lado e a lista do outro
   ========================================================================== */
.servico .svPorque{ background:#000; color:#fff; padding:86px 0 84px; }
.servico .svPorque__grade{
  display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap;
  -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; gap:56px;
}
.servico .svPorque__texto{ -webkit-box-flex:1; -ms-flex:1 1 520px; flex:1 1 520px; min-width:0; }
.servico h2.svPorque__titulo{
  font-family:'Anton', Impact, sans-serif; font-weight:400;
  font-size:46px; line-height:1.1; letter-spacing:.6px; text-transform:uppercase;
  color:#fff; margin:0 0 26px; max-width:620px; text-wrap:balance;
}
.servico .svPorque__texto p{ margin:0 0 18px; font-size:17px; line-height:1.68; color:#d6d6cc; max-width:640px; }
.servico .svPorque__texto p:last-child{ margin-bottom:0; }
/* os tópicos do "por quê" (as formas de reposicionar uma marca, por exemplo): título curto e uma linha de texto */
.servico .svFormas{ list-style:none; margin:26px 0 0; padding:0; max-width:640px; }
.servico .svForma{ padding:18px 0 18px 22px; border-top:1px solid #2b2b2b; position:relative; }
.servico .svForma:last-child{ border-bottom:1px solid #2b2b2b; }
.servico .svForma::before{ content:''; position:absolute; left:0; top:27px; width:8px; height:8px; border-radius:50%; background:#feec34; }
.servico .svForma__titulo{ font-family:'Ubuntu','Open Sans',system-ui,sans-serif; font-weight:700; font-size:17px; line-height:1.3; color:#fff; margin:0 0 6px; text-transform:none; letter-spacing:0; }
.servico .svPorque__texto .svForma p{ margin:0; font-size:15.5px; line-height:1.6; }

.servico .svParaQuem{
  -webkit-box-flex:0; -ms-flex:0 1 380px; flex:0 1 380px; min-width:280px;
  background:#141414; border:1px solid #2b2b2b; border-radius:24px; padding:32px 30px 30px; box-sizing:border-box;
}
.servico h2.svParaQuem__titulo{
  font-family:'Anton', Impact, sans-serif; font-weight:400; font-size:26px; line-height:1.1; letter-spacing:.6px;
  text-transform:uppercase; color:#feec34; margin:0 0 20px;
}
.servico .svParaQuem__lista{ list-style:none; margin:0 0 26px; padding:0; }
.servico .svParaQuem__lista li{
  display:-webkit-box; display:-ms-flexbox; display:flex; gap:12px; -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start;
  margin:0 0 14px; font-size:15.5px; line-height:1.5; color:#e6e6df;
}
.servico .svParaQuem__lista li:last-child{ margin-bottom:0; }
.servico .svParaQuem__marca{
  -ms-flex-negative:0; flex-shrink:0; width:24px; height:24px; border-radius:50%; background:#feec34; color:#000;
  display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; margin-top:1px;
}
.servico .svParaQuem__marca svg{ width:14px; height:14px; }
.servico .svParaQuem__botao .btn--principal, .servico .svParaQuem__botao .btn--principal .btn__texto{ background:#feec34; border-color:#feec34; color:#000; }
.servico .svParaQuem__botao .btn--principal .btn__seta{ border-color:#000; }
.servico .svParaQuem__botao .btn--principal:hover, .servico .svParaQuem__botao .btn--principal:hover .btn__texto{ background:#fff; border-color:#fff; color:#000; }

/* ==========================================================================
   PERGUNTAS
   ========================================================================== */
.servico .svFaq{ padding:78px 0 64px; }
.servico .svFaq__lista{ border-top:1px solid #e6e6df; }
.servico .svFaq__item{ border-bottom:1px solid #e6e6df; }
.servico .svFaq__item summary{
  list-style:none; cursor:pointer; padding:22px 0;
  display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between; gap:20px;
  font-size:18px; font-weight:700; line-height:1.35; color:#000;
}
.servico .svFaq__item summary::-webkit-details-marker{ display:none; }
.servico .svFaq__item summary i{
  -ms-flex-negative:0; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:#feec34; position:relative;
  -webkit-transition:-webkit-transform .25s ease; transition:transform .25s ease;
}
.servico .svFaq__item summary i::before, .servico .svFaq__item summary i::after{
  content:''; position:absolute; left:50%; top:50%; background:#000; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);
}
.servico .svFaq__item summary i::before{ width:12px; height:2px; }
.servico .svFaq__item summary i::after{ width:2px; height:12px; }
.servico .svFaq__item[open] summary i{ -webkit-transform:rotate(45deg); transform:rotate(45deg); }
.servico .svFaq__resposta{ padding:0 44px 24px 0; }
.servico .svFaq__resposta p{ margin:0; font-size:16px; line-height:1.68; color:#4a4a44; }

/* ==========================================================================
   OS OUTROS SERVIÇOS
   ========================================================================== */
.servico .svOutros{ padding:10px 0 84px; }
.servico .svOutros__grade{ display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap; gap:16px; }
.servico .svOutro{
  -webkit-box-flex:1; -ms-flex:1 1 280px; flex:1 1 280px; min-width:0;
  display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; gap:8px;
  padding:28px 26px 24px; border-radius:20px; background:#fff; border:1px solid #e6e6df; color:#111; text-decoration:none;
  -webkit-transition:-webkit-transform .25s ease, box-shadow .25s ease; transition:transform .25s ease, box-shadow .25s ease;
}
.servico .svOutro:hover{ -webkit-transform:translateY(-4px); transform:translateY(-4px); box-shadow:0 26px 50px -30px rgba(0,0,0,.45); border-color:#111; }
.servico .svOutro__chapeu{ font-size:11px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:#8a8a80; }
.servico .svOutro__nome{ font-family:'Anton', Impact, sans-serif; font-size:24px; line-height:1.08; letter-spacing:.5px; text-transform:uppercase; color:inherit; }
.servico .svOutro__frase{ font-size:14.5px; line-height:1.55; color:#55554e; -webkit-box-flex:1; -ms-flex:1; flex:1; }
.servico .svOutro__ir{ margin-top:10px; font-size:12.5px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:#111; display:inline-flex; align-items:center; gap:8px; }
.servico .svOutro__ir::after{ content:''; width:8px; height:8px; border-right:2.5px solid currentColor; border-top:2.5px solid currentColor; -webkit-transform:rotate(45deg); transform:rotate(45deg); }
.servico .svOutro--completa{ background:#000; color:#fff; border-color:#000; }
.servico .svOutro--completa .svOutro__chapeu{ color:#feec34; }
.servico .svOutro--completa .svOutro__frase{ color:#cfcfc4; }
.servico .svOutro--completa .svOutro__ir{ color:#feec34; }
.servico .svOutro--completa:hover{ background:#feec34; color:#000; border-color:#feec34; }
.servico .svOutro--completa:hover .svOutro__chapeu, .servico .svOutro--completa:hover .svOutro__frase, .servico .svOutro--completa:hover .svOutro__ir{ color:#000; }

/* ==========================================================================
   TELAS MENORES
   ========================================================================== */
@media (max-width: 980px){
  .servico .svAbre__caixa{ padding:44px 36px 46px; gap:36px; }
  .servico h1.svTitulo, .servico h2.svTitulo{ font-size:46px; }
  .servico .svAbre__video{ -ms-flex-preferred-size:250px; flex-basis:250px; width:250px; }
  .servico .svSecao__titulo{ font-size:34px; }
  .servico h2.svPorque__titulo{ font-size:38px; }
}
@media (max-width: 768px){
  .servico .svAbre{ padding:0 12px 18px; }
  .servico .svAbre__caixa{ -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; padding:34px 22px 36px; border-radius:22px; gap:30px; }
  .servico .svAbre__texto{ -ms-flex-preferred-size:auto; flex-basis:auto; }
  .servico .svAbre__video{ -ms-flex-preferred-size:auto; flex-basis:auto; width:min(260px, 72vw); margin:0 auto; }
  .servico h1.svTitulo, .servico h2.svTitulo{ font-size:38px; line-height:1.26; letter-spacing:1px; text-decoration-thickness:3px; text-underline-offset:6px; }
  .servico .svFrase{ font-size:18px; }
  .servico .svResumo{ font-size:15.5px; }
  .servico .svBotoes .btn{ width:100%; }
  .servico .svEntregas{ padding-top:56px; padding-bottom:48px; }
  .servico .svComo, .servico .svFaq{ padding:56px 0 48px; }
  .servico .svPorque{ padding:60px 0 56px; }
  .servico .svPorque__grade{ gap:32px; }
  .servico .svParaQuem{ -ms-flex-preferred-size:100%; flex-basis:100%; min-width:0; }
  .servico h2.svPorque__titulo{ font-size:32px; }
  .servico .svSecao__titulo{ font-size:30px; margin-bottom:28px; }
  .servico .svFaq__item summary{ font-size:16.5px; padding:18px 0; }
  .servico .svFaq__resposta{ padding-right:0; }
  .servico .svOutros{ padding-bottom:56px; }
}

/* as entregas em três colunas (seis viram duas fileiras); quando são quatro, uma fileira de quatro */
@media (min-width: 769px){
  .servico .svEntregas .entregaCartao{ -webkit-box-flex:0; -ms-flex:0 0 33.333%; flex:0 0 33.333%; max-width:33.333%; }
  .servico .svEntregas--quatro .entregaCartao{ -ms-flex:0 0 25%; flex:0 0 25%; max-width:25%; }
}

/* o "antes e depois": a caixa da abertura de novo, mais para dentro da página */
.servico .svAntes{ padding-top:26px; }
.servico .svAntes .svAbre__caixa{ padding-top:48px; padding-bottom:50px; }
.servico h2.svAntes__titulo{ font-size:44px; }
@media (max-width:768px){ .servico h2.svAntes__titulo{ font-size:32px; } }

/* seis etapas (ou três): três por fileira, todas do mesmo tamanho */
@media (min-width:769px){ .servico .svEtapas--tres .svEtapa{ -ms-flex-preferred-size:calc(33.333% - 11px); flex-basis:calc(33.333% - 11px); } }

/* ==========================================================================
   A LINHA DO TEMPO DAS ETAPAS
   Preta, com os ícones da ferramenta em amarelo, uma linha ligando os
   marcos e as etapas lado a lado. Rola para o lado: setas no computador,
   dedo no celular. Substitui a grade de cartões (.svEtapas).
   ========================================================================== */
.servico .svLinha{ background:#000; color:#fff; padding:78px 0 64px; overflow:hidden; }
.servico .svLinha .svSecao__titulo{ color:#fff; margin:0; text-align:left; }
.servico .svLinha__cab{ display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:end; -ms-flex-align:end; align-items:flex-end; -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between; gap:24px; margin-bottom:44px; }
.servico .svLinha__setas{ display:-webkit-box; display:-ms-flexbox; display:flex; gap:10px; -ms-flex-negative:0; flex-shrink:0; }
.servico .svLinha__seta{ width:48px; height:48px; border-radius:50%; border:2px solid #fff; background:transparent; color:#fff; cursor:pointer; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; padding:0; -webkit-transition:.2s; transition:.2s; }
.servico .svLinha__seta svg{ width:20px; height:20px; }
.servico .svLinha__seta--antes svg{ -webkit-transform:rotate(180deg); transform:rotate(180deg); }
.servico .svLinha__seta:hover{ background:#feec34; border-color:#feec34; color:#000; }
.servico .svLinha__seta:disabled{ opacity:.25; cursor:default; background:transparent; border-color:#fff; color:#fff; }

.servico .svLinha__janela{ overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; scrollbar-width:none; cursor:grab; padding:0 max(20px, calc((100% - 1140px) / 2 + 20px)); scroll-padding-left:max(20px, calc((100% - 1140px) / 2 + 20px)); }
.servico .svLinha__janela::-webkit-scrollbar{ display:none; }
.servico .svLinha__janela.arrastando{ cursor:grabbing; scroll-snap-type:none; }
.servico .svLinha__trilho{ list-style:none; margin:0; padding:0; display:-webkit-box; display:-ms-flexbox; display:flex; gap:20px; width:-webkit-max-content; width:max-content; }

.servico .svPasso{ position:relative; -ms-flex-negative:0; flex-shrink:0; width:300px; scroll-snap-align:start; padding:0 0 8px; }
/* a linha que atravessa os marcos: cada etapa desenha o próprio pedaço, e eles se emendam */
.servico .svPasso__marco{ position:relative; height:72px; margin-bottom:22px; }
.servico .svPasso__marco::before{ content:''; position:absolute; left:0; right:-20px; top:35px; border-top:2px dashed #3a3a34; }
.servico .svPasso:last-child .svPasso__marco::before{ right:auto; width:36px; }
.servico .svPasso__icone{ position:relative; z-index:1; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; width:72px; height:72px; border-radius:50%; background:#feec34; color:#000; -webkit-transition:-webkit-transform .3s ease; transition:transform .3s ease; }
.servico .svPasso__icone svg{ width:32px; height:32px; }
.servico .svPasso:hover .svPasso__icone{ -webkit-transform:scale(1.08); transform:scale(1.08); }
.servico .svPasso__num{ position:absolute; left:56px; top:-6px; z-index:2; font-family:'Anton', Impact, sans-serif; font-size:13px; letter-spacing:.5px; color:#feec34; background:#000; border:2px solid #feec34; border-radius:20px; padding:3px 8px 2px; line-height:1; }
.servico h3.svPasso__titulo{ font-family:'Anton', Impact, sans-serif; font-weight:400; font-size:24px; line-height:1.1; letter-spacing:.6px; text-transform:uppercase; color:#fff; margin:0 0 12px; }
.servico .svPasso__texto{ margin:0; font-size:15px; line-height:1.62; color:#cfcfc4; }
.servico .svPasso__itens{ list-style:none; margin:16px 0 0; padding:0; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap; gap:8px; }
.servico .svPasso__itens li{ display:-webkit-inline-box; display:-ms-inline-flexbox; display:inline-flex; -webkit-box-align:center; -ms-flex-align:center; align-items:center; gap:6px; font-family:'Ubuntu','Open Sans',system-ui,sans-serif; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#fff; background:#161616; border:1px solid #2b2b2b; border-radius:20px; padding:6px 11px 6px 8px; }
.servico .svPasso__itens li svg{ width:14px; height:14px; color:#feec34; -ms-flex-negative:0; flex-shrink:0; }
.servico .svLinha__dica{ display:none; margin:26px 20px 0; font-family:'Ubuntu','Open Sans',system-ui,sans-serif; font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:#8a8a80; }
.servico .svLinha__dica svg{ width:14px; height:14px; vertical-align:-3px; margin-right:6px; }
@media (max-width:768px){
  .servico .svLinha{ padding:56px 0 48px; }
  .servico .svLinha__cab{ margin-bottom:30px; }
  .servico .svLinha__setas{ display:none; }
  .servico .svLinha__janela{ padding:0 20px; scroll-padding-left:20px; }
  .servico .svPasso{ width:min(300px, 78vw); }
  .servico h3.svPasso__titulo{ font-size:21px; }
  .servico .svLinha__dica{ display:block; }
}
