/* ============ ALIASES — tokens do theme.json com os nomes curtos da referência ============ */
:root{
  --creme:var(--wp--preset--color--creme); --creme-2:var(--wp--preset--color--creme-2); --papel:var(--wp--preset--color--papel);
  --bordo:var(--wp--preset--color--bordo); --vinho:var(--wp--preset--color--vinho); --vinho-profundo:var(--wp--preset--color--vinho-profundo); --bordo-claro:var(--wp--preset--color--bordo-claro);
  --rose:var(--wp--preset--color--rose); --latao:var(--wp--preset--color--latao); --latao-claro:var(--wp--preset--color--latao-claro);
  --tinta:var(--wp--preset--color--ink); --tinta-suave:var(--wp--preset--color--ink-muted); --sucesso:var(--wp--preset--color--sucesso); --erro:var(--wp--preset--color--erro);

  --f-display:var(--wp--preset--font-family--heading);
  --f-corpo:var(--wp--preset--font-family--body);
  --f-assinatura:var(--wp--preset--font-family--signature);

  --r-card:14px; --r-input:10px; --r-pill:999px; --h-nav:52px; --h-navbar:90px;

  --sombra-1:var(--wp--preset--shadow--sm); --sombra-2:var(--wp--preset--shadow--md); --sombra-cta:var(--wp--preset--shadow--cta);

  --s-1:var(--wp--preset--spacing--1); --s-2:var(--wp--preset--spacing--2); --s-3:var(--wp--preset--spacing--3); --s-4:var(--wp--preset--spacing--4); --s-5:var(--wp--preset--spacing--5);
  --s-6:var(--wp--preset--spacing--6); --s-7:var(--wp--preset--spacing--7); --s-8:var(--wp--preset--spacing--8); --s-9:var(--wp--preset--spacing--9);

  --ease-saida:cubic-bezier(.16,1,.3,1); --t-rapida:.2s; --t-media:.45s;

  --largura-max:1400px;
  --pad-container:clamp(1.25rem,4vw,2.5rem);
  --margem-bloco:clamp(.75rem,3vw,40px);
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
body{-webkit-font-smoothing:antialiased}
::selection{background:var(--bordo);color:var(--creme)}
body{scrollbar-width:thin;scrollbar-color:var(--bordo) var(--creme-2)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--creme-2)}
::-webkit-scrollbar-thumb{background:var(--bordo);border-radius:5px;border:2px solid var(--creme-2)}
:focus-visible{outline:2px solid var(--latao);outline-offset:2px;border-radius:2px}
.wp-site-blocks > main,
.wp-site-blocks > footer{margin-top:0;margin-bottom:0}
.wp-block-post-content > *{margin-top:0}

/* Container: grupo externo sem padding lateral (o padding mora no elemento
   interno), pra garantir que toda seção alinhe com o menu do header. */
.nv-container{max-width:var(--largura-max);margin-inline:auto;padding-inline:var(--pad-container)}
.nv-container-narrow{max-width:900px;margin-inline:auto;padding-inline:var(--pad-container)}

.t-label{font-family:var(--f-corpo);font-weight:600;font-size:var(--wp--preset--font-size--xs);letter-spacing:.14em;text-transform:uppercase}
.t-corpo-sm{font-size:var(--wp--preset--font-size--sm);line-height:1.6}
.t-corpo-lg{font-size:var(--wp--preset--font-size--lg);line-height:1.7}
.t-caption{font-size:var(--wp--preset--font-size--xs);line-height:1.5;color:var(--tinta-suave)}
.t-assinatura{font-family:var(--f-assinatura);font-weight:400;line-height:1.2}
.t-fato{color:var(--bordo);font-style:italic;font-weight:500}

/* ============ SEÇÕES — utilitários de fundo ============ */
.secao{padding-block:var(--s-9);position:relative;overflow:clip}
.secao-alt{background:var(--creme-2)}
.secao-degrade{background:linear-gradient(180deg,var(--creme) 0%,var(--creme-2) 38%)}
.secao-degrade-inv{background:linear-gradient(180deg,var(--creme-2) 0%,var(--creme) 38%)}
.secao-escura{background:linear-gradient(160deg,var(--vinho-profundo) 0%,var(--bordo) 130%);color:var(--creme)}
.secao-escura ::selection{background:var(--creme);color:var(--bordo)}
.secao-escura h2,.secao-escura h3,.secao-escura p{color:var(--creme)}
.cabecalho-secao{text-align:center;margin-bottom:var(--s-7)}
.cabecalho-secao p{margin:var(--s-4) auto 0;color:var(--tinta-suave);max-width:58ch}
.secao-escura .cabecalho-secao p{color:rgba(248,240,227,.78)}
.marca-dagua{position:absolute;width:min(560px,70vw);aspect-ratio:1/1;opacity:.05;pointer-events:none;color:var(--bordo);z-index:0}
.marca-dagua img{width:100%;height:100%;object-fit:contain}

