/* ==========================================================================
   GMZ · Revenue Operations & AI — Design System
   Valores extraídos 1:1 dos protótipos em design/*.dc.html
   ========================================================================== */

:root{
  /* Cor */
  --gmz-primary:#E84243;
  --gmz-primary-hover:#C92F30;
  --gmz-magenta:#DD0379;
  --gmz-gradient:linear-gradient(135deg,#DD0379,#E84243);
  --gmz-dark:#201F26;
  --gmz-muted:#6E6880;
  --gmz-muted-dark-bg:#A8A3B5;
  --gmz-body-dark-bg:#B8B4C4;
  --gmz-footer-link:#D8D5E0;
  --gmz-border:#ECEBEF;
  --gmz-surface:#F5F5F8;
  --gmz-white:#FFFFFF;
  --gmz-success:#1E9E56;

  /* Layout */
  --gmz-container:1200px;
  --gmz-gutter:clamp(24px,5vw,72px);
  --gmz-nav-h:72px;

  /* Raios */
  --gmz-r-input:11px;
  --gmz-r-btn:12px;
  --gmz-r-media:16px;
  --gmz-r-social:10px;
}

/* --------------------------------------------------------------- Reset --- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--gmz-surface);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--gmz-dark);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto}
a{color:var(--gmz-primary);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--gmz-primary-hover)}
button{font-family:inherit}
h1,h2,h3,h4,h5,h6{margin:0}
p{margin:0}
figure{margin:0}

/* Acessibilidade */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;
}
.skip-link:focus{
  position:fixed;top:8px;left:8px;z-index:200;background:var(--gmz-white);
  color:var(--gmz-dark);padding:12px 18px;border-radius:var(--gmz-r-btn);
  box-shadow:0 8px 24px rgba(32,31,38,.18);clip:auto;clip-path:none;width:auto;height:auto;
}
:focus-visible{outline:2px solid var(--gmz-primary);outline-offset:2px}

/* ----------------------------------------------------------- Estrutura --- */
.gmz-container{
  max-width:var(--gmz-container);
  margin:0 auto;
  padding-inline:var(--gmz-gutter);
}
.gmz-container--narrow{max-width:900px}
.gmz-container--wide{max-width:1140px}

.gmz-section{background:var(--gmz-white)}
.gmz-section--surface{background:var(--gmz-surface)}
.gmz-section--dark{background:var(--gmz-dark);color:var(--gmz-white)}
.gmz-section--gradient{background:var(--gmz-gradient)}
.gmz-section--bt{border-top:1px solid var(--gmz-border)}
.gmz-section--bb{border-bottom:1px solid var(--gmz-border)}
.gmz-section__inner{
  padding-block:88px;
  display:flex;
  flex-direction:column;
  gap:44px;
}
.gmz-section__inner--tight{padding-block:64px;gap:32px}
.gmz-section__inner--loose{gap:48px}

.gmz-stack{display:flex;flex-direction:column}
.gmz-stack-6{gap:6px}.gmz-stack-8{gap:8px}.gmz-stack-10{gap:10px}
.gmz-stack-12{gap:12px}.gmz-stack-14{gap:14px}.gmz-stack-16{gap:16px}
.gmz-stack-18{gap:18px}.gmz-stack-20{gap:20px}.gmz-stack-24{gap:24px}
.gmz-stack-32{gap:32px}.gmz-stack-40{gap:40px}.gmz-stack-48{gap:48px}

/* --------------------------------------------------------- Tipografia --- */
.gmz-eyebrow{
  font-size:13px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gmz-primary);
}
.gmz-eyebrow--muted{color:var(--gmz-muted);font-size:12px;letter-spacing:.12em}
.gmz-eyebrow--gradient{
  font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}

.gmz-h1{
  font-size:clamp(38px,5.6vw,64px);font-weight:900;letter-spacing:-.03em;
  line-height:1.06;text-wrap:balance;
}
.gmz-h1--sm{font-size:clamp(34px,5vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.12}
.gmz-h2{
  font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.02em;
  line-height:1.15;text-wrap:balance;
}
.gmz-h2--sm{font-size:clamp(28px,4vw,38px)}
.gmz-h2--lg{font-size:clamp(28px,4vw,42px)}
.gmz-h3{font-size:19px;font-weight:700;line-height:1.3}
.gmz-h3--lg{font-size:22px;font-weight:800;letter-spacing:-.01em}

.gmz-lead{font-size:19px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}
.gmz-body{font-size:16px;line-height:1.7;color:var(--gmz-muted);text-wrap:pretty}
.gmz-body--sm{font-size:14.5px;line-height:1.65}
.gmz-body--lg{font-size:17px;line-height:1.7}
.gmz-note{font-size:13px;color:var(--gmz-muted)}

.gmz-gradient-text{
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.gmz-section--dark .gmz-body,
.gmz-section--dark .gmz-lead{color:var(--gmz-body-dark-bg)}
.gmz-section--dark strong{color:var(--gmz-white)}

.gmz-measure{max-width:720px}
.gmz-measure--sm{max-width:620px}
.gmz-measure--lg{max-width:940px}

/* ------------------------------------------------------------- Botões --- */
.gmz-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:16px;font-weight:700;padding:16px 28px;border-radius:14px;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:all .2s ease;white-space:nowrap;
}
.gmz-btn--primary{
  background:var(--gmz-gradient);color:var(--gmz-white);
  box-shadow:0 8px 24px rgba(232,66,67,.30);
}
.gmz-btn--primary:hover{filter:brightness(1.08);color:var(--gmz-white);transform:translateY(-2px)}
.gmz-btn--ghost{
  background:var(--gmz-white);color:var(--gmz-dark);font-weight:600;border-color:var(--gmz-border);
}
.gmz-btn--ghost:hover{border-color:var(--gmz-primary);color:var(--gmz-primary)}
.gmz-btn--sm{font-size:14px;padding:11px 20px;border-radius:var(--gmz-r-btn);box-shadow:0 4px 14px rgba(232,66,67,.28)}
.gmz-btn--on-gradient{background:var(--gmz-white);color:var(--gmz-dark);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.gmz-btn--on-gradient:hover{color:var(--gmz-dark);transform:translateY(-2px)}

.gmz-link-arrow{
  font-size:15px;font-weight:600;color:var(--gmz-primary);
  text-decoration:none;white-space:nowrap;
}
.gmz-link-arrow:hover{color:var(--gmz-primary-hover)}
.gmz-link-arrow--sm{font-size:13.5px;font-weight:700}

/* Efeito shine dos CTAs em gradiente */
.gmz-shine{position:relative;overflow:hidden;isolation:isolate}
.gmz-shine::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);
  transform:translateX(-120%);
}
.gmz-shine:hover::after{transform:translateX(120%);transition:transform .75s ease}
@media(prefers-reduced-motion:reduce){
  .gmz-shine::after{display:none}
  html{scroll-behavior:auto}
}

