.elementor-kit-8{--e-global-color-primary:#8C7350;--e-global-color-secondary:#111111;--e-global-color-text:#2C2820;--e-global-color-accent:#9E2F22;--e-global-color-385f9f4:#F7F4EF;--e-global-color-2a218d8:#FBF8F1;--e-global-color-fd02869:#EFEADF;--e-global-color-688227b:#0B0A08;--e-global-color-8b86223:#6E573A;--e-global-color-7966d96:#A6895F;--e-global-color-aa01c66:#D9C7A8;--e-global-color-dae4c15:#E2DBCD;--e-global-color-d4092c4:#272219;--e-global-color-42bf0d7:#8A8174;--e-global-color-4eb6803:#5F5F5F;--e-global-color-29cf36b:#9C9281;--e-global-color-05674a3:#B4AC9E;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-text-font-family:"Montserrat";--e-global-typography-accent-font-family:"IBM Plex Mono";color:var( --e-global-color-text );font-family:"Montserrat", sans serif;font-weight:400;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:var( --e-global-color-secondary );font-family:"IBM Plex Mono", sans serif;font-weight:500;text-transform:uppercase;color:var( --e-global-color-385f9f4 );border-radius:0px 0px 0px 0px;padding:16px 36px 16px 36px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-385f9f4 );}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:var( --e-global-color-primary );text-decoration:underline;}.elementor-kit-8 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-8 h1{font-family:"Cormorant Garamond", sans serif;font-weight:300;}.elementor-kit-8 h2{font-family:"Cormorant Garamond", sans serif;font-weight:300;}.elementor-kit-8 h3{font-family:"Cormorant Garamond", sans serif;font-weight:400;}.elementor-kit-8 h4{font-family:"Cormorant Garamond", sans serif;font-weight:500;}.elementor-kit-8 img{border-radius:0px 0px 0px 0px;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{color:var( --e-global-color-secondary );background-color:var( --e-global-color-2a218d8 );border-style:solid;border-width:1px 1px 1px 1px;border-color:#E2DBCD;border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;}.elementor-widget:not(:last-child){--kit-widget-spacing:14px;}.elementor-element{--widgets-spacing:14px 14px;--widgets-spacing-row:14px;--widgets-spacing-column:14px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================================
   CENAZ — Custom CSS (Site Settings) · v3.0 (CONSOLIDADO)
   Rota A Clara — Ateliê. Hex só no :root; resto via var(--cnz-*).
   ------------------------------------------------------------
   CHANGELOG
   v3.0 — Consolidação (Sessão 04):
          · Renumeração sequencial 1–33 (eliminadas as colisões de
            número: havia duas 28, duas 29 e duas 30).
          · REMOVIDO bloco "QA2 Header" avulso/duplicado (versão
            antiga com display:inline-block). Header vive só nas
            seções 7–12.
          · REMOVIDO CSS morto do form Elementor de contato
            (.elementor-field-group e .cnz-contact-form .elementor-*)
            — substituído pelo MetForm (seção 33).
          · Tokenizado literal "IBM Plex Mono" → var(--cnz-mono) no
            botão global (seção 4).
          · Mesclados: links cor+underline (3); bandas + compactação
            de encontros (15); fio curto de divisores → override do
            Kit (19); fix .ph-img → seção .ph (14).
   v2.18 — G2-QA + páginas utilitárias + MetForm (Sessão 04).
   v2.1 — Bloco 4 (corpo do case): +3 vars de fonte no :root.
   v2.0 — Header + Footer (G2).
   ============================================================ */


/* ============================================================
   1. TOKENS (fundação)
   ============================================================ */
:root{
  --cnz-paper:#F7F4EF; --cnz-ink:#111111; --cnz-bronze:#8C7350;
  --cnz-red:#9E2F22; --cnz-gray:#5F5F5F;
  --cnz-paper-2:#FBF8F1; --cnz-paper-3:#EFEADF;
  --cnz-ink-2:#2C2820; --cnz-line:#E2DBCD; --cnz-line-2:#D6CDBB;
  --cnz-muted:#8A8174;
  --cnz-bronze-deep:#6E573A; --cnz-bronze-hi:#A6895F; --cnz-bronze-light:#D9C7A8;
  --cnz-grad-bronze:linear-gradient(120deg,#A6895F,#8C7350 50%,#6E573A);
  --cnz-media:#0B0A08; --cnz-on-media:#F7F4EF; --cnz-on-media-2:#9C9281;
  --cnz-caption-media:#B4AC9E; --cnz-on-media-faint:#6B6356; --cnz-line-dark:#272219;
  --cnz-ease:cubic-bezier(.16,.7,.2,1);
  /* fontes */
  --cnz-serif:"Cormorant Garamond",Georgia,serif;
  --cnz-font:"Montserrat",system-ui,sans-serif;
  --cnz-mono:"IBM Plex Mono",ui-monospace,monospace;
}


/* ============================================================
   2. REDE DE SEGURANÇA (cantos retos · sem sombra)
   ============================================================ */
.elementor-button, .elementor input, .elementor textarea,
.elementor select, .elementor img{ border-radius:0; }
.elementor-widget, .e-con, .elementor-button{ box-shadow:none; }


/* ============================================================
   3. LINKS (cor bronze + sem underline global)
   Rota A: nenhum link tem underline; cor/hover bronze é a affordance.
   ============================================================ */
.elementor a{ color:var(--cnz-bronze-deep); transition:color .25s var(--cnz-ease); }
.elementor a:hover{ color:var(--cnz-ink); }
.elementor-kit-8 a,
.elementor-kit-8 a:hover,
.elementor-kit-8 a:focus{ text-decoration:none; }


/* ============================================================
   4. BOTÃO (componente global · engine clássica) + KICKER
   ============================================================ */
.elementor-button.elementor-button.elementor-button{
  background-color:var(--cnz-ink) !important;
  color:var(--cnz-paper) !important;
  font-family:var(--cnz-mono);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.2em;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:16px 36px;
}
.elementor-button.elementor-button.elementor-button:hover,
.elementor-button.elementor-button.elementor-button:focus{
  background-color:var(--cnz-bronze-deep) !important;
  color:var(--cnz-paper) !important;
}
/* Kicker / sobrelinha — mono bronze (componente base) */
.cnz-kicker{
  font-family:var(--cnz-mono);
  font-size:.7rem; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--cnz-bronze-deep); display:block;
}


/* ============================================================
   5. CONTEXTO ESCURO (.cnz-on-dark — bandas media)
   ============================================================ */
.cnz-on-dark{ color:var(--cnz-on-media); }
.cnz-on-dark a{ color:var(--cnz-bronze-hi); }
.cnz-on-dark a:hover{ color:var(--cnz-bronze-light); }
.cnz-on-dark .cnz-kicker{ color:var(--cnz-bronze-light); }
.cnz-on-dark .cnz-secondary{ color:var(--cnz-on-media-2); }
.cnz-on-dark hr{ border-color:var(--cnz-line-dark); }


/* ============================================================
   6. ACESSIBILIDADE (foco visível · reduced-motion)
   ============================================================ */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible,
.elementor-button:focus-visible{ outline:2px solid var(--cnz-bronze-deep); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}


/* ============================================================
   7. HEADER — fundo + overlap + transições de estado
   (transparente sobre hero → sólido no scroll)
   ============================================================ */
.cnz-header{
  min-height:80px;
  background:transparent;
}
.cnz-header.elementor-sticky--effects{
  background:var(--cnz-paper);
  border-bottom:1px solid var(--cnz-line);
  box-shadow:none;
}
/* overlap — header flutua sobre o hero escuro */
header.elementor-location-header{
  position:absolute;
  top:0; left:0; right:0;
  z-index:999;
}
/* transições de estado (cor/fundo) */
.cnz-header,
.cnz-header .cnz-nav a, .cnz-header .cnz-nav .elementor-item,
.cnz-header .cnz-cta .elementor-button{
  transition:background-color .3s var(--cnz-ease),
             color .3s var(--cnz-ease),
             border-color .3s var(--cnz-ease);
}
@media (prefers-reduced-motion: reduce){
  .cnz-header,
  .cnz-header .cnz-nav a, .cnz-header .cnz-nav .elementor-item,
  .cnz-header .cnz-cta .elementor-button{ transition:none; }
}


/* ============================================================
   8. HEADER — logo (tamanho SVG + troca creme/preto)
   Classes reais dos widgets: .cnz-logo-cream / .cnz-logo-dark
   ============================================================ */
/* tamanho — vence o width:48px que o Elementor força em img-SVG */
.cnz-header .cnz-logo-cream img,
.cnz-header .cnz-logo-dark img,
.cnz-header .cnz-logo-cream a img[src$=".svg"],
.cnz-header .cnz-logo-dark a img[src$=".svg"]{
  width:auto !important;
  height:34px !important;        /* ajuste fino: 30 / 34 / 40 */
  max-width:none !important;
  display:block;
}
/* respiro logo → menu */
.cnz-header .cnz-logo-cream,
.cnz-header .cnz-logo-dark{ margin-right:40px; }
/* troca creme/preto por estado */
.cnz-header .cnz-logo-dark{ display:none !important; }
.cnz-header .cnz-logo-cream{ display:block !important; }
.cnz-header.elementor-sticky--effects .cnz-logo-cream{ display:none !important; }
.cnz-header.elementor-sticky--effects .cnz-logo-dark{ display:block !important; }


/* ============================================================
   9. HEADER — menu desktop (Montserrat + fio bronze fino)
   ============================================================ */
.cnz-nav a, .cnz-nav .elementor-item{
  font-family:var(--cnz-font) !important;
  font-size:14px !important;
  font-weight:400 !important;
  letter-spacing:.04em !important;
  line-height:1 !important;
  text-transform:none !important;
}
/* zerar decoração/borda nativa em todos os estados (a linha grossa) */
.cnz-nav a, .cnz-nav .elementor-item,
.cnz-nav a:hover, .cnz-nav .elementor-item:hover,
.cnz-nav .elementor-item.elementor-item-active,
.cnz-nav .elementor-item-active{
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
/* cores por estado — TOPO (sobre hero) → SÓLIDO (scroll) */
.cnz-nav a, .cnz-nav .elementor-item{ color:var(--cnz-on-media) !important; }
.elementor-sticky--effects .cnz-nav a,
.elementor-sticky--effects .cnz-nav .elementor-item{ color:var(--cnz-ink-2) !important; }
.cnz-nav a:hover, .cnz-nav .elementor-item:hover{ color:var(--cnz-bronze-hi) !important; }
.elementor-sticky--effects .cnz-nav a:hover,
.elementor-sticky--effects .cnz-nav .elementor-item:hover{ color:var(--cnz-bronze-deep) !important; }
/* alinhamento + espaçamento */
.cnz-nav{ display:flex; align-items:center; }
@media (min-width:1025px){
  .cnz-header .cnz-nav{ margin:0 auto; }
  .cnz-nav .elementor-nav-menu{ display:flex; align-items:center; gap:36px; }
}
/* fio bronze fino — único indicador (hover + ativo) */
.cnz-nav .elementor-item{ position:relative; }
.cnz-nav .elementor-item::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px;
  height:1px; background:var(--cnz-bronze-light);
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s var(--cnz-ease);
}
.cnz-nav .elementor-item:hover::after,
.cnz-nav .elementor-item.elementor-item-active::after{ transform:scaleX(1); }
.elementor-sticky--effects .cnz-nav .elementor-item::after{ background:var(--cnz-bronze-deep); }
@media (prefers-reduced-motion: reduce){
  .cnz-nav .elementor-item::after{ transition:none; }
}


/* ============================================================
   10. HEADER — CTA (estados de cor + uma linha) + foco
   ============================================================ */
.cnz-header .cnz-cta{ flex-shrink:0; }
.cnz-header .cnz-cta .elementor-button{
  white-space:nowrap;
  padding:12px 26px !important;
  font-size:13px;
  line-height:1;
  border-radius:0 !important;
  box-shadow:none !important;
}
/* topo (transparente) — contorno bronze, texto papel */
.cnz-header .cnz-cta .elementor-button{
  background:transparent !important;
  color:var(--cnz-paper) !important;
  border:1px solid var(--cnz-bronze-light) !important;
}
.cnz-header .cnz-cta .elementor-button:hover{
  background:var(--cnz-bronze-light) !important;
  color:var(--cnz-ink) !important;
}
/* sólido — botão cheio ink → hover bronze-deep */
.cnz-header.elementor-sticky--effects .cnz-cta .elementor-button{
  background:var(--cnz-ink) !important;
  color:var(--cnz-paper) !important;
  border-color:var(--cnz-ink) !important;
}
.cnz-header.elementor-sticky--effects .cnz-cta .elementor-button:hover{
  background:var(--cnz-bronze-deep) !important;
  border-color:var(--cnz-bronze-deep) !important;
}
/* foco acessível (bronze 2px) */
.cnz-header .cnz-nav a:focus-visible,
.cnz-header .cnz-cta .elementor-button:focus-visible{
  outline:2px solid var(--cnz-bronze) !important;
  outline-offset:2px;
}


/* ============================================================
   11. HEADER — toggle (hambúrguer) · só mobile/tablet
   ============================================================ */
@media (max-width:1024px){
  .cnz-nav .elementor-menu-toggle{
    display:flex !important; align-self:center !important;
    align-items:center !important; margin:0 !important;
  }
}
@media (min-width:1025px){
  .cnz-nav .elementor-menu-toggle{ display:none !important; }
}


/* ============================================================
   12. MENU MOBILE — overlay full-screen (só mobile/tablet)
   inset:0 trava as 4 bordas · 100dvh cobre a barra do Safari ·
   X respeita safe-area do notch.
   ============================================================ */
@media (max-width:1024px){
  .cnz-nav .elementor-nav-menu--dropdown{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100vh !important;
    height:100dvh !important;
    min-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    background:var(--cnz-paper) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    z-index:9999 !important;
    border:0 !important;
  }
  .cnz-nav .elementor-nav-menu--dropdown .elementor-item{
    font-family:var(--cnz-serif) !important;
    font-size:32px !important;
    color:var(--cnz-ink) !important;
    text-align:center !important;
    padding:14px 0 !important;
    border:0 !important;
  }
  .cnz-nav .elementor-nav-menu--dropdown .elementor-item:hover,
  .cnz-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{
    color:var(--cnz-bronze-deep) !important;
    background:transparent !important;
  }
  .cnz-nav .elementor-menu-toggle.elementor-active{
    position:fixed !important;
    top:calc(16px + env(safe-area-inset-top)) !important;
    right:calc(16px + env(safe-area-inset-right)) !important;
    z-index:10000 !important;
  }
}


/* ============================================================
   13. FOOTER — refino visual (banda escura · Rota A)
   ============================================================ */
.cnz-footer-main{ gap:48px; }
.cnz-foot-col{ flex:1 1 0; min-width:200px; }
.cnz-foot-brand{ flex:1.4 1 0; }
.cnz-foot-logo img{ height:42px !important; width:auto !important; max-width:none !important; }
.cnz-foot-brand .elementor-widget-text-editor{
  color:var(--cnz-on-media-2);
  font-size:14px; line-height:1.6; max-width:34ch;
}
.cnz-foot-whido{
  font-family:var(--cnz-mono) !important;
  font-size:11px !important; letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:var(--cnz-bronze-light) !important;
  margin-top:8px !important;
}
.cnz-foot-title{
  font-family:var(--cnz-mono) !important;
  font-size:12px !important; letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:var(--cnz-bronze-light) !important;
  margin-bottom:16px !important;
}
.cnz-foot-nav .cnz-foot-title:not(:first-child){ margin-top:28px !important; }
.cnz-foot-menu ul{ display:flex; flex-direction:column; gap:6px; }
.cnz-foot-menu .elementor-item{
  color:var(--cnz-on-media) !important;
  font-size:15px !important; padding:2px 0 !important;
}
.cnz-foot-menu .elementor-item:hover{ color:var(--cnz-bronze-hi) !important; }
.cnz-foot-solucoes a, .cnz-foot-solucoes p{
  color:var(--cnz-on-media) !important;
  font-size:15px !important; line-height:1.9 !important;
  display:block; text-decoration:none;
}
.cnz-foot-solucoes a:hover{ color:var(--cnz-bronze-hi) !important; }
.cnz-foot-contato a, .cnz-foot-contato p{
  color:var(--cnz-bronze-hi) !important;
  font-size:15px !important; line-height:2 !important;
  display:block; text-decoration:none;
}
.cnz-foot-contato a:hover{ color:var(--cnz-bronze-light) !important; }
.cnz-foot-social{ margin-top:18px; }
.cnz-foot-social .elementor-social-icon{
  background:transparent !important;
  border:1px solid var(--cnz-line-dark) !important;
  color:var(--cnz-on-media) !important;
  border-radius:0 !important;
  transition:all .25s var(--cnz-ease);
}
.cnz-foot-social .elementor-social-icon:hover{
  border-color:var(--cnz-bronze-hi) !important;
  color:var(--cnz-bronze-hi) !important;
}
.cnz-foot-divider{ margin:48px 0 24px !important; }
.cnz-foot-divider .elementor-divider-separator{
  border-top:1px solid var(--cnz-line-dark) !important;
}
.cnz-foot-bottom{ gap:12px; }
.cnz-foot-copy, .cnz-foot-copy p{
  color:var(--cnz-on-media-faint) !important;
  font-size:13px !important; margin:0 !important;
}
.cnz-foot-legal a{
  color:var(--cnz-bronze-hi) !important;
  font-size:13px !important; text-decoration:none;
}
.cnz-foot-legal a:hover{ color:var(--cnz-bronze-light) !important; }
@media (max-width:1024px){
  .cnz-footer-main{ flex-direction:column !important; gap:36px; }
  .cnz-foot-bottom{ flex-direction:column !important; align-items:flex-start !important; }
}
.cnz-foot-brand{ align-items:flex-start; }
.cnz-foot-logo{ margin-bottom:20px; }
.cnz-foot-logo img{ display:block; }


/* ============================================================
   14. BLOCO .ph — mídia escura (corpo do case · galerias)
   Componente global · vive 1× · aplicado por classe.
   ============================================================ */
.ph{ position:relative; overflow:hidden; background:var(--cnz-media); }
.ph .ph-img{ position:absolute; inset:0; background-size:cover; background-position:center; will-change:transform; }
/* fix: .ph-img preso ao .ph pai (vence o e-con-full do Kit) */
.ph > .ph-img.e-con,
.ph .ph-img.e-con-full{
  position:absolute !important;
  inset:0 !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
}
/* texto do corpo dentro do .ph = claro e acima da mídia */
.ph .ph-content{ position:relative; z-index:3; }
.cnz-on-dark .ph-content .elementor-widget-text-editor,
.cnz-on-dark .ph-content .elementor-widget-text-editor .elementor-widget-container,
.cnz-on-dark .ph-content .elementor-widget-text-editor p{
  color:var(--cnz-on-media) !important;
}
.cnz-on-dark .ph-content .cnz-kicker,
.cnz-on-dark .ph-content .cnz-kicker .elementor-widget-container{
  color:var(--cnz-bronze-light) !important;
}
/* brilho radial quente */
.ph::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse 72% 62% at 50% 38%, rgba(176,150,106,.14), rgba(8,7,6,0) 70%); }
/* grade técnica discreta — 10% */
.ph .cnz-grid{ position:absolute; inset:0; z-index:1; opacity:.1; pointer-events:none;
  background-image:linear-gradient(rgba(217,194,154,.5) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(217,194,154,.5) 1px,transparent 1px);
  background-size:50px 50px; }
