/*
Theme Name: Yavo Productions
Theme URI: https://yavoproductions.gr
Author: Yavo Productions
Description: Custom theme for Yavo Productions.
Version: 1.0.0
Text Domain: yavo-productions
*/

/* ==================================================
   Base / Accessibility
   ================================================== */

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
}

body,
body *,
body *::before,
body *::after {
	font-family: "Times New Roman", Times, serif !important;
}

img,
svg {
	max-width: 100%;
}

.skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 10000;

	padding: 12px 16px;
	border: 2px solid #ffffff;
	border-radius: 3px;

	background: #090909;
	color: #ffffff;
	font: 600 0.9rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-decoration: none;

	transform: translateY(calc(-100% - 24px));
	transition: transform 0.2s ease;
}

.skip-link:focus {
	transform: translateY(0);
}

.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible,
.home-featured-production__link:focus-visible,
.home-about__link:focus-visible,
.home-contact-cta__link:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 5px;
}

/* ==================================================
   Main Site Header
   ================================================== */

.site-header {
	position: relative;
	z-index: 1000;

	width: 100%;
	height: clamp(150px, 12vw, 210px);

	color: #f5f5f2;

	background-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.18) 0%,
			rgba(0, 0, 0, 0.04) 55%,
			rgba(0, 0, 0, 0.34) 100%
		),
		url("assets/images/yavo-header-bg.png");

	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.site-header__inner {
	width: min(1400px, calc(100% - 80px));
	height: 100%;
	margin: 0 auto;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

/* Logo
   Το υπάρχον logo.png είναι σχεδιασμένο για φωτεινό φόντο.
   Το filter το μετατρέπει οπτικά σε λευκό για τον dark header.
*/
.site-header__logo-link {
	position: relative;
	z-index: 1002;

	display: block;
	flex-shrink: 0;

	line-height: 0;
	text-decoration: none;
}

.site-header__logo {
	display: block;

	width: 190px;
	max-width: 100%;
	height: auto;

	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.site-header__logo-link:hover .site-header__logo {
	opacity: 0.75;
	transform: translateY(-1px);
}

/* ==================================================
   Desktop Navigation
   ================================================== */

.site-nav {
	margin-left: auto;
}

.site-nav__menu {
	display: flex;
	align-items: center;
	gap: clamp(24px, 2.4vw, 44px);

	margin: 0;
	padding: 0;

	list-style: none;
}

.site-nav__menu li {
	position: relative;

	margin: 0;
	padding: 0;
}

.site-nav__menu a {
	position: relative;
	display: block;

	padding: 12px 0;

	color: rgba(255, 255, 255, 0.76);
	text-decoration: none;

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1;

	letter-spacing: 0.21em;
	text-transform: uppercase;

	text-shadow:
		0 2px 12px rgba(0, 0, 0, 0.5);

	transition:
		color 0.3s ease,
		transform 0.3s ease;
}

/* Underline */
.site-nav__menu a::after {
	content: "";

	position: absolute;
	left: 50%;
	bottom: 3px;

	width: 0;
	height: 1px;

	background:
		rgba(255, 255, 255, 0.9);

	transform: translateX(-50%);

	transition:
		width 0.35s ease;
}

/* Hover */
.site-nav__menu a:hover {
	color: #ffffff;
	transform: translateY(-1px);
}

.site-nav__menu a:hover::after {
	width: 100%;
}

/* Active page */
.site-nav__menu .current-menu-item > a,
.site-nav__menu .current_page_item > a {
	color: #ffffff;
}

.site-nav__menu .current-menu-item > a::after,
.site-nav__menu .current_page_item > a::after {
	width: 28px;
}

/* Mobile toggle - hidden on desktop */
.site-nav-toggle {
	display: none;

	margin: 0;
	padding: 0;

	border: 0;
	background: transparent;

	color: #ffffff;
	cursor: pointer;
}

/* ==================================================
   Header - Tablet / Mobile
   ================================================== */

@media (max-width: 900px) {

	.site-header__inner {
		width: calc(100% - 40px);
		min-height: 92px;
		gap: 24px;
	}

	.site-header__logo {
		width: 155px;
	}

	/* Hamburger */
	.site-nav-toggle {
		position: relative;
		z-index: 1002;

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 7px;

		width: 44px;
		height: 44px;
	}

	.site-nav-toggle span {
		display: block;

		width: 27px;
		height: 1px;

		background: #ffffff;

		transform-origin: center;

		transition:
			transform 0.35s ease,
			opacity 0.35s ease;
	}

	/* Mobile navigation panel */
	.site-nav {
		position: fixed;
		inset: 0;
		z-index: 1001;

		display: flex;
		align-items: center;
		justify-content: center;

		margin: 0;
		padding: 110px 28px 48px;

		background:
			radial-gradient(
				circle at 50% 35%,
				rgba(255, 255, 255, 0.07),
				transparent 32%
			),
			rgba(5, 5, 5, 0.98);

		opacity: 0;
		visibility: hidden;
		pointer-events: none;

		transition:
			opacity 0.4s ease,
			visibility 0.4s ease;
	}

	.site-nav__menu {
		width: 100%;

		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.site-nav__menu a {
		padding: 14px 12px;

		font-size: clamp(1.25rem, 5vw, 2rem);
		font-weight: 300;
		letter-spacing: 0.12em;

		text-align: center;
	}

	.site-nav__menu a::after {
		bottom: 7px;
	}

	/* Open mobile menu state */
	body.nav-open {
		overflow: hidden;
	}

	body.nav-open .site-nav {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	body.nav-open .site-nav-toggle span:first-child {
		transform: translateY(4px) rotate(45deg);
	}

	body.nav-open .site-nav-toggle span:last-child {
		transform: translateY(-4px) rotate(-45deg);
	}
}

@media (max-width: 480px) {

	.site-header__inner {
		width: calc(100% - 28px);
		min-height: 84px;
	}

	.site-header__logo {
		width: 138px;
	}
}


/* ==================================================
   Main Site Footer
   ================================================== */

.site-footer {
	position: relative;
	overflow: hidden;

	width: 100%;

	color: #f3f1ed;

	background-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.2) 0%,
			rgba(0, 0, 0, 0.38) 100%
		),
		url("assets/images/yavo-footer-bg.png");

	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;

	border-top:
		1px solid rgba(255, 255, 255, 0.09);
}

/* Ελαφρύ σκοτεινό layer για αναγνωσιμότητα */
.site-footer::before {
	content: "";

	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.42) 0%,
			rgba(0, 0, 0, 0.16) 50%,
			rgba(0, 0, 0, 0.42) 100%
		);

	pointer-events: none;
}

.site-footer__inner {
	position: relative;
	z-index: 1;

	width: min(1200px, calc(100% - 48px));
	min-height: clamp(170px, 14vw, 230px);
	margin: 0 auto;

	display: grid;
	grid-template-columns:
		1fr
		auto
		1fr;

	align-items: center;
	gap: 36px;
}

