/* Country-house direction. Shared document typography remains in styles.css. */
:root {
  --library-green: #24392f;
  --library-green-deep: #1b2b24;
  --library-night: #0e1813;
  --linen: #d8cdbb;
  --saddle: #7d5b40;
  --country-shadow: color-mix(in srgb, var(--espresso) 23%, transparent);
  --cloth: url('/assets/photography/cloth.jpg');
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --intro-delay: 2.05s;
}
.country-house { background: var(--white); }
.country-house .label { font-size: 10px; letter-spacing: .12em; }
.country-house a:focus-visible,
.country-house button:focus-visible,
.country-house summary:focus-visible { outline-offset: 5px; }
.country-house .text-link { font-size: 11px; gap: 0; min-height: 35px; justify-content: flex-start; }
.country-house .button { background: var(--library-green); border-color: var(--library-green); padding: 17px 28px; }
.country-house .button:hover { background: var(--library-green-deep); }
.country-house .button-light { background: var(--ivory); border-color: var(--ivory); color: var(--library-green-deep); }
.country-house .button-light:hover { background: var(--parchment); border-color: var(--parchment); }
.cream-link { display: inline-block; color: var(--white); border-bottom: 1px solid var(--white); padding: 10px 0; font: 500 11px/1.6 var(--interface); min-height: 40px; }
.cream-link:hover { color: var(--parchment); border-color: var(--parchment); }

/* One header on every page: a deep-green bar with the wordmark and the journal's sections. */
.country-house .navigation-shell { position: sticky; top: 0; z-index: 50; background: var(--library-green-deep); color: var(--ivory); border: 0; border-bottom: 1px solid color-mix(in srgb, var(--brass) 30%, transparent); transition: background .45s ease, border-color .45s ease; }
.country-house .navigation-inner { min-height: 66px; justify-content: space-between; gap: 30px; }
.country-house .navigation-shell .compact-brand { display: block; flex-shrink: 0; margin-right: 0; animation: none; }
.country-house .navigation-shell .compact-brand .wordmark { font-size: 23px; }
.country-house .navigation-shell .compact-brand .wordmark-press { font-size: 5px; margin-top: 7px; letter-spacing: .6em; }
.country-house .navigation-shell .wordmark-press::before,
.country-house .navigation-shell .wordmark-press::after { display: none; }
.country-house .navigation-shell #site-navigation { width: auto; justify-content: flex-end; gap: 30px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.country-house .navigation-shell #site-navigation > a:not(.nav-submit),
.country-house .navigation-shell .policy-menu > summary { padding-block: 24px; color: var(--ivory); }
.country-house .navigation-shell #site-navigation > a:not(.nav-submit):after,
.country-house .navigation-shell .policy-menu > summary:after { background: var(--brass); bottom: 18px; }
.country-house .navigation-shell .policy-menu > summary { gap: 8px; }
.country-house .navigation-shell .nav-submit { background: transparent; color: var(--ivory); border: 1px solid color-mix(in srgb, var(--ivory) 55%, transparent); padding: 10px 18px; gap: 0; transition: background .25s, color .25s, border-color .25s; }
.country-house .navigation-shell .nav-submit:hover,
.country-house .navigation-shell .nav-submit[aria-current] { background: var(--ivory); color: var(--library-green-deep); border-color: var(--ivory); }
.country-house .policy-links { background: var(--white); color: var(--ink); text-transform: none; letter-spacing: 0; font-size: 12px; border-color: var(--taupe); }
.country-house .menu-toggle { color: var(--ivory); text-transform: uppercase; letter-spacing: .14em; }
.country-house .menu-icon { border-color: currentColor; }
.country-house .reading-progress { background: var(--brass); }

/* Homepage: the bar is transparent over the photograph, then solid once the hero has scrolled away. */
.home .navigation-shell { position: fixed; inset: 0 0 auto 0; }
:root:has(body.home) { scroll-padding-top: 108px; }
.js .home .navigation-shell:not(.is-scrolled) { background: transparent; border-color: transparent; }