/* caption mono */
.ph .cnz-cap{ position:absolute; left:24px; bottom:18px; z-index:3;
  font-family:var(--cnz-mono); font-size:.6rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--cnz-caption-media); }
.ph .cnz-cap::before{ content:"— "; color:var(--cnz-bronze-light); }
/* KEN BURNS — opcional (classe .kb), respeita reduced-motion (seção 6) */
@keyframes cnzKB{ from{ transform:scale(1.03); } to{ transform:scale(1.13) translate(-1.5%,-1%); } }
.ph.kb .ph-img{ animation:cnzKB var(--kb,24s) ease-in-out infinite alternate; }


/* ============================================================
   15. BANDAS DE FUNDO (sistema · via token) + compactação
   ============================================================ */
.cnz-band-paper{ background:var(--cnz-paper); }
.cnz-band-paper-2{ background:var(--cnz-paper-2); }
.cnz-band-paper-3{ background:var(--cnz-paper-3); }
.cnz-band-media{ background:var(--cnz-media); }
/* remove padding-top duplicado quando uma banda segue outra */
.cnz-band-paper + .cnz-band-paper,
.cnz-band-paper + .cnz-band-media,
.cnz-band-media + .cnz-band-paper,
.cnz-band-media + .cnz-band-media{ padding-top:0; }


