/*
 * Το Ιδιόμελο — historical story page
 * All selectors are scoped to .im-story so this file cannot restyle other pages.
 */

.im-story {
	--im-paper: #f5f0e7;
	--im-paper-deep: #e9e0d2;
	--im-ink: #211f1b;
	--im-muted: #6f685f;
	--im-wine: #781b1c;
	--im-wine-dark: #4d1113;
	--im-green: #253a2f;
	--im-gold: #bd9c5d;
	--im-rule: rgba(33, 31, 27, 0.18);
	--im-white: #fffdf8;
	--im-content: 1220px;
	--im-serif: "EB Garamond", Georgia, serif;
	--im-sans: "Manrope", Arial, sans-serif;
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: clip;
	background: var(--im-paper);
	color: var(--im-ink);
	font-family: var(--im-sans);
	font-size: 16px;
	line-height: 1.72;
	--wp--style--block-gap: 0;
}

.im-story,
.im-story * {
	box-sizing: border-box;
}

.im-story > *,
.im-story .wp-block-group,
.im-story .wp-block-image,
.im-story .wp-block-heading,
.im-story .wp-block-buttons,
.im-story .wp-block-button,
.im-story .wp-block-list,
.im-story .wp-block-quote,
.im-story p {
	margin-block-start: 0;
	margin-block-end: 0;
}

.im-story img {
	display: block;
	width: 100% !important;
	max-width: none !important;
}

/*
 * WordPress can add layout constraints to every Group block and older/core
 * combinations can also insert a .wp-block-group__inner-container wrapper.
 * Neutralise those implementation details inside this page so our named
 * layout classes remain the single source of sizing and grid behaviour.
 */
