/*
 * MasterMind LINCE — "Manifesto"
 * Revista editorial clara: papel, tinta preta e vermelho como acento. Fraunces + Inter Tight.
 */

/* ============================== Tokens ============================== */
:root {
	--papel: #fbfaf8;
	--branco: #ffffff;
	--tinta: #0c0a0a;
	--grafite: #2a2526;
	--texto: #3a3435;
	--cinza: #6b6566;
	--cinza-claro: #a8a2a1;
	--linha: rgba(12, 10, 10, .16);
	--linha-suave: rgba(12, 10, 10, .07);
	--trilho: #efebe6;
	--vermelho: #d7192d;
	--vermelho-escuro: #b3121f;
	--vermelho-fundo: #8f0f1d;

	--serif: 'Fraunces', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
	--sans: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--ease: cubic-bezier(.7, 0, .2, 1);
	--ease-out: cubic-bezier(.16, .84, .24, 1);

	--cabeca: 56px;
	--rail: 0px;
	--margem: 18px;
	--gutter: 12px;
	--largura: 1320px;

	/* barra de rolagem e seleção (base.css) */
	--mm-acento: #d7192d;
	--mm-sb-trilho: #efebe6;
	--mm-sb-a: #d7192d;
	--mm-sb-b: #0c0a0a;
	--mm-sel-fundo: #d7192d;
	--mm-sel-texto: #ffffff;

	interpolate-size: allow-keywords;
}
@media (min-width: 768px) {
	:root { --cabeca: 64px; --margem: 32px; --gutter: 20px; }
}
@media (min-width: 1200px) {
	:root { --rail: 196px; --margem: 48px; --gutter: 24px; }
}