/* ------------------------------------------------------------ Navbar ---- */
.gmz-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gmz-border);
}
.gmz-nav__inner{
  max-width:var(--gmz-container);margin:0 auto;padding-inline:var(--gmz-gutter);
  height:var(--gmz-nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.gmz-nav__logo{display:flex;align-items:center;flex-shrink:0}
.gmz-nav__logo img{height:38px;width:auto;display:block}
.gmz-nav__menu{display:flex;align-items:center;gap:28px}
.gmz-nav__link{
  font-size:14px;font-weight:500;color:var(--gmz-dark);text-decoration:none;
  display:flex;align-items:center;gap:5px;background:none;border:0;padding:0;cursor:pointer;
}
/* Mesmo tratamento do menu do painel: preto, gradiente só no texto no hover. */
.gmz-nav__menu .gmz-nav__link,
.gmz-nav__drop-name{
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;
  transition:color .2s ease;
}
.gmz-nav__link:hover,
.gmz-nav__has-drop:hover>.gmz-nav__link,
.gmz-nav__drop-item:hover .gmz-nav__drop-name{color:transparent}
.gmz-nav__link.is-active{font-weight:700;color:var(--gmz-dark)}
.gmz-nav__caret{font-size:9px;color:var(--gmz-muted)}
.gmz-nav__spacer{height:var(--gmz-nav-h)}

.gmz-nav__has-drop{position:relative}
.gmz-nav__drop{
  position:absolute;top:100%;left:-16px;padding-top:14px;
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.gmz-nav__has-drop:hover .gmz-nav__drop,
.gmz-nav__has-drop:focus-within .gmz-nav__drop{opacity:1;visibility:visible;transform:translateY(0)}
.gmz-nav__drop-inner{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:14px;
  box-shadow:0 12px 32px rgba(32,31,38,.10);padding:8px;display:flex;flex-direction:column;
}
.gmz-nav__drop--w280 .gmz-nav__drop-inner{width:280px}
.gmz-nav__drop--w240 .gmz-nav__drop-inner{width:240px}
.gmz-nav__drop-item{
  display:flex;align-items:center;gap:12px;padding:10px 12px;
  border-radius:var(--gmz-r-social);text-decoration:none;
}
.gmz-nav__drop-item:hover{background:var(--gmz-surface)}
.gmz-nav__drop-icon{
  width:30px;height:30px;border-radius:9px;background:var(--gmz-gradient);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gmz-white);
}
.gmz-nav__drop-icon svg{width:15px;height:15px}
.gmz-nav__drop-text{display:flex;flex-direction:column;gap:1px}
.gmz-nav__drop-name{font-size:13.5px;font-weight:600;color:var(--gmz-dark)}
.gmz-nav__drop-desc{font-size:11.5px;color:var(--gmz-muted)}

.gmz-nav__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.gmz-burger{
  display:none;background:none;border:1px solid var(--gmz-border);border-radius:var(--gmz-r-social);
  width:42px;height:42px;color:var(--gmz-dark);cursor:pointer;
  align-items:center;justify-content:center;
}
.gmz-burger svg{width:18px;height:18px}
.gmz-mobile-menu{
  display:none;background:var(--gmz-white);border-bottom:1px solid var(--gmz-border);
  padding:12px 24px 20px;flex-direction:column;gap:4px;
}
.gmz-mobile-menu.is-open{display:flex}
.gmz-mobile-menu a{
  padding:11px 8px;font-size:15px;font-weight:600;color:var(--gmz-dark);
  text-decoration:none;border-radius:var(--gmz-r-social);
}
.gmz-mobile-menu a:hover{background:var(--gmz-surface);color:var(--gmz-dark)}

@media(max-width:1080px){
  .gmz-nav__menu{display:none}
  .gmz-burger{display:flex}
}

/* ------------------------------------------------------ Funil bowtie ---- */
/* Seis etapas em gravata-borboleta: estreita até a venda, abre depois.
   --h (0.46..1) vem do PHP e é a altura relativa de cada etapa. O JS é o
   mesmo initTabs das capacidades — aqui só mora o desenho. */
.gmz-bowtie{display:flex;flex-direction:column;gap:24px}
.gmz-bowtie__diagrama{
  display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"antes depois" "etapas etapas";
  row-gap:14px;
}
.gmz-bowtie__fase{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF7A7A;
}
.gmz-bowtie__fase--antes{grid-area:antes}
.gmz-bowtie__fase--depois{grid-area:depois;text-align:right}
.gmz-bowtie__etapas{grid-area:etapas;display:flex;align-items:center;gap:6px;height:196px}
.gmz-bowtie__etapa{
  position:relative;flex:1 1 0;min-width:0;height:calc(var(--h,1) * 180px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:8px 6px;border:0;cursor:pointer;color:var(--gmz-white);text-align:center;
  background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  transition:background .2s ease,height .3s cubic-bezier(.2,.7,.3,1);
}
/* Trapézio: o lado que encosta na venda é o mais curto. */
.gmz-bowtie__etapa--antes{clip-path:polygon(0 0,100% 11%,100% 89%,0 100%)}
.gmz-bowtie__etapa--depois{clip-path:polygon(0 11%,100% 0,100% 100%,0 89%)}
.gmz-bowtie__etapa:hover{background:rgba(255,255,255,.12)}
.gmz-bowtie__etapa:focus-visible{outline:2px solid var(--gmz-white);outline-offset:-5px}
.gmz-bowtie__etapa[aria-selected="true"]{background:var(--gmz-gradient);box-shadow:none}
.gmz-bowtie__num{font-size:10.5px;font-weight:700;letter-spacing:.1em;opacity:.7}
.gmz-bowtie__nome{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.gmz-bowtie__venda{
  flex:0 0 auto;width:64px;height:64px;border-radius:50%;background:var(--gmz-gradient);
  display:flex;align-items:center;justify-content:center;margin:0 6px;
  font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gmz-white);
  box-shadow:0 0 0 8px rgba(232,66,67,.16);
}

.gmz-bowtie__painel{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;
  padding:28px;display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:32px;align-items:start;
}
.gmz-bowtie__painel[hidden]{display:none}
.gmz-bowtie__painel-head{display:flex;flex-direction:column;gap:8px}
.gmz-bowtie__painel-fase{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF7A7A}
.gmz-bowtie__painel-titulo{margin:0;font-size:26px;font-weight:900;letter-spacing:-.02em;color:var(--gmz-white)}
.gmz-bowtie__painel-lead{margin:0;font-size:15px;line-height:1.6;color:var(--gmz-body-dark-bg);text-wrap:pretty}
.gmz-bowtie__detalhes{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gmz-bowtie__detalhe{
  display:flex;flex-direction:column;gap:6px;padding-left:14px;
  border-left:2px solid rgba(255,255,255,.14);
}
.gmz-bowtie__detalhe dt{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#FF7A7A}
.gmz-bowtie__detalhe dd{margin:0;font-size:14.5px;line-height:1.55;color:var(--gmz-white);text-wrap:pretty}

@media(max-width:900px){
  .gmz-bowtie__painel{grid-template-columns:1fr;gap:20px;padding:22px}
  .gmz-bowtie__detalhes{grid-template-columns:1fr;gap:14px}
}
/* Mobile: a gravata fica em pé. Aqui é a largura que varia, não a altura,
   então o desenho continua legível e o nome da etapa cabe. */
@media(max-width:760px){
  .gmz-bowtie__diagrama{display:block}
  .gmz-bowtie__fase{display:none}
  .gmz-bowtie__etapas{flex-direction:column;height:auto;gap:6px}
  .gmz-bowtie__etapa{
    height:auto;min-height:48px;width:calc(40% + var(--h,1) * 60%);flex:0 0 auto;
    flex-direction:row;gap:10px;padding:12px 14px;border-radius:10px;clip-path:none;
    transition:background .2s ease,width .3s cubic-bezier(.2,.7,.3,1);
  }
  .gmz-bowtie__venda{margin:6px 0;width:56px;height:56px}
  /* Cabeçalho de cada metade, uma vez só, acima da primeira etapa dela. */
  .gmz-bowtie__etapa--antes:first-of-type,
  .gmz-bowtie__venda + .gmz-bowtie__etapa--depois{margin-top:24px}
  .gmz-bowtie__etapa--antes:first-of-type::before,
  .gmz-bowtie__venda + .gmz-bowtie__etapa--depois::before{
    content:attr(data-fase);position:absolute;left:50%;top:-22px;transform:translateX(-50%);
    white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF7A7A;
  }
}
@media(prefers-reduced-motion:reduce){
  .gmz-bowtie__etapa{transition:none}
}

/* ------------------------------------------------------------ Footer ---- */
.gmz-footer{background:var(--gmz-dark);color:var(--gmz-white)}
.gmz-footer__inner{
  max-width:var(--gmz-container);margin:0 auto;
  padding:64px var(--gmz-gutter) 32px;display:flex;flex-direction:column;gap:48px;
}
.gmz-footer__top{display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between}
.gmz-footer__brand{display:flex;flex-direction:column;gap:16px;max-width:320px}
.gmz-footer__brand img{height:40px;width:auto;align-self:flex-start}
.gmz-footer__tagline{font-size:15px;font-weight:600;color:var(--gmz-white)}
.gmz-footer__about{font-size:13.5px;line-height:1.6;color:var(--gmz-muted-dark-bg)}
.gmz-footer__social{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}
.gmz-footer__social a{
  width:38px;height:38px;border-radius:var(--gmz-r-social);background:rgba(255,255,255,.07);
  display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--gmz-white);
}
.gmz-footer__social a:hover{background:var(--gmz-gradient);transform:translateY(-2px);color:var(--gmz-white)}
.gmz-footer__social svg{width:17px;height:17px;opacity:.9}
.gmz-footer__cols{display:flex;flex-wrap:wrap;gap:56px}
.gmz-footer__col{display:flex;flex-direction:column;gap:12px}
.gmz-footer__col-title{
  font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-muted);
}
.gmz-footer__col a{font-size:14px;color:var(--gmz-footer-link);text-decoration:none}
.gmz-footer__col a:hover{color:var(--gmz-white)}
.gmz-footer__cta{
  font-size:14px;font-weight:600;color:var(--gmz-white);text-decoration:none;
  background:var(--gmz-gradient);padding:10px 16px;border-radius:var(--gmz-r-social);
  text-align:center;
}
.gmz-footer__cta:hover{color:var(--gmz-white);filter:brightness(1.08)}
.gmz-footer__bottom{
  border-top:1px solid rgba(255,255,255,.10);padding-top:24px;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;
}
.gmz-footer__bottom span{font-size:12.5px;color:var(--gmz-muted)}

/* ------------------------------------------------------------- Cards ---- */
.gmz-grid{display:grid;gap:20px}
.gmz-grid--230{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.gmz-grid--280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.gmz-grid--300{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.gmz-grid--320{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;align-items:center}
.gmz-grid--260{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

.gmz-card{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:28px;display:flex;flex-direction:column;gap:10px;
  text-decoration:none;color:var(--gmz-dark);transition:all .2s ease;
}
a.gmz-card:hover{
  border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(32,31,38,.10);
}
.gmz-card--soft{box-shadow:0 2px 10px rgba(32,31,38,.04);padding:32px 28px;gap:14px}
.gmz-card__step{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.gmz-card__title{font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-card__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}

.gmz-icon-badge{
  width:44px;height:44px;border-radius:var(--gmz-r-btn);background:var(--gmz-gradient);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gmz-white);
}
.gmz-icon-badge svg{width:22px;height:22px}
.gmz-icon-badge--sm{width:38px;height:38px;border-radius:var(--gmz-r-input)}
.gmz-icon-badge--sm svg{width:18px;height:18px}

.gmz-tag{
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gmz-magenta);background:rgba(221,3,121,.07);
  padding:6px 12px;border-radius:999px;white-space:nowrap;
}
.gmz-tag--sm{font-size:11.5px;padding:5px 11px}
.gmz-pill{
  font-size:11.5px;font-weight:600;color:var(--gmz-muted);background:var(--gmz-surface);
  border:1px solid var(--gmz-border);padding:5px 11px;border-radius:999px;
}

/* Lista editorial (divisores finos, sem grid de cards) */
.gmz-list{display:flex;flex-direction:column}
.gmz-list__item{
  display:flex;gap:20px;padding:24px 0;border-top:1px solid var(--gmz-border);
}
.gmz-list__item:first-child{border-top:0;padding-top:0}
.gmz-section--dark .gmz-list__item{border-color:rgba(255,255,255,.10)}
.gmz-list__num{
  font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--gmz-primary);
  flex-shrink:0;min-width:34px;padding-top:3px;
}
.gmz-list__body{display:flex;flex-direction:column;gap:6px}
.gmz-list__title{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.35}
.gmz-list__desc{font-size:14.5px;line-height:1.65;color:var(--gmz-muted);text-wrap:pretty}
.gmz-section--dark .gmz-list__desc{color:var(--gmz-body-dark-bg)}

/* Linha de destaque (quote / bloco com barra vermelha) */
.gmz-rule-quote{
  border-left:3px solid var(--gmz-primary);padding:6px 0 6px 24px;margin-top:8px;
  display:flex;flex-direction:column;gap:10px;
}
.gmz-rule-quote__lead{
  font-size:clamp(20px,2.6vw,26px);font-weight:700;line-height:1.4;
  color:var(--gmz-white);text-wrap:balance;
}
.gmz-section:not(.gmz-section--dark) .gmz-rule-quote__lead{color:var(--gmz-dark)}

/* Métricas / provas */
.gmz-metric{
  font-size:clamp(30px,3.4vw,38px);font-weight:900;letter-spacing:-.02em;
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.gmz-metric--sm{font-size:clamp(28px,3.4vw,34px)}

/* --------------------------------------------------------- Carrosséis --- */
@keyframes gmz-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gmz-marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.gmz-marquee__track{
  display:flex;width:max-content;animation:gmz-scroll 36s linear infinite;
  /* Sem gap aqui: o espaçamento vive dentro de cada grupo. Um gap entre os
     dois grupos faria a animação de -50% cair fora da emenda. */
}
.gmz-marquee--awards{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.gmz-marquee--awards .gmz-marquee__track{animation-duration:44s}
.gmz-marquee:hover .gmz-marquee__track{animation-play-state:paused}

/* Carrossel de troféus: setas + arrastar. O JS (initCarrossel) assume o
   movimento, então a animação CSS sai de cena. */
.gmz-carrossel{position:relative}
.gmz-carrossel .gmz-marquee{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.gmz-carrossel .gmz-marquee.is-arrastando{cursor:grabbing}
.gmz-carrossel .gmz-marquee.is-js .gmz-marquee__track{animation:none;will-change:transform}
.gmz-carrossel .gmz-award img{-webkit-user-drag:none}
.gmz-carrossel__seta{
  position:absolute;top:50%;z-index:2;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;border:1px solid var(--gmz-border);
  background:var(--gmz-white);color:var(--gmz-dark);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(32,31,38,.10);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.gmz-carrossel__seta--prev{left:-6px}
.gmz-carrossel__seta--next{right:-6px}
.gmz-carrossel__seta:hover{background:var(--gmz-gradient);color:var(--gmz-white);border-color:transparent}
.gmz-carrossel__seta:focus-visible{outline:2px solid var(--gmz-primary);outline-offset:2px}
@media(max-width:600px){
  .gmz-carrossel__seta{width:40px;height:40px}
  .gmz-carrossel__seta--prev{left:0}
  .gmz-carrossel__seta--next{right:0}
}
@media(prefers-reduced-motion:reduce){
  .gmz-marquee__track{animation:none}
  .gmz-marquee{overflow-x:auto}
}
.gmz-logo{
  height:52px;width:150px;object-fit:contain;filter:grayscale(1);opacity:.5;
  transition:all .25s ease;flex-shrink:0;
}
.gmz-logo:hover{filter:grayscale(0);opacity:1}
/* Os troféus vêm recortados, sem fundo. Sem ficha e sem moldura: eles flutuam
   direto sobre a seção. object-fit:contain porque as orientações variam e
   nenhum troféu pode ser cortado. */
.gmz-award{
  width:240px;height:300px;flex-shrink:0;margin:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;padding:8px;
}
.gmz-award img{
  flex:1 1 auto;min-height:0;width:100%;object-fit:contain;display:block;
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.gmz-award:hover img{transform:scale(1.05)}
/* A faixa da legenda é descontada de dentro do tile, nunca somada por fora:
   o troféu do lado não se mexe quando o mouse entra, e a largura (que é o que
   a emenda do marquee depende) continua a mesma. */
.gmz-award__nome{
  flex:0 0 34px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:12px;line-height:16px;color:var(--gmz-muted);
  opacity:0;transform:translateY(4px);
  transition:opacity .25s ease,transform .25s ease;
}
.gmz-award:hover .gmz-award__nome,
.gmz-award:focus-within .gmz-award__nome{opacity:1;transform:none}
/* Em touch não existe hover: esconder a legenda seria perder o dado. */
@media(hover:none){
  .gmz-award__nome{opacity:1;transform:none}
}
@media(max-width:600px){
  .gmz-award{width:190px;height:238px}
  .gmz-award__nome{flex-basis:32px;font-size:11px;line-height:15px}
}
@media(prefers-reduced-motion:reduce){
  .gmz-award img{transition:none}
  .gmz-award:hover img{transform:none}
  .gmz-award__nome{transition:none}
}
.gmz-seal{width:150px;height:80px;border-radius:var(--gmz-r-btn);overflow:hidden}
.gmz-seal img{width:100%;height:100%;object-fit:contain;display:block}

/* ---------------------------------------------------------- Tabs Home --- */
.gmz-tabs{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:stretch}
.gmz-tabs__rail{display:flex;flex-direction:column;gap:10px}
.gmz-tabs__btn{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:14px;
  padding:18px 20px;display:flex;align-items:center;gap:14px;cursor:pointer;
  text-align:left;width:100%;transition:all .2s ease;
}
.gmz-tabs__btn-icon{
  width:42px;height:42px;border-radius:var(--gmz-r-btn);background:var(--gmz-gradient);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:all .2s ease;color:var(--gmz-white);
}
.gmz-tabs__btn-icon svg{width:20px;height:20px}
.gmz-tabs__btn-text{display:flex;flex-direction:column;gap:2px}
.gmz-tabs__btn-title{font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--gmz-dark)}
.gmz-tabs__btn-desc{font-size:12.5px;color:var(--gmz-muted)}
.gmz-tabs__btn[aria-selected="true"]{background:var(--gmz-gradient);border-color:transparent}
.gmz-tabs__btn[aria-selected="true"] .gmz-tabs__btn-icon{background:rgba(255,255,255,.18)}
.gmz-tabs__btn[aria-selected="true"] .gmz-tabs__btn-title{color:var(--gmz-white)}
.gmz-tabs__btn[aria-selected="true"] .gmz-tabs__btn-desc{color:rgba(255,255,255,.82)}

.gmz-tabs__panel{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:18px;
  padding:36px;display:flex;flex-direction:column;gap:8px;
  box-shadow:0 2px 12px rgba(32,31,38,.04);
}
.gmz-tabs__panel[hidden]{display:none}
.gmz-tabs__panel-head{display:flex;flex-direction:column;gap:6px;padding-bottom:8px}
.gmz-tabs__panel-sub{
  font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gmz-muted);
}
.gmz-tabs__panel-titlerow{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.gmz-tabs__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.gmz-tabs__item{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-btn);
  padding:18px;display:flex;flex-direction:column;gap:6px;transition:all .2s ease;
}
.gmz-tabs__item:hover{border-color:var(--gmz-primary);background:var(--gmz-white)}
.gmz-tabs__item-name{font-size:15px;font-weight:700;color:var(--gmz-dark)}
.gmz-tabs__item-desc{font-size:13px;line-height:1.55;color:var(--gmz-muted);text-wrap:pretty}
@media(max-width:900px){
  .gmz-tabs{grid-template-columns:1fr}
  .gmz-tabs__rail{flex-direction:row;overflow-x:auto;padding-bottom:4px}
  .gmz-tabs__btn{min-width:240px}
}

/* ------------------------------------------------------------ ICP row --- */
.gmz-icp{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);border-radius:14px;
  padding:18px 22px;display:flex;align-items:center;gap:16px;transition:all .22s ease;
}
.gmz-icp:hover{border-color:var(--gmz-primary);background:var(--gmz-white);transform:translateX(4px)}
.gmz-icp__text{display:flex;flex-direction:column;gap:2px}
.gmz-icp__name{font-size:15.5px;font-weight:700}
.gmz-icp__desc{font-size:13px;line-height:1.5;color:var(--gmz-muted)}

/* ---------------------------------------------------------- Case card --- */
.gmz-case-card{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:28px;display:flex;flex-direction:column;gap:16px;
  text-decoration:none;color:var(--gmz-dark);transition:all .22s ease;
}
.gmz-case-card:hover{
  border-color:var(--gmz-primary);transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(32,31,38,.10);color:var(--gmz-dark);
}
.gmz-case-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
/* O tamanho do box vem inline, calculado por gmz_logo_caixa() a partir da
   proporção de cada logo, para que todos ocupem área parecida. Os valores
   abaixo são o fallback de quando não há metadado da imagem. */
.gmz-case-card__logo{
  width:130px;height:42px;border-radius:8px;overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:flex-start;
}
.gmz-case-card__logo img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}
.gmz-case-card__tags{display:flex;flex-wrap:wrap;gap:8px}
.gmz-case-card__more{font-size:13.5px;font-weight:700;color:var(--gmz-primary);margin-top:auto}

/* ------------------------------------------------------- Formulários ---- */
.gmz-form{
  background:var(--gmz-white);border-radius:20px;padding:32px;
  display:flex;flex-direction:column;gap:14px;color:var(--gmz-dark);
  box-shadow:0 24px 64px rgba(0,0,0,.25);
}
.gmz-form--flat{box-shadow:none;border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media)}
.gmz-form__head{display:flex;flex-direction:column;gap:4px}
.gmz-form__title{font-size:20px;font-weight:800;letter-spacing:-.01em}
.gmz-form__hint{font-size:13px;color:var(--gmz-muted)}
.gmz-form__foot{font-size:12.5px;color:var(--gmz-muted);text-align:center;text-decoration:none}
.gmz-form__foot:hover{color:var(--gmz-primary)}

/* Contact Form 7 — herda o visual do protótipo */
.gmz-form .wpcf7-form,
.gmz-form-wrap .wpcf7-form{display:flex;flex-direction:column;gap:14px}
.gmz-form-wrap p{margin:0}
.wpcf7-form-control-wrap{display:block}
.gmz-form-wrap input[type="text"],
.gmz-form-wrap input[type="email"],
.gmz-form-wrap input[type="tel"],
.gmz-form-wrap input[type="url"],
.gmz-form-wrap input[type="date"],
.gmz-form-wrap input[type="number"],
.gmz-form-wrap select,
.gmz-form-wrap textarea{
  width:100%;border:1px solid var(--gmz-border);border-radius:var(--gmz-r-input);
  padding:13px 15px;font-size:15px;background:var(--gmz-surface);
  font-family:inherit;color:var(--gmz-dark);outline-color:var(--gmz-primary);
  transition:border-color .2s ease,background .2s ease;
}
.gmz-form-wrap textarea{min-height:130px;resize:vertical;line-height:1.6}
.gmz-form-wrap input:focus,
.gmz-form-wrap select:focus,
.gmz-form-wrap textarea:focus{
  border-color:var(--gmz-primary);background:var(--gmz-white);
}
.gmz-form-wrap input::placeholder,
.gmz-form-wrap textarea::placeholder{color:var(--gmz-muted);opacity:.85}
.gmz-form-wrap label{
  display:flex;flex-direction:column;gap:6px;
  font-size:13px;font-weight:600;color:var(--gmz-dark);
}
.gmz-form-wrap .wpcf7-submit,
.gmz-form-wrap button[type="submit"]{
  background:var(--gmz-gradient);color:var(--gmz-white);font-size:15.5px;font-weight:700;
  padding:15px;border:none;border-radius:13px;cursor:pointer;font-family:inherit;
  transition:all .2s ease;box-shadow:0 6px 18px rgba(232,66,67,.28);width:100%;
}
.gmz-form-wrap .wpcf7-submit:hover,
.gmz-form-wrap button[type="submit"]:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* Mensagens do CF7 */
.wpcf7 form .wpcf7-response-output{
  margin:0;border:1px solid rgba(30,158,86,.25);background:rgba(30,158,86,.08);
  border-radius:var(--gmz-r-btn);padding:14px 16px;font-size:14px;
  color:var(--gmz-success);font-weight:600;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output{
  border-color:rgba(232,66,67,.28);background:rgba(232,66,67,.07);color:var(--gmz-primary-hover);
}
.wpcf7-not-valid-tip{
  color:var(--gmz-primary-hover);font-size:12.5px;font-weight:600;margin-top:6px;display:block;
}
/* --- CF7: estados de envio ---------------------------------------------
   O tema estilizava só o botão em repouso. Ao enviar, o CF7 marca o form com
   .submitting e desabilita o botão, e nada disso tinha estilo: o visitante
   clicava e não via sinal de que algo estava acontecendo. O spinner nativo é
   um quadrado cinza escuro solto ao lado do botão, que num botão de largura
   total com gradiente vermelho parece defeito. Aqui ele vai para dentro do
   botão, no lugar do texto. */

/* Enquanto envia: some o texto do botão e entra o spinner no centro. */
.gmz-form-wrap .wpcf7-form.submitting .wpcf7-submit{
  color:transparent;cursor:progress;filter:saturate(.85);
}
.gmz-form-wrap .wpcf7-form.submitting .wpcf7-submit:hover{transform:none}

/* O spinner deixa de ocupar espaço na linha e se sobrepõe ao botão. */
.gmz-form-wrap .wpcf7-spinner{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  margin:0;background-color:var(--gmz-white);opacity:1;width:20px;height:20px;
  z-index:2;pointer-events:none;
}
.gmz-form-wrap .wpcf7-spinner::before{background-color:var(--gmz-primary-hover)}

/* Âncora do posicionamento do spinner: o <p> que o CF7 gera ao redor. */
.gmz-form-wrap .wpcf7-form p:has(> .wpcf7-submit){position:relative;margin:0}

/* Fallback para navegador sem :has() — o Safari 15 ainda aparece no acesso. */
.gmz-form-wrap .wpcf7-form .wpcf7-submit{position:relative;z-index:1}

/* Botão desabilitado (aceite de termos pendente, envio em curso). */
.gmz-form-wrap .wpcf7-submit:disabled{
  cursor:not-allowed;box-shadow:none;transform:none;filter:grayscale(.35) brightness(.95);
}

/* Mensagem de resposta: era discreta demais para ser notada depois do envio. */
.wpcf7 form.sent .wpcf7-response-output{
  border-left-width:3px;font-size:14.5px;line-height:1.5;
  display:flex;gap:10px;align-items:flex-start;
}
.wpcf7 form.sent .wpcf7-response-output::before{
  content:"✓";font-weight:800;flex:0 0 auto;line-height:1.45;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output{
  border-left-width:3px;font-size:14.5px;line-height:1.5;
}
.wpcf7-spinner{margin:0 auto}
.gmz-alert-success{
  background:rgba(30,158,86,.08);border:1px solid rgba(30,158,86,.25);
  border-radius:var(--gmz-r-btn);padding:14px 16px;font-size:14px;
  color:var(--gmz-success);font-weight:600;
}

/* ------------------------------------------------------------- Editor --- */
.gmz-prose{font-size:17px;line-height:1.75;color:#3B3846;max-width:720px}
.gmz-prose > * + *{margin-top:22px}
.gmz-prose h2{font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.25;margin-top:44px;color:var(--gmz-dark)}
.gmz-prose h3{font-size:21px;font-weight:700;line-height:1.35;margin-top:36px;color:var(--gmz-dark)}
.gmz-prose ul,.gmz-prose ol{padding-left:22px;display:flex;flex-direction:column;gap:10px}
.gmz-prose img{border-radius:var(--gmz-r-media);display:block}
.gmz-prose blockquote{
  margin:0;border-left:3px solid var(--gmz-primary);padding:4px 0 4px 22px;
  font-size:19px;font-weight:600;line-height:1.5;color:var(--gmz-dark);
}
.gmz-prose code{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);
  border-radius:6px;padding:2px 6px;font-size:.9em;
}
.gmz-prose pre{
  background:var(--gmz-dark);color:var(--gmz-white);border-radius:var(--gmz-r-btn);
  padding:20px;overflow-x:auto;
}
.gmz-prose pre code{background:none;border:0;padding:0;color:inherit}
.gmz-prose table{width:100%;border-collapse:collapse}
.gmz-prose th,.gmz-prose td{border:1px solid var(--gmz-border);padding:10px 12px;text-align:left}
.gmz-prose figcaption{font-size:13px;color:var(--gmz-muted);margin-top:8px}

/* --------------------------------------------------------- Utilidades --- */
.gmz-media{border-radius:var(--gmz-r-media);overflow:hidden;display:block}
.gmz-media img{display:block;width:100%;height:auto}
.gmz-media--panel{background:var(--gmz-surface);border:1px solid var(--gmz-border)}
.gmz-split-head{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;
}
.gmz-center{text-align:center;align-items:center}
.gmz-divider{border:0;border-top:1px solid var(--gmz-border);margin:0}
.gmz-section--dark .gmz-divider{border-color:rgba(255,255,255,.10)}

/* Reveal on scroll */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
}

/* Paginação */
.gmz-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding-top:8px}
.gmz-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
  padding:0 12px;border:1px solid var(--gmz-border);border-radius:var(--gmz-r-social);
  background:var(--gmz-white);color:var(--gmz-dark);font-size:14px;font-weight:600;
}
.gmz-pagination .page-numbers:hover{border-color:var(--gmz-primary);color:var(--gmz-primary)}
.gmz-pagination .page-numbers.current{background:var(--gmz-gradient);border-color:transparent;color:var(--gmz-white)}

/* Responsivo geral */
@media(max-width:768px){
  .gmz-section__inner{padding-block:64px;gap:32px}
  .gmz-grid--320{gap:36px}
  .gmz-form{padding:24px}
  .gmz-tabs__panel{padding:24px}
}

/* Reveal (porta do runtime do protótipo) */
.gmz-reveal{
  opacity:0;transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
}
.gmz-reveal.gmz-in{opacity:1;transform:none}
[data-gmz-nav].gmz-scrolled{box-shadow:0 8px 24px rgba(32,31,38,.08)}
@media(prefers-reduced-motion:reduce){
  .gmz-reveal{opacity:1;transform:none;transition:none}
}

/* --------------------------------------------- Capacidade / Solução --- */
.gmz-problema{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:17px 0;border-top:1px solid #E3E1E9;color:var(--gmz-dark);
  text-decoration:none;transition:color .15s ease;
}
.gmz-problema--link:hover{color:var(--gmz-primary)}
.gmz-problema__texto{font-size:15px;font-weight:600;line-height:1.45}
.gmz-problema__cta{
  font-size:13px;font-weight:700;color:var(--gmz-primary);
  white-space:nowrap;flex-shrink:0;
}
.gmz-problema__marca{font-size:12px;font-weight:700;color:#B8B4C4;flex-shrink:0}
.gmz-problema:not(.gmz-problema--link){justify-content:flex-start;gap:12px;align-items:baseline}

.gmz-entrega{
  display:flex;align-items:center;gap:14px;padding:19px 0;
  border-top:1px solid var(--gmz-border);
}
.gmz-entrega__dot{
  width:8px;height:8px;border-radius:99px;background:var(--gmz-gradient);flex-shrink:0;
}
.gmz-entrega__nome{font-size:16px;font-weight:700;color:var(--gmz-dark)}

/* Checklist (hero do diagnóstico, entregas em fundo escuro) */
.gmz-check{display:flex;gap:14px;align-items:flex-start}
.gmz-check__mark{
  width:26px;height:26px;border-radius:8px;background:rgba(30,158,86,.15);color:#4CC98A;
  font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:1px;
}
.gmz-check__text{display:flex;flex-direction:column;gap:2px}
.gmz-check__title{font-size:15.5px;font-weight:700;color:var(--gmz-white)}
.gmz-check__desc{font-size:13.5px;line-height:1.55;color:var(--gmz-body-dark-bg)}

/* Caixa de métrica em fundo escuro */
.gmz-stat-dark{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px;
}
.gmz-stat-dark__valor{font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--gmz-white)}
.gmz-stat-dark__rotulo{font-size:13px;color:var(--gmz-body-dark-bg)}

/* Passo numerado (cards de "como funciona") */
.gmz-step{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:30px 28px;display:flex;flex-direction:column;gap:12px;
}
.gmz-step__num{
  width:42px;height:42px;border-radius:var(--gmz-r-btn);background:var(--gmz-gradient);
  color:var(--gmz-white);font-size:14px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.gmz-step__num--plain{
  width:auto;height:auto;background:var(--gmz-gradient);color:transparent;
  -webkit-background-clip:text;background-clip:text;
  font-size:32px;font-weight:900;letter-spacing:-.03em;display:block;
}
.gmz-step__title{font-size:18px;font-weight:700;line-height:1.3}
.gmz-step__desc{font-size:14.5px;line-height:1.65;color:var(--gmz-muted);text-wrap:pretty}

/* Grupos de entregáveis por frente */
.gmz-frente{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:28px;display:flex;flex-direction:column;gap:14px;
}
.gmz-frente__nome{
  font-size:12.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gmz-primary);
}
.gmz-frente__lista{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.gmz-frente__item{
  font-size:14.5px;line-height:1.55;color:var(--gmz-dark);
  padding:11px 0;border-top:1px solid var(--gmz-border);
}
.gmz-frente__item:first-child{border-top:0;padding-top:0}

/* Ícone de sucesso da confirmação */
.gmz-success-badge{
  width:72px;height:72px;border-radius:20px;background:rgba(30,158,86,.10);
  border:1px solid rgba(30,158,86,.25);color:var(--gmz-success);
  display:flex;align-items:center;justify-content:center;
}
.gmz-success-badge svg{width:34px;height:34px}

/* Card de link (confirmação, artefatos) */
.gmz-linkcard{
  display:flex;flex-direction:column;gap:10px;background:var(--gmz-surface);
  border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);padding:26px;
  text-decoration:none;color:var(--gmz-dark);transition:all .2s ease;
}
.gmz-linkcard:hover{border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-3px)}
.gmz-linkcard__title{font-size:16px;font-weight:700}
.gmz-linkcard__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}
.gmz-linkcard__more{font-size:13.5px;font-weight:700;color:var(--gmz-primary);margin-top:auto}

/* Canal de contato */
.gmz-canal{
  display:flex;align-items:center;gap:14px;background:var(--gmz-surface);
  border:1px solid var(--gmz-border);border-radius:14px;padding:18px 20px;
  text-decoration:none;color:var(--gmz-dark);transition:all .2s ease;
}
.gmz-canal:hover{border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-2px)}
.gmz-canal__text{display:flex;flex-direction:column;gap:2px}
.gmz-canal__rotulo{font-size:15px;font-weight:700}
.gmz-canal__valor{font-size:13px;color:var(--gmz-muted)}