.im-story :where(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.im-story .wp-block-group__inner-container {
	display: contents;
}

.im-story .wp-block-image {
	max-width: none !important;
	margin: 0 !important;
}

.im-story a {
	color: inherit;
}

.im-story button,
.im-story a {
	-webkit-tap-highlight-color: transparent;
}

.im-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.im-page-intro {
	background: var(--im-paper);
}

.im-page-intro__inner {
	max-width: var(--im-content);
	margin-inline: auto !important;
	padding: 44px 0 40px;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
	align-items: center;
	gap: 80px;
}

.im-page-title {
	margin: 4px 0 0 !important;
	color: var(--im-ink);
	font-family: var(--im-serif);
	font-size: clamp(68px, 6vw, 88px);
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.045em;
}

.im-eyebrow {
	margin: 0 0 15px !important;
	color: var(--im-wine) !important;
	font-family: var(--im-sans) !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	line-height: 1.45 !important;
	text-transform: uppercase !important;
}

.im-eyebrow--light {
	color: #dbc49c !important;
}

.im-intro-copy {
	max-width: 570px;
	color: var(--im-ink);
	font-family: var(--im-serif);
	font-size: 24px;
	line-height: 1.3;
}

.im-route-bar {
	position: relative;
	z-index: 5;
	border-top: 1px solid var(--im-rule);
	border-bottom: 1px solid var(--im-rule);
	background: var(--im-white);
}

.im-route-bar__inner {
	max-width: var(--im-content);
	margin-inline: auto !important;
	padding: 14px 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 38px;
}

.im-route-kicker {
	font-family: var(--im-serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.im-route-hint {
	margin-top: 2px !important;
	color: var(--im-muted);
	font-size: 12px;
	line-height: 1.5;
}

.im-route-order {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	color: var(--im-wine);
	font: 600 13px/1.2 var(--im-sans);
	white-space: nowrap;
}

.im-route-endpoint {
	min-width: 0;
}

.im-route-endpoint:last-child {
	min-width: 0;
	text-align: left;
}

.im-route-endpoint[data-im-route-start] {
	order: 1;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.im-route-endpoint[data-im-route-start]::after {
	content: "→";
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.im-route-endpoint[data-im-route-end] {
	order: 2;
}

.im-route-swap {
	order: 3;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	margin-left: 5px;
	padding: 0;
	border: 1px solid var(--im-wine);
	border-radius: 50%;
	background: var(--im-wine);
	color: var(--im-white);
	cursor: pointer;
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1), background-color 180ms ease, color 180ms ease;
	transform-origin: center;
}

.im-route-swap.im-route-swap--inviting:not(:hover):not(:focus-visible) {
	animation: im-route-invite 1.8s ease-in-out 700ms 5;
}

@keyframes im-route-invite {
	0%, 60%, 100% {
		transform: rotate(0deg) scale(1);
	}
	70% {
		transform: rotate(-11deg) scale(1.06);
	}
	80% {
		transform: rotate(10deg) scale(1.06);
	}
	90% {
		transform: rotate(-5deg) scale(1.02);
	}
}

.im-route-swap:hover,
.im-route-swap:focus-visible {
	background: var(--im-white);
	color: var(--im-wine);
}

.im-route-swap:focus-visible {
	outline: 3px solid rgba(120, 27, 28, 0.25);
	outline-offset: 3px;
}

.im-route-swap[aria-pressed="true"] {
	transform: rotate(180deg);
}

.im-route-swap svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.im-timeline {
	transition: opacity 130ms ease, transform 130ms ease;
}

.im-story.im-is-reordering .im-timeline {
	opacity: 0.35;
	transform: translateY(10px);
}

.im-chapter {
	position: relative;
	display: grid;
	grid-template-columns: minmax(190px, calc((100vw - var(--im-content)) / 2 + 210px)) minmax(0, 1fr);
	min-height: 560px;
	background: var(--im-paper);
}

.im-chapter--tinted {
	background: var(--im-paper-deep);
}

.im-chapter--today,
.im-chapter--official {
	background: var(--im-green);
	color: var(--im-white);
}

.im-chapter--oral {
	background: var(--im-ink);
	color: var(--im-white);
}

.im-chapter-rail {
	position: relative;
	z-index: 3;
	padding: 102px 40px 80px max(32px, calc((100vw - var(--im-content)) / 2));
	border-right: 1px solid var(--im-rule);
}

.im-chapter-rail::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 128px;
	right: -6px;
	width: 11px;
	height: 11px;
	border: 3px solid currentColor;
	border-radius: 50%;
	background: var(--im-paper);
}

.im-chapter--tinted .im-chapter-rail::after {
	background: var(--im-paper-deep);
}

.im-chapter-rail--light {
	border-color: rgba(255, 255, 255, 0.28);
	color: var(--im-white);
}

.im-chapter-rail--light::after {
	background: var(--im-green);
}

.im-chapter--oral .im-chapter-rail--light::after {
	background: var(--im-ink);
}

.im-chapter-index {
	margin-bottom: 18px !important;
	color: var(--im-gold);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
}

.im-chapter-year {
	max-width: 210px;
	font-family: var(--im-serif);
	font-size: clamp(35px, 3vw, 52px);
	font-weight: 500;
	line-height: 0.98;
}

.im-chapter-year--long {
	font-size: clamp(28px, 2.25vw, 39px);
	line-height: 1.02;
}

.im-chapter-body {
	padding: 102px max(32px, calc((100vw - var(--im-content)) / 2)) 112px 84px;
	min-width: 0;
}

.im-chapter-body--wide {
	width: 100%;
	max-width: none !important;
}

.im-chapter-heading {
	width: 100%;
	max-width: 720px !important;
	margin-bottom: 55px !important;
}

.im-chapter-heading--split {
	max-width: none !important;
	display: grid;
	grid-template-columns: minmax(340px, 0.9fr) minmax(300px, 0.7fr);
	gap: 80px;
	align-items: end;
}

/*
 * The restoration heading needs a little more room than the other split
 * headings so that “Η αναπαλαίωση” stays together on the first line.
 */
#anapalaiosi .im-chapter-heading--split {
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.6fr);
	gap: 60px;
}

.im-chapter-heading h2,
.im-official-copy h2,
.im-oral-history h2,
.im-origin-copy h2,
.im-source-copy h2,
.im-archive-heading h2 {
	margin: 0 !important;
	font-family: var(--im-serif);
	font-size: clamp(48px, 5vw, 76px);
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.035em;
}

.im-chapter-heading--split h2 {
	font-size: clamp(48px, 4.3vw, 68px);
}

.im-chapter-heading--split > p,
.im-chapter-heading--split > .wp-block-group__inner-container > p {
	margin: 0 !important;
}

.im-page-title,
.im-intro-copy,
.im-route-kicker,
.im-route-endpoint,
.im-chapter-year,
.im-today-title,
.im-chapter-heading h2,
.im-official-copy h2,
.im-oral-history h2,
.im-origin-copy h2,
.im-source-copy h2,
.im-archive-heading h2,
.im-signature-quote p {
	hyphens: none !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

.im-page-title,
.im-today-title,
.im-chapter-heading h2,
.im-official-copy h2,
.im-oral-history h2,
.im-origin-copy h2,
.im-source-copy h2,
.im-archive-heading h2,
.im-signature-quote p {
	text-wrap: balance;
}

.im-page-title,
.im-chapter-heading h2,
.im-origin-copy h2,
.im-archive-heading h2 {
	color: var(--im-ink) !important;
}

.im-today-title,
.im-official-copy h2,
.im-oral-history h2,
.im-source-copy h2,
.im-signature-quote p {
	color: var(--im-white) !important;
}

.im-editorial-grid {
	width: 100%;
	max-width: none !important;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(300px, 0.65fr);
	gap: 72px;
	align-items: start;
}

.im-editorial-copy p + p,
.im-oral-copy p + p,
.im-origin-copy p + p {
	margin-top: 24px !important;
}

.im-lead {
	font-family: var(--im-serif);
	font-size: 27px;
	line-height: 1.35;
}

.im-activity-list {
	margin: 38px 0 0 !important;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--im-rule);
	list-style: none;
}

.im-activity-list li {
	padding: 12px 0;
	border-bottom: 1px solid var(--im-rule);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.im-image-frame {
	position: relative;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.im-image-frame img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
}

.im-image-frame figcaption,
.im-image-note {
	margin-top: 11px !important;
	color: var(--im-muted);
	font-family: var(--im-sans);
	font-size: 12px;
	font-style: normal;
	line-height: 1.5;
	text-align: left !important;
}

.im-image-frame--portrait {
	height: 490px !important;
}

.im-signature-quote {
	position: relative;
	width: 100%;
	max-width: none !important;
	margin: 104px 0 0 !important;
	padding: 72px 9%;
	border: 0;
	background: var(--im-wine);
	color: var(--im-white);
	text-align: center;
}

.im-signature-quote::before {
	content: "“";
	position: absolute;
	top: 22px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.12);
	font-family: var(--im-serif);
	font-size: 160px;
	line-height: 1;
}

.im-signature-quote p {
	position: relative;
	z-index: 1;
	font-family: var(--im-serif);
	font-size: clamp(52px, 6vw, 86px);
	font-style: italic;
	font-weight: 400;
	line-height: 1.05;
}

.im-signature-quote cite {
	display: block;
	margin-top: 22px;
	color: #e3d0af;
	font-family: var(--im-sans);
	font-size: 11px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.im-before-after {
	width: 100%;
	max-width: none !important;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr);
	align-items: center;
}

.im-comparison-item {
	position: relative;
}

.im-image-frame--comparison {
	height: 460px !important;
}

.im-image-frame--comparison img {
	filter: saturate(0.82) contrast(0.98);
}

.im-image-label {
	position: absolute;
	z-index: 2;
	top: 16px;
	left: 16px;
	padding: 7px 12px;
	background: var(--im-ink);
	color: var(--im-white);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

.im-image-label--after {
	background: var(--im-wine);
}

.im-comparison-arrow {
	display: grid;
	place-items: center;
	color: var(--im-wine);
	font-family: var(--im-serif);
	font-size: 37px;
	line-height: 1;
	text-align: center;
}

.im-comparison-arrow::before {
	content: "→";
}

/* Empty decorative Groups show a large inserter chooser in Gutenberg only. */
.editor-styles-wrapper .im-comparison-arrow :is(.block-list-appender, .block-editor-button-block-appender),
.editor-styles-wrapper .im-source-monogram :is(.block-list-appender, .block-editor-button-block-appender) {
	display: none !important;
}

.im-memory-collage {
	width: 100%;
	max-width: none !important;
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	grid-template-rows: repeat(2, 270px);
	gap: 18px;
}

.im-memory-collage__main {
	grid-row: 1 / 3;
}

.im-memory-collage .im-image-frame {
	height: 100% !important;
}

.im-memory-collage img {
	filter: saturate(0.68) sepia(0.08);
}

.im-today-stage {
	position: relative;
	min-height: 760px;
	overflow: hidden;
}

.im-today-stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(18, 28, 23, 0.92) 0%, rgba(18, 28, 23, 0.74) 38%, rgba(18, 28, 23, 0.14) 72%), linear-gradient(0deg, rgba(18, 28, 23, 0.48), transparent 45%);
	pointer-events: none;
}