/* Original cloth opening: the title appears, then the two covers part at the spine. */
.intro { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; color: var(--ivory); pointer-events: none; perspective: 1600px; animation: intro-done .01s linear 3.05s forwards; }
.intro-cover { position: absolute; top: 0; bottom: 0; width: 50.2%; overflow: hidden; backface-visibility: hidden; will-change: transform; }
.intro-cover::before { content: ''; position: absolute; top: 0; bottom: 0; width: 199.2%; background: var(--library-green-deep) var(--cloth) center / cover; }
.intro-cover-left::before { left: 0; }
.intro-cover-right::before { right: 0; }
.intro-cover::after { content: ''; position: absolute; inset: 0; opacity: 0; animation: intro-shade 1.15s cubic-bezier(.55,0,.25,1) 1.85s forwards; }
.intro-cover-left { left: 0; transform-origin: left center; box-shadow: inset -40px 0 60px -30px color-mix(in srgb,var(--library-night) 70%,transparent); animation: intro-open-left 1.15s cubic-bezier(.55,0,.25,1) 1.85s forwards; }
.intro-cover-right { right: 0; transform-origin: right center; box-shadow: inset 40px 0 60px -30px color-mix(in srgb,var(--library-night) 70%,transparent); animation: intro-open-right 1.15s cubic-bezier(.55,0,.25,1) 1.85s forwards; }
.intro-cover-left::after { background: linear-gradient(90deg,transparent,var(--library-night)); }
.intro-cover-right::after { background: linear-gradient(270deg,transparent,var(--library-night)); }
.intro-spine { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; margin-left: -.5px; background: linear-gradient(180deg,transparent 4%,var(--brass) 18%,var(--brass) 35%,transparent 38%,transparent 62%,var(--brass) 65%,var(--brass) 82%,transparent 96%); transform-origin: center top; animation: intro-spine 1.1s cubic-bezier(.6,0,.2,1) .1s both,intro-fade .3s ease 1.7s forwards; }
.intro-mark { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; animation: intro-mark-out .5s ease 1.65s forwards; }
.intro-word { display: flex; font: 400 clamp(32px,5vw,62px)/1 var(--display); text-transform: uppercase; letter-spacing: .22em; padding-left: .22em; perspective: 600px; }
.intro-word > span { display: inline-block; transform-origin: 50% 0; animation: intro-sort .75s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--i) * .075s) both; }
.intro-rule { width: 130px; height: 1px; background: var(--brass); margin: 24px 0 18px; animation: intro-rule .7s cubic-bezier(.6,0,.2,1) 1.05s both; }
.intro-press { font: 500 10px/1 var(--interface); letter-spacing: .7em; padding-left: .7em; text-transform: uppercase; color: var(--taupe); animation: intro-stamp .5s cubic-bezier(.3,1.5,.5,1) 1.3s both; }
@keyframes intro-sort { from { opacity: 0; transform: translateY(-.7em) rotateX(80deg); filter: blur(5px); } 60% { opacity: 1; filter: blur(0); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes intro-rule { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes intro-stamp { 0% { opacity: 0; transform: scale(2.4); letter-spacing: 1.4em; filter: blur(3px); } 70% { opacity: 1; transform: scale(.94); letter-spacing: .7em; filter: blur(0); } 100% { opacity: 1; transform: none; letter-spacing: .7em; } }
@keyframes intro-spine { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes intro-fade { to { opacity: 0; } }
@keyframes intro-mark-out { to { opacity: 0; transform: scale(.97); filter: blur(4px); } }
@keyframes intro-open-left { 80% { opacity: 1; } to { transform: rotateY(100deg); opacity: 0; } }
@keyframes intro-open-right { 80% { opacity: 1; } to { transform: rotateY(-100deg); opacity: 0; } }
@keyframes intro-shade { to { opacity: .85; } }
@keyframes intro-done { to { visibility: hidden; } }

/* 1. Title screen (words unchanged). The desk photograph is a living scene: the lights come up, the photograph drifts,
   the lamp glows and flickers, sunlight breathes across the wall and dust turns in it (canvas in site.js). The pointer
   tilts the scene a few pixels and scrolling carries the title away. site.js sets --mx, --my and --hero-p. */
.library-hero { --mx: 0; --my: 0; --hero-p: 0; position: relative; min-height: 100svh; display: grid; place-items: center; isolation: isolate; background: var(--library-night); color: var(--white); overflow: hidden; }
.hero-scene { position: absolute; left: 50%; top: 50%; width: max(100%, 177.7svh); aspect-ratio: 1672 / 941; z-index: -3; translate: -50% -50%; transform: translate3d(calc(var(--mx) * -16px), calc(var(--my) * -10px + var(--hero-p) * 22vh), 0) scale(calc(1 + var(--hero-p) * .14)); will-change: transform; }
.hero-drift { position: absolute; inset: 0; animation: hero-drift 36s ease-in-out calc(var(--intro-delay) + 2s) infinite alternate both; }
.library-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: hero-settle 3.2s var(--ease-out) calc(var(--intro-delay) - .4s) both; }
.hero-lamp { position: absolute; left: 12.5%; top: 62%; width: 30%; aspect-ratio: 1; translate: -50% -50%; background: radial-gradient(closest-side, rgb(255 205 130 / .62), rgb(255 170 90 / .2) 48%, transparent 78%); mix-blend-mode: screen; opacity: 0; animation: lamp-on 1.4s steps(1, end) calc(var(--intro-delay) + .2s) forwards, lamp-flicker 6.5s linear calc(var(--intro-delay) + 1.6s) infinite; }
.hero-sun { position: absolute; inset: -12%; background: linear-gradient(118deg, transparent 18%, rgb(255 214 150 / .2) 30%, rgb(255 220 160 / .07) 40%, transparent 50%, rgb(255 214 150 / .12) 58%, transparent 66%); mix-blend-mode: screen; animation: sun-breathe 11s ease-in-out infinite alternate; }
.hero-dust { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; opacity: 0; animation: hero-fade 2.4s ease calc(var(--intro-delay) + .8s) forwards; }
.library-hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse 75% 60% at 50% 48%, transparent 0%, rgb(14 24 19 / .3) 70%, rgb(14 24 19 / .78) 100%), linear-gradient(180deg, rgb(14 24 19 / .5) 0%, transparent 28%, transparent 62%, rgb(14 24 19 / .7) 100%); }
.library-hero-content { text-align: center; padding: 110px 25px 130px; transform: translate3d(calc(var(--mx) * 7px), calc(var(--my) * 4px - var(--hero-p) * 14vh), 0); opacity: calc(1 - var(--hero-p) * 1.7); }
.hero-eyebrow { font: italic 400 22px/1.4 var(--display); letter-spacing: .16em; padding-left: .16em; color: var(--parchment); margin-bottom: 18px; }
.hero-wordmark { --ls: .07em; position: relative; font: 400 clamp(40px, 6vw, 104px)/1.02 var(--display); text-transform: uppercase; letter-spacing: var(--ls); padding-left: var(--ls); perspective: 900px; }
.hero-letters { text-shadow: 0 2px 34px rgb(14 24 19 / .55); }
.hero-wordmark .hl, .hero-wordmark .hs { display: inline-block; }
.hero-wordmark .hw { display: inline-block; white-space: nowrap; }
.hero-wordmark .hl { transform-origin: 50% 100%; animation: letter-rise 1.2s var(--ease-out) calc(var(--intro-delay) + .2s + var(--i) * .055s) both; }
.hero-shine { position: absolute; inset: 0; padding-left: var(--ls); color: transparent; text-shadow: none; pointer-events: none; background: linear-gradient(105deg, transparent 40%, rgb(255 232 186 / .95) 50%, transparent 60%) no-repeat; background-size: 260% 100%; background-position: 170% 0; -webkit-background-clip: text; background-clip: text; animation: shine 10s ease-in-out calc(var(--intro-delay) + 1.7s) infinite; }
.hero-rule { width: 120px; height: 1px; background: linear-gradient(90deg, transparent, var(--brass), transparent); margin: 30px auto 26px; }
.hero-tagline { font: italic 400 20px/1.5 var(--display); letter-spacing: .24em; padding-left: .24em; text-transform: uppercase; color: var(--parchment); }
.hero-cta { position: relative; display: inline-block; margin-top: 44px; padding: 16px 30px; border: 1px solid rgb(242 235 221 / .6); color: var(--ivory); font: 500 11px/1.5 var(--interface); letter-spacing: .16em; text-transform: uppercase; background: rgb(14 24 19 / .35); backdrop-filter: blur(6px); overflow: hidden; transition: background .3s, color .3s, border-color .3s; }
.hero-cta::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgb(255 232 186 / .28) 50%, transparent 65%) no-repeat; background-size: 250% 100%; background-position: 160% 0; animation: shine 10s ease-in-out calc(var(--intro-delay) + 2.3s) infinite; }
.hero-cta:hover { background: var(--ivory); color: var(--library-green-deep); border-color: var(--ivory); }
.hero-scroll { position: absolute; left: 0; right: 0; bottom: 30px; margin-inline: auto; width: max-content; display: flex; flex-direction: column; align-items: center; gap: 14px; color: var(--ivory); opacity: calc(1 - var(--hero-p) * 4); }
.hero-scroll span { font: 500 9px/1.6 var(--interface); letter-spacing: .26em; text-transform: uppercase; }
.hero-scroll i { display: block; width: 1px; height: 52px; background: linear-gradient(var(--ivory), var(--ivory)) no-repeat 0 -100% / 100% 45%, rgb(242 235 221 / .22); animation: scroll-cue 2.4s cubic-bezier(.6, 0, .3, 1) infinite; }
.library-hero a:focus-visible { outline-color: var(--white); }
.hero-eyebrow, .hero-tagline, .hero-cta { animation: hero-rise 1.2s var(--ease-out) both; }
.hero-eyebrow { animation-delay: calc(var(--intro-delay) + .1s); }
.hero-rule { animation: intro-rule 1.2s cubic-bezier(.6, 0, .2, 1) calc(var(--intro-delay) + .9s) both; }
.hero-tagline { animation-delay: calc(var(--intro-delay) + 1.05s); }
.hero-cta { animation-delay: calc(var(--intro-delay) + 1.25s); }
.hero-scroll { animation: hero-fade 1s ease calc(var(--intro-delay) + 1.7s) both; }
@keyframes hero-settle { from { transform: scale(1.12); filter: brightness(.3) saturate(.5); } to { transform: none; filter: none; } }
@keyframes hero-drift { from { transform: scale(1.02); } to { transform: scale(1.09) translate(-1.4%, -.8%); } }
@keyframes hero-rise { from { opacity: 0; transform: translateY(18px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes letter-rise { from { opacity: 0; transform: translateY(.5em) rotateX(-75deg); filter: blur(10px); } 55% { filter: blur(0); } to { opacity: 1; transform: none; filter: none; } }
@keyframes shine { 0% { background-position: 170% 0; } 24%, 100% { background-position: -70% 0; } }
@keyframes lamp-on { 0% { opacity: 0; } 12% { opacity: .7; } 18% { opacity: .1; } 30% { opacity: .9; } 36% { opacity: .4; } 50%, 100% { opacity: 1; } }
@keyframes lamp-flicker { 0%, 100% { filter: brightness(1); } 7% { filter: brightness(1.12); } 8% { filter: brightness(.82); } 9% { filter: brightness(1.05); } 41% { filter: brightness(.95); } 63% { filter: brightness(1.15); } 64% { filter: brightness(.88); } 66% { filter: brightness(1.06); } }
@keyframes sun-breathe { from { opacity: .35; transform: translateX(-4%); } to { opacity: 1; transform: translateX(4%); } }
@keyframes scroll-cue { from { background-position: 0 -100%, 0 0; } to { background-position: 0 220%, 0 0; } }
@keyframes hero-fade { from { opacity: 0; } to { opacity: 1; } }

/* Cloth-bound bands: the inner-page banner and the footer share one material. */
.page-banner,
.country-house .site-footer { position: relative; isolation: isolate; background: var(--library-green-deep) var(--cloth) center / cover; }
.page-banner::before,
.country-house .site-footer::before { content: ''; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--library-night) 35%, transparent); }

.country-house .site-footer { color: var(--ivory); }
.country-house .footer-top { padding-bottom: 35px; border-color: color-mix(in srgb, var(--taupe) 40%, transparent); }
.country-house .footer-top .wordmark { font-size: 44px; }
.country-house .footer-top .wordmark-press { margin-top: 12px; font-size: 7px; }
.country-house .footer-columns { gap: 7%; padding-block: 35px; }
.country-house .footer-columns p { font-size: 16px; }
.country-house .footer-columns a { font-size: 11px; }
.country-house .footer-record { border-color: color-mix(in srgb, var(--taupe) 40%, transparent); font-size: 9px; }
.country-house .footer-credit { margin: 24px 0 0; color: var(--taupe); font: 400 11px/1.6 var(--interface); letter-spacing: .03em; }
.country-house .footer-credit a { color: var(--ivory); text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: 4px; }
.country-house .footer-credit a:hover, .country-house .footer-credit a:focus-visible { color: var(--brass); }
.country-house .footer-folio { display: none; }

/* Book jackets designed for the actual papers (Articles index). */
.country-house .publication-art { background: transparent; padding: 0; width: 100%; aspect-ratio: 3 / 4.1; display: block; overflow: visible; }
.country-house .publication-cover { width: 100%; height: 100%; transform: none; padding: 20px; border-left: 7px solid color-mix(in srgb, var(--espresso) 30%, var(--oxblood)); box-shadow: 2px 2px 0 var(--white), 4px 3px 0 var(--taupe), 10px 16px 20px var(--country-shadow); display: flex; flex-direction: column; transition: transform .5s var(--ease-out), box-shadow .5s var(--ease-out); }
.country-house .publication-cover::before,
.country-house .cover-title::after { display: none; }
.country-house .cover-imprint { font: 400 7px/1.6 var(--interface); letter-spacing: .15em; text-align: center; margin-bottom: 16px; }
.country-house .cover-frame { display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid color-mix(in srgb, var(--ivory) 55%, transparent); flex: 1; min-height: 0; padding: 20px 15px; overflow: hidden; }
.country-house .cover-type { font: 400 7px/1.5 var(--interface); max-width: 150px; letter-spacing: .06em; }
.country-house .cover-title,
.country-house .cover-ink .cover-title { font: 400 32px/1.02 var(--display); letter-spacing: -.025em; max-width: 100%; margin: auto 0; padding: 20px 0; }
.country-house .publication-cover.cover-long .cover-title { hyphens: none; }
.country-house .cover-subtitle { font: 400 11px/1.45 var(--reading); margin: -9px 0 15px; max-width: 190px; }
.country-house .cover-subtitle:empty { display: none; }
.country-house .cover-author { font: 400 8px/1.5 var(--reading); max-width: 190px; }
.country-house .cover-bottom { font: italic 12px/1 var(--display); text-align: center; margin: 16px 0 0; padding: 0; display: block; border: 0; }
.country-house .cover-ink { background: var(--library-green); border-left-color: var(--library-green-deep); }
.country-house .cover-olive { background: var(--olive); border-left-color: var(--library-green-deep); }
.country-house .cover-parchment { background: var(--ivory); color: var(--ink); border-left-color: var(--taupe); }
.country-house .cover-parchment .cover-frame { border-color: var(--saddle); }
.country-house .art-caption { position: static; display: block; font: 400 7px/1.5 var(--interface); letter-spacing: .07em; margin-top: 18px; color: var(--secondary); }
.country-house a:hover > .publication-art .publication-cover { transform: translateY(-5px); box-shadow: 2px 2px 0 var(--white), 4px 3px 0 var(--taupe), 14px 24px 30px var(--country-shadow); }

/* Inner pages: a cloth banner carries the breadcrumb; the reading surface sits on it. */
.country-house .interior-main { background: var(--ivory); padding-bottom: 40px; }
.page-banner { padding: 30px 0 140px; }
.country-house .page-banner .breadcrumb { padding-top: 0; color: var(--taupe); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.page-banner .breadcrumb a { color: var(--ivory); }
.page-banner .breadcrumb a:hover { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.country-house .document-shell { position: relative; background: var(--white); padding: 64px; margin-top: -105px; max-width: 1280px; box-shadow: 0 40px 70px -40px color-mix(in srgb, var(--library-night) 45%, transparent); }
.country-house .reading-sidebar { right: 45px; width: 195px; border-color: var(--taupe); }
.country-house .has-contents .article-body,
.country-house .has-contents .abstract-box,
.country-house .has-contents .disclosure-box,
.country-house .has-contents .lede-quote,
.country-house .has-contents .refs-box,
.country-house .has-contents .correction-box { max-width: min(710px, calc(100% - 255px)); }
.country-house .article-title { font-size: 65px; }
.country-house .title-main { font-size: 96px; }
.country-house .article-title .title-subtitle { font-size: 36px; }
.country-house .article-body { font-size: 20px; line-height: 1.7; }
.country-house .article-meta { border-color: var(--taupe); padding-bottom: 30px; }
.country-house .has-contents .article-meta { max-width: calc(100% - 255px); }
.country-house .article-end { margin-top: 40px; border: 0; align-items: center; }
.country-house .article-end > a { font: 400 26px/1.2 var(--display); }
.country-house .article-end > a:hover { color: var(--oxblood); }
.country-house .article-end > a:last-child { font: 500 11px/1.6 var(--interface); letter-spacing: .1em; text-transform: uppercase; }
.country-house .doc-card::after { display: none; }
.country-house .btn-pdf,
.country-house .btn-primary,
.country-house .btn-submit { background: var(--library-green); border-color: var(--library-green); }
.country-house .btn-pdf:hover,
.country-house .btn-primary:hover,
.country-house .btn-submit:hover { background: var(--library-green-deep); }
.publisher-statement-archive { border-top: 1px solid var(--taupe); padding-top: 25px; margin-top: 45px; }
.publisher-statement-archive > summary { font: 400 17px/1.6 var(--reading); }
.publisher-statement { padding-top: 40px; }
.publisher-statement .article-meta { display: none; }
.publisher-statement .article-body { font-size: 19px; }

/* Articles index: the archive opens on the library aisle. */
.catalogue-banner { position: relative; isolation: isolate; overflow: hidden; background: var(--espresso); color: var(--ivory); padding: 130px 0 100px; }
.catalogue-banner-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; z-index: -2; animation: hero-settle 2.4s var(--ease-out) both; }
.catalogue-banner::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, color-mix(in srgb, var(--library-night) 88%, transparent) 0%, color-mix(in srgb, var(--library-night) 55%, transparent) 55%, color-mix(in srgb, var(--library-night) 25%, transparent) 100%); }
.catalogue-head h1 { font: 400 clamp(64px, 8vw, 112px)/1 var(--display); letter-spacing: -.03em; color: var(--white); margin: 0 0 22px; }
.catalogue-head p { font: 400 22px/1.45 var(--reading); color: var(--parchment); max-width: 520px; margin: 0; }
.country-house .catalogue { padding-block: 50px 90px; }
.country-house .catalogue .catalogue-tools { margin-top: 0; }
.country-house .catalogue .cover-link { padding: 35px; background: var(--ivory); }
.country-house .catalogue .art-caption { display: none; }
.country-house .catalogue .publication-art { aspect-ratio: 3 / 4; }
.country-house .catalogue .publication-cover { padding: 17px; }
.country-house .catalogue .cover-title { font-size: 39px; }
.country-house .catalogue .cover-long .cover-title { font-size: 29px; }
.country-house .catalogue .cover-frame { padding: 20px 12px; }
.country-house .catalogue .cover-author { font-size: 10px; }
.country-house .catalogue .cover-type { font-size: 8px; }
.country-house .catalogue .cover-imprint { font-size: 7px; }
.country-house .catalogue .preview-description { font-size: 18px; }
.country-house .catalogue .article-preview h3 { font-size: 27px; }

