/*
 * LP Semana da Refrigeracao e Ar-Condicionado
 * Direcao: Treinatec Refrigeracao - Espresso & Ouro
 */

.tt-lp {
	--bg: #F8F8F8;
	--surface: #FFFFFF;
	--ink: #2A1C19;
	--ink-soft: #5C4B45;
	--accent: #F3B842;
	--accent-lit: #FEC045;
	--accent-deep: #BE8F33;
	--brand: #01B3A5;
	--success: #24BF93;
	--dark: #2A1C19;
	--dark-alt: #403D2C;
	--bar: #2C2C2C;
	--on-dark: #EBEBEB;
	--line: #DDDDDD;

	--r-sm: 8px;
	--r-md: 12px;
	--r-lg: 16px;

	--wrap: 1200px;

	background: var(--bg);
	color: var(--ink);
	font-family: "Exo", system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
	overflow-x: hidden;
}

.tt-lp *,
.tt-lp *::before,
.tt-lp *::after {
	box-sizing: border-box;
}

.tt-lp img {
	max-width: 100%;
	height: auto;
	display: block;
}

.tt-wrap {
	width: 100%;
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 20px;
}

.tt-lp h1,
.tt-lp h2,
.tt-lp h3 {
	font-family: "Exo", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0;
	line-height: 1.05;
	letter-spacing: 0.005em;
}

.tt-lp p {
	margin: 0 0 18px;
}

.tt-lp p:last-child {
	margin-bottom: 0;
}

.tt-brand {
	color: var(--brand);
}

.tt-gold {
	color: var(--accent-lit);
}

/* ---------------------------------------------------------- HERO */

.tt-hero {
	position: relative;
	background-color: var(--bg);
	background-repeat: no-repeat;
	background-position: center right;
	background-size: cover;
}

/*
 * Vela do hero: garante chao limpo para o texto em qualquer largura de tela.
 * Sem ela, telas mais estreitas ampliam a foto (background cover) e o tecnico
 * avanca por baixo do titulo e do formulario.
 */
.tt-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(96deg, #F8F8F8 0%, rgba(248, 248, 248, .98) 30%, rgba(248, 248, 248, .88) 42%, rgba(248, 248, 248, 0) 57%);
	pointer-events: none;
	z-index: 0;
}

.tt-hero > .tt-wrap {
	position: relative;
	z-index: 1;
}

.tt-hero__inner {
	padding: 24px 0 52px;
}

.tt-hero__col {
	max-width: min(600px, 52%);
}

.tt-hero h1 {
	font-family: "Barlow", sans-serif;
	font-weight: 800;
	font-size: clamp(33px, 3.8vw, 53px);
	line-height: 1.02;
	margin-bottom: 16px;
}

/* Publico 40+: corpo maior e mais encorpado que o padrao. */
.tt-hero__lede {
	font-size: 21px;
	font-weight: 600;
	line-height: 1.4;
	max-width: none;
}

.tt-hero__lede p {
	margin-bottom: 13px;
}

.tt-hero__lede strong {
	font-weight: 700;
}

/* Data do evento */

.tt-data {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 14px 0 14px;
}

.tt-data img {
	width: 44px;
	flex: 0 0 44px;
}

.tt-data p {
	font-size: 20.5px;
	font-weight: 700;
	line-height: 1.28;
	margin: 0;
}

/* ---------------------------------------------------------- FORM */

.tt-form {
	max-width: 470px;
	display: grid;
	gap: 10px;
}

.tt-field input[type="email"],
.tt-field input[type="tel"] {
	width: 100%;
	height: 56px;
	padding: 0 18px;
	font-family: inherit;
	font-size: 17px;
	color: var(--ink);
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--r-sm);
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.tt-field input::placeholder {
	color: #6B625E;
	opacity: 1;
}

.tt-field input:focus {
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(1, 179, 165, .22);
}

.tt-field.is-erro input {
	border-color: #C0392B;
}

.tt-erro {
	display: none;
	margin: 2px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: #A5281B;
}

.tt-field.is-erro .tt-erro {
	display: block;
}

/* intl-tel-input dentro do nosso campo */

.tt-lp .iti {
	width: 100%;
	display: block;
}