/* ============================== Base ============================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--cabeca) + 12px); }
html, body { overflow-x: clip; }
body {
	margin: 0; background: var(--papel); color: var(--tinta);
	font: 400 16px/1.6 var(--sans); font-kerning: normal;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
@media (min-width: 768px) { body { font-size: 17px; } }
/* grão de papel impresso */
body::after {
	content: ''; position: fixed; inset: 0; z-index: 70; pointer-events: none; opacity: .05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img, video, svg { display: block; max-width: 100%; }
img, video { height: auto; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
a { color: inherit; }
em { font-style: italic; }
strong { font-weight: 600; }
:focus-visible { outline: 2px solid var(--vermelho); outline-offset: 3px; }
.vermelho { color: var(--vermelho); }
.nw { white-space: nowrap; }
.so-toque { display: none; }
@media (hover: none) {
	.so-toque { display: revert; }
	.so-mouse { display: none; }
}
.pular {
	position: fixed; left: 12px; top: -80px; z-index: 200; padding: 12px 16px; background: var(--tinta); color: #fff;
	font-weight: 600; text-decoration: none; transition: top .25s var(--ease);
}
.pular:focus { top: 12px; }

/* rótulos em versalete */
.rotulo, .cap__rotulo, .capa__tira, .folio, .contagem__rotulo, .ficha dt, .barra__titulo, .indice__titulo {
	font-family: var(--sans); font-weight: 600; font-size: 11px; line-height: 1.3; letter-spacing: .18em; text-transform: uppercase;
}
.rotulo { color: var(--cinza); }
.fig {
	font: 600 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; font-style: normal;
	color: var(--vermelho); margin-right: .7em; vertical-align: .12em;
}
figcaption { margin-top: 12px; font: italic 400 14px/1.45 var(--serif); color: var(--cinza); }

/* selo provisório: vermelho para ficar visível no papel */
.provisorio { color: var(--vermelho-escuro); font-style: normal; }

/* grade de 12 colunas visível ao fundo */
.grade { position: fixed; z-index: 0; top: 0; bottom: 0; left: var(--rail); right: 0; padding: 0 var(--margem); pointer-events: none; }
.grade > div {
	height: 100%; max-width: var(--largura); margin: 0 auto;
	display: grid; grid-template-columns: repeat(4, 1fr); column-gap: var(--gutter);
}
.grade i { border-inline: 1px solid rgba(12, 10, 10, .045); }
.grade i:nth-child(n+5) { display: none; }
@media (min-width: 900px) {
	.grade > div { grid-template-columns: repeat(12, 1fr); }
	.grade i:nth-child(n+5) { display: block; }
}

/* progresso de leitura no topo (celular e tablet) */
.progresso { position: fixed; z-index: 60; top: 0; left: 0; right: 0; height: 3px; pointer-events: none; }
.progresso span { display: block; height: 100%; background: var(--vermelho); transform: scaleX(var(--progresso, 0)); transform-origin: 0 50%; }
@media (min-width: 1200px) { .progresso { display: none; } }

/* ============================== Botões e links ============================== */
.botao {
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 56px; padding: 0 26px; border: 0; border-radius: 0;
	background: var(--tinta); color: #fff; font: 600 16px/1.15 var(--sans); letter-spacing: .005em;
	text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.botao::before {
	content: ''; position: absolute; inset: 0; z-index: -1; background: var(--tinta);
	transform: scaleY(0); transform-origin: 50% 100%; transition: transform .55s var(--ease);
}
.botao:hover::before, .botao:focus-visible::before { transform: scaleY(1); }
.botao--vermelho, .botao--mini { background: var(--vermelho); }
.botao--mini { min-height: 40px; padding: 0 16px; font-size: 14px; }
.botao--grande { min-height: 64px; padding: 0 30px; font-size: 17px; }
.botao svg { flex: none; transition: transform .45s var(--ease); }
.botao:hover svg { transform: translateX(5px); }
.botao__texto { position: relative; display: inline-block; transition: transform .5s var(--ease-out); }
.botao:focus-visible { outline: 2px solid var(--tinta); outline-offset: 4px; }
.magnetico { transition: transform .6s var(--ease-out); will-change: transform; }
.botao { white-space: nowrap; }
@media (max-width: 420px) {
	.botao--grande, .capa__cta .botao { padding: 0 16px; font-size: 16px; gap: 10px; }
}
.so-largo { display: none; }
@media (min-width: 1100px) { .so-largo { display: inline; } }

.link {
	text-decoration: none; padding-bottom: 2px;
	background-image: linear-gradient(currentColor, currentColor), linear-gradient(var(--linha), var(--linha));
	background-repeat: no-repeat; background-size: 0% 1px, 100% 1px; background-position: 100% 100%, 0 100%;
	transition: background-size .55s var(--ease), color .3s;
}
.link:hover, .link:focus-visible { background-size: 100% 1px, 100% 1px; background-position: 0 100%, 0 100%; color: var(--vermelho); }
.link--seta { font-weight: 500; }
.link--seta::after { content: '→'; display: inline-block; margin-left: .4em; transition: transform .45s var(--ease); }
.link--seta:hover::after { transform: translateX(5px); }

/* ============================== Cabeçalho ============================== */
.cabeca {
	position: fixed; z-index: 50; inset: 0 0 auto 0; height: var(--cabeca);
	display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 var(--margem);
	background: rgba(251, 250, 248, .92); -webkit-backdrop-filter: saturate(1.2) blur(10px); backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid var(--tinta);
}
.cabeca__marca { display: flex; align-items: center; gap: 8px; color: var(--tinta); text-decoration: none; flex: none; }
.cabeca__simbolo { width: 30px; height: auto; }
.cabeca__wordmark { width: 92px; height: auto; filter: brightness(0); }
.cabeca__lince {
	margin-left: 2px; padding: 4px 6px 3px; border: 1px solid var(--tinta);
	font: 700 10px/1 var(--sans); letter-spacing: .22em;
}
.cabeca__edicao { display: none; }
.cabeca__acoes { display: flex; align-items: center; gap: 22px; }
.cabeca__wa { display: none; font-size: 14px; font-weight: 500; }
@media (min-width: 768px) {
	.cabeca__simbolo { width: 34px; }
	.cabeca__wordmark { width: 112px; }
	.cabeca__wa { display: inline; }
}
@media (min-width: 1240px) {
	.cabeca__edicao {
		display: flex; align-items: center; gap: 14px; position: absolute; left: 50%; transform: translateX(-50%);
		font: italic 400 14px/1 var(--serif); color: var(--grafite); white-space: nowrap;
	}
	.cabeca__edicao i { width: 4px; height: 4px; border-radius: 50%; background: var(--vermelho); }
}
@media (max-width: 360px) { .cabeca__lince { display: none; } }

/* ============================== Sumário lateral ============================== */
.indice { display: none; }
@media (min-width: 1200px) {
	.indice {
		position: fixed; z-index: 45; top: var(--cabeca); bottom: 0; left: 0; width: var(--rail);
		display: flex; flex-direction: column; padding: 26px 22px 22px 24px;
		background: var(--papel); border-right: 1px solid var(--tinta);
		transition: transform .7s var(--ease);
	}
	.indice.fora { transform: translateX(-101%); }
}
.indice__titulo { padding-bottom: 12px; margin-bottom: 4px; border-bottom: 2px solid var(--tinta); }
.indice__lista a {
	position: relative; display: grid; grid-template-columns: 40px 1fr; align-items: baseline;
	padding: 7px 0 8px; border-bottom: 1px solid var(--linha-suave);
	color: var(--cinza); text-decoration: none; font: 500 13.5px/1.2 var(--sans); transition: color .3s;
}
.indice__lista a::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--vermelho);
	transform: scaleX(var(--p, 0)); transform-origin: 0 50%;
}
.indice__n { font: italic 400 15px/1 var(--serif); color: var(--cinza-claro); transition: color .3s; }
.indice__lista a > span:last-child { transition: transform .45s var(--ease); }
.indice__lista a:hover, .indice__lista a.ativo { color: var(--tinta); }
.indice__lista a:hover > span:last-child { transform: translateX(4px); }
.indice__lista a:hover .indice__n, .indice__lista a.ativo .indice__n { color: var(--vermelho); }
.indice__lista a.ativo > span:last-child { font-weight: 600; }
.indice__leitura { margin-top: auto; padding-top: 16px; }
.indice__barra { height: 3px; background: var(--trilho); overflow: hidden; }
.indice__barra span { display: block; height: 100%; background: var(--vermelho); transform: scaleX(var(--progresso, 0)); transform-origin: 0 50%; }
.indice__pct { margin-top: 8px; font: italic 400 14px/1 var(--serif); color: var(--grafite); }
.indice__cta {
	margin-top: 16px; display: grid; gap: 6px; text-align: left; padding: 12px 14px;
	border: 1px solid var(--tinta); background: transparent; cursor: pointer; transition: background .35s, color .35s, border-color .35s;
}
.indice__cta:hover { background: var(--vermelho); border-color: var(--vermelho); color: #fff; }
.indice__cta-rotulo { font: 600 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; opacity: .7; }
.indice__cta-texto { font: 400 17px/1.1 var(--serif); }
.indice__cta-preco { font: 300 30px/1 var(--serif); letter-spacing: -.03em; color: var(--vermelho); transition: color .35s; }
.indice__cta:hover .indice__cta-preco { color: #fff; }
@media (max-height: 760px) and (min-width: 1200px) {
	.indice__lista a { padding: 5px 0 6px; font-size: 12.5px; }
	.indice { padding-top: 18px; }
}

/* ============================== Estrutura ============================== */
.revista { position: relative; z-index: 1; padding-top: var(--cabeca); padding-left: var(--rail); }
.cap__miolo, .capa__miolo { max-width: var(--largura); margin: 0 auto; }
.cap { position: relative; padding: clamp(80px, 11vw, 150px) var(--margem) 28px; }
.g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }

.folio {
	display: flex; justify-content: space-between; align-items: baseline; gap: 16px;
	margin-top: clamp(64px, 9vw, 120px); padding-top: 12px; border-top: 1px solid var(--linha); color: var(--cinza);
}
.folio span:last-child { font: italic 400 16px/1 var(--serif); letter-spacing: 0; text-transform: none; color: var(--tinta); }

/* palavras/letras divididas pelo script */
.p { display: inline-block; white-space: nowrap; }
.pi { display: inline-block; }
.l { display: inline; }
html.anim-ok [data-revela="palavras"] .p,
html.anim-ok .pergunta__texto .p { overflow: hidden; vertical-align: top; padding: 0 .08em .16em 0; margin: 0 -.08em -.16em 0; }

/* ============================== Capa ============================== */
.capa { position: relative; display: flex; flex-direction: column; min-height: calc(100svh - var(--cabeca)); padding: 14px var(--margem) 18px; }
.capa__miolo {
	width: 100%; flex: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter);
	align-content: start;
}
.capa__miolo > * { grid-column: 1 / -1; min-width: 0; }
.capa__tira {
	grid-row: 1; display: flex; justify-content: space-between; gap: 12px; padding: 8px 0 7px;
	border-top: 3px solid var(--tinta); border-bottom: 1px solid var(--tinta); font-size: 10px;
}
.so-medio { display: none; }
@media (min-width: 768px) { .so-medio { display: inline; } .capa__tira { font-size: 11px; } }

.capa__pilares {
	grid-row: 2; margin-top: 16px; color: var(--grafite);
	font: 500 11px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase;
}
.capa__pilares i { font-style: normal; color: var(--vermelho); margin: 0 .3em; }

.capa__titulo {
	grid-row: 3; margin-top: 8px;
	font: 300 clamp(60px, 17.4vw, 150px)/.86 var(--serif); letter-spacing: -.04em; font-variation-settings: 'opsz' 144;
}
.linha { display: block; overflow: hidden; padding: .05em .16em .1em 0; margin-bottom: -.1em; }
.linha > * { display: inline-block; }
.linha em { font-weight: 300; letter-spacing: -.035em; }
.linha--recuo1 { padding-left: .42em; }
.linha--recuo2 { padding-left: .9em; }

.capa__sub {
	grid-row: 4; grid-column: 1 / 8; align-self: center; margin-top: 20px; padding-right: 6px;
	font: 300 clamp(19px, 2vw, 27px)/1.28 var(--serif); letter-spacing: -.01em; color: var(--grafite);
}
.capa__sub em { color: var(--vermelho); }
.capa__foto { grid-row: 4; grid-column: 8 / -1; margin-top: 20px; }
.capa__foto .foto { aspect-ratio: 3 / 4; border: 1px solid var(--tinta); }
.capa__foto img { object-position: 50% 14%; }
.capa__foto figcaption { margin-top: 8px; font-size: 12px; line-height: 1.35; }
.capa__foto figcaption .fig { display: block; margin: 0 0 4px; }

.capa__meta {
	grid-row: 5; margin-top: 20px; display: grid; grid-template-columns: repeat(3, auto); justify-content: start;
	border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--linha);
}
.capa__meta div { padding: 11px 14px 11px 0; }
.capa__meta div + div { padding-left: 14px; border-left: 1px solid var(--linha); }
.capa__meta dt { margin-bottom: 5px; color: var(--cinza); font: 600 10px/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.capa__meta dd { font: 400 clamp(18px, 1.9vw, 28px)/1.1 var(--serif); letter-spacing: -.01em; }

.capa__contagem { grid-row: 6; margin-top: 14px; }
.capa__cta { grid-row: 7; margin-top: 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.capa__cta .botao { width: 100%; }
@media (min-width: 560px) { .capa__cta .botao { width: auto; } }

.folio--capa { margin-top: 22px; }

@media (min-width: 1000px) {
	.capa { padding-top: 18px; }
	.capa__titulo { font-size: clamp(80px, 8.7vw, 136px); }
	.capa__pilares, .capa__titulo { grid-column: 1 / 9; }
	.capa__foto { grid-row: 2 / 4; grid-column: 9 / -1; align-self: end; margin-top: 18px; }
	.capa__foto .foto { aspect-ratio: 4 / 5; }
	.capa__foto figcaption .fig { display: inline; }
	.capa__sub { grid-row: 4; grid-column: 1 / 6; align-self: start; margin-top: 24px; padding-top: 14px; border-top: 1px solid var(--tinta); }
	.capa__meta { grid-row: 4; grid-column: 7 / -1; margin-top: 24px; align-self: start; }
	.capa__cta { grid-row: 5; grid-column: 1 / 6; margin-top: 22px; align-self: start; }
	.capa__contagem { grid-row: 5; grid-column: 7 / -1; margin-top: 22px; align-self: start; }
	.folio--capa { margin-top: 18px; }
}
@media (min-width: 1000px) and (max-height: 820px) {
	.capa__titulo { font-size: clamp(76px, 8.4vw, 128px); }
}

/* contagem regressiva tipográfica */
.contagem { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.contagem__rotulo { color: var(--vermelho); }
.contagem__numeros { display: flex; align-items: baseline; gap: 10px; }
.contagem__numeros span { display: inline-flex; align-items: baseline; gap: 5px; }
.contagem__numeros span + span::before { content: ''; align-self: center; width: 1px; height: .8em; margin-right: 6px; background: var(--linha); }
.contagem__numeros b {
	font: 300 clamp(32px, 3.3vw, 48px)/1 var(--serif); letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums;
	min-width: 1.1em; display: inline-block;
}
.contagem__numeros small { font: italic 400 14px/1 var(--serif); color: var(--cinza); }
.contagem.encerrada .contagem__numeros, .contagem.encerrada .contagem__rotulo { display: none; }
.contagem__fim { font: italic 400 18px/1.4 var(--serif); }
@media (min-width: 768px) { .contagem__numeros { gap: 16px; } .contagem__numeros span + span::before { margin-right: 10px; } }
@media (max-width: 480px) {
	.contagem__numeros { gap: 7px; }
	.contagem__numeros span { gap: 3px; }
	.contagem__numeros span + span::before { margin-right: 4px; }
	.contagem__numeros b { font-size: 29px; }
	.contagem__numeros small { font-size: 13px; }
}

/* ============================== Fotos (duotone) ============================== */
.foto { position: relative; overflow: hidden; background: var(--trilho); isolation: isolate; }
.foto img, .foto video {
	width: 100%; height: 100%; object-fit: cover;
	filter: grayscale(1) contrast(1.05) brightness(1.02);
	transition: filter 1s var(--ease-out), scale 1.4s var(--ease-out);
}
.foto::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: var(--vermelho); mix-blend-mode: multiply; clip-path: inset(0 100% 0 0);
}
figure:hover .foto img, figure:hover .foto video, .foto.em-cor img, .foto.em-cor video { filter: none; }
figure:hover .foto:not(.foto--parallax) img, figure:hover .foto:not(.foto--parallax) video { scale: 1.04; }
figure:hover .foto::after { animation: lavagem 1.15s var(--ease) both; }
.foto.em-cor::after { animation: lavagem .9s var(--ease) both; }
@keyframes lavagem {
	0% { clip-path: inset(0 100% 0 0); }
	48% { clip-path: inset(0 0 0 0); }
	100% { clip-path: inset(0 0 0 100%); }
}
.foto--parallax img { position: absolute; left: 0; top: -7%; height: 114%; }

/* ============================== Cabeça de capítulo ============================== */
.cap__cabeca {
	position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); row-gap: 6px;
	padding-top: 18px; margin-bottom: clamp(44px, 7vw, 100px);
}
.cap__regua { position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--tinta); transform-origin: 0 50%; }
.cap__romano {
	grid-column: 1 / -1; overflow: hidden; padding: .05em .14em .08em 0;
	font: italic 300 clamp(64px, 11vw, 168px)/.82 var(--serif); letter-spacing: -.02em; color: var(--vermelho);
}
.cap__romano span { display: inline-block; }
.cap__textos { grid-column: 1 / -1; display: grid; gap: 14px; align-content: start; }
.cap__rotulo { color: var(--cinza); }
.cap__titulo { max-width: 15ch; font: 350 clamp(38px, 6vw, 92px)/1 var(--serif); letter-spacing: -.028em; }
.cap__titulo em { color: var(--vermelho); font-weight: 300; }
.cap__dek { max-width: 54ch; margin-top: 6px; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.55; color: var(--texto); }
@media (min-width: 900px) {
	.cap__romano { grid-column: 1 / 4; }
	.cap__textos { grid-column: 4 / -1; padding-top: .5em; }
}