.im-today-stage__image {
	position: absolute !important;
	inset: 0;
	height: 100%;
}

.im-today-stage__image img {
	height: 100%;
	object-fit: cover;
	object-position: center 44%;
	filter: saturate(0.75) contrast(1.05);
}

.im-today-stage__content {
	position: relative;
	z-index: 2;
	width: 100%;
	/* Keep a real 660px text measure after the fluid right gutter is added. */
	max-width: calc(744px + max(32px, (100vw - var(--im-content)) / 2)) !important;
	padding: 92px max(32px, calc((100vw - var(--im-content)) / 2)) 100px 84px;
}

.im-today-title {
	margin: 0 0 30px !important;
	font-family: var(--im-serif);
	font-size: clamp(66px, 7vw, 104px);
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.045em;
}

.im-today-copy {
	max-width: 520px;
	font-family: var(--im-serif);
	font-size: 25px;
	line-height: 1.38;
}

.im-text-link-wrap {
	margin-top: 22px !important;
}

.im-text-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font-family: var(--im-sans);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.im-text-link--light {
	color: var(--im-white) !important;
}

.im-text-link--light:visited {
	color: var(--im-white) !important;
}

.im-text-link--light:hover,
.im-text-link--light:focus-visible {
	color: #e3d0af !important;
}

