/*
Theme Name:   Schoudhary
Description:  Bilingual (Hindi/English) block theme for the official website of the Chief Minister of Bihar. Child of Twenty Twenty-Five. Accessible (WCAG 2.1 AA / GIGW), CSP-compatible (no inline scripts), self-hosted fonts, no third-party assets.
Template:     twentytwentyfive
Version:      1.3.3
Requires at least: 6.7
Requires PHP: 7.4
Text Domain:  schoudhary
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/* =========================================================================
 * Design language
 * Tricolour palette: saffron, white, India green and Ashoka-chakra navy,
 * using only shades of those four. Serif display type over a quiet sans,
 * hairline rules, generous whitespace and a Bodhi leaf ornament (Bodh Gaya,
 * Bihar) used sparingly.
 *
 * This file is normal (light) mode. Breakpoints live in
 * assets/css/responsive.css and dark mode in assets/css/dark.css; both load
 * after this one (see schoudhary_enqueue_assets()).
 * ====================================================================== */

:root {
	--sc-radius: var(--wp--custom--radius, 6px);
	--sc-shadow: var(--wp--custom--shadow);
	--sc-hairline: 1px solid var(--wp--preset--color--border);
	--sc-gold-line: rgba(255, 153, 51, 0.45);
	--sc-topbar-height: 40px;
	--sc-admin-bar: var(--wp-admin--admin-bar--height, 0px);
	--sc-focus: var(--wp--preset--color--accent-dark);
	--sc-leaf: url("assets/images/bodhi-leaf.svg");
	--sc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* -------------------------------------------------------------------------
 * Base
 * ---------------------------------------------------------------------- */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--wp--custom--header-height, 88px) + var(--sc-admin-bar) + 1rem);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-kerning: normal;
	font-variant-ligatures: common-ligatures;
	text-rendering: optimizeLegibility;
}

/* Long words and URLs wrap instead of widening the page. "anywhere" (unlike
 * "break-word") also lets flex and grid items shrink around such a word, so a
 * long menu label, title or link can't push a row past the screen. It is
 * inherited, so it covers every link, label and button too. */
body {
	overflow-wrap: anywhere;
}

:where(img, video, iframe, embed, object, svg) {
	max-width: 100%;
}

/* Even line lengths: balanced headings, no single-word last lines in prose. */
:where(h1, h2, h3, h4, .wp-block-post-title) {
	text-wrap: balance;
}

:where(p, li, blockquote, figcaption) {
	text-wrap: pretty;
}

:where(strong, b) {
	font-weight: 600;
}

body.lang-hi {
	/* Devanagari needs a little more size than Latin text to read as easily. */
	--wp--preset--font-size--x-small: 0.875rem;
	--wp--preset--font-size--small: 1rem;
	--wp--preset--font-size--medium: 1.0625rem;
	line-height: 1.85;
}

body.lang-hi :where(h1, h2, h3, h4, h5, h6, .wp-block-site-title, .wp-block-post-title) {
	letter-spacing: 0;
	line-height: 1.45;
}

::selection {
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--primary);
}

img {
	height: auto;
	max-width: 100%;
}

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	border-radius: 2px;
	outline: 2px solid var(--sc-focus);
	outline-offset: 3px;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--primary);
	clip-path: none;
	color: var(--wp--preset--color--base);
	font-weight: 600;
	height: auto;
	left: 8px;
	padding: 0.75rem 1.25rem;
	top: 8px;
	width: auto;
	z-index: 100000;
}

/* -------------------------------------------------------------------------
 * Small typographic elements
 * ---------------------------------------------------------------------- */

/* Eyebrow: small, spaced, gold, led by a short rule. */
.sc-eyebrow {
	align-items: center;
	color: var(--wp--preset--color--accent-dark);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	gap: 0.75rem;
	letter-spacing: 0.14em;
	line-height: 1.4;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.sc-eyebrow::before {
	background: var(--wp--preset--color--accent);
	content: "";
	flex: none;
	height: 1px;
	width: 2rem;
}

.sc-eyebrow.has-text-align-center {
	display: flex;
	justify-content: center;
}

.sc-eyebrow.has-text-align-center::after {
	background: var(--wp--preset--color--accent);
	content: "";
	flex: none;
	height: 1px;
	width: 2rem;
}

/* Devanagari breaks apart when letter-spaced. */
.lang-hi .sc-eyebrow {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

/* Ornament divider: hairlines either side of a Bodhi leaf. */
.wp-block-separator.is-style-sc-ornament {
	background:
		linear-gradient(var(--sc-gold-line), var(--sc-gold-line)) left center / calc(50% - 1.75rem) 1px no-repeat,
		linear-gradient(var(--sc-gold-line), var(--sc-gold-line)) right center / calc(50% - 1.75rem) 1px no-repeat;
	border: 0;
	height: 30px;
	margin-inline: auto;
	max-width: 240px;
	opacity: 1;
	position: relative;
}

.wp-block-separator.is-style-sc-ornament::after {
	background: var(--wp--preset--color--accent);
	content: "";
	height: 30px;
	left: 50%;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 20px;
}

/* -------------------------------------------------------------------------
 * Buttons
 * ---------------------------------------------------------------------- */

.wp-element-button,
.wp-block-button__link {
	transition: background-color 0.25s var(--sc-ease), color 0.25s var(--sc-ease), border-color 0.25s var(--sc-ease), transform 0.25s var(--sc-ease);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	padding: calc(0.875rem - 1px) calc(1.75rem - 1px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* Text link with an arrow that moves on hover. */
.wp-block-button.is-style-sc-link > .wp-block-button__link {
	background: transparent;
	border-bottom: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	color: var(--wp--preset--color--primary);
	padding: 0.5rem 0 0.25rem;
}

.wp-block-button.is-style-sc-link > .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-left: 0.5rem;
	transition: transform 0.25s var(--sc-ease);
}

.wp-block-button.is-style-sc-link > .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--accent-dark);
}

.wp-block-button.is-style-sc-link > .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.sc-link-arrow {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0.04em;
	margin: 0;
}

.sc-link-arrow a {
	border-bottom: 1px solid var(--sc-gold-line);
	padding-bottom: 0.2rem;
	text-decoration: none;
	transition: color 0.2s, border-color 0.2s;
}

.sc-link-arrow a::after {
	content: " →";
}

.sc-link-arrow a:hover {
	border-color: var(--wp--preset--color--accent-dark);
}

/* -------------------------------------------------------------------------
 * Header: tricolour hairline, top bar, masthead
 * ---------------------------------------------------------------------- */

.sc-tricolor {
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0 33.33%, #ffffff 33.33% 66.67%, var(--wp--preset--color--green) 66.67%);
	height: 4px;
	margin: 0;
}

.sc-topbar {
	--sc-focus: #ffffff;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.sc-topbar > .wp-block-group {
	min-height: var(--sc-topbar-height);
	padding-block: 0.25rem;
}

.sc-topbar a {
	color: rgba(255, 251, 245, 0.92);
	text-decoration: none;
}

.sc-topbar a:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* Accessibility toolbar */
.sc-a11y {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
}

.sc-a11y__controls {
	border-left: 1px solid rgba(255, 251, 245, 0.3);
	display: none;
	gap: 0.125rem;
	padding-left: 1rem;
}

.js .sc-a11y__controls {
	display: inline-flex;
}

.sc-a11y button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 3px;
	color: rgba(255, 251, 245, 0.92);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 600;
	height: 26px;
	justify-content: center;
	min-width: 28px;
	padding: 0 0.25rem;
	transition: background-color 0.2s, color 0.2s;
}

.sc-a11y button:hover,
.sc-a11y button[aria-pressed="true"] {
	background: #ffffff;
	color: var(--wp--preset--color--primary);
}

.sc-a11y sup {
	font-size: 0.65em;
}

/* Language switcher */
.sc-lang {
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-lang li + li {
	border-left: 1px solid rgba(255, 251, 245, 0.35);
}

.sc-lang a {
	display: inline-block;
	font-weight: 500;
	padding: 0.1rem 0.75rem;
}

.sc-lang a[aria-current="true"] {
	background: #ffffff;
	border-radius: 3px;
	color: var(--wp--preset--color--primary) !important;
}

.sc-topbar .sc-social {
	--wp--style--block-gap: 0.125rem;
	margin: 0;
}

.sc-topbar .wp-social-link {
	color: rgba(255, 251, 245, 0.92);
	font-size: 0.875rem;
}

/* Masthead */
.sc-masthead {
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	background: rgba(255, 251, 245, 0.94);
	border-bottom: var(--sc-hairline);
	position: relative;
}

.sc-masthead__inner {
	min-height: var(--wp--custom--header-height, 88px);
}

.sc-brand {
	gap: 1rem;
	min-width: 0;
}

.sc-brand .wp-block-site-logo img {
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--sc-gold-line);
}

.sc-brand .wp-block-site-title {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.125rem, 1.8vw, 1.375rem) !important;
	font-weight: 600;
	letter-spacing: -0.005em;
	line-height: 1.15;
	margin: 0;
}

.sc-brand .wp-block-site-title a {
	text-decoration: none;
}

.sc-brand .wp-block-site-tagline {
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin: 0;
	text-transform: uppercase;
}

.lang-hi .sc-brand .wp-block-site-tagline {
	font-size: var(--wp--preset--font-size--small) !important;
	letter-spacing: 0;
}

/* Keep the header (and the mobile menu panel inside it) above page content. */
header.wp-block-template-part {
	position: relative;
	z-index: 50;
}

/* -------------------------------------------------------------------------
 * Main navigation
 * ---------------------------------------------------------------------- */

.sc-menu,
.sc-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-menu a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.sc-nav__toggle {
	display: none;
}

.sc-submenu-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 3px;
	color: var(--wp--preset--color--muted);
	cursor: pointer;
	display: inline-flex;
	height: 28px;
	justify-content: center;
	padding: 0;
	width: 24px;
}

.sc-submenu-toggle svg {
	height: 14px;
	transition: transform 0.25s var(--sc-ease);
	width: 14px;
}

.sc-menu .is-open > .sc-submenu-toggle svg {
	transform: rotate(180deg);
}

/* -------------------------------------------------------------------------
 * Page header (inner pages)
 * ---------------------------------------------------------------------- */

/* A compact deep saffron band in both modes: the ivory serif title on the left,
 * light saffron breadcrumbs on the right, closed by a saffron rule. Everything inside is set explicitly because the
 * palette's text colours are meant for light backgrounds. */
.sc-page-header {
	background:
		radial-gradient(ellipse 45% 160% at 85% 0%, rgba(255, 153, 51, 0.16), transparent 70%),
		var(--wp--preset--gradient--ink);
	border-bottom: 3px solid var(--wp--preset--color--accent);
	color: rgba(255, 251, 245, 0.92);
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(2.25rem, 4.5vw, 3.75rem) !important;
	position: relative;
}