/* capitular */
.capitular::first-letter {
	float: left; margin: .06em .1em 0 0; color: var(--vermelho);
	font: 400 4.6em/.8 var(--serif); font-variation-settings: 'opsz' 144;
}
@supports (initial-letter: 3) {
	.capitular::first-letter { float: none; margin: 0 .12em 0 0; font-size: inherit; line-height: inherit; initial-letter: 3; font-weight: 400; }
}

/* ============================== I. Perguntas ============================== */
.perguntas { border-top: 1px solid var(--tinta); }
.pergunta { display: grid; gap: 12px; padding: clamp(30px, 4.4vw, 56px) 0; border-bottom: 1px solid var(--linha); }
.pergunta__n { display: flex; align-items: baseline; gap: 10px; font: italic 400 20px/1 var(--serif); color: var(--vermelho); }
.pergunta__n::before { content: 'Pergunta'; font: 600 10.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); font-style: normal; }
.pergunta__texto { max-width: 21ch; font: 350 clamp(30px, 4.4vw, 68px)/1.12 var(--serif); letter-spacing: -.022em; }
@media (min-width: 900px) {
	.pergunta { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
	.pergunta__n { grid-column: 1 / 4; flex-direction: column; gap: 10px; padding-top: .6em; font-size: 22px; }
	.pergunta__texto { grid-column: 4 / -1; }
}
.marca { position: relative; display: inline-block; vertical-align: top; font-style: italic; }
.marca svg { position: absolute; z-index: -1; max-width: none; pointer-events: none; overflow: visible; fill: none; stroke: var(--vermelho); stroke-linecap: round; stroke-linejoin: round; }
.marca path { stroke-dasharray: 1 1.1; stroke-dashoffset: 0; }
.pergunta__texto { position: relative; z-index: 0; }
.marca--circulo svg { left: -11%; top: -18%; width: 122%; height: 142%; stroke-width: 3; }
.marca--sublinha svg { left: -2%; bottom: -.22em; width: 104%; height: .42em; stroke-width: 5; }
.marca--risco svg { left: -4%; top: .5em; width: 108%; height: .3em; stroke-width: 6; z-index: 1; opacity: .92; }
.perguntas__nota { margin-top: 36px; max-width: 46ch; font: 400 clamp(18px, 1.6vw, 22px)/1.5 var(--serif); color: var(--grafite); }
.perguntas__nota em { color: var(--vermelho); }
@media (min-width: 900px) { .perguntas__nota { margin-left: calc((100% + var(--gutter)) * 3 / 12); } }

/* ============================== II. Princípio ============================== */
.citacao { position: relative; padding: clamp(18px, 3vw, 40px) 0 clamp(44px, 6vw, 84px); border-bottom: 1px solid var(--tinta); }
.citacao__aspas {
	position: absolute; left: -.04em; top: -.12em; pointer-events: none;
	font: italic 300 clamp(150px, 24vw, 380px)/1 var(--serif); color: var(--vermelho);
}
.citacao__texto { position: relative; padding-left: clamp(52px, 12vw, 200px); padding-top: clamp(30px, 4vw, 60px); }
.citacao__texto p { font: 300 clamp(34px, 6vw, 100px)/1.04 var(--serif); letter-spacing: -.03em; }
.citacao__texto em { color: var(--vermelho); }
.citacao__autor {
	display: flex; align-items: center; gap: 14px; margin-top: 28px; padding-left: clamp(52px, 12vw, 200px);
	font: 600 11px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; font-style: normal; color: var(--tinta);
}
.citacao__autor::before { content: ''; width: 44px; height: 1px; background: var(--vermelho); flex: none; }

.proposta { margin-top: clamp(56px, 8vw, 110px); display: grid; gap: 30px; }
.proposta__margem { padding-top: 12px; border-top: 1px solid var(--tinta); font: italic 400 16px/1.55 var(--serif); color: var(--grafite); }
.proposta__margem .rotulo { font-style: normal; margin-bottom: 10px; color: var(--vermelho); }
.proposta__margem strong { font-weight: 500; color: var(--tinta); }
.proposta__titulo { margin-bottom: 18px; font: 400 clamp(28px, 2.6vw, 40px)/1.1 var(--serif); letter-spacing: -.015em; }
.proposta__texto p { max-width: 62ch; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.7; color: var(--texto); }
.proposta__texto p + p { margin-top: 1em; }
@media (min-width: 900px) {
	.proposta { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
	.proposta__margem { grid-column: 1 / 4; align-self: start; }
	.proposta__texto { grid-column: 4 / -1; }
}
@media (min-width: 1200px) {
	.proposta__texto { columns: 2; column-gap: calc(var(--gutter) * 2); column-rule: 1px solid var(--linha); }
	.proposta__titulo { column-span: all; }
	.proposta__texto p { break-inside: avoid-column; }
}

/* ============================== III. Dimensões ============================== */
.dimensoes { display: grid; border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta); }
.dimensao { position: relative; padding: 30px 0 36px; transition: background .5s var(--ease-out); }
.dimensao + .dimensao { border-top: 1px solid var(--linha); }
.dimensao__regua { display: none; }
.dimensao__n {
	font: 300 clamp(96px, 12vw, 176px)/.8 var(--serif); letter-spacing: -.04em;
	color: transparent; -webkit-text-stroke: 1.2px var(--tinta);
	background: linear-gradient(var(--vermelho), var(--vermelho)) no-repeat 0 100% / 100% 0%;
	-webkit-background-clip: text; background-clip: text;
	transition: background-size .8s var(--ease), -webkit-text-stroke-color .5s;
}
.dimensao:hover .dimensao__n { background-size: 100% 100%; -webkit-text-stroke-color: var(--vermelho); }
.dimensao__rotulo { margin-top: 26px; color: var(--vermelho); font: 600 11px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.dimensao__titulo { margin-top: 10px; font: 400 clamp(28px, 2.6vw, 40px)/1.05 var(--serif); letter-spacing: -.015em; }
.dimensao__titulo em { display: block; color: var(--vermelho); }
.dimensao__lista { margin-top: 22px; border-top: 1px solid var(--linha); }
.dimensao__lista li {
	display: flex; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--linha-suave);
	transition: transform .5s var(--ease), color .3s;
}
.dimensao__lista li::before { content: '—'; color: var(--vermelho); font-family: var(--serif); }
.dimensao:hover .dimensao__lista li { transform: translateX(8px); }
.dimensao:hover .dimensao__lista li:nth-child(2) { transition-delay: .03s; }
.dimensao:hover .dimensao__lista li:nth-child(3) { transition-delay: .06s; }
.dimensao:hover .dimensao__lista li:nth-child(4) { transition-delay: .09s; }
.dimensao:hover .dimensao__lista li:nth-child(5) { transition-delay: .12s; }
@media (min-width: 900px) {
	.dimensoes { grid-template-columns: repeat(3, 1fr); }
	.dimensao { padding: 36px clamp(20px, 2.4vw, 40px) 48px; }
	.dimensao:first-child { padding-left: 0; }
	.dimensao + .dimensao { border-top: 0; }
	.dimensao__regua { display: block; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: var(--tinta); transform-origin: 50% 0; }
	.dimensao:first-child .dimensao__regua { display: none; }
	.dimensao:hover { background: var(--branco); }
	.dimensao:first-child:hover { background: transparent; }
}

/* ============================== IV. Inteligência interpessoal ============================== */
.relacoes { display: grid; gap: 44px; }
.relacoes__foto .foto { aspect-ratio: 6 / 7; }
.entrada { display: grid; grid-template-columns: auto 1fr; gap: 0 22px; padding: 26px 0 32px; border-top: 1px solid var(--tinta); }
.entrada:last-child { border-bottom: 1px solid var(--tinta); }
.entrada__n {
	min-width: 1.15em; font: 300 clamp(64px, 7vw, 116px)/.8 var(--serif); letter-spacing: -.04em;
	color: transparent; -webkit-text-stroke: 1.2px var(--tinta);
	background: linear-gradient(var(--vermelho), var(--vermelho)) no-repeat 0 100% / 100% 0%;
	-webkit-background-clip: text; background-clip: text;
	transition: background-size 1.1s var(--ease), -webkit-text-stroke-color .6s;
}
.entrada.cheio .entrada__n { background-size: 100% 100%; -webkit-text-stroke-color: var(--vermelho); }
.entrada__titulo { margin: 4px 0 10px; font: 400 clamp(24px, 2.2vw, 34px)/1.12 var(--serif); letter-spacing: -.012em; }
.entrada p { max-width: 46ch; color: var(--texto); }
.fecho {
	margin-top: clamp(56px, 7vw, 96px); padding-left: 22px; border-left: 2px solid var(--vermelho); max-width: 34ch;
	font: italic 300 clamp(24px, 2.6vw, 38px)/1.28 var(--serif); letter-spacing: -.01em;
}
@media (min-width: 900px) {
	.relacoes { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: start; }
	.relacoes__foto { grid-column: 1 / 6; position: sticky; top: calc(var(--cabeca) + 32px); }
	.entradas { grid-column: 7 / -1; }
	.fecho { margin-left: calc((100% + var(--gutter)) * 3 / 12); }
}

/* ============================== V. Comunicação ============================== */
.grafico { border-top: 2px solid var(--tinta); }
.barra { display: grid; gap: 10px; padding: 24px 0 30px; border-bottom: 1px solid var(--linha); }
.barra__num { display: flex; align-items: flex-start; font: 300 clamp(104px, 15vw, 232px)/.8 var(--serif); letter-spacing: -.05em; font-variant-numeric: lining-nums; }
.barra__num small { margin: .1em 0 0 .06em; font-size: .3em; font-style: italic; letter-spacing: 0; color: var(--vermelho); }
.barra--destaque .barra__num { color: var(--vermelho); }
.barra--destaque .barra__num small { color: var(--tinta); }
.barra__titulo { margin-bottom: 14px; }
.barra__trilho {
	position: relative; height: clamp(14px, 1.5vw, 22px);
	background: linear-gradient(90deg, var(--linha) 1px, transparent 1px) 0 0 / 25% 100% repeat-x, var(--trilho);
	border-right: 1px solid var(--linha);
}
.barra__fill { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--v) * 100%); background: var(--tinta); transform-origin: 0 50%; }
.barra--destaque .barra__fill { background: var(--vermelho); }
.barra__texto { margin-top: 14px; max-width: 52ch; color: var(--texto); }
.grafico__eixo { display: flex; justify-content: space-between; padding-top: 10px; font: 500 11px/1 var(--sans); color: var(--cinza); letter-spacing: .06em; }
.grafico figcaption { margin-top: 18px; }
@media (min-width: 900px) {
	.barra { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: end; }
	.barra__num { grid-column: 1 / 5; }
	.barra__corpo { grid-column: 5 / -1; padding-bottom: 6px; }
	.grafico__eixo, .grafico figcaption { margin-left: calc((100% + var(--gutter)) * 4 / 12); }
}
.importa { margin-top: clamp(56px, 8vw, 110px); display: grid; gap: 40px; }
.importa__titulo { margin-bottom: 18px; font: 400 clamp(28px, 2.6vw, 40px)/1.1 var(--serif); letter-spacing: -.015em; }
.importa__texto p { max-width: 54ch; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.7; color: var(--texto); }
.destaque { padding-top: 20px; border-top: 2px solid var(--vermelho); }
.destaque p { font: italic 300 clamp(26px, 2.5vw, 38px)/1.26 var(--serif); letter-spacing: -.01em; }
@media (min-width: 900px) {
	.importa { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: start; }
	.importa__texto { grid-column: 1 / 7; }
	.destaque { grid-column: 8 / -1; }
}

