/* ==================================================================
 * Editor Xynz · visual das páginas
 * Azul profundo, vidro e luz circulando. Tudo sob .exz
 * ================================================================== */
@property --exz-a { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
:root {
  --exz-primary: #2f6bff; --exz-primary-rgb: 47,107,255; --exz-accent: #6ea3ff; --exz-accent-rgb: 110,163,255;
  --exz-deep: #0c3ad1; --exz-bg: #04060b; --exz-surface: #0b1122; --exz-text: #eef2f9; --exz-muted: #96a1b5;
  --exz-font-head: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; --exz-font: var(--exz-font-head);
  --exz-radius: 20px; --exz-max: 1200px;
  --exz-line: rgba(255,255,255,.09); --exz-glass: rgba(12,18,34,.62);
  --exz-ease: cubic-bezier(.2,.7,.2,1);
}

/* Base ------------------------------------------------------------ */
body.exz-canvas { margin: 0; background: var(--exz-bg); color: var(--exz-text); font-family: var(--exz-font); -webkit-font-smoothing: antialiased; }
body.exz-canvas .exz-main { display: block; min-height: 40vh; }
.exz-doc { position: relative; overflow-x: clip; }
/* Tipografia do editor só nas seções dele: conteúdo importado e integrações mantêm o próprio visual. */
.exz-sec:not(.exz-sec--raw), .exz-part, .exz-pop, .exz-float-wrap, .exz-lb, .exz-menu-layer { color: var(--exz-text); font-family: var(--exz-font); font-size: 17px; line-height: 1.65; }
.exz *, .exz *::before, .exz *::after { box-sizing: border-box; }
.exz img, .exz video, .exz iframe { max-width: 100%; }
.exz img:where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { height: auto; display: block; }
.exz a:where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { color: inherit; text-decoration: none; }
.exz p:where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { margin: 0; }
.exz :where(h1,h2,h3,h4,h5,h6):where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { margin: 0; color: var(--exz-heading, #fff); font-family: var(--exz-font-head); }
.exz :where(ul,ol):where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { margin: 0; padding: 0; }
.exz :where(figure,blockquote):where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { margin: 0; }
/* Neutraliza botões do tema dentro das páginas do editor */
.exz :where(button, [type=button], [type=submit]):not(.exz-btn):where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)) { border: 0; border-radius: 0; background: none; color: inherit; padding: 0; font: inherit; white-space: normal; text-transform: none; letter-spacing: inherit; box-shadow: none; cursor: pointer; }
.exz :where(button, [type=button], [type=submit]):not(.exz-btn):where(:not(.exz-raw *, .exz-w--html *, .exz-original *, .exz-elw *, .exz-sx *, .exz-x *)):is(:hover, :focus) { background: none; color: inherit; }
.exz :focus-visible { outline: 2px solid var(--exz-accent); outline-offset: 3px; }
.exz-ico { flex: none; display: inline-block; vertical-align: middle; }
/* Ícone enviado pelo usuário: respeita o tamanho pedido e nunca estoura a coluna. */
.exz-ico--up { max-width: 100%; height: auto; object-fit: contain; }

/* Busca: estilos --------------------------------------------------- */
.exz-search { position: relative; display: flex; align-items: center; gap: 10px; width: 100%; }
.exz-search input { flex: 1 1 auto; min-width: 0; }
.exz-search__ico { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; color: var(--exz-muted); pointer-events: none; z-index: 2; }
.exz-search.has-ico input { padding-left: 46px; }
.exz-search__go { display: grid; place-items: center; width: 46px; height: 46px; flex: none; border: 0; border-radius: 14px; background: linear-gradient(150deg, var(--exz-accent), var(--exz-primary)); color: var(--exz-fg, #fff); cursor: pointer; transition: transform .25s var(--exz-ease); }
.exz-search__go:hover { transform: translateX(2px); }

.exz-search--pilula input, .exz-search--pilula { border-radius: 999px; }
.exz-search--pilula input { border-radius: 999px; padding-right: 18px; }
.exz-search--pilula .exz-search__go { border-radius: 999px; }
.exz-search--pilula .exz-btn { border-radius: 999px; }

.exz-search--vidro input { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

.exz-search--linha input { background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.18); border-radius: 0; padding-left: 0; padding-right: 0; }
.exz-search--linha.has-ico input { padding-left: 34px; }
.exz-search--linha .exz-search__ico { left: 2px; }
.exz-search--linha input:focus { border-bottom-color: var(--exz-accent); box-shadow: none; }
.exz-search--linha .exz-search__go { background: none; color: var(--exz-accent); width: 38px; }

.exz-search--grande input { height: 64px; font-size: 18px; border-radius: 18px; }
.exz-search--grande.has-ico input { padding-left: 56px; }
.exz-search--grande .exz-search__ico { left: 20px; }
.exz-search--grande .exz-search__go { width: 56px; height: 56px; }

.exz-search--solto input { background: none; border: 0; box-shadow: none; font-size: 20px; text-align: center; }
.exz-search--solto.has-ico input { padding-left: 0; }
.exz-search--solto .exz-search__ico { position: static; transform: none; }
.exz-search--solto { justify-content: center; border-bottom: 1px solid rgba(255,255,255,.12); padding-bottom: 6px; }

.exz-search--neon input { background: rgba(var(--exz-primary-rgb), .07); border: 1px solid rgba(var(--exz-accent-rgb), .45); box-shadow: 0 0 0 1px rgba(var(--exz-accent-rgb), .12), 0 0 26px -6px rgba(var(--exz-primary-rgb), .55) inset; }
.exz-search--neon input:focus { border-color: var(--exz-accent); box-shadow: 0 0 0 3px rgba(var(--exz-accent-rgb), .18), 0 0 30px -4px rgba(var(--exz-primary-rgb), .7); }
@media (max-width: 560px) { .exz-search { flex-wrap: wrap; } .exz-search .exz-btn { width: 100%; } }

/* Seções e colunas -------------------------------------------------- */
.exz-sec { position: relative; }
/* Só recorta e isola quando há cena ou imagem ao fundo: menus, submenus e códigos importados não são cortados. */
.exz-sec--layer { overflow: clip; isolation: isolate; }
.exz-sec__in { display: grid; width: 100%; max-width: calc(var(--exz-max) + 48px); margin: 0 auto; padding: 0 24px; }
.exz-sec--full > .exz-sec__in { max-width: none; padding: 0 clamp(16px, 3vw, 40px); }
.exz-sec--narrow > .exz-sec__in { max-width: 908px; }
.exz-sec--slim > .exz-sec__in { max-width: 568px; }
.exz-sec--edge > .exz-sec__in { max-width: none; padding: 0; }
.exz-sec--layer > .exz-sec__in { position: relative; z-index: 2; }
.exz-sec__img { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; pointer-events: none; }
.exz-col { min-width: 0; position: relative; }
.exz-col__in { display: flex; flex-direction: column; gap: 18px; height: 100%; }
.exz-w { min-width: 0; position: relative; }
.exz-part--header.is-sticky { position: sticky; top: 0; z-index: 9000; }
.exz-part--header .exz-sec { overflow: visible; }
body.admin-bar .exz-part--header.is-sticky { top: 32px; }
@media (max-width: 782px) { body.admin-bar .exz-part--header.is-sticky { top: 0; } }

/* Dentro do tema ----------------------------------------------------
 * A página leva o próprio fundo e a própria cor de texto, senão o texto
 * claro do editor desaparece no branco do tema. Quando o documento já
 * traz cabeçalho e rodapé, os do tema saem e a página ocupa a largura toda.
 */
/* O fundo vai no body e no html: assim não sobra faixa branca em cima, embaixo ou dos lados. */
html:has(body.exz-themedoc), body.exz-themedoc { background: var(--exz-page-bg, var(--exz-bg)); }
body.exz-themedoc { color: var(--exz-text); }
body.exz-themedoc .exz-doc:not(.exz-part) { background: var(--exz-page-bg, var(--exz-bg)); color: var(--exz-text); }
/* Cabeçalho e rodapé do tema que ficam nesta página deixam o fundo aparecer, sem faixa branca. */
body.exz-themedoc :is(header.site-header, footer.site-footer, #masthead, #colophon, .site-header, .site-footer):where(:not(.exz-doc *)) { background: transparent; color: var(--exz-text); }
body.exz-themedoc :is(header.site-header, footer.site-footer, #masthead, #colophon):where(:not(.exz-doc *)) a { color: var(--exz-text); }
/* clip e não hidden: hidden viraria rolagem e mataria o cabeçalho fixo */
html:has(body.exz-wide), body.exz-wide { overflow-x: clip; }
/* --exz-sbw é a largura da barra de rolagem, que o 100vw conta e a página não tem. */
body.exz-wide .exz-doc:not(.exz-part) { margin-left: calc(50% - 50vw + var(--exz-sbw, 0px) / 2); margin-right: calc(50% - 50vw + var(--exz-sbw, 0px) / 2); width: auto; max-width: none; }
/* O miolo do tema não pode prender nem estreitar a página. */
body.exz-wide :is(main, .site-main, .content-area, .entry-content, .page-content, article, .site-content, #content, #primary):where(:not(.exz-doc *)) { max-width: none; width: auto; padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; background: transparent; }
/* O título que o tema imprime sozinho sai: a página já tem o próprio começo. */
body.exz-wide :is(.page-header, .entry-header, h1.entry-title, .page-title):where(:not(.exz-doc *)) { display: none !important; }
body.exz-nohead :is(header.site-header, header#masthead, #masthead, .site-header, .elementor-location-header, .fl-builder-content[data-type="header"]):where(:not(.exz-doc *)) { display: none !important; }
body.exz-nofoot :is(footer.site-footer, footer#colophon, #colophon, .site-footer, .elementor-location-footer, .fl-builder-content[data-type="footer"]):where(:not(.exz-doc *)) { display: none !important; }
/* Rede de segurança: um logo enviado em tamanho original não vira um ícone gigante na página do editor. */
body.exz-page :is(img.custom-logo, .custom-logo-link img, .site-logo img, .site-branding img):where(:not(.exz-doc *)) { max-width: min(220px, 55vw); max-height: 60px; width: auto; height: auto; object-fit: contain; }

/* Tipografia -------------------------------------------------------- */
.exz-h { font-family: var(--exz-font-head); font-weight: var(--exz-fw, 800); letter-spacing: -.025em; line-height: 1.08; color: var(--exz-heading, #fff); overflow-wrap: normal; word-break: normal; text-wrap: balance; }
.exz-h--h1 { font-size: var(--exz-fs, clamp(38px, 5.2vw, 70px)); letter-spacing: -.035em; }
.exz-h--h2 { font-size: var(--exz-fs, clamp(30px, 3.7vw, 50px)); }
.exz-h--h3 { font-size: var(--exz-fs, clamp(22px, 2.3vw, 30px)); line-height: 1.18; }
.exz-h--h4 { font-size: var(--exz-fs, 19px); line-height: 1.3; letter-spacing: -.01em; }
.exz-h--p { font-size: var(--exz-fs, 19px); font-weight: var(--exz-fw, 500); line-height: 1.5; letter-spacing: 0; color: var(--exz-muted); }
.exz-grad { background: linear-gradient(100deg, #fff 0%, var(--exz-accent) 30%, var(--exz-primary) 55%, #fff 80%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: exz-shine 7s linear infinite; }
@keyframes exz-shine { to { background-position: -220% 0; } }
.exz-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px !important; padding: 6px 14px 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #cfe0ff; background: rgba(var(--exz-primary-rgb), .12); border: 1px solid rgba(var(--exz-accent-rgb), .28); }
.exz-kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--exz-accent); box-shadow: 0 0 10px var(--exz-primary), 0 0 2px #fff; }
.exz-w--heading { text-align: var(--exz-align, left); }
.exz-rich { font-size: var(--exz-fs, 17.5px); color: var(--exz-fg2, rgba(238,242,249,.82)); line-height: 1.75; }
.exz-rich > * + * { margin-top: .9em !important; }
.exz-rich a { color: var(--exz-accent); text-decoration: underline; text-decoration-color: rgba(var(--exz-accent-rgb), .4); text-underline-offset: 3px; }
.exz-rich strong, .exz-rich b { color: var(--exz-fg, #fff); font-weight: 700; }
.exz-rich mark { background: linear-gradient(transparent 55%, rgba(var(--exz-primary-rgb), .45) 55%); color: var(--exz-fg, #fff); padding: 0 2px; }
.exz-rich ul, .exz-rich ol { padding-left: 1.3em; }
.exz-rich li + li { margin-top: .35em; }
.exz-rich h2, .exz-rich h3 { font-size: 1.4em; line-height: 1.25; }

/* Botões ------------------------------------------------------------ */
.exz .exz-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 14px; padding: 14px 22px; font-size: 15.5px; font-family: var(--exz-font); font-weight: 650; line-height: 1.15; text-decoration: none; white-space: nowrap; cursor: pointer; isolation: isolate; transition: transform .35s var(--exz-ease), box-shadow .35s, background .35s, color .25s; max-width: 100%; }
.exz .exz-btn span { white-space: normal; text-align: center; }
.exz .exz-btn .exz-ico { transition: transform .35s var(--exz-ease); }
.exz .exz-btn:hover .exz-ico { transform: translateX(3px); }
.exz .exz-btn--sm { padding: 10px 16px; font-size: 14px; border-radius: 12px; }
.exz .exz-btn--md { padding: 14px 22px; font-size: 15.5px; }
.exz .exz-btn--lg { padding: 18px 30px; font-size: 17px; border-radius: 16px; }
.exz .exz-btn.is-full { display: flex; width: 100%; }
.exz .exz-btn--primary, .exz .exz-btn--primary:hover, .exz .exz-btn--primary:focus { color: var(--exz-fg, #fff); background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); box-shadow: 0 14px 34px -12px rgba(var(--exz-primary-rgb), .75), inset 0 1px 0 rgba(255,255,255,.28); }
.exz .exz-btn--primary::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.28) 50%, transparent 70%); background-size: 250% 100%; background-position: 130% 0; transition: background-position .8s var(--exz-ease); }
.exz .exz-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 20px 44px -14px rgba(var(--exz-primary-rgb), .95), inset 0 1px 0 rgba(255,255,255,.32); }
.exz .exz-btn--primary:hover::after { background-position: -30% 0; }
.exz .exz-btn--secondary, .exz .exz-btn--secondary:hover, .exz .exz-btn--secondary:focus { color: var(--exz-fg, #fff); background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.exz .exz-btn--secondary:hover { background: rgba(var(--exz-primary-rgb), .16); box-shadow: inset 0 0 0 1px rgba(var(--exz-accent-rgb), .5); transform: translateY(-2px); }
.exz .exz-btn--glow, .exz .exz-btn--glow:hover, .exz .exz-btn--glow:focus { color: var(--exz-fg, #fff); background: #070b16; box-shadow: 0 0 0 1px rgba(var(--exz-accent-rgb), .18), 0 16px 40px -16px rgba(var(--exz-primary-rgb), .9); }
.exz .exz-btn--glow::before { content: ""; position: absolute; inset: -1.5px; z-index: -2; border-radius: inherit; background: conic-gradient(from var(--exz-a), transparent 0 55%, var(--exz-accent) 70%, #fff 76%, var(--exz-primary) 84%, transparent 95%); animation: exz-spin 3.2s linear infinite; }
.exz .exz-btn--glow::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: inherit; background: radial-gradient(120% 140% at 50% 0, #11204a, #070b16 70%); }
.exz .exz-btn--glow:hover { transform: translateY(-2px); }
.exz .exz-btn--link, .exz .exz-btn--link:hover, .exz .exz-btn--link:focus { padding-left: 0; padding-right: 0; background: none; color: var(--exz-accent); box-shadow: none; }
.exz .exz-btn--link span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .4s var(--exz-ease); }
.exz .exz-btn--link:hover span { background-size: 100% 1.5px; }
@keyframes exz-spin { to { --exz-a: 360deg; } }

/* Ícones ------------------------------------------------------------ */
.exz-icon { --s: 56px; position: relative; display: inline-grid; place-items: center; width: var(--s); height: var(--s); flex: none; color: var(--exz-accent); border-radius: calc(var(--s) * .3); transition: transform .45s var(--exz-ease); }
.exz-icon--line { width: auto; height: auto; }
.exz-icon--tile { background: linear-gradient(145deg, rgba(var(--exz-primary-rgb), .22), rgba(var(--exz-primary-rgb), .06)); box-shadow: inset 0 0 0 1px rgba(var(--exz-accent-rgb), .28), 0 12px 30px -14px rgba(var(--exz-primary-rgb), .8); }
.exz-icon--3d { color: var(--exz-fg, #fff); background: radial-gradient(circle at 30% 25%, #8fb8ff 0, var(--exz-primary) 40%, var(--exz-deep) 78%, #061a66 100%); box-shadow: inset -6px -8px 16px rgba(0,0,0,.35), inset 5px 6px 12px rgba(255,255,255,.35), 0 18px 34px -12px rgba(var(--exz-primary-rgb), .9); transform: perspective(500px) rotateX(10deg); }
.exz-icon--3d::after { content: ""; position: absolute; left: 18%; top: 10%; width: 40%; height: 26%; border-radius: 50%; background: linear-gradient(rgba(255,255,255,.55), transparent); filter: blur(1px); }
.exz-icon--ring { border-radius: 50%; color: var(--exz-fg, #fff); background: radial-gradient(circle, #0f1b3d, #060a16 70%); }
.exz-icon--ring::before { content: ""; position: absolute; inset: -3px; border-radius: 50%; z-index: -1; background: conic-gradient(from var(--exz-a), transparent 0 45%, var(--exz-accent) 65%, #fff 72%, var(--exz-primary) 82%, transparent 95%); animation: exz-spin 3s linear infinite; filter: drop-shadow(0 0 10px rgba(var(--exz-primary-rgb), .8)); }
.exz-icon--ring::after { content: ""; position: absolute; inset: 0; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(var(--exz-accent-rgb), .25), inset 0 0 22px rgba(var(--exz-primary-rgb), .35); }
/* Acabamentos novos -------------------------------------------------
 * Todos usam só as cores do kit, então trocar a identidade do site
 * troca o ícone junto. Nenhum depende de imagem.
 */
.exz-icon--neon { border-radius: 50%; color: var(--exz-accent); background: rgba(var(--exz-primary-rgb), .08);
  box-shadow: inset 0 0 0 1.5px var(--exz-accent), 0 0 18px rgba(var(--exz-accent-rgb), .55), inset 0 0 18px rgba(var(--exz-accent-rgb), .3); }
.exz-icon--neon .exz-ico { filter: drop-shadow(0 0 5px rgba(var(--exz-accent-rgb), .9)); }

.exz-icon--vidro { color: var(--exz-fg, #fff); background: rgba(255,255,255,.07); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 0 1px rgba(255,255,255,.12), 0 14px 32px -16px rgba(0,0,0,.9); }
.exz-icon--vidro::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(150deg, rgba(255,255,255,.22), transparent 55%); }

.exz-icon--contorno { color: var(--exz-accent); background: none; box-shadow: inset 0 0 0 1.5px rgba(var(--exz-accent-rgb), .4); }
.exz-icon--contorno::after { content: ""; position: absolute; inset: 5px; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(var(--exz-accent-rgb), .16); }

.exz-icon--hexa { color: var(--exz-fg, #fff); border-radius: 0; background: linear-gradient(150deg, var(--exz-primary), var(--exz-deep));
  clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0 50%); }

.exz-icon--selo { border-radius: 50%; color: var(--exz-accent); background: rgba(var(--exz-primary-rgb), .1);
  box-shadow: inset 0 0 0 1px rgba(var(--exz-accent-rgb), .3); }
.exz-icon--selo::before { content: ""; position: absolute; inset: -6px; border-radius: 50%;
  border: 1.5px dashed rgba(var(--exz-accent-rgb), .42); }

/* Duas cores: o traço fica no tom claro e o fundo no tom fechado. */
.exz-icon--duo { color: var(--exz-accent); background: var(--exz-deep); box-shadow: 0 14px 30px -16px rgba(var(--exz-deep-rgb, var(--exz-primary-rgb)), .9); }
.exz-icon--duo::after { content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: linear-gradient(160deg, rgba(var(--exz-accent-rgb), .28), transparent 60%); }

.exz-icon--relevo { color: var(--exz-accent); background: var(--exz-surface);
  box-shadow: 6px 6px 14px rgba(0,0,0,.55), -5px -5px 12px rgba(255,255,255,.07), inset 0 0 0 1px rgba(255,255,255,.05); }
.exz-icon--relevo .exz-ico { filter: drop-shadow(1px 1px 1px rgba(0,0,0,.5)); }

/* Sombra longa de verdade: quem projeta é o próprio desenho, em degraus
   na diagonal. Uma camada diagonal no fundo não aparecia dentro da caixa. */
.exz-icon--sombra { color: var(--exz-fg, #fff); background: linear-gradient(150deg, var(--exz-primary), var(--exz-accent)); overflow: hidden; }
.exz-icon--sombra .exz-ico { position: relative; z-index: 1;
  filter: drop-shadow(2px 2px 0 rgba(0,0,0,.16)) drop-shadow(4px 4px 0 rgba(0,0,0,.13))
          drop-shadow(6px 6px 0 rgba(0,0,0,.10)) drop-shadow(9px 9px 0 rgba(0,0,0,.07)); }

/* Movimento: opcional, e todo mundo para quando o sistema pede calma. */
.exz-icon--fx-flutua { animation: exz-ic-flutua 4.5s ease-in-out infinite; }
.exz-icon--fx-pulsa { animation: exz-ic-pulsa 2.6s ease-in-out infinite; }
.exz-icon--fx-gira { animation: exz-ic-gira 9s linear infinite; }
.exz-icon--fx-balanca { animation: exz-ic-balanca 3.4s ease-in-out infinite; }
@keyframes exz-ic-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes exz-ic-pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.09); } }
@keyframes exz-ic-gira { to { transform: rotate(360deg); } }
@keyframes exz-ic-balanca { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
@media (prefers-reduced-motion: reduce) {
  .exz-icon--fx-flutua, .exz-icon--fx-pulsa, .exz-icon--fx-gira, .exz-icon--fx-balanca { animation: none; }
}

.exz-w--icon { text-align: var(--exz-align, left); }
a:hover > .exz-icon, .exz-ibox:hover .exz-icon { transform: translateY(-3px) rotate(-3deg); }
.exz-icon--3d:hover, .exz-ibox:hover .exz-icon--3d { transform: perspective(500px) rotateX(0) translateY(-3px); }
/* Com movimento ligado o hover não pode brigar com a animação. */
a:hover > .exz-icon[class*="exz-icon--fx-"], .exz-ibox:hover .exz-icon[class*="exz-icon--fx-"] { transform: none; }

/* Espaço e divisor --------------------------------------------------- */
.exz-spacer { position: relative; }
.exz-div { border: 0; height: 1px; margin: 0 auto; background: var(--exz-line); }
.exz-div--glow { height: 1px; background: linear-gradient(90deg, transparent, rgba(var(--exz-accent-rgb), .8), transparent); box-shadow: 0 0 14px rgba(var(--exz-primary-rgb), .7); }
.exz-div--dots { height: 6px; background: radial-gradient(circle, rgba(var(--exz-accent-rgb), .7) 1.5px, transparent 2px) 0 50% / 14px 6px repeat-x; }

/* Caixa com ícone ---------------------------------------------------- */
.exz-ibox { position: relative; display: flex; flex-direction: column; gap: 18px; height: 100%; text-align: var(--exz-align, left); transition: transform .5s var(--exz-ease), box-shadow .5s, border-color .5s; transform-style: preserve-3d; }
.exz-ibox--left { flex-direction: row; align-items: flex-start; }
.exz-ibox--top { align-items: var(--exz-jc, flex-start); }
.exz-ibox.is-card { padding: 30px; border-radius: var(--exz-radius); background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); border: 1px solid var(--exz-line); overflow: hidden; }
.exz-ibox.is-card:hover { border-color: rgba(var(--exz-accent-rgb), .35); box-shadow: 0 30px 60px -30px rgba(var(--exz-primary-rgb), .7); }
.exz-ibox h3 { font-size: 20px; line-height: 1.25; letter-spacing: -.01em; margin-bottom: 8px; }
.exz-ibox p { color: var(--exz-muted); font-size: 15.5px; line-height: 1.65; }

/* Inclinação 3D com brilho (JS define --rx --ry --mx --my) */
[data-exz-tilt] { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .5s var(--exz-ease); will-change: transform; }
[data-exz-tilt].is-tilting { transition: transform .08s linear; }
[data-exz-tilt]::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .4s; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(var(--exz-accent-rgb), .18), transparent 45%); }
[data-exz-tilt].is-tilting::after { opacity: 1; }

/* Lista com ícones ---------------------------------------------------- */
.exz-ilist { list-style: none; display: grid; gap: 12px; }
.exz-ilist li { display: flex; align-items: center; gap: 12px; font-size: 16.5px; color: var(--exz-fg2, rgba(238,242,249,.9)); }
.exz-ilist__ic { display: inline-grid; place-items: center; flex: none; color: var(--exz-accent); }
.exz-ilist--tile .exz-ilist__ic { width: 30px; height: 30px; border-radius: 9px; background: rgba(var(--exz-primary-rgb), .16); box-shadow: inset 0 0 0 1px rgba(var(--exz-accent-rgb), .26); }
.exz-ilist--3d .exz-ilist__ic { width: 30px; height: 30px; border-radius: 50%; color: var(--exz-fg, #fff); background: radial-gradient(circle at 30% 25%, #8fb8ff, var(--exz-primary) 45%, var(--exz-deep)); box-shadow: 0 6px 14px -6px rgba(var(--exz-primary-rgb), .9); }
.exz-ilist { justify-items: var(--exz-jc, stretch); }

/* Redes --------------------------------------------------------------- */
.exz-social { display: flex; flex-wrap: wrap; gap: 10px; justify-content: var(--exz-jc, flex-start); }
.exz-social a { display: inline-flex; align-items: center; gap: 9px; padding: 10px 15px; border-radius: 12px; font-size: 14.5px; font-weight: 600; color: #dfe8ff; background: rgba(255,255,255,.05); border: 1px solid var(--exz-line); transition: .35s var(--exz-ease); }
.exz-social a:hover { color: var(--exz-fg, #fff); border-color: rgba(var(--exz-accent-rgb), .5); background: rgba(var(--exz-primary-rgb), .16); transform: translateY(-2px); }
.exz-social.is-icons a { width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 50%; }

/* Imagem --------------------------------------------------------------- */
.exz-img { position: relative; border-radius: var(--exz-radius); overflow: hidden; }
.exz-img img { width: 100%; object-fit: cover; border-radius: inherit; transition: transform .8s var(--exz-ease); }
.exz-img--zoom:hover img { transform: scale(1.045); }
.exz-img--tilt { overflow: visible; }
.exz-img--tilt img { box-shadow: 0 40px 80px -40px rgba(var(--exz-primary-rgb), .7), 0 0 0 1px rgba(255,255,255,.08); }
.exz-img figcaption { padding-top: 10px; font-size: 13.5px; color: var(--exz-muted); text-align: center; }
.exz-empty-media { display: grid; place-items: center; gap: 8px; min-height: 180px; padding: 20px; border-radius: var(--exz-radius); border: 1.5px dashed rgba(var(--exz-accent-rgb), .35); background: rgba(var(--exz-primary-rgb), .06); color: var(--exz-accent); font-size: 14px; text-align: center; }
.exz-empty-media span { color: var(--exz-muted); }

/* Vídeo ----------------------------------------------------------------- */
.exz-video { position: relative; width: 100%; border-radius: var(--exz-radius); overflow: hidden; background: #02040a; box-shadow: 0 50px 90px -50px rgba(var(--exz-primary-rgb), .75), 0 0 0 1px rgba(255,255,255,.08); }
.exz-video { margin: 0 auto; }
.exz .exz-video__cover { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.exz-video__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--exz-ease), filter .6s; }
.exz-video__cover:hover img { transform: scale(1.04); filter: brightness(1.1); }
.exz-video__shade { position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, transparent, rgba(2,4,10,.55)), linear-gradient(transparent 55%, rgba(2,4,10,.8)); }
.exz-video__play { position: absolute; left: 50%; top: 50%; width: 86px; height: 86px; margin: -43px 0 0 -43px; border-radius: 50%; display: grid; place-items: center; background: rgba(8,14,30,.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); transition: transform .45s var(--exz-ease); }
.exz-video__play::before { content: ""; position: absolute; inset: -3px; border-radius: 50%; background: conic-gradient(from var(--exz-a), transparent 0 50%, var(--exz-accent) 70%, #fff 76%, var(--exz-primary) 85%, transparent 96%); animation: exz-spin 2.6s linear infinite; -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 3px), #000 calc(100% - 2.5px)); mask: radial-gradient(closest-side, transparent calc(100% - 3px), #000 calc(100% - 2.5px)); }
.exz-video__play i { width: 0; height: 0; margin-left: 6px; border-left: 22px solid #fff; border-top: 14px solid transparent; border-bottom: 14px solid transparent; filter: drop-shadow(0 0 8px rgba(var(--exz-accent-rgb), .9)); }
.exz-video__cover:hover .exz-video__play { transform: scale(1.08); }
.exz-video__title { position: absolute; left: 24px; right: 24px; bottom: 20px; text-align: left; color: var(--exz-fg, #fff); font-weight: 700; font-size: clamp(16px, 2vw, 22px); line-height: 1.25; }
.exz-video__title small { display: block; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--exz-accent); margin-bottom: 4px; }
.exz-video iframe, .exz-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }

/* Galeria e tela cheia ---------------------------------------------------- */
.exz-gal { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 14px; }
.exz-gal__item { position: relative; display: block; border-radius: 16px; overflow: hidden; aspect-ratio: var(--ratio, 1/1); background: var(--exz-surface); }
.exz-gal__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--exz-ease), filter .5s; }
.exz-gal__item:hover img { transform: scale(1.06); filter: brightness(.8); }
.exz-gal__zoom { position: absolute; right: 12px; bottom: 12px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: var(--exz-fg, #fff); background: rgba(var(--exz-primary-rgb), .85); opacity: 0; transform: translateY(8px); transition: .4s var(--exz-ease); }
.exz-gal__item:hover .exz-gal__zoom { opacity: 1; transform: none; }
.exz-lb { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 5vh 5vw; background: rgba(2,4,10,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); opacity: 0; transition: opacity .35s; }
.exz-lb.is-open { opacity: 1; }
.exz-lb img { max-height: 84vh; max-width: 90vw; border-radius: 14px; box-shadow: 0 40px 100px rgba(0,0,0,.6); }
.exz-lb p { margin-top: 12px; color: #cfd8ea; text-align: center; font: 500 14px/1.5 var(--exz-font); }
.exz-lb.exz button { position: absolute; top: 18px; right: 18px; width: 46px; height: 46px; border-radius: 50%; border: 0; color: var(--exz-fg, #fff); font-size: 24px; background: rgba(255,255,255,.1); cursor: pointer; }
.exz-lb.exz .exz-lb__nav { top: 50%; margin-top: -23px; }
.exz-lb.exz .exz-lb__prev { left: 18px; right: auto; }
.exz-lb.exz .exz-lb__next { right: 18px; }

/* Antes e depois ---------------------------------------------------------- */
.exz-ba { position: relative; overflow: hidden; border-radius: var(--exz-radius); user-select: none; }
.exz-ba > img, .exz-ba__before img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.exz-ba__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--x)) 0 0); }
.exz-ba__tag { position: absolute; top: 14px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--exz-fg, #fff); background: rgba(4,6,11,.6); backdrop-filter: blur(6px); }
.exz-ba__tag--b { left: 14px; } .exz-ba__tag--a { right: 14px; }
.exz-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--x); width: 2px; margin-left: -1px; background: #fff; box-shadow: 0 0 16px rgba(var(--exz-accent-rgb), .9); pointer-events: none; }
.exz-ba__handle i { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); box-shadow: 0 0 0 3px rgba(255,255,255,.9), 0 10px 30px rgba(0,0,0,.4); }
.exz-ba__handle i::before { content: "‹ ›"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--exz-fg, #fff); font: 700 16px/1 var(--exz-font); letter-spacing: 3px; }
.exz-ba input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }

/* Mapa e faixa ---------------------------------------------------------------- */
.exz-map { border-radius: var(--exz-radius); overflow: hidden; border: 1px solid var(--exz-line); }
.exz-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.exz-map.is-dark iframe { filter: invert(.9) hue-rotate(180deg) saturate(.7) brightness(.9); }
.exz-mq { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.exz-mq__track { display: flex; width: max-content; animation: exz-mq var(--d, 30s) linear infinite; }
.exz-mq--right .exz-mq__track { animation-direction: reverse; }
.exz-mq:hover .exz-mq__track { animation-play-state: paused; }
.exz-mq__item { display: inline-flex; align-items: center; gap: 12px; padding: 0 30px; color: #c9d6f2; white-space: nowrap; font-size: clamp(18px, 2.2vw, 26px); }
.exz-mq__item b { font-weight: 700; letter-spacing: -.01em; }
.exz-mq__item .exz-ico { color: var(--exz-accent); }
.exz-mq__item img { height: 38px; width: auto; opacity: .75; filter: grayscale(1) brightness(1.6); transition: .4s; }
.exz-mq__item img:hover { opacity: 1; filter: none; }
@keyframes exz-mq { to { transform: translateX(-50%); } }

/* Banner 3D -------------------------------------------------------------------- */
.exz-b3d { position: relative; overflow: hidden; border-radius: calc(var(--exz-radius) + 8px); padding: clamp(46px, 8vw, 100px) clamp(22px, 5vw, 70px); background: radial-gradient(900px 420px at 50% 120%, rgba(var(--exz-primary-rgb), .45), transparent 70%), linear-gradient(180deg, #060a18, #03050c); border: 1px solid rgba(var(--exz-accent-rgb), .2); text-align: center; isolation: isolate; }
.exz-b3d__scene { position: absolute; inset: 0; z-index: -1; perspective: 700px; pointer-events: none; }
.exz-b3d__floor { position: absolute; left: -50%; right: -50%; bottom: -12%; height: 70%; transform: rotateX(72deg) translateY(var(--py, 0)); transform-origin: 50% 100%; background-image: linear-gradient(rgba(var(--exz-accent-rgb), .5) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--exz-accent-rgb), .5) 1px, transparent 1px); background-size: 56px 56px; animation: exz-floor 3.5s linear infinite; -webkit-mask: linear-gradient(transparent, #000 40%); mask: linear-gradient(transparent, #000 40%); }
@keyframes exz-floor { to { background-position: 0 56px; } }
.exz-b3d__orb { position: absolute; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #a9c6ff, var(--exz-primary) 40%, var(--exz-deep) 75%, transparent 76%); filter: drop-shadow(0 20px 40px rgba(var(--exz-primary-rgb), .7)); animation: exz-float 8s ease-in-out infinite; }
.exz-b3d__orb:nth-child(1) { width: 180px; height: 180px; left: 6%; top: 14%; }
.exz-b3d__orb:nth-child(2) { width: 90px; height: 90px; right: 10%; top: 20%; animation-delay: -3s; }
.exz-b3d__orb:nth-child(3) { width: 130px; height: 130px; right: 20%; bottom: 6%; animation-delay: -5s; opacity: .7; }
.exz-b3d__ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px solid rgba(var(--exz-accent-rgb), .45); box-shadow: 0 0 30px rgba(var(--exz-primary-rgb), .35), inset 0 0 30px rgba(var(--exz-primary-rgb), .25); transform: translate(-50%, -50%) rotateX(70deg); animation: exz-ring 14s linear infinite; }
.exz-b3d__ring:nth-child(1) { width: 520px; height: 520px; }
.exz-b3d__ring:nth-child(2) { width: 760px; height: 760px; animation-duration: 22s; animation-direction: reverse; }
.exz-b3d__ring:nth-child(3) { width: 1000px; height: 1000px; animation-duration: 30s; opacity: .6; }
@keyframes exz-ring { to { transform: translate(-50%, -50%) rotateX(70deg) rotateZ(360deg); } }
.exz-b3d__copy { position: relative; max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.exz-b3d__copy h2 { font-size: var(--exz-fs, clamp(32px, 4.6vw, 60px)); line-height: 1.06; letter-spacing: -.035em; font-weight: 800; text-wrap: balance; }
.exz-b3d__text { color: var(--exz-fg2, rgba(238,242,249,.78)); font-size: 18px; max-width: 580px; }
.exz-b3d .exz-kicker { margin: 0 !important; }
.exz-b3d .exz-btn { margin-top: 10px; }

/* Ícone 3D ----------------------------------------------------------------------- */
.exz-i3d { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.exz-i3d__obj { --z: 150px; position: relative; width: var(--z); height: var(--z); display: grid; place-items: center; perspective: 600px; }
.exz-i3d--md .exz-i3d__obj { --z: 110px; } .exz-i3d--xl .exz-i3d__obj { --z: 200px; }
.exz-i3d__glow { position: absolute; inset: 10%; border-radius: 50%; background: rgba(var(--exz-primary-rgb), .7); filter: blur(34px); animation: exz-pulse 4s ease-in-out infinite; }
.exz-i3d__face { position: relative; width: 72%; height: 72%; display: grid; place-items: center; color: var(--exz-fg, #fff); border-radius: 50%; background: radial-gradient(circle at 32% 24%, #bcd3ff, var(--exz-primary) 38%, var(--exz-deep) 72%, #04124d); box-shadow: inset -12px -14px 26px rgba(0,0,0,.4), inset 10px 12px 22px rgba(255,255,255,.3), 0 30px 50px -18px rgba(var(--exz-primary-rgb), .9); animation: exz-bob 6s ease-in-out infinite; }
.exz-i3d__face .exz-ico { width: 44%; height: 44%; filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); }
.exz-i3d--tile .exz-i3d__face { border-radius: 28%; transform: rotateX(14deg) rotateY(-16deg); }
.exz-i3d--hex .exz-i3d__face { border-radius: 0; clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%); }
.exz-i3d__ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(var(--exz-accent-rgb), .5); transform: rotateX(72deg); animation: exz-orbit 7s linear infinite; }
.exz-i3d__ring::before { content: ""; position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 14px var(--exz-accent), 0 0 4px #fff; }
@keyframes exz-orbit { to { transform: rotateX(72deg) rotateZ(360deg); } }
@keyframes exz-bob { 0%, 100% { transform: translateY(-5px) rotateY(-10deg); } 50% { transform: translateY(6px) rotateY(10deg); } }
.exz-i3d h3 { font-size: 22px; } .exz-i3d p { color: var(--exz-muted); max-width: 380px; }

/* Carrossel 3D ------------------------------------------------------------------------ */
.exz-c3d { position: relative; padding-bottom: 8px; }
.exz-c3d__stage { position: relative; height: 400px; perspective: 1400px; transform-style: preserve-3d; }
.exz-c3d__slide { position: absolute; left: 50%; top: 10px; width: min(330px, 78vw); margin-left: calc(min(330px, 78vw) / -2); display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; background: linear-gradient(170deg, #111a33, #070b16); border: 1px solid rgba(255,255,255,.1); box-shadow: 0 40px 70px -35px rgba(0,0,0,.9); transition: transform .8s var(--exz-ease), opacity .8s, filter .8s; transform: translateX(calc(var(--o, 0) * 62%)) translateZ(calc(var(--ao, 0) * -220px)) rotateY(calc(var(--o, 0) * -26deg)); opacity: calc(1 - var(--ao, 0) * .32); filter: brightness(calc(1 - var(--ao, 0) * .25)); z-index: calc(10 - var(--ao, 0)); cursor: pointer; }
.exz-c3d__slide.is-on { border-color: rgba(var(--exz-accent-rgb), .45); box-shadow: 0 40px 80px -30px rgba(var(--exz-primary-rgb), .7); }
.exz-c3d__slide.is-far { opacity: 0; pointer-events: none; }
.exz-c3d__media { height: 190px; display: grid; place-items: center; background: radial-gradient(260px 160px at 50% 110%, rgba(var(--exz-primary-rgb), .5), transparent 70%), #0a1024; }
.exz-c3d__media img { width: 100%; height: 100%; object-fit: cover; }
.exz-c3d__body { padding: 22px 24px 26px; }
.exz-c3d__body h3 { font-size: 21px; margin-bottom: 6px; }
.exz-c3d__body p { color: var(--exz-muted); font-size: 15px; }
.exz-c3d__nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 8px; }
.exz .exz-c3d__nav button { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: var(--exz-fg, #fff); background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); transition: .3s; }
.exz .exz-c3d__nav button:hover { background: rgba(var(--exz-primary-rgb), .3); }
.exz-c3d__nav [data-c3d=prev] .exz-ico { transform: scaleX(-1); }
.exz-c3d__dots { display: flex; gap: 7px; }
.exz .exz-c3d__dots button { width: 8px; height: 8px; border-radius: 99px; background: rgba(255,255,255,.22); transition: .4s var(--exz-ease); }
.exz .exz-c3d__dots button.is-on { width: 26px; background: var(--exz-accent); box-shadow: 0 0 10px var(--exz-primary); }

/* Cubo 3D ------------------------------------------------------------------------------ */
.exz-cube-view { --c: 200px; width: var(--c); height: var(--c); margin: 30px auto; perspective: 900px; cursor: grab; touch-action: pan-y; }
.exz-cube-view:active { cursor: grabbing; }
.exz-cube { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(var(--cx, -18deg)) rotateY(var(--cy, 32deg)); }
.exz-cube__f { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--exz-fg, #fff); font-weight: 700; font-size: 15px; letter-spacing: .02em; border-radius: 18px; background: linear-gradient(145deg, rgba(var(--exz-primary-rgb), .55), rgba(12,58,209,.35)); border: 1px solid rgba(var(--exz-accent-rgb), .55); box-shadow: inset 0 0 40px rgba(var(--exz-primary-rgb), .35), 0 0 30px rgba(var(--exz-primary-rgb), .25); backdrop-filter: blur(4px); backface-visibility: visible; }
.exz-cube__f .exz-ico { filter: drop-shadow(0 0 8px rgba(var(--exz-accent-rgb), .9)); }
.exz-cube__f--front { transform: translateZ(calc(var(--c) / 2)); }
.exz-cube__f--back { transform: rotateY(180deg) translateZ(calc(var(--c) / 2)); }
.exz-cube__f--right { transform: rotateY(90deg) translateZ(calc(var(--c) / 2)); }
.exz-cube__f--left { transform: rotateY(-90deg) translateZ(calc(var(--c) / 2)); }
.exz-cube__f--top { transform: rotateX(90deg) translateZ(calc(var(--c) / 2)); }
.exz-cube__f--bottom { transform: rotateX(-90deg) translateZ(calc(var(--c) / 2)); }

/* Chamada com luz ----------------------------------------------------------------------- */
.exz-cta { position: relative; display: flex; align-items: center; gap: 26px; padding: clamp(28px, 4vw, 46px); border-radius: calc(var(--exz-radius) + 6px); background: radial-gradient(600px 240px at 0 0, rgba(var(--exz-primary-rgb), .35), transparent 70%), linear-gradient(135deg, #0b1430, #060a16); isolation: isolate; overflow: hidden; }
.exz-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1.5px; background: conic-gradient(from var(--exz-a), rgba(var(--exz-accent-rgb), .12) 0 55%, var(--exz-accent) 70%, #fff 75%, var(--exz-primary) 83%, rgba(var(--exz-accent-rgb), .12) 95%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: exz-spin 5s linear infinite; }
.exz-cta__glow { position: absolute; right: -80px; bottom: -120px; width: 320px; height: 320px; border-radius: 50%; background: rgba(var(--exz-primary-rgb), .45); filter: blur(80px); z-index: -1; }
.exz-cta__copy { flex: 1; min-width: 0; }
.exz-cta__copy h3 { font-size: clamp(24px, 2.8vw, 34px); line-height: 1.15; letter-spacing: -.02em; }
.exz-cta__copy p { color: var(--exz-fg2, rgba(238,242,249,.75)); margin-top: 8px !important; }
.exz-cta .exz-btn { flex: none; }

/* Planos de assinatura --------------------------------------------------------------------- */
.exz-price { display: flex; flex-direction: column; align-items: center; gap: 34px; }
.exz-price__switch { position: relative; display: inline-flex; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px var(--exz-line); }
.exz .exz-price__switch button { position: relative; z-index: 1; padding: 10px 20px; border-radius: 999px; font-size: 14.5px; font-weight: 650; color: var(--exz-muted); white-space: nowrap; transition: color .35s; }
.exz .exz-price__switch button.is-on, .exz .exz-price__switch button.is-on:hover { color: var(--exz-fg, #fff); }
.exz-price__switch em { font-style: normal; font-size: 11.5px; font-weight: 700; margin-left: 6px; padding: 3px 8px; border-radius: 99px; color: var(--exz-verde, #bff5d8); background: rgba(34,197,94,.18); }
.exz-price__switch i { position: absolute; top: 5px; bottom: 5px; left: var(--l, 5px); width: var(--w, 90px); border-radius: 999px; background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); box-shadow: 0 8px 22px -8px rgba(var(--exz-primary-rgb), .9); transition: left .5s var(--exz-ease), width .5s var(--exz-ease); }
.exz-price__grid { width: 100%; display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.exz-plan { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 32px 28px; border-radius: calc(var(--exz-radius) + 4px); background: linear-gradient(170deg, rgba(255,255,255,.055), rgba(255,255,255,.012)); border: 1px solid var(--exz-line); text-align: left; transition: border-color .4s, box-shadow .4s; }
.exz-plan:hover { border-color: rgba(var(--exz-accent-rgb), .3); }
.exz-plan.is-featured { background: radial-gradient(420px 220px at 50% 0, rgba(var(--exz-primary-rgb), .35), transparent 70%), linear-gradient(170deg, #0e1838, #070b18); border-color: transparent; box-shadow: 0 40px 80px -36px rgba(var(--exz-primary-rgb), .85); isolation: isolate; }
.exz-plan.is-featured::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1.5px; background: conic-gradient(from var(--exz-a), rgba(var(--exz-accent-rgb), .2) 0 50%, var(--exz-accent) 68%, #fff 74%, var(--exz-primary) 82%, rgba(var(--exz-accent-rgb), .2) 95%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: exz-spin 4s linear infinite; }
.exz-plan__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 6px; padding: 6px 13px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--exz-fg, #fff); white-space: nowrap; background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); box-shadow: 0 8px 20px -6px rgba(var(--exz-primary-rgb), .9); }
.exz-plan h3 { font-size: 21px; letter-spacing: -.01em; }
.exz-plan__desc { color: var(--exz-muted); font-size: 15px; min-height: 2.9em; }
.exz-plan__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; margin: 4px 0 6px; }
.exz-plan__price small { font-size: 18px; font-weight: 700; color: var(--exz-fg2, #cbd8f5); }
.exz-plan__price strong { font-family: var(--exz-font-head); font-size: clamp(42px, 4.4vw, 54px); line-height: 1; font-weight: 800; letter-spacing: -.04em; color: var(--exz-fg, #fff); transition: opacity .25s, transform .35s var(--exz-ease); }
.exz-plan__price span { color: var(--exz-muted); font-size: 14px; transition: opacity .25s; }
.exz-plan__price.is-swap strong, .exz-plan__price.is-swap span { opacity: 0; transform: translateY(-6px); }
.exz-plan__feats { list-style: none; display: grid; gap: 11px; margin-top: 8px !important; padding-top: 18px !important; border-top: 1px solid var(--exz-line); }
.exz-plan__feats li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--exz-fg2, rgba(238,242,249,.88)); line-height: 1.45; }
.exz-plan__feats li .exz-ico { color: var(--exz-accent); margin-top: 1px; }
.exz-plan__feats li.is-no { color: rgba(150,161,181,.6); }
.exz-plan__feats li.is-no .exz-ico { color: rgba(150,161,181,.5); }
.exz-plan .exz-btn { margin-top: 4px; }

/* Formulário ------------------------------------------------------------------------------ */
.exz-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; text-align: left; }
.exz-form--stack { grid-template-columns: 1fr; }
.exz-form--inline { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: end; }
.exz-form__f { display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; font-weight: 600; color: #cdd7ec; grid-column: span 1; }
.exz-form--stack .exz-form__f, .exz-form__f.is-wide { grid-column: 1 / -1; }
.exz-form__f i { color: var(--exz-accent); font-style: normal; }
.exz-form--inline .exz-form__f span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.exz .exz-form input:not([type=range]):not([type=checkbox]), .exz .exz-form textarea, .exz .exz-form select { width: 100%; padding: 14px 16px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(4,7,16,.6); color: var(--exz-fg, #fff); font: 500 15.5px/1.4 var(--exz-font); outline: none; transition: border-color .3s, box-shadow .3s, background .3s; box-shadow: none; }
.exz .exz-form input::placeholder, .exz .exz-form textarea::placeholder { color: rgba(150,161,181,.7); }
.exz .exz-form input:focus, .exz .exz-form textarea:focus, .exz .exz-form select:focus { border-color: rgba(var(--exz-accent-rgb), .7); background: rgba(8,14,32,.8); box-shadow: 0 0 0 4px rgba(var(--exz-primary-rgb), .18); }
.exz .exz-form .is-bad input, .exz .exz-form .is-bad textarea, .exz .exz-form .is-bad select { border-color: #ff6b81; }
.exz .exz-form select option { background: #0b1122; }
.exz-form > .exz-btn { grid-column: 1 / -1; width: 100%; }
.exz-form--inline > .exz-btn { grid-column: auto; padding-top: 14px; padding-bottom: 14px; font-size: 15.5px; }
.exz-form.is-loading > .exz-btn { opacity: .7; pointer-events: none; }
.exz-form.is-loading > .exz-btn .exz-ico { animation: exz-spin-r 1s linear infinite; }
@keyframes exz-spin-r { to { transform: rotate(360deg); } }
.exz .exz-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.exz-form__consent { grid-column: 1 / -1; font-size: 12.5px; color: rgba(150,161,181,.8); text-align: center; line-height: 1.5; }
.exz-form__opt { grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: rgba(190,200,218,.9); cursor: pointer; text-align: left; }
.exz .exz-form__opt input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; padding: 0; accent-color: var(--exz-primary, #2f6bff); cursor: pointer; }
.exz-form__opt.is-bad span { color: #ff8a8a; }
.exz-form__msg { grid-column: 1 / -1; font-size: 14.5px; font-weight: 600; text-align: center; min-height: 0; }
.exz-form__msg:empty { display: none; }
.exz-form__msg.is-ok { padding: 14px; border-radius: 12px; color: #c6f6da; background: rgba(34,197,94,.12); border: 1px solid rgba(34,197,94,.3); }
.exz-form__msg.is-err { padding: 12px; border-radius: 12px; color: #ffd0d7; background: rgba(255,80,110,.1); border: 1px solid rgba(255,80,110,.3); }
.exz-form.is-done > :not(.exz-form__msg) { display: none; }

/* Contagem ------------------------------------------------------------------------------------ */
.exz-cd { text-align: center; }
.exz-cd__title { color: #cfdcf7; font-weight: 600; margin-bottom: 16px !important; }
.exz-cd__grid { display: inline-grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.exz-cd__grid div { min-width: 84px; padding: 16px 10px 12px; border-radius: 16px; background: linear-gradient(170deg, rgba(var(--exz-primary-rgb), .2), rgba(255,255,255,.02)); border: 1px solid rgba(var(--exz-accent-rgb), .22); }
.exz-cd__grid b { display: block; font-family: var(--exz-font-head); font-size: clamp(30px, 4vw, 46px); line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--exz-fg, #fff); font-variant-numeric: tabular-nums; text-shadow: 0 0 22px rgba(var(--exz-primary-rgb), .7); }
.exz-cd__grid span { display: block; margin-top: 6px; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--exz-muted); }
.exz-cd.is-done .exz-cd__grid { opacity: .4; }

/* Contagem: estilos ------------------------------------------------ */
.exz-cd__sep { display: inline-flex; align-items: center; font-family: var(--exz-font-head); font-size: clamp(24px, 3vw, 38px); font-weight: 800; font-style: normal; color: rgba(var(--exz-accent-rgb), .55); }
.exz-cd--flip .exz-cd__grid, .exz-cd--pilula .exz-cd__grid, .exz-cd--vidro .exz-cd__grid, .exz-cd--neon .exz-cd__grid { display: inline-flex; align-items: stretch; gap: 10px; }

/* Placar que vira */
.exz-cd__grid--flip div { position: relative; overflow: hidden; background: linear-gradient(180deg, #111a33 0 50%, #0a1026 50% 100%); border: 1px solid rgba(255,255,255,.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 26px -14px #000; }
.exz-cd__grid--flip div::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0,0,0,.55); }
.exz-cd__grid--flip b { text-shadow: 0 2px 0 rgba(0,0,0,.5); }

/* Pílulas */
.exz-cd__grid--pilula div { border-radius: 999px; min-width: 92px; padding: 18px 14px 14px; background: rgba(var(--exz-primary-rgb), .14); border: 1px solid rgba(var(--exz-accent-rgb), .30); }

/* Vidro */
.exz-cd__grid--vidro div { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 18px 40px -22px #000; }

/* Neon gigante */
.exz-cd--neon .exz-cd__grid div { background: none; border: 0; min-width: 0; padding: 0 6px; }
.exz-cd--neon b { font-size: clamp(46px, 9vw, 104px); letter-spacing: -.045em; color: var(--exz-fg, #fff); text-shadow: 0 0 10px rgba(var(--exz-accent-rgb), .95), 0 0 38px rgba(var(--exz-primary-rgb), .75), 0 0 80px rgba(var(--exz-primary-rgb), .45); }
.exz-cd--neon span { color: rgba(var(--exz-accent-rgb), .8); letter-spacing: .3em; }
.exz-cd--neon .exz-cd__sep { font-size: clamp(34px, 7vw, 76px); animation: exz-pisca 1.6s steps(1) infinite; }
@keyframes exz-pisca { 50% { opacity: .25; } }

/* Uma linha só */
.exz-cd__linha { display: inline-flex; align-items: baseline; gap: 8px; font-family: var(--exz-font-head); }
.exz-cd__linha span { display: inline-flex; align-items: baseline; gap: 3px; }
.exz-cd__linha b { font-size: clamp(26px, 3.4vw, 40px); font-weight: 800; letter-spacing: -.03em; color: var(--exz-fg, #fff); font-variant-numeric: tabular-nums; }
.exz-cd__linha i { font-style: normal; font-size: 13px; color: var(--exz-muted); text-transform: uppercase; }
.exz-cd__linha em { font-style: normal; color: rgba(var(--exz-accent-rgb), .5); font-size: clamp(20px, 2.6vw, 30px); }

/* Anéis */
.exz-cd__grid--anel { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.exz-cd__grid--anel div { position: relative; min-width: 0; padding: 0; background: none; border: 0; display: grid; place-items: center; }
.exz-cd__grid--anel svg { width: clamp(78px, 10vw, 108px); height: auto; transform: rotate(-90deg); }
.exz-cd__grid--anel circle { fill: none; stroke-width: 3; }
.exz-cd__t { stroke: rgba(255,255,255,.10); }
.exz-cd__p { stroke: var(--exz-accent); stroke-linecap: round; stroke-dasharray: 119.4; stroke-dashoffset: calc(119.4 - 119.4 * var(--p, 0)); transition: stroke-dashoffset .5s linear; filter: drop-shadow(0 0 6px rgba(var(--exz-accent-rgb), .7)); }
.exz-cd__grid--anel b { position: absolute; top: 38%; transform: translateY(-50%); font-size: clamp(20px, 2.4vw, 30px); }
.exz-cd__grid--anel span { position: absolute; bottom: 12%; margin: 0; }

/* Barras */
.exz-cd__barras { display: grid; gap: 12px; width: min(460px, 100%); margin: 0 auto; text-align: left; }
.exz-cd__barras div { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding-bottom: 10px; }
.exz-cd__barras span { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--exz-muted); }
.exz-cd__barras b { font-family: var(--exz-font-head); font-size: 22px; font-weight: 800; color: var(--exz-fg, #fff); font-variant-numeric: tabular-nums; }
.exz-cd__barras i { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; border-radius: 99px; background: rgba(255,255,255,.09); }
.exz-cd__barras i::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p, 0) * 100%); border-radius: 99px; background: linear-gradient(90deg, var(--exz-accent), var(--exz-primary)); transition: width .5s linear; }
.exz-cd.is-done .exz-cd__linha, .exz-cd.is-done .exz-cd__barras { opacity: .4; }

@media (max-width: 560px) {
  .exz-cd__grid--anel { gap: 8px; }
  .exz-cd--neon b { font-size: clamp(34px, 13vw, 64px); }
  .exz-cd__grid--pilula div { min-width: 0; padding: 14px 8px 10px; }
}

/* Depoimentos ------------------------------------------------------------------------------------ */
.exz-testi { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 20px; }
.exz-testi__item { position: relative; display: flex; flex-direction: column; gap: 18px; padding: 28px; border-radius: var(--exz-radius); background: linear-gradient(165deg, rgba(255,255,255,.05), rgba(255,255,255,.012)); border: 1px solid var(--exz-line); text-align: left; }
.exz-testi__stars { display: flex; gap: 3px; color: #ffc94d; }
.exz-testi__stars .exz-ico { fill: currentColor; }
.exz-testi__item blockquote { flex: 1; font-size: 16px; line-height: 1.7; color: var(--exz-fg2, rgba(238,242,249,.88)); }
.exz-testi__item figcaption { display: flex; align-items: center; gap: 12px; }
.exz-testi__item figcaption img, .exz-testi__av { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.exz-testi__av { display: grid; place-items: center; font-weight: 800; color: var(--exz-fg, #fff); background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); }
.exz-testi__item figcaption strong { display: block; color: var(--exz-fg, #fff); font-size: 15px; }
.exz-testi__item figcaption small { display: block; color: var(--exz-muted); font-size: 13px; }

/* Números e barras --------------------------------------------------------------------------------- */
.exz-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px; }
.exz-stats > div { text-align: center; padding: 10px; }
.exz-stats strong { display: block; font-family: var(--exz-font-head); font-size: clamp(38px, 4.6vw, 58px); line-height: 1; font-weight: 800; letter-spacing: -.04em; background: linear-gradient(180deg, var(--exz-fg, #fff), var(--exz-fg-b, #9cc0ff)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.exz-stats span { display: block; margin-top: 10px; color: var(--exz-muted); font-size: 15px; }
.exz-prog { display: grid; gap: 20px; }
.exz-prog__top { display: flex; justify-content: space-between; margin-bottom: 9px; font-weight: 600; font-size: 15px; }
.exz-prog__top b { color: var(--exz-accent); }
.exz-prog__bar { height: 8px; border-radius: 99px; background: rgba(255,255,255,.07); overflow: hidden; }
.exz-prog__bar i { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--exz-deep), var(--exz-primary), var(--exz-accent)); box-shadow: 0 0 14px rgba(var(--exz-primary-rgb), .8); transition: width 1.6s var(--exz-ease); }
.exz-prog.is-in .exz-prog__bar i { width: var(--v); }

/* Perguntas ------------------------------------------------------------------------------------------ */
.exz-faq { display: grid; gap: 12px; text-align: left; }
.exz-faq__item { border-radius: 16px; background: rgba(255,255,255,.035); border: 1px solid var(--exz-line); transition: border-color .35s, background .35s; }
.exz-faq__item[open] { border-color: rgba(var(--exz-accent-rgb), .3); background: rgba(var(--exz-primary-rgb), .07); }
.exz-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; cursor: pointer; list-style: none; font-weight: 650; font-size: 16.5px; color: var(--exz-fg, #fff); }
.exz-faq__item summary::-webkit-details-marker { display: none; }
.exz-faq__item summary i { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; background: rgba(var(--exz-primary-rgb), .18); }
.exz-faq__item summary i::before, .exz-faq__item summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.8px; margin: -.9px 0 0 -5.5px; border-radius: 2px; background: var(--exz-accent); transition: transform .4s var(--exz-ease); }
.exz-faq__item summary i::after { transform: rotate(90deg); }
.exz-faq__item[open] summary i::after { transform: rotate(0); }
.exz-faq__a { padding: 0 22px 20px; color: var(--exz-fg2, rgba(238,242,249,.78)); line-height: 1.7; }

/* Persuasão ---------------------------------------------------------
 * Mesma régua dos outros blocos: raio do kit, linha fina, cor do kit.
 * Nada de vermelho de liquidação: a elegância é que sustenta o preço.
 */
.exz-estrelas { display: inline-flex; gap: 2px; flex: none; }
.exz-estrelas i { display: inline-flex; color: rgba(255,255,255,.22); }
.exz-estrelas i.is-on { color: #fbbf24; }
.exz-estrelas i.is-on .exz-ico { fill: currentColor; }

.exz-prova { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; text-align: left; }
.exz-prova--cartao { padding: 18px 22px; border-radius: var(--exz-radius); background: rgba(255,255,255,.04); border: 1px solid var(--exz-line); }
.exz-prova__fotos { display: inline-flex; flex: none; }
.exz-prova__fotos img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 2px solid var(--exz-bg); margin-left: -11px; background: var(--exz-surface); }
.exz-prova__fotos img:first-child { margin-left: 0; }
.exz-prova__corpo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.exz-prova__txt { font-size: 15px; color: var(--exz-fg2, rgba(238,242,249,.84)); line-height: 1.5; }
.exz-prova__txt strong { color: var(--exz-fg, #fff); font-weight: 700; }
.exz-prova__selo { flex: none; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--exz-accent); background: rgba(var(--exz-accent-rgb), .12); border: 1px solid rgba(var(--exz-accent-rgb), .28); }

.exz-oferta { position: relative; max-width: 460px; margin-inline: auto; padding: 32px 28px; border-radius: calc(var(--exz-radius) + 6px); text-align: center;
  background: linear-gradient(170deg, rgba(var(--exz-primary-rgb), .14), rgba(255,255,255,.03));
  border: 1px solid rgba(var(--exz-accent-rgb), .30); box-shadow: 0 30px 70px -34px rgba(0,0,0,.85); }
.exz-oferta__tag { display: inline-block; margin-bottom: 14px; padding: 6px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: var(--exz-fg, #fff); background: linear-gradient(135deg, var(--exz-primary), var(--exz-accent)); }
.exz-oferta__t { margin: 0 0 14px; font: 650 20px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-oferta__preco { display: flex; align-items: baseline; justify-content: center; gap: 12px; flex-wrap: wrap; }
.exz-oferta__preco s { font-size: 19px; color: var(--exz-muted); text-decoration-thickness: 1.5px; }
.exz-oferta__preco strong { font: 750 clamp(40px, 8vw, 56px)/1 var(--exz-font-head); color: var(--exz-fg, #fff); letter-spacing: -.02em; }
.exz-oferta__parc { margin: 8px 0 0; font-size: 15px; color: var(--exz-fg2, rgba(238,242,249,.75)); }
.exz-oferta__eco { display: inline-block; margin-top: 12px; padding: 5px 13px; border-radius: 999px; font-size: 13.5px; font-weight: 650; color: #34d399; background: rgba(52,211,153,.12); border: 1px solid rgba(52,211,153,.3); }
.exz-oferta__lista { display: grid; gap: 11px; margin: 24px 0; padding: 0; list-style: none; text-align: left; }
.exz-oferta__lista li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: var(--exz-fg2, rgba(238,242,249,.86)); line-height: 1.5; }
.exz-oferta__lista li .exz-ico { flex: none; margin-top: 1px; color: var(--exz-accent); }
.exz-oferta__nota { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 14px 0 0; font-size: 13px; color: var(--exz-muted); }

.exz-bonus { text-align: left; }
.exz-bonus__t { margin: 0 0 18px; font: 650 22px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); text-align: center; }
.exz-bonus__lista { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.exz-bonus__lista li { display: flex; align-items: center; gap: 15px; padding: 16px 18px; border-radius: var(--exz-radius); background: rgba(255,255,255,.035); border: 1px solid var(--exz-line); transition: border-color .35s, transform .35s var(--exz-ease); }
.exz-bonus__lista li:hover { border-color: rgba(var(--exz-accent-rgb), .32); transform: translateX(3px); }
.exz-bonus__ico { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: var(--exz-accent); background: rgba(var(--exz-primary-rgb), .16); }
.exz-bonus__corpo { flex: 1; min-width: 0; display: grid; gap: 3px; }
.exz-bonus__corpo strong { font-size: 16px; font-weight: 650; color: var(--exz-fg, #fff); }
.exz-bonus__corpo em { font-style: normal; font-size: 14px; color: var(--exz-fg2, rgba(238,242,249,.66)); line-height: 1.5; }
.exz-bonus__lista li b { flex: none; font-size: 15px; font-weight: 700; color: var(--exz-accent); }
.exz-bonus__total { margin: 16px 0 0; text-align: center; font-size: 16px; font-weight: 650; color: var(--exz-fg, #fff); }

.exz-gar { display: flex; align-items: center; gap: 22px; padding: 26px 28px; border-radius: calc(var(--exz-radius) + 4px); text-align: left;
  background: rgba(255,255,255,.035); border: 1px solid rgba(var(--exz-accent-rgb), .24); }
.exz-gar--faixa { flex-direction: column; text-align: center; gap: 16px; }
.exz-gar__selo { position: relative; flex: none; display: grid; place-items: center; width: 96px; height: 96px; color: var(--exz-accent); }
.exz-gar__selo .exz-ico { position: absolute; inset: 0; margin: auto; width: 96px; height: 96px; stroke-width: 1.1; opacity: .5; }
.exz-gar__selo b { position: relative; font: 750 30px/1 var(--exz-font-head); color: var(--exz-fg, #fff); margin-top: -4px; }
.exz-gar__selo small { position: relative; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--exz-accent); }
.exz-gar__corpo h3 { margin: 0 0 7px; font: 650 19px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-gar__corpo p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--exz-fg2, rgba(238,242,249,.76)); }

.exz-esc { padding: 18px 20px; border-radius: var(--exz-radius); background: rgba(255,255,255,.04); border: 1px solid var(--exz-line); text-align: left; }
.exz-esc__topo { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 11px; flex-wrap: wrap; }
.exz-esc__t { display: inline-flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 650; color: var(--exz-fg, #fff); }
.exz-esc__dot { width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 0 0 rgba(245,158,11,.6); }
.exz-esc.is-pulsa .exz-esc__dot { animation: exz-esc-dot 2s ease-out infinite; }
@keyframes exz-esc-dot { to { box-shadow: 0 0 0 11px rgba(245,158,11,0); } }
.exz-esc__n { font-size: 14px; color: var(--exz-muted); }
.exz-esc__n strong { font-size: 17px; color: #f59e0b; font-weight: 750; }
.exz-esc__bar { height: 8px; border-radius: 99px; background: rgba(255,255,255,.08); overflow: hidden; }
.exz-esc__bar i { display: block; width: var(--v, 0%); height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--exz-primary), #f59e0b); transition: width 1.1s var(--exz-ease); }
.exz-esc__p { margin: 10px 0 0; font-size: 13.5px; color: var(--exz-muted); }

.exz-comp__t { margin: 0 0 18px; font: 650 22px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); text-align: center; }
.exz-comp__tab { width: 100%; border-collapse: collapse; text-align: left; font-size: 15px; }
.exz-comp__tab th { padding: 13px 14px; font-weight: 650; font-size: 14px; color: var(--exz-muted); border-bottom: 1px solid var(--exz-line); }
.exz-comp__tab th.is-nosso { color: var(--exz-fg, #fff); }
.exz-comp__tab td { padding: 14px; color: var(--exz-fg2, rgba(238,242,249,.84)); border-bottom: 1px solid var(--exz-linha, rgba(255,255,255,.055)); }
.exz-comp__tab tr:last-child td { border-bottom: 0; }
/* A coluna da casa é uma faixa só, arredondada em cima e embaixo. Sem
   cantos secos no meio da tabela. */
.exz-comp__tab th.is-nosso, .exz-comp__tab td.is-nosso { background: rgba(var(--exz-primary-rgb), .09); box-shadow: inset 1px 0 0 rgba(var(--exz-accent-rgb), .16), inset -1px 0 0 rgba(var(--exz-accent-rgb), .16); }
.exz-comp__tab thead th.is-nosso { border-radius: 14px 14px 0 0; border-bottom-color: rgba(var(--exz-accent-rgb), .22); box-shadow: inset 1px 1px 0 rgba(var(--exz-accent-rgb), .16), inset -1px 0 0 rgba(var(--exz-accent-rgb), .16); }
.exz-comp__tab tbody tr:last-child td.is-nosso { border-radius: 0 0 14px 14px; box-shadow: inset 1px 0 0 rgba(var(--exz-accent-rgb), .16), inset -1px -1px 0 rgba(var(--exz-accent-rgb), .16); }
.exz-comp__tab thead th:first-child { width: 52%; }
.exz-comp__tab th:not(:first-child), .exz-comp__tab td:not(:first-child) { text-align: center; width: 24%; }
.exz-comp__tab .is-sim { color: #34d399; }
.exz-comp__tab .is-nao { color: rgba(255,255,255,.26); }

.exz-barra { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; padding: 13px 20px; border-radius: var(--exz-radius);
  background: rgba(10,12,22,.9); border: 1px solid rgba(var(--exz-accent-rgb), .28); }
.exz-barra.is-fixa { position: fixed; left: 50%; transform: translateX(-50%); z-index: 9988; width: min(920px, calc(100vw - 28px)); border-radius: 18px;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 20px 50px -20px rgba(0,0,0,.8); }
.exz-barra--baixo.is-fixa { bottom: 18px; }
.exz-barra--topo.is-fixa { top: 18px; }
.exz-barra.is-tarde { opacity: 0; visibility: hidden; transition: opacity .45s var(--exz-ease), transform .45s var(--exz-ease), visibility .45s; }
.exz-barra--baixo.is-tarde { transform: translateX(-50%) translateY(18px); }
.exz-barra--topo.is-tarde { transform: translateX(-50%) translateY(-18px); }
.exz-barra.is-tarde.is-on { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.exz-barra__txt { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.exz-barra__txt b { font-size: 15.5px; font-weight: 650; color: var(--exz-fg, #fff); }
.exz-barra__txt em { font-style: normal; font-size: 15px; font-weight: 700; color: var(--exz-accent); }

.exz-selos { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0; padding: 0; list-style: none; }
.exz-selos li { display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--exz-line); }
.exz-selos li span { display: inline-flex; color: var(--exz-accent); }
.exz-selos li b { font-size: 14px; font-weight: 600; color: var(--exz-fg2, rgba(238,242,249,.84)); }

/* Seção que aparece depois -------------------------------------------
 * Fica fora do fluxo enquanto espera, para não deixar um buraco na
 * página, e entra subindo de leve quando o tempo passa.
 */
.exz-sec--tarde { display: none; }
.exz-sec--tarde.is-on { display: block; animation: exz-revelar .7s var(--exz-ease) both; }
@keyframes exz-revelar { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .exz-sec--tarde.is-on { animation: none; } }

/* Portfólio ---------------------------------------------------------
 * Tudo aqui puxa para o editorial: pouca cor, muito espaço, tipografia
 * fazendo o trabalho. Cor do kit só onde precisa apontar alguma coisa.
 */
.exz-caso { text-align: left; }
.exz-caso__k { display: inline-block; margin-bottom: 14px; padding: 5px 13px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--exz-accent); background: rgba(var(--exz-accent-rgb), .1); border: 1px solid rgba(var(--exz-accent-rgb), .25); }
.exz-caso__t { margin: 0 0 26px; font: 650 clamp(28px, 4.2vw, 42px)/1.18 var(--exz-font-head); color: var(--exz-fg, #fff); letter-spacing: -.02em; max-width: 20ch; }
.exz-caso__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 18px 22px; margin: 0 0 34px; padding: 20px 0; border-top: 1px solid var(--exz-line); border-bottom: 1px solid var(--exz-line); }
.exz-caso__meta dt { margin: 0 0 5px; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--exz-muted); }
.exz-caso__meta dd { margin: 0; font-size: 15.5px; font-weight: 600; color: var(--exz-fg, #fff); }
.exz-caso__etapas { display: grid; gap: 28px; }
.exz-caso__et { display: flex; gap: 20px; align-items: flex-start; }
.exz-caso__num { flex: none; font: 650 14px/1 var(--exz-font-head); color: var(--exz-accent); padding-top: 5px; letter-spacing: .06em; }
.exz-caso__et h3 { margin: 0 0 8px; font: 650 19px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-caso__et p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--exz-fg2, rgba(238,242,249,.76)); max-width: 62ch; }
.exz-caso__nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--exz-line); }
.exz-caso__nums strong { display: block; font: 700 clamp(32px, 4vw, 44px)/1 var(--exz-font-head); color: var(--exz-fg, #fff); letter-spacing: -.02em; }
.exz-caso__nums span { display: block; margin-top: 7px; font-size: 14px; line-height: 1.45; color: var(--exz-muted); }

.exz-capap { position: relative; display: grid; align-items: end; min-height: var(--h, 130vh); border-radius: calc(var(--exz-radius) + 4px); overflow: hidden; isolation: isolate; }
.exz-capap__img { position: absolute; inset: 0; z-index: -1; background: var(--exz-surface); }
.exz-capap__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.exz-capap__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,calc(var(--esc, .5) * .5)) 0%, transparent 32%, rgba(0,0,0,calc(var(--esc, .5) + .2)) 100%); }
.exz-capap__vazio { position: absolute; inset: 0; display: grid; place-items: center; color: var(--exz-muted); }
.exz-capap__corpo { position: relative; padding: clamp(24px, 5vw, 56px); text-align: left; }
.exz-capap__k { display: inline-block; margin-bottom: 12px; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--exz-accent); }
.exz-capap__corpo h1 { margin: 0; font: 700 clamp(34px, 6.5vw, 76px)/1.05 var(--exz-font-head); color: var(--exz-fg, #fff); letter-spacing: -.03em; max-width: 16ch; }
.exz-capap__corpo p { margin: 16px 0 0; font-size: clamp(16px, 2vw, 19px); line-height: 1.6; color: rgba(255,255,255,.82); max-width: 54ch; }
.exz-capap__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.exz-capap__chips span { padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--exz-fg, #fff); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }

.exz-ficha { margin: 0; text-align: left; }
.exz-ficha--colunas { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 24px; }
.exz-ficha--lista { display: grid; gap: 0; }
.exz-ficha--lista > div { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--exz-line); }
.exz-ficha--lista > div:last-child { border-bottom: 0; }
.exz-ficha dt { margin: 0 0 6px; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--exz-muted); }
.exz-ficha--lista dt { margin: 0; flex: none; }
.exz-ficha dd { margin: 0; font-size: 15.5px; line-height: 1.5; color: var(--exz-fg, #fff); }
.exz-ficha--lista dd { text-align: right; font-weight: 600; }

.exz-indice { position: relative; margin: 0; padding: 0; list-style: none; text-align: left; }
.exz-indice li { position: relative; border-bottom: 1px solid var(--exz-line); }
.exz-indice li:first-child { border-top: 1px solid var(--exz-line); }
.exz-indice a, .exz-indice__a { display: flex; align-items: baseline; gap: 18px; padding: 22px 6px; text-decoration: none; color: inherit; transition: padding .4s var(--exz-ease), color .3s; }
.exz-indice a:hover { padding-left: 18px; }
.exz-indice__n { flex: none; font: 600 13px/1 var(--exz-font-head); color: var(--exz-muted); letter-spacing: .08em; transition: color .3s; }
.exz-indice__t { flex: 1; min-width: 0; font: 650 clamp(20px, 2.8vw, 30px)/1.25 var(--exz-font-head); color: var(--exz-fg, #fff); letter-spacing: -.01em; }
.exz-indice__m { flex: none; font-size: 13.5px; color: var(--exz-muted); }
.exz-indice__s { flex: none; display: inline-flex; color: var(--exz-muted); opacity: 0; transform: translateX(-8px); transition: opacity .35s, transform .35s var(--exz-ease); }
.exz-indice a:hover .exz-indice__s { opacity: 1; transform: translateX(0); color: var(--exz-accent); }
.exz-indice a:hover .exz-indice__n { color: var(--exz-accent); }
/* A imagem só entra em tela grande: no celular ela cobriria a própria lista. */
.exz-indice__img { display: none; }
@media (min-width: 900px) {
  .exz-indice__img { position: absolute; right: 4%; top: 50%; z-index: 2; display: block; width: 260px; aspect-ratio: 4/3; border-radius: 14px; overflow: hidden; pointer-events: none;
    opacity: 0; transform: translateY(-50%) scale(.94) rotate(-2deg); transition: opacity .4s var(--exz-ease), transform .5s var(--exz-ease); box-shadow: 0 30px 60px -24px rgba(0,0,0,.9); }
  .exz-indice__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .exz-indice li:hover .exz-indice__img { opacity: 1; transform: translateY(-50%) scale(1) rotate(0); }
}

.exz-edit { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--g, 16px); grid-auto-flow: dense; }
.exz-edit__i { position: relative; display: block; grid-column: span 2; border-radius: var(--exz-radius); overflow: hidden; text-decoration: none; color: inherit; background: var(--exz-surface); }
.exz-edit__i.is-largo { grid-column: span 4; }
.exz-edit__i.is-alto { grid-row: span 2; }
.exz-edit__i.is-grande { grid-column: span 2; grid-row: span 2; }
.exz-edit__img { display: block; width: 100%; height: 100%; min-height: 200px; }
.exz-edit__i.is-alto .exz-edit__img, .exz-edit__i.is-grande .exz-edit__img { min-height: 420px; }
.exz-edit__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--exz-ease); }
.exz-edit__img i { position: absolute; inset: 0; display: grid; place-items: center; color: var(--exz-muted); }
.exz-edit__i:hover .exz-edit__img img { transform: scale(1.05); }
.exz-edit__corpo { position: absolute; left: 0; right: 0; bottom: 0; display: grid; gap: 3px; padding: 22px; text-align: left;
  background: linear-gradient(transparent, rgba(0,0,0,.78)); opacity: 0; transform: translateY(10px); transition: opacity .4s, transform .4s var(--exz-ease); }
.exz-edit__i:hover .exz-edit__corpo, .exz-edit__i:focus-visible .exz-edit__corpo { opacity: 1; transform: translateY(0); }
.exz-edit__corpo strong { font: 650 17px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-edit__corpo em { font-style: normal; font-size: 13px; color: rgba(255,255,255,.7); }

.exz-res { text-align: left; }
.exz-res__t { margin: 0 0 18px; font: 650 22px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-res__l { margin: 0; padding: 0; list-style: none; display: grid; }
.exz-res__l li { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; padding: 18px 0; border-bottom: 1px solid var(--exz-line); }
.exz-res__l li:last-child { border-bottom: 0; }
.exz-res__rot { font-size: 15.5px; color: var(--exz-fg2, rgba(238,242,249,.8)); }
.exz-res__par { display: inline-flex; align-items: center; gap: 12px; flex: none; }
.exz-res__par s { font-size: 16px; color: var(--exz-muted); text-decoration-thickness: 1.5px; }
.exz-res__par i { display: inline-flex; color: var(--exz-accent); }
.exz-res__par b { font: 700 22px/1 var(--exz-font-head); color: var(--exz-fg, #fff); }

.exz-prem { margin: 0; padding: 0; list-style: none; text-align: left; }
.exz-prem li { display: flex; align-items: center; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--exz-line); }
.exz-prem li:last-child { border-bottom: 0; }
.exz-prem__a { flex: none; width: 52px; font: 600 14px/1 var(--exz-font-head); color: var(--exz-accent); }
.exz-prem__c { flex: 1; min-width: 0; display: grid; gap: 3px; }
.exz-prem__c strong { font-size: 16.5px; font-weight: 650; color: var(--exz-fg, #fff); }
.exz-prem__c em { font-style: normal; font-size: 13.5px; color: var(--exz-muted); }
.exz-prem__i { flex: none; display: inline-flex; color: var(--exz-muted); opacity: .5; }

.exz-serv { display: grid; grid-template-columns: repeat(var(--cols, 3), 1fr); gap: 20px; text-align: left; }
.exz-serv__i { padding: 26px 24px; border-radius: var(--exz-radius); background: rgba(255,255,255,.035); border: 1px solid var(--exz-line); transition: border-color .4s, transform .4s var(--exz-ease); }
.exz-serv__i:hover { border-color: rgba(var(--exz-accent-rgb), .3); transform: translateY(-3px); }
.exz-serv__ic { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: 13px; color: var(--exz-accent); background: rgba(var(--exz-primary-rgb), .14); }
.exz-serv__i h3 { margin: 0 0 8px; font: 650 18px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-serv__i p { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: var(--exz-fg2, rgba(238,242,249,.7)); }
.exz-serv__i ul { margin: 0; padding: 16px 0 0; list-style: none; display: grid; gap: 8px; border-top: 1px solid var(--exz-line); }
.exz-serv__i li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--exz-fg2, rgba(238,242,249,.75)); }
.exz-serv__i li .exz-ico { flex: none; margin-top: 2px; color: var(--exz-accent); }

.exz-faixa { margin-inline: calc(var(--exz-pad, 0px) * -1); }
.exz-faixa__t { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin; }
.exz-faixa__t::-webkit-scrollbar { height: 6px; }
.exz-faixa__t::-webkit-scrollbar-thumb { background: rgba(var(--exz-accent-rgb), .35); border-radius: 99px; }
.exz-faixa__i { flex: none; width: var(--w, 340px); scroll-snap-align: start; text-decoration: none; color: inherit; }
.exz-faixa__img { position: relative; display: block; aspect-ratio: var(--r, 4/5); border-radius: var(--exz-radius); overflow: hidden; background: var(--exz-surface); }
.exz-faixa__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s var(--exz-ease); }
.exz-faixa__img i { position: absolute; inset: 0; display: grid; place-items: center; color: var(--exz-muted); }
.exz-faixa__i:hover .exz-faixa__img img { transform: scale(1.04); }
.exz-faixa__c { display: grid; gap: 2px; padding: 13px 2px 0; text-align: left; }
.exz-faixa__c strong { font: 650 16px/1.3 var(--exz-font-head); color: var(--exz-fg, #fff); }
.exz-faixa__c em { font-style: normal; font-size: 13px; color: var(--exz-muted); }

.exz-cit { margin: 0; text-align: left; max-width: 780px; margin-inline: auto; }
.exz-cit__asp { display: inline-flex; color: var(--exz-accent); opacity: .5; margin-bottom: 8px; }
.exz-cit blockquote { margin: 0; font: 400 clamp(21px, 3vw, 30px)/1.45 var(--exz-font-accent, var(--exz-font-head)); color: var(--exz-fg, #fff); letter-spacing: -.01em; }
.exz-cit figcaption { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.exz-cit figcaption img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; flex: none; }
.exz-cit figcaption span { display: grid; gap: 2px; }
.exz-cit figcaption strong { font-size: 15.5px; font-weight: 650; color: var(--exz-fg, #fff); }
.exz-cit figcaption em { font-style: normal; font-size: 14px; color: var(--exz-muted); }

@media (max-width: 900px) {
  .exz-serv { grid-template-columns: 1fr; }
  .exz-edit { grid-template-columns: repeat(2, 1fr); }
  .exz-edit__i.is-largo { grid-column: span 2; }
  .exz-edit__i.is-grande { grid-column: span 2; grid-row: span 1; }
  .exz-edit__i.is-alto { grid-row: span 1; }
  .exz-edit__i.is-alto .exz-edit__img, .exz-edit__i.is-grande .exz-edit__img { min-height: 240px; }
  /* No celular não existe passar o mouse: o texto da peça fica sempre visível. */
  .exz-edit__corpo { opacity: 1; transform: none; }
}
@media (max-width: 640px) {
  .exz-caso__et { gap: 14px; }
  .exz-indice a, .exz-indice__a { flex-wrap: wrap; gap: 6px 14px; padding: 18px 4px; }
  .exz-indice__t { flex: 1 1 100%; order: 2; }
  .exz-indice__m { order: 3; }
  .exz-indice__s { order: 4; opacity: 1; transform: none; }
  .exz-res__l li { flex-direction: column; align-items: flex-start; gap: 10px; }
  .exz-ficha--lista > div { flex-direction: column; gap: 4px; }
  .exz-ficha--lista dd { text-align: left; }
}

@media (max-width: 640px) {
  .exz-prova { justify-content: flex-start; }
  .exz-gar { flex-direction: column; text-align: center; gap: 16px; }
  .exz-bonus__lista li { flex-wrap: wrap; }
  .exz-comp__tab { font-size: 14px; }
  .exz-comp__tab th, .exz-comp__tab td { padding: 11px 9px; }
  .exz-comp__tab thead th:first-child { width: 44%; }
  .exz-barra { gap: 11px; padding: 12px 15px; }
  .exz-barra .exz-btn { width: 100%; }
}

/* Abas ------------------------------------------------------------------------------------------------- */
.exz-tabs__list { position: relative; display: flex; gap: 4px; padding: 5px; margin-bottom: 22px; border-radius: 16px; background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 1px var(--exz-line); overflow-x: auto; scrollbar-width: none; }
.exz .exz-tabs__list button { position: relative; z-index: 1; flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 16px; border-radius: 12px; font-weight: 650; font-size: 15px; color: var(--exz-muted); white-space: nowrap; transition: color .3s; }
.exz .exz-tabs__list button[aria-selected=true], .exz .exz-tabs__list button[aria-selected=true]:hover { color: var(--exz-fg, #fff); }
.exz-tabs__ink { position: absolute; top: 5px; bottom: 5px; left: var(--l, 5px); width: var(--w, 0); border-radius: 12px; background: linear-gradient(135deg, rgba(var(--exz-primary-rgb), .9), var(--exz-deep)); box-shadow: 0 8px 20px -8px rgba(var(--exz-primary-rgb), .9); transition: left .5s var(--exz-ease), width .5s var(--exz-ease); }
.exz-tabs__pane { animation: exz-in .5s var(--exz-ease); }
@keyframes exz-in { from { opacity: 0; transform: translateY(8px); } }

/* Linha do tempo ------------------------------------------------------------------------------------------ */
.exz-tl { list-style: none; position: relative; display: grid; gap: 22px; padding-left: 58px !important; text-align: left; }
.exz-tl::before { content: ""; position: absolute; left: 21px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(var(--exz-accent), rgba(var(--exz-primary-rgb), .15)); box-shadow: 0 0 12px rgba(var(--exz-primary-rgb), .6); }
.exz-tl li { position: relative; }
.exz-tl__dot { position: absolute; left: -58px; top: 14px; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: var(--exz-fg, #fff); background: radial-gradient(circle at 30% 25%, #8fb8ff, var(--exz-primary) 45%, var(--exz-deep)); box-shadow: 0 0 0 6px var(--exz-bg), 0 0 22px rgba(var(--exz-primary-rgb), .8); }
.exz-tl__card { padding: 20px 24px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid var(--exz-line); }
.exz-tl__card small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--exz-accent); margin-bottom: 4px; }
.exz-tl__card h3 { font-size: 19px; margin-bottom: 4px; }
.exz-tl__card p { color: var(--exz-muted); font-size: 15px; }

/* Título animado ------------------------------------------------------------------------------------------ */
.exz-ah__w { display: inline-block; color: var(--exz-accent); transition: opacity .35s, transform .45s var(--exz-ease), filter .35s; }
.exz-ah--rotate .exz-ah__w.is-out { opacity: 0; transform: translateY(-.35em) rotateX(60deg); filter: blur(4px); }
.exz-ah--type .exz-ah__w { border-right: .08em solid var(--exz-accent); padding-right: .06em; animation: exz-caret 1s steps(1) infinite; }
@keyframes exz-caret { 50% { border-color: transparent; } }
.exz-ah--gradient .exz-ah__w { background: linear-gradient(100deg, var(--exz-accent), #fff, var(--exz-primary), var(--exz-accent)); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: exz-shine 4s linear infinite; }

/* Site: logo, menu, posts, direitos ----------------------------------------------------------------------- */
.exz-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--exz-fg, #fff); font-family: var(--exz-font-head); font-weight: 800; font-size: 18px; letter-spacing: -.01em; }
.exz-logo__mark { --h: 42px; position: relative; display: grid; place-items: center; width: var(--h); height: var(--h); flex: none; border-radius: 50%; }
.exz-logo__mark img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; position: relative; z-index: 1; }
.exz-logo__mark.is-ring { padding: 3px; }
.exz-logo__mark.is-ring::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from var(--exz-a), transparent 0 40%, var(--exz-accent) 62%, #fff 70%, var(--exz-primary) 80%, transparent 94%); animation: exz-spin 3s linear infinite; filter: drop-shadow(0 0 6px rgba(var(--exz-primary-rgb), .9)); }
.exz-logo__mark.is-ring::after { content: ""; position: absolute; inset: 2px; border-radius: 50%; background: var(--exz-bg); }
.exz-logo__name { white-space: nowrap; }
.exz-menu { display: flex; justify-content: var(--exz-jc, flex-end); }
.exz-menu__list { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.exz-menu__list li { position: relative; list-style: none; }
.exz-menu__list a { display: block; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-weight: 550; color: var(--exz-fg2, rgba(238,242,249,.82)); transition: color .25s, background .25s; }
.exz-menu__list a:hover, .exz-menu__list .current-menu-item > a { color: var(--exz-fg, #fff); background: rgba(255,255,255,.06); }
.exz-menu__list .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--exz-accent); }
.exz-menu__list .sub-menu { position: absolute; top: 100%; left: 0; min-width: 210px; padding: 8px; border-radius: 14px; background: rgba(9,14,28,.96); border: 1px solid var(--exz-line); box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .3s var(--exz-ease); z-index: 20; }
.exz-menu__list li:hover > .sub-menu, .exz-menu__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.exz .exz-menu__toggle { display: none; width: 44px; height: 44px; border-radius: 12px; place-items: center; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px var(--exz-line); }
.exz-menu__toggle i, .exz-menu__toggle i::before, .exz-menu__toggle i::after { display: block; width: 18px; height: 1.8px; border-radius: 2px; background: #fff; transition: .35s var(--exz-ease); }
.exz-menu__toggle i { position: relative; }
.exz-menu__toggle i::before, .exz-menu__toggle i::after { content: ""; position: absolute; left: 0; }
.exz-menu__toggle i::before { top: -6px; } .exz-menu__toggle i::after { top: 6px; }
.exz-menu.is-open .exz-menu__toggle i { background: transparent; }
.exz-menu.is-open .exz-menu__toggle i::before { top: 0; transform: rotate(45deg); }
.exz-menu.is-open .exz-menu__toggle i::after { top: 0; transform: rotate(-45deg); }
@media (max-width: 900px) {
  .exz .exz-menu__toggle { display: grid; margin-left: auto; }
  .exz-menu__panel { position: fixed; left: 12px; right: 12px; top: 72px; z-index: 80; padding: 12px; border-radius: 20px; background: rgba(7,11,22,.97); border: 1px solid var(--exz-line); box-shadow: 0 40px 80px -20px rgba(0,0,0,.9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); opacity: 0; visibility: hidden; transform: translateY(-10px) scale(.98); transition: .35s var(--exz-ease); max-height: calc(100vh - 100px); overflow: auto; }
  .exz-menu.is-open .exz-menu__panel { opacity: 1; visibility: visible; transform: none; }
  .exz-menu__list { flex-direction: column; align-items: stretch; }
  .exz-menu__list a { padding: 14px 16px; font-size: 16px; }
  .exz-menu__list .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; background: none; padding: 0 0 0 14px; }
  .exz-dyn-prev .exz-menu__panel { position: static; opacity: 1; visibility: visible; transform: none; display: none; }
}
.exz-posts { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 20px; }
.exz-post { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--exz-radius); background: rgba(255,255,255,.035); border: 1px solid var(--exz-line); transition: transform .45s var(--exz-ease), border-color .45s, box-shadow .45s; }
.exz-post:hover { transform: translateY(-4px); border-color: rgba(var(--exz-accent-rgb), .35); box-shadow: 0 30px 60px -30px rgba(var(--exz-primary-rgb), .7); }
.exz-post__img { display: block; aspect-ratio: 16/9; background: radial-gradient(200px 120px at 50% 120%, rgba(var(--exz-primary-rgb), .5), transparent), #0a1024; overflow: hidden; }
.exz-post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--exz-ease); }
.exz-post:hover .exz-post__img img { transform: scale(1.05); }
.exz-post__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 24px; flex: 1; text-align: left; }
.exz-post__body small { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--exz-accent); }
.exz-post__body strong { font-size: 18px; line-height: 1.3; color: var(--exz-fg, #fff); }
.exz-post__body em { font-style: normal; font-size: 14.5px; color: var(--exz-muted); flex: 1; }
.exz-post__body b { font-size: 14px; color: var(--exz-accent); }
.exz-copy { font-size: 14px; color: var(--exz-muted); }
.exz-sc-prev { display: flex; align-items: center; gap: 10px; padding: 16px; border-radius: 12px; border: 1px dashed rgba(var(--exz-accent-rgb), .35); color: var(--exz-accent); font: 500 14px var(--exz-font); }

/* Cenas das seções ------------------------------------------------------------------------------------------ */
.exz-scene { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.exz-scene--glow { background: radial-gradient(700px 380px at 50% 0, rgba(var(--exz-primary-rgb), .3), transparent 70%); }
.exz-scene--grid { background-image: linear-gradient(rgba(var(--exz-accent-rgb), .09) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--exz-accent-rgb), .09) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask: radial-gradient(ellipse 70% 60% at 50% 30%, #000, transparent 75%); mask: radial-gradient(ellipse 70% 60% at 50% 30%, #000, transparent 75%); }
.exz-scene--grid::after { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 300px at 50% 0, rgba(var(--exz-primary-rgb), .25), transparent 70%); }
.exz-scene--orbs i { position: absolute; border-radius: 50%; filter: blur(2px); background: radial-gradient(circle at 30% 25%, rgba(190,212,255,.9), rgba(var(--exz-primary-rgb), .85) 40%, rgba(12,58,209,.5) 70%, transparent 72%); animation: exz-float 10s ease-in-out infinite; opacity: .55; }
.exz-scene--orbs i:nth-child(1) { width: 220px; height: 220px; left: -60px; top: 12%; }
.exz-scene--orbs i:nth-child(2) { width: 120px; height: 120px; right: 6%; top: 8%; animation-delay: -4s; }
.exz-scene--orbs i:nth-child(3) { width: 160px; height: 160px; right: 16%; bottom: -40px; animation-delay: -7s; opacity: .35; }
.exz-scene--aurora { overflow: hidden; }
.exz-scene--aurora i { position: absolute; width: 70%; height: 80%; border-radius: 50%; filter: blur(90px); opacity: .5; animation: exz-aurora 18s ease-in-out infinite alternate; }
.exz-scene--aurora i:nth-child(1) { left: -10%; top: -30%; background: var(--exz-primary); }
.exz-scene--aurora i:nth-child(2) { right: -15%; top: 10%; background: var(--exz-deep); animation-delay: -9s; }
.exz-scene--particles { width: 100%; height: 100%; }

/* Cenas 3D ---------------------------------------------------------
 * Todas em CSS puro, sem imagem e sem biblioteca: pesam quase nada
 * e seguem as cores do kit.
 */
.exz-scene--malha { perspective: 320px; overflow: hidden; }
.exz-malha__piso { position: absolute; left: -50%; right: -50%; bottom: -10%; height: 130%; transform: rotateX(72deg); transform-origin: 50% 100%;
  background-image: linear-gradient(rgba(var(--exz-accent-rgb), .30) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--exz-accent-rgb), .30) 1px, transparent 1px);
  background-size: 68px 68px; animation: exz-malha 7s linear infinite;
  -webkit-mask: linear-gradient(to top, #000 4%, transparent 62%); mask: linear-gradient(to top, #000 4%, transparent 62%); }
.exz-malha__ceu { position: absolute; inset: 0; background: radial-gradient(60% 42% at 50% 62%, rgba(var(--exz-primary-rgb), .38), transparent 70%); }
@keyframes exz-malha { to { background-position: 0 68px, 0 0; } }

.exz-scene--prisma { overflow: hidden; }
.exz-scene--prisma i { position: absolute; top: -30%; left: 50%; width: 12%; height: 170%; transform-origin: 50% 0; filter: blur(22px); opacity: .40; mix-blend-mode: screen; animation: exz-prisma 12s ease-in-out infinite alternate; }
.exz-scene--prisma i:nth-child(1) { background: var(--exz-primary); transform: rotate(-26deg); }
.exz-scene--prisma i:nth-child(2) { background: var(--exz-accent); transform: rotate(-12deg); animation-delay: -2s; }
.exz-scene--prisma i:nth-child(3) { background: #ffffff; opacity: .16; transform: rotate(1deg); animation-delay: -4s; }
.exz-scene--prisma i:nth-child(4) { background: var(--exz-accent); transform: rotate(14deg); animation-delay: -6s; }
.exz-scene--prisma i:nth-child(5) { background: var(--exz-deep); transform: rotate(28deg); animation-delay: -8s; }
@keyframes exz-prisma { to { opacity: .58; filter: blur(34px); } }

.exz-scene--raios { overflow: hidden; }
.exz-scene--raios div { position: absolute; left: 50%; top: 8%; width: 180vmax; height: 180vmax; margin: -90vmax 0 0 -90vmax;
  background: repeating-conic-gradient(from 0deg, rgba(var(--exz-accent-rgb), .16) 0deg 5deg, transparent 5deg 16deg);
  animation: exz-spin-lento 46s linear infinite;
  -webkit-mask: radial-gradient(closest-side, #000 8%, transparent 62%); mask: radial-gradient(closest-side, #000 8%, transparent 62%); }
@keyframes exz-spin-lento { to { transform: rotate(360deg); } }

.exz-scene--nebula { overflow: hidden; }
.exz-scene--nebula i { position: absolute; border-radius: 45% 55% 52% 48%; filter: blur(70px); opacity: .42; mix-blend-mode: screen; animation: exz-nebula 26s ease-in-out infinite alternate; }
.exz-scene--nebula i:nth-child(1) { width: 62%; height: 78%; left: -8%; top: -18%; background: var(--exz-primary); }
.exz-scene--nebula i:nth-child(2) { width: 54%; height: 66%; right: -6%; top: 6%; background: var(--exz-deep); animation-delay: -7s; }
.exz-scene--nebula i:nth-child(3) { width: 44%; height: 52%; left: 22%; bottom: -22%; background: var(--exz-accent); opacity: .3; animation-delay: -13s; }
.exz-scene--nebula i:nth-child(4) { width: 26%; height: 30%; right: 26%; bottom: 4%; background: #ffffff; opacity: .1; animation-delay: -19s; }
@keyframes exz-nebula { to { transform: translate3d(4%, -5%, 0) scale(1.14); border-radius: 55% 45% 48% 52%; } }

.exz-scene--cubos { perspective: 900px; overflow: hidden; }
.exz-scene--cubos i { position: absolute; width: 74px; height: 74px; transform-style: preserve-3d; animation: exz-cubo 20s linear infinite; opacity: .5; }
.exz-scene--cubos i b { position: absolute; inset: 0; border: 1px solid rgba(var(--exz-accent-rgb), .55); background: rgba(var(--exz-primary-rgb), .09); }
.exz-scene--cubos i b:nth-child(1) { transform: translateZ(37px); }
.exz-scene--cubos i b:nth-child(2) { transform: rotateY(180deg) translateZ(37px); }
.exz-scene--cubos i b:nth-child(3) { transform: rotateY(90deg) translateZ(37px); }
.exz-scene--cubos i b:nth-child(4) { transform: rotateY(-90deg) translateZ(37px); }
.exz-scene--cubos i b:nth-child(5) { transform: rotateX(90deg) translateZ(37px); }
.exz-scene--cubos i b:nth-child(6) { transform: rotateX(-90deg) translateZ(37px); }
.exz-scene--cubos i:nth-child(1) { left: 6%; top: 14%; animation-duration: 24s; }
.exz-scene--cubos i:nth-child(2) { right: 10%; top: 8%; animation-duration: 30s; animation-delay: -6s; transform: scale(.7); }
.exz-scene--cubos i:nth-child(3) { left: 22%; bottom: 10%; animation-duration: 27s; animation-delay: -11s; opacity: .3; }
.exz-scene--cubos i:nth-child(4) { right: 24%; bottom: 16%; animation-duration: 21s; animation-delay: -3s; transform: scale(1.3); }
.exz-scene--cubos i:nth-child(5) { left: 46%; top: 6%; animation-duration: 33s; animation-delay: -15s; opacity: .26; transform: scale(.55); }
.exz-scene--cubos i:nth-child(6) { right: 44%; bottom: 4%; animation-duration: 29s; animation-delay: -20s; opacity: .34; }
@keyframes exz-cubo { to { transform: rotateX(360deg) rotateY(360deg); } }

.exz-scene--ondas { overflow: hidden; perspective: 600px; }
.exz-scene--ondas i { position: absolute; left: -25%; right: -25%; bottom: -14%; height: 62%; border-radius: 42%;
  background: radial-gradient(60% 100% at 50% 0, rgba(var(--exz-primary-rgb), .5), transparent 72%);
  animation: exz-onda 14s ease-in-out infinite; opacity: .5; }
.exz-scene--ondas i:nth-child(2) { bottom: -22%; animation-delay: -3.5s; background: radial-gradient(60% 100% at 50% 0, rgba(var(--exz-accent-rgb), .42), transparent 72%); }
.exz-scene--ondas i:nth-child(3) { bottom: -30%; animation-delay: -7s; opacity: .34; }
.exz-scene--ondas i:nth-child(4) { bottom: -38%; animation-delay: -10.5s; opacity: .22; }
@keyframes exz-onda { 50% { transform: translateY(-16px) scaleX(1.06); } }

.exz-scene--tunel { overflow: hidden; perspective: 700px; }
.exz-scene--tunel i { position: absolute; left: 50%; top: 50%; width: 56vmax; height: 56vmax; margin: -28vmax 0 0 -28vmax; border-radius: 50%;
  border: 1px solid rgba(var(--exz-accent-rgb), .40); animation: exz-tunel 6s linear infinite; opacity: 0; }
.exz-scene--tunel i:nth-child(2) { animation-delay: -.85s; }
.exz-scene--tunel i:nth-child(3) { animation-delay: -1.7s; }
.exz-scene--tunel i:nth-child(4) { animation-delay: -2.55s; }
.exz-scene--tunel i:nth-child(5) { animation-delay: -3.4s; }
.exz-scene--tunel i:nth-child(6) { animation-delay: -4.25s; }
.exz-scene--tunel i:nth-child(7) { animation-delay: -5.1s; }
@keyframes exz-tunel { from { transform: translateZ(-900px) scale(.2); opacity: 0; } 22% { opacity: .55; } to { transform: translateZ(300px) scale(1.5); opacity: 0; } }

.exz-scene--poeira { width: 100%; height: 100%; }

/* Cenas discretas ---------------------------------------------------
 * Para página de venda o fundo tem uma função só: dar profundidade sem
 * puxar o olho. Por isso aqui tudo é lento, sem contorno duro e com
 * opacidade baixa. Elas seguem o kit igual às outras.
 */
.exz-scene--seda { overflow: hidden; }
.exz-scene--seda i { position: absolute; width: 90%; height: 90%; border-radius: 46% 54% 50% 50%; filter: blur(90px); opacity: .20;
  animation: exz-seda 34s ease-in-out infinite alternate; }
.exz-scene--seda i:nth-child(1) { left: -18%; top: -26%; background: var(--exz-primary); }
.exz-scene--seda i:nth-child(2) { right: -22%; top: 6%; background: var(--exz-accent); animation-delay: -12s; }
.exz-scene--seda i:nth-child(3) { left: 18%; bottom: -40%; background: var(--exz-deep); animation-delay: -23s; }
@keyframes exz-seda { to { transform: translate(6%, -5%) rotate(16deg) scale(1.12); } }

.exz-scene--halo { background: radial-gradient(760px 420px at 50% 34%, rgba(var(--exz-accent-rgb), .20), transparent 68%); }
.exz-scene--halo::after { content: ""; position: absolute; left: 50%; top: 34%; width: 420px; height: 420px; margin: -210px 0 0 -210px; border-radius: 50%;
  border: 1px solid rgba(var(--exz-accent-rgb), .16); }

.exz-scene--linhas { overflow: hidden; -webkit-mask: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent); mask: linear-gradient(180deg, transparent, #000 22%, #000 78%, transparent); }
.exz-scene--linhas i { position: absolute; top: -20%; width: 1px; height: 140%;
  background: linear-gradient(180deg, transparent, rgba(var(--exz-accent-rgb), .42), transparent);
  animation: exz-linhas 9s linear infinite; opacity: 0; }
.exz-scene--linhas i:nth-child(1) { left: 8%; }
.exz-scene--linhas i:nth-child(2) { left: 22%; animation-delay: -1.3s; }
.exz-scene--linhas i:nth-child(3) { left: 36%; animation-delay: -2.6s; }
.exz-scene--linhas i:nth-child(4) { left: 52%; animation-delay: -3.9s; }
.exz-scene--linhas i:nth-child(5) { left: 67%; animation-delay: -5.2s; }
.exz-scene--linhas i:nth-child(6) { left: 81%; animation-delay: -6.5s; }
.exz-scene--linhas i:nth-child(7) { left: 93%; animation-delay: -7.8s; }
@keyframes exz-linhas { 0% { transform: translateY(-30%); opacity: 0; } 30% { opacity: .9; } 70% { opacity: .9; } 100% { transform: translateY(30%); opacity: 0; } }

.exz-scene--veu { overflow: hidden; }
.exz-scene--veu i { position: absolute; left: -30%; right: -30%; height: 46%; filter: blur(40px); opacity: .17;
  background: linear-gradient(100deg, transparent, rgba(var(--exz-accent-rgb), .8), transparent);
  animation: exz-veu 26s ease-in-out infinite alternate; }
.exz-scene--veu i:nth-child(1) { top: 4%; transform: rotate(-8deg); }
.exz-scene--veu i:nth-child(2) { top: 38%; transform: rotate(5deg); animation-delay: -9s; }
.exz-scene--veu i:nth-child(3) { bottom: 2%; transform: rotate(-4deg); animation-delay: -18s; }
@keyframes exz-veu { to { transform: translateX(7%) rotate(3deg); opacity: .26; } }

.exz-scene--marmore { overflow: hidden; }
.exz-scene--marmore i { position: absolute; inset: -30%; filter: blur(74px); opacity: .20; mix-blend-mode: screen;
  animation: exz-marmore 40s ease-in-out infinite alternate; }
.exz-scene--marmore i:nth-child(1) { background: conic-gradient(from 0deg at 35% 40%, transparent, rgba(var(--exz-primary-rgb), .85), transparent 55%); }
.exz-scene--marmore i:nth-child(2) { background: conic-gradient(from 140deg at 70% 60%, transparent, rgba(var(--exz-accent-rgb), .7), transparent 50%); animation-delay: -14s; }
.exz-scene--marmore i:nth-child(3) { background: conic-gradient(from 250deg at 50% 80%, transparent, rgba(var(--exz-deep-rgb, var(--exz-primary-rgb)), .6), transparent 45%); animation-delay: -27s; }
@keyframes exz-marmore { to { transform: rotate(26deg) scale(1.18); } }

.exz-scene--vinheta { background: radial-gradient(120% 90% at 50% 40%, transparent 42%, rgba(0,0,0,.55)); }
.exz-scene--vinheta i { position: absolute; inset: 0; opacity: .16; mix-blend-mode: overlay;
  background-image: radial-gradient(rgba(255,255,255,.9) .5px, transparent .5px); background-size: 3px 3px;
  animation: exz-grao 1.2s steps(3) infinite; }
@keyframes exz-grao { 0% { transform: translate(0, 0); } 33% { transform: translate(-1px, 1px); } 66% { transform: translate(1px, -1px); } }

.exz-scene--reticula { background-image: radial-gradient(rgba(var(--exz-accent-rgb), .30) 1px, transparent 1px); background-size: 22px 22px;
  -webkit-mask: radial-gradient(ellipse 62% 56% at 50% 38%, #000, transparent 76%); mask: radial-gradient(ellipse 62% 56% at 50% 38%, #000, transparent 76%); }

.exz-scene--luar { overflow: hidden; }
.exz-scene--luar i { position: absolute; top: -40%; left: 50%; width: 46%; height: 180%; transform-origin: 50% 0;
  background: linear-gradient(180deg, rgba(var(--exz-accent-rgb), .22), transparent 68%); filter: blur(28px);
  animation: exz-luar 22s ease-in-out infinite alternate; }
.exz-scene--luar i:nth-child(1) { margin-left: -38%; transform: rotate(-13deg); }
.exz-scene--luar i:nth-child(2) { margin-left: -8%; transform: rotate(9deg); animation-delay: -11s; opacity: .7; }
@keyframes exz-luar { to { opacity: .45; filter: blur(38px); } }

@media (prefers-reduced-motion: reduce) {
  .exz-malha__piso, .exz-scene--prisma i, .exz-scene--raios div, .exz-scene--nebula i,
  .exz-scene--cubos i, .exz-scene--ondas i, .exz-scene--tunel i,
  .exz-scene--seda i, .exz-scene--linhas i, .exz-scene--veu i, .exz-scene--marmore i,
  .exz-scene--vinheta i, .exz-scene--luar i { animation: none; }
  .exz-scene--tunel i { opacity: .3; }
  .exz-scene--linhas i { opacity: .5; }
}
@keyframes exz-aurora { to { transform: translate(12%, 10%) rotate(20deg) scale(1.15); } }
@keyframes exz-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-22px); } }
@keyframes exz-pulse { 0%, 100% { opacity: .55; transform: scale(.95); } 50% { opacity: .9; transform: scale(1.08); } }

/* Efeitos gerais ---------------------------------------------------------------------------------------------- */
.exz-js .exz-anim { opacity: 0; transition: opacity .9s var(--exz-ease), transform 1s var(--exz-ease), filter .9s; transition-delay: var(--exz-delay, 0s); }
.exz-js .exz-anim--up { transform: translateY(34px); }
.exz-js .exz-anim--left { transform: translateX(-40px); }
.exz-js .exz-anim--right { transform: translateX(40px); }
.exz-js .exz-anim--zoom { transform: scale(.92); }
.exz-js .exz-anim--blur { filter: blur(12px); }
.exz-js .exz-anim--flip { transform: perspective(900px) rotateX(24deg) translateY(30px); transform-origin: 50% 100%; }
.exz-js .exz-anim.is-in { opacity: 1; transform: none; filter: none; }
.exz-h-lift { transition: transform .45s var(--exz-ease), box-shadow .45s; }
.exz-h-lift:hover { transform: translateY(-6px); }
.exz-h-glow { transition: filter .45s, box-shadow .45s; border-radius: var(--exz-radius); }
.exz-h-glow:hover { filter: drop-shadow(0 18px 36px rgba(var(--exz-primary-rgb), .55)); }
.exz-h-scale { transition: transform .45s var(--exz-ease); }
.exz-h-scale:hover { transform: scale(1.03); }
.exz-l-float { animation: exz-float 6s ease-in-out infinite; }
.exz-l-pulse { animation: exz-pulse 3.5s ease-in-out infinite; }
.exz-l-spin .exz-ico { animation: exz-spin-r 8s linear infinite; }
.exz-b-light { isolation: isolate; border-radius: var(--exz-radius); }
.exz-b-light::before { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit; padding: 1.5px; background: conic-gradient(from var(--exz-a), rgba(var(--exz-accent-rgb), .15) 0 55%, var(--exz-accent) 70%, #fff 75%, var(--exz-primary) 83%, rgba(var(--exz-accent-rgb), .15) 95%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: exz-spin 4.5s linear infinite; }
.exz-b-line { border: 1px solid var(--exz-line); border-radius: var(--exz-radius); }
.exz-sh-soft { box-shadow: 0 24px 50px -26px rgba(0,0,0,.8); }
.exz-sh-glow { box-shadow: 0 30px 70px -30px rgba(var(--exz-primary-rgb), .85); }
.exz-sh-deep { box-shadow: 0 50px 100px -40px rgba(0,0,0,.95), 0 0 0 1px rgba(255,255,255,.05); }
.exz-parallax { will-change: transform; }
.exz-col.exz-b-light, .exz-w.exz-b-light, .exz-col[class*="exz-sh-"] { border-radius: var(--exz-radius); }

/* Responsivo ---------------------------------------------------------------------------------------------------- */
@media (min-width: 1025px) { .exz-hide-d { display: none !important; } }
@media (min-width: 681px) and (max-width: 1024px) { .exz-hide-t { display: none !important; } }
@media (max-width: 1024px) {
  .exz-price__grid { grid-template-columns: repeat(min(var(--n, 3), 2), minmax(0, 1fr)); }
  .exz-testi { grid-template-columns: repeat(min(var(--cols, 3), 2), minmax(0, 1fr)); }
  .exz-posts { grid-template-columns: repeat(min(var(--cols, 3), 2), minmax(0, 1fr)); }
  .exz-gal { grid-template-columns: repeat(min(var(--cols, 3), 3), minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .exz-hide-m { display: none !important; }
  .exz { font-size: 16px; }
  .exz-sec__in { padding: 0 18px; }
  .exz-col__in { gap: 16px; }
  .exz-price__grid, .exz-testi, .exz-posts { grid-template-columns: 1fr; }
  .exz-price__grid { gap: 26px; }
  .exz-gal { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .exz-form { grid-template-columns: 1fr; }
  .exz-form__f { grid-column: 1 / -1; }
  .exz-cta { flex-direction: column; align-items: flex-start; text-align: left; }
  .exz-cta .exz-btn { width: 100%; }
  .exz-ibox--left { flex-direction: column; }
  .exz-ibox.is-card { padding: 24px; }
  .exz-plan { padding: 28px 22px; }
  .exz-cd__grid { gap: 8px; }
  .exz-cd__grid div { min-width: 0; padding: 12px 6px 10px; }
  .exz-c3d__stage { height: 380px; }
  .exz-c3d__slide { transform: translateX(calc(var(--o, 0) * 90%)) translateZ(calc(var(--ao, 0) * -200px)) rotateY(calc(var(--o, 0) * -20deg)); }
  .exz-video__play { width: 68px; height: 68px; margin: -34px 0 0 -34px; }
  .exz-tl { padding-left: 50px !important; }
  .exz-tl__dot { left: -50px; width: 38px; height: 38px; }
  .exz-tl::before { left: 18px; }
  .exz .exz-btn--lg { padding: 16px 24px; font-size: 16px; }
  .exz-price__switch button { padding: 9px 14px; font-size: 13.5px; }
  .exz-kicker { font-size: 11.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .exz *, .exz *::before, .exz *::after { animation-duration: .001s !important; animation-iteration-count: 1 !important; transition-duration: .001s !important; }
  .exz-js .exz-anim { opacity: 1; transform: none; filter: none; }
}

/* Popup ------------------------------------------------------------------------------------------ */
.exz-pop { position: fixed; inset: 0; z-index: 99990; display: grid; place-items: center; padding: 20px; background: rgba(2,4,10,.72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; transition: opacity .35s; }
.exz-pop[hidden] { display: none; }
.exz-pop.is-open { opacity: 1; }
.exz-pop__box { position: relative; width: min(460px, 100%); max-height: 90vh; overflow: auto; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 38px 30px 30px; border-radius: 26px; text-align: center; background: radial-gradient(420px 200px at 50% 0, rgba(var(--exz-primary-rgb), .35), transparent 70%), linear-gradient(170deg, #0e1838, #070b18); box-shadow: 0 0 0 1px rgba(var(--exz-accent-rgb), .3), 0 50px 120px -30px rgba(0,0,0,.9), 0 0 80px -30px rgba(var(--exz-primary-rgb), .8); transform: translateY(18px) scale(.97); transition: transform .45s var(--exz-ease); isolation: isolate; }
.exz-pop.is-open .exz-pop__box { transform: none; }
.exz-pop__box h3 { font-size: clamp(22px, 3vw, 28px); line-height: 1.2; letter-spacing: -.02em; }
.exz-pop__box p { color: var(--exz-fg2, rgba(238,242,249,.78)); }
.exz-pop__img { width: 100%; max-height: 220px; object-fit: cover; border-radius: 16px; }
.exz .exz-pop__x { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-size: 22px; line-height: 1; color: var(--exz-fg, #fff); background: rgba(255,255,255,.08); }
.exz .exz-pop__x:hover { background: rgba(255,255,255,.18); }
.exz-pop.is-edit { position: relative; inset: auto; z-index: 1; padding: 30px 16px; opacity: 1; background: repeating-linear-gradient(45deg, rgba(var(--exz-accent-rgb), .04) 0 12px, transparent 12px 24px); border: 1.5px dashed rgba(var(--exz-accent-rgb), .35); border-radius: var(--exz-radius); backdrop-filter: none; }
.exz-pop.is-edit .exz-pop__box { transform: none; }
.exz-pop__hint { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); padding: 5px 12px; border-radius: 99px; font-size: 11.5px; font-weight: 700; color: var(--exz-fg, #fff); white-space: nowrap; background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); }

/* Botão flutuante -------------------------------------------------------------------------------- */
.exz-float { position: fixed; bottom: 22px; z-index: 9990; display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 20px 0 16px; border-radius: 99px; color: var(--exz-fg, #fff) !important; font-weight: 700; font-size: 15px; box-shadow: 0 16px 40px -12px rgba(0,0,0,.6); transition: transform .35s var(--exz-ease); }
.exz-float:hover { transform: translateY(-3px) scale(1.03); }
.exz-float--right { right: 22px; } .exz-float--left { left: 22px; }
.exz-float--green { background: linear-gradient(135deg, #25d366, #128c4a); }
.exz-float--blue { background: linear-gradient(150deg, var(--exz-accent), var(--exz-deep)); }
.exz-float.is-icon { width: 60px; height: 60px; padding: 0; justify-content: center; }
.exz-float.is-pulse::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: 0 0 0 0 currentColor; color: rgba(37,211,102,.6); animation: exz-wave 2.2s ease-out infinite; z-index: -1; }
.exz-float--blue.is-pulse::before { color: rgba(var(--exz-primary-rgb), .6); }
@keyframes exz-wave { to { box-shadow: 0 0 0 22px transparent; } }
.exz-float.is-edit { position: relative; bottom: auto; left: auto; right: auto; }
/* Botão do site todo: entra depois que a pessoa rola, sem tapar o começo da página. */
.exz-float--late { opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity .4s var(--exz-ease), transform .4s var(--exz-ease); }
/* A classe entra no próprio elemento: assim funciona mesmo se a página separar o botão do balão. */
.exz-float--late.is-on, .exz-float-wrap.is-on .exz-float--late { opacity: 1; transform: none; pointer-events: auto; }
.exz-float-tip { position: fixed; bottom: 30px; z-index: 9989; display: flex; align-items: center; gap: 10px; max-width: min(300px, calc(100vw - 120px)); padding: 12px 34px 12px 16px; border-radius: 16px; background: var(--exz-surface); color: var(--exz-text); font-size: 14px; line-height: 1.4; border: 1px solid var(--exz-line); box-shadow: 0 16px 40px -14px rgba(0,0,0,.7); }
.exz-float-tip--right { right: 96px; } .exz-float-tip--left { left: 96px; }
.exz-float-tip.is-off { display: none; }
.exz-float-tip__x { position: absolute; top: 6px; right: 8px; width: 22px; height: 22px; border: 0; border-radius: 50%; background: none; color: var(--exz-muted); font-size: 17px; line-height: 1; cursor: pointer; }
.exz-float-tip__x:hover { color: var(--exz-text); }
@media (max-width: 680px) { .exz-float-tip { bottom: 84px; max-width: calc(100vw - 32px); } .exz-float-tip--right { right: 16px; } .exz-float-tip--left { left: 16px; } }
.exz-w--floating { text-align: right; }
@media (max-width: 680px) { .exz-float { bottom: 16px; min-height: 52px; font-size: 14px; } .exz-float--right { right: 16px; } .exz-float--left { left: 16px; } }

/* Conteúdo original de outro construtor -------------------------------------------------------- */
.exz-original { position: relative; }
.exz-orig-prev { position: relative; min-height: 120px; border: 1.5px dashed rgba(var(--exz-accent-rgb), .35); border-radius: 12px; overflow: hidden; }
.exz-orig-prev__tag { position: absolute; top: 10px; left: 10px; z-index: 5; display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 99px; font: 700 12px/1 Inter, sans-serif; color: var(--exz-fg, #fff); background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); box-shadow: 0 8px 20px -8px rgba(0,0,0,.6); }
.exz-orig-prev__body:empty::before { content: "A página original aparece aqui."; display: grid; place-items: center; min-height: 120px; color: var(--exz-muted); font-size: 14px; }
.exz-elw-prev { position: relative; min-height: 60px; border: 1px dashed rgba(var(--exz-accent-rgb), .3); border-radius: 10px; }
.exz-elw-prev > .exz-orig-prev__tag { top: 6px; left: 6px; font-size: 11px; padding: 4px 9px; opacity: .85; }
.exz-elw { width: 100%; }

/* Destaque em itálico com a fonte de acento do kit (ex.: <em> dentro do título) */
.exz :where(.exz-h, .exz-b3d__copy h2, .exz-cta__copy h3, .exz-pop__box h3) em { font-family: var(--exz-font-accent); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--exz-accent); }
.exz-grad em { -webkit-text-fill-color: currentColor; }

/* Busca */
.exz-search { display: flex; gap: 8px; width: 100%; max-width: 640px; }
[style*="--exz-jc:center"] .exz-search, .exz-w--search { margin-inline: var(--exz-mi, 0); }
.exz .exz-search input[type=search] { flex: 1; min-width: 0; padding: 14px 18px; border-radius: 14px; border: 1px solid rgba(255,255,255,.14); background: rgba(4,7,16,.6); color: var(--exz-fg, #fff); font: 500 16px/1.3 var(--exz-font); outline: none; }
.exz .exz-search input[type=search]:focus { border-color: rgba(var(--exz-accent-rgb), .7); box-shadow: 0 0 0 4px rgba(var(--exz-primary-rgb), .18); }
.exz-w--search { display: flex; justify-content: var(--exz-jc, flex-start); }

/* Integrações */
.exz-ext-prev { position: relative; min-height: 60px; border-radius: 10px; outline: 1px dashed rgba(var(--exz-accent-rgb), .28); outline-offset: 2px; }
.exz-ext-prev > .exz-orig-prev__tag { top: 6px; left: 6px; font-size: 11px; padding: 4px 9px; opacity: .85; }
.exz-ext-body:empty::before { content: "Carregando..."; display: grid; place-items: center; min-height: 70px; color: var(--exz-muted); font-size: 13px; }
.exz-ext-note, .exz-ext-missing { padding: 16px; border-radius: 12px; border: 1px dashed rgba(var(--exz-accent-rgb), .3); color: var(--exz-muted); font-size: 14px; text-align: center; }
.exz-ext-ad { display: grid; place-items: center; gap: 4px; min-height: 110px; border-radius: 14px; border: 1px dashed rgba(var(--exz-accent-rgb), .35); background: repeating-linear-gradient(45deg, rgba(var(--exz-accent-rgb), .04) 0 12px, transparent 12px 24px); color: #cfdcf7; text-align: center; }
.exz-ext-ad small { color: var(--exz-muted); }
.exz-posts__empty { padding: 22px; border-radius: 14px; border: 1px dashed var(--exz-line); color: var(--exz-muted); text-align: center; }
.exz-pass { max-width: 520px; margin: 80px auto; padding: 28px; border-radius: 20px; background: rgba(255,255,255,.04); border: 1px solid var(--exz-line); }

/* Ranking dos alunos */
.exz-rank { padding: 26px; border-radius: calc(var(--exz-radius) + 4px); background: linear-gradient(170deg, rgba(255,255,255,.05), rgba(255,255,255,.012)); border: 1px solid var(--exz-line); }
.exz-rank__t { font-size: 20px; margin-bottom: 14px !important; }
.exz-rank ol { list-style: none; display: grid; gap: 8px; margin: 0; padding: 0; }
.exz-rank__i { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,.03); }
.exz-rank__pos { width: 26px; text-align: center; font-weight: 800; color: var(--exz-muted); }
.exz-rank__av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 13px; color: var(--exz-fg, #fff); background: linear-gradient(135deg, var(--exz-primary), var(--exz-deep)); flex: none; }
.exz-rank__n { flex: 1; min-width: 0; }
.exz-rank__n strong { display: block; color: var(--exz-fg, #fff); font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exz-rank__n small { color: var(--exz-muted); font-size: 12px; }
.exz-rank__i b { color: var(--exz-accent); font-size: 14px; white-space: nowrap; }
.exz-rank__i.is-top1 { background: linear-gradient(135deg, rgba(232,196,106,.18), rgba(255,255,255,.03)); box-shadow: inset 0 0 0 1px rgba(232,196,106,.35); }
.exz-rank__i.is-top1 .exz-rank__pos { color: #e8c46a; }
.exz-rank__i.is-top2 .exz-rank__pos { color: #cfd8e6; }
.exz-rank__i.is-top3 .exz-rank__pos { color: #d49a6a; }

/* Menu do celular aberto fora da seção (nada corta nem desloca o painel) */
.exz-menu-layer { position: fixed; inset: 0; z-index: 99980; pointer-events: none; }
.exz-menu-layer .exz-menu__panel { pointer-events: auto; opacity: 1; visibility: visible; transform: none; }

/* Link "pular para o conteúdo" dos blocos SiteXynz: só aparece ao receber foco pelo teclado. */
.exz-sx .sxb-pular:not(:focus) { opacity: 0; pointer-events: none; clip-path: inset(50%); }

.exz-ico--up { display: inline-block; vertical-align: middle; object-fit: contain; }

/* Acabamento 1.3.1: bordas suaves em vez de corte seco */
.exz-c3d__stage { -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent); }
.exz-mq { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
@media (max-width: 640px) { .exz-c3d__slide:not(.is-on) { opacity: .28; } }

/* ==================================================================
 * Widgets novos: moldura, órbita, portfólio, perfil, links e marcas
 * ================================================================== */

/* Moldura de aparelho ---------------------------------------------- */
.exz-mk { display: grid; place-items: center; perspective: 1000px; }
.exz-mk__corpo { position: relative; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; transition: transform .4s var(--exz-ease); }
.exz-mk__tela { position: relative; overflow: hidden; background: #05070f; }
.exz-mk__tela img { width: 100%; height: 100%; object-fit: cover; display: block; }
.exz-mk__vazio { position: absolute; inset: 0; display: grid; place-items: center; color: var(--exz-muted); }
.exz-mk__brilho { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.16) 0 18%, transparent 46%); }
.exz-mk.has-sombra .exz-mk__corpo::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: -26px; height: 30px; border-radius: 50%; background: radial-gradient(closest-side, rgba(0,0,0,.65), transparent); filter: blur(6px); }
.exz-mk--celular .exz-mk__corpo { width: min(280px, 82vw); aspect-ratio: 9/19; padding: 12px; border-radius: 42px; background: linear-gradient(160deg, #2a3350, #0d1020); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 30px 60px -28px #000; }
.exz-mk--celular .exz-mk__tela { width: 100%; height: 100%; border-radius: 32px; }
.exz-mk--celular .exz-mk__corpo::before { content: ""; position: absolute; left: 50%; top: 20px; width: 84px; height: 20px; margin-left: -42px; border-radius: 99px; background: #05070f; z-index: 3; }
.exz-mk--tablet .exz-mk__corpo { width: min(460px, 88vw); aspect-ratio: 4/5.4; padding: 16px; border-radius: 30px; background: linear-gradient(160deg, #2a3350, #0d1020); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 30px 60px -28px #000; }
.exz-mk--tablet .exz-mk__tela { width: 100%; height: 100%; border-radius: 18px; }
.exz-mk--note .exz-mk__corpo { width: min(660px, 92vw); aspect-ratio: 16/10.4; padding: 14px 14px 26px; border-radius: 16px 16px 6px 6px; background: linear-gradient(160deg, #2a3350, #0d1020); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 30px 60px -28px #000; }
.exz-mk--note .exz-mk__tela { width: 100%; height: 100%; border-radius: 8px; }
.exz-mk--note .exz-mk__corpo::after { content: ""; position: absolute; left: -7%; right: -7%; bottom: -12px; height: 12px; border-radius: 0 0 14px 14px; background: linear-gradient(180deg, #38415f, #161b2c); box-shadow: 0 18px 30px -16px #000; }
.exz-mk--janela .exz-mk__corpo { width: min(720px, 94vw); aspect-ratio: 16/10; padding: 34px 10px 10px; border-radius: 14px; background: linear-gradient(180deg, #161d33, #0b0f1d); box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 30px 60px -28px #000; }
.exz-mk--janela .exz-mk__tela { width: 100%; height: 100%; border-radius: 8px; }
.exz-mk--janela .exz-mk__corpo::before { content: ""; position: absolute; left: 16px; top: 13px; width: 8px; height: 8px; border-radius: 50%; background: #ff5f57; box-shadow: 15px 0 0 #febc2e, 30px 0 0 #28c840; }

/* Órbita ------------------------------------------------------------ */
.exz-orb { position: relative; width: var(--c, 300px); height: var(--c, 300px); margin: 0 auto; display: grid; place-items: center; }
.exz-orb__anel { position: absolute; inset: 0; border-radius: 50%; border: 1px dashed rgba(var(--exz-accent-rgb), .28); }
.exz-orb__anel--2 { inset: 17%; border-style: solid; border-color: rgba(var(--exz-accent-rgb), .14); }
.exz-orb__gira { position: absolute; inset: 0; animation: exz-spin-r var(--v, 26s) linear infinite; }
.exz-orb__gira i { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; display: grid; place-items: center; border-radius: 14px;
  background: linear-gradient(160deg, rgba(var(--exz-primary-rgb), .30), rgba(255,255,255,.04)); border: 1px solid rgba(var(--exz-accent-rgb), .30); color: var(--exz-fg, #fff);
  transform: rotate(var(--a)) translateY(calc(var(--c, 300px) / -2)) rotate(calc(var(--a) * -1)); animation: exz-contra var(--v, 26s) linear infinite; }
@keyframes exz-contra { to { transform: rotate(var(--a)) translateY(calc(var(--c, 300px) / -2)) rotate(calc(var(--a) * -1)) rotate(-360deg); } }
.exz-orb__nucleo { position: relative; z-index: 2; display: grid; place-items: center; gap: 6px; width: 42%; height: 42%; border-radius: 50%; text-align: center;
  background: radial-gradient(circle at 32% 26%, rgba(255,255,255,.22), rgba(var(--exz-primary-rgb), .55) 46%, var(--exz-deep) 78%);
  box-shadow: 0 0 60px -12px rgba(var(--exz-primary-rgb), .9), inset 0 0 30px rgba(255,255,255,.14); color: var(--exz-fg, #fff); }
.exz-orb__nucleo span { font-size: 12px; letter-spacing: .06em; opacity: .9; padding: 0 10px; }

/* Portfólio --------------------------------------------------------- */
.exz-pf__tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 22px; }
.exz-pf__tags button { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--exz-line); background: rgba(255,255,255,.03); color: var(--exz-muted); font: inherit; font-size: 13.5px; cursor: pointer; transition: all .25s var(--exz-ease); }
.exz-pf__tags button:hover { color: var(--exz-fg, #fff); border-color: rgba(var(--exz-accent-rgb), .4); }
.exz-pf__tags button.is-on { background: rgba(var(--exz-primary-rgb), .22); border-color: rgba(var(--exz-accent-rgb), .5); color: var(--exz-fg, #fff); }
.exz-pf__grade { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 20px; }
.exz-pf__item { display: block; position: relative; border-radius: var(--exz-radius); overflow: hidden; background: rgba(255,255,255,.03); border: 1px solid var(--exz-line); transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .4s var(--exz-ease), border-color .3s; cursor: pointer; }
.exz-pf__item:hover { border-color: rgba(var(--exz-accent-rgb), .42); }
.exz-pf__item.is-off { display: none; }
.exz-pf__capa { display: block; position: relative; aspect-ratio: var(--ratio, 4/3); overflow: hidden; background: rgba(255,255,255,.04); }
.exz-pf__capa img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--exz-ease); }
.exz-pf__item:hover .exz-pf__capa img { transform: scale(1.06); }
.exz-pf__vazio { position: absolute; inset: 0; display: grid; place-items: center; color: var(--exz-muted); }
.exz-pf__txt { padding: 16px 18px 18px; }
.exz-pf__txt small { display: block; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--exz-accent); margin-bottom: 6px; }
.exz-pf__txt strong { display: block; font-family: var(--exz-font-head); font-size: 18px; color: var(--exz-fg, #fff); }
.exz-pf__txt em { display: block; margin-top: 4px; font-style: normal; font-size: 14.5px; color: var(--exz-muted); }
.exz-pf--capa .exz-pf__txt { position: absolute; left: 0; right: 0; bottom: 0; background: linear-gradient(to top, rgba(4,6,11,.92), transparent); }
.exz-pf--limpo .exz-pf__item { background: none; border: 0; border-radius: 0; }
.exz-pf--limpo .exz-pf__capa { border-radius: var(--exz-radius); }
.exz-pf--limpo .exz-pf__txt { padding: 14px 2px 0; }
@media (max-width: 900px) { .exz-pf__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .exz-pf__grade { grid-template-columns: 1fr; } }

/* Cartão de perfil --------------------------------------------------- */
.exz-perf { max-width: 420px; margin: 0 auto; padding: 30px 26px 26px; border-radius: 26px; text-align: center; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .4s var(--exz-ease); }
.exz-perf--vidro { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 30px 60px -34px #000; }
.exz-perf--solido { background: linear-gradient(160deg, rgba(var(--exz-primary-rgb), .26), rgba(255,255,255,.03)); border: 1px solid rgba(var(--exz-accent-rgb), .26); }
.exz-perf--linha { background: none; border: 1px solid rgba(var(--exz-accent-rgb), .3); }
.exz-perf__foto { width: 104px; height: 104px; margin: 0 auto 16px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: rgba(255,255,255,.06); border: 2px solid rgba(var(--exz-accent-rgb), .45); box-shadow: 0 0 34px -10px rgba(var(--exz-primary-rgb), .9); color: var(--exz-muted); }
.exz-perf__foto img { width: 100%; height: 100%; object-fit: cover; }
.exz-perf h3 { display: inline-flex; align-items: center; gap: 7px; font-size: 22px; color: var(--exz-fg, #fff); }
.exz-perf__ok { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: var(--exz-primary); color: var(--exz-fg, #fff); }
.exz-perf small { display: block; margin-top: 3px; font-size: 14px; color: var(--exz-accent); }
.exz-perf p { margin-top: 12px !important; font-size: 15px; color: var(--exz-muted); line-height: 1.55; }
.exz-perf__nums { display: flex; justify-content: center; gap: 26px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--exz-line); }
.exz-perf__nums b { display: block; font-family: var(--exz-font-head); font-size: 20px; color: var(--exz-fg, #fff); }
.exz-perf__nums span { display: block; margin-top: 2px; font-size: 12px; color: var(--exz-muted); }

/* Links da bio -------------------------------------------------------- */
.exz-lk { display: grid; gap: 12px; max-width: 460px; margin: 0 auto; width: 100%; }
.exz-lk__i { display: flex; align-items: center; gap: 14px; padding: 15px 18px; border-radius: 16px; color: var(--exz-fg, #fff); transition: transform .25s var(--exz-ease), border-color .25s, background .25s; }
.exz-lk__i:hover { transform: translateY(-2px); }
.exz-lk__i:active { transform: translateY(1px) scale(.995); }
.exz-lk--vidro .exz-lk__i { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.exz-lk--solido .exz-lk__i { background: rgba(var(--exz-primary-rgb), .18); border: 1px solid rgba(var(--exz-accent-rgb), .24); }
.exz-lk--linha .exz-lk__i { background: none; border: 1px solid rgba(var(--exz-accent-rgb), .3); }
.exz-lk--pilula .exz-lk__i { border-radius: 999px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); }
.exz-lk__i.is-top { background: linear-gradient(150deg, rgba(var(--exz-accent-rgb), .40), rgba(var(--exz-primary-rgb), .55)); border-color: rgba(var(--exz-accent-rgb), .55); box-shadow: 0 16px 36px -18px rgba(var(--exz-primary-rgb), .9); }
.exz-lk__ic { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: 12px; background: rgba(255,255,255,.09); }
.exz-lk__t { flex: 1 1 auto; min-width: 0; }
.exz-lk__t strong { display: block; font-size: 15.5px; }
.exz-lk__t em { display: block; font-style: normal; font-size: 13px; color: rgba(255,255,255,.62); margin-top: 1px; }

/* Marcas e parceiros --------------------------------------------------- */
.exz-lg__t { text-align: center; font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--exz-muted); margin-bottom: 18px !important; }
.exz-lg__trilho { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.exz-lg__fila { display: flex; align-items: center; gap: 56px; width: max-content; animation: exz-correr 32s linear infinite; }
.exz-lg__fila.is-parada { width: auto; flex-wrap: wrap; justify-content: center; gap: 40px; animation: none; }
.exz-lg__fila span { display: grid; place-items: center; min-width: 90px; color: var(--exz-muted); font-size: 15px; font-weight: 600; }
.exz-lg__fila img { max-height: 38px; width: auto; object-fit: contain; }
.exz-lg.is-cinza .exz-lg__fila img { filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; }
.exz-lg.is-cinza .exz-lg__fila span:hover img { filter: none; opacity: 1; }
@keyframes exz-correr { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .exz-lg__fila, .exz-orb__gira, .exz-orb__gira i { animation: none; } }

/* Entrar e criar conta ------------------------------------------------ */
.exz-conta { width: 100%; }
.exz-conta__t { font-family: var(--exz-font-head); font-size: 22px; color: var(--exz-fg, #fff); margin-bottom: 16px !important; }
.exz-conta form p, .exz-conta__form label { display: block; margin-bottom: 14px; }
.exz-conta label { display: block; font-size: 13.5px; color: var(--exz-muted); }
.exz-conta label span { display: block; margin-bottom: 6px; }
.exz-conta input[type=text], .exz-conta input[type=email], .exz-conta input[type=password] { width: 100%; }
.exz-conta .login-remember { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--exz-muted); }
.exz-conta .login-remember label { display: inline-flex; align-items: center; gap: 8px; }
.exz-conta .login-submit input[type=submit], .exz-conta .exz-btn.is-full { width: 100%; }
.exz-conta .login-submit input[type=submit] { padding: 15px 22px; border: 0; border-radius: 14px; background: linear-gradient(150deg, var(--exz-accent), var(--exz-primary)); color: var(--exz-fg, #fff); font: inherit; font-weight: 700; cursor: pointer; transition: transform .25s var(--exz-ease); }
.exz-conta .login-submit input[type=submit]:hover { transform: translateY(-2px); }
.exz-conta__pes { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 14px; font-size: 14px; }
.exz-conta__pes a { color: var(--exz-accent); text-decoration: none; }
.exz-conta__pes a:hover { text-decoration: underline; }
.exz-conta__nota { margin-top: 10px !important; font-size: 13px; color: var(--exz-muted); }
.exz-conta__aviso { padding: 14px 16px; border-radius: 14px; background: rgba(var(--exz-primary-rgb), .12); border: 1px solid rgba(var(--exz-accent-rgb), .24); font-size: 14.5px; }
.exz-conta__recado { padding: 12px 16px; border-radius: 12px; margin-bottom: 14px !important; font-size: 14px; background: rgba(255,255,255,.05); border: 1px solid var(--exz-line); }
.exz-conta__recado.is-erro { background: rgba(255,90,78,.12); border-color: rgba(255,90,78,.32); }
.exz-conta--ok { display: grid; gap: 12px; justify-items: start; }
