/* J.A. Corporate · Brindes Corporativos
   Paleta e tipografia do manual de marca (Henrique Domeneghetti, 2026):
   azul petróleo #1B485F, off-white #F3EFE7, branco, degradê dourado base #C9A227.
   Títulos em Inter, textos em Krub (fontes servidas pelo próprio site).
   Contrastes medidos: branco/azul 9,8 | azul/papel 8,6 | ouro-claro/azul 5,5 |
   azul-profundo/ouro 5,9 | tinta-2/papel 6,2 | no-azul/azul 5,8. */

@font-face { font-family: "Inter"; src: url("/assets/fontes/inter-latin.woff2?v=260c81a475") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Krub"; src: url("/assets/fontes/krub-400-latin.woff2?v=3525133cd7") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Krub"; src: url("/assets/fontes/krub-500-latin.woff2?v=2bb78365a2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Krub"; src: url("/assets/fontes/krub-600-latin.woff2?v=99b8827ae0") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

:root {
  --azul: #1B485F;
  --azul-escuro: #0F2E3E;
  --azul-profundo: #0B2331;
  --azul-medio: #2A6180;
  --azul-nevoa: #DCE6EB;
  --ouro: #C9A227;
  --ouro-claro: #E2BE52;
  --ouro-tinta: #7A5C0C;
  --ouro-grad: linear-gradient(100deg, #EDD27A 0%, #C9A227 42%, #E6C862 74%, #D2AC38 100%);
  --papel: #F3EFE7;
  --papel-2: #EBE5D9;
  --branco: #FFFFFF;
  --estudio: #DCDCDC;
  --tinta: #1D3039;
  --tinta-2: #4A5B63;
  --no-azul: #B8C9D1;
  --erro: #B42318;
  --zap: #15803D;
  --linha: rgba(27, 72, 95, .14);
  --linha-clara: rgba(255, 255, 255, .14);
  --raio-p: 8px;
  --raio-c: 10px;   /* controles: botões, campos, itens do menu */
  --raio: 14px;
  --raio-g: 22px;
  --sombra: 0 1px 2px rgba(15, 46, 62, .06), 0 10px 28px -10px rgba(15, 46, 62, .22);
  --sombra-g: 0 2px 6px rgba(15, 46, 62, .08), 0 28px 56px -20px rgba(15, 46, 62, .34);
  --titulo: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --texto: "Krub", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cab-h: 68px;
  --gutter: clamp(1rem, 4vw, 2rem);
  --largura: 1240px;
  --sec: clamp(4rem, 2.6rem + 5.2vw, 7.5rem);
  --sangria: max(var(--gutter), calc((100vw - var(--largura)) / 2));
  --ease: cubic-bezier(.22, 1, .36, 1);
}
@media (min-width: 992px) { :root { --cab-h: 76px; } }

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--cab-h) + 16px); scrollbar-color: var(--azul) var(--papel); }
body { margin: 0; font-family: var(--texto); font-size: 1.0625rem; line-height: 1.6; color: var(--tinta); background: var(--papel); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--azul); text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--azul-escuro); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { font-family: var(--titulo); color: var(--azul); margin: 0; letter-spacing: -.025em; line-height: 1.08; font-weight: 700; text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 1.3rem + 3.4vw, 4.1rem); letter-spacing: -.035em; }
h2 { font-size: clamp(1.8rem, 1.25rem + 2.1vw, 3rem); letter-spacing: -.03em; }
h3 { font-size: clamp(1.15rem, 1.05rem + .45vw, 1.375rem); letter-spacing: -.015em; line-height: 1.2; font-weight: 650; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
::selection { background: var(--ouro-claro); color: var(--azul-profundo); }
input, textarea { caret-color: var(--azul); }
:focus-visible { outline: 3px solid var(--azul); outline-offset: 3px; border-radius: 6px; }
.cab :focus-visible, .heroi :focus-visible, .topo :focus-visible, .sec--azul :focus-visible, .cta-final :focus-visible,
.rod :focus-visible, .pop__topo :focus-visible, .cta-card :focus-visible, .pular:focus-visible { outline-color: var(--ouro-claro); }
.i { width: 1.25em; height: 1.25em; flex: none; stroke-width: 1.75; vertical-align: -.22em; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.pular { position: absolute; left: 1rem; top: -100px; z-index: 200; background: var(--ouro); color: var(--azul-profundo); padding: .6rem 1rem; border-radius: var(--raio-p); font-family: var(--titulo); font-weight: 600; }
.pular:focus { top: .75rem; }
.container { width: min(100% - 2 * var(--gutter), var(--largura)); margin-inline: auto; }
main { overflow-x: clip; }

/* ---------- seções ---------- */
.sec { position: relative; padding-block: var(--sec); }
.sec--papel { background: var(--papel); }
.sec--branco { background: var(--branco); }
.sec--azul { background: var(--azul); color: #fff; isolation: isolate; }
.sec--azul h1, .sec--azul h2, .sec--azul h3 { color: #fff; }
.sec--azul a:not(.btn) { color: var(--ouro-claro); }
.padrao::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("/assets/img/padrao-ja.svg?v=d84f4485c4") 0 0 / 345px auto repeat; opacity: .75; -webkit-mask-image: linear-gradient(100deg, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .16) 40%, #000 82%); mask-image: linear-gradient(100deg, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .16) 40%, #000 82%); }
.sec__cab { max-width: 46rem; margin-bottom: clamp(2.25rem, 1.6rem + 2.2vw, 3.75rem); }
.sec__cab--centro { margin-inline: auto; text-align: center; }
.sec__cab--centro p { margin-inline: auto; }
.sec__sub { margin-top: 1rem; font-size: clamp(1.05rem, 1rem + .25vw, 1.2rem); color: var(--tinta-2); max-width: 40rem; }
.sec--azul .sec__sub { color: var(--no-azul); }
.sec__acao { margin-top: clamp(2rem, 1.6rem + 1.5vw, 3rem); display: flex; flex-wrap: wrap; gap: .85rem 1.25rem; align-items: center; }
.sec__acao--centro { justify-content: center; }

/* ---------- botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 52px; padding: .8rem 1.45rem; border: 0; border-radius: var(--raio-c); font-family: var(--titulo); font-weight: 600; font-size: 1rem; letter-spacing: -.01em; line-height: 1.2; text-decoration: none; text-align: center; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background-position .5s var(--ease), background-color .2s, color .2s; }
.btn .i { width: 20px; height: 20px; stroke-width: 2; }
.btn--ouro { background: var(--ouro-grad); background-size: 220% 100%; background-position: 0 0; color: var(--azul-profundo); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 6px 16px -8px rgba(8, 24, 33, .45); }
.btn--ouro:hover { color: var(--azul-profundo); background-position: 100% 0; transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 12px 24px -12px rgba(8, 24, 33, .55); }
.btn--ouro:active { transform: translateY(0); }
.btn--linha { background: transparent; color: var(--azul); box-shadow: inset 0 0 0 1.5px currentColor; }
.btn--linha:hover { background: var(--azul); color: #fff; box-shadow: inset 0 0 0 1.5px var(--azul); }
.sec--azul .btn--linha, .heroi .btn--linha, .topo .btn--linha, .cta-final .btn--linha { color: #fff; }
.sec--azul .btn--linha:hover, .heroi .btn--linha:hover, .topo .btn--linha:hover, .cta-final .btn--linha:hover { background: #fff; color: var(--azul); box-shadow: inset 0 0 0 1.5px #fff; }
.btn--azul { background: var(--azul); color: #fff; box-shadow: 0 8px 20px -12px rgba(15, 46, 62, .8); }
.btn--azul:hover { background: var(--azul-escuro); color: #fff; transform: translateY(-1px); }
.btn--bloco { width: 100%; }
.btn[disabled] { opacity: .65; cursor: progress; transform: none; }
.link-seta { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--titulo); font-weight: 600; text-decoration: none; }
.link-seta .i { transition: transform .25s var(--ease); }
.link-seta:hover .i { transform: translateX(4px); }

/* ícone em círculo: ouro no azul (fundo claro) e o inverso no fundo escuro */
.ic-circulo { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--azul); color: var(--ouro-claro); }
.ic-circulo .i { width: 24px; height: 24px; }
.ic-circulo--g { width: 68px; height: 68px; }
.ic-circulo--g .i { width: 30px; height: 30px; stroke-width: 1.6; }
.ic-circulo--p { width: 40px; height: 40px; }
.ic-circulo--p .i { width: 19px; height: 19px; }
.sec--azul .ic-circulo, .heroi .ic-circulo, .topo .ic-circulo, .rod .ic-circulo, .cta-final .ic-circulo, .cta-card .ic-circulo { background: rgba(255, 255, 255, .06); color: var(--ouro-claro); box-shadow: inset 0 0 0 1px rgba(226, 190, 82, .6); }

/* ---------- cabeçalho ---------- */
.cab { position: sticky; top: 0; z-index: 60; height: var(--cab-h); background: var(--azul); color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .07); transition: box-shadow .3s var(--ease), background-color .3s; }
.cab.rolou { background: var(--azul-escuro); box-shadow: 0 10px 30px -14px rgba(0, 0, 0, .55); }
.cab__in { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; height: 100%; }
.cab__logo { display: flex; align-items: center; min-height: 44px; flex: none; }
.cab__logo img { height: 38px; width: auto; }
@media (min-width: 992px) { .cab__logo img { height: 46px; } }
.cab__acoes { display: flex; align-items: center; gap: .75rem; }
.cab__cta { min-height: 44px; padding: .6rem 1.1rem; font-size: .95rem; }
.menu-botao { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: var(--raio-c); border: 1px solid rgba(255, 255, 255, .28); background: transparent; color: #fff; }
.menu-botao .i { width: 24px; height: 24px; }
.menu { position: fixed; inset: 0 0 0 auto; z-index: 80; width: min(88vw, 380px); background: var(--branco); color: var(--tinta); display: flex; flex-direction: column; transform: translateX(105%); visibility: hidden; transition: transform .45s var(--ease), visibility 0s linear .45s; box-shadow: -20px 0 60px -20px rgba(0, 0, 0, .45); }
.menu-aberto .menu { transform: none; visibility: visible; transition: transform .45s var(--ease); }
.menu__topo { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; border-bottom: 1px solid var(--linha); }
.menu__topo img { height: 32px; width: auto; }
.menu__fechar { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--raio-c); background: var(--papel); color: var(--azul); }
.menu__lista { list-style: none; padding: .75rem 1rem; display: grid; gap: .15rem; overflow-y: auto; }
.menu__link { display: flex; align-items: center; gap: .85rem; width: 100%; padding: .8rem .75rem; border: 0; border-radius: var(--raio-c); background: none; font-family: var(--titulo); font-weight: 600; font-size: 1.05rem; color: var(--azul); text-decoration: none; text-align: left; }
.menu__link:hover, .menu__link[aria-current="page"] { background: var(--papel); color: var(--azul-escuro); }
.menu__link > .i:first-child { color: var(--ouro-tinta); }
.menu__link .seta { margin-left: auto; transition: transform .3s var(--ease); }
.menu__item.aberto .seta { transform: rotate(180deg); }
.submenu { list-style: none; display: none; padding: .25rem 0 .5rem 2.9rem; }
.menu__item.aberto .submenu { display: grid; gap: .1rem; }
.submenu a { display: flex; align-items: center; gap: .6rem; padding: .55rem .6rem; border-radius: 8px; color: var(--tinta); text-decoration: none; font-weight: 500; }
.submenu a:hover { background: var(--papel); color: var(--azul); }
.submenu a .ic-circulo { width: 30px; height: 30px; }
.submenu a .ic-circulo .i { width: 15px; height: 15px; }
.menu__pe { margin-top: auto; padding: 1rem 1.25rem 1.5rem; border-top: 1px solid var(--linha); }
.menu-veu { position: fixed; inset: 0; z-index: 70; background: rgba(8, 24, 33, .55); backdrop-filter: blur(2px); }
.menu-veu[hidden] { display: none; }
@media (min-width: 992px) {
  .menu-botao, .menu__topo, .menu__pe, .menu-veu { display: none !important; }
  .menu { position: static; inset: auto; width: auto; transform: none; visibility: visible; background: transparent; color: #fff; box-shadow: none; flex-direction: row; transition: none; }
  .menu__lista { display: flex; align-items: center; gap: .15rem; padding: 0; overflow: visible; }
  .menu__item { position: relative; }
  .menu__link { min-height: 44px; padding: .55rem .8rem; font-size: .95rem; font-weight: 500; color: rgba(255, 255, 255, .88); border-radius: 8px; position: relative; }
  .menu__link > .i:first-child { display: none; }
  .menu__link:hover, .menu__link[aria-current="page"] { background: rgba(255, 255, 255, .08); color: #fff; }
  .menu__link[aria-current="page"]::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .3rem; height: 2px; border-radius: 2px; background: var(--ouro); }
  .menu__link .seta { width: 16px; height: 16px; margin-left: .1rem; }
  .submenu { position: absolute; top: calc(100% + 10px); left: -.5rem; min-width: 300px; padding: .5rem; background: #fff; border-radius: 14px; box-shadow: var(--sombra-g); display: grid; gap: .1rem; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .25s var(--ease), visibility 0s linear .25s; }
  .submenu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
  .menu__item.aberto .submenu, .menu__item:hover .submenu, .menu__item:focus-within .submenu { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .25s var(--ease); display: grid; }
  .submenu a { padding: .65rem .75rem; font-family: var(--titulo); font-weight: 600; font-size: .95rem; color: var(--azul); }
  .submenu a .ic-circulo { width: 34px; height: 34px; }
  .submenu a .ic-circulo .i { width: 17px; height: 17px; }
}
@media (max-width: 991.98px) { .cab__cta { display: none; } }

/* ---------- herói da home ---------- */
.heroi { position: relative; isolation: isolate; background: var(--azul); color: #fff; overflow: clip; }
.heroi__grade { display: grid; grid-template-columns: minmax(0, 1fr); }
.heroi__texto { position: relative; z-index: 2; }
.heroi h1 { color: #fff; font-size: clamp(2.2rem, 1.35rem + 2.75vw, 3.7rem); max-width: 15ch; }
.heroi__apoio { margin-top: 1.25rem; font-size: clamp(1.08rem, 1rem + .4vw, 1.3rem); color: var(--no-azul); max-width: 34rem; }
.heroi__acoes { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .8rem 1rem; }
.confianca { margin-top: 2.25rem; padding-top: 1.5rem; border-top: 1px solid var(--linha-clara); list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; max-width: 34rem; }
.confianca li { display: flex; align-items: center; gap: .6rem; font-family: var(--titulo); font-weight: 600; font-size: .92rem; line-height: 1.25; color: #fff; }
.confianca .i { width: 26px; height: 26px; color: var(--ouro-claro); stroke-width: 1.6; }
.heroi__visual { position: relative; }
.heroi__palco { position: relative; background: var(--estudio); }
.heroi__palco picture { display: block; width: 100%; height: 100%; }
.heroi__palco img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 991.98px) {
  .heroi__grade { position: relative; }
  .heroi__visual { order: -1; margin-inline: calc(-1 * var(--gutter)); }
  .heroi__palco { aspect-ratio: auto; height: min(125vw, 46svh); }
  .heroi h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 2.6rem); }
  .heroi__palco img { object-position: 50% 60%; }
  .heroi__palco::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27, 72, 95, 0) 56%, rgba(27, 72, 95, .84) 79%, var(--azul) 95%); }
  .heroi__texto { margin-top: -5rem; padding-bottom: 2.75rem; }
  .heroi__acoes { margin-top: 1.5rem; }
  .confianca { margin-top: 1.75rem; padding-top: 1.25rem; }
  .heroi .prova__marcas { display: none; }
  .heroi .prova__etiqueta { top: calc(1rem + 2px); left: calc(var(--gutter) + .25rem); bottom: auto; font-size: .82rem; }
  .confianca li { flex-direction: column; align-items: flex-start; font-size: .85rem; }
}
@media (min-width: 992px) {
  .heroi__grade { grid-template-columns: minmax(0, 11fr) minmax(0, 13fr); align-items: stretch; min-height: min(calc(100svh - var(--cab-h)), 860px); }
  .heroi__texto { align-self: center; padding-block: 4rem; padding-right: 1rem; }
  .heroi__visual { display: flex; align-items: center; margin-right: calc(-1 * var(--sangria)); padding: 3.25rem 0 3.25rem 1.5rem; }
  .heroi__palco { width: 100%; aspect-ratio: 16 / 10; border-radius: var(--raio-g) 0 0 var(--raio-g); box-shadow: var(--sombra-g); }
  .heroi__palco picture, .heroi__palco img { border-radius: inherit; }
  .heroi .prova__marcas { right: 0; --m-dir: 0; }
}

/* prova de arte: marcas de corte douradas e etiqueta de especificação */
@property --t { syntax: "<length>"; inherits: false; initial-value: 11px; }
.prova { position: relative; }
.prova__marcas { position: absolute; inset: -16px; pointer-events: none; z-index: 2;
  --m: var(--ouro); --t: 11px; --o: 16px;
  background:
    linear-gradient(var(--m), var(--m)) 0 var(--o) / var(--t) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) var(--o) 0 / 1px var(--t) no-repeat,
    linear-gradient(var(--m), var(--m)) 100% var(--o) / var(--t) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) calc(100% - var(--o)) 0 / 1px var(--t) no-repeat,
    linear-gradient(var(--m), var(--m)) 0 calc(100% - var(--o)) / var(--t) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) var(--o) 100% / 1px var(--t) no-repeat,
    linear-gradient(var(--m), var(--m)) 100% calc(100% - var(--o)) / var(--t) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) calc(100% - var(--o)) 100% / 1px var(--t) no-repeat; }