/* ============================================================
   16. SINGLE DO CASE — corpo full-bleed
   Libera a largura do wrapper do Post Content para as bandas
   (Full Width) sangrarem à viewport. Sistema · 1× · single post.
   ============================================================ */
.single-post .cnz-case-body,
.single-post .elementor-widget-theme-post-content,
.single-post .elementor-widget-theme-post-content > .elementor-widget-container{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow:visible !important;
}


/* ============================================================
   17. CARD DE CASE (Loop Item · Archive/Portfólio)
   16:9 · hairline bronze · linha + título abaixo · radius 0
   ============================================================ */
.cnz-card{ display:flex; flex-direction:column; background:var(--cnz-paper); }
.cnz-card .cnz-card-thumb{ position:relative; aspect-ratio:16/9; overflow:hidden;
  background:var(--cnz-media); border:1px solid var(--cnz-line-2); transition:border-color .3s var(--cnz-ease); }
.cnz-card .cnz-card-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--cnz-ease); }
.cnz-card:hover .cnz-card-thumb{ border-color:var(--cnz-bronze); }
.cnz-card:hover .cnz-card-thumb img{ transform:scale(1.05); }
/* linha (categoria) — sem underline, vence o Kit */
.cnz-card .cnz-card-line a,
.cnz-card .cnz-card-line .elementor-widget-container a{
  text-decoration:none !important; }
