/* White, translucent surfaces with the soft spectrum of the supplied reference. */
:root {
  --ink: #20283f;
  --ink-soft: #f4f7fd;
  --paper: #fff;
  --muted: #586277;
  --gold: #3b55a0;
  --line: rgba(62, 86, 140, .15);
  --glass: rgba(255, 255, 255, .78);
  --glass-shadow: inset 0 0 0 1px #ffffffd9, 0 12px 40px #61719b0d, -9px 7px 26px -17px #70d9efb3, 10px -4px 30px -20px #ec9fb4b3;
  color-scheme: light;
}
body { background: #fff; color: var(--ink); }
::selection { color: #17234b; background: #dce4ff; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible { outline-color: #3b55a0; }
.skip-link { background: #243b78; color: #fff; border-radius: 14px; }
.reading-progress { height: 3px; background: linear-gradient(90deg, #68c8e2, #8199ed, #dcb0e8, #ecafa9); }
h1, h2, h3 { color: var(--ink); }
h1 em, h2 em { color: #3b55a0; }

/* The original publisher's logo is kept intact, including its blue wordmark. */
.brand, .header-complete .brand { display: inline-flex; gap: 0; line-height: 0; }
.brand-logo { width: 166px; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.announcement { color: #505e77; background: linear-gradient(100deg, #f5fcff, #fff, #fff7fa); min-height: 37px; border-bottom: 1px solid #edf0f6; }
.announcement a:hover { color: #243b78; }
.header-complete { height: 98px; margin: 15px 26px 0; padding: 0 max(22px, calc(var(--gutter) - 26px)); border: 1.5px solid #fff; border-radius: 26px; background: rgba(255,255,255,.86); box-shadow: var(--glass-shadow); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
.header-complete .navigation { color: #43516c; font-size: 13px; }
.navigation .mobile-shop { display: none; }
.navigation a:hover, .navigation a[aria-current=page] { color: #243b78; }
.navigation a:after { background: linear-gradient(90deg, #79cfe5, #899fe4, #dfabc9); height: 2px; }
.header-actions { gap: 20px; }
.header-actions .header-shop { padding: 13px 18px; border-radius: 15px; border: 1px solid #273e7b; background: #273e7b; color: #fff; box-shadow: 0 5px 15px #435ba31a; }
.header-actions .header-shop:hover { background: #344d90; border-color: #344d90; }
.language-link { color: #43516c; padding: 9px 0; }
.menu-toggle span { background: #243b78; }

.hero { min-height: 730px; height: calc(100svh - 150px); padding-top: 36px; }
.hero-light { inset: 0; background: radial-gradient(ellipse at 78% 28%, #ffeef28c, transparent 45%), radial-gradient(ellipse at 73% 82%, #e2f7fdba, transparent 44%), radial-gradient(ellipse at 35% 85%, #f1ebff6b, transparent 45%); }
.hero-copy .eyebrow { color: #536794; }
.short-line { background: linear-gradient(90deg,#81cfdf,#baabe4); width: 31px; height: 2px; }
.hero-copy h1 { letter-spacing: -.05em; }
.hero-description { color: #59637a; }
.hero-note strong { color: #273551; }
.tiny-star { color: #7a8cbb; }
.hero-scene { isolation: isolate; }
.hero-scene:before { content: ''; position: absolute; inset: 37px -12px 30px 0; z-index: -1; border-radius: 46px; border: 2px solid #fffffff5; background: linear-gradient(135deg,#f9fdff38,#ffffff0d 50%,#fff5fa38),url('assets/hero-mondes.webp') center / cover no-repeat; box-shadow: inset 0 0 0 1px #fff, -17px 14px 45px -23px #83dcebab, 18px -12px 45px -25px #eda7b1a3, 5px 25px 45px -33px #bcb0e5d9; }
.scene-orbit { border-color: #9aafda36; }
.orbit-two { border-color: #b8aceb29; }
.floating-book { filter: drop-shadow(0 22px 22px #42577930); }
.floating-book:hover { filter: drop-shadow(0 28px 25px #42577940) brightness(1.025); }
.scene-coordinate, .scroll-invitation, .hero-edition { color: #637089; }
.scene-caption { padding: 8px 14px; border: 1px solid #fff; border-radius: 17px; background: #ffffffc7; box-shadow: 0 8px 25px #63759a0b; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.caption-number { color: #405997; }
.scene-star { color: #9aadd4; }
.editorial-ribbon { color: #54627d; background: linear-gradient(100deg, #f6fbff, #fff, #fff8fc); border-color: #e9edf6; }
.editorial-ribbon i { color: #9cadd6; }

.button { border-radius: 16px; border: 1px solid transparent; }
.button-light { color: #253757; border: 1.5px solid #fff; background: linear-gradient(115deg, #edfaffdb, #fff 47%, #fff2f6d9); box-shadow: var(--glass-shadow); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.button-light:hover { color: #223575; background: linear-gradient(115deg, #def5fddd, #f8f5ff, #ffeaf1df); box-shadow: inset 0 0 0 1px #fff, -9px 6px 25px -15px #88ddec, 10px -3px 25px -15px #e5a8c4, 0 12px 25px #8392b21c; }
.button-dark { background: #293f7a; color: #fff; }
.button-dark:hover { background: #3a5397; }
.text-link { color: #344d84; border-color: #b9c7e0; }
.text-link:hover { color: #172f73; border-color: #667dae; }

/* Tinted white cards echo the cyan, peach and lilac edge light in the reference. */
.new-grid { gap: 22px; }
.new-book { padding: 14px 14px 23px; border: 1.5px solid #fff; border-radius: 29px; background: linear-gradient(145deg, #ffffffeb, #f8faffae); box-shadow: var(--glass-shadow); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.new-book .book-meta, .new-book h3, .new-book .book-subtitle, .new-book .book-description, .new-book>.text-link { margin-left: 6px; margin-right: 6px; }
.new-book .text-link { padding-top: 23px; }
.new-book h3 { font-size: 28px; }
.cover-stage { border: 1px solid #fff; border-radius: 20px; height: 340px; padding: 45px 26px 30px; background: linear-gradient(140deg, #edf7fc, #f2f3fd); box-shadow: inset 0 1px 0 #fff; }
.cover-blue { background: radial-gradient(ellipse at 20% 20%, #f4fdff, transparent 70%), linear-gradient(135deg,#def1f8,#e8ebfb); }
.cover-green { background: radial-gradient(ellipse at 20% 20%, #fbfff8, transparent 70%), linear-gradient(135deg,#e5f4eb,#ebf4f9); }
.cover-charcoal { background: radial-gradient(ellipse at 20% 20%, #fffaf2, transparent 70%), linear-gradient(135deg,#eeeefb,#e5edf7); }
.cover-rose { background: radial-gradient(ellipse at 20% 20%, #fff9f5, transparent 70%), linear-gradient(135deg,#f9e7eb,#f0e8fc); }
.cover-stage:after { background: radial-gradient(circle at var(--shine-x) var(--shine-y), #ffffffa6, transparent 58%); mix-blend-mode: soft-light; }
.cover-stage img { box-shadow: 10px 18px 23px #40547a35; }
.cover-number, .cover-kind { color: #536684; }
.cover-open { background: #ffffffbf; border-color: #ffffffed; box-shadow: 0 3px 9px #6684a31a; color: #344d84; }
.cover-stage:hover .cover-open { color: #fff; background: #40599c; }
.book-meta { color: #476095; }
.book-description, .book-subtitle { color: #586277; }
.section-heading .eyebrow { color: #526b9d; }

.experience { background: linear-gradient(115deg,#f6fbff,#fdfaff 52%,#fff7f8); border-block: 1px solid #e8edf6; }
.experience-landscape { opacity: .1; filter: saturate(.65); }
.experience-sticky:after { background: linear-gradient(90deg,#ffffffed,#ffffffa1 60%,#fff8fc8f); }
.experience-copy { padding: 30px; margin-left: -30px; border: 1.5px solid #fff; border-radius: 30px; background: #ffffffba; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); box-shadow: var(--glass-shadow); }
.experience-copy>p:not(.eyebrow) { color: #57647a; }
.experience-chapters span { color: #677893; border-color: #d3ddee; }
.experience-chapters .active { color: #324e90; border-color: #5776b2; }
.exploded-scene:before { border-color: #9eb7dd36; box-shadow: 0 0 0 45px #91c7eb0a, 0 0 0 90px #c2b4e708; }
.book-layer { filter: drop-shadow(0 10px 13px #54678b20); box-shadow: 0 22px 35px #65779725; }
.layer-words { background: #fffefd; color: #25354a; }
.layer-art { background: #f5f8fe; color: #415376; }
.page-rule { background: #95a6c2; }
.layer-annotation { color: #5e7091; }
.layer-annotation i { background: #a5b5d3; }
.experience-bottom { color: #566784; }
.experience-meter { background: #d7e0ef; }
.experience-meter span { background: linear-gradient(90deg,#76ccdf,#b2a4df,#dfaabf); height: 2px; }

.collection-filters { padding: 8px; gap: 6px; width: fit-content; margin-bottom: 37px; border: 1px solid #fff; border-radius: 18px; background: #f4f7fcbd; box-shadow: inset 0 0 0 1px #fff,0 3px 15px #8493b110; }
.collection-filters button { color: #586782; border-radius: 12px; }
.collection-filters button:hover { color: #304779; background: #e9eff9; }
.collection-filters .selected, .collection-filters button.selected:hover { color: #fff; background: #344d8c; box-shadow: 0 4px 10px #576ba624; }
.legacy-visual { background: linear-gradient(130deg,#eff7fc,#f5f1fc 60%,#fff2f4); border: 1px solid #fff; border-radius: 23px; box-shadow: var(--glass-shadow); }
.legacy-visual img { box-shadow: 6px 12px 18px #53638935; }
.legacy-book:nth-child(3n+2) .legacy-visual { background: linear-gradient(130deg,#f3f9f1,#edf7fa,#f2edfd); }
.legacy-book:nth-child(3n) .legacy-visual { background: linear-gradient(130deg,#fff4f1,#f7ecf6,#f0f5ff); }
.legacy-book .legacy-link { color: #52678b; }

.manifesto { border-color: #ecf0f8; background: radial-gradient(ellipse at 10% 80%,#edfaff75,transparent 65%),#fff; }
.manifesto-line { color: #26354f; }
.spotlight { background: radial-gradient(ellipse at 15% 50%,#e7f5fd99,transparent 47%),radial-gradient(ellipse at 90% 15%,#f8f0fc80,transparent 42%),#fff; border-bottom: 1px solid #edf0f6; }
.spotlight-book img { box-shadow: 25px 35px 45px #53678b26; }
.spotlight-orbit { border-color: #b8cde54f; }
.spotlight-copy .eyebrow, .spotlight-copy h2 em { color: #3e5796; }
.spotlight-copy>p:not(.eyebrow), .spotlight-copy ul, .spotlight .prose { color: #576279; }
.spotlight-label { color: #6b7a94; }
.spotlight-actions .text-link { border-color: #b9c7e0; }
.spotlight .text-link:hover { color: #273f80; border-color: #6d84b4; }
.full-presentation { border-color: #dce3ef; }
.spotlight .prose h2, .spotlight .prose h3 { color: #263550; }
details { border-color: #dce3ef; }
summary { color: #44587f; }

.wonder-panel { border: 1.5px solid #fff; border-radius: 32px; padding: 22px; box-shadow: var(--glass-shadow); }
.wonder-panel:after { background: linear-gradient(0deg,#eaf1f65c,transparent 65%); }
.wonder-panel>div:last-child { width: 100%; border: 1.5px solid #fff; border-radius: 23px; padding: 27px; background: #ffffffdf; box-shadow: inset 0 0 20px #fff6,0 8px 32px #899cb126; backdrop-filter: blur(20px) saturate(120%); -webkit-backdrop-filter: blur(20px) saturate(120%); }
.wonder-panel h3 { color: #23334f; }
.wonder-panel .eyebrow { color: #4b6194; }
.wonder-panel p:not(.eyebrow) { color: #546279; }
.wonder-panel .text-link { color: #3f578b; }
.reader-section { margin-inline: var(--gutter); padding-inline: clamp(25px,4vw,65px); border: 1.5px solid #fff; border-radius: 32px; background: linear-gradient(115deg,#f0fbffb8,#ffffffed 43%,#fff0f7ba); box-shadow: var(--glass-shadow); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.reader-mark { color: #9caee0; }
.reader-section blockquote { color: #2d3d5b; }
.reader-image img { border-radius: 24px; box-shadow: 0 14px 30px #71819d26; }
.journal-image { border-radius: 26px; border: 1px solid #fff; box-shadow: var(--glass-shadow); }
.journal-card .eyebrow { color: #4f6799; }
.journal-card h3 { color: #24334f; }
.journal-card p:not(.eyebrow) { color: #58667e; }
.author-art { border-radius: 30px; box-shadow: 0 14px 35px #7f91b124; }
.author-art img { filter: brightness(.95) saturate(.85); }
.author-art:after { border-color: #ffffffba; border-radius: 20px; }
.author-art span { color: #263852; background: #ffffffe0; border: 1px solid #fff; border-radius: 15px; padding: 15px 20px; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); }
.closing { margin-inline: var(--gutter); border: 1.5px solid #fff; border-radius: 35px; background: linear-gradient(115deg,#ecfaffc4,#ffffffeb 45%,#fff0f5cf); box-shadow: var(--glass-shadow); }
.closing-star { color: #b5bfe65e; }

.newsletter { margin: 70px var(--gutter) 30px; padding-inline: clamp(25px,4vw,65px); border: 1.5px solid #fff; border-radius: 34px; background: radial-gradient(ellipse at 0 100%,#dbf8fd80,transparent 52%),radial-gradient(ellipse at 100% 0,#ffe3ea70,transparent 50%),linear-gradient(135deg,#ffffffeb,#f9f6ffcf); box-shadow: inset 0 0 0 1px #fff,-12px 8px 35px -20px #8bdfedb3,12px -7px 35px -20px #edacc1b3,0 16px 40px #aab6cf18; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); }
.newsletter input, .contact-form input, .contact-form textarea { border: 1px solid #ccd8e9; border-radius: 14px; background: #ffffffd9; color: #263550; box-shadow: inset 0 2px 6px #637ca509; }
.newsletter input::placeholder, .contact-form input::placeholder { color: #718098; }
.newsletter input:focus, .contact-form input:focus, .contact-form textarea:focus { border-color: #7997d2; background: #fff; }
.form-status[data-state=error] { color: #a23645; }
.form-status[data-state=success] { color: #216347; }
.form-note, .form-required { color: #616d83; }
.form-field label { color: #435673; }
.contact-form { padding: 34px; border: 1.5px solid #fff; border-radius: 29px; background: linear-gradient(125deg,#f1fbffb3,#ffffffc9,#fff2f8ab); box-shadow: var(--glass-shadow); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.footer { background: #fff; }
.footer .brand-logo { width: 190px; }
.footer-directory h3 { color: #405c94; }
.footer-directory a:hover { color: #233c7b; }
.footer-bottom { color: #63718a; }

.subhero { margin-top: 24px; border-color: #e9eef7; background: radial-gradient(ellipse at 90% 10%,#fae6ef69,transparent 45%),radial-gradient(ellipse at 20% 80%,#dff7ff73,transparent 55%),linear-gradient(110deg,#fff,#fcfbff); }
.subhero .eyebrow { color: #536b9d; }
.subhero h1 { color: #25334e; }
.subhero-lead { color: #5b6880; }
.prose, .article-content .prose { color: #4c5970; }
.prose h2, .prose h3 { color: #273850; }
.prose a { color: #365792; }
.gallery-image { background: linear-gradient(135deg,#f1f9ff,#fcf4f9); border: 1.5px solid #fff; border-radius: 23px; box-shadow: var(--glass-shadow); }
.gallery-image>span { background: #ffffffd9; border: 1px solid #fff; color: #334e84; box-shadow: 0 5px 15px #6179a524; }
.reference-book-link { background: linear-gradient(135deg,#f0f8fe,#fcf3fa); border: 1px solid #fff; border-radius: 23px; box-shadow: var(--glass-shadow); }
.reference-book-link:hover { background: linear-gradient(135deg,#e7f4fb,#f5eaf8); }
.reference-book-link>span { color: #415c93; }
.reference-section+.reference-section { border-color: #e7edf6; }

dialog, .lightbox { border: 2px solid #fff; border-radius: 30px; background: #ffffffed; color: #263550; box-shadow: -14px 8px 50px #8acfe74d,14px -8px 50px #e3a5c44d,0 30px 100px #52638240; backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px); }
dialog::backdrop, .lightbox::backdrop { background: #dce4f380; backdrop-filter: blur(18px) saturate(.8); -webkit-backdrop-filter: blur(18px) saturate(.8); }
.dialog-visual { background: linear-gradient(135deg,#eaf8ffd9,#f3edffd9,#fff0f4db); }
.dialog-visual img { box-shadow: 12px 20px 35px #60799d38; }
.dialog-close, .panel-close { background: #ffffffed; color: #334c80; border: 1px solid #dbe4f2; box-shadow: 0 4px 15px #8498b51c; }
.dialog-close:hover, .panel-close:hover { background: #eaf1ff; color: #233f80; }
.dialog-copy .eyebrow, .dialog-subtitle, .dialog-passage>span { color: #50689a; }
.dialog-copy>p:not(.eyebrow):not(.dialog-author):not(.dialog-subtitle):not(.availability-note), .dialog-copy ul { color: #536179; }
.dialog-passage { border-color: #d9e3f1; }
.availability-note { color: #64728b; }
.lightbox-controls button { border-color: #c8d7eb; color: #3f588d; background: #fff; }
.lightbox-controls button:hover { background: #ebf2ff; color: #263f7b; }
.lightbox-caption { color: #5c6e87; }

@media (min-width:1550px) {
  .cover-stage { height: 410px; }
}
@media (max-width:1240px) {
  .header-complete { height: 90px; }
  .header-complete .navigation { top: 101px; left: 0; right: 0; padding: 27px; border: 1.5px solid #fff; border-radius: 25px; background: #fffffff5; box-shadow: var(--glass-shadow),0 20px 45px #6d80a326; backdrop-filter: blur(25px); -webkit-backdrop-filter: blur(25px); }
  .navigation .mobile-shop { display: block; border-top: 1px solid #dfe7f5; padding-top: 20px; font-weight: 600; color: #2f4988; }
  .brand-logo { width: 156px; }
  .cover-stage { height: 295px; padding: 45px 22px 30px; }
  .new-book h3 { font-size: 25px; }
}
@media (max-width:900px) {
  .hero { height: auto; min-height: 720px; }
  .header-complete { margin-inline: 20px; padding-inline: 22px; }
  .new-grid { gap: 28px 24px; }
  .cover-stage { height: 360px; }
  .new-book h3 { font-size: 30px; }
  .experience-copy { padding: 24px; margin-left: -18px; }
  .experience-copy h2 { font-size: 46px; }
  .contact-layout { grid-template-columns: .85fr 1.15fr; gap: 5%; }
  .contact-form { padding: 24px; }
  .reader-section { grid-template-columns: 40px 1fr; }
  .wonder-panel { padding: 15px; }
  .wonder-panel>div:last-child { padding: 23px; }
}
@media (max-width:640px) {
  .announcement { font-size: 10px; min-height: 40px; }
  .header-complete { margin: 11px 14px 0; height: 79px; padding-inline: 16px; border-radius: 21px; }
  .header-complete .brand-logo { width: 143px; }
  .header-complete .navigation { top: 89px; padding: 25px; }
  .header-actions { gap: 19px; }
  .hero { height: auto; min-height: 0; padding-top: 44px; }
  .hero-scene:before { inset: 23px 0 22px; border-radius: 34px; }
  .hero-copy h1 { font-size: clamp(56px,12.8vw,78px); }
  .hero-copy .button { padding: 16px 18px; gap: 18px; }
  .scene-caption { left: 0; bottom: 0; padding: 6px 10px; border-radius: 13px; }
  .caption-number { font-size: 32px; }
  .scene-caption>span>span { font-size: 9px; }
  .scene-star.star-one { right: 30%; }
  .new-grid { gap: 23px 14px; }
  .new-book { padding: 9px 9px 19px; border-radius: 24px; }
  .new-book .book-meta, .new-book h3, .new-book .book-subtitle, .new-book .book-description, .new-book>.text-link { margin-left: 3px; margin-right: 3px; }
  .cover-stage { height: 237px; padding: 42px 12px 28px; border-radius: 17px; }
  .cover-number { top: 14px; left: 12px; }
  .cover-kind { top: 15px; right: 10px; font-size: 9px; }
  .cover-open { width: 27px; height: 27px; }
  .new-book h3 { font-size: 24px; }
  .new-book .book-description { font-size: 14px; line-height: 1.7; }
  .new-book .book-meta { font-size: 10px; }
  .new-book>.text-link { font-size: 12px; gap: 8px; }
  .experience-copy { margin: 0; padding: 22px; border-radius: 24px; }
  .experience-copy h2 { font-size: 40px; }
  .experience-copy>p:not(.eyebrow) { font-size: 14px; }
  .experience-sticky { min-height: 850px; padding: 25px 20px 60px; }
  .experience-chapters { margin-top: 20px; }
  .experience-bottom { left: 20px; right: 20px; }
  .collection-filters { width: 100%; gap: 3px; border-radius: 16px; }
  .collection-filters button { padding: 9px 10px; font-size: 12px; }
  .legacy-visual { border-radius: 21px; }
  .reader-section { grid-template-columns: 1fr; gap: 0; margin-inline: 16px; padding: 40px 24px; border-radius: 26px; }
  .wonder-panel { border-radius: 27px; padding: 15px; min-height: 490px; }
  .wonder-panel>div:last-child { border-radius: 21px; padding: 24px; }
  .wonder-panel h3 { font-size: 40px; }
  .journal-image { border-radius: 22px; }
  .author-art span { left: 30px; right: 30px; bottom: 30px; padding: 12px 16px; font-size: 10px; }
  .closing { margin-inline: 16px; border-radius: 27px; padding-inline: 22px; }
  .newsletter { margin: 50px 16px 25px; padding: 45px 24px; border-radius: 27px; gap: 30px; }
  .newsletter h2 { font-size: 44px; }
  .subhero { margin-top: 18px; }
  .reference-gallery { gap: 13px; }
  .reference-book-link, .gallery-image { border-radius: 19px; }
  .contact-layout { grid-template-columns: 1fr; gap: 35px; }
  .contact-form { padding: 24px 18px; border-radius: 24px; }
  .contact-fields { column-gap: 12px; }
  .contact-form fieldset>.button { width: 100%; }
  dialog, .lightbox { border-radius: 25px; }
  .footer .brand-logo { width: 166px; }
}
@media (max-width:370px) {
  .cover-stage { height: 208px; padding: 37px 10px 25px; }
  .cover-kind { font-size: 8px; right: 8px; }
  .new-book h3 { font-size: 23px; }
  .new-book>.text-link { font-size: 11px; gap: 5px; }
  .new-grid { gap: 23px 11px; }
  .experience-copy h2 { font-size: 35px; }
  .experience-copy { padding: 19px; }
}
@media (prefers-reduced-transparency: reduce) {
  .header-complete, .new-book, .experience-copy, .wonder-panel>div:last-child, .reader-section, .newsletter, .contact-form, dialog, .lightbox { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* The image defines each book tile's height; covers are never cropped to a banner. */
.legacy-grid { align-items: start; }
.book-actions { display: flex; flex-direction: column; align-items: stretch; gap: 13px; margin: auto 6px 0; padding-top: 23px; }
.book-purchase { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 13px; background: #edf3fc; border: 1px solid #dce6f5; border-radius: 12px; color: #2b467f; font-size: 13px; font-weight: 600; line-height: 1.5; }
.book-purchase:hover { background: #e3edfc; border-color: #b8cbea; }
.coming-soon { align-self: start; display: inline-flex; border: 1px solid #e2d8f1; background: #f7f1fc; color: #72558c; border-radius: 30px; padding: 7px 12px; font-size: 12px; }
.new-book .book-actions>.text-link { margin: 0; padding-top: 0; font-size: 12px; align-self: start; }
.legacy-visual { display: block; height: auto; aspect-ratio: auto; padding: clamp(10px,1vw,16px); }
.legacy-visual img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; border-radius: 2px; }
.legacy-book a:hover img { transform: translateY(-3px); filter: none; }
.new-book .cover-stage { height: auto; aspect-ratio: auto; padding: 43px 16px 26px; }
.new-book .cover-stage img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; transform: none; }
.new-book .cover-stage:hover img { transform: translateY(-3px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
.reference-gallery:has(>.reference-book-link) { grid-template-columns: repeat(auto-fit,minmax(155px,255px)); justify-content: center; align-items: start; }
.reference-book-link { padding: 14px; }
.reference-book-link img { width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
.reference-book-link:hover img { transform: translateY(-3px); }
.reference-book-link>span { margin-top: 17px; }
@media(max-width:640px) {
  .new-book .cover-stage { padding: 37px 10px 24px; }
  .book-actions { margin-inline: 3px; gap: 12px; }
  .book-purchase { font-size: 11px; padding: 10px; gap: 6px; }
  .coming-soon { font-size: 11px; padding: 6px 9px; }
  .reference-gallery:has(>.reference-book-link) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reference-book-link { padding: 10px; }
}
.motion-off .new-book .cover-stage:hover img { transform: none; }
@media(prefers-reduced-motion:reduce) { .new-book .cover-stage:hover img { transform: none; } }

/* Keep the complete children's illustrations above their translucent copy panels. */
.wonder-panel--illustrated {
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0;
  background: linear-gradient(135deg,#f0fbff,#fff 60%,#fcf3fa);
}
.wonder-panel--illustrated:after { display: none; }
.wonder-panel--illustrated>div:first-child { position: relative; inset: auto; z-index: auto; flex: 0 0 auto; width: 100%; overflow: hidden; }
.wonder-panel--illustrated img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.wonder-panel--illustrated:hover img { transform: scale(1.025); }
.wonder-panel--illustrated>div:last-child { position: relative; z-index: 1; width: auto; flex: 1; margin: -32px 22px 22px; }
@media(max-width:900px) { .wonder-panel--illustrated>div:last-child { margin: -25px 15px 15px; } }
@media(max-width:640px) { .wonder-panel--illustrated { padding: 0; } }
.motion-off .wonder-panel--illustrated:hover img { transform: none; }
@media(prefers-reduced-motion:reduce) { .wonder-panel--illustrated:hover img { transform: none; } }

/* Editorial illustrations: a shared white-glass palette, with selectable legends. */
.article-figure {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  align-items: center;
  gap: clamp(20px,3vw,38px);
  margin: 46px 0 72px;
  padding: clamp(18px,2.6vw,34px);
  border: 1px solid #eaf0f8;
  border-radius: 32px;
  background: radial-gradient(ellipse at 0 100%,#eafaff80,transparent 45%),radial-gradient(ellipse at 100% 0,#fff0f680,transparent 50%),#fff;
  box-shadow: inset 0 0 0 2px #fff,-10px 10px 32px -23px #82d1df80,12px -7px 32px -23px #dca4cd70,0 15px 45px #8198bc0d;
}
.article-figure--hero { margin-top: 0; }
.article-figure .article-figure-image {
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 21px;
  background: #fff;
  box-shadow: none;
  cursor: zoom-in;
  isolation: isolate;
}
.article-figure .article-figure-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  filter: none;
}
.article-figure .article-figure-image:hover img { transform: scale(1.018); filter: none; }
.article-figure .article-figure-image>span { width: 38px; height: 38px; right: 10px; bottom: 10px; }
.article-figure figcaption { min-width: 0; padding-block: 10px; }
.article-figure .eyebrow { margin: 0 0 16px; color: #536b9d; font-size: 10px; letter-spacing: .15em; }
.article-figure h3 { color: #293955; font-family: var(--serif); font-size: clamp(28px,3vw,39px); line-height: 1.08; font-weight: 400; }
.article-figure--hero h3 { font-size: clamp(32px,3.7vw,46px); }
.article-figure-description { color: #59677f; font-size: 15px; line-height: 1.8; margin: 18px 0 0; }
.article-figure-labels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 18px; list-style: none; padding: 21px 0 0; margin: 22px 0 0; border-top: 1px solid #e5eaf4; }
.article-figure-labels li { display: flex; align-items: baseline; gap: 9px; color: #394c70; font-size: 14px; line-height: 1.6; }
.article-figure-labels li:before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: #a6b4e0; }
.article-figure-labels li:nth-child(3n+1):before { background: #81bdce; }
.article-figure-labels li:nth-child(3n+2):before { background: #c6a5c6; }
.article-figure--metrics .article-figure-labels { grid-template-columns: 1fr; }
.article-reading-section { margin: 0; }
.article-reading-section:last-child .article-figure { margin-bottom: 0; }
.journal-image:has(img[src*="/journal/ia-ouverture"]) { background: #fff; }
.journal-image img[src*="/journal/ia-ouverture"] { object-fit: contain; filter: none; }
.motion-off .article-figure .article-figure-image:hover img { transform: none; }
@media(max-width:800px) {
  .article-figure { grid-template-columns: 1fr; gap: 10px; max-width: 600px; margin-inline: auto; }
  .article-figure figcaption { padding: 12px 9px; }
  .article-figure h3, .article-figure--hero h3 { font-size: 34px; }
}
@media(max-width:440px) {
  .article-figure { padding: 13px; margin-block: 32px 48px; border-radius: 24px; }
  .article-figure--hero { margin-top: 0; }
  .article-figure .article-figure-image { border-radius: 17px; }
  .article-figure-labels { grid-template-columns: 1fr; gap: 11px; }
  .article-figure h3, .article-figure--hero h3 { font-size: 31px; }
}
@media(prefers-reduced-motion:reduce) {
  .article-figure .article-figure-image img { transition: none; }
  .article-figure .article-figure-image:hover img { transform: none; }
}

/* A tighter rhythm on the homepage, retaining comfortable type and full covers. */
.home-page .hero { height: auto; min-height: 660px; max-height: none; padding-block: 28px 64px; }
.home-page .editorial-ribbon { padding-block: 14px; }
.home-page .new-releases { padding-block: 68px 72px; }
.home-page .collection { padding-block: 64px 70px; }
.home-page .section-heading { margin-bottom: 34px; }
.home-page .section-heading .eyebrow { margin-bottom: 16px; }
.home-page .experience { height: 190svh; }
.home-page .manifesto { padding-block: 60px 64px; }
.home-page .manifesto .eyebrow { margin-bottom: 22px; }
.home-page .manifesto .text-link { margin-top: 25px; }
.home-page .spotlight { padding-block: 64px; }
.home-page .spotlight-art { min-height: 0; }
.home-page .wonder-section { padding-block: 64px; }
.home-page .wonder-panel { min-height: 0; }
.home-page .wonder-panel>div:last-child { padding-block: 22px; }
.home-page .reader-section { padding-block: 52px; }
.home-page .author { padding-block: 56px 70px; }
.home-page .author-art { height: clamp(360px,36vw,480px); }
.home-page .closing { padding-block: 52px 58px; }
.home-page .closing h2 { margin-block: 20px 24px; }
.home-page .newsletter { margin-block: 40px 20px; padding-block: 54px; }
.home-page .footer { padding-block: 32px 22px; }
.home-page .footer-bottom { margin-top: 28px; padding-top: 20px; }
@media(max-width:640px) {
  .home-page .hero { min-height: 0; padding-block: 30px 48px; }
  .home-page .new-releases, .home-page .collection { padding-block: 42px 46px; }
  .home-page .section-heading { margin-bottom: 25px; }
  .home-page .section-heading .eyebrow { margin-bottom: 14px; }
  .home-page .section-heading>p { margin-top: 16px; }
  .home-page .manifesto { padding-block: 40px 44px; }
  .home-page .spotlight { padding-block: 42px; gap: 28px; }
  .home-page .wonder-section { padding-block: 42px; }
  .home-page .wonder-panel>div:last-child { padding: 21px; }
  .home-page .reader-section { padding-block: 32px; }
  .home-page .author { padding-block: 36px 46px; gap: 26px; }
  .home-page .author-art { height: 350px; }
  .home-page .closing { padding-block: 38px 42px; }
  .home-page .newsletter { margin-block: 28px 16px; padding-block: 34px; gap: 24px; }
}
/* Keep the existing non-sticky fallbacks when animation is disabled or space is short. */
.motion-off .home-page .experience { height: auto; }
@media(prefers-reduced-motion:reduce) { .home-page .experience { height: auto; } }
@media(max-height:650px) and (max-width:900px) { .home-page .experience { height: auto; } }

/* A second AI book, grouped into the existing feature without another tall section. */
.home-page .spotlight { row-gap: 34px; }
.ai-new-book { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(130px,190px) minmax(0,1fr); align-items: center; gap: clamp(24px,4vw,60px); padding: clamp(22px,3vw,38px); border: 1px solid #fff; border-radius: 28px; background: linear-gradient(115deg,#eefaff9c,#fffffff0 40%,#fff2f6a6); box-shadow: var(--glass-shadow); }
.ai-new-cover { display: block; transition: transform .35s; border-radius: 3px; }
.ai-new-cover img { width: 100%; height: auto; object-fit: contain; box-shadow: 10px 14px 25px #526b8b25; border-radius: 2px; }
.ai-new-cover:hover { transform: translateY(-4px); }
.ai-new-copy { min-width: 0; }
.ai-new-copy .eyebrow { color: #a3373e; font-size: 11px; letter-spacing: .12em; margin-bottom: 13px; }
.ai-new-copy h3 { font-family: var(--serif); color: #263550; font-size: clamp(30px,3.4vw,46px); font-weight: 500; line-height: 1.05; }
.ai-new-subtitle { margin-top: 10px; color: #50638b; font-size: 16px; }
.ai-new-description { max-width: 690px; margin-top: 16px; color: #576279; font-size: 15px; line-height: 1.8; }
.ai-new-copy .button { margin-top: 22px; }
@media(max-width:640px) {
  .ai-new-book { grid-template-columns: 95px minmax(0,1fr); gap: 10px 18px; padding: 23px 18px; border-radius: 24px; }
  .ai-new-cover { grid-column: 1; grid-row: 1 / 4; }
  .ai-new-copy { display: contents; }
  .ai-new-copy .eyebrow { grid-column: 2; grid-row: 1; font-size: 9px; margin: 0; }
  .ai-new-copy h3 { grid-column: 2; grid-row: 2; font-size: 29px; }
  .ai-new-subtitle { grid-column: 2; grid-row: 3; margin: 0; font-size: 14px; }
  .ai-new-description { grid-column: 1 / -1; grid-row: 4; margin-top: 8px; font-size: 14px; line-height: 1.7; }
  .ai-new-copy .button { grid-column: 1 / -1; grid-row: 5; justify-self: start; margin-top: 8px; font-size: 12px; padding: 12px 13px; gap: 12px; }
}
.motion-off .ai-new-cover:hover { transform: none; }
@media(prefers-reduced-motion:reduce) { .ai-new-cover { transition: none; } .ai-new-cover:hover { transform: none; } }
