:root {
	--xdc-color-ink: #0d0e0f;
	--xdc-color-graphite: #161719;
	--xdc-color-panel: #1f2023;
	--xdc-color-text: #f4f1ea;
	--xdc-color-muted: #a7a29a;
	--xdc-color-accent: #8f2f28;
	--xdc-color-accent-rgb: 143, 47, 40;
	--xdc-color-accent-hot: #dc3a2a;
	--xdc-color-accent-hot-rgb: 220, 58, 42;
	--xdc-color-border: rgba(244, 241, 234, 0.12);
	--xdc-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--xdc-layout-width: 1180px;
}

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

html {
	scroll-behavior: smooth;
	scrollbar-width: thin;
	scrollbar-color: rgba(200, 99, 67, 0.45) #07080a;
}

::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

::-webkit-scrollbar-track {
	background: #07080a;
}

::-webkit-scrollbar-thumb {
	background: rgba(200, 99, 67, 0.35);
	border-radius: 4px;
	border: 2px solid #07080a;
}

::-webkit-scrollbar-thumb:hover {
	background: rgba(200, 99, 67, 0.65);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

body {
	margin: 0;
	background: var(--xdc-color-ink);
	color: var(--xdc-color-text);
	font-family: var(--xdc-font-body);
	font-size: 16px;
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: inherit;
	text-decoration-color: rgba(var(--xdc-color-accent-rgb), 0.65);
	text-underline-offset: 0.22em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

a:hover,
a:focus {
	color: var(--xdc-color-accent);
	text-decoration-color: currentColor;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

.skip-link {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 9999;
	background: var(--xdc-color-accent);
	color: #ffffff;
	padding: 0.65rem 1rem;
	border-radius: 4px;
	font-weight: 700;
	font-size: 0.875rem;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
	/* Accessible hidden state - zero footprint in overscroll bounce */
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity 150ms ease;
}

.skip-link:focus,
.skip-link:focus-visible {
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
	overflow: visible;
	white-space: normal;
	opacity: 1;
	pointer-events: auto;
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(244, 241, 234, 0.08);
	background: rgba(13, 14, 15, 0.76);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	transition: background-color 240ms ease, border-color 240ms ease;
}

body:not(.home) #primary,
body:not(.home) .site-main {
	padding-top: 72px;
}

.site-header__inner,
.site-footer__inner,
.site-main {
	width: min(100% - 2rem, var(--xdc-layout-width));
	margin-inline: auto;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	min-height: 72px;
}

.site-branding {
	display: flex;
	align-items: center;
	min-width: 0;
}

.site-branding a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.site-logo,
.custom-logo-link {
	line-height: 0;
}

.site-logo__image,
.custom-logo {
	display: block;
	width: auto;
	height: 2.4rem;
	max-width: min(7rem, 24vw);
}

.site-title-wrap {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}

.site-title {
	margin: 0;
	color: var(--xdc-color-text);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.site-badge {
	font-family: ui-monospace, monospace;
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding: 0.18rem 0.45rem;
	border: 1px solid rgba(200, 99, 67, 0.45);
	color: var(--xdc-color-accent-hot);
	background: rgba(200, 99, 67, 0.08);
	border-radius: 2px;
	line-height: 1;
}

.site-description {
	margin: 0.15rem 0 0;
	color: var(--xdc-color-muted);
	font-size: 0.875rem;
}

.main-navigation {
	display: flex;
	align-items: center;
}

.nav-contact-btn,
.xdc-menu-item--contact > a {
	border: 1px solid rgba(var(--xdc-color-accent-rgb), 0.48);
	padding: 0.4rem 0.8rem;
	border-radius: 2px;
	color: var(--xdc-color-text);
	background: rgba(var(--xdc-color-accent-rgb), 0.04);
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.nav-contact-btn:hover,
.nav-contact-btn:focus,
.xdc-menu-item--contact > a:hover,
.xdc-menu-item--contact > a:focus {
	background: rgba(var(--xdc-color-accent-rgb), 0.12);
	border-color: rgba(var(--xdc-color-accent-hot-rgb), 0.72);
	box-shadow: 0 0 14px rgba(var(--xdc-color-accent-hot-rgb), 0.14);
}

.nav-contact-btn::after,
.xdc-menu-item--contact > a::after {
	display: none;
}

.main-navigation ul {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-navigation a {
	position: relative;
	display: inline-flex;
	overflow: visible;
	color: var(--xdc-color-muted);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease;
}

.main-navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.28rem;
	height: 1px;
	background:
		linear-gradient(90deg, rgba(var(--xdc-color-accent-rgb), 0.18), rgba(var(--xdc-color-accent-hot-rgb), 0.9), rgba(var(--xdc-color-accent-rgb), 0.18));
	opacity: 0;
	box-shadow: 0 0 12px rgba(var(--xdc-color-accent-hot-rgb), 0.28);
	transform: translateX(-42%);
	transition: transform 760ms cubic-bezier(0.22, 1, 0.36, 1), opacity 180ms ease;
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a {
	color: var(--xdc-color-text);
	color: color-mix(in srgb, var(--xdc-color-text) 72%, var(--xdc-color-accent-hot) 28%);
}

.main-navigation a:hover::after,
.main-navigation a:focus::after {
	opacity: 1;
	transform: translateX(0);
}

.main-navigation .current-menu-item > a::after {
	opacity: 0.7;
	transform: translateX(0);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.lang-switcher {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	padding: 0.22rem 0.55rem;
	border: 1px solid rgba(244, 241, 234, 0.12);
	border-radius: 999px;
	background: rgba(13, 14, 15, 0.45);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: border-color 160ms ease;
}

.lang-switcher:hover {
	border-color: rgba(200, 99, 67, 0.35);
}

.lang-btn {
	color: var(--xdc-color-muted);
	text-decoration: none;
	font-weight: 600;
	padding: 0.1rem 0.15rem;
	transition: color 140ms ease;
	line-height: 1;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
}

.lang-btn:hover {
	color: var(--xdc-color-text);
}

.lang-btn.active {
	color: var(--xdc-color-accent-hot);
	font-weight: 700;
}

.lang-sep {
	color: rgba(244, 241, 234, 0.18);
	font-size: 0.62rem;
	user-select: none;
}

@media (max-width: 820px) {
	.site-header__actions {
		gap: 0.75rem;
	}
	.lang-switcher {
		padding: 0.18rem 0.45rem;
		font-size: 0.65rem;
	}
}

.site-main {
	min-height: 62vh;
	padding-block: clamp(4rem, 8vw, 8rem);
}

.site-main h1 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(2.5rem, 8vw, 5.75rem);
	line-height: 0.95;
	font-weight: 700;
	letter-spacing: 0;
}

.site-main p {
	max-width: 640px;
	color: var(--xdc-color-muted);
}

.site-footer {
	border-top: 1px solid var(--xdc-color-border);
	background: var(--xdc-color-graphite);
}

.site-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 2rem;
	color: var(--xdc-color-muted);
	font-size: 0.875rem;
}

.site-footer__logo {
	display: inline-flex;
	flex: 0 0 auto;
	line-height: 0;
}

.site-footer__logo img {
	display: block;
	width: clamp(8.5rem, 13vw, 11rem);
	height: auto;
}


/* Footer contact and social profiles: secondary to the existing brand line. */
.site-footer__details {
	min-width: 0;
}
.site-footer__details > p {
	margin: 0 0 0.75rem;
}
.site-footer__contact-row,
.site-footer__socials {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.375rem 1rem;
}
.site-footer__socials {
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0.375rem;
}
.site-footer__email,
.site-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.5rem 0.625rem;
	border: 1px solid var(--xdc-color-border);
	border-radius: 3px;
	color: var(--xdc-color-muted);
	text-decoration: none;
	font-size: 0.875rem;
	line-height: 1.4;
}
.site-footer__email {
	padding-inline: 0;
	border-color: transparent;
	justify-content: flex-start;
	overflow-wrap: anywhere;
}
.site-footer__socials svg {
	flex-shrink: 0;
}
.site-footer__email:hover,
.site-footer__socials a:hover {
	color: var(--xdc-color-text);
	border-bottom-color: var(--xdc-color-accent);
}
.site-footer__email:focus-visible,
.site-footer__socials a:focus-visible {
	outline: 2px solid var(--xdc-color-accent);
	outline-offset: 3px;
}

.xdc-home {
	background: var(--xdc-color-ink);
	position: relative;
}

.home-section {
	position: relative;
	z-index: 10;
	background: var(--xdc-color-ink);
	padding-block: clamp(5.5rem, 10vw, 9.5rem);
	border-top: 1px solid var(--xdc-color-border);
}

.home-section__inner {
	width: min(100% - 2rem, var(--xdc-layout-width));
	margin-inline: auto;
}

.home-section__split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: start;
}

.section-kicker {
	display: inline-flex;
	position: relative;
	width: fit-content;
	margin: 0 0 1.5rem;
	padding-bottom: 0.5rem;
	color: var(--xdc-color-accent-hot);
	color: color-mix(in srgb, var(--xdc-color-text) 68%, var(--xdc-color-accent-hot) 32%);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.section-kicker::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2.25rem;
	height: 1px;
	background:
		linear-gradient(90deg, rgba(var(--xdc-color-accent-hot-rgb), 0.82), rgba(var(--xdc-color-accent-rgb), 0.18));
	box-shadow: 0 0 10px rgba(var(--xdc-color-accent-hot-rgb), 0.16);
}

.section-heading {
	max-width: 780px;
	margin-bottom: clamp(2.2rem, 5vw, 4rem);
}

.home-section h2,
.home-contact h2 {
	margin: 0;
	max-width: 860px;
	color: var(--xdc-color-text);
	font-size: clamp(2rem, 5vw, 4.4rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.015em;
}

.home-section h3 {
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(1.25rem, 2vw, 1.75rem);
	line-height: 1.2;
	letter-spacing: 0;
}

.section-copy p,
.home-statement p:not(.section-kicker),
.home-contact p:not(.section-kicker),
.principle-item p,
.work-item p {
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: clamp(1rem, 1.4vw, 1.125rem);
}

.section-copy {
	display: grid;
	gap: 1.35rem;
}

.home-section__split > .section-copy {
	padding-top: clamp(1.75rem, 4vw, 3.75rem);
}

.home-hero {
	position: relative;
	display: grid;
	align-items: end;
	min-height: calc(100svh - 72px);
	overflow: hidden;
	padding-block: clamp(3rem, 5vw, 5rem) clamp(5.5rem, 10vw, 8.75rem);
	background:
		linear-gradient(180deg, rgba(13, 14, 15, 0.2), rgba(13, 14, 15, 0.95)),
		var(--xdc-color-graphite);
	isolation: isolate;
}

.home-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	height: clamp(4.5rem, 7.5vw, 6.75rem);
	background:
		linear-gradient(180deg, rgba(13, 14, 15, 0), rgba(13, 14, 15, 0.88) 32%, rgba(13, 14, 15, 0.98)),
		rgba(13, 14, 15, 0.96);
	box-shadow: 0 -22px 60px rgba(13, 14, 15, 0.46);
	pointer-events: none;
}

.home-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(13, 14, 15, 0.96), rgba(13, 14, 15, 0.62) 54%, rgba(13, 14, 15, 0.9)),
		linear-gradient(0deg, rgba(13, 14, 15, 0.95), rgba(13, 14, 15, 0.18) 48%, rgba(13, 14, 15, 0.82));
}

.home-hero__placeholder {
	position: absolute;
	inset: clamp(1rem, 3vw, 2.5rem);
	left: min(42vw, 46rem);
	z-index: 0;
	border: 1px solid rgba(244, 241, 234, 0.08);
	background:
		linear-gradient(180deg, rgba(13, 14, 15, 0), rgba(13, 14, 15, 0.72)),
		linear-gradient(135deg, rgba(var(--xdc-color-accent-rgb), 0.18), rgba(244, 241, 234, 0.04) 38%, rgba(13, 14, 15, 0.18)),
		linear-gradient(135deg, #1c1d20, #34302b 58%, #101113);
	box-shadow: -38px 0 90px rgba(13, 14, 15, 0.8);
}

.home-hero__video {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.7;
	filter: brightness(0.7) contrast(1.08) saturate(0.86);
}

.home-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		linear-gradient(90deg, rgba(13, 14, 15, 0.96), rgba(13, 14, 15, 0.68) 38%, rgba(13, 14, 15, 0.12)),
		linear-gradient(180deg, rgba(13, 14, 15, 0.24), rgba(13, 14, 15, 0.91));
	pointer-events: none;
}

.home-hero__content {
	position: relative;
	z-index: 1;
}

.hero-rec-marker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1.35rem;
	color: var(--xdc-color-accent-hot);
	color: color-mix(in srgb, var(--xdc-color-text) 62%, var(--xdc-color-accent-hot) 38%);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	line-height: 1;
	text-transform: uppercase;
}