.cnz-card .cnz-card-line a:hover{ text-decoration:none !important; color:var(--cnz-bronze) !important; }
/* título — sem underline, vence o Kit */
.cnz-card .cnz-card-title a,
.cnz-card .cnz-card-title .elementor-widget-container a,
.cnz-card .cnz-card-title h3 a{
  text-decoration:none !important; }


/* ============================================================
   18. TAXONOMY FILTER (Portfólio · Archive)
   ============================================================ */
.cnz-filter{ margin-bottom:32px; border-bottom:1px solid var(--cnz-line); padding-bottom:18px; }
.cnz-filter a, .cnz-filter button, .cnz-filter .e-filter-item{
  font-family:var(--cnz-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--cnz-muted); background:transparent; border:0; padding:6px 0; margin-right:28px;
  cursor:pointer; transition:color .25s var(--cnz-ease); text-decoration:none; }
.cnz-filter a:hover, .cnz-filter button:hover, .cnz-filter .e-filter-item:hover{ color:var(--cnz-bronze-deep); }
.cnz-filter .e-filter-item.e-filter-item-active,
.cnz-filter a.active, .cnz-filter button.active{
  color:var(--cnz-ink); border-bottom:1px solid var(--cnz-bronze); padding-bottom:4px; }


/* ============================================================
   19. OVERRIDE DO KIT — classes de sistema vencem Global Styles
   Prefixo .elementor-kit-8 iguala a especificidade do Kit.
   ============================================================ */
/* kicker — mono bronze (claro sobre escuro, deep sobre claro) */
.elementor-kit-8 .cnz-kicker,
.elementor-kit-8 .cnz-kicker *{
  font-family:var(--cnz-mono); font-weight:500; font-size:11px;
  letter-spacing:.3em; text-transform:uppercase; color:var(--cnz-bronze-deep); }
.elementor-kit-8 .cnz-on-dark .cnz-kicker,
.elementor-kit-8 .cnz-on-dark .cnz-kicker *{ color:var(--cnz-bronze-light); }
/* secundário — cinza quente */
.elementor-kit-8 .cnz-secondary,
.elementor-kit-8 .cnz-secondary *{ color:var(--cnz-gray); }
.elementor-kit-8 .cnz-on-dark .cnz-secondary,
.elementor-kit-8 .cnz-on-dark .cnz-secondary *{ color:var(--cnz-on-media-2); }
/* fio curto dos blocos (statement · filosofia · convite) — vence a largura nativa do Divider */
.elementor-kit-8 .cnz-statement .elementor-divider-separator,
.elementor-kit-8 .cnz-proof-in .elementor-divider-separator,
.elementor-kit-8 .cnz-invite .elementor-divider-separator{
  width:50px !important; margin-inline:auto !important;
}