/* ============================== VI. Roda da Vida ============================== */
.roda__palco { max-width: var(--largura); margin: 0 auto; display: grid; gap: 40px; align-items: center; }
.roda__figura { margin: 0; }
.roda__svg { width: 100%; max-width: 600px; height: auto; margin: 0 auto; overflow: visible; }
.roda__figura figcaption { max-width: 52ch; margin: 18px auto 0; text-align: center; }
.roda__aros circle { fill: none; stroke: rgba(12, 10, 10, .13); stroke-width: 1; stroke-dasharray: 1 1.1; stroke-dashoffset: 0; }
.roda__aros .forte { stroke: rgba(12, 10, 10, .38); }
.roda__raios line { stroke: rgba(12, 10, 10, .2); stroke-width: 1; stroke-dasharray: 1 1.1; stroke-dashoffset: 0; }
.roda__seg path { fill: var(--branco); stroke: var(--tinta); stroke-width: 1.4; stroke-dasharray: 1 1.1; stroke-dashoffset: 0; transition: fill .45s var(--ease-out); cursor: default; }
.roda__seg text { font: italic 400 17px var(--serif); fill: var(--tinta); transition: fill .45s; pointer-events: none; }
.roda__seg:hover path { fill: var(--vermelho); }
.roda__seg:hover text { fill: #fff; }
.roda__escala text { font: 700 12px var(--sans); fill: var(--vermelho); letter-spacing: .06em; }
.roda__lente { fill: none; stroke: var(--vermelho); stroke-width: 1.6; stroke-dasharray: 1 1.1; stroke-dashoffset: 0; }
.roda__seta path { fill: none; stroke: var(--vermelho); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1 1.1; stroke-dashoffset: 0; }
.roda__centro { fill: var(--vermelho); }

.passos { border-top: 2px solid var(--tinta); }
.passo { position: relative; display: grid; grid-template-columns: 54px 1fr; gap: 14px; padding: 22px 0 26px; border-bottom: 1px solid var(--linha); }
.passo::before {
	content: ''; position: absolute; left: 0; right: 0; top: -2px; height: 2px; background: var(--vermelho);
	transform: scaleX(0); transform-origin: 0 50%; transition: transform .7s var(--ease);
}
.passo.ativo::before { transform: scaleX(1); }
.passo__n { font: italic 300 38px/1 var(--serif); color: var(--vermelho); }
.passo__titulo { margin-bottom: 8px; font: 400 clamp(34px, 3.6vw, 56px)/1 var(--serif); letter-spacing: -.025em; }
.passo p { max-width: 40ch; color: var(--texto); }
@media (min-width: 1000px) {
	.roda__palco {
		grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter);
		min-height: calc(100vh - var(--cabeca)); padding: 20px 0;
	}
	.roda__figura { grid-column: 1 / 7; }
	.roda__svg { max-height: calc(100vh - var(--cabeca) - 120px); }
	.passos { grid-column: 8 / -1; }
}
.roda__depois { display: grid; gap: 52px; margin-top: clamp(56px, 7vw, 100px); }
.roda__depois > .capitular { max-width: 54ch; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.7; color: var(--texto); }
.hill::before { content: '“'; display: block; height: .42em; font: italic 300 120px/.75 var(--serif); color: var(--vermelho); }
.hill blockquote p { font: italic 300 clamp(30px, 3.6vw, 56px)/1.12 var(--serif); letter-spacing: -.02em; }
.hill blockquote em { color: var(--vermelho); }
.hill figcaption {
	display: flex; align-items: center; gap: 12px; margin-top: 22px; color: var(--tinta);
	font: 600 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; font-style: normal;
}
.hill figcaption::before { content: ''; width: 36px; height: 1px; background: var(--vermelho); }
.hill figcaption { gap: 16px; margin-top: 28px; }
.hill__foto {
	flex: none; width: 76px; height: 92px; padding: 4px; object-fit: cover; background: var(--branco);
	border: 1px solid var(--linha); box-shadow: 0 10px 24px -14px rgba(12, 10, 10, .45);
	filter: grayscale(1) contrast(1.06); rotate: -2deg; transition: rotate .6s var(--ease-out), filter .6s;
}
.hill:hover .hill__foto { rotate: 0deg; filter: grayscale(.3) sepia(.25) contrast(1.06); }
.hill__nome { display: grid; gap: 7px; }
.hill__nome small { font: italic 400 14px/1.25 var(--serif); letter-spacing: 0; text-transform: none; color: var(--cinza); }
@media (min-width: 900px) {
	.roda__depois { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: start; }
	.roda__depois > .capitular { grid-column: 1 / 6; margin-top: 30px; }
	.hill { grid-column: 7 / -1; }
}