.im-official-card {
	position: relative;
	min-height: 650px;
	padding: 106px max(32px, calc((100vw - var(--im-content)) / 2)) 110px 84px;
	overflow: hidden;
}

.im-official-card::before {
	content: "1986";
	position: absolute;
	top: 8px;
	right: 3%;
	color: rgba(255, 255, 255, 0.055);
	font-family: var(--im-serif);
	font-size: clamp(180px, 24vw, 340px);
	font-weight: 600;
	line-height: 1;
}

.im-official-copy {
	position: relative;
	z-index: 1;
	max-width: 820px;
}

.im-official-copy p:not(.im-eyebrow):not(.im-text-link-wrap) {
	max-width: 720px;
	margin-top: 34px !important;
	color: rgba(255, 255, 255, 0.84);
	font-size: 18px;
}

.im-oral-grid {
	width: 100%;
	max-width: none !important;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 0.72fr);
	gap: 78px;
	align-items: start;
}

.im-evidence-label {
	display: inline-block;
	margin-bottom: 24px !important;
	padding: 7px 10px;
	border: 1px solid var(--im-wine);
	color: var(--im-wine) !important;
	font-family: var(--im-sans) !important;
	font-size: 10px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

.im-evidence-label--light {
	border-color: rgba(255, 255, 255, 0.44);
	color: #dbc49c !important;
}

.im-image-frame--room {
	height: 490px !important;
}

.im-oral-history {
	width: 100%;
	max-width: calc(875px + max(32px, (100vw - var(--im-content)) / 2)) !important;
	padding: 116px max(32px, calc((100vw - var(--im-content)) / 2)) 128px 84px;
}

.im-oral-history__lead {
	max-width: 790px;
	margin-top: 35px !important;
	font-family: var(--im-serif);
	font-size: 28px;
	line-height: 1.42;
}

.im-evidence-note {
	max-width: 650px;
	margin-top: 28px !important;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.62);
	font-size: 12px;
}

.im-origin-layout {
	padding: 110px max(32px, calc((100vw - var(--im-content)) / 2)) 120px 84px;
	display: grid;
	grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
	gap: 86px;
	align-items: center;
}

.im-origin-copy .im-lead {
	margin-top: 36px !important;
}

.im-detail-list {
	margin-top: 40px !important;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px;
}

.im-detail-list p {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 34px;
	margin: 0 !important;
	padding: 8px 12px;
	border: 1px solid var(--im-rule);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	white-space: nowrap;
	text-transform: uppercase;
}

/* Override the more specific .im-origin-copy p + p rhythm rule. */
.im-origin-copy .im-detail-list p {
	margin: 0 !important;
}

.im-origin-images {
	position: relative;
	min-height: 620px;
}

.im-origin-images__main {
	position: absolute !important;
	top: 0;
	right: 0;
	left: auto !important;
	width: 82% !important;
	height: 520px !important;
}

.im-origin-images__detail {
	position: absolute !important;
	left: 0;
	bottom: 0;
	right: auto !important;
	width: 37% !important;
	height: 300px !important;
	border: 12px solid var(--im-paper);
}

/* Keep the main-image caption clear of the overlapping detail photograph. */
.im-origin-images__main figcaption {
	padding-left: 40%;
	text-align: right !important;
}