/* ============ BOTÕES ============ */
/* O raio "Regra do Prato" (10px 26px 26px 10px) e a cor primária já vêm do
   theme.json (styles.elements.button). Aqui só o que o editor de blocos não
   cobre: padding/gap/tamanho de ícone e a variante secundária (outline). */
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:1rem 1.5rem;font-size:var(--wp--preset--font-size--base);line-height:1;transition:background var(--t-rapida) ease,color var(--t-rapida) ease,border-color var(--t-rapida) ease,transform var(--t-rapida) ease,box-shadow var(--t-rapida) ease}
.wp-block-button__link:hover{transform:translateY(-1px);box-shadow:var(--sombra-cta)}
.btn-lg .wp-block-button__link{font-size:1.0625rem;padding:1rem 2rem}

/* Secundário: outline nativo do Gutenberg (is-style-outline), recolorido pra
   paleta do projeto — sem criar uma segunda classe de botão em paralelo. */
.is-style-outline .wp-block-button__link{background:transparent;color:var(--bordo);border:1px solid var(--bordo)}
.is-style-outline .wp-block-button__link:hover{background:var(--rose);box-shadow:none;color:var(--bordo)}
.secao-escura .is-style-outline .wp-block-button__link{color:var(--creme);border-color:rgba(248,240,227,.55)}
.secao-escura .is-style-outline .wp-block-button__link:hover{background:rgba(248,240,227,.12);color:var(--creme)}

/* Ícone dos CTAs — sempre WhatsApp neste projeto, via mask (sem SVG solto em HTML) */
.btn-icone-whatsapp .wp-block-button__link::before{content:'';width:18px;height:18px;flex:none;background-color:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M7.9 20A9 9 0 1 0 4 16.1L2 22Z%22/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M7.9 20A9 9 0 1 0 4 16.1L2 22Z%22/></svg>') center/contain no-repeat}

/* ============ BADGES ============ */
.badge{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--wp--preset--font-size--xs);font-weight:600;padding:.4rem .9rem;border-radius:999px;line-height:1.2}
.badge-claro{background:var(--rose);color:var(--bordo)}

/* ============ NAVBAR ============ */
header.wp-block-template-part{position:sticky;top:0;z-index:100}
.navbar{background:rgba(248,240,227,.55);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid rgba(36,26,23,.05);transition:box-shadow var(--t-media) ease,background var(--t-media) ease}
.navbar.rolada{background:rgba(248,240,227,.68);border-bottom-color:rgba(36,26,23,.1);box-shadow:0 10px 30px -24px rgba(61,8,16,.4)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .navbar{background:rgba(248,240,227,.97)}
}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);min-height:var(--h-navbar);flex-wrap:nowrap}
.nav-logo{display:flex;align-items:center;gap:.65rem}
.nav-logo img{height:34px;width:auto}
.nav-logo-texto{font-family:var(--f-display);font-size:1.02rem;letter-spacing:.12em;text-transform:uppercase;line-height:1;color:var(--tinta);margin:0}
.nav-logo-texto a{color:inherit;text-decoration:none}
.nav-direita{display:flex;align-items:center;gap:var(--s-2)}
.nav-links{background:rgba(241,231,213,.6);border-radius:12px 26px 26px 12px;padding:0 1.6rem;min-height:var(--h-nav)}
.nav-links .wp-block-navigation-item__content{font-family:var(--f-corpo);font-size:.9rem;font-weight:500;color:var(--tinta)}
.nav-links .wp-block-navigation-item__content:hover{color:var(--bordo)}
.nav-cta .wp-block-button__link{min-height:var(--h-nav);padding:0 1.5rem;font-size:.875rem}

/* Toggle mobile — botão nativo com rótulo de texto (não ícone), pra não
   precisar de SVG solto nem de HTML custom só pra desenhar 3 barras. Fica
   100% editável (texto/cor) como qualquer outro botão do site. */