/* ============================================================
   20. PÁGINA HOME · HERO  (page-scoped · P6)
   ============================================================ */
.cnz-hero-home{ min-height:100vh; }
@media (max-width:1024px){ .cnz-hero-home{ min-height:640px; } }
.cnz-hero-home::after{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(11,10,8,.25) 0%, rgba(11,10,8,.12) 42%, rgba(11,10,8,.72) 100%); }
.cnz-hero-home .cnz-hero-wrap{ position:relative; z-index:4; width:100%;
  max-width:1340px; margin-inline:auto;
  padding-inline:clamp(22px,6vw,104px); padding-bottom:clamp(60px,9vh,124px); }
.cnz-hero-home h1{ font-family:var(--cnz-serif); font-weight:300;
  font-size:clamp(2.8rem,7.6vw,6.4rem); letter-spacing:.005em; line-height:1;
  color:var(--cnz-on-media); margin:24px 0 0; max-width:16ch; }
.cnz-hero-home h1 em{ font-style:italic; color:var(--cnz-bronze-light); }
.cnz-hero-home .cnz-hero-leadlink{ margin-top:30px; }
.cnz-hero-home .cnz-hero-leadlink a{
  display:inline-flex; align-items:center; gap:11px;
  font-family:var(--cnz-mono); font-size:.64rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--cnz-on-media);
  border-bottom:1px solid rgba(217,199,168,.5); padding-bottom:8px; }
.cnz-hero-home .cnz-hero-leadlink a:hover{ color:var(--cnz-bronze-light); }
.cnz-hero-home .cnz-scrollcue{ position:absolute; z-index:4;
  left:clamp(22px,6vw,104px); bottom:28px;
  display:flex; align-items:center; gap:10px; }
.cnz-hero-home .cnz-scrollcue::before{ content:""; flex:0 0 auto;
  width:32px; height:1px; background:rgba(217,199,168,.5); }
.cnz-hero-home .cnz-scrollcue .elementor-widget-container,
.cnz-hero-home .cnz-scrollcue p{
  margin:0; line-height:1;
  font-family:var(--cnz-mono); font-size:.53rem; letter-spacing:.24em;
  text-transform:uppercase; color:rgba(245,241,233,.55); }


/* ============================================================
   21. PÁGINA HOME · STATEMENT (page-scoped · P6)
   + componente reutilizável .cnz-textlink
   ============================================================ */
.cnz-statement{ padding:clamp(110px,17vw,230px) 0; text-align:center; }
.cnz-statement h2{ font-family:var(--cnz-serif); font-weight:300;
  font-size:clamp(2.2rem,5vw,4.4rem); letter-spacing:.005em; line-height:1.16;
  max-width:20ch; margin:0 auto; color:var(--cnz-ink); }
.cnz-statement h2 em{ font-style:italic; color:var(--cnz-bronze); }
.cnz-statement .elementor-widget-divider{ margin-bottom:38px; }
.cnz-statement .elementor-widget-divider .elementor-divider-separator{
  width:50px; margin:0 auto; border-top:1px solid var(--cnz-bronze); }
.cnz-statement .elementor-widget-text-editor{ margin-top:36px; }
.cnz-textlink{ display:inline-block; font-family:var(--cnz-mono);
  font-size:.62rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--cnz-bronze-deep); border-bottom:1px solid var(--cnz-bronze-hi);
  padding-bottom:7px; transition:color .25s var(--cnz-ease), border-color .25s var(--cnz-ease); }
.cnz-textlink:hover{ color:var(--cnz-ink); border-color:var(--cnz-bronze); }


/* ============================================================
   22. PÁGINA HOME · ABORDAGEM (page-scoped · P6)
   ============================================================ */
.cnz-approach{ padding:clamp(56px,8vw,104px) 0; }
.cnz-approach .cnz-approach-grid{ display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,90px); align-items:start; }
.cnz-approach h2{ font-family:var(--cnz-serif); font-weight:300;
  font-size:clamp(1.9rem,3.6vw,2.9rem); line-height:1.1; letter-spacing:.005em;
  color:var(--cnz-ink); }
.cnz-approach p{ color:var(--cnz-ink-2); font-size:1.08rem; line-height:1.6;
  max-width:46ch; }
.cnz-approach p + p{ margin-top:18px; }
@media (max-width:780px){
  .cnz-approach .cnz-approach-grid{ grid-template-columns:1fr; gap:28px; }
}


/* ============================================================
   23. PÁGINA HOME · O OFÍCIO (page-scoped · P6)
   + .cnz-sechead reutilizável (Blocos 4–6)
   ============================================================ */
.cnz-craft{ padding:clamp(84px,12vw,180px) 0; }
.cnz-sechead{ display:grid; grid-template-columns:1fr auto; column-gap:24px;
  row-gap:18px; align-items:end; margin-bottom:clamp(42px,5vw,72px); }
.cnz-sechead h2{ font-family:var(--cnz-serif); font-weight:300;
  font-size:clamp(2.1rem,4.6vw,3.6rem); line-height:1.04; letter-spacing:.005em;
  color:var(--cnz-ink); margin-top:20px; }
@media (max-width:600px){ .cnz-sechead{ grid-template-columns:1fr; } }
.cnz-craft-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:14px; }
.cnz-craft-grid .ph{ aspect-ratio:4/5; }
.cnz-craft-grid .ph:first-child{ aspect-ratio:9/8; }
.cnz-craft-grid .ph .elementor-widget-text-editor{ position:static; }
.cnz-craft-grid .ph .cnz-cap{ position:absolute; left:24px; bottom:18px; font-size:.54rem; }
@media (max-width:820px){ .cnz-craft-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .cnz-craft-grid{ grid-template-columns:1fr; } }


/* ============================================================
   24. PÁGINA HOME · PORTFÓLIO (vitrine curada · page-scoped · P6)
   ============================================================ */