.im-source-section {
	display: grid;
	grid-template-columns: minmax(270px, 0.52fr) minmax(0, 1.48fr);
	background: var(--im-wine);
	color: var(--im-white);
}

.im-source-monogram {
	display: grid;
	place-items: center;
	min-height: 640px;
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.1);
	font-family: var(--im-serif);
	font-size: clamp(110px, 15vw, 210px);
	font-weight: 600;
	line-height: 1;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.im-source-monogram::before {
	content: "PDF";
}

.im-source-copy {
	width: 100%;
	max-width: calc(810px + max(32px, (100vw - var(--im-content)) / 2)) !important;
	padding: 105px max(32px, calc((100vw - var(--im-content)) / 2)) 110px 84px;
}

.im-source-copy p:not(.im-eyebrow):not(.im-source-title) {
	max-width: 720px;
	margin-top: 34px !important;
	font-size: 17px;
}

.im-source-copy .im-source-title {
	max-width: 760px;
	margin-top: 28px !important;
	font-family: var(--im-serif);
	font-size: 25px;
	font-style: italic;
	line-height: 1.35;
}

.im-buttons {
	margin-top: 34px !important;
	gap: 12px;
}

.im-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 19px;
	border: 0;
	border-radius: 0;
	font-family: var(--im-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.im-button--paper .wp-block-button__link {
	border: 1px solid var(--im-white) !important;
	background: var(--im-white) !important;
	color: var(--im-wine) !important;
}

.im-button--paper .wp-block-button__link:visited {
	color: var(--im-wine) !important;
}

.im-button--paper .wp-block-button__link:hover,
.im-button--paper .wp-block-button__link:focus-visible {
	background: var(--im-paper) !important;
	color: var(--im-wine-dark) !important;
}

.im-button--dark .wp-block-button__link {
	background: var(--im-ink);
	color: var(--im-white);
}

.im-button--dark .wp-block-button__link:hover,
.im-button--dark .wp-block-button__link:focus-visible {
	background: var(--im-wine);
	color: var(--im-white);
}

.im-button .wp-block-button__link:focus-visible,
.im-text-link:focus-visible,
.im-archive-row a:focus-visible {
	outline: 3px solid rgba(120, 27, 28, 0.28);
	outline-offset: 4px;
}

.im-archive-section {
	max-width: var(--im-content);
	margin-inline: auto !important;
	padding: 115px 0 125px;
}

.im-archive-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.7fr);
	gap: 80px;
	align-items: end;
}

.im-archive-categories {
	margin-top: 70px !important;
	border-top: 1px solid var(--im-rule);
}

.im-archive-row a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid var(--im-rule);
	font-family: var(--im-serif);
	font-size: 31px;
	line-height: 1.2;
	text-decoration: none;
}

.im-archive-row a:hover span,
.im-archive-row a:focus-visible span {
	color: var(--im-wine);
}

.im-archive-row strong {
	color: var(--im-wine);
	font-family: var(--im-sans);
	font-size: 12px;
	letter-spacing: 0.12em;
}

/*
 * FooBox scans these links on page load, while the archive rows open the
 * appropriate first item through JavaScript. Hiding the link bank prevents
 * 236 non-editorial links from entering the visual or keyboard layout.
 */
.im-story-gallery-bank {
	display: none !important;
}

@media (max-width: 1284px) {
	.im-page-intro__inner,
	.im-route-bar__inner,
	.im-archive-section {
		margin-right: 32px !important;
		margin-left: 32px !important;
	}
}

@media (max-width: 1100px) {
	.im-chapter {
		grid-template-columns: 190px minmax(0, 1fr);
	}

	.im-chapter-rail {
		padding-left: 32px;
	}

	.im-chapter-body,
	.im-today-stage__content,
	.im-official-card,
	.im-oral-history,
	.im-origin-layout,
	.im-source-copy {
		padding-right: 42px;
		padding-left: 54px;
	}
}