/* Post / blog */
.gmz-post-card{
  display:flex;flex-direction:column;gap:14px;background:var(--gmz-white);
  border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);overflow:hidden;
  text-decoration:none;color:var(--gmz-dark);transition:all .22s ease;
}
.gmz-post-card:hover{
  border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(32,31,38,.10);
}
.gmz-post-card__media{aspect-ratio:16/9;background:var(--gmz-surface);overflow:hidden}
.gmz-post-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.gmz-post-card__body{display:flex;flex-direction:column;gap:10px;padding:24px 26px 28px}
.gmz-post-card__meta{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gmz-muted)}
.gmz-post-card__title{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-post-card__excerpt{font-size:14px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}

/* Planos (comunidade) */
.gmz-plano{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:18px;
  padding:32px 28px;display:flex;flex-direction:column;gap:16px;
}
.gmz-plano__nome{font-size:17px;font-weight:800;letter-spacing:-.01em}
.gmz-plano__preco{font-size:clamp(30px,3.4vw,38px);font-weight:900;letter-spacing:-.02em}
.gmz-plano__periodo{font-size:13px;color:var(--gmz-muted);font-weight:600}
.gmz-plano__lista{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.gmz-plano__item{
  display:flex;gap:10px;align-items:flex-start;
  font-size:14px;line-height:1.55;color:var(--gmz-muted);
}
.gmz-plano__item svg{flex-shrink:0;margin-top:2px;color:var(--gmz-success)}

/* ------------------------------------------------ Página de solução --- */
.gmz-sintoma{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:26px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease;
}
.gmz-sintoma:hover{border-color:rgba(232,66,67,.3)}
.gmz-sintoma__icone{
  width:44px;height:44px;border-radius:var(--gmz-r-btn);background:rgba(232,66,67,.08);
  color:var(--gmz-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.gmz-sintoma__titulo{font-size:15.5px;font-weight:700;color:var(--gmz-dark);line-height:1.3}
.gmz-sintoma__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}

.gmz-painel{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:18px;
  padding:32px;display:flex;flex-direction:column;gap:12px;
}
.gmz-painel--destaque{
  background:linear-gradient(135deg,rgba(221,3,121,.05),rgba(232,66,67,.05));
  border-color:rgba(232,66,67,.15);
}
.gmz-painel__rotulo{
  font-size:12.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-muted);
}
.gmz-painel__texto{font-size:15.5px;line-height:1.7;color:var(--gmz-dark);text-wrap:pretty}

.gmz-checklist{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:28px;display:flex;flex-direction:column;gap:14px;
}
.gmz-checklist__rotulo{
  font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.gmz-checklist__item{
  display:flex;gap:10px;align-items:flex-start;
  font-size:14.5px;line-height:1.6;color:var(--gmz-muted);
}
.gmz-checklist__mark{
  font-size:12px;font-weight:700;color:var(--gmz-primary);flex-shrink:0;margin-top:2px;
}

.gmz-accordion{
  background:var(--gmz-white);border:1px solid var(--gmz-border);
  border-radius:var(--gmz-r-media);overflow:hidden;
}
.gmz-accordion__head{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 26px;cursor:pointer;user-select:none;
}
.gmz-accordion__head::-webkit-details-marker{display:none}
.gmz-accordion__text{display:flex;flex-direction:column;gap:3px}
.gmz-accordion__nome{font-size:16px;font-weight:700;color:var(--gmz-dark)}
.gmz-accordion__desc{font-size:13px;color:var(--gmz-muted)}
.gmz-accordion__plus{
  width:32px;height:32px;border-radius:9px;background:var(--gmz-gradient);color:var(--gmz-white);
  font-size:18px;font-weight:600;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:transform .2s ease;
}
.gmz-accordion[open] .gmz-accordion__plus{transform:rotate(45deg)}
.gmz-accordion__body{
  padding:18px 26px 24px;display:flex;flex-direction:column;gap:11px;
  border-top:1px solid var(--gmz-border);
}
.gmz-accordion__item{
  font-size:14.5px;line-height:1.6;color:var(--gmz-muted);
  padding-left:18px;position:relative;
}
.gmz-accordion__item::before{
  content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:99px;
  background:var(--gmz-gradient);
}

.gmz-capchip{
  display:flex;align-items:center;gap:12px;background:var(--gmz-white);
  border:1px solid var(--gmz-border);border-radius:14px;padding:16px 22px;
  text-decoration:none;color:var(--gmz-dark);transition:all .2s ease;flex:1 1 200px;
}
.gmz-capchip:hover{border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-3px)}
.gmz-capchip__icone{
  width:36px;height:36px;border-radius:var(--gmz-r-social);background:var(--gmz-gradient);
  color:var(--gmz-white);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.gmz-capchip__nome{font-size:14.5px;font-weight:700}

/* --------------------------------------------- Página de capability --- */
.gmz-sinal{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);border-radius:14px;
  padding:20px 22px;display:flex;gap:12px;align-items:flex-start;
  font-size:14.5px;font-weight:600;line-height:1.5;color:var(--gmz-dark);
}
.gmz-sinal__marca{font-size:12px;font-weight:700;color:#B8B4C4;flex-shrink:0;margin-top:3px}

.gmz-entrega-card{
  background:var(--gmz-surface);border:1px solid var(--gmz-border);border-radius:14px;
  padding:24px;display:flex;flex-direction:column;gap:8px;transition:all .2s ease;
}
.gmz-entrega-card:hover{border-color:var(--gmz-primary);box-shadow:0 8px 22px rgba(32,31,38,.08)}
.gmz-entrega-card__titulo{font-size:16px;font-weight:700;color:var(--gmz-dark)}
.gmz-entrega-card__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}

.gmz-adjacent{
  flex:1 1 260px;background:var(--gmz-white);border:1px solid var(--gmz-border);
  border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:4px;
  text-decoration:none;color:var(--gmz-dark);transition:all .2s ease;
}
.gmz-adjacent:hover{border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-3px)}
.gmz-adjacent--right{text-align:right}
.gmz-adjacent__label{font-size:12px;color:var(--gmz-muted)}
.gmz-adjacent__title{font-size:16px;font-weight:700}

/* ------------------------------------------------ Card de download --- */
.gmz-download-card{
  background:var(--gmz-dark);border-radius:20px;padding:36px;
  display:flex;flex-direction:column;gap:16px;color:var(--gmz-white);
  position:sticky;top:96px;box-shadow:0 24px 60px rgba(32,31,38,.25);
}
.gmz-download-card__eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#FF7A7A;
}
.gmz-download-card__titulo{font-size:21px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.gmz-download-card__nota{font-size:12px;line-height:1.5;color:var(--gmz-body-dark-bg)}
.gmz-download-card__direto{
  padding:15px;font-size:15px;font-weight:700;border-radius:var(--gmz-r-btn);text-align:center;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  color:var(--gmz-white);text-decoration:none;transition:all .2s ease;
}
.gmz-download-card__direto:hover{background:rgba(255,255,255,.14);color:var(--gmz-white)}

/* Formulário sobre fundo escuro */
.gmz-download-card .gmz-form-wrap input[type="text"],
.gmz-download-card .gmz-form-wrap input[type="email"],
.gmz-download-card .gmz-form-wrap input[type="tel"],
.gmz-download-card .gmz-form-wrap select,
.gmz-download-card .gmz-form-wrap textarea{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:var(--gmz-white);
}
.gmz-download-card .gmz-form-wrap input::placeholder{color:var(--gmz-body-dark-bg);opacity:1}
.gmz-download-card .gmz-form-wrap label{color:var(--gmz-white)}
.gmz-download-card .gmz-form-wrap input:focus{background:rgba(255,255,255,.1);border-color:#FF7A7A}
@media(max-width:900px){
  .gmz-download-card{position:static}
}

/* ---------------------------------------------------------- Filtros --- */
.gmz-filtro{
  font-size:13.5px;font-weight:500;color:var(--gmz-muted);background:var(--gmz-white);
  border:1px solid var(--gmz-border);padding:9px 16px;border-radius:999px;
  text-decoration:none;transition:all .2s ease;
}
.gmz-filtro:hover{border-color:var(--gmz-primary);color:var(--gmz-primary)}
.gmz-filtro.is-active{
  font-weight:700;color:var(--gmz-white);background:var(--gmz-gradient);border-color:transparent;
}
.gmz-filtro.is-active:hover{color:var(--gmz-white)}

/* ------------------------------------------------- Página Programa --- */
.gmz-etapa{
  display:grid;grid-template-columns:64px 1fr;gap:20px;
  padding:28px 0;border-top:1px solid var(--gmz-border);
}
.gmz-etapa__num{
  font-size:15px;font-weight:900;letter-spacing:-.01em;
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.gmz-etapa__nome{
  font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gmz-muted);
}
.gmz-etapa__headline{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.3}

.gmz-arrow-list{
  margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;
}
.gmz-arrow-list li{
  padding:13px 0;border-top:1px solid #E3E1E9;font-size:14.5px;
  color:var(--gmz-dark);display:flex;gap:10px;align-items:baseline;
}
.gmz-arrow-list li span{color:var(--gmz-primary);font-weight:800}

.gmz-modelos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.gmz-modelo{
  display:flex;flex-direction:column;gap:12px;
  padding:8px 32px 8px 0;margin-right:32px;border-right:1px solid var(--gmz-border);
}
.gmz-modelo:last-child{border-right:0;margin-right:0}
.gmz-modelo__tag{
  font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gmz-magenta);
}
.gmz-modelo__nome{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-modelo__desc{font-size:14px;line-height:1.65;color:var(--gmz-muted);text-wrap:pretty}
.gmz-modelo__valor{
  font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  background:var(--gmz-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}
@media(max-width:820px){
  .gmz-modelo{border-right:0;margin-right:0;padding-right:0;border-top:1px solid var(--gmz-border);padding-top:24px}
}

/* Accordion editorial (linha fina, sem card) */
.gmz-details{border-top:1px solid #E3E1E9;padding:20px 0}
.gmz-details__head{
  cursor:pointer;list-style:none;display:flex;
  justify-content:space-between;align-items:center;gap:16px;
}
.gmz-details__head::-webkit-details-marker{display:none}
.gmz-details__nome{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--gmz-dark)}
.gmz-details__papel{
  font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-magenta);
}
.gmz-details__plus{
  color:var(--gmz-primary);font-weight:800;font-size:18px;flex-shrink:0;
  transition:transform .2s ease;
}
.gmz-details[open] .gmz-details__plus{transform:rotate(45deg)}
.gmz-details__q{
  font-size:16px;font-weight:700;color:var(--gmz-dark);
}
.gmz-details__a{margin-top:12px;font-size:14.5px;line-height:1.65;color:var(--gmz-muted);text-wrap:pretty}

/* ------------------------------------------- Índices de conteúdo --- */
.gmz-cap-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;
  padding:40px 0;border-top:1px solid #E3E1E9;text-decoration:none;
  color:var(--gmz-dark);transition:color .15s ease;
}
.gmz-cap-row:hover{color:var(--gmz-dark)}
.gmz-cap-row:hover .gmz-cap-row__nome{color:var(--gmz-primary)}
.gmz-cap-row__papel{
  font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-magenta);
}
.gmz-cap-row__nome{
  font-size:clamp(22px,2.8vw,30px);font-weight:800;letter-spacing:-.02em;transition:color .15s ease;
}