.navbar .site-header__toggle{display:none}
.site-header__toggle .wp-block-button__link{background:none;border:1px solid var(--bordo);color:var(--bordo);padding:.6rem 1rem;font-size:var(--wp--preset--font-size--xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;min-height:44px}
.site-header__toggle .wp-block-button__link:hover{background:var(--rose);transform:none;box-shadow:none}

@media (max-width:768px){
  .navbar-inner{min-height:66px}
  /* WordPress duplica a className do bloco de Navegação também na <ul>
     interna (wp-block-navigation__container), não só no <nav> — por isso o
     seletor aqui é qualificado por tag (nav.nav-links), senão a regra de
     position:fixed/transform bate nos dois elementos ao mesmo tempo e a UL
     interna "foge" do fluxo por conta própria, colapsando a altura do nav
     pai pra zero. */
  nav.nav-links{position:fixed;inset:66px 0 auto 0;height:auto;padding:var(--s-4) var(--pad-container) var(--s-5);border-radius:0 0 20px 20px;background:rgba(248,240,227,.92);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 24px 48px -24px rgba(61,8,16,.35);transform:translateY(-130%);transition:transform .4s var(--ease-saida);display:block}
  nav.nav-links.is-menu-open{transform:none}
  .navbar .nav-links .wp-block-navigation__container{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;position:static}
  .nav-links .wp-block-navigation-item__content{font-family:var(--f-display);font-size:1.1875rem;font-weight:400;padding:1.15rem 0}
  .navbar .nav-cta{display:none}
  .navbar .site-header__toggle{display:flex}
}

/* ============ HERO ============ */
.hero{background:var(--creme);color:var(--tinta);padding-block:clamp(1.75rem,2.6vw,2.75rem);position:relative;overflow:clip;min-height:calc(100svh - var(--h-navbar));display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,4vw,4rem);align-items:center;position:relative;z-index:1}
.hero-crp{color:var(--bordo);margin-bottom:var(--s-4)}
.hero h1{margin-bottom:var(--s-4);text-wrap:balance}
h2{text-wrap:balance}
.hero-sub{color:var(--tinta-suave);font-size:1.0625rem;max-width:64ch}
.hero-ctas{margin-top:var(--s-6)}
.cta-microcopy{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;font-size:var(--wp--preset--font-size--xs);color:var(--tinta-suave);align-items:center}
.cta-microcopy-item{display:inline-flex;align-items:center;gap:.45rem}
.cta-microcopy-item::before{content:'';width:14px;height:14px;flex:none;background-color:var(--latao);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%2212%22 r=%2210%22/><path d=%22M2 12h20%22/><path d=%22M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z%22/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%2212%22 r=%2210%22/><path d=%22M2 12h20%22/><path d=%22M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z%22/></svg>') center/contain no-repeat}
.hero-marca{position:absolute;top:-14%;right:-7%;width:min(50vw,620px);z-index:0;pointer-events:none}
.hero-marca img{width:100%;display:block}
.hero-visual{display:flex;justify-content:center;position:relative;z-index:1}
.hero-foto{position:relative;z-index:1;height:min(74vh,730px);max-width:100%;border-radius:22px;overflow:hidden;box-shadow:var(--sombra-2);margin:0}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}

@media (max-width:900px){
  .hero{min-height:0;padding-block:var(--s-7) var(--s-8)}
  .hero-grid{grid-template-columns:1fr;gap:var(--s-6)}
  .hero-sub{max-width:none}
  .hero-foto{width:100%;max-width:none;height:auto;aspect-ratio:1/1}
  .hero-foto img{object-position:50% 18%}
  .hero-marca{width:min(54vw,250px);top:-3%;right:-11%}
}
@media (max-width:520px){
  .hero-ctas .wp-block-button{width:100%}
  .hero-ctas .wp-block-button__link{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* ============ REVELAÇÃO NO SCROLL ============ */
/* Progressive enhancement: sem JS (ou motion reduzido) o conteúdo já nasce
   visível — só quando .js está na <html> (assets/js/navbar.js) é que o
   IntersectionObserver de assets/js/reveal.js some com a opacidade até o
   elemento entrar na tela. */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-saida),transform .7s var(--ease-saida)}
.js .reveal.in{opacity:1;transform:none}
.js .stagger > *{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-saida),transform .6s var(--ease-saida)}
.js .stagger.in > *{opacity:1;transform:none}
.stagger.in > :nth-child(1){transition-delay:.05s}
.stagger.in > :nth-child(2){transition-delay:.13s}
.stagger.in > :nth-child(3){transition-delay:.21s}
.stagger.in > :nth-child(4){transition-delay:.29s}
.stagger.in > :nth-child(5){transition-delay:.37s}
.stagger.in > :nth-child(6){transition-delay:.45s}
@media (prefers-reduced-motion:reduce){
  .js .reveal,.js .stagger > *{opacity:1;transform:none}
}

/* ============ SITUAÇÕES (bento) ============ */
/* Grid custom via className (não o layout "grid" nativo do bloco): o span
   assimétrico por item é mais simples e mais seguro de validar assim do
   que via atributo columnSpan/rowSpan do bloco. */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-5)}
