/* Tutu Lucrativo — página (mesma identidade do Coroas Lucrativas, outra estrutura) */
/* ---------- Arsenica (licensed — files go in assets/fonts/) ---------- */
@font-face {
	font-family: "Arsenica";
	/* Usa a Arsenica deste plugin; se não houver, reaproveita a do plugin Coroas Lucrativas. */
	src: url("../fonts/Arsenica-Regular.woff2") format("woff2"),
		url("../../../coroas-lucrativas-pagina/assets/fonts/Arsenica-Regular.woff2") format("woff2"),
		url("../fonts/Arsenica-Regular.woff") format("woff"),
		url("../fonts/Arsenica-Regular.ttf") format("truetype");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

/* ---------- Brand tokens ---------- */
:root {
	--tulle-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cpath d='M598,300 598,304 597,308 596,313 594,317 588,321 593,325 594,330 595,334 595,338 595,342 594,347 593,351 591,355 588,358 582,361 586,367 587,371 587,376 587,380 586,384 584,388 583,392 580,395 577,399 571,401 574,407 574,411 574,416 573,420 571,424 569,428 567,431 564,434 560,437 554,439 556,445 556,449 554,453 553,457 551,461 548,465 545,468 542,470 538,473 531,473 533,480 532,484 530,488 528,492 525,495 522,498 519,501 515,503 511,505 504,504 505,511 503,515 501,519 498,522 495,525 492,528 488,530 484,532 480,533 473,531 473,538 470,542 468,545 465,548 461,551 457,553 453,554 449,556 445,556 439,554 437,560 434,564 431,567 428,569 424,571 420,573 416,574 411,574 407,574 401,571 399,577 395,580 392,583 388,584 384,586 380,587 376,587 371,587 367,586 361,582 358,588 355,591 351,593 347,594 342,595 338,595 334,595 330,594 325,593 321,588 317,594 313,596 308,597 304,598 300,598 296,598 292,597 287,596 283,594 279,588 275,593 270,594 266,595 262,595 258,595 253,594 249,593 245,591 242,588 239,582 233,586 229,587 224,587 220,587 216,586 212,584 208,583 205,580 201,577 199,571 193,574 189,574 184,574 180,573 176,571 172,569 169,567 166,564 163,560 161,554 155,556 151,556 147,554 143,553 139,551 135,548 132,545 130,542 127,538 127,531 120,533 116,532 112,530 108,528 105,525 102,522 99,519 97,515 95,511 96,504 89,505 85,503 81,501 78,498 75,495 72,492 70,488 68,484 67,480 69,473 62,473 58,470 55,468 52,465 49,461 47,457 46,453 44,449 44,445 46,439 40,437 36,434 33,431 31,428 29,424 27,420 26,416 26,411 26,407 29,401 23,399 20,395 17,392 16,388 14,384 13,380 13,376 13,371 14,367 18,361 12,358 9,355 7,351 6,347 5,342 5,338 5,334 6,330 7,325 12,321 6,317 4,313 3,308 2,304 2,300 2,296 3,292 4,287 6,283 12,279 7,275 6,270 5,266 5,262 5,258 6,253 7,249 9,245 12,242 18,239 14,233 13,229 13,224 13,220 14,216 16,212 17,208 20,205 23,201 29,199 26,193 26,189 26,184 27,180 29,176 31,172 33,169 36,166 40,163 46,161 44,155 44,151 46,147 47,143 49,139 52,135 55,132 58,130 62,127 69,127 67,120 68,116 70,112 72,108 75,105 78,102 81,99 85,97 89,95 96,96 95,89 97,85 99,81 102,78 105,75 108,72 112,70 116,68 120,67 127,69 127,62 130,58 132,55 135,52 139,49 143,47 147,46 151,44 155,44 161,46 163,40 166,36 169,33 172,31 176,29 180,27 184,26 189,26 193,26 199,29 201,23 205,20 208,17 212,16 216,14 220,13 224,13 229,13 233,14 239,18 242,12 245,9 249,7 253,6 258,5 262,5 266,5 270,6 275,7 279,12 283,6 287,4 292,3 296,2 300,2 304,2 308,3 313,4 317,6 321,12 325,7 330,6 334,5 338,5 342,5 347,6 351,7 355,9 358,12 361,18 367,14 371,13 376,13 380,13 384,14 388,16 392,17 395,20 399,23 401,29 407,26 411,26 416,26 420,27 424,29 428,31 431,33 434,36 437,40 439,46 445,44 449,44 453,46 457,47 461,49 465,52 468,55 470,58 473,62 473,69 480,67 484,68 488,70 492,72 495,75 498,78 501,81 503,85 505,89 504,96 511,95 515,97 519,99 522,102 525,105 528,108 530,112 532,116 533,120 531,127 538,127 542,130 545,132 548,135 551,139 553,143 554,147 556,151 556,155 554,161 560,163 564,166 567,169 569,172 571,176 573,180 574,184 574,189 574,193 571,199 577,201 580,205 583,208 584,212 586,216 587,220 587,224 587,229 586,233 582,239 588,242 591,245 593,249 594,253 595,258 595,262 595,266 594,270 593,275 588,279 594,283 596,287 597,292 598,296Z'/%3E%3C/svg%3E");
	/* Paleta de cores */
	--pink: #f3c7e0;
	--orchid: #e4b2d7;
	--lavender: #d3c1f3;
	--cream: #fef3f1;
	--plum: #7a5b87;

	/* Derived tones */
	--plum-dark: #5f4469;
	--plum-deep: #4e3857;
	--lavender-soft: #efe7fc;
	--pink-soft: #fbe6f1;
	--white: #fff;
	--ink: #4b3a55;
	--muted: #75667d;
	--line: #eedbe6;

	/* Paleta Tutu Lucrativo (rosa escuro como cor principal) */
	--rose: #b60975;
	--rose-dark: #8c0659;
	--rose-light: #ffa3c8;
	--lilac: #bea1cd;
	--mauve: #c35d9e;
	--grape: #90458a;
	--grape-deep: #672265;

	/* Fontes */
	--display: "Arsenica", "Cormorant Garamond", Georgia, serif;
	--title: "Cinzel", "Times New Roman", serif;
	--body: "Arimo", Arial, "Helvetica Neue", sans-serif;

	--radius: 14px;
	--shadow: 0 10px 30px rgba(95, 68, 105, .10);
	--container: 1180px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink);
	background: var(--cream);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--plum); }
