@font-face {
  font-family: 'Alegreya Sans'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/alegreya-sans-regular-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Alegreya Sans'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/alegreya-sans-regular-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Alegreya Sans'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('fonts/alegreya-sans-bold-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Alegreya Sans'; font-style: normal; font-weight: 700; font-display: swap;
  src: url('fonts/alegreya-sans-bold-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Gloock'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/gloock-regular-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Gloock'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/gloock-regular-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  color-scheme: light;
  --pine: #173a2d;
  --pine-deep: #10251e;
  --moss: #3f5a45;
  --fern: #6b8072;
  --mist: #8fa3ad;
  --dawn: #c7d3da;
  --lamp: #f2b24a;
  --umber: #1a1410;
  --paper: #eee9dc;
  --paper-light: #f7f4eb;
  --line: #c7c3b6;
  --ink: #17231d;
  --muted: #46584f;
  --display: 'Gloock', Georgia, serif;
  --body: 'Alegreya Sans', 'Trebuchet MS', sans-serif;
  --measure: 68ch;
  --wrap: 1180px;
  --gutter: clamp(22px, 5vw, 72px);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-color: var(--fern) var(--pine-deep); overflow-x: clip; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 18px/1.58 var(--body); }
::selection { background: var(--lamp); color: var(--umber); }
img { max-width: 100%; }
a { color: var(--pine); text-decoration-thickness: 1px; text-underline-offset: .22em; transition: color .2s ease, text-decoration-color .2s ease; }
a:hover { color: #8b4f25; }
a:focus-visible, button:focus-visible, audio:focus-visible, input:focus-visible { outline: 3px solid var(--pine); outline-offset: 4px; box-shadow: 0 0 0 7px var(--lamp); }
button, input, audio { font: inherit; }
.wrap { width: min(var(--wrap), calc(100% - var(--gutter) * 2)); margin-inline: auto; }

.topbar { position: relative; z-index: 20; background: var(--pine-deep); color: var(--paper-light); border-bottom: 1px solid var(--fern); }
.topbar > .wrap { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; gap: 15px; flex: 0 0 auto; }
.brand a { color: inherit; text-decoration: none; }
.monogram { display: grid; place-items: center; width: 43px; height: 43px; border: 1px solid #f2b24a88; color: var(--lamp) !important; font: 600 13px/1 var(--body); letter-spacing: .08em; }
.brand-name { font: 24px/1.05 var(--display); letter-spacing: -.025em; }
.nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(12px, 2vw, 27px); flex-wrap: wrap; }
.nav a { position: relative; padding: 10px 0; color: #e7e7da; font-size: 16px; line-height: 1; text-decoration: none; white-space: nowrap; }
.nav a::after { content: ''; position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: var(--lamp); transform: scaleX(0); transform-origin: left; transition: transform .24s var(--ease-out); }
.nav a:hover, .nav a.active { color: var(--lamp); }
.nav a:hover::after, .nav a.active::after { transform: scaleX(1); }

.hero { position: relative; overflow: hidden; background: var(--pine); color: var(--paper-light); }
.opening-grid { min-height: min(740px, calc(100svh - 86px)); display: grid; grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr); align-items: center; gap: clamp(26px, 5vw, 76px); padding-block: clamp(62px, 8vw, 112px); }
.opening-copy { position: relative; z-index: 4; max-width: 650px; }
.hero h1 { max-width: 10ch; margin: 0 0 28px; color: var(--paper-light); font: 400 clamp(52px, 7vw, 96px)/.99 var(--display); letter-spacing: -.045em; text-wrap: balance; }
.hero p { max-width: 60ch; margin: 0 0 21px; color: #d5dfd8; font-size: 21px; line-height: 1.45; }
.hero .button { margin-top: 12px; }
.multiplane-stage { position: relative; min-height: 540px; perspective: 1400px; isolation: isolate; }
.multiplane-stage::before { content: ''; position: absolute; inset: 10% 5% 6% 7%; border: 1px solid var(--mist); opacity: .36; transform: translate3d(14px, -10px, -1px); }
.multiplane-stage::after { content: ''; position: absolute; z-index: -1; right: -12%; bottom: 8%; width: 61%; height: 61%; background: var(--moss); opacity: .78; }
.cover-plane { position: absolute; display: block; width: min(42%, 245px); transform-style: preserve-3d; filter: drop-shadow(9px 22px 20px #08150f82); transition: transform .95s var(--ease-out), translate .95s var(--ease-out), filter .95s var(--ease-out); }
.cover-plane img { display: block; width: 100%; height: auto; }
.cover-plane--back { top: 6%; right: 5%; z-index: 1; width: min(38%, 220px); transform: translate3d(8px, 0, -70px) rotate(5deg); }
.cover-plane--middle { top: 29%; left: 2%; z-index: 2; width: min(39%, 226px); transform: translate3d(-4px, 0, 10px) rotate(-7deg); }
.cover-plane--front { top: 17%; left: 31%; z-index: 3; width: min(46%, 265px); transform: translate3d(0, 0, 100px) rotate(2deg); }
.cover-plane--front:hover { filter: drop-shadow(12px 26px 24px #08150fa8); }
html.motion-ready .multiplane-stage:not(.is-in-view) .cover-plane { translate: 0 18px; }
html.motion-ready .multiplane-stage.is-in-view .cover-plane--back { translate: 0 -9px; }
html.motion-ready .multiplane-stage.is-in-view .cover-plane--middle { translate: 0 7px; }
html.motion-ready .multiplane-stage.is-in-view .cover-plane--front { translate: 0 -4px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 12px; padding: 12px 22px; border: 1px solid var(--lamp); background: var(--lamp); color: var(--umber); font: 700 17px/1.15 var(--body); text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s var(--ease-out); }
.button:hover { transform: translateY(-2px); background: var(--pine); color: var(--paper-light); }
.hero .button:hover { background: transparent; color: var(--lamp); }
.button--quiet { background: transparent; color: var(--paper-light); border-color: #c7d3da8a; }
.button--quiet:hover { border-color: var(--lamp); color: var(--lamp); }

.section { padding-block: clamp(62px, 8vw, 112px); }
.section h2, .page-head h1, .podcast h2, .section h3 { font-family: var(--display); font-weight: 400; letter-spacing: -.035em; text-wrap: balance; }
.section h2 { max-width: 17ch; margin: 0 0 20px; color: var(--pine); font-size: clamp(40px, 5vw, 66px); line-height: 1.02; }
.section h3 { margin: 0 0 14px; color: var(--pine); font-size: clamp(25px, 2.4vw, 34px); line-height: 1.1; }
.section p { max-width: var(--measure); }
.intro { max-width: 65ch; color: var(--muted); font-size: 21px; line-height: 1.42; }
.small { font-size: 16px; color: var(--muted); }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 5vw, 78px); margin-top: 46px; }
.card { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.book-card { align-self: start; }
.book-card:nth-child(2) { margin-top: 54px; }
.book-card:nth-child(3) { margin-top: 108px; }
.book-cover-link { position: relative; display: grid; place-items: center; min-height: clamp(300px, 36vw, 440px); margin-bottom: 22px; background: var(--dawn); overflow: hidden; }
.book-card:nth-child(2) .book-cover-link { background: #b9a58a; }
.book-card:nth-child(3) .book-cover-link { background: #d7c4a0; }
.book-cover { display: block; max-width: 82%; max-height: 390px; width: auto; height: auto; object-fit: contain; filter: drop-shadow(8px 17px 14px #10251e50); transition: transform .55s var(--ease-out), filter .55s var(--ease-out); }
.book-cover-link:hover .book-cover { transform: translateY(-8px) rotate(-1deg); filter: drop-shadow(12px 22px 16px #10251e5c); }
.book-card h3 { margin-bottom: 10px; }
.book-card p { margin: 0 0 15px; color: var(--muted); }
.book-card > a:last-child { font-weight: 700; text-decoration-thickness: 1px; }
#livres > .small { margin-top: 38px !important; }
.home-links { margin-top: 38px; }
.home-projects { background: var(--pine); color: var(--paper-light); }
.home-projects h2 { color: var(--paper-light); }
.home-projects > .wrap > .intro { color: #d5dfd8; }
.project-index { margin-top: 38px; border-top: 1px solid #8fa3ad80; }
.project-index article { border-bottom: 1px solid #8fa3ad80; }
.project-index article > a { display: grid; grid-template-columns: minmax(130px, 200px) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 64px); padding: 26px 0; color: var(--paper-light); text-decoration: none; }
.project-index img { display: block; width: min(100%, 200px); max-height: 230px; margin-inline: auto; object-fit: contain; filter: drop-shadow(8px 14px 13px #08150f70); }
.project-copy, .project-title, .project-description, .project-action { display: block; }
.project-title { margin-bottom: 9px; color: var(--paper-light); font: 400 clamp(27px, 3.4vw, 40px)/1.1 var(--display); letter-spacing: -.025em; }
.project-description { max-width: 70ch; color: #d5dfd8; }
.project-action { margin-top: 12px; color: var(--lamp); font-weight: 700; text-decoration: underline; text-underline-offset: .22em; }
.project-index a:hover .project-action { color: var(--paper-light); }

.podcasts-home { background: var(--pine-deep); color: var(--paper-light); }
.podcasts-home h2 { color: var(--paper-light); }
.podcasts-feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr); align-items: center; gap: clamp(36px, 7vw, 96px); margin-top: 38px; }
.podcasts-feature p { color: #d2ddd6; }
.podcasts-feature p.intro { color: var(--paper-light); font-size: clamp(24px, 3vw, 38px); line-height: 1.2; }
.podcast-cover-link { display: block; justify-self: center; width: min(100%, 390px); transform: rotate(2deg); filter: drop-shadow(12px 20px 22px #07130e8a); }
.podcast-cover-link img { display: block; width: 100%; height: auto; }

.page-head { position: relative; width: 100vw; margin-left: calc(50% - 50vw); padding: clamp(54px, 8vw, 105px) var(--gutter); overflow: hidden; background: var(--pine); color: var(--paper-light); }
.page-head > * { position: relative; z-index: 1; }
.page-head h1 { max-width: 17ch; margin: 0; color: var(--paper-light); font-size: clamp(46px, 7vw, 86px); line-height: 1.02; }
.page-head .intro { max-width: 64ch; margin: 22px 0 0; color: #d5dfd8; }
.page-head .wrap { width: min(var(--wrap), 100%); padding: 0; }
.page-head img { display: block; }
.page-head .author-portrait { float: right; width: clamp(150px, 22vw, 255px); max-height: 410px; object-fit: cover; margin: 0 0 24px 52px; box-shadow: 8px 18px 28px #08150f70; }
.page-head .podcast-image { float: right; width: clamp(170px, 25vw, 300px); max-height: 300px; object-fit: cover; margin: 0 0 24px 50px; box-shadow: 8px 18px 28px #08150f70; }
.page-title { margin: 0; }
.page-head em { color: var(--lamp); font-style: normal; }
.page-head + .section { padding-top: clamp(48px, 7vw, 92px); }
.project-page-head { padding-block: clamp(58px, 8vw, 108px); }
.project-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .55fr); align-items: center; gap: clamp(38px, 8vw, 110px); }
.project-head-image { justify-self: center; width: min(100%, 300px); max-height: 390px; object-fit: contain; filter: drop-shadow(12px 20px 22px #06140e82); }

.book-page-head { padding-block: clamp(58px, 8vw, 108px); }
.book-page-head .book-head-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .64fr); align-items: center; gap: clamp(36px, 8vw, 120px); width: min(var(--wrap), 100%); margin-inline: auto; }
.book-head-copy { max-width: 680px; }
.book-head-copy .intro { margin-top: 24px; }
.book-object { position: relative; display: block; justify-self: center; width: min(100%, 320px); transform: rotate(2deg); filter: drop-shadow(14px 26px 22px #06140e82); }
.book-object img { display: block; width: 100%; height: auto; }
.book-object { transition: translate .95s var(--ease-out), filter .95s var(--ease-out); }
html.motion-ready .book-object:not(.is-in-view) { translate: 0 18px; }
.book-object.is-in-view { translate: 0 0; }
.book-object::before { content: ''; position: absolute; z-index: -1; inset: 8% -12% -5% 12%; border: 1px solid #f2b24a77; transform: translate3d(8px, -10px, -2px); }
.book-story { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); gap: clamp(32px, 8vw, 110px); align-items: start; }
.book-story h2 { margin-top: 0; font-size: clamp(34px, 4vw, 48px); }
.book-story .button { margin-top: 10px; }
.book-story-aside { padding-top: 8px; color: var(--muted); }
.book-story-aside p { font-size: 16px; }
.related-books { border-top: 1px solid var(--line); }
.related-books .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
.related-books .card { padding: 22px 0 0; border-top: 1px solid var(--moss); }

.author-book-list .cards { margin-top: 34px; }
.author-book-list .card { padding: 18px 0 0; border-top: 1px solid var(--moss); }
.author-book-list .card h3 { margin-bottom: 9px; }

.order-list { display: grid; gap: 0; }
.order-card { display: grid; grid-template-columns: minmax(120px, 190px) minmax(0, 1fr); gap: clamp(26px, 5vw, 68px); align-items: start; padding: 40px 0; border-bottom: 1px solid var(--line); }
.order-card:first-child { border-top: 1px solid var(--line); }
.order-card > img { display: block; width: 100%; max-height: 270px; object-fit: contain; filter: drop-shadow(8px 15px 12px #10251e38); }
.order-card h2 { margin: 0 0 5px; color: var(--pine); font: 400 clamp(30px, 4vw, 48px)/1.08 var(--display); letter-spacing: -.03em; }
.order-card p { margin-top: 0; }
.order-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 26px; border-block: 1px solid var(--line); }
.order-prices > div { padding: 18px 22px 20px 0; color: var(--ink); }
.order-prices > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.order-prices strong { display: block; margin-bottom: 4px; color: var(--moss); font-size: 17px; }
.paypal-form { margin: 10px 0 0; }
.order-list > .card { padding: 34px 0 0; border-top: 1px solid var(--line); }
.order-list > .card h2 { color: var(--pine); font: 400 clamp(30px, 4vw, 44px)/1.08 var(--display); }

.episode-index { display: flex; flex-wrap: wrap; gap: 14px 32px; margin: 6px 0 48px; border-bottom: 1px solid var(--line); }
.episode-index a { display: block; padding: 0 0 15px; border-bottom: 2px solid transparent; color: var(--pine); font-weight: 700; text-decoration: none; }
.episode-index a:hover { border-bottom-color: var(--lamp); }
.episode-index a span { display: block; margin-bottom: 4px; color: var(--muted); font-size: 14px; letter-spacing: .045em; }
.podcast { display: grid; grid-template-columns: minmax(145px, 230px) minmax(0, 1fr); column-gap: clamp(26px, 5vw, 72px); align-items: start; padding: 46px 0 54px; border-top: 1px solid var(--line); }
.podcast-image { grid-column: 1; grid-row: 1 / span 6; width: 100%; height: auto; max-height: 330px; object-fit: cover; margin: 0; filter: drop-shadow(8px 16px 14px #10251e38); }
.podcast-gallery-image { cursor: zoom-in; }
.podcast-gallery-image:focus-visible { outline: 3px solid var(--lamp); outline-offset: 5px; }
.podcast-lightbox { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: clamp(18px, 4vw, 48px); border: 0; background: #09120ff2; color: var(--paper-light); }
.podcast-lightbox::backdrop { background: #07100dcc; }
.podcast-lightbox__toolbar { position: absolute; z-index: 2; inset: 18px 22px auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.podcast-lightbox__count { margin: 0; color: #e5e8df; font-size: 15px; font-variant-numeric: tabular-nums; }
.podcast-lightbox__close, .podcast-lightbox__nav { border: 1px solid #ffffff70; border-radius: 999px; background: #10251ecc; color: white; cursor: pointer; }
.podcast-lightbox__close { min-height: 44px; padding: 8px 15px; font: inherit; }
.podcast-lightbox__close span { padding-left: 8px; font-size: 24px; line-height: 0; vertical-align: -2px; }
.podcast-lightbox__figure { display: flex; width: 100%; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 12px; margin: 0; }
.podcast-lightbox__image { display: block; max-width: min(100%, 1000px); max-height: calc(100% - 48px); width: auto; height: auto; object-fit: contain; touch-action: none; user-select: none; }
.podcast-lightbox__caption { max-width: min(90%, 70ch); color: #e5e8df; font-size: 15px; text-align: center; }
.podcast-lightbox__nav { position: absolute; z-index: 1; top: 50%; display: grid; width: 52px; height: 52px; place-items: center; transform: translateY(-50%); font-size: 38px; line-height: 1; }
.podcast-lightbox__nav--previous { left: clamp(12px, 3vw, 42px); }
.podcast-lightbox__nav--next { right: clamp(12px, 3vw, 42px); }
.podcast-lightbox__close:hover, .podcast-lightbox__nav:hover { background: var(--pine); }
.podcast-lightbox button:focus-visible { outline: 3px solid var(--lamp); outline-offset: 3px; }
.podcast h2, .podcast > p, .podcast > audio, .podcast > a { grid-column: 2; }
.podcast h2 { margin: 0 0 14px; color: var(--pine); font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.podcast p { margin: 0 0 15px; }
.podcast audio { width: min(100%, 760px); margin: 18px 0 12px; accent-color: var(--moss); }
.podcast > a { width: fit-content; font-weight: 700; }
.rss { margin-top: 24px; padding: 20px 0; border-block: 1px solid var(--line); overflow-wrap: anywhere; }

.press-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 5vw, 72px); align-items: start; margin-top: 34px; }
.press-gallery figure { position: relative; margin: 0; padding: 12px; background: var(--paper-light); box-shadow: 7px 14px 20px #10251e24; transform: rotate(-.5deg); }
.press-gallery-trigger { cursor: zoom-in; }
.press-gallery-trigger:focus-visible { outline: 3px solid var(--lamp); outline-offset: 4px; }
.press-gallery figure:nth-child(even) { margin-top: 48px; transform: rotate(.7deg); }
.press-gallery img { display: block; width: 100%; height: auto; border: 0; background: transparent; }
.press-gallery figcaption { padding: 12px 4px 5px; color: var(--muted); font-size: 16px; }
main.wrap > section > h2 { margin-top: 0; }
main.wrap > section > h2:not(:first-child) { margin-top: 70px; }
main.wrap > section > .cards .card { padding: 18px 0 0; border-top: 1px solid var(--moss); }
main.wrap > section > .cards .card h3 { font-size: clamp(24px, 3vw, 34px); }
main.wrap > section > .cards .card p { color: var(--muted); }
main.wrap > section > .cards .card a { font-weight: 700; }

.work-index, .media-index { list-style: none; margin: 34px 0 0; padding: 0; border-top: 1px solid var(--line); }
.work-index li, .media-index li { border-bottom: 1px solid var(--line); }
.work-index a, .media-index a { display: grid; grid-template-columns: minmax(190px, .75fr) minmax(0, 1.2fr) minmax(150px, .75fr); align-items: baseline; gap: 20px; padding: 21px 0; color: var(--ink); text-decoration: none; }
.media-index a { grid-template-columns: minmax(250px, .95fr) minmax(0, 1.2fr) minmax(150px, .65fr); }
.work-index a { grid-template-columns: minmax(220px, .8fr) minmax(0, 1fr); }
.work-title { color: var(--pine); font: 400 clamp(25px, 3vw, 35px)/1.12 var(--display); letter-spacing: -.025em; }
.media-title { color: var(--pine); font: 400 clamp(22px, 2.1vw, 28px)/1.15 var(--display); letter-spacing: -.02em; }
.work-kind, .media-description { color: var(--muted); }
.media-action { justify-self: end; color: var(--pine); font-weight: 700; text-decoration: underline; text-underline-offset: .22em; }
.work-index a:hover .work-title, .media-index a:hover .media-title, .media-index a:hover .media-action { color: #8b4f25; }
.press-clippings-title { margin-top: clamp(64px, 8vw, 104px) !important; }
.audio-feature { border-block: 1px solid var(--line); }
.audio-feature-layout { display: grid; grid-template-columns: minmax(150px, 230px) minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 64px); }
.audio-feature-art { margin: 0; }
.audio-feature-art img { display: block; width: 100%; height: auto; filter: drop-shadow(7px 14px 16px #10251e38); }
.audio-feature-art figcaption { margin-top: 10px; color: var(--muted); font-size: 15px; }
.audio-feature h2 { margin-top: 0; font-size: clamp(34px, 4vw, 48px); }
.audio-feature audio { display: block; width: min(100%, 760px); margin: 24px 0 16px; accent-color: var(--moss); }
.audio-feature > a { font-weight: 700; }
.contact-content { max-width: var(--wrap); }
.contact-content > p:first-of-type a { display: inline-block; margin-top: 6px; color: var(--pine); font: 400 clamp(26px, 4vw, 44px)/1.1 var(--display); overflow-wrap: anywhere; }
.contact-content .small { max-width: 58ch; padding-top: 22px; border-top: 1px solid var(--line); }
.archive-contact { margin-top: 44px; }
.project-archive-copy { max-width: 74ch; }
.project-archive-copy h2 { margin: 42px 0 14px; color: var(--pine); font: 400 clamp(28px, 3.6vw, 42px)/1.1 var(--display); }
.project-archive-copy p { margin: 0 0 18px; }
.audio-feature a { font-weight: 700; }

.other-order-options { margin-top: 42px; padding-top: 30px !important; }

footer { position: relative; padding: 26px 0; background: var(--pine-deep); color: #c7d3da; font-size: 16px; }
footer a { color: var(--lamp); }
footer a:hover { color: var(--paper-light); }

@media (max-width: 960px) {
  .topbar > .wrap { align-items: flex-start; flex-direction: column; gap: 13px; padding-block: 15px; }
  .nav { justify-content: flex-start; }
  .opening-grid { min-height: auto; grid-template-columns: minmax(0, .95fr) minmax(300px, 1.05fr); }
  .multiplane-stage { min-height: 450px; }
  .cover-plane--front { left: 29%; }
}
@media (max-width: 700px) {
  body { font-size: 17px; }
  .topbar > .wrap { width: calc(100% - 36px); }
  .brand-name { font-size: 22px; }
  .nav { gap: 6px 19px; }
  .nav a { padding: 8px 0; font-size: 15px; }
  .opening-grid { display: flex; flex-direction: column; align-items: stretch; gap: 24px; padding-block: 58px 54px; }
  .hero h1 { max-width: 11ch; font-size: clamp(48px, 12vw, 72px); }
  .hero p { font-size: 19px; }
  .multiplane-stage { width: min(100%, 460px); min-height: 420px; margin-inline: auto; }
  .cover-plane { width: 38%; }
  .cover-plane--back { width: 36%; right: 5%; }
  .cover-plane--middle { width: 39%; left: 1%; }
  .cover-plane--front { width: 46%; left: 29%; }
  .cards { grid-template-columns: 1fr; gap: 48px; }
  .book-card:nth-child(n) { margin-top: 0; }
  .book-cover-link { min-height: 350px; }
  .book-cover { max-height: 330px; }
  .project-index article > a { grid-template-columns: minmax(110px, 150px) minmax(0, 1fr); gap: 22px; }
  .audio-feature-layout { grid-template-columns: minmax(110px, 170px) minmax(0, 1fr); }
  .podcasts-feature { grid-template-columns: 1fr; gap: 32px; }
  .podcast-cover-link { width: min(72%, 320px); }
  .page-head { padding-block: 58px; }
  .page-head h1 { font-size: clamp(42px, 10vw, 65px); }
  .page-head .author-portrait, .page-head .podcast-image { float: none; width: min(58%, 230px); max-height: 300px; margin: 0 0 25px; }
  .project-head-grid { grid-template-columns: 1fr; gap: 28px; }
  .project-head-image { width: min(64%, 250px); max-height: 280px; }
  .book-page-head .book-head-grid { grid-template-columns: minmax(0, 1fr) minmax(130px, .55fr); gap: 20px; }
  .book-object { width: min(100%, 210px); }
  .book-story { grid-template-columns: 1fr; gap: 24px; }
  .related-books .cards { grid-template-columns: 1fr; gap: 24px; }
  .order-card { grid-template-columns: 100px minmax(0, 1fr); gap: 22px; padding: 30px 0; }
  .order-card > img { max-height: 170px; }
  .order-prices { grid-template-columns: 1fr; }
  .order-prices > div { padding: 15px 0; }
  .order-prices > div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .podcast { grid-template-columns: 1fr; }
  .podcast-image { grid-column: 1; grid-row: auto; width: min(43%, 170px); margin-bottom: 20px; }
  .podcast-lightbox { padding: 72px 12px 24px; }
  .podcast-lightbox__toolbar { inset: 12px 14px auto; }
  .podcast-lightbox__image { max-width: 100%; max-height: calc(100% - 56px); }
  .podcast-lightbox__nav { top: auto; bottom: 12px; width: 48px; height: 48px; transform: none; }
  .podcast-lightbox__nav--previous { left: calc(50% - 58px); }
  .podcast-lightbox__nav--next { right: calc(50% - 58px); }
  .podcast h2, .podcast > p, .podcast > audio, .podcast > a { grid-column: 1; }
  .press-gallery { grid-template-columns: 1fr; gap: 32px; }
  .press-gallery figure:nth-child(even) { margin-top: 0; }
  .work-index a, .media-index a { grid-template-columns: 1fr; gap: 7px; padding: 18px 0; }
  .media-action { justify-self: start; margin-top: 3px; }
  .press-clippings-title { margin-top: 56px !important; }
}
@media (max-width: 420px) {
  .nav { gap: 3px 14px; }
  .nav a { font-size: 14px; }
  .multiplane-stage { min-height: 350px; }
  .book-page-head .book-head-grid { grid-template-columns: 1fr; }
  .book-object { justify-self: start; width: min(52%, 190px); margin-top: 4px; }
  .order-card { grid-template-columns: 1fr; }
  .order-card > img { width: auto; max-width: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Experimental Chico-maquette direction: scoped to this prototype worktree.
   Remove these body classes and this block to revert. */
body.maquette {
  --pine: #173a2d;
  --pine-deep: #10251e;
  --moss: #3f5a45;
  --fern: #6b8072;
  --mist: #8fa3ad;
  --dawn: #c7d3da;
  --lamp: #f2b24a;
  --umber: #1a1410;
  --paper: #eee9dc;
  --paper-light: #f7f4eb;
  --line: #c7c3b6;
  --ink: #17231d;
  --muted: #46584f;
  background: var(--paper);
  color: var(--ink);
}

.maquette .topbar {
  background: var(--pine-deep);
  color: var(--paper-light);
  border-bottom: 1px solid var(--fern);
}
.maquette .brand a { color: inherit; }
.maquette .monogram { border-color: #f2b24a88; color: var(--lamp) !important; }
.maquette .nav a { color: var(--paper-light); }
.maquette .nav a::after { background: var(--lamp); }
.maquette .nav a:hover,
.maquette .nav a.active { color: var(--lamp); }

.home-maquette .hero {
  aspect-ratio: 7680 / 4335;
  background: #080d1c;
  color: var(--paper-light);
}
.home-maquette .hero-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-maquette .hero::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, #080d1cf2 0%, #080d1cd9 35%, #080d1c42 63%, #080d1c08 100%);
  content: '';
  pointer-events: none;
}
.home-maquette .opening-grid {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding-block: clamp(30px, 5vw, 80px);
}
.home-maquette .opening-copy {
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin: 0;
  text-align: left;
}
.home-maquette .hero h1 {
  max-width: none;
  margin: 0 0 14px;
  color: var(--paper-light);
  font-size: clamp(48px, 6.7vw, 92px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.02;
  text-transform: uppercase;
}
.home-maquette .hero h1 span { display: block; }
.home-maquette .hero p {
  max-width: 15ch;
  margin: 0;
  color: var(--paper-light);
  font: 400 clamp(24px, 3vw, 38px)/1.16 var(--display);
}
.home-maquette .hero-signature {
  width: 84px;
  height: 3px;
  margin: 30px 0 18px;
  background: var(--lamp);
}
.home-maquette .hero .hero-tagline {
  max-width: none;
  color: var(--lamp);
  font: 700 clamp(13px, 1.4vw, 18px)/1.3 var(--body);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.maquette .button {
  border-color: var(--lamp);
  border-radius: 999px;
  background: var(--lamp);
  color: var(--umber);
  box-shadow: 0 4px 0 #10251e;
}
.maquette .button:hover {
  transform: translateY(-2px);
  background: var(--pine);
  color: var(--paper-light);
}

.home-maquette #livres {
  width: 100%;
  margin: 0;
  padding: clamp(56px, 7vw, 92px) var(--gutter);
  background: var(--pine);
  color: var(--paper-light);
}
.home-maquette #livres > h2,
.home-maquette #livres > .intro,
.home-maquette #livres > .cards,
.home-maquette #livres > .home-links {
  width: min(var(--wrap), 100%);
  margin-inline: auto;
}
.home-maquette #livres > h2 { color: var(--paper-light); }
.home-maquette #livres > .intro,
.home-maquette #livres .home-links { color: #d5dfd8; }
.home-maquette #livres .cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  margin-top: 38px;
}
.home-maquette #livres .book-card {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  align-content: center;
  align-items: center;
  gap: 10px clamp(22px, 4vw, 48px);
  padding: clamp(18px, 3vw, 32px);
  background: var(--paper-light);
  color: var(--ink);
}
.home-maquette #livres .book-card:nth-child(even) { background: var(--paper); }
.home-maquette #livres .book-card:nth-child(n) { margin-top: 0; }
.home-maquette #livres .book-cover-link {
  grid-column: 1;
  grid-row: 1 / 4;
  min-height: 300px;
  margin: 0;
  background: transparent;
}
.home-maquette #livres .book-card:nth-child(2) .book-cover-link,
.home-maquette #livres .book-card:nth-child(3) .book-cover-link { background: transparent; }
.home-maquette #livres .book-card h3,
.home-maquette #livres .book-card p,
.home-maquette #livres .book-card > a:last-child { grid-column: 2; }
.home-maquette #livres .book-card h3 { align-self: end; margin: 0; color: var(--pine); }
.home-maquette #livres .book-card p { align-self: start; margin: 0; color: var(--ink); }
.home-maquette #livres .book-card > a:last-child { align-self: start; }
.home-maquette #livres .home-links a { color: var(--paper-light); }

.home-maquette .podcasts-home {
  background: var(--pine-deep);
  color: var(--paper-light);
}
.home-maquette .podcasts-home h2 { color: var(--paper-light); }
.home-maquette .podcasts-home .button--quiet { border-color: var(--lamp); }
.maquette footer { background: var(--pine-deep); }

.maquette .page-head {
  background-color: var(--pine);
  background-image: linear-gradient(#173a2de8, #173a2de8), url("images/chico-fond-vert.jpg");
  background-position: center;
  background-size: cover;
  color: var(--paper-light);
}
.maquette .page-head h1 { color: var(--paper-light); }
.maquette .page-head em { color: var(--lamp); }
.maquette .page-head .intro { color: var(--dawn); }
.press-gallery-hint { margin: 0; color: var(--muted); }
.press-artifacts .press-gallery { margin-top: clamp(22px, 3vw, 36px); }
.book-maquette .book-head-grid {
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 88px);
}
.book-maquette .book-object { grid-column: 1; grid-row: 1; }
.book-maquette .book-head-copy { grid-column: 2; grid-row: 1; }
.book-maquette .book-object::before { border-color: #f2b24a77; }
.book-maquette .book-story { background: var(--paper); }
.book-maquette .related-books { border-color: var(--pine); }
.book-maquette .related-books .card { border-color: var(--moss); }

.maquette .episode-index { border-color: var(--line); }
.maquette .episode-index a { color: var(--pine); }
.maquette .episode-index a span { color: var(--muted); }
.maquette .podcast {
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--line);
  background: var(--paper-light);
}
.maquette .podcast + .podcast { margin-top: 24px; }
.maquette .podcast audio,
.maquette .audio-feature audio { accent-color: var(--moss); }
.maquette .podcast-subscribe,
.maquette .audio-feature,
.maquette .other-order-options {
  padding: clamp(24px, 4vw, 42px);
  background: var(--dawn);
}
.maquette .rss { border-color: var(--moss); }
.maquette .order-card {
  padding: clamp(24px, 4vw, 40px);
  border: 0;
  background: var(--paper-light);
}
.maquette .order-card + .order-card { margin-top: 18px; }
.maquette .order-prices { border-color: var(--moss); }
.maquette .order-prices > div + div { border-left-color: var(--line); }
.maquette .order-prices strong { color: var(--pine); }
.maquette .press-gallery figure { background: var(--paper-light); }
.grand-lac-press-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grand-lac-press-item { min-width: 0; padding: clamp(22px, 3.5vw, 38px); border-top: 1px solid var(--moss); background: var(--paper-light); }
.grand-lac-press-item h2 { margin: 0 0 12px; color: var(--pine); font: 400 clamp(27px, 3.4vw, 40px)/1.1 var(--display); letter-spacing: -.03em; }
.grand-lac-press-item p { margin: 0 0 15px; }
.grand-lac-press-item .grand-lac-press-source { color: var(--muted); font-size: 16px; }
.grand-lac-press-card-image { display: block; margin: 0 0 8px; }
.grand-lac-press-card-image img { display: block; width: 100%; height: clamp(230px, 28vw, 340px); object-fit: cover; object-position: top; border: 1px solid var(--line); }
.grand-lac-press-item .grand-lac-press-caption { margin: 0 0 22px; font-size: 14px; }
.grand-lac-press-item a:not(.grand-lac-press-image) { font-weight: 700; }
.grand-lac-press-item--image { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: start; gap: 24px clamp(24px, 4vw, 48px); }
.grand-lac-press-image { display: block; grid-column: 1; grid-row: 1 / span 2; }
.grand-lac-press-image img { display: block; width: 100%; height: auto; border: 1px solid var(--line); }
.grand-lac-press-caption { grid-column: 1; color: var(--muted); font-size: 15px; }
.grand-lac-press-item--image > div { grid-column: 2; grid-row: 1 / span 2; }
@media (max-width: 700px) {
  .grand-lac-press-gallery { grid-template-columns: 1fr; }
  .grand-lac-press-item--image { grid-column: 1; grid-template-columns: 1fr; }
  .grand-lac-press-image, .grand-lac-press-caption, .grand-lac-press-item--image > div { grid-column: 1; grid-row: auto; }
}
.maquette .work-index,
.maquette .media-index { border-color: var(--line); }
.maquette .work-index li,
.maquette .media-index li { border-color: var(--line); }
.maquette .work-title,
.maquette .media-title,
.maquette .media-action { color: var(--pine); }
.maquette .contact-content > p:first-of-type a { color: var(--pine); }

@media (max-width: 700px) {
  .home-maquette .hero { aspect-ratio: auto; }
  .home-maquette .hero-art {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    object-fit: initial;
  }
  .home-maquette .hero::after { display: none; }
  .home-maquette .opening-grid { min-height: 0; padding-block: 32px 56px; }
  .home-maquette .hero h1 { font-size: clamp(38px, 11vw, 54px); }
  .home-maquette #livres .book-card {
    grid-template-columns: minmax(110px, .65fr) minmax(0, 1fr);
    gap: 8px 18px;
    padding: 18px;
  }
  .home-maquette #livres .book-cover-link { min-height: 220px; }
}
@media (max-width: 420px) {
  .book-maquette .book-head-grid { grid-template-columns: 1fr; }
  .book-maquette .book-head-copy .page-title { font-size: 42px; max-width: none; }
  .project-index article > a, .audio-feature-layout { grid-template-columns: 1fr; }
  .project-index img { width: min(56%, 190px); max-height: 230px; }
  .audio-feature-art { width: min(100%, 320px); margin-inline: auto; }
  .crew-profile img { width: min(58%, 220px); margin-inline: auto; }
  .home-maquette #livres .book-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 12px;
  }
  .home-maquette #livres .book-cover-link {
    grid-column: 1;
    grid-row: 1;
    min-height: 240px;
  }
  .home-maquette #livres .book-card h3,
  .home-maquette #livres .book-card p,
  .home-maquette #livres .book-card > a:last-child { grid-column: 1; }
  .book-maquette .book-head-copy { grid-column: 1; grid-row: 2; }
  .book-maquette .book-object { grid-column: 1; grid-row: 1; }
}
