.vwhc {
	box-sizing: border-box;
	direction: rtl;
	font-family: "IBM Plex Sans Arabic", "Noto Kufi Arabic", system-ui, sans-serif;
	--vwhc-container: min(1280px, calc(100vw - clamp(2rem, 8vw, 10rem)));
}

.vwhc-front-page-template {
	margin: 0;
	background: #071323;
}

.vwhc-front-page-main {
	margin: 0;
	overflow: clip;
}

.vwhc-front-page-main > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.vwhc *,
.vwhc *::before,
.vwhc *::after {
	box-sizing: inherit;
}

@keyframes vwhc-bg-breathe {
	0%, 100% {
		background-size: 100% auto;
		background-position: center center;
	}
	50% {
		background-size: 104% auto;
		background-position: center 48%;
	}
}

@keyframes vwhc-layer-breathe {
	0%, 100% {
		transform: scale(1.015);
	}
	50% {
		transform: scale(1.055);
	}
}

@keyframes vwhc-stacked-bg-breathe {
	0%, 100% {
		background-size: auto, 100% auto;
		background-position: center center, center center;
	}
	50% {
		background-size: auto, 104% auto;
		background-position: center center, center 48%;
	}
}

.vwhc-type-full_width,
.vwhc-type-full_width_content {
	width: 100vw;
	margin-inline: calc(50% - 50vw);
}

.vwhc-type-in_container .vwhc-hero__content {
	margin-right: max(clamp(1.25rem, 6vw, 5rem), calc((100vw - 1280px) / 2));
}

.vwhc-height-auto {
	min-height: auto !important;
}

.vwhc-full-height {
	min-height: 100svh;
}

.vwhc-margin-none {
	gap: 0 !important;
}

.vwhc-margin-small {
	gap: .75rem !important;
}

.vwhc-margin-medium {
	gap: 1.5rem !important;
}

.vwhc-margin-large {
	gap: clamp(2rem, 5vw, 4.5rem) !important;
}

.vwhc-direction-reverse.vwhc-feature,
.vwhc-direction-reverse.vwhc-photos,
.vwhc-direction-reverse.vwhc-footer,
.vwhc-direction-reverse .vwhc-method__intro {
	direction: ltr;
}

.vwhc-direction-reverse.vwhc-feature > *,
.vwhc-direction-reverse.vwhc-photos > *,
.vwhc-direction-reverse.vwhc-footer > *,
.vwhc-direction-reverse .vwhc-method__intro > * {
	direction: rtl;
}

.vwhc-direction-stacked.vwhc-feature,
.vwhc-direction-stacked.vwhc-photos,
.vwhc-direction-stacked.vwhc-footer,
.vwhc-direction-stacked .vwhc-method__intro {
	grid-template-columns: 1fr !important;
}

.vwhc-equal-height .vwhc-card,
.vwhc-equal-height .vwhc-door,
.vwhc-equal-height .vwhc-method-card {
	height: 100%;
}

@media (min-width: 1280px) {
	.vwhc-method__intro,
	.vwhc-section-head,
	.vwhc-method__grid,
	.vwhc-doors__grid {
		width: var(--vwhc-container);
	}

	.vwhc-method h2,
	.vwhc-doors h2,
	.vwhc-feature__visual h2,
	.vwhc-photos h2,
	.vwhc-quote blockquote p,
	.vwhc-footer h2 {
		font-size: clamp(3rem, 2.75vw, 3.5rem);
		line-height: 1.08;
	}

	.vwhc-method__intro {
		align-items: center;
	}

	.vwhc-type-in_container.vwhc-feature,
	.vwhc-type-in_container.vwhc-photos,
	.vwhc-type-in_container.vwhc-footer {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(18rem, calc(var(--vwhc-container) * .43))
			minmax(0, calc(var(--vwhc-container) * .57))
			minmax(0, 1fr);
		padding-inline: 0;
	}

	.vwhc-type-in_container.vwhc-feature > .vwhc-feature__visual,
	.vwhc-type-in_container.vwhc-photos > .vwhc-feature__visual,
	.vwhc-type-in_container.vwhc-footer > div:first-child {
		grid-column: 2;
	}

	.vwhc-type-in_container.vwhc-feature > .vwhc-feature__content,
	.vwhc-type-in_container.vwhc-photos > .vwhc-photo-grid,
	.vwhc-type-in_container.vwhc-footer > nav {
		grid-column: 3;
	}

	.vwhc-type-in_container.vwhc-footer > .vwhc-footer__copy {
		grid-column: 2 / 4;
	}
}