/* ==================================================
   Copyright
   ================================================== */

.site-footer__copyright {
	justify-self: start;
}

.site-footer__copyright p {
	margin: 0;

	color:
		rgba(243, 241, 237, 0.76);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.72rem;
	font-weight: 300;
	line-height: 1.6;

	letter-spacing: 0.04em;

	text-shadow:
		0 2px 14px rgba(0, 0, 0, 0.65);
}

/* ==================================================
   Social Media
   ================================================== */

.site-footer__socials {
	justify-self: center;

	display: flex;
	align-items: center;
	gap: 18px;
}

.site-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 38px;
	height: 38px;

	color:
		rgba(243, 241, 237, 0.78);

	text-decoration: none;

	transition:
		color 0.3s ease,
		transform 0.3s ease,
		opacity 0.3s ease;
}

.site-footer__social-link svg {
	display: block;

	width: 19px;
	height: 19px;

	fill: currentColor;

	filter:
		drop-shadow(
			0 2px 8px rgba(0, 0, 0, 0.55)
		);
}

.site-footer__social-link:hover {
	color: #ffffff;

	transform:
		translateY(-3px);
}

/* ==================================================
   Powered by diS
   ================================================== */

.site-footer__credit {
	justify-self: end;

	display: flex;
	align-items: center;
	gap: 11px;
}

.site-footer__powered {
	color:
		rgba(243, 241, 237, 0.54);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.66rem;
	font-weight: 300;

	letter-spacing: 0.08em;

	text-transform: uppercase;

	text-shadow:
		0 2px 12px rgba(0, 0, 0, 0.65);
}

.site-footer__dis-link {
	display: inline-flex;
	align-items: center;

	line-height: 0;

	text-decoration: none;
}

.site-footer__dis-logo {
	display: block;

	width: 54px;
	max-width: 100%;
	height: auto;

	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
}

.site-footer__dis-link:hover .site-footer__dis-logo {
	opacity: 0.72;

	transform:
		translateY(-2px);
}

/* ==================================================
   Tablet
   ================================================== */

@media (max-width: 900px) {

	.site-footer__inner {
		width:
			min(
				100% - 36px,
				1200px
			);

		min-height: auto;

		grid-template-columns:
			1fr
			auto;

		padding:
			42px
			0;

		row-gap: 28px;
	}

	.site-footer__copyright {
		justify-self: start;
	}

	.site-footer__socials {
		justify-self: end;
	}

	.site-footer__credit {
		grid-column:
			1 / -1;

		justify-self: center;
	}
}

/* ==================================================
   Mobile
   ================================================== */

@media (max-width: 600px) {

	.site-footer {
		background-position: center;
	}

	.site-footer__inner {
		display: flex;
		flex-direction: column;
		justify-content: center;

		padding:
			44px
			0;

		gap: 22px;

		text-align: center;
	}

	.site-footer__copyright,
	.site-footer__socials,
	.site-footer__credit {
		justify-self: auto;
	}

	.site-footer__copyright p {
		font-size: 0.69rem;
	}

	.site-footer__credit {
		gap: 9px;
	}

	.site-footer__powered {
		font-size: 0.62rem;
	}

	.site-footer__dis-logo {
		width: 50px;
	}
}

/* ==================================================
   Company Page
   ================================================== */

.company-page {
	--company-paper: #f0eee9;
	--company-muted: rgba(240, 238, 233, 0.62);
	--company-line: rgba(240, 238, 233, 0.14);
	background: #080808;
}

/* Let the Company hero continue behind the shared site header. */
body.yavo-company-page .site-header {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	background-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.42) 0%,
		rgba(0, 0, 0, 0.14) 58%,
		transparent 100%
	);
}

body.yavo-company-page .company-hero {
	min-height: 100vh;
	min-height: 100svh;
}

body.yavo-company-page .company-hero__inner {
	padding-top: clamp(190px, 16vw, 250px);
}

body.yavo-company-page .company-hero__title {
	margin-block: clamp(52px, 7vw, 100px);
	transform: translateY(-2cm);
}

body.yavo-company-page {
	background-color: #11100f;
	background-image: url("assets/images/stage.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

body.yavo-company-page .company-page {
	background: transparent;
}

body.yavo-company-page .site-footer {
	background-color: transparent;
	background-image: none;
	border-top-color: rgba(240, 238, 233, 0.14);
}

body.yavo-company-page .site-footer::before {
	background:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.34),
			rgba(0, 0, 0, 0.54)
		),
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.28),
			transparent 50%,
			rgba(0, 0, 0, 0.28)
		);
}

.company-shell {
	width: min(1200px, calc(100% - 48px));
	margin-inline: auto;
}

.company-kicker,
.company-section__label,
.company-section__header > span {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.68rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.company-hero {
	position: relative;
	overflow: hidden;
	min-height: min(820px, calc(100svh - 120px));
	display: flex;
	align-items: stretch;
	background:
		url("assets/images/theatro.png")
		center center / cover
		no-repeat,
		#080808;
}

.company-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.68) 0%,
			rgba(0, 0, 0, 0.34) 42%,
			rgba(0, 0, 0, 0.04) 72%
		),
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.16),
			transparent 38%,
			rgba(0, 0, 0, 0.32)
		);
	pointer-events: none;
}

.company-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-block: clamp(72px, 9vw, 130px) 42px;
}

.company-kicker {
	margin: 0;
	color: rgba(240, 238, 233, 0.5);
}

.company-hero__title {
	max-width: 820px;
	margin: clamp(80px, 12vw, 170px) 0;
	color: var(--company-paper);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3.8rem, 6.7vw, 7.2rem);
	font-weight: 400;
	line-height: 0.94;
	letter-spacing: -0.045em;
	text-wrap: balance;
	text-shadow: 0 3px 28px rgba(0, 0, 0, 0.36);
}

.company-hero__title span {
	display: block;
	max-width: 760px;
	margin-top: 0.12em;
	margin-left: clamp(0px, 4vw, 58px);
	color: rgba(240, 238, 233, 0.72);
	font-style: italic;
}

.company-hero__landscape-break {
	display: none;
}

.company-hero__footer,
.company-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding-top: 22px;
	border-top: 1px solid var(--company-line);
}

