/* PERSONNALISATION : couleurs, polices et dimensions principales. */
:root {
  --ink: #060605;
  --paper: #f3f0e7;
  --stone: #b8b9b0;
  --muted: #77776f;
  --line: rgba(6, 6, 5, .26);
  --display: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --body: 'Work Sans', Arial, sans-serif;
  --content-width: 1080px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-weight: 400; font-size: 14px; -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button { border-radius: 0; }
a { color: inherit; text-decoration: none; }
button:disabled { cursor: not-allowed; opacity: .45; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
input:focus-visible, textarea:focus-visible { outline: none; border-bottom-color: var(--ink); box-shadow: 0 1px var(--ink); }
::selection { background: #aaa99e; color: #060605; }
h1, h2, h3, p { margin: 0; font-weight: 400; }
h1, h2, h3 { font-family: var(--display); }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px; background: var(--paper); color: var(--ink); }
.skip-link:focus { top: 12px; }
.site-header { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 36px; background: var(--ink); color: var(--paper); border-bottom: 1px solid #262622; }
.brand { font-family: var(--display); font-size: 20px; letter-spacing: -.3px; }
.brand em { font-style: normal; font-size: 12px; opacity: .5; margin-left: 2px; }
.site-nav { display: flex; gap: 32px; align-items: center; }
.site-nav a { text-transform: uppercase; font-size: 10px; letter-spacing: 1.7px; opacity: .8; transition: opacity .2s; }
.site-nav a:hover, .site-nav a[aria-current="page"] { opacity: 1; }
.cart-link { position: relative; display: flex; align-items: center; gap: 6px; padding: 10px; }
.cart-link svg { width: 18px; height: 18px; }
.cart-count { font-size: 9px; position: absolute; top: 1px; right: 1px; min-width: 13px; text-align: center; background: #3e3e38; }
.mobile-toggle { display: none; border: none; color: var(--paper); background: transparent; padding: 10px; font-size: 11px; }
.container { width: min(var(--content-width), calc(100% - 96px)); margin: 0 auto; }
.eyebrow { font-size: 12px; line-height: 1.7; text-transform: uppercase; }
.page-hero { padding-top: 108px; padding-bottom: 80px; }
.page-hero h1 { margin-top: 22px; font-size: clamp(54px, 7.3vw, 100px); line-height: .96; max-width: 960px; letter-spacing: -.02em; }
.page-hero .lede { margin-top: 36px; max-width: 610px; font-size: 18px; line-height: 1.6; }
.site-footer { border-top: 1px solid var(--line); padding: 38px 0; margin-top: 64px; }
.footer-inner { display: flex; justify-content: space-between; gap: 20px; text-transform: uppercase; font-size: 9px; letter-spacing: 1px; line-height: 1.7; }
.collection-group { margin: 0 0 70px; }
.group-heading { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 25px; border-bottom: 1px solid var(--ink); }
.group-heading h2 { font-size: 32px; }
.group-heading span { font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; }
.edition-name { font-family: var(--display); font-size: clamp(26px, 2.7vw, 38px); }
.edition-description { color: var(--muted); font-size: 12px; line-height: 1.65; }
.edition-price { text-align: right; font-size: 12px; white-space: nowrap; }
.edition-arrow { font-size: 17px; transition: transform .25s; }
.edition-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; padding-top: 28px; }
.edition-card { display: flex; flex-direction: column; min-width: 0; }
.edition-art { display: block; width: 100%; aspect-ratio: 1; border: 1px solid rgba(6,6,5,.16); overflow: hidden; margin-bottom: 20px; background: #fff; }
.edition-art img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.edition-card:hover .edition-art img { transform: scale(1.05); }
.edition-card .edition-name { font-size: clamp(26px,2.5vw,35px); line-height: 1.1; }
.edition-card .edition-description { margin-top: 12px; flex: 1; }
.edition-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }
.edition-card:hover .edition-arrow { transform: translate(3px,-3px); }
.product-visual { width: 100%; max-width: 280px; margin: -20px 0 35px; }
.product-visual img { display: block; width: 100%; height: auto; border: 1px solid rgba(6,6,5,.1); }
.product-preview { position: sticky; top: 24px; }
.product-page { background: var(--stone); min-height: calc(100svh - 64px); padding: 55px 0 60px; }
.product-container { width: min(1150px, calc(100% - 96px)); margin: 0 auto; }
.back-link { display: inline-flex; gap: 12px; align-items: center; margin-bottom: 58px; font-weight: 500; font-size: 14px; }
.product-layout { display: grid; grid-template-columns: minmax(270px, .8fr) minmax(0, 1.5fr); gap: 64px; align-items: start; }
.product-info h1 { font-size: clamp(60px, 7.5vw, 104px); line-height: .95; letter-spacing: -.025em; margin: 24px 0 28px; }
.product-description { font-size: 18px; line-height: 1.7; }
.product-price { font-size: 20px; margin: 35px 0 55px; }
.personalization label { display: block; font-size: 12px; text-transform: uppercase; margin-top: 6px; }
.personalization input, .personalization textarea { display: block; width: 100%; background: transparent; border: 0; border-bottom: 1px solid #65665e; padding: 22px 0 12px; border-radius: 0; color: var(--ink); font-size: 14px; }
.personalization textarea { height: 116px; min-height: 100px; resize: vertical; line-height: 1.5; }
.personalization input::placeholder, .personalization textarea::placeholder { color: #6e6e67; opacity: 1; }
.certificate { background: var(--paper); border: 1px solid #a4a59c; padding: 38px 36px 45px; min-height: 485px; display: flex; flex-direction: column; position: relative; }
.certificate-header { display: flex; justify-content: space-between; gap: 14px; font-size: 9px; letter-spacing: 1.8px; text-transform: uppercase; border-bottom: 1px solid #c8c5bb; padding-bottom: 14px; }
.certificate-main { padding: 70px 0; flex: 1; }
.certificate .eyebrow { font-size: 9px; letter-spacing: 1.9px; }
.certificate h2 { font-size: clamp(38px, 4.5vw, 62px); margin: 12px 0 22px; line-height: 1; overflow-wrap: anywhere; }
.certificate-text { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.recipient-name { font-weight: 500; }
.certificate-message { margin-top: 8px; white-space: pre-wrap; }
.certificate-bottom { border-top: 1px solid #c8c5bb; padding-top: 27px; display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.certificate-details { font-size: 9px; text-transform: uppercase; letter-spacing: 1px; line-height: 1.7; overflow-wrap: anywhere; }
.seal { display: grid; place-items: center; width: 64px; height: 64px; min-width: 64px; border-radius: 50%; border: 1px solid #bbb9ae; color: #aaa89e; font-family: var(--display); font-size: 25px; transition: all .45s; }
.certificate.is-sealed .seal { color: var(--ink); border: 1px solid var(--ink); box-shadow: 0 0 0 4px var(--paper), 0 0 0 5px var(--ink); transform: rotate(-15deg); }
.certificate.is-sealed { animation: seal-press .6s ease; }
@keyframes seal-press { 40% { transform: scale(.993); } }
.product-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.button { display: inline-flex; justify-content: center; align-items: center; text-align: center; min-height: 48px; padding: 14px 24px; background: var(--ink); color: var(--paper); border: 1px solid var(--ink); font-size: 14px; transition: background .2s, color .2s; }
.button:hover:not(:disabled) { background: #292923; }
.button-outline { color: var(--ink); background: transparent; border-color: #6e6f66; }
.button-outline:hover:not(:disabled) { background: var(--paper); }
.disclosure { text-align: center; font-size: 9px; text-transform: uppercase; letter-spacing: .8px; line-height: 1.9; margin-top: 10px; color: #74746b; }
.related { border-top: 1px solid #77786f; margin-top: 100px; padding-top: 30px; }
.related-links { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 20px; font-family: var(--display); font-size: 30px; }
.related-links a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 7px; }
.concept-pillars { background: var(--ink); color: var(--paper); padding: 110px 0; }
.pillar-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 64px; }
.pillar { border-top: 1px solid #35352f; padding-top: 26px; }
.pillar-number { color: #66665d; font-size: 12px; }
.pillar h2 { font-size: 40px; margin: 48px 0 24px; }
.pillar p { color: #aaa99f; font-size: 14px; line-height: 1.8; }
.faq-list { max-width: 100%; }
.faq-item { border-top: 1px solid var(--ink); }
.faq-item:last-child { border-bottom: 1px solid var(--ink); }
.faq-item summary { display: flex; align-items: center; gap: 34px; padding: 28px 0; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-number { font-size: 12px; color: var(--muted); }
.faq-question { font-family: var(--display); font-size: 32px; flex: 1; }
.faq-plus { font-size: 22px; }
.faq-item[open] .faq-plus { transform: rotate(45deg); }
.faq-answer { padding: 0 48px 30px; max-width: 750px; line-height: 1.9; font-size: 15px; color: #57574f; }
.cart-layout { display: grid; grid-template-columns: 1fr 320px; gap: 80px; align-items: start; padding-bottom: 48px; }
.cart-item { border-top: 1px solid var(--ink); padding: 28px 0; display: flex; justify-content: space-between; gap: 25px; }
.cart-item h2 { font-size: 35px; margin-bottom: 12px; }
.cart-item p { line-height: 1.8; font-size: 14px; }
.cart-item .item-price { margin-top: 14px; }
.text-button { background: none; border: 0; border-bottom: 1px solid currentColor; padding: 4px 0; align-self: start; font-size: 12px; }
.cart-summary { border-top: 1px solid var(--ink); padding-top: 26px; }
.cart-summary .total { font-family: var(--display); font-size: 48px; margin: 12px 0 26px; }
.cart-summary .button { width: 100%; }
.cart-summary .text-button { margin-top: 24px; }
.empty-cart { padding-bottom: 40px; }
.empty-cart .empty-symbol { font-family: var(--display); font-size: 100px; line-height: 1; color: #96958a; margin-bottom: 35px; }
.receipt-items { display: grid; gap: 24px; margin-bottom: 50px; }
.receipt-item { border-top: 1px solid var(--line); padding: 28px 0; display: flex; gap: 30px; align-items: center; justify-content: space-between; }
.receipt-item h2 { font-size: 35px; }
.receipt-item p { margin-top: 10px; color: var(--muted); }
.receipt-note { padding: 20px 0; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.8; color: var(--muted); }
.toast { position: fixed; z-index: 80; bottom: 25px; left: 50%; transform: translate(-50%, 20px); opacity: 0; background: var(--ink); border: 1px solid #47473c; color: var(--paper); padding: 14px 22px; pointer-events: none; transition: opacity .25s, transform .25s; max-width: calc(100% - 32px); width: max-content; text-align: center; font-size: 13px; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.not-found { min-height: 60svh; }
.noscript { padding: 40px; }
/* L’expérience de récit occupe un écran. La molette et les flèches changent le chapitre. */
body.story-mode { background: var(--ink); color: var(--paper); overflow: hidden; }
.story { position: fixed; inset: 0; isolation: isolate; height: 100svh; overflow: hidden; background: #03050b; }
.void-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; opacity: 1; }
.void-shade { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 55% 45%,rgba(3,5,11,.02),rgba(3,5,11,.15) 65%,rgba(3,5,11,.35)); }
.word-field { position: absolute; inset: 0; pointer-events: none; z-index: -1; opacity: .75; transition: opacity 1s; }
.word-field span { position: absolute; font-size: 11px; color: #b6b6ac; transform: rotate(var(--rotate)); animation: word-float 15s ease-in-out infinite alternate; animation-delay: var(--delay); }
.word-field span:nth-child(1) { left: 8%; top: 53%; }
.word-field span:nth-child(2) { left: 17%; top: 36%; }
.word-field span:nth-child(3) { left: 26%; top: 24%; }
.word-field span:nth-child(4) { left: 35%; top: 17%; }
.word-field span:nth-child(5) { left: 44%; top: 14%; }
.word-field span:nth-child(6) { left: 53%; top: 17%; }
.word-field span:nth-child(7) { left: 62%; top: 24%; }
.word-field span:nth-child(8) { left: 71%; top: 36%; }
.word-field span:nth-child(9) { left: 80%; top: 53%; }
@keyframes word-float { to { translate: 8px -9px; } }
.story-menu-toggle { position: absolute; top: 24px; left: 28px; width: 52px; height: 52px; border: 1px solid #a7a79c; border-radius: 50%; color: var(--paper); background: rgba(3,5,11,.25); font-family: var(--display); font-size: 22px; z-index: 12; }
.story-menu-toggle::after { content: 'menu'; position: absolute; left: 64px; top: 18px; font-family: var(--body); font-size: 11px; color: #b5b5aa; }
.story-menu { position: absolute; left: 28px; top: 95px; background: rgba(6,6,5,.96); padding: 24px; border: 1px solid #36362e; min-width: 160px; z-index: 10; }
.story-menu a { display: block; padding: 9px 0; font-size: 13px; color: #babaae; }
.story-menu[hidden], [hidden] { display: none !important; }
.story-intro { position: absolute; inset: 0; }
.intro-enter { background: none; border: 0; padding: 0; color: var(--paper); position: absolute; top: 24%; left: 9%; text-align: left; width: min(480px,72%); }
.intro-enter h1 { font-family: var(--display); font-size: clamp(40px, 4.1vw, 60px); line-height: 1.02; white-space: pre-line; letter-spacing: -.02em; }
.intro-enter .entry-hint { display: block; font-size: 11px; color: #8d8d82; margin-top: 30px; opacity: 0; transition: opacity .5s; }
.intro-enter:hover .entry-hint, .intro-enter:focus-visible .entry-hint { opacity: 1; }
.sound-choice { position: absolute; bottom: 31px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; align-items: center; white-space: nowrap; color: #9f9f94; font-size: 13px; }
.sound-choice button { border: none; background: transparent; color: inherit; padding: 8px 0; }
.sound-choice button:hover { color: var(--paper); }
.chapter-register { position: absolute; left: 32px; top: 39%; display: grid; gap: 10px; width: 170px; }
.chapter-register button { background: none; border: 0; text-align: left; padding: 0; color: #48483f; font-size: 13px; transition: color .5s; }
.chapter-register button.is-active { color: #b5b5aa; }
.chapter-register button:hover { color: var(--paper); }
.story-scene { position: absolute; left: 19%; top: 50%; width: 60%; transform: translateY(-50%); }
.story-copy { font-family: var(--display); font-size: clamp(40px, 4.9vw, 74px); line-height: 1.04; letter-spacing: -.025em; }
.story-line { display: block; animation: line-reveal .8s cubic-bezier(.22,1,.36,1) both; animation-delay: var(--delay); }
.story-line + .story-line { margin-top: 20px; }
@keyframes line-reveal { from { opacity: 0; transform: translateY(20px); filter: blur(3px); } to { opacity: 1; transform: none; filter: blur(0); } }
.story-scene.dense .story-copy { font-size: clamp(30px, 3.7vw, 56px); }
.story-scene.dense .story-line + .story-line { margin-top: 12px; }
.story-note { font-family: var(--body); font-size: 12px; color: #aaa99e; line-height: 1.9; white-space: pre-line; max-width: 430px; margin: 30px 0 0 auto; }
.story-input { width: 100%; border: 0; border-bottom: 1px solid #77776b; background: transparent; color: var(--paper); font-family: var(--display); font-size: clamp(32px, 4vw, 60px); margin-top: 30px; padding: 6px 0 16px; border-radius: 0; }
.story-input::placeholder { color: #53534a; }
.story-input:focus-visible { border-color: var(--paper); box-shadow: 0 1px var(--paper); }
.story-progress { position: absolute; right: 27px; bottom: 28px; border: none; background: transparent; color: var(--paper); width: 54px; height: 54px; padding: 0; font-family: var(--display); font-size: 20px; }
.story-progress svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.story-progress circle { fill: none; stroke-width: .8; }
.progress-track { stroke: #282822; }
.progress-value { stroke: #b2b1a3; stroke-dasharray: 1; transition: stroke-dashoffset .7s; }
.story-progress span { position: absolute; inset: 0; display: grid; place-items: center; }
.story-controls { position: absolute; bottom: 29px; left: 32px; display: flex; align-items: center; gap: 20px; color: #838376; font-size: 10px; }
.story-controls button { color: #aaa99c; background: none; border: none; padding: 8px; font-size: 12px; }
.story-position { font-size: 10px; letter-spacing: 1px; }
.story-sound { position: absolute; left: 50%; transform: translateX(-50%); bottom: 33px; background: none; border: none; color: #77776a; font-size: 11px; }
.story .peripheral-price { position: absolute; font-size: 12px; color: #292922; pointer-events: none; }
.story .peripheral-price.p1 { left: 13%; bottom: 17%; }
.story .peripheral-price.p2 { right: 11%; top: 18%; }
.story .peripheral-price.p3 { right: 18%; bottom: 28%; }
/* Adaptation tablette et mobile. */
@media (min-width: 1550px) { .story-scene { max-width: 1000px; } }
@media (max-width: 1050px) {
  .product-layout { gap: 38px; grid-template-columns: .85fr 1.3fr; }
  .edition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
  .certificate { padding: 28px; }
  .certificate-main { padding: 55px 0; }
  .pillar-grid { gap: 35px; }
  .cart-layout { gap: 40px; grid-template-columns: 1fr 280px; }
  .chapter-register { left: 24px; width: 140px; }
  .chapter-register button { font-size: 11px; }
  .story-scene { left: 21%; width: 70%; }
}
@media (max-width: 720px) {
  .site-header { padding: 0 20px; height: 60px; }
  .mobile-toggle { display: block; margin-left: auto; margin-right: 18px; }
  .site-nav { display: none; position: absolute; top: 60px; left: 0; right: 0; background: var(--ink); padding: 30px 24px; z-index: 50; border-bottom: 1px solid #3e3e36; }
  .site-nav.is-open { display: flex; justify-content: space-between; gap: 20px; }
  .site-nav a { font-size: 9px; }
  .container, .product-container { width: calc(100% - 40px); }
  .page-hero { padding-top: 64px; padding-bottom: 60px; }
  .page-hero h1 { font-size: clamp(48px, 13.2vw, 72px); max-width: 100%; }
  .page-hero .lede { font-size: 15px; line-height: 1.7; margin-top: 26px; }
  .group-heading { gap: 20px; padding-bottom: 22px; }
  .group-heading h2 { font-size: 26px; }
  .group-heading span { font-size: 7px; letter-spacing: 1px; white-space: nowrap; }
  .collection-group { margin-bottom: 55px; }
  .edition-name { font-size: 29px; }
  .edition-description { font-size: 11px; }
  .edition-price { font-size: 11px; }
  .footer-inner { flex-direction: column; font-size: 8px; gap: 10px; }
  .site-footer { margin-top: 45px; padding: 28px 0; }
  .product-page { padding-top: 32px; }
  .back-link { margin-bottom: 40px; font-size: 12px; }
  .product-layout { grid-template-columns: 1fr; gap: 38px; }
  .product-preview { position: static; }
  .product-visual { max-width: 210px; margin-top: 0; }
  .edition-grid { gap: 28px 16px; padding-top: 22px; }
  .edition-art { margin-bottom: 16px; }
  .edition-card .edition-name { font-size: clamp(25px,5.8vw,34px); }
  .edition-card .edition-description { font-size: 11px; margin-top: 10px; }
  .edition-bottom { margin-top: 16px; padding-top: 12px; }
  .product-info h1 { font-size: 74px; margin-top: 18px; }
  .product-description { font-size: 16px; }
  .product-price { margin: 24px 0 32px; }
  .personalization textarea { height: 90px; min-height: 90px; }
  .certificate { padding: 24px 22px 30px; min-height: 400px; }
  .certificate-header { font-size: 7px; letter-spacing: 1px; }
  .certificate-main { padding: 45px 0; }
  .certificate h2 { font-size: 48px; }
  .certificate-text { font-size: 12px; line-height: 1.7; }
  .certificate .eyebrow { font-size: 8px; letter-spacing: 1px; }
  .certificate-details { font-size: 8px; }
  .seal { width: 52px; height: 52px; min-width: 52px; font-size: 23px; }
  .product-actions { gap: 8px; }
  .product-actions .button { padding: 14px 8px; font-size: 11px; }
  .disclosure { font-size: 7px; }
  .related { margin-top: 60px; }
  .related-links { gap: 20px; font-size: 26px; }
  .concept-pillars { padding: 60px 0; }
  .pillar-grid { grid-template-columns: 1fr; gap: 48px; }
  .pillar h2 { margin-top: 25px; font-size: 36px; }
  .faq-item summary { gap: 15px; padding: 23px 0; }
  .faq-question { font-size: 27px; }
  .faq-number { font-size: 10px; }
  .faq-answer { padding: 0 26px 25px; font-size: 14px; }
  .cart-layout { grid-template-columns: 1fr; gap: 30px; }
  .cart-item h2 { font-size: 32px; }
  .cart-item p { font-size: 12px; }
  .receipt-item { flex-direction: column; align-items: start; gap: 20px; }
  .story-menu-toggle { top: 18px; left: 20px; width: 42px; height: 42px; }
  .story-menu { left: 20px; top: 78px; }
  .intro-enter { top: 29%; left: 9%; width: 82%; }
  .intro-enter h1 { font-size: clamp(38px, 10.6vw, 58px); }
  .intro-enter .entry-hint { opacity: 1; }
  .sound-choice { font-size: 12px; bottom: 26px; }
  .word-field span { font-size: 9px; }
  .chapter-register { display: none; }
  .story-scene { left: 9%; width: 82%; top: 46%; }
  .story-copy { font-size: clamp(34px, 9.5vw, 52px); line-height: 1.08; }
  .story-line + .story-line { margin-top: 17px; }
  .story-scene.dense .story-copy { font-size: clamp(28px, 7.5vw, 40px); }
  .story-scene.dense .story-line + .story-line { margin-top: 10px; }
  .story-note { font-size: 10px; margin-top: 26px; max-width: 90%; }
  .story-scene.dense .story-note { margin-top: 18px; font-size: 9px; }
  .story-controls { left: 17px; bottom: 26px; gap: 7px; }
  .story-controls .scroll-hint { display: none; }
  .story-progress { bottom: 22px; right: 18px; width: 45px; height: 45px; }
  .story-sound { bottom: 35px; font-size: 9px; }
  .story-input { font-size: 35px; }
}
@media (max-height: 620px) {
  .story-scene { top: 49%; }
  .story-copy { font-size: clamp(26px, 4vw, 49px); }
  .story-line + .story-line { margin-top: 10px; }
  .story-scene.dense .story-copy { font-size: clamp(24px, 3vw, 38px); }
  .story-note { font-size: 9px; margin-top: 15px; }
  .intro-enter h1 { font-size: 40px; }
  .chapter-register { top: 32%; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .void-canvas { opacity: .85; }
}