/* Chakra-like rings and a Bodhi leaf at the right edge. */
.sc-page-header::before {
	background: repeating-radial-gradient(circle at center, transparent 0 34px, rgba(255, 228, 199, 0.1) 35px 36px);
	border-radius: 50%;
	content: "";
	height: 520px;
	pointer-events: none;
	position: absolute;
	right: -140px;
	top: 50%;
	transform: translateY(-50%);
	width: 520px;
	z-index: -1;
}

.sc-page-header::after {
	background: #ffe4c7;
	content: "";
	height: 150px;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	opacity: 0.12;
	pointer-events: none;
	position: absolute;
	right: 8%;
	top: 50%;
	transform: translateY(-50%) rotate(18deg);
	width: 96px;
	z-index: -1;
}

/* Title (and anything under it) on the left, breadcrumbs on the right of the first row. On narrow screens
 * the breadcrumbs move onto their own line above the title, so long titles never squeeze them. */
.sc-page-header > .alignwide {
	align-items: center;
	column-gap: var(--wp--preset--spacing--50, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	row-gap: 0.625rem;
}

.sc-page-header > .alignwide > * {
	grid-column: 1;
	margin-block: 0 !important;
}

.sc-page-header > .alignwide > .wp-block-schoudhary-breadcrumbs {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	max-width: min(28rem, 40vw);
}

.sc-page-header .sc-breadcrumbs {
	flex-wrap: wrap;
	justify-content: flex-end;
	text-align: right;
}

@media (max-width: 781px) {
	.sc-page-header > .alignwide {
		grid-template-columns: minmax(0, 1fr);
	}

	.sc-page-header > .alignwide > .wp-block-schoudhary-breadcrumbs {
		grid-column: 1;
		justify-self: start;
		max-width: 100%;
	}

	.sc-page-header .sc-breadcrumbs {
		justify-content: flex-start;
		text-align: left;
	}
}

.sc-page-header :is(h1, .wp-block-post-title) {
	color: #fffbf5;
	font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem);
	font-weight: 600;
	letter-spacing: -0.005em;
	line-height: 1.2;
	max-width: 36ch;
	text-wrap: balance;
}

.sc-page-header :is(.wp-block-post-date, .wp-block-term-description, .sc-event-meta, .sc-event-meta__date) {
	color: inherit;
}

.sc-page-header .sc-event-meta__status {
	border-color: rgba(255, 228, 199, 0.5);
	color: #ffe4c7;
}

.sc-page-header .wp-block-term-description {
	max-width: 46rem;
}

.sc-page-header .wp-block-search {
	max-width: 32rem;
}

.sc-page-header .sc-eyebrow,
.sc-page-header .sc-eyebrow a {
	color: #ffe4c7;
}

.sc-page-header .sc-breadcrumbs li:not(:last-child)::after {
	color: rgba(255, 228, 199, 0.7);
}

.sc-page-header .sc-breadcrumbs a {
	color: rgba(255, 251, 245, 0.92);
}

.sc-page-header .sc-breadcrumbs a:hover {
	color: #fffbf5;
}

.sc-page-header .sc-breadcrumbs [aria-current] {
	color: #ffe4c7;
}

.sc-page-header :focus-visible {
	outline-color: #ffe4c7;
}

.sc-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--x-small);
	gap: 0.375rem;
	letter-spacing: 0.08em;
	list-style: none;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.lang-hi .sc-breadcrumbs {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

.sc-breadcrumbs li:not(:last-child)::after {
	color: var(--wp--preset--color--accent);
	content: "/";
	margin-left: 0.5rem;
}

.sc-breadcrumbs a {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}

.sc-breadcrumbs a:hover {
	color: var(--wp--preset--color--accent-dark);
}

.sc-breadcrumbs [aria-current] {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

/* Long-form content */
.wp-block-post-content > p:first-child:not([class]) {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.6;
}

.wp-block-post-content h2 {
	font-size: var(--wp--preset--font-size--x-large);
	margin-top: var(--wp--preset--spacing--50);
}

/* Short saffron-to-green rule under section headings in long text. */
body:not(.home) .wp-block-post-content h2:not(.has-text-align-center)::after {
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0 60%, var(--wp--preset--color--green) 60%);
	content: "";
	display: block;
	height: 3px;
	margin-top: 0.75rem;
	width: 56px;
}

body:not(.home) .wp-block-post-content :is(ul, ol):not([class*="sc-"]) li::marker {
	color: var(--wp--preset--color--accent);
}

body:not(.home) .wp-block-post-content .wp-block-quote:not(.sc-message) {
	background: var(--wp--preset--color--surface);
	border-left: 4px solid var(--wp--preset--color--accent);
	padding: 1.5rem 1.75rem;
}

body:not(.home) .wp-block-post-content .wp-block-image:not(.sc-portrait) img {
	border-radius: var(--sc-radius);
}

/* Columns can run wider than the reading column; keep prose near 70-75 characters a line. */
.wp-block-post-content .wp-block-column > :is(p, ul, ol):not(.has-text-align-center) {
	max-width: 36em;
}

.wp-block-table.is-style-stripes {
	border-bottom: 0;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: var(--wp--preset--color--surface);
}

.wp-block-table :is(th, td) {
	border: 0;
	border-bottom: var(--sc-hairline);
	padding: 0.75rem 0.875rem;
	text-align: left;
	vertical-align: top;
}

.wp-block-table th {
	color: var(--wp--preset--color--muted);
	font-weight: 600;
	width: 40%;
}

/* -------------------------------------------------------------------------
 * Hero
 * ---------------------------------------------------------------------- */

/* Arched portrait with an offset gold outline. */
.sc-portrait {
	margin: 0 auto;
	max-width: 440px;
	position: relative;
}

.sc-portrait::before {
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 999px 999px 8px 8px;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transform: translate(18px, 18px);
	z-index: 0;
}

.sc-portrait img {
	aspect-ratio: 4 / 5;
	border-radius: 999px 999px 8px 8px;
	box-shadow: 0 30px 60px -30px rgba(110, 53, 0, 0.45);
	display: block;
	object-fit: cover;
	position: relative;
	width: 100%;
	z-index: 1;
}

/* Values strip under the hero */
.sc-values {
	background: var(--wp--preset--color--white);
	border-block: var(--sc-hairline);
}

.sc-value {
	padding: 0.75rem var(--wp--preset--spacing--40);
	text-align: center;
}

.sc-value + .sc-value {
	border-left: var(--sc-hairline);
}

.sc-value::before {
	background: var(--wp--preset--color--accent);
	content: "";
	display: block;
	height: 26px;
	margin: 0 auto 0.75rem;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	width: 17px;
}

.sc-value h3 {
	margin: 0 0 0.375rem;
}

.sc-value p {
	color: var(--wp--preset--color--muted);
	margin: 0 auto;
	max-width: 26em;
}

/* -------------------------------------------------------------------------
 * Dark band (message from the CM)
 * ---------------------------------------------------------------------- */

.sc-message {
	border: 0 !important;
	margin-top: 1.5rem;
	padding: 0 !important;
	text-align: center;
}

.sc-message p {
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-weight: 400;
	line-height: 1.5;
}

.lang-hi .sc-message p {
	font-style: normal;
	line-height: 1.7;
}

.sc-message cite {
	color: #ffe4c7;
	display: block;
	font-size: var(--wp--preset--font-size--x-small);
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.16em;
	margin-top: 2rem;
	text-transform: uppercase;
}

.lang-hi .sc-message cite {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

/* -------------------------------------------------------------------------
 * Section heads, cards, lists, empty states
 * ---------------------------------------------------------------------- */

.sc-section-head {
	align-items: end;
	border-bottom: var(--sc-hairline);
	gap: 1rem;
	padding-bottom: 1.5rem;
}

.sc-section-head h2 {
	margin: 0;
}

.sc-card {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	border-radius: var(--sc-radius);
	height: 100%;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.35s var(--sc-ease), transform 0.35s var(--sc-ease), border-color 0.35s;
}

.sc-card:hover,
.sc-card:focus-within {
	border-color: var(--sc-gold-line);
	box-shadow: var(--sc-shadow);
	transform: translateY(-6px);
}

.sc-card > * {
	margin-block: 0;
}

/* Saffron line that draws across the bottom on hover. */
.sc-card::after {
	background: linear-gradient(90deg, var(--wp--preset--color--accent), var(--wp--preset--color--primary));
	content: "";
	height: 3px;
	inset: auto 0 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.45s var(--sc-ease);
}

.sc-card:hover::after,
.sc-card:focus-within::after {
	transform: scaleX(1);
}

.sc-card .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
}

.sc-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 0.6s var(--sc-ease);
	width: 100%;
}

.sc-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.sc-card__body {
	padding: 1.5rem 1.5rem 1.75rem;
}

.sc-card .wp-block-post-title {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0.25rem 0 0.625rem;
}

.sc-card .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: color 0.2s;
}

.sc-card:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
}

/* Whole card is clickable via the title link. */
.sc-card .wp-block-post-title a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.sc-card .sc-eyebrow {
	background: var(--wp--preset--color--accent-soft);
	border-radius: 999px;
	margin-bottom: 0.5rem;
	padding: 0.2rem 0.75rem;
}

.sc-card .sc-eyebrow::before {
	display: none;
}

.sc-card .sc-eyebrow a {
	color: inherit;
	position: relative;
	text-decoration: none;
	z-index: 1;
}

.sc-card .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
	margin: 0;
}

.sc-list .wp-block-post-template > li {
	border-bottom: var(--sc-hairline);
	padding-block: 1.25rem;
}

.sc-list .wp-block-post-title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0.375rem 0 0;
}

.sc-list .wp-block-post-title a {
	text-decoration: none;
	transition: color 0.2s;
}

.sc-list .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent-dark);
}

.sc-empty {
	background: color-mix(in srgb, var(--wp--preset--color--white) 60%, transparent);
	border: 1px dashed var(--wp--preset--color--border);
	border-radius: var(--sc-radius);
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	padding: 2.5rem 1.5rem;
	text-align: center;
}

.lang-hi .sc-empty {
	font-style: normal;
}

.sc-empty::before {
	background: var(--wp--preset--color--accent);
	content: "";
	display: block;
	height: 28px;
	margin: 0 auto 0.875rem;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	opacity: 0.7;
	width: 18px;
}

/* Vision pillars: numbered cards (01, 02, …) that lift on hover. */
:where(.wp-block-group):has(> .sc-pillar) {
	counter-reset: sc-pillar;
}

.sc-pillar {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	border-radius: 14px;
	counter-increment: sc-pillar;
	height: 100%;
	overflow: hidden;
	position: relative;
	transition: border-color 0.3s, box-shadow 0.35s var(--sc-ease), transform 0.35s var(--sc-ease);
}

.sc-pillar::before {
	align-items: center;
	background: var(--wp--preset--color--accent-soft);
	border-radius: 50%;
	color: var(--wp--preset--color--primary);
	content: counter(sc-pillar, decimal-leading-zero);
	display: flex;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	height: 3.25rem;
	justify-content: center;
	margin-bottom: 1.25rem;
	transition: background-color 0.3s, color 0.3s;
	width: 3.25rem;
}