.cnz-portfolio{ padding:clamp(84px,12vw,180px) 0; }
.cnz-projects{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.cnz-pj{ position:relative; display:block; overflow:hidden; }
.cnz-pj-feature{ grid-column:span 4; aspect-ratio:16/9; }
.cnz-pj-side{ grid-column:span 2; }
.cnz-pj-half{ grid-column:span 3; aspect-ratio:3/2; }
.cnz-pj .ph{ width:100%; height:100%; }
.cnz-pj .ph-img{ transition:transform 1.1s var(--cnz-ease); }
.cnz-pj:hover .ph-img{ transform:scale(1.07); }
.cnz-pj::after{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg,transparent 42%,rgba(11,10,8,.8)); }
.cnz-pj-info{ position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding:clamp(20px,2vw,28px); }
.cnz-pj-cat{ font-family:var(--cnz-mono); font-size:.54rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--cnz-bronze-light); }
.cnz-pj-info h3{ font-family:var(--cnz-serif); font-weight:400; color:var(--cnz-on-media);
  font-size:clamp(1.25rem,2vw,1.8rem); margin-top:8px; line-height:1.1; }
@media (max-width:820px){
  .cnz-pj-feature,.cnz-pj-side,.cnz-pj-half{ grid-column:span 3; aspect-ratio:4/3; }
}
@media (max-width:560px){
  .cnz-projects{ grid-template-columns:1fr; }
  .cnz-pj-feature,.cnz-pj-side,.cnz-pj-half{ grid-column:span 1; aspect-ratio:4/3.2; }
}


/* ============================================================
   25. PÁGINA HOME · PROCESSO (page-scoped · P6)
   ============================================================ */
.cnz-process{ padding:clamp(56px,8vw,104px) 0; }
.cnz-journey{ display:grid; grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--cnz-line-2); }
.cnz-journey > *{ padding:30px 18px 0; border-right:1px solid var(--cnz-line);
  min-height:130px; }
.cnz-journey > *:last-child{ border-right:0; }
.cnz-jstep-n{ font-family:var(--cnz-mono); font-size:.56rem; letter-spacing:.18em;
  color:var(--cnz-bronze-deep); }
.cnz-journey h3{ font-family:var(--cnz-serif); font-weight:400; font-size:1.2rem;
  margin-top:13px; line-height:1.1; color:var(--cnz-ink); }
.cnz-jstep-d{ font-size:.82rem; color:var(--cnz-ink-2); margin-top:6px; line-height:1.5; }
@media (max-width:880px){ .cnz-journey{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:500px){ .cnz-journey{ grid-template-columns:1fr 1fr; } }


/* ============================================================
   26. PÁGINA HOME · FILOSOFIA / PROVA (banda escura · page-scoped · P6)
   ============================================================ */
.cnz-proof{ padding:clamp(84px,12vw,180px) 0; }
.cnz-proof-in{ text-align:center; max-width:32ch; margin:0 auto; }
.cnz-proof-in .elementor-widget-divider{ margin-bottom:34px; }
.cnz-proof-in .elementor-widget-divider .elementor-divider-separator{
  width:46px; margin:0 auto; border-top:1px solid var(--cnz-bronze); }
.cnz-proof p{ font-family:var(--cnz-serif); font-style:italic; font-weight:300;
  font-size:clamp(1.6rem,3.4vw,2.6rem); line-height:1.32; color:var(--cnz-on-media); }
.cnz-proof-who{ margin-top:26px; font-family:var(--cnz-mono); font-size:.6rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--cnz-bronze-light); }


/* ============================================================
   27. PÁGINA HOME · CONVITE (fechamento · page-scoped · P6)
   ============================================================ */
.cnz-invite{ padding:clamp(96px,14vw,200px) 0; text-align:center; }
.cnz-invite .elementor-widget-divider{ margin-bottom:34px; }
.cnz-invite .elementor-widget-divider .elementor-divider-separator{
  width:50px; margin:0 auto; border-top:1px solid var(--cnz-bronze); }
.cnz-invite h2{ font-family:var(--cnz-serif); font-weight:300;
  font-size:clamp(2.3rem,5.4vw,4.6rem); letter-spacing:.005em; line-height:1.05;
  max-width:20ch; margin:0 auto; color:var(--cnz-ink); }
.cnz-invite .elementor-widget-button{ margin-top:44px; }
.cnz-invite .elementor-button{ padding:20px 50px; font-size:.66rem; letter-spacing:.2em; }


/* ============================================================
   28. PÁGINA SOBRE (page-scoped · P6)
   ============================================================ */
/* 28.1 Hero de página (escuro, mais curto que o da Home) */
.cnz-page-hero{ position:relative; min-height:62vh; }
@media (max-width:1024px){ .cnz-page-hero{ min-height:440px; } }
.cnz-page-hero::after{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(11,10,8,.25) 0%, rgba(11,10,8,.12) 42%, rgba(11,10,8,.72) 100%); }
.cnz-page-hero .cnz-hero-wrap{ position:relative; z-index:4; width:100%; max-width:1340px;
  margin-inline:auto; padding-inline:clamp(22px,6vw,104px);
  padding-top:clamp(90px,14vh,150px); padding-bottom:clamp(48px,7vh,96px); }
.cnz-page-hero h1{ font-family:var(--cnz-serif); font-weight:300; font-size:clamp(2.4rem,6vw,5rem);
  letter-spacing:.005em; line-height:1.02; color:var(--cnz-on-media); margin:18px 0 0; max-width:18ch; }
.cnz-page-hero .cnz-page-lead{ margin-top:22px; font-family:var(--cnz-mono); font-size:.72rem;
  letter-spacing:.04em; color:var(--cnz-on-media-2); max-width:52ch; }
/* 28.2 Manifesto */
.cnz-manifesto h2{ max-width:24ch; }
.cnz-manifesto .cnz-manifesto-text{ max-width:60ch; margin:28px auto 0;
  color:var(--cnz-ink-2); font-size:1.08rem; line-height:1.6; }
/* 28.3 Método — faixa de etapas mono */
.cnz-method-steps{ margin-top:clamp(40px,5vw,64px); padding-top:24px;
  border-top:1px solid var(--cnz-line-2); font-family:var(--cnz-mono);
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cnz-bronze-deep); }
/* 28.4 Ofício — parágrafo de introdução */
.cnz-craft-intro{ max-width:54ch; margin:0 0 clamp(40px,5vw,64px);
  color:var(--cnz-ink-2); font-size:1.05rem; line-height:1.6; }


/* ============================================================
   29. PÁGINA /SOLUCOES (page-scoped · P6)
   ============================================================ */