.hero-rec-marker span {
	width: 0.48rem;
	height: 0.48rem;
	border-radius: 999px;
	background: var(--xdc-color-accent-hot);
	box-shadow: 0 0 14px rgba(var(--xdc-color-accent-hot-rgb), 0.45);
	animation: xdc-rec-pulse 3600ms ease-in-out infinite;
}

@keyframes xdc-rec-pulse {
	0%,
	100% {
		opacity: 0.72;
		box-shadow: 0 0 8px rgba(var(--xdc-color-accent-hot-rgb), 0.28);
	}

	45% {
		opacity: 1;
		box-shadow: 0 0 18px rgba(var(--xdc-color-accent-hot-rgb), 0.5);
	}
}

.home-hero h1 {
	max-width: 1100px;
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(3.1rem, 7.35vw, 6.85rem);
	font-weight: 700;
	line-height: 0.93;
	letter-spacing: 0;
}

.home-hero__line {
	display: block;
	white-space: nowrap;
}

.home-hero__intro {
	max-width: 620px;
	margin: 1.6rem 0 0;
	color: var(--xdc-color-muted);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.button-link {
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	isolation: isolate;
	min-height: 48px;
	margin-top: 2rem;
	border: 1px solid rgba(var(--xdc-color-accent-rgb), 0.72);
	padding: 0.85rem 1.2rem;
	color: var(--xdc-color-text);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
}

.button-link::before,
.work-item__link::before,
.case-study-card__link::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: 2;
	background:
		linear-gradient(105deg, transparent 12%, rgba(var(--xdc-color-accent-hot-rgb), 0.16) 45%, rgba(var(--xdc-color-accent-rgb), 0.1) 54%, transparent 72%);
	mix-blend-mode: screen;
	opacity: 0;
	pointer-events: none;
	transform: translateX(-110%);
	transition: transform 1100ms cubic-bezier(0.22, 1, 0.36, 1), opacity 260ms ease;
}

.button-link:hover,
.button-link:focus {
	border-color: var(--xdc-color-accent);
	background: rgba(var(--xdc-color-accent-rgb), 0.1);
	color: var(--xdc-color-text);
}

.button-link:hover::before,
.button-link:focus::before,
.work-item__link:hover::before,
.work-item__link:focus::before,
.case-study-card__link:hover::before,
.case-study-card__link:focus::before {
	opacity: 1;
	transform: translateX(110%);
}

.home-manifest {
	position: relative;
	background: #07080a;
	padding-block: clamp(6.5rem, 13vw, 11rem);
	border-top: 1px solid rgba(245, 242, 235, 0.08);
	box-shadow: 0 -40px 100px rgba(7, 8, 10, 0.95);
}

.home-manifest h2 {
	font-size: clamp(2.4rem, 5.5vw, 4.6rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #f4f1ea;
}

.home-manifest .section-copy {
	border-left: 2px solid var(--xdc-color-accent, #8f2f28);
	padding-left: clamp(1.5rem, 3vw, 2.5rem);
	gap: 1.6rem;
}

.home-manifest .section-copy p:first-child {
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	color: #f4f1ea;
	line-height: 1.55;
}

.home-industrial {
	position: relative;
	background:
		radial-gradient(ellipse at 85% 20%, rgba(200, 99, 67, 0.08), transparent 60%),
		#111215;
	border-block: 1px solid rgba(245, 242, 235, 0.07);
	padding-block: clamp(5.5rem, 10vw, 9.5rem);
}

.home-statement {
	max-width: 980px;
}

.home-statement h2 {
	font-size: clamp(2.2rem, 4.8vw, 4.2rem);
	line-height: 1.12;
	letter-spacing: -0.02em;
}

.home-statement p:not(.section-kicker) {
	max-width: 760px;
	margin-top: 1.75rem;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}

.home-approach {
	padding-block: clamp(5.5rem, 11vw, 10rem);
	background: var(--xdc-color-ink);
}

.principle-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.principle-item {
	position: relative;
	padding: clamp(1.75rem, 3.5vw, 2.75rem) clamp(1.5rem, 3vw, 2.4rem);
	border: 1px solid rgba(244, 241, 234, 0.09);
	border-radius: 6px;
	background: linear-gradient(135deg, rgba(22, 23, 26, 0.82), rgba(13, 14, 15, 0.96));
	transition: border-color 300ms ease, transform 300ms ease, box-shadow 300ms ease;
}

.principle-item:hover {
	border-color: rgba(200, 99, 67, 0.45);
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45), 0 0 24px rgba(200, 99, 67, 0.1);
}

.principle-item h3 {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.85rem;
	font-size: clamp(1.2rem, 2.2vw, 1.55rem);
	line-height: 1.25;
	color: #f4f1ea;
}

.principle-item h3 > span:first-child {
	flex: 1 1 auto;
	min-width: 0;
}

.principle-visual {
	flex: 0 0 auto;
	white-space: nowrap;
	margin-top: 0.15rem;
}

.principle-item p {
	margin-top: 1.15rem;
	font-size: clamp(0.96rem, 1.3vw, 1.05rem);
	line-height: 1.65;
}

.home-work {
	background: var(--xdc-color-graphite);
	padding-block: clamp(5.5rem, 11vw, 10rem);
}

.work-list {
	display: grid;
	gap: 2rem;
	background: transparent;
}

.work-item {
	background: #131417;
	border: 1px solid rgba(244, 241, 234, 0.08);
	border-radius: 4px;
	overflow: hidden;
	transition: border-color 280ms ease, transform 280ms ease;
}

.work-item:hover {
	border-color: rgba(200, 99, 67, 0.42);
	transform: translateY(-2px);
}

.work-item__link {
	display: grid;
	position: relative;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: stretch;
	overflow: hidden;
	isolation: isolate;
	color: inherit;
	text-decoration: none;
}

.work-item__visual {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 100%;
	background:
		linear-gradient(180deg, rgba(13, 14, 15, 0), rgba(13, 14, 15, 0.42)),
		linear-gradient(135deg, #252628, #3a332c);
	overflow: hidden;
}

.work-item__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.work-item__link:hover .work-item__visual img {
	transform: scale(1.04);
}

.work-item__visual::after,
.case-study-card__media::after,
.case-study-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(13, 14, 15, 0), rgba(13, 14, 15, 0.32));
	pointer-events: none;
}