.sc-pillar::after {
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0 33.33%, var(--wp--preset--color--accent-soft) 33.33% 66.67%, var(--wp--preset--color--green) 66.67%);
	content: "";
	height: 3px;
	inset: 0 0 auto;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.45s var(--sc-ease);
}

.sc-pillar:hover {
	border-color: var(--sc-gold-line);
	box-shadow: var(--sc-shadow);
	transform: translateY(-6px);
}

.sc-pillar:hover::before {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.sc-pillar:hover::after {
	transform: scaleX(1);
}

.sc-pillar p {
	color: var(--wp--preset--color--muted);
}

/* Event meta */
.sc-event-meta {
	align-items: center;
	color: var(--wp--preset--color--muted);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--x-small);
	gap: 0.375rem 0.75rem;
	letter-spacing: 0.04em;
}

.sc-event-meta__status {
	border: 1px solid var(--sc-gold-line);
	border-radius: 1em;
	color: var(--wp--preset--color--accent-dark);
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0.05rem 0.6rem;
	text-transform: uppercase;
}

.sc-event-meta__date {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.sc-event-meta__venue::before {
	color: var(--wp--preset--color--accent);
	content: "·  ";
}

/* Placeholder text, as seen by logged-in staff (visitors never get it). */
.sc-placeholder {
	background: repeating-linear-gradient(-45deg, rgba(255, 153, 51, 0.08) 0 8px, transparent 8px 16px);
	border: 1px dashed var(--wp--preset--color--accent);
	border-radius: 4px;
	padding: 0.5rem 0.75rem;
}

.sc-placeholder::after {
	color: var(--wp--preset--color--accent-dark);
	content: attr(data-sc-note);
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-top: 0.25rem;
}

.sc-placeholder-cell {
	outline: 1px dashed var(--wp--preset--color--accent);
	outline-offset: -4px;
}

/* Sitemap page */
.sc-sitemap {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.sc-sitemap__section h2 {
	font-size: var(--wp--preset--font-size--large);
}

.sc-sitemap__list,
.sc-sitemap__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-sitemap__list > li {
	border-bottom: var(--sc-hairline);
	padding: 0.625rem 0;
}

.sc-sitemap__list > li > a {
	font-weight: 600;
}

.sc-sitemap__list .sub-menu {
	margin-top: 0.375rem;
	padding-left: 1rem;
}

.sc-sitemap__list .sub-menu li {
	padding: 0.25rem 0;
}

/* Speech / event video */
.sc-video {
	margin: 0;
}

.sc-video iframe {
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 10px;
	display: block;
	height: auto;
	width: 100%;
}

/* Video cards (Videos page and "More videos"): thumbnail with a play disc, title, date and channel.
 * The whole thumbnail and title are one link to the video's own page. */
.sc-video-grid__list {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-video-card {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	min-width: 0;
}

.sc-video-card__link {
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	text-decoration: none;
}

.sc-video-card__thumb {
	aspect-ratio: 16 / 9;
	background: #1a0d00;
	border-radius: 10px;
	box-shadow: var(--sc-shadow);
	display: block;
	overflow: hidden;
	position: relative;
}

.sc-video-card__thumb img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--sc-ease);
	width: 100%;
}

.sc-video-card__thumb::after {
	background: linear-gradient(180deg, transparent 55%, rgba(26, 13, 0, 0.45));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

/* Saffron disc with a dark play icon, centred on the thumbnail. */
.sc-video-card__play,
.sc-video-card__play::after {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.sc-video-card__play {
	background: var(--wp--preset--color--accent);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(255, 153, 51, 0.35), 0 12px 30px -8px rgba(70, 33, 0, 0.6);
	height: 60px;
	transition: transform 0.35s var(--sc-ease);
	width: 60px;
	z-index: 1;
}

.sc-video-card__play::after {
	background: #1a0d00;
	content: "";
	height: 22px;
	margin-left: 2px;
	-webkit-mask: url("assets/images/icons/play.svg") center / contain no-repeat;
	mask: url("assets/images/icons/play.svg") center / contain no-repeat;
	width: 22px;
}

.sc-video-card__link:hover .sc-video-card__thumb img,
.sc-video-card__link:focus-visible .sc-video-card__thumb img {
	transform: scale(1.05);
}

.sc-video-card__link:hover .sc-video-card__play,
.sc-video-card__link:focus-visible .sc-video-card__play {
	transform: translate(-50%, -50%) scale(1.12);
}

.sc-video-card__link:focus-visible {
	outline: none;
}

.sc-video-card__link:focus-visible .sc-video-card__thumb {
	outline: 3px solid var(--sc-focus, var(--wp--preset--color--primary));
	outline-offset: 3px;
}

/* Prefixed with the grid so long-text heading styles (size, rule underneath) don't apply on pages. */
.sc-video-grid .sc-video-card__title {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.35;
	margin: 0;
	transition: color 0.2s;
}

.sc-video-grid .sc-video-card__title::after {
	content: none !important;
}

.sc-video-card__link:hover .sc-video-card__title {
	color: var(--wp--preset--color--primary);
}

.sc-video-card__meta {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
}

.sc-video-grid__pages {
	margin-top: var(--wp--preset--spacing--60);
}

/* paginate_links() puts .page-numbers on the <ul> too, so style the items
 * through li > … only. */
.sc-video-grid__pages ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-video-grid__pages li {
	margin: 0;
}

.sc-video-grid__pages li > .page-numbers {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--wp--preset--color--primary);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	height: 2.75rem;
	justify-content: center;
	line-height: 1;
	min-width: 2.75rem;
	padding: 0 0.5rem;
	text-decoration: none;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.sc-video-grid__pages a.page-numbers:hover,
.sc-video-grid__pages a.page-numbers:focus-visible {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.sc-video-grid__pages li > .page-numbers.current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--sc-shadow);
	color: var(--wp--preset--color--white);
}

.sc-video-grid__pages li > .page-numbers.dots {
	background: none;
	border-color: transparent;
	color: var(--wp--preset--color--muted);
	min-width: 1.5rem;
	padding: 0;
}

.sc-video-grid__pages li > .prev,
.sc-video-grid__pages li > .next {
	gap: 0.375rem;
	padding: 0 1.125rem;
}

.sc-video-grid__pages .prev::before {
	content: "\2190";
}

.sc-video-grid__pages .next::after {
	content: "\2192";
}

/* Video page: the player on a dark stage across the full width of the screen,
 * as large as fits under the header without scrolling. */
.sc-video-meta {
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
	opacity: 0.9;
}

.sc-video-stage {
	background: #0b0704;
	margin-block: 0 !important;
	padding-block: clamp(0rem, 2.5vw, 2rem);
}

.sc-video-player {
	margin-inline: auto;
	max-width: 100%;
	width: calc((100vh - 7rem) * 16 / 9);
	width: calc((100svh - 7rem) * 16 / 9);
}

.sc-video-player__frame {
	aspect-ratio: 16 / 9;
	background: #000;
}

.sc-video-player iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.sc-video-about > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

/* Speech page: text column with an "About this speech" card beside it. */
.sc-speech-page {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: minmax(0, 1fr) 20rem;
}

.sc-speech-page__main {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	min-width: 0;
}

.sc-speech-page__main > * {
	margin-block: 0;
}

.sc-speech-page__main .sc-video iframe,
.sc-speech-lead img {
	box-shadow: var(--sc-shadow);
}

.sc-speech-lead img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
}

.sc-speech-text {
	font-size: 1.125rem;
	line-height: 1.8;
}

.sc-speech-text > * + * {
	margin-block-start: 1.15em;
}

.sc-speech-text :is(h2, h3) {
	margin-block-start: 1.8em;
}

.sc-speech-text blockquote {
	border-inline-start: 4px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.2em;
	line-height: 1.6;
	margin-inline: 0;
	padding-inline-start: 1.25rem;
}

.sc-speech-text img {
	border-radius: 10px;
	height: auto;
	max-width: 100%;
}

.sc-speech-page__aside {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	position: sticky;
	top: 7rem;
}

.sc-speech-page__aside > * {
	margin-block: 0;
}

.sc-speech-page__aside .sc-share {
	border: var(--sc-hairline);
	border-radius: 10px;
	padding-inline: 1.25rem;
}

.sc-speech-details {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	border-radius: 10px;
	border-top: 4px solid var(--wp--preset--color--primary);
	box-shadow: var(--sc-shadow);
	padding: 1.5rem;
}

.sc-speech-details__title {
	font-size: var(--wp--preset--font-size--medium);
	margin: 0 0 1rem;
}

.sc-speech-details dl {
	display: grid;
	gap: 0.85rem;
	margin: 0;
}

.sc-speech-details dt {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sc-speech-details dd {
	margin: 0.15rem 0 0;
}

.sc-speech-details__links {
	border-top: var(--sc-hairline);
	display: grid;
	gap: 0.6rem;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 1.25rem 0 0;
}

.sc-speech-details__links a {
	font-weight: 600;
}

.sc-speech-details__watch {
	align-items: center;
	background: var(--wp--preset--color--primary);
	border-radius: 999px;
	color: var(--wp--preset--color--white) !important;
	display: inline-flex;
	gap: 0.5rem;
	padding: 0.55rem 1.1rem;
	text-decoration: none;
}

.sc-speech-details__watch::before {
	border-block: 0.38em solid transparent;
	border-inline-start: 0.6em solid currentColor;
	content: "";
}

.sc-speech-details__watch:hover {
	background: var(--wp--preset--color--accent-dark);
}

.sc-speech-photos__title {
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 1rem;
}

.sc-speech-photos__grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.sc-speech-photos figure {
	margin: 0;
}

.sc-speech-photos a {
	border-radius: 8px;
	display: block;
	overflow: hidden;
}

.sc-speech-photos img {
	aspect-ratio: 4 / 3;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.5s var(--sc-ease);
	width: 100%;
}

.sc-speech-photos a:hover img {
	transform: scale(1.04);
}

.sc-speech-photos figcaption {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	margin-top: 0.4rem;
}

/* On wide screens sharing sits in the side card's column, not under the text. */
.sc-speech-page__main > .sc-share {
	display: none;
}

.sc-speech-page__nav {
	border-top: var(--sc-hairline);
	gap: 1rem;
	padding-top: 1rem;
}

.sc-more-speeches {
	background: var(--wp--preset--color--surface);
	border-top: var(--sc-hairline);
	margin-top: 0 !important;
}

/* Initiative details */
.sc-initiative__facts {
	align-items: center;
	color: var(--wp--preset--color--muted);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--small);
	gap: 0.375rem 0.75rem;
	margin: 0;
}

.sc-initiative__facts > span + span::before {
	color: var(--wp--preset--color--accent);
	content: "·  ";
}

.sc-initiative__facts > .sc-initiative__status + span::before {
	content: none;
}

.sc-initiative__status {
	border: 1px solid var(--sc-gold-line);
	border-radius: 1em;
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 0.05rem 0.6rem;
	text-transform: uppercase;
}

.sc-initiative__status.is-completed {
	border-color: var(--wp--preset--color--green);
	color: var(--wp--preset--color--green);
}

.sc-initiative__figures {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	margin: 1.5rem 0 0;
}

.sc-initiative__figures > div {
	background: var(--wp--preset--color--surface);
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: var(--sc-radius);
	padding: 1rem 1.25rem;
}

.sc-initiative__figures dt {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	line-height: 1.1;
}

.sc-initiative__figures dd {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.25rem 0 0;
}

.sc-initiative--guide {
	border-top: var(--sc-hairline);
	display: grid;
	gap: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--40);
}