.cnz-lines{ padding:clamp(84px,12vw,180px) 0; }
.cnz-howto, .cnz-cases{ padding:clamp(56px,8vw,104px) 0; }
/* cards das 4 linhas (hairline, sem sombra) */
.cnz-lines-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cnz-line-card{ display:block; padding:clamp(28px,3vw,44px);
  border:1px solid var(--cnz-line); background:var(--cnz-paper);
  transition:border-color .25s var(--cnz-ease); }
.cnz-line-card:hover{ border-color:var(--cnz-bronze); }
.cnz-line-card h3{ font-family:var(--cnz-serif); font-weight:400;
  font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.1; color:var(--cnz-ink); }
.cnz-line-card p{ margin-top:14px; color:var(--cnz-ink-2); font-size:1rem;
  line-height:1.55; max-width:42ch; }
@media (max-width:700px){ .cnz-lines-grid{ grid-template-columns:1fr; } }
/* banda escura "Detalhe técnico" */
.cnz-techdetail{ padding:clamp(84px,12vw,180px) 0; text-align:center; }
.cnz-techdetail .cnz-techdetail-in{ max-width:36ch; margin:0 auto; }
.cnz-techdetail h2{ font-family:var(--cnz-serif); font-weight:300;
  font-size:clamp(1.9rem,4vw,3.2rem); line-height:1.12; color:var(--cnz-on-media); margin-top:14px; }
.cnz-techdetail p{ margin-top:22px; color:var(--cnz-on-media-2); font-size:1.05rem; line-height:1.6; }


/* ============================================================
   30. PÁGINA CONTATO — hero + banda do form + canais (page-scoped · P6)
   (restyle do form: ver seção 33 · MetForm)
   ============================================================ */
.cnz-page-hero.cnz-hero-short{ min-height:46vh; }
@media (max-width:1024px){ .cnz-page-hero.cnz-hero-short{ min-height:360px; } }
.cnz-formband{ padding:clamp(56px,8vw,104px) 0; }
.cnz-formband-in{ max-width:680px; margin:0 auto; }
.cnz-form-support{ font-family:var(--cnz-mono); font-size:.7rem; letter-spacing:.04em;
  color:var(--cnz-ink-2); margin-bottom:clamp(24px,3vw,40px); }
/* canais */
.cnz-channels{ padding:clamp(56px,8vw,104px) 0; }
.cnz-channels-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  margin-top:clamp(28px,4vw,48px); }
.cnz-ch-label{ font-family:var(--cnz-mono); font-size:.58rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--cnz-bronze-deep); margin-bottom:10px; }
@media (max-width:700px){ .cnz-channels-grid{ grid-template-columns:1fr; gap:18px; } }


/* ============================================================
   31. PÁGINAS UTILITÁRIAS — hero escuro + corpo legal
   (Privacidade · Termos · reusa hero util na 404)
   ============================================================ */
.cnz-hero-util{
  background:var(--cnz-media);
  min-height:46vh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-top:clamp(120px, 18vh, 200px);
  padding-bottom:clamp(32px, 5vh, 56px);
}
.cnz-hero-util .cnz-kicker{ margin-bottom:14px; }
.cnz-hero-util-title,
.cnz-hero-util .cnz-hero-util-title{
  font-family:var(--cnz-serif) !important;
  font-weight:300 !important;
  color:var(--cnz-on-media) !important;
  font-size:clamp(2rem, 5vw, 3.4rem) !important;
  line-height:1.08 !important; letter-spacing:.01em !important; margin:0 !important;
}
/* corpo legal — banda clara (paper-2) + H2 bronze */
.cnz-legal{ background:var(--cnz-paper-2); }
.cnz-legal .elementor-widget-text-editor{
  color:var(--cnz-ink) !important;     /* trocar p/ var(--cnz-ink-2) se quiser menos peso */
  font-family:var(--cnz-font);
  font-size:1rem; line-height:1.7;
}
.cnz-legal .elementor-widget-text-editor p{ margin:0 0 1.1em; }
.cnz-legal .elementor-widget-text-editor ul{ margin:0 0 1.1em 1.2em; }
.cnz-legal .elementor-widget-text-editor li{ margin:.3em 0; }
.cnz-legal .elementor-widget-text-editor h2,
.cnz-legal .elementor-widget-text-editor strong{ color:var(--cnz-bronze-deep); }
.cnz-legal .elementor-widget-text-editor h2{
  font-family:var(--cnz-font); font-weight:500;
  font-size:1.15rem; letter-spacing:.01em; margin:2em 0 .6em;
}
.cnz-legal .elementor-widget-text-editor a{
  color:var(--cnz-bronze-deep) !important; text-decoration:underline;
}
.cnz-legal > .e-con-inner{ padding-block:clamp(48px, 7vh, 88px); }
@media (max-width:1024px){
  .cnz-hero-util, .cnz-legal > .e-con-inner{ padding-inline:clamp(20px,5vw,32px); }
}


/* ============================================================
   32. PÁGINA 404 — preenche a viewport SEM gap abaixo do footer
   ============================================================ */
body.error404 .elementor-page,
body.error404 #content,
body.error404 .site-main{
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100dvh;
}
.cnz-404.cnz-hero-util{
  flex:1 0 auto;
  min-height:0;                  /* zera o 46vh herdado do cnz-hero-util */
  display:flex; flex-direction:column; justify-content:center;
  align-items:flex-start;
  text-align:left;
}
.cnz-404 .cnz-404-sub{
  color:var(--cnz-on-media-2) !important;
  font-family:var(--cnz-font); font-size:1.05rem; line-height:1.6;
  margin:18px 0 32px; max-width:48ch;
}
.cnz-404 .cnz-cta-util .elementor-button{
  background:transparent !important; color:var(--cnz-on-media) !important;
  border:1px solid var(--cnz-bronze-light) !important; border-radius:0 !important;
  box-shadow:none !important;
  font-family:var(--cnz-font); font-size:13px; letter-spacing:.04em;
  padding:14px 30px !important;
}
.cnz-404 .cnz-cta-util .elementor-button:hover{
  background:var(--cnz-bronze-light) !important; color:var(--cnz-ink) !important;
}
@media (max-width:1024px){
  .cnz-404.cnz-hero-util{ padding-inline:clamp(20px,5vw,32px); }
}
/* fundo do documento escuro (elimina a faixa clara abaixo do footer) */
.elementor-page-404,
body.error404,
body.elementor-page-404{
  background-color:var(--cnz-media) !important;
}