.bento-a{grid-column:span 3;grid-row:span 2}
.bento-b{grid-column:span 3}
.bento-c{grid-column:span 3}
.bento-d{grid-column:span 2}
.bento-e{grid-column:span 2}
.bento-f{grid-column:span 2}
.bento-item{position:relative;background:var(--papel);border-radius:var(--r-card);padding:var(--s-6);display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;box-shadow:var(--sombra-1);transition:box-shadow var(--t-media) var(--ease-saida),transform var(--t-media) var(--ease-saida)}
.bento-item:hover{box-shadow:var(--sombra-2);transform:translateY(-3px)}
.bento-item p{font-family:var(--f-display);font-size:1.25rem;line-height:1.42;margin:0}
.bento-item.destacado p{font-size:1.625rem;line-height:1.28;max-width:22ch}
.bento-marca-wrap{position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:0;pointer-events:none}
.bento-marca{position:absolute;top:-19%;right:-6%;width:58%;max-width:270px}
.bento-item.destacado p{position:relative;z-index:1}
.bento-fecho{background:var(--bordo);color:var(--creme);gap:var(--s-4);align-items:flex-start;box-shadow:var(--sombra-cta)}
.bento-fecho:hover{box-shadow:0 14px 34px -12px rgba(110,15,30,.55);transform:translateY(-3px)}
.bento-fecho p{font-family:var(--f-corpo);font-size:1rem;color:rgba(248,240,227,.88);max-width:24ch}
.bento-fecho .wp-block-button{margin-top:var(--s-2)}
.bento-fecho .wp-block-button__link{background:var(--creme);color:var(--bordo)}
.bento-fecho .wp-block-button__link:hover{background:#fff}
@media (max-width:1024px){
  .bento-item.destacado{grid-column:span 6!important;grid-row:span 1!important}
  .bento-item:not(.destacado){grid-column:span 3!important}
}
@media (max-width:768px){
  .bento{display:flex;flex-direction:column;gap:0;background:var(--papel);border-radius:var(--r-card);box-shadow:var(--sombra-1);overflow:hidden}
  .bento .bento-item{background:transparent;box-shadow:none;border-radius:0;padding:var(--s-5);min-height:0}
  .bento .bento-item:hover{transform:none;box-shadow:none}
  .bento .bento-item + .bento-item{border-top:1px solid rgba(36,26,23,.1)}
  .bento .bento-item p{font-size:1.0625rem;line-height:1.45}
  .bento .bento-item.destacado p{font-size:1.1875rem}
  .bento .bento-fecho{background:var(--bordo);padding:var(--s-6) var(--s-5);box-shadow:none;border-top:none}
  .bento .bento-fecho:hover{transform:none;box-shadow:none}
}

/* ============ QUEM É (bento3) ============ */
.fato{color:var(--bordo);font-style:italic;font-weight:500;margin:0 0 var(--s-3)}
.bento-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.bento3{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,minmax(190px,auto));gap:var(--s-5)}
.bento3 .bento-item{gap:var(--s-3)}
.bento3 .bento-item h3{margin:0}
.bento3 .bento-item p{font-family:var(--f-corpo);font-size:.9375rem;line-height:1.6;color:var(--tinta-suave);font-weight:400}
.b3-quem{grid-column:1;grid-row:1}
.b3-retrato{grid-column:2;grid-row:1 / span 3;padding:0!important;overflow:hidden;min-height:0;position:relative}
.b3-retrato .wp-block-image{margin:0;height:100%}
.b3-retrato img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
.b3-varas{grid-column:3;grid-row:1}
.b3-perita{grid-column:1;grid-row:2}
.b3-ajuda{grid-column:3;grid-row:2 / span 2;background:var(--vinho-profundo);color:var(--creme)}
.b3-ajuda h3{color:var(--creme)}
.b3-ajuda .fato{color:var(--creme)}
.b3-ajuda p{color:var(--creme)!important}
.b3-ajuda ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0}
.b3-ajuda li{display:flex;gap:.6rem;align-items:baseline;font-size:.9375rem;color:var(--creme)}
.b3-ajuda li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--latao-claro);flex:none}
.b3-cta{align-items:flex-start;gap:var(--s-4)}
.b3-cta p{max-width:26ch}
.b3-caption{position:absolute;left:var(--s-5);top:var(--s-5);display:flex;align-items:center;gap:.7rem;padding:.6rem 1.25rem;border-radius:999px;background:rgba(61,8,16,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1}
.b3-caption img{width:28px;height:28px;filter:brightness(0) saturate(100%) invert(85%) sepia(15%) saturate(600%) hue-rotate(340deg)}
.b3-caption p{font-family:var(--f-assinatura)!important;font-weight:400;font-size:1.45rem;line-height:1;color:var(--creme)!important;margin:0}
@media (max-width:1024px){
  .bento3{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .b3-quem{grid-column:1;grid-row:1}
  .b3-retrato{grid-column:2;grid-row:1 / span 2}
  .b3-perita{grid-column:1;grid-row:2}
  .b3-varas{grid-column:1;grid-row:3}
  .b3-ajuda{grid-column:2;grid-row:3 / span 2}
  .b3-cta{grid-column:1;grid-row:4}
}
@media (max-width:768px){
  .bento3{grid-template-columns:1fr;grid-template-rows:auto;gap:var(--s-4)}
  .bento3 .bento-item{padding:var(--s-5)!important}
  .b3-quem,.b3-retrato,.b3-varas,.b3-perita,.b3-ajuda,.b3-cta{grid-column:1;grid-row:auto}
  .b3-retrato{min-height:340px;max-height:400px}
}

/* ============ ÁREAS DE ATUAÇÃO ============ */
.bento7{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(17rem,auto);gap:var(--s-5)}
.bento7-item{display:flex;flex-direction:column;justify-content:flex-end;background:var(--papel);border:1px solid rgba(36,26,23,.1);border-radius:var(--r-card);padding:clamp(1.5rem,2.6vw,2rem);transition:box-shadow var(--t-media) var(--ease-saida),border-color var(--t-media) ease}
.bento7-item:hover{box-shadow:var(--sombra-2);border-color:rgba(36,26,23,.16)}
.bento7-texto{transition:transform var(--t-media) var(--ease-saida)}
.bento7-item:hover .bento7-texto{transform:translateX(8px)}
.bento7-icone{width:30px;height:30px;display:block;margin-bottom:var(--s-4)}
.bento7-item h3{font-size:1.25rem;line-height:1.3;margin:0 0 .5rem}
.bento7-item p{font-size:.9375rem;line-height:1.6;color:var(--tinta-suave);margin:0}
.bento7-destaque{background:var(--rose);border-color:rgba(110,15,30,.16);justify-content:center}
.bento7-destaque .frase{font-family:var(--f-display);font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.4;color:var(--bordo);margin:0 0 var(--s-4)}
.bento7-destaque .nota{font-size:.875rem;color:var(--tinta-suave);margin:0}
.b7-1{grid-column:1;grid-row:1}
.b7-2{grid-column:2;grid-row:1 / span 2}
.b7-3{grid-column:3;grid-row:1}
.b7-4{grid-column:1;grid-row:2}
.b7-5{grid-column:3;grid-row:2}

/* Full-bleed de propósito (divisor tracejado ponta a ponta) — única
   exceção documentada à regra de alinhamento com o container. */
.areas{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px dashed rgba(36,26,23,.3);margin-top:var(--s-7)}
.area{display:flex;flex-direction:column;padding:var(--s-7) var(--s-5)}
.area + .area{border-left:1px dashed rgba(36,26,23,.3)}
.areas > .area:first-child{padding-left:var(--pad-container)}
.areas > .area:last-child{padding-right:var(--pad-container)}
.area-icone{width:44px;height:44px;flex:none;margin-bottom:var(--s-4)}
.area-texto{display:flex;flex-direction:column;gap:var(--s-3)}
.area-texto h3{font-size:1.5rem;line-height:1.25;margin:0}
.area-texto p{margin:0}
.area-texto .fato{font-size:.9375rem}
.area-texto ul{list-style:none;display:flex;flex-direction:column;gap:.4rem;margin:0;padding:0}
.area-texto li{display:flex;gap:.55rem;align-items:baseline;font-size:.9375rem;color:var(--tinta-suave)}
.area-texto li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--latao);flex:none}
@media (max-width:1024px){
  .areas{grid-template-columns:repeat(2,1fr)}
  .areas > .area:nth-child(odd){padding-left:var(--pad-container)}
  .areas > .area:nth-child(even){padding-right:var(--pad-container)}
  .area + .area{border-left:none}
  .area:nth-child(even){border-left:1px dashed rgba(36,26,23,.3)}
  .area:nth-child(n+3){border-top:1px dashed rgba(36,26,23,.3)}
  .bento7{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(15rem,auto)}
  .b7-1{grid-column:1;grid-row:1}
  .b7-2{grid-column:2;grid-row:1 / span 2}
  .b7-3{grid-column:1;grid-row:2}
  .b7-4{grid-column:1;grid-row:3}
  .b7-5{grid-column:2;grid-row:3}
}
@media (max-width:768px){
  .bento7{grid-template-columns:1fr;grid-auto-rows:auto}
  .b7-1,.b7-2,.b7-3,.b7-4,.b7-5{grid-column:1;grid-row:auto}
  .bento7-item{padding:var(--s-5)}
  .areas{grid-template-columns:1fr}
  .area{padding:var(--s-6) var(--pad-container)}
  .areas > .area:first-child,.areas > .area:last-child,
  .areas > .area:nth-child(odd),.areas > .area:nth-child(even){padding-inline:var(--pad-container)}
  .area:nth-child(even),.area + .area{border-left:none}
  .area + .area{border-top:1px dashed rgba(36,26,23,.3)}
}