.sc-initiative__section h2 {
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 0.5rem;
}

.sc-initiative__section ul,
.sc-initiative__section ol {
	margin: 0;
	padding-left: 1.25rem;
}

.sc-initiative__section li + li {
	margin-top: 0.375rem;
}

.sc-initiative--guide .wp-block-button {
	justify-self: start;
}

/* Timeline: one column of cards hanging off a rail on the left. */
.sc-timeline {
	--sc-tl-rail: 1rem;
	--sc-tl-indent: 3.25rem;
	margin-inline: auto !important;
	max-width: 880px !important;
	padding-left: var(--sc-tl-indent);
	position: relative;
}

.sc-timeline::before {
	background: linear-gradient(transparent, var(--wp--preset--color--accent) 4rem, var(--sc-gold-line) calc(100% - 4rem), transparent);
	bottom: 0;
	content: "";
	left: calc(var(--sc-tl-rail) - 1px);
	position: absolute;
	top: 0;
	width: 2px;
}

.sc-timeline > .wp-block-group {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(110, 53, 0, 0.04), 0 14px 32px -24px rgba(110, 53, 0, 0.45);
	padding: 1.25rem 1.5rem;
	position: relative;
	transition: box-shadow 0.3s var(--sc-ease), transform 0.3s var(--sc-ease), border-color 0.3s var(--sc-ease);
}

.sc-timeline > .wp-block-group:hover {
	border-color: var(--sc-gold-line);
	box-shadow: 0 1px 2px rgba(110, 53, 0, 0.05), 0 22px 40px -24px rgba(110, 53, 0, 0.55);
	transform: translateY(-2px);
}

/* Dot on the rail, with a short tick reaching across to the card. */
.sc-timeline > .wp-block-group::before {
	background: var(--wp--preset--color--accent);
	border-radius: 50%;
	box-shadow: 0 0 0 4px var(--wp--preset--color--base), 0 0 0 5px var(--sc-gold-line);
	content: "";
	height: 14px;
	left: calc(var(--sc-tl-rail) - var(--sc-tl-indent) - 8px);
	position: absolute;
	top: 1.75rem;
	transition: transform 0.3s var(--sc-ease);
	width: 14px;
}

.sc-timeline > .wp-block-group::after {
	background: var(--sc-gold-line);
	content: "";
	height: 1px;
	left: calc(var(--sc-tl-rail) - var(--sc-tl-indent) + 12px);
	position: absolute;
	top: calc(1.75rem + 7px);
	width: calc(var(--sc-tl-indent) - var(--sc-tl-rail) - 13px);
}

.sc-timeline > .wp-block-group:hover::before {
	transform: scale(1.2);
}

.sc-timeline h3 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.1;
}

.sc-timeline h3::after {
	background: var(--wp--preset--color--accent);
	content: "";
	display: block;
	height: 2px;
	margin-top: 0.625rem;
	width: 2.5rem;
}

/* Entries with a photo: photo beside the text, dot level with the card's middle. */
.sc-timeline > .sc-timeline__item {
	align-items: center;
	display: grid;
	gap: 0 1.75rem;
	grid-template-columns: 15rem minmax(0, 1fr);
	padding: 1rem;
}

.sc-timeline > .sc-timeline__item::before {
	top: calc(50% - 7px);
}

.sc-timeline > .sc-timeline__item::after {
	top: 50%;
}

.sc-timeline > .sc-timeline__item > * {
	margin-block: 0;
}

.sc-timeline__photo {
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

.sc-timeline__photo img {
	aspect-ratio: 4 / 3;
	display: block;
	filter: saturate(0.9);
	height: auto;
	object-fit: cover;
	transition: filter 0.3s ease, transform 0.6s var(--sc-ease);
	width: 100%;
}

.sc-timeline__item:hover .sc-timeline__photo img {
	filter: none;
	transform: scale(1.04);
}

.sc-timeline__photo figcaption {
	background: linear-gradient(transparent, rgba(0, 0, 51, 0.82));
	bottom: 0;
	color: #fff;
	display: -webkit-box;
	font-size: 0.6875rem;
	inset-inline: 0;
	line-height: 1.35;
	margin: 0;
	opacity: 0;
	overflow: hidden;
	padding: 1.25rem 0.5rem 0.375rem;
	position: absolute;
	transition: opacity 0.25s ease;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.sc-timeline__item:hover .sc-timeline__photo figcaption,
.sc-timeline__item:focus-within .sc-timeline__photo figcaption {
	opacity: 1;
}

.sc-timeline__text {
	padding-block: 0.5rem;
	padding-right: 0.5rem;
}

.sc-timeline__text p {
	color: var(--wp--preset--color--muted);
	font-size: 1.0625rem;
	line-height: 1.65;
	margin-top: 0.875rem;
}

@media (prefers-reduced-motion: reduce) {
	.sc-timeline > .wp-block-group,
	.sc-timeline > .wp-block-group::before,
	.sc-timeline__photo img,
	.sc-timeline__photo figcaption {
		transition: none;
	}

	.sc-timeline > .wp-block-group:hover,
	.sc-timeline > .wp-block-group:hover::before,
	.sc-timeline__item:hover .sc-timeline__photo img {
		transform: none;
	}
}

/* Share links */
.sc-share {
	align-items: center;
	border-block: var(--sc-hairline);
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	padding-block: 1rem;
}

.sc-share__label {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sc-share .wp-block-social-links {
	margin: 0;
}

.sc-share .wp-social-link {
	color: var(--wp--preset--color--primary);
	transition: color 0.2s, transform 0.2s;
}

.sc-share .wp-social-link:hover {
	color: var(--wp--preset--color--accent-dark);
	transform: translateY(-2px);
}

/* X (Twitter) feed */
.sc-xfeed {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	border-radius: var(--sc-radius);
	overflow: hidden;
}

.sc-xfeed__head {
	align-items: center;
	border-bottom: var(--sc-hairline);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem 1.5rem;
}

.sc-xfeed__account {
	align-items: center;
	color: var(--wp--preset--color--primary);
	display: inline-flex;
	font-weight: 600;
	gap: 0.625rem;
}

.sc-xfeed__follow {
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 999px;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 0.35rem 1rem;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.sc-xfeed__follow:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.sc-xfeed__consent {
	padding: 2.5rem 1.5rem;
	text-align: center;
}

.sc-xfeed__consent::before {
	background: var(--wp--preset--color--accent);
	content: "";
	display: block;
	height: 28px;
	margin: 0 auto 1rem;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	opacity: 0.7;
	width: 18px;
}

.sc-xfeed__consent p {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0 auto 1.25rem;
	max-width: 30em;
}

.sc-xfeed__load {
	border: 0;
	cursor: pointer;
}

.sc-xfeed__embed {
	padding: 0.5rem 1.5rem;
}

/* Selected posts side by side; X sizes each post to its column. */
.sc-xfeed--posts .sc-xfeed__embed {
	align-items: start;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	padding: 1.5rem;
}

.sc-xfeed--posts .twitter-tweet-rendered {
	margin: 0 !important;
	max-width: none !important;
}

.sc-xfeed--posts .twitter-tweet-rendered iframe {
	width: 100% !important;
}

.sc-xfeed__embed[hidden],
.sc-xfeed__consent[hidden],
.sc-xfeed__fallback[hidden] {
	display: none;
}

.sc-xfeed[aria-busy="true"] .sc-xfeed__embed {
	min-height: 220px;
	background: linear-gradient(90deg, transparent, rgba(255, 153, 51, 0.08), transparent) 0 0 / 200% 100%;
	animation: sc-shimmer 1.4s linear infinite;
}

@keyframes sc-shimmer {
	to {
		background-position: -200% 0;
	}
}

/* Before X's script runs, embedded posts are plain links. */
.sc-xfeed .twitter-tweet:not(.twitter-tweet-rendered) {
	border-left: 2px solid var(--wp--preset--color--accent);
	margin: 0.5rem 0;
	padding: 0.5rem 1rem;
}

.sc-xfeed__fallback {
	color: var(--wp--preset--color--muted);
	font-style: italic;
	margin: 0;
	padding: 1.5rem;
	text-align: center;
}

.sc-xfeed__more {
	border-top: var(--sc-hairline);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
	padding: 0.875rem 1.5rem;
	text-align: right;
}

.sc-xfeed__more a {
	font-weight: 500;
	text-decoration: none;
}

.sc-xfeed__more a::after {
	content: " →";
}

.sc-xfeed__hint {
	border: 1px dashed var(--wp--preset--color--border);
	padding: 1.5rem;
	text-align: center;
}

/* Post cards (rendered on the server in the site's own design). The account
 * sits on a deep saffron banner, the posts in a grid below it. */
.sc-xfeed--cards {
	background: transparent;
	border: 0;
	overflow: visible;
}

.sc-xfeed--cards .sc-xfeed__head {
	background:
		repeating-radial-gradient(circle at 92% 50%, transparent 0 26px, rgba(255, 228, 199, 0.1) 27px 28px),
		var(--wp--preset--gradient--ink);
	border: 0;
	border-radius: 14px;
	flex-wrap: wrap;
	padding: 1.25rem 1.75rem;
}

.sc-xfeed--cards .sc-xfeed__account {
	color: #ffffff;
	font-size: 1.125rem;
	gap: 0.75rem;
}

.sc-xfeed__avatar {
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(255, 251, 245, 0.85), 0 8px 20px -8px rgba(70, 33, 0, 0.6);
	height: 52px;
	width: 52px;
}

.sc-xfeed--cards .sc-xfeed__follow {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	padding: 0.55rem 1.4rem;
}

.sc-xfeed--cards .sc-xfeed__follow:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
}

.sc-xfeed__cards {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	margin-top: 1.5rem;
}

.sc-xpost {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	border-radius: 14px;
	box-shadow: 0 18px 40px -30px rgba(110, 53, 0, 0.45);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.35s var(--sc-ease), transform 0.35s var(--sc-ease), border-color 0.35s;
}

.sc-xpost::before {
	background: linear-gradient(90deg, var(--wp--preset--color--accent), var(--wp--preset--color--primary));
	content: "";
	height: 3px;
	inset: 0 0 auto;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.45s var(--sc-ease);
}

.sc-xpost:hover,
.sc-xpost:focus-within {
	border-color: var(--sc-gold-line);
	box-shadow: var(--sc-shadow);
	transform: translateY(-6px);
}

.sc-xpost:hover::before,
.sc-xpost:focus-within::before {
	transform: scaleX(1);
}

.sc-xpost__head {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	padding: 1.25rem 1.25rem 0.875rem;
}

.sc-xpost__avatar {
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--wp--preset--color--accent-soft);
	flex: none;
	height: 44px;
	width: 44px;
}

.sc-xpost__who {
	display: flex;
	flex: 1;
	flex-direction: column;
	line-height: 1.3;
	min-width: 0;
}

.sc-xpost__name {
	align-items: center;
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	font-weight: 700;
	gap: 0.3rem;
}

.sc-xpost__tick {
	color: var(--wp--preset--color--primary);
	flex: none;
}

.sc-xpost__handle {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
}

.sc-xpost__x {
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	opacity: 0.75;
	transition: color 0.2s, opacity 0.2s;
}

.sc-xpost__x:hover {
	color: var(--wp--preset--color--primary);
	opacity: 1;
}

.sc-xpost__text {
	-webkit-box-orient: vertical;
	color: var(--wp--preset--color--contrast);
	display: -webkit-box;
	font-size: var(--wp--preset--font-size--medium);
	-webkit-line-clamp: 5;
	line-clamp: 5;
	line-height: 1.65;
	margin: 0 0 1rem;
	overflow: hidden;
	padding: 0 1.25rem;
}

.sc-xpost__text a {
	color: var(--wp--preset--color--primary);
	font-weight: 500;
	text-decoration: none;
}

.sc-xpost__text a:hover {
	text-decoration: underline;
}

.sc-xpost__media {
	aspect-ratio: 16 / 10;
	display: grid;
	gap: 3px;
	grid-auto-rows: 1fr;
	margin: 0 0 1.125rem;
	overflow: hidden;
}

/* Photo-only posts: the photos fill the card instead of leaving a gap. */
.sc-xpost:not(:has(.sc-xpost__text)) .sc-xpost__media {
	aspect-ratio: auto;
	flex: 1;
	margin-bottom: 0;
	min-height: 240px;
}

.sc-xpost__media--2,
.sc-xpost__media--4 {
	grid-template-columns: 1fr 1fr;
}

.sc-xpost__media--3 {
	grid-template-columns: 1.4fr 1fr;
}

.sc-xpost__media--3 .sc-xpost__photo:first-child {
	grid-row: span 2;
}

.sc-xpost__photo {
	display: block;
	min-height: 0;
	overflow: hidden;
	position: relative;
}

.sc-xpost__photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--sc-ease);
	width: 100%;
}