/* ============================== VII. Para quem é (faixa) ============================== */
.faixa {
	margin: 0 calc(var(--margem) * -1) clamp(56px, 8vw, 110px); overflow: hidden;
	border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta);
}
.faixa__linha { display: flex; width: max-content; }
.faixa__linha + .faixa__linha { border-top: 1px solid var(--linha); }
.faixa__trilho { display: flex; flex: none; animation: faixa 60s linear infinite; }
.faixa__linha--b .faixa__trilho { animation-duration: 72s; animation-direction: reverse; }
html.anim-ok .faixa__trilho { animation: none; }
@keyframes faixa { to { transform: translateX(-100%); } }
.faixa__trilho li {
	flex: none; display: flex; align-items: center; padding: .06em 0 .1em; white-space: nowrap;
	font: 300 clamp(54px, 9vw, 150px)/1.08 var(--serif); letter-spacing: -.03em;
	color: transparent; -webkit-text-stroke: 1.2px var(--tinta);
	background-image: linear-gradient(var(--vermelho), var(--vermelho)); background-repeat: no-repeat; background-size: 0% 100%;
	-webkit-background-clip: text; background-clip: text;
	transition: background-size .75s var(--ease), -webkit-text-stroke-color .4s;
}
.faixa__trilho li::after {
	content: ''; flex: none; display: inline-block; width: .13em; height: .13em; margin: 0 .42em; border-radius: 50%;
	background: var(--vermelho); -webkit-text-stroke: 0;
}
.faixa__linha--b .faixa__trilho li { font-style: italic; }
.faixa__trilho li:hover { background-size: 100% 100%; -webkit-text-stroke-color: var(--vermelho); }
@media (hover: none) {
	.faixa__linha--b .faixa__trilho li { -webkit-text-stroke-color: transparent; background-image: linear-gradient(var(--tinta), var(--tinta)); background-size: 100% 100%; }
	.faixa__linha:not(.faixa__linha--b) .faixa__trilho li:nth-child(even) { background-size: 100% 100%; -webkit-text-stroke-color: var(--vermelho); }
}