.work-item__placeholder {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(180deg, rgba(13, 14, 15, 0), rgba(13, 14, 15, 0.58)),
		linear-gradient(135deg, rgba(var(--xdc-color-accent-rgb), 0.16), rgba(244, 241, 234, 0.04) 42%, rgba(13, 14, 15, 0.18)),
		linear-gradient(135deg, #202124, #363029);
}

.work-item__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(1.4rem, 2.8vw, 2.5rem);
	gap: 0.85rem;
}

.work-item__meta {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	color: var(--xdc-color-accent-hot);
	font-family: ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.work-item__content h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.2;
	color: var(--xdc-color-text);
	overflow-wrap: break-word;
	word-break: break-word;
}

.work-item__content p {
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: clamp(0.92rem, 1.15vw, 1.05rem);
	line-height: 1.55;
	overflow-wrap: break-word;
}

.home-about {
	background: #0e0f11;
	padding-block: clamp(5.5rem, 11vw, 10rem);
	border-top: 1px solid rgba(245, 242, 235, 0.07);
}

.home-process {
	background: var(--xdc-color-ink);
	padding-block: clamp(5.5rem, 11vw, 10rem);
}

.process-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	padding: 0;
	background: rgba(244, 241, 234, 0.08);
	border: 1px solid rgba(244, 241, 234, 0.08);
	border-radius: 4px;
	overflow: hidden;
	list-style: none;
	counter-reset: process;
}

.process-list li {
	counter-increment: process;
	min-height: 160px;
	padding: clamp(1.5rem, 2.5vw, 2.2rem) 1.25rem;
	background: #0d0e10;
	color: var(--xdc-color-text);
	font-size: 1.05rem;
	font-weight: 700;
	transition: background-color 220ms ease;
}

.process-list li:hover {
	background: #14161a;
}

.process-list li::before {
	content: "0" counter(process) " // PHASE";
	display: block;
	margin-bottom: 2.2rem;
	color: var(--xdc-color-accent-hot);
	font-family: ui-monospace, monospace;
	font-size: 0.68rem;
	letter-spacing: 0.16em;
}

.home-contact {
	background:
		radial-gradient(circle at center, rgba(200, 99, 67, 0.1) 0%, rgba(7, 8, 10, 0.98) 70%),
		#07080a;
	padding-block: clamp(6.5rem, 13vw, 11.5rem);
	border-top: 1px solid rgba(245, 242, 235, 0.08);
}

.home-contact__inner {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}

.home-contact .section-kicker::after {
	left: 50%;
	transform: translateX(-50%);
}

.home-contact h2 {
	margin-inline: auto;
}

.home-contact p:not(.section-kicker) {
	margin: 1.75rem auto 0;
	max-width: 640px;
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	line-height: 1.7;
}

.home-contact .button-link {
	margin-top: 2.5rem;
	padding: 1rem 2rem;
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	border-color: rgba(200, 99, 67, 0.85);
	background: rgba(200, 99, 67, 0.12);
}

.home-contact .button-link:hover {
	background: rgba(200, 99, 67, 0.28);
	box-shadow: 0 0 24px rgba(200, 99, 67, 0.4);
}

.work-layout {
	width: min(100% - 2rem, var(--xdc-layout-width));
	margin-inline: auto;
}

.work-archive__hero,
.case-study-hero {
	background: var(--xdc-color-graphite);
}

.work-archive__hero {
	padding-block: clamp(5.5rem, 12vw, 10rem);
	border-bottom: 1px solid var(--xdc-color-border);
}

.work-archive__hero h1,
.case-study-hero h1 {
	max-width: 980px;
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(2.8rem, 7.5vw, 7rem);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: 0;
}

.work-archive__hero p,
.case-study-hero p,
.empty-state p,
.case-study-section p,
.case-study-cta p {
	max-width: 720px;
	color: var(--xdc-color-muted);
	font-size: clamp(1rem, 1.4vw, 1.125rem);
}

.work-archive__list,
.case-study-body {
	padding-block: clamp(5rem, 10vw, 9rem);
}

.case-study-list {
	display: grid;
	gap: 1px;
	background: var(--xdc-color-border);
}

.case-study-card {
	background: var(--xdc-color-ink);
}

.case-study-card__link {
	display: grid;
	position: relative;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	align-items: stretch;
	overflow: hidden;
	isolation: isolate;
	color: inherit;
	text-decoration: none;
}

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

	.hero-rec-marker span {
		animation: none;
	}

	.button-link::before,
	.work-item__link::before,
	.case-study-card__link::before,
	.main-navigation a::after,
	.button-link:hover::before,
	.button-link:focus::before,
	.work-item__link:hover::before,
	.work-item__link:focus::before,
	.case-study-card__link:hover::before,
	.case-study-card__link:focus::before,
	.main-navigation a:hover::after,
	.main-navigation a:focus::after {
		transform: none;
		transition: none;
	}
}

.case-study-card__media {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	min-height: 100%;
	background: var(--xdc-color-panel);
	overflow: hidden;
}

.case-study-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.case-study-card__link:hover .case-study-card__media img {
	transform: scale(1.04);
}

.case-study-card__placeholder,
.case-study-hero__placeholder {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(180deg, rgba(13, 14, 15, 0), rgba(13, 14, 15, 0.58)),
		linear-gradient(135deg, rgba(var(--xdc-color-accent-rgb), 0.16), rgba(244, 241, 234, 0.04) 42%, rgba(13, 14, 15, 0.18)),
		linear-gradient(135deg, #202124, #363029);
}

.case-study-card__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(1.4rem, 2.8vw, 2.5rem);
	gap: 0.85rem;
}

.case-study-card__label {
	margin: 0;
	color: var(--xdc-color-accent-hot);
	font-family: ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.case-study-card h3 {
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.2;
	letter-spacing: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

.case-study-card p {
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: clamp(0.92rem, 1.15vw, 1.05rem);
	line-height: 1.55;
	overflow-wrap: break-word;
}

.text-link {
	color: var(--xdc-color-text);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(var(--xdc-color-accent-rgb), 0.72);
	text-underline-offset: 0.28em;
}

.empty-state {
	max-width: 760px;
	border-top: 1px solid var(--xdc-color-border);
	padding-top: 2rem;
}

.empty-state h2 {
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1;
}

/* ==========================================================================
   WORK ARCHIVE: HYBRID SHOWCASE (2-COLUMN GRID & PRODUCTION INDEX)
   ========================================================================== */

.work-archive__showcase {
	padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.work-toolbar-header {
	max-width: 820px;
	margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}

.work-toolbar-header h2 {
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(1.8rem, 3.2vw, 2.75rem);
	line-height: 1.15;
}

/* Sticky Dark Glassmorphism Controls Toolbar */
.work-sticky-bar {
	position: sticky;
	top: 72px; /* Pins seamlessly directly under .site-header */
	z-index: 85;
	background: rgba(13, 14, 15, 0.88);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-block: 0.85rem;
	margin-bottom: clamp(2rem, 3.8vw, 3rem);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
	transition: background-color 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

@media (max-width: 720px) {
	.work-sticky-bar {
		top: 56px;
		padding-block: 0.65rem;
	}
}

@media (max-width: 440px) {
	.work-sticky-bar {
		top: 66px;
	}
}

.work-sticky-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	flex-wrap: wrap;
}

/* Category Filters */
.work-filters {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

@media (max-width: 640px) {
	.work-filters {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 2px;
		max-width: 100%;
		scrollbar-width: none;
	}
	.work-filters::-webkit-scrollbar {
		display: none;
	}
	.work-filter-btn {
		white-space: nowrap;
	}
}

.work-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.95rem;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.02);
	color: var(--xdc-color-muted);
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all 180ms ease;
	user-select: none;
}

.work-filter-btn:hover {
	color: var(--xdc-color-text);
	border-color: rgba(255, 255, 255, 0.25);
	background: rgba(255, 255, 255, 0.06);
}

.work-filter-btn.is-active {
	color: #fff;
	background: rgba(var(--xdc-color-accent-rgb), 0.15);
	border-color: rgba(var(--xdc-color-accent-rgb), 0.55);
	box-shadow: 0 0 14px rgba(var(--xdc-color-accent-rgb), 0.22);
}

.work-filter-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding-inline: 0.35rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--xdc-color-text);
	font-family: ui-monospace, monospace;
	font-size: 0.7rem;
	font-weight: 700;
}

.work-filter-btn.is-active .work-filter-count {
	background: rgba(var(--xdc-color-accent-rgb), 0.3);
	color: #fff;
}

/* View Switcher */
.work-view-switcher {
	display: inline-flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	padding: 3px;
	gap: 2px;
	margin-left: auto;
}

.work-view-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: none;
	border-radius: 4px;
	background: transparent;
	color: var(--xdc-color-muted);
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 160ms ease;
	user-select: none;
}

.work-view-btn:hover {
	color: var(--xdc-color-text);
}

.work-view-btn.is-active {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* View Toggle Container Logic */
.work-showcase.is-view-grid .case-study-grid {
	display: grid;
}

.work-showcase.is-view-grid .case-study-index-wrapper {
	display: none;
}

.work-showcase.is-view-index .case-study-grid {
	display: none;
}

.work-showcase.is-view-index .case-study-index-wrapper {
	display: block;
}

/* ==========================================================================
   1. CINEMATIC 2-COLUMN GRID (OPCJA 1)
   ========================================================================== */

.case-study-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.8vw, 2.5rem);
}

@media (max-width: 860px) {
	.case-study-grid {
		grid-template-columns: 1fr;
	}
}

.case-study-grid-card {
	position: relative;
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: var(--xdc-color-ink);
	overflow: hidden;
	transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), border-color 240ms ease, box-shadow 320ms ease;
}