.sc-xpost:hover .sc-xpost__photo img {
	transform: scale(1.05);
}

/* Videos play on X: show a play disc over the still. */
.sc-xpost__photo.is-video::after {
	background: var(--wp--preset--color--accent);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(255, 153, 51, 0.35);
	content: "";
	height: 52px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 52px;
}

.sc-xpost__foot {
	align-items: center;
	border-top: var(--sc-hairline);
	color: var(--wp--preset--color--muted);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--x-small);
	gap: 0.5rem 1rem;
	margin-top: auto;
	padding: 0.875rem 1.25rem;
}

.sc-xpost__stats {
	display: inline-flex;
	gap: 0.875rem;
}

.sc-xpost__stats > span {
	align-items: center;
	display: inline-flex;
	gap: 0.3rem;
}

.sc-xpost__likes > span[aria-hidden] {
	color: var(--wp--preset--color--accent-dark);
	font-size: 1.1em;
}

.sc-xpost__open {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	margin-left: auto;
	text-decoration: none;
}

.sc-xpost__open::after {
	content: "→";
	display: inline-block;
	margin-left: 0.35rem;
	transition: transform 0.25s var(--sc-ease);
}

.sc-xpost__open:hover::after {
	transform: translateX(3px);
}

.sc-xfeed--cards .sc-xfeed__more {
	border: 0;
	margin-top: 2rem;
	padding: 0;
	text-align: center;
}

.sc-xfeed--cards .sc-xfeed__more a {
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 999px;
	color: var(--wp--preset--color--primary);
	display: inline-block;
	font-weight: 600;
	padding: 0.7rem 1.75rem;
	transition: background-color 0.2s, color 0.2s;
}

.sc-xfeed--cards .sc-xfeed__more a:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.lang-hi .sc-xpost__text {
	line-height: 1.8;
}

/* CTA card */
.sc-cta {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	border-radius: var(--sc-radius);
	box-shadow: inset 0 0 0 8px var(--wp--preset--color--white), inset 0 0 0 9px var(--sc-gold-line);
	overflow: hidden;
	position: relative;
}

.sc-cta::before,
.sc-cta::after {
	background: var(--wp--preset--color--accent);
	content: "";
	height: 220px;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	opacity: 0.07;
	pointer-events: none;
	position: absolute;
	top: 50%;
	width: 140px;
}

.sc-cta::before {
	left: 4%;
	transform: translateY(-50%) rotate(-20deg);
}

.sc-cta::after {
	right: 4%;
	transform: translateY(-50%) rotate(20deg) scaleX(-1);
}

.sc-cta > * {
	position: relative;
	z-index: 1;
}

