/* Page-specific layouts built from the approved Direction A Figma screens. */

/* Journal, news and press. */
.page-template-page-news .site-header,
.post-type-archive-press-release .site-header,
.single-press-release .site-header,
.single-post .site-header {
	background: var(--colour-ivory);
	color: var(--colour-charcoal);
}

.page-template-page-news .site-header__inner,
.post-type-archive-press-release .site-header__inner,
.single-press-release .site-header__inner,
.single-post .site-header__inner {
	border-bottom: 1px solid var(--colour-paper);
}

.page-template-page-news .site-menu-toggle > span:not(.screen-reader-text),
.post-type-archive-press-release .site-menu-toggle > span:not(.screen-reader-text),
.single-press-release .site-menu-toggle > span:not(.screen-reader-text),
.single-post .site-menu-toggle > span:not(.screen-reader-text) {
	background: var(--colour-charcoal);
}

.journal-hero {
	padding: 42px 0 48px;
}

.journal-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 48px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--colour-paper);
}

.journal-hero h1,
.press-hero h1 {
	margin-bottom: 12px;
	font-size: clamp(3.8rem, 5vw, 4.6rem);
}

.journal-hero__intro,
.press-hero p:last-child {
	max-width: 660px;
	margin: 0;
	font-family: var(--font-editorial);
	font-size: 1.3rem;
}

.journal-filters {
	display: flex;
	gap: 22px;
}

.journal-filters a {
	font-size: 0.64rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.journal-filters a:hover,
.journal-filters .is-active {
	color: var(--colour-gold);
}

.journal-list,
.press-list {
	padding-top: 46px;
	padding-bottom: clamp(88px, 10vw, 140px);
}

.journal-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 58px 24px;
}

.journal-card {
	grid-column: span 2;
}

.journal-card--feature {
	grid-column: span 3;
}

.journal-card__link {
	display: block;
	text-decoration: none;
}

.journal-card__media {
	height: auto;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--colour-paper);
}

.journal-card--feature .journal-card__media {
	height: auto;
	aspect-ratio: 4 / 3;
}

.journal-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.journal-card__link:hover .journal-card__media img {
	transform: scale(1.025);
}

.journal-card__overlay {
	position: relative;
	min-height: 130px;
	padding: 18px 20px;
	margin-top: -130px;
	background: rgba(14, 14, 15, 0.96);
	color: var(--colour-ivory);
}

.journal-card__overlay p,
.press-row__meta {
	margin-bottom: 10px;
	color: var(--colour-gold);
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.journal-card__overlay h2 {
	margin: 0;
	color: var(--colour-ivory);
	font-size: clamp(1.55rem, 2.2vw, 1.9rem);
}

.journal-card__excerpt {
	margin: 16px 0 0;
	font-family: var(--font-editorial);
	font-size: 1rem;
}

.journal-empty {
	padding: 70px 0;
	font-family: var(--font-editorial);
	font-size: 1.35rem;
}

.press-hero {
	padding: 78px 0;
}

.press-hero h1 {
	color: var(--colour-white);
}

.press-hero p:last-child {
	color: var(--colour-paper);
}

.press-row {
	border-bottom: 1px solid var(--colour-paper);
}

.press-row a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 30px;
	padding: 34px 0;
	text-decoration: none;
}

.press-row h2 {
	margin-bottom: 10px;
	font-size: clamp(2rem, 3vw, 2.7rem);
}

.press-row p:last-child {
	max-width: 760px;
	margin-bottom: 0;
	font-family: var(--font-editorial);
}

.press-row a > span {
	color: var(--colour-gold);
	font-size: 1.5rem;
}

.story-detail__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(38%, 620px);
	min-height: 650px;
}

.story-detail__hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 72px 56px 72px 0;
}

.story-detail__hero h1 {
	margin-bottom: 24px;
	color: var(--colour-white);
	font-size: clamp(3.5rem, 5vw, 4.8rem);
}

.story-detail--press .story-detail__hero h1 {
	color: var(--colour-charcoal);
}

.story-detail__lead {
	max-width: 660px;
	margin: 0;
	color: var(--colour-paper);
	font-family: var(--font-editorial);
	font-size: 1.35rem;
	line-height: 1.45;
}

.story-detail--press .story-detail__lead {
	color: var(--colour-body);
}

.story-detail__image {
	min-height: 650px;
	margin: 0;
	overflow: hidden;
}

.story-detail__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.story-detail__layout {
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	gap: clamp(48px, 6vw, 80px);
	justify-content: stretch;
	padding-block: clamp(72px, 8vw, 112px);
}