.case-study-grid-card:hover {
	border-color: rgba(var(--xdc-color-accent-rgb), 0.38);
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
}

.case-study-grid-card__visual {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
}

.case-study-grid-card__visual-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.case-study-grid-card__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.case-study-grid-card:hover .case-study-grid-card__visual img {
	transform: scale(1.05);
}

/* Duration badge on card */
.work-badge-duration {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 8px;
	border-radius: 4px;
	background: rgba(13, 14, 15, 0.85);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	color: #fff;
	font-family: ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	pointer-events: none;
}

.case-study-grid-card__content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: clamp(1.25rem, 2.2vw, 1.85rem);
	gap: 0.8rem;
}

.case-study-grid-card__meta {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-family: ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.case-study-category-tag {
	color: var(--xdc-color-accent-hot);
}

.case-study-meta-sep {
	color: rgba(255, 255, 255, 0.2);
}

.case-study-year-tag {
	color: var(--xdc-color-muted);
}

.case-study-grid-card__title {
	margin: 0;
	font-size: clamp(1.2rem, 1.7vw, 1.55rem);
	font-weight: 700;
	line-height: 1.25;
}

.case-study-grid-card__title a {
	color: var(--xdc-color-text);
	text-decoration: none;
	transition: color 180ms ease;
}

.case-study-grid-card__title a:hover {
	color: var(--xdc-color-accent-hot);
}

.case-study-grid-card__client {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: 0.84rem;
	font-weight: 500;
}

.case-study-grid-card__client svg {
	color: var(--xdc-color-accent);
	flex-shrink: 0;
}

.case-study-grid-card__excerpt {
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: 0.92rem;
	line-height: 1.55;
	flex: 1;
}

.case-study-grid-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.5rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.case-study-quick-play-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 12px;
	border-radius: 4px;
	border: 1px solid rgba(var(--xdc-color-accent-rgb), 0.35);
	background: transparent;
	color: var(--xdc-color-text);
	font-family: inherit;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 180ms ease;
}

.case-study-quick-play-btn:hover {
	background: var(--xdc-color-accent);
	border-color: var(--xdc-color-accent);
	color: #000;
}

/* ==========================================================================
   2. PRODUCTION INDEX TABLE (OPCJA 3)
   ========================================================================== */

.case-study-index-wrapper {
	width: 100%;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	background: var(--xdc-color-ink);
	overflow-x: auto;
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* IE 10+ */
}

.case-study-index-wrapper::-webkit-scrollbar {
	display: none; /* Safari and Chrome */
	width: 0;
	height: 0;
}

.case-study-index-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	font-size: 0.9rem;
}

.case-study-index-table th {
	background: rgba(255, 255, 255, 0.025);
	color: var(--xdc-color-muted);
	font-family: ui-monospace, monospace;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 1rem 0.85rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	white-space: nowrap;
}

.case-study-index-table td {
	padding: 1rem 0.85rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	vertical-align: middle;
}

/* Align edge columns nicely with padding */
.case-study-index-table th:first-child,
.case-study-index-table td:first-child {
	padding-left: 1.5rem;
}

.case-study-index-table th:last-child,
.case-study-index-table td:last-child {
	padding-right: 1.5rem;
}

.case-study-index-row {
	transition: background 180ms ease;
}

.case-study-index-row:hover {
	background: rgba(255, 255, 255, 0.035);
}

.case-study-index-row:last-child td {
	border-bottom: none;
}

/* Explicit column proportions */
.th-year,
.td-year {
	width: 65px;
}

.td-year code {
	color: var(--xdc-color-muted);
	font-family: ui-monospace, monospace;
	font-size: 0.82rem;
	font-weight: 600;
}

.th-project,
.td-project {
	width: auto;
}

.index-project-cell {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.index-project-thumb-preview {
	width: 52px;
	height: 32px;
	border-radius: 4px;
	overflow: hidden;
	background: #000;
	flex-shrink: 0;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.index-project-thumb-preview img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.case-study-index-row:hover .index-project-thumb-preview img {
	transform: scale(1.1);
}

.index-project-text {
	min-width: 0;
}

.index-project-title {
	display: block;
	color: var(--xdc-color-text);
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: color 180ms ease;
}

.index-project-title:hover {
	color: var(--xdc-color-accent-hot);
}

.index-project-role {
	display: block;
	font-size: 0.76rem;
	color: var(--xdc-color-muted);
	margin-top: 2px;
}

.th-client,
.td-client {
	width: 210px;
}

.index-client-name {
	color: var(--xdc-color-text);
	font-size: 0.86rem;
	white-space: nowrap;
}

.th-category,
.td-category {
	width: 170px;
}

.th-duration,
.td-duration {
	width: 70px;
	text-align: center;
}

.td-duration code {
	color: var(--xdc-color-muted);
	font-family: ui-monospace, monospace;
	font-size: 0.82rem;
}

.th-action,
.td-action {
	width: 200px;
	text-align: right;
}

.index-action-group {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.index-category-pill {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-family: ui-monospace, monospace;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--xdc-color-text);
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	transition: all 180ms ease;
	outline: none;
}

button.case-study-category-tag {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: var(--xdc-color-accent-hot);
	cursor: pointer;
	user-select: none;
	transition: all 180ms ease;
	outline: none;
}

button.case-study-category-tag:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
	filter: brightness(1.25);
}

.index-category-pill:hover {
	transform: translateY(-1px);
}

.index-category-pill.category--industry {
	border-color: rgba(224, 90, 43, 0.35);
	color: #f59670;
}

.index-category-pill.category--industry:hover {
	border-color: #f59670;
	background: rgba(224, 90, 43, 0.18);
	box-shadow: 0 0 12px rgba(224, 90, 43, 0.35);
}

.index-category-pill.category--architecture {
	border-color: rgba(64, 150, 220, 0.35);
	color: #8ec3eb;
}

.index-category-pill.category--architecture:hover {
	border-color: #8ec3eb;
	background: rgba(64, 150, 220, 0.18);
	box-shadow: 0 0 12px rgba(64, 150, 220, 0.35);
}

.index-category-pill.category--sound {
	border-color: rgba(180, 120, 230, 0.35);
	color: #d0aef2;
}

.index-category-pill.category--sound:hover {
	border-color: #d0aef2;
	background: rgba(180, 120, 230, 0.18);
	box-shadow: 0 0 12px rgba(180, 120, 230, 0.35);
}

.td-duration code {
	color: var(--xdc-color-muted);
	font-family: ui-monospace, monospace;
	font-size: 0.84rem;
}

.index-action-group {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.index-play-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 11px;
	border-radius: 4px;
	border: 1px solid rgba(var(--xdc-color-accent-hot-rgb), 0.45);
	background: rgba(var(--xdc-color-accent-hot-rgb), 0.12);
	color: #fff;
	font-family: inherit;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 180ms ease;
}

.index-play-btn:hover {
	background: var(--xdc-color-accent-hot);
	color: #000;
	box-shadow: 0 0 12px rgba(var(--xdc-color-accent-hot-rgb), 0.4);
}

.index-details-link {
	color: var(--xdc-color-muted);
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: color 180ms ease;
	white-space: nowrap;
}

.index-details-link:hover {
	color: #fff;
	text-decoration: underline;
}

/* Filtering helper */
.is-filtered-out {
	display: none !important;
}

.work-filter-empty {
	text-align: center;
	padding: 4rem 1.5rem;
	border: 1px dashed rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	margin-top: 1rem;
	color: var(--xdc-color-muted);
	font-size: 1.05rem;
}

.case-study-hero {
	position: relative;
	border-bottom: 1px solid var(--xdc-color-border);
}

.case-study-hero__media {
	position: relative;
	min-height: clamp(420px, 62vw, 760px);
	background: var(--xdc-color-panel);
	overflow: hidden;
}

.case-study-hero__media img {
	width: 100%;
	height: clamp(420px, 62vw, 760px);
	object-fit: cover;
}

.case-study-hero__content {
	padding-block: clamp(3rem, 7vw, 6rem);
}

.case-study-section {
	display: grid;
	grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
	gap: clamp(2rem, 6vw, 6rem);
	padding-block: clamp(3rem, 7vw, 5.5rem);
	border-top: 1px solid var(--xdc-color-border);
}

.case-study-section:first-child {
	border-top: 0;
	padding-top: 0;
}

.case-study-section h2,
.case-study-cta h2 {
	margin: 0;
	color: var(--xdc-color-text);
	font-size: clamp(2rem, 4.8vw, 4.2rem);
	line-height: 1.03;
	letter-spacing: 0;
}

.entry-content {
	color: var(--xdc-color-muted);
	font-size: clamp(1rem, 1.4vw, 1.125rem);
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	color: var(--xdc-color-text);
	line-height: 1.15;
}

.case-study-cta {
	margin-top: clamp(3rem, 7vw, 6rem);
	border-top: 1px solid var(--xdc-color-border);
	padding-top: clamp(3rem, 7vw, 6rem);
	text-align: center;
}

.case-study-cta h2,
.case-study-cta p {
	margin-inline: auto;
}

.studio-layout {
	width: min(100% - 2rem, var(--xdc-layout-width));
	margin-inline: auto;
}

.studio-page__hero {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 72px);
	padding-block: clamp(4rem, 8vh, 6.5rem);
	border-bottom: 1px solid var(--xdc-color-border);
	background: var(--xdc-color-graphite);
}