.vwhc-hero {
	position: relative;
	min-height: 100svh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: #071323;
	color: #fff;
	padding: clamp(4rem, 10vh, 7rem) clamp(1.25rem, 6vw, 5rem);
}

.vwhc-hero__bg {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	filter: saturate(1.02) contrast(1.04) brightness(1);
	transform: scale(1.02);
	animation: vwhc-layer-breathe 18s ease-in-out infinite;
	transform-origin: 42% 45%;
}

.vwhc-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 90px),
		linear-gradient(0deg, rgba(7,19,35,.76), rgba(7,19,35,.06) 48%, rgba(7,19,35,.30));
	pointer-events: none;
}

.vwhc-hero__content {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	margin-right: 0;
	margin-left: auto;
	text-align: right;
}

.vwhc-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 2.4rem;
	margin: 0 0 1rem;
	padding: .45rem .95rem;
	border: 1px solid rgba(245,231,190,.35);
	border-radius: 999px;
	background: rgba(245,231,190,.10);
	color: #f6e6b5;
	font-weight: 800;
	font-size: .84rem;
}

.vwhc-hero h1 {
	max-width: 13ch;
	margin: 0 0 1rem;
	color: #fff;
	font-size: clamp(2.75rem, 5.8vw, 5.2rem);
	line-height: 1.02;
	letter-spacing: 0;
	text-shadow: 0 18px 48px rgba(0,0,0,.46);
}

.vwhc-hero h1 span {
	display: block;
}

.vwhc-hero__title-main {
	white-space: nowrap;
	font-size: .58em;
	line-height: 1.12;
	font-weight: 900;
}

.vwhc-hero__title-name {
	white-space: nowrap;
	font-size: 1em;
	line-height: 1.04;
	font-weight: 950;
}

.vwhc-hero__lead {
	max-width: 50ch;
	margin: 0 0 1.5rem;
	color: rgba(255,255,255,.88);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.8;
	font-weight: 600;
}

.vwhc-search {
	display: flex;
	width: min(43rem, 100%);
	padding: .35rem;
	border: 1px solid rgba(245,231,190,.25);
	border-radius: 8px;
	background: rgba(255,255,255,.11);
	box-shadow: 0 18px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
	backdrop-filter: blur(12px);
}

.vwhc-search input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 3.1rem;
	border: 0;
	background: transparent;
	color: #fff;
	padding-inline: 1rem;
	font: inherit;
	font-weight: 700;
}

.vwhc-search input::placeholder {
	color: rgba(255,255,255,.62);
}

.vwhc-search button {
	border: 0;
	border-radius: 6px;
	background: #c12d2d;
	color: #fff;
	padding-inline: 1.35rem;
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.vwhc-menu {
	display: grid;
	grid-template-columns: repeat(6, minmax(7.25rem, 1fr));
	gap: .68rem;
	width: min(59rem, 100%);
	margin-top: 1.1rem;
}

.vwhc-menu a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.05rem;
	padding: .55rem .75rem;
	border: 1px solid rgba(245,231,190,.28);
	border-radius: 8px;
	background: rgba(255,250,242,.12);
	color: rgba(255,250,242,.92);
	text-align: center;
	text-decoration: none;
	font-weight: 900;
	transition: transform .2s ease, background .2s ease, color .2s ease;
}

.vwhc-menu a:hover,
.vwhc-menu a:focus-visible {
	transform: translateY(-2px);
	background: #f6e6b5;
	color: #071323;
}

.vwhc-method,
.vwhc-doors {
	min-height: 100svh;
	padding: clamp(4rem, 9vh, 6rem) clamp(1.25rem, 6vw, 5rem);
	background: #071323;
	color: #fffaf2;
}

.vwhc-method {
	display: grid;
	align-content: center;
	background:
		linear-gradient(0deg, rgba(7,19,35,.92), rgba(7,19,35,.68)),
		url("../../../../themes/light-streaming/assets/images/morsi-archive-hero.webp") center / cover;
	animation: vwhc-stacked-bg-breathe 22s ease-in-out infinite;
}

.vwhc-method__intro,
.vwhc-section-head {
	width: min(1180px, 100%);
	margin-inline: auto;
}

.vwhc-method__intro {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(1.25rem, 4vw, 4rem);
	align-items: end;
	margin-bottom: clamp(1rem, 2vh, 1.5rem);
}

.vwhc-method__intro .vwhc-kicker {
	grid-column: 1 / -1;
}