.heroi .prova__marcas { background:
    linear-gradient(var(--m), var(--m)) 0 var(--o) / var(--t) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) var(--o) 0 / 1px var(--t) no-repeat,
    linear-gradient(var(--m), var(--m)) 0 calc(100% - var(--o)) / var(--t) 1px no-repeat,
    linear-gradient(var(--m), var(--m)) var(--o) 100% / 1px var(--t) no-repeat; }
.prova__etiqueta { position: absolute; z-index: 3; left: 1.25rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: .55rem; padding: .5rem .85rem .5rem .5rem; border-radius: var(--raio-c); background: rgba(255, 255, 255, .95); color: var(--azul); font-family: var(--titulo); font-weight: 600; font-size: .88rem; box-shadow: 0 8px 24px -12px rgba(15, 46, 62, .55); }
.prova__etiqueta .ic-circulo { width: 30px; height: 30px; }
.prova__etiqueta .ic-circulo .i { width: 16px; height: 16px; }
.heroi .prova__etiqueta .ic-circulo, .sec--azul .prova__etiqueta .ic-circulo { background: var(--azul); color: var(--ouro-claro); }

/* ---------- foto que ainda não existe (moldura com a legenda do que fotografar) ---------- */
.foto-pendente { position: relative; display: grid; place-items: center; overflow: hidden; background: var(--estudio); color: var(--azul); border-radius: var(--raio); }
.foto-pendente::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 38%, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 60%); }
.foto-pendente > svg { position: relative; width: 100%; height: 100%; }
.foto-pendente__ic { position: relative; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: rgba(27, 72, 95, .08); color: var(--azul); }
.foto-pendente__ic .i { width: 38px; height: 38px; stroke-width: 1.4; }
.foto-pendente .foto-pendente__legenda { position: absolute; left: .75rem; right: .75rem; bottom: .75rem; z-index: 2; display: flex; align-items: flex-start; gap: .45rem; margin: 0; padding: .5rem .65rem; border-radius: 8px; background: rgba(255, 255, 255, .94); color: var(--tinta-2); font-family: var(--texto); font-size: .78rem; font-weight: 400; line-height: 1.35; max-width: none; }
.foto-pendente__momentos { position: relative; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(1rem, 4vw, 3.5rem); margin-bottom: 2.5rem; }
.foto-pendente__momentos li { display: grid; justify-items: center; gap: .6rem; font-family: var(--titulo); font-weight: 600; font-size: .95rem; color: var(--azul); }
.foto-pendente__momentos .foto-pendente__ic { width: 72px; height: 72px; }
.foto-pendente__momentos .foto-pendente__ic .i { width: 32px; height: 32px; }
.foto-pendente__legenda .i { width: 15px; height: 15px; margin-top: .1rem; color: var(--ouro-tinta); }