/* ============================================================
   33. METFORM — Contato CENAZ (Rota A)
   Campos hairline radius 0, label mono bronze, foco bronze,
   select react-select on-brand, botão ink full Montserrat,
   sucesso/erro sem azul/verde. Escopo: .cnz-formband.
   ============================================================ */
/* labels (mono bronze, UPPER) */
.cnz-formband .mf-input-label{
  font-family:var(--cnz-mono) !important;
  font-size:.7rem !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:var(--cnz-bronze-deep) !important;
  margin-bottom:8px !important;
}
/* inputs / textarea (hairline, radius 0, fundo papel) */
.cnz-formband .mf-input,
.cnz-formband textarea.mf-input{
  background:var(--cnz-paper) !important;
  color:var(--cnz-ink) !important;
  border:1px solid var(--cnz-line-2) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:var(--cnz-font) !important;
  font-size:15px !important;
  padding:14px 16px !important;
  transition:border-color .2s var(--cnz-ease) !important;
}
.cnz-formband textarea.mf-input{ min-height:140px !important; }
.cnz-formband .mf-input::placeholder{ color:var(--cnz-muted) !important; }
/* foco (bronze 2px) */
.cnz-formband .mf-input:focus,
.cnz-formband textarea.mf-input:focus{
  border-color:var(--cnz-bronze) !important;
  outline:2px solid var(--cnz-bronze) !important;
  outline-offset:0 !important;
}
/* select react-select — caixa fechada */
.cnz-formband .mf-input-select .mf_select__control,
.cnz-formband [class*="-control"]{
  background:var(--cnz-paper) !important;
  border:1px solid var(--cnz-line-2) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  min-height:50px !important;
  font-family:var(--cnz-font) !important;
}
.cnz-formband .mf_select__placeholder,
.cnz-formband [class*="-placeholder"]{ color:var(--cnz-muted) !important; }
.cnz-formband .mf_select__single-value{ color:var(--cnz-ink) !important; }
.cnz-formband .mf_select__indicator-separator{ display:none !important; }
.cnz-formband .mf_select__dropdown-indicator svg,
.cnz-formband [class*="-indicatorContainer"] svg{ color:var(--cnz-bronze-deep) !important; }
/* select react-select — lista aberta (menu) */
.cnz-formband .mf_select__menu,
.cnz-formband [class*="-menu"]{
  background:var(--cnz-paper) !important;
  border:1px solid var(--cnz-line-2) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin-top:2px !important;
}
.cnz-formband .mf_select__option,
.cnz-formband [class*="-option"]{
  background:var(--cnz-paper) !important;
  color:var(--cnz-ink) !important;
  font-family:var(--cnz-font) !important;
  font-size:15px !important;
  padding:10px 16px !important;
  border-bottom:1px solid var(--cnz-line) !important;
  cursor:pointer;
}
.cnz-formband .mf_select__option--is-focused,
.cnz-formband .mf_select__option--is-selected,
.cnz-formband [class*="-option"]:hover{
  background:var(--cnz-paper-3) !important;
  color:var(--cnz-bronze-deep) !important;
}
/* botão — full, ink, radius 0, Montserrat (vence Kit + .metform-btn) */
.cnz-formband .mf-btn-wraper{ width:100% !important; text-align:left !important; }
.elementor-kit-8 .cnz-formband button.metform-btn,
.elementor-kit-8 .cnz-formband button.metform-submit-btn,
.elementor-kit-8 .cnz-formband .mf-btn-wraper button,
.cnz-formband button.metform-btn{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  background:var(--cnz-ink) !important;
  color:var(--cnz-paper) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:var(--cnz-font) !important;   /* Montserrat */
  font-weight:600 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:13px !important;
  padding:20px 36px !important;
  line-height:1 !important;
  cursor:pointer;
  transition:background-color .25s var(--cnz-ease) !important;
}
.elementor-kit-8 .cnz-formband button.metform-btn:hover,
.cnz-formband button.metform-btn:hover{
  background:var(--cnz-bronze-deep) !important;
}
/* erro de campo (vermelho raro, mono) */
.cnz-formband .mf-error-message{
  font-family:var(--cnz-mono) !important;
  font-size:.7rem !important;
  letter-spacing:.04em !important;
  color:var(--cnz-red) !important;
  margin-top:6px !important;
}
.cnz-formband .mf-input[aria-invalid="true"]{ border-color:var(--cnz-red) !important; }
/* mensagem de resposta (sucesso/erro) sem azul/verde */
.cnz-formband .mf-main-response-wrap,
.cnz-formband .mf-response-msg-wrap{
  background:transparent !important;
  border:0 !important;
  border-left:2px solid var(--cnz-bronze) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--cnz-ink) !important;
  font-family:var(--cnz-mono) !important;
  font-size:.8rem !important;
  letter-spacing:.04em !important;
  padding:14px 18px !important;
}
.cnz-formband .mf-main-response-wrap.error,
.cnz-formband .mf-response-msg-wrap.error{ border-left-color:var(--cnz-red) !important; }
/* responsivo: gutter mobile */
@media (max-width:1024px){
  .cnz-formband .metform-form-content{ padding-inline:clamp(20px,5vw,32px); }
}


/* ============================================================
   PENDÊNCIAS / dívida técnica (não-bloqueantes)
   - Instagram/Facebook do footer: trocar href="#" pelas URLs reais.
   - Inconsistência de família nos botões: botão global Elementor
     usa mono (seção 4); botão MetForm usa Montserrat (seção 33).
     Ambos aprovados visualmente — unificar só se Fernando decidir.
   - FASE 2: performance (lazy-load, preload hero, WebP) + SEO técnico.
   RESOLVIDAS na v3.0: serrilhado do logo (re-export SVG · QA1);
   header transparente nas internas (todas têm hero escuro);
   literais "IBM Plex Mono" tokenizados.
   PRINCÍPIO P6: layout de PÁGINA via nativo + Global Styles.
   CSS de página só com sinalização/justificativa explícita.
   ============================================================ *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/CormorantGaramond-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/CormorantGaramond-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/CormorantGaramond-Light.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/Montserrat-ExtraLight.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/Montserrat-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/Montserrat-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/Montserrat-Medium.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/IBMPlexMono-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://cenaz.com.br/wp-content/uploads/2026/06/IBMPlexMono-Medium.woff2') format('woff2');
}
/* End Custom Fonts CSS */