.gmz-sol-card{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:18px;
  padding:28px;display:flex;flex-direction:column;gap:14px;
  text-decoration:none;color:var(--gmz-dark);transition:all .22s ease;
}
.gmz-sol-card:hover{
  border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(32,31,38,.10);
}
.gmz-sol-card__cat{
  font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-magenta);
}
.gmz-sol-card__titulo{font-size:17.5px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-sol-card__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}

/* ------------------------------------------------- Página Serviços --- */
.gmz-tech-pill{
  display:flex;align-items:center;padding:9px 18px;background:var(--gmz-surface);
  border:1px solid var(--gmz-border);border-radius:999px;font-size:12.5px;
  font-weight:600;color:var(--gmz-muted);white-space:nowrap;flex-shrink:0;
}
.gmz-pilar-card{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:20px;
  padding:44px;display:flex;flex-direction:column;gap:28px;
  box-shadow:0 2px 12px rgba(32,31,38,.04);scroll-margin-top:88px;
}
.gmz-checklist--destaque{
  background:linear-gradient(135deg,rgba(221,3,121,.05),rgba(232,66,67,.05));
  border-color:rgba(232,66,67,.15);border-radius:14px;padding:24px;gap:12px;
}
@media(max-width:768px){
  .gmz-pilar-card{padding:28px}
}

