:root {
    color-scheme: light;
    --ink: #171512;
    --ink-soft: #302c27;
    --paper: #f4efe5;
    --paper-light: #fbf8f1;
    --paper-deep: #e4dac9;
    --accent: #8f2d24;
    --accent-dark: #6f211b;
    --gold: #ae8a51;
    --muted: #6b6359;
    --line: rgba(23, 21, 18, .2);
    --line-light: rgba(244, 239, 229, .2);
    --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia, "Times New Roman", serif;
    --sans: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
    --page: min(100% - 4rem, 88rem);
    --section-space: clamp(6rem, 10vw, 10rem);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--serif);
    font-size: 1.08rem;
    font-synthesis: none;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
}

body::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image: radial-gradient(rgba(23, 21, 18, .04) .7px, transparent .7px);
    background-size: 7px 7px;
    content: "";
    pointer-events: none;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration-thickness: .08em;
    text-underline-offset: .22em;
}

a:focus-visible,
summary:focus-visible {
    border-radius: 2px;
    outline: 3px solid var(--accent);
    outline-offset: 5px;
}

button,
summary {
    font: inherit;
}

em {
    color: var(--accent);
    font-weight: 400;
}

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

.skip-link {
    position: fixed;
    top: -5rem;
    left: 1rem;
    z-index: 100;
    padding: .75rem 1rem;
    background: var(--ink);
    color: var(--paper-light);
    font: 700 .78rem/1 var(--sans);
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
}

.skip-link:focus {
    top: 1rem;
}

.site-header {
    position: relative;
    z-index: 20;
    display: flex;
    width: var(--page);
    min-height: 7rem;
    margin-inline: auto;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line);
}

.wordmark {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    color: var(--ink);
    font: 500 .82rem/1 var(--sans);
    letter-spacing: .17em;
    text-decoration: none;
    text-transform: uppercase;
}

.wordmark-name b {
    font-weight: 800;
}

.wordmark-mark {
    position: relative;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid var(--ink);
    font: 400 1.2rem/1 var(--serif);
}

.wordmark-mark::after {
    position: absolute;
    inset: .24rem;
    border: 1px solid var(--line);
    content: "";
}

.wordmark-mark span:last-child {
    margin: .45rem 0 0 .5rem;
    color: var(--accent);
}

.wordmark-mark span:first-child {
    position: absolute;
    margin: -.35rem 0 0 -.45rem;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.2vw, 2.25rem);
}

.desktop-nav {
    display: flex;
    gap: clamp(1.5rem, 3vw, 3.25rem);
    align-items: center;
    font: 700 .68rem/1 var(--sans);
    letter-spacing: .16em;
    text-transform: uppercase;
}

.desktop-nav a {
    padding-block: 1rem;
    text-decoration: none;
}

.desktop-nav a:hover {
    color: var(--accent);
}

.locale-switcher {
    display: flex;
    padding-left: clamp(.8rem, 1.5vw, 1.4rem);
    align-items: center;
    gap: .6rem;
    border-left: 1px solid var(--line);
    font: 800 .63rem/1 var(--sans);
    letter-spacing: .13em;
}

.locale-switcher a {
    padding: .65rem 0;
    color: var(--muted);
    text-decoration: none;
}

.locale-switcher a:hover,
.locale-switcher a[aria-current="page"] {
    color: var(--accent);
}

.locale-switcher a[aria-current="page"] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .32rem;
}

.mobile-nav {
    display: none;
}

main {
    overflow: hidden;
}

.eyebrow {
    margin: 0 0 1.5rem;
    color: var(--accent);
    font: 800 .66rem/1.35 var(--sans);
    letter-spacing: .19em;
    text-transform: uppercase;
}

.eyebrow-light {
    color: #d9b68a;
}

.button {
    display: inline-flex;
    min-height: 3.25rem;
    padding: .95rem 1.3rem;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    border: 1px solid var(--ink);
    font: 800 .68rem/1.2 var(--sans);
    letter-spacing: .13em;
    text-decoration: none;
    text-transform: uppercase;
}

.button-primary {
    background: var(--ink);
    color: var(--paper-light);
}

.button-primary:hover {
    background: var(--accent);
    border-color: var(--accent);
}

.button-quiet:hover {
    background: var(--paper-light);
}