.vwhc-method h2,
.vwhc-doors h2 {
	margin: 0;
	color: #fffaf2;
	font-size: clamp(2.2rem, 5.6vw, 4.2rem);
	line-height: 1.12;
	letter-spacing: 0;
}

.vwhc-method__intro > p:not(.vwhc-kicker),
.vwhc-section-head p {
	margin: 0;
	color: rgba(255,250,242,.82);
	font-size: 1.05rem;
	line-height: 1.8;
	font-weight: 600;
}

.vwhc-method__grid,
.vwhc-doors__grid {
	width: min(1180px, 100%);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(.75rem, 1.4vw, 1.1rem);
}

.vwhc-method-card {
	min-height: 9.5rem;
	padding: clamp(1rem, 1.8vw, 1.35rem);
	border: 1px solid rgba(245,231,190,.22);
	border-radius: 8px;
	background:
		linear-gradient(180deg, rgba(9,22,39,.78), rgba(7,19,35,.72)),
		linear-gradient(135deg, rgba(245,231,190,.16), rgba(193,45,45,.12));
	box-shadow: 0 24px 70px rgba(0,0,0,.28);
	backdrop-filter: blur(12px);
}

.vwhc-method-card strong {
	display: block;
	margin-bottom: .65rem;
	color: #f6e6b5;
	font-size: 1.2rem;
}

.vwhc-method-card h3 {
	margin: 0 0 .45rem;
	color: #fffaf2;
	font-size: 1.35rem;
}

.vwhc-method-card p {
	margin: 0;
	color: rgba(255,250,242,.78);
	line-height: 1.65;
}

.vwhc-doors {
	display: grid;
	align-content: center;
	background: #f6f2ea;
	color: #071323;
}

.vwhc-feature,
.vwhc-photos,
.vwhc-quote,
.vwhc-footer {
	min-height: 100svh;
	padding: clamp(4rem, 9vh, 6rem) clamp(1.25rem, 6vw, 5rem);
	color: #fffaf2;
}

.vwhc-feature,
.vwhc-photos {
	position: relative;
	display: grid;
	grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.25fr);
	gap: clamp(1.25rem, 4vw, 4rem);
	align-items: center;
	background:
		var(--vwhc-feature-bg, none) center / cover;
	animation: vwhc-bg-breathe 22s ease-in-out infinite;
}

.vwhc-feature::before,
.vwhc-photos::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		linear-gradient(0deg, rgba(7,19,35,.95) 0%, rgba(7,19,35,.64) 26%, rgba(7,19,35,.18) 58%, rgba(7,19,35,.04) 100%),
		linear-gradient(90deg, rgba(7,19,35,.70) 0%, rgba(7,19,35,.36) 40%, rgba(7,19,35,.16) 62%, rgba(7,19,35,.52) 100%);
	pointer-events: none;
}

.vwhc-feature > *,
.vwhc-photos > * {
	position: relative;
	z-index: 1;
}

.vwhc-feature__visual h2,
.vwhc-photos h2,
.vwhc-quote blockquote p,
.vwhc-footer h2 {
	margin: 0;
	color: #fffaf2;
	font-size: clamp(2.15rem, 5.2vw, 4rem);
	line-height: 1.12;
	letter-spacing: 0;
}

.vwhc-feature__content {
	width: 100%;
}

.vwhc-feature__more,
.vwhc-quote > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	margin-bottom: 1rem;
	padding: .55rem 1rem;
	border: 1px solid rgba(245,231,190,.30);
	border-radius: 8px;
	background: rgba(255,250,242,.10);
	color: #f6e6b5;
	text-decoration: none;
	font-weight: 900;
}

.vwhc-card-grid,
.vwhc-photo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
	overflow: visible;
}

.vwhc-card,
.vwhc-photo {
	position: relative;
	aspect-ratio: 16 / 9;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	border: 1px solid rgba(245,231,190,.18);
	border-radius: 8px;
	background:
		linear-gradient(145deg, rgba(245,231,190,.14), rgba(193,45,45,.14)),
		#0a182a;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 18px 52px rgba(0,0,0,.24);
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
	transform-origin: center;
}

.vwhc-card::after,
.vwhc-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7,19,35,.06), rgba(7,19,35,.86));
	opacity: .18;
	transition: opacity .28s ease;
}

.vwhc-card img,
.vwhc-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.vwhc-card:hover img,
.vwhc-photo:hover img {
	transform: scale(1.04);
}