/* Contact details */
.sc-contact {
	display: grid;
	gap: 1.125rem;
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.sc-contact__label {
	display: block;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.12em;
	opacity: 0.75;
	text-transform: uppercase;
}

.lang-hi .sc-contact__label {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

.sc-contact address {
	font-style: normal;
}

/* -------------------------------------------------------------------------
 * Forms
 * ---------------------------------------------------------------------- */

.sc-form form {
	display: grid;
	gap: 1.25rem;
}

.sc-form__row {
	display: grid;
	gap: 1.25rem;
}

.sc-form__field label {
	color: var(--wp--preset--color--primary);
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.sc-form input[type="text"],
.sc-form input[type="email"],
.sc-form input[type="tel"],
.sc-form select,
.sc-form textarea,
.wp-block-search__input {
	background: var(--wp--preset--color--white);
	border: 1px solid #b9bedd;
	border-radius: 4px;
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	padding: 0.8rem 0.95rem;
	transition: border-color 0.2s, box-shadow 0.2s;
	width: 100%;
}

.sc-form :is(input, select, textarea):hover {
	border-color: #6b72a8;
}

.sc-form :is(input, select, textarea):focus {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(255, 153, 51, 0.28);
	outline: none;
}

.sc-form :is(input, select, textarea):user-invalid {
	border-color: #b42318;
}

.sc-form__other {
	margin-top: 0.75rem;
}

.sc-form__consent {
	align-items: flex-start;
	display: flex;
	gap: 0.75rem;
}

.sc-form__consent input {
	accent-color: var(--wp--preset--color--primary);
	flex: none;
	height: 1.125rem;
	margin-top: 0.3rem;
	width: 1.125rem;
}

.sc-form__consent label {
	color: var(--wp--preset--color--contrast);
	font-weight: 400;
	margin: 0;
}

.sc-form__note {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
}

/* Hint between a label and its box. */
.sc-form__field label + .sc-form__note {
	margin: -0.25rem 0 0.5rem;
}

/* Groups of fields (ways to help, social media handles). */
.sc-form__group {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	display: grid;
	gap: 1rem;
	margin: 0;
	min-width: 0;
	padding: 1rem 1.25rem 1.25rem;
}

.sc-form__group legend {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	padding: 0 0.4rem;
}

.sc-form__choices {
	display: grid;
	gap: 0.75rem 1.5rem;
}

.sc-form__choices .sc-form__consent label {
	font-size: var(--wp--preset--font-size--small);
}

.sc-form__hp {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.sc-form__notice {
	border-left: 3px solid;
	border-radius: 4px;
	font-weight: 500;
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
}

.sc-form__notice.is-success {
	background: #eaf6e8;
	border-color: var(--wp--preset--color--green);
	color: #0b5e05;
}

.sc-form__notice.is-error {
	background: #fdf1ef;
	border-color: #b42318;
	color: #7a271a;
}

.sc-form button[type="submit"] {
	border: 0;
	cursor: pointer;
	justify-self: start;
}

/* -------------------------------------------------------------------------
 * Footer
 * ---------------------------------------------------------------------- */

.sc-footer {
	background: linear-gradient(180deg, #0a5204 0%, #063803 100%) !important;
	position: relative;
}

.sc-footer::before {
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0 33.33%, #ffffff 33.33% 66.67%, var(--wp--preset--color--green) 66.67%);
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.sc-footer,
.sc-footer p {
	color: rgba(255, 251, 245, 0.78);
}

.sc-footer a {
	color: rgba(255, 251, 245, 0.9);
	text-decoration: none;
	transition: color 0.2s;
}

.sc-footer a:hover {
	color: #ffb366;
}

.sc-footer .wp-block-heading {
	color: #ffb366;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.14em;
	margin-bottom: 1.25rem;
	text-transform: uppercase;
}

.lang-hi .sc-footer .wp-block-heading {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

.sc-footer .wp-block-site-title {
	color: var(--wp--preset--color--base);
	font-size: 1.5rem !important;
	font-weight: 600;
	margin: 0;
}

.sc-footer .wp-block-site-title a {
	color: inherit;
}

.sc-footer .wp-block-site-tagline {
	color: #ffb366 !important;
	letter-spacing: 0.12em;
	margin-top: 0.25rem;
	text-transform: uppercase;
}

.lang-hi .sc-footer .wp-block-site-tagline {
	letter-spacing: 0;
}

.sc-footer .sc-menu--footer {
	display: grid;
	gap: 0.625rem;
}

.sc-footer .sc-menu a {
	color: rgba(255, 251, 245, 0.82);
}

.sc-footer .sc-menu a:hover {
	color: #ffb366;
}

.sc-footer .sc-menu--legal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
}

.sc-footer .wp-social-link {
	color: rgba(255, 251, 245, 0.82);
}

.sc-footer__muted {
	color: rgba(255, 251, 245, 0.62) !important;
}

/* -------------------------------------------------------------------------
 * Home page sections
 * ---------------------------------------------------------------------- */

/* Home page buttons: gold, square, spaced capitals. */
.home main .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.12em;
	padding: 1rem 2.25rem;
	text-transform: uppercase;
}

.home main .wp-block-button__link:hover,
.home main .wp-block-button__link:focus {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.home main .wp-block-button.is-style-sc-link > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	padding: 0.5rem 0 0.25rem;
}

.home main .wp-block-button.is-style-sc-link > .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--accent-dark);
}

.lang-hi.home main .wp-block-button__link {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

.home main h2.wp-block-heading {
	font-size: clamp(1.75rem, 3vw, 2.375rem);
	line-height: 1.12;
}

.lang-hi.home main h2.wp-block-heading {
	line-height: 1.35;
}

/* Centred section heading: eyebrow, title, Bodhi-leaf ornament. */
.sc-heading {
	text-align: center;
}

.sc-heading > * {
	margin-block: 0;
}

.sc-heading .sc-eyebrow::before,
.sc-heading .sc-eyebrow::after {
	display: none;
}

.sc-heading h2 {
	margin-top: 0.5rem;
}

.sc-heading .is-style-sc-ornament {
	margin-top: 1.25rem;
}

/* Short gold rule under left-aligned headings. */
.wp-block-separator.is-style-sc-rule {
	background: var(--wp--preset--color--accent);
	border: 0;
	height: 2px;
	margin-block: 1.5rem;
	margin-left: 0;
	opacity: 1;
	width: 4.5rem;
}

:where(.sc-intro, .sc-split__body, .sc-xfeed-section) .sc-eyebrow + .wp-block-heading {
	margin-top: 0.25rem;
}

.wp-block-heading + .is-style-sc-rule {
	margin-top: 1.5rem;
}

/* Dark panels (hero, message, events, split media): cover blocks with the
 * ink gradient, or an editor-chosen photo under a deep saffron overlay. */
/* Overlay above the photo, ornaments above the overlay, text on top. */
:where(.sc-hero, .sc-band-dark, .sc-split__media) .wp-block-cover__background {
	z-index: 1;
}

:where(.sc-hero, .sc-band-dark, .sc-split__media):has(.wp-block-cover__image-background) .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(122, 59, 0, 0.82), rgba(110, 53, 0, 0.9)) !important;
	opacity: 1 !important;
}

:where(.sc-hero, .sc-band-dark, .sc-split__media)::before {
	background: var(--wp--preset--color--accent);
	content: "";
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	opacity: 0.06;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

:where(.sc-hero, .sc-band-dark, .sc-split__media)::after {
	background: radial-gradient(ellipse at 50% 0%, rgba(255, 153, 51, 0.18), transparent 60%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

:where(.sc-hero, .sc-band-dark, .sc-split__media):has(.wp-block-cover__image-background)::before {
	display: none;
}

.sc-hero .wp-block-cover__inner-container,
.sc-band-dark .wp-block-cover__inner-container,
.sc-split__media .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
}

:where(.sc-hero, .sc-band-dark, .sc-split__media) :is(h1, h2, h3, p, .wp-block-site-title, .wp-block-post-title a) {
	color: var(--wp--preset--color--base);
}

:where(.sc-hero, .sc-band-dark, .sc-split__media) .sc-eyebrow,
.sc-hero .wp-block-site-tagline {
	color: #ffe4c7;
}

:where(.sc-hero, .sc-band-dark, .sc-split__media) .sc-eyebrow::before,
:where(.sc-hero, .sc-band-dark, .sc-split__media) .sc-eyebrow::after {
	background: #ffe4c7;
}

/* Hero */
.sc-hero::before {
	height: 640px;
	left: -120px;
	top: 50%;
	transform: translateY(-50%) rotate(24deg);
	width: 400px;
}

.sc-hero .sc-eyebrow {
	margin-bottom: 1.5rem;
}

.sc-hero__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.5rem, 5.5vw, 4.5rem) !important;
	font-weight: 500 !important;
	letter-spacing: -0.025em;
	line-height: 1.04 !important;
	margin: 0;
	text-wrap: balance;
}

.lang-hi .sc-hero__title {
	letter-spacing: 0;
	line-height: 1.25 !important;
}

.sc-hero .is-style-sc-ornament {
	margin-top: 1.75rem;
}

.sc-hero__lead {
	color: rgba(255, 251, 245, 0.86) !important;
	font-size: clamp(1rem, 1.3vw, 1.1875rem);
	line-height: 1.65;
	margin: 1.5rem auto 0;
	max-width: 38em;
	text-wrap: pretty;
}

/* Split hero: the photo keeps its colour on the left, the text sits on a
 * deep saffron fade at the right. */
.sc-hero--split {
	overflow: hidden;
}

.sc-hero--split:has(.wp-block-cover__image-background) .wp-block-cover__background {
	background:
		linear-gradient(270deg, rgba(110, 53, 0, 0.97) 0%, rgba(122, 59, 0, 0.92) 32%, rgba(150, 72, 0, 0.55) 56%, rgba(110, 53, 0, 0) 78%),
		linear-gradient(0deg, rgba(70, 33, 0, 0.5), rgba(70, 33, 0, 0) 40%) !important;
}

.sc-hero--split .wp-block-cover__image-background {
	transform-origin: 30% 40%;
}

.sc-hero--split .sc-hero__content {
	display: grid;
	grid-template-columns: minmax(0, 36rem);
	justify-content: end;
	justify-items: start;
}

.sc-hero--split .sc-hero__content > * {
	margin-block: 0;
	max-width: 36rem;
}

.sc-hero--split .sc-eyebrow {
	background: rgba(255, 251, 245, 0.12);
	border: 1px solid rgba(255, 228, 199, 0.45);
	border-radius: 999px;
	color: #ffe4c7;
	padding: 0.4rem 1.1rem;
}

.sc-hero--split .sc-eyebrow::before,
.sc-hero--split .sc-eyebrow::after {
	display: none;
}

.sc-hero--split .sc-hero__title {
	font-size: clamp(2.75rem, 6.2vw, 5.25rem) !important;
	font-weight: 600 !important;
	margin-top: 1.5rem;
	text-shadow: 0 2px 24px rgba(70, 33, 0, 0.35);
}

/* A short tricolour bar under the name. */
.sc-hero--split .sc-hero__title::after {
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0 33.33%, #ffffff 33.33% 66.67%, var(--wp--preset--color--green) 66.67%);
	content: "";
	display: block;
	height: 5px;
	margin-top: 1.5rem;
	width: 120px;
}

.sc-hero--split .sc-hero__lead {
	color: rgba(255, 251, 245, 0.94) !important;
	font-size: clamp(1.0625rem, 1.5vw, 1.3125rem);
	margin: 1.5rem 0 0;
}

.sc-hero--split .wp-block-buttons {
	margin-top: 2.25rem !important;
}

/* Key figures: a white card that overlaps the bottom of the hero. */
.sc-stats-band {
	position: relative;
	z-index: 3;
}

.sc-stats {
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1px var(--wp--preset--color--border), 0 34px 60px -34px rgba(110, 53, 0, 0.45);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: calc(-1 * clamp(3rem, 6vw, 4.5rem)) !important;
	position: relative;
}

.sc-stats::before {
	background: linear-gradient(90deg, var(--wp--preset--color--accent) 0 33.33%, var(--wp--preset--color--accent-soft) 33.33% 66.67%, var(--wp--preset--color--green) 66.67%);
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

.sc-stats > * {
	margin: 0 !important;
}

.sc-stat {
	padding: 2.25rem 1.5rem 2rem;
	text-align: center;
}

.sc-stat + .sc-stat {
	border-left: var(--sc-hairline);
}

.sc-stat > * {
	margin: 0;
}

.sc-stat__num {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.25rem, 4vw, 3.25rem);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	line-height: 1;
}

.sc-stat__label {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	margin: 0.75rem auto 0 !important;
	max-width: 16em;
}

/* Buttons on saffron panels: white, then light saffron on hover; the light variant is an outline. */
.home main :where(.sc-hero, .sc-band-dark, .sc-split__media) .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
}

.home main :where(.sc-hero, .sc-band-dark, .sc-split__media) .wp-block-button__link:hover,
.home main :where(.sc-hero, .sc-band-dark, .sc-split__media) .wp-block-button__link:focus {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
}

.home main .wp-block-button.is-style-sc-light > .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(255, 251, 245, 0.55);
	color: var(--wp--preset--color--base);
	padding: calc(1rem - 1px) calc(2.25rem - 1px);
}

.home main .wp-block-button.is-style-sc-light > .wp-block-button__link:hover,
.home main .wp-block-button.is-style-sc-light > .wp-block-button__link:focus {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/* Introduction */
.sc-intro {
	overflow: hidden;
}

.sc-intro .wp-block-heading:not(h3) {
	font-size: var(--wp--preset--font-size--xx-large);
	letter-spacing: -0.015em;
	line-height: 1.08;
	max-width: 14ch;
}

.lang-hi .sc-intro .wp-block-heading:not(h3) {
	letter-spacing: 0;
	line-height: 1.3;
}

.sc-intro__lead {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.7;
	max-width: 34em;
}

.sc-features > * {
	margin-block: 0;
}

.sc-feature {
	background: var(--wp--preset--color--white);
	border: 1px solid transparent;
	display: grid;
	gap: 0.25rem 1.5rem;
	grid-template-columns: 52px minmax(0, 1fr);
	padding: 1.625rem 1.75rem;
	transition: border-color 0.3s, box-shadow 0.3s var(--sc-ease), transform 0.3s var(--sc-ease);
}

.sc-feature::before {
	background: var(--wp--preset--color--accent);
	content: "";
	grid-row: 1 / span 2;
	height: 44px;
	-webkit-mask: var(--sc-icon) center / contain no-repeat;
	mask: var(--sc-icon) center / contain no-repeat;
	width: 44px;
}

.sc-feature:hover {
	border-color: var(--sc-gold-line);
	box-shadow: var(--sc-shadow);
	transform: translateX(4px);
}

.sc-feature > * {
	grid-column: 2;
	margin: 0 !important;
}

.sc-feature h3 {
	font-size: 1.1875rem;
}

.sc-feature p {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.sc-icon--governance { --sc-icon: url("assets/images/icons/governance.svg"); }
.sc-icon--youth { --sc-icon: url("assets/images/icons/youth.svg"); }
.sc-icon--family { --sc-icon: url("assets/images/icons/family.svg"); }
.sc-icon--location { --sc-icon: url("assets/images/icons/location.svg"); }
.sc-icon--phone { --sc-icon: url("assets/images/icons/phone.svg"); }
.sc-icon--mail { --sc-icon: url("assets/images/icons/mail.svg"); }
.sc-icon--message { --sc-icon: url("assets/images/icons/message.svg"); }
.sc-icon--calendar { --sc-icon: url("assets/images/icons/calendar.svg"); }

/* Framed portrait: rectangular photo with an offset gold outline. */
.sc-portrait--frame {
	max-width: 520px;
	position: sticky;
	top: calc(var(--sc-admin-bar) + 90px);
}

.sc-portrait--frame::before {
	border-radius: 0;
	transform: translate(-22px, 22px);
}

.sc-portrait--frame img {
	aspect-ratio: 4 / 5;
	border-radius: 0;
}

/* Initiative cards */
.home .sc-card {
	border-radius: 0;
}

.home .sc-card__body {
	padding: 1.75rem 1.75rem 2rem;
}

.home .sc-card .wp-block-post-title {
	font-size: 1.1875rem;
}

/* Message band */
.sc-band-dark::before {
	height: 520px;
	right: -60px;
	top: 50%;
	transform: translateY(-50%) rotate(-18deg);
	width: 320px;
}

/* Message band: faint concentric rings, like the chakra, behind the quote. */
.sc-band-dark::after {
	background:
		radial-gradient(ellipse at 50% 0%, rgba(255, 153, 51, 0.22), transparent 60%),
		repeating-radial-gradient(circle at 50% 42%, transparent 0 70px, rgba(255, 228, 199, 0.08) 71px 72px);
}

.sc-message::before {
	background: #ffe4c7;
	content: "";
	display: block;
	height: 48px;
	margin: 0 auto 2rem;
	-webkit-mask: url("assets/images/icons/quote.svg") center / contain no-repeat;
	mask: url("assets/images/icons/quote.svg") center / contain no-repeat;
	width: 64px;
}

.sc-message p {
	font-size: clamp(1.375rem, 2.6vw, 2.125rem) !important;
	line-height: 1.5;
	text-wrap: balance;
}

.sc-band-dark .is-style-sc-ornament {
	margin-top: 2.5rem;
}

/* Speeches: white cards with the date on the photo and a round play button. */
.sc-speech {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
	height: 100%;
	overflow: hidden;
	padding-bottom: 1.75rem;
	position: relative;
	transition: box-shadow 0.35s var(--sc-ease), transform 0.35s var(--sc-ease), border-color 0.35s;
}

.sc-speech:hover,
.sc-speech:focus-within {
	border-color: var(--sc-gold-line);
	box-shadow: var(--sc-shadow);
	transform: translateY(-6px);
}

.sc-speech > * {
	margin-block: 0;
	padding-inline: 1.5rem;
}

.sc-speech > .wp-block-post-featured-image {
	padding-inline: 0;
}

.sc-speech__date {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	left: 1rem;
	letter-spacing: 0.06em;
	padding: 0.35rem 0.8rem !important;
	position: absolute;
	top: 1rem;
	z-index: 2;
}

.sc-speech .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
	position: relative;
}

.sc-speech .wp-block-post-featured-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.6s var(--sc-ease);
	width: 100%;
}