.button-light {
    border-color: var(--paper);
    color: var(--paper);
}

.button-light:hover {
    background: var(--paper);
    color: var(--ink);
}

.home-hero {
    display: grid;
    width: var(--page);
    min-height: min(54rem, calc(100vh - 7rem));
    margin-inline: auto;
    grid-template-columns: minmax(0, 1.08fr) minmax(25rem, .92fr);
    gap: clamp(3rem, 7vw, 7.5rem);
    align-items: center;
    padding: clamp(4rem, 8vw, 7rem) 0;
}

.hero-copy h1 {
    max-width: 10ch;
    margin: 0;
    font-size: clamp(4.25rem, 8.2vw, 8.5rem);
    font-weight: 400;
    letter-spacing: -.065em;
    line-height: .86;
}

html[lang="fr"] .hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(3.8rem, 7vw, 7.25rem);
}

.hero-intro {
    max-width: 37rem;
    margin: 2.5rem 0;
    color: var(--ink-soft);
    font-size: clamp(1.18rem, 1.8vw, 1.5rem);
    line-height: 1.55;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.hero-editions {
    position: relative;
    min-height: 42rem;
}

.hero-book {
    position: absolute;
    display: block;
    width: min(56%, 21rem);
    background: var(--ink);
    box-shadow: 0 2rem 4rem rgba(23, 21, 18, .2);
    text-decoration: none;
}

.hero-book img {
    display: block;
    width: 100%;
    height: auto;
}

.hero-book-front {
    right: 8%;
    bottom: 0;
    z-index: 2;
    transform: rotate(2deg);
}

.hero-book-back {
    top: 0;
    left: 3%;
    z-index: 1;
    transform: rotate(-5deg);
}

.hero-book:hover {
    z-index: 3;
    transform: rotate(0) translateY(-.6rem);
}

.folio-note {
    position: absolute;
    right: 0;
    bottom: .5rem;
    display: grid;
    margin: 0;
    color: var(--muted);
    font: 700 .63rem/1.6 var(--sans);
    letter-spacing: .13em;
    text-align: right;
    text-transform: uppercase;
    transform: rotate(90deg) translateX(100%);
    transform-origin: right bottom;
}

.folio-note b {
    color: var(--accent);
}

.promise-bar {
    display: grid;
    width: var(--page);
    margin-inline: auto;
    grid-template-columns: repeat(4, 1fr);
    border-block: 1px solid var(--line);
}

.promise-bar p {
    margin: 0;
    padding: 1.35rem 1.5rem;
    border-right: 1px solid var(--line);
    font: 700 .67rem/1.4 var(--sans);
    letter-spacing: .11em;
    text-transform: uppercase;
}

.promise-bar p:first-child {
    padding-left: 0;
}

.promise-bar p:last-child {
    border-right: 0;
}

.promise-bar span {
    margin-right: .65rem;
    color: var(--accent);
}

.catalogue,
.craft,
.about,
.book-page {
    width: var(--page);
    margin-inline: auto;
}

.catalogue,
.craft,
.about {
    padding: var(--section-space) 0;
}

.section-heading {
    display: grid;
    grid-template-columns: minmax(11rem, .65fr) 1.8fr;
    gap: clamp(2rem, 6vw, 7rem);
    align-items: start;
    margin-bottom: clamp(4rem, 8vw, 7rem);
}

.section-heading h2,
.book-overview h2,
.edition-features h2 {
    max-width: 18ch;
    margin: 0;
    font-size: clamp(3rem, 5.7vw, 6rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .96;
}

.section-index {
    margin: 3rem 0 0;
    color: var(--muted);
    font: 700 .68rem/1 var(--sans);
    letter-spacing: .15em;
}

.catalogue-grid {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--line);
}

.catalogue-book {
    display: grid;
    grid-template-columns: minmax(17rem, .72fr) 1.28fr;
    gap: clamp(3rem, 8vw, 8rem);
    align-items: center;
    padding: clamp(4rem, 8vw, 7rem) 0;
    border-bottom: 1px solid var(--line);
}

.catalogue-book:nth-child(even) {
    grid-template-columns: 1.28fr minmax(17rem, .72fr);
}

.catalogue-book:nth-child(even) .catalogue-cover,
.catalogue-book:nth-child(even) .next-edition-mark {
    grid-column: 2;
    grid-row: 1;
}

.catalogue-book:nth-child(even) .catalogue-copy {
    grid-column: 1;
    grid-row: 1;
}

.catalogue-cover {
    position: relative;
    display: block;
    max-width: 25rem;
    margin-inline: auto;
    padding: clamp(1rem, 3vw, 2.25rem);
    background: var(--paper-deep);
    text-decoration: none;
}

.catalogue-cover::after {
    position: absolute;
    inset: clamp(1rem, 3vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, .16);
    content: "";
    pointer-events: none;
}

.catalogue-cover img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 1.5rem 3.25rem rgba(23, 21, 18, .2);
}