.studio-page__hero h1 {
	max-width: 960px;
	margin: 0 0 clamp(1.4rem, 2.5vh, 2.2rem);
	color: var(--xdc-color-text);
	font-size: clamp(2.5rem, 5.2vw, 4.35rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.022em;
	text-wrap: balance;
}

.studio-page__hero p:not(.section-kicker) {
	max-width: 680px;
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: clamp(1.08rem, 1.35vw, 1.25rem);
	line-height: 1.7;
	text-wrap: pretty;
}

/* Split Hero with Filmmaker Portrait (About Page) */
.studio-page__hero--split {
	padding-block: clamp(3.5rem, 6vh, 5.5rem);
}

.studio-page__hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
	gap: clamp(2.5rem, 5vw, 5.5rem);
	align-items: center;
}

.studio-page__hero-content h1 {
	max-width: none;
	margin: 0 0 clamp(1.2rem, 2vh, 1.75rem);
	color: var(--xdc-color-text);
	font-size: clamp(2.2rem, 3.8vw, 3.6rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.studio-page__hero-lead {
	max-width: 580px;
	margin: 0;
	color: var(--xdc-color-muted);
	font-size: clamp(1.02rem, 1.25vw, 1.16rem);
	line-height: 1.7;
	text-wrap: pretty;
}

.studio-page__hero-media {
	display: flex;
	justify-content: flex-end;
}

.filmmaker-portrait {
	position: relative;
	width: 100%;
	max-width: 420px;
	aspect-ratio: 3 / 4;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid rgba(244, 241, 234, 0.14);
	box-shadow: 
		0 24px 50px rgba(0, 0, 0, 0.55),
		0 0 35px rgba(220, 58, 42, 0.1);
	background: #0d0e0f;
}

.filmmaker-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.filmmaker-portrait:hover img {
	transform: scale(1.03);
}

.filmmaker-portrait__badge {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.45rem 0.85rem;
	background: rgba(13, 14, 15, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(244, 241, 234, 0.14);
	border-radius: 3px;
	pointer-events: none;
}

.filmmaker-portrait__rec {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--xdc-color-accent-hot);
	box-shadow: 0 0 8px rgba(var(--xdc-color-accent-hot-rgb), 0.9);
	animation: recPulse 2.4s ease-in-out infinite;
}

@keyframes recPulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.35; transform: scale(0.85); }
}

.filmmaker-portrait__caption {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #f4f1ea;
}

.studio-copy p,
.studio-principles p,
.prompt-list p,
.studio-contact-cta p {
	max-width: 720px;
	color: var(--xdc-color-muted);
	font-size: clamp(1rem, 1.4vw, 1.125rem);
}

.studio-page__section {
	padding-block: clamp(4.5rem, 8vw, 7.5rem);
	border-bottom: 1px solid var(--xdc-color-border);
	background: var(--xdc-color-ink);
}

.studio-page__section--graphite {
	background: var(--xdc-color-graphite);
}

.studio-page__split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
}

.studio-page__section h2,
.studio-contact-cta h2 {
	margin: 0;
	max-width: 680px;
	color: var(--xdc-color-text);
	font-size: clamp(1.95rem, 3.4vw, 2.85rem);
	font-weight: 700;
	line-height: 1.14;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.studio-copy {
	display: grid;
	gap: 1.35rem;
}

.studio-copy p,
.studio-principles p,
.prompt-list p,
.studio-contact-cta p {
	margin: 0;
}

.studio-page--about .section-heading {
	margin-bottom: clamp(1.85rem, 3.2vw, 2.75rem);
}

.studio-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--xdc-color-border);
}

.studio-principles article {
	padding: clamp(1.75rem, 2.4vw, 2.25rem) clamp(1.15rem, 1.8vw, 1.5rem) 0.5rem;
	border-right: 1px solid var(--xdc-color-border);
}

.studio-principles article:first-child {
	padding-left: 0;
}

.studio-principles article:last-child {
	padding-right: 0;
	border-right: 0;
}

.studio-principles h3 {
	margin: 0 0 0.85rem;
	color: var(--xdc-color-text);
	font-size: clamp(1.2rem, 1.8vw, 1.55rem);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.studio-principles p {
	line-height: 1.6;
}

.prompt-list {
	display: grid;
	gap: 1px;
	background: var(--xdc-color-border);
}

.prompt-list p {
	max-width: none;
	background: var(--xdc-color-graphite);
	padding: 1.35rem;
	color: var(--xdc-color-text);
	font-weight: 700;
}

/* FAQ Section (Contact Page) */
.studio-page__section--faq {
	background: var(--xdc-color-ink);
}

.studio-page__split--faq {
	grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 6rem);
}

.faq-header {
	position: sticky;
	top: clamp(5.5rem, 12vh, 8rem);
}

.faq-header h2 {
	margin-top: 0.5rem;
}

.faq-accordion {
	display: grid;
	gap: 1px;
	background: var(--xdc-color-border);
	border: 1px solid var(--xdc-color-border);
}

.faq-item {
	background: var(--xdc-color-graphite);
	transition: background 250ms ease;
}

.faq-item:hover {
	background: #1a1b1e;
}

.faq-item[open] {
	background: var(--xdc-color-panel);
}

.faq-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	padding: clamp(1.2rem, 2.2vw, 1.65rem);
	cursor: pointer;
	user-select: none;
	list-style: none;
}

.faq-summary::-webkit-details-marker,
.faq-summary::marker {
	display: none;
}

.faq-question {
	color: var(--xdc-color-text);
	font-size: clamp(1.02rem, 1.4vw, 1.18rem);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
	transition: color 200ms ease;
}

.faq-summary:hover .faq-question,
.faq-item[open] .faq-question {
	color: #ffffff;
}

.faq-indicator {
	position: relative;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	display: grid;
	place-items: center;
	color: var(--xdc-color-muted);
	transition: color 250ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.faq-indicator::before,
.faq-indicator::after {
	content: "";
	position: absolute;
	background: currentColor;
	border-radius: 1px;
	transition: background-color 250ms ease;
}

.faq-indicator::before {
	width: 13px;
	height: 1.5px;
}

.faq-indicator::after {
	width: 1.5px;
	height: 13px;
}

.faq-summary:hover .faq-indicator {
	color: var(--xdc-color-text);
}

.faq-item[open] .faq-indicator {
	color: var(--xdc-color-accent-hot);
	transform: rotate(45deg);
}

.faq-content {
	padding: 0 clamp(1.2rem, 2.2vw, 1.65rem) clamp(1.3rem, 2.4vw, 1.75rem);
}

.faq-content p {
	margin: 0;
	max-width: 65ch;
	color: var(--xdc-color-muted);
	font-size: clamp(0.92rem, 1.15vw, 1.02rem);
	line-height: 1.65;
	border-top: 1px solid rgba(244, 241, 234, 0.06);
	padding-top: 1rem;
}

.faq-summary:focus-visible {
	outline: 2px solid var(--xdc-color-accent-hot);
	outline-offset: -2px;
}

/* ==========================================================================
   Hybrid Contact Hub (Direct Channels + Interactive Film Brief)
   ========================================================================== */
.studio-page__hero--contact {
	min-height: auto;
	padding-block: clamp(3.75rem, 6vh, 5rem) clamp(2.25rem, 3.5vh, 3rem);
}

.contact-hub-section {
	padding-block: clamp(3.5rem, 6vw, 5.5rem) clamp(5rem, 8vw, 7.5rem);
	background: var(--xdc-color-ink);
}

.contact-hub {
	display: grid;
	grid-template-columns: minmax(300px, 0.44fr) minmax(0, 0.56fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

/* Left Column: Direct Channels */
.contact-hub__channels {
	display: grid;
	gap: 1.5rem;
}

.contact-card {
	position: relative;
	padding: clamp(1.5rem, 2.8vw, 2rem);
	border-radius: 6px;
	border: 1px solid rgba(244, 241, 234, 0.1);
	background: rgba(22, 23, 26, 0.72);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	transition: border-color 240ms ease, transform 240ms ease, box-shadow 240ms ease;
}

.contact-card:hover {
	border-color: rgba(244, 241, 234, 0.22);
	transform: translateY(-2px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.contact-card__header {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.contact-card__icon-wrap {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(13, 14, 15, 0.8);
	border: 1px solid rgba(244, 241, 234, 0.1);
	color: var(--xdc-color-text);
	flex-shrink: 0;
}

.contact-card__icon {
	width: 20px;
	height: 20px;
}

.contact-card__title-wrap {
	flex-grow: 1;
}

.contact-card__title {
	margin: 0;
	font-size: clamp(1.2rem, 1.8vw, 1.45rem);
	font-weight: 700;
	color: var(--xdc-color-text);
	line-height: 1.2;
}

/* WhatsApp Specific Styling */
.contact-card--whatsapp {
	border-color: rgba(37, 211, 102, 0.28);
	background: linear-gradient(135deg, rgba(22, 23, 26, 0.95), rgba(18, 38, 26, 0.4));
}

.contact-card--whatsapp:hover {
	border-color: rgba(37, 211, 102, 0.6);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5), 0 0 30px rgba(37, 211, 102, 0.12);
}

.contact-card--whatsapp .contact-card__icon-wrap {
	color: #25d366;
	border-color: rgba(37, 211, 102, 0.35);
}

.contact-card__status-dot {
	position: absolute;
	top: -2px;
	right: -2px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #25d366;
	border: 2px solid #0d0e0f;
	box-shadow: 0 0 10px #25d366;
	animation: recPulse 2.2s ease-in-out infinite;
}

.contact-card__status-tag {
	display: inline-block;
	margin-top: 0.35rem;
	padding: 0.25rem 0.55rem;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #4ade80;
	background: rgba(37, 211, 102, 0.12);
	border: 1px solid rgba(37, 211, 102, 0.3);
	border-radius: 3px;
}

.contact-card__note {
	margin: 1rem 0 1.25rem;
	font-size: clamp(0.88rem, 1.1vw, 0.96rem);
	line-height: 1.6;
	color: var(--xdc-color-muted);
}

.contact-card__action--whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	padding: 0.85rem 1.25rem;
	background: #25d366;
	color: #061e0e;
	font-weight: 700;
	font-size: 0.88rem;
	border-radius: 4px;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.contact-card__action--whatsapp:hover {
	background: #2ee06e;
	color: #041409;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.4);
}

/* Email Specific Styling */
.contact-card--email .contact-card__icon-wrap {
	color: var(--xdc-color-accent-hot);
	border-color: rgba(var(--xdc-color-accent-hot-rgb), 0.3);
}

.contact-card__meta-tag {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.75rem;
	color: var(--xdc-color-muted);
}

.contact-card__address {
	margin: 0.85rem 0 1.15rem;
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
	font-weight: 700;
	letter-spacing: -0.01em;
}

.contact-card__address a {
	color: var(--xdc-color-text);
	text-decoration: none;
	transition: color 180ms ease;
}

.contact-card__address a:hover {
	color: var(--xdc-color-accent-hot);
}

.contact-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.contact-card__copy-btn,
.contact-card__open-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.95rem;
	font-size: 0.78rem;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	text-decoration: none;
	transition: all 180ms ease;
}

.contact-card__copy-btn {
	background: rgba(13, 14, 15, 0.8);
	border: 1px solid rgba(244, 241, 234, 0.14);
	color: var(--xdc-color-text);
}

.contact-card__copy-btn:hover {
	border-color: rgba(244, 241, 234, 0.35);
	background: rgba(244, 241, 234, 0.08);
}

.contact-card__copy-btn.is-copied {
	border-color: #25d366;
	color: #4ade80;
	background: rgba(37, 211, 102, 0.12);
}

.contact-card__open-btn {
	background: transparent;
	border: 1px solid rgba(244, 241, 234, 0.1);
	color: var(--xdc-color-muted);
}

.contact-card__open-btn:hover {
	color: var(--xdc-color-text);
	border-color: rgba(244, 241, 234, 0.25);
}

/* Studio Logistics Card */
.contact-card--meta {
	background: rgba(16, 17, 19, 0.6);
}

.contact-card__subhead {
	margin: 0 0 1rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--xdc-color-muted);
}

.contact-card__meta-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

.contact-card__meta-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.88rem;
	color: var(--xdc-color-muted);
	line-height: 1.5;
}

.contact-card__meta-list li svg {
	flex-shrink: 0;
	margin-top: 0.2rem;
	color: var(--xdc-color-accent-hot);
}

/* Right Column: Film Brief Form */
.contact-form {
	padding: clamp(1.75rem, 3.2vw, 2.75rem);
	border-radius: 6px;
	border: 1px solid rgba(244, 241, 234, 0.12);
	background: rgba(22, 23, 26, 0.85);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.45);
}

.contact-form__heading {
	margin-bottom: clamp(1.25rem, 2vw, 1.65rem);
}

.contact-form__heading h2 {
	margin: 0 0 0.65rem;
	font-size: clamp(1.65rem, 2.6vw, 2.25rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--xdc-color-text);
}

.contact-form__intro {
	margin: 0;
	font-size: clamp(0.92rem, 1.15vw, 1rem);
	color: var(--xdc-color-muted);
	line-height: 1.6;
}

.contact-form__group {
	margin-bottom: clamp(1.15rem, 1.6vw, 1.35rem);
}

.contact-form__label {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--xdc-color-text);
}