.ensaio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gutter); align-items: start; }
.ensaio__rotulo { grid-column: 1 / -1; padding-top: 12px; margin-bottom: 10px; border-top: 1px solid var(--tinta); }
.ensaio__item .foto { aspect-ratio: 9 / 10; }
.ensaio__item img { object-position: 50% 40%; }
.ensaio__perfil { margin-top: 10px; font: 600 11px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--tinta); }
.ensaio__perfil::before { content: ''; display: inline-block; width: 18px; height: 1px; margin: 0 8px 3px 0; background: var(--vermelho); vertical-align: middle; }
.ensaio__item:nth-of-type(even) { margin-top: 36px; }
.ensaio__legenda { grid-column: 1 / -1; margin-top: 10px; font: italic 400 14px/1.45 var(--serif); color: var(--cinza); }
@media (min-width: 900px) {
	.ensaio { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ensaio__item:nth-of-type(even) { margin-top: 64px; }
}

/* ============================== VIII. Instrutor ============================== */
.instrutor { display: grid; gap: 40px; }
.instrutor__foto .foto { aspect-ratio: 9 / 10; }
.instrutor__nome { margin: 12px 0 14px; font: 350 clamp(48px, 6.2vw, 100px)/.95 var(--serif); letter-spacing: -.032em; }
.instrutor__nome em { color: var(--vermelho); font-weight: 300; }
.instrutor__cargo { margin-bottom: 14px; font: italic 400 clamp(19px, 1.6vw, 24px)/1.35 var(--serif); color: var(--grafite); }
.video-carta {
	margin-top: 36px; width: 100%; max-width: 500px; display: grid; grid-template-columns: 124px 1fr; gap: 20px; align-items: center;
	padding: 14px; border: 1px solid var(--tinta); background: var(--branco); text-align: left; cursor: pointer;
	transition: transform .55s var(--ease), box-shadow .55s var(--ease);
}
.video-carta:hover { transform: translate(-5px, -5px); box-shadow: 10px 10px 0 var(--vermelho); }
.video-carta__img { display: block; aspect-ratio: 9 / 16; overflow: hidden; background: var(--trilho); }
.video-carta__img img { width: 100%; height: 100%; object-fit: cover; transition: scale 1s var(--ease-out); }
.video-carta:hover .video-carta__img img { scale: 1.07; }
.video-carta__info { display: grid; gap: 12px; justify-items: start; }
.video-carta__play {
	width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: var(--vermelho); color: #fff;
	transition: transform .5s var(--ease);
}
.video-carta:hover .video-carta__play { transform: scale(1.12); }
.video-carta__titulo { font: 400 clamp(20px, 1.7vw, 25px)/1.15 var(--serif); letter-spacing: -.01em; }
.video-carta__dur { font: 600 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--cinza); }
@media (min-width: 900px) {
	.instrutor { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: start; }
	.instrutor__foto { grid-column: 1 / 7; }
	.instrutor__texto { grid-column: 8 / -1; padding-top: 18px; }
}
.metodo { margin-top: clamp(64px, 9vw, 130px); padding-top: 30px; border-top: 2px solid var(--tinta); display: grid; gap: 36px; }
.metodo__mais, .metodo__anos { font: italic 400 clamp(20px, 1.8vw, 26px)/1.2 var(--serif); color: var(--grafite); }
.metodo__vinte { margin: 8px 0 2px; font: 300 clamp(150px, 22vw, 330px)/.8 var(--serif); letter-spacing: -.06em; color: var(--vermelho); font-variant-numeric: lining-nums; }
.metodo__titulo { margin-bottom: 16px; font: 400 clamp(28px, 2.6vw, 40px)/1.1 var(--serif); letter-spacing: -.015em; }
.metodo__texto > .capitular { max-width: 54ch; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.7; color: var(--texto); }
.metodo__lista { margin-top: 24px; }
.metodo__lista div { padding: 18px 0; border-top: 1px solid var(--linha); }
.metodo__lista dt { color: var(--vermelho); font: 600 11px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.metodo__lista dd { margin-top: 8px; max-width: 52ch; color: var(--texto); }
@media (min-width: 900px) {
	.metodo { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
	.metodo__numero { grid-column: 1 / 6; }
	.metodo__texto { grid-column: 7 / -1; }
}

/* ============================== IX. Cartas ============================== */
.cartas {
	display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
	padding: 14px var(--margem) 30px; margin: 0 calc(var(--margem) * -1); scrollbar-width: none;
}
.cartas::-webkit-scrollbar { display: none; }
.carta {
	--rot: 0deg; --rx: 0deg; --ry: 0deg;
	position: relative; flex: 0 0 76%; scroll-snap-align: center; padding: 14px 14px 20px;
	background: var(--branco); border: 1px solid var(--tinta);
	transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)) rotate(var(--rot));
	transition: transform .7s var(--ease-out), box-shadow .7s var(--ease-out);
}
.carta:nth-child(1) { --rot: -1.2deg; }
.carta:nth-child(2) { --rot: .9deg; }
.carta:nth-child(3) { --rot: -.6deg; }
.carta:hover { --rot: 0deg; box-shadow: 12px 12px 0 var(--vermelho); }
.carta__n {
	display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; margin-bottom: 12px;
	border-bottom: 1px solid var(--tinta); font: 600 10.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase;
}
.carta__n::after {
	content: 'LINCE'; padding: 5px 6px 4px; border: 1px dashed var(--vermelho); color: var(--vermelho);
	font: 700 9px/1 var(--sans); letter-spacing: .2em; transform: rotate(4deg);
}
.carta__video {
	position: relative; display: block; width: 100%; aspect-ratio: 9 / 16; padding: 0; border: 0; overflow: hidden;
	background: var(--tinta); cursor: pointer; isolation: isolate;
}
.carta__video img, .carta__video video {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
	filter: grayscale(1) contrast(1.05); transition: filter .9s var(--ease-out), scale 1.2s var(--ease-out), opacity .5s;
}
.carta__video video { opacity: 0; }
.carta__video::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: var(--vermelho); mix-blend-mode: multiply; clip-path: inset(0 100% 0 0);
}
.carta:hover .carta__video img, .carta:hover .carta__video video, .carta.em-cor .carta__video img { filter: none; scale: 1.03; }
.carta:hover .carta__video video { opacity: 1; }
.carta:hover .carta__video::after, .carta.em-cor .carta__video::after { animation: lavagem 1.15s var(--ease) both; }
.carta__play {
	position: absolute; z-index: 2; left: 50%; top: 50%; width: 66px; height: 66px; margin: -33px 0 0 -33px;
	border-radius: 50%; display: grid; place-items: center; background: var(--vermelho); color: #fff;
	box-shadow: 0 0 0 8px rgba(255, 255, 255, .22); transition: transform .5s var(--ease), box-shadow .5s;
}
.carta:hover .carta__play { transform: scale(1.12); box-shadow: 0 0 0 14px rgba(255, 255, 255, .18); }
.carta__nome { margin-top: 16px; font: 400 clamp(26px, 2.2vw, 32px)/1.1 var(--serif); letter-spacing: -.015em; }
.carta__papel { margin-top: 4px; font: italic 400 16px/1.4 var(--serif); color: var(--grafite); }
.carta__dur { margin-top: 12px; font: 600 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--cinza); }
.cartas__dica { margin-top: 4px; font: italic 400 15px/1 var(--serif); color: var(--cinza); }
@media (min-width: 640px) { .carta { flex-basis: 46%; } }
@media (min-width: 900px) {
	.cartas {
		overflow: visible; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); align-items: start;
		max-width: var(--largura); margin: 0 auto; padding: 14px 0 0;
	}
	.carta:nth-child(2) { margin-top: 56px; }
}