.sc-speech:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

/* Play button: a saffron disc with a dark play icon, in the corner of the photo. */
.sc-speech .wp-block-post-featured-image::before,
.sc-speech .wp-block-post-featured-image::after {
	content: "";
	pointer-events: none;
	position: absolute;
	transition: transform 0.35s var(--sc-ease), background-color 0.35s;
	z-index: 1;
}

.sc-speech .wp-block-post-featured-image::before {
	background: var(--wp--preset--color--accent);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgba(255, 153, 51, 0.35), 0 12px 30px -8px rgba(70, 33, 0, 0.6);
	bottom: 1rem;
	height: 56px;
	right: 1rem;
	width: 56px;
}

.sc-speech .wp-block-post-featured-image::after {
	background: var(--wp--preset--color--contrast);
	bottom: calc(1rem + 18px);
	height: 20px;
	right: calc(1rem + 16px);
	-webkit-mask: url("assets/images/icons/play.svg") center / contain no-repeat;
	mask: url("assets/images/icons/play.svg") center / contain no-repeat;
	width: 20px;
}

.sc-speech:hover .wp-block-post-featured-image::before {
	transform: scale(1.12);
}

.sc-speech:not(:has(.wp-block-post-featured-image)) {
	border-top: 3px solid var(--wp--preset--color--accent);
	padding-top: 3.5rem;
}

.sc-speech__head {
	margin-top: 1.5rem !important;
	position: relative;
}

.sc-speech .wp-block-post-title {
	font-size: 1.25rem;
	line-height: 1.3;
	margin: 0;
}

.sc-speech .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: color 0.2s;
}

.sc-speech:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
}

.sc-speech .wp-block-post-title a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.sc-speech .sc-event-meta {
	margin-top: 0.75rem;
}

.sc-speech .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0.75rem 0 0;
}

/* Get involved: three tiles in the flag's colours, each one a single link. */
.sc-tiles {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sc-tiles > * {
	margin: 0 !important;
}

.sc-tile {
	--sc-tile-ink: #ffffff;
	--sc-tile-soft: rgba(255, 251, 245, 0.88);
	border-radius: 18px;
	color: var(--sc-tile-soft);
	display: flex;
	flex-direction: column;
	isolation: isolate;
	min-height: 320px;
	overflow: hidden;
	padding: 2.25rem 2rem 2rem;
	position: relative;
	transition: box-shadow 0.35s var(--sc-ease), transform 0.35s var(--sc-ease);
}

.sc-tile--saffron {
	background: linear-gradient(150deg, #ffb366 0%, var(--wp--preset--color--accent) 45%, #f07c14 100%);
	--sc-tile-ink: #2b1500;
	--sc-tile-soft: #3d1f00;
}

.sc-tile--white {
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--border);
	--sc-tile-ink: var(--wp--preset--color--contrast);
	--sc-tile-soft: var(--wp--preset--color--muted);
}

.sc-tile--green {
	background: linear-gradient(150deg, #138808 0%, #117a07 40%, #084204 100%);
}

/* Big faint rings in the corner, and the icon in a disc. */
.sc-tile::after {
	background: repeating-radial-gradient(circle at center, transparent 0 22px, currentColor 23px 24px);
	border-radius: 50%;
	bottom: -90px;
	content: "";
	height: 260px;
	opacity: 0.12;
	pointer-events: none;
	position: absolute;
	right: -90px;
	width: 260px;
	z-index: -1;
}

.sc-tile--white::after {
	color: #000080;
	opacity: 0.08;
}

.sc-tile::before {
	background: var(--sc-tile-ink);
	content: "";
	height: 34px;
	margin-bottom: 1.75rem;
	-webkit-mask: var(--sc-icon) center / contain no-repeat;
	mask: var(--sc-icon) center / contain no-repeat;
	width: 34px;
}

.sc-tile--white::before {
	background: #000080;
}

.sc-tile > * {
	margin: 0;
}

.sc-tile h3 {
	color: var(--sc-tile-ink) !important;
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	line-height: 1.25;
}

.sc-tile p:not(.sc-tile__cta) {
	color: var(--sc-tile-soft);
	margin-top: 0.75rem;
}

.sc-tile__cta {
	margin-top: auto !important;
	padding-top: 1.75rem;
}

.sc-tile__cta a {
	align-items: center;
	color: var(--sc-tile-ink);
	display: inline-flex;
	font-weight: 700;
	gap: 0.5rem;
	text-decoration: none;
}

.sc-tile__cta a::after {
	content: "→";
	transition: transform 0.25s var(--sc-ease);
}

/* The whole tile is the link. */
.sc-tile__cta a::before {
	content: "";
	inset: 0;
	position: absolute;
}

.sc-tile:hover,
.sc-tile:focus-within {
	box-shadow: 0 30px 60px -30px rgba(70, 33, 0, 0.55);
	transform: translateY(-8px);
}

.sc-tile:hover .sc-tile__cta a::after,
.sc-tile:focus-within .sc-tile__cta a::after {
	transform: translateX(6px);
}

.sc-tile:focus-within {
	outline: 3px solid var(--sc-focus);
	outline-offset: 3px;
}

.sc-tile__cta a:focus-visible {
	outline: none;
}

/* Split panel: a framed photo on the left, the invitation and a
 * newsletter card on the right, both inside the wide column. */
.sc-split {
	align-items: center;
	column-gap: var(--wp--preset--spacing--70);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	padding: var(--wp--preset--spacing--70) max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - 1200px) / 2)) !important;
}

.sc-split > * {
	margin: 0 !important;
}

.sc-split__media {
	aspect-ratio: 4 / 5 !important;
	box-shadow: 22px 22px 0 -1px var(--wp--preset--color--surface), 22px 22px 0 0 var(--wp--preset--color--accent), 0 30px 60px -30px rgba(110, 53, 0, 0.45);
	margin-right: 22px !important;
	min-height: 0 !important;
	overflow: visible;
}

.sc-split__media .wp-block-cover__image-background {
	filter: saturate(0.9) contrast(1.02);
}

/* A warm wash from the bottom calms the photo; an ivory hairline frames it. */
.sc-split__media:has(.wp-block-cover__image-background) .wp-block-cover__background {
	background: linear-gradient(180deg, rgba(110, 53, 0, 0.35) 0%, rgba(110, 53, 0, 0) 35%, rgba(110, 53, 0, 0) 60%, rgba(110, 53, 0, 0.45) 100%), rgba(255, 153, 51, 0.08) !important;
}

.sc-split__media:has(.wp-block-cover__image-background)::before {
	background: none;
	border: 1px solid rgba(255, 251, 245, 0.55);
	display: block;
	inset: 16px;
	-webkit-mask: none;
	mask: none;
	opacity: 1;
}

.sc-split__media::after {
	display: none;
}

.sc-split__body {
	align-self: center;
	max-width: 560px;
}

.sc-split__body .wp-block-heading {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.08;
}

.lang-hi .sc-split__body .wp-block-heading {
	line-height: 1.3;
}

/* Newsletter as a card: heading, intro and form share one white panel. */
.sc-split__body .sc-newsletter-heading,
.sc-split__body .sc-newsletter-heading + p,
.sc-split__body .sc-newsletter {
	background: var(--wp--preset--color--white);
	border-inline: 1px solid var(--wp--preset--color--border);
	padding-inline: var(--wp--preset--spacing--50);
}

.sc-split__body .sc-newsletter-heading {
	border-top: 3px solid var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
	margin-bottom: 0;
	margin-top: var(--wp--preset--spacing--60) !important;
	padding-top: var(--wp--preset--spacing--50);
}

.sc-split__body .sc-newsletter-heading + p {
	margin-top: 0 !important;
	padding-block: 0.5rem 1rem;
}

.sc-split__body .sc-newsletter {
	border-bottom: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 24px 40px -28px rgba(110, 53, 0, 0.35);
	margin-top: 0 !important;
	padding-bottom: var(--wp--preset--spacing--50);
}

.sc-newsletter form {
	gap: 1rem;
}

/* Fine tuning: a faint leaf behind the text, one strong button per panel. */
.sc-split {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.sc-split::after {
	background: var(--wp--preset--color--accent);
	bottom: 6%;
	content: "";
	height: 420px;
	-webkit-mask: var(--sc-leaf) center / contain no-repeat;
	mask: var(--sc-leaf) center / contain no-repeat;
	opacity: 0.07;
	pointer-events: none;
	position: absolute;
	right: -40px;
	transform: rotate(-18deg);
	width: 320px;
	z-index: -1;
}

.sc-split__body > .wp-block-heading:not(.sc-newsletter-heading) {
	margin-top: 0.75rem;
}

.home main .sc-split__body .wp-block-buttons .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.home main .sc-split__body .wp-block-buttons .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-left: 0.75rem;
	transition: transform 0.2s ease;
}

.home main .sc-split__body .wp-block-buttons .wp-block-button__link:hover,
.home main .sc-split__body .wp-block-buttons .wp-block-button__link:focus {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
}

.home main .sc-split__body .wp-block-buttons .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

/* Newsletter card: mail icon beside the heading, quieter small print. */
.sc-split__body .sc-newsletter-heading {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	margin-top: var(--wp--preset--spacing--50) !important;
	position: relative;
}

.sc-split__body .sc-newsletter-heading::before {
	background: var(--wp--preset--color--accent-soft);
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(255, 153, 51, 0.35);
	content: "";
	flex: none;
	height: 2.5rem;
	width: 2.5rem;
}

.sc-split__body .sc-newsletter-heading::after {
	background: var(--wp--preset--color--accent-dark);
	content: "";
	height: 1.2rem;
	left: calc(var(--wp--preset--spacing--50) + 0.65rem);
	-webkit-mask: url("assets/images/icons/mail.svg") center / contain no-repeat;
	mask: url("assets/images/icons/mail.svg") center / contain no-repeat;
	position: absolute;
	width: 1.2rem;
}