.company-hero__footer p {
	max-width: 420px;
	margin: 0;
	color: var(--company-muted);
	font: 300 0.95rem/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.company-hero__footer--index {
	justify-content: flex-end;
}

.company-hero__footer > span,
.company-section__header > span {
	color: rgba(240, 238, 233, 0.32);
}

.company-section {
	position: relative;
	overflow: hidden;
	padding-block: clamp(100px, 12vw, 180px);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.company-section__header {
	margin-bottom: clamp(70px, 9vw, 130px);
}

.company-section__label {
	margin: 0;
	color: rgba(240, 238, 233, 0.55);
}

.company-section__title {
	margin: 0;
	color: var(--company-paper);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 6.2vw, 6.6rem);
	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.company-about__layout,
.company-founder__layout,
.company-philosophy__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
	align-items: start;
	gap: clamp(70px, 11vw, 160px);
}

.company-philosophy__intro {
	align-items: center;
}

.company-copy {
	max-width: 510px;
}

.company-copy p {
	margin: 0 0 26px;
	color: var(--company-muted);
	font: 300 clamp(1rem, 1.25vw, 1.14rem)/1.85 "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.01em;
}

.company-copy p:first-child {
	color: rgba(240, 238, 233, 0.84);
	font-size: clamp(1.12rem, 1.5vw, 1.35rem);
}

.company-copy p:last-child {
	margin-bottom: 0;
}

.company-about {
	background:
		linear-gradient(155deg, rgba(255, 255, 255, 0.44), transparent 52%),
		#f4f1eb;
	font-family: "Times New Roman", Times, serif;
}

.company-about .company-section__header {
	border-color: rgba(35, 30, 24, 0.2);
}

.company-about .company-section__label,
.company-about .company-section__header > span {
	color: rgba(35, 30, 24, 0.56);
	font-family: "Times New Roman", Times, serif;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
}

.company-about__layout {
	grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
	align-items: center;
	gap: clamp(58px, 8vw, 120px);
}

.company-about .company-section__title {
	max-width: 560px;
	color: #211d18;
	font-family: "Times New Roman", Times, serif;
	font-size: clamp(2.8rem, 5vw, 5.4rem);
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.company-about .company-copy {
	max-width: 620px;
	padding-left: clamp(28px, 3.5vw, 54px);
	border-left: 1px solid rgba(35, 30, 24, 0.18);
}

.company-about .company-copy p {
	color: rgba(35, 30, 24, 0.7);
	font-family: "Times New Roman", Times, serif;
	font-size: clamp(1.06rem, 1.35vw, 1.22rem);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0;
}

.company-about .company-copy p:first-child {
	color: #29231d;
	font-size: clamp(1.18rem, 1.55vw, 1.38rem);
}

.company-founder {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.32), transparent 52%),
		#e7e3dc;
	font-family: "Times New Roman", Times, serif;
}

.company-founder .company-section__header {
	border-color: rgba(12, 12, 12, 0.18);
}

.company-founder .company-section__label,
.company-founder .company-section__header > span {
	color: rgba(12, 12, 12, 0.52);
	font-family: "Times New Roman", Times, serif;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
}

.company-founder .company-section__title {
	color: #211d18;
	font-family: "Times New Roman", Times, serif;
	font-size: clamp(2.65rem, 4.5vw, 5rem);
	line-height: 1.02;
	letter-spacing: -0.035em;
}

.company-founder__layout {
	grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1.1fr);
	align-items: stretch;
	gap: clamp(58px, 8vw, 120px);
}

.company-founder__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.company-founder__portrait {
	position: relative;
	min-height: 720px;
	margin: 0;
	overflow: hidden;
	background: #d4d0c9;
}

.company-founder__portrait::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba(17, 17, 17, 0.12);
	pointer-events: none;
}

.company-founder__portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	filter: contrast(1.03);
}

.company-founder__copy {
	max-width: 590px;
	margin-top: clamp(42px, 5vw, 66px);
}

.company-founder .company-copy p {
	color: rgba(35, 30, 24, 0.7);
	font-family: "Times New Roman", Times, serif;
	font-size: clamp(1.05rem, 1.3vw, 1.2rem);
	font-weight: 400;
	line-height: 1.72;
	letter-spacing: 0;
}

.company-founder .company-copy p:first-child {
	color: #29231d;
	font-size: clamp(1.16rem, 1.5vw, 1.34rem);
}

.company-philosophy {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.38), transparent 48%),
		#eeeae3;
	font-family: "Times New Roman", Times, serif;
}

.company-philosophy .company-section__header {
	border-color: rgba(35, 30, 24, 0.2);
}

.company-philosophy .company-section__label,
.company-philosophy .company-section__header > span {
	color: rgba(35, 30, 24, 0.56);
	font-family: "Times New Roman", Times, serif;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
}

.company-philosophy .company-section__title {
	color: #211d18;
	font-family: "Times New Roman", Times, serif;
	font-size: clamp(2.8rem, 5.2vw, 5.6rem);
	line-height: 1;
	letter-spacing: -0.035em;
}

.company-philosophy .company-copy p {
	color: rgba(35, 30, 24, 0.72);
	font-family: "Times New Roman", Times, serif;
	font-size: clamp(1.08rem, 1.35vw, 1.24rem);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0;
}

.company-philosophy .company-copy p:first-child {
	color: #29231d;
	font-size: clamp(1.18rem, 1.55vw, 1.38rem);
}

.company-philosophy__lines span {
	display: block;
	margin-bottom: 0.65em;
}

.company-philosophy__lines span:last-child {
	margin-bottom: 0;
}

.company-philosophy__lead {
	max-width: 760px;
	margin: clamp(64px, 8vw, 110px) auto 0;
	color: #29231d;
	font: italic 400 clamp(1.45rem, 2.3vw, 2.15rem)/1.35 "Times New Roman", Times, serif;
	text-align: center;
}

.company-manifesto {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: 760px;
	margin: clamp(38px, 5vw, 62px) auto 0;
}

.company-manifesto p {
	width: 100%;
	margin: 0 auto;
	padding: 0.22em 0;
	color: rgba(35, 30, 24, 0.78);
	font: 400 clamp(1.18rem, 1.65vw, 1.48rem)/1.35 "Times New Roman", Times, serif;
	text-align: center;
}

.company-philosophy__closing {
	max-width: 780px;
	margin: clamp(44px, 6vw, 76px) auto 0;
	color: rgba(35, 30, 24, 0.74);
	font: 400 clamp(1.18rem, 1.65vw, 1.48rem)/1.7 "Times New Roman", Times, serif;
	letter-spacing: 0;
	text-align: center;
}

.company-cta {
	position: relative;
	isolation: isolate;
	padding:
		clamp(70px, 8vw, 120px)
		0
		clamp(105px, 11vw, 165px);
	background: transparent;
	border-bottom: 0;
}

.company-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(
			circle at center,
			rgba(0, 0, 0, 0.08) 0%,
			rgba(0, 0, 0, 0.3) 64%,
			rgba(0, 0, 0, 0.44) 100%
		),
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.26),
			transparent 42%,
			rgba(0, 0, 0, 0.2)
		);
	pointer-events: none;
}

.company-cta__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(1200px, calc(100% - 48px));
	min-height: clamp(560px, 58vw, 720px);
	padding: clamp(64px, 8vw, 110px) clamp(24px, 6vw, 80px);
	background: transparent;
	text-align: center;
}

.company-cta__inner::before {
	content: none;
}