.vwhc-card:hover,
.vwhc-card:focus-visible,
.vwhc-door:hover,
.vwhc-door:focus-visible,
.vwhc-photo:hover,
.vwhc-photo:focus-visible {
	z-index: 5;
	transform: scale(1.1);
	box-shadow: 0 34px 76px rgba(0,0,0,.36);
	border-color: rgba(246,230,181,.48);
}

.vwhc-card:hover::after,
.vwhc-card:focus-visible::after,
.vwhc-photo:hover::after,
.vwhc-photo:focus-visible::after {
	opacity: 1;
}

.vwhc-card span,
.vwhc-card em {
	position: relative;
	z-index: 1;
	padding-inline: 1rem;
	opacity: 0;
	transform: translateY(.65rem);
	transition: opacity .24s ease, transform .24s ease;
}

.vwhc-card span {
	padding-top: 5.5rem;
	color: #fffaf2;
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.45;
}

.vwhc-card em {
	padding-bottom: 1rem;
	color: rgba(246,230,181,.82);
	font-style: normal;
	font-weight: 800;
}

.vwhc-card:hover span,
.vwhc-card:hover em,
.vwhc-card:focus-visible span,
.vwhc-card:focus-visible em {
	opacity: 1;
	transform: translateY(0);
}

.vwhc-empty {
	margin: 0;
	padding: 1rem;
	border: 1px dashed rgba(245,231,190,.32);
	border-radius: 8px;
	color: rgba(255,250,242,.80);
	font-weight: 700;
}

.vwhc-quote {
	display: grid;
	place-content: center;
	text-align: center;
	background:
		linear-gradient(0deg, rgba(7,19,35,.92), rgba(7,19,35,.74)),
		url("../../../../themes/light-streaming/assets/images/morsi-archive-hero.webp") center / cover;
	animation: vwhc-stacked-bg-breathe 22s ease-in-out infinite;
}

.vwhc-quote blockquote {
	width: min(920px, 100%);
	margin: 0 auto 1.25rem;
}

.vwhc-quote cite {
	display: block;
	margin-top: 1rem;
	color: #f6e6b5;
	font-style: normal;
	font-weight: 900;
}

.vwhc-photos {
	background:
		var(--vwhc-feature-bg, none) center / cover;
	color: #fffaf2;
}

.vwhc-photos h2 {
	color: #fffaf2;
}

.vwhc-photos .vwhc-feature__more {
	background: rgba(255,250,242,.10);
	color: #f6e6b5;
	border-color: rgba(245,231,190,.30);
}

.vwhc-photo {
	background: #0a182a;
}

.vwhc-footer {
	min-height: 55svh;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr);
	gap: clamp(1.25rem, 4vw, 4rem);
	align-content: center;
	background: #071323;
	border-top: 1px solid rgba(245,231,190,.18);
}

.vwhc-footer p {
	max-width: 58ch;
	margin: .8rem 0 0;
	color: rgba(255,250,242,.78);
	line-height: 1.8;
	font-weight: 700;
}

.vwhc-footer nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem;
}

.vwhc-footer nav a {
	min-height: 2.8rem;
	display: flex;
	align-items: center;
	padding: .55rem .8rem;
	border: 1px solid rgba(245,231,190,.18);
	border-radius: 8px;
	background: rgba(255,250,242,.07);
	color: #fffaf2;
	text-decoration: none;
	font-weight: 800;
}

.vwhc-footer__copy {
	grid-column: 1 / -1;
}

.vwhc-section-head {
	text-align: center;
	margin-bottom: clamp(1.25rem, 3vh, 2rem);
}

.vwhc-doors h2 {
	color: #071323;
}

.vwhc-section-head p {
	max-width: 56ch;
	margin: .75rem auto 0;
	color: #4b5563;
}

.vwhc-door {
	position: relative;
	aspect-ratio: 16 / 9;
	min-height: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: .35rem;
	padding: 1.1rem;
	border-radius: 8px;
	overflow: hidden;
	background-position: center;
	background-size: cover;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 18px 46px rgba(7,19,35,.16);
	transition: transform .25s ease, box-shadow .25s ease;
	transform-origin: center;
}

.vwhc-door:hover,
.vwhc-door:focus-visible {
	transform: scale(1.1);
	box-shadow: 0 34px 76px rgba(7,19,35,.30);
}

.vwhc-door span {
	position: relative;
	z-index: 1;
	font-size: 1.35rem;
	font-weight: 900;
	opacity: 0;
	transform: translateY(.65rem);
	transition: opacity .24s ease, transform .24s ease;
}

