:root {
	--studio-orange: #ff6700;
	--editorial-edge: 20px;
	--editorial-gap: 20px;
	--editorial-reading: 42rem;
	--editorial-section-gap: clamp(72px, 10vh, 120px);
}

.books-index *,
.book-publication * {
	box-sizing: border-box;
}

body.studio-editorial main {
	padding: 42px var(--editorial-edge) 80px;
}

.studio-editorial a:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 4px;
}

.books-index-header {
	margin-bottom: clamp(64px, 9vh, 108px);
	margin-left: calc(-1 * var(--editorial-edge));
}

.books-index-list {
	display: grid;
	gap: var(--editorial-section-gap);
}

.book-index-item a {
	display: block;
}

.book-index-item figure {
	margin: 0 0 18px;
}

.book-index-item img,
.studio-editorial-image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.book-index-copy h2 {
	text-transform: none;
}

.book-index-copy p {
	margin-top: 2px;
}

.book-local-nav {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	gap: 12px 24px;
	padding-bottom: clamp(48px, 7vh, 84px);
}

.book-local-title {
	white-space: nowrap;
}

.book-local-title,
.book-local-sections a {
	padding: 4px 0;
}

.book-local-sections {
	display: flex;
	flex-flow: row wrap;
	gap: 0 14px;
}

.book-local-sections a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.book-publication-header {
	display: block;
	min-height: 30vh;
	padding-bottom: clamp(56px, 8vh, 96px);
}

.book-parent-title {
	margin-top: 4px;
}

.book-publication-header h1 {
	font-size: clamp(2.6rem, 8vw, 8rem);
	line-height: 0.92;
	letter-spacing: -0.035em;
	max-width: 11ch;
	margin-top: 16px;
}

.book-kicker,
.book-parent-title,
.book-subtitle,
.book-credit {
	max-width: var(--editorial-reading);
}

.book-subtitle {
	margin-top: 24px;
}

.book-credit {
	margin-top: 8px;
}

.book-editorial-sequence {
	display: grid;
	gap: var(--editorial-section-gap);
}

.book-chapter .book-publication-header {
	min-height: 0;
	padding-bottom: clamp(32px, 4vh, 52px);
}

.book-root .book-publication-header {
	min-height: 0;
	padding-bottom: clamp(32px, 4vh, 52px);
}

.book-root .book-publication-header h1,
.book-chapter .book-publication-header h1 {
	font-size: clamp(2.4rem, 6vw, 6.5rem);
}

.book-root .book-editorial-sequence {
	gap: clamp(44px, 6vh, 72px);
}

.book-root .editorial-text {
	min-height: 0;
	padding: clamp(24px, 3vh, 36px) 0;
}

.book-chapter .book-editorial-sequence {
	gap: clamp(52px, 7vh, 84px);
}

.editorial-block figure {
	margin: 0;
}

.editorial-block figcaption {
	font-size: 15px;
	line-height: 16px;
	margin-top: 8px;
	max-width: 34rem;
}

.editorial-opening {
	min-height: 78vh;
	display: flex;
	align-items: flex-start;
}

.editorial-opening figure {
	width: 100%;
}

.editorial-opening img {
	max-height: 82vh;
}

.editorial-text {
	min-height: 50vh;
	display: flex;
	align-items: center;
	padding: clamp(56px, 8vh, 96px) 0;
}

.book-chapter .editorial-text {
	min-height: auto;
	padding: clamp(32px, 4vh, 48px) 0;
}

.editorial-text-inner,
.editorial-prose {
	width: 100%;
	max-width: var(--editorial-reading);
	margin-left: auto;
	margin-right: auto;
}

.editorial-label {
	margin-bottom: clamp(36px, 5vh, 60px);
}

.book-chapter .editorial-label {
	margin-bottom: clamp(16px, 2vh, 24px);
}

.editorial-text h2,
.editorial-facts h2,
.editorial-downloads h2 {
	margin-bottom: 24px;
}

.book-chapter .editorial-text h2 {
	margin-bottom: 16px;
}

.editorial-copy p + p,
.editorial-prose p + p {
	margin-top: 1em;
}

.editorial-text.orange {
	background: var(--studio-orange);
	margin-left: calc(-1 * var(--editorial-edge));
	margin-right: calc(-1 * var(--editorial-edge));
	padding-left: var(--editorial-edge);
	padding-right: var(--editorial-edge);
}

.editorial-single-image img {
	max-height: 92vh;
}

.editorial-image-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: var(--editorial-gap);
}

.editorial-image-sequence {
	display: grid;
	gap: clamp(64px, 9vh, 108px);
}

.editorial-conversation {
	max-width: 64rem;
	margin: 0 auto;
}