/* ---------- dores ---------- */
.dores { list-style: none; display: grid; gap: 1.25rem; }
.dor { display: grid; grid-template-columns: auto 1fr; gap: 1.1rem 1.25rem; align-items: start; padding: 1.6rem; background: var(--branco); border-radius: var(--raio-g); box-shadow: var(--sombra); }
.dor h3 { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); margin-bottom: .35rem; }
.dor p { color: var(--tinta-2); }
.dor .ic-circulo { position: relative; }
.dor .ic-circulo::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1px dashed rgba(201, 162, 39, .75); }
@media (min-width: 768px) {
  .dores { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .dor { grid-template-columns: 1fr; padding: 2.25rem 2rem 2.4rem; }
}

/* ---------- produtos ---------- */
.produtos { list-style: none; display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .produtos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
.produto { position: relative; display: flex; flex-direction: column; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--raio-g); overflow: hidden; transition: transform .35s var(--ease), border-color .3s, background-color .3s; }
.produto:hover { transform: translateY(-4px); border-color: rgba(226, 190, 82, .55); background: rgba(255, 255, 255, .08); }
.produto__foto { position: relative; aspect-ratio: 1 / 1; background: var(--estudio); overflow: hidden; }
.produto__foto img, .produto__foto > svg { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.produto:hover .produto__foto img, .produto:hover .produto__foto > svg { transform: scale(1.04); }
.produto__foto .foto-pendente { position: absolute; inset: 0; border-radius: 0; }
.produto__foto .foto-pendente > svg, .galeria-prod__principal .foto-pendente > svg { height: 84%; margin-bottom: 10%; }
.produto__corpo { display: grid; grid-template-columns: auto 1fr; gap: .25rem 1rem; align-items: center; padding: 1.35rem 1.4rem 1.5rem; flex: 1; align-content: start; }
.produto__corpo .ic-circulo { grid-row: span 2; }
.produto h3 { color: #fff; }
.produto p { color: var(--no-azul); font-size: .98rem; line-height: 1.45; }
.produto__link { grid-column: 1 / -1; margin-top: .5rem; min-height: 44px; color: var(--ouro-claro) !important; }
.produto__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tambem { margin-top: 2.5rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; padding: 1.4rem 1.5rem; border-radius: var(--raio); border: 1px dashed rgba(255, 255, 255, .22); }
.tambem__rotulo { font-family: var(--titulo); font-weight: 600; color: #fff; }
.tambem ul { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; }
.tambem li { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .85rem .45rem .5rem; border-radius: 999px; background: rgba(255, 255, 255, .07); font-family: var(--titulo); font-weight: 500; font-size: .95rem; color: #fff; }
.tambem li .i { width: 18px; height: 18px; color: var(--ouro-claro); }
.tambem .minimo { margin-left: auto; }
.minimo { display: inline-flex; align-items: center; gap: .55rem; font-size: .98rem; color: var(--no-azul); }
.minimo .i { color: var(--ouro-claro); width: 22px; height: 22px; }
.minimo strong { color: #fff; font-weight: 600; }

/* ---------- como funciona ---------- */
.passos { list-style: none; position: relative; display: grid; gap: 1.75rem; }
.passo { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 1.1rem; align-items: center; }
.passo__num { position: absolute; top: -4px; left: 38px; z-index: 2; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ouro); color: var(--azul-profundo); font-family: var(--titulo); font-weight: 700; font-size: .75rem; box-shadow: 0 0 0 3px var(--papel); }
.passo p { font-family: var(--titulo); font-weight: 600; font-size: 1.08rem; line-height: 1.35; color: var(--azul); letter-spacing: -.01em; }
.passos::before { content: ""; position: absolute; left: 26px; top: 26px; bottom: 26px; border-left: 2px dashed rgba(201, 162, 39, .75); }
@media (min-width: 900px) {
  .passos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
  .passo { grid-template-columns: 1fr; gap: 1.1rem; align-items: start; }
  .passos::before { left: 26px; right: calc(25% - 26px); top: 26px; bottom: auto; border-left: 0; border-top: 2px dashed rgba(201, 162, 39, .75); }
  .passo p { max-width: 15rem; }
}
.passos .ic-circulo { position: relative; box-shadow: 0 0 0 6px var(--papel); }

/* ---------- números ---------- */
.numeros { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--linha-clara); }
.numero { padding: 1.75rem 1rem 1.75rem 0; border-bottom: 1px solid var(--linha-clara); display: grid; gap: .6rem; align-content: start; }
.numero:nth-child(odd) { border-right: 1px solid var(--linha-clara); }
.numero:nth-child(even) { padding-left: 1.25rem; }
.numero .ic-circulo { width: 44px; height: 44px; }
.numero .ic-circulo .i { width: 21px; height: 21px; }
.numero__valor { font-family: var(--titulo); font-weight: 800; font-size: clamp(2.6rem, 1.9rem + 3vw, 4.4rem); line-height: 1; letter-spacing: -.04em; color: #fff; font-variant-numeric: tabular-nums; }
.numero__valor small { font-size: max(1rem, .38em); font-weight: 700; letter-spacing: -.01em; margin-left: .2rem; color: var(--ouro-claro); }
.numero__rotulo { color: var(--no-azul); font-size: .98rem; line-height: 1.4; max-width: 16rem; }
@media (min-width: 992px) {
  .numeros { grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--linha-clara); }
  .numero { padding: 2.25rem 1.75rem 2.25rem 0; border-bottom: 0; border-right: 1px solid var(--linha-clara); }
  .numero:nth-child(odd) { border-right: 1px solid var(--linha-clara); }
  .numero:nth-child(even) { padding-left: 0; }
  .numero + .numero { padding-left: 1.75rem; }
  .numero:last-child { border-right: 0; }
}

/* ---------- divisão foto + texto ---------- */
.divisao { display: grid; gap: clamp(2rem, 1.5rem + 3vw, 4.5rem); align-items: center; }
.divisao__foto .foto-pendente, .divisao__foto > img { aspect-ratio: 4 / 3; width: 100%; }
@media (min-width: 992px) { .divisao { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .divisao--inverte .divisao__foto { order: 2; } }
.selos { list-style: none; margin-top: 1.75rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.selos li { display: inline-flex; align-items: center; gap: .55rem; padding: .55rem 1rem .55rem .55rem; border-radius: 999px; background: var(--branco); box-shadow: var(--sombra); font-family: var(--titulo); font-weight: 600; font-size: .95rem; color: var(--azul); }
.selos .ic-circulo { width: 32px; height: 32px; }
.selos .ic-circulo .i { width: 16px; height: 16px; }

/* ---------- FAQ ---------- */
.faq-grade { display: grid; gap: clamp(2rem, 1.5rem + 3vw, 4.5rem); align-items: start; }
@media (min-width: 992px) { .faq-grade { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } .faq-grade__lado { position: sticky; top: calc(var(--cab-h) + 2rem); } }
.faq-grade__foto { margin-top: 2rem; }
.palco { position: relative; aspect-ratio: 1 / 1; border-radius: var(--raio-g); background: var(--estudio); }
.palco > img, .palco > picture img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.palco .prova__etiqueta { left: 1rem; bottom: 1rem; }
@media (max-width: 991.98px) { .faq-grade__foto { max-width: 460px; } }
.duvidas { list-style: none; border-top: 1px solid var(--linha); }
.sec--azul .duvidas { border-color: var(--linha-clara); }
.duvida { border-bottom: 1px solid var(--linha); }
.sec--azul .duvida { border-color: var(--linha-clara); }
.duvida summary { display: flex; align-items: center; gap: 1rem; padding: 1.2rem .25rem; list-style: none; cursor: pointer; font-family: var(--titulo); font-weight: 600; font-size: clamp(1.02rem, .98rem + .25vw, 1.15rem); line-height: 1.3; color: var(--azul); letter-spacing: -.01em; }
.sec--azul .duvida summary { color: #fff; }
.duvida summary::-webkit-details-marker { display: none; }
.duvida summary .ic-circulo { width: 42px; height: 42px; }
.duvida summary .ic-circulo .i { width: 20px; height: 20px; }
.duvida summary .seta { margin-left: auto; width: 22px; height: 22px; color: var(--ouro); transition: transform .35s var(--ease); }
.duvida[open] summary .seta { transform: rotate(45deg); }
.duvida summary:hover { color: var(--azul-escuro); }
.sec--azul .duvida summary:hover { color: var(--ouro-claro); }
.duvida__resp { padding: 0 .25rem 1.35rem calc(42px + 1.25rem); color: var(--tinta-2); max-width: 44rem; }
.sec--azul .duvida__resp { color: var(--no-azul); }
.duvida[open] .duvida__resp { animation: abre .45s var(--ease); }
@keyframes abre { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ---------- orçamento: simulador + formulário ---------- */
.orcamento { display: grid; gap: clamp(2rem, 1.5rem + 2.5vw, 4rem); align-items: start; }
@media (min-width: 992px) { .orcamento { grid-template-columns: minmax(0, 7fr) minmax(0, 6fr); } .orcamento__lado { position: sticky; top: calc(var(--cab-h) + 1.5rem); } }
.orcamento__lado h3 { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); margin-bottom: .5rem; }
.previa > p:not([class]) { color: var(--tinta-2); margin: .35rem 0 1.25rem; }
.previa { position: relative; }
.previa__palco { position: relative; aspect-ratio: 1 / 1; max-height: 600px; margin-inline: auto; background: var(--estudio); border-radius: var(--raio-g); }
.previa__palco::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(90% 70% at 50% 42%, rgba(255, 255, 255, .7), rgba(255, 255, 255, 0) 65%); }
.previa__svg { position: relative; width: 100%; height: 100%; }
.previa__prod[hidden] { display: none; }
.previa__logo { display: none; transition: opacity .45s var(--ease); }
.previa.com-logo .previa__logo { display: inline; }
.previa.com-logo .previa__marca { display: none; }
.previa[data-estado="liso"] .previa__logo { opacity: 0; }
.previa__logo-linha { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; }
.previa__logo-btn { min-height: 44px; padding: .55rem 1rem; font-size: .92rem; }
.previa__logo-tirar[hidden] { display: none; }
.previa__ajuste { flex-basis: 100%; display: grid; gap: .35rem; padding: .7rem 1rem .8rem; border-radius: var(--raio); background: var(--papel-2); text-align: left; }
.previa__ajuste[hidden] { display: none; }
.ajuste { display: grid; grid-template-columns: 7rem minmax(0, 1fr) 3.4rem; align-items: center; gap: .75rem; }
.ajuste label { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--titulo); font-weight: 600; font-size: .9rem; color: var(--azul); }
.ajuste label .i { width: 17px; height: 17px; color: var(--ouro-tinta); }
.ajuste input[type="range"] { width: 100%; min-height: 44px; margin: 0; accent-color: var(--azul); cursor: pointer; }
.ajuste output { font-variant-numeric: tabular-nums; font-size: .9rem; color: var(--tinta-2); text-align: right; }
.previa__ajuste-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.1rem; }
.ajuste__passo { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .4rem .85rem; border: 1.5px solid var(--linha); border-radius: var(--raio-c); background: var(--branco); font-family: var(--titulo); font-weight: 600; font-size: .88rem; color: var(--azul); }
.ajuste__passo:hover { border-color: var(--azul); }
.ajuste__passo .i { width: 16px; height: 16px; }
@media (max-width: 575.98px) { .ajuste { grid-template-columns: minmax(0, 1fr) 3.4rem; gap: 0 .75rem; } .ajuste label { grid-column: 1 / -1; } .previa__ajuste-acoes { justify-content: center; } }
.previa__logo-msg { flex-basis: 100%; font-size: .85rem; color: var(--tinta-2); }
.previa__logo-msg:empty { display: none; }
.previa__logo-msg.erro { color: var(--erro); font-weight: 500; }
.so-leitor { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.previa__marca { font-family: var(--titulo); font-weight: 800; transition: opacity .45s var(--ease); }
.previa[data-estado="liso"] .previa__marca { opacity: 0; }
.previa__laser { opacity: 0; }
.previa.gravando .previa__laser { animation: laser 1.1s var(--ease) both; }
@keyframes laser { 0% { opacity: 0; transform: translateY(-120px); } 15% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: translateY(120px); } }
.previa__selo { position: absolute; top: 1rem; left: 1rem; z-index: 3; display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: .8rem; font-weight: 600; color: var(--tinta-2); }
.previa__selo .i { width: 15px; height: 15px; color: var(--ouro-tinta); }
.previa__controles { margin-top: 1.5rem; display: grid; gap: 1rem; }
.abas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; padding: .35rem; background: var(--papel-2); border-radius: 12px; }
.aba { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 44px; padding: .5rem .6rem; border: 0; border-radius: 9px; background: transparent; font-family: var(--titulo); font-weight: 600; font-size: .95rem; color: var(--tinta-2); transition: background-color .2s, color .2s, box-shadow .2s; }
.aba .i { width: 19px; height: 19px; }
.aba:hover { color: var(--azul); }
.aba[aria-pressed="true"] { background: var(--branco); color: var(--azul); box-shadow: 0 2px 8px -3px rgba(15, 46, 62, .35); }
.previa__linha { display: grid; gap: .6rem; }
@media (min-width: 576px) { .previa__linha { grid-template-columns: 1fr auto; align-items: end; } }
.previa__linha .campo { grid-column: auto; }
.alterna { display: inline-flex; padding: .3rem; background: var(--papel-2); border-radius: 12px; }
.alterna button { min-height: 44px; padding: .4rem .85rem; border: 0; border-radius: 9px; background: transparent; font-family: var(--titulo); font-weight: 600; font-size: .88rem; color: var(--tinta-2); }
.alterna button[aria-pressed="true"] { background: var(--azul); color: #fff; }
.previa__nota { font-size: .85rem; color: var(--tinta-2); display: flex; gap: .45rem; align-items: flex-start; }
.previa__nota .i { width: 16px; height: 16px; margin-top: .15rem; color: var(--ouro-tinta); }

.cartao-form { background: var(--branco); border-radius: var(--raio-g); box-shadow: var(--sombra-g); padding: clamp(1.25rem, .9rem + 1.5vw, 1.9rem); }
.cartao-form h2 { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); }
.cartao-form .sec__sub { margin-top: .4rem; font-size: 1rem; }
.form-lead { margin-top: 1.15rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem .8rem; }
.campo { position: relative; grid-column: 1 / -1; display: grid; gap: .3rem; align-content: start; }
@media (min-width: 576px) { .campo--meio { grid-column: auto; } }
.campo label { font-family: var(--titulo); font-weight: 600; font-size: .88rem; color: var(--azul); }
.campo label small { font-weight: 500; color: var(--tinta-2); }
.campo__caixa { position: relative; }
.campo__caixa > .i { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); width: 19px; height: 19px; color: var(--azul); opacity: .75; pointer-events: none; }
.campo__caixa--area > .i { top: .8rem; transform: none; }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 46px; padding: .55rem .85rem .55rem 2.65rem; border: 1.5px solid #76878F; border-radius: var(--raio-c); background: #fff; font-size: 1rem; color: var(--tinta); transition: border-color .2s, box-shadow .2s; appearance: none; -webkit-appearance: none; }
.campo select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231B485F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .85rem center; padding-right: 2.6rem; }
.campo textarea { min-height: 76px; resize: vertical; }
.campo input::placeholder, .campo textarea::placeholder { color: #66757C; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: #5E7079; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 4px rgba(27, 72, 95, .14); }
.campo__erro { display: none; font-size: .84rem; color: var(--erro); font-weight: 500; }
.campo__dica { font-size: .82rem; color: var(--tinta-2); }
.campo.invalido input, .campo.invalido select, .campo.invalido textarea { border-color: var(--erro); box-shadow: 0 0 0 3px rgba(180, 35, 24, .1); }
.campo.invalido .campo__erro { display: block; }
.campo--oculto { display: none; }
.campo--oculto.visivel { display: grid; }
.armadilha { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-lead .btn--ouro { grid-column: 1 / -1; margin-top: .25rem; min-height: 52px; font-size: 1.02rem; }
.form-consent { grid-column: 1 / -1; font-size: .82rem; color: var(--tinta-2); text-align: center; }
.form-consent a { color: var(--azul); }
.form-falha { grid-column: 1 / -1; display: none; padding: .75rem .9rem; border-radius: var(--raio-c); background: #FDECEA; color: var(--erro); font-size: .9rem; }
.form-falha.visivel { display: block; }
.ou-zap { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25rem .6rem; font-size: .95rem; color: var(--tinta-2); }
.botao-texto { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .35rem .2rem; border: 0; background: none; font-family: var(--titulo); font-weight: 600; color: var(--azul); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.botao-texto .i { width: 18px; height: 18px; color: var(--zap); }
.micro { grid-column: 1 / -1; list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.25rem; padding-top: .7rem; border-top: 1px solid var(--linha); }
.micro li { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--titulo); font-weight: 600; font-size: .86rem; color: var(--azul); }
.micro .i { width: 18px; height: 18px; color: var(--ouro-tinta); }
.aviso-minimo { display: none; font-size: .82rem; color: var(--ouro-tinta); font-weight: 600; }
.aviso-minimo.visivel { display: block; }

/* ---------- popup ---------- */
.pop { width: min(100% - 1.5rem, 480px); max-height: calc(100svh - 1.5rem); padding: 0; border: 0; border-radius: var(--raio-g); background: #fff; color: var(--tinta); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .6); overflow: auto; }
.pop::backdrop { background: rgba(8, 24, 33, .62); backdrop-filter: blur(3px); }
.pop[open] { animation: pop-entra .45s var(--ease); }
@keyframes pop-entra { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
.pop__topo { position: relative; padding: 1.5rem 1.5rem 1.1rem; background: var(--azul); color: #fff; isolation: isolate; overflow: hidden; }
.pop__topo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("/assets/img/padrao-ja.svg?v=d84f4485c4") 0 0 / 300px auto repeat; opacity: .8; }
.pop__topo h2 { color: #fff; font-size: 1.45rem; padding-right: 2.5rem; }
.pop__topo p { margin-top: .4rem; color: var(--no-azul); font-size: .98rem; }
.pop__fechar { position: absolute; top: .85rem; right: .85rem; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: var(--raio-c); background: rgba(255, 255, 255, .12); color: #fff; }
.pop__fechar:hover { background: rgba(255, 255, 255, .22); }
.pop .form-lead { margin: 0; padding: 1.25rem 1.5rem 1.5rem; }

/* ---------- CTA final (páginas internas) ---------- */
.cta-final { position: relative; isolation: isolate; overflow: clip; background: var(--azul); color: #fff; padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem); }
.cta-final__grade { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 992px) { .cta-final__grade { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.cta-final h2 { color: #fff; max-width: 18ch; }
.cta-final p { margin-top: .9rem; color: var(--no-azul); font-size: 1.1rem; max-width: 34rem; }
.cta-final__visual .palco { aspect-ratio: 4 / 3; }
.cta-final__visual .palco > img { object-fit: contain; }
.cta-final__visual .palco > svg { width: 100%; height: 100%; }

/* ---------- topo das páginas internas ---------- */
.topo { position: relative; isolation: isolate; overflow: clip; background: var(--azul); color: #fff; padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem); }
.topo h1 { color: #fff; font-size: clamp(2rem, 1.3rem + 2.8vw, 3.5rem); max-width: 20ch; }
.topo__apoio { margin-top: 1rem; font-size: clamp(1.05rem, 1rem + .35vw, 1.25rem); color: var(--no-azul); max-width: 40rem; }
.topo .sec__acao { margin-top: 1.75rem; }
.trilha { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-bottom: 1.25rem; font-size: .88rem; color: var(--no-azul); }
.trilha a { color: var(--no-azul) !important; text-decoration: none; }
.trilha a:hover { color: #fff !important; text-decoration: underline; }
.trilha li + li::before { content: "/"; margin-right: .35rem; color: rgba(255, 255, 255, .35); }
.trilha [aria-current] { color: #fff; }

/* ---------- página de produto ---------- */
.prod-heroi { display: grid; gap: clamp(2rem, 1.5rem + 3vw, 4.5rem); align-items: center; }
@media (min-width: 992px) { .prod-heroi { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.galeria-prod { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.galeria-prod__principal { grid-column: 1 / -1; position: relative; aspect-ratio: 1 / 1; border-radius: var(--raio-g); background: var(--estudio); }
.galeria-prod__principal > img, .galeria-prod__principal > svg { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.galeria-prod__principal .foto-pendente { position: absolute; inset: 0; border-radius: inherit; }
.galeria-prod__mini { aspect-ratio: 1 / 1; }
.galeria-prod__mini .foto-pendente { height: 100%; border-radius: 12px; }
.galeria-prod__mini .foto-pendente { align-content: center; gap: .5rem; }
.galeria-prod__mini .foto-pendente__ic { width: 52px; height: 52px; }
.galeria-prod__mini .foto-pendente__ic .i { width: 24px; height: 24px; }
.foto-pendente__curta { position: relative; font-family: var(--titulo); font-weight: 600; font-size: .82rem; color: var(--azul); text-align: center; }
.prod-heroi__texto h1 { color: #fff; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.3rem); }
.prod-heroi__texto .topo__apoio { margin-top: 1.1rem; }
.specs { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--branco); border-radius: var(--raio-g); box-shadow: var(--sombra); overflow: hidden; }
.spec { display: flex; align-items: center; gap: .85rem; padding: 1.25rem 1.1rem; border-bottom: 1px solid var(--linha); }
.spec:nth-child(odd) { border-right: 1px solid var(--linha); }
.spec small { display: block; font-size: .8rem; color: var(--tinta-2); }
.spec strong { display: block; font-family: var(--titulo); font-weight: 700; font-size: 1.02rem; color: var(--azul); letter-spacing: -.01em; line-height: 1.25; }
@media (max-width: 575.98px) { .spec { flex-direction: column; align-items: flex-start; gap: .6rem; } }
@media (min-width: 992px) { .specs { grid-template-columns: repeat(4, minmax(0, 1fr)); } .spec { border-bottom: 0; border-right: 1px solid var(--linha); padding: 1.5rem 1.4rem; } .spec:nth-child(odd) { border-right: 1px solid var(--linha); } .spec:last-child { border-right: 0; } }
.specs-faixa { position: relative; z-index: 3; margin-top: calc(-1 * clamp(1.75rem, 1.25rem + 2vw, 2.75rem)); }
.dor-prod { display: grid; gap: 1.5rem; align-items: center; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); background: var(--branco); border-radius: var(--raio-g); box-shadow: var(--sombra); }
@media (min-width: 768px) { .dor-prod { grid-template-columns: auto 1fr; gap: 2rem; } }
.dor-prod .ic-circulo { width: 96px; height: 96px; }
.dor-prod .ic-circulo .i { width: 42px; height: 42px; stroke-width: 1.5; }
.dor-prod p { font-family: var(--titulo); font-weight: 600; font-size: clamp(1.2rem, 1.05rem + .7vw, 1.6rem); line-height: 1.35; letter-spacing: -.015em; color: var(--azul); max-width: 40rem; }
.dor-prod p + p { margin-top: .5rem; font-family: var(--texto); font-weight: 400; font-size: 1.08rem; color: var(--tinta-2); letter-spacing: 0; }
.usos { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.uso { display: grid; justify-items: center; gap: .85rem; padding: 1.6rem .75rem; border-radius: var(--raio-g); background: var(--branco); box-shadow: var(--sombra); text-align: center; font-family: var(--titulo); font-weight: 600; font-size: 1.02rem; color: var(--azul); }
.duas-colunas { display: grid; gap: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); }
@media (min-width: 992px) { .duas-colunas { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.duas-colunas h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem); margin-bottom: 1.5rem; }

/* ---------- sobre ---------- */
.galeria { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 992px) { .galeria { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
.galeria .foto-pendente { aspect-ratio: 4 / 3; }
@media (max-width: 575.98px) { .galeria { grid-template-columns: minmax(0, 1fr); } .galeria .foto-pendente { aspect-ratio: 16 / 9; } }
.porque { list-style: none; display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .porque { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
.porque li { display: grid; gap: 1rem; padding: 2rem 1.75rem; background: var(--branco); border-radius: var(--raio-g); box-shadow: var(--sombra); }
.porque p { color: var(--tinta-2); }
.alcance { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 992px) { .alcance { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.alcance__mapa { border-radius: var(--raio-g); overflow: hidden; background: var(--azul-escuro); }
.alcance__mapa svg { width: 100%; height: auto; }
.alcance__lista { list-style: none; display: grid; gap: 1.1rem; margin-top: 1.75rem; }
.alcance__lista li { display: flex; align-items: center; gap: 1rem; font-family: var(--titulo); font-weight: 600; font-size: 1.15rem; color: var(--azul); }
.alcance__lista li div span { display: block; font-family: var(--texto); font-weight: 400; font-size: .95rem; color: var(--tinta-2); }
.topo .alcance__lista li { color: #fff; }
.topo .alcance__lista li div span { color: var(--no-azul); }
.topo-dividido { display: grid; gap: clamp(2rem, 1.5rem + 3vw, 4rem); align-items: center; }
@media (min-width: 992px) { .topo-dividido { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.topo-dividido .alcance__mapa { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), var(--sombra-g); }
.historia__texto h2 { margin-bottom: 1.1rem; }
.historia__texto p + p { margin-top: 1rem; }
.historia__texto p { color: var(--tinta-2); font-size: 1.1rem; }
.historia__texto p:first-of-type { color: var(--tinta); }

/* ---------- contato ---------- */
.canais { list-style: none; display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .canais { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }
.canal { display: grid; gap: .9rem; align-content: start; padding: 2rem 1.75rem; background: var(--branco); border-radius: var(--raio-g); box-shadow: var(--sombra); }
.canal h2 { font-size: 1.35rem; letter-spacing: -.015em; }
.canal p { color: var(--tinta-2); }
.canal .btn { justify-self: start; margin-top: .25rem; }
.canal a:not(.btn) { font-family: var(--titulo); font-weight: 600; word-break: break-word; }
.contato-form { max-width: 680px; }

/* ---------- blog ---------- */
.filtros { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.filtros button { min-height: 44px; padding: .45rem 1rem; border: 1.5px solid var(--linha); border-radius: 999px; background: var(--branco); font-family: var(--titulo); font-weight: 600; font-size: .92rem; color: var(--tinta-2); }
.filtros button:hover { border-color: var(--azul); color: var(--azul); }
.filtros button.atual { background: var(--azul); border-color: var(--azul); color: #fff; }
.guias { list-style: none; display: grid; gap: 1.5rem; }
@media (min-width: 700px) { .guias { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .guias { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.guia { position: relative; display: flex; flex-direction: column; background: var(--branco); border-radius: var(--raio-g); overflow: hidden; box-shadow: var(--sombra); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.guia[hidden] { display: none; }
.guia:hover { transform: translateY(-4px); box-shadow: var(--sombra-g); }
.guia__corpo { display: grid; gap: .6rem; padding: 1.35rem 1.4rem 1.6rem; align-content: start; flex: 1; }

.guia h2, .guia h3 { font-size: 1.2rem; line-height: 1.3; letter-spacing: -.015em; }
.guia h2 a, .guia h3 a { color: var(--azul); text-decoration: none; }
.guia h2 a::after, .guia h3 a::after { content: ""; position: absolute; inset: 0; }
.guia__corpo > p:not(.guia__meta) { color: var(--tinta-2); font-size: .98rem; line-height: 1.5; }
.guia__meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: .2rem; font-size: .82rem; color: var(--tinta-2); }
.guia__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.guia__meta .i { width: 15px; height: 15px; }
@media (min-width: 1100px) {
  .guia--destaque { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  .guia--destaque .capa { aspect-ratio: auto; height: 100%; min-height: 340px; }
  .guia--destaque .guia__corpo { align-content: center; padding: 2.5rem 2.75rem; gap: .9rem; }
  .guia--destaque h2 { font-size: clamp(1.5rem, 1.1rem + 1vw, 2rem); }
  .guia--destaque .guia__corpo > p:not(.guia__meta) { font-size: 1.08rem; }
}
.capa { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--azul); isolation: isolate; display: grid; place-items: center; }
.capa::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("/assets/img/padrao-ja.svg?v=d84f4485c4") 0 0 / 280px auto repeat; }
.capa__ic { display: grid; place-items: center; width: 30%; max-width: 190px; aspect-ratio: 1; border-radius: 50%; background: rgba(11, 35, 49, .55); color: var(--ouro-claro); box-shadow: inset 0 0 0 1.5px rgba(226, 190, 82, .75); outline: 1px dashed rgba(226, 190, 82, .45); outline-offset: 10px; }
.capa__ic .i { width: 46%; height: 46%; stroke-width: 1.5; }
.capa > img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; }
.capa--contem > img { object-fit: contain; }
.capa--papel { background: var(--estudio); }
.capa--papel::before { display: none; }
.post-capa .capa:not(.capa--papel) { background: var(--papel-2); }
.post-capa .capa:not(.capa--papel)::before { opacity: .1; }
.post-capa .capa:not(.capa--papel) .capa__ic { max-width: 170px; background: var(--azul); color: var(--ouro-claro); outline-color: rgba(27, 72, 95, .35); box-shadow: 0 18px 32px -16px rgba(0, 0, 0, .35); }
.capa > svg { width: auto; height: 100%; }
.capa .prova__marcas { inset: 12px; --o: 14px; }

.post-topo { padding-bottom: clamp(3.5rem, 2.5rem + 3vw, 5.5rem); }
.post-topo .container, .post-corpo .container { max-width: 1120px; }
.post-meta { margin-top: 1.4rem; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; font-size: .92rem; color: var(--no-azul); }
.post-meta span { display: inline-flex; align-items: center; gap: .4rem; }
.post-meta .i { width: 17px; height: 17px; color: var(--ouro-claro); }
.post-meta a { color: #fff !important; text-decoration: underline; text-underline-offset: .2em; }
.post-capa { margin-top: calc(-1 * clamp(2rem, 1.5rem + 2vw, 3.5rem)); position: relative; z-index: 2; }
.post-capa .capa { border-radius: var(--raio-g); box-shadow: var(--sombra-g); }
.post-grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; padding-block: clamp(2.5rem, 2rem + 2vw, 4rem) var(--sec); }
@media (min-width: 1100px) { .post-grade { grid-template-columns: minmax(0, 1fr) 270px; gap: 4rem; } .indice { position: sticky; top: calc(var(--cab-h) + 1.5rem); order: 2; } }
.indice { align-self: start; padding: 1.25rem 1.35rem; background: var(--branco); border-radius: var(--raio); box-shadow: var(--sombra); }
.indice h2 { font-size: .95rem; letter-spacing: 0; margin-bottom: .6rem; display: flex; align-items: center; gap: .45rem; }
.indice h2 .i { color: var(--ouro-tinta); width: 18px; height: 18px; }
.indice ol { list-style: none; display: grid; gap: .1rem; }
.indice a { display: block; padding: .35rem 0; font-size: .92rem; line-height: 1.35; color: var(--tinta-2); text-decoration: none; }
.indice a:hover { color: var(--azul); text-decoration: underline; }
.artigo { min-width: 0; max-width: 62ch; font-size: 1.1rem; line-height: 1.7; }
.artigo > * + * { margin-top: 1.15rem; }
.artigo h2 { margin-top: 3rem; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.05rem); scroll-margin-top: calc(var(--cab-h) + 20px); }
.artigo h3 { margin-top: 2rem; }
.artigo h2 + *, .artigo h3 + * { margin-top: .9rem; }
.artigo ul:not([class]), .artigo ol:not([class]) { padding-left: 1.3rem; }
.artigo li + li { margin-top: .45rem; }
.artigo li::marker { color: var(--ouro-tinta); }
.artigo strong { color: var(--azul-escuro); font-weight: 600; }
.artigo .resposta { font-size: 1.18rem; color: var(--tinta); }
.artigo .fonte { font-size: .9rem; color: var(--tinta-2); }
.artigo > figure { margin-inline: 0; }
.artigo figure .palco { aspect-ratio: 16 / 9; }
.artigo figcaption { margin-top: .6rem; font-size: .88rem; color: var(--tinta-2); }
.tabela-rolagem { overflow-x: auto; border-radius: var(--raio); box-shadow: var(--sombra); background: var(--branco); }
.tabela { width: 100%; border-collapse: collapse; font-size: .98rem; line-height: 1.45; }
.tabela--larga { min-width: 580px; }
@media (max-width: 575.98px) { .tabela { font-size: .92rem; } .tabela th, .tabela td { padding: .7rem .75rem; } }
.tabela caption { caption-side: top; text-align: left; padding: .9rem 1rem .6rem; font-family: var(--titulo); font-weight: 600; color: var(--azul); font-size: .95rem; }
.tabela th, .tabela td { padding: .8rem 1rem; text-align: left; vertical-align: top; border-top: 1px solid var(--linha); }
.tabela thead th { background: var(--azul); color: #fff; font-family: var(--titulo); font-weight: 600; font-size: .9rem; border-top: 0; }
.tabela tbody tr:nth-child(even) { background: rgba(243, 239, 231, .55); }
.tabela td:first-child { font-weight: 600; color: var(--azul); }
.dados { list-style: none; padding: 0; display: grid; gap: .85rem; }
@media (min-width: 640px) { .dados { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dados li { margin: 0 !important; display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start; padding: 1.1rem 1.15rem; background: var(--branco); border-radius: var(--raio); box-shadow: var(--sombra); font-size: 1rem; line-height: 1.5; }
.dados strong { display: block; font-family: var(--titulo); font-size: 1.02rem; color: var(--azul); }
.dados .ic-circulo { width: 42px; height: 42px; }
.dados .ic-circulo .i { width: 20px; height: 20px; }
.lado-a-lado { display: grid; gap: .85rem; }
@media (min-width: 640px) { .lado-a-lado { grid-template-columns: 1fr 1fr; } }
.lado-a-lado > div { padding: 1.3rem 1.25rem; border-radius: var(--raio); background: var(--branco); box-shadow: var(--sombra); }
.lado-a-lado h3 { margin: 0 0 .75rem; display: flex; align-items: center; gap: .6rem; font-size: 1.1rem; }
.lado-a-lado ul { list-style: none; padding: 0; display: grid; gap: .5rem; }
.lado-a-lado li { display: flex; gap: .55rem; font-size: 1rem; line-height: 1.45; margin: 0 !important; }
.lado-a-lado li .i { width: 18px; height: 18px; margin-top: .2rem; }
.sim li .i { color: #1E7B4A; }
.nao li .i { color: var(--erro); }
.linha-tempo { list-style: none; padding: 0; position: relative; display: grid; }
.linha-tempo li { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 1rem; padding-bottom: 1.4rem; margin: 0 !important; }
.linha-tempo li::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; border-left: 2px dashed rgba(201, 162, 39, .7); }
.linha-tempo li:last-child::before { display: none; }
.linha-tempo strong { display: block; font-family: var(--titulo); color: var(--azul); font-size: 1.05rem; }
.linha-tempo div > span { color: var(--tinta-2); font-size: 1rem; }
.calendario { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
@media (min-width: 640px) { .calendario { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.calendario li { margin: 0 !important; display: grid; gap: .35rem; align-content: start; padding: 1rem; border-radius: var(--raio); background: var(--branco); box-shadow: var(--sombra); font-size: .92rem; line-height: 1.4; }
.calendario .mes { display: flex; align-items: center; gap: .5rem; font-family: var(--titulo); font-weight: 700; color: var(--azul); font-size: 1rem; }
.calendario .mes .i { width: 18px; height: 18px; color: var(--ouro-tinta); }
.calendario .pedir { font-weight: 600; color: var(--ouro-tinta); font-size: .85rem; }
.cta-card { display: grid; gap: 1.1rem; align-items: center; margin-top: 2.5rem !important; padding: clamp(1.4rem, 1rem + 2vw, 2.25rem); border-radius: var(--raio-g); background: var(--azul); color: #fff; isolation: isolate; position: relative; overflow: hidden; }
.cta-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("/assets/img/padrao-ja.svg?v=d84f4485c4") 0 0 / 300px auto repeat; }
@media (min-width: 640px) { .cta-card { grid-template-columns: auto 1fr auto; } }
.cta-card p { font-family: var(--titulo); font-weight: 600; font-size: 1.15rem; line-height: 1.35; color: #fff; }
.cta-card p small { display: block; margin-top: .3rem; font-family: var(--texto); font-weight: 400; font-size: .95rem; color: var(--no-azul); }

.relacionados { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--linha); }
.relacionados h2 { font-size: 1.3rem; margin-bottom: 1rem; margin-top: 0; }
.relacionados ul { list-style: none; display: grid; gap: .6rem; padding: 0; }
.relacionados a { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--titulo); font-weight: 600; text-decoration: none; }
.relacionados a .i { color: var(--ouro-tinta); }
.faq-post { margin-top: 3rem; }
.faq-post > h2 { margin-bottom: 1rem; }

/* ---------- páginas simples ---------- */
.legal { max-width: 72ch; }
.legal h2 { margin-top: 2.5rem; font-size: clamp(1.35rem, 1.2rem + .6vw, 1.7rem); }
.legal h2 + p, .legal p + p, .legal ul, .legal p + ul { margin-top: .9rem; }
.legal ul { padding-left: 1.25rem; }
.legal li + li { margin-top: .4rem; }
.centro-tela { min-height: calc(100svh - var(--cab-h) - 120px); display: grid; place-items: center; text-align: center; }
.centro-tela .ic-circulo { margin: 0 auto 1.5rem; }
.centro-tela h1 { margin-inline: auto; max-width: 18ch; color: #fff; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.2rem); }
.centro-tela p { margin: 1rem auto 0; max-width: 36rem; color: var(--no-azul); font-size: 1.12rem; }
.centro-tela .sec__acao { justify-content: center; }
.carregando { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1.25rem; color: var(--no-azul); font-size: .95rem; }
.carregando[hidden] { display: none; }
.gira { animation: gira 1s linear infinite; }
@keyframes gira { to { transform: rotate(360deg); } }
.links-uteis { list-style: none; margin-top: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.links-uteis a { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .55rem 1rem; border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff !important; text-decoration: none; font-family: var(--titulo); font-weight: 600; font-size: .95rem; }
.links-uteis a:hover { background: rgba(255, 255, 255, .16); }
.links-uteis .i { color: var(--ouro-claro); width: 18px; height: 18px; }

/* ---------- rodapé ---------- */
.rod { position: relative; isolation: isolate; overflow: clip; background: var(--azul-escuro); color: var(--no-azul); padding-top: clamp(3.5rem, 2.5rem + 4vw, 5.5rem); font-size: .98rem; }
.rod::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("/assets/img/padrao-ja.svg?v=d84f4485c4") 0 0 / 345px auto repeat; opacity: .55; -webkit-mask-image: linear-gradient(180deg, #000, rgba(0, 0, 0, .2)); mask-image: linear-gradient(180deg, #000, rgba(0, 0, 0, .2)); }
.rod__grade { display: grid; gap: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .rod__grade { grid-template-columns: 1.3fr 1fr 1fr; gap: 3rem; } }
.rod__logo img { height: 46px; width: auto; }
.rod h2 { font-size: 1rem; letter-spacing: 0; color: #fff; margin-bottom: 1rem; }
.rod ul { list-style: none; display: grid; gap: .35rem; }
.rod li { display: flex; align-items: flex-start; gap: .65rem; line-height: 1.45; }
.rod li > .i { width: 19px; height: 19px; margin-top: .12rem; color: var(--ouro-claro); }
.rod a { color: #fff; text-decoration: none; }
/* alvo de toque de 44px no rodapé (auditoria 28/09): links e botões viram caixas altas, o ícone centraliza */
.rod li a, .rod__links a, .rod__botao-zap, .rod__base button { display: inline-flex; align-items: center; min-height: 44px; }
.rod__links a { padding-inline: .4rem; }
.rod li:has(> a, > button, > .rod__links) { align-items: center; }
.rod li:has(> a, > button, > .rod__links) > .i { margin-top: 0; }
.rod a:hover { color: var(--ouro-claro); text-decoration: underline; }
.rod__col-logo ul { margin-top: 1.5rem; }
.rod__botao-zap { display: inline-flex; align-items: center; gap: .5rem; padding: 0; border: 0; background: none; color: #fff; font: inherit; text-align: left; }
.rod__botao-zap:hover { color: var(--ouro-claro); text-decoration: underline; }
.rod__links { display: flex; flex-wrap: wrap; gap: 0 .35rem; margin-inline: -.4rem; }
.rod__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 2rem; padding-block: 1.4rem 1.6rem; border-top: 1px solid var(--linha-clara); font-size: .88rem; }
.rod__base ul { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.rod__base button { padding: 0; border: 0; background: none; color: #fff; font-size: inherit; text-decoration: underline; text-underline-offset: .2em; }
.rod__assina a { color: var(--ouro-claro); text-decoration: underline; }

/* ---------- botão flutuante ---------- */
.flutuante { position: fixed; right: 1rem; bottom: 1rem; z-index: 55; display: grid; place-items: center; width: 60px; height: 60px; border: 0; border-radius: 50%; background: var(--zap); color: #fff; box-shadow: 0 12px 28px -8px rgba(12, 70, 35, .6); transition: transform .35s var(--ease), opacity .3s, visibility 0s; }
.flutuante .i { width: 30px; height: 30px; }
.flutuante:hover { transform: scale(1.06); }
.flutuante::after { content: ""; position: absolute; inset: 0; border-radius: 50%; animation: anel 2.8s var(--ease) 3s infinite; }
@keyframes anel { 0% { box-shadow: 0 0 0 0 rgba(21, 128, 61, .45); } 70%, 100% { box-shadow: 0 0 0 16px rgba(21, 128, 61, 0); } }
.heroi-cta-na-tela .flutuante, .tem-cookies .flutuante, .menu-aberto .flutuante { opacity: 0; visibility: hidden; transform: scale(.8); transition: transform .35s var(--ease), opacity .3s, visibility 0s linear .3s; }

/* ---------- cookies ---------- */
.cookies { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 90; display: grid; gap: .9rem; max-width: 440px; padding: 1.2rem 1.25rem; border-radius: var(--raio); background: #fff; color: var(--tinta); box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .45); }
.cookies[hidden] { display: none; }
.cookies p { font-size: .92rem; line-height: 1.5; display: flex; gap: .7rem; }
.cookies p .i { width: 22px; height: 22px; color: var(--ouro-tinta); margin-top: .1rem; }
.cookies__acoes { display: flex; gap: .6rem; }
.cookies__acoes .btn { min-height: 44px; flex: 1; font-size: .95rem; padding: .55rem 1rem; }

/* ---------- animação: só o que está abaixo da dobra, a partir de um estado visível ---------- */
.anima { opacity: 0; transform: translateY(22px); }
.anima.visivel { opacity: 1; transform: none; transition: opacity .8s var(--ease) var(--atraso, 0s), transform .9s var(--ease) var(--atraso, 0s); }
.anima--zoom { transform: scale(.97); }
.heroi .prova__marcas { animation: marcas 1.1s var(--ease) .35s both; }
@keyframes sobe { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes marcas { from { --t: 0px; opacity: 0; } 25% { opacity: 1; } to { --t: 11px; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important;
    transition-property: color, background-color, border-color, box-shadow, opacity, outline-color !important; }
  .anima { opacity: 1; transform: none; }
}

/* ---------- impressão ---------- */
@media print { .cab, .rod, .flutuante, .cookies, .pop, .menu-veu { display: none !important; } .sec--azul, .heroi, .topo { background: #fff !important; color: #000 !important; } }

/* ---------- revisão de acabamento (25/09) ---------- */
/* capa do blog: a categoria vira selo sobre a capa (nada acima do título) */
.capa__rotulo { position: absolute; left: 2rem; top: 2rem; z-index: 3; padding: .3rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .94); font-family: var(--titulo); font-weight: 600; font-size: .78rem; color: var(--azul); box-shadow: 0 4px 12px -6px rgba(15, 46, 62, .4); }
/* simulador: tira de controle de cor e marca de registro, como numa prova de gráfica */
.previa__registro { position: absolute; top: 1rem; right: 1rem; z-index: 3; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--azul); opacity: .55;
  background: linear-gradient(var(--azul), var(--azul)) center / 1px 100% no-repeat, linear-gradient(var(--azul), var(--azul)) center / 100% 1px no-repeat; }
.previa__tira { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; display: flex; border: 1px solid rgba(27, 72, 95, .35); }
.previa__tira i { display: block; width: 14px; height: 14px; }
.previa__tira i:nth-child(1) { background: #1B485F; }
.previa__tira i:nth-child(2) { background: #C9A227; }
.previa__tira i:nth-child(3) { background: #F3EFE7; }
.previa__tira i:nth-child(4) { background: #191919; }
/* celular: páginas de produto com o H1 e o botão na primeira tela; botões empilhados com a mesma largura */
@media (max-width: 991.98px) {
  .galeria-prod__mini { display: none; }
  .galeria-prod__principal { aspect-ratio: 4 / 3; }
}
@media (max-width: 575.98px) {
  .heroi__acoes .btn, .prod-heroi__texto .sec__acao .btn, .cta-final .sec__acao .btn, .topo .sec__acao .btn { flex: 1 1 100%; }
}
@media (max-width: 399.98px) { .form-lead .btn--ouro .i { display: none; } .form-lead .btn--ouro { padding-inline: 1rem; } }

/* pulso de Mogi Guaçu no mapa de alcance: CSS (e não SMIL) para obedecer a "reduzir movimento" */
.alc-pulso { transform-box: fill-box; transform-origin: center; animation: alc-pulso 3s ease-out infinite; }
@keyframes alc-pulso { 0% { opacity: .45; transform: scale(.75); } 100% { opacity: 0; transform: scale(1.6); } }
@media (prefers-reduced-motion: reduce) { .alc-pulso { animation: none; opacity: 0; } }

/* ---------- celular e tablet: conteúdo centralizado (pedido do Bruno em 25/09) ----------
   Ficam à esquerda só o que se lê em lista ou preenche: passos, FAQ, campos do formulário,
   texto de artigo, índice do post, tabelas e política de privacidade. */
body.menu-aberto { overflow: hidden; }
@media (max-width: 991.98px) {
  .sec__cab, .heroi__texto, .topo .container, .topo .container > div, .divisao__texto, .faq-grade__lado,
  .cta-final__grade > div:first-child, .cartao-form > h2, .cartao-form > .sec__sub, .previa > h3, .previa > p:not([class]),
  .duas-colunas > div > h2, .duas-colunas > div > .sec__sub, .centro-tela { text-align: center; }
  .sec__sub, .heroi h1, .heroi__apoio, .topo h1, .topo__apoio, .cta-final h2, .cta-final p, .dor-prod p, .numero__rotulo { margin-inline: auto; }
  .heroi__acoes, .sec__acao, .selos, .filtros, .post-meta { justify-content: center; }
  .confianca { margin-inline: auto; }
  .confianca li { align-items: center; text-align: center; }
  .dor, .porque li, .canal, .dor-prod, .numero { justify-items: center; text-align: center; }
  .dor { grid-template-columns: 1fr; }
  .canal .btn { justify-self: center; }
  .produto__corpo { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .produto__corpo .ic-circulo { grid-row: auto; }
  .produto__link { justify-self: center; }
  .tambem { flex-direction: column; text-align: center; }
  .tambem ul { justify-content: center; }
  .tambem .minimo { margin-left: 0; flex-direction: column; text-align: center; }
  .alterna { justify-self: center; }
  .previa__logo-linha { justify-content: center; text-align: center; }
  .previa__nota { justify-content: center; text-align: center; }
  .spec { flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: .6rem; }
  .alcance__lista li { flex-direction: column; text-align: center; gap: .6rem; }
  .guia__corpo { justify-items: center; text-align: center; }
  .guia__meta { justify-content: center; }
  .cta-card { justify-items: center; text-align: center; }
  .rod__grade, .rod__base { text-align: center; }
  .rod__logo img { margin-inline: auto; }
  .rod li, .rod__links, .rod__base ul { justify-content: center; }
  .rod__base { flex-direction: column; justify-content: center; padding-bottom: 6rem; }   /* o botão flutuante não cobre a assinatura */
}

/* menu aberto: o aviso de cookies sai da frente do botão do painel e volta ao fechar */
.menu-aberto .cookies { visibility: hidden; }

@media (max-width: 575.98px) {
  .usos { gap: .5rem; }
  .uso { padding: 1.3rem .35rem; font-size: .86rem; overflow-wrap: anywhere; }
  .uso .ic-circulo--g { width: 56px; height: 56px; }
  .uso .ic-circulo--g .i { width: 25px; height: 25px; }
}

/* botão de orçamento centralizado em toda seção e no CTA final (pedido do Bruno em 25/09) */
.cta-final__grade > div:first-child { text-align: center; }
.cta-final h2, .cta-final p { margin-inline: auto; }
.cta-final .sec__acao { justify-content: center; }
/* herói de produto: foto um pouco menor, mais equilíbrio com o texto */
@media (min-width: 992px) {
  .prod-heroi { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .galeria-prod { width: 100%; max-width: 460px; justify-self: center; }
}
