﻿/* Light Streaming — cinematic light streaming UI.
   Logical properties throughout so RTL/LTR both work. */

:root {
	--ls-radius-sm: var(--wp--custom--radius--sm, 8px);
	--ls-radius-md: var(--wp--custom--radius--md, 14px);
	--ls-radius-lg: var(--wp--custom--radius--lg, 22px);
	--ls-radius-pill: var(--wp--custom--radius--pill, 999px);
	--ls-card-w: clamp(260px, 30vw, 340px);
	--ls-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--ls-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--ls-ink: var(--wp--preset--color--ink, #16181d);
	--ls-primary: var(--wp--preset--color--primary, #1d4e89);
	--ls-deep: var(--wp--preset--color--primary-strong, #15315b);
	--ls-teal: var(--wp--preset--color--teal, #2a9d8f);
	--ls-line: var(--wp--preset--color--line, #e3e1dc);
	--ls-muted: var(--wp--preset--color--muted, #5b6472);
	--ls-tile: linear-gradient(135deg, #2b4a78 0%, #15315b 100%);
}

html, body { overflow-x: clip; max-inline-size: 100%; }
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	background: var(--wp--preset--color--surface, #faf8f5);
}

/* Soft warm page texture for depth instead of flat white */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(1200px 600px at 85% -10%, rgba(42, 157, 143, 0.10), transparent 60%),
		radial-gradient(1000px 700px at 10% 0%, rgba(29, 78, 137, 0.10), transparent 55%);
}

/* Premium thin scrollbars (page level) */
* {
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--ls-primary) 30%, transparent) transparent;
}
*::-webkit-scrollbar { inline-size: 10px; block-size: 10px; }
*::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, var(--ls-primary) 28%, transparent);
	border-radius: var(--ls-radius-pill);
	border: 2px solid transparent;
	background-clip: padding-box;
}
*::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--ls-primary) 45%, transparent); background-clip: padding-box; }

.ls-main { overflow: clip; }

/* ===================================================================
   Reveal-on-scroll
=================================================================== */
.ls-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.7s var(--ls-ease-out), transform 0.7s var(--ls-ease-out);
	will-change: opacity, transform;
}
.ls-reveal.is-visible {
	opacity: 1;
	transform: none;
}
.ls-hero__inner > .ls-reveal.is-visible { transition-duration: 0.8s; }
.ls-hero__inner > .ls-reveal:nth-child(1) { transition-delay: 0.05s; }
.ls-hero__inner > .ls-reveal:nth-child(2) { transition-delay: 0.14s; }
.ls-hero__inner > .ls-reveal:nth-child(3) { transition-delay: 0.24s; }
.ls-hero__inner > .ls-reveal:nth-child(4) { transition-delay: 0.34s; }
.ls-hero__inner > .ls-reveal:nth-child(5) { transition-delay: 0.46s; }

/* ===================================================================
   Header
=================================================================== */
.ls-header {
	position: sticky;
	top: 0;
	z-index: 100;
	padding-block: 0.55rem;
	background: color-mix(in srgb, var(--wp--preset--color--base) 70%, transparent);
	backdrop-filter: saturate(1.4) blur(14px);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	border-block-end: 1px solid transparent;
	transition: background 0.3s var(--ls-ease), box-shadow 0.3s var(--ls-ease), border-color 0.3s var(--ls-ease), padding 0.3s var(--ls-ease);
}
.ls-header.is-stuck {
	background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
	border-block-end-color: var(--ls-line);
	box-shadow: 0 6px 24px rgba(21, 49, 91, 0.10);
	padding-block: 0.35rem;
}
.ls-header__bar {
	max-inline-size: 1320px;
	margin-inline: auto;
	inline-size: 100%;
	padding-inline: clamp(1rem, 4vw, 2rem);
	gap: clamp(0.75rem, 2vw, 1.75rem);
}
.ls-header__end { gap: clamp(0.5rem, 1.6vw, 1.25rem); }
.ls-brand .wp-block-site-title a { text-decoration: none; }
.ls-nav { gap: 0.25rem; }
.ls-nav a {
	text-decoration: none;
	color: var(--ls-ink);
	padding: 0.4rem 0.7rem;
	border-radius: var(--ls-radius-pill);
	transition: color 0.2s var(--ls-ease), background 0.2s var(--ls-ease);
}
.ls-nav a:hover,
.ls-nav .current-menu-item > a {
	color: var(--ls-deep);
	background: color-mix(in srgb, var(--ls-primary) 9%, transparent);
}
.ls-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--ls-line);
	border-radius: var(--ls-radius-pill);
	background: color-mix(in srgb, var(--wp--preset--color--base) 85%, transparent);
	padding-inline-start: 0.35rem;
	transition: border-color 0.2s var(--ls-ease), box-shadow 0.2s var(--ls-ease), background 0.2s var(--ls-ease);
}
.ls-search .wp-block-search__inside-wrapper:focus-within {
	border-color: color-mix(in srgb, var(--ls-teal) 60%, var(--ls-line));
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ls-teal) 18%, transparent);
	background: var(--wp--preset--color--base);
}
.ls-search .wp-block-search__input {
	border: 0;
	background: transparent;
	padding-inline: 0.6rem;
	min-block-size: 2.4rem;
	inline-size: clamp(7rem, 16vw, 13rem);
}
.ls-search .wp-block-search__button {
	border-radius: var(--ls-radius-pill);
	min-block-size: 2.1rem;
	min-inline-size: 2.1rem;
}

/* ===================================================================
   Hero — full-bleed cinematic
=================================================================== */
.ls-hero {
	position: relative;
	isolation: isolate;
	min-block-size: clamp(560px, 82vh, 820px);
	display: flex;
	align-items: center;
	padding-block: clamp(4rem, 10vh, 7rem);
	padding-inline: clamp(1.25rem, 6vw, 5rem);
	margin-block-end: clamp(1rem, 4vh, 2.5rem);
	overflow: clip;
	color: #fff;
	background:
		radial-gradient(120% 120% at 92% 8%, rgba(42, 157, 143, 0.55) 0%, transparent 45%),
		radial-gradient(110% 130% at 8% 100%, rgba(11, 26, 51, 0.65) 0%, transparent 50%),
		linear-gradient(135deg, #1d4e89 0%, #15315b 55%, #0c1b35 100%);
}
/* abstract cinematic light — soft, no circles/hex */
.ls-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(40% 60% at 78% 30%, rgba(255, 255, 255, 0.16), transparent 60%),
		conic-gradient(from 210deg at 80% 20%, rgba(42, 157, 143, 0.25), transparent 35%);
	mix-blend-mode: screen;
	opacity: 0.9;
}
/* faint vignette to anchor text */
.ls-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(8, 18, 38, 0.55), transparent 45%);
}
.ls-hero__inner {
	margin-inline: 0;
	text-align: start;
}
.ls-hero__eyebrow {
	display: inline-block;
	margin: 0 0 1.1rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #d8f3ee;
	padding: 0.45rem 0.95rem;
	border-radius: var(--ls-radius-pill);
	background: color-mix(in srgb, #2a9d8f 22%, transparent);
	border: 1px solid color-mix(in srgb, #2a9d8f 45%, transparent);
}
.ls-hero__title {
	color: #fff;
	font-size: clamp(2.8rem, 7vw, 5rem);
	line-height: 1.05;
	letter-spacing: 0;
	margin: 0 0 1.1rem;
	text-shadow: 0 6px 40px rgba(0, 0, 0, 0.35);
}
.ls-hero__lead {
	color: rgba(255, 255, 255, 0.86);
	font-size: clamp(1.05rem, 1.6vw, 1.35rem);
	line-height: 1.7;
	max-inline-size: 44ch;
	margin: 0 0 2rem;
}
.ls-hero__cta { gap: 0.85rem; }
.ls-btn--play .wp-block-button__link {
	background: #fff;
	color: var(--ls-deep);
	font-weight: 700;
	padding: 0.95rem 2rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
	transition: transform 0.2s var(--ls-ease), box-shadow 0.2s var(--ls-ease), background 0.2s var(--ls-ease);
}
.ls-btn--play .wp-block-button__link:hover {
	transform: translateY(-2px);
	background: #fff;
	color: var(--ls-deep);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.34);
}
.ls-btn--ghost .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, 0.55);
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
	padding: 0.95rem 1.8rem;
	transition: background 0.2s var(--ls-ease), border-color 0.2s var(--ls-ease), transform 0.2s var(--ls-ease);
}
.ls-btn--ghost .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: #fff;
	transform: translateY(-2px);
}
.ls-hero__stats {
	margin-block-start: 2.6rem;
	gap: clamp(0.75rem, 2.5vw, 2.2rem);
}
.ls-stat {
	padding: 0.85rem 1.4rem;
	border-radius: var(--ls-radius-md);
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	min-inline-size: 6.5rem;
}
.ls-stat__num {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
	color: #fff;
}
.ls-stat__label {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.78);
}

/* ===================================================================
   Presidential homepage direction
=================================================================== */
.ls-president-hero {
	min-block-size: min(820px, calc(100vh - 18px));
	align-items: center;
	padding-block: clamp(5rem, 11vh, 7.25rem) clamp(4.25rem, 8vh, 6rem);
	background: #071323;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.1);
}
.ls-president-hero::before,
.ls-president-hero::after {
	z-index: 1;
}
.ls-president-hero::before {
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.12) 0%, rgba(7, 19, 35, 0.68) 45%, rgba(7, 19, 35, 0.95) 100%),
		linear-gradient(180deg, rgba(7, 19, 35, 0.2) 0%, rgba(7, 19, 35, 0.18) 48%, rgba(7, 19, 35, 0.88) 100%),
		radial-gradient(780px 420px at 20% 18%, rgba(202, 163, 84, 0.22), transparent 60%),
		radial-gradient(740px 520px at 78% 62%, rgba(193, 45, 45, 0.16), transparent 64%);
	mix-blend-mode: normal;
	opacity: 1;
}
.ls-president-hero::after {
	background:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 90px),
		linear-gradient(to top, rgba(5, 12, 23, 0.78), transparent 42%);
	opacity: 0.72;
}
.ls-hero__visual {
	position: absolute;
	inset: 0;
	z-index: 0;
	max-inline-size: none !important;
	inline-size: 100%;
	overflow: hidden;
	pointer-events: none;
}
.ls-hero__visual > * {
	margin: 0;
	max-inline-size: none;
}
.ls-hero__image,
.ls-hero__image img {
	inline-size: 100%;
	block-size: 100%;
}
.ls-hero__image {
	position: absolute;
	inset: 0;
}
.ls-hero__image img {
	object-fit: cover;
	object-position: 32% 50%;
	filter: saturate(0.86) contrast(1.08) brightness(0.82);
	transform: scale(1.035);
	animation: ls-hero-drift 18s var(--ls-ease) infinite alternate;
}
.ls-hero__document {
	position: absolute;
	z-index: 2;
	inline-size: clamp(7rem, 13vw, 12rem);
	aspect-ratio: 4 / 5.4;
	border: 1px solid rgba(245, 231, 190, 0.28);
	border-radius: 6px;
	background:
		linear-gradient(180deg, rgba(255, 248, 228, 0.2), rgba(255, 248, 228, 0.035)),
		repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0 1px, transparent 1px 16px);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0.52;
}
.ls-hero__document--one {
	inset-inline-start: 8%;
	inset-block-start: 18%;
	transform: rotate(-7deg);
	animation: ls-paper-float-one 8s var(--ls-ease) infinite alternate;
}
.ls-hero__document--two {
	inset-inline-start: 26%;
	inset-block-end: 12%;
	inline-size: clamp(6rem, 10vw, 9rem);
	transform: rotate(5deg);
	opacity: 0.35;
	animation: ls-paper-float-two 10s var(--ls-ease) infinite alternate;
}
.ls-hero__timeline {
	position: absolute;
	inset-inline-start: clamp(1.25rem, 5vw, 4rem);
	inset-block-end: clamp(1.2rem, 4vh, 2.5rem);
	z-index: 3;
	inline-size: min(42rem, 58vw);
	block-size: 2px;
	background: linear-gradient(90deg, transparent, rgba(245, 231, 190, 0.72), rgba(193, 45, 45, 0.85), transparent);
	opacity: 0.55;
}
.ls-hero__timeline::before,
.ls-hero__timeline::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inline-size: 0.55rem;
	block-size: 0.55rem;
	border-radius: 50%;
	background: #f1d490;
	box-shadow: 0 0 0 6px rgba(241, 212, 144, 0.12);
	transform: translateY(-50%);
}
.ls-hero__timeline::before { inset-inline-start: 20%; }
.ls-hero__timeline::after { inset-inline-start: 68%; background: #c12d2d; }
.ls-president-hero .ls-hero__inner {
	position: relative;
	z-index: 4;
	margin-inline-start: auto;
	margin-inline-end: 0;
	padding-inline: clamp(0.25rem, 2vw, 1rem);
}
.ls-president-hero .ls-hero__eyebrow {
	color: #f5e7be;
	letter-spacing: 0;
	border-color: rgba(245, 231, 190, 0.34);
	background: rgba(245, 231, 190, 0.1);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.ls-president-hero .ls-hero__title {
	font-size: clamp(2.9rem, 6.7vw, 5.65rem);
	line-height: 1.12;
	max-inline-size: 10ch;
	text-wrap: balance;
}
.ls-president-hero .ls-hero__lead {
	max-inline-size: 49ch;
	color: rgba(255, 255, 255, 0.88);
	font-weight: 500;
}
.ls-hero__search {
	max-inline-size: min(43rem, 100%);
	margin-block: 0 1.15rem;
}
.ls-hero__search .wp-block-search__inside-wrapper {
	border: 1px solid rgba(245, 231, 190, 0.25);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.11);
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: 0.35rem;
}
.ls-hero__search .wp-block-search__input {
	min-block-size: 3.25rem;
	border: 0;
	background: transparent;
	color: #fff;
	padding-inline: 1rem;
	font-weight: 600;
}
.ls-hero__search .wp-block-search__input::placeholder {
	color: rgba(255, 255, 255, 0.6);
}
.ls-hero__search .wp-block-search__button {
	min-block-size: 3.25rem;
	border: 0;
	border-radius: 6px;
	background: #c12d2d;
	color: #fff;
	padding-inline: 1.35rem;
	font-weight: 800;
	transition: background 0.2s var(--ls-ease), transform 0.2s var(--ls-ease);
}
.ls-hero__search .wp-block-search__button:hover {
	background: #9f2327;
	transform: translateY(-1px);
}
.ls-president-hero .ls-btn--play .wp-block-button__link {
	border-radius: 8px;
	background: #f5e7be;
	color: #071323;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32);
}
.ls-president-hero .ls-btn--ghost .wp-block-button__link {
	border-radius: 8px;
	border-color: rgba(245, 231, 190, 0.52);
	background: rgba(7, 19, 35, 0.26);
}
.ls-president-hero .ls-stat {
	border-radius: 8px;
	border-color: rgba(245, 231, 190, 0.18);
	background: rgba(255, 255, 255, 0.075);
}
.ls-president-hero .ls-stat__num {
	color: #f5e7be;
}

@keyframes ls-hero-drift {
	from { transform: scale(1.035) translate3d(0, 0, 0); }
	to { transform: scale(1.07) translate3d(-1.2%, 0.8%, 0); }
}
@keyframes ls-paper-float-one {
	from { transform: rotate(-7deg) translate3d(0, 0, 0); }
	to { transform: rotate(-4deg) translate3d(0.45rem, -0.65rem, 0); }
}
@keyframes ls-paper-float-two {
	from { transform: rotate(5deg) translate3d(0, 0, 0); }
	to { transform: rotate(2deg) translate3d(-0.5rem, 0.55rem, 0); }
}

/* ===================================================================
   Sections + rail head
=================================================================== */
.ls-section {
	padding-block: clamp(2.2rem, 5vh, 3.4rem);
}
.ls-rail__head {
	margin-block-end: 1.4rem;
	gap: 1rem;
}
.ls-rail__title {
	position: relative;
	margin: 0;
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	font-weight: 800;
	color: var(--ls-deep);
	padding-inline-start: 0.9rem;
}
.ls-rail__title::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block: 0.15em 0.15em;
	inline-size: 5px;
	border-radius: var(--ls-radius-pill);
	background: linear-gradient(var(--ls-teal), var(--ls-primary));
}
.ls-rail__more { margin: 0; }
.ls-rail__more a {
	text-decoration: none;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--ls-primary);
	white-space: nowrap;
	padding: 0.4rem 0.9rem;
	border-radius: var(--ls-radius-pill);
	transition: background 0.2s var(--ls-ease), color 0.2s var(--ls-ease);
}
.ls-rail__more a:hover {
	background: color-mix(in srgb, var(--ls-primary) 10%, transparent);
	color: var(--ls-deep);
}