/* ============================== X. Resultados ============================== */
.resultados { display: grid; gap: 44px; }
.checklist { border-top: 2px solid var(--tinta); }
.checklist li {
	display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 14px; padding: 16px 0;
	border-bottom: 1px solid var(--linha); font: 400 clamp(24px, 2.6vw, 40px)/1.12 var(--serif); letter-spacing: -.015em;
	transition: padding .55s var(--ease), color .3s;
}
.checklist li:hover { padding-left: 14px; color: var(--vermelho); }
.checklist svg { width: 34px; height: 34px; fill: none; stroke: var(--vermelho); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.checklist path { stroke-dasharray: 1 1.1; stroke-dashoffset: 0; }
.resultados__video .foto { aspect-ratio: 6 / 7; }
.compromisso__titulo { margin-bottom: 16px; font: 400 clamp(28px, 2.6vw, 40px)/1.1 var(--serif); letter-spacing: -.015em; }
.compromisso p { max-width: 54ch; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.7; color: var(--texto); }
@media (min-width: 900px) {
	.resultados { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); row-gap: 56px; align-items: start; }
	.checklist { grid-column: 1 / 7; }
	.resultados__video { grid-column: 8 / -1; grid-row: 1 / 3; }
	.compromisso { grid-column: 1 / 7; }
}

/* ============================== XI. Reserva (classificado) ============================== */
.bilhete {
	position: relative; display: grid; max-width: 1120px; margin-top: 10px;
	background: var(--branco); border: 1.5px solid var(--tinta); box-shadow: 10px 10px 0 var(--vermelho);
}
.bilhete__corpo { padding: clamp(22px, 4vw, 48px); min-width: 0; }
.bilhete__topo {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding-bottom: 12px;
	border-bottom: 1px dashed var(--tinta); font: 600 10.5px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase;
}
.bilhete__topo span:first-child { color: var(--vermelho); }
.bilhete__titulo { margin-top: 22px; font: italic 400 clamp(24px, 2.4vw, 34px)/1.1 var(--serif); }
.bilhete__preco {
	display: flex; align-items: flex-start; margin: 4px 0 6px;
	font: 300 clamp(118px, 19vw, 250px)/.84 var(--serif); letter-spacing: -.06em; color: var(--vermelho); font-variant-numeric: lining-nums;
}
.bilhete__preco small { margin-top: .32em; font-size: .2em; font-style: italic; letter-spacing: 0; color: var(--tinta); }
.bilhete__rs { margin-right: .22em; }
.bilhete__turma { max-width: 52ch; font-size: clamp(16px, 1.3vw, 19px); color: var(--texto); }
.contagem--bilhete { margin-top: 24px; padding: 16px 0; border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--tinta); }
.bilhete__nota { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; color: var(--cinza); }
.bilhete__acoes { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.bilhete__acoes .botao { width: 100%; }
.bilhete__como { flex-basis: 100%; font-size: 14px; color: var(--cinza); }
@media (min-width: 560px) { .bilhete__acoes .botao { width: auto; } }
.bilhete__canhoto { position: relative; padding: 18px clamp(22px, 4vw, 48px); border-top: 2px dashed var(--tinta); background: var(--papel); }
.bilhete__canhoto-miolo {
	display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
	font: 600 10.5px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase;
}
.bilhete__canhoto strong { font: 400 26px/1 var(--serif); letter-spacing: .02em; text-transform: none; color: var(--vermelho); }
.bilhete__furo { position: absolute; width: 30px; height: 30px; border-radius: 50%; background: var(--papel); border: 1.5px solid var(--tinta); }
.bilhete__furo--a { left: -16px; top: -16px; clip-path: inset(0 0 0 50%); }
.bilhete__furo--b { right: -16px; top: -16px; clip-path: inset(0 50% 0 0); }
.carimbo {
	position: absolute; top: 124px; right: -10px; width: 84px; height: 84px; color: var(--vermelho);
	transform: rotate(-14deg); pointer-events: none; opacity: .92;
}
.carimbo text { font: 700 10px/1 var(--sans); letter-spacing: .1em; fill: currentColor; }
.carimbo .carimbo__centro { font: italic 400 26px/1 var(--serif); letter-spacing: -.01em; }
@media (min-width: 900px) {
	.bilhete { grid-template-columns: 1fr 190px; }
	.bilhete__canhoto { padding: 28px 16px; border-top: 0; border-left: 2px dashed var(--tinta); display: grid; }
	.bilhete__canhoto-miolo { writing-mode: vertical-rl; transform: rotate(180deg); flex-wrap: nowrap; justify-content: space-between; justify-self: center; height: 100%; }
	.bilhete__canhoto strong { font-size: 34px; }
	.bilhete__furo--a { left: -16px; top: -16px; clip-path: inset(50% 0 0 0); }
	.bilhete__furo--b { left: -16px; right: auto; top: auto; bottom: -16px; clip-path: inset(0 0 50% 0); }
	.carimbo { top: 26%; right: 236px; width: 156px; height: 156px; }
}

.ficha-wrap { margin-top: clamp(64px, 8vw, 110px); display: grid; gap: 52px; }
.ficha__titulo { padding-bottom: 14px; border-bottom: 2px solid var(--tinta); font: 400 clamp(26px, 2.2vw, 34px)/1.1 var(--serif); letter-spacing: -.012em; }
.ficha dl > div { display: grid; grid-template-columns: minmax(104px, 36%) 1fr; gap: 14px; align-items: baseline; padding: 13px 0; border-bottom: 1px solid var(--linha); }
.ficha dt { color: var(--cinza); font-size: 10.5px; }
.ficha dd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 16px; line-height: 1.4; }
.ficha__nota { margin-top: 14px; font: italic 400 15px/1.5 var(--serif); color: var(--cinza); }
@media (min-width: 900px) {
	.ficha-wrap { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
	.ficha { grid-column: 1 / 7; }
	.ficha--investimento { grid-column: 8 / -1; }
}

/* ============================== XII. FAQ ============================== */
.faq { border-top: 2px solid var(--tinta); max-width: 980px; }
@media (min-width: 900px) { .faq { margin-left: calc((100% + var(--gutter)) * 3 / 12); } }
.faq__item { border-bottom: 1px solid var(--linha); }
.faq__item summary {
	display: grid; grid-template-columns: 40px 1fr 26px; gap: 12px; align-items: center; padding: 22px 0;
	list-style: none; cursor: pointer;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:focus-visible { outline-offset: -2px; }
.faq__n { font: italic 400 16px/1 var(--serif); color: var(--vermelho); }
.faq__q { font: 400 clamp(20px, 1.9vw, 28px)/1.2 var(--serif); letter-spacing: -.01em; transition: color .3s, transform .5s var(--ease); }
.faq__item summary:hover .faq__q { color: var(--vermelho); transform: translateX(6px); }
.faq__icone { position: relative; width: 22px; height: 22px; justify-self: end; transition: transform .5s var(--ease); }
.faq__icone::before, .faq__icone::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--tinta); }
.faq__icone::after { transform: rotate(90deg); transition: transform .5s var(--ease); }
.faq__item[open] .faq__icone { transform: rotate(180deg); }
.faq__item[open] .faq__icone::after { transform: rotate(0deg); }
.faq__item[open] .faq__q { color: var(--vermelho); }
.faq__r { padding: 0 0 24px 52px; }
.faq__r p { max-width: 60ch; color: var(--texto); }
.faq__item::details-content { block-size: 0; overflow: hidden; transition: block-size .5s var(--ease), content-visibility .5s allow-discrete; }
.faq__item[open]::details-content { block-size: auto; }