.company-cta__inner .company-kicker {
	margin-bottom: clamp(34px, 4vw, 54px);
	color: rgba(240, 238, 233, 0.74);
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
}

.company-cta h2 {
	max-width: 880px;
	margin: 0 auto;
	color: var(--company-paper);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(3rem, 6vw, 6.4rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.045em;
	text-wrap: balance;
	text-shadow: 0 3px 24px rgba(0, 0, 0, 0.48);
}

.company-cta h2 span {
	color: rgba(240, 238, 233, 0.46);
	font-style: italic;
}

.company-cta a {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin-top: clamp(42px, 5vw, 64px);
	padding: 13px 0;
	border-bottom: 1px solid rgba(240, 238, 233, 0.55);
	color: rgba(240, 238, 233, 0.88);
	font: 400 0.72rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.2em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.3s ease, border-color 0.3s ease;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.54);
}

.company-cta a span {
	font-size: 1.05rem;
	transition: transform 0.3s ease;
}

.company-cta a:hover {
	border-color: #ffffff;
	color: #ffffff;
}

.company-cta a:hover span {
	transform: translateX(6px);
}

.company-cta a:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 6px;
}

@media (max-width: 950px) {
	.company-hero {
		min-height: 680px;
		background-position: 62% center;
	}

	.company-about__layout,
	.company-founder__layout,
	.company-philosophy__intro {
		grid-template-columns: 1fr;
		gap: 58px;
	}

	.company-copy {
		max-width: 650px;
		margin-left: auto;
	}

	.company-founder__portrait {
		width: 100%;
		max-width: 620px;
		min-height: 0;
		margin-inline: auto;
		aspect-ratio: 2 / 3;
	}
}

@media (max-width: 950px) and (max-height: 600px) and (orientation: landscape) {
	.company-hero__landscape-break {
		display: inline;
	}

	body.yavo-company-page .company-hero__title {
		transform: translateY(calc(-2cm - 8px));
	}
}

@media (max-width: 600px) {
	body.yavo-company-page .company-hero__inner {
		padding-top: 150px;
	}

	body.yavo-company-page .company-hero__title {
		margin-block: 54px;
	}

	.company-cta {
		padding: 56px 0 86px;
	}

	.company-cta__inner {
		min-height: 500px;
		padding: 62px 22px;
	}

	.company-cta h2 {
		font-size: clamp(2.7rem, 13vw, 4.25rem);
		line-height: 1.02;
	}

	.company-shell {
		width: calc(100% - 40px);
	}

	.company-hero {
		min-height: 640px;
		background-position: 68% center;
	}

	.company-hero::before {
		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.72) 0%,
				rgba(0, 0, 0, 0.42) 66%,
				rgba(0, 0, 0, 0.12) 100%
			),
			linear-gradient(
				to bottom,
				rgba(0, 0, 0, 0.2),
				transparent 42%,
				rgba(0, 0, 0, 0.42)
			);
	}

	.company-hero__inner {
		padding-block: 64px 30px;
	}

	.company-hero__title {
		margin-block: 54px;
		max-width: 92%;
		font-size: clamp(2.9rem, 13vw, 4.7rem);
		line-height: 0.98;
	}

	.company-hero__title span {
		margin-left: 0;
	}

	.company-hero__footer {
		align-items: flex-end;
	}

	.company-hero__footer > span {
		display: block;
		min-width: 0;
		font-size: 0.58rem;
		line-height: 1.45;
		letter-spacing: 0.12em;
		text-align: right;
		overflow-wrap: anywhere;
	}

	.company-section {
		padding-block: 88px;
	}

	.company-section__header {
		align-items: flex-start;
		gap: 14px;
		margin-bottom: 58px;
	}

	body.yavo-company-page .company-section__label {
		min-width: 0;
		flex: 1 1 auto;
		font-size: 0.62rem;
		letter-spacing: 0.15em;
	}

	body.yavo-company-page .company-section__header > span {
		display: block;
		min-width: 0;
		flex: 0 1 42%;
		font-size: 0.58rem;
		line-height: 1.45;
		letter-spacing: 0.12em;
		text-align: right;
		overflow-wrap: anywhere;
	}

	.company-section__title {
		font-size: clamp(2.7rem, 13vw, 4.4rem);
		line-height: 1.02;
	}

	.company-copy {
		margin-left: 0;
	}

	.company-about .company-copy {
		padding-left: 0;
		border-left: 0;
	}

	.company-founder__portrait {
		margin-top: 0;
	}

	.company-manifesto {
		align-items: stretch;
		width: 100%;
		margin-top: 34px;
	}

	.company-manifesto p {
		width: 100%;
		padding: 0.22em 0;
		text-align: center;
	}

	.company-philosophy__closing {
		margin-top: 38px;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	.company-cta a,
	.company-cta a span {
		transition: none;
	}
}


/* ==================================================
   Productions Page
   ================================================== */

.productions-page {
	--productions-paper: #f0eee9;
	--productions-ink: #211d18;
	--productions-muted: rgba(240, 238, 233, 0.62);
	--productions-line: rgba(240, 238, 233, 0.16);
	background: #080808;
}

body.yavo-productions-page {
	background: #080808;
}

body.yavo-productions-page .site-header {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	background-image: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.54),
		rgba(0, 0, 0, 0.12) 68%,
		transparent
	);
}

.productions-shell {
	width: min(1200px, calc(100% - 48px));
	margin-inline: auto;
}

.productions-kicker,
.productions-section__label,
.productions-section__header > span,
.productions-feature__eyebrow {
	font: 400 0.68rem/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

.productions-hero {
	position: relative;
	display: flex;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.78) 0%,
			rgba(0, 0, 0, 0.42) 48%,
			rgba(0, 0, 0, 0.16) 100%
		),
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.06),
			transparent 46%,
			rgba(0, 0, 0, 0.48)
		),
		url("assets/images/stage.png") center center / cover no-repeat,
		#080808;
}

.productions-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-top: clamp(190px, 16vw, 250px);
	padding-bottom: 42px;
}

.productions-kicker {
	margin: 0;
	color: rgba(240, 238, 233, 0.58);
}

.productions-hero__title {
	max-width: 980px;
	margin: clamp(56px, 8vw, 110px) 0;
	color: var(--productions-paper);
	font: 400 clamp(3.8rem, 7vw, 7.6rem)/0.93 Georgia, "Times New Roman", serif;
	letter-spacing: -0.05em;
	text-wrap: balance;
	text-shadow: 0 3px 30px rgba(0, 0, 0, 0.48);
}

.productions-hero__title span {
	display: block;
	margin-top: 0.12em;
	margin-left: clamp(0px, 4vw, 64px);
	color: rgba(240, 238, 233, 0.62);
	font-style: italic;
}

.productions-hero__footer,
.productions-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding-top: 22px;
	border-top: 1px solid var(--productions-line);
}