.conversation-entry {
	display: grid;
	grid-template-columns: minmax(7rem, 1fr) minmax(0, 3fr);
	gap: var(--editorial-gap);
	padding: 26px 0;
	border-top: 1px solid currentColor;
}

.conversation-number {
	font-variant-numeric: tabular-nums;
}

.conversation-question {
	font-size: inherit;
	line-height: inherit;
	text-transform: none;
	margin: 0 0 1.5em;
}

.conversation-copy p + p {
	margin-top: 1em;
}

.editorial-facts,
.editorial-downloads,
.editorial-available-from,
.book-press-actions {
	max-width: 64rem;
	margin: 0 auto;
}

.editorial-book-details {
	display: grid;
	gap: clamp(32px, 4vh, 48px);
	width: 100%;
	max-width: 64rem;
	margin: 0 auto;
}

.editorial-press-details {
	display: grid;
	gap: clamp(32px, 4vh, 48px);
	width: 100%;
	max-width: 64rem;
	margin: 0 auto;
}

.editorial-press-details .editorial-text {
	padding-bottom: 0;
}

.editorial-press-details .book-press-actions {
	width: 100%;
	margin: 0;
}

.editorial-book-details .editorial-facts,
.editorial-book-details .editorial-available-from {
	width: 100%;
	margin: 0;
}

.editorial-available-from {
	margin-top: clamp(88px, 12vh, 144px);
}

.editorial-available-from h2 {
	margin-bottom: 24px;
}

.editorial-available-from li {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: var(--editorial-gap);
	padding: 14px 0;
	border-top: 1px solid currentColor;
}

.editorial-available-from small {
	font-size: inherit;
	line-height: inherit;
}

.editorial-facts dl > div {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: var(--editorial-gap);
	padding: 12px 0;
	border-top: 1px solid currentColor;
}

.editorial-downloads li,
.book-press-actions a {
	display: block;
	padding: 14px 0;
	border-top: 1px solid currentColor;
}

.book-press-actions {
	margin-top: clamp(88px, 12vh, 144px);
}

.book-publication-footer {
	margin-top: clamp(112px, 16vh, 192px);
	padding-top: 18px;
	border-top: 1px solid currentColor;
}

@media screen and (min-width: 768px) {
	:root {
		--editorial-edge: 30px;
		--editorial-gap: 30px;
	}

	body.studio-editorial main {
		padding-top: 56px;
	}

	.books-index-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--editorial-gap);
	}

	.book-index-item:nth-child(even) {
		margin-top: clamp(72px, 10vh, 120px);
	}

	.editorial-image-sequence figure:nth-child(even) {
		width: 72%;
		margin-left: auto;
	}

	.editorial-image-sequence figure:nth-child(3n) {
		width: 58%;
	}
}

@media screen and (max-width: 767px) {
	:root {
		--editorial-section-gap: clamp(56px, 9vh, 88px);
	}

	.book-local-nav {
		padding-bottom: clamp(36px, 6vh, 56px);
	}

	.book-local-sections {
		width: 100%;
	}

	.book-publication-header {
		min-height: 24vh;
		padding-bottom: clamp(40px, 7vh, 64px);
	}

	.book-publication-header h1 {
		font-size: clamp(2.8rem, 16vw, 5.5rem);
	}

	.book-chapter .book-publication-header {
		min-height: 0;
		padding-bottom: clamp(28px, 4vh, 40px);
	}

	.book-root .book-publication-header {
		min-height: 0;
		padding-bottom: clamp(28px, 4vh, 40px);
	}

	.book-root .book-publication-header h1,
	.book-chapter .book-publication-header h1 {
		font-size: clamp(2.4rem, 12vw, 4.5rem);
	}

	.book-root .book-editorial-sequence {
		gap: 24px;
	}

	.book-root .editorial-text {
		padding: 12px 0;
	}

	.book-root .editorial-opening {
		min-height: 0;
	}

	.book-editorial-sequence {
		gap: var(--editorial-section-gap);
	}

	.book-chapter .book-editorial-sequence {
		gap: clamp(44px, 7vh, 64px);
	}

	.editorial-text {
		min-height: auto;
		padding: clamp(48px, 8vh, 72px) 0;
	}

	.book-chapter .editorial-text {
		padding: clamp(24px, 4vh, 36px) 0;
	}

	.editorial-label {
		margin-bottom: clamp(28px, 5vh, 44px);
	}

	.book-chapter .editorial-label {
		margin-bottom: clamp(12px, 2vh, 20px);
	}

	.editorial-image-pair {
		grid-template-columns: 1fr;
		gap: clamp(52px, 9vh, 80px);
	}

	.conversation-entry,
	.editorial-facts dl > div,
	.editorial-available-from li {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.studio-editorial *,
	.studio-editorial *::before,
	.studio-editorial *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
