/* Shared editorial details: quiet colour, angled accents and readable journals. */
@font-face {
    font-family: 'Caveat';
    src: url('../fonts/caveat/caveat-regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
:root { --paper: #fbfaf6; --warm-mist: #f3efe5; --marker: #cee3e7; --hand: 'Caveat', var(--sans); }
body .eyebrow.eyebrow { font-family: var(--hand); font-size: 1.3rem; font-weight: 400; line-height: 1.45; letter-spacing: .015em; text-transform: none; transform: rotate(-1.4deg); transform-origin: left center; }
.eyebrow { position: relative; z-index: 0; isolation: isolate; display: block; width: fit-content; max-width: 100%; padding: 2px 5px; letter-spacing: .07em; }
.catalogue-intro > .eyebrow { justify-self: start; width: max-content; max-width: 100%; }
.eyebrow::before { content: ''; position: absolute; z-index: -1; inset: 48% -5px 0 -5px; background: var(--marker); border-radius: 5px 3px 7px 4px; transform: rotate(-.6deg) skewX(-8deg); }
.opening-intro .eyebrow::before { background: #285568; }
.quote-band .eyebrow { margin-inline: auto; }
.quote-band .eyebrow::before { background: #285568; }
.quote-band { clip-path: polygon(0 7%,100% 0,100% 93%,0 100%); padding-block: 90px; }
.site-footer { clip-path: polygon(0 35px,100% 0,100% 100%,0 100%); padding-top: 95px; }
.archive-notice { border: 0; border-radius: 20px; background: var(--warm-mist); color: #586662; }
.archive-photo figcaption { color: #506962; font-family: var(--serif); font-style: italic; font-size: 1rem; padding: 12px 4px 0; }
.brand .brand-portrait { flex: 0 0 56px; width: 56px; height: 56px; margin: 0; display: block; border-radius: 50%; overflow: hidden; border: 1px solid #95c9c6; }
.brand .brand-portrait img { display: block; width: 100%; max-width: none; height: 100%; border: 0; border-radius: 0; object-fit: cover; object-position: 50% 0; }
.archive-journal { max-width: 940px; margin: 0 auto 80px; }
.archive-journal .journal-entry { position: relative; margin: 40px 0; padding: clamp(24px,5vw,64px); border: 1px solid #e5e8dd; border-radius: 26px; background: #fffefa; box-shadow: 0 12px 38px #203b3410; }
.archive-journal .journal-entry::before { content: ''; position: absolute; inset: 0 auto auto 35px; width: 70px; height: 5px; background: #8fbbb1; border-radius: 7px; transform: rotate(-4deg); }
.archive-journal .journal-date { display: inline-block; font-family: var(--serif); font-style: italic; font-size: 1.5rem; margin: 0 0 30px; color: #466b64; }
.archive-journal .journal-entry-content { display: block; max-width: 70ch; }
.journal-entry-content > .archive-photo { max-width: 650px; margin: 32px auto; }
.archive-journal .archive-photo img, .archive-timeline .archive-photo img { aspect-ratio: auto; object-fit: contain; }
.archive-timeline .journal-entry-content { min-width: 0; }
.journey-story { margin: 35px 0 50px; padding: clamp(26px,5vw,60px); background: #e7f0e9; border-radius: 28px; }
.journey-story h2 { max-width: 20ch; font-size: clamp(2.1rem,4vw,3.5rem); }
.journey-story-copy { display: grid; grid-template-columns: 1.35fr 1fr; gap: 8%; align-items: center; }
.journey-story-copy blockquote { font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.3; margin: 0 0 30px; color: #27584f; }
.journey-story-copy cite { display: block; font-family: var(--sans); font-size: .8rem; line-height: 1.6; margin-top: 18px; font-style: normal; }
.journey-story-copy aside > p { margin-top: 24px; }
.journey-press { margin: 60px 0 80px; }
.journey-press-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.journey-press-grid article { display: flex; flex-direction: column; padding: 28px; border-radius: 22px; background: var(--warm-mist); }
.journey-press-grid h3 { font-size: 1.5rem; }
.journey-press-grid p { color: var(--muted); font-size: .95rem; }
.journey-press-grid .text-link { align-self: start; margin-top: auto; font-size: .82rem; }
.publication-card { display: grid; grid-template-columns: 135px minmax(0,1fr); gap: 30px; padding: 30px; margin: 40px 0 60px; background: #f0f3e9; border: 1px solid #e0e6d9; border-radius: 23px; }
.publication-card .publication-cover { align-self: start; border: 0; padding: 0; }
.publication-card img { width: 100%; height: auto; border-radius: 8px; box-shadow: 5px 8px 16px #24453a20; transform: rotate(-2deg); }
.publication-card h3 { font-size: 1.6rem; line-height: 1.2; margin: 0 0 12px; }
.publication-card p { font-family: var(--sans); font-size: .92rem; line-height: 1.65; margin-bottom: 15px; }
.publication-card .eyebrow { font-size: .7rem; margin-bottom: 18px; }
.publication-card small { display: block; font-family: var(--sans); color: var(--muted); font-size: .73rem; margin-top: 12px; }
.reading-toc, .audio-entry { border-radius: 20px; }
.archive-card { border-radius: 18px; }
@media(max-width:760px) {
 body .eyebrow.eyebrow { font-size: 1.15rem; }
 .brand .brand-portrait { flex-basis: 44px; width: 44px; height: 44px; }
 .journey-story-copy { grid-template-columns: 1fr; gap: 30px; }
 .journey-press-grid { grid-template-columns: 1fr; }
 .archive-journal .journal-entry { padding: 25px 20px; }
 .publication-card { grid-template-columns: 90px minmax(0,1fr); gap: 20px; padding: 22px 18px; }
 .publication-card h3 { font-size: 1.35rem; }
}
@media(max-width:420px) { .brand .brand-portrait { flex-basis: 38px; width: 38px; height: 38px; } }

/* Personal accents: larger opening line and a handwritten farewell. */
body .opening-intro .eyebrow { font-size: clamp(1.25rem, 1.65vw, 1.6rem); }
.footer-top p { font-family: var(--hand); font-size: clamp(1.3rem, 1.65vw, 1.6rem); line-height: 1.55; transform: rotate(-1.4deg); transform-origin: left center; }

/* The caption shares the image footprint; its sloping edge meets the page. */
.author-intro figure { max-width: 420px; }
.author-intro figure, .archive-photo:has(figcaption), .archive-prose figure:has(figcaption) {
    display: grid; grid-template-columns: minmax(0, 1fr); isolation: isolate; overflow: hidden; border-radius: 22px 22px 0 0;
}
.author-intro figure > img, .archive-photo > a, .archive-prose figure:has(figcaption) > a {
    grid-area: 1 / 1; align-self: start;
}
.author-intro figcaption, .archive-photo figcaption, .archive-prose figure figcaption {
    grid-area: 1 / 1; align-self: end; position: relative; z-index: 1;
    width: calc(100% + 4px); max-width: none; margin: 0; padding: 12px 14px 8px;
    background: transparent; color: #375b68;
    isolation: isolate; transform-origin: left bottom;
    border: 0; border-radius: 0; box-shadow: none; transform: rotate(-2.5deg);
    font: 400 .85rem/1.55 var(--sans);
}
.archive-journal .archive-photo { --caption-paper: #fffefa; }
@media (max-width: 760px) {
    .author-intro figcaption, .archive-photo figcaption, .archive-prose figure figcaption {
        font-size: .82rem; padding: 11px 10px 6px;
    }
}

/* A slight portrait overhang interrupts the circle without enlarging the face. */
.brand .brand-portrait { overflow: visible; }
.brand .brand-portrait img { position: relative; left: -2px; top: -3px; border-radius: 45% 45% 50% 50%; }

.link-icon { display: inline-block; flex: 0 0 auto; width: 1.05em; height: 1.05em; margin-right: .48em; vertical-align: -.16em; }
.button .link-icon, .text-link .link-icon { margin-right: 0; }
.footer-bottom nav a { display: inline-flex; align-items: center; gap: .45em; }
.footer-bottom .link-icon { margin-right: 0; }
.button:has(.link-icon), .text-link:has(.link-icon) { gap: .65em; }

.author-intro figcaption::before, .archive-photo figcaption::before, .archive-prose figure figcaption::before {
    content: ''; position: absolute; z-index: -1; inset: 0 -40px -100px;
    background: var(--caption-paper, var(--paper));
}
.archive-note-preview { float: right; width: 90px; height: auto; margin: 0 0 18px 22px; }
.essay-language-intro { display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 45px; max-width: 850px; margin: 45px auto 70px; }
.essay-language-intro > img { width: 160px; height: auto; }
.essay-language-intro .button-row { margin-top: 24px; }
.archive-essay-version { margin-inline: auto; padding-block: 35px 60px; }
.archive-essay-version + .archive-essay-version { border-top: 1px solid var(--line); padding-top: 70px; }
.archive-essay-version header h2 { font-size: clamp(1.8rem,3.5vw,2.7rem); line-height: 1.2; margin: 22px 0; }
.archive-essay-version .essay-original-subtitle { font-family: var(--serif); font-size: 1.3rem; }
.archive-essay-version .essay-byline { font-size: .85rem; color: var(--muted); margin-bottom: 40px; }
.essay-reading-links { display: flex; gap: 25px; flex-wrap: wrap; font: 400 .9rem/1.6 var(--sans); padding-top: 30px; }
@media(max-width:760px) {
    .essay-language-intro { grid-template-columns: 1fr; gap: 25px; margin-block: 30px 45px; }
    .essay-language-intro > img { width: 125px; }
    .archive-note-preview { width: 65px; margin-left: 12px; }
}
.dealer-list a { justify-content: flex-start; }
.dealer-logo { display: flex; flex: 0 0 66px; width: 66px; height: 44px; align-items: center; justify-content: center; background: white; border-radius: 8px; }
.dealer-logo img { display: block; width: 60px; height: 38px; object-fit: contain; }
.edition-facts { display: grid; grid-template-columns: 75px minmax(0,1fr); gap: 20px; margin-block: 24px; align-items: start; }
.edition-facts-cover img { width: 100%; height: auto; border-radius: 4px; }
.edition-facts-title { font: 400 1.15rem/1.3 var(--serif); margin: 0 0 8px; }
.edition-facts-subtitle { font-size: .85rem; margin-bottom: 18px; color: var(--muted); }
.edition-facts dl { margin: 0; }
.edition-facts dl > div { margin-bottom: 10px; }
.edition-facts dt { color: var(--muted); font-size: .85em; }
.edition-facts dd { margin: 0; overflow-wrap: anywhere; }
.edition-print-link { margin-top: 8px; }
.archive-card-illustrated { grid-template-columns: 190px minmax(0,1fr) auto; gap: 35px; padding: 32px 0; }
.archive-card-image { width: 190px; height: 155px; border-radius: 16px; overflow: hidden; background: #e7eff0; }
.archive-card-image img { width: 100%; height: 100%; object-fit: cover; }
.archive-card-image.image-contain { background: #f2f2ed; padding: 12px; }
.archive-card-image.image-contain img { object-fit: contain; }
.archive-card-illustrated .archive-card-copy { min-width: 0; }
.archive-card-illustrated .archive-card-copy .eyebrow { margin-bottom: 12px; }
.archive-card-illustrated .archive-card-copy p:not(.eyebrow) { max-width: 65ch; margin-top: 15px; }
.archive-card-illustrated > .text-link { grid-column: auto; grid-row: auto; }
@media(max-width:760px) {
 .archive-card-illustrated { grid-template-columns: 105px minmax(0,1fr); gap: 18px; align-items: start; }
 .archive-card-image { width: 105px; height: 115px; }
 .archive-card-image.image-contain { padding: 7px; }
 .archive-card-illustrated .archive-card-copy h2 { font-size: 1.6rem; }
 .archive-card-illustrated > .text-link { grid-column: 2; margin-top: 0; }
}