.productions-hero__footer p,
.productions-hero__footer span {
	margin: 0;
	color: var(--productions-muted);
	font: 300 0.86rem/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.productions-hero__footer span {
	color: rgba(240, 238, 233, 0.34);
}

.productions-feature {
	padding-block: clamp(100px, 12vw, 180px);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.36), transparent 52%),
		#eeeae3;
	color: var(--productions-ink);
}

.productions-section__header {
	margin-bottom: clamp(70px, 9vw, 130px);
	border-color: rgba(35, 30, 24, 0.2);
}

.productions-section__label,
.productions-section__header > span {
	margin: 0;
	color: rgba(35, 30, 24, 0.56);
}

.productions-feature__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
	align-items: start;
	gap: clamp(60px, 10vw, 150px);
}

.productions-feature__eyebrow {
	margin: 0 0 28px;
	color: rgba(35, 30, 24, 0.48);
}

.productions-feature__heading h2 {
	max-width: 650px;
	margin: 0;
	color: var(--productions-ink);
	font: 400 clamp(3rem, 5.7vw, 6.2rem)/0.98 "Times New Roman", Times, serif;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.productions-copy {
	max-width: 600px;
	padding-left: clamp(28px, 3.5vw, 54px);
	border-left: 1px solid rgba(35, 30, 24, 0.18);
}

.productions-copy p {
	margin: 0 0 26px;
	color: rgba(35, 30, 24, 0.72);
	font: 400 clamp(1.06rem, 1.35vw, 1.22rem)/1.75 "Times New Roman", Times, serif;
}

.productions-copy p:first-child {
	color: #29231d;
	font-size: clamp(1.18rem, 1.55vw, 1.38rem);
}

.productions-copy p:last-child {
	margin-bottom: 0;
}

.productions-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: clamp(72px, 10vw, 130px) 0 0;
	border-top: 1px solid rgba(35, 30, 24, 0.2);
	border-bottom: 1px solid rgba(35, 30, 24, 0.2);
}

.productions-details div {
	padding: clamp(26px, 3vw, 42px);
	border-left: 1px solid rgba(35, 30, 24, 0.16);
}

.productions-details div:first-child {
	padding-left: 0;
	border-left: 0;
}

.productions-details dt {
	margin-bottom: 16px;
	color: rgba(35, 30, 24, 0.5);
	font: 400 0.66rem/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.productions-details dd {
	margin: 0;
	color: #29231d;
	font: 400 clamp(1.16rem, 1.6vw, 1.45rem)/1.35 "Times New Roman", Times, serif;
}

.productions-author {
	padding-block: clamp(100px, 12vw, 180px);
	background:
		radial-gradient(circle at 82% 12%, rgba(255, 255, 255, 0.07), transparent 32%),
		#0b0b0b;
	color: var(--productions-paper);
}

.productions-author .productions-section__header {
	border-color: var(--productions-line);
}

.productions-author .productions-section__label,
.productions-author .productions-section__header > span,
.productions-author .productions-feature__eyebrow {
	color: rgba(240, 238, 233, 0.5);
}

.productions-author__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr);
	align-items: start;
	gap: clamp(60px, 10vw, 150px);
}

.productions-author__heading h2 {
	max-width: 620px;
	margin: 0;
	color: var(--productions-paper);
	font: 400 clamp(3rem, 5.6vw, 6rem)/0.98 Georgia, "Times New Roman", serif;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.productions-author__copy {
	max-width: 650px;
	padding-left: clamp(28px, 3.5vw, 54px);
	border-left: 1px solid var(--productions-line);
}

.productions-author__copy p {
	margin: 0 0 30px;
	color: rgba(240, 238, 233, 0.66);
	font: 300 clamp(1.06rem, 1.35vw, 1.22rem)/1.82 "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.productions-author__copy p:first-child {
	color: rgba(240, 238, 233, 0.9);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.22rem, 1.7vw, 1.52rem);
	font-weight: 400;
	line-height: 1.6;
}

.productions-author__copy p:last-child {
	margin-bottom: 0;
}

.productions-closing {
	position: relative;
	overflow: hidden;
	padding-block: clamp(110px, 14vw, 210px);
	background:
		radial-gradient(circle at 68% 30%, rgba(255, 255, 255, 0.08), transparent 34%),
		linear-gradient(145deg, #0d0d0d, #050505 64%, #0b0b0b);
}

.productions-closing__inner {
	position: relative;
}

.productions-closing h2 {
	max-width: 760px;
	margin: 0;
	color: var(--productions-paper);
	font: 400 clamp(2.8rem, 5vw, 5.4rem)/1 Georgia, "Times New Roman", serif;
	letter-spacing: -0.04em;
}

.productions-closing__note {
	margin: clamp(34px, 4vw, 54px) 0 0;
	color: rgba(240, 238, 233, 0.42);
	font-size: clamp(1.25rem, 2.2vw, 2rem);
	font-style: italic;
	line-height: 1.3;
}

@media (max-width: 950px) {
	.productions-feature__layout,
	.productions-author__layout {
		grid-template-columns: 1fr;
		gap: 58px;
	}

	.productions-copy,
	.productions-author__copy {
		max-width: 650px;
		margin-left: auto;
	}
}

@media (max-width: 600px) {
	.productions-shell {
		width: calc(100% - 40px);
	}

	.productions-hero__inner {
		padding-top: 150px;
		padding-bottom: 30px;
	}

	.productions-hero__title {
		margin-block: 54px;
		font-size: clamp(3rem, 14vw, 4.8rem);
		line-height: 0.98;
	}

	.productions-hero__title span {
		margin-left: 0;
	}

	.productions-hero__footer,
	.productions-section__header {
		align-items: flex-start;
		gap: 14px;
	}

	body.yavo-productions-page .productions-section__label {
		min-width: 0;
		flex: 1 1 auto;
		font-size: 0.62rem;
		letter-spacing: 0.15em;
	}

	body.yavo-productions-page .productions-section__header > span {
		display: block;
		min-width: 0;
		flex: 0 1 42%;
		font-size: 0.58rem;
		line-height: 1.45;
		letter-spacing: 0.12em;
		text-align: right;
		overflow-wrap: anywhere;
	}

	.productions-hero__footer p {
		min-width: 0;
		flex: 1 1 auto;
		font-size: 0.62rem;
		letter-spacing: 0.1em;
	}

	.productions-hero__footer span {
		display: block;
		min-width: 0;
		flex: 0 0 auto;
		font-size: 0.58rem;
		line-height: 1.45;
		letter-spacing: 0.1em;
		text-align: right;
	}

	.productions-feature {
		padding-block: 88px;
	}

	.productions-author {
		padding-block: 88px;
	}

	.productions-section__header {
		margin-bottom: 58px;
	}

	.productions-feature__heading h2 {
		font-size: clamp(2.8rem, 13vw, 4.5rem);
	}

	.productions-copy,
	.productions-author__copy {
		margin-left: 0;
		padding-left: 0;
		border-left: 0;
	}

	.productions-author__heading h2 {
		font-size: clamp(2.8rem, 13vw, 4.5rem);
	}

	.productions-details {
		grid-template-columns: 1fr;
		border-bottom: 0;
	}

	.productions-details div,
	.productions-details div:first-child {
		padding: 24px 0;
		border-left: 0;
		border-bottom: 1px solid rgba(35, 30, 24, 0.16);
	}

	.productions-closing h2 {
		font-size: clamp(2.4rem, 11vw, 3.8rem);
		line-height: 1.02;
	}
}

/* ==================================================
   Home Intro
   ================================================== */

.site-main {
	background: #090909;
	color: #f3f1ed;
}

.home-intro {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	min-height: 100vh;
	min-height: 100svh;

	padding:
		clamp(170px, 15vw, 230px)
		24px
		clamp(80px, 9vw, 140px);

	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.62) 0%,
			rgba(0, 0, 0, 0.3) 58%,
			rgba(0, 0, 0, 0.16) 100%
		),
		radial-gradient(
			circle at 72% 18%,
			rgba(255, 255, 255, 0.06),
			transparent 32%
		),
		url("assets/images/yavo.png")
			center center / cover
			no-repeat,
		#070707;
}