.tt-lp .iti--separate-dial-code .iti__selected-flag {
	background: #F1F1F1;
	border-radius: var(--r-sm) 0 0 var(--r-sm);
}

.tt-lp .iti__country-list {
	max-width: 320px;
}

.tt-lp .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.tt-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Botao primario */

.tt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	min-height: 64px;
	padding: 14px 26px;
	border: 0;
	border-radius: var(--r-md);
	background: linear-gradient(180deg, var(--accent-lit) 0%, var(--accent) 45%, var(--accent-deep) 100%);
	box-shadow: 0 6px 18px rgba(42, 28, 25, .22);
	color: #FFFFFF;
	font-family: "Exo", sans-serif;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .015em;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}

.tt-btn:hover {
	filter: brightness(1.04);
	box-shadow: 0 8px 22px rgba(42, 28, 25, .28);
}

.tt-btn:active {
	transform: translateY(1px);
	box-shadow: 0 4px 12px rgba(42, 28, 25, .24);
}

.tt-btn:focus-visible {
	outline: 3px solid var(--ink);
	outline-offset: 3px;
}

.tt-btn[disabled] {
	cursor: progress;
	filter: saturate(.55);
}

.tt-btn svg {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	fill: currentColor;
}

.tt-btn [data-rotulo] {
	white-space: nowrap;
}

.tt-btn--ancora {
	width: auto;
	max-width: 460px;
}

.tt-nota {
	margin: 18px 0 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--brand);
	max-width: 44ch;
}

/* ---------------------------------------------------------- MARQUEE */

.tt-marquee {
	background: var(--bar);
	color: #F8F8F8;
	overflow: hidden;
	padding: 15px 0;
	font-family: "Exo", sans-serif;
	font-size: 21px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .02em;
	white-space: nowrap;
}

.tt-marquee__track {
	display: inline-flex;
	gap: 34px;
	padding-left: 34px;
	animation: tt-desliza 38s linear infinite;
	will-change: transform;
}

.tt-marquee__track span {
	flex: 0 0 auto;
}

@keyframes tt-desliza {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* ---------------------------------------------------------- SECOES */

.tt-secao {
	padding: 76px 0;
}

.tt-secao__titulo {
	font-size: clamp(30px, 3.4vw, 44px);
	text-align: center;
	margin-bottom: 46px;
	line-height: 1.08;
}

/* Cards de conteudo */

.tt-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	align-items: stretch;
}

.tt-card {
	background: linear-gradient(155deg, #2A1C19 0%, #33291F 55%, #403D2C 100%);
	border: 1px solid var(--accent);
	border-radius: var(--r-lg);
	padding: 34px 34px 38px;
	color: var(--on-dark);
}

.tt-card img {
	width: auto;
	height: 58px;
	margin-bottom: 22px;
}

.tt-card h3 {
	color: #FFFFFF;
	font-size: 30px;
	margin-bottom: 16px;
	line-height: 1.12;
	text-transform: none;
}

.tt-card p {
	font-size: 16.5px;
	line-height: 1.55;
}

.tt-card strong {
	color: var(--accent-lit);
	font-weight: 700;
}

/* Lista de aulas */

.tt-aulas {
	list-style: none;
	margin: 24px 0;
	padding: 0;
	display: grid;
	gap: 18px;
}

.tt-aulas li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	font-size: 16.5px;
	line-height: 1.45;
}

.tt-aulas svg {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	margin-top: 2px;
	fill: var(--accent);
}

.tt-aulas b {
	color: var(--accent-lit);
	display: block;
	font-weight: 700;
}

.tt-card__rodape {
	font-size: 14.5px;
	color: #C9C0BB;
}

.tt-card__cta {
	margin-top: 30px;
	display: flex;
	justify-content: center;
}

/* ---------------------------------------------------------- PROFESSOR */

.tt-prof {
	position: relative;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 100% auto;
	padding: 80px 0 90px;
}

/* Vela suave: mantem a foto legivel a esquerda e da chao limpo ao texto. */
.tt-prof::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(248, 248, 248, 0) 22%, rgba(248, 248, 248, .90) 36%, #F8F8F8 47%);
	pointer-events: none;
}

.tt-prof > .tt-wrap {
	position: relative;
	z-index: 1;
}