@media (max-width: 760px) {
	.im-story {
		font-size: 15.5px;
	}

	.im-page-intro__inner {
		margin: 0 !important;
		padding: 38px 20px 34px;
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.im-page-title {
		font-size: clamp(58px, 18vw, 74px);
	}

	.im-intro-copy {
		font-size: 21px;
	}

	.im-route-bar__inner {
		margin: 0 !important;
		padding: 12px 20px;
		align-items: center;
		gap: 12px;
	}

	.im-route-hint {
		display: none;
	}

	.im-route-kicker {
		font-size: 18px;
	}

	.im-route-order {
		gap: 8px;
		font-size: 11px;
	}

	.im-route-endpoint {
		min-width: 0;
	}

	.im-route-endpoint:last-child {
		min-width: 0;
	}

	.im-route-swap {
		width: 40px;
		height: 40px;
		min-width: 40px;
	}

	.im-chapter {
		display: block;
		min-height: 0;
	}

	.im-chapter-rail {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 28px 20px 18px;
		border-right: 0;
		border-bottom: 1px solid var(--im-rule);
	}

	.im-chapter-rail--light {
		border-color: rgba(255, 255, 255, 0.25);
	}

	.im-chapter-rail::after {
		display: none;
	}

	.im-chapter-index {
		margin-bottom: 0 !important;
	}

	.im-chapter-year {
		max-width: none;
		font-size: 34px;
	}

	.im-chapter-year--long {
		font-size: 29px;
	}

	.im-chapter-body,
	.im-today-stage__content,
	.im-official-card,
	.im-oral-history,
	.im-origin-layout,
	.im-source-copy {
		padding: 64px 20px 72px;
	}

	.im-today-stage {
		min-height: 710px;
	}

	.im-today-stage::after {
		background: linear-gradient(0deg, rgba(18, 28, 23, 0.96) 0%, rgba(18, 28, 23, 0.58) 64%, rgba(18, 28, 23, 0.12) 100%);
	}

	.im-today-stage__content {
		width: min(100%, 660px);
		max-width: 660px !important;
		padding-top: 52px;
	}

	.im-today-title {
		font-size: 68px;
	}

	.im-today-copy {
		font-size: 21px;
	}

	.im-chapter-heading {
		margin-bottom: 38px !important;
	}

	.im-chapter-heading--split,
	.im-editorial-grid,
	.im-oral-grid,
	.im-origin-layout,
	.im-archive-heading {
		display: block;
	}

	.im-chapter-heading h2,
	.im-official-copy h2,
	.im-oral-history h2,
	.im-origin-copy h2,
	.im-source-copy h2,
	.im-archive-heading h2,
	.im-chapter-heading--split h2 {
		font-size: 46px;
	}

	.im-chapter-heading--split > p,
	.im-chapter-heading--split > .wp-block-group__inner-container > p,
	.im-archive-heading > .wp-block-group__inner-container > p,
	.im-archive-heading > p {
		margin-top: 28px !important;
	}

	.im-lead {
		font-size: 23px;
	}

	.im-image-frame--portrait,
	.im-image-frame--room {
		height: 390px !important;
		margin-top: 38px !important;
	}

	.im-signature-quote {
		margin-top: 62px !important;
		padding: 60px 20px;
	}

	.im-signature-quote p {
		font-size: 53px;
	}

	.im-before-after {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.im-image-frame--comparison {
		height: 370px !important;
	}

	.im-comparison-arrow {
		transform: rotate(90deg);
	}

	.im-memory-collage {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 290px 190px;
		gap: 10px;
	}

	.im-memory-collage__main {
		grid-column: 1 / 3;
		grid-row: auto;
	}

	.im-official-card {
		min-height: 0;
	}

	.im-official-card::before {
		top: 28px;
		font-size: 130px;
	}

	.im-oral-history__lead {
		font-size: 24px;
	}

	.im-origin-copy .im-lead {
		margin-top: 30px !important;
	}

	.im-origin-images {
		min-height: 520px;
		margin-top: 55px !important;
	}

	.im-origin-images__main {
		width: 86% !important;
		height: 420px !important;
	}

	.im-origin-images__detail {
		width: 44% !important;
		height: 235px !important;
		border-width: 8px;
	}

	.im-source-section {
		display: block;
	}

	.im-source-monogram {
		display: none;
	}

	.im-source-copy {
		max-width: none;
	}

	.im-source-copy .im-source-title {
		font-size: 22px;
	}

	.im-archive-section {
		margin: 0 !important;
		padding: 72px 20px 82px;
	}

	.im-archive-categories {
		margin-top: 44px !important;
	}

	.im-archive-row a {
		padding: 18px 0;
		font-size: 24px;
	}
}

@media (max-width: 520px) {
	.im-route-bar__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 7px;
	}

	.im-route-swap {
		margin-left: 3px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.im-route-swap.im-route-swap--inviting {
		animation: none !important;
	}

	.im-story *,
	.im-story *::before,
	.im-story *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