body.yavo-home-page .site-header {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	background-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.52) 0%,
			rgba(0, 0, 0, 0.14) 66%,
			transparent 100%
		);
}

/* Διακριτική φωτεινή ατμόσφαιρα */
.home-intro::before {
	content: "";

	position: absolute;
	top: -180px;
	right: -120px;

	width: 520px;
	height: 520px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, 0.08) 0%,
			rgba(255, 255, 255, 0.025) 35%,
			transparent 68%
		);

	filter: blur(18px);
	pointer-events: none;
}

.home-intro__inner {
	position: relative;
	z-index: 1;

	width: min(1100px, 100%);
	margin: 0 auto;
}

.home-intro__eyebrow {
	margin: 0 0 26px;

	color: rgba(243, 241, 237, 0.58);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.home-intro__title {
	max-width: 880px;
	margin: 0;

	color: #f4f2ee;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(2.6rem, 6vw, 6.4rem);

	font-weight: 400;
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.home-intro__line {
	width: 72px;
	height: 1px;

	margin:
		clamp(38px, 5vw, 64px)
		0
		32px;

	background:
		rgba(243, 241, 237, 0.45);
}

.home-intro__text {
	max-width: 620px;
	margin: 0 0 0 auto;

	color:
		rgba(243, 241, 237, 0.72);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size:
		clamp(1rem, 1.6vw, 1.3rem);

	font-weight: 300;
	line-height: 1.75;
	letter-spacing: 0.015em;
}

/* Mobile */
@media (max-width: 700px) {

	.home-intro {
		min-height: 100vh;
		min-height: 100svh;
		padding:
			150px
			20px
			80px;
	}

	.home-intro__title {
		line-height: 1.05;
	}

	.home-intro__text {
		margin-left: 0;
	}
}

/* ==================================================
   Home Featured Production
   ================================================== */

.home-featured-production {
	position: relative;
	overflow: hidden;

	padding:
		clamp(90px, 10vw, 160px)
		24px
		clamp(110px, 12vw, 190px);

	background:
		linear-gradient(
			135deg,
			#0d0d0d 0%,
			#111111 48%,
			#080808 100%
		);

	border-top:
		1px solid rgba(255, 255, 255, 0.08);
}

/* Ατμοσφαιρικό φως στο background */
.home-featured-production::before {
	content: "";

	position: absolute;
	top: -240px;
	left: -180px;

	width: 680px;
	height: 680px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, 0.07) 0%,
			rgba(255, 255, 255, 0.02) 38%,
			transparent 70%
		);

	filter: blur(20px);
	pointer-events: none;
}

/* Δεύτερη διακριτική φωτεινή περιοχή */
.home-featured-production::after {
	content: "";

	position: absolute;
	right: -220px;
	bottom: -280px;

	width: 720px;
	height: 720px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, 0.055) 0%,
			transparent 68%
		);

	filter: blur(28px);
	pointer-events: none;
}

.home-featured-production__inner {
	position: relative;
	z-index: 1;

	width: min(1200px, 100%);
	margin: 0 auto;
}

/* Header γραμμή */
.home-featured-production__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;

	margin-bottom:
		clamp(56px, 7vw, 96px);

	padding-bottom: 22px;

	border-bottom:
		1px solid rgba(255, 255, 255, 0.12);
}

.home-featured-production__eyebrow {
	margin: 0;

	color:
		rgba(243, 241, 237, 0.56);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.7rem;
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.home-featured-production__number {
	color:
		rgba(243, 241, 237, 0.34);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.08em;
}

/* Main layout */
.home-featured-production__content {
	display: grid;

	grid-template-columns:
		minmax(280px, 0.85fr)
		minmax(420px, 1.35fr);

	align-items: center;
	gap:
		clamp(54px, 8vw, 120px);
}

/* Copy */
.home-featured-production__copy {
	position: relative;
	z-index: 2;
}

.home-featured-production__title {
	margin:
		0
		0
		clamp(32px, 4vw, 52px);

	color: #f3f1ed;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(4rem, 8vw, 8rem);

	font-weight: 400;
	line-height: 0.9;

	letter-spacing: -0.045em;
}

.home-featured-production__text {
	max-width: 470px;
	margin: 0;

	color:
		rgba(243, 241, 237, 0.66);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size:
		clamp(1rem, 1.4vw, 1.2rem);

	font-weight: 300;
	line-height: 1.75;
	letter-spacing: 0.015em;
}

/* Featured Production CTA */
.home-featured-production__link {
	position: relative;

	display: inline-flex;
	align-items: center;
	gap: 14px;

	margin-top: 38px;
	padding: 10px 0;

	color:
		rgba(243, 241, 237, 0.82);

	text-decoration: none;

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0.2em;
	text-transform: uppercase;

	cursor: pointer;

	transition:
		color 0.3s ease;
}

.home-featured-production__link::after {
	content: "";

	position: absolute;
	left: 0;
	bottom: 3px;

	width: 42px;
	height: 1px;

	background:
		rgba(243, 241, 237, 0.48);

	transition:
		width 0.4s ease,
		background 0.3s ease;
}

.home-featured-production__link span {
	font-size: 1rem;

	transition:
		transform 0.35s ease;
}

.home-featured-production__link:hover {
	color: #ffffff;
}

.home-featured-production__link:hover::after {
	width: 100%;

	background:
		rgba(255, 255, 255, 0.88);
}

.home-featured-production__link:hover span {
	transform: translateX(6px);
}

/* ==================================================
   Visual Area
   ================================================== */

.home-featured-production__visual {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1272 / 1237;

	border:
		1px solid rgba(255, 255, 255, 0.11);

	background:
		radial-gradient(
			circle at 64% 28%,
			rgba(255, 255, 255, 0.14) 0%,
			rgba(255, 255, 255, 0.035) 24%,
			transparent 48%
		),
		linear-gradient(
			145deg,
			#151515 0%,
			#0b0b0b 52%,
			#161616 100%
		);

	box-shadow:
		0 30px 80px rgba(0, 0, 0, 0.38);
}

.home-featured-production__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-featured-production__visual::before,
.home-featured-production__visual::after {
	content: none;
}

/* Θεατρική δέσμη φωτός */
.home-featured-production__visual::before {
	content: "";

	position: absolute;
	top: -24%;
	right: 7%;

	width: 42%;
	height: 128%;

	background:
		linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.14),
			rgba(255, 255, 255, 0.035) 48%,
			transparent 86%
		);

	transform:
		rotate(14deg)
		skewX(-10deg);

	filter: blur(10px);

	opacity: 0.72;
	pointer-events: none;
}

