/**
 * Landing page sections — hero, models, forms, blog teaser.
 */

/* Hero */
.section-hero {
	position: relative;
	padding: clamp(56px, 9vw, 104px) 0 clamp(48px, 7vw, 80px);
	overflow: hidden;
}

.hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.hero__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.hero__orbs--css {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 30%, rgba(123, 47, 255, 0.2), transparent 45%),
		radial-gradient(circle at 80% 60%, rgba(0, 212, 255, 0.15), transparent 40%);
	animation: hero-orbs-drift 18s ease-in-out infinite alternate;
}

@keyframes hero-orbs-drift {
	from {
		transform: scale(1) translate(0, 0);
	}
	to {
		transform: scale(1.05) translate(1%, -1%);
	}
}

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

	.hero__canvas {
		display: none;
	}
}

html.reduced-motion .hero__orbs--css {
	animation: none;
}

html.reduced-motion .hero__canvas {
	display: none;
}

.hero__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
}

.hero__content {
	max-width: 38rem;
}

.hero__title {
	font-family: var(--teya-font-display);
	font-size: clamp(2rem, 4.2vw, 3.25rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	margin: var(--teya-space-md) 0;
}

.hero__lead {
	color: var(--teya-color-muted);
	font-size: var(--teya-text-body-lg);
	line-height: 1.65;
	max-width: 42ch;
}

.hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--teya-space-md);
	margin-top: var(--teya-space-xl);
}

.hero__gallery {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	grid-template-rows: auto auto;
	gap: var(--teya-space-md);
	align-items: start;
	margin: 0;
	padding-bottom: 0;
}

.hero__gallery-card {
	position: relative;
	margin: 0;
	border-radius: var(--teya-radius-xxl);
	overflow: hidden;
	box-shadow: var(--teya-shadow-border);
	transition-property: transform, box-shadow;
	transition-duration: var(--teya-duration-base);
	transition-timing-function: var(--teya-easing);
}

.hero__gallery-card:nth-child(1) {
	grid-row: 1 / 3;
	transform: rotate(-2deg);
}

.hero__gallery-card:nth-child(2) {
	transform: rotate(2deg) translateY(8px);
}

.hero__gallery-card:nth-child(3) {
	transform: rotate(-1deg);
}

.hero__gallery-card:hover {
	transform: rotate(0deg) translateY(-4px);
	box-shadow: var(--teya-shadow-card-hover);
	z-index: 2;
}

.hero__gallery-img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.hero__gallery-caption {
	grid-column: 1 / -1;
	margin-top: var(--teya-space-sm);
	font-size: var(--teya-text-body-sm);
	color: var(--teya-color-muted);
	text-align: center;
}

/* Sections */
.teya-section-title {
	font-family: var(--teya-font-display);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	margin: 0 0 var(--teya-space-md);
}

.teya-section-lead {
	color: var(--teya-color-muted);
	margin-bottom: var(--teya-space-xl);
	max-width: 65ch;
}

.teya-main--front > section:not(.section-hero):not(.teya-final-cta),
.teya-main--landing > section:not(.teya-page-hero):not(.teya-cta-band):not(.teya-final-cta) {
	padding: clamp(48px, 7vw, 88px) 0;
}

.teya-main--front > section:nth-child(even):not(.section-hero):not(.teya-final-cta),
.teya-main--landing > section:nth-child(even):not(.teya-page-hero):not(.teya-cta-band):not(.teya-final-cta) {
	background: var(--teya-color-surface-lowest);
	border-block: var(--teya-border-hairline);
}

.section-hero {
	padding-top: clamp(56px, 9vw, 104px);
	padding-bottom: clamp(48px, 7vw, 80px);
	background: transparent;
	border: none;
}

/* Answer & prose blocks */
.teya-answer-block__text,
.answer-block {
	color: var(--teya-color-muted);
	font-size: var(--teya-text-body-lg);
	line-height: 1.7;
	max-width: 72ch;
}