/* ============ CONCURSO PÚBLICO ============ */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
.card{background:var(--papel);border-radius:var(--r-card);padding:var(--s-6);box-shadow:var(--sombra-1);transition:box-shadow var(--t-media) var(--ease-saida),transform var(--t-media) var(--ease-saida)}
.card:hover{box-shadow:var(--sombra-2);transform:translateY(-3px)}
.card h3{margin:0 0 var(--s-3)}
.card p{margin:0}
.card .fato{margin:0 0 var(--s-3)}
.card-icone{width:44px;height:44px;border-radius:12px;background:var(--rose);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s-4)}
.card-icone img{width:22px;height:22px}
.card-prazo{display:flex;flex-direction:column;justify-content:center;gap:var(--s-4)}
.card-prazo > *{margin-block:0!important}
.card-prazo .wp-block-buttons{margin:0}

.concurso{background:linear-gradient(180deg,var(--creme-2) 0%,var(--creme) 100%)}
.concurso-envolucro{padding-inline:var(--margem-bloco)}
.concurso-box{background:linear-gradient(155deg,var(--vinho-profundo) 0%,var(--bordo) 130%);border-radius:clamp(22px,2.6vw,38px);color:var(--creme);position:relative;overflow:hidden;padding-block:clamp(2.5rem,4.5vw,4.5rem)}
.concurso-box .nv-container{max-width:calc(var(--largura-max) - 2 * var(--margem-bloco));padding-inline:calc(var(--pad-container) - var(--margem-bloco));position:relative;z-index:1}
.concurso-box .marca-dagua{color:var(--creme);opacity:.05;bottom:-20%;right:-8%;top:auto}
.concurso-box .cabecalho-secao h2{color:var(--creme)}
.concurso-box .cabecalho-secao p{color:var(--creme);max-width:60ch}
.concurso-box .card{background:rgba(248,240,227,.07);border:1px solid rgba(248,240,227,.18);box-shadow:none;color:var(--creme)}
.concurso-box .card:hover{background:rgba(248,240,227,.11);transform:translateY(-3px);box-shadow:none}
.concurso-box .card h3{color:var(--creme)}
.concurso-box .card p{color:var(--creme)}
.concurso-box .card-icone{background:rgba(248,240,227,.12)}
.concurso-box .card-icone img{filter:brightness(0) saturate(100%) invert(85%) sepia(15%) saturate(600%) hue-rotate(340deg)}
.concurso-box .card-prazo .wp-block-button__link{background:var(--creme);color:var(--bordo);align-self:flex-start}
.concurso-box .card-prazo .wp-block-button__link:hover{background:#fff}
@media (max-width:768px){
  .grid-2,.grid-3{grid-template-columns:1fr}
  .concurso-box{padding-block:var(--s-7)}
  .concurso-envolucro{padding-inline:0}
  .concurso-box .nv-container{padding-inline:var(--pad-container);max-width:100%}
  .concurso-box .grid-3{gap:var(--s-4)}
  .concurso-box .card{padding:var(--s-5)}
}

/* ============ COMO FUNCIONA (pilha dirigida pelo scroll) ============ */
#como-funciona{padding-block:0}
.pilha-pista{position:relative;--curso:78vh;height:calc(100vh + 3 * var(--curso))}
.pilha-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center}
.pilha-sticky > .nv-container{width:100%}
.pilha-sticky .cabecalho-secao{margin-bottom:var(--s-7)}
.pilha{position:relative;max-width:880px;margin:0 auto;transition:height .55s var(--ease-saida)}
.pilha-card{background:var(--papel);border:1px solid rgba(36,26,23,.14);border-radius:var(--r-card);box-shadow:0 1px 3px rgba(61,8,16,.05);padding:clamp(1.75rem,3.4vw,2.75rem)}
.js .pilha-card.ativo{border-color:rgba(36,26,23,.2);box-shadow:0 2px 8px rgba(61,8,16,.06), 0 20px 44px -26px rgba(61,8,16,.28)}
.js .pilha-card{position:absolute;top:0;left:50%;height:100%;transform:translate(-50%,0);transition:transform .55s var(--ease-saida),opacity .45s ease,width .55s var(--ease-saida),box-shadow var(--t-media) ease,border-color var(--t-media) ease}
.js .pilha-card + .pilha-card{margin-top:0}
.pilha-card + .pilha-card{margin-top:var(--s-5)}
.pilha-num{font-family:var(--f-display);font-size:2.4rem;color:var(--latao);line-height:1;display:block;margin-bottom:var(--s-4)}
.pilha-card h3{font-size:clamp(1.5rem,2.4vw,1.875rem);margin:0 0 var(--s-3)}
.pilha-card p{color:var(--tinta-suave);max-width:60ch;margin:0}
.pilha-card ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-top:var(--s-4);padding:0}
.pilha-card li{display:flex;gap:.6rem;align-items:baseline;font-size:.9375rem;color:var(--tinta-suave)}
.pilha-card li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--latao);flex:none}
.js .pilha-card .pilha-miolo{transition:opacity .35s ease}
.js .pilha-card:not(.ativo) .pilha-miolo{opacity:0}
.pilha-pontos{display:flex;gap:.5rem;justify-content:center;margin-top:calc(var(--s-5) + 44px)}
.pilha-cta{margin-top:var(--s-6);display:flex;flex-direction:column;align-items:center;gap:var(--s-3)}
.pilha-cta > *{margin-block:0!important}
.pilha-ponto{width:7px;height:7px;border-radius:999px;background:rgba(36,26,23,.2);transition:background var(--t-media) ease,width var(--t-media) var(--ease-saida);padding:0}
.pilha-ponto.ativo{background:var(--bordo);width:26px}
.js-off .pilha-pontos{display:none}
.pilha-cta .cta-microcopy-item::before,
.cta-microcopy-item.icone-sigilo::before{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect width=%2218%22 height=%2211%22 x=%223%22 y=%2211%22 rx=%222%22/><path d=%22M7 11V7a5 5 0 0 1 10 0v4%22/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><rect width=%2218%22 height=%2211%22 x=%223%22 y=%2211%22 rx=%222%22/><path d=%22M7 11V7a5 5 0 0 1 10 0v4%22/></svg>')}
@media (max-width:768px){
  .pilha-pista{height:auto}
  .pilha-sticky{position:static;height:auto}
  .js .pilha-card{position:relative;left:auto;height:auto;transform:none}
  .js .pilha-card + .pilha-card{margin-top:var(--s-4)}
  .js .pilha-card:not(.ativo) .pilha-miolo{opacity:1}
  .pilha{height:auto}
  .pilha-pontos{display:none}
  .pilha-card{padding:var(--s-6) var(--s-5)}
  .pilha-num{font-size:2rem;margin-bottom:var(--s-3)}
}
@media (prefers-reduced-motion:reduce){
  .pilha-pista{height:auto}
  .pilha-sticky{position:static;height:auto}
  .js .pilha-card{position:relative;left:auto;height:auto;transform:none;width:auto!important;opacity:1!important}
  .js .pilha-card + .pilha-card{margin-top:var(--s-5)}
  .js .pilha-card:not(.ativo) .pilha-miolo{opacity:1}
  .pilha-pontos{display:none}
}

/* ============ CONTATO ============ */
@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
#contato{background:linear-gradient(120deg,var(--vinho-profundo) 0%,var(--bordo) 38%,var(--vinho) 62%,var(--vinho-profundo) 100%);background-size:220% 220%}
@media (prefers-reduced-motion:no-preference){
  #contato{animation:gradientShift 18s ease infinite}
}
.contato-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--s-7);align-items:start}
.contato-grid > *{min-width:0}
.canal p a{overflow-wrap:anywhere}
.canais{display:flex;flex-direction:column;gap:var(--s-2)}
.canais > *{margin-block:0!important}
.contato-foto{position:relative;border-radius:var(--r-card);overflow:hidden;margin-bottom:var(--s-4)}
.contato-foto img{display:block;width:100%;height:clamp(150px,19vw,260px);object-fit:cover;object-position:50% 60%;filter:saturate(.82)}
.contato-foto::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(170deg,rgba(61,8,16,.28) 0%,rgba(110,15,30,.42) 100%);mix-blend-mode:multiply}
.canal{display:flex;gap:var(--s-4);align-items:flex-start;text-decoration:none;color:inherit;padding:var(--s-4);border-radius:var(--r-card);transition:background var(--t-rapida) ease}
.canal:hover{background:rgba(248,240,227,.08)}
.canal .card-icone{margin-bottom:0;margin-top:2px;flex:none}
.canal strong{display:block;font-weight:600;color:var(--creme)}
.canal span{color:rgba(248,240,227,.75);font-size:.9375rem}
.canal p{margin:0;color:rgba(248,240,227,.75);font-size:.9375rem}
.canal p strong{display:block;font-weight:600;color:var(--creme);font-size:1rem;margin-bottom:.2rem}
.canal p a{color:rgba(248,240,227,.75);text-decoration:none}
.canal p a:hover{color:var(--creme);text-decoration:underline}
.form-wrap{box-shadow:0 6px 18px rgba(0,0,0,.18), 0 30px 70px -30px rgba(0,0,0,.55);background:var(--papel);border-radius:var(--r-card);padding:clamp(1.5rem,3vw,2.25rem)}