/* Αφηρημένη "καπνισμένη" κίνηση */
.home-featured-production__visual::after {
	content: "";

	position: absolute;
	left: -18%;
	bottom: 10%;

	width: 95%;
	height: 32%;

	border-radius: 50%;

	border:
		1px solid rgba(255, 255, 255, 0.12);

	transform:
		rotate(-8deg);

	filter: blur(9px);

	box-shadow:
		0 0 34px rgba(255, 255, 255, 0.055),
		80px -18px 44px rgba(255, 255, 255, 0.035);

	opacity: 0.78;
	pointer-events: none;
}

/* Κεντρικό glow */
.home-featured-production__glow {
	position: absolute;
	left: 50%;
	top: 52%;

	width: 220px;
	height: 220px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, 0.18) 0%,
			rgba(255, 255, 255, 0.055) 34%,
			transparent 72%
		);

	transform:
		translate(-50%, -50%);

	filter: blur(18px);

	animation:
		yavo-production-glow
		6s
		ease-in-out
		infinite;
}

@keyframes yavo-production-glow {
	0%,
	100% {
		opacity: 0.55;
		transform:
			translate(-50%, -50%)
			scale(0.92);
	}

	50% {
		opacity: 0.9;
		transform:
			translate(-50%, -50%)
			scale(1.08);
	}
}

/* ==================================================
   Tablet
   ================================================== */

@media (max-width: 950px) {

	.home-featured-production__content {
		grid-template-columns: 1fr;
		gap: 56px;
	}

	.home-featured-production__copy {
		max-width: 720px;
	}

	.home-featured-production__visual {
		min-height: 0;
	}
}

/* ==================================================
   Mobile
   ================================================== */

@media (max-width: 600px) {

	.home-featured-production {
		padding:
			78px
			20px
			100px;
	}

	.home-featured-production__header {
		margin-bottom: 50px;
	}

	.home-featured-production__eyebrow {
		font-size: 0.64rem;
		letter-spacing: 0.22em;
	}

	.home-featured-production__title {
		font-size:
			clamp(3.5rem, 18vw, 5.5rem);

		line-height: 0.94;
	}

	.home-featured-production__visual {
		min-height: 0;
	}
}

/* ==================================================
   Reduced Motion
   ================================================== */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.home-featured-production__glow {
		animation: none;
	}
}

/* ==================================================
   Home About / Behind the Curtain
   ================================================== */

.home-about {
	position: relative;
	overflow: hidden;

	padding:
		clamp(100px, 11vw, 180px)
		24px
		clamp(110px, 12vw, 200px);

	background:
		linear-gradient(
			to bottom,
			#070707 0%,
			#0a0a0a 46%,
			#060606 100%
		);

	border-top:
		1px solid rgba(255, 255, 255, 0.07);
}

/* Διακριτική φωτεινή δέσμη */
.home-about::before {
	content: "";

	position: absolute;
	top: -26%;
	left: 56%;

	width: 360px;
	height: 150%;

	background:
		linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.075),
			rgba(255, 255, 255, 0.018) 45%,
			transparent 82%
		);

	transform:
		rotate(14deg)
		skewX(-10deg);

	filter: blur(20px);

	opacity: 0.72;
	pointer-events: none;
}

/* Απαλό glow χαμηλά */
.home-about::after {
	content: "";

	position: absolute;
	left: -220px;
	bottom: -340px;

	width: 760px;
	height: 760px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, 0.055) 0%,
			rgba(255, 255, 255, 0.015) 38%,
			transparent 70%
		);

	filter: blur(24px);

	pointer-events: none;
}

.home-about__inner {
	position: relative;
	z-index: 1;

	width: min(1200px, 100%);
	margin: 0 auto;
}

/* ==================================================
   Meta row
   ================================================== */

.home-about__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;

	margin-bottom:
		clamp(64px, 8vw, 110px);

	padding-bottom: 22px;

	border-bottom:
		1px solid rgba(255, 255, 255, 0.11);
}