.vwhc-door em {
	position: relative;
	z-index: 1;
	color: rgba(255,255,255,.78);
	font-style: normal;
	font-weight: 700;
	opacity: 0;
	transform: translateY(.65rem);
	transition: opacity .24s ease, transform .24s ease;
}

.vwhc-door:hover span,
.vwhc-door:hover em,
.vwhc-door:focus-visible span,
.vwhc-door:focus-visible em {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 980px) {
	.vwhc-menu,
	.vwhc-method__grid,
	.vwhc-doors__grid,
	.vwhc-card-grid,
	.vwhc-photo-grid,
	.vwhc-footer nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vwhc-method__intro,
	.vwhc-feature,
	.vwhc-photos,
	.vwhc-footer {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.vwhc-hero {
		justify-content: center;
		text-align: center;
		padding-inline: 1rem;
	}

	.vwhc-hero__content {
		margin-inline: auto;
		text-align: center;
	}

	.vwhc-hero h1 {
		max-width: 8.5ch;
		margin-inline: auto;
		font-size: clamp(2.25rem, 11vw, 2.9rem);
	}

	.vwhc-hero__title-main,
	.vwhc-hero__title-name {
		white-space: normal;
	}

	.vwhc-hero__lead,
	.vwhc-search {
		width: min(18rem, 100%);
		margin-inline: auto;
	}

	.vwhc-search {
		flex-direction: column;
	}

	.vwhc-search button {
		min-height: 3rem;
	}

	.vwhc-menu,
	.vwhc-method__grid,
	.vwhc-doors__grid,
	.vwhc-card-grid,
	.vwhc-photo-grid,
	.vwhc-footer nav {
		grid-template-columns: 1fr;
	}

	.vwhc-menu {
		max-height: 12rem;
		overflow: auto;
	}
}

@media (min-width: 1600px) {
	.vwhc {
		--vwhc-container: min(920px, calc(100vw - 20rem));
	}

	.vwhc-type-in_container .vwhc-hero__content {
		margin-right: calc((100vw - var(--vwhc-container)) / 2 - clamp(2rem, 5vw, 6rem));
	}

	.vwhc-method__intro,
	.vwhc-section-head,
	.vwhc-method__grid,
	.vwhc-doors__grid {
		width: var(--vwhc-container);
	}

	.vwhc-type-in_container.vwhc-feature,
	.vwhc-type-in_container.vwhc-photos,
	.vwhc-type-in_container.vwhc-footer {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(18rem, calc(var(--vwhc-container) * .43))
			minmax(0, calc(var(--vwhc-container) * .57))
			minmax(0, 1fr);
		padding-inline: 0;
	}

	.vwhc-type-in_container.vwhc-feature {
		align-items: end;
		padding-block: 0 clamp(8rem, 19vh, 12rem);
	}

	.vwhc-type-in_container.vwhc-feature > .vwhc-feature__visual {
		align-self: end;
		transform: translateY(0);
	}

	.vwhc-type-in_container.vwhc-feature::before {
		background:
			linear-gradient(0deg, rgba(7,19,35,.98) 0%, rgba(7,19,35,.72) 24%, rgba(7,19,35,.26) 55%, rgba(7,19,35,.03) 100%),
			linear-gradient(90deg, rgba(7,19,35,.72) 0%, rgba(7,19,35,.34) 38%, rgba(7,19,35,.08) 58%, rgba(7,19,35,.40) 100%);
	}

	.vwhc-method h2,
	.vwhc-doors h2,
	.vwhc-feature__visual h2,
	.vwhc-photos h2,
	.vwhc-quote blockquote p,
	.vwhc-footer h2 {
		font-size: clamp(3rem, 2.75vw, 3.5rem);
		line-height: 1.08;
	}

	.vwhc-method__intro {
		align-items: center;
		margin-bottom: 1rem;
	}

	.vwhc-method-card {
		min-height: 8.15rem;
		padding: .9rem 1rem;
	}

	.vwhc-method-card strong {
		margin-bottom: .45rem;
		font-size: 1rem;
	}

	.vwhc-method-card h3 {
		font-size: 1.18rem;
	}

	.vwhc-method-card p {
		font-size: .92rem;
		line-height: 1.5;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vwhc-hero__bg,
	.vwhc-feature,
	.vwhc-photos,
	.vwhc-method,
	.vwhc-quote {
		animation: none;
	}

	.vwhc-card,
	.vwhc-door,
	.vwhc-photo,
	.vwhc-card img,
	.vwhc-photo img {
		transition: none;
	}
}