.tt-prof__grid {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 48px;
	align-items: center;
}

.tt-prof__figura {
	min-height: 460px;
}

.tt-prof__titulo {
	font-size: clamp(26px, 2.6vw, 34px);
	margin-bottom: 24px;
}

.tt-prof__nome {
	background: var(--surface);
	border: 1px solid var(--accent);
	border-radius: var(--r-md);
	padding: 16px 24px;
	margin-bottom: 26px;
	font-family: "Montserrat", sans-serif;
	font-size: 30px;
	font-weight: 700;
	color: var(--ink);
	text-transform: none;
}

.tt-checks {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	display: grid;
	gap: 15px;
}

.tt-checks li {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	font-size: 16px;
	line-height: 1.5;
}

.tt-checks svg {
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	margin-top: 3px;
	fill: var(--success);
}

/* ---------------------------------------------------------- RODAPE */

.tt-rodape {
	background: var(--dark);
	color: var(--on-dark);
	padding: 34px 0 30px;
}

.tt-rodape__grid {
	display: block;
	text-align: center;
}

.tt-assinatura {
	font-family: "Calligraffitti", cursive;
	font-size: 26px;
	line-height: 1.15;
	text-align: center;
	color: #FFFFFF;
	text-transform: none;
	font-weight: 400;
}

.tt-rodape__meio {
	text-align: center;
}

.tt-rodape__meio p {
	font-family: "Exo", sans-serif;
	font-size: 19px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.tt-legais {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 26px;
	justify-content: center;
	flex-wrap: wrap;
}

.tt-legais a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--on-dark);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.tt-legais a:hover {
	text-decoration: underline;
}

.tt-legais svg {
	width: 15px;
	height: 15px;
	fill: var(--brand);
}

.tt-rodape__logo {
	justify-self: end;
}

.tt-rodape__logo img {
	width: 190px;
}

/* Botao flutuante de WhatsApp */

.tt-zap {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 60;
	line-height: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
	pointer-events: none;
}