.book-volume {
    position: absolute;
    top: .6rem;
    right: .6rem;
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    background: var(--paper-light);
    color: var(--accent);
    font: 800 .65rem/1 var(--sans);
    letter-spacing: .08em;
}

.book-kicker,
.book-edition,
.book-meta,
.status-pill {
    font-family: var(--sans);
    text-transform: uppercase;
}

.book-kicker {
    margin: 0;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .15em;
}

.catalogue-copy h3 {
    max-width: 11ch;
    margin: .6rem 0;
    font-size: clamp(3rem, 6vw, 6.5rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .9;
}

.catalogue-copy h3 a {
    text-decoration: none;
}

.catalogue-copy h3 a:hover {
    color: var(--accent);
}

.book-edition {
    margin: 1.25rem 0 2.5rem;
    color: var(--accent);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.catalogue-copy > p:not([class]) {
    max-width: 40rem;
    color: var(--ink-soft);
    font-size: 1.2rem;
}

.book-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1.5rem;
    margin: 2.5rem 0;
    color: var(--muted);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.book-meta span + span::before {
    margin-right: 1.5rem;
    color: var(--gold);
    content: "◆";
    font-size: .48rem;
}

.arrow-link,
.back-link,
.book-end-nav a {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--accent);
    font: 800 .68rem/1.35 var(--sans);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.next-edition-mark {
    display: grid;
    width: min(100%, 25rem);
    aspect-ratio: 5 / 8;
    margin-inline: auto;
    padding: 2rem;
    place-items: center;
    border: 1px solid var(--ink);
    background: var(--ink);
    box-shadow: inset 0 0 0 .65rem var(--paper), inset 0 0 0 .72rem var(--gold);
    color: var(--paper);
}

.next-edition-mark span,
.next-edition-mark small {
    font: 800 .65rem/1 var(--sans);
    letter-spacing: .16em;
    text-transform: uppercase;
}

.next-edition-mark span {
    align-self: start;
    justify-self: end;
    margin: -.2rem .5rem 0 0;
    color: #d9b68a;
}

.next-edition-mark i {
    align-self: center;
    color: var(--paper);
    font-size: clamp(8rem, 18vw, 15rem);
    font-style: normal;
    font-weight: 400;
    line-height: .7;
}

.next-edition-mark small {
    align-self: end;
    color: #d9b68a;
}

.editorial-statement {
    padding: clamp(6rem, 11vw, 11rem) max(2rem, calc((100% - 88rem) / 2));
    background: var(--ink);
    color: var(--paper);
    text-align: center;
}

.editorial-statement p {
    margin: 0 auto 2.5rem;
    font-size: clamp(3rem, 7vw, 7.5rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .95;
}

.editorial-statement em {
    color: #d9b68a;
}

.editorial-statement span {
    font: 700 .65rem/1.4 var(--sans);
    letter-spacing: .15em;
    text-transform: uppercase;
}

.craft-grid {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.craft-lead {
    position: sticky;
    top: 2rem;
    padding: 2.5rem;
    background: var(--accent);
    color: var(--paper-light);
}

.craft-number {
    margin: 0 0 clamp(5rem, 10vw, 10rem);
    color: #e5c9a7;
    font: 800 .67rem/1 var(--sans);
    letter-spacing: .15em;
}

.craft-lead h3 {
    margin: 0;
    font-size: clamp(2.5rem, 4.5vw, 4.8rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .95;
}

.craft-lead > p:last-child {
    max-width: 31rem;
    margin: 2rem 0 0;
}

.craft-list {
    border-top: 1px solid var(--line);
}

.craft-list article {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: 2rem;
    padding: 2.5rem 0;
    border-bottom: 1px solid var(--line);
}

.craft-list > article > span {
    color: var(--accent);
    font: 800 .66rem/1.3 var(--sans);
    letter-spacing: .12em;
}

.craft-list h3 {
    margin: 0 0 .75rem;
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    font-weight: 400;
    line-height: 1.05;
}

.craft-list p {
    max-width: 40rem;
    margin: 0;
    color: var(--muted);
}

.audio-feature {
    display: grid;
    min-height: 46rem;
    grid-template-columns: minmax(0, 1.15fr) minmax(25rem, .85fr);
    align-items: center;
    gap: clamp(3rem, 8vw, 8rem);
    padding: var(--section-space) max(2rem, calc((100% - 88rem) / 2));
    background: #111c26;
    color: var(--paper);
}

.audio-copy h2,
.book-audio-callout h2 {
    margin: 0;
    font-size: clamp(3.2rem, 6vw, 6.5rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .94;
}

.audio-copy h2 em {
    color: #d9b68a;
}

.audio-copy > p:not([class]) {
    max-width: 39rem;
    margin: 2.5rem 0;
    color: #d7d3ca;
    font-size: 1.2rem;
}

.audio-links {
    display: grid;
    max-width: 39rem;
    border-top: 1px solid var(--line-light);
}

.audio-links a {
    display: flex;
    padding: 1rem 0;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line-light);
    font: 700 .68rem/1.3 var(--sans);
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
}

.audio-links a:hover {
    color: #d9b68a;
}

.audio-object {
    position: relative;
    display: grid;
    width: min(100%, 30rem);
    aspect-ratio: 1;
    margin-inline: auto;
    place-items: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
}

.audio-ring {
    position: absolute;
    border: 1px solid rgba(217, 182, 138, .32);
    border-radius: 50%;
}

.audio-ring-one {
    inset: 9%;
}

.audio-ring-two {
    inset: 20%;
}

.audio-ring-three {
    inset: 32%;
}

.audio-monogram {
    color: #d9b68a;
    font-size: clamp(5rem, 10vw, 9rem);
    line-height: 1;
}

.audio-object p {
    position: absolute;
    bottom: 16%;
    margin: 0;
    font: 700 .6rem/1 var(--sans);
    letter-spacing: .17em;
    text-transform: uppercase;
}

.about {
    border-bottom: 1px solid var(--line);
}

.about-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(3rem, 8vw, 8rem);
    align-items: start;
}

.about-lead {
    margin: 0;
    color: var(--accent);
    font-size: clamp(1.8rem, 3.5vw, 3.2rem);
    line-height: 1.12;
}

.about-grid > div {
    max-width: 44rem;
    color: var(--ink-soft);
    font-size: 1.2rem;
}

.about-grid > div p:first-child {
    margin-top: 0;
}

.closing-mark {
    width: var(--page);
    margin-inline: auto;
    padding: clamp(5rem, 9vw, 8rem) 0;
    text-align: center;
}

.closing-mark p {
    margin: 0;
    font-size: clamp(5rem, 15vw, 14rem);
    font-weight: 400;
    letter-spacing: -.075em;
    line-height: .8;
}

.closing-mark span {
    display: block;
    margin-top: 2.5rem;
    color: var(--accent);
    font: 800 .65rem/1.4 var(--sans);
    letter-spacing: .16em;
    text-transform: uppercase;
}

.site-footer {
    display: grid;
    width: var(--page);
    margin-inline: auto;
    grid-template-columns: 1.1fr .9fr;
    gap: 4rem;
    padding: 5rem 0 3rem;
    border-top: 1px solid var(--line);
}

.footer-intro > p {
    margin: 2rem 0 0;
    color: var(--muted);
    font-size: 1.4rem;
    line-height: 1.3;
}

.footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.footer-links div {
    display: grid;
    align-content: start;
    gap: .7rem;
}

.footer-links a {
    width: fit-content;
    color: var(--muted);
    font-size: .95rem;
    text-decoration: none;
}

.footer-links a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.footer-label {
    margin: 0 0 .8rem;
    font: 800 .65rem/1 var(--sans);
    letter-spacing: .15em;
    text-transform: uppercase;
}

.footer-legal {
    grid-column: 1 / -1;
    margin: 2rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font: 500 .72rem/1.5 var(--sans);
}

/* Book detail */
.book-hero {
    display: grid;
    min-height: 47rem;
    grid-template-columns: minmax(20rem, .78fr) 1.22fr;
    gap: clamp(3rem, 8vw, 9rem);
    align-items: center;
    padding: clamp(4rem, 7vw, 7rem) 0 var(--section-space);
}

.book-hero-cover {
    position: relative;
    max-width: 30rem;
    padding: clamp(1rem, 3vw, 2.5rem);
    background: var(--paper-deep);
}

.book-hero-cover img {
    display: block;
    width: 100%;
    box-shadow: 0 1.8rem 4rem rgba(23, 21, 18, .22);
}

.book-volume-large {
    position: absolute;
    top: 0;
    left: -2.5rem;
    color: var(--accent);
    font: 800 .65rem/1 var(--sans);
    letter-spacing: .14em;
    writing-mode: vertical-rl;
}

.back-link {
    margin-bottom: 4rem;
    color: var(--muted);
    text-decoration: none;
}

.back-link:hover {
    color: var(--accent);
}

.book-hero-copy h1 {
    max-width: 11ch;
    margin: 0;
    font-size: clamp(4rem, 7.5vw, 8rem);
    font-weight: 400;
    letter-spacing: -.065em;
    line-height: .84;
}

.book-page-author {
    margin: 1.7rem 0 0;
    font-size: 1.35rem;
}

.book-page-author span {
    margin-inline: .5rem;
    color: var(--gold);
}

.book-page-edition {
    margin: .8rem 0 2.5rem;
    color: var(--accent);
    font: 800 .68rem/1.35 var(--sans);
    letter-spacing: .16em;
    text-transform: uppercase;
}

.book-page-intro {
    max-width: 40rem;
    color: var(--ink-soft);
    font-size: 1.25rem;
}

.book-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    align-items: center;
    margin-top: 2.5rem;
}

.catalogue-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem 1.5rem;
    align-items: center;
}

.arrow-link-amazon {
    color: var(--accent);
}

.arrow-link-amazon:hover {
    color: var(--ink);
}

.status-pill {
    color: var(--muted);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.book-overview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 8vw, 8rem);
    padding: var(--section-space) 0;
    border-block: 1px solid var(--line);
}

.overview-lead {
    margin: 0;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    line-height: 1.5;
}

.source-note {
    margin: 2.5rem 0 0;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .98rem;
}

.book-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid var(--line);
}