/* ------------------------------------------------ Página Artefatos --- */
.gmz-busca{position:relative;max-width:560px;margin-top:6px}
.gmz-busca__icone{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  display:flex;color:var(--gmz-muted);opacity:.7;pointer-events:none;
}
.gmz-busca input[type="search"]{
  width:100%;box-sizing:border-box;padding:15px 18px 15px 46px;font-size:15px;
  font-family:inherit;border:1px solid var(--gmz-border);border-radius:13px;
  background:var(--gmz-surface);color:var(--gmz-dark);
}
.gmz-busca input[type="search"]:focus{outline:2px solid var(--gmz-primary);outline-offset:-1px}

.gmz-catalogo{
  display:grid;grid-template-columns:230px 1fr;gap:40px;
  align-items:start;padding:56px 0 80px;
}
.gmz-catalogo__aside{display:flex;flex-direction:column;gap:6px;position:sticky;top:96px}
.gmz-catalogo__titulo{
  font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gmz-muted);padding:0 14px 8px;
}
.gmz-catalogo__cat{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px;border-radius:var(--gmz-r-input);font-size:14px;
  color:var(--gmz-dark);text-decoration:none;transition:all .15s ease;
}
.gmz-catalogo__cat:hover{background:var(--gmz-border);color:var(--gmz-dark)}
.gmz-catalogo__cat.is-active{background:var(--gmz-white);font-weight:700;color:var(--gmz-primary)}
.gmz-catalogo__count{
  font-size:12px;font-weight:700;color:var(--gmz-muted);background:var(--gmz-white);
  border:1px solid var(--gmz-border);padding:2px 8px;border-radius:999px;
}
.gmz-vazio{
  background:var(--gmz-white);border:1px dashed var(--gmz-footer-link);border-radius:var(--gmz-r-media);
  padding:48px;text-align:center;color:var(--gmz-muted);font-size:15px;
}
@media(max-width:820px){
  .gmz-catalogo{grid-template-columns:1fr}
  .gmz-catalogo__aside{position:static;flex-direction:row;flex-wrap:wrap}
  .gmz-catalogo__titulo{display:none}
}