.tt-zap.is-visivel {
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

.tt-zap img {
	width: 62px;
}

.tt-zap:focus-visible {
	outline: 3px solid var(--accent);
	outline-offset: 4px;
	border-radius: 50%;
}

/* ---------------------------------------------------------- RESPONSIVO */

@media (max-width: 1024px) {
	.tt-prof__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.tt-prof__figura {
		display: none;
	}

	.tt-rodape__grid {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.tt-rodape__logo {
		justify-self: center;
	}
}

@media (max-width: 900px) {
	.tt-cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.tt-lp {
		font-size: 16px;
	}

	.tt-hero {
		background-position: top center;
		background-size: 100% auto;
	}

	/*
	 * No mobile a foto (1080x919 => 85% da largura de altura) fica no topo e o
	 * texto embaixo. A vela cobre so a barra final da foto para dar chao limpo;
	 * o titulo entra ja abaixo da foto, sem sobrepor o tecnico.
	 */
	.tt-hero::before {
		background: linear-gradient(180deg, rgba(248, 248, 248, 0) 0%, rgba(248, 248, 248, 0) 26%, rgba(248, 248, 248, .6) 33%, #F8F8F8 39%);
	}

	.tt-hero__inner {
		padding: 0 0 22px;
	}

	/* Titulo sobe ate quase encostar na luva; a primeira dobra cabe o botao. */
	.tt-hero__col {
		max-width: none;
		padding-top: 38vw;
		text-align: center;
	}

	.tt-hero h1 {
		font-size: clamp(24px, 6.6vw, 32px);
		line-height: 1.05;
		margin-bottom: 12px;
	}

	.tt-hero__lede {
		max-width: none;
		font-size: 16px;
		line-height: 1.34;
	}

	.tt-hero__lede p {
		margin-bottom: 9px;
	}

	/* 2o paragrafo menor que o 1o, para aliviar a primeira dobra. */
	.tt-hero__lede p:last-child {
		font-size: 14px;
		line-height: 1.3;
	}

	.tt-data {
		justify-content: center;
		text-align: left;
		margin: 10px 0;
	}

	.tt-data img {
		width: 38px;
		flex: 0 0 38px;
	}

	.tt-data p {
		font-size: 15px;
		line-height: 1.22;
	}

	.tt-form {
		gap: 9px;
	}

	.tt-field input[type="email"],
	.tt-field input[type="tel"] {
		height: 54px;
	}

	.tt-nota {
		margin-top: 12px;
		font-size: 14px;
	}

	.tt-form,
	.tt-nota {
		margin-left: auto;
		margin-right: auto;
		max-width: none;
	}

	.tt-nota {
		text-align: center;
	}

	.tt-secao {
		padding: 54px 0;
	}

	.tt-secao__titulo {
		margin-bottom: 32px;
	}

	.tt-card {
		padding: 28px 24px 30px;
	}

	.tt-card h3 {
		font-size: 24px;
	}

	.tt-btn {
		font-size: 18px;
		min-height: 58px;
	}

	.tt-btn--ancora {
		width: 100%;
		max-width: none;
	}

	.tt-prof {
		padding: 54px 0 0;
	}

	/* No mobile a foto do professor vira um bloco abaixo do texto (igual /split19). */
	.tt-prof__grid {
		display: flex;
		flex-direction: column;
	}

	.tt-prof__texto {
		order: 1;
	}

	.tt-prof__figura {
		order: 2;
		display: block;
		align-self: stretch;
		width: auto;
		min-height: 360px;
		margin: 36px -20px 0;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: 24% center;
	}

	.tt-marquee {
		font-size: 18px;
	}

	.tt-zap img {
		width: 56px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tt-marquee__track {
		animation: none;
	}

	.tt-btn {
		transition: none;
	}
}

/* Variante D: CTA verde teal (WhatsApp #00A884). So afeta paginas com a classe tt-cta-verde. */
.tt-cta-verde .tt-btn{ background: linear-gradient(180deg,#12A012 0%,#008000 45%,#006400 100%); box-shadow: 0 6px 18px rgba(0,128,0,.28); }
.tt-cta-verde .tt-btn:hover{ box-shadow: 0 8px 22px rgba(0,128,0,.34); }
.tt-cta-verde .tt-btn:active{ box-shadow: 0 4px 12px rgba(0,128,0,.26); }

/* Variante D: copy do HERO + jogo de cores (escopo tt-cta-verde). */
.tt-cta-verde .tt-kicker{ font-family:"Exo",sans-serif; font-weight:700; font-size:14px; letter-spacing:.12em; text-transform:uppercase; color:#00A884; margin:0 0 10px; }
.tt-cta-verde .tt-inscreva{ font-family:"Exo",sans-serif; font-weight:800; font-size:22px; color:#00A884; margin:20px 0 4px; }
.tt-cta-verde .tt-evento{ font-family:"Exo",sans-serif; font-weight:500; font-size:16px; line-height:1.35; color:#5C4B45; margin:0 0 18px; }

/* Variante D: titulo secundario (PARA DE ADIAR) + leitura maior no mobile (publico 50+). */
.tt-cta-verde .tt-titulo{ margin:26px 0 2px; line-height:1.7; }
.tt-cta-verde .tt-realce{ font-family:"Barlow",sans-serif; font-weight:800; text-transform:uppercase; font-size:clamp(23px,2.9vw,34px); background:#02B3A5; color:#fff; padding:.1em .34em; border-radius:0; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
@media (max-width:768px){
  .tt-cta-verde .tt-realce{ font-size:24px; }
  .tt-cta-verde .tt-hero__lede{ font-size:20px; line-height:1.45; }
  .tt-cta-verde .tt-hero__lede p:last-child{ font-size:20px; line-height:1.45; }
  .tt-cta-verde .tt-inscreva{ font-size:20px; }
  .tt-cta-verde .tt-evento{ font-size:17px; }
}

/* Variante D: borda correndo no botao (running border / border beam). So na tt-cta-verde. */
@property --tt-ang{ syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.tt-cta-verde .tt-btn{ position: relative; z-index: 0; }
.tt-cta-verde .tt-btn::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:2px; z-index:1; pointer-events:none; background: conic-gradient(from var(--tt-ang), rgba(255,255,255,0) 0deg, rgba(255,255,255,0) 295deg, rgba(255,255,255,.95) 335deg, rgba(255,255,255,.95) 348deg, rgba(255,255,255,0) 360deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: tt-borda-correndo 3.2s linear infinite; }
@keyframes tt-borda-correndo{ to{ --tt-ang: 360deg; } }
@media (prefers-reduced-motion: reduce){ .tt-cta-verde .tt-btn::before{ animation: none; } }
@media (min-width:769px){ .tt-cta-verde .tt-hero h1{ display:inline-block; text-align:center; padding:10px 18px; border-radius:14px; background:rgba(255,255,255,.58); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.65); box-shadow:0 6px 18px rgba(0,0,0,.07); } }

/* Variante D: mobile compacto (HERO inteira na 1a dobra) + respiro lateral. */
@media (max-width:768px){
  .tt-cta-verde .tt-hero__inner{ padding-left:18px; padding-right:18px; }
  .tt-cta-verde .tt-hero__col{ padding-top:32vw; }
  .tt-cta-verde .tt-hero h1{ margin-bottom:8px; display:inline-block; text-align:center; padding:8px 14px; border-radius:12px; background:rgba(255,255,255,.58); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.65); box-shadow:0 6px 18px rgba(0,0,0,.07); }
  .tt-cta-verde .tt-titulo{ margin:10px 0 4px; }
  .tt-cta-verde .tt-realce{ font-size:22px; }
  .tt-cta-verde .tt-hero__lede{ font-size:16px; line-height:1.32; }
  .tt-cta-verde .tt-hero__lede p, .tt-cta-verde .tt-hero__lede p:last-child{ font-size:16px; line-height:1.32; margin-bottom:6px; }
  .tt-cta-verde .tt-inscreva{ margin:8px 0 2px; font-size:18px; }
  .tt-cta-verde .tt-evento{ margin:0 0 10px; font-size:15px; }
}

/* Variante D: scroll reveal (escopo tt-cta-verde). */
.tt-cta-verde .tt-reveal{ opacity:0; transform:translate3d(0,22px,0); transition:opacity .5s ease, transform .5s ease; will-change:opacity, transform; }
.tt-cta-verde .tt-reveal.is-vis{ opacity:1; transform:translate3d(0,0,0); }
@media (prefers-reduced-motion: reduce){ .tt-cta-verde .tt-reveal{ opacity:1; transform:none; transition:none; } }

/* Variante D: no mobile o beam fica estatico (evita repaint continuo e travada no scroll). */
@media (max-width:768px){ .tt-cta-verde .tt-btn::before{ animation: tt-borda-correndo 3.6s linear infinite; } }

/* Variante D: barra deslizante repaginada (gradiente + fade). */
.tt-cta-verde .tt-marquee{ background: linear-gradient(100deg, #02B3A5 0%, #009E7A 52%, #008000 100%); color:#fff; padding:14px 0; font-weight:800; letter-spacing:.06em; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(0,0,0,.12); }
.tt-cta-verde .tt-marquee .tt-sep{ color:rgba(255,255,255,.5); font-weight:400; margin-left:.4em; }
@media (min-width:769px){ .tt-cta-verde .tt-marquee__track{ animation-duration:76s; } }
@media (max-width:768px){ .tt-cta-verde .tt-marquee{ font-size:16px; padding:12px 0; } .tt-cta-verde .tt-marquee__track{ animation: tt-desliza 56s linear infinite; } }

/* ===== Variante D: redesign da metade de baixo (claro + teal, leve/moderno) ===== */
.tt-cta-verde .tt-gold{ color:#02B3A5; }

.tt-cta-verde .tt-cards{ counter-reset: cardnum; gap:28px; }
.tt-cta-verde .tt-card{ position:relative; background:#fff; border:1px solid #ECECEC; border-radius:20px; padding:34px 32px 36px; color:#3A3A3A; box-shadow:0 12px 30px rgba(0,0,0,.06); overflow:hidden; counter-increment: cardnum; transition:transform .18s ease, box-shadow .18s ease; }
.tt-cta-verde .tt-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#02B3A5,#008000); }
.tt-cta-verde .tt-card::after{ content:counter(cardnum); position:absolute; top:14px; right:22px; font-family:"Barlow",sans-serif; font-weight:800; font-size:66px; line-height:1; color:rgba(2,179,165,.10); pointer-events:none; }
.tt-cta-verde .tt-card img{ height:50px; margin-bottom:20px; position:relative; }
.tt-cta-verde .tt-card h3{ color:#1E2A28; font-size:26px; }
.tt-cta-verde .tt-card p{ color:#4A4A4A; }
.tt-cta-verde .tt-card strong{ color:#02B3A5; }
.tt-cta-verde .tt-card__rodape{ color:#8A8A8A; }
@media (hover:hover){ .tt-cta-verde .tt-card:hover{ transform:translateY(-4px); box-shadow:0 18px 42px rgba(0,0,0,.11); } }

.tt-cta-verde .tt-aulas{ padding-left:2px; }
.tt-cta-verde .tt-aulas li{ display:block; position:relative; padding-left:30px; }
.tt-cta-verde .tt-aulas svg{ display:none; }
.tt-cta-verde .tt-aulas li::before{ content:""; position:absolute; left:6px; top:20px; bottom:-18px; width:2px; background:#DDEDEA; }
.tt-cta-verde .tt-aulas li:last-child::before{ display:none; }
.tt-cta-verde .tt-aulas li::after{ content:""; position:absolute; left:0; top:3px; width:14px; height:14px; border-radius:50%; background:#02B3A5; box-shadow:0 0 0 3px rgba(2,179,165,.18); }
.tt-cta-verde .tt-aulas b{ color:#02B3A5; }

.tt-cta-verde .tt-prof__nome{ border-color:#02B3A5; color:#1E2A28; }
.tt-cta-verde .tt-rodape{ background:#06231f; }

/* Variante D: ajustes finos - icones dos cards fora, Inscreva verde, checks do professor em teal. */
.tt-cta-verde .tt-card img{ display:none; }
.tt-cta-verde .tt-inscreva{ color:#008000; }
.tt-cta-verde .tt-checks svg{ fill:#02B3A5; }

/* Variante D: bloco unico "O que voce ira aprender" (painel + timeline + CTA). */
.tt-cta-verde .tt-aprender{ max-width:780px; margin:0 auto; background:#fff; border:1px solid #ECECEC; border-radius:22px; box-shadow:0 14px 34px rgba(0,0,0,.06); padding:40px 46px; }
.tt-cta-verde .tt-aprender__intro{ font-size:19px; line-height:1.5; color:#3A3A3A; text-align:center; margin:0 0 32px; }
.tt-cta-verde .tt-aprender__intro strong{ color:#02B3A5; }
.tt-cta-verde .tt-aprender .tt-aulas{ margin:0; }
.tt-cta-verde .tt-aprender__nota{ margin:28px 0 0; font-size:15px; line-height:1.5; color:#6B6B6B; text-align:center; }
.tt-cta-verde .tt-aprender__nota strong{ color:#1E2A28; }
.tt-cta-verde .tt-aprender__cta{ display:flex; justify-content:center; margin-top:36px; }
@media (max-width:768px){ .tt-cta-verde .tt-aprender{ padding:26px 20px; border-radius:16px; } .tt-cta-verde .tt-aprender__intro{ font-size:17px; margin-bottom:24px; } }

/* Variante D: 4 cards de aula (data | AULA N + titulo), estilo do anexo em teal/claro. */
.tt-cta-verde .tt-secao__titulo{ margin-bottom:18px; }
.tt-cta-verde .tt-aulas-cards{ max-width:760px; margin:0 auto; display:grid; gap:16px; }
.tt-cta-verde .tt-aula-card{ display:flex; align-items:center; gap:24px; background:#fff; border:1px solid #ECECEC; border-radius:16px; box-shadow:0 10px 26px rgba(0,0,0,.05); padding:18px 26px; transition:transform .18s ease, box-shadow .18s ease; }
.tt-cta-verde .tt-aula-card__data{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:72px; padding-right:24px; border-right:2px solid #E4F3F0; }
.tt-cta-verde .tt-aula-card__dia{ font-family:"Barlow",sans-serif; font-weight:800; font-size:46px; line-height:1; color:#02B3A5; }
.tt-cta-verde .tt-aula-card__mes{ font-family:"Exo",sans-serif; font-weight:700; font-size:14px; letter-spacing:.16em; color:#008000; text-transform:uppercase; margin-top:2px; }
.tt-cta-verde .tt-aula-card__num{ display:inline-block; font-family:"Exo",sans-serif; font-weight:800; font-size:12.5px; letter-spacing:.14em; color:#02B3A5; margin-bottom:6px; }
.tt-cta-verde .tt-aula-card__titulo{ font-family:"Exo",sans-serif; font-weight:700; font-size:19px; line-height:1.25; color:#1E2A28; margin:0; text-transform:none; }
.tt-cta-verde .tt-aula-card__hora{ display:block; margin-top:7px; font-size:14px; color:#6B6B6B; }
@media (hover:hover){ .tt-cta-verde .tt-aula-card:hover{ transform:translateY(-3px); box-shadow:0 16px 34px rgba(0,0,0,.09); } }
@media (max-width:768px){ .tt-cta-verde .tt-aula-card{ padding:15px 18px; gap:16px; } .tt-cta-verde .tt-aula-card__data{ min-width:56px; padding-right:16px; } .tt-cta-verde .tt-aula-card__dia{ font-size:34px; } .tt-cta-verde .tt-aula-card__mes{ font-size:12px; } .tt-cta-verde .tt-aula-card__titulo{ font-size:16px; } .tt-cta-verde .tt-aula-card__hora{ font-size:13px; } }

/* ===== Variante D: bloco do Autor (foto pop-out + textos modernos) ===== */
.tt-cta-verde .tt-prof{ background-image:none; }
.tt-cta-verde .tt-autor .tt-prof__grid{ align-items:center; gap:56px; }
.tt-cta-verde .tt-autor__foto{ position:relative; display:flex; justify-content:center; align-items:flex-end; }
.tt-cta-verde .tt-autor__foto::before{ content:""; position:absolute; top:0; left:0; width:clamp(64px,10vw,104px); height:clamp(64px,10vw,104px); border-top:3px solid #02B3A5; border-left:3px solid #02B3A5; border-top-left-radius:16px; z-index:0; pointer-events:none; }
.tt-cta-verde .tt-autor__foto::after{ content:""; position:absolute; bottom:0; right:0; width:clamp(64px,10vw,104px); height:clamp(64px,10vw,104px); border-bottom:3px solid #02B3A5; border-right:3px solid #02B3A5; border-bottom-right-radius:16px; z-index:0; pointer-events:none; }
.tt-cta-verde .tt-autor__foto img{ position:relative; z-index:1; display:block; width:86%; height:auto; filter:drop-shadow(0 12px 20px rgba(0,0,0,.14)); }
.tt-cta-verde .tt-autor .tt-prof__titulo{ font-size:clamp(26px,2.6vw,36px); line-height:1.14; margin-bottom:18px; }
.tt-cta-verde .tt-prof__nome{ display:inline-block; background:none; border:0; border-left:4px solid #02B3A5; border-radius:0; padding:2px 0 2px 16px; margin:0 0 24px; font-family:"Montserrat",sans-serif; font-size:26px; font-weight:700; color:#1E2A28; }
.tt-cta-verde .tt-checks{ list-style:none; margin:0 0 30px; padding:0; display:grid; gap:13px; }
.tt-cta-verde .tt-checks li{ display:flex; gap:13px; align-items:flex-start; font-size:15.5px; line-height:1.5; color:#4A4A4A; }
.tt-cta-verde .tt-checks svg{ flex:0 0 20px; width:20px; height:20px; fill:#02B3A5; margin-top:2px; }
.tt-cta-verde .tt-checks strong{ color:#1E2A28; font-weight:700; }
@media (max-width:1024px){ .tt-cta-verde .tt-autor .tt-prof__grid{ gap:34px; } }
@media (max-width:768px){ .tt-cta-verde .tt-autor .tt-prof__grid{ display:flex; flex-direction:column; } .tt-cta-verde .tt-autor__foto{ order:-1; max-width:360px; margin:0 auto; } }

/* Variante D: respiro entre o CTA do autor e o rodape. */
.tt-cta-verde .tt-autor{ padding-bottom:74px; }
@media (max-width:768px){ .tt-cta-verde .tt-autor{ padding-bottom:52px; } }