.teya-answer-block__text p,
.answer-block p {
	margin: 0;
}

.teya-prose__inner > p,
.teya-prose > .teya-container > p,
.teya-main--landing .teya-container > p:not([class]),
.teya-main--front .teya-container > p:not([class]),
.section-value .teya-container > p,
.section-modality .teya-container > p,
.section-limits .teya-container > p,
.section-when-paid .teya-container > p,
.section-overview .teya-container > p {
	margin: 0 0 var(--teya-space-lg);
	color: var(--teya-color-muted);
	line-height: 1.7;
	max-width: 72ch;
}

.teya-prose__inner .teya-section-title + p,
.teya-prose .teya-section-title + p {
	margin-top: 0;
}

.teya-prose__inner .teya-section-title:not(:first-child),
.teya-prose .teya-container .teya-section-title:not(:first-child) {
	margin-top: var(--teya-space-2xl);
}

.teya-prose__inner a,
.teya-prose a {
	color: var(--teya-color-secondary);
}

/* Demo gallery cards */
.teya-demo-card {
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.teya-demo-card__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--teya-radius-md);
	margin-bottom: var(--teya-space-md);
	box-shadow: var(--teya-shadow-border);
}

.teya-demo-card figcaption {
	font-size: var(--teya-text-body-sm);
	color: var(--teya-color-muted);
	line-height: 1.55;
}

.teya-demo-card figcaption strong {
	color: var(--teya-color-on-background);
}

.section-demo-gallery .button-primary,
.teya-models__actions .button-primary,
.teya-models__actions .button-secondary {
	margin-top: var(--teya-space-md);
}

/* Model cards — with or without __body wrapper */
.teya-model-card__title,
.teya-model-card > h3,
.card-model > h3 {
	margin: var(--teya-space-md) var(--teya-space-md) var(--teya-space-sm);
	font-family: var(--teya-font-display);
	font-size: var(--teya-text-headline-sm);
	line-height: 1.25;
}

.teya-model-card__body p,
.teya-model-card > p,
.card-model > p {
	margin: 0 var(--teya-space-md) var(--teya-space-md);
	color: var(--teya-color-muted);
	font-size: var(--teya-text-body-sm);
	line-height: 1.55;
}

.teya-model-card__cta,
.teya-model-card > a[data-cta],
.card-model > a[data-cta] {
	display: inline-flex;
	margin: 0 var(--teya-space-md) var(--teya-space-md);
	color: var(--teya-color-secondary);
	text-decoration: none;
	font-weight: 600;
}

.teya-model-card__cta:hover,
.teya-model-card > a[data-cta]:hover,
.card-model > a[data-cta]:hover {
	text-decoration: underline;
}

.teya-model-card__media {
	overflow: hidden;
}

/* Page hero */
.teya-page-hero__inner {
	max-width: 48rem;
}

.teya-page-hero__badge {
	margin-bottom: var(--teya-space-sm);
}

.teya-page-hero__lead {
	color: var(--teya-color-muted);
	font-size: var(--teya-text-body-lg);
	line-height: 1.65;
	max-width: 65ch;
	margin: 0 0 var(--teya-space-md);
}

/* Final CTA */
.teya-final-cta__title {
	font-family: var(--teya-font-display);
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
	line-height: 1.15;
	margin: 0 0 var(--teya-space-md);
	color: #fff;
}

.teya-final-cta__lead {
	margin: 0 auto;
	max-width: 52ch;
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.6;
}

.teya-final-cta .button-secondary {
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
}

.teya-final-cta .button-secondary:hover {
	border-color: #fff;
}

/* Callout / comparison */
.teya-callout {
	padding: 0;
}

.teya-callout__inner {
	padding: var(--teya-space-xl);
}

.teya-callout__inner ul {
	margin: var(--teya-space-md) 0 0;
	padding-left: 1.25rem;
	line-height: 1.65;
	color: var(--teya-color-muted);
}

