/* Fontes servidas do próprio domínio (antes Google Fonts): arquivos variáveis, latin e latin-ext. */
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/fontes/figtree-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/fontes/figtree-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Merriweather'; font-style: italic; font-weight: 300 400; font-display: swap; src: url(/fontes/merriweather-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Merriweather'; font-style: italic; font-weight: 300 400; font-display: swap; src: url(/fontes/merriweather-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 300 900; font-display: swap; src: url(/fontes/merriweather-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 300 900; font-display: swap; src: url(/fontes/merriweather-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* XCORP · home E2 · mobile first · padrões A0 i, A3, B3, C2, D2, E1 a E3, F6 */
:root {
  --carvao: #2A2A2A;
  --cartao: #1F1F1F;
  --faq: #232323;
  --amarelo: #F6BC00;
  --amarelo-claro: #FFD24D;
  --branco: #FFFFFF;
  --cinza-1: #E6E6E6;
  --cinza-2: #CFCFCF;
  --cinza-3: #BDBDBD;
  --cinza-4: #9A9A9A;
  --rotulo: #A8A8A8;
  --filete: #3A3A3A;
  --terra: #D9775A;
  --topo: rgba(42, 42, 42, .85); /* mesmo cinza do fundo (#2A2A2A), padronizado com MINT e dashboards em 04/11 */
  --serif: "Merriweather", Georgia, "Times New Roman", serif;
  --sans: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --suave: cubic-bezier(.2, .7, .2, 1);
  --corte: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%);
  --pad: 16px;
  --hd: 64px;      /* cabeçalho no topo */
  --hd-c: 56px;    /* cabeçalho compacto */
  --bloco: 36px;   /* meio espaço entre blocos: 72 px no celular */
}

*, *::before, *::after { box-sizing: border-box; }
html {
  font-size: 115%; /* +15%: pedido do Luciano no iPad 13; 1 passo de zoom do Safari */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: calc(var(--hd-c) + 16px);
  background: var(--carvao);
}
body {
  margin: 0;
  background: var(--carvao);
  color: var(--branco);
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
[hidden] { display: none !important; }
img { max-width: 100%; display: block; }
a { color: var(--amarelo); }
a:hover { color: var(--amarelo-claro); }
b, strong { font-weight: 600; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: var(--amarelo); color: var(--carvao); }
:focus-visible { outline: 2px solid var(--amarelo); outline-offset: 3px; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip {
  position: absolute; left: 8px; top: -60px; z-index: 100;
  padding: 10px 14px; background: var(--amarelo); color: var(--carvao);
  font-weight: 600; text-decoration: none;
}
.skip:focus { top: 8px; color: var(--carvao); }

.wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}

/* ---------- C2, Lâmina: botões e links de ação ---------- */
.seta { flex: none; display: block; }
.btn-p, .btn-s {
  position: relative; display: inline-block; vertical-align: top;
  margin: 0 4px 4px 0; padding: 0; border: 0; background: none;
  isolation: isolate; text-decoration: none; cursor: pointer;
}
.btn-p::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  transform: translate(4px, 4px); background: #101010; clip-path: var(--corte);
}
.face {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 14px;
  min-height: 52px; padding: 0 28px; clip-path: var(--corte);
  font: 600 0.9375rem/1.2 var(--sans); white-space: nowrap;
  transition: transform .2s var(--suave);
}
.btn-p .face { background: var(--amarelo); color: var(--carvao); }
.btn-p:hover .face, .btn-p:active .face { transform: translate(4px, 4px); }
.btn-p .seta, .btn-s .seta { transition: transform .2s var(--suave); }
.btn-p:hover .seta, .btn-s:hover .seta { transform: translateX(3px); }
.btn-s .face { background: #8A8A8A; color: var(--branco); isolation: isolate; }
.btn-s .face::before {
  content: ""; position: absolute; inset: 1px; z-index: -1;
  background: var(--btn-fundo, var(--carvao));
  clip-path: polygon(0 0, calc(100% - 9.6px) 0, 100% 9.6px, 100% 100%, 0 100%);
}
.btn-s:hover .face { background: var(--amarelo); color: var(--amarelo); }
.btn-p:focus-visible, .btn-s:focus-visible { outline: 2px solid var(--branco); outline-offset: 4px; }
.btn-p:disabled .face { background: #474747; color: #8E8E8E; transform: none; }
.btn-full { display: block; }
.lnk-t, .hd-cta {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
  color: var(--amarelo); font: 600 0.875rem/1 var(--sans); text-decoration: none;
}
.lnk-t .seta, .hd-cta .seta { transition: transform .22s var(--suave); }
.lnk-t:hover .seta, .hd-cta:hover .seta { transform: translateX(4px); }

/* ---------- cabeçalho (A0 i) ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: var(--topo);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .6);
}
.hd-in {
  position: relative; display: flex; align-items: center; gap: 16px;
  height: var(--hd); max-width: 1440px; margin: 0 auto;
  padding: 0 6px 0 var(--pad);
  transition: height .32s var(--suave), padding .32s var(--suave);
}
.site-header { transition: box-shadow .32s ease; }
.is-compacto .site-header, .site-header.is-compacto { box-shadow: 0 2px 10px rgba(0, 0, 0, .5); }
.is-compacto .hd-in { height: var(--hd-c); }
.hd-logo { flex: none; display: flex; align-items: center; margin-right: auto; }
.hd-logo img { width: 112px; height: 40px; transform-origin: 0 50%; transition: transform .3s var(--suave); }
.is-compacto .hd-logo img { transform: scale(.86); }
.hd-nav, .hd-idiomas { display: none; }
.hd-nav ul { display: flex; align-items: center; gap: clamp(18px, 1.9vw, 28px); }
.hd-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--branco); font: 600 0.875rem/1 var(--sans); text-decoration: none; }
.hd-nav a:hover { color: var(--amarelo); }
.hd-nav .hd-cta { color: var(--amarelo); }
.hd-idiomas { align-items: center; gap: 2px; font: 600 0.75rem/1 var(--sans); color: #8A8A8A; }
.hd-idiomas a, .pm-idiomas a { color: var(--cinza-2); text-decoration: none; }
.hd-idiomas a { display: inline-flex; align-items: center; min-height: 24px; padding: 0 3px; }
.hd-idiomas a[aria-current], .hd-idiomas a:hover, .pm-idiomas a[aria-current], .pm-idiomas a:hover { color: var(--amarelo); }

/* botão de menu A3: dois traços desiguais, alinhados à direita, que viram X */
.hd-menu {
  flex: none; display: grid; place-items: center; width: 44px; height: 44px;
  padding: 0; border: 0; background: none; border-radius: 4px; cursor: pointer;
}
.mb3 { position: relative; width: 24px; height: 14px; }
.mb3 i {
  position: absolute; left: 0; top: 6px; width: 24px; height: 2px; border-radius: 1px; background: var(--amarelo);
  transition: rotate .18s ease, translate .2s ease .12s, scale .2s ease .12s;
}
.mb3 i:nth-child(1) { translate: 0 -5px; }
.mb3 i:nth-child(2) { translate: 5.04px 5px; scale: .58 1; }
.hd-menu:hover .mb3 i:nth-child(2) { translate: 2.4px 5px; scale: .8 1; }
.hd-menu[aria-expanded="true"] .mb3 i { transition: translate .18s ease, scale .18s ease, rotate .26s var(--suave) .16s; }
.hd-menu[aria-expanded="true"] .mb3 i:nth-child(1) { translate: 0 0; rotate: 45deg; }
.hd-menu[aria-expanded="true"] .mb3 i:nth-child(2) { translate: 0 0; scale: 1 1; rotate: -45deg; }

/* painel do menu: tudo alinhado à direita */
.pm-veu {
  position: fixed; inset: 0; z-index: 40; background: rgba(0, 0, 0, .55);
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
.pm-veu.is-aberto { opacity: 1; pointer-events: auto; }
.pm {
  position: absolute; left: 0; right: 0; top: 100%;
  max-height: calc(100vh - var(--hd-c)); overflow-y: auto;
  padding: 12px var(--pad) 28px; text-align: right;
  background: var(--cartao); box-shadow: 0 12px 24px rgba(0, 0, 0, .35);
  opacity: 0; transform: translateY(-10px); visibility: hidden;
  transition: opacity .2s ease, transform .3s var(--suave), visibility 0s linear .3s;
}
.is-aberto .pm { opacity: 1; transform: none; visibility: visible; transition: opacity .2s ease, transform .3s var(--suave), visibility 0s; }
.pm li, .pm-acao { opacity: 0; transform: translateY(-6px); transition: opacity .2s ease, transform .3s var(--suave); }
.is-aberto .pm li, .is-aberto .pm-acao { opacity: 1; transform: none; transition-delay: calc(60ms + var(--i) * 30ms); }
.pm ul a { display: inline-flex; align-items: center; justify-content: flex-end; min-height: 48px; color: var(--branco); font: 600 1.25rem/1.2 var(--sans); text-decoration: none; }
.pm ul a:hover { color: var(--amarelo); }
.pm-acao { margin-top: 16px; }
.pm-acao .btn-p { margin-right: 4px; }
.pm-idiomas { display: flex; align-items: center; justify-content: flex-end; gap: 2px; margin-top: 16px; font: 600 0.8125rem/1 var(--sans); color: #8A8A8A; }
.pm-idiomas a { display: grid; place-items: center; min-width: 44px; min-height: 44px; }
.pm-idiomas a:last-child { justify-items: end; min-width: 28px; }

main { padding-top: var(--hd); }

/* ---------- seções (D2: sem filetes, olho numerado) ---------- */
.sec { padding: var(--bloco) 0; }
.olho {
  margin: 0 0 18px;
  font: 600 0.75rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  color: var(--amarelo);
}
.h2 {
  font-family: var(--serif); font-weight: 700;
  font-size: clamp(1.875rem, 1.125rem + 2.4vw, 3rem); line-height: 1.16; letter-spacing: -0.015em;
  text-wrap: balance;
}
.h2s { font-family: var(--serif); font-weight: 700; font-size: clamp(1.375rem, 1.125rem + .8vw, 1.75rem); line-height: 1.25; color: var(--cinza-1); }
.lead { font-size: 1rem; line-height: 1.6; color: var(--cinza-2); max-width: 66ch; }

/* ---------- hero ---------- */
.hero { padding: 28px 0 var(--bloco); }
.hero-open { font: 600 0.875rem/1.45 var(--sans); color: var(--cinza-1); margin-bottom: 16px; }
.hero-stage { margin: 0 calc(-1 * var(--pad)); }
.hq-track {
  display: flex; align-items: stretch; gap: 12px;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-padding: 0 var(--pad);
  padding: 0 var(--pad);
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.hq-track::-webkit-scrollbar { display: none; }
.hq {
  --btn-fundo: var(--cartao);
  flex: 0 0 calc(100% - 44px); max-width: 440px;
  scroll-snap-align: start; scroll-snap-stop: always;
  display: flex; flex-direction: column;
  padding: 22px;
  background: var(--cartao); border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px;
}
.stamp {
  align-self: flex-end;
  display: inline-flex; align-items: center; height: 24px; padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .3); border-radius: 12px;
  font-size: 0.6875rem; font-weight: 600; letter-spacing: .04em; color: var(--cinza-2); white-space: nowrap;
}
.stamp .marca { margin: 0 .3em; }
.hq-q { margin-top: 16px; font-family: var(--serif); font-size: 1.5625rem; line-height: 1.24; font-weight: 700; letter-spacing: -0.01em; }
.hq-a { margin: 14px 0 22px; font-size: 1rem; line-height: 1.55; color: var(--cinza-2); }
.hq-a strong { font-family: var(--serif); font-weight: 900; color: var(--amarelo); }
.btn-hq { display: block; margin-top: auto; }
.btn-hq .face { justify-content: space-between; padding: 0 14px; font-size: .875rem; white-space: normal; text-align: left; }
.hq-list { display: none; }
.hq-dots { display: flex; justify-content: center; margin-top: 14px; }
.hq-dots button {
  width: 28px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.hq-dots span { display: block; width: 8px; height: 8px; border-radius: 4px; background: #8A8A8A; }
.hq-dots [aria-current="true"] span { width: 24px; background: var(--amarelo); }
.hero-cta { margin-top: 8px; }

/* ---------- só existe na MINT ---------- */
.somint .lead { margin-top: 18px; }
.stats { margin-top: 36px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 28px; }
.stats li { display: flex; flex-direction: column; gap: 6px; }
.st-n { font-family: var(--serif); font-size: 2.25rem; line-height: 1.1; font-weight: 900; color: var(--amarelo); font-variant-numeric: tabular-nums; }
.st-pre { font-size: 0.9375rem; font-weight: 700; }
.st-sep { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.st-l { font-size: 0.875rem; line-height: 1.4; color: var(--cinza-2); }

/* ---------- timeline, o rio ---------- */
.tl-sec { position: relative; overflow: hidden; overflow: clip; }
.tl-head .lead { margin-top: 14px; font-size: 0.9375rem; }

.streams { display: block; overflow: visible; }
.streams .st path { opacity: .85; cursor: pointer; transition: opacity .2s ease; }
.streams .st [data-c="wa"] { stroke: #25D366; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.tl-sec[data-on] .st path { opacity: .35; }
.tl-sec[data-on="push"] .st path[data-c="push"], .tl-sec[data-on="inapp"] .st path[data-c="inapp"],
.tl-sec[data-on="email"] .st path[data-c="email"], .tl-sec[data-on="sms"] .st path[data-c="sms"],
.tl-sec[data-on="wa"] .st path[data-c="wa"] { opacity: 1; }

/* legenda F6, abaixo do rio */
.rio-leg-wrap { margin-top: 24px; }
.rio-leg { display: flex; flex-wrap: nowrap; justify-content: space-between; gap: 4px; }
.rio-leg button {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 2px;
  border: 0; border-bottom: 1px solid transparent; background: none; cursor: pointer;
  font: 600 0.75rem/1 var(--sans); color: var(--cinza-2); transition: opacity .2s ease; white-space: nowrap;
}
.rio-pt { width: 8px; height: 8px; border-radius: 50%; flex: none; }
@media (min-width: 600px) {
  .rio-leg { justify-content: flex-start; gap: 8px; }
  .rio-leg button { gap: 8px; padding: 0 16px; border: 1px solid var(--filete); border-radius: 22px; font-size: 0.8125rem; }
  .rio-pt { width: 10px; height: 10px; }
}
.tl-sec[data-on] .rio-leg button { opacity: .45; }
.tl-sec[data-on="push"] .rio-leg [data-c="push"], .tl-sec[data-on="inapp"] .rio-leg [data-c="inapp"],
.tl-sec[data-on="email"] .rio-leg [data-c="email"], .tl-sec[data-on="sms"] .rio-leg [data-c="sms"],
.tl-sec[data-on="wa"] .rio-leg [data-c="wa"] { opacity: 1; border-color: var(--cinza-1); color: var(--branco); }
.rio-etq {
  position: absolute; left: 0; top: 0; z-index: 5;
  display: flex; align-items: center; gap: 8px; padding: 7px 12px; white-space: nowrap; pointer-events: none;
  background: var(--cartao); border: 1px solid rgba(255, 255, 255, .6); border-radius: 6px;
  font: 400 0.8125rem/1 var(--sans); color: var(--cinza-1);
  opacity: 0; transition: opacity .2s ease;
}
.rio-etq.on { opacity: 1; }
.rio-etq b { color: var(--branco); font-weight: 600; }
.rio-etq-pt { width: 8px; height: 8px; border-radius: 50%; }

/* celular e tablet: faixa reta à esquerda */
.tl {
  position: relative;
  max-width: 720px; margin: 28px auto 0;
  padding: 0 var(--pad) 0 128px;
}
.tl-river-d { display: none; }
.tl-river-m { position: absolute; left: 0; top: 0; bottom: 22px; width: 116px; }
.tl-river-m .streams { width: 116px; height: 100%; }
.yr-m, .yr-d, .ch-d, .hoje-bar-m, .hoje-bar-d, .hoje-d, .mk::before, .mk::after { pointer-events: none; }
.yr-m {
  position: absolute; left: 42px; width: 44px; height: 20px;
  display: flex; align-items: center; justify-content: center;
  background: var(--cartao); border: 1px solid rgba(255, 255, 255, .35); border-radius: 10px;
  font-family: var(--serif); font-size: 0.6875rem; font-weight: 700; letter-spacing: .5px; color: var(--cinza-1);
}
.hoje-bar-m {
  position: absolute; left: 12px; bottom: -2px; width: 104px; height: 4px; border-radius: 2px;
  background: #FFFFFF; box-shadow: 0 0 10px rgba(255, 255, 255, .7);
}
.mk-list { display: grid; grid-auto-rows: 1fr; row-gap: 24px; padding-top: 14px; }
.mk { position: relative; }
.mk::before { content: ""; position: absolute; left: -16px; top: 29px; width: 16px; height: 2px; background: rgba(255, 255, 255, .6); }
.mk::after {
  content: ""; position: absolute; left: -21px; top: 25px; width: 10px; height: 10px; border-radius: 50%;
  background: #FFFFFF; border: 2px solid var(--cartao);
}
.mk-card {
  display: flex; flex-direction: column; gap: 4px;
  padding: 14px 16px;
  background: var(--cartao); border: 1px solid rgba(255, 255, 255, .6); border-radius: 6px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .45);
}
.mk-when { font-size: 0.6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza-4); }
.mk-num { font-family: var(--serif); font-size: 2rem; line-height: 1.05; font-weight: 900; color: var(--amarelo); }
.mk-unit { font-size: 0.875rem; font-weight: 700; }
.mk-h { margin-top: 2px; font-family: var(--serif); font-size: 0.9375rem; line-height: 1.3; font-weight: 700; }
.mk-sup { margin-top: 2px; font-size: 0.8125rem; line-height: 1.45; color: var(--cinza-3); }
.hoje-m { margin-top: 20px; font-family: var(--serif); font-size: 2rem; line-height: 44px; font-weight: 900; color: var(--amarelo); }
.tl-close { margin-top: 32px; display: flex; flex-direction: column; gap: 16px; align-items: stretch; }
.tl-close p { font-family: var(--serif); font-size: 1.25rem; line-height: 1.4; font-weight: 700; }
.tl-close .btn-p { display: block; }

/* ---------- quatro jeitos (filetes do componente ficam) ---------- */
.ways { margin-top: 28px; }
.way { display: flex; gap: 16px; align-items: flex-start; padding: 20px 0; border-top: 1px solid var(--filete); }
.way:last-child { border-bottom: 1px solid var(--filete); }
.way-ic { flex: none; width: 48px; height: 48px; fill: none; stroke: #D8D8D8; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.way > div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.way-n { font-family: var(--serif); font-size: 1.125rem; line-height: 1.25; font-weight: 900; color: var(--amarelo); }
.way-s { font-family: var(--serif); font-size: 0.875rem; line-height: 1.4; font-style: italic; font-weight: 400; }
.way-b { font-size: 0.9375rem; line-height: 1.55; color: var(--cinza-2); }

/* ---------- quem usa ---------- */
.deps { margin-top: 32px; display: grid; gap: 16px; align-items: start; }
.dep { padding: 24px; display: flex; flex-direction: column; gap: 16px; background: var(--cartao); border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; box-shadow: 0 14px 32px rgba(0, 0, 0, .45); } /* sombra igual à dos cards do rio */
.dep-q { font-family: var(--serif); font-size: 3.5rem; line-height: .6; height: 26px; font-weight: 900; color: var(--amarelo); }
.dep blockquote { font-family: var(--serif); font-size: 1.0625rem; line-height: 1.6; font-style: italic; font-weight: 300; }
.dep figcaption { display: flex; flex-direction: column; gap: 4px; }
.dep-n { font-family: var(--serif); font-size: 1rem; line-height: 1.35; font-weight: 700; color: var(--branco); }
.dep-c { font-size: 0.875rem; line-height: 1.45; color: var(--cinza-2); }
.logos-wrap {
  position: relative; margin: 48px calc(-1 * var(--pad)) 0; padding: 8px 0;
  overflow: hidden;
}
.logos-wrap::before, .logos-wrap::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 48px; z-index: 1; pointer-events: none;
}
.logos-wrap::before { left: 0; background: linear-gradient(90deg, var(--carvao), rgba(42, 42, 42, 0)); }
.logos-wrap::after { right: 0; background: linear-gradient(270deg, var(--carvao), rgba(42, 42, 42, 0)); }
.logos-track {
  display: flex; width: max-content;
  animation: logos-andar 38s linear infinite;
  will-change: transform;
}
.logos-track.parado, .logos-wrap:hover .logos-track, .logos-wrap:focus-within .logos-track { animation-play-state: paused; }
.logos { display: flex; align-items: center; gap: 48px; padding: 4px 24px; list-style: none; margin: 0; }
.logos li { flex: none; }
.logos img { width: auto; max-width: none; display: block; }
@keyframes logos-andar { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .logos-track { animation: none; width: auto; overflow-x: auto; }
  .logos-track .logos[aria-hidden] { display: none; }
}

/* ---------- instituições ---------- */
.inst-grid > div { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.inst-grid p { font-size: 1.0625rem; line-height: 1.7; color: var(--cinza-3); max-width: 80ch; }

/* ---------- FAQ (acordeão: filetes do componente ficam) ---------- */
.sec.faq { background: var(--faq); padding: 72px 0; }
.fq-list { margin-top: 28px; border-bottom: 1px solid #3E3E3E; }
.fq { border-top: 1px solid #3E3E3E; }
.fq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  min-height: 60px; padding: 18px 0;
  cursor: pointer; list-style: none;
}
.fq summary::-webkit-details-marker { display: none; }
.fq summary h3 { font-family: var(--serif); font-size: 1.0625rem; line-height: 1.35; font-weight: 700; }
.fq summary:hover h3 { color: var(--amarelo); }
.fq[open] summary h3 { color: var(--amarelo); }
.fq-i { flex: none; position: relative; width: 18px; height: 18px; }
.fq-i::before, .fq-i::after { content: ""; position: absolute; left: 2px; top: 8px; width: 14px; height: 2px; border-radius: 1px; background: var(--cinza-2); transition: transform .2s ease; }
.fq-i::after { transform: rotate(90deg); }
.fq[open] .fq-i::before, .fq[open] .fq-i::after { background: var(--amarelo); }
.fq[open] .fq-i::after { transform: rotate(0deg); }
.fq p { padding: 0 0 22px; font-size: 1rem; line-height: 1.65; color: #D6D6D6; max-width: 70ch; }

/* ---------- demo: formulário C2 ---------- */
.demo .lead { margin-top: 16px; }
.demo-box { margin-top: 28px; }
.form { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 20px; column-gap: 20px; }
.campo { position: relative; min-width: 0; }
.campo label {
  display: block; margin-bottom: 8px;
  font: 600 0.6875rem/1.35 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--rotulo);
}
.campo-caixa { position: relative; }
.campo input, .campo select, .campo textarea {
  display: block; width: 100%; margin: 0; min-height: 48px; padding: 12px 14px;
  background-color: var(--cartao); border: 1px solid #6A6A6A; border-radius: 0; /* contraste 3:1 com o fundo do campo */
  color: var(--branco); font: 400 1rem/1.3 var(--sans);
  outline: none; -webkit-appearance: none; appearance: none;
}
.campo select {
  cursor: pointer; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23CFCFCF' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
.campo select option { background: var(--cartao); color: var(--branco); }
.campo textarea { min-height: 96px; resize: vertical; line-height: 1.5; }
.linha {
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px; pointer-events: none;
  background: var(--amarelo); transform: scaleY(0); transition: transform .24s var(--suave);
}
.campo:focus-within input, .campo:focus-within select, .campo:focus-within textarea { border-color: var(--amarelo); }
.campo:focus-within .linha { transform: scaleY(1); }
.campo:focus-within label { color: var(--amarelo); }
.campo.tem-erro input, .campo.tem-erro select, .campo.tem-erro textarea { border-color: var(--terra); }
.campo.tem-erro .linha { background: var(--terra); transform: scaleY(1); }
.campo.tem-erro label { color: var(--terra); }
.campo-msg { margin-top: 8px; font: 600 0.8125rem/1.4 var(--sans); color: var(--terra); }
.campo-msg:empty { display: none; }
.f-wide { grid-column: 1 / -1; }
.form-acao { margin-top: 4px; }
.form-acao .btn-p { display: block; }
.form-ok {
  padding: 24px; background: var(--cartao); border-left: 3px solid var(--amarelo);
  font-family: var(--serif); font-size: 1.25rem; line-height: 1.45; font-weight: 700;
}
.form-ok:focus { outline: none; }

/* ---------- quem somos ---------- */
.team { margin-top: 28px; display: grid; gap: 40px; }
.pp { display: grid; grid-template-columns: 88px minmax(0, 1fr); column-gap: 20px; align-items: center; }
.pp > img { grid-row: 1 / span 2; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.pp > div { display: contents; }
.pp h3 { align-self: end; font-family: var(--serif); font-size: 1.25rem; line-height: 1.3; font-weight: 700; }
.pp-r { align-self: start; font-family: var(--serif); font-size: 0.9375rem; line-height: 1.4; font-style: italic; color: var(--cinza-2); }
.pp-in {
  grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; min-height: 40px; margin-top: 0;
  transition: opacity .2s ease, transform .2s var(--suave);
}
.pp-in img { width: 20px; height: 20px; display: block; opacity: .85; }
.pp-in:hover img { opacity: 1; }
.pp-in:hover { transform: translateY(-1px); }
.pp-b { grid-column: 1 / -1; margin-top: 16px; font-size: 1.0625rem; line-height: 1.65; color: var(--cinza-2); max-width: 64ch; }

/* ---------- rodapé ---------- */
.site-footer { margin-top: var(--bloco); background: var(--cartao); padding: 28px 0 32px; }
.ft { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; font-size: 0.875rem; line-height: 1.5; color: var(--cinza-2); }
.ft li { display: inline-flex; align-items: center; gap: 4px; }
.ft-sep { margin-right: 6px; color: #8A8A8A; }
@media (max-width: 1079px) {
  /* celular e tablet: logo em cima e um item por linha (em linha corrida, quebrava em lugares aleatórios; numa linha só, precisa de ~1000 px) */
  .ft { flex-direction: column; align-items: flex-start; }
  .ft-marca { margin-bottom: 8px; }
  .ft-sep { display: none; }
}
.ft a { display: inline-flex; align-items: center; min-height: 44px; color: var(--cinza-2); text-decoration: none; }
.ft a:hover { color: var(--branco); }
.ft-marca { margin-right: 6px; min-height: 44px; }
.ft-marca a { text-decoration: none; }
.ft-marca img { display: block; width: 96px; height: auto; opacity: .92; }
.ft-marca + li .ft-sep { display: none; }

/* ---------- movimento de entrada (uma vez, só com JS e sem movimento reduzido) ---------- */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .js .mk-card { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
  .js .mk.is-in .mk-card { opacity: 1; transform: none; }
  .js .mk::before, .js .mk::after { opacity: 0; transition: opacity .4s ease; }
  .js .mk.is-in::before, .js .mk.is-in::after { opacity: 1; }
  .js .tl-river-m .streams, .js .tl-river-d .streams { opacity: 0; transition: opacity 1.4s ease; }
  .js .tl.is-in .streams { opacity: 1; }
  .js .hoje-d, .js .hoje-bar-d, .js .hoje-bar-m, .js .hoje-m { opacity: 0; transition: opacity .6s ease 1.2s; }
  .js .tl.is-in .hoje-d, .js .tl.is-in .hoje-bar-d, .js .tl.is-in .hoje-bar-m, .js .tl.is-in .hoje-m { opacity: 1; }
}

/* ---------- parallax (E1, E2, E3): CSS dirigido pela rolagem; sem suporte, js/home.js ---------- */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: scroll()) {
    .hero-stage { animation: e1-sobe linear both; animation-timeline: scroll(root block); animation-range: 0px 640px; }
    .tl { view-timeline: --rio block; }
    .tl-river-d .st path { animation: e2-x linear both; animation-timeline: --rio; animation-range: cover 0% cover 100%; }
    .tl-river-m .st path { animation: e2-y linear both; animation-timeline: --rio; animation-range: cover 0% cover 100%; }
  }
}
/* E3: cascata dos números por classe (robusto em todo navegador; o JS garante a classe em até 2 s) */
@media (prefers-reduced-motion: no-preference) {
  .js .stats li { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
  .js .stats.is-visto li { opacity: 1; transform: none; }
  .js .stats.is-visto li:nth-child(2) { transition-delay: .12s; }
  .js .stats.is-visto li:nth-child(3) { transition-delay: .24s; }
  .js .stats.is-visto li:nth-child(4) { transition-delay: .36s; }
}
@keyframes e1-sobe { from { transform: translateY(0); } to { transform: translateY(24px); } }
@keyframes e2-x { from { transform: translateX(0); } to { transform: translateX(var(--d)); } }
@keyframes e2-y { from { transform: translateY(0); } to { transform: translateY(var(--d)); } }
@keyframes e3-entra { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ---------- tablet ---------- */
@media (min-width: 600px) {
  :root { --pad: max(24px, min(6.67vw, 96px)); }
  .hq { flex-basis: 420px; }
  .stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tl-close { flex-direction: row; align-items: center; justify-content: space-between; }
  .tl-close .btn-p { display: inline-block; }
  .form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .form-acao .btn-p { display: inline-block; }
  .hd-in { padding-right: calc(var(--pad) - 10px); }
}

/* ---------- desktop ---------- */
@media (min-width: 900px) {
  :root { --bloco: 48px; }
  .lead { font-size: 1.125rem; line-height: 1.6; }

  /* hero: pergunta grande à esquerda, lista à direita */
  .hero { padding: clamp(40px, 4vw, 64px) 0 calc(var(--bloco) + 24px); }
  .hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(300px, 26.4vw, 380px);
    grid-template-areas: "olho olho" "open list" "stage list";
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(40px, 5.5vw, 80px);
    align-items: start;
  }
  .hero-grid > .olho { grid-area: olho; margin-bottom: 22px; }
  .hero-open { grid-area: open; font-size: 1rem; margin: 0; }
  .hero-stage { grid-area: stage; margin: 0; }
  .hq-track { display: grid; overflow: visible; padding: 0; scroll-snap-type: none; gap: 0; }
  .hq {
    grid-area: 1 / 1; max-width: none; padding: 0; background: none; border: 0; border-radius: 0;
    opacity: 0; visibility: hidden; transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  }
  .hq.is-active { opacity: 1; visibility: visible; transform: none; transition: opacity .4s ease .2s, transform .4s ease .2s, visibility 0s linear 0s; }
  .stamp { align-self: flex-start; margin-top: 28px; height: 28px; padding: 0 12px; border-radius: 14px; font-size: 0.75rem; }
  .hq-q { margin-top: 22px; font-weight: 300; font-size: clamp(2.375rem, 4.2vw, 3.75rem); line-height: 1.12; letter-spacing: -0.015em; text-wrap: balance; }
  .hq-a { margin: 28px 0 0; max-width: 680px; font-size: 1.1875rem; line-height: 1.55; }
  /* no desktop o botão do cartão vira primário */
  .btn-hq { display: inline-block; align-self: flex-start; margin-top: 32px; }
  .btn-hq::before { content: ""; position: absolute; inset: 0; z-index: -1; transform: translate(4px, 4px); background: #101010; clip-path: var(--corte); }
  .btn-hq .face { justify-content: center; padding: 0 28px; min-height: 54px; font-size: 1rem; white-space: nowrap; background: var(--amarelo); color: var(--carvao); }
  .btn-hq .face::before { display: none; }
  .btn-hq:hover .face { background: var(--amarelo); color: var(--carvao); transform: translate(4px, 4px); }
  .hq-dots, .hero-cta { display: none; }
  .hq-list { display: block; grid-area: list; margin-top: 4px; }
  .hq-list li { position: relative; border-bottom: 1px solid var(--filete); }
  .hq-list li:first-child { border-top: 1px solid var(--filete); }
  .hq-list button {
    width: 100%; padding: 13px 0; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 8px;
    background: transparent; border: 0; cursor: pointer; text-align: left;
  }
  .hl-n { font-family: var(--serif); font-size: 0.75rem; line-height: 22px; font-weight: 700; color: var(--cinza-4); }
  .hl-q { font-size: 0.9375rem; line-height: 1.45; color: var(--cinza-3); }
  .hq-list button:hover .hl-q { color: var(--branco); }
  .hq-list [aria-current="true"] .hl-n,
  .hq-list [aria-current="true"] .hl-q { color: var(--amarelo); }
  .hq-list [aria-current="true"] .hl-q { font-weight: 600; }
  /* a própria linha de separação vira o cronômetro: enche de amarelo e volta ao filete */
  .hl-bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; margin: 0; display: none; background: transparent; overflow: hidden; pointer-events: none; }
  .hl-bar span { display: block; height: 1px; background: var(--amarelo); transform: scaleX(0); transform-origin: 0 50%; }
  .hero.is-auto [aria-current="true"] .hl-bar { display: block; }
  .hero.is-auto [aria-current="true"] .hl-bar span { animation: hq-prog 7s linear forwards; }
  .hero.is-paused [aria-current="true"] .hl-bar span { animation-play-state: paused; }

  .split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 80px; align-items: start; }
  .somint .lead { margin-top: 6px; }
  .stats { margin-top: 64px; column-gap: 40px; }
  .stats li { gap: 10px; }
  .st-n { font-size: 3rem; }
  .st-pre { font-size: 1.125rem; }
  .st-l { font-size: 0.9375rem; }

  .tl-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 80px; align-items: end; }
  .tl-head .lead { margin-top: 0; font-size: 1.0625rem; }
  .tl { margin-top: 48px; }
  .tl-close { max-width: 720px; justify-content: flex-start; gap: 28px; }

  .ways { margin-top: 40px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; border-bottom: 1px solid var(--filete); }
  .way { gap: 20px; padding: 24px 0; }
  .way:last-child { border-bottom: 0; }
  .way-ic { width: 56px; height: 56px; stroke-width: 3.5; }
  .way-n { font-size: 1.25rem; }
  .way-s, .way-b { font-size: 0.9375rem; }

  /* lado a lado: cartões da mesma linha com a mesma altura; texto em cima, nome e cargo no pé do cartão */
  .deps { margin-top: 48px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
  /* aspas e texto centralizados na vertical no espaço acima do nome; nome e cargo no pé, com o nome na mesma
     altura em todos os cartões (legenda com altura de nome + duas linhas de cargo) */
  .dep-q { margin-top: auto; }
  .dep blockquote { margin-bottom: auto; }
  .dep figcaption { min-height: calc(1.0625rem * 1.35 + 4px + 2 * 0.875rem * 1.45); }
  .dep:first-child:nth-last-child(3) { grid-column: 1 / -1; } /* 3 depoimentos: o primeiro ocupa a linha toda até 1199 px */
  .dep { padding: 36px; gap: 18px; }
  .dep blockquote { font-size: 1.1875rem; }
  .dep-n { font-size: 1.0625rem; }
  .logos-wrap { margin: 56px 0 0; }
  .logos { gap: 64px; padding: 4px 32px; }
  .logos img { transform: scale(1.15); transform-origin: center; }

  .faq-grid, .inst-grid { display: grid; grid-template-columns: clamp(260px, 26.4vw, 380px) minmax(0, 1fr); column-gap: clamp(40px, 5.5vw, 80px); align-items: start; }
  .sec.faq { padding: 96px 0; }
  .fq-list { margin-top: 0; }
  .fq summary { min-height: 64px; padding: 20px 0; }
  .fq summary h3 { font-size: 1.1875rem; }
  .fq p { padding: 0 60px 24px 0; }
  .inst-grid > div { margin-top: 0; }

  .demo-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 80px; align-items: start; }
  .demo .lead { margin-top: 18px; }
  .demo-box { margin-top: 0; }
  .form { row-gap: 22px; }

  .team { margin-top: 40px; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 64px; }
  .pp { grid-template-columns: 120px minmax(0, 1fr); column-gap: 28px; align-items: start; }
  .pp > img { grid-row: 1 / span 3; width: 120px; height: 120px; }
  .pp > div { display: flex; flex-direction: column; gap: 4px; }
  .pp h3 { font-size: 1.375rem; align-self: auto; }
  .pp-r { align-self: auto; font-size: 1rem; }
  .pp-b { margin-top: 10px; font-size: 1.125rem; }

  .site-footer { padding: 36px 0; }
  .ft { column-gap: 12px; }
}

/* ---------- cabeçalho completo ---------- */
@media (min-width: 1080px) {
  :root { --hd: 96px; --hd-c: 64px; }
  .hd-in { padding: 20px var(--pad) 0; gap: clamp(24px, 3vw, 40px); }
  .is-compacto .hd-in { padding-top: 0; }
  .hd-logo img { width: 130px; height: 46px; transform: scale(1.25); }
  .is-compacto .hd-logo img { transform: none; }
  .hd-nav { display: block; }
  .hd-idiomas { display: flex; position: absolute; right: var(--pad); top: 8px; transition: transform .32s var(--suave); }
  .is-compacto .hd-idiomas { transform: translateY(12px); }
  .hd-nav { transition: transform .32s var(--suave); }
  .is-compacto .hd-nav { transform: translateX(-108px); }
  .hd-menu, .pm, .pm-veu { display: none !important; }
}

@keyframes hq-prog { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---------- rio horizontal ---------- */
@media (min-width: 1200px) {
  .deps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dep { box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }
  .dep:first-child:nth-last-child(3) { grid-column: auto; }
  .tl {
    max-width: 1440px; padding: 0;
  }
  .tl-river-m, .hoje-m { display: none; }
  .mk-list {
    display: grid; padding: 0; row-gap: 0;
    grid-template-columns: 106fr repeat(9, 145fr) 29fr;
    grid-template-rows: auto 310px auto;
    grid-auto-rows: auto;
  }
  .tl-river-d { display: block; position: relative; grid-row: 2; grid-column: 1 / -1; }
  .tl-river-d .streams { position: absolute; left: 0; top: 0; width: 100%; height: 310px; }
  .yr-d { position: absolute; transform: translateX(-50%); font-family: var(--serif); font-size: 0.75rem; font-weight: 700; letter-spacing: 1.5px; color: var(--cinza-4); line-height: 14px; }
  .ch-d { position: absolute; left: 4.3%; font-size: 0.75rem; font-weight: 600; line-height: 14px; color: var(--cartao); }
  .hoje-bar-d { position: absolute; left: 86.67%; top: 36px; width: 4px; height: 246px; border-radius: 2px; background: #FFFFFF; box-shadow: 0 0 10px rgba(255, 255, 255, .7); }
  .hoje-d { position: absolute; left: 88.06%; top: 134px; font-family: var(--serif); font-size: 2.25rem; line-height: 44px; font-weight: 900; color: var(--amarelo); }
  .mk { grid-column: var(--col) / span 2; padding-right: 28px; }
  .mk:nth-child(2) { --col: 2; } .mk:nth-child(3) { --col: 3; } .mk:nth-child(4) { --col: 4; } .mk:nth-child(5) { --col: 5; }
  .mk:nth-child(6) { --col: 6; } .mk:nth-child(7) { --col: 7; } .mk:nth-child(8) { --col: 8; } .mk:nth-child(9) { --col: 9; }
  /* lado a lado: os 4 de cima com a altura do mais alto, os 4 de baixo idem; conteúdo alinhado pelo topo.
     A borda presa ao rio (base dos de cima, topo dos de baixo) não muda, então hastes e pontos ficam no lugar. */
  .mk-top { grid-row: 1; align-self: stretch; display: flex; }
  .mk-bot { grid-row: 3; align-self: stretch; display: flex; }
  .mk-top .mk-card, .mk-bot .mk-card { flex: 1; }
  .mk::before { left: 23px; width: 2px; height: var(--stem); }
  .mk-top::before { top: 100%; }
  .mk-bot::before { top: auto; bottom: 100%; }
  .mk::after { left: 18px; width: 12px; height: 12px; border-width: 2.5px; border-color: var(--cartao); }
  .mk-top::after { top: calc(100% + var(--stem) - 6px); }
  .mk-bot::after { top: calc(-1 * var(--stem) - 6px); }
  .mk-card { padding: 18px 20px; gap: 6px; box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }
  .mk-when { font-size: 0.75rem; }
  .mk-num { font-size: clamp(2rem, 2.8vw, 2.5rem); }
  .mk-unit { font-size: 1rem; }
  .mk-h { font-size: 1.0625rem; }
  .mk-sup { font-size: 0.875rem; color: var(--cinza-2); }
  .mk-top .mk-card, .mk-bot .mk-card { position: relative; z-index: 2; }
  .rio-leg-wrap { margin-top: 32px; }
  .tl-close { max-width: 1440px; margin-top: 28px; justify-content: flex-end; }
  .tl-close p { font-size: 1.375rem; }
  @media (prefers-reduced-motion: no-preference) {
    .js .mk-card { transition-delay: calc(var(--i) * 110ms + 300ms); }
    .js .mk::before, .js .mk::after { transition-delay: calc(var(--i) * 110ms + 300ms); }
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}

/* marca MINT sempre em negrito no texto corrido */
.marca { font-weight: 700; color: inherit; }

/* ---------- política de privacidade (.pol) e aviso de cookies (.ck) ---------- */
.pol { padding: 28px 0 var(--bloco); }
.pol-doc { max-width: 72ch; }
.pol-t {
  font-family: var(--serif); font-weight: 700;
  font-size: clamp(1.875rem, 1.125rem + 2.4vw, 3rem); line-height: 1.16; letter-spacing: -0.015em;
  text-wrap: balance;
}
.pol-corpo { margin-top: 40px; font-size: 1.0625rem; line-height: 1.7; color: var(--cinza-2); }
.pol-corpo h2 {
  margin: 56px 0 16px;
  font-family: var(--serif); font-weight: 700; font-size: clamp(1.3125rem, 1.125rem + .7vw, 1.625rem); line-height: 1.3;
  color: var(--branco); text-wrap: balance;
}
.pol-corpo section:first-child h2 { margin-top: 0; }
.pol-n {
  display: block; margin-bottom: 8px;
  font: 600 0.75rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--amarelo);
}
.pol-corpo p + p, .pol-corpo ul + p, .pol-corpo p + ul { margin-top: 16px; }
.pol-corpo ul { display: flex; flex-direction: column; gap: 14px; }
.pol-corpo li { position: relative; padding-left: 22px; }
.pol-corpo li::before {
  content: ""; position: absolute; left: 2px; top: .72em; width: 6px; height: 6px; background: var(--amarelo);
}
.pol-corpo .pol-incisos li { padding-left: 0; }
.pol-corpo .pol-incisos li::before { display: none; }
.pol-corpo a {
  color: var(--amarelo); text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 3px; overflow-wrap: anywhere;
}
.pol-corpo a:hover { color: var(--amarelo-claro); }
.pol-volta { margin-top: 64px; }
.pol-volta .btn-s:hover .seta { transform: translateX(-3px); }
@media (min-width: 900px) {
  .pol { padding: clamp(40px, 4vw, 64px) 0 calc(var(--bloco) + 24px); }
  .pol-corpo { margin-top: 56px; }
  .pol-corpo h2 { margin-top: 64px; }
}

/* aviso de cookies: barra fixa na base, botões C2 */
.ck {
  --btn-fundo: var(--cartao);
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  background: var(--cartao); box-shadow: 0 -6px 24px rgba(0, 0, 0, .5);
  opacity: 0; transform: translateY(100%);
  transition: opacity .3s ease, transform .4s var(--suave);
}
.ck.is-on { opacity: 1; transform: none; }
.ck-in {
  position: relative; max-width: 1440px; margin: 0 auto;
  display: flex; flex-direction: column; gap: 14px;
  padding: 16px var(--pad) calc(16px + env(safe-area-inset-bottom, 0px));
}
.ck-t { padding-right: 40px; font-size: 0.9375rem; line-height: 1.5; color: var(--cinza-1); }
.ck-t a { white-space: nowrap; color: var(--amarelo); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ck-t a:hover { color: var(--amarelo-claro); }
.ck-acoes { display: flex; gap: 8px; }
.ck-acoes .btn-p, .ck-acoes .btn-s { flex: 1 1 0; min-width: 0; }
.ck-acoes .face { min-height: 48px; padding: 0 16px; }
.ck-x {
  position: absolute; top: 6px; right: calc(var(--pad) - 12px);
  display: grid; place-items: center; width: 44px; height: 44px;
  padding: 0; border: 0; border-radius: 4px; background: none; color: var(--cinza-2); cursor: pointer;
  transition: color .2s ease;
}
.ck-x:hover { color: var(--amarelo); }
.ck-x svg { display: block; transition: transform .2s var(--suave); }
.ck-x:hover svg { transform: rotate(90deg); }
@media (min-width: 900px) {
  .ck-in { flex-direction: row; align-items: center; gap: 24px; padding-top: 14px; padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
  .ck-t { flex: 1; min-width: 0; padding-right: 0; }
  .ck-acoes { flex: none; gap: 12px; }
  .ck-acoes .btn-p, .ck-acoes .btn-s { flex: none; }
  .ck-acoes .face { padding: 0 28px; }
  .ck-x { position: static; flex: none; margin-left: -8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ck { transform: none; }
}
/* enquanto o aviso está aberto, o fim da página não fica escondido atrás dele */
.tem-ck body { padding-bottom: var(--ck-h, 0px); }
