.tc-content-page .site-content {
	background: var(--color-lilac);
}

.tc-content-main,
.tc-content-main > * {
	margin-top: 0;
}

.tc-page {
	background: var(--color-lilac);
	color: var(--color-ink);
}

.tc-page-shell {
	width: var(--shell-width);
	margin-inline: auto;
}

.tc-page-hero {
	position: relative;
	display: flex;
	align-items: end;
	min-height: clamp(30rem, 64vw, 45rem);
	padding-block: clamp(7rem, 12vw, 10rem) clamp(4rem, 8vw, 6.5rem);
	color: var(--color-white);
	background: var(--color-midnight);
	overflow: hidden;
}

.tc-page-hero--compact {
	min-height: 28rem;
}

.tc-page-hero__media {
	position: absolute;
	inset: 0;
}

.tc-page-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tc-page-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6, 2, 17, 0.98) 0%, rgba(6, 2, 17, 0.88) 43%, rgba(6, 2, 17, 0.24) 78%, rgba(6, 2, 17, 0.1) 100%);
}

.tc-page-hero__content {
	position: relative;
	z-index: 1;
	width: var(--shell-width);
	margin-inline: auto;
}

.tc-page-kicker {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0 0 1rem;
	color: var(--color-cyan);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tc-page-kicker::before {
	content: "";
	width: 2.25rem;
	height: 0.18rem;
	background: currentColor;
}

.tc-page-title {
	max-width: 58rem;
	margin: 0;
	color: var(--color-coral);
	font-family: var(--highlight-font-family);
	font-size: clamp(3.5rem, 8vw, 7.5rem);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 0.88;
	text-transform: uppercase;
}

.tc-page-hero__intro {
	max-width: 44rem;
	margin: 1.75rem 0 0;
	color: rgba(255, 250, 244, 0.78);
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.6;
}

.tc-page-section {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.tc-page-section--midnight {
	color: var(--color-white);
	background: var(--color-midnight);
}

.tc-page-section--white {
	background: rgba(255, 255, 255, 0.68);
}

.tc-page-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2.5rem, 8vw, 8rem);
	align-items: start;
}

.tc-page-grid--equal {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tc-page-heading {
	margin: 0;
	font-family: var(--highlight-font-family);
	font-size: clamp(2.4rem, 5vw, 4.75rem);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 0.95;
	text-transform: uppercase;
}

.tc-page-section--midnight .tc-page-heading {
	color: var(--color-coral);
}

.tc-page-copy {
	font-size: 1.05rem;
	line-height: 1.75;
}

.tc-page-copy > :first-child {
	margin-top: 0;
}

.tc-page-copy a {
	font-weight: 700;
}

.tc-value-grid,
.tc-contact-grid,
.tc-join-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2.5rem;
}

.tc-value-card,
.tc-contact-card,
.tc-join-benefit {
	padding: 1.6rem;
	border: 1px solid rgba(116, 38, 216, 0.22);
	border-radius: var(--radius-card);
	background: rgba(255, 255, 255, 0.68);
}

.tc-page-section--midnight .tc-value-card,
.tc-page-section--midnight .tc-join-benefit {
	border-color: rgba(57, 224, 237, 0.2);
	background: rgba(255, 255, 255, 0.035);
}

.tc-value-card img,
.tc-contact-card img,
.tc-join-benefit img {
	width: 1.6rem;
	height: 1.6rem;
	margin-bottom: 1rem;
}

.tc-value-card h3,
.tc-contact-card h3,
.tc-join-benefit h3 {
	margin: 0 0 0.6rem;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.tc-value-card p,
.tc-contact-card p,
.tc-join-benefit p {
	margin: 0;
	color: inherit;
	opacity: 0.72;
	font-size: 0.92rem;
	line-height: 1.55;
}

.tc-page-visual {
	margin: 0;
	border: 1px solid rgba(116, 38, 216, 0.22);
	border-radius: 1.25rem;
	overflow: hidden;
}

.tc-page-visual img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tc-page-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
}

.tc-page-button,
.tc-page-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0.8rem 1.7rem;
	border: 1px solid transparent;
	border-radius: var(--radius-pill);
	background: linear-gradient(100deg, var(--color-coral), var(--color-violet));
	color: var(--color-white);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: uppercase;
}

.tc-page-button--outline,
.tc-page-button--outline:visited {
	border-color: var(--color-cyan);
	background: transparent;
	color: var(--color-cyan);
}

.tc-contact-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.tc-contact-form__field {
	margin: 0;
}

.tc-contact-form__field--wide,
.tc-contact-form__actions,
.tc-contact-form__notice {
	grid-column: 1 / -1;
}

.tc-contact-form label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tc-contact-form input,
.tc-contact-form textarea {
	width: 100%;
	border: 1px solid rgba(18, 6, 34, 0.18);
	border-radius: 0.8rem;
	background: rgba(255, 255, 255, 0.82);
}

.tc-contact-form textarea {
	min-height: 11rem;
	resize: vertical;
}

.tc-contact-form__notice {
	padding: 1rem 1.2rem;
	border-radius: 0.8rem;
	background: rgba(116, 38, 216, 0.1);
}

.tc-contact-form__notice--success {
	border: 1px solid rgba(57, 224, 237, 0.5);
}

.tc-contact-form__notice--error {
	border: 1px solid rgba(255, 95, 97, 0.55);
}

.tc-policy {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.tc-policy__layout {
	display: grid;
	grid-template-columns: minmax(12rem, 0.34fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 8vw, 7rem);
}

.tc-policy__aside {
	position: sticky;
	top: 8rem;
}

.tc-policy__aside p {
	margin: 1rem 0 0;
	color: rgba(18, 6, 34, 0.64);
}

.tc-policy__content {
	max-width: 52rem;
	font-size: 1rem;
	line-height: 1.75;
}

.tc-policy__content h2 {
	margin: 2.75rem 0 0.85rem;
	font-family: var(--highlight-font-family);
	font-size: clamp(1.65rem, 3vw, 2.5rem);
	font-style: italic;
	letter-spacing: -0.035em;
	line-height: 1;
	text-transform: uppercase;
}

.tc-policy__content h2:first-child {
	margin-top: 0;
}

.tc-policy__content li + li {
	margin-top: 0.55rem;
}

.tc-policy-note {
	padding: 1rem 1.2rem;
	border: 1px solid rgba(255, 95, 97, 0.55);
	border-radius: 0.8rem;
	background: rgba(255, 95, 97, 0.08);
}

@media (max-width: 55rem) {
	.tc-page-grid,
	.tc-page-grid--equal,
	.tc-policy__layout {
		grid-template-columns: 1fr;
	}

	.tc-value-grid,
	.tc-contact-grid,
	.tc-join-benefits {
		grid-template-columns: 1fr;
	}

	.tc-policy__aside {
		position: static;
	}
}

@media (max-width: 37.5rem) {
	.tc-page-hero {
		min-height: 34rem;
	}

	.tc-page-hero__media::after {
		background: linear-gradient(0deg, rgba(6, 2, 17, 0.98) 0%, rgba(6, 2, 17, 0.72) 60%, rgba(6, 2, 17, 0.18) 100%);
	}

	.tc-page-title {
		font-size: clamp(3rem, 16vw, 4.75rem);
	}

	.tc-contact-form {
		grid-template-columns: 1fr;
	}
}