.contact-form__label .required {
	color: var(--xdc-color-accent-hot);
}

/* Project Type Pills */
.contact-form__trap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.contact-form--enhanced .contact-project-select { display: none; }
.contact-form--enhanced .project-type-pills { display: flex; }
.contact-form__status a { color: inherit; text-decoration: underline; }

.project-type-pills {
	display: none;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.project-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.95rem;
	border-radius: 4px;
	background: rgba(13, 14, 15, 0.7);
	border: 1px solid rgba(244, 241, 234, 0.12);
	color: var(--xdc-color-muted);
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 180ms ease;
}

.project-pill .pill-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(244, 241, 234, 0.25);
	transition: background 180ms ease, box-shadow 180ms ease;
}

.project-pill:hover {
	border-color: rgba(244, 241, 234, 0.3);
	color: var(--xdc-color-text);
}

.project-pill.is-active {
	border-color: var(--xdc-color-accent-hot);
	background: rgba(var(--xdc-color-accent-hot-rgb), 0.14);
	color: #ffffff;
}

.project-pill.is-active .pill-dot {
	background: var(--xdc-color-accent-hot);
	box-shadow: 0 0 8px rgba(var(--xdc-color-accent-hot-rgb), 0.9);
}

.contact-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.contact-input,
.contact-textarea {
	width: 100%;
	padding: 0.85rem 1.05rem;
	background: #0d0e0f;
	border: 1px solid rgba(244, 241, 234, 0.12);
	border-radius: 4px;
	color: #f4f1ea;
	font-family: inherit;
	font-size: 0.92rem;
	line-height: 1.5;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.contact-input::placeholder,
.contact-textarea::placeholder {
	color: rgba(167, 162, 154, 0.45);
}

.contact-input:focus,
.contact-textarea:focus {
	outline: none;
	border-color: var(--xdc-color-accent-hot);
	box-shadow: 0 0 0 3px rgba(var(--xdc-color-accent-hot-rgb), 0.15);
}

.contact-textarea {
	resize: vertical;
	min-height: 110px;
}

.contact-form__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.45rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(244, 241, 234, 0.08);
}

.contact-submit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding: 0.95rem 1.85rem;
	background: var(--xdc-color-accent-hot);
	color: #ffffff;
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: 700;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.contact-submit-btn:hover {
	background: #e64535;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(var(--xdc-color-accent-hot-rgb), 0.4);
}

.contact-submit-btn:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	transform: none;
}

.contact-form__privacy {
	margin: 0;
	font-size: 0.74rem;
	color: rgba(167, 162, 154, 0.65);
	line-height: 1.45;
	max-width: 32ch;
}

.contact-form__status {
	margin-top: 1rem;
	font-size: 0.88rem;
	line-height: 1.5;
	display: none;
}

.contact-form__status.is-success {
	display: block;
	padding: 0.85rem 1.1rem;
	border-radius: 4px;
	background: rgba(37, 211, 102, 0.12);
	border: 1px solid rgba(37, 211, 102, 0.35);
	color: #4ade80;
}

.contact-form__status.is-error {
	display: block;
	padding: 0.85rem 1.1rem;
	border-radius: 4px;
	background: rgba(220, 58, 42, 0.12);
	border: 1px solid rgba(220, 58, 42, 0.35);
	color: #f87171;
}

@media (max-width: 900px) {
	.contact-hub {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

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

	.contact-form__footer {
		flex-direction: column;
		align-items: stretch;
	}

	.contact-submit-btn {
		width: 100%;
	}

	.contact-form__privacy {
		max-width: none;
		text-align: center;
	}
}

/* ==========================================================================
   Cinematic Video Lightbox Modal & Play Triggers
   ========================================================================== */
body.xdc-modal-active {
	overflow: hidden;
}

.xdc-video-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 3.5vw, 2.75rem);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 320ms cubic-bezier(0.22, 1, 0.36, 1), visibility 320ms;
}

.xdc-video-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.xdc-video-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 6, 8, 0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	cursor: pointer;
}

.xdc-video-modal__dialog {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: auto;
	transform: scale(0.96) translateY(10px);
	transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);
}

.xdc-video-modal.is-open .xdc-video-modal__dialog {
	transform: scale(1) translateY(0);
}

.xdc-video-modal__close {
	position: absolute;
	top: -46px;
	right: 0;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(22, 23, 25, 0.85);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(244, 241, 234, 0.22);
	color: var(--xdc-color-text);
	cursor: pointer;
	border-radius: 50%;
	transition: border-color 200ms ease, color 200ms ease, transform 250ms ease;
}

.xdc-video-modal__close:hover,
.xdc-video-modal__close:focus-visible {
	border-color: var(--xdc-color-accent-hot);
	color: var(--xdc-color-accent-hot);
	transform: rotate(90deg);
	outline: none;
}

.xdc-video-modal__close .xdc-close-line {
	position: absolute;
	width: 16px;
	height: 1.5px;
	background: currentColor;
	border-radius: 1px;
}

.xdc-video-modal__close .xdc-close-line:first-child {
	transform: rotate(45deg);
}

.xdc-video-modal__close .xdc-close-line:last-child {
	transform: rotate(-45deg);
}

.xdc-video-modal__media-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000000;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(244, 241, 234, 0.12);
	border-radius: 4px;
	overflow: hidden;
}

.xdc-video-modal__media-frame video,
.xdc-video-modal__media-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}

/* Play trigger on Single Case Study Hero */
.case-study-hero__media.has-video {
	position: relative;
}

.case-study-hero__play-trigger {
	position: absolute;
	inset: 0;
	margin: auto;
	width: fit-content;
	height: fit-content;
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding: 0.85rem 1.65rem 0.85rem 1.05rem;
	background: rgba(13, 14, 15, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(var(--xdc-color-accent-rgb), 0.72);
	color: var(--xdc-color-text);
	cursor: pointer;
	z-index: 3;
	border-radius: 2px;
	transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), background 250ms ease, border-color 250ms ease, box-shadow 300ms ease;
}

.case-study-hero__play-trigger:hover,
.case-study-hero__play-trigger:focus-visible {
	transform: scale(1.05);
	background: rgba(22, 23, 25, 0.95);
	border-color: var(--xdc-color-accent-hot);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(var(--xdc-color-accent-hot-rgb), 0.35);
	outline: none;
}