.book-facts div {
    display: grid;
    min-height: 10rem;
    padding: 2rem;
    align-content: space-between;
    border-right: 1px solid var(--line);
}

.book-facts div:first-child {
    padding-left: 0;
}

.book-facts div:last-child {
    border-right: 0;
}

.book-facts span {
    color: var(--muted);
    font: 800 .62rem/1 var(--sans);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.book-facts strong {
    font-size: clamp(1.7rem, 3vw, 2.7rem);
    font-weight: 400;
    line-height: 1;
}

.edition-features {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(3rem, 8vw, 8rem);
    padding: var(--section-space) 0;
}

.feature-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--line);
}

.feature-list article {
    min-height: 18rem;
    padding: 2rem;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.feature-list article:nth-child(even) {
    border-right: 0;
}

.feature-list span {
    color: var(--accent);
    font: 800 .65rem/1 var(--sans);
    letter-spacing: .13em;
}

.feature-list h3 {
    margin: 4rem 0 .8rem;
    font-size: 1.55rem;
    font-weight: 400;
    line-height: 1.05;
}

.feature-list p {
    margin: 0;
    color: var(--muted);
    font-size: .98rem;
}

.book-audio-callout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(3rem, 8vw, 8rem);
    padding: clamp(4rem, 8vw, 7rem);
    background: #111c26;
    color: var(--paper);
}