.teya-callout__inner li + li {
	margin-top: var(--teya-space-sm);
}

.teya-callout__inner p {
	margin: var(--teya-space-md) 0 0;
}

.teya-comparison__note {
	margin-top: var(--teya-space-lg);
	color: var(--teya-color-muted);
	font-size: var(--teya-text-body-sm);
}

/* Blog teaser section */
.section-blog-teaser {
	padding-bottom: clamp(56px, 8vw, 96px);
}

/* FAQ spacing */
.teya-faq {
	margin-top: var(--teya-space-lg);
}

/* CTA band on inner pages */
.teya-cta-band__title {
	font-family: var(--teya-font-display);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	margin: 0 0 var(--teya-space-md);
}

.teya-cta-band__lead {
	color: var(--teya-color-muted);
	max-width: 52ch;
	margin: 0 auto var(--teya-space-lg);
}

.card-model {
	transition: transform var(--teya-duration-base) var(--teya-easing), box-shadow var(--teya-duration-base) var(--teya-easing);
}

.card-model:hover {
	transform: translateY(-4px);
	box-shadow: var(--teya-shadow-card-hover);
}

@media (max-width: 1100px) {
	.teya-nav__list--primary {
		gap: var(--teya-space-sm);
	}

	.teya-nav__link {
		font-size: var(--teya-text-body-sm);
	}
}

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

	.hero__gallery {
		grid-template-columns: 1fr 1fr;
		max-width: 520px;
		margin-inline: auto;
	}

	.hero__gallery-card:nth-child(1) {
		grid-row: auto;
		transform: rotate(-1deg);
	}

	.hero__gallery-card:nth-child(2),
	.hero__gallery-card:nth-child(3) {
		transform: none;
	}
}

@media (max-width: 767px) {
	.hero__gallery {
		display: flex;
		gap: var(--teya-space-sm);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: var(--teya-space-md);
		min-height: auto;
	}

	.hero__gallery-card {
		position: relative;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		flex: 0 0 78%;
		width: auto;
		transform: none !important;
		scroll-snap-align: center;
	}

	.hero__gallery-caption {
		position: static;
		flex: 0 0 100%;
		margin-top: var(--teya-space-sm);
	}
}
.teya-prose p,
.teya-prose li {
	max-width: 72ch;
}

/* Models */
.teya-models__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--teya-space-lg);
	margin: var(--teya-space-xl) 0;
}

.teya-models__grid--3 {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.teya-model-card__media,
.teya-model-card__img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.teya-model-card__body {
	padding: var(--teya-space-md);
}

.teya-models__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--teya-space-md);
	margin-top: var(--teya-space-lg);
}

/* Steps & audience */
.teya-steps__list {
	display: grid;
	gap: var(--teya-space-md);
	padding: 0;
	list-style: none;
	counter-reset: step;
}

.teya-steps__list > li {
	margin: 0;
}

.teya-steps__item,
.teya-steps__list > li.card-glass {
	padding: var(--teya-space-lg);
}

.teya-audience__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--teya-space-lg);
}

.teya-audience-card h3 {
	margin-top: 0;
}

/* Table */
.teya-table-wrap {
	overflow-x: auto;
	margin: var(--teya-space-lg) 0;
}

.teya-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--teya-text-body-sm);
}

.teya-table th,
.teya-table td {
	padding: var(--teya-space-sm) var(--teya-space-md);
	border: var(--teya-border-hairline);
	text-align: left;
}

.teya-table th {
	background: var(--teya-color-surface-low);
}

/* Features */
.teya-features__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--teya-space-md);
	padding: 0;
	list-style: none;
}

.teya-feature-item {
	padding: var(--teya-space-md);
}

.teya-pricing__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: var(--teya-space-md);
	margin: var(--teya-space-lg) 0;
}

.teya-checklist {
	padding-left: 1.25rem;
}