/* ============================== Fim ============================== */
.fim { position: relative; padding: clamp(90px, 12vw, 180px) var(--margem) clamp(70px, 9vw, 130px); }
.fim__marca { display: flex; align-items: center; gap: 12px; font: 600 11px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }
.fim__marca span { width: 12px; height: 12px; background: var(--vermelho); }
.fim__titulo { margin-top: 20px; max-width: 11ch; font: 300 clamp(58px, 10vw, 168px)/.92 var(--serif); letter-spacing: -.04em; }
.fim__titulo em { color: var(--vermelho); }
.fim__acoes { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 32px; }
.fim__acoes .botao { width: 100%; }
@media (min-width: 560px) { .fim__acoes .botao { width: auto; } }
.fim__slogan {
	margin-top: clamp(64px, 9vw, 120px); padding-top: 16px; border-top: 1px solid var(--tinta);
	font: italic 300 clamp(20px, 2vw, 30px)/1.2 var(--serif); color: var(--cinza);
}
.fim__slogan em { color: var(--vermelho); }

/* ============================== Expediente (rodapé) ============================== */
.expediente {
	position: relative; z-index: 2; background: var(--tinta); color: #f4f1ee;
	padding: clamp(56px, 8vw, 100px) var(--margem) 28px calc(var(--rail) + var(--margem));
}
.expediente__miolo { max-width: var(--largura); margin: 0 auto; }
.expediente__marca { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); padding-bottom: 28px; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.expediente__simbolo { width: clamp(56px, 9vw, 120px); height: auto; }
.expediente__wordmark { width: clamp(200px, 52vw, 720px); height: auto; }
.expediente__tag { margin-top: 16px; font: italic 300 clamp(22px, 2.4vw, 34px)/1.2 var(--serif); }
.expediente__colunas { margin-top: 44px; display: grid; gap: 28px; }
@media (min-width: 768px) { .expediente__colunas { grid-template-columns: repeat(3, 1fr); } }
.expediente__rotulo { margin-bottom: 12px; color: rgba(255, 255, 255, .55); font: 600 10.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.expediente li + li { margin-top: 8px; }
.expediente .link { background-image: linear-gradient(currentColor, currentColor), linear-gradient(rgba(255, 255, 255, .28), rgba(255, 255, 255, .28)); }
.expediente .link:hover { color: #ff3347; }
.expediente__base {
	margin-top: 52px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .2);
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; font-size: 13px; color: rgba(255, 255, 255, .62);
}
.expediente .mm-nota-provisoria { opacity: 1; }
@media (max-width: 899px) { .expediente { padding-bottom: calc(96px + env(safe-area-inset-bottom)); } }

/* ============================== Barra fixa (celular) ============================== */
.barra-fixa {
	position: fixed; z-index: 55; left: 0; right: 0; bottom: 0;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	padding: 10px var(--margem) calc(10px + env(safe-area-inset-bottom));
	background: rgba(251, 250, 248, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-top: 1px solid var(--tinta); transform: translateY(110%); transition: transform .55s var(--ease);
}
.barra-fixa.visivel { transform: none; }
.barra-fixa__info { display: grid; gap: 2px; line-height: 1.2; }
.barra-fixa__info strong { font: 400 19px/1.1 var(--serif); }
.barra-fixa__info span { font: 600 10px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--vermelho); }
.barra-fixa__botao { min-height: 48px; padding: 0 20px; font-size: 15px; }
@media (min-width: 900px) { .barra-fixa { display: none; } }

/* ============================== Cursor ============================== */
.cursor { position: fixed; z-index: 9000; left: 0; top: 0; pointer-events: none; display: none; }
@media (hover: hover) and (pointer: fine) { .cursor { display: block; } }
.cursor__bolha {
	position: absolute; left: -44px; top: -44px; width: 88px; height: 88px; border-radius: 50%;
	display: grid; place-items: center; background: var(--vermelho); color: #fff;
	transform: scale(0); transition: transform .5s var(--ease-out);
}
.cursor.ativo .cursor__bolha { transform: scale(1); }
.cursor__texto { font: 600 12px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }

/* ============================== Pop-up de reserva (claro) ============================== */
.mm-reserva {
	--rv-fundo: #ffffff; --rv-texto: #0c0a0a; --rv-suave: rgba(12, 10, 10, .62); --rv-acento: #d7192d;
	--rv-acento-2: #d7192d; --rv-borda: rgba(12, 10, 10, .2); --rv-campo: #fbfaf8; --rv-erro: #b3121f;
	font-family: var(--sans);
}
.mm-reserva__fundo { background: rgba(239, 235, 230, .8); }
.mm-reserva__painel {
	border-radius: 0; border: 1.5px solid var(--tinta); background: var(--branco);
	box-shadow: 12px 12px 0 var(--vermelho), 0 40px 90px -30px rgba(12, 10, 10, .35);
}
.mm-reserva__painel::before {
	content: 'Classificados · MasterMind LINCE'; display: block; margin: -8px 44px 18px 0; padding-bottom: 10px;
	border-bottom: 1px dashed var(--tinta); font: 600 10px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cinza);
}
.mm-reserva__selo { border-radius: 0; background: var(--tinta); }
.mm-reserva__titulo { font-family: var(--serif); font-weight: 400; letter-spacing: -.015em; font-size: clamp(24px, 6vw, 32px); }
.mm-reserva__turma { font-family: var(--serif); font-style: italic; }
.mm-reserva__preco strong { font-family: var(--serif); font-weight: 300; font-size: clamp(46px, 12vw, 60px); letter-spacing: -.04em; }
.mm-reserva__campo input { border-radius: 0; border-color: rgba(12, 10, 10, .35); }
.mm-reserva__campo input:focus { border-color: var(--tinta); box-shadow: 0 0 0 3px rgba(215, 25, 45, .2); }
.mm-reserva__enviar { border-radius: 0; background: var(--vermelho); box-shadow: none; }
.mm-reserva__enviar:hover { background: var(--tinta); box-shadow: none; }
.mm-reserva__x { border-radius: 0; }

/* ============================== Movimento reduzido ============================== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; }
	.faixa__trilho { animation: none; }
	.faixa__linha { width: auto; flex-wrap: wrap; }
	.faixa__trilho { flex-wrap: wrap; }
	.faixa__trilho[aria-hidden='true'] { display: none; }
	.faixa__trilho li { font-size: clamp(36px, 6vw, 80px); }
	figure:hover .foto::after, .foto.em-cor::after, .carta:hover .carta__video::after { animation: none; }
	.magnetico, .carta, .indice, .barra-fixa { transition: none; }
}

/* ===== CHAMADA NO MEIO DA PÁGINA (anúncio da revista) ===== */
.anuncio { position: relative; padding: clamp(40px, 6vw, 90px) var(--margem); }
.anuncio__miolo {
	display: grid; justify-items: center; gap: 18px; max-width: 980px; margin: 0 auto; padding: clamp(30px, 5vw, 64px) clamp(20px, 4vw, 56px);
	text-align: center; background: var(--branco); border: 1px solid var(--tinta); outline: 1px solid var(--tinta); outline-offset: 6px;
}
.anuncio__rotulo { font: 600 11px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--vermelho); }
.anuncio__titulo { max-width: 18ch; font: 300 clamp(34px, 5vw, 72px)/1.04 var(--serif); letter-spacing: -.03em; color: var(--tinta); text-wrap: balance; }
.anuncio__titulo em { color: var(--vermelho); }
.anuncio__texto { max-width: 52ch; font: italic 400 clamp(16px, 1.3vw, 19px)/1.55 var(--serif); color: var(--texto); }
.anuncio__acoes { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 26px; margin-top: 8px; }