.story-detail__meta {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.story-detail__meta .button {
	margin-top: 18px;
}

.story-detail__body {
	max-width: none;
	font-family: var(--font-editorial);
	font-size: 1.24rem;
	line-height: 1.65;
}

.newsletter-form__status {
	grid-column: 1 / -1;
	margin: 12px 0 0;
	color: var(--colour-gold);
	font-size: 0.76rem;
}

.pagination,
.nav-links {
	margin-top: 42px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.page-numbers {
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.page-numbers.current {
	color: var(--colour-gold);
}

@media (max-width: 900px) {
	.page-template-page-news .site-nav,
	.post-type-archive-press-release .site-nav,
	.single-press-release .site-nav,
	.single-post .site-nav {
		background: var(--colour-ivory);
	}

	.journal-card,
	.journal-card--feature {
		grid-column: span 3;
	}

	.story-detail__hero-inner,
	.story-detail__layout {
		grid-template-columns: 1fr;
	}

	.story-detail__hero-copy {
		padding-right: 0;
	}

	.story-detail__image {
		min-height: 60vw;
	}
}

@media (max-width: 620px) {
	.journal-hero__inner {
		grid-template-columns: 1fr;
	}

	.journal-grid {
		display: block;
	}

	.journal-card + .journal-card {
		margin-top: 48px;
	}

	.journal-card__media,
	.journal-card--feature .journal-card__media {
		height: 280px;
	}

	.press-row a {
		align-items: start;
	}
}

.home-page{overflow:hidden}.home-page h1,.home-page h2,.home-page h3{margin-bottom:0}.home-page__split,.home-page__hero-inner,.home-page__connect{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.home-page__hero-copy,.home-page__panel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.home-page__hero-copy{min-height:820px;padding:80px max(var(--gutter),calc((100vw - 1312px)/2));padding-right:48px}.home-page__hero-title{max-width:620px;margin:0 0 24px;color:var(--colour-white);font-size:clamp(4rem,6.7vw,6rem);line-height:.88}.home-page__rule{width:64px;height:2px;margin:0 0 24px;background:var(--colour-gold)}.home-page__lead{max-width:560px;margin-bottom:30px;color:var(--colour-paper)}.home-page__hero-media{min-height:820px}.home-page__hero-media img,.home-page__media img,.home-page__video-media img{width:100%;height:100%;object-fit:cover}.home-page__section{padding:clamp(72px,6vw,88px) var(--gutter)}.home-page__section-inner{width:min(100%,var(--content-width));margin-inline:auto}.home-page__season{grid-template-columns:minmax(280px,390px) minmax(0,650px);justify-content:center;gap:clamp(48px,6vw,88px)}.home-page__season .home-page__media{aspect-ratio:390/522}.home-page__panel{padding-block:30px}.home-page__panel-title{max-width:650px;margin-bottom:22px;font-size:clamp(3rem,5vw,4.4rem)}.home-page__panel-copy{max-width:590px;margin-bottom:28px}.home-page__about{grid-template-columns:minmax(0,600px) minmax(0,560px);gap:clamp(48px,6vw,82px);align-items:center}.home-page__about h2,.home-page__video h2{color:var(--colour-white)}.home-page__about .home-page__media{aspect-ratio:560/500}.home-page__heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:38px}.home-page__heading-row h2{font-size:clamp(2.8rem,4.1vw,3.625rem)}.home-page__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-page__story-link,.home-page__album-link,.home-page__publication-link{display:block;height:100%;text-decoration:none}.home-page__story-label,.home-page__date,.home-page__publication-type{margin-bottom:12px;color:var(--colour-gold);font-size:.65rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.home-page__story h3{margin-bottom:12px}.home-page__story p:last-child{margin-bottom:0}.home-page__schedule h2{margin-bottom:20px;color:var(--colour-white);font-size:clamp(3rem,4.4vw,3.875rem)}.home-page__schedule-intro{max-width:900px;margin-bottom:30px;color:var(--colour-paper)}.home-page__event-list{border-top:1px solid var(--colour-rule)}.home-page__event{display:grid;grid-template-columns:180px minmax(0,1fr) 360px;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--colour-rule)}.home-page__event time{color:var(--colour-gold);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.home-page__event a{color:var(--colour-white);font-family:var(--font-display);font-size:1.875rem;font-weight:600;line-height:1.1;text-decoration:none}.home-page__event-location{text-align:right;color:var(--colour-muted);font-size:.82rem}.home-page__album-media{aspect-ratio:412/480;margin-bottom:14px;overflow:hidden;background:var(--colour-paper)}.home-page__album-media img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease}.home-page__album:hover img{transform:scale(1.025)}.home-page__album h3{font-size:1.7rem}.home-page__video{grid-template-columns:minmax(0,760px) minmax(300px,440px);gap:64px;align-items:center}.home-page__video-media{aspect-ratio:760/496;overflow:hidden}.home-page__publications{gap:18px}.home-page__publication{padding:28px;background:var(--colour-paper)}.home-page__publication-number{margin-bottom:18px;color:var(--colour-gold);font-family:var(--font-display);font-size:2.5rem;font-style:italic;line-height:1}.home-page__publication h3{margin-bottom:22px}.home-page__quote{padding:clamp(80px,8vw,112px) var(--gutter);background:var(--colour-gold);color:var(--colour-charcoal);text-align:center}.home-page__quote blockquote{max-width:1040px;margin:0 auto}.home-page__quote-mark{margin-bottom:4px;font-family:var(--font-display);font-size:6.8rem;font-style:italic;line-height:.7}.home-page__quote-text{margin-bottom:24px;font-family:var(--font-editorial);font-size:clamp(2rem,3.1vw,2.75rem);font-style:italic;line-height:1.18}.home-page__quote cite{font-size:.7rem;font-style:normal;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.home-page__connect>section{padding:72px max(var(--gutter),calc((100vw - 1296px)/2))}.home-page__connect h2{margin-bottom:18px;color:var(--colour-white);font-size:clamp(2.5rem,3.4vw,2.875rem)}.home-page__connect p{max-width:540px;color:var(--colour-paper)}.home-page__newsletter-form{display:flex;width:min(100%,576px);margin-top:20px}.home-page__newsletter-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.home-page__newsletter-form input{border:0}.home-page__newsletter-form .button{flex:0 0 auto}.home-page__empty{grid-column:1/-1;margin:0;color:var(--colour-muted)}
@media(max-width:900px){.home-page__hero-inner,.home-page__split,.home-page__connect{grid-template-columns:1fr}.home-page__hero-copy{min-height:auto;padding-block:88px}.home-page__hero-media{min-height:72vw;order:-1}.home-page__season{grid-template-columns:minmax(0,520px)}.home-page__about,.home-page__video{grid-template-columns:1fr}.home-page__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page__event{grid-template-columns:140px minmax(0,1fr)}.home-page__event-location{grid-column:2;text-align:left}.home-page__connect>section{padding:64px var(--gutter)}}
@media(max-width:620px){.home-page__heading-row{align-items:flex-start;flex-direction:column}.home-page__cards{grid-template-columns:1fr}.home-page__event{grid-template-columns:1fr;gap:8px}.home-page__event-location{grid-column:auto}.home-page__newsletter-form{display:grid}.home-page__newsletter-form .button{width:100%}}

.about-page{overflow:hidden}.about-page h1,.about-page h2{margin-bottom:0}.about-page__hero{display:grid;grid-template-columns:minmax(0,760px) minmax(0,680px);min-height:780px}.about-page__hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px max(var(--gutter),calc((100vw - 1280px)/2));padding-right:44px;background:var(--colour-charcoal)}.about-page__hero h1{max-width:620px;margin-bottom:22px;color:var(--colour-white);font-size:clamp(3.8rem,5.3vw,4.75rem);line-height:.94}.about-page__intro{max-width:560px;margin-bottom:20px;color:var(--colour-paper)}.about-page__portrait{min-height:780px}.about-page__portrait img,.about-page__image-band img{width:100%;height:100%;object-fit:cover}.about-page__biography{display:grid;width:min(calc(100% - (2 * var(--gutter))),1264px);grid-template-columns:430px minmax(0,760px);gap:80px;padding-block:88px;margin-inline:auto}.about-page__number{margin-bottom:20px;color:var(--colour-gold);font-family:var(--font-display);font-size:4rem;font-style:italic;line-height:1}.about-page__biography h2{max-width:410px;font-size:clamp(2.8rem,3.5vw,3.1rem)}.about-page__rule{display:block;width:70px;height:2px;margin-top:20px;background:var(--colour-gold)}.about-page__body{font-family:var(--font-editorial);font-size:clamp(1.25rem,1.55vw,1.375rem);line-height:1.58}.about-page__body p:last-child{margin-bottom:0}.about-page__image-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:520px}.about-page__appointments{padding:80px var(--gutter)}.about-page__appointments-inner{width:min(100%,var(--content-width));margin-inline:auto}.about-page__appointments h2{margin-bottom:32px;color:var(--colour-white);font-size:clamp(2.8rem,4vw,3.45rem)}.about-page__roles{border-top:1px solid var(--colour-rule)}.about-page__role{display:grid;grid-template-columns:minmax(0,600px) 260px 220px;gap:40px;align-items:center;min-height:116px;border-bottom:1px solid var(--colour-rule)}.about-page__role h3{margin:0;color:var(--colour-white);font-size:1.55rem}.about-page__role-title,.about-page__role-place{margin:0;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.about-page__role-title{color:var(--colour-gold);font-weight:600}.about-page__role-place{text-align:right;color:var(--colour-muted)}.about-page__philosophy{display:grid;grid-template-columns:130px minmax(0,990px);gap:70px;align-items:center;justify-content:center;padding:88px var(--gutter);background:var(--colour-paper)}.about-page__quote-mark{margin:0;color:var(--colour-gold);font-family:var(--font-display);font-size:7.5rem;font-style:italic;line-height:.8}.about-page__philosophy blockquote{margin:0}.about-page__philosophy blockquote p{margin-bottom:18px;color:var(--colour-charcoal);font-family:var(--font-editorial);font-size:clamp(2rem,2.75vw,2.45rem);font-style:italic;line-height:1.25}.about-page__philosophy cite{color:var(--colour-gold);font-size:.65rem;font-style:normal;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.about-page__cta{display:flex;min-height:300px;align-items:center;justify-content:space-between;gap:40px;padding:64px max(var(--gutter),calc((100vw - 1264px)/2));background:var(--colour-gold);color:var(--colour-charcoal)}.about-page__cta .eyebrow{margin-bottom:10px;color:var(--colour-charcoal)}.about-page__cta h2{font-size:clamp(2.8rem,3.4vw,3rem)}.about-page__cta .text-link{color:var(--colour-charcoal)}
@media(max-width:900px){.about-page__hero{grid-template-columns:1fr}.about-page__hero-copy{min-height:620px;padding-block:80px}.about-page__portrait{min-height:80vw;order:-1}.about-page__biography{grid-template-columns:1fr;gap:48px}.about-page__image-band{height:auto}.about-page__image-band div{aspect-ratio:4/3}.about-page__role{grid-template-columns:1fr 1fr;gap:10px 24px;padding:24px 0}.about-page__role h3{grid-column:1/-1}.about-page__philosophy{grid-template-columns:70px minmax(0,1fr);gap:28px}.about-page__quote-mark{font-size:5rem}}
@media(max-width:620px){.about-page__image-band{grid-template-columns:1fr}.about-page__role{grid-template-columns:1fr}.about-page__role h3{grid-column:auto}.about-page__role-place{text-align:left}.about-page__philosophy{grid-template-columns:1fr}.about-page__cta{align-items:flex-start;flex-direction:column;justify-content:center}}

.schedule-hero{display:flex;min-height:440px;align-items:center}.schedule-hero__inner{display:grid;grid-template-columns:minmax(0,760px) auto;align-items:center;justify-content:space-between;gap:48px}.schedule-hero__title{max-width:730px;margin:0 0 18px;color:var(--colour-white);font-size:clamp(3.2rem,4.75vw,4.25rem)}.schedule-hero__intro{max-width:660px;margin:0;color:var(--colour-paper)}.schedule-hero__years{margin:0;color:var(--colour-gold);font-family:var(--font-display);font-size:3rem;font-style:italic;line-height:1.1;text-align:center}.schedule-current{padding-block:72px;background:var(--colour-gold);color:var(--colour-charcoal)}.schedule-current .eyebrow{margin-bottom:10px;color:var(--colour-charcoal)}.schedule-current__title{margin:0;font-size:clamp(2.7rem,4vw,3.1rem)}.schedule-current__copy{max-width:720px;margin:10px 0 0;font-family:var(--font-editorial);font-size:1.125rem}.schedule-upcoming-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:36px}.schedule-card{padding:28px;background:var(--colour-charcoal);color:var(--colour-paper)}.schedule-card__date{margin:0 0 14px;color:var(--colour-gold);font-size:.7rem;font-weight:500;letter-spacing:.14em}.schedule-card__title{margin:0 0 12px;color:var(--colour-white);font-size:2rem}.schedule-card__title a,.event-row__title a{text-decoration:none}.schedule-card__programme{margin:0 0 10px;font-family:var(--font-editorial);font-size:1.15rem}.schedule-card__location{margin:0 0 20px;color:var(--colour-muted);font-size:.75rem}.schedule-card__links{display:flex;flex-wrap:wrap;gap:18px}.schedule-past__header{margin-bottom:8px}.schedule-past__title{margin:0 0 8px;font-size:clamp(2.7rem,4vw,3.125rem)}.event-row{display:grid;grid-template-columns:170px minmax(280px,2fr) minmax(180px,1fr) minmax(220px,1.2fr);gap:24px;align-items:center;padding:22px 0;border-top:1px solid #cac6c2}.event-row:last-child{border-bottom:1px solid #cac6c2}.event-row__date{color:var(--colour-gold);font-size:.69rem;font-weight:500;letter-spacing:.12em}.event-row__title{margin:0;font-size:1.8rem}.event-row__title a:hover{color:var(--colour-gold)}.event-row__programme{margin:0;font-family:var(--font-editorial)}.event-row__location{margin:0;color:var(--colour-muted);font-size:.75rem;text-align:right}.schedule-pagination{display:flex;justify-content:space-between;gap:24px;margin-top:28px}.schedule-no-past{font-family:var(--font-editorial);font-size:1.25rem}@media(max-width:900px){.schedule-hero{min-height:380px}.schedule-hero__inner{grid-template-columns:1fr}.schedule-hero__years{text-align:left}.schedule-upcoming-grid{grid-template-columns:1fr}.event-row{grid-template-columns:130px 1fr;grid-template-areas:"date title" "date programme" "date location"}.event-row__date{grid-area:date}.event-row__title{grid-area:title}.event-row__programme{grid-area:programme}.event-row__location{grid-area:location;text-align:left}}@media(max-width:560px){.schedule-hero{padding-block:64px}.schedule-hero__title{font-size:3.25rem}.schedule-hero__years{font-size:2.25rem}.schedule-current{padding-block:56px}.event-row{grid-template-columns:1fr;grid-template-areas:"date" "title" "programme" "location";gap:8px;padding:24px 0}.event-row__title{font-size:1.65rem}}

.event-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(42%,680px);min-height:700px}.event-hero--no-image{grid-template-columns:1fr}.event-hero__copy{display:flex;max-width:720px;flex-direction:column;justify-content:center;padding:72px var(--gutter)}.event-hero__back{margin-bottom:30px}.event-hero__date{margin-bottom:16px;color:var(--colour-gold);font-size:.7rem;font-weight:500;letter-spacing:.16em}.event-hero__title{margin:0 0 20px;color:var(--colour-white);font-size:clamp(3.2rem,4.4vw,3.95rem)}.event-hero__location{margin:0 0 20px;color:var(--colour-paper);font-size:.7rem;font-style:normal;font-weight:500;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}.event-hero__media{position:relative;min-height:700px;margin:0;overflow:hidden}.event-hero__media:after{position:absolute;inset:0;background:rgba(14,14,15,.18);content:""}.event-hero__media img{width:100%;height:100%;object-fit:cover}.event-detail__content-grid{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,760px);gap:90px;align-items:start}.event-summary__date{margin:0;color:var(--colour-charcoal);font-family:var(--font-display);font-size:2.25rem;font-weight:600;line-height:1.05}.event-summary__date span{display:block}.event-summary__rule{width:70px;height:2px;margin:18px 0;background:var(--colour-gold)}.event-summary__meta{margin:0;color:var(--colour-body);font-family:var(--font-editorial);font-size:1.125rem;font-style:normal;line-height:1.45}.event-summary__time{display:block;margin-top:8px}.event-programme__heading{margin:0 0 18px;font-size:3rem}.event-programme__title{margin:0 0 18px;color:var(--colour-gold);font-family:var(--font-editorial);font-size:1.8rem;font-style:italic;line-height:1.2}.event-programme__body{font-family:var(--font-editorial);font-size:1.3rem;line-height:1.5}.event-programme__body>:last-child{margin-bottom:0}.event-related{background:var(--colour-paper)}.event-related__title{margin:0 0 28px;font-size:clamp(2.5rem,4vw,2.9rem)}.event-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-related-card{height:100%}.event-related-card>a{display:block;height:100%;text-decoration:none}.event-related-card__content{padding:14px 16px 18px}.event-related-card__type{margin:0 0 8px;color:var(--colour-gold);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.event-related-card__title{margin:0;font-size:1.55rem}.event-related-card:hover .event-related-card__title{color:var(--colour-gold)}@media(max-width:900px){.event-hero{grid-template-columns:1fr;min-height:auto}.event-hero__copy{max-width:none;min-height:520px}.event-hero__media{min-height:500px}.event-detail__content-grid{grid-template-columns:1fr;gap:56px}.event-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.event-hero__copy{min-height:460px;padding-block:56px}.event-hero__title{font-size:3.15rem}.event-hero__media{min-height:390px}.event-summary__date{font-size:2rem}.event-programme__heading{font-size:2.7rem}.event-related__grid{grid-template-columns:1fr}}

	.post-type-archive-album .site-header { background: var(--colour-ivory); color: var(--colour-charcoal); }
	.post-type-archive-album .site-header__inner { border-bottom: 1px solid var(--colour-paper); }
	.post-type-archive-album .site-menu-toggle > span:not(.screen-reader-text) { background: var(--colour-charcoal); }
	.albums-archive { min-height: 70vh; padding: clamp(3.25rem, 6vw, 6rem) 0 clamp(5rem, 8vw, 8rem); background: var(--colour-ivory); }
	.albums-archive__intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; padding-bottom: clamp(2.5rem, 4vw, 4rem); border-bottom: 1px solid var(--colour-paper); }
	.albums-archive__intro .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
	.albums-archive__title { margin: 0 0 0.7rem; font-size: clamp(4rem, 6.4vw, 5.5rem); }
	.albums-archive__description { max-width: 40rem; margin: 0; color: var(--colour-body); font-family: var(--font-editorial); font-size: clamp(1.25rem, 1.7vw, 1.55rem); line-height: 1.4; }
	.albums-archive__count { margin: 0 0 0.4rem; color: var(--colour-charcoal); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; }
	.albums-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(2.5rem, 5vw, 5.5rem) clamp(1.5rem, 2.5vw, 2.5rem); padding-top: clamp(2.5rem, 4vw, 4rem); }
	.album-card { grid-column: span 4; }
	.album-card:first-child { grid-column: span 8; }
	.album-card__link { display: block; color: inherit; text-decoration: none; }
	.album-card__media { display: grid; aspect-ratio: 1.31 / 1; overflow: hidden; place-items: center; background: var(--colour-charcoal); }
	.album-card:first-child .album-card__media { aspect-ratio: 1.69 / 1; }
	.album-card:nth-child(2) .album-card__media { aspect-ratio: 0.95 / 1; }
	.album-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
	.album-card__link:hover .album-card__media img { transform: scale(1.025); }
	.album-card__monogram { color: var(--colour-gold); font-family: var(--font-display); font-size: clamp(3.5rem, 7vw, 6rem); font-style: italic; }
	.album-card__meta { margin: 1rem 0 0.45rem; color: var(--colour-gold); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }
	.album-card__title { margin: 0; font-size: clamp(1.8rem, 2.6vw, 2.5rem); }
	.albums-archive__empty { grid-column: 1 / -1; margin: 0; font-family: var(--font-editorial); font-size: 1.4rem; }
	@media (max-width: 900px) {
		.albums-archive__intro { grid-template-columns: 1fr; }
		.albums-archive__count { margin: 0; }
		.album-card, .album-card:first-child { grid-column: span 6; }
		.album-card:nth-child(2) .album-card__media, .album-card:first-child .album-card__media { aspect-ratio: 1.31 / 1; }
	}
	@media (max-width: 620px) {
		.albums-grid { display: block; }
		.album-card + .album-card { margin-top: 3.5rem; }
		.album-card__media, .album-card:first-child .album-card__media, .album-card:nth-child(2) .album-card__media { aspect-ratio: 4 / 3; }
	}

	.album-variant-mixed .site-header { background: var(--colour-ivory); color: var(--colour-charcoal); }
	.album-variant-coming-soon .site-header { background: var(--colour-paper); color: var(--colour-charcoal); }
	.album-variant-mixed .site-menu-toggle > span:not(.screen-reader-text), .album-variant-coming-soon .site-menu-toggle > span:not(.screen-reader-text) { background: var(--colour-charcoal); }
	.single-album .site-header__inner { border-bottom: 1px solid var(--colour-rule); }
	.album-variant-mixed .site-header__inner, .album-variant-coming-soon .site-header__inner { border-bottom-color: rgba(31, 29, 30, 0.1); }
	.album-detail { min-height: 70vh; padding: clamp(3rem, 5vw, 5rem) 0 clamp(5rem, 8vw, 8rem); }
	.album-detail--photo { background: var(--colour-black); color: var(--colour-ivory); }
	.album-detail--mixed { background: var(--colour-ivory); color: var(--colour-charcoal); }
	.album-detail__header { display: block; padding-bottom: clamp(2.5rem, 4vw, 4rem); border-bottom: 1px solid var(--colour-rule); }
	.album-detail--mixed .album-detail__header { border-bottom-color: var(--colour-paper); }
	.album-detail__header .breadcrumbs { margin-bottom: clamp(2rem, 4vw, 3rem); }
	.album-detail__title { max-width: 58rem; margin: 0; color: inherit; font-size: clamp(3.5rem, 6vw, 5.25rem); }
	.album-detail__description { max-width: 48rem; margin: clamp(1rem, 2vw, 1.5rem) 0 0; color: var(--colour-muted); font-family: var(--font-editorial); font-size: clamp(1.2rem, 1.7vw, 1.55rem); font-style: italic; line-height: 1.4; }
	.album-detail--mixed .album-detail__description { color: var(--colour-body); }
	.album-media-list { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: clamp(1.75rem, 3vw, 3rem); padding: clamp(2.5rem, 4vw, 4rem) 0 0; margin: 0; list-style: none; }
	.album-media__item { grid-column: span 6; min-width: 0; }
	.album-media__item:first-child { grid-column: 1 / -1; }
	.album-media__item:nth-child(2) { grid-column: span 5; }
	.album-media__item:nth-child(3) { grid-column: span 7; }
	.album-media__item:nth-child(n+4) { grid-column: span 4; }
	.album-media__figure { margin: 0; }
	.album-media__frame { display: grid; aspect-ratio: 4 / 3; overflow: hidden; place-items: center; background: var(--colour-charcoal); }
	.album-media__item:first-child .album-media__frame { aspect-ratio: 2 / 1; }
	.album-media__item:nth-child(2) .album-media__frame { aspect-ratio: 4 / 5; }
	.album-media__item:nth-child(3) .album-media__frame { aspect-ratio: 2 / 1; }
	.album-media__frame a { display: block; width: 100%; height: 100%; cursor: zoom-in; }
	.album-media__frame img, .album-media__frame video { width: 100%; height: 100%; object-fit: cover; }
	.album-media__frame video { background: var(--colour-black); }
	.album-media__external { display: flex; width: 100%; height: 100%; min-height: 15rem; align-items: center; justify-content: center; padding: 2rem; color: var(--colour-ivory); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
	.album-media__caption { display: flex; justify-content: space-between; gap: 1rem; margin-top: 0.9rem; color: var(--colour-muted); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
	.album-detail--photo .album-media__caption { color: var(--colour-gold); }
	.album-detail__navigation { display: flex; justify-content: center; flex-wrap: wrap; gap: clamp(2rem, 6vw, 6rem); padding-top: clamp(3rem, 5vw, 5rem); text-align: center; }
	.album-detail__navigation a, .album-coming__return { color: inherit; font-size: 0.65rem; font-weight: 500; letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; }
	.album-detail__navigation a:hover, .album-coming__return:hover { color: var(--colour-gold); }
	.album-coming { display: grid; min-height: clamp(38rem, 68vw, 58rem); grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem); align-content: start; gap: clamp(3rem, 8vw, 9rem); padding-top: clamp(2rem, 4vw, 4rem); }
	.album-detail--coming-soon { padding-top: 0; background: var(--colour-paper); color: var(--colour-charcoal); }
	.album-coming > .eyebrow { grid-column: 1 / -1; }
	.album-coming__copy { align-self: center; padding-left: clamp(0rem, 5vw, 5rem); }
	.album-coming__title { max-width: 50rem; margin-bottom: 2rem; font-size: clamp(3.5rem, 6vw, 5.1rem); line-height: 1.02; }
	.album-coming__description { max-width: 42rem; margin-bottom: 4rem; font-family: var(--font-editorial); font-size: clamp(1.2rem, 1.65vw, 1.5rem); line-height: 1.45; }
	.album-coming__monogram { display: grid; min-height: 32.5rem; align-content: center; justify-items: center; background: var(--colour-charcoal); color: var(--colour-ivory); }
	.album-coming__monogram strong { color: var(--colour-gold); font-family: var(--font-display); font-size: clamp(5rem, 9vw, 8rem); font-style: italic; font-weight: 400; }
	.album-coming__monogram span { margin-top: 2.5rem; font-size: 0.65rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; }
	@media (max-width: 800px) {
		.album-media-list { display: block; }
		.album-media__item + .album-media__item { margin-top: 2.5rem; }
		.album-media__frame, .album-media__item:first-child .album-media__frame, .album-media__item:nth-child(2) .album-media__frame, .album-media__item:nth-child(3) .album-media__frame { aspect-ratio: 4 / 3; }
		.album-detail__navigation { justify-content: center; }
		.album-coming { min-height: auto; grid-template-columns: 1fr; padding-bottom: 5rem; }
		.album-coming > .eyebrow { grid-column: auto; }
		.album-coming__copy { padding-left: 0; }
		.album-coming__monogram { min-height: 25rem; }
	}

	body.has-open-album-lightbox { overflow: hidden; }
	.album-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; color: var(--colour-ivory); }
	.album-lightbox::backdrop { background: rgba(10, 10, 10, .94); backdrop-filter: blur(6px); }
	.album-lightbox__surface { display: grid; width: 100%; height: 100%; grid-template-columns: clamp(3rem, 6vw, 5rem) minmax(0, 1fr) clamp(3rem, 6vw, 5rem); grid-template-rows: auto minmax(0, 1fr) auto; align-items: center; padding: clamp(1rem, 3vw, 2.5rem); }
	.album-lightbox button { color: inherit; }
	.album-lightbox__close { grid-column: 1 / -1; justify-self: end; display: inline-flex; align-items: center; gap: .75rem; padding: .5rem 0; border: 0; background: transparent; font-family: var(--font-sans); font-size: .7rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
	.album-lightbox__close span:last-child { font-size: 1.7rem; font-weight: 300; line-height: 1; }
	.album-lightbox__figure { grid-column: 2; grid-row: 2; display: flex; min-width: 0; min-height: 0; align-items: center; justify-content: center; flex-direction: column; margin: 0; }
	.album-lightbox__image { display: block; max-width: 100%; max-height: 78dvh; object-fit: contain; }
	.album-lightbox__caption { max-width: 48rem; margin-top: 1rem; color: rgba(255, 255, 255, .72); font-size: .9rem; text-align: center; }
	.album-lightbox__caption:empty { display: none; }
	.album-lightbox__control { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; background: rgba(10, 10, 10, .28); font-size: 1.15rem; cursor: pointer; transition: border-color 180ms ease, background-color 180ms ease; }
	.album-lightbox__control:hover, .album-lightbox__control:focus-visible { border-color: var(--colour-gold); background: rgba(185, 144, 96, .18); }
	.album-lightbox__control--previous { grid-column: 1; grid-row: 2; justify-self: start; }
	.album-lightbox__control--next { grid-column: 3; grid-row: 2; justify-self: end; }
	.album-lightbox__position { grid-column: 1 / -1; justify-self: center; margin: 1rem 0 0; color: var(--colour-gold); font-family: var(--font-sans); font-size: .68rem; font-weight: 600; letter-spacing: .16em; }
	@media (max-width: 640px) {
		.album-lightbox__surface { grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem; padding: 1rem; }
		.album-lightbox__image { max-height: 72dvh; }
		.album-lightbox__control { width: 2.35rem; height: 2.35rem; }
		.album-lightbox__caption { font-size: .82rem; }
	}

.post-type-archive-publication .site-header{background:var(--colour-ivory);color:var(--colour-charcoal)}.post-type-archive-publication .site-header__inner{border-bottom:1px solid var(--colour-paper)}.post-type-archive-publication .site-menu-toggle>span:not(.screen-reader-text){background:var(--colour-charcoal)}.publication-archive{background:var(--colour-ivory)}.publication-archive__hero{padding:42px 0 48px;border-bottom:1px solid var(--colour-paper)}.publication-archive__hero .eyebrow{margin-bottom:18px}.publication-archive__hero h1{margin-bottom:18px;font-size:clamp(3.8rem,5vw,4.6rem)}.publication-archive__intro{max-width:660px;margin:0;font-family:var(--font-editorial);font-size:1.35rem;line-height:1.4}.publication-grid{display:grid;grid-template-columns:1.2fr .96fr 1.2fr .8fr;gap:38px;padding-top:46px;padding-bottom:clamp(110px,14vw,210px);align-items:start}.publication-card:nth-child(even){padding-top:80px}.publication-card__link{display:block;text-decoration:none}.publication-card__cover{position:relative;display:flex;aspect-ratio:35/47;overflow:hidden;padding:26px 22px;background:var(--colour-charcoal);color:var(--colour-ivory)}.publication-card--umber .publication-card__cover{background:#674e3b}.publication-card--stone .publication-card__cover{background:#d0c6b9;color:var(--colour-charcoal)}.publication-card--ochre .publication-card__cover{background:var(--colour-gold);color:var(--colour-charcoal)}.publication-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.publication-card__cover:has(.publication-card__image)::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,15,.2),rgba(14,14,15,.72));content:""}.publication-card__cover-copy{position:relative;z-index:1;display:flex;width:100%;flex-direction:column;border-top:1px solid var(--colour-gold)}.publication-card__cover-meta,.publication-card__byline,.publication-card__meta{font-size:.56rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.publication-card__cover-meta{padding-top:16px;color:var(--colour-gold)}.publication-card__cover-title{margin:auto 0;font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.85rem);font-weight:600;line-height:1.08}.publication-card__byline{margin:0}.publication-card__content{padding-top:28px}.publication-card__meta{margin-bottom:12px;color:var(--colour-gold)}.publication-card__title{margin-bottom:24px;font-size:clamp(1.65rem,2.3vw,2rem)}.publication-card__summary{margin:0;font-family:var(--font-editorial);font-size:1rem;line-height:1.45}.publication-card__edition{display:block;margin-top:14px;color:var(--colour-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.publication-archive__empty{padding:80px 0 150px;font-family:var(--font-editorial);font-size:1.3rem}@media(max-width:1050px){.publication-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-card:nth-child(even){padding-top:48px}}@media(max-width:620px){.publication-grid{grid-template-columns:1fr;gap:58px}.publication-card:nth-child(even){padding-top:0}.publication-card__cover{aspect-ratio:4/5}.publication-archive__hero{padding-top:34px}}

.single-publication .site-header{background:var(--colour-paper);color:var(--colour-charcoal)}.single-publication .site-header__inner{border-bottom:1px solid rgba(174,135,95,.25)}.single-publication .site-menu-toggle>span:not(.screen-reader-text){background:var(--colour-charcoal)}.publication-detail{background:var(--colour-paper)}.publication-detail__hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:80px;padding:50px 0 58px}.publication-detail__hero-copy{padding-top:5px}.publication-detail__hero .eyebrow{margin-bottom:22px}.publication-detail__title{max-width:800px;margin-bottom:20px;font-size:clamp(3.6rem,5.2vw,4.6rem);line-height:1.02}.publication-detail__intro{max-width:700px;margin:0;font-family:var(--font-editorial);font-size:1.35rem;font-style:italic;line-height:1.4}.publication-cover{position:relative;display:flex;aspect-ratio:31/43;padding:26px 22px;background:var(--colour-charcoal);color:var(--colour-ivory)}.publication-cover__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.publication-cover:has(.publication-cover__image)::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,15,.2),rgba(14,14,15,.72));content:""}.publication-cover__copy{position:relative;z-index:1;display:flex;width:100%;flex-direction:column;border-top:1px solid var(--colour-gold)}.publication-cover__meta,.publication-cover__author{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase}.publication-cover__meta{padding-top:16px;color:var(--colour-gold)}.publication-cover__title{margin:auto 0;font-family:var(--font-display);font-size:1.55rem;font-weight:600;line-height:1.1}.publication-cover__author{margin:0}.publication-detail__body{display:grid;grid-template-columns:190px minmax(0,470px);gap:55px;max-width:800px;padding:40px 0 90px;border-top:1px solid rgba(174,135,95,.65)}.publication-meta{display:grid;gap:24px;margin:0}.publication-meta div{display:grid;gap:3px}.publication-meta dt{font-size:.58rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.publication-meta dd{margin:0;color:var(--colour-charcoal);font-size:.68rem;text-transform:uppercase}.publication-abstract h2{margin-bottom:22px;font-size:2.4rem}.publication-abstract__copy{font-family:var(--font-editorial);font-size:1.2rem;line-height:1.52}.publication-abstract__copy>*:last-child{margin-bottom:0}.publication-abstract .button{margin-top:36px}.citation-panel{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:34px 32px;margin-bottom:70px;background:var(--colour-ivory)}.citation-panel .eyebrow{grid-column:1/-1;margin:0}.citation-panel__text{margin:0;font-family:var(--font-editorial);font-size:1.25rem;font-style:italic;line-height:1.4}.citation-panel__copy{padding:8px 0;border:0;background:transparent;color:var(--colour-charcoal);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.citation-panel__status{grid-column:1/-1;margin:0;color:var(--colour-gold);font-size:.7rem}.citation-panel__status:empty{display:none}.related-publications{padding-bottom:110px}.related-publications__grid{display:grid;grid-template-columns:repeat(2,190px);gap:34px}.related-publication{text-decoration:none}.related-publication .publication-cover{margin-bottom:16px}.related-publication__title{font-size:1.3rem}@media(max-width:850px){.publication-detail__hero{grid-template-columns:1fr}.publication-detail__hero .publication-cover{width:min(100%,360px)}.publication-detail__body{grid-template-columns:1fr;gap:42px}.publication-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.publication-detail__title{font-size:3.2rem}.citation-panel{grid-template-columns:1fr}.citation-panel .eyebrow{grid-column:auto}.related-publications__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.page-template-page-contact .site-header{background:var(--colour-ivory);color:var(--colour-charcoal)}.page-template-page-contact .site-header__inner{border-bottom:1px solid var(--colour-paper)}.page-template-page-contact .site-menu-toggle>span:not(.screen-reader-text){background:var(--colour-charcoal)}.contact-page__hero{padding:42px 0 54px}.contact-page__hero .eyebrow{margin-bottom:18px}.contact-page__hero h1{margin-bottom:18px;font-size:clamp(4rem,5.5vw,4.8rem)}.contact-page__intro{max-width:650px;margin:0;font-family:var(--font-editorial);font-size:1.35rem}.contact-layout{display:grid;grid-template-columns:minmax(340px,35vw) minmax(0,1fr);min-height:1100px}.contact-panel{padding:68px var(--gutter);background:var(--colour-black);color:var(--colour-ivory)}.contact-panel__quote{max-width:390px;margin:0 0 150px;font-family:var(--font-display);font-size:2.5rem;font-style:italic;line-height:1.14}.contact-panel__group{margin-bottom:55px}.contact-panel__label{margin-bottom:14px;color:var(--colour-gold);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.contact-panel__value{margin:0;color:var(--colour-ivory);font-family:var(--font-editorial);font-size:1.3rem}.contact-panel__muted{max-width:360px;color:var(--colour-muted);font-size:1.05rem;line-height:1.45}.contact-panel__socials{display:flex;gap:22px;padding-top:32px;border-top:1px solid var(--colour-rule);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}.contact-content{padding:36px clamp(28px,6.5vw,94px) 90px}.contact-content__inner{max-width:690px}.contact-content h2{margin-bottom:10px;font-size:2.8rem}.contact-content__intro{margin-bottom:54px;font-family:var(--font-editorial);font-size:1.1rem}.contact-form__status{padding:14px 16px;margin-bottom:28px;border-left:2px solid var(--colour-gold);background:var(--colour-paper)}.contact-form__status:empty{display:none}.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.contact-form__field{margin-bottom:36px}.contact-form label{margin-bottom:4px;font-size:.6rem}.contact-form input[type=text],.contact-form input[type=email],.contact-form select,.contact-form textarea{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--colour-muted);background:transparent}.contact-form textarea{min-height:110px}.contact-form__error{margin:7px 0 0;color:#8f2e22;font-size:.72rem}.contact-form__error:empty{display:none}.contact-form .button{min-width:180px;margin-top:8px}.contact-form__privacy{margin-top:16px;color:var(--colour-muted);font-size:.68rem;line-height:1.5}.newsletter-panel{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;padding:30px 32px;margin-top:86px;background:var(--colour-paper)}.newsletter-panel .eyebrow{margin-bottom:10px}.newsletter-panel h3{margin-bottom:8px;font-size:2rem}.newsletter-panel p{margin-bottom:0;font-family:var(--font-editorial)}.newsletter-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:16px}.newsletter-form label{grid-column:1/-1;margin:0;font-size:.6rem}.newsletter-form input[type=email]{min-height:40px;padding:6px 0;border:0;border-bottom:1px solid var(--colour-muted);background:transparent}.newsletter-form button{min-height:40px;padding:0;border:0;background:transparent;color:var(--colour-charcoal);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}@media(max-width:900px){.page-template-page-contact .site-nav{background:var(--colour-ivory)}.contact-layout{grid-template-columns:1fr}.contact-panel{padding-block:58px}.contact-panel__quote{margin-bottom:90px}.contact-content{padding-block:64px}.newsletter-panel{margin-top:64px}}@media(max-width:620px){.contact-form__row,.newsletter-panel{grid-template-columns:1fr}.contact-page__hero{padding-top:34px}.contact-panel__quote{font-size:2.15rem}.contact-content{padding-inline:var(--gutter)}.newsletter-form{grid-template-columns:1fr}.newsletter-form button{justify-self:start}}

.search .site-header{background:var(--colour-ivory);color:var(--colour-charcoal)}.search .site-header__inner{border-bottom:1px solid var(--colour-paper)}.search .site-menu-toggle>span:not(.screen-reader-text){background:var(--colour-charcoal)}.search-page{padding:clamp(56px,6vw,86px) 0 88px}.search-page__inner{max-width:1080px;margin:auto}.search-page__title{margin-bottom:28px;font-size:clamp(3.5rem,4.5vw,4rem)}.search-form{display:flex;align-items:center;border-bottom:1px solid var(--colour-charcoal)}.search-page .search-form__field{min-height:62px;padding:0;border:0;background:transparent;font-family:var(--font-editorial);font-size:1.25rem}.search-page .search-form__submit{min-width:96px;min-height:62px;padding:0;border:0;background:transparent;color:var(--colour-charcoal)}.search-page .search-form__submit:hover{color:var(--colour-gold)}.search-summary,.search-result__type,.search-result__legacy{font-size:.65rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.search-summary{margin:42px 0 14px;color:var(--colour-gold)}.search-results{max-width:1020px;margin:auto}.search-result{border-bottom:1px solid var(--colour-paper)}.search-result__link{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;padding:28px 0 34px;text-decoration:none}.search-result__type{display:block;margin-bottom:14px;color:var(--colour-gold)}.search-result__title{margin-bottom:12px;font-size:clamp(1.85rem,2.6vw,2.15rem)}.search-result__excerpt{max-width:760px;margin:0;color:var(--colour-body);font-family:var(--font-editorial);font-size:1.08rem;line-height:1.45}.search-result__path{align-self:center;color:var(--colour-muted);font-size:.58rem;text-align:right}.search-result__legacy{display:block;margin-bottom:6px;color:var(--colour-gold)}.search-result__link:hover .search-result__title{color:var(--colour-gold)}.search-page .pagination{margin-top:42px;text-align:center}.search-page .nav-links{display:flex;justify-content:center;gap:20px}.search-page .page-numbers{font-size:.68rem;font-weight:500;text-decoration:none}.search-page .page-numbers.current{color:var(--colour-gold)}.search-empty{max-width:760px;padding:70px 0 40px}.search-empty__title{font-size:clamp(2.7rem,4vw,4rem)}.search-empty__copy{font-family:var(--font-editorial);font-size:1.25rem}@media(max-width:900px){.search .site-nav{background:var(--colour-ivory)}.search .site-nav li{border-color:var(--colour-paper)}.search-result__link{grid-template-columns:1fr}.search-result__path{text-align:left}}

.error404{background:var(--colour-black);color:var(--colour-paper)}.error404 .site-header__inner{border-bottom:1px solid #404040}.error404 .site-footer{display:none}.error-page{position:relative;min-height:calc(100vh - 96px);overflow:hidden}.error-page__media{position:absolute;inset:0 0 0 auto;width:44%;margin:0}.error-page__media::after{position:absolute;inset:0;background:rgba(14,14,15,.82);content:""}.error-page__media img{width:100%;height:100%;object-fit:cover}.error-page__content{position:relative;z-index:1;width:min(56%,760px);padding:clamp(96px,10vw,144px) var(--gutter) 110px}.error-page__code{margin:-12px 0 20px;color:var(--colour-gold);font-family:var(--font-display);font-size:clamp(8rem,15vw,11.875rem);font-style:italic;line-height:1}.error-page__title{max-width:620px;margin-bottom:30px;color:var(--colour-ivory);font-size:clamp(3rem,4vw,3.4rem);line-height:1.04}.error-page__copy{max-width:540px;margin-bottom:54px;color:var(--colour-muted);font-family:var(--font-editorial);font-size:1.25rem;line-height:1.4}.error-page__actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px}.error-page__links{display:flex;gap:24px}.error-page__link{color:var(--colour-ivory);font-size:.65rem;font-weight:500;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.error-page__link:hover{color:var(--colour-gold)}@media(max-width:900px){.error-page__media{width:100%;opacity:.36}.error-page__content{width:100%;padding-top:80px}.error-page__title{font-size:clamp(2.6rem,10vw,3.4rem)}}@media(max-width:560px){.error-page__code{font-size:8rem}.error-page__links{flex-direction:column;gap:12px}}

.page-template-page-coming-soon{background:var(--colour-paper)}.page-template-page-coming-soon .site-header{background:var(--colour-paper);color:var(--colour-charcoal)}.page-template-page-coming-soon .site-header__inner{border-bottom:1px solid rgba(174,135,95,.18)}.page-template-page-coming-soon .site-menu-toggle>span:not(.screen-reader-text){background:var(--colour-charcoal)}.coming-soon{min-height:784px}.coming-soon__layout{display:grid;max-width:1160px;grid-template-columns:280px minmax(0,720px);margin:auto;padding-top:90px}.coming-soon__ornament{margin:0;color:var(--colour-gold);font-family:var(--font-display);font-size:15rem;font-style:italic;line-height:1}.coming-soon__content{padding-top:74px}.coming-soon__title{margin-bottom:38px;font-size:clamp(3.7rem,4.4vw,4rem);line-height:.98}.coming-soon__copy{max-width:590px;margin-bottom:54px;font-family:var(--font-editorial);font-size:1.25rem;line-height:1.4}@media(max-width:900px){.page-template-page-coming-soon .site-nav{background:var(--colour-paper)}.page-template-page-coming-soon .site-nav li{border-color:rgba(174,135,95,.18)}.coming-soon{min-height:680px}.coming-soon__layout{grid-template-columns:150px minmax(0,1fr);padding-top:64px}.coming-soon__ornament{font-size:10rem}.coming-soon__content{padding-top:48px}}@media(max-width:620px){.coming-soon__layout{display:block;padding-top:54px}.coming-soon__ornament{position:absolute;font-size:8rem;opacity:.28}.coming-soon__content{position:relative;padding:64px 0 84px}.coming-soon__title{font-size:clamp(3rem,15vw,3.8rem)}}

/* Homepage responsive polish: constrain hero artwork and preserve readable panel widths. */
@media (min-width: 1025px) {
	.home-page__hero-inner {
		grid-template-columns: minmax(0, 1fr) clamp(420px, 41.667vw, 600px);
	}
}

.home-page__hero-inner {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	margin-inline: auto;
}

.home-page__hero-copy,
.home-page__hero-media,
.home-page__connect > section,
.home-page__newsletter-form {
	min-width: 0;
}

.home-page__hero-media {
	width: 100%;
}

.home-page__hero-copy {
	padding-left: 0;
}

.home-page__hero-media img {
	object-position: center top;
}

.home-page__video-media {
	width: 100%;
	max-height: 430px;
	aspect-ratio: 16 / 9;
}

.home-page__video-media img {
	object-position: center 18%;
}

.home-page__connect > section {
	padding: clamp(56px, 5vw, 80px) clamp(32px, 5vw, 72px);
}

@media (min-width: 901px) {
	.home-page__connect > section:first-child {
		padding-left: calc(max(var(--gutter), (100vw - var(--content-width)) / 2) + clamp(32px, 5vw, 72px));
	}

	.home-page__connect > section:last-child {
		padding-right: calc(max(var(--gutter), (100vw - var(--content-width)) / 2) + clamp(32px, 5vw, 72px));
	}
}

.home-page__connect h2,
.home-page__connect p {
	word-break: normal;
	overflow-wrap: normal;
}

@media (max-width: 1024px) {
	.home-page__hero-inner {
		grid-template-columns: 1fr;
	}

	.home-page__hero-copy {
		min-height: auto;
		padding: 72px 0;
	}

	.home-page__hero-media {
		width: 100%;
		min-height: 72vw;
		max-height: none;
		order: -1;
	}
}

@media (max-width: 900px) {

	.home-page__connect > section {
		padding: 64px calc(2 * var(--gutter));
	}
}

@media (max-width: 620px) {
	.home-page__hero-media {
		min-height: 118vw;
	}

	.home-page__video-media {
		max-height: 340px;
		aspect-ratio: 4 / 3;
	}

	.home-page__connect > section {
		padding: 56px calc(2 * var(--gutter));
	}

	.home-page__newsletter-form {
		width: 100%;
	}
}

/* About page layout polish. */
.about-page__hero {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	min-height: 720px;
	grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
	margin-inline: auto;
	background: var(--colour-charcoal);
	box-shadow: 0 0 0 100vmax var(--colour-charcoal);
	clip-path: inset(0 -100vmax);
	overflow: hidden;
}

.about-page__hero-copy {
	min-width: 0;
	padding: clamp(56px, 6vw, 80px) clamp(36px, 5vw, 64px);
	padding-left: 0;
}

.about-page__hero h1 {
	max-width: 560px;
}

.about-page__portrait {
	position: relative;
	min-width: 0;
	min-height: 720px;
	overflow: hidden;
}

.about-page__portrait img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.about-page__biography,
.about-page__image-band,
.about-page__appointments-inner {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	margin-inline: auto;
}

.about-page__image-band {
	height: clamp(380px, 36vw, 520px);
	overflow: hidden;
}

.about-page__image-band > div {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

.about-page__image-band img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-page__image-band > div:first-child img {
	object-position: center top;
}

.about-page__appointments {
	position: relative;
	z-index: 1;
	padding: clamp(72px, 7vw, 96px) var(--gutter);
	background: var(--colour-charcoal);
}

.about-page__appointments .eyebrow {
	margin-bottom: 14px;
}

.about-page__appointments h2 {
	max-width: 900px;
	margin-bottom: clamp(38px, 5vw, 56px);
	font-size: clamp(2.8rem, 4.3vw, 3.8rem);
	line-height: 1;
}

.about-page__roles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--colour-rule);
	border-left: 1px solid var(--colour-rule);
}

.about-page__role {
	display: grid;
	min-width: 0;
	min-height: 210px;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 1fr auto;
	gap: 20px 32px;
	align-items: end;
	padding: clamp(26px, 3vw, 38px);
	border: 0;
	border-right: 1px solid var(--colour-rule);
	border-bottom: 1px solid var(--colour-rule);
	background: rgba(255, 255, 255, 0.015);
}

.about-page__role h3 {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--colour-white);
	font-size: clamp(1.8rem, 2.5vw, 2.25rem);
	line-height: 1.05;
}

.about-page__role-title,
.about-page__role-place {
	margin: 0;
}

.about-page__role-place {
	text-align: right;
}

@media (max-width: 1024px) {
	.about-page__hero {
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.about-page__portrait {
		height: clamp(440px, 72vw, 680px);
		min-height: 0;
		order: -1;
	}

	.about-page__hero-copy {
		min-height: 0;
	}
}

@media (max-width: 720px) {
	.about-page__roles {
		grid-template-columns: 1fr;
	}

	.about-page__role {
		min-height: 180px;
	}
}

@media (max-width: 620px) {
	.about-page__hero-copy {
		padding: 56px 0 64px;
	}

	.about-page__portrait {
		height: min(118vw, 520px);
	}

	.about-page__image-band {
		height: auto;
		grid-template-columns: 1fr;
	}

	.about-page__image-band > div {
		aspect-ratio: 4 / 3;
	}

	.about-page__role {
		min-height: 160px;
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 12px;
	}

	.about-page__role h3 {
		grid-column: auto;
		margin-bottom: 18px;
	}

	.about-page__role-place {
		text-align: left;
	}
}

.schedule-card .text-link:hover,
.schedule-card .text-link:focus-visible {
	color: var(--colour-white);
}

/* Event detail layout polish. */
.event-detail {
	overflow: hidden;
}

.event-hero {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	margin-inline: auto;
	box-shadow: 0 0 0 100vmax var(--colour-charcoal);
	clip-path: inset(0 -100vmax);
}

.event-hero__copy {
	width: 100%;
	max-width: none;
	min-width: 0;
	padding-inline: 0;
}

.event-hero__copy > * {
	max-width: 720px;
}

.journal-filters--archive {
	justify-content: flex-start;
	margin-bottom: 40px;
}

.albums-archive {
	padding-top: 0;
}

.post-type-archive-press-release .site-header,
.post-type-archive-album .site-header,
.post-type-archive-publication .site-header {
	background: var(--colour-black);
	color: var(--colour-white);
}

.post-type-archive-press-release .site-header__inner,
.post-type-archive-album .site-header__inner,
.post-type-archive-publication .site-header__inner {
	border-bottom: 0;
}

.post-type-archive-press-release .site-menu-toggle > span:not(.screen-reader-text),
.post-type-archive-album .site-menu-toggle > span:not(.screen-reader-text),
.post-type-archive-publication .site-menu-toggle > span:not(.screen-reader-text) {
	background: var(--colour-white);
}

@media (max-width: 900px) {
	.post-type-archive-press-release .site-nav,
	.post-type-archive-album .site-nav,
	.post-type-archive-publication .site-nav {
		background: var(--colour-black);
	}

	.post-type-archive-press-release .site-nav li,
	.post-type-archive-album .site-nav li,
	.post-type-archive-publication .site-nav li {
		border-color: var(--colour-rule);
	}
}

.event-detail__content-grid {
	max-width: var(--content-width);
	grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
	gap: 0;
	margin-inline: auto;
}

.event-summary {
	padding-right: clamp(40px, 5vw, 64px);
}

.event-programme {
	padding-left: clamp(40px, 5vw, 64px);
	border-left: 1px solid rgba(82, 82, 82, 0.2);
}

@media (max-width: 900px) {
	.event-hero {
		min-height: 0;
	}
}

@media (max-width: 700px) {
	.event-detail__content-grid {
		grid-template-columns: 1fr;
	}

	.event-summary {
		padding: 0 0 44px;
	}

	.event-programme {
		padding: 44px 0 0;
		border-top: 1px solid rgba(82, 82, 82, 0.2);
		border-left: 0;
	}
}

@media (max-width: 620px) {
	.event-hero__copy {
		padding: 56px 0;
	}
}

/* Single publication detail polish. */
.publication-detail__hero-copy .breadcrumbs {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.publication-detail__hero-copy .publication-detail__subtitle {
	margin: clamp(1.1rem, 2vw, 1.5rem) 0 0;
}

.publication-detail__hero-copy .publication-detail__intro {
	margin-top: clamp(1.25rem, 2.5vw, 1.8rem);
}

.publication-detail__body {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	max-width: var(--content-width);
	grid-template-columns: minmax(16rem, 0.34fr) minmax(0, 0.66fr);
	gap: 0;
	padding: clamp(3.5rem, 6vw, 5.5rem) 0 clamp(5rem, 8vw, 7rem);
	border-top-color: rgba(174, 135, 95, 0.45);
}

.publication-meta {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	align-self: start;
	padding-right: clamp(2rem, 4vw, 4.5rem);
}

.publication-meta div {
	min-height: 8rem;
	align-content: space-between;
	gap: 1.25rem;
	padding: 1.5rem 1.5rem 1.5rem 0;
	border-top: 1px solid rgba(31, 29, 30, 0.16);
}

.publication-meta div:nth-child(even) {
	padding-left: 1.5rem;
	border-left: 1px solid rgba(31, 29, 30, 0.16);
}

.publication-meta dt {
	color: var(--colour-gold);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
}

.publication-meta dd {
	color: var(--colour-charcoal);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.1;
	text-transform: none;
}

.publication-abstract {
	padding-left: clamp(2rem, 5vw, 5rem);
	border-left: 1px solid rgba(174, 135, 95, 0.45);
}

.publication-abstract h2 {
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
	font-size: clamp(2.5rem, 4vw, 3.5rem);
}

.publication-abstract__copy {
	max-width: 48rem;
}

@media (max-width: 850px) {
	.publication-detail__body {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.publication-meta {
		padding: 0 0 clamp(2.5rem, 6vw, 4rem);
	}

	.publication-abstract {
		padding: clamp(2.5rem, 6vw, 4rem) 0 0;
		border-top: 1px solid rgba(174, 135, 95, 0.45);
		border-left: 0;
	}
}

@media (max-width: 560px) {
	.publication-meta {
		grid-template-columns: 1fr;
	}

	.publication-meta div,
	.publication-meta div:nth-child(even) {
		min-height: 0;
		padding: 1.25rem 0;
		border-top: 1px solid rgba(31, 29, 30, 0.16);
		border-left: 0;
	}
}

/* Publication archive cards aligned with the related-publication design. */
.publication-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.5vw, 2.5rem);
	align-items: stretch;
}

.publication-card,
.publication-card:nth-child(even) {
	padding-top: 0;
}

.publication-card__link {
	display: flex;
	height: 100%;
	flex-direction: column;
}

.publication-card .publication-cover {
	width: 100%;
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.publication-card--dark .publication-cover {
	background: var(--colour-charcoal);
}

.publication-card--umber .publication-cover {
	background: #674e3b;
}

.publication-card--stone .publication-cover {
	background: #d0c6b9;
	color: var(--colour-charcoal);
}

.publication-card--ochre .publication-cover {
	background: var(--colour-gold);
	color: var(--colour-charcoal);
}

.publication-card--stone .publication-cover__copy,
.publication-card--ochre .publication-cover__copy {
	border-top-color: currentColor;
}

.publication-card--stone .publication-cover__meta,
.publication-card--ochre .publication-cover__meta {
	color: inherit;
}

.publication-card .publication-cover__title {
	font-size: clamp(1.45rem, 2vw, 1.85rem);
}

.publication-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-top: 1.5rem;
}

.publication-card__title {
	margin-bottom: 1rem;
	font-size: clamp(1.45rem, 2vw, 1.8rem);
	line-height: 1.12;
}

.publication-card__summary {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--colour-body);
	font-family: var(--font-editorial);
	font-size: 1rem;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.publication-card__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.4rem;
	margin-top: auto;
}

.publication-card__edition,
.publication-card__action {
	color: var(--colour-muted);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.publication-card__edition {
	margin-top: 0;
}

.publication-card__action {
	margin-left: auto;
	color: var(--colour-gold);
	white-space: nowrap;
}

.publication-card__link:hover .publication-cover,
.publication-card__link:focus-visible .publication-cover {
	transform: translateY(-0.35rem);
	box-shadow: 0 1.25rem 2.5rem rgba(31, 29, 30, 0.14);
}

.publication-card__link:hover .publication-card__title,
.publication-card__link:focus-visible .publication-card__title {
	color: var(--colour-gold);
}

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

	.publication-card:nth-child(even) {
		padding-top: 0;
	}
}

@media (max-width: 620px) {
	.publication-grid {
		grid-template-columns: 1fr;
	}

	.publication-card__footer {
		align-items: center;
	}
}

/* Single event hero image treatment. */
.event-hero {
	position: relative;
	display: flex;
	width: 100%;
	max-width: none;
	min-height: 700px;
	align-items: stretch;
	margin-inline: 0;
	background-color: var(--colour-charcoal);
	background-image: var(--event-hero-image);
	background-position: center;
	background-size: cover;
	box-shadow: none;
	clip-path: none;
	isolation: isolate;
}

.event-hero::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(90deg, rgba(14, 14, 15, 0.96) 0%, rgba(14, 14, 15, 0.92) 48%, rgba(14, 14, 15, 0.87) 100%);
	content: "";
}

.event-hero__copy {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	min-height: 700px;
	margin-inline: auto;
}

@media (max-width: 900px) {
	.event-hero,
	.event-hero__copy {
		min-height: 560px;
	}

	.event-hero::before {
		background: rgba(14, 14, 15, 0.92);
	}
}

@media (max-width: 560px) {
	.event-hero,
	.event-hero__copy {
		min-height: 480px;
	}

	.event-hero {
		background-position: center;
	}
}

/* Press archive newspaper cards. */
.press-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.5vw, 2.25rem);
	align-items: stretch;
}

.press-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(31, 29, 30, 0.2);
	background: var(--colour-white);
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.press-card__link {
	display: flex;
	height: 100%;
	flex-direction: column;
	color: var(--colour-charcoal);
	text-decoration: none;
}

.press-card__body {
	display: flex;
	flex: 1;
	min-height: clamp(25rem, 32vw, 31rem);
	flex-direction: column;
	padding: clamp(1.5rem, 2.6vw, 2rem);
}

.press-card__masthead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.65rem 0;
	border-top: 2px solid var(--colour-charcoal);
	border-bottom: 1px solid rgba(31, 29, 30, 0.3);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.press-card__masthead span:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.press-card__masthead span:last-child {
	flex: 0 0 auto;
	color: var(--colour-muted);
}

.press-card__date {
	margin: 1.35rem 0 0.85rem;
	color: var(--colour-gold);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.press-card__title {
	margin: 0 0 1rem;
	font-size: clamp(1.75rem, 2.45vw, 2.2rem);
	line-height: 1.06;
}

.press-card__excerpt {
	margin: 0 0 1.75rem;
	color: var(--colour-body);
	font-family: var(--font-editorial);
	font-size: 1.05rem;
	line-height: 1.5;
}

.press-card__action {
	padding-top: 1rem;
	margin-top: auto;
	border-top: 1px solid rgba(31, 29, 30, 0.16);
	color: var(--colour-charcoal);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.press-card:hover,
.press-card:focus-within {
	border-color: var(--colour-gold);
	box-shadow: 0 1.25rem 2.5rem rgba(31, 29, 30, 0.1);
	transform: translateY(-0.3rem);
}

.press-card:hover .press-card__action,
.press-card:focus-within .press-card__action {
	color: var(--colour-gold);
}

.press-list .pagination {
	margin-top: clamp(3rem, 6vw, 5rem);
}

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

@media (max-width: 620px) {
	.press-grid {
		grid-template-columns: 1fr;
	}

	.press-card__body {
		min-height: 0;
		padding: 1.5rem;
	}
}

/* Upcoming performances as full-width concert listings. */
.schedule-upcoming-grid {
	display: block;
	margin-top: clamp(2.5rem, 5vw, 4rem);
	border-top: 1px solid rgba(31, 29, 30, 0.48);
}

.schedule-card {
	position: relative;
	display: grid;
	min-height: 13rem;
	grid-template-columns: 9rem minmax(0, 1fr) minmax(13rem, 18rem) minmax(10rem, 12rem);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	padding: clamp(2rem, 3.5vw, 3rem) clamp(1.25rem, 2.5vw, 2rem);
	border-bottom: 1px solid rgba(31, 29, 30, 0.48);
	background: transparent;
	color: var(--colour-charcoal);
	transition: background-color 220ms ease, color 220ms ease;
}

.schedule-card__date {
	margin: 0;
	color: var(--colour-charcoal);
}

.schedule-card__date time {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 0.75rem;
	align-items: end;
}

.schedule-card__day {
	grid-row: 1 / 3;
	font-family: var(--font-display);
	font-size: clamp(4rem, 5.5vw, 5rem);
	font-weight: 600;
	line-height: 0.78;
}

.schedule-card__month,
.schedule-card__year {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
}

.schedule-card__month {
	align-self: end;
}

.schedule-card__year {
	align-self: start;
	color: rgba(31, 29, 30, 0.62);
}

.schedule-card__date--range {
	color: var(--colour-charcoal);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.5;
}

.schedule-card__title {
	margin: 0 0 0.75rem;
	color: var(--colour-charcoal);
	font-size: clamp(2rem, 3vw, 2.65rem);
	line-height: 1.02;
}

.schedule-card__programme {
	margin: 0;
	color: rgba(31, 29, 30, 0.76);
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	font-style: italic;
	line-height: 1.35;
}

.schedule-card__location {
	margin: 0;
	color: rgba(31, 29, 30, 0.7);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.7;
	text-align: left;
	text-transform: uppercase;
}

.schedule-card__links {
	display: flex;
	align-items: flex-end;
	flex-direction: column;
	gap: 0.9rem;
}

.schedule-card__primary {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	color: inherit;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.schedule-card__arrow {
	display: grid;
	width: 2.8rem;
	height: 2.8rem;
	place-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 1rem;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.schedule-card__links .text-link {
	color: inherit;
	font-size: 0.56rem;
	opacity: 0.7;
}

.schedule-card:hover,
.schedule-card:focus-within {
	background: var(--colour-charcoal);
	color: var(--colour-ivory);
}

.schedule-card:hover .schedule-card__title,
.schedule-card:focus-within .schedule-card__title,
.schedule-card:hover .schedule-card__date,
.schedule-card:focus-within .schedule-card__date,
.schedule-card:hover .schedule-card__date--range,
.schedule-card:focus-within .schedule-card__date--range {
	color: var(--colour-ivory);
}

.schedule-card:hover .schedule-card__programme,
.schedule-card:focus-within .schedule-card__programme,
.schedule-card:hover .schedule-card__location,
.schedule-card:focus-within .schedule-card__location,
.schedule-card:hover .schedule-card__year,
.schedule-card:focus-within .schedule-card__year {
	color: var(--colour-muted);
}

.schedule-card:hover .schedule-card__arrow,
.schedule-card:focus-within .schedule-card__arrow {
	border-color: var(--colour-gold);
	background: var(--colour-gold);
	color: var(--colour-charcoal);
}

@media (max-width: 1000px) {
	.schedule-card {
		grid-template-columns: 8rem minmax(0, 1fr) minmax(10rem, 12rem);
		grid-template-areas:
			"date main links"
			"date location links";
	}

	.schedule-card__date {
		grid-area: date;
	}

	.schedule-card__main {
		grid-area: main;
	}

	.schedule-card__location {
		grid-area: location;
	}

	.schedule-card__links {
		grid-area: links;
	}
}

@media (max-width: 700px) {
	.schedule-card {
		min-height: 0;
		grid-template-columns: 1fr;
		grid-template-areas:
			"date"
			"main"
			"location"
			"links";
		gap: 1.5rem;
		padding: 2rem 1.25rem;
	}

	.schedule-card__date time {
		display: flex;
		align-items: baseline;
		gap: 0.65rem;
	}

	.schedule-card__day {
		font-size: 3.8rem;
	}

	.schedule-card__links {
		align-items: flex-start;
	}

	.schedule-card__primary {
		justify-content: space-between;
		width: 100%;
	}
}

/* Recent performance archive polish. */
.schedule-past__header {
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

/* Keep the contact split layout within the shared site width. */
.contact-layout {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	min-height: 0;
	grid-template-columns: minmax(20rem, 0.9fr) minmax(0, 1.4fr);
	margin-inline: auto;
}

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

.schedule-event-list {
	border-top: 1px solid rgba(31, 29, 30, 0.24);
}

.event-row {
	position: relative;
	gap: clamp(1.75rem, 3vw, 3rem);
	padding: clamp(2rem, 3.5vw, 2.75rem) clamp(0.75rem, 1.5vw, 1.25rem);
	border-top: 0;
	border-bottom: 1px solid rgba(31, 29, 30, 0.18);
	transition: background-color 180ms ease;
}

.event-row::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 2px;
	background: var(--colour-gold);
	content: "";
	transform: scaleY(0);
	transition: transform 180ms ease;
}

.event-row__date {
	line-height: 1.5;
}

.event-row__title {
	font-size: clamp(1.8rem, 2.5vw, 2.15rem);
	line-height: 1.08;
}

.event-row__programme {
	color: var(--colour-body);
	font-size: 1.05rem;
	line-height: 1.45;
}

.event-row__location {
	line-height: 1.55;
}

.event-row:hover,
.event-row:focus-within {
	background: rgba(174, 135, 95, 0.08);
}

.event-row:hover::before,
.event-row:focus-within::before {
	transform: scaleY(1);
}

@media (max-width: 560px) {
	.event-row {
		gap: 0.85rem;
		padding: 1.75rem 0.5rem;
	}

}

/* Standalone contact-page newsletter section. */
.newsletter-panel--standalone {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-width));
	margin: clamp(3rem, 6vw, 5rem) auto clamp(5rem, 9vw, 8rem);
	padding: clamp(2rem, 4vw, 3.5rem);
}

/* Shared form loading and inline toast states. */
form.is-submitting button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	opacity: 0.78;
	cursor: wait;
}

form.is-submitting button[type="submit"]::before {
	width: 0.9rem;
	height: 0.9rem;
	flex: 0 0 auto;
	border: 1px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	content: "";
	animation: form-submit-spin 700ms linear infinite;
}

.form-toast,
.contact-form__status.form-toast,
.newsletter-form__status.form-toast {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: 0.85rem;
	padding: 1rem 1.1rem;
	margin: 1.5rem 0 0;
	border: 1px solid rgba(31, 29, 30, 0.16);
	border-left: 3px solid var(--colour-gold);
	background: var(--colour-white);
	color: var(--colour-charcoal);
	box-shadow: 0 0.8rem 2rem rgba(31, 29, 30, 0.08);
	font-family: var(--font-sans);
	font-size: 0.76rem;
	line-height: 1.45;
	animation: form-toast-enter 260ms ease both;
}

.form-toast--error,
.contact-form__status.form-toast--error,
.newsletter-form__status.form-toast--error {
	border-left-color: #8f2e22;
}

.form-toast__marker {
	width: 0.55rem;
	height: 0.55rem;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--colour-gold);
}

.form-toast--error .form-toast__marker {
	background: #8f2e22;
}

.form-toast__message {
	flex: 1;
}

.form-toast__dismiss {
	flex: 0 0 auto;
	padding: 0.35rem 0;
	border: 0;
	background: transparent;
	color: var(--colour-charcoal);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
}

.form-toast__dismiss:hover,
.form-toast__dismiss:focus-visible {
	color: var(--colour-gold);
}

@keyframes form-submit-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes form-toast-enter {
	from {
		opacity: 0;
		transform: translateY(0.5rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	form.is-submitting button[type="submit"]::before,
	.form-toast {
		animation: none;
	}
}

@media (max-width: 560px) {
	.form-toast,
	.contact-form__status.form-toast,
	.newsletter-form__status.form-toast {
		align-items: flex-start;
	}

	.form-toast__dismiss {
		margin-left: auto;
	}
}

/* Syriac Hymnal audio archive. */
.hymnal-hero {
	padding: clamp(4.5rem, 7vw, 6rem) 0;
}

.hymnal-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(20rem, 0.85fr);
	align-items: center;
	gap: clamp(3rem, 7vw, 6.5rem);
}

.hymnal-hero__copy {
	max-width: 47rem;
}

.hymnal-hero h1 {
	max-width: 45rem;
	margin: 0 0 1.5rem;
	color: var(--colour-white);
	font-size: clamp(4rem, 6vw, 5.75rem);
	line-height: 0.94;
}

.hymnal-rule {
	display: block;
	width: 4rem;
	height: 2px;
	margin-bottom: 1.5rem;
	background: var(--colour-gold);
}

.hymnal-hero__intro {
	max-width: 41rem;
	margin: 0;
	color: var(--colour-paper);
	font-family: var(--font-editorial);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	line-height: 1.45;
}

.hymnal-hero__summary {
	padding: clamp(2rem, 4vw, 2.75rem);
	background: var(--colour-black);
}

.hymnal-hero__summary h2 {
	margin: 0 0 1.75rem;
	color: var(--colour-white);
	font-size: clamp(2.4rem, 4vw, 3.25rem);
}

.hymnal-hero__volume {
	padding-top: 1.25rem;
	margin-top: 1.25rem;
	border-top: 1px solid rgba(236, 231, 225, 0.18);
}

.hymnal-hero__volume span,
.hymnal-companion__destination span {
	display: block;
	margin-bottom: 0.55rem;
	color: var(--colour-gold);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.hymnal-hero__volume p {
	margin: 0;
	color: var(--colour-paper);
	font-family: var(--font-editorial);
	font-size: 1.1rem;
	line-height: 1.35;
}

.hymnal-volumes {
	padding: clamp(3.75rem, 6vw, 5rem) 0;
	background: var(--colour-paper);
}

.hymnal-section-heading--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: 2rem;
}

.hymnal-section-heading h2 {
	margin: 0;
	font-size: clamp(2.6rem, 4vw, 3.4rem);
}

.hymnal-section-heading--row > p {
	margin: 0;
	color: var(--colour-gold);
	font-size: 0.64rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-align: right;
	text-transform: uppercase;
}

.hymnal-volume-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.hymnal-volume-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 1.5rem;
	min-height: 10rem;
	padding: 1.75rem;
	background: var(--colour-ivory);
}

.hymnal-volume-card__number,
.hymnal-player__number {
	color: var(--colour-gold);
	font-family: var(--font-editorial);
	font-size: 2.75rem;
	font-style: italic;
	line-height: 1;
}

.hymnal-volume-card .eyebrow {
	margin-bottom: 0.6rem;
}

.hymnal-volume-card h3 {
	max-width: 28rem;
	margin: 0;
	font-size: clamp(1.65rem, 2.4vw, 2rem);
	line-height: 1.08;
}

.hymnal-recordings {
	padding: clamp(4.75rem, 8vw, 7rem) 0;
}

.hymnal-recordings__group + .hymnal-recordings__group {
	margin-top: clamp(4rem, 7vw, 6rem);
}

.hymnal-player-list {
	display: grid;
	gap: 1rem;
}

.hymnal-player {
	display: grid;
	grid-template-columns: 4rem 3.25rem minmax(18rem, 1.55fr) minmax(16rem, 0.95fr);
	align-items: center;
	gap: 1.5rem;
	min-height: 9.25rem;
	padding: 1.5rem 1.75rem;
	border: 1px solid var(--colour-rule);
	background: var(--colour-ivory);
	transition: border-color 180ms ease, background-color 180ms ease;
}

.hymnal-player:hover,
.hymnal-player:focus-within,
.hymnal-player.is-playing {
	border-color: var(--colour-gold);
	background: var(--colour-white);
}

.hymnal-player__toggle {
	display: inline-flex;
	width: 3.25rem;
	height: 3.25rem;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--colour-gold);
	border-radius: 50%;
	background: transparent;
	color: var(--colour-gold);
	cursor: pointer;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.hymnal-player__toggle:hover,
.hymnal-player__toggle:focus-visible,
.hymnal-player.is-playing .hymnal-player__toggle {
	background: var(--colour-gold);
	color: var(--colour-charcoal);
}

.hymnal-player__toggle:active {
	transform: scale(0.96);
}

.hymnal-player__toggle:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.hymnal-player__play {
	margin-left: 0.12rem;
	font-size: 0.8rem;
}

.hymnal-player__pause {
	display: none;
	font-size: 0.7rem;
	letter-spacing: 0.04em;
}

.hymnal-player.is-playing .hymnal-player__play {
	display: none;
}

.hymnal-player.is-playing .hymnal-player__pause {
	display: inline;
}

.hymnal-player__details p {
	margin: 0 0 0.65rem;
	color: var(--colour-gold);
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.hymnal-player__details h3 {
	margin: 0;
	font-size: clamp(1.7rem, 2.7vw, 2.2rem);
	line-height: 1.08;
}

.hymnal-player__timeline {
	min-width: 0;
}

.hymnal-player__range {
	--audio-progress: 0%;
	width: 100%;
	height: 1rem;
	margin: 0;
	background: transparent;
	cursor: pointer;
	appearance: none;
}

.hymnal-player__range::-webkit-slider-runnable-track {
	height: 1px;
	background: linear-gradient(to right, var(--colour-gold) var(--audio-progress), var(--colour-rule) var(--audio-progress));
}

.hymnal-player__range::-moz-range-track {
	height: 1px;
	background: var(--colour-rule);
}

.hymnal-player__range::-moz-range-progress {
	height: 1px;
	background: var(--colour-gold);
}

.hymnal-player__range::-webkit-slider-thumb {
	width: 0.55rem;
	height: 0.55rem;
	margin-top: -0.25rem;
	border: 0;
	border-radius: 50%;
	background: var(--colour-gold);
	appearance: none;
}

.hymnal-player__range::-moz-range-thumb {
	width: 0.55rem;
	height: 0.55rem;
	border: 0;
	border-radius: 50%;
	background: var(--colour-gold);
}

.hymnal-player__range:focus-visible {
	outline: 2px solid var(--colour-gold);
	outline-offset: 0.3rem;
}

.hymnal-player__time {
	display: flex;
	justify-content: space-between;
	margin-top: 0.35rem;
	color: var(--colour-muted);
	font-size: 0.64rem;
	letter-spacing: 0.06em;
}

.hymnal-player audio {
	display: none;
}

.hymnal-playback-note {
	display: flex;
	gap: 1.75rem;
	max-width: 58rem;
	margin: 2.5rem 0 0;
	color: var(--colour-body);
	font-family: var(--font-editorial);
	font-size: 1.1rem;
}

.hymnal-playback-note span {
	flex: 0 0 auto;
	color: var(--colour-gold);
	font-family: var(--font-sans);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.hymnal-recordings__empty {
	padding: 4rem 0;
	text-align: center;
}

.hymnal-companion {
	padding: clamp(3.75rem, 6vw, 5rem) 0;
	background: var(--colour-gold);
	color: var(--colour-charcoal);
}

.hymnal-companion__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(20rem, 0.85fr);
	align-items: center;
	gap: clamp(3rem, 7vw, 6rem);
}

.hymnal-companion .eyebrow {
	color: var(--colour-charcoal);
}

.hymnal-companion h2 {
	margin: 0 0 1rem;
	font-size: clamp(2.75rem, 4.5vw, 3.75rem);
}

.hymnal-companion p {
	max-width: 42rem;
	margin: 0;
	font-family: var(--font-editorial);
	font-size: 1.25rem;
	line-height: 1.45;
}

.hymnal-companion__destination {
	min-width: 0;
	padding: 1.65rem 1.75rem;
	background: var(--colour-charcoal);
}

.hymnal-companion__destination strong {
	display: block;
	overflow-wrap: anywhere;
	color: var(--colour-white);
	font-size: 0.86rem;
	font-weight: 400;
}

@media (max-width: 960px) {
	.hymnal-hero__inner,
	.hymnal-companion__inner {
		grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
		gap: 2.5rem;
	}

	.hymnal-player {
		grid-template-columns: 3.5rem 3.25rem minmax(0, 1fr);
	}

	.hymnal-player__timeline {
		grid-column: 3;
	}
}

@media (max-width: 720px) {
	.hymnal-hero__inner,
	.hymnal-companion__inner,
	.hymnal-volume-grid {
		grid-template-columns: 1fr;
	}

	.hymnal-hero {
		padding-block: 3.5rem;
	}

	.hymnal-hero h1 {
		font-size: clamp(3.5rem, 15vw, 4.6rem);
	}

	.hymnal-section-heading--row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.75rem;
	}

	.hymnal-section-heading--row > p {
		text-align: left;
	}

	.hymnal-player {
		grid-template-columns: 2.5rem 2.75rem minmax(0, 1fr);
		gap: 1rem;
		padding: 1.4rem 1.2rem;
	}

	.hymnal-player__number {
		font-size: 2rem;
	}

	.hymnal-player__toggle {
		width: 2.75rem;
		height: 2.75rem;
	}

	.hymnal-player__timeline {
		grid-column: 1 / -1;
	}

	.hymnal-playback-note {
		flex-direction: column;
		gap: 0.65rem;
	}

	.hymnal-companion__destination {
		padding-inline: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hymnal-player,
	.hymnal-player__toggle {
		transition: none;
	}
}

/* Homepage Syriac Hymnal feature. */
.home-page__hymnal {
	background: var(--colour-paper);
}

.home-page__hymnal-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(25rem, 0.95fr);
	align-items: stretch;
	gap: clamp(3rem, 7vw, 6rem);
}

.home-page__hymnal-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding-block: clamp(1.5rem, 4vw, 3rem);
}

