:root {
  --background: #080608;
  --foreground: #f5f0f0;
  --muted: #b7a8a8;
  --primary: #d71920;
  --secondary: #151014;
  --border: rgba(255,255,255,0.12);
  --card: #111;
}
.clearFull {
    content: "";
    clear: both; visibility: hidden;
    outline: 0; text-indent: -9999px;
}
.div5{ height: 5px; }
.div10{ height: 10px; } .div15{ height: 15px; }
.div20{ height: 20px; } .div25{ height: 25px; }
.div30{ height: 30px; } .div35{ height: 35px; }
.div40{ height: 40px; } .div45{ height: 45px; }
.div50{ height: 50px; } .div55{ height: 55px; }
.div60{ height: 60px; } .div65{ height: 65px; }
.div70{ height: 70px; } .div75{ height: 75px; }
.div80{ height: 80px; } .div85{ height: 85px; }
.div90{ height: 90px; } .div95{ height: 95px; }
.div200{ height: 200px; }
h1, h2, h3, h4, h5, h6 {
	padding: 0; margin: 0;
}
* {
	box-sizing: border-box;
	padding: 0; margin: 0;
}
html {
	scroll-behavior: smooth;
}
body {
	background-color: var(--background);
	font-family: Arial, sans-serif;
	color: var(--foreground);
	overflow-x: hidden;
}
::selection {
	background-color: #FFF;
	color: #000;
}
::-moz-selection {
	background-color: #FFF;
	color: #000;
}
::-webkit-selection {
	background-color: #FFF;
	color: #000;
}
a {
	color: inherit;
	text-decoration: none;
}
img {
	display: block;
	max-width: 100%;
}
.container {
	max-width: 1200px;
	padding: 0 24px;
	margin: auto;
}

/* HEADER */
.header {
	border-bottom: 1px solid var(--border);
	background: rgba(8,6,8,0.75);
	backdrop-filter: blur(12px);
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 50;
}
.nav {
	display: flex;
	height: 76px;
	align-items: center;
	justify-content: space-between;
}
.he-logo {
	display: flex;
	height: 76px;
	align-items: center;
	justify-content: space-between;
}
h1 {
	background: center url(../img/logo.png) no-repeat;
	background-size: contain;
	width: 200px; height: 76px;
	outline: 0; text-indent: -9999px;
	gap: 12px;
}
.menu {
	display: flex;
	font-size: 12px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: 2px;
	gap: 32px;
}
.menu a:hover {
	color: var(--foreground);
}
.btn-small {
	background-color: var(--primary);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 14px 20px;
}

/* HERO */
.hero {
	display: flex;
	min-height: 100vh;
	align-items: flex-end;
	padding-top: 100px;
	position: relative;
}
.hero-bg {
	position: absolute;
	inset: 0;
}
.hero-bg img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.hero-bg::after {
	background:
		linear-gradient(to right, var(--background), rgba(8,6,8,.75), transparent),
		linear-gradient(to top, var(--background), transparent, rgba(8,6,8,.45));
	content: "";
	position: absolute;
	inset: 0;
}
.hero-content {
	padding-bottom: 100px;
	position: relative;
}
.subtitle {
	display: flex;
	font-size: 12px;
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 4px;
	align-items: center;
	margin-bottom: 32px;
	gap: 14px;
}
.subtitle span {
	background-color: var(--primary);
	width: 48px; height: 1px;
}
h2 {
	font-size: clamp(58px, 11vw, 140px);
	font-weight: 300;
	line-height: .9;
	text-transform: uppercase;
}
h2 span, em {
	font-style: italic;
	color: var(--primary);
}
.hero p {
	max-width: 560px;
	font-size: 18px;
	color: var(--muted);
	line-height: 1.7;
	margin-top: 32px;
}
.hero strong {
	font-size: 24px;
	font-weight: normal;
	color: var(--foreground);
}
.buttons {
	display: flex;
	margin-top: 40px;
	gap: 16px;
	flex-wrap: wrap;
}
.btn-primary,
.btn-outline {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 3px;
	padding: 18px 30px;
	transition: .3s;
}
.btn-primary {
	box-shadow: 0 0 30px rgba(215,25,32,.35);
	background-color: var(--primary);
	color: white;
}
.btn-primary:hover {
	transform: translateY(-3px);
}
.btn-outline {
	border: 1px solid var(--border);
}
.btn-outline:hover {
	background-color: var(--secondary);
}