.gmz-artefato-card{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:18px;
  overflow:hidden;display:flex;flex-direction:column;text-decoration:none;
  color:var(--gmz-dark);box-shadow:0 2px 10px rgba(32,31,38,.04);transition:all .22s ease;
}
.gmz-artefato-card:hover{
  border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(32,31,38,.10);
}
.gmz-artefato-card__media{
  display:block;height:150px;overflow:hidden;
  background:linear-gradient(135deg,rgba(221,3,121,.08),rgba(232,66,67,.08));
}
.gmz-artefato-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.gmz-artefato-card__body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px}
.gmz-artefato-card__cat{
  font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-magenta);
}
.gmz-artefato-card__titulo{font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-artefato-card__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}

/* ----------------------------------------------------- Página Sobre --- */
.gmz-timeline{display:flex;flex-direction:column}
.gmz-marco{
  display:grid;grid-template-columns:110px 1fr;gap:24px;
  padding:28px 0;border-top:1px solid var(--gmz-border);
}
.gmz-marco__ano{
  display:inline-flex;align-items:center;justify-content:center;height:34px;
  padding:0 16px;border-radius:999px;background:var(--gmz-white);
  border:1px solid var(--gmz-border);font-size:14px;font-weight:800;
  letter-spacing:-.01em;color:var(--gmz-dark);align-self:flex-start;
}
.gmz-marco__ano.is-destaque{
  background:var(--gmz-gradient);border-color:transparent;color:var(--gmz-white);
}
@media(max-width:640px){
  .gmz-marco{grid-template-columns:1fr;gap:12px}
}

.gmz-valor{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:var(--gmz-r-media);
  padding:26px;display:flex;gap:16px;align-items:flex-start;
}

/* ---------------------------------------------------- Página Cursos --- */
.gmz-curso{
  background:var(--gmz-white);border:1px solid var(--gmz-border);border-radius:18px;
  padding:26px;display:flex;flex-direction:column;gap:12px;
  text-decoration:none;color:var(--gmz-dark);transition:all .22s ease;
}
.gmz-curso:hover{
  border-color:var(--gmz-primary);color:var(--gmz-dark);transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(32,31,38,.10);
}
.gmz-curso__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gmz-curso__area{
  font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gmz-magenta);
}
.gmz-curso__titulo{font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-curso__desc{font-size:13.5px;line-height:1.6;color:var(--gmz-muted);text-wrap:pretty}
.gmz-curso__rodape{
  display:flex;gap:8px;align-items:center;margin-top:auto;
  font-size:12.5px;color:var(--gmz-muted);
}

.gmz-trilha{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--gmz-r-media);padding:26px;display:flex;flex-direction:column;gap:16px;
  transition:all .22s ease;
}
.gmz-trilha:hover{background:rgba(255,255,255,.07);border-color:rgba(232,66,67,.4);transform:translateY(-3px)}

/* ------------------------------------------------ Página Comunidade --- */
.gmz-plano--destaque{
  background:linear-gradient(150deg,#DD0379,#E84243);border-color:transparent;
  box-shadow:0 20px 48px rgba(232,66,67,.32);color:var(--gmz-white);
}
.gmz-plano--destaque .gmz-plano__nome,
.gmz-plano--destaque .gmz-plano__preco{color:var(--gmz-white)}
.gmz-plano--destaque .gmz-plano__periodo{color:rgba(255,255,255,.8)}
.gmz-plano--destaque .gmz-plano__item{color:rgba(255,255,255,.92)}
.gmz-plano--destaque .gmz-plano__item svg{color:var(--gmz-white)}
.gmz-plano--destaque .gmz-divider{border-color:rgba(255,255,255,.22)}

.gmz-avatar{
  width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;background:var(--gmz-surface);
}
.gmz-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.gmz-avatar--inicial{
  background:var(--gmz-gradient);color:var(--gmz-white);
  font-size:17px;font-weight:800;
}

/* ------------------------------------------------ Placeholders de mídia --- */
.gmz-slot{
  position:relative;display:flex;align-items:center;justify-content:center;
  background:
    linear-gradient(135deg,rgba(221,3,121,.06),rgba(232,66,67,.06)),
    var(--gmz-surface);
  border:1px dashed rgba(232,66,67,.22);
  overflow:hidden;
}
.gmz-slot__mark{
  display:flex;align-items:center;justify-content:center;
  width:clamp(38px,14%,64px);opacity:.16;
}
.gmz-slot__mark img{width:100%;height:auto;display:block}
.gmz-slot__hint{
  position:absolute;inset:auto 12px 12px;
  display:flex;flex-direction:column;gap:3px;
  background:rgba(32,31,38,.92);color:var(--gmz-white);
  border-radius:var(--gmz-r-social);padding:10px 12px;
  font-size:11.5px;line-height:1.45;text-align:left;text-wrap:pretty;
}
.gmz-slot__hint strong{
  font-size:9.5px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#FF7A7A;
}
/* Sobre fundo escuro o tracejado some e o bloco clareia. */
.gmz-section--dark .gmz-slot,
.gmz-download-card .gmz-slot{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);
}
.gmz-section--dark .gmz-slot__mark{opacity:.3}
/* Tiles menores (logos, selos, avatares) escondem a nota por falta de espaço. */
.gmz-slot--tile .gmz-slot__hint{display:none}
.gmz-slot--tile{border-radius:var(--gmz-r-btn)}

/* Ajustes dos placeholders em containers já existentes */
.gmz-case-logo{
  width:150px;height:48px;border-radius:10px;overflow:hidden;
  background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;
}
.gmz-case-card__nome{font-size:14px;font-weight:700;color:var(--gmz-dark)}
.gmz-case-card__logo.gmz-slot,
.gmz-post-card__media.gmz-slot,
.gmz-artefato-card__media.gmz-slot{border-style:dashed}
.gmz-award.gmz-slot,
.gmz-seal.gmz-slot{border-radius:14px}
.gmz-slot-note{
  font-size:11.5px;line-height:1.5;color:var(--gmz-muted);
  text-align:center;font-style:italic;
}

/* ------------------------------------------------ Grids sem item órfão --- */
/* auto-fit deixa sobra (5 itens viram 4+1). Estes grids fecham a linha:
   a última fileira ocupa a largura inteira em vez de deixar buraco. */

.gmz-grid--n2{grid-template-columns:repeat(2,1fr)}

.gmz-grid--n3{grid-template-columns:repeat(3,1fr)}

.gmz-grid--n4{grid-template-columns:repeat(4,1fr)}

/* 5 itens: 3 em cima + 2 embaixo, ambos ocupando a linha toda. */
.gmz-grid--n5{grid-template-columns:repeat(6,1fr)}
.gmz-grid--n5 > *{grid-column:span 2}
.gmz-grid--n5 > *:nth-child(4),
.gmz-grid--n5 > *:nth-child(5){grid-column:span 3}

.gmz-grid--n6{grid-template-columns:repeat(3,1fr)}