h1, h2, h3 { font-family: var(--title); font-weight: 500; color: var(--plum); margin: 0 0 .5em; line-height: 1.15; }
p { margin: 0 0 1.2em; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding-left: 28px; padding-right: 28px; }
.container--narrow { max-width: 820px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; top: 8px; left: 8px; z-index: 999; background: #fff; padding: 8px 14px; border-radius: 6px; }
:focus-visible { outline: 2px solid var(--orchid); outline-offset: 3px; }

.eyebrow {
	font-family: var(--title);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--rose);
	margin-bottom: 1rem;
}
.eyebrow--light { color: var(--rose-light); }

.section-title { font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: .02em; }
.section-title--xl { font-size: clamp(2rem, 3.8vw, 2.9rem); }
.section-title--md { font-size: clamp(1.6rem, 2.6vw, 2.1rem); }
/* *destaque* → Arsenica rosa */
.section-title em, .cta__title em {
	font-family: var(--display);
	font-style: normal;
	font-weight: 400;
	font-size: 1.28em;
	letter-spacing: 0;
	color: var(--orchid);
	text-shadow: 0 2px 0 rgba(122, 91, 135, .10);
}
.lead { font-size: 1.02rem; max-width: 31em; }

.ornament { display: inline-flex; align-items: center; gap: 12px; color: currentColor; }
.ornament::before, .ornament::after { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .6; }
.ornament .icon { width: 28px; height: 28px; }

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 32px;
	border-radius: 999px;
	font-family: var(--body); font-size: .95rem; font-weight: 500;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
	border: 0; cursor: pointer;
}
.btn:hover { transform: translateY(-2px); }
.btn--primary { background: var(--rose); color: #fff; box-shadow: 0 8px 22px rgba(182, 9, 117, .3); }
.btn--primary:hover { background: var(--rose-dark); color: #fff; }
.btn--lg { padding: 17px 36px; font-size: 1rem; }
.btn--light { background: #fff; color: var(--rose); }
.btn--light:hover { background: var(--rose-light); color: var(--rose-dark); }
.btn__arrow { width: 16px; height: 16px; stroke-width: 1.6; }


/* ---------- Tule recortado (assinatura visual do Tutu Lucrativo) ---------- */
.btn--outline { background: transparent; color: var(--plum); border: 1px solid var(--plum); padding: 13px 28px; }
.btn--outline:hover { background: var(--plum); color: #fff; }
.t-center { text-align: center; max-width: 700px; margin: 0 auto 48px; }
.t-center__text { color: var(--muted); max-width: 36em; margin: 0 auto; }
p.t-center { margin: 44px auto 0; }

/* Foto vazia: quadro decorativo */
.photo-empty {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
	background:
		radial-gradient(circle at 30% 25%, rgba(255,255,255,.7), transparent 55%),
		linear-gradient(150deg, var(--pink) 0%, var(--lavender) 100%);
	color: var(--plum);
}
.photo-empty .icon { width: 56px; height: 56px; stroke-width: .9; opacity: .7; }
.photo-empty__hint { font-size: .72rem; letter-spacing: .04em; background: rgba(255,255,255,.8); color: var(--plum-dark); padding: 4px 10px; border-radius: 999px; max-width: 85%; text-align: center; }

/* ---------- Hero ---------- */
.t-hero {
	--next: var(--plum);
	position: relative; overflow: hidden;
	background:
		radial-gradient(circle at 85% 20%, rgba(243,199,224,.55), transparent 45%),
		radial-gradient(circle at 10% 90%, rgba(211,193,243,.5), transparent 40%),
		var(--cream);
	padding: 90px 0 110px;
}
.t-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 16px; background: radial-gradient(circle at 16px 0, transparent 15px, var(--rose) 16px) repeat-x; background-size: 32px 16px; }
.t-hero__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 60px; align-items: center; }
.t-hero__brand { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 1.2rem; padding: 8px 18px 8px 12px; border-radius: 999px; background: #fff; box-shadow: 0 6px 18px rgba(182,9,117,.1); font-family: var(--title); font-weight: 600; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--rose); }
.t-hero__brand .icon { width: 22px; height: 22px; stroke-width: 1.4; }
.t-hero__logo img { max-width: 300px; width: 100%; margin: 0 0 1rem; }
.t-hero__headline { font-family: var(--title); font-weight: 600; color: var(--plum-dark); font-size: clamp(1.75rem, 3.3vw, 2.6rem); line-height: 1.22; letter-spacing: .005em; margin: 0 0 1.2rem; }
.t-hero__headline em { font-family: var(--display); font-style: normal; font-weight: 400; font-size: 1.3em; line-height: 1; color: var(--rose); }
.t-hero__text { font-size: 1.08rem; max-width: 32em; margin-bottom: 2rem; color: var(--ink); }
.t-hero__media { position: relative; width: 100%; max-width: 480px; justify-self: center; aspect-ratio: 1; }
.t-hero__photo {
	position: absolute; inset: 0; overflow: hidden; border-radius: 50%;
	-webkit-mask: var(--tulle-mask) center / 100% 100% no-repeat; mask: var(--tulle-mask) center / 100% 100% no-repeat;
}
.t-hero__photo img { width: 100%; height: 100%; object-fit: cover; }
.t-hero__ring { position: absolute; inset: -18px; border-radius: 50%; border: 1px dashed var(--orchid); animation: t-spin 60s linear infinite; }
@keyframes t-spin { to { transform: rotate(360deg); } }
.t-hero__seal {
	position: absolute; left: -10px; bottom: 30px; z-index: 2; width: 150px; height: 150px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; text-align: center; padding: 18px;
	background: var(--rose); color: #fff; margin: 0;
	font-family: var(--title); font-size: .78rem; font-weight: 600; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase;
	box-shadow: 0 0 0 6px var(--cream), 0 14px 30px rgba(95,68,105,.3);
}

/* ---------- Faixa (pílulas em fundo ameixa) ---------- */
.t-strip { background: var(--rose); padding: 34px 0 40px; position: relative; }
.t-strip::after { content: ""; position: absolute; left: 0; right: 0; bottom: -16px; height: 16px; z-index: 2; background: radial-gradient(circle at 16px 0, var(--rose) 15px, transparent 16px) repeat-x; background-size: 32px 16px; }
.t-strip__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 14px; }
.t-strip__item {
	display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px 10px 10px;
	border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #fff; font-size: .9rem;
	background: rgba(255,255,255,.06);
}
.t-strip__icon { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--rose); }
.t-strip__icon .icon { width: 18px; height: 18px; stroke-width: 1.6; }

/* ---------- Polaroide ---------- */
.polaroid { background: #fff; padding: 14px 14px 18px; border-radius: 4px; box-shadow: 0 18px 40px rgba(95,68,105,.18); position: relative; margin: 0; list-style: none; }
.polaroid::before { content: ""; position: absolute; top: -12px; left: 50%; width: 90px; height: 24px; transform: translateX(-50%) rotate(-3deg); background: rgba(243,199,224,.75); }
.polaroid__photo { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--pink-soft); }
.polaroid__photo img { width: 100%; height: 100%; object-fit: cover; }
.polaroid figcaption { font-family: var(--display); font-size: 1.9rem; color: var(--rose); text-align: center; margin-top: 10px; line-height: 1.1; }
.polaroid--tilt-l { transform: rotate(-3deg); }

/* ---------- Sobre ---------- */
.t-about { background: var(--white); padding: 110px 0 100px; }
.t-about__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 80px; align-items: center; }
.t-about__media { max-width: 400px; width: 100%; justify-self: center; position: relative; }
.t-about__media::after { content: ""; position: absolute; z-index: -1; right: -40px; bottom: -40px; width: 70%; height: 70%; border-radius: 50%; background: var(--lavender-soft); }
.t-about { position: relative; z-index: 0; isolation: isolate; }
.t-about__content .lead { margin-bottom: 2rem; }