/* FAQ */
.teya-faq__item {
	border: var(--teya-border-card);
	border-radius: var(--teya-radius-md);
	margin-bottom: var(--teya-space-sm);
	background: var(--teya-color-surface-lowest);
}

.teya-faq__question {
	padding: var(--teya-space-md);
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}

.teya-faq__question::-webkit-details-marker {
	display: none;
}

.teya-faq__answer {
	padding: 0 var(--teya-space-md) var(--teya-space-md);
	color: var(--teya-color-muted);
}

/* Blog teaser */
.teya-blog-teaser__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--teya-space-lg);
}

.teya-blog-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.teya-blog-card.card-glass {
	padding: 0;
	overflow: hidden;
}

.teya-blog-card__media {
	border-radius: 0;
	overflow: hidden;
	margin-bottom: 0;
}

.teya-blog-card__img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.teya-blog-card__time {
	display: block;
	margin-bottom: var(--teya-space-xs);
	font-size: var(--teya-text-label-sm);
	color: var(--teya-color-secondary);
}

.teya-blog-card__title {
	margin: 0 0 var(--teya-space-sm);
	line-height: 1.3;
}

.teya-blog-card__excerpt {
	margin: 0;
	line-height: 1.55;
	color: var(--teya-color-muted);
}

.teya-blog-teaser__more {
	margin-top: var(--teya-space-xl);
}

/* Lead form removed — field styles kept for cookie/consent if needed */

/* Final CTA */
.teya-final-cta {
	background: var(--teya-gradient-hero);
	padding: var(--teya-space-3xl) 0;
	text-align: center;
}

.teya-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--teya-space-md);
	margin-top: var(--teya-space-lg);
}

/* Inner page hero */
.teya-page-hero {
	padding: var(--teya-space-2xl) 0;
}

.teya-page-hero__title {
	font-family: var(--teya-font-display);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	margin: var(--teya-space-md) 0;
}

.teya-page-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--teya-space-md);
	margin-top: var(--teya-space-lg);
}

.teya-cta-band {
	text-align: center;
	background: var(--teya-color-surface-low);
}

.teya-cta-band__inner {
	padding: var(--teya-space-2xl) 0;
}

.teya-demo-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--teya-space-lg);
	margin: var(--teya-space-xl) 0;
}

.teya-compare-visuals {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--teya-space-lg);
	margin: var(--teya-space-lg) 0;
}

.teya-compare-visuals img {
	border-radius: var(--teya-radius-lg);
	width: 100%;
	height: auto;
}

/* Text + image split (overview blocks) */
.teya-split-media {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: center;
}

.teya-split-media__content > p {
	margin: 0;
	color: var(--teya-color-muted);
	line-height: 1.7;
	max-width: 56ch;
}

.teya-split-media__figure {
	margin: 0;
	border-radius: var(--teya-radius-xxl);
	overflow: hidden;
	box-shadow: var(--teya-shadow-border);
}

.teya-split-media__img,
.teya-comparison__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Comparison table + side visual */
.teya-comparison__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: var(--teya-space-xl);
	align-items: start;
	margin: var(--teya-space-lg) 0 var(--teya-space-md);
}

.teya-comparison__visual {
	margin: 0;
	border-radius: var(--teya-radius-xxl);
	overflow: hidden;
	box-shadow: var(--teya-shadow-border);
}

.teya-comparison__table .teya-table-wrap {
	margin: 0;
}

.teya-comparison__note {
	margin-top: var(--teya-space-md);
	color: var(--teya-color-muted);
}

@media (max-width: 900px) {
	.teya-split-media,
	.teya-comparison__layout {
		grid-template-columns: 1fr;
	}

	.teya-split-media__figure {
		max-width: 520px;
		margin-inline: auto;
	}

	.teya-comparison__visual {
		max-width: 400px;
		margin-inline: auto;
	}
}

.teya-legal__content {
	padding-bottom: var(--teya-space-3xl);
}