/* 7 itens: 4 + 3, com a segunda fileira preenchendo a largura. */
.gmz-grid--n7{grid-template-columns:repeat(12,1fr)}
.gmz-grid--n7 > *{grid-column:span 3}
.gmz-grid--n7 > *:nth-child(n+5){grid-column:span 4}

@media(max-width:1080px){
  .gmz-grid--n4,
  .gmz-grid--n6{grid-template-columns:repeat(2,1fr)}
  .gmz-grid--n5{grid-template-columns:repeat(2,1fr)}
  .gmz-grid--n5 > *,
  .gmz-grid--n5 > *:nth-child(4){grid-column:span 1}
  .gmz-grid--n5 > *:nth-child(5){grid-column:span 2}
  .gmz-grid--n7{grid-template-columns:repeat(2,1fr)}
  .gmz-grid--n7 > *,
  .gmz-grid--n7 > *:nth-child(n+5){grid-column:span 1}
  .gmz-grid--n7 > *:nth-child(7){grid-column:span 2}
}

@media(max-width:820px){
  .gmz-grid--n3{grid-template-columns:repeat(2,1fr)}
  .gmz-grid--n3 > *:nth-child(3){grid-column:span 2}
}

@media(max-width:600px){
  .gmz-grid--n2,
  .gmz-grid--n3,
  .gmz-grid--n4,
  .gmz-grid--n5,
  .gmz-grid--n6,
  .gmz-grid--n7{grid-template-columns:1fr}
  .gmz-grid--n2 > *,
  .gmz-grid--n3 > *,
  .gmz-grid--n4 > *,
  .gmz-grid--n5 > *,
  .gmz-grid--n6 > *,
  .gmz-grid--n7 > *{grid-column:span 1 !important}
}

/* ------------------------------------------- Lista de sintomas (escuro) --- */
.gmz-sintomas{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);
  column-gap:40px;
}
.gmz-sintomas li{
  position:relative;padding:14px 0 14px 26px;
  border-top:1px solid rgba(255,255,255,.10);
  font-size:15.5px;line-height:1.5;color:#D8D5E0;
}
.gmz-sintomas li::before{
  content:'';position:absolute;left:0;top:21px;
  width:10px;height:1px;background:var(--gmz-primary);
}
/* Primeira linha de cada coluna não repete o divisor de topo. */
.gmz-sintomas li:nth-child(1),
.gmz-sintomas li:nth-child(2){border-top:0;padding-top:0}
.gmz-sintomas li:nth-child(1)::before,
.gmz-sintomas li:nth-child(2)::before{top:7px}

.gmz-sintomas__conclusao{
  font-size:17px;line-height:1.6;color:var(--gmz-white);
  font-weight:600;max-width:640px;text-wrap:pretty;
}

@media(max-width:720px){
  .gmz-sintomas{grid-template-columns:1fr;column-gap:0}
  .gmz-sintomas li:nth-child(2){border-top:1px solid rgba(255,255,255,.10);padding-top:14px}
  .gmz-sintomas li:nth-child(2)::before{top:21px}
}