/* ---------- Linha do tempo ---------- */
.t-learn { background: var(--lavender-soft); padding: 100px 0; }
.t-learn__inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 70px; align-items: start; }
.t-learn__intro { position: sticky; top: 40px; }
.t-learn__note {
	display: flex; gap: 12px; align-items: center; margin-top: 1.4rem; padding: 16px 20px;
	background: var(--rose); color: #fff; border-radius: var(--radius) var(--radius) var(--radius) 0;
	font-family: var(--title); font-weight: 600; font-size: .95rem; line-height: 1.5;
}
.t-learn__note .icon { flex: none; width: 24px; height: 24px; color: var(--pink); }
.t-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.t-steps::before { content: ""; position: absolute; left: 27px; top: 10px; bottom: 10px; border-left: 2px dotted var(--mauve); }
.t-step { position: relative; display: flex; gap: 24px; align-items: center; padding: 12px 0; }
.t-step__num {
	flex: none; position: relative; z-index: 1; width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center; background: #fff; border: 2px solid var(--rose);
	font-family: var(--title); font-weight: 600; color: var(--rose); font-size: 1rem;
}
.t-step p { margin: 0; flex: 1; background: #fff; padding: 16px 22px; border-radius: 999px; font-size: .98rem; box-shadow: 0 6px 18px rgba(95,68,105,.06); }

/* ---------- Destaques (cards verticais) ---------- */
.t-mods { background: var(--cream); padding: 100px 0; }
.t-mods__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.t-mod { position: relative; display: flex; flex-direction: column; text-decoration: none; color: inherit; background: #fff; border-radius: 200px 200px var(--radius) var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease; }
.t-mod:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(95,68,105,.16); }
.t-mod__photo { position: relative; display: block; aspect-ratio: 1 / 1.05; overflow: hidden; background: var(--pink-soft); }
.t-mod__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.t-mod:hover .t-mod__photo img { transform: scale(1.05); }
.t-mod__body { position: relative; display: block; padding: 34px 24px 28px; text-align: center; }
.t-mod__body::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; background: radial-gradient(circle at 16px 16px, #fff 15px, transparent 16px) repeat-x; background-size: 32px 16px; }
.t-mod__title { display: block; font-family: var(--title); font-weight: 600; font-size: 1.1rem; color: var(--plum); letter-spacing: .03em; margin-bottom: .5em; }
.t-mod__text { display: block; font-size: .9rem; color: var(--muted); line-height: 1.6; }


/* ---------- Método simples ---------- */
.t-simple { background: var(--cream); padding: 90px 0; }
.t-simple__inner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 56px; align-items: center; max-width: 980px; }
.t-simple__icon {
	width: 190px; height: 190px; display: grid; place-items: center; color: var(--rose);
	background: var(--pink-soft); -webkit-mask: var(--tulle-mask) center / 100% 100% no-repeat; mask: var(--tulle-mask) center / 100% 100% no-repeat;
}
.t-simple__icon .icon { width: 96px; height: 96px; stroke-width: .9; }
.t-simple__text p { margin: 0 0 .7em; }
.t-simple__lead { font-family: var(--title); font-size: clamp(1.2rem, 2.2vw, 1.55rem); color: var(--plum); line-height: 1.4; }
.t-simple__mark { font-family: var(--title); font-weight: 600; font-size: clamp(1.25rem, 2.4vw, 1.7rem); line-height: 1.5; color: var(--plum-dark); }
.t-simple__mark mark { background: linear-gradient(180deg, transparent 45%, var(--rose-light) 45%, var(--rose-light) 92%, transparent 92%); color: inherit; padding: 0 .15em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.t-simple__end { font-size: 1.08rem; color: var(--ink); max-width: 36em; }

/* ---------- Módulo Solistas ---------- */
.t-solo { background: var(--white); padding: 100px 0 110px; overflow: hidden; }
.t-solo__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.t-solo__media { position: relative; min-height: 520px; }
.t-solo__media::before { content: ""; position: absolute; left: 10%; top: 8%; width: 80%; aspect-ratio: 1; border-radius: 50%; background: var(--lavender-soft); }
.t-solo__p1 { position: absolute; left: 0; top: 0; width: 58%; transform: rotate(-4deg); z-index: 1; }
.t-solo__p2 { position: absolute; right: 0; bottom: 0; width: 54%; transform: rotate(3deg); z-index: 2; }
.t-solo__more-title { font-family: var(--display); font-size: 2.4rem; color: var(--rose); margin: 0 0 .2rem; line-height: 1; }
.t-solo__content .lead { margin-bottom: 1.4rem; }
.t-solo__list { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.t-solo__list li { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 999px; background: var(--pink-soft); font-size: .93rem; color: var(--plum-dark); }
.t-solo__list .icon { flex: none; width: 20px; height: 20px; color: var(--rose); }
.t-solo__more { font-family: var(--title); font-weight: 600; color: var(--plum); margin: .4rem 0 1.8rem; }

/* Depoimentos: cabeçalho com foto */
.t-testi__head { max-width: 700px; margin: 0 auto 48px; text-align: center; }
.t-testi__head--photo { max-width: 1000px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; text-align: left; }
.t-testi__photo { width: 230px; aspect-ratio: 1; overflow: hidden; background: var(--pink); -webkit-mask: var(--tulle-mask) center / 100% 100% no-repeat; mask: var(--tulle-mask) center / 100% 100% no-repeat; }
.t-testi__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
.t-testi__text { color: rgba(255,255,255,.8); margin: 0; }


/* ---------- Dores ---------- */
.t-pain { background: var(--white); padding: 100px 0; }
.t-pain__grid { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: 1080px; }
.t-pain__card { position: relative; background: var(--cream); border-radius: var(--radius); padding: 34px 28px 30px; border-top: 4px solid var(--rose); box-shadow: 0 8px 24px rgba(182,9,117,.07); }
.t-pain__icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--rose); margin-bottom: 16px; box-shadow: 0 4px 12px rgba(182,9,117,.12); }
.t-pain__icon .icon { width: 24px; height: 24px; stroke-width: 1.6; }
.t-pain__card h3 { font-size: 1.12rem; font-weight: 600; color: var(--rose-dark); margin-bottom: .6em; line-height: 1.3; }
.t-pain__card p { margin: 0; color: var(--ink); font-size: .96rem; }
.t-pain__conn { max-width: 820px; margin: 56px auto 0; text-align: center; }
.t-pain__conn p { font-size: 1.08rem; color: var(--ink); }
.t-pain__conn-strong { display: inline-block; margin: 8px 0 0 !important; padding: 20px 30px; border-radius: var(--radius); background: var(--rose); color: #fff !important; font-family: var(--title); font-weight: 600; font-size: clamp(1.05rem, 2vw, 1.25rem) !important; line-height: 1.5; box-shadow: 0 16px 34px rgba(182,9,117,.25); }
.t-about__text p { margin: 0 0 1em; }

/* ---------- Modelos: subtítulo e itens com título ---------- */
.t-learn__sub { font-family: var(--title); font-weight: 600; font-size: 1.15rem; color: var(--rose-dark); margin: 0 0 18px 4px; }
.t-step p strong { display: block; font-family: var(--title); font-weight: 600; color: var(--plum-dark); font-size: 1rem; margin-bottom: 2px; }
.t-step p span { display: block; font-size: .92rem; color: var(--muted); line-height: 1.5; }
.t-step p { border-radius: 22px; }

/* ---------- Bônus ---------- */
.t-bonus { position: relative; padding: 100px 0; color: #fff; background: radial-gradient(ellipse at 80% 0%, rgba(255,163,200,.35), transparent 50%), linear-gradient(160deg, var(--rose) 0%, var(--grape-deep) 100%); }
.t-bonus__title { color: #fff; }
.t-bonus__title em { color: var(--rose-light) !important; text-shadow: none; }
.t-bonus__text { color: rgba(255,255,255,.88); }
.t-bonus__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.t-gift { position: relative; background: #fff; color: var(--ink); border-radius: var(--radius); padding: 46px 22px 26px; text-align: center; box-shadow: 0 18px 40px rgba(60,10,50,.25); }
.t-gift__ribbon { position: absolute; top: -16px; left: 50%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; background: var(--rose-light); color: var(--rose-dark); padding: 8px 18px; border-radius: 999px; font-family: var(--title); font-weight: 600; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.t-gift__ribbon .icon { width: 18px; height: 18px; stroke-width: 1.6; }
.t-gift h3 { font-size: 1.05rem; font-weight: 600; color: var(--rose-dark); line-height: 1.3; margin-bottom: .6em; }
.t-gift p { margin: 0; font-size: .9rem; color: var(--muted); line-height: 1.6; }

/* ---------- Carrosséis ---------- */
.t-mcar { background: var(--cream); padding: 100px 0; }
.t-car { position: relative; }
.t-car__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 8px 4px 24px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.t-car__track::-webkit-scrollbar { display: none; }
.t-car__track:focus-visible { outline: 2px solid var(--rose); outline-offset: 4px; }
.t-car__slide { flex: 0 0 calc((100% - 60px) / 4); scroll-snap-align: start; margin: 0; }
.t-car__slide--photo { aspect-ratio: 3 / 4; border-radius: 160px 160px var(--radius) var(--radius); overflow: hidden; background: var(--pink-soft); box-shadow: var(--shadow); }
.t-car__slide--photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .5s ease; }
.t-car__slide--photo:hover img { transform: scale(1.04); }
.t-car__btn { position: absolute; top: 50%; z-index: 3; width: 48px; height: 48px; margin-top: -32px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; background: #fff; color: var(--rose); box-shadow: 0 8px 20px rgba(103,34,101,.2); transition: background .2s ease, color .2s ease; }
.t-car__btn:hover { background: var(--rose); color: #fff; }
.t-car__btn .icon { width: 20px; height: 20px; stroke-width: 1.8; }
.t-car__btn--prev { left: -22px; }
.t-car__btn--next { right: -22px; }
.t-car--prints .t-car__track { align-items: flex-start; }
.t-car--prints .t-car__slide { flex-basis: calc((100% - 40px) / 3); }
.t-car--prints .t-print { margin: 0; }

/* ---------- Estrutura de apoio ---------- */
.t-support { background: var(--white); padding: 100px 0; }
.t-support__grid { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 1000px; }
.t-support__item { display: flex; gap: 20px; align-items: flex-start; padding: 28px; border-radius: var(--radius); background: var(--cream); border: 1px solid var(--line); }
.t-support__icon { flex: none; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--rose); color: #fff; box-shadow: 0 8px 18px rgba(182,9,117,.25); }
.t-support__icon .icon { width: 28px; height: 28px; stroke-width: 1.4; }
.t-support__item h3 { font-size: 1.05rem; font-weight: 600; color: var(--rose-dark); margin-bottom: .4em; line-height: 1.3; }
.t-support__item p { margin: 0; font-size: .93rem; color: var(--ink); }

/* ---------- Tutus das alunas ---------- */
.t-work { background: var(--white); padding: 100px 0; }
.t-work__grid { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 36px 28px; }
.t-work__grid .polaroid { flex: 0 1 calc(25% - 21px); }
.t-work__grid .polaroid:nth-child(4n+1) { transform: rotate(-3deg); }
.t-work__grid .polaroid:nth-child(4n+2) { transform: rotate(2deg) translateY(14px); }
.t-work__grid .polaroid:nth-child(4n+3) { transform: rotate(-1.5deg); }
.t-work__grid .polaroid:nth-child(4n+4) { transform: rotate(3deg) translateY(10px); }
.t-work__grid .polaroid:hover { transform: rotate(0) scale(1.03); z-index: 2; transition: transform .3s ease; }

/* ---------- Quem sou eu ---------- */
.t-teacher { background: linear-gradient(180deg, var(--pink-soft) 0%, var(--cream) 100%); padding: 110px 0; overflow: hidden; }
.t-teacher__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 80px; align-items: center; }
.t-teacher__media { order: 2; position: relative; width: 100%; max-width: 420px; justify-self: center; aspect-ratio: 1; }
.t-teacher__photo {
	position: absolute; inset: 0; overflow: hidden; border-radius: 50%; background: var(--pink-soft);
	-webkit-mask: var(--tulle-mask) center / 100% 100% no-repeat; mask: var(--tulle-mask) center / 100% 100% no-repeat;
}
.t-teacher__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
.t-badge {
	position: absolute; z-index: 2; margin: 0; width: 132px; height: 132px; border-radius: 50%;
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 14px;
	background: #fff; box-shadow: 0 12px 30px rgba(95,68,105,.18);
}
.t-badge strong { font-family: var(--title); font-size: 1.6rem; color: var(--plum); line-height: 1.1; }
.t-badge span { font-size: .7rem; color: var(--muted); line-height: 1.35; }
.t-badge--1 { left: -30px; top: 8%; }
.t-badge--2 { right: -20px; bottom: 4%; background: var(--rose); }
.t-badge--2 strong { color: #fff; }
.t-badge--2 span { color: rgba(255,255,255,.8); }
.t-teacher__role { font-family: var(--title); font-size: .8rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin: -.2rem 0 1.4rem; }
.t-teacher__text { position: relative; padding-left: 26px; border-left: 2px solid var(--orchid); }
.t-teacher__text p { max-width: 38em; }
.t-teacher__text p:last-child { margin-bottom: 0; font-family: var(--title); color: var(--plum); font-weight: 600; }

/* ---------- Planos (ingressos) ---------- */
.t-plans { background: var(--white); padding: 100px 0; }
.t-plans__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; max-width: 900px; margin: 0 auto; align-items: stretch; }
.t-plans__grid--single { grid-template-columns: minmax(0, 460px); justify-content: center; }
.ticket { position: relative; display: flex; flex-direction: column; border-radius: 22px; background: var(--cream); border: 1px solid var(--line); }
.ticket__top { flex: 1; padding: 40px 34px 30px; position: relative; }
.ticket__bottom { position: relative; padding: 30px 34px 36px; text-align: center; border-top: 2px dashed var(--line); }
.ticket__bottom::before, .ticket__bottom::after { content: ""; position: absolute; top: -17px; width: 32px; height: 32px; border-radius: 50%; background: var(--white); border: 1px solid var(--line); }
.ticket__bottom::before { left: -17px; clip-path: inset(0 0 0 50%); }
.ticket__bottom::after { right: -17px; clip-path: inset(0 50% 0 0); }
.ticket__badge { position: absolute; top: -14px; right: 28px; background: var(--rose-light); color: var(--rose-dark); font-family: var(--title); font-weight: 600; font-size: .78rem; letter-spacing: .12em; padding: 6px 16px; border-radius: 999px; }
.ticket__name { font-family: var(--display); font-size: 2.4rem; color: var(--plum); margin: 0 0 18px; line-height: 1; }
.ticket__features { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ticket__features li { display: flex; gap: 10px; align-items: flex-start; font-size: .93rem; line-height: 1.5; }
.ticket__check { flex: none; width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: var(--rose-light); color: var(--rose-dark); stroke-width: 2; margin-top: 1px; }
.ticket__cash-label { font-size: .85rem; color: var(--muted); margin: 0; }
.ticket__value { font-family: var(--title); font-weight: 600; font-size: clamp(2.2rem, 4vw, 2.8rem); color: var(--plum); line-height: 1.15; margin: 2px 0 6px; }
.ticket__install { font-size: .95rem; margin: 0 0 24px; }
.ticket .btn { width: 100%; justify-content: center; }
.ticket--hl { background: linear-gradient(160deg, var(--rose) 0%, var(--grape-deep) 100%); border-color: transparent; color: #fff; box-shadow: 0 24px 50px rgba(103,34,101,.35); }
.ticket--hl .ticket__name { color: var(--rose-light); }
.ticket--hl .ticket__bottom { border-top-color: rgba(255,255,255,.25); }
.ticket--hl .ticket__cash-label, .ticket--hl .ticket__install { color: rgba(255,255,255,.85); }
.ticket--hl .ticket__value { color: #fff; }
.ticket--hl .ticket__bottom::before, .ticket--hl .ticket__bottom::after { border-color: transparent; }
.t-plans__note { margin-top: 32px; font-size: .88rem; }

/* ---------- Depoimentos ---------- */
.t-testi { background: radial-gradient(ellipse at 50% 0%, var(--mauve) 0%, var(--grape) 45%, var(--grape-deep) 100%); padding: 100px 0; color: #fff; }
.t-testi__title { color: #fff; }
.t-testi__title em { color: var(--rose-light); text-shadow: none; }
.t-testi__text { color: rgba(255,255,255,.8); }
.t-testi__wall { columns: 3 260px; column-gap: 22px; max-width: 1040px; margin: 0 auto; }
.t-print { break-inside: avoid; margin: 0 0 22px; padding: 10px; background: #fff; border-radius: 16px 16px 16px 4px; box-shadow: 0 14px 30px rgba(0,0,0,.2); }
.t-print img { width: 100%; border-radius: 10px; }

/* ---------- Chamada final ---------- */
.cta { position: relative; color: #fff; padding: 100px 0 80px; text-align: center; background: radial-gradient(ellipse at 50% 20%, var(--mauve) 0%, var(--grape) 45%, var(--grape-deep) 100%); }
.cta::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 17px; background: radial-gradient(circle at 16px 0, var(--cream) 15px, transparent 16px) repeat-x; background-size: 32px 16px; }
.cta__inner { max-width: 760px; }
.cta__crown .icon { width: 44px; height: 44px; color: var(--pink); stroke-width: 1; }
.cta__title { color: #fff; font-size: clamp(1.9rem, 3.6vw, 2.8rem); margin: 0 0 .6em; }
.cta__title em { font-family: var(--display); font-style: normal; font-weight: 400; font-size: 1.3em; color: var(--rose-light); }
.cta__desc { color: rgba(255,255,255,.85); margin: 0 auto 2rem; max-width: 40em; }
.cta__brand { margin: 2.4rem 0 0; opacity: .8; }
.cta__brand-1 { font-family: var(--display); font-size: 1.8rem; color: var(--pink); }
.cta__brand-2 { font-family: var(--title); letter-spacing: .3em; font-size: .9rem; }

/* ---------- Garantia ---------- */
.guarantee { background: var(--white); padding: 80px 0; }
.guarantee__box {
	display: flex; align-items: center; gap: 48px;
	max-width: 900px; margin: 0 auto; padding: 44px 52px;
	border-radius: var(--radius); border: 1px dashed var(--orchid);
	background: linear-gradient(135deg, var(--pink-soft) 0%, var(--lavender-soft) 100%);
}
.guarantee__seal {
	flex: none; width: 150px; height: 150px; border-radius: 50%;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	background: var(--rose); color: #fff; text-align: center;
	box-shadow: 0 0 0 8px rgba(255, 255, 255, .7), 0 0 0 9px var(--orchid), 0 16px 34px rgba(95, 68, 105, .28);
}
.guarantee__icon { width: 26px; height: 26px; color: var(--pink); margin-bottom: 2px; }
.guarantee__seal strong { font-family: var(--title); font-size: 2.6rem; font-weight: 600; line-height: 1; }
.guarantee__seal span { font-family: var(--title); font-size: .75rem; letter-spacing: .3em; text-transform: uppercase; }
.guarantee__content p { margin: 0; color: var(--ink); }
.guarantee__text p + p { margin-top: .8em; }
.guarantee__note {
	display: flex; align-items: flex-start; gap: 12px;
	margin-top: 20px !important; padding: 16px 20px;
	background: rgba(255, 255, 255, .75); border-left: 3px solid var(--orchid); border-radius: 0 10px 10px 0;
	font-size: .95rem; color: var(--plum-dark) !important; text-align: left;
}
.guarantee__note-icon { flex: none; width: 22px; height: 22px; color: var(--orchid); margin-top: 2px; }
.guarantee__content .section-title { margin-bottom: .6em; }

/* ---------- FAQ ---------- */
.faq { background: var(--cream); padding: 96px 0; }
.faq__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 60px; align-items: start; }
.faq__intro { position: sticky; top: 40px; }
.faq__help { color: var(--muted); margin: 1.2rem 0 1rem; }
.btn--outline { background: transparent; color: var(--plum); border: 1px solid var(--plum); padding: 12px 26px; }
.btn--outline:hover { background: var(--plum); color: #fff; }
.faq__list { display: flex; flex-direction: column; gap: 14px; }
.faq-item { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); transition: border-color .2s ease, box-shadow .2s ease; }
.faq-item[open] { border-color: var(--mauve); box-shadow: var(--shadow); }
.faq-item summary {
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
	padding: 20px 24px; cursor: pointer; list-style: none;
	font-weight: 500; color: var(--plum-dark); font-size: 1rem; line-height: 1.45;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item__icon {
	flex: none; width: 30px; height: 30px; padding: 6px; border-radius: 50%;
	background: var(--pink-soft); color: var(--plum); stroke-width: 1.6;
	transition: transform .25s ease, background .25s ease;
}
.faq-item[open] .faq-item__icon { transform: rotate(45deg); background: var(--rose); color: #fff; }
.faq-item__answer { padding: 0 24px 20px; color: var(--muted); font-size: .95rem; }
.faq-item__answer p { margin: 0 0 .8em; }
.faq-item__answer p:last-child { margin-bottom: 0; }

.footer-bar { background: var(--plum-deep); color: rgba(255, 255, 255, .75); font-size: .82rem; }
.footer-bar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 18px; padding-bottom: 18px; }
.footer-bar p { margin: 0; }
.footer-bar ul { list-style: none; display: flex; flex-wrap: wrap; gap: 22px; margin: 0; padding: 0; }
.footer-bar a { color: rgba(255, 255, 255, .88); text-decoration: none; }
.footer-bar a:hover { color: #fff; }

/* ---------- Reveal animation ---------- */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.reveal { opacity: 1; transform: none; transition: none; }
}


/* ---------- Responsivo ---------- */
@media (max-width: 960px) {
	.t-hero { padding: 50px 0 90px; }
	.t-hero__inner { grid-template-columns: 1fr; gap: 48px; }
	.t-hero__media { max-width: 360px; order: -1; }
	.t-hero__seal { width: 120px; height: 120px; font-size: .68rem; left: -6px; bottom: 10px; }
	.t-about__inner, .t-learn__inner, .t-teacher__inner { grid-template-columns: 1fr; gap: 56px; }
	.t-learn__intro { position: static; }
	.t-teacher__media { order: -1; max-width: 340px; }
	.t-mods__grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
	.t-work__grid { gap: 30px 18px; }
	.t-work__grid .polaroid { flex-basis: calc(50% - 9px); }
	.t-plans__grid { grid-template-columns: 1fr; max-width: 460px; gap: 40px; }
	.t-pain, .t-bonus, .t-mcar, .t-support { padding: 70px 0; }
	.t-pain__grid { grid-template-columns: 1fr; max-width: 520px; }
	.t-bonus__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 16px; }
	.t-support__grid { grid-template-columns: 1fr; }
	.t-car__slide { flex-basis: calc((100% - 20px) / 2); }
	.t-car--prints .t-car__slide { flex-basis: calc((100% - 20px) / 2); }
	.t-car__btn--prev { left: -8px; }
	.t-car__btn--next { right: -8px; }
	.t-simple__inner { grid-template-columns: 1fr; gap: 28px; text-align: center; justify-items: center; }
	.t-simple, .t-solo { padding: 70px 0; }
	.t-solo__inner { grid-template-columns: 1fr; gap: 48px; }
	.t-solo__media { min-height: 0; aspect-ratio: 1 / 1.05; max-width: 420px; width: 100%; margin: 0 auto; }
	.t-testi__head--photo { grid-template-columns: 1fr; text-align: center; justify-items: center; gap: 28px; }
	.t-testi__photo { width: 180px; order: -1; }
	.t-about, .t-learn, .t-mods, .t-work, .t-teacher, .t-plans, .t-testi { padding: 70px 0; }
	.faq__inner { grid-template-columns: 1fr; gap: 32px; }
	.faq__intro { position: static; }
	.guarantee__box { flex-direction: column; text-align: center; gap: 30px; padding: 40px 24px; }
	.footer-bar__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 520px) {
	.container { padding-left: 20px; padding-right: 20px; }
	.t-strip__item { font-size: .82rem; padding-right: 14px; }
	.t-step { gap: 14px; }
	.t-step p { border-radius: 18px; padding: 14px 16px; font-size: .92rem; }
	.t-steps::before { left: 23px; }
	.t-step__num { width: 48px; height: 48px; }
	.t-bonus__grid { grid-template-columns: 1fr; gap: 34px; }
	.t-car__slide, .t-car--prints .t-car__slide { flex-basis: 78%; }
	.t-car__btn { width: 40px; height: 40px; }
	.t-support__item { padding: 22px 18px; gap: 14px; }
	.t-support__icon { width: 48px; height: 48px; }
	.t-pain__conn-strong { padding: 18px 20px; }
	.t-solo__list { grid-template-columns: 1fr; }
	.t-simple__icon { width: 150px; height: 150px; }
	.t-badge { width: 108px; height: 108px; }
	.t-badge strong { font-size: 1.3rem; }
	.t-badge--1 { left: -10px; }
	.t-badge--2 { right: -6px; }
	.ticket__top { padding: 34px 24px 26px; }
	.ticket__bottom { padding: 26px 24px 30px; }
	.faq-item summary { padding: 18px; font-size: .95rem; }
	.faq-item__answer { padding: 0 18px 18px; }
}

/* Destaques *palavra* em rosa mais vivo (sobre fundo claro) */
.section-title em { color: var(--mauve); }
.t-testi__title em, .t-bonus__title em { color: var(--rose-light); }
.t-car--prints .t-car__track { align-items: center; }
.t-car--prints .t-print { display: flex; justify-content: center; background: #fff; }
.t-car--prints .t-print img { width: 100%; max-height: 420px; object-fit: contain; }
@media (max-width: 520px) {
	.t-car--prints .t-print img { max-height: 300px; }
}

/* Topo: foto quadrada (cantos arredondados), sem recorte redondo */
.t-hero__photo { border-radius: 28px; -webkit-mask: none; mask: none; box-shadow: 0 24px 50px rgba(103,34,101,.22); }
.t-hero__ring { inset: -16px; border-radius: 40px; animation: none; border: 2px dashed var(--rose-light); }
.t-hero__seal { left: -26px; bottom: -22px; }
.t-work__grid .polaroid__photo img { object-position: center 30%; }
@media (max-width: 960px) { .t-hero__seal { left: -8px; bottom: -14px; } }

.cta__logo { margin: 2.6rem 0 0; }
.cta__logo img { width: 240px; max-width: 70%; height: auto; margin: 0 auto; }

/* Logos no final */
.cta__logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 28px 56px; margin-top: 3rem; }
.cta__logos .cta__logo { margin: 0; }
.tl-lockup { display: inline-flex; align-items: center; gap: 6px; }
.tl-lockup__dancer { width: 118px; height: auto; margin-right: -8px; filter: drop-shadow(0 6px 10px rgba(0,0,0,.2)); }
.tl-lockup__text { display: flex; flex-direction: column; align-items: flex-start; line-height: .92; text-align: left; }
.tl-lockup__method { font-family: "Poppins", var(--body); font-weight: 700; font-size: 1.15rem; color: #fff; letter-spacing: -.01em; margin-bottom: 2px; }
.tl-lockup__big { font-family: "Anton", "Oswald", Impact, sans-serif; font-size: 3.6rem; color: #fff; letter-spacing: .01em; text-shadow: 0 3px 0 rgba(0,0,0,.18); }
.tl-lockup__big--2 { font-size: 3.05rem; }
.tl-lockup__bar { width: 240px; height: auto; margin-top: 8px; margin-left: -8px; }
@media (max-width: 520px) {
	.tl-lockup__dancer { width: 88px; }
	.tl-lockup__big { font-size: 2.7rem; }
	.tl-lockup__big--2 { font-size: 2.28rem; }
	.tl-lockup__bar { width: 180px; }
}

/* Topo: título acima da foto */
.t-hero__side { display: flex; flex-direction: column; align-items: center; gap: 30px; width: 100%; max-width: 480px; justify-self: center; }
.t-hero__side .t-hero__media { max-width: 100%; }
.t-hero__photo-title { margin: 0; text-align: center; font-family: var(--title); font-weight: 600; font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.3; color: var(--plum-dark); }
.t-hero__photo-title em { font-family: var(--display); font-style: normal; font-weight: 400; font-size: 1.3em; color: var(--rose); }

/* Carrossel de vídeos */
.t-videos { background: var(--white); padding: 90px 0; }
.t-car--videos .t-car__slide { flex-basis: calc((100% - 40px) / 3); }
.t-video { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #1a0b18; box-shadow: var(--shadow); }
.t-video--short { aspect-ratio: 9 / 16; }
.t-car--videos .t-video--short { flex-basis: calc((100% - 60px) / 4); }
.t-video__btn { position: absolute; inset: 0; border: 0; padding: 0; cursor: pointer; background: none; display: block; width: 100%; }
.t-video__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease, filter .3s ease; }
.t-video__btn:hover img { transform: scale(1.04); filter: brightness(.85); }
.t-video__play { position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; margin: -34px 0 0 -34px; border-radius: 50%; display: grid; place-items: center; background: var(--rose); color: #fff; box-shadow: 0 0 0 8px rgba(255,255,255,.35), 0 10px 24px rgba(0,0,0,.3); transition: transform .2s ease; }
.t-video__play svg { width: 30px; height: 30px; margin-left: 4px; }
.t-video__btn:hover .t-video__play { transform: scale(1.08); }
.t-video__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 960px) {
	.t-hero__side { max-width: 380px; order: -1; }
	.t-videos { padding: 70px 0; }
	.t-car--videos .t-car__slide { flex-basis: calc((100% - 20px) / 2); }
	.t-car--videos .t-video--short { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 520px) {
	.t-car--videos .t-car__slide { flex-basis: 86%; }
	.t-car--videos .t-video--short { flex-basis: 62%; }
}
.t-car--videos .t-car__track { align-items: center; }
.t-hero__side .t-hero__media { order: 0; }

/* Nada pode passar da largura da tela (evita barra de rolagem lateral) */
html, body.tl-landing { max-width: 100%; overflow-x: hidden; }
@supports (overflow: clip) { html, body.tl-landing { overflow-x: clip; } }
.t-about, .t-hero, .t-solo, .t-teacher, .t-videos, .t-mcar, .t-testi { overflow-x: clip; }
.t-about__media::after { right: -20px; }

/* Topo mais próximo do início da página */
.t-hero { padding-top: 32px; padding-bottom: 90px; }
.t-hero__brand { margin-bottom: .9rem; }
.t-hero__side { gap: 20px; }
@media (max-width: 960px) {
	.t-hero { padding-top: 20px; padding-bottom: 80px; }
	.t-hero__inner { gap: 32px; }
}
