@font-face{font-family:Inter;src:url(../fonts/Inter.woff2) format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:Fraunces;src:url(../fonts/Fraunces.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Fraunces;src:url(../fonts/Fraunces-Italic.woff2) format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--grafite:#14171F;--limao:#C6F24E;--cinza:#6B6F76;--texto:#14171F;--fundo:#F5F6F3;--nevoa:#E6E8E3;--sombra:0 8px 24px rgba(20,23,31,.18)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;font-size:18px;line-height:1.6;color:var(--texto);background:var(--fundo);overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--grafite);color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:16px 24px;border-radius:4px;box-shadow:var(--sombra);transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.zap{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:var(--sombra);z-index:50}
.zap svg{width:30px;height:30px}
.menu{display:flex;gap:32px;list-style:none;padding:0;font-size:16px}.menu a{text-decoration:none}
.logo{height:48px;width:auto}
.tira{padding:96px 24px 0;height:220px;overflow:hidden;background:var(--fundo)}
.tira h2{font-size:31px;line-height:1.25;max-width:1120px;margin:0 auto}
.tira ul{max-width:1120px;margin:24px auto 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;font-size:16px}
@media (max-width:1024px){.menu{display:none}}
@media (max-width:700px){body{font-size:17px}.logo{height:38px}.zap{width:52px;height:52px}.tira{padding:48px 16px 0}.tira ul{grid-template-columns:1fr}.tira h2{font-size:25px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.cab{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(48px,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid #E6E8EB}
.cab .btn{padding:8px 16px;font-size:14px}
.topo{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:64px max(48px,calc((100vw - 1200px)/2));background:#fff}
.nome{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
h1{font-size:56px;line-height:1.04;font-weight:600;letter-spacing:-.03em;margin:16px 0}
h1 em{font-style:normal;background:var(--limao);padding:0 8px;border-radius:4px}
.cred{font-size:16px;color:var(--cinza)}.sub{margin:24px 0 32px;max-width:44ch}
.bento{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:240px 160px 160px;gap:16px}
.bento img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.b1{grid-row:1/4;object-position:50% 20%}.b2{object-position:50% 15%}
.b3,.b4{border-radius:4px;padding:24px;display:flex;flex-direction:column;justify-content:center}
.b3{background:var(--limao);color:var(--grafite)}.b3 strong{font-size:39px;line-height:1;font-weight:600}.b3 span{font-size:16px;margin-top:8px}
.b4{background:var(--grafite);color:#fff;gap:4px;font-weight:600}.b4 span::before{content:"● ";color:var(--limao)}
.tira{background:#F4F5F2}
@media (max-width:1024px){.cab{padding:16px}.cab .btn{display:none}.topo{grid-template-columns:1fr;padding:32px 16px 48px;gap:32px}h1{font-size:39px}
.bento{grid-template-rows:200px 120px 120px;gap:8px}.b3{padding:16px}.b3 strong{font-size:28px}.b4{padding:16px;font-size:14px}}
html{scroll-padding-top:96px}.dp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cab{position:sticky;top:0;z-index:40}
.menu li{position:relative}.menu details summary{cursor:pointer;list-style:none}.menu details summary::-webkit-details-marker{display:none}
.menu details summary::after{content:" ▾";font-size:12px}
.menu details ul{position:absolute;top:32px;left:-16px;background:#fff;box-shadow:var(--sombra);border-radius:4px;list-style:none;padding:8px 0;min-width:240px}
.menu details li a{display:block;padding:8px 16px}.menu details li a:hover{background:var(--fundo)}
section.s{padding-block:128px}.wrap{max-width:1200px;margin:0 auto;padding-inline:48px}
h2{font-size:39px;line-height:1.15;font-weight:600;letter-spacing:-.02em;margin-bottom:48px}
.branco{background:#fff}.claro{background:#F4F5F2}.limao{background:var(--limao)}.nevoa{background:var(--nevoa)}
.escuro{background:var(--grafite);color:#fff}
.aval{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aval div{border:1px dashed rgba(255,255,255,.35);border-radius:4px;height:200px;display:grid;place-items:center;color:#C9CCD1;font-size:14px;text-align:center;padding:16px}
.bento2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0}
.bento2 li{background:#fff;border-radius:4px;padding:32px;box-shadow:0 1px 0 #E6E8EB}
.bento2 li:last-child{grid-column:span 3}.bento2 li:first-child{grid-column:span 2;background:var(--grafite);color:#fff}.bento2 li:first-child h3{color:var(--limao)}
.bento2 h3{font-size:20px;font-weight:600;margin-bottom:8px}.bento2 p{font-size:17px}.bento2 p::first-letter{text-transform:uppercase}
.cta{margin-top:48px}
.sobre{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.sobre img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:4px}
.sobre p+p{margin-top:16px}.sobre .txtc{max-width:60ch}
.queixas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0}
.queixas li{background:#fff;border-radius:4px;padding:32px;box-shadow:var(--sombra)}
.queixas h3{font-size:20px;font-weight:600;margin-bottom:8px}.queixas p{font-size:17px}.queixas p::first-letter{text-transform:uppercase}
.caixa{background:var(--grafite);color:#fff;border-radius:4px;padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:64px}
.caixa h2{color:#fff;margin-bottom:0}.caixa h2 em{font-style:normal;color:var(--limao)}.caixa p+p{margin-top:16px}
.btn--limao{background:var(--limao);color:var(--grafite);margin-top:32px}
.locais{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.locais address{font-style:normal;background:var(--fundo);border-radius:4px;padding:32px;font-size:17px}
.locais address strong{display:block;font-size:20px;margin-bottom:8px}
.locais address:last-child{background:var(--limao)}
.intro{max-width:60ch;margin:-24px 0 48px}.agenda{margin-top:32px}
.blog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.blog article{background:#fff;border-radius:4px;overflow:hidden}.blog .img{height:180px;background:#D5D8D0}
.blog h3{font-size:20px;font-weight:600;padding:24px}
.faq{max-width:800px}.faq details{border-top:1px solid #DADDE0}.faq details:last-child{border-bottom:1px solid #DADDE0}
.faq summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:600;list-style:none;padding:16px 0}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:28px;font-weight:400;flex-shrink:0}
.faq details[open] summary::after{content:"−"}.faq details p{padding:0 0 24px;max-width:65ch}
.rod{background:var(--grafite);color:#fff;padding:96px 0 48px;font-size:16px}.rod .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.rod strong{display:block;font-size:20px;margin-bottom:8px}.rod p{margin-bottom:8px;color:#E6E8EB}.rod a{color:#fff}
.rod .logo{height:56px;margin-bottom:16px}.legal{border-top:1px solid rgba(255,255,255,.2);margin-top:48px;padding-top:24px;font-size:14px;color:#C9CCD1}
:focus-visible{outline:3px solid var(--limao);outline-offset:3px}
@media (max-width:1024px){section.s{padding-block:64px}.wrap{padding-inline:16px}h2{font-size:31px;margin-bottom:32px}
.aval,.bento2,.sobre,.queixas,.caixa,.locais,.blog,.rod .wrap{grid-template-columns:minmax(0,1fr)}.bento2 li:first-child,.bento2 li:last-child{grid-column:auto}
.caixa{padding:32px 24px;gap:24px}.sobre{gap:32px}.rod{padding-bottom:96px}.aval div{height:140px}}
/* conselho de design 29/10/2026 */
:root{--cinza:#4A4E55}
.bento2 li:last-child,.bento2 li:first-child{grid-column:auto}
.queixas li{border-top:4px solid var(--limao)}
.b4{font-size:17px;text-decoration:none}.b4:hover{outline:2px solid var(--limao)}
.locais+.agenda+.cta,.faq+.cta{margin-top:48px}
.mmenu{display:none}
@media (max-width:1024px){.mmenu{display:block;position:relative}
.mmenu summary{list-style:none;cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;gap:8px;padding:0 16px;border:1px solid var(--grafite);border-radius:4px;font-weight:600}
.mmenu summary::-webkit-details-marker{display:none}.mmenu summary::before{content:"☰";font-size:20px}
.mmenu ul{position:absolute;right:0;top:56px;background:#fff;box-shadow:var(--sombra);border-radius:4px;list-style:none;padding:8px 0;min-width:260px;z-index:50}
.mmenu li a{display:flex;align-items:center;min-height:48px;padding:0 24px;text-decoration:none}.mmenu .msub a{padding-left:40px;font-size:16px}
.cab .mmenu .btn{display:flex;margin:8px 16px;justify-content:center}}
@media (max-width:700px){.logo{height:44px}.b4{font-size:17px}}
/* conselho de webdesign 29/10/2026, rodada 1 */
.legal{text-align:center}
.redes{display:flex;gap:16px;margin-top:8px}.redes a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center}.redes a:hover{background:var(--limao);color:var(--grafite)}
.gmap{display:block;width:100%;height:240px;border:0;border-radius:4px;margin-top:16px}
@media (max-width:700px){main .btn{width:100%;justify-content:center;min-height:52px}}
/* conselho de webdesign 29/10/2026, rodada 2 */
.rod .legal{display:block;text-align:center}
.cab .btn{min-height:44px}
.topo h1{line-height:1.16}.topo h1 em{padding:2px 8px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
#avaliacoes h2,#blog h2,#avaliacoes .cta{text-align:center}
.locais{align-items:start}.locais .gmap{margin-top:12px}
@media (max-width:1024px){.topo .txt{display:flex;flex-direction:column;align-items:flex-start}.topo .txt .sub{order:3;margin-top:24px}.topo .txt>.btn{order:2;margin-top:16px}}
@media (max-width:700px){.cab .logo{height:51px}.zap{width:48px;height:48px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.zap svg{width:26px;height:26px}.rod{padding-bottom:88px}main{padding-bottom:0}}/* Bloco das faixas da página de serviço (skill site-pagina-servico, regra 6).
   Origem: Dr. Douglas Dias e Silva, design-migracao/_fonte-servico.html (20/10/2026).
   Colar no FIM do último <style> do _fonte-servico.html. As variáveis de cor (--marinho, --areia-fundo, --claro,
   --tinta, --tinta-suave, --areia-suave, --branco, --linha, --dourado, --dourado-escuro) e de espaço (--s1 a --s8,
   --raio) são as da home do Douglas: trocar pelos nomes da paleta da home do cliente. */
/* ---------- corpo em faixas, como a home (Marcelo, 20/10/2026: "Pode entrar tudo na skill") ----------
   Cada H2 do texto do editor abre uma faixa nova, nas cores da home: 1 areia, 2 marinho (a única escura do corpo),
   depois claro e areia alternando. Tudo pelo CSS do tema: o texto no editor do WordPress continua igual, sem bloco de
   grupo, e vale sozinho para toda página de serviço. Como pinta a faixa sem caixa em volta: cada peça do texto ganha o
   fundo da faixa e uma sombra larga da mesma cor (box-shadow 100vmax), cortada em cima e embaixo pelo clip-path só no
   vão até a peça vizinha (--mt, mais 1px por cima para não aparecer risco entre as peças). Entre duas faixas o vão é o dobro do respiro: metade com a cor velha, metade com a nova.
   Lista vira cartões; cada H3 com o parágrafo seguinte vira uma caixa; no fim, a chamada final (modelo do tema). */
.serv{padding-bottom:0;--fx-pad:var(--s8)}
.serv .prose>*{--mt:var(--s3);margin-top:var(--mt)}
.serv .prose>:first-child{--mt:var(--s8)}
.serv .prose>h2{--mt:calc(var(--fx-pad) * 2);--fx-t:calc(var(--fx-pad) + 1px)}
.serv .prose>h3{--mt:var(--s2)}
.serv .prose>h2+h3{--mt:var(--s5);padding-top:var(--s3)}
.serv .prose>h3+p{--mt:0px;--fx-t:6px;margin-top:0;box-shadow:0 -8px 0 0 var(--card),0 0 0 100vmax var(--fx)} /* a sombra cor do cartão cobre a emenda com a pergunta */
.serv .prose>.prose__cta{--mt:var(--s4)}
.serv .prose>.prose__revisao{--mt:var(--s6)}
.serv .prose>:last-child{margin-bottom:var(--fx-pad);--fx-b:var(--fx-pad)}
.serv .prose>h2~*:has(+h2){--fx-b:var(--fx-pad)}

/* cores de cada faixa (claras: tinta; marinho: texto areia e títulos claros) */
.serv .prose>h2,.serv .prose>h2~*{--fx:var(--areia-fundo);--card:var(--claro);--fx-txt:var(--tinta-suave);--fx-tit:var(--tinta);--fx-linha:var(--linha);--fx-filete:var(--dourado-escuro)}
.serv .prose>h2:nth-of-type(2),.serv .prose>h2:nth-of-type(2)~*{--fx:var(--marinho);--card:rgba(247,243,234,.07);--fx-txt:var(--areia-suave);--fx-tit:var(--branco);--fx-linha:rgba(186,152,88,.3);--fx-filete:var(--dourado)}
.serv .prose>h2:nth-of-type(3),.serv .prose>h2:nth-of-type(3)~*{--fx:var(--claro);--card:var(--areia-fundo);--fx-txt:var(--tinta-suave);--fx-tit:var(--tinta);--fx-linha:var(--linha);--fx-filete:var(--dourado-escuro)}
.serv .prose>h2:nth-of-type(4),.serv .prose>h2:nth-of-type(4)~*{--fx:var(--areia-fundo);--card:var(--claro)}
.serv .prose>h2:nth-of-type(5),.serv .prose>h2:nth-of-type(5)~*{--fx:var(--claro);--card:var(--areia-fundo)}
.serv .prose>h2:nth-of-type(6),.serv .prose>h2:nth-of-type(6)~*{--fx:var(--areia-fundo);--card:var(--claro)}
.serv .prose>h2:nth-of-type(7),.serv .prose>h2:nth-of-type(7)~*{--fx:var(--claro);--card:var(--areia-fundo)}
.serv .prose>h2:nth-of-type(8),.serv .prose>h2:nth-of-type(8)~*{--fx:var(--areia-fundo);--card:var(--claro)}

/* a faixa em si */
.serv .prose>h2,.serv .prose>h2~*{background-color:var(--fx);box-shadow:0 0 0 100vmax var(--fx);
  clip-path:inset(calc(-1 * var(--fx-t,calc(var(--mt) + 1px))) -100vmax calc(-1 * var(--fx-b,0px)))}
.serv .prose>h2{color:var(--fx-tit)}
.serv .prose>h2::before{background:var(--fx-filete)}
.serv .prose>h2~p,.serv .prose>h2~ul li{color:var(--fx-txt)}
.serv .prose>h2~h3{color:var(--fx-tit)}
.serv .prose>h2~* a:not(.btn){color:var(--fx-tit)}
.serv .prose>h2~.prose__revisao{color:var(--fx-txt);border-top-color:var(--fx-linha)}

/* lista = cartões */
.serv .prose>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
.serv .prose>ul li{padding:var(--s4) var(--s3) var(--s3);background:var(--card);border:1px solid var(--fx-linha);border-radius:var(--raio)}
.serv .prose>ul li+li{margin-top:0}
.serv .prose>ul li::before{left:var(--s3);top:0;width:32px;height:2px;background:var(--dourado)}

/* H3 + parágrafo = uma caixa (H3 que não é pergunta do FAQ) */
.serv .prose>h3{border-top:0;padding:var(--s3) var(--s3) var(--s1);background-color:var(--card);border-radius:var(--raio) var(--raio) 0 0}
.serv .prose>h3+p{padding:0 var(--s3) var(--s3);background-color:var(--card);border-radius:0 0 var(--raio) var(--raio)}

/* FAQ de abrir e fechar em todo site (Marcelo, 22/10/2026: "adote em todo site que fizermos: FAQ de abrir e fechar").
   O montar_pagina.py troca cada H3 + resposta depois de "Perguntas frequentes" por <details class="prose__faq"><summary>. */
.serv .prose>.prose__faq{--mt:var(--s2);background-color:var(--card);border-radius:var(--raio);text-align:left}
.serv .prose>h2+.prose__faq{--mt:var(--s5)}
.serv .prose>.prose__faq>summary{list-style:none;cursor:pointer;min-height:64px;padding:16px 56px 16px 24px;position:relative;display:flex;align-items:center;font:600 18px/1.4 var(--sans);color:var(--fx-tit)}
.serv .prose>.prose__faq>summary::-webkit-details-marker{display:none}
.serv .prose>.prose__faq>summary::after{content:"";position:absolute;right:24px;top:50%;width:10px;height:10px;border-right:2px solid var(--fx-filete);border-bottom:2px solid var(--fx-filete);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.serv .prose>.prose__faq[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
.serv .prose>.prose__faq>summary:focus-visible{outline:2px solid var(--fx-filete);outline-offset:2px}
.serv .prose>.prose__faq>p{margin:0;padding:0 24px 24px;color:var(--fx-txt);font-size:18px;line-height:1.6}

/* chamada final (fora do texto do editor, fica no modelo do tema); cor diferente da última faixa */
.serv-cta{background:var(--areia-fundo);text-align:center}
.serv:has(.prose>h2:nth-of-type(1):last-of-type)+.serv-cta,.serv:has(.prose>h2:nth-of-type(4):last-of-type)+.serv-cta,
.serv:has(.prose>h2:nth-of-type(6):last-of-type)+.serv-cta,.serv:has(.prose>h2:nth-of-type(8):last-of-type)+.serv-cta{background:var(--claro)}
.serv-cta__in{max-width:680px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.serv-cta__selo{width:112px;height:112px;border-radius:50%;border:1px solid rgba(186,152,88,.45);display:flex;align-items:center;justify-content:center;background:var(--marinho)}
.serv-cta__selo img{width:58px;height:auto}
.serv-cta__cred{font-size:.875rem;letter-spacing:.02em;color:var(--tinta-suave)}

@media (max-width:1024px){
  .serv .prose>.prose__revisao{--mt:var(--s5)}
}
@media (max-width:960px){
  .serv{--fx-pad:var(--s7)}
  .serv .prose>:first-child{--mt:var(--s7)}
}
@media (max-width:640px){
  .serv{--fx-pad:var(--s6)}
  .serv .prose>:first-child{--mt:var(--s6)}
  .serv .prose>ul{grid-template-columns:minmax(0,1fr)}
  .serv .prose>h3,.serv .prose>h3+p{padding-left:var(--s2);padding-right:var(--s2)}
}

:root{--areia-fundo:#F4F5F2;--claro:#fff;--marinho:var(--grafite);--tinta:var(--grafite);--tinta-suave:#3A3F47;--areia-suave:#E6E8EB;
--branco:#fff;--linha:#DADDE0;--dourado:var(--limao);--dourado-escuro:#4F6B0A;--sans:Inter,system-ui,sans-serif;--raio:4px;
--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;--s8:128px}
.serv{overflow:hidden}.serv .prose{max-width:760px;margin:0 auto;padding:0 24px}

.prose h2{font-size:31px;line-height:1.25;font-weight:600;padding-top:16px;position:relative}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:48px;height:4px}
.prose h3{font-size:20px;font-weight:600}.prose ul{list-style:none;padding:0}.prose ul li{position:relative}
.prose ul li::before{content:"";position:absolute}
.prose__revisao{font-size:15px;border-top:1px solid;padding-top:24px}
.serv-cta{padding-block:96px}.serv-cta__selo img{width:64px}
@media (max-width:640px){.prose h2{font-size:25px}.serv-cta{padding-block:64px}}
/* conselho de webdesign 29/10/2026, rodada 2 */
.serv{--fx-pad:96px}
.prose h2{text-align:center}.prose h2::before{left:50%;transform:translateX(-50%)}.prose__cta{text-align:center}
.serv .prose>ul li:last-child:nth-child(odd){grid-column:1/-1}
.serv .prose>h2{margin-bottom:0} /* D12: o h2{margin-bottom:48px} da home vazava para a faixa e abria um risco da cor do fundo entre o título e o texto */
.serv .prose>.prose__foto{--mt:var(--s5)}.prose__foto img{display:block;width:100%;max-width:420px;margin:0 auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:4px}
.serv .prose>.locais{--mt:var(--s5);width:min(1104px,calc(100vw - 32px));margin-left:50%;transform:translateX(-50%)}
.serv .prose>.locais address{background:var(--card)}.serv .prose>.locais address:last-child{background:var(--card);border-top:4px solid var(--limao)}
.serv-cta__selo img{width:64px}
@media (max-width:960px){.serv{--fx-pad:72px}}
@media (max-width:640px){.serv{--fx-pad:48px}}