/* Variante clara da lista de sintomas */
.gmz-sintomas--claro li{
  border-top-color:#E3E1E9;color:var(--gmz-dark);font-weight:600;
}
@media(max-width:720px){
  .gmz-sintomas--claro li:nth-child(2){border-top-color:#E3E1E9}
}


/* Problema que tem solução: vira card clicável, não mais linha de texto */
.gmz-problema-card{
  display:flex;flex-direction:column;gap:10px;justify-content:space-between;
  background:var(--gmz-white);border:1px solid var(--gmz-border);
  border-radius:14px;padding:20px 22px;text-decoration:none;
  color:var(--gmz-dark);transition:all .2s ease;
}
.gmz-problema-card:hover{
  border-color:var(--gmz-primary);color:var(--gmz-dark);
  transform:translateY(-3px);box-shadow:0 10px 24px rgba(32,31,38,.08);
}
.gmz-problema-card__texto{font-size:15px;font-weight:700;line-height:1.4}
.gmz-problema-card__cta{
  font-size:12.5px;font-weight:700;color:var(--gmz-primary);margin-top:auto;
}

/* -------------------------------------------------- WhatsApp flutuante --- */
.gmz-whats{
  position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:90;
  display:inline-flex;align-items:center;gap:10px;
  background:#1E9E56;color:var(--gmz-white);
  padding:13px 20px 13px 16px;border-radius:999px;
  font-size:14.5px;font-weight:700;text-decoration:none;
  box-shadow:0 10px 30px rgba(30,158,86,.32);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.gmz-whats:hover{
  color:var(--gmz-white);filter:brightness(1.06);
  transform:translateY(-2px);box-shadow:0 14px 36px rgba(30,158,86,.4);
}
.gmz-whats:active{transform:translateY(0) scale(.98)}
.gmz-whats__icone{display:flex;flex-shrink:0}
@media(max-width:600px){
  .gmz-whats{padding:14px;gap:0}
  .gmz-whats__texto{display:none}
}
@media(prefers-reduced-motion:reduce){
  .gmz-whats{transition:none}
}

/* --- Painel do WhatsApp ------------------------------------------------
   O botão deixou de ser um link direto e passou a abrir um formulário curto.
   O wrap é o que fica fixo na tela; o botão e o painel se posicionam dentro
   dele, para o painel nascer ancorado no canto e não no meio da página. */
.gmz-whats-wrap{
  position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:90;
  display:flex;flex-direction:column;align-items:flex-end;gap:12px;
}
.gmz-whats-wrap .gmz-whats{
  position:static;right:auto;bottom:auto;border:none;cursor:pointer;font-family:inherit;
}

.gmz-whats-painel{
  order:-1;width:min(340px,calc(100vw - 32px));
  background:var(--gmz-white);border-radius:18px;
  box-shadow:0 24px 60px rgba(32,31,38,.22),0 2px 8px rgba(32,31,38,.08);
  overflow:hidden;
  animation:gmz-whats-entra .18s ease-out;
}
.gmz-whats-painel[hidden]{display:none}

@keyframes gmz-whats-entra{
  from{opacity:0;transform:translateY(8px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.gmz-whats-painel__topo{
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 16px 12px;background:#1E9E56;color:var(--gmz-white);
}
.gmz-whats-painel__cabeca{display:flex;flex-direction:column;gap:3px;flex:1 1 auto}
.gmz-whats-painel__titulo{font-size:15px;font-weight:800;line-height:1.2}
.gmz-whats-painel__sub{font-size:12.5px;line-height:1.4;opacity:.9}
.gmz-whats-painel__fechar{
  flex:0 0 auto;background:transparent;border:none;color:inherit;cursor:pointer;
  padding:4px;border-radius:8px;display:flex;opacity:.85;
}
.gmz-whats-painel__fechar:hover{opacity:1;background:rgba(255,255,255,.14)}

.gmz-whats-form{display:flex;flex-direction:column;gap:11px;padding:16px}
.gmz-whats-form__campo{display:flex;flex-direction:column;gap:5px;margin:0}
.gmz-whats-form__campo label{font-size:12.5px;font-weight:700;color:var(--gmz-ink)}
.gmz-whats-form__campo input,
.gmz-whats-form__campo select,
.gmz-whats-form__campo textarea{
  width:100%;font-family:inherit;font-size:14px;color:var(--gmz-ink);
  padding:10px 12px;border:1px solid rgba(32,31,38,.16);border-radius:10px;
  background:var(--gmz-white);
}
.gmz-whats-form__campo textarea{resize:vertical;min-height:72px}
.gmz-whats-form__campo input:focus-visible,
.gmz-whats-form__campo select:focus-visible,
.gmz-whats-form__campo textarea:focus-visible{
  outline:2px solid #1E9E56;outline-offset:1px;border-color:#1E9E56;
}
.gmz-whats-form__campo.is-invalido input,
.gmz-whats-form__campo.is-invalido select,
.gmz-whats-form__campo.is-invalido textarea{border-color:var(--gmz-primary-hover)}

.gmz-whats-form__erro{
  font-size:12px;font-weight:600;color:var(--gmz-primary-hover);display:none;
}
.gmz-whats-form__campo.is-invalido .gmz-whats-form__erro{display:block}

.gmz-whats-form__enviar{
  margin-top:2px;background:#1E9E56;color:var(--gmz-white);border:none;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:700;padding:13px;border-radius:11px;
  transition:filter .2s ease;
}
.gmz-whats-form__enviar:hover{filter:brightness(1.07)}
.gmz-whats-form__enviar:active{transform:scale(.99)}
.gmz-whats-form__nota{font-size:11.5px;line-height:1.4;color:#6E6880;text-align:center}

@media(max-width:600px){
  .gmz-whats-painel{width:calc(100vw - 32px)}
  .gmz-whats-painel__sub{display:none}
}
@media(prefers-reduced-motion:reduce){
  .gmz-whats-painel{animation:none}
}

/* Feedback de clique nos botões */
.gmz-btn:active,
.gmz-footer__cta:active{transform:translateY(0) scale(.98)}

/* ------------------------------------------------ CTA dentro do artigo --- */
.gmz-artigo-cta{
  display:flex;align-items:center;gap:18px;
  background:var(--gmz-surface);border:1px solid var(--gmz-border);
  border-left:3px solid var(--gmz-primary);border-radius:var(--gmz-r-media);
  padding:24px 26px;text-decoration:none;color:var(--gmz-dark);transition:all .2s ease;
}
.gmz-artigo-cta:hover{
  color:var(--gmz-dark);border-color:var(--gmz-primary);
  background:var(--gmz-white);box-shadow:0 10px 26px rgba(32,31,38,.08);
}
.gmz-artigo-cta__icone{
  width:46px;height:46px;border-radius:var(--gmz-r-btn);background:var(--gmz-gradient);
  color:var(--gmz-white);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.gmz-artigo-cta__texto{display:flex;flex-direction:column;gap:4px}
.gmz-artigo-cta__rotulo{
  font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gmz-primary);
}
.gmz-artigo-cta__titulo{font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.gmz-artigo-cta__desc{font-size:13.5px;line-height:1.55;color:var(--gmz-muted)}
.gmz-artigo-cta__seta{
  margin-left:auto;font-size:20px;color:var(--gmz-primary);flex-shrink:0;
  transition:transform .2s ease;
}
.gmz-artigo-cta:hover .gmz-artigo-cta__seta{transform:translateX(4px)}
@media(max-width:600px){
  .gmz-artigo-cta{flex-wrap:wrap;gap:14px}
  .gmz-artigo-cta__seta{display:none}
}

.gmz-footer__legal{display:flex;flex-wrap:wrap;gap:16px}
.gmz-footer__legal a{font-size:12.5px;color:var(--gmz-muted);text-decoration:none}
.gmz-footer__legal a:hover{color:var(--gmz-footer-link)}

/* ------------------------------------------------------ Ajustes mobile --- */
/* Em telas estreitas o CTA da navbar + o burger estouravam a largura. */
@media(max-width:420px){
  .gmz-nav__inner{gap:12px;padding-inline:16px}
  .gmz-nav__actions{gap:8px;min-width:0}
  .gmz-nav__logo img{height:32px}
  .gmz-nav .gmz-btn--sm{
    font-size:13px;padding:10px 14px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46vw;
  }
}
@media(max-width:360px){
  /* Espaço só para o burger: o CTA já existe no hero e no rodapé. */
  .gmz-nav .gmz-btn--sm{display:none}
}

/* Alvo de toque confortável nos links de seta, sem mudar o visual. */
@media(hover:none){
  .gmz-link-arrow,
  .gmz-case-card__more,
  .gmz-footer__col a,
  .gmz-footer__legal a{
    display:inline-flex;align-items:center;min-height:44px;
  }
  .gmz-filtro{min-height:44px;display:inline-flex;align-items:center}
}

/* Imagem do hero é a maior pintura da tela: prioriza o carregamento. */
.gmz-nav__logo img{height:38px;width:auto}

/* Sintomas em coluna única (quando a seção já está dividida em duas colunas) */
.gmz-sintomas--coluna{grid-template-columns:1fr;column-gap:0}
.gmz-sintomas--coluna li:nth-child(2){border-top:1px solid rgba(255,255,255,.10);padding-top:14px}
.gmz-sintomas--coluna li:nth-child(2)::before{top:21px}
.gmz-sintomas--coluna li:first-child{border-top:0;padding-top:0}
.gmz-sintomas--coluna li:first-child::before{top:7px}

/* ------------------------------------------- Sub-navegação por âncoras --- */
.gmz-subnav{
  position:sticky;top:var(--gmz-nav-h);z-index:80;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--gmz-border);
}
.gmz-subnav__lista{
  display:flex;gap:28px;overflow-x:auto;padding:14px 0;
  scrollbar-width:none;-ms-overflow-style:none;
}
.gmz-subnav__lista::-webkit-scrollbar{display:none}
.gmz-subnav__lista a{
  font-size:13.5px;font-weight:600;color:var(--gmz-muted);
  text-decoration:none;white-space:nowrap;
}
.gmz-subnav__lista a:hover{color:var(--gmz-primary)}
@media(max-width:600px){
  .gmz-subnav__lista{gap:20px;padding:12px 0}
}

/* Marquee em grupos idênticos: a emenda do loop fica invisível. */
.gmz-marquee__grupo{
  display:flex;gap:20px;padding-right:20px;flex-shrink:0;
}
.gmz-marquee--awards .gmz-marquee__grupo{gap:16px;padding-right:16px}

/* Logos de cliente um pouco maiores e mais legíveis. */
.gmz-logo{
  height:64px;width:180px;object-fit:contain;
  filter:grayscale(1);opacity:.55;transition:all .25s ease;flex-shrink:0;
}
.gmz-logo:hover{filter:grayscale(0);opacity:1}
@media(max-width:600px){
  .gmz-logo{height:52px;width:150px}
}

/* ------------------------------------------------------------- Vídeo --- */
.gmz-video{position:relative;background:var(--gmz-dark);overflow:hidden}
.gmz-video__play{
  position:absolute;inset:0;width:100%;height:100%;
  padding:0;border:0;background:none;cursor:pointer;display:block;
}
.gmz-video__capa{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1),filter .3s ease;
}
.gmz-video__play:hover .gmz-video__capa{transform:scale(1.03);filter:brightness(.88)}
.gmz-video__botao{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:68px;height:68px;border-radius:50%;
  background:var(--gmz-gradient);color:var(--gmz-white);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(232,66,67,.42);
  transition:transform .25s cubic-bezier(.16,1,.3,1);
  padding-left:4px; /* acerto óptico: o triângulo pesa à esquerda */
}
.gmz-video__play:hover .gmz-video__botao{transform:translate(-50%,-50%) scale(1.08)}
.gmz-video__play:active .gmz-video__botao{transform:translate(-50%,-50%) scale(.96)}
.gmz-video__duracao{
  position:absolute;right:12px;bottom:12px;
  background:rgba(32,31,38,.86);color:var(--gmz-white);
  font-size:12px;font-weight:600;padding:4px 9px;border-radius:6px;
  font-variant-numeric:tabular-nums;
}
.gmz-video__frame{width:100%;height:100%;border:0;display:block;border-radius:20px}
@media(prefers-reduced-motion:reduce){
  .gmz-video__capa,.gmz-video__botao{transition:none}
  .gmz-video__play:hover .gmz-video__capa{transform:none}
}

/* Transcrição do vídeo */
.gmz-transcricao{border-top:1px solid var(--gmz-border);padding-top:12px}
.gmz-transcricao__head{
  list-style:none;cursor:pointer;display:flex;align-items:center;
  justify-content:space-between;gap:12px;min-height:44px;
  font-size:13.5px;font-weight:600;color:var(--gmz-muted);
}
.gmz-transcricao__head::-webkit-details-marker{display:none}
.gmz-transcricao__head:hover{color:var(--gmz-primary)}
.gmz-transcricao[open] .gmz-details__plus{transform:rotate(45deg)}
.gmz-transcricao__corpo{
  display:flex;flex-direction:column;gap:12px;padding:8px 0 4px;
  font-size:14.5px;line-height:1.7;color:var(--gmz-muted);
  max-height:340px;overflow-y:auto;
}
.gmz-transcricao__corpo p{text-wrap:pretty}

/* ------------------------------------------------- Brilho de fundo (hero) --- */
/* Só o brilho radial, nas cores da marca. Sem malha quadriculada. */

.gmz-section--malha{position:relative;isolation:isolate}

.gmz-section--malha > .gmz-malha{
  position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background-color:var(--gmz-white);
  background-image:
    radial-gradient(ellipse 78% 62% at 50% -12%, rgba(221,3,121,.15), transparent 70%),
    radial-gradient(circle 620px at 88% 0%, rgba(232,66,67,.11), transparent 72%);
}

@media(max-width:768px){
  .gmz-section--malha > .gmz-malha{
    background-image:radial-gradient(ellipse 120% 55% at 50% -8%, rgba(221,3,121,.16), transparent 72%);
  }
}

/* Sobre fundo escuro o brilho fica mais contido. */
.gmz-section--dark.gmz-section--malha > .gmz-malha{
  background-color:var(--gmz-dark);
  background-image:radial-gradient(ellipse 80% 60% at 50% -10%, rgba(221,3,121,.22), transparent 70%);
}

/* Selos fixos: preservar proporções e cores originais. */
/* Parceiros: flex em vez de grid.
   Com grid de 6 colunas e 7 selos, o sétimo caía sozinho na segunda linha e
   encostado à esquerda. Em flex com wrap, a linha incompleta se centraliza
   sozinha: 4 em cima, 3 embaixo, e continua certo se entrar um oitavo. */
.gmz-partners-grid{
  --gmz-parceiros-colunas:4;
  --gmz-parceiros-gap:24px;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:var(--gmz-parceiros-gap);
}
.gmz-partner-logo{
  /* Largura de uma coluna, descontando os vãos que sobram na linha cheia. */
  flex:0 0 calc((100% - (var(--gmz-parceiros-colunas) - 1) * var(--gmz-parceiros-gap)) / var(--gmz-parceiros-colunas));
  min-width:0;height:150px;
  display:flex;align-items:center;justify-content:center;
  padding:16px;background:#fff;border-radius:12px;
}
/* max-width/height em 100%: cada selo ocupa o que der sem distorcer, seja
   quadrado (selo) ou bem horizontal (logo de plataforma). */
.gmz-partner-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:1000px){
  .gmz-partners-grid{--gmz-parceiros-colunas:3}
}
@media(max-width:600px){
  .gmz-partners-grid{--gmz-parceiros-colunas:2;--gmz-parceiros-gap:16px}
  .gmz-partner-logo{height:125px;padding:12px}
}

/* Cases reais: identificação legível sem logo de preenchimento. */
.gmz-case-card__head{flex-wrap:wrap;gap:12px}
.gmz-case-card__logo.gmz-case-client-name{width:auto;min-height:42px;height:auto;overflow:visible}
.gmz-case-client-name .gmz-case-card__nome{font-size:18px;line-height:1.3}
.gmz-case-card>.gmz-metric{font-size:clamp(26px,3vw,38px);overflow-wrap:anywhere}

/* Coluna de leitura centralizada nas páginas individuais dos cases. */
.single-case .gmz-prose{width:100%;max-width:760px;margin-inline:auto;text-align:left}

/* Cases: títulos editoriais compactos e páginas individuais claras. */
.gmz-case-card{gap:14px;padding:26px}
.gmz-case-card__headline{font-size:clamp(22px,2vw,27px);line-height:1.22;letter-spacing:-.025em;font-weight:750;margin:0;color:#282432;text-wrap:pretty;overflow-wrap:normal;word-break:normal}
.gmz-case-card__head{margin-bottom:4px}
.gmz-case-card .gmz-card__desc{line-height:1.6;margin:0}
.gmz-case-card__more{margin-top:auto;padding-top:8px}
.gmz-single-light{background:#faf8fc;color:#262331;border-bottom:1px solid #eae6ee}
.gmz-single-light h1{font-size:clamp(30px,3.4vw,46px);line-height:1.12;letter-spacing:-.03em;text-wrap:pretty;overflow-wrap:normal;word-break:normal}
.gmz-single-light .gmz-case-logo{background:#fff;border:1px solid #eae6ee}
.gmz-single-light .gmz-tag{background:#fcecf4!important;color:#bf1267!important}
.gmz-single-light .gmz-btn:not(.gmz-btn--primary){background:#fff!important;border-color:#ddd5e3!important;color:#383040!important}
.gmz-case-results{display:grid;grid-template-columns:1fr;gap:12px;align-content:center}
.gmz-single-light .gmz-case-result{background:#fff;border:1px solid #e9e3ed;box-shadow:none;padding:20px 24px!important;display:flex;flex-direction:column;gap:6px}
.gmz-case-result .gmz-metric{background:none;color:#cc086c;line-height:1.15;white-space:normal;word-break:normal;overflow-wrap:normal}
.gmz-case-result .gmz-stat-dark__rotulo{color:#625e70;line-height:1.5;font-size:14px}
.single-case .gmz-single-light>.gmz-container>.gmz-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:48px;align-items:center;padding:56px 0!important}
@media(max-width:760px){.single-case .gmz-single-light>.gmz-container>.gmz-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding:40px 0!important}.gmz-case-card{padding:22px}.gmz-case-card__headline{font-size:24px}}