/* Forminator — recolorido pra bater com a paleta do projeto (o plugin traz
   o próprio visual "default" em cinza/azul por padrão). */
.form-wrap .forminator-row{margin-bottom:var(--s-4)}
.form-wrap .forminator-label{font-family:var(--f-corpo);font-weight:600;font-size:.875rem;color:var(--tinta);margin-bottom:.4rem;display:block}
.form-wrap .forminator-required{display:none}
.form-wrap .forminator-input,
.form-wrap .forminator-textarea,
.form-wrap select.forminator-select--field,
.form-wrap .select2-selection{background:var(--creme)!important;border:1px solid rgba(36,26,23,.18)!important;border-radius:var(--r-input)!important;padding:.75rem 1rem!important;height:auto!important;font-family:var(--f-corpo);font-size:1rem;color:var(--tinta);box-shadow:none!important}
.form-wrap .forminator-input:focus,
.form-wrap .forminator-textarea:focus{outline:none;border-color:var(--bordo)!important;box-shadow:0 0 0 3px rgba(110,15,30,.14)!important}
.form-wrap .select2-selection__rendered{padding:0!important;line-height:1.5!important;color:var(--tinta)!important}
.form-wrap .select2-selection{display:flex;align-items:center}
.form-wrap textarea.forminator-textarea{min-height:92px;resize:vertical}
.form-wrap .forminator-form .forminator-button-submit,
.form-wrap button.forminator-button-submit{background:var(--bordo)!important;color:var(--creme)!important;border:none!important;border-radius:10px 26px 26px 10px!important;padding:1rem 1.5rem!important;font-family:var(--f-corpo);font-weight:600;font-size:1rem;cursor:pointer;display:inline-flex!important;align-items:center;gap:.55rem;transition:background var(--t-rapida) ease,transform var(--t-rapida) ease,box-shadow var(--t-rapida) ease}
.form-wrap .forminator-button-submit::before{content:'';width:18px;height:18px;flex:none;order:-1;background-color:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M5 12h14%22/><path d=%22m12 5 7 7-7 7%22/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M5 12h14%22/><path d=%22m12 5 7 7-7 7%22/></svg>') center/contain no-repeat}
.form-wrap .forminator-form .forminator-button-submit:hover,
.form-wrap button.forminator-button-submit:hover{background:var(--vinho)!important;transform:translateY(-1px);box-shadow:var(--sombra-cta)}
.form-wrap .forminator-response-message.forminator-success{background:var(--rose)!important;color:var(--bordo)!important;font-weight:500;padding:1rem 1.25rem;border-radius:var(--r-input);margin-bottom:var(--s-4)}
.form-wrap .forminator-response-message.forminator-error{background:rgba(176,64,46,.1)!important;color:var(--erro)!important;font-weight:500;padding:1rem 1.25rem;border-radius:var(--r-input);margin-bottom:var(--s-4)}
.form-wrap .forminator-char-counter{color:var(--tinta-suave);font-size:.8125rem}
@media (max-width:900px){
  .contato-grid{grid-template-columns:1fr}
}

/* ============ FAQ (core/details nativo) ============ */
.faq-marca{top:-5%;left:-13%;width:min(620px,64vw)}
.faq{display:flex;flex-direction:column;gap:var(--s-3);position:relative;z-index:1}
.faq > *{margin-block:0!important}
.faq-item{background:var(--papel);border:1px solid rgba(36,26,23,.08);border-radius:12px;overflow:hidden;padding:0}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:1.1rem 1.35rem;font-family:var(--f-display);font-weight:400;font-size:1.125rem;line-height:1.35;color:var(--tinta)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'';flex:none;width:18px;height:18px;background-color:var(--latao);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22><path d=%22M12 5v14M5 12h14%22/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22><path d=%22M12 5v14M5 12h14%22/></svg>') center/contain no-repeat;transition:transform .35s var(--ease-saida)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 1.35rem 1.2rem;margin:0;color:var(--tinta-suave);font-size:.9375rem;max-width:78ch}
.faq-item p.base-legal{font-size:.8125rem;opacity:.85}
.faq-item p + p{padding-top:0}

/* ============ RODAPÉ ============ */
.rodape-envolucro{background:linear-gradient(180deg,var(--creme) 0%,var(--creme-2) 100%);padding-inline:var(--margem-bloco);margin-top:var(--s-7)}
.rodape{background:var(--creme-2);border-radius:clamp(24px,3vw,40px) clamp(24px,3vw,40px) 0 0;padding:clamp(3rem,5vw,4.5rem) 0 var(--s-6) 0}
.rodape-grid{grid-template-columns:1.7fr 1fr 1fr 1fr!important;gap:var(--s-6)}
.rodape-logo{margin-bottom:var(--s-5)}
.rodape-logo img{display:block}
.rodape-logo-texto{font-size:2rem;color:var(--bordo);margin:0}
.rodape-frase{font-family:var(--f-display);font-size:clamp(1.375rem,2.1vw,1.875rem);line-height:1.28;color:var(--tinta);max-width:20ch}
.rodape-local{margin-top:var(--s-6);font-size:.9375rem;line-height:1.6;color:var(--tinta-suave)}
.rodape-rotulo{font-size:.875rem;color:var(--tinta-suave);margin-bottom:var(--s-4)}
.rodape-col .wp-block-navigation{font-family:var(--f-corpo)}
.rodape-col .wp-block-navigation-item__content{color:var(--tinta);font-size:.9375rem;padding:.25rem 0;min-height:auto}
.rodape-col .wp-block-navigation-item__content:hover{color:var(--bordo)}
.rodape-destaque .wp-block-navigation-item__content{color:var(--bordo);font-weight:600;text-decoration:underline;text-underline-offset:5px}
.rodape-base{margin-top:clamp(2.5rem,4.5vw,4rem);padding-top:var(--s-5);border-top:1px solid rgba(36,26,23,.12);font-size:.875rem;color:var(--tinta-suave)}
.rodape-base p{margin:0}
.rodape-base a{color:var(--tinta-suave)}
@media (max-width:768px){
  .rodape-grid{grid-template-columns:repeat(2,1fr)!important;row-gap:var(--s-7)}
}
@media (max-width:520px){
  .rodape-grid{grid-template-columns:1fr!important}
}

/* Botão flutuante do WhatsApp — sempre visível, texto oculto por clip (sr-only) */
.wa-flutuante-wrap{position:fixed;bottom:1.1rem;right:1.1rem;z-index:90}
.wa-flutuante{margin:0}
.wa-flutuante .wp-block-button__link{width:56px;height:56px;padding:0;border-radius:50%;box-shadow:var(--sombra-cta);font-size:0;line-height:0;position:relative}
.wa-flutuante .wp-block-button__link::before{content:'';position:absolute;inset:0;margin:auto;width:26px;height:26px;background-color:currentColor;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M7.9 20A9 9 0 1 0 4 16.1L2 22Z%22/></svg>') center/contain no-repeat;mask:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M7.9 20A9 9 0 1 0 4 16.1L2 22Z%22/></svg>') center/contain no-repeat}
.wa-flutuante .wp-block-button__link:hover{transform:scale(1.08);box-shadow:var(--sombra-cta)}