/* ===================================================================
   Rails — horizontal scroll, no visible scrollbar
=================================================================== */
.ls-rail { position: relative; }
.ls-rail__track {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(0.9rem, 1.8vw, 1.4rem);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline-start: 2px;
	padding-block: 0.5rem;
	padding-inline: 2px;
	margin-inline: -2px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.ls-rail__track::-webkit-scrollbar { display: none; }
.ls-rail__track > li {
	flex: 0 0 var(--ls-card-w);
	inline-size: var(--ls-card-w);
	scroll-snap-align: start;
	margin: 0;
	list-style: none;
}

/* Rail arrows — reveal on hover */
.ls-rail__arrow {
	position: absolute;
	inset-block-start: calc(50% - 1.4rem);
	inline-size: 2.9rem;
	block-size: 2.9rem;
	border-radius: var(--ls-radius-pill);
	border: 1px solid var(--ls-line);
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 8px 24px rgba(21, 49, 91, 0.18);
	color: var(--ls-deep);
	cursor: pointer;
	display: grid;
	place-items: center;
	z-index: 6;
	opacity: 0;
	transition: opacity 0.25s var(--ls-ease), transform 0.2s var(--ls-ease), background 0.2s var(--ls-ease);
}
.ls-rail:hover .ls-rail__arrow,
.ls-rail:focus-within .ls-rail__arrow { opacity: 1; }
.ls-rail__arrow:hover {
	transform: scale(1.08);
	background: #fff;
	color: var(--ls-primary);
}
.ls-rail__arrow--prev { inset-inline-start: -1.1rem; }
.ls-rail__arrow--next { inset-inline-end: -1.1rem; }
.ls-rail__arrow[hidden] { display: none; }
@media (hover: none) {
	.ls-rail__arrow { display: none; }
}

/* ===================================================================
   Cards — 16:9 overlay poster
=================================================================== */
.ls-card { block-size: 100%; }
.ls-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: var(--ls-radius-md);
	overflow: clip;
	background: var(--ls-tile);
	box-shadow: 0 2px 6px rgba(21, 49, 91, 0.10), 0 14px 30px rgba(21, 49, 91, 0.12);
	transition: transform 0.35s var(--ls-ease-out), box-shadow 0.35s var(--ls-ease-out);
}
/* abstract light bloom on gradient tiles — subtle, no shapes */
.ls-card__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(80% 90% at 80% 12%, rgba(255, 255, 255, 0.20), transparent 55%),
		radial-gradient(70% 80% at 12% 95%, rgba(0, 0, 0, 0.22), transparent 60%);
}
/* legibility scrim — always present so titles read on any media */
.ls-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(to top, rgba(8, 18, 38, 0.86) 4%, rgba(8, 18, 38, 0.36) 38%, rgba(8, 18, 38, 0) 68%);
}
.ls-card__img {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 1;
}
.ls-card__img a,
.ls-card__img img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
}
.ls-card__img img {
	object-fit: cover;
	transition: transform 0.5s var(--ls-ease-out);
}
/* the demo hex placeholders are rejected — let the gradient tile show through */
.ls-card__img img[src*="demo-placeholders"],
.ls-photo img[src*="demo-placeholders"] {
	opacity: 0;
}
.ls-card__content {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	padding: clamp(0.85rem, 2.5vw, 1.15rem);
}
/* keep overlay text start-aligned despite WP constrained auto-margins */
.ls-card__content > *,
.ls-cat > * {
	margin-inline: 0;
	max-inline-size: none;
	inline-size: auto;
	text-align: start;
}
.ls-card__badge {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.ls-card__badge a,
.ls-card__badge {
	color: #fff;
	text-decoration: none;
}
.ls-card__badge a {
	display: inline-block;
	padding: 0.28rem 0.7rem;
	border-radius: var(--ls-radius-pill);
	background: color-mix(in srgb, var(--ls-teal) 85%, #000);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.ls-card__title {
	margin: 0;
	font-size: clamp(1rem, 1.5vw, 1.18rem);
	line-height: 1.35;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ls-card__title a {
	color: #fff;
	text-decoration: none;
}
.ls-card__cta {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: #d8f3ee;
	opacity: 0;
	max-block-size: 0;
	transform: translateY(6px);
	transition: opacity 0.3s var(--ls-ease), transform 0.3s var(--ls-ease), max-block-size 0.3s var(--ls-ease);
}
.ls-card:hover .ls-card__media,
.ls-card:focus-within .ls-card__media {
	transform: translateY(-6px);
	box-shadow: 0 10px 22px rgba(21, 49, 91, 0.18), 0 26px 54px rgba(21, 49, 91, 0.26);
}
.ls-card:hover .ls-card__img img {
	transform: scale(1.06);
}
.ls-card:hover .ls-card__cta,
.ls-card:focus-within .ls-card__cta {
	opacity: 1;
	max-block-size: 2rem;
	transform: none;
}
.ls-empty {
	border: 1px dashed var(--ls-line);
	border-radius: var(--ls-radius-md);
	background: color-mix(in srgb, var(--wp--preset--color--base) 70%, transparent);
	padding: 2.5rem 1.5rem;
	color: var(--ls-muted);
}

/* ===================================================================
   Per-category gradient tiles (shared by rails + discovery + nth)
=================================================================== */
.ls-section--biography, .ls-cat--biography { --ls-tile: linear-gradient(135deg, #2b4a78, #15315b); }
.ls-section--speeches, .ls-cat--speeches { --ls-tile: linear-gradient(135deg, #2a9d8f, #1d4e89); }
.ls-section--documentaries, .ls-cat--documentaries { --ls-tile: linear-gradient(135deg, #15315b, #2b3a55); }
.ls-section--testimonials, .ls-cat--testimonials { --ls-tile: linear-gradient(135deg, #7d4a63, #3b2a44); }
.ls-section--photos, .ls-cat--photos { --ls-tile: linear-gradient(135deg, #3aa6a0, #1f6f7a); }
.ls-section--broadcasts, .ls-cat--broadcasts { --ls-tile: linear-gradient(135deg, #3a4a8a, #1d2a55); }
.ls-section--events, .ls-cat--events { --ls-tile: linear-gradient(135deg, #c9743a, #7a3f2a); }
.ls-section--artworks, .ls-cat--artworks { --ls-tile: linear-gradient(135deg, #b5485a, #6e2533); }
.ls-section--diaries, .ls-cat--diaries { --ls-tile: linear-gradient(135deg, #3f7a5e, #234539); }
.ls-section--books, .ls-cat--books { --ls-tile: linear-gradient(135deg, #9a7b4f, #4f3b27); }
.ls-section--articles, .ls-cat--articles { --ls-tile: linear-gradient(135deg, #4a5a6a, #283541); }

/* Latest rail mixes categories — cycle gradients per card for variety */
.ls-section--latest .ls-rail__track > li:nth-child(6n + 1) .ls-card__media { background: linear-gradient(135deg, #2a9d8f, #1d4e89); }
.ls-section--latest .ls-rail__track > li:nth-child(6n + 2) .ls-card__media { background: linear-gradient(135deg, #2b4a78, #15315b); }
.ls-section--latest .ls-rail__track > li:nth-child(6n + 3) .ls-card__media { background: linear-gradient(135deg, #7d4a63, #3b2a44); }
.ls-section--latest .ls-rail__track > li:nth-child(6n + 4) .ls-card__media { background: linear-gradient(135deg, #9a7b4f, #4f3b27); }
.ls-section--latest .ls-rail__track > li:nth-child(6n + 5) .ls-card__media { background: linear-gradient(135deg, #3f7a5e, #234539); }
.ls-section--latest .ls-rail__track > li:nth-child(6n + 6) .ls-card__media { background: linear-gradient(135deg, #b5485a, #6e2533); }

/* ===================================================================
   Discovery grid — poster tiles
=================================================================== */
.ls-discover {
	background:
		radial-gradient(900px 500px at 100% 0%, rgba(42, 157, 143, 0.08), transparent 60%),
		var(--wp--preset--color--surface, #faf8f5);
	margin-block: clamp(1rem, 4vh, 2.5rem);
}
.ls-discover__title {
	font-size: clamp(1.7rem, 3.4vw, 2.4rem);
	font-weight: 800;
	color: var(--ls-deep);
}
.ls-discover__lead {
	color: var(--ls-muted);
	margin-block: 0.6rem 2.4rem;
	font-size: 1.05rem;
}
.ls-catgrid { gap: clamp(0.9rem, 1.8vw, 1.4rem); }
.ls-cat {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: var(--ls-radius-md);
	overflow: clip;
	background: var(--ls-tile);
	box-shadow: 0 2px 6px rgba(21, 49, 91, 0.10), 0 14px 28px rgba(21, 49, 91, 0.12);
	transition: transform 0.3s var(--ls-ease-out), box-shadow 0.3s var(--ls-ease-out);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(1rem, 2.5vw, 1.4rem);
}
.ls-cat::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(80% 90% at 82% 10%, rgba(255, 255, 255, 0.20), transparent 55%),
		linear-gradient(to top, rgba(8, 18, 38, 0.82) 0%, rgba(8, 18, 38, 0.18) 55%, transparent 80%);
}
.ls-cat > * { position: relative; z-index: 1; }
.ls-cat:hover {
	transform: translateY(-6px);
	box-shadow: 0 10px 22px rgba(21, 49, 91, 0.18), 0 26px 54px rgba(21, 49, 91, 0.26);
}
.ls-cat__title {
	margin: 0;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	font-weight: 800;
}
.ls-cat__title a {
	color: #fff;
	text-decoration: none;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}
.ls-cat__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}
.ls-cat__go {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: #d8f3ee;
	opacity: 0.85;
	transform: translateX(0);
	transition: transform 0.25s var(--ls-ease), opacity 0.25s var(--ls-ease);
}
.ls-cat:hover .ls-cat__go { opacity: 1; transform: translateX(-4px); }

/* ===================================================================
   Photo gallery — gradient media tiles
=================================================================== */
.ls-gallery__grid { gap: clamp(0.7rem, 1.6vw, 1.1rem); }
.ls-photo {
	position: relative;
	margin: 0;
	aspect-ratio: 1;
	border-radius: var(--ls-radius-md);
	overflow: clip;
	background: linear-gradient(135deg, #3aa6a0, #1f6f7a);
	box-shadow: 0 2px 6px rgba(21, 49, 91, 0.10), 0 12px 24px rgba(21, 49, 91, 0.12);
	transition: transform 0.3s var(--ls-ease-out), box-shadow 0.3s var(--ls-ease-out);
}
.ls-gallery__grid > *:nth-child(4n + 2) .ls-photo,
.ls-photo:nth-child(4n + 2) { background: linear-gradient(135deg, #2a9d8f, #1d4e89); }
.ls-gallery__grid > *:nth-child(4n + 3) .ls-photo,
.ls-photo:nth-child(4n + 3) { background: linear-gradient(135deg, #2b4a78, #15315b); }
.ls-gallery__grid > *:nth-child(4n + 4) .ls-photo,
.ls-photo:nth-child(4n + 4) { background: linear-gradient(135deg, #3f7a5e, #234539); }
.ls-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(80% 90% at 80% 10%, rgba(255, 255, 255, 0.18), transparent 55%);
}
.ls-photo img { object-fit: cover; inline-size: 100%; block-size: 100%; }
.ls-photo:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(21, 49, 91, 0.18), 0 22px 44px rgba(21, 49, 91, 0.24);
}

/* ===================================================================
   Quote strip
=================================================================== */
.ls-quote {
	position: relative;
	border-radius: var(--ls-radius-lg);
	overflow: clip;
	margin-block: clamp(1rem, 4vh, 2.5rem);
	box-shadow: 0 20px 60px rgba(21, 49, 91, 0.22);
}
.ls-quote::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 120% at 85% 10%, rgba(255, 255, 255, 0.18), transparent 55%);
	pointer-events: none;
}
.ls-quote > * { position: relative; }
.ls-quote__body { border: 0; }
.ls-btn-on-dark .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.7);
	color: #fff;
	transition: background 0.2s var(--ls-ease), color 0.2s var(--ls-ease);
}
.ls-btn-on-dark .wp-block-button__link:hover {
	background: #fff;
	color: var(--ls-deep);
}

/* ===================================================================
   Single / prose
=================================================================== */
.ls-prose { font-size: 1.075rem; line-height: 1.85; }
.ls-prose > * { margin-block: 1.1em; }
.ls-prose h2 { margin-block-start: 1.8em; }
.ls-meta .wp-block-post-author-name a { text-decoration: none; color: var(--ls-muted); }

/* ===================================================================
   Footer
=================================================================== */
.ls-footer a { color: #fff; text-decoration: none; opacity: 0.88; transition: opacity 0.2s var(--ls-ease); }
.ls-footer a:hover { opacity: 1; text-decoration: underline; }
.ls-footer-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }

/* ===================================================================
   Pagination
=================================================================== */
.ls-pagination a, .ls-pagination .current {
	text-decoration: none;
	padding: 0.45rem 0.9rem;
	border-radius: var(--ls-radius-pill);
	border: 1px solid var(--ls-line);
	color: var(--ls-deep);
}
.ls-pagination .current {
	background: var(--ls-primary);
	color: #fff;
	border-color: var(--ls-primary);
}

/* ===================================================================
   Focus + reduced motion
=================================================================== */
:where(a, button, input, .wp-block-button__link):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--ls-teal) 75%, transparent);
	outline-offset: 2px;
	border-radius: var(--ls-radius-sm);
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
	.ls-reveal { opacity: 1; transform: none; }
	.ls-card:hover .ls-card__img img { transform: none; }
}

/* ===================================================================
   Mobile
=================================================================== */
@media (max-width: 781px) {
	:root { --ls-card-w: clamp(220px, 74vw, 280px); }
	.ls-hero {
		min-block-size: clamp(440px, 70vh, 560px);
		text-align: start;
	}
	.ls-hero__title { font-size: clamp(2.2rem, 9vw, 3rem); word-break: break-word; }
	.ls-hero__lead { max-inline-size: none; }
	.ls-hero__cta { inline-size: 100%; gap: 0.7rem; }
	.ls-hero__cta .wp-block-button { flex: 1 1 12rem; }
	.ls-hero__cta .wp-block-button__link { display: block; text-align: center; }
	.ls-hero__stats { margin-block-start: 1.8rem; gap: 0.6rem; }
	.ls-stat { padding: 0.7rem 0.9rem; min-inline-size: 0; flex: 1 1 5rem; }
	.ls-stat__num { font-size: 1.6rem; }
	.ls-search .wp-block-search__input { inline-size: 5rem; }
	.ls-rail__arrow { display: none; }
	.ls-president-hero {
		min-block-size: auto;
		padding-block: 6rem 3.25rem;
	}
	.ls-president-hero::before {
		background:
			linear-gradient(180deg, rgba(7, 19, 35, 0.38) 0%, rgba(7, 19, 35, 0.86) 42%, rgba(7, 19, 35, 0.96) 100%),
			radial-gradient(620px 360px at 24% 10%, rgba(202, 163, 84, 0.16), transparent 60%);
	}
	.ls-hero__image img {
		object-position: 38% 50%;
	}
	.ls-hero__document {
		opacity: 0.2;
	}
	.ls-hero__document--one {
		inset-inline-start: 58%;
		inset-block-start: 12%;
	}
	.ls-hero__document--two,
	.ls-hero__timeline {
		display: none;
	}
	.ls-president-hero .ls-hero__inner {
		margin-inline: 0;
	}
	.ls-president-hero .ls-hero__title {
		max-inline-size: 11ch;
		font-size: clamp(2.3rem, 10vw, 3.35rem);
	}
	.ls-hero__search .wp-block-search__inside-wrapper {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.45rem;
		padding: 0.5rem;
	}
	.ls-hero__search .wp-block-search__input {
		inline-size: 100%;
		min-block-size: 3rem;
	}
	.ls-hero__search .wp-block-search__button {
		inline-size: 100%;
		min-block-size: 2.85rem;
	}
	.ls-president-hero .ls-btn--play .wp-block-button__link,
	.ls-president-hero .ls-btn--ghost .wp-block-button__link {
		padding-inline: 1rem;
		white-space: normal;
	}
}

/* ===================================================================
   Homepage redesign pass - archive editorial system
=================================================================== */
body {
	background: #f6f2ea;
}
body::before {
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.035) 1px, transparent 1px),
		linear-gradient(180deg, rgba(7, 19, 35, 0.025) 1px, transparent 1px),
		radial-gradient(1200px 600px at 85% -10%, rgba(193, 45, 45, 0.08), transparent 60%),
		radial-gradient(1000px 700px at 10% 0%, rgba(29, 78, 137, 0.12), transparent 55%);
	background-size: 72px 72px, 72px 72px, auto, auto;
	mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%);
}
.ls-header.is-stuck {
	background: color-mix(in srgb, #fffaf0 90%, transparent);
}
.ls-method {
	position: relative;
	margin-block-start: 0;
	padding-block: clamp(3rem, 7vh, 5.5rem);
	background: linear-gradient(180deg, #f6f2ea 0%, #fffaf2 100%);
}
.ls-method::before {
	content: "";
	position: absolute;
	inset-inline: clamp(1.25rem, 4vw, 3rem);
	inset-block-start: 0;
	block-size: 1px;
	background: linear-gradient(90deg, transparent, rgba(7, 19, 35, 0.24), transparent);
}
.ls-method__grid {
	align-items: stretch;
	gap: clamp(1rem, 2vw, 1.4rem);
}
.ls-method__intro {
	grid-column: span 2;
	padding-inline-end: clamp(1rem, 3vw, 3rem);
}
.ls-kicker {
	margin: 0 0 0.8rem;
	color: #c12d2d;
	font-weight: 800;
	font-size: 0.86rem;
}
.ls-method__title {
	margin: 0;
	max-inline-size: 17ch;
	color: #071323;
	font-size: clamp(2rem, 4vw, 3.35rem);
	line-height: 1.2;
	text-wrap: balance;
}
.ls-method__lead {
	max-inline-size: 56ch;
	color: #4b5563;
	font-size: 1.08rem;
	font-weight: 500;
}
.ls-method-card {
	position: relative;
	min-block-size: 17rem;
	border: 1px solid rgba(7, 19, 35, 0.1);
	border-radius: 8px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(255, 250, 242, 0.74)),
		linear-gradient(135deg, rgba(245, 231, 190, 0.36), rgba(255, 255, 255, 0));
	box-shadow: 0 18px 50px rgba(21, 49, 91, 0.09);
	padding: clamp(1.25rem, 2.4vw, 1.65rem);
	overflow: clip;
	transition: transform 0.32s var(--ls-ease-out), box-shadow 0.32s var(--ls-ease-out), border-color 0.32s var(--ls-ease);
}
.ls-method-card::before {
	content: "";
	position: absolute;
	inset-inline-end: -2rem;
	inset-block-start: -2rem;
	inline-size: 8rem;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid rgba(193, 45, 45, 0.22);
	box-shadow: inset 0 0 0 1.2rem rgba(245, 231, 190, 0.18);
	opacity: 0.8;
	transition: transform 0.4s var(--ls-ease-out);
}
.ls-method-card:hover {
	transform: translateY(-7px);
	border-color: rgba(193, 45, 45, 0.22);
	box-shadow: 0 24px 68px rgba(21, 49, 91, 0.15);
}
.ls-method-card:hover::before {
	transform: translate3d(-0.6rem, 0.5rem, 0) rotate(14deg);
}
.ls-method-card__num {
	margin: 0 0 2.6rem;
	color: #c12d2d;
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.9rem;
	font-weight: 800;
}
.ls-method-card__title {
	margin: 0 0 0.65rem;
	color: #071323;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
}
.ls-method-card__text {
	margin: 0;
	color: #5b6472;
	font-weight: 500;
}
.ls-main > .ls-section {
	position: relative;
}
.ls-main > .ls-section:nth-child(odd)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(245, 231, 190, 0.12));
}
.ls-rail__title {
	letter-spacing: 0;
}
.ls-rail__track > li:nth-child(1) { animation-delay: 0.04s; }
.ls-rail__track > li:nth-child(2) { animation-delay: 0.08s; }
.ls-rail__track > li:nth-child(3) { animation-delay: 0.12s; }
.ls-rail__track > li:nth-child(4) { animation-delay: 0.16s; }
.ls-rail__track > li:nth-child(5) { animation-delay: 0.20s; }
.ls-reveal.is-visible .ls-rail__track > li,
.ls-reveal.is-visible .ls-cat,
.ls-reveal.is-visible .ls-method-card,
.ls-reveal.is-visible .ls-photo {
	animation: ls-item-rise 0.72s var(--ls-ease-out) both;
}
.ls-card__media,
.ls-cat,
.ls-photo {
	border-radius: 8px;
}
.ls-card__media .wp-block-post-featured-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background:
		linear-gradient(90deg, rgba(245, 231, 190, 0.24), transparent 40%),
		repeating-linear-gradient(0deg, transparent 0 12px, rgba(255, 255, 255, 0.035) 12px 13px);
	opacity: 0;
	transition: opacity 0.3s var(--ls-ease);
	pointer-events: none;
}
.ls-card:hover .ls-card__media .wp-block-post-featured-image::before {
	opacity: 1;
}
.ls-discover {
	background:
		linear-gradient(180deg, rgba(7, 19, 35, 0.02), rgba(7, 19, 35, 0.05)),
		radial-gradient(900px 500px at 100% 0%, rgba(193, 45, 45, 0.08), transparent 60%),
		#f4eee2;
	padding-block: clamp(3rem, 7vh, 5rem);
}
.ls-cat::after {
	content: "○";
	position: absolute;
	inset-block-start: 0.75rem;
	inset-inline-end: 0.95rem;
	z-index: 1;
	color: rgba(255, 255, 255, 0.42);
	font-family: Georgia, serif;
	font-size: 2rem;
	line-height: 1;
	transition: transform 0.35s var(--ls-ease), color 0.35s var(--ls-ease);
}
.ls-cat:hover::after {
	transform: rotate(90deg) scale(1.08);
	color: #f5e7be;
}
.ls-gallery {
	position: relative;
}
.ls-gallery__grid {
	align-items: stretch;
}
.ls-gallery__grid > li:nth-child(3n + 1) .ls-photo {
	aspect-ratio: 4 / 5;
}
.ls-gallery__grid > li:nth-child(5n + 2) .ls-photo {
	aspect-ratio: 16 / 11;
}
.ls-photo::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(7, 19, 35, 0.56), transparent 58%);
	opacity: 0;
	transition: opacity 0.3s var(--ls-ease);
}
.ls-photo:hover::before {
	opacity: 1;
}
.ls-quote {
	border-radius: 0;
	background: linear-gradient(135deg, #071323 0%, #13233e 54%, #8f2024 100%) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.12);
}
.ls-quote::before {
	background:
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.055) 0 1px, transparent 1px 84px),
		radial-gradient(60% 120% at 85% 10%, rgba(255, 255, 255, 0.18), transparent 55%);
}
@keyframes ls-item-rise {
	from { opacity: 0; transform: translateY(20px) scale(0.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 900px) {
	.ls-method__intro {
		grid-column: auto;
	}
	.ls-method-card {
		min-block-size: 13.5rem;
	}
}

/* ===================================================================
   Four-card archive rows
=================================================================== */
:root {
	--ls-content-wide: clamp(1120px, 82vw, 1480px);
}
.ls-header__bar,
.ls-section > .alignwide,
.ls-method__grid,
.ls-discover .alignwide,
.ls-gallery.alignwide {
	max-inline-size: var(--ls-content-wide);
}
.ls-section {
	padding-block: clamp(2.8rem, 5.6vh, 4.4rem);
}
.ls-section--latest,
.ls-section--documentaries,
.ls-section--diaries,
.ls-section--articles {
	background:
		linear-gradient(180deg, rgba(7, 19, 35, 0.035), rgba(7, 19, 35, 0.018)),
		#f1eadf;
}
.ls-section--speeches,
.ls-section--broadcasts,
.ls-section--books {
	background:
		radial-gradient(760px 360px at 92% 0%, rgba(193, 45, 45, 0.055), transparent 62%),
		#fffaf2;
}
.ls-section--latest .ls-rail__track,
.ls-section--speeches .ls-rail__track,
.ls-section--documentaries .ls-rail__track,
.ls-section--broadcasts .ls-rail__track,
.ls-section--diaries .ls-rail__track,
.ls-section--books .ls-rail__track,
.ls-section--articles .ls-rail__track {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.25rem);
	overflow: visible;
	scroll-snap-type: none;
	padding-block: 0.25rem;
	margin-inline: 0;
}
.ls-section--latest .ls-rail__track > li,
.ls-section--speeches .ls-rail__track > li,
.ls-section--documentaries .ls-rail__track > li,
.ls-section--broadcasts .ls-rail__track > li,
.ls-section--diaries .ls-rail__track > li,
.ls-section--books .ls-rail__track > li,
.ls-section--articles .ls-rail__track > li {
	inline-size: auto;
	flex: initial;
	min-inline-size: 0;
}
.ls-section--latest .ls-rail__arrow,
.ls-section--speeches .ls-rail__arrow,
.ls-section--documentaries .ls-rail__arrow,
.ls-section--broadcasts .ls-rail__arrow,
.ls-section--diaries .ls-rail__arrow,
.ls-section--books .ls-rail__arrow,
.ls-section--articles .ls-rail__arrow {
	display: none;
}
.ls-card__media {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #071323 0%, #13233e 55%, #8f2024 100%);
	border: 1px solid rgba(7, 19, 35, 0.16);
	box-shadow: 0 16px 38px rgba(7, 19, 35, 0.16);
}
.ls-card__media::before {
	background:
		radial-gradient(80% 90% at 82% 8%, rgba(245, 231, 190, 0.24), transparent 55%),
		linear-gradient(135deg, rgba(193, 45, 45, 0.18), transparent 42%);
}
.ls-card__media::after {
	background:
		linear-gradient(to top, rgba(7, 19, 35, 0.92) 5%, rgba(7, 19, 35, 0.46) 44%, rgba(7, 19, 35, 0.08) 75%),
		linear-gradient(90deg, rgba(245, 231, 190, 0.08), transparent 40%);
}
.ls-card__badge a {
	background: #c12d2d;
	color: #fffaf2;
	box-shadow: 0 6px 16px rgba(7, 19, 35, 0.28);
}
.ls-card__title {
	font-size: clamp(0.95rem, 1.15vw, 1.08rem);
	line-height: 1.45;
}
.ls-card__cta {
	color: #f5e7be;
}
.ls-section--speeches,
.ls-cat--speeches { --ls-tile: linear-gradient(135deg, #071323 0%, #13233e 58%, #c12d2d 100%); }
.ls-section--documentaries,
.ls-cat--documentaries { --ls-tile: linear-gradient(135deg, #071323 0%, #0d2744 56%, #b8944d 100%); }
.ls-section--broadcasts,
.ls-cat--broadcasts { --ls-tile: linear-gradient(135deg, #13233e 0%, #1d4e89 58%, #8f2024 100%); }
.ls-section--diaries,
.ls-cat--diaries { --ls-tile: linear-gradient(135deg, #071323 0%, #233c35 58%, #b8944d 100%); }
.ls-section--books,
.ls-cat--books { --ls-tile: linear-gradient(135deg, #071323 0%, #4f3b27 58%, #c12d2d 100%); }
.ls-section--articles,
.ls-cat--articles { --ls-tile: linear-gradient(135deg, #071323 0%, #283541 58%, #9f2327 100%); }
.ls-gallery__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.25rem);
}
.ls-gallery__grid > li:nth-child(3n + 1) .ls-photo,
.ls-gallery__grid > li:nth-child(5n + 2) .ls-photo,
.ls-photo {
	aspect-ratio: 16 / 9;
}
.ls-photo {
	background: linear-gradient(135deg, #071323 0%, #13233e 58%, #c12d2d 100%);
}
@media (max-width: 980px) {
	:root {
		--ls-content-wide: min(92vw, 920px);
	}
	.ls-section--latest .ls-rail__track,
	.ls-section--speeches .ls-rail__track,
	.ls-section--documentaries .ls-rail__track,
	.ls-section--broadcasts .ls-rail__track,
	.ls-section--diaries .ls-rail__track,
	.ls-section--books .ls-rail__track,
	.ls-section--articles .ls-rail__track,
	.ls-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	:root {
		--ls-content-wide: calc(100vw - 2rem);
	}
	.ls-section--latest .ls-rail__track,
	.ls-section--speeches .ls-rail__track,
	.ls-section--documentaries .ls-rail__track,
	.ls-section--broadcasts .ls-rail__track,
	.ls-section--diaries .ls-rail__track,
	.ls-section--books .ls-rail__track,
	.ls-section--articles .ls-rail__track,
	.ls-gallery__grid {
		grid-template-columns: 1fr;
	}
}

/* ===================================================================
   Transparent two-row header over hero
=================================================================== */
.ls-header {
	position: fixed;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 120;
	padding-block: 0;
	background: linear-gradient(180deg, rgba(7, 19, 35, 0.82), rgba(7, 19, 35, 0.24) 72%, transparent);
	border-block-end: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.ls-header.is-stuck {
	background: rgba(7, 19, 35, 0.86);
	border-block-end-color: rgba(245, 231, 190, 0.16);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
	padding-block: 0;
	backdrop-filter: saturate(1.25) blur(14px);
	-webkit-backdrop-filter: saturate(1.25) blur(14px);
}
.ls-header__bar {
	display: grid;
	grid-template-rows: minmax(4.15rem, auto) minmax(4.15rem, auto);
	gap: 0;
	max-inline-size: var(--ls-content-wide);
	padding-inline: clamp(1rem, 3vw, 1.5rem);
	margin-inline: auto;
}
.ls-brand {
	align-self: center;
	justify-self: stretch;
	padding-block: 0.75rem 0.55rem;
	border-block-end: 1px solid rgba(245, 231, 190, 0.18);
}
.ls-brand > * {
	margin: 0;
	max-inline-size: none;
}
.ls-brand__overline {
	color: rgba(245, 231, 190, 0.78);
	font-size: clamp(0.78rem, 1vw, 0.9rem);
	font-weight: 700;
	line-height: 1.2;
}
.ls-brand__name {
	color: #fffaf2;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.55rem, 2.6vw, 2.35rem);
	font-weight: 800;
	line-height: 1.18;
}
.ls-header__end {
	align-self: center;
	display: flex;
	inline-size: 100%;
	min-block-size: 4.15rem;
	gap: clamp(0.75rem, 2vw, 1.2rem);
}
.ls-nav {
	gap: clamp(0.2rem, 0.8vw, 0.55rem);
}
.ls-nav a {
	color: rgba(255, 250, 242, 0.88);
	padding: 0.45rem 0.75rem;
	border-radius: 8px;
}
.ls-nav a:hover,
.ls-nav .current-menu-item > a {
	color: #fffaf2;
	background: rgba(245, 231, 190, 0.12);
}
.ls-search .wp-block-search__inside-wrapper {
	border-color: rgba(245, 231, 190, 0.22);
	background: rgba(255, 250, 242, 0.1);
	border-radius: 8px;
}
.ls-search .wp-block-search__input {
	color: #fffaf2;
}
.ls-search .wp-block-search__input::placeholder {
	color: rgba(255, 250, 242, 0.58);
}
.ls-search .wp-block-search__button {
	background: #c12d2d;
	color: #fff;
	border-radius: 6px;
}
.ls-president-hero {
	padding-block-start: clamp(11.5rem, 18vh, 13rem);
	margin-block-end: 0;
}

/* ===================================================================
   Tight row spacing and fixed method layout
=================================================================== */
.ls-section {
	padding-block: clamp(1.7rem, 3.4vh, 2.6rem);
}
.ls-rail__head {
	margin-block-end: 0.9rem;
}
.ls-method {
	padding-block: clamp(2rem, 4.2vh, 3.1rem);
}
.ls-method__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.25rem);
}
.ls-method__intro {
	grid-column: 1 / -1;
	padding-inline-end: 0;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(18rem, 1.05fr);
	align-items: end;
	gap: clamp(1rem, 3vw, 2.5rem);
}
.ls-method__intro .ls-kicker {
	grid-column: 1 / -1;
}
.ls-method__title,
.ls-method__lead {
	max-inline-size: none;
}
.ls-method-card {
	min-block-size: 13.75rem;
}
@media (max-width: 900px) {
	.ls-header__bar {
		grid-template-rows: auto auto;
	}
	.ls-header__end {
		align-items: flex-start;
		padding-block: 0.65rem 0.9rem;
	}
	.ls-method__grid,
	.ls-method__intro {
		grid-template-columns: 1fr;
	}
	.ls-method__intro .ls-kicker {
		grid-column: auto;
	}
}
@media (max-width: 640px) {
	.ls-header__end {
		display: grid;
		grid-template-columns: 1fr;
	}
	.ls-search .wp-block-search__input {
		inline-size: 100%;
	}
	.ls-president-hero {
		padding-block-start: 12.5rem;
	}
}

/* ===================================================================
   Header and hero correction pass
=================================================================== */
.ls-header {
	background: linear-gradient(180deg, rgba(7, 19, 35, 0.9), rgba(7, 19, 35, 0.58) 70%, transparent);
}
.ls-header__bar {
	grid-template-rows: 3.65rem 3.65rem;
}
.ls-brand {
	justify-self: stretch;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: start;
	padding-block: 0.4rem;
	border-block-end-color: rgba(245, 231, 190, 0.22);
}
.ls-brand__overline {
	font-size: clamp(0.72rem, 0.82vw, 0.82rem);
}
.ls-brand__name {
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1.08;
}
.ls-header__end {
	min-block-size: 3.65rem;
	align-items: center;
	justify-content: center;
	padding-block: 0;
}
.ls-header .ls-search {
	display: none;
}
.ls-nav {
	justify-content: center;
	inline-size: 100%;
}
.ls-nav a {
	color: rgba(255, 250, 242, 0.78);
	font-size: 0.9rem;
	font-weight: 700;
	padding: 0.45rem 0.7rem;
}
.ls-nav a:hover,
.ls-nav .current-menu-item > a {
	color: #fffaf2;
	background: rgba(245, 231, 190, 0.16);
}
.ls-president-hero {
	min-block-size: clamp(680px, 92vh, 850px);
	padding-block-start: clamp(9.25rem, 15vh, 10.5rem);
	align-items: center;
}
.ls-president-hero .ls-hero__inner {
	margin-inline-start: auto;
	margin-inline-end: auto;
	text-align: center;
}
.ls-president-hero .ls-hero__title {
	max-inline-size: 13ch;
	margin-inline: auto;
	font-size: clamp(3.2rem, 5.1vw, 5.2rem);
	line-height: 1.14;
}
.ls-president-hero .ls-hero__lead {
	max-inline-size: 48rem;
	margin-inline: auto;
}
.ls-hero__search {
	margin-inline: auto;
}
.ls-hero__cta,
.ls-hero__stats {
	justify-content: center;
}
@media (max-width: 900px) {
	.ls-header__bar {
		grid-template-rows: auto auto;
	}
	.ls-brand {
		align-items: center;
		text-align: center;
	}
	.ls-president-hero .ls-hero__title {
		max-inline-size: 12ch;
		font-size: clamp(2.65rem, 9vw, 4.2rem);
	}
}

/* ===================================================================
   Vertical full-screen slider experience
=================================================================== */
html {
	scroll-behavior: smooth;
	scroll-snap-type: y mandatory;
	scroll-padding-block-start: 0;
}
body {
	scroll-snap-type: y mandatory;
}
.ls-main {
	overflow: visible;
}
.ls-president-hero,
.ls-main > .ls-section,
.ls-main > .ls-quote,
.ls-main > .ls-discover {
	min-block-size: 100svh;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ls-main > .ls-section,
.ls-main > .ls-discover {
	padding-block: clamp(9.5rem, 15vh, 11.5rem) clamp(3rem, 6vh, 4rem);
}
.ls-method {
	padding-block: clamp(9rem, 14vh, 10.5rem) clamp(3rem, 6vh, 4rem);
}
.ls-quote {
	display: flex;
	align-items: center;
	justify-content: center;
	min-block-size: 100svh;
}
.ls-quote > * {
	inline-size: min(820px, calc(100vw - 2rem));
}
.ls-discover .ls-catgrid,
.ls-gallery__grid,
.ls-section--latest .ls-rail__track,
.ls-section--speeches .ls-rail__track,
.ls-section--documentaries .ls-rail__track,
.ls-section--broadcasts .ls-rail__track,
.ls-section--diaries .ls-rail__track,
.ls-section--books .ls-rail__track,
.ls-section--articles .ls-rail__track {
	max-block-size: calc(100svh - 18rem);
	overflow: hidden;
}

/* Header: search first, light menu buttons below */
.ls-header__bar {
	grid-template-rows: minmax(3.1rem, auto) minmax(5.7rem, auto);
}
.ls-brand {
	padding-block: 0.35rem 0.25rem;
}
.ls-header__end {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	align-content: center;
	justify-items: center;
	gap: 0.55rem;
	min-block-size: 5.7rem;
	padding-block: 0.45rem 0.75rem;
}
.ls-header .ls-search {
	display: block;
	inline-size: min(31rem, 100%);
}
.ls-header .ls-search .wp-block-search__inside-wrapper {
	border: 1px solid rgba(245, 231, 190, 0.34);
	background: rgba(255, 250, 242, 0.13);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
}
.ls-header .ls-search .wp-block-search__input {
	inline-size: 100%;
	min-block-size: 2.6rem;
	color: #fffaf2;
}
.ls-header .ls-search .wp-block-search__button {
	background: #f5e7be;
	color: #071323;
}
.ls-header .ls-nav {
	inline-size: 100%;
	justify-content: center;
	gap: 0.42rem;
}
.ls-header .ls-nav a {
	color: #fffaf2;
	background: rgba(255, 250, 242, 0.12);
	border: 1px solid rgba(245, 231, 190, 0.22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.ls-header .ls-nav a:hover,
.ls-header .ls-nav .current-menu-item > a {
	background: #f5e7be;
	color: #071323;
	border-color: #f5e7be;
}
.ls-president-hero {
	padding-block-start: clamp(11.2rem, 18vh, 12.5rem);
}
@media (max-width: 900px) {
	html,
	body {
		scroll-snap-type: y proximity;
	}
	.ls-president-hero,
	.ls-main > .ls-section,
	.ls-main > .ls-quote,
	.ls-main > .ls-discover {
		min-block-size: auto;
		scroll-snap-align: none;
	}
	.ls-main > .ls-section,
	.ls-main > .ls-discover,
	.ls-method {
		padding-block: 8.5rem 3rem;
	}
	.ls-discover .ls-catgrid,
	.ls-gallery__grid,
	.ls-section--latest .ls-rail__track,
	.ls-section--speeches .ls-rail__track,
	.ls-section--documentaries .ls-rail__track,
	.ls-section--broadcasts .ls-rail__track,
	.ls-section--diaries .ls-rail__track,
	.ls-section--books .ls-rail__track,
	.ls-section--articles .ls-rail__track {
		max-block-size: none;
		overflow: visible;
	}
}
@media (min-width: 1600px) and (min-height: 850px) {
	:root {
		--ls-content-wide: min(78vw, 1500px);
	}
	.ls-president-hero .ls-hero__title {
		font-size: clamp(4.2rem, 4.8vw, 5.8rem);
		max-inline-size: 14ch;
	}
	.ls-president-hero .ls-hero__lead {
		font-size: clamp(1.15rem, 1.25vw, 1.45rem);
	}
	.ls-method__title {
		font-size: clamp(3.25rem, 3.7vw, 4.8rem);
	}
	.ls-card__title {
		font-size: clamp(1.02rem, 1vw, 1.18rem);
	}
}

/* ===================================================================
   No global header: hero owns navigation
=================================================================== */
.ls-header {
	display: none !important;
}
.ls-president-hero {
	padding-block-start: clamp(3.5rem, 7vh, 5rem);
	min-block-size: 100svh;
}
.ls-president-hero .ls-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ls-president-hero .ls-hero__eyebrow {
	order: 1;
}
.ls-president-hero .ls-hero__title {
	order: 2;
}
.ls-president-hero .ls-hero__lead {
	order: 3;
}
.ls-hero__search {
	order: 4;
}
.ls-hero__menu {
	order: 5;
	max-inline-size: min(62rem, 100%);
	margin-block: 1.25rem 1.15rem;
	gap: 0.52rem;
}
.ls-hero__menu p {
	margin: 0;
}
.ls-hero__menu a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 2.55rem;
	padding: 0.55rem 0.88rem;
	border-radius: 8px;
	border: 1px solid rgba(245, 231, 190, 0.28);
	background: rgba(255, 250, 242, 0.12);
	color: rgba(255, 250, 242, 0.9);
	text-decoration: none;
	font-weight: 800;
	font-size: clamp(0.82rem, 0.9vw, 0.92rem);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 26px rgba(0, 0, 0, 0.12);
	transition: background 0.2s var(--ls-ease), color 0.2s var(--ls-ease), transform 0.2s var(--ls-ease), border-color 0.2s var(--ls-ease);
}
.ls-hero__menu a:hover,
.ls-hero__menu a:focus-visible {
	background: #f5e7be;
	color: #071323;
	border-color: #f5e7be;
	transform: translateY(-2px);
}
.ls-hero__stats {
	order: 6;
}
.ls-main > .ls-section,
.ls-main > .ls-discover,
.ls-method {
	padding-block-start: clamp(3rem, 6vh, 4.5rem);
}
@media (max-width: 781px) {
	.ls-president-hero {
		padding-block-start: 3.5rem;
	}
	.ls-hero__menu {
		justify-content: center;
		max-block-size: 10.5rem;
		overflow: auto;
		padding-block-end: 0.35rem;
	}
	.ls-hero__menu a {
		min-block-size: 2.35rem;
		padding-inline: 0.72rem;
	}
}

/* ===================================================================
   Fix fullscreen slides content width
=================================================================== */
.ls-method__grid {
	inline-size: min(var(--ls-content-wide), calc(100vw - clamp(2rem, 6vw, 5rem)));
	margin-inline: auto;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}
.ls-method__intro {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.25rem, 4vw, 4rem);
	align-items: end;
	margin-block-end: clamp(1rem, 2.5vh, 1.8rem);
}
.ls-method__intro .ls-kicker {
	grid-column: 1 / -1;
	text-align: start;
}
.ls-method__title {
	max-inline-size: 18ch;
	font-size: clamp(2.25rem, 4.1vw, 4.4rem);
	line-height: 1.16;
	text-align: start;
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: balance;
}
.ls-method__lead {
	max-inline-size: 48ch;
	margin-block-end: 0.35rem;
	text-align: start;
}
.ls-method-card {
	min-block-size: 12.5rem;
}
.ls-method-card__num {
	margin-block-end: 1.75rem;
}
.ls-method__grid > *,
.ls-method__intro > *,
.ls-method-card > * {
	max-inline-size: none;
}
.ls-method__intro > * {
	inline-size: 100%;
}
.ls-main > .ls-section,
.ls-main > .ls-discover {
	align-items: center;
}
.ls-section > .alignwide,
.ls-section .ls-rail,
.ls-discover .alignwide,
.ls-gallery.alignwide {
	inline-size: min(var(--ls-content-wide), calc(100vw - clamp(2rem, 6vw, 5rem)));
	margin-inline: auto;
}
.ls-rail__head {
	inline-size: min(var(--ls-content-wide), calc(100vw - clamp(2rem, 6vw, 5rem)));
}
.ls-rail__title,
.ls-discover__title,
.ls-section h2:not(.ls-method__title) {
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: balance;
}
@media (max-width: 980px) {
	.ls-method__grid {
		grid-template-columns: 1fr;
	}
	.ls-method__intro {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.ls-method__intro .ls-kicker,
	.ls-method__title,
	.ls-method__lead {
		text-align: center;
		margin-inline: auto;
	}
}

/* ===================================================================
   Archive section slides with portrait side
=================================================================== */
.ls-section--latest,
.ls-section--speeches,
.ls-section--documentaries,
.ls-section--broadcasts,
.ls-section--diaries,
.ls-section--books,
.ls-section--articles {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(20rem, 0.82fr) minmax(0, 1.18fr);
	align-items: center;
	gap: clamp(1.5rem, 4vw, 4.5rem);
	inline-size: 100%;
	min-block-size: 100svh;
	padding-inline: max(2rem, calc((100vw - var(--ls-content-wide)) / 2));
	padding-block: clamp(4rem, 8vh, 6rem);
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.96), rgba(7, 19, 35, 0.82) 46%, rgba(7, 19, 35, 0.52)),
		linear-gradient(135deg, #071323 0%, #13233e 52%, #341719 100%);
	color: #fffaf2;
}
.ls-section--latest::before,
.ls-section--speeches::before,
.ls-section--documentaries::before,
.ls-section--broadcasts::before,
.ls-section--diaries::before,
.ls-section--books::before,
.ls-section--articles::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background-image: url("../images/morsi-archive-hero.webp");
	background-size: cover;
	background-position: 18% center;
	opacity: 0.34;
	filter: saturate(0.84) contrast(1.1);
	transform: scale(1.04);
}
.ls-section--latest::after,
.ls-section--speeches::after,
.ls-section--documentaries::after,
.ls-section--broadcasts::after,
.ls-section--diaries::after,
.ls-section--books::after,
.ls-section--articles::after {
	content: "";
	position: absolute;
	inset-block: 7vh;
	inset-inline-start: max(2rem, calc((100vw - var(--ls-content-wide)) / 2));
	inline-size: min(35vw, 31rem);
	z-index: -1;
	border-radius: 12px;
	background:
		linear-gradient(180deg, rgba(7, 19, 35, 0.05), rgba(7, 19, 35, 0.46)),
		url("../images/morsi-archive-hero.webp");
	background-size: cover;
	background-position: 28% center;
	box-shadow: 0 38px 100px rgba(0, 0, 0, 0.36);
	border: 1px solid rgba(245, 231, 190, 0.18);
	opacity: 0.88;
}
.ls-section--documentaries,
.ls-section--diaries,
.ls-section--articles {
	grid-template-columns: minmax(0, 1.18fr) minmax(20rem, 0.82fr);
	background:
		linear-gradient(270deg, rgba(7, 19, 35, 0.96), rgba(7, 19, 35, 0.82) 46%, rgba(7, 19, 35, 0.52)),
		linear-gradient(135deg, #071323 0%, #10253f 54%, #4b1f23 100%);
}
.ls-section--documentaries::after,
.ls-section--diaries::after,
.ls-section--articles::after {
	inset-inline-start: auto;
	inset-inline-end: max(2rem, calc((100vw - var(--ls-content-wide)) / 2));
	background-position: 34% center;
}
.ls-section--documentaries .ls-rail__head,
.ls-section--diaries .ls-rail__head,
.ls-section--articles .ls-rail__head {
	grid-column: 2;
}
.ls-section--documentaries .ls-rail,
.ls-section--diaries .ls-rail,
.ls-section--articles .ls-rail {
	grid-column: 1;
	grid-row: 1;
}
.ls-section--latest .ls-rail__head,
.ls-section--speeches .ls-rail__head,
.ls-section--broadcasts .ls-rail__head,
.ls-section--books .ls-rail__head {
	grid-column: 1;
}
.ls-section--latest .ls-rail,
.ls-section--speeches .ls-rail,
.ls-section--broadcasts .ls-rail,
.ls-section--books .ls-rail {
	grid-column: 2;
}
.ls-section--latest .ls-rail__head,
.ls-section--speeches .ls-rail__head,
.ls-section--documentaries .ls-rail__head,
.ls-section--broadcasts .ls-rail__head,
.ls-section--diaries .ls-rail__head,
.ls-section--books .ls-rail__head,
.ls-section--articles .ls-rail__head {
	position: relative;
	z-index: 1;
	inline-size: auto;
	max-inline-size: 28rem;
	display: block;
	margin: 0;
	padding-block-start: clamp(16rem, 38vh, 24rem);
}
.ls-section--latest .ls-rail__title,
.ls-section--speeches .ls-rail__title,
.ls-section--documentaries .ls-rail__title,
.ls-section--broadcasts .ls-rail__title,
.ls-section--diaries .ls-rail__title,
.ls-section--books .ls-rail__title,
.ls-section--articles .ls-rail__title {
	color: #fffaf2;
	font-size: clamp(2.4rem, 4vw, 5rem);
	line-height: 1.08;
	padding-inline-start: 0;
	text-shadow: 0 18px 55px rgba(0, 0, 0, 0.38);
}
.ls-section--latest .ls-rail__title::before,
.ls-section--speeches .ls-rail__title::before,
.ls-section--documentaries .ls-rail__title::before,
.ls-section--broadcasts .ls-rail__title::before,
.ls-section--diaries .ls-rail__title::before,
.ls-section--books .ls-rail__title::before,
.ls-section--articles .ls-rail__title::before {
	display: none;
}
.ls-section--latest .ls-rail__more,
.ls-section--speeches .ls-rail__more,
.ls-section--documentaries .ls-rail__more,
.ls-section--broadcasts .ls-rail__more,
.ls-section--diaries .ls-rail__more,
.ls-section--books .ls-rail__more,
.ls-section--articles .ls-rail__more {
	margin-block-start: 1.2rem;
}
.ls-section--latest .ls-rail__more a,
.ls-section--speeches .ls-rail__more a,
.ls-section--documentaries .ls-rail__more a,
.ls-section--broadcasts .ls-rail__more a,
.ls-section--diaries .ls-rail__more a,
.ls-section--books .ls-rail__more a,
.ls-section--articles .ls-rail__more a {
	display: inline-flex;
	color: #071323;
	background: #f5e7be;
	border: 1px solid #f5e7be;
	border-radius: 8px;
	padding: 0.7rem 1rem;
}
.ls-section--latest .ls-rail,
.ls-section--speeches .ls-rail,
.ls-section--documentaries .ls-rail,
.ls-section--broadcasts .ls-rail,
.ls-section--diaries .ls-rail,
.ls-section--books .ls-rail,
.ls-section--articles .ls-rail {
	inline-size: 100%;
	max-inline-size: none;
}
.ls-section--latest .ls-rail__track,
.ls-section--speeches .ls-rail__track,
.ls-section--documentaries .ls-rail__track,
.ls-section--broadcasts .ls-rail__track,
.ls-section--diaries .ls-rail__track,
.ls-section--books .ls-rail__track,
.ls-section--articles .ls-rail__track {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-block-size: none;
	gap: clamp(1rem, 1.7vw, 1.35rem);
}
.ls-section--latest .ls-rail__track > li:nth-child(n + 5),
.ls-section--speeches .ls-rail__track > li:nth-child(n + 5),
.ls-section--documentaries .ls-rail__track > li:nth-child(n + 5),
.ls-section--broadcasts .ls-rail__track > li:nth-child(n + 5),
.ls-section--diaries .ls-rail__track > li:nth-child(n + 5),
.ls-section--books .ls-rail__track > li:nth-child(n + 5),
.ls-section--articles .ls-rail__track > li:nth-child(n + 5) {
	display: none;
}
@media (min-width: 1600px) and (min-height: 850px) {
	.ls-section--latest .ls-rail__track,
	.ls-section--speeches .ls-rail__track,
	.ls-section--documentaries .ls-rail__track,
	.ls-section--broadcasts .ls-rail__track,
	.ls-section--diaries .ls-rail__track,
	.ls-section--books .ls-rail__track,
	.ls-section--articles .ls-rail__track {
		grid-template-columns: repeat(2, minmax(18rem, 1fr));
	}
}
@media (max-width: 980px) {
	.ls-section--latest,
	.ls-section--speeches,
	.ls-section--documentaries,
	.ls-section--broadcasts,
	.ls-section--diaries,
	.ls-section--books,
	.ls-section--articles {
		display: flex;
		padding-inline: clamp(1rem, 4vw, 2rem);
		padding-block: 4rem;
	}
	.ls-section--latest::after,
	.ls-section--speeches::after,
	.ls-section--documentaries::after,
	.ls-section--broadcasts::after,
	.ls-section--diaries::after,
	.ls-section--books::after,
	.ls-section--articles::after {
		inset-inline: clamp(1rem, 4vw, 2rem) auto;
		inline-size: min(70vw, 26rem);
		inset-block: 3rem auto;
		block-size: 18rem;
		opacity: 0.42;
	}
	.ls-section--latest .ls-rail__head,
	.ls-section--speeches .ls-rail__head,
	.ls-section--documentaries .ls-rail__head,
	.ls-section--broadcasts .ls-rail__head,
	.ls-section--diaries .ls-rail__head,
	.ls-section--books .ls-rail__head,
	.ls-section--articles .ls-rail__head {
		padding-block-start: 12rem;
		max-inline-size: none;
	}
	.ls-section--latest .ls-rail__track,
	.ls-section--speeches .ls-rail__track,
	.ls-section--documentaries .ls-rail__track,
	.ls-section--broadcasts .ls-rail__track,
	.ls-section--diaries .ls-rail__track,
	.ls-section--books .ls-rail__track,
	.ls-section--articles .ls-rail__track {
		grid-template-columns: 1fr;
	}
}

/* ===================================================================
   Fix archive slide stacking
=================================================================== */
.ls-section--latest,
.ls-section--speeches,
.ls-section--documentaries,
.ls-section--broadcasts,
.ls-section--diaries,
.ls-section--books,
.ls-section--articles {
	display: grid !important;
	grid-template-columns: minmax(22rem, 0.9fr) minmax(32rem, 1.1fr);
	grid-template-rows: 1fr;
	align-items: center;
	justify-content: center;
	column-gap: clamp(2rem, 5vw, 5rem);
	padding-inline: max(2rem, calc((100vw - var(--ls-content-wide)) / 2));
	padding-block: clamp(3rem, 6vh, 5rem);
}
.ls-section--latest .ls-rail__head,
.ls-section--speeches .ls-rail__head,
.ls-section--documentaries .ls-rail__head,
.ls-section--broadcasts .ls-rail__head,
.ls-section--diaries .ls-rail__head,
.ls-section--books .ls-rail__head,
.ls-section--articles .ls-rail__head {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: end;
	inline-size: 100%;
	max-inline-size: min(32rem, 100%);
	margin: 0;
	padding-block-start: 0 !important;
	padding-block-end: clamp(1.5rem, 4vh, 3rem);
	z-index: 2;
}
.ls-section--documentaries .ls-rail__head,
.ls-section--diaries .ls-rail__head,
.ls-section--articles .ls-rail__head {
	grid-column: 2 !important;
}
.ls-section--latest .ls-rail,
.ls-section--speeches .ls-rail,
.ls-section--documentaries .ls-rail,
.ls-section--broadcasts .ls-rail,
.ls-section--diaries .ls-rail,
.ls-section--books .ls-rail,
.ls-section--articles .ls-rail {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: center;
	inline-size: 100%;
	max-inline-size: none;
	margin: 0;
	z-index: 3;
}
.ls-section--documentaries .ls-rail,
.ls-section--diaries .ls-rail,
.ls-section--articles .ls-rail {
	grid-column: 1 !important;
}
.ls-section--latest::after,
.ls-section--speeches::after,
.ls-section--documentaries::after,
.ls-section--broadcasts::after,
.ls-section--diaries::after,
.ls-section--books::after,
.ls-section--articles::after {
	inset-block: auto clamp(3rem, 8vh, 5rem);
	inline-size: min(34vw, 32rem);
	block-size: min(68vh, 38rem);
	z-index: 1;
}
.ls-section--latest .ls-rail__title,
.ls-section--speeches .ls-rail__title,
.ls-section--documentaries .ls-rail__title,
.ls-section--broadcasts .ls-rail__title,
.ls-section--diaries .ls-rail__title,
.ls-section--books .ls-rail__title,
.ls-section--articles .ls-rail__title {
	font-size: clamp(2.4rem, 3.5vw, 4.35rem);
	max-inline-size: 9ch;
	overflow-wrap: normal;
	word-break: normal;
}
.ls-section--latest .ls-rail__track,
.ls-section--speeches .ls-rail__track,
.ls-section--documentaries .ls-rail__track,
.ls-section--broadcasts .ls-rail__track,
.ls-section--diaries .ls-rail__track,
.ls-section--books .ls-rail__track,
.ls-section--articles .ls-rail__track {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: stretch;
	max-block-size: none !important;
	overflow: visible !important;
}
@media (max-width: 980px) {
	.ls-section--latest,
	.ls-section--speeches,
	.ls-section--documentaries,
	.ls-section--broadcasts,
	.ls-section--diaries,
	.ls-section--books,
	.ls-section--articles {
		display: flex !important;
	}
}

/* ===================================================================
   Stable rebuilt category slides
=================================================================== */
.ls-feature-slide {
	--ls-section-bg: url("../images/morsi-archive-hero.webp");
	position: relative;
	isolation: isolate;
	display: grid !important;
	grid-template-columns: minmax(21rem, 0.92fr) minmax(34rem, 1.08fr) !important;
	grid-template-rows: auto !important;
	align-items: center !important;
	gap: clamp(2rem, 5vw, 5.5rem);
	min-block-size: 100svh;
	inline-size: 100%;
	padding-inline: max(2rem, calc((100vw - var(--ls-content-wide)) / 2)) !important;
	padding-block: clamp(3rem, 6vh, 5rem) !important;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.95), rgba(7, 19, 35, 0.82) 48%, rgba(7, 19, 35, 0.56)),
		#071323 !important;
	color: #fffaf2;
}
.ls-feature-slide:nth-of-type(even) {
	grid-template-columns: minmax(34rem, 1.08fr) minmax(21rem, 0.92fr) !important;
	background:
		linear-gradient(270deg, rgba(7, 19, 35, 0.95), rgba(7, 19, 35, 0.82) 48%, rgba(7, 19, 35, 0.56)),
		#071323 !important;
}
.ls-feature-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background: var(--ls-section-bg) center / cover no-repeat;
	opacity: 0.22;
	filter: saturate(0.82) contrast(1.12);
}
.ls-feature-slide::after {
	content: "";
	position: absolute;
	inset-block: clamp(3rem, 8vh, 5rem);
	inset-inline-start: max(2rem, calc((100vw - var(--ls-content-wide)) / 2));
	inline-size: min(34vw, 34rem);
	z-index: -1;
	border-radius: 12px;
	background:
		linear-gradient(180deg, rgba(7, 19, 35, 0.04), rgba(7, 19, 35, 0.48)),
		var(--ls-section-bg) 28% center / cover no-repeat;
	border: 1px solid rgba(245, 231, 190, 0.18);
	box-shadow: 0 38px 100px rgba(0, 0, 0, 0.36);
}
.ls-feature-slide:nth-of-type(even)::after {
	inset-inline-start: auto;
	inset-inline-end: max(2rem, calc((100vw - var(--ls-content-wide)) / 2));
}
.ls-feature-slide--latest { --ls-section-bg: url("../images/sections/latest.webp"); }
.ls-feature-slide--speeches { --ls-section-bg: url("../images/sections/speeches.webp"); }
.ls-feature-slide--documentaries { --ls-section-bg: url("../images/sections/documentaries.webp"); }
.ls-feature-slide--broadcasts { --ls-section-bg: url("../images/sections/broadcasts.webp"); }
.ls-feature-slide--diaries { --ls-section-bg: url("../images/sections/diaries.webp"); }
.ls-feature-slide--books { --ls-section-bg: url("../images/sections/books.webp"); }
.ls-feature-slide--articles { --ls-section-bg: url("../images/sections/articles.webp"); }
.ls-cat--biography { --ls-tile: linear-gradient(135deg, rgba(7, 19, 35, 0.3), rgba(7, 19, 35, 0.82)), url("../images/sections/biography.webp") center / cover; }
.ls-cat--photos { --ls-tile: linear-gradient(135deg, rgba(7, 19, 35, 0.24), rgba(7, 19, 35, 0.78)), url("../images/sections/photos.webp") center / cover; }
.ls-cat--testimonials { --ls-tile: linear-gradient(135deg, rgba(7, 19, 35, 0.24), rgba(7, 19, 35, 0.78)), url("../images/sections/testimonials.webp") center / cover; }
.ls-cat--events { --ls-tile: linear-gradient(135deg, rgba(7, 19, 35, 0.24), rgba(7, 19, 35, 0.78)), url("../images/sections/events.webp") center / cover; }
.ls-cat--artworks { --ls-tile: linear-gradient(135deg, rgba(7, 19, 35, 0.24), rgba(7, 19, 35, 0.78)), url("../images/sections/artworks.webp") center / cover; }
.ls-quote {
	background:
		linear-gradient(135deg, rgba(7, 19, 35, 0.94), rgba(19, 35, 62, 0.82), rgba(143, 32, 36, 0.72)),
		url("../images/sections/testimonials.webp") center / cover !important;
}
.ls-photo-slide {
	position: relative;
	isolation: isolate;
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.92), rgba(7, 19, 35, 0.68)),
		url("../images/sections/photos.webp") center / cover !important;
	color: #fffaf2;
}
.ls-photo-slide h2 {
	color: #fffaf2;
}
.ls-photo-slide .ls-rail__more a {
	color: #071323;
	background: #f5e7be;
	border-radius: 8px;
}
.ls-feature-visual,
.ls-feature-content,
.ls-feature-query {
	position: relative;
	z-index: 2;
	inline-size: 100%;
	max-inline-size: none !important;
	margin: 0 !important;
}
.ls-feature-visual {
	align-self: end;
	padding-block-end: clamp(1rem, 5vh, 4rem);
}
.ls-feature-slide:nth-of-type(even) .ls-feature-visual {
	grid-column: 2;
	grid-row: 1;
}
.ls-feature-slide:nth-of-type(even) .ls-feature-content {
	grid-column: 1;
	grid-row: 1;
}
.ls-feature-kicker {
	margin: 0 0 0.9rem;
	color: #f5e7be;
	font-weight: 800;
	font-size: 0.92rem;
}
.ls-feature-title {
	margin: 0;
	max-inline-size: 10ch;
	color: #fffaf2;
	font-size: clamp(2.8rem, 4.2vw, 5.2rem);
	line-height: 1.08;
	text-shadow: 0 18px 55px rgba(0, 0, 0, 0.42);
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: balance;
}
.ls-feature-more {
	margin: 1.25rem 0 0;
}
.ls-feature-more a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-block-size: 2.9rem;
	padding: 0.7rem 1rem;
	border-radius: 8px;
	background: #f5e7be;
	color: #071323;
	text-decoration: none;
	font-weight: 900;
}
.ls-feature-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 1.7vw, 1.35rem) !important;
	max-block-size: none !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ls-feature-grid > li {
	inline-size: auto !important;
	flex: initial !important;
	min-inline-size: 0;
}
.ls-feature-grid > li:nth-child(n + 5) {
	display: none !important;
}
.ls-feature-slide .ls-card__media {
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}
.ls-feature-slide .ls-empty {
	background: rgba(255, 250, 242, 0.1);
	border-color: rgba(245, 231, 190, 0.24);
	color: #fffaf2;
}
@media (max-width: 980px) {
	.ls-feature-slide,
	.ls-feature-slide:nth-of-type(even) {
		display: flex !important;
		padding-inline: clamp(1rem, 4vw, 2rem) !important;
		padding-block: 4rem !important;
	}
	.ls-feature-slide::after {
		inset-inline: clamp(1rem, 4vw, 2rem) auto;
		inline-size: min(72vw, 28rem);
		block-size: 18rem;
		opacity: 0.42;
	}
	.ls-feature-slide:nth-of-type(even) .ls-feature-visual,
	.ls-feature-slide:nth-of-type(even) .ls-feature-content {
		grid-column: auto;
		grid-row: auto;
	}
	.ls-feature-visual {
		padding-block: 11rem 1rem;
	}
	.ls-feature-title {
		max-inline-size: 14ch;
		font-size: clamp(2.4rem, 9vw, 4rem);
	}
	.ls-feature-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ===================================================================
   Full-bleed animated section backgrounds
=================================================================== */
.ls-feature-slide {
	--ls-face-safe-side: right;
	background: #071323 !important;
}
.ls-feature-slide::before {
	inset: -4%;
	background: var(--ls-section-bg) center / cover no-repeat;
	opacity: 0.72;
	filter: saturate(0.9) contrast(1.08) brightness(0.72);
	transform: scale(1.03);
	animation: ls-section-bg-drift 20s var(--ls-ease) infinite alternate;
}
.ls-feature-slide::after {
	inset: 0;
	inline-size: auto;
	block-size: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	opacity: 1;
	z-index: -1;
	background:
		radial-gradient(760px 520px at 24% 50%, rgba(7, 19, 35, 0.18), transparent 64%),
		linear-gradient(90deg, rgba(7, 19, 35, 0.88) 0%, rgba(7, 19, 35, 0.70) 34%, rgba(7, 19, 35, 0.28) 58%, rgba(7, 19, 35, 0.76) 100%);
}
.ls-feature-slide:nth-of-type(even)::after {
	inset: 0;
	background:
		radial-gradient(760px 520px at 76% 50%, rgba(7, 19, 35, 0.18), transparent 64%),
		linear-gradient(270deg, rgba(7, 19, 35, 0.88) 0%, rgba(7, 19, 35, 0.70) 34%, rgba(7, 19, 35, 0.28) 58%, rgba(7, 19, 35, 0.76) 100%);
}
.ls-feature-visual {
	align-self: center;
	padding-block-end: 0;
}
.ls-feature-visual::before {
	display: none;
}
.ls-feature-title {
	max-inline-size: 9ch;
}

/* ===================================================================
   Absolute final slide lock
   This block intentionally comes last so legacy rail rules cannot
   shrink cards or constrain full-screen image backgrounds.
=================================================================== */
.alignfull.ls-feature-slide,
.alignfull.ls-feature-slide:nth-of-type(even),
.alignfull.ls-photo-slide {
	position: relative !important;
	left: 50% !important;
	right: auto !important;
	inline-size: 100vw !important;
	max-inline-size: 100vw !important;
	margin-inline: 0 !important;
	margin-left: -50vw !important;
	margin-right: 0 !important;
	isolation: isolate !important;
	overflow: hidden !important;
	background-color: #071323 !important;
}

.alignfull.ls-feature-slide,
.alignfull.ls-feature-slide:nth-of-type(even) {
	min-block-size: 100svh !important;
	display: grid !important;
	grid-template-columns: minmax(40rem, 1fr) minmax(24rem, 0.82fr) !important;
	align-content: end !important;
	gap: clamp(1rem, 2vw, 1.5rem) clamp(3rem, 6vw, 7rem) !important;
	padding-block: clamp(3rem, 7vh, 5.5rem) 20vh !important;
	padding-inline: max(3rem, calc((100vw - 1480px) / 2)) !important;
	direction: ltr !important;
}

.alignfull.ls-feature-slide::before,
.alignfull.ls-feature-slide:nth-of-type(even)::before {
	content: "" !important;
	position: absolute !important;
	inset: -4% !important;
	z-index: 0 !important;
	display: block !important;
	background-image: var(--ls-section-bg) !important;
	background-position: var(--ls-bg-position, center center) !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	opacity: 0.97 !important;
	filter: saturate(1) contrast(1.08) brightness(0.78) !important;
	animation: ls-section-bg-drift 22s var(--ls-ease) infinite alternate !important;
}

.alignfull.ls-feature-slide::after,
.alignfull.ls-feature-slide:nth-of-type(even)::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	display: block !important;
	pointer-events: none !important;
	background:
		linear-gradient(0deg, rgba(7, 19, 35, 0.96) 0%, rgba(7, 19, 35, 0.78) 24%, rgba(7, 19, 35, 0.38) 48%, rgba(7, 19, 35, 0.04) 74%),
		linear-gradient(90deg, rgba(7, 19, 35, 0.78) 0%, rgba(7, 19, 35, 0.48) 32%, rgba(7, 19, 35, 0.14) 56%, rgba(7, 19, 35, 0.58) 100%) !important;
}

.alignfull.ls-feature-slide > *,
.alignfull.ls-photo-slide > * {
	position: relative !important;
	z-index: 2 !important;
	direction: rtl !important;
}

.ls-feature-slide--latest { --ls-bg-position: 62% center; }
.ls-feature-slide--speeches { --ls-bg-position: 61% center; }
.ls-feature-slide--documentaries { --ls-bg-position: 64% center; }
.ls-feature-slide--broadcasts { --ls-bg-position: 60% center; }
.ls-feature-slide--diaries { --ls-bg-position: 58% center; }
.ls-feature-slide--books { --ls-bg-position: 60% center; }
.ls-feature-slide--articles { --ls-bg-position: 60% center; }

.alignfull.ls-feature-slide .ls-feature-content,
.alignfull.ls-feature-slide:nth-of-type(even) .ls-feature-content {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: end !important;
	justify-self: stretch !important;
	inline-size: 100% !important;
	max-inline-size: min(56rem, 100%) !important;
	margin: 0 !important;
	display: grid !important;
	gap: clamp(0.85rem, 1.4vw, 1.1rem) !important;
	direction: ltr !important;
}

.alignfull.ls-feature-slide .ls-feature-content > * {
	direction: rtl !important;
}

.alignfull.ls-feature-slide .ls-feature-more {
	order: 0 !important;
	justify-self: start !important;
	margin: 0 !important;
	text-align: left !important;
	text-shadow: none !important;
}

.alignfull.ls-feature-slide .ls-feature-query {
	order: 1 !important;
	inline-size: 100% !important;
	margin: 0 !important;
}

.alignfull.ls-feature-slide .ls-feature-grid,
.alignfull.ls-feature-slide .ls-rail__track,
.alignfull.ls-feature-slide:nth-of-type(even) .ls-feature-grid,
.alignfull.ls-feature-slide:nth-of-type(even) .ls-rail__track {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 1.8vw, 1.45rem) !important;
	inline-size: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	direction: ltr !important;
}

.alignfull.ls-feature-slide .ls-feature-grid > li,
.alignfull.ls-feature-slide .ls-rail__track > li,
.alignfull.ls-feature-slide:nth-of-type(even) .ls-feature-grid > li,
.alignfull.ls-feature-slide:nth-of-type(even) .ls-rail__track > li {
	display: block !important;
	flex: none !important;
	inline-size: auto !important;
	min-inline-size: 0 !important;
	block-size: auto !important;
	margin: 0 !important;
	direction: rtl !important;
}

.alignfull.ls-feature-slide .ls-card {
	inline-size: 100% !important;
	min-block-size: clamp(11.5rem, 18vh, 14.5rem) !important;
}

.alignfull.ls-feature-slide .ls-feature-visual,
.alignfull.ls-feature-slide:nth-of-type(even) .ls-feature-visual {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	justify-self: end !important;
	max-inline-size: 31rem !important;
	margin: 0 !important;
	text-align: start !important;
}

.alignfull.ls-feature-slide .ls-feature-title {
	max-inline-size: 9ch !important;
}

.alignfull.ls-feature-slide .ls-feature-more a,
.alignfull.ls-photo-slide .ls-rail__more a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-block-size: 4.15rem !important;
	padding: 1rem 1.45rem !important;
	border: 1px solid rgba(255, 238, 190, 0.78) !important;
	border-radius: 8px !important;
	background: #f6e6b5 !important;
	color: #071323 !important;
	font-weight: 900 !important;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.26) !important;
	text-decoration: none !important;
}

.alignfull.ls-photo-slide {
	min-block-size: 100svh !important;
	display: grid !important;
	grid-template-columns: minmax(40rem, 1fr) minmax(24rem, 0.82fr) !important;
	align-content: end !important;
	column-gap: clamp(3rem, 6vw, 7rem) !important;
	padding-block: clamp(3rem, 7vh, 5.5rem) 20vh !important;
	padding-inline: max(3rem, calc((100vw - 1480px) / 2)) !important;
	direction: ltr !important;
}

.alignfull.ls-photo-slide::before {
	content: "" !important;
	position: absolute !important;
	inset: -4% !important;
	z-index: 0 !important;
	background: url("../images/sections/photos.webp") 62% center / cover no-repeat !important;
	opacity: 0.97 !important;
	filter: saturate(1) contrast(1.08) brightness(0.78) !important;
	animation: ls-section-bg-drift 22s var(--ls-ease) infinite alternate !important;
}

.alignfull.ls-photo-slide::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
	background:
		linear-gradient(0deg, rgba(7, 19, 35, 0.96) 0%, rgba(7, 19, 35, 0.78) 24%, rgba(7, 19, 35, 0.38) 48%, rgba(7, 19, 35, 0.04) 74%),
		linear-gradient(90deg, rgba(7, 19, 35, 0.78) 0%, rgba(7, 19, 35, 0.48) 32%, rgba(7, 19, 35, 0.14) 56%, rgba(7, 19, 35, 0.58) 100%) !important;
}

.alignfull.ls-photo-slide > .alignwide:first-child {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	justify-self: end !important;
	inline-size: 100% !important;
	max-inline-size: 31rem !important;
	margin: 0 !important;
	display: block !important;
	text-align: start !important;
}

.alignfull.ls-photo-slide .ls-gallery {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: end !important;
	inline-size: 100% !important;
	margin: 0 !important;
	padding-block-start: 5.2rem !important;
}

.alignfull.ls-photo-slide .ls-gallery__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 1.8vw, 1.45rem) !important;
	inline-size: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.alignfull.ls-photo-slide .ls-rail__more {
	position: absolute !important;
	z-index: 3 !important;
	left: max(3rem, calc((100vw - 1480px) / 2)) !important;
	top: clamp(6rem, 14vh, 10rem) !important;
	margin: 0 !important;
}

@media (max-width: 1520px) {
	.alignfull.ls-feature-slide,
	.alignfull.ls-feature-slide:nth-of-type(even),
	.alignfull.ls-photo-slide {
		padding-inline: 3rem !important;
	}
	.alignfull.ls-photo-slide .ls-rail__more {
		left: 3rem !important;
	}
}

@media (max-width: 1180px) {
	.alignfull.ls-feature-slide,
	.alignfull.ls-feature-slide:nth-of-type(even),
	.alignfull.ls-photo-slide {
		grid-template-columns: 1fr !important;
		align-content: center !important;
		padding-block: 4rem !important;
		padding-inline: clamp(1rem, 5vw, 2rem) !important;
	}
	.alignfull.ls-feature-slide .ls-feature-content,
	.alignfull.ls-feature-slide .ls-feature-visual,
	.alignfull.ls-feature-slide:nth-of-type(even) .ls-feature-content,
	.alignfull.ls-feature-slide:nth-of-type(even) .ls-feature-visual,
	.alignfull.ls-photo-slide > .alignwide:first-child,
	.alignfull.ls-photo-slide .ls-gallery {
		grid-column: 1 !important;
	}
	.alignfull.ls-photo-slide .ls-rail__more {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		margin-block-end: 1rem !important;
	}
}

@media (max-width: 680px) {
	.alignfull.ls-feature-slide .ls-feature-grid,
	.alignfull.ls-feature-slide .ls-rail__track,
	.alignfull.ls-photo-slide .ls-gallery__grid {
		grid-template-columns: 1fr !important;
	}
}

/* ===================================================================
   Final slide composition pass
   Keeps every archive section as a full-screen image slide and places
   the action button above the left card column.
=================================================================== */
.ls-feature-slide,
.ls-feature-slide:nth-of-type(even) {
	position: relative !important;
	isolation: isolate;
	overflow: hidden;
	inline-size: 100% !important;
	min-block-size: 100svh !important;
	display: grid !important;
	grid-template-columns: minmax(34rem, 1fr) minmax(24rem, 0.86fr) !important;
	align-content: end !important;
	column-gap: clamp(3rem, 6vw, 7rem) !important;
	row-gap: clamp(0.9rem, 2vh, 1.4rem) !important;
	padding-block: clamp(3rem, 7vh, 5.5rem) 20vh !important;
	padding-inline: max(3rem, calc((100vw - min(1480px, calc(100vw - 6rem))) / 2)) !important;
	background: #071323 !important;
	direction: ltr !important;
}

.ls-feature-slide > * {
	position: relative;
	z-index: 2;
	direction: rtl;
}

.ls-feature-slide::before,
.ls-feature-slide:nth-of-type(even)::before {
	content: "" !important;
	position: absolute !important;
	inset: -4% !important;
	z-index: 0 !important;
	display: block !important;
	background-image: var(--ls-section-bg) !important;
	background-position: var(--ls-bg-position, center center) !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	opacity: 0.96 !important;
	filter: saturate(0.98) contrast(1.08) brightness(0.78) !important;
	transform-origin: center;
	animation: ls-section-bg-drift 22s var(--ls-ease) infinite alternate !important;
}

.ls-feature-slide::after,
.ls-feature-slide:nth-of-type(even)::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	display: block !important;
	pointer-events: none !important;
	background:
		linear-gradient(0deg, rgba(7, 19, 35, 0.96) 0%, rgba(7, 19, 35, 0.78) 24%, rgba(7, 19, 35, 0.38) 48%, rgba(7, 19, 35, 0.04) 74%),
		linear-gradient(90deg, rgba(7, 19, 35, 0.78) 0%, rgba(7, 19, 35, 0.48) 32%, rgba(7, 19, 35, 0.14) 56%, rgba(7, 19, 35, 0.58) 100%) !important;
}

.ls-feature-slide--latest { --ls-bg-position: 62% center; }
.ls-feature-slide--speeches { --ls-bg-position: 61% center; }
.ls-feature-slide--documentaries { --ls-bg-position: 64% center; }
.ls-feature-slide--broadcasts { --ls-bg-position: 60% center; }
.ls-feature-slide--diaries { --ls-bg-position: 58% center; }
.ls-feature-slide--books { --ls-bg-position: 60% center; }
.ls-feature-slide--articles { --ls-bg-position: 60% center; }

.ls-feature-slide .ls-feature-content,
.ls-feature-slide:nth-of-type(even) .ls-feature-content {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: end !important;
	justify-self: stretch !important;
	inline-size: 100% !important;
	max-inline-size: min(54rem, 100%) !important;
	margin: 0 !important;
	display: grid !important;
	gap: clamp(0.85rem, 1.4vw, 1.1rem) !important;
	direction: ltr !important;
}

.ls-feature-content > * {
	direction: rtl;
}

.ls-feature-content .ls-feature-more {
	order: 0 !important;
	justify-self: start !important;
	margin: 0 !important;
	text-align: left !important;
	text-shadow: none !important;
}

.ls-feature-content .ls-feature-query {
	order: 1 !important;
}

.ls-feature-content .ls-feature-more a,
.ls-photo-slide .ls-rail__more a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-block-size: 4.15rem !important;
	padding: 1rem 1.45rem !important;
	border: 1px solid rgba(255, 238, 190, 0.78) !important;
	border-radius: 8px !important;
	background: #f6e6b5 !important;
	color: #071323 !important;
	font-weight: 900 !important;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.26) !important;
	text-decoration: none !important;
}

.ls-feature-slide .ls-feature-visual,
.ls-feature-slide:nth-of-type(even) .ls-feature-visual {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	justify-self: end !important;
	max-inline-size: 31rem !important;
	margin: 0 !important;
	text-align: start !important;
}

.ls-feature-slide .ls-feature-title {
	max-inline-size: 9ch !important;
}

.ls-feature-slide .ls-feature-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 1.8vw, 1.45rem) !important;
}

.ls-feature-slide .ls-card {
	min-block-size: clamp(10.5rem, 18vh, 14.5rem) !important;
}

.ls-photo-slide {
	position: relative !important;
	isolation: isolate;
	overflow: hidden;
	inline-size: 100% !important;
	min-block-size: 100svh !important;
	display: grid !important;
	grid-template-columns: minmax(34rem, 1fr) minmax(22rem, 0.8fr) !important;
	align-content: center !important;
	column-gap: clamp(3rem, 6vw, 7rem) !important;
	padding-block: clamp(6rem, 12vh, 9rem) !important;
	padding-inline: max(3rem, calc((100vw - min(1480px, calc(100vw - 6rem))) / 2)) !important;
	background: #071323 !important;
	direction: ltr !important;
}

.ls-photo-slide::before {
	content: "" !important;
	position: absolute !important;
	inset: -4% !important;
	z-index: 0 !important;
	background: url("../images/sections/photos.webp") 62% center / cover no-repeat !important;
	opacity: 0.96 !important;
	filter: saturate(0.98) contrast(1.08) brightness(0.78) !important;
	animation: ls-section-bg-drift 22s var(--ls-ease) infinite alternate !important;
}

.ls-photo-slide::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
	background:
		linear-gradient(0deg, rgba(7, 19, 35, 0.96) 0%, rgba(7, 19, 35, 0.74) 24%, rgba(7, 19, 35, 0.28) 52%, rgba(7, 19, 35, 0.08) 82%),
		linear-gradient(90deg, rgba(7, 19, 35, 0.76) 0%, rgba(7, 19, 35, 0.44) 34%, rgba(7, 19, 35, 0.12) 58%, rgba(7, 19, 35, 0.60) 100%) !important;
}

.ls-photo-slide > * {
	position: relative;
	z-index: 2;
	direction: rtl;
}

.ls-photo-slide > .alignwide:first-child {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	justify-self: end !important;
	inline-size: 100% !important;
	margin: 0 !important;
	display: block !important;
	text-align: start !important;
}

.ls-photo-slide .ls-gallery {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: end !important;
	inline-size: 100% !important;
	margin: 0 !important;
	padding-block-start: 5.2rem !important;
}

.ls-photo-slide .ls-gallery__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 1.8vw, 1.35rem) !important;
}

.ls-photo-slide .ls-rail__more {
	position: absolute !important;
	z-index: 3 !important;
	left: max(3rem, calc((100vw - min(1480px, calc(100vw - 6rem))) / 2)) !important;
	top: clamp(6rem, 14vh, 10rem) !important;
	margin: 0 !important;
}

@media (max-width: 1180px) {
	.ls-feature-slide,
	.ls-feature-slide:nth-of-type(even),
	.ls-photo-slide {
		grid-template-columns: 1fr !important;
		align-content: center !important;
		padding-block: 4rem !important;
		padding-inline: clamp(1rem, 5vw, 2rem) !important;
	}
	.ls-feature-slide .ls-feature-content,
	.ls-feature-slide .ls-feature-visual,
	.ls-feature-slide:nth-of-type(even) .ls-feature-content,
	.ls-feature-slide:nth-of-type(even) .ls-feature-visual,
	.ls-photo-slide > .alignwide:first-child,
	.ls-photo-slide .ls-gallery {
		grid-column: 1 !important;
	}
	.ls-photo-slide .ls-rail__more {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		margin-block-end: 1rem !important;
	}
}

@media (max-width: 680px) {
	.ls-feature-slide .ls-feature-grid,
	.ls-photo-slide .ls-gallery__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Physical left/right placement: keep cards away from right-side faces. */
.ls-feature-slide,
.ls-feature-slide:nth-of-type(even) {
	direction: ltr;
	grid-template-columns: minmax(42rem, 1fr) minmax(30rem, 0.9fr) !important;
	grid-template-rows: auto auto !important;
	align-content: center;
	row-gap: clamp(1.35rem, 3vh, 2.2rem);
}
.ls-feature-slide > * {
	direction: rtl;
}
.ls-feature-slide .ls-feature-visual,
.ls-feature-slide:nth-of-type(even) .ls-feature-visual {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: end;
	justify-self: start;
	max-inline-size: 30rem;
	margin-inline: 0 auto !important;
	text-align: start;
}
.ls-feature-slide .ls-feature-content,
.ls-feature-slide:nth-of-type(even) .ls-feature-content {
	grid-column: 1 !important;
	grid-row: 2 !important;
	align-self: start;
	justify-self: start;
	max-inline-size: min(52rem, 100%);
	margin-inline: 0 auto !important;
}
.ls-feature-slide::after,
.ls-feature-slide:nth-of-type(even)::after {
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.88) 0%, rgba(7, 19, 35, 0.72) 34%, rgba(7, 19, 35, 0.24) 58%, rgba(7, 19, 35, 0.34) 100%);
}
@media (max-width: 1200px) {
	.ls-feature-slide,
	.ls-feature-slide:nth-of-type(even) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.ls-feature-slide .ls-feature-visual,
	.ls-feature-slide .ls-feature-content,
	.ls-feature-slide:nth-of-type(even) .ls-feature-visual,
	.ls-feature-slide:nth-of-type(even) .ls-feature-content {
		grid-column: 1 !important;
	}
}

/* ===================================================================
   Bottom-composed image slides
=================================================================== */
.ls-feature-slide,
.ls-feature-slide:nth-of-type(even) {
	align-content: end;
	padding-block: clamp(2.5rem, 5vh, 4rem) 20vh !important;
	row-gap: clamp(0.9rem, 2vh, 1.35rem);
	background: #071323 !important;
}
.ls-feature-slide::before {
	opacity: 0.92;
	filter: saturate(0.96) contrast(1.08) brightness(0.78);
}
.ls-feature-slide::after,
.ls-feature-slide:nth-of-type(even)::after {
	background:
		linear-gradient(0deg, rgba(7, 19, 35, 0.92) 0%, rgba(7, 19, 35, 0.74) 28%, rgba(7, 19, 35, 0.32) 52%, rgba(7, 19, 35, 0) 78%);
	pointer-events: none;
}
.ls-feature-slide .ls-feature-visual,
.ls-feature-slide:nth-of-type(even) .ls-feature-visual {
	align-self: end;
}
.ls-feature-slide .ls-feature-content,
.ls-feature-slide:nth-of-type(even) .ls-feature-content {
	align-self: start;
}
.ls-feature-kicker,
.ls-feature-title,
.ls-feature-more {
	text-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
}
.ls-feature-grid {
	filter: drop-shadow(0 18px 42px rgba(0, 0, 0, 0.24));
}
@media (max-width: 980px) {
	.ls-feature-slide,
	.ls-feature-slide:nth-of-type(even) {
		padding-block: 4rem 4rem !important;
		align-content: center;
	}
}
.ls-feature-content {
	position: relative;
}
.ls-feature-content::before {
	display: none;
}
.ls-feature-slide--speeches {
	background-position: center;
}
.ls-feature-slide--speeches::before {
	background-position: center center;
}
.ls-feature-slide--speeches .ls-feature-content {
	margin-inline-start: auto;
	max-inline-size: min(48rem, 100%);
}
.ls-feature-slide--speeches .ls-feature-visual {
	max-inline-size: 28rem;
}
@keyframes ls-section-bg-drift {
	from { transform: scale(1.03) translate3d(0, 0, 0); }
	to { transform: scale(1.09) translate3d(-1.2%, 0.9%, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.ls-feature-slide::before {
		animation: none;
	}
}

/* ===================================================================
   Face-aware slide placement
   Current generated section images place the face/figure center-right,
   so cards stay on the left and the visual title stays on the right.
=================================================================== */
.ls-feature-slide,
.ls-feature-slide:nth-of-type(even) {
	grid-template-columns: minmax(34rem, 1.08fr) minmax(21rem, 0.92fr) !important;
}
.ls-feature-slide .ls-feature-content,
.ls-feature-slide:nth-of-type(even) .ls-feature-content {
	grid-column: 1 !important;
	grid-row: 1 !important;
}
.ls-feature-slide .ls-feature-visual,
.ls-feature-slide:nth-of-type(even) .ls-feature-visual {
	grid-column: 2 !important;
	grid-row: 1 !important;
}
.ls-feature-slide::after,
.ls-feature-slide:nth-of-type(even)::after {
	background:
		linear-gradient(90deg, rgba(7, 19, 35, 0.80) 0%, rgba(7, 19, 35, 0.55) 32%, rgba(7, 19, 35, 0.16) 58%, rgba(7, 19, 35, 0.58) 100%);
}
.ls-feature-slide::before {
	background-position: center center;
}
.ls-feature-slide--latest::before,
.ls-feature-slide--documentaries::before {
	background-position: center center;
}
.ls-feature-slide--speeches::before,
.ls-feature-slide--broadcasts::before,
.ls-feature-slide--articles::before {
	background-position: 58% center;
}
.ls-feature-slide--books::before,
.ls-feature-slide--diaries::before {
	background-position: 54% center;
}
.ls-feature-content {
	max-inline-size: min(50rem, 100%);
	margin-inline-end: auto !important;
}
.ls-feature-visual {
	max-inline-size: 31rem;
	margin-inline-start: auto !important;
	text-align: start;
}
.ls-feature-title {
	max-inline-size: 9ch;
}