.case-study-hero__play-trigger .play-trigger__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--xdc-color-accent);
	color: #ffffff;
	transition: background-color 250ms ease, transform 250ms ease;
}

.case-study-hero__play-trigger:hover .play-trigger__icon {
	background: var(--xdc-color-accent-hot);
	transform: scale(1.08);
}

.case-study-hero__play-trigger .play-trigger__text {
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Play badge on Card Visuals (Homepage & Archive) */
.work-item__visual,
.case-study-card__media {
	position: relative;
}

.work-item__play-badge {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.85rem;
	background: rgba(13, 14, 15, 0.88);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(244, 241, 234, 0.2);
	color: var(--xdc-color-text);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-radius: 2px;
	cursor: pointer;
	user-select: none;
	transition: background 200ms ease, border-color 200ms ease, transform 250ms ease, box-shadow 250ms ease;
}

.work-item__play-badge svg {
	color: var(--xdc-color-accent-hot);
	transition: transform 200ms ease;
}

.work-item__play-badge:hover,
.work-item__play-badge:focus-visible {
	background: rgba(22, 23, 25, 0.98);
	border-color: var(--xdc-color-accent-hot);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6);
	outline: none;
}

.work-item__play-badge:hover svg {
	transform: scale(1.18);
}

@media (max-width: 860px) {
	.work-item__link,
	.case-study-card__link {
		grid-template-columns: 1fr;
	}

	.work-item__content,
	.case-study-card__content {
		padding: clamp(1.5rem, 5vw, 2.25rem);
	}

	.faq-header {
		position: static;
	}

	.studio-page__hero--split .studio-page__hero-layout {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.studio-page__hero-media {
		justify-content: flex-start;
	}

	.filmmaker-portrait {
		max-width: 380px;
	}
}

@media (max-width: 720px) {
	.site-header__inner {
		gap: 1rem;
		min-height: 56px;
	}

	.site-footer__inner {
		align-items: flex-start;
		flex-direction: column;
		padding-bottom: calc(2.5rem + env(safe-area-inset-bottom, 0px));
	}

	.site-title {
		font-size: 0.82rem;
	}

	.site-logo__image,
	.custom-logo {
		height: 2rem;
		max-width: 5.5rem;
	}

	.site-footer__logo img {
		width: 8.5rem;
	}

	.main-navigation {
		width: auto;
	}

	.main-navigation ul {
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 0.35rem 0.82rem;
	}

	.main-navigation a {
		font-size: 0.68rem;
		font-weight: 500;
		text-transform: none;
	}

	.home-section__split,
	.work-item__link,
	.process-list,
	.case-study-card__link,
	.case-study-section,
	.studio-page__split,
	.studio-principles {
		grid-template-columns: 1fr;
	}

	.home-section__split {
		gap: 1.75rem;
	}

	.section-heading {
		margin-bottom: 2rem;
	}

	.principle-list {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.principle-item {
		padding: 1.6rem 1.4rem;
		border: 1px solid rgba(244, 241, 234, 0.09);
		border-radius: 6px;
	}

	.home-hero {
		min-height: calc(100svh - 56px);
		padding-block: clamp(2.75rem, 8vw, 4rem) clamp(4.25rem, 12vw, 5.75rem);
	}

	.studio-page__hero,
	.studio-page__hero--split {
		min-height: auto;
		justify-content: flex-start;
		padding-block: clamp(3rem, 8vw, 4.5rem);
	}

	.home-hero::after {
		height: clamp(3rem, 11.5vw, 4.5rem);
	}

	.home-hero h1 {
		max-width: 680px;
		font-size: clamp(2.35rem, 8.6vw, 4.45rem);
		line-height: 1.01;
	}

	.home-hero__line {
		white-space: normal;
	}

	.home-hero__intro {
		max-width: 560px;
		margin-top: 1.45rem;
		font-size: clamp(1rem, 2.6vw, 1.18rem);
	}

	.home-hero__placeholder {
		inset: auto 1rem 1rem;
		left: 1rem;
		height: 42%;
		opacity: 0.72;
	}

	.home-section__split > .section-copy {
		padding-top: 0;
	}

	.process-list li {
		display: grid;
		grid-template-columns: 2.4rem minmax(0, 1fr);
		align-items: center;
		min-height: auto;
		padding: 0.9rem 1rem;
		font-size: 0.95rem;
	}

	.process-list li::before {
		margin-bottom: 0;
		font-size: 0.68rem;
	}

	.case-study-hero__media,
	.case-study-hero__media img {
		min-height: 320px;
		height: 320px;
	}

	.studio-principles article {
		padding: 1.75rem 0;
		border-right: 0;
		border-bottom: 1px solid var(--xdc-color-border);
	}

	.studio-principles article:first-child {
		padding-left: 0;
	}

	.studio-principles article:last-child {
		padding-right: 0;
		border-bottom: 0;
	}
}

@media (max-width: 440px) {
	.site-header__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.45rem;
		min-height: 0;
		padding-block: 0.72rem;
	}

	.main-navigation {
		width: 100%;
	}

	.main-navigation ul {
		justify-content: flex-start;
		gap: 0.25rem 0.72rem;
	}

	.main-navigation a {
		font-size: 0.66rem;
	}

	.home-hero {
		min-height: calc(100svh - 86px);
		padding-block: clamp(2.35rem, 10vw, 3.5rem) clamp(3.75rem, 14vw, 5rem);
	}

	.home-hero::after {
		height: clamp(2.75rem, 13vw, 3.75rem);
	}

	.home-hero h1 {
		max-width: 22rem;
		font-size: clamp(2rem, 10.4vw, 2.95rem);
		line-height: 1.02;
	}

	.home-hero__intro {
		margin-top: 1.2rem;
		font-size: 1rem;
	}

	.principle-list {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.principle-item,
	.principle-item:nth-child(2n) {
		padding: 1.45rem 1.25rem;
		border: 1px solid rgba(244, 241, 234, 0.09);
		border-radius: 6px;
	}
}

@media (max-height: 900px) and (min-width: 900px) {
	.home-hero {
		min-height: calc(100svh - 72px);
		padding-block: clamp(2rem, 4vh, 3.25rem) clamp(3.5rem, 7.5vh, 5.5rem);
	}

	.hero-rec-marker {
		margin-bottom: 0.9rem;
	}

	.home-hero h1 {
		max-width: 1100px;
		font-size: clamp(3rem, 6.25vw, 5.8rem);
		line-height: 0.93;
	}

	.home-hero__intro {
		margin-top: 1rem;
	}

	.button-link {
		margin-top: 1.1rem;
	}
}

@media (max-height: 760px) and (min-width: 721px) {
	.home-hero {
		min-height: calc(100svh - 72px);
		padding-block: clamp(1.65rem, 3.6vh, 2.4rem) clamp(2.8rem, 6vh, 4.25rem);
	}

	.hero-rec-marker {
		margin-bottom: 0.75rem;
	}

	.home-hero h1 {
		max-width: 1080px;
		font-size: clamp(2.65rem, 5.55vw, 5rem);
		line-height: 0.94;
	}

	.home-hero__intro {
		margin-top: 0.9rem;
	}

	.button-link {
		margin-top: 1rem;
	}
}

/* ==========================================================================
   Kinowa dynamika i kultura ruchu (Cinematic Motion & Reveals)
   ========================================================================== */

.reveal-fade,
html.xdc-js .reveal-fade {
	opacity: 1 !important;
	transform: none !important;
}

/* Tactile Spotlight Card (Ambient Light on Mouse Move) */
.spotlight-card {
	position: relative;
	overflow: hidden;
}

.spotlight-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
	background: radial-gradient(
		520px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
		rgba(200, 99, 67, 0.12),
		transparent 60%
	);
	transition: opacity 350ms ease;
}

.spotlight-card:hover::before {
	opacity: 1;
}

/* Principle Micro-Indicators */
.principle-visual {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.24rem 0.65rem;
	border-radius: 999px;
	background: rgba(244, 241, 234, 0.04);
	border: 1px solid rgba(244, 241, 234, 0.08);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: border-color 300ms ease, background 300ms ease;
}

.principle-item:hover .principle-visual {
	border-color: rgba(244, 241, 234, 0.18);
	background: rgba(244, 241, 234, 0.07);
}

/* 1. Direction Vector (Najpierw sens / Kierunek) */
.direction-indicator {
	color: #38bdf8;
}

.direction-icon {
	width: 10px;
	height: 10px;
	display: inline-block;
	vertical-align: middle;
	transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.principle-item:hover .direction-icon {
	transform: translate(2px, -2px);
}

/* 2. Audio Rhythm EQ (Myślenie muzyką / Rytm) */
.audio-indicator {
	color: #f59e0b;
}

.eq-bars {
	display: inline-flex;
	align-items: flex-end;
	gap: 2px;
	height: 11px;
	width: 12px;
}

.eq-bar {
	width: 2px;
	background: #f59e0b;
	border-radius: 1px;
	animation: xdc-eq-bounce 1400ms ease-in-out infinite alternate;
}

.eq-bar:nth-child(1) { height: 40%; animation-delay: 0ms; }
.eq-bar:nth-child(2) { height: 85%; animation-delay: 220ms; }
.eq-bar:nth-child(3) { height: 100%; animation-delay: 440ms; }
.eq-bar:nth-child(4) { height: 55%; animation-delay: 110ms; }

@keyframes xdc-eq-bounce {
	0% { height: 25%; opacity: 0.5; }
	50% { height: 100%; opacity: 1; }
	100% { height: 40%; opacity: 0.7; }
}

/* 3. Viewfinder Reticle (Miejsce na Twoje spojrzenie / Rozmowa) */
.view-indicator {
	color: #c86343;
}

.reticle-icon {
	width: 10px;
	height: 10px;
	position: relative;
	display: inline-block;
	border: 1.5px solid #c86343;
	border-radius: 2px;
	transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1);
}

.reticle-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2.5px;
	height: 2.5px;
	background: #c86343;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.principle-item:hover .reticle-icon {
	transform: scale(1.15) rotate(45deg);
}