/* MARQUEE */
.marquee {
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	background: rgba(255,255,255,.03);
	padding: 24px 0;
	overflow: hidden;
}
.marquee-track {
	display: flex;
	font-size: 28px;
	text-transform: uppercase;
	letter-spacing: 3px;
	gap: 60px;
	white-space: nowrap;
	animation: marquee 30s linear infinite;
}
.marquee span {
	color: var(--foreground);
}

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

/* SECTIONS */
.section {
	padding: 120px 0;
}
.section-title {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 70px;
	gap: 40px;
}
.section-title span, .label {
	font-size: 12px;
	color: var(--primary);
	letter-spacing: 4px;
	text-transform: uppercase;

}
h3.h3-title {
	font-size: clamp(48px, 7vw, 86px);
	font-weight: 300;
	line-height: 1;
	text-transform: uppercase;
	margin-top: 18px;
}
.section-title p {
	max-width: 420px;
	color: var(--muted);
	line-height: 1.6;
}

/* CARDS */
.cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.card {
	border: 1px solid var(--border);
	background-color: var(--card);
	height: 520px;
	position: relative;
	overflow: hidden;
}
.card img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: .7s;
}
.card:hover img {
	transform: scale(1.07);
}
.card::after {
	background: linear-gradient(to top, var(--background), rgba(8,6,8,.45), transparent);
	content: "";
	position: absolute;
	inset: 0;

}
.card-content {
	padding: 32px;
	position: absolute;
	bottom: 0;
	z-index: 2;
}
.card small {
	color: var(--primary);
	text-transform: uppercase;
	letter-spacing: 3px;
}
.card h3.h3-card {
	font-size: 32px;
	text-transform: uppercase;
	margin: 12px 0;
}
.card p {
	color: var(--muted);
	line-height: 1.5;
}

/* SOBRE */
.sobre {
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	background: rgba(255,255,255,.03);

}
.sobre-grid {
	display: grid;
	align-items: center;
	grid-template-columns: 7fr 5fr;
	gap: 60px;
}
.sobre p {
	color: var(--muted);
	line-height: 1.7;
	margin-top: 32px;
}
.stats {
	display: grid;
	margin-top: 40px;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.stats strong {
	display: block;
	font-size: 42px;
	font-weight: 300;
	color: var(--primary);
}
.stats span {
	font-size: 11px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: 2px;
}
.sobre-img {
	position: relative;
}
.sobre-img img {
	width: 100%; height: 600px;
	object-fit: cover;
}
.sobre-img div {
	border: 1px solid var(--border);
	background-color: var(--background);
	font-size: 28px;
	color: var(--primary);
	padding: 18px 28px;
	position: absolute;
	left: -24px; bottom: -24px;
}

/* CONTATO */
.contato {
	text-align: center;
	position: relative;
}
.contato-content p {
	max-width: 600px;
	font-size: 18px;
	color: var(--muted);
	line-height: 1.6;
	margin: 30px auto 0;
}
.contato-info {
	display: flex;
	color: var(--muted);
	line-height: 150%;
	justify-content: center;
	margin-top: 42px;
	flex-wrap: wrap;
	gap: 28px;
}

/* FOOTER */
footer {
	border-top: 1px solid var(--border);
	padding: 45px 0;
}
.footer-content {
	display: flex;
	font-size: 12px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: 3px;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
}
h4.h4-logo {
	background: url(../img/logo.png) no-repeat;
	background-size: contain;
	width: 200px; height: 70px;
	outline: 0; text-indent: -9999px;
}
.signature {
	color: var(--primary);
	text-transform: none;
	letter-spacing: normal;
}

/* RESPONSIVO */
@media (max-width: 900px) {
	.menu { display: none; }
	.section-title,
	.professores-grid {
		display: block;
		grid-template-columns: 1fr;
	}
	.cards, .schedule {
		grid-template-columns: 1fr;
	}
	.schedule div {
		border-right: none;
		border-bottom: 1px solid var(--border);
	}
	.schedule div:last-child {
		border-bottom: none;
	}
	.sobre-grid {
		grid-template-columns: 12fr 0fr;
	}
	.sobre-img { display: none; }
}
@media (max-width: 600px) {
	.btn-small { display: none; }
	.section { padding: 80px 0; }
	.hero-content { padding-bottom: 70px; }
	.card { height: 460px; }
}