/* 404: the desk photograph, with one way back. */
.country-house .not-found { position: relative; isolation: isolate; overflow: hidden; min-height: 80vh; display: grid; align-items: center; padding-block: 120px 100px; background: var(--espresso); color: var(--ivory); }
.not-found-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.country-house .not-found::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, color-mix(in srgb, var(--library-night) 85%, transparent) 0%, color-mix(in srgb, var(--library-night) 40%, transparent) 70%); }
.not-found-copy .label { color: var(--taupe); }
.country-house .not-found h1 { color: var(--white); font-size: clamp(56px, 7vw, 96px); margin: 22px 0; }
.country-house .not-found p { color: var(--parchment); max-width: 480px; }

@media (max-width: 1100px) {
  .country-house .navigation-shell #site-navigation { gap: 18px; font-size: 9px; letter-spacing: .03em; text-transform: none; }
  .country-house .document-shell { padding: 45px; }
  .country-house .reading-sidebar { right: 35px; width: 170px; }
  .country-house .has-contents .article-body,
  .country-house .has-contents .abstract-box,
  .country-house .has-contents .disclosure-box,
  .country-house .has-contents .lede-quote,
  .country-house .has-contents .refs-box,
  .country-house .has-contents .correction-box,
  .country-house .has-contents .article-meta { max-width: calc(100% - 215px); }
  .country-house .catalogue .cover-link { padding: 25px; }
  .country-house .catalogue .cover-title { font-size: 32px; }
}
@media (max-width: 800px) {
  .country-house .navigation-inner { width: calc(100% - 48px); min-height: 58px; }
  .country-house .navigation-shell .compact-brand .wordmark { font-size: 22px; }
  .country-house .navigation-shell #site-navigation { background: var(--library-green-deep); border-bottom: 1px solid color-mix(in srgb, var(--brass) 30%, transparent); font-size: 13px; gap: 0; letter-spacing: .02em; }
  .country-house .navigation-shell #site-navigation > a:not(.nav-submit),
  .country-house .navigation-shell .policy-menu > summary { padding-block: 15px; border-color: color-mix(in srgb, var(--taupe) 25%, transparent); }
  .country-house .navigation-shell #site-navigation > a[aria-current] { color: var(--brass); }
  .country-house .policy-links { background: transparent; color: var(--ivory); border: 0; padding: 0 0 8px 16px; }
  .country-house .policy-links > a:hover { background: transparent; color: var(--brass); }
  .country-house .navigation-shell .nav-submit { justify-content: center; padding: 14px 16px; margin-top: 18px; }
  .hero-eyebrow { font-size: 19px; }
  .hero-tagline { font-size: 17px; }
  .page-banner { padding-bottom: 120px; }
  .country-house .document-shell { padding: 35px; margin-top: -90px; }
  .country-house .has-contents .article-body,
  .country-house .has-contents .abstract-box,
  .country-house .has-contents .disclosure-box,
  .country-house .has-contents .lede-quote,
  .country-house .has-contents .refs-box,
  .country-house .has-contents .correction-box,
  .country-house .has-contents .article-meta { max-width: 100%; }
  .country-house .article-title { font-size: 54px; }
  .country-house .title-main { font-size: 78px; }
  .country-house .article-title .title-subtitle { font-size: 32px; }
  .catalogue-banner { padding: 90px 0 70px; }
  .country-house .catalogue .cover-link { padding: 35px; }
  .country-house .catalogue .cover-title { font-size: 37px; }
}
@media (max-width: 540px) {
  .country-house .navigation-shell .compact-brand .wordmark { font-size: 21px; }
  .hero-scene { left: calc((100% - max(100%, 177.7svh)) * .1); translate: 0 -50%; }
  .library-hero-content { padding: 100px 20px 110px; }
  .hero-eyebrow { font-size: 17px; letter-spacing: .14em; margin-bottom: 14px; }
  .hero-wordmark { --ls: .05em; font-size: clamp(30px, 10vw, 44px); }
  .hero-rule { width: 80px; margin: 24px auto 20px; }
  .hero-tagline { font-size: 15px; letter-spacing: .18em; padding-left: .18em; }
  .hero-cta { margin-top: 34px; padding: 14px 20px; letter-spacing: .12em; }
  .hero-scroll { bottom: 26px; gap: 10px; }
  .country-house .site-footer { padding-top: 35px; }
  .country-house .footer-top .wordmark { font-size: 32px; }
  .country-house .footer-columns { gap: 25px 20px; }
  .country-house .footer-columns a { font-size: 10px; }
  .country-house .footer-columns p { font-size: 17px; }
  .page-banner { padding: 22px 0 100px; }
  .country-house .page-banner .breadcrumb { font-size: 8px; }
  .country-house .document-shell { width: calc(100% - 24px); padding: 28px 18px; margin-top: -75px; }
  .country-house .article-title { font-size: 43px; }
  .country-house .title-main { font-size: 67px; }
  .country-house .article-title .title-subtitle { font-size: 28px; }
  .country-house .article-body { font-size: 19px; }
  .country-house .article-end > a { font-size: 22px; }
  .catalogue-banner { padding: 70px 0 55px; }
  .catalogue-head p { font-size: 19px; }
  .country-house .catalogue { padding-top: 35px; }
  .country-house .catalogue .cover-link { padding: 38px 48px; }
  .country-house .catalogue .publication-art { aspect-ratio: 3 / 4.2; }
  .country-house .catalogue .cover-title { font-size: 40px; }
  .country-house .catalogue .cover-long .cover-title { font-size: 27px; }
  .country-house .catalogue .cover-type { font-size: 7px; }
  .country-house .catalogue .cover-imprint { font-size: 6px; }
  .country-house .catalogue .cover-author { font-size: 9px; }
  .country-house .catalogue .article-preview h3 { font-size: 30px; }
  .country-house .catalogue .preview-description { font-size: 20px; }
  .country-house .not-found { min-height: 70vh; padding-block: 90px 70px; }
}
@media (max-width: 360px) {
  .country-house .catalogue .cover-long .cover-title { font-size: 22px; }
  .country-house .catalogue .cover-frame { padding-inline: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .intro, .hero-dust, .hero-shine, .hero-cta::after { display: none; }
  .hero-drift, .hero-sun, .library-hero-image, .hero-wordmark .hl { animation: none; }
  .hero-lamp { animation: none; opacity: 1; }
  .hero-scene, .library-hero-content { transform: none; opacity: 1; }
  .country-house .publication-cover { transform: none !important; }
}
@media print {
  .intro, .hero-scene, .hero-dust, .hero-shine, .page-banner, .hero-scroll, .hero-cta, .library-hero-image, .library-hero::before, .reading-progress, .catalogue-banner-image, .not-found-image { display: none; }
  .country-house .document-shell { border: 0; background: white; padding: 0; margin: 0; width: 100%; box-shadow: none; }
  .country-house .has-contents .article-body,
  .country-house .has-contents .abstract-box,
  .country-house .has-contents .disclosure-box,
  .country-house .has-contents .lede-quote,
  .country-house .has-contents .refs-box,
  .country-house .has-contents .correction-box { max-width: 100%; }
  .country-house .article-body { font-size: 11pt; }
  .library-hero { display: block; min-height: 0; padding: 20pt 0; background: white; color: black; }
  .library-hero-content { padding: 0; }
  .hero-wordmark { font-size: 32pt; }
  .cream-link { color: black; }
}

/* Title page: gold runs through the title letters. */
.library-hero { --light-x: 50%; --light-y: 50%; }
.hero-beam { position: absolute; inset: 0; pointer-events: none; opacity: 0; background: linear-gradient(112deg, transparent 3%, rgb(255 195 107 / .28) 16%, rgb(255 208 133 / .08) 34%, transparent 50%); clip-path: polygon(12% 62%, 12% 62%, 45% 100%, 0 100%); mix-blend-mode: screen; transform-origin: 12% 62%; transform: rotate(calc(var(--mx) * 1.6deg)); animation: hero-beam-enter 1.5s ease calc(var(--intro-delay) + .55s) both; }
.hero-wordmark .hf,.hero-eyebrow .hwe,.hero-tagline .ht { display: inline-block; }
.hero-shine { background: none; animation: none; color: transparent; }
.hero-shine .hs { color: transparent; animation: hero-gold-letter 1.25s ease-in-out calc(var(--intro-delay) + 1.65s + var(--i) * .095s) both; }
.hero-foil { position: absolute; inset: 0; padding-left: var(--ls); color: transparent; pointer-events: none; background: none; animation: hero-fade .75s ease calc(var(--intro-delay) + 2.1s) both; }
.hero-foil .hf { color: rgb(255 209 119 / var(--glint,0)); text-shadow: 0 0 18px rgb(255 193 91 / var(--glint,0)); }
.hero-eyebrow .hwe { transform-origin: 50% 100%; animation: hero-type-in .7s cubic-bezier(.2,.8,.2,1) calc(var(--intro-delay) + .04s + var(--i) * .055s) both; }
.hero-tagline .ht { transform-origin: 50% 100%; animation: hero-type-in .65s cubic-bezier(.2,.8,.2,1) calc(var(--intro-delay) + .9s + var(--i) * .045s) both; }
.hero-eyebrow,.hero-tagline { animation: none; }
.hero-wordmark .hl { filter: drop-shadow(calc(var(--mx) * -2px) calc(var(--my) * -2px + 3px) 3px rgb(0 0 0 / .48)); }
.hero-down { position: absolute; left: 50%; bottom: 24px; z-index: 4; width: 60px; height: 62px; display: grid; place-items: center; color: #e4c387; transform: translateX(-50%); opacity: calc(1 - var(--hero-p) * 3); }
.hero-down svg { overflow: visible; transition: transform .25s var(--ease-out); }
.hero-down path { stroke-dasharray: 62; stroke-dashoffset: 62; animation: hero-arrow-draw 1.1s ease calc(var(--intro-delay) + 1.45s) forwards; }
.hero-down:hover svg,.hero-down:focus-visible svg { transform: translateY(7px); }
@keyframes hero-type-in { from { opacity: 0; transform: translateY(.7em) rotateX(-65deg); filter: blur(3px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes hero-beam-enter { from { opacity: 0; } to { opacity: .72; } }
@keyframes hero-gold-letter { 0%,100% { color: transparent; text-shadow: none; } 30% { color: #c18a47; text-shadow: 0 0 8px rgb(179 117 49 / .5); } 50% { color: #ffe3a0; text-shadow: 0 0 20px rgb(255 212 120 / .95),0 0 44px rgb(255 188 80 / .6); } 72% { color: #d9a95c; text-shadow: 0 0 12px rgb(235 166 77 / .65); } }
@keyframes hero-arrow-draw { to { stroke-dashoffset: 0; } }
@media (max-width:800px) { .hero-down { bottom: 14px; } .hero-down svg { width: 26px; height: 36px; } }
@media (prefers-reduced-motion:reduce) { .hero-beam,.hero-foil { display: none; } .hero-eyebrow .hwe,.hero-tagline .ht { animation: none; } .hero-down path { animation: none; stroke-dashoffset: 0; } }
@media print { .hero-down,.hero-foil { display: none!important; } }
/* Lighter photography (Netlify_Site_Updated_58) */
.library-hero::before { background: radial-gradient(ellipse 75% 60% at 50% 48%, transparent 0%, rgb(14 24 19 / .16) 70%, rgb(14 24 19 / .55) 100%), linear-gradient(180deg, rgb(14 24 19 / .4) 0%, transparent 28%, transparent 62%, rgb(14 24 19 / .55) 100%); }