/* 4. Color & Synthesis Node (Detal, który służy całości / Spójność) */
.coherence-indicator {
	color: #e06847;
}

.color-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: linear-gradient(135deg, #38bdf8 0%, #f59e0b 50%, #c86343 100%);
	box-shadow: 0 0 8px rgba(200, 99, 67, 0.5);
	animation: xdc-color-pulse 2800ms ease-in-out infinite alternate;
}

@keyframes xdc-color-pulse {
	0% { filter: saturate(0.6) brightness(0.9); transform: scale(0.92); }
	100% { filter: saturate(1.4) brightness(1.15); transform: scale(1.08); box-shadow: 0 0 12px rgba(200, 99, 67, 0.7); }
}

/* Enhanced Production Timeline */
.process-timeline {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(0.6rem, 1vw, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
}

.process-step {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 200px;
	padding: clamp(1.35rem, 1.6vw, 1.7rem) clamp(0.75rem, 0.95vw, 1rem);
	border: 1px solid rgba(244, 241, 234, 0.08);
	border-radius: 4px;
	background: linear-gradient(180deg, #111215 0%, #0a0b0d 100%);
	transition: all 350ms cubic-bezier(0.16, 1, 0.3, 1);
}

.process-step::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0.9rem;
	right: 0.9rem;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(200, 99, 67, 0.5), transparent);
	opacity: 0;
	transition: opacity 350ms ease;
}

.process-step:hover,
.process-step.is-active {
	border-color: rgba(200, 99, 67, 0.38);
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5), 0 0 20px rgba(200, 99, 67, 0.08);
}

.process-step:hover::before,
.process-step.is-active::before {
	opacity: 1;
}

.process-step__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.2rem;
}

.process-step__num {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--xdc-color-accent-hot);
}

.process-step__status {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: rgba(244, 241, 234, 0.18);
	transition: all 300ms ease;
}

.process-step.is-active .process-step__status {
	background: var(--xdc-color-accent-hot);
	box-shadow: 0 0 10px rgba(200, 99, 67, 0.7);
}

.process-step__title {
	font-size: clamp(0.9rem, 1.05vw, 1.02rem);
	font-weight: 700;
	color: #f4f1ea;
	line-height: 1.32;
	margin: 0;
	word-break: keep-all;
	overflow-wrap: normal;
	hyphens: none;
}

.process-step__tag {
	display: block;
	margin-top: auto;
	padding-top: 1.2rem;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	color: var(--xdc-color-muted);
	text-transform: uppercase;
	line-height: 1.4;
	overflow-wrap: break-word;
}

@media (max-width: 1080px) {
	.process-timeline {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.process-timeline {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.process-step {
		padding: 1.35rem 1.25rem;
		min-height: auto;
	}
}

/* Active Navigation State from Section Spy */
.main-navigation a.active-section {
	color: var(--xdc-color-text) !important;
}

.main-navigation a.active-section::after {
	opacity: 1 !important;
	transform: translateX(0) !important;
	background: var(--xdc-color-accent-hot) !important;
	box-shadow: 0 0 8px rgba(200, 99, 67, 0.6) !important;
}

/* Technical Badges in Portfolio */
.work-item__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.5rem;
}

.work-tag {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	padding: 0.2rem 0.5rem;
	border-radius: 2px;
	background: rgba(244, 241, 234, 0.04);
	border: 1px solid rgba(244, 241, 234, 0.09);
	color: var(--xdc-color-muted);
	transition: all 200ms ease;
}

.work-item:hover .work-tag {
	border-color: rgba(200, 99, 67, 0.25);
	color: #f4f1ea;
}

@media (max-width: 640px) {
	.xdc-video-modal {
		padding: 0.5rem;
	}

	.xdc-video-modal__close {
		top: -42px;
		width: 34px;
		height: 34px;
	}

	.case-study-hero__play-trigger {
		padding: 0.75rem 1.25rem 0.75rem 0.85rem;
	}

	.case-study-hero__play-trigger .play-trigger__icon {
		width: 38px;
		height: 38px;
	}

	.case-study-hero__play-trigger .play-trigger__text {
		font-size: 0.82rem;
	}
}

/* Mobile navigation: direct contact, with secondary links in a disclosure. */
.mobile-contact,
.mobile-menu-toggle {
	display: none;
}

.site-header__actions[hidden] {
	display: none;
}

@media (max-width: 720px) and (orientation: portrait), (max-width: 720px) and (min-height: 501px) {
	.site-header__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center;
		gap: 0.5rem;
		min-height: 72px;
		padding-block: 0.5rem;
	}

	.site-branding a {
		min-width: 44px;
		min-height: 48px;
	}

	.mobile-contact,
	.mobile-menu-ready .mobile-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.6rem;
		min-height: 48px;
		padding: 0.65rem 0.85rem;
		font-family: inherit;
		font-size: 0.875rem;
		font-weight: 600;
		line-height: 1.2;
		text-decoration: none;
	}

	.mobile-menu-toggle {
		border: 1px solid rgba(244, 241, 234, 0.2);
		border-radius: 2px;
		background: transparent;
		color: var(--xdc-color-text);
		cursor: pointer;
	}

	.mobile-menu-symbol {
		position: relative;
		width: 16px;
		height: 12px;
		border-block: 1px solid currentColor;
	}

	.mobile-menu-symbol::after {
		content: '';
		position: absolute;
		inset: 5px 0 auto;
		border-top: 1px solid currentColor;
	}

	.mobile-menu-open .mobile-menu-symbol {
		border: 0;
	}

	.mobile-menu-open .mobile-menu-symbol::before,
	.mobile-menu-open .mobile-menu-symbol::after {
		content: '';
		position: absolute;
		inset: 5px 0 auto;
		border-top: 1px solid currentColor;
		transform: rotate(45deg);
	}

	.mobile-menu-open .mobile-menu-symbol::after {
		transform: rotate(-45deg);
	}

	.site-header__actions {
		grid-column: 1 / -1;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
		padding: 1rem 0;
	}

	.mobile-menu-ready .site-header__actions {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100dvh - 88px);
		overflow-y: auto;
		padding: 1.25rem max(1rem, env(safe-area-inset-left)) calc(1.25rem + env(safe-area-inset-bottom));
		background: #0d0e0f;
		border-bottom: 1px solid rgba(244, 241, 234, 0.14);
		box-shadow: 0 18px 30px rgba(0, 0, 0, 0.35);
	}

	.site-header .main-navigation,
	.site-header .main-navigation ul {
		width: 100%;
	}

	.site-header .main-navigation ul {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.site-header .main-navigation a {
		display: flex;
		align-items: center;
		min-height: 56px;
		padding: 0.75rem 0;
		font-size: 1.25rem;
		font-weight: 500;
		color: var(--xdc-color-text);
		border-bottom: 1px solid rgba(244, 241, 234, 0.08);
	}

	.site-header .main-navigation .xdc-menu-item--contact,
	.site-header .main-navigation li:has(.nav-contact-btn) {
		display: none;
	}

	.site-header .lang-switcher {
		align-self: flex-start;
		gap: 0.25rem;
		padding: 0.25rem;
		font-size: 0.875rem;
	}

	.site-header .lang-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 48px;
		min-height: 48px;
		padding: 0.5rem;
	}

	.mobile-contact:focus-visible,
	.mobile-menu-toggle:focus-visible,
	.site-header__actions a:focus-visible {
		outline: 2px solid var(--xdc-color-accent-hot);
		outline-offset: 3px;
	}
}

/* Phone landscape: desktop navigation in one row, with touch-sized links. */
@media (orientation: landscape) and (max-height: 500px) and (max-width: 1100px) {
	:root {
		--xdc-landscape-left: max(1.5rem, calc(env(safe-area-inset-left, 0px) + 0.75rem));
		--xdc-landscape-right: max(1.5rem, calc(env(safe-area-inset-right, 0px) + 0.75rem));
		--xdc-landscape-width: calc(100vw - var(--xdc-landscape-left) - var(--xdc-landscape-right));
	}

	.site-header__inner,
	.home-section__inner,
	.site-main,
	.site-footer__inner {
		width: var(--xdc-landscape-width);
		margin-left: var(--xdc-landscape-left);
		margin-right: var(--xdc-landscape-right);
	}

	.site-header__inner {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0.75rem;
		min-height: 64px;
		padding-block: 0.375rem;
	}

	.site-branding {
		flex-shrink: 0;
	}

	.site-branding a {
		min-height: 44px;
	}

	.site-logo__image,
	.custom-logo {
		height: 1.75rem;
		max-width: 5.5rem;
	}

	.site-header__actions {
		gap: clamp(0.5rem, 1.5vw, 1.25rem);
	}

	.site-header .main-navigation ul {
		flex-wrap: nowrap;
		gap: clamp(0.5rem, 1.5vw, 1.25rem);
	}

	.site-header .main-navigation a {
		align-items: center;
		min-height: 44px;
		min-width: 44px;
		justify-content: center;
		font-size: clamp(0.6875rem, 1.5vw, 0.8125rem);
		font-weight: 700;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.site-header .lang-switcher {
		gap: 0;
		padding: 0 0.25rem;
		font-size: 0.6875rem;
	}

	.site-header .lang-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
	}
}