.home-page__hymnal-copy h2 {
	max-width: 42rem;
	margin: 0 0 1.5rem;
	font-size: clamp(3.3rem, 5.2vw, 4.8rem);
	line-height: 0.96;
}

.home-page__hymnal-rule {
	width: 4rem;
	height: 2px;
	margin-bottom: 1.5rem;
	background: var(--colour-gold);
}

.home-page__hymnal-copy .editorial-copy {
	max-width: 38rem;
	margin-bottom: 2rem;
	font-size: clamp(1.2rem, 2vw, 1.4rem);
}

.home-page__hymnal-volumes {
	display: flex;
	min-height: 30rem;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 4vw, 3.5rem);
	background: var(--colour-charcoal);
	color: var(--colour-white);
}

.home-page__hymnal-label {
	margin: 0 0 2rem;
	color: var(--colour-gold);
	font-size: 0.64rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.home-page__hymnal-volume {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	align-items: center;
	gap: 1.25rem;
	padding: 1.75rem 0;
	border-top: 1px solid rgba(236, 231, 225, 0.18);
}

.home-page__hymnal-volume > span {
	color: var(--colour-gold);
	font-family: var(--font-editorial);
	font-size: 2.75rem;
	font-style: italic;
	line-height: 1;
}

.home-page__hymnal-volume p {
	margin: 0 0 0.4rem;
	color: var(--colour-gold);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.home-page__hymnal-volume h3 {
	margin: 0;
	color: var(--colour-white);
	font-size: clamp(1.7rem, 2.5vw, 2.15rem);
}

.home-page__hymnal-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(236, 231, 225, 0.18);
	color: var(--colour-gold);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
}

.home-page__hymnal-link span {
	font-size: 1.2rem;
	transition: transform 180ms ease;
}

.home-page__hymnal-link:hover span,
.home-page__hymnal-link:focus-visible span {
	transform: translateX(0.35rem);
}

@media (max-width: 900px) {
	.home-page__hymnal-inner {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.home-page__hymnal-volumes {
		min-height: 0;
	}
}

@media (max-width: 560px) {
	.home-page__hymnal-copy h2 {
		font-size: 3.4rem;
	}

	.home-page__hymnal-volumes {
		padding: 2rem 1.5rem;
	}

	.home-page__hymnal-volume {
		grid-template-columns: 3.25rem minmax(0, 1fr);
		gap: 1rem;
	}

	.home-page__hymnal-volume > span {
		font-size: 2.1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-page__hymnal-link span {
		transition: none;
	}
}

/* Schedule cards adapted for the dark homepage performance section. */
.home-page__upcoming-grid {
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-top: 2.5rem;
}

.home-page__schedule .schedule-card {
	border: 1px solid rgba(236, 231, 225, 0.16);
	background: var(--colour-charcoal);
	color: var(--colour-paper);
}

.home-page__schedule .schedule-card:hover,
.home-page__schedule .schedule-card:focus-within {
	border-color: rgba(174, 135, 95, 0.75);
	background: #252223;
}

.home-page__schedule .schedule-card__date {
	color: var(--colour-gold);
}

.home-page__schedule .schedule-card__title,
.home-page__schedule .schedule-card__title a {
	color: var(--colour-white);
}

.home-page__schedule .schedule-card__programme {
	color: var(--colour-paper);
}

.home-page__schedule .schedule-card__location {
	color: var(--colour-muted);
}

.home-page__schedule .schedule-card__primary {
	color: var(--colour-white);
}

.home-page__schedule .schedule-card__primary:hover,
.home-page__schedule .schedule-card__primary:focus-visible {
	color: var(--colour-white);
}

.home-page__schedule .schedule-card__arrow {
	border-color: rgba(236, 231, 225, 0.35);
	color: var(--colour-gold);
}

.home-page__schedule .schedule-card .text-link {
	color: var(--colour-gold);
}

@media (max-width: 700px) {
	.home-page__upcoming-grid {
		margin-top: 2rem;
	}
}

/* Intentionally off-screen honeypot: visible to simple bots, not visitors. */
.toufic-form-trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}