.book-audio-callout h2 {
    font-size: clamp(2.8rem, 5vw, 5rem);
}

.book-audio-callout > div:last-child p {
    margin: 0 0 2rem;
    color: #d7d3ca;
}

.book-end-nav {
    padding: 3rem 0 var(--section-space);
}

.book-end-nav a {
    text-decoration: none;
}

/* Audio holding page */
.audio-page {
    display: grid;
    width: var(--page);
    min-height: calc(100vh - 7rem);
    margin-inline: auto;
    grid-template-columns: 1.2fr minmax(18rem, .8fr);
    gap: clamp(3rem, 9vw, 9rem);
    align-items: center;
    padding: clamp(4rem, 8vw, 8rem) 0;
}

.audio-page-copy h1 {
    max-width: 10ch;
    margin: 0;
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 400;
    letter-spacing: -.065em;
    line-height: .86;
}

.audio-status {
    margin: 2rem 0 0;
    color: var(--accent);
    font: 800 .67rem/1.4 var(--sans);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.audio-page-copy > p:not([class]) {
    max-width: 42rem;
    margin: 2rem 0;
    font-size: 1.25rem;
}

.audio-page-cover {
    max-width: 25rem;
    padding: 2rem;
    background: var(--paper-deep);
}

.audio-page-cover img {
    display: block;
    width: 100%;
    box-shadow: 0 1.5rem 3.25rem rgba(23, 21, 18, .22);
}

.audio-page-cover span {
    display: block;
    margin-top: 1.5rem;
    color: var(--accent);
    font: 800 .61rem/1.4 var(--sans);
    letter-spacing: .14em;
    text-align: center;
    text-transform: uppercase;
}

@media (hover: hover) {
    .hero-book,
    .button,
    .catalogue-copy h3 a,
    .audio-links a {
        transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .25s ease;
    }
}

@media (max-width: 1000px) {
    :root {
        --page: min(100% - 3rem, 88rem);
    }

    .home-hero {
        grid-template-columns: 1fr;
    }

    .hero-copy h1 {
        font-size: clamp(4.5rem, 13vw, 8rem);
    }

    html[lang="fr"] .hero-copy h1 {
        font-size: clamp(4.1rem, 11vw, 7rem);
    }

    .hero-editions {
        width: min(100%, 43rem);
        min-height: 43rem;
        margin-inline: auto;
    }

    .promise-bar {
        grid-template-columns: 1fr 1fr;
    }

    .promise-bar p:nth-child(2) {
        border-right: 0;
    }

    .promise-bar p:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }

    .promise-bar p:nth-child(3) {
        padding-left: 0;
    }

    .audio-feature {
        grid-template-columns: 1fr;
    }

    .audio-object {
        width: min(75vw, 28rem);
    }

    .book-hero {
        grid-template-columns: minmax(17rem, .75fr) 1.25fr;
        gap: 3rem;
    }

    .book-hero-copy h1 {
        font-size: clamp(3.6rem, 8vw, 6rem);
    }

    .edition-features {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .site-header {
        min-height: 6rem;
    }

    .desktop-nav {
        display: none;
    }

    .header-actions {
        gap: 1rem;
    }

    .mobile-nav {
        position: relative;
        display: block;
        font-family: var(--sans);
    }

    .mobile-nav summary {
        display: flex;
        gap: .8rem;
        align-items: center;
        cursor: pointer;
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .14em;
        list-style: none;
        text-transform: uppercase;
    }

    .mobile-nav summary::-webkit-details-marker {
        display: none;
    }

    .mobile-nav[open] summary span:last-child {
        transform: rotate(45deg);
    }

    .mobile-nav nav {
        position: absolute;
        top: 2.25rem;
        right: 0;
        display: grid;
        width: min(19rem, calc(100vw - 3rem));
        padding: .5rem 1.25rem;
        border: 1px solid var(--ink);
        background: var(--paper-light);
        box-shadow: 0 1.2rem 2.5rem rgba(23, 21, 18, .14);
    }

    .mobile-nav nav a {
        padding: 1rem 0;
        border-bottom: 1px solid var(--line);
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .11em;
        text-decoration: none;
        text-transform: uppercase;
    }

    .mobile-nav nav a:last-child {
        border-bottom: 0;
    }

    .section-heading,
    .craft-grid,
    .about-grid,
    .book-overview,
    .edition-features,
    .book-audio-callout,
    .audio-page {
        grid-template-columns: 1fr;
    }

    .section-heading {
        gap: 1.5rem;
    }

    .section-index {
        display: none;
    }

    .catalogue-book,
    .catalogue-book:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .catalogue-book:nth-child(even) .catalogue-cover,
    .catalogue-book:nth-child(even) .next-edition-mark,
    .catalogue-book:nth-child(even) .catalogue-copy {
        grid-column: auto;
        grid-row: auto;
    }

    .catalogue-cover,
    .next-edition-mark {
        width: min(82%, 25rem);
    }

    .craft-lead {
        position: static;
    }

    .craft-number {
        margin-bottom: 5rem;
    }

    .site-footer {
        grid-template-columns: 1fr;
    }

    .footer-links {
        max-width: 34rem;
    }

    .book-hero {
        grid-template-columns: 1fr;
    }

    .book-hero-cover {
        width: min(80%, 28rem);
        margin-inline: auto;
    }

    .book-facts {
        grid-template-columns: 1fr 1fr;
    }

    .book-facts div:nth-child(2) {
        border-right: 0;
    }

    .book-facts div:first-child,
    .book-facts div:nth-child(3) {
        padding-left: 0;
    }

    .book-audio-callout {
        padding: 3rem;
    }

    .audio-page-cover {
        width: min(80%, 25rem);
        grid-row: 1;
        margin-inline: auto;
    }
}

@media (max-width: 540px) {
    :root {
        --page: min(100% - 2rem, 88rem);
        --section-space: 5rem;
    }

    body {
        font-size: 1rem;
    }

    .wordmark-name {
        font-size: .74rem;
        letter-spacing: .12em;
    }

    .wordmark-mark {
        width: 2.45rem;
        height: 2.45rem;
    }

    .home-hero {
        min-height: auto;
        padding-top: 4rem;
    }

    .hero-copy h1 {
        font-size: clamp(3.7rem, 18vw, 5.4rem);
    }

    html[lang="fr"] .hero-copy h1 {
        font-size: clamp(3.3rem, 15vw, 4.8rem);
    }

    .hero-actions {
        display: grid;
    }

    .hero-actions .button {
        width: 100%;
    }

    .hero-editions {
        min-height: 31rem;
    }

    .hero-book {
        width: 55%;
    }

    .hero-book-front {
        right: 7%;
    }

    .folio-note {
        display: none;
    }

    .promise-bar {
        grid-template-columns: 1fr;
    }

    .promise-bar p,
    .promise-bar p:first-child,
    .promise-bar p:nth-child(3) {
        padding: 1rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .promise-bar p:last-child {
        border-bottom: 0;
    }

    .section-heading h2,
    .book-overview h2,
    .edition-features h2 {
        font-size: clamp(2.8rem, 14vw, 4.2rem);
    }

    .catalogue-copy h3 {
        font-size: clamp(3rem, 15vw, 4.5rem);
    }

    .book-meta {
        display: grid;
        gap: .6rem;
    }

    .book-meta span + span::before {
        margin-right: .7rem;
    }

    .editorial-statement {
        padding-inline: 1rem;
    }

    .craft-lead {
        padding: 2rem;
    }

    .craft-list article {
        grid-template-columns: 2rem 1fr;
        gap: 1rem;
    }

    .audio-feature {
        grid-template-columns: 1fr;
        padding-inline: 1rem;
    }

    .audio-copy h2,
    .book-audio-callout h2 {
        font-size: clamp(2.8rem, 14vw, 4.3rem);
    }

    .footer-links,
    .feature-list {
        grid-template-columns: 1fr;
    }

    .feature-list article,
    .feature-list article:nth-child(even) {
        min-height: auto;
        padding: 2rem 0;
        border-right: 0;
    }

    .feature-list h3 {
        margin-top: 2.5rem;
    }

    .book-hero-copy h1,
    .audio-page-copy h1 {
        font-size: clamp(3.5rem, 17vw, 5.5rem);
    }

    .book-hero-cover,
    .audio-page-cover {
        width: 90%;
    }

    .book-volume-large {
        left: -1.5rem;
    }

    .book-facts {
        grid-template-columns: 1fr;
    }

    .book-facts div,
    .book-facts div:first-child,
    .book-facts div:nth-child(3) {
        min-height: 7.5rem;
        padding: 1.5rem 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .book-audio-callout {
        margin-inline: -1rem;
        padding: 3rem 1rem;
    }

    .closing-mark p {
        font-size: clamp(4.5rem, 23vw, 8rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        transition-delay: 0s !important;
    }
}

@media (prefers-contrast: more) {
    :root {
        --line: rgba(23, 21, 18, .55);
    }

    .button,
    .catalogue-cover,
    .next-edition-mark {
        border-width: 2px;
    }
}