.sc-split__body .sc-newsletter-heading + p {
	font-size: var(--wp--preset--font-size--small);
}

.sc-split__body .sc-newsletter .sc-form__consent label {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.6;
}

.sc-split__body .sc-newsletter .wp-block-button__link {
	width: 100%;
}

.lang-hi .wp-block-read-more.sc-news__more {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

/* News: a quiet text link with an arrow, not a button on every item. */
.wp-block-read-more.sc-news__more {
	border-bottom: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary);
	display: inline-block;
	font-weight: 600;
	margin-top: 0.75rem;
	padding-bottom: 0.15rem;
	text-decoration: none;
}

.wp-block-read-more.sc-news__more::after {
	content: "→";
	display: inline-block;
	margin-left: 0.5rem;
	transition: transform 0.25s var(--sc-ease);
}

.wp-block-read-more.sc-news__more:hover {
	color: var(--wp--preset--color--accent-dark);
}

.wp-block-read-more.sc-news__more:hover::after {
	transform: translateX(4px);
}

.sc-band-dark .sc-link-arrow {
	margin-top: 1.5rem;
}

.sc-band-dark .sc-link-arrow a {
	color: var(--wp--preset--color--base);
}

.sc-band-dark .sc-link-arrow a:hover {
	color: #ffe4c7;
}

/* News list with a sidebar */
.sc-news .wp-block-post-template > li + li {
	border-top: var(--sc-hairline);
	margin-top: 0;
	padding-top: var(--wp--preset--spacing--50);
}

.sc-news .wp-block-post-template > li {
	padding-bottom: var(--wp--preset--spacing--50);
}

.sc-news__item {
	display: grid;
	gap: 1.25rem 2.25rem;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.sc-news__item:not(:has(.wp-block-post-featured-image)) {
	grid-template-columns: 1fr;
}

.sc-news__item > * {
	margin: 0 !important;
}

.sc-news__item .wp-block-post-featured-image {
	overflow: hidden;
}

.sc-news__item .wp-block-post-featured-image img {
	aspect-ratio: 1;
	object-fit: cover;
	transition: transform 0.6s var(--sc-ease);
	width: 100%;
}

.sc-news__item:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.sc-news__body {
	align-self: center;
}

.sc-news__body .wp-block-post-date {
	color: var(--wp--preset--color--accent-dark);
	font-weight: 600;
}

.sc-news__body .wp-block-post-title {
	font-size: clamp(1.1875rem, 1.8vw, 1.4375rem);
	line-height: 1.25;
	margin: 0;
}

.sc-news__body .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: color 0.2s;
}

.sc-news__item:hover .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
}

.sc-news__body .wp-block-post-excerpt__excerpt {
	color: var(--wp--preset--color--muted);
	margin: 0;
}

.sc-aside > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.sc-aside__box {
	background: var(--wp--preset--color--white);
	border: var(--sc-hairline);
}

.sc-aside__title {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white) !important;
	font-size: 1.375rem;
	margin: 0;
	padding: 1.5rem 2rem;
}

.sc-aside__links {
	list-style: none;
	margin: 0;
	padding: 0.5rem 2.25rem;
}

.sc-aside__links li + li {
	border-top: var(--sc-hairline);
}

.sc-aside__links a {
	align-items: center;
	color: var(--wp--preset--color--primary);
	display: flex;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	justify-content: space-between;
	letter-spacing: 0.12em;
	padding: 1.125rem 0;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.2s, padding 0.2s;
}

.lang-hi .sc-aside__links a {
	font-size: var(--wp--preset--font-size--medium);
	letter-spacing: 0;
}

.sc-aside__links a::after {
	color: var(--wp--preset--color--accent);
	content: "→";
}

.sc-aside__links a:hover {
	color: var(--wp--preset--color--accent-dark);
	padding-left: 0.375rem;
}

.sc-aside__note {
	background: var(--wp--preset--color--surface);
	padding: 2rem 2.25rem 2.25rem;
}

.sc-aside__note > * {
	margin-block: 0;
}

.sc-aside__note h3 {
	font-size: 1.25rem;
	margin-top: 0.25rem;
}

.sc-aside__note p:not(.sc-eyebrow) {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.75rem;
}

.sc-aside__note .wp-block-buttons {
	margin-top: 1.25rem;
}

/* Contact information columns */
.sc-contact-strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	list-style: none;
	margin-inline: auto;
	padding: 0;
}

.sc-contact-strip__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0.5rem var(--wp--preset--spacing--40) 1rem;
	text-align: center;
}

.sc-contact-strip__item + .sc-contact-strip__item {
	border-left: var(--sc-hairline);
}

.sc-contact-strip__item::before {
	background: var(--wp--preset--color--accent);
	content: "";
	height: 40px;
	margin-bottom: 1.25rem;
	-webkit-mask: var(--sc-icon) center / contain no-repeat;
	mask: var(--sc-icon) center / contain no-repeat;
	width: 40px;
}

.sc-contact-strip__label {
	color: var(--wp--preset--color--accent-dark);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.lang-hi .sc-contact-strip__label {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0;
}

.sc-contact-strip__title {
	font-size: 1.25rem;
	margin: 0.375rem 0 0.625rem;
}

.sc-contact-strip__value {
	color: var(--wp--preset--color--muted);
}

.sc-contact-strip__value address {
	font-style: normal;
}

.sc-contact-strip__value a {
	color: inherit;
}

.sc-contact-strip__value a:hover {
	color: var(--wp--preset--color--accent-dark);
}

/* X feed section: a saffron glow at the top and a green one at the foot. */
.sc-xfeed-section {
	background:
		radial-gradient(ellipse 60% 45% at 10% 0%, rgba(255, 153, 51, 0.12), transparent 70%),
		radial-gradient(ellipse 60% 45% at 90% 100%, rgba(17, 122, 7, 0.08), transparent 70%),
		var(--wp--preset--color--white) !important;
}

/* Short intro under the centred heading. */
.sc-xfeed-section__intro {
	margin: 1rem auto 0 !important;
	max-width: 36em;
}

.sc-xfeed-section .sc-xfeed {
	margin-top: var(--wp--preset--spacing--50) !important;
}

/* -------------------------------------------------------------------------
 * Entrance motion (only when the user hasn't asked for reduced motion)
 * ---------------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
	.sc-hero .wp-block-cover__inner-container {
		animation: sc-rise 0.9s var(--sc-ease) both;
	}

	/* Split hero: the photo settles slowly, the text arrives line by line. */
	.sc-hero--split .wp-block-cover__image-background {
		animation: sc-settle 14s var(--sc-ease) both;
	}

	.sc-hero--split .wp-block-cover__inner-container {
		animation: none;
	}

	.sc-hero--split .sc-hero__content > * {
		animation: sc-rise 0.9s var(--sc-ease) both;
	}

	.sc-hero--split .sc-hero__content > :nth-child(2) { animation-delay: 0.12s; }
	.sc-hero--split .sc-hero__content > :nth-child(3) { animation-delay: 0.24s; }
	.sc-hero--split .sc-hero__content > :nth-child(4) { animation-delay: 0.36s; }

	/* motion.js adds .sc-reveal before first paint and .is-in when in view. */
	.sc-reveal {
		opacity: 0;
		transform: translateY(28px);
		transition: opacity 0.8s var(--sc-ease), transform 0.8s var(--sc-ease);
	}

	.sc-reveal.is-in {
		opacity: 1;
		transform: none;
	}
}

@keyframes sc-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
}

@keyframes sc-settle {
	from {
		transform: scale(1.1);
	}
}

/* -------------------------------------------------------------------------
 * Content safety net
 * Whatever editors type or paste (long titles, text copied from Word or a
 * website, wide tables, big photos), the layout keeps its shape. Rules use
 * :where() so every designed component above still wins.
 * ---------------------------------------------------------------------- */

/* Nothing in the text column is wider than the column, even with a fixed
 * width pasted into it. Wide and full-width blocks set their own widths. */
:where(.wp-block-post-content, .entry-content) :where(div, p, section, article, figure, blockquote, ul, ol, dl, table, h1, h2, h3, h4, h5, h6):where(:not(.alignwide, .alignfull)) {
	max-width: 100%;
}

/* The column's layout caps its children at the content width, which is wider
 * than a phone; boxes with a fixed width pasted into them, and tables, also
 * stay inside the screen. */
:is(.wp-block-post-content, .entry-content) :is(div, p, section, article, blockquote, table)[style*="width"]:not(.alignwide, .alignfull),
:is(.wp-block-post-content, .entry-content) table[width],
:is(.wp-block-post-content, .entry-content) table:not(.wp-block-table table) {
	max-width: 100%;
}

/* Text after a floated photo starts below it, not beside the next section. */
:where(.wp-block-post-content)::after {
	clear: both;
	content: "";
	display: table;
}

/* Tables from the text editor scroll sideways inside the column. (Table
 * blocks already scroll in their own figure.) */
:where(.wp-block-post-content, .entry-content) table:where(:not(.wp-block-table table)) {
	border-collapse: collapse;
	display: block;
	margin-block: 1.5rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

:where(.wp-block-post-content, .entry-content) table:where(:not(.wp-block-table table)) :where(th, td) {
	border-bottom: var(--sc-hairline);
	min-width: 8em;
	overflow-wrap: normal;
	padding: 0.6rem 0.75rem;
	text-align: left;
	vertical-align: top;
}

:where(.wp-block-post-content, .entry-content) :where(pre) {
	max-width: 100%;
	overflow-x: auto;
	white-space: pre-wrap;
}

/* Embedded players and maps keep their shape at any width. */
:where(.wp-block-post-content, .entry-content) :where(iframe[width][height]:not(.sc-video iframe)) {
	aspect-ratio: 16 / 9;
	height: auto;
	width: 100%;
}

/* Lists and cards: a long headline or summary ends in "…" after a few lines,
 * so one long item doesn't stretch its row. The full text is on the item's
 * own page, and screen readers still read all of it. The clamp is on the
 * link, not the heading, so the keyboard focus ring isn't cut off. */
:is(.sc-card, .sc-speech, .sc-news__body) .wp-block-post-title a,
:is(.sc-card, .sc-speech, .sc-news__body) .wp-block-post-excerpt__excerpt {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	overflow: hidden;
}

/* Category and sector names wrap (the parent theme keeps them on one line). */
.wp-block-post-terms a {
	white-space: normal;
}

/* Previous / next links: a long headline wraps instead of pushing the row. */
.wp-block-post-navigation-link {
	max-width: 100%;
	min-width: 0;
}

/* -------------------------------------------------------------------------
 * Reduced motion and print
 * ---------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.sc-card:hover,
	.sc-card:focus-within {
		transform: none;
	}
}

@media print {
	.sc-tricolor,
	.sc-topbar,
	.sc-nav,
	.sc-share,
	.sc-footer .wp-block-columns,
	.sc-form,
	.wp-block-buttons,
	.sc-hero::before {
		display: none !important;
	}

	header.wp-block-template-part {
		position: static !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 12pt;
	}

	main a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 0.85em;
	}
}