.home-about__eyebrow {
	margin: 0;

	color:
		rgba(243, 241, 237, 0.52);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.7rem;
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.home-about__index {
	color:
		rgba(243, 241, 237, 0.3);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size: 0.95rem;
	font-weight: 400;

	letter-spacing: 0.08em;
}

/* ==================================================
   Main layout
   ================================================== */

.home-about__content {
	display: grid;

	grid-template-columns:
		minmax(0, 1.35fr)
		minmax(280px, 0.65fr);

	align-items: center;

	gap:
		clamp(60px, 10vw, 150px);
}

/* ==================================================
   Statement
   ================================================== */

.home-about__statement {
	position: relative;
}

.home-about__title {
	max-width: 780px;
	margin: 0;

	color: #f3f1ed;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(2.8rem, 5.8vw, 6rem);

	font-weight: 400;
	line-height: 1.02;

	letter-spacing: -0.04em;
}

.home-about__accent {
	max-width: 700px;

	margin:
		clamp(34px, 4vw, 54px)
		0
		0;

	color:
		rgba(243, 241, 237, 0.48);

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(1.6rem, 3vw, 3.1rem);

	font-weight: 400;
	font-style: italic;
	line-height: 1.2;

	letter-spacing: -0.025em;
}

/* ==================================================
   Supporting copy
   ================================================== */

.home-about__copy {
	max-width: 500px;
	padding-bottom: 8px;
}

.home-about__copy p {
	margin:
		0
		0
		24px;

	color:
		rgba(243, 241, 237, 0.64);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size:
		clamp(0.98rem, 1.25vw, 1.12rem);

	font-weight: 300;
	line-height: 1.8;

	letter-spacing: 0.012em;
}

.home-about__copy p:last-of-type {
	margin-bottom: 38px;
}

/* ==================================================
   Visual CTA
   ================================================== */

.home-about__link {
	position: relative;

	display: inline-flex;
	align-items: center;
	gap: 14px;

	padding:
		10px
		0;

	color:
		rgba(243, 241, 237, 0.82);

	text-decoration: none;

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.72rem;
	font-weight: 400;

	letter-spacing: 0.2em;
	text-transform: uppercase;

	cursor: pointer;

	transition:
		color 0.3s ease;
}

.home-about__link::after {
	content: "";

	position: absolute;
	left: 0;
	bottom: 3px;

	width: 42px;
	height: 1px;

	background:
		rgba(243, 241, 237, 0.48);
}

.home-about__link span {
	font-size: 1rem;

	transition:
		transform 0.3s ease;
}

.home-about__link:hover {
	color: #ffffff;
}

.home-about__link:hover::after {
	width: 100%;
	background: rgba(255, 255, 255, 0.88);
}

.home-about__link:hover span {
	transform: translateX(6px);
}

/* ==================================================
   Tablet
   ================================================== */

@media (max-width: 950px) {

	.home-about__content {
		grid-template-columns: 1fr;
		gap: 64px;
	}

	.home-about__copy {
		max-width: 620px;
		margin-left: 0;
	}

	.home-about::before {
		left: 68%;
	}
}

/* ==================================================
   Mobile
   ================================================== */

@media (max-width: 600px) {

	.home-about {
		padding:
			82px
			20px
			105px;
	}

	.home-about__meta {
		margin-bottom: 54px;
	}

	.home-about__eyebrow {
		font-size: 0.63rem;
		letter-spacing: 0.21em;
	}

	.home-about__title {
		font-size:
			clamp(2.6rem, 12vw, 4.4rem);

		line-height: 1.04;
	}

	.home-about__accent {
		margin-top: 30px;
	}

	.home-about__copy {
		margin-left: 0;
	}

	.home-about::before {
		left: 78%;
		opacity: 0.45;
	}
}

/* ==================================================
   Home Contact CTA
   ================================================== */

.home-contact-cta {
	position: relative;
	overflow: hidden;

	padding:
		clamp(100px, 12vw, 190px)
		24px
		clamp(110px, 13vw, 210px);

	background:
		linear-gradient(
			145deg,
			#0b0b0b 0%,
			#050505 52%,
			#0c0c0c 100%
		);

	border-top:
		1px solid rgba(255, 255, 255, 0.08);
}

/* Μεγάλη ατμοσφαιρική φωτεινή περιοχή */
.home-contact-cta::before {
	content: "";

	position: absolute;
	top: -42%;
	right: -12%;

	width: 760px;
	height: 760px;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 255, 255, 0.09) 0%,
			rgba(255, 255, 255, 0.025) 34%,
			transparent 68%
		);

	filter: blur(30px);

	pointer-events: none;
}

/* Διακριτική θεατρική δέσμη */
.home-contact-cta::after {
	content: "";

	position: absolute;
	top: -30%;
	left: 18%;

	width: 280px;
	height: 160%;

	background:
		linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.065),
			rgba(255, 255, 255, 0.014) 48%,
			transparent 86%
		);

	transform:
		rotate(-13deg)
		skewX(8deg);

	filter: blur(18px);

	opacity: 0.62;

	pointer-events: none;
}

.home-contact-cta__inner {
	position: relative;
	z-index: 1;

	width: min(1200px, 100%);
	margin: 0 auto;
}

/* Section header */
.home-contact-cta__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: clamp(54px, 7vw, 90px);
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.home-contact-cta__eyebrow {
	margin: 0;

	color:
		rgba(243, 241, 237, 0.46);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.7rem;
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.home-contact-cta__number {
	color: rgba(243, 241, 237, 0.3);
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.08em;
}

/* Main layout */
.home-contact-cta__content {
	display: grid;

	grid-template-columns:
		minmax(0, 1.45fr)
		minmax(280px, 0.55fr);

	align-items: end;

	gap:
		clamp(60px, 9vw, 140px);
}

/* Main statement */
.home-contact-cta__title {
	max-width: 820px;
	margin: 0;

	color: #f3f1ed;

	font-family:
		Georgia,
		"Times New Roman",
		serif;

	font-size:
		clamp(3.8rem, 8vw, 8.5rem);

	font-weight: 400;
	line-height: 0.88;

	letter-spacing: -0.055em;
}

.home-contact-cta__title span {
	display: block;

	margin-top:
		clamp(12px, 1.5vw, 22px);

	color:
		rgba(243, 241, 237, 0.46);

	font-style: italic;
}

/* Supporting action area */
.home-contact-cta__action {
	max-width: 420px;

	padding-bottom: 12px;
}

.home-contact-cta__text {
	margin:
		0
		0
		38px;

	color:
		rgba(243, 241, 237, 0.62);

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size:
		clamp(1.15rem, 1.5vw, 1.35rem);

	font-weight: 300;
	line-height: 1.8;

	letter-spacing: 0.012em;
}

/* CTA link */
.home-contact-cta__link {
	position: relative;

	display: inline-flex;
	align-items: center;
	gap: 16px;

	padding:
		12px
		0;

	color:
		rgba(243, 241, 237, 0.88);

	text-decoration: none;

	font-family:
		"Helvetica Neue",
		Helvetica,
		Arial,
		sans-serif;

	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0.2em;
	text-transform: uppercase;

	transition:
		color 0.3s ease;
}

.home-contact-cta__link::after {
	content: "";

	position: absolute;
	left: 0;
	bottom: 3px;

	width: 48px;
	height: 1px;

	background:
		rgba(243, 241, 237, 0.52);

	transition:
		width 0.4s ease,
		background 0.3s ease;
}

.home-contact-cta__link span {
	font-size: 1.05rem;

	transition:
		transform 0.35s ease;
}

/* Hover */
.home-contact-cta__link:hover {
	color: #ffffff;
}

.home-contact-cta__link:hover::after {
	width: 100%;

	background:
		rgba(255, 255, 255, 0.88);
}

.home-contact-cta__link:hover span {
	transform: translateX(6px);
}

/* ==================================================
   Tablet
   ================================================== */

@media (max-width: 950px) {

	.home-contact-cta__content {
		grid-template-columns: 1fr;
		gap: 64px;
	}

	.home-contact-cta__action {
		max-width: 580px;
		margin-left: auto;
	}

	.home-contact-cta__title {
		max-width: 760px;
	}
}

/* ==================================================
   Mobile
   ================================================== */

@media (max-width: 600px) {

	.home-contact-cta {
		padding:
			84px
			20px
			110px;
	}

	.home-contact-cta__eyebrow {
		font-size: 0.63rem;
		letter-spacing: 0.22em;
	}

	.home-contact-cta__header {
		margin-bottom: 52px;
	}

	.home-contact-cta__title {
		font-size:
			clamp(3.2rem, 17vw, 5.6rem);

		line-height: 0.94;
	}

	.home-contact-cta__action {
		margin-left: 0;
	}

	.home-contact-cta::after {
		left: 58%;
		opacity: 0.42;
	}
}
