/* KAMStoryTime v2 — couche visuelle colorée / immersive (CSS pur, sans WebGL) — STAGING LOCAL */
:root{--pink:#ff5d8f;--teal:#17c3b2;--sun:#ffc94d;--glass:rgba(255,255,255,.62);--glass-b:rgba(255,255,255,.7)}
body{position:relative;background:linear-gradient(180deg,#fff8e8 0%,#fff1f4 38%,#eefaf7 70%,#fff8e8 100%)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:100;border-radius:0 0 12px 0}.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:8px}
/* Aurora */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;width:46vmax;height:46vmax;border-radius:50%;filter:blur(90px);opacity:.34;animation:drift 26s ease-in-out infinite alternate}
.aurora i:nth-child(1){background:var(--pink);left:-12vmax;top:-10vmax}
.aurora i:nth-child(2){background:var(--sky);right:-14vmax;top:18vh;animation-duration:32s}
.aurora i:nth-child(3){background:var(--sun);left:22vw;bottom:-22vmax;animation-duration:38s}
@keyframes drift{to{transform:translate3d(6vw,5vh,0) scale(1.15)}}
/* Header */
.site-header{background:rgba(255,248,232,.78)}
.lang-switch{font-size:.8rem;font-weight:850;border:1px solid var(--line);border-radius:999px;padding:.45rem .85rem;background:var(--glass)}.lang-switch:hover{background:var(--ink);color:#fff}
.mobile-menu .lang-switch{justify-self:start;margin:.4rem .7rem}
.desktop-nav{gap:.95rem}
/* Titres : dégradé vivant */
h1 em,h2 em{background:linear-gradient(90deg,var(--coral),var(--pink),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.button{background:linear-gradient(135deg,#1a2238,#3b3f8f);box-shadow:0 10px 28px rgba(60,63,143,.28)}.button:hover{box-shadow:0 14px 34px rgba(60,63,143,.38)}
.button-ghost,.button-light{box-shadow:none}.button-ghost{background:var(--glass)}.button-light{background:#fff}
/* Hero couvertures */
.hero-stage{--mx:0;--my:0;perspective:1200px}
.hero-cover{position:absolute;display:block;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(12,18,34,.28);transition:transform .25s ease-out}
.hero-cover img{display:block;width:100%;height:auto}
.hero-cover.hc-1{width:44%;left:2%;top:10%;transform:rotate(-8deg) translate3d(calc(var(--mx)*-18px),calc(var(--my)*-14px),0);animation:float 7s ease-in-out infinite}
.hero-cover.hc-2{width:46%;right:0;top:26%;transform:rotate(7deg) translate3d(calc(var(--mx)*24px),calc(var(--my)*16px),0);animation:float 8s ease-in-out -2s infinite;z-index:2}
.hero-cover.hc-3{width:42%;left:26%;bottom:0;transform:rotate(-2deg) translate3d(calc(var(--mx)*-10px),calc(var(--my)*20px),0);animation:float 9s ease-in-out -4s infinite;z-index:3}
@keyframes float{50%{margin-top:-14px}}
.orbit{animation:spin 60s linear infinite}.orbit-b{animation-duration:90s;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}
/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
/* Cartes */
.age-band,.value-card,.shop-card,.experience-grid article{background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--glass-b);transition:transform .25s,box-shadow .25s}
.age-band:hover,.shop-card:hover,.experience-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.age-band:nth-child(1)>span{color:var(--teal)}.age-band:nth-child(2)>span{color:var(--sun)}.age-band:nth-child(3)>span{color:var(--violet)}
.mini-timeline a{background:linear-gradient(160deg,#1c2a50,#5268b6)}
.mini-timeline a[data-accent="coral"]{background:linear-gradient(160deg,#7f392f,#f07a64)}.mini-timeline a[data-accent="violet"]{background:linear-gradient(160deg,#302556,#8b78ff)}.mini-timeline a[data-accent="emerald"]{background:linear-gradient(160deg,#173f3a,#60b98a)}.mini-timeline a[data-accent="sky"]{background:linear-gradient(160deg,#263b5d,#78b8e0)}.mini-timeline a[data-accent="amber"]{background:linear-gradient(160deg,#54381f,#d19b50)}
.book-cover.has-image:hover{transform:translateY(-8px) rotate(-1.2deg) scale(1.02);box-shadow:0 30px 70px rgba(12,18,34,.28)}
.tilt{transform-style:preserve-3d;animation:float 8s ease-in-out infinite}
.pill{display:inline-block;padding:.3rem .7rem;border-radius:999px;background:var(--sun);color:var(--ink);font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.soft-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.soft-trio>div{padding:1.1rem;border-radius:20px;background:var(--glass);border:1px solid var(--glass-b)}.soft-trio p{font-size:.88rem;margin:.3rem 0 0}
/* Plateformes */
.platform-grid{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.platform{position:relative;display:flex;flex-direction:column;gap:.15rem;height:100%;padding:1.1rem 1.1rem 1.1rem 1.4rem;border-radius:20px;background:var(--glass);border:1px solid var(--glass-b);overflow:hidden;transition:transform .25s,box-shadow .25s}
.platform i{position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--pc)}
.platform strong{font-size:1rem}.platform span{font-size:.8rem;color:#5b6177}.platform em{margin-top:.5rem;font-style:normal;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8a6a10}
.platform:hover,.platform:focus-visible{transform:translateY(-4px);box-shadow:0 18px 40px rgba(12,18,34,.14)}
.platform.soon{cursor:not-allowed}.platform.soon:hover i{width:100%;opacity:.14;transition:width .3s,opacity .3s}
.platform.live{cursor:pointer}.platform.live:hover i{width:100%;opacity:.16;transition:width .3s}
.aff-note{margin-top:1.2rem;font-size:.9rem}.aff-note a{text-decoration:underline;text-underline-offset:4px}
.where-panel,.alert-panel,.parents-tip{border-radius:36px}
.alert-panel{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background:linear-gradient(135deg,#ffe9f0,#eaf7ff);border:1px solid var(--glass-b)}
.parents-tip{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center;border-top:1px solid var(--line)}
/* Filtres */
.filters{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:flex-end;margin-bottom:1.2rem;padding:1.2rem;border-radius:24px;background:var(--glass);border:1px solid var(--glass-b)}
.filters label,.f-group{display:grid;gap:.3rem;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#5b6177}
.f-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.f-group>span{width:100%}
.filters input,.filters select{padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:170px;text-transform:none;letter-spacing:0;font-weight:500}
.f-group button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .9rem;cursor:pointer;font-weight:700}.f-group button.active{background:var(--ink);color:#fff}
.f-count{font-size:.9rem}.f-none{padding:2rem;text-align:center}
[hidden]{display:none!important}
/* Boutique / pages info */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.shop-card{padding:1.6rem;border-radius:24px;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.shop-card p{margin:0}
.nl-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.promise-list{display:grid;gap:.8rem}.promise-list>div{padding:1.1rem 1.3rem;border-radius:20px;background:var(--glass);border:1px solid var(--glass-b)}.promise-list p{margin:.2rem 0 0}
.prose-blocks{display:grid;gap:2.2rem;max-width:860px}.prose-blocks>div span{font:italic 2rem Georgia;color:var(--coral)}.prose-blocks h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.draft-flag{display:inline-block;padding:.6rem 1rem;border-radius:14px;background:#fff1c9;border:1px solid #f0d27a;font-weight:700;font-size:.9rem}
/* Formulaires */
.nl-form{display:grid;gap:.9rem;padding:1.6rem;background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:0 14px 40px rgba(12,18,34,.08)}
.nl-form label{display:grid;gap:.35rem;font-weight:750;font-size:.9rem}.nl-form input[type=email],.nl-form input[type=text],.nl-form select{padding:.85rem;border:1px solid var(--line);border-radius:14px;background:#fffdf8;width:100%}
.nl-form .nl-consent,.contact-form .nl-consent{display:flex;gap:.7rem;align-items:flex-start;font-weight:500;font-size:.82rem;line-height:1.4}.nl-consent input{margin-top:.25rem;width:18px;height:18px}
.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.nl-msg{margin:0;font-size:.88rem;min-height:1.2em}.nl-msg.pending{color:#8a6a10}.nl-msg.ok{color:#1c7a4f}.nl-msg.err{color:#b3261e}
.nl-form.compact{box-shadow:none}
/* Chatbot */
.chatbot{position:fixed;right:1rem;bottom:1rem;z-index:60}
.chat-fab{border:0;border-radius:999px;padding:.9rem 1.3rem;font-weight:850;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 14px 34px rgba(130,109,255,.45);transition:transform .2s}.chat-fab:hover{transform:translateY(-3px)}
.chat-panel{position:absolute;right:0;bottom:calc(100% + .7rem);width:min(380px,calc(100vw - 2rem));max-height:min(620px,78vh);display:flex;flex-direction:column;background:#fff;border-radius:26px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(12,18,34,.28);overflow:hidden}
.chat-panel header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;color:#fff;background:linear-gradient(135deg,var(--ink),#3b3f8f)}.chat-panel header button{border:0;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1}
.chat-log{padding:1rem;overflow:auto;display:flex;flex-direction:column;gap:.6rem;flex:1;min-height:120px}
.msg{padding:.7rem .9rem;border-radius:16px;font-size:.9rem;max-width:92%}.msg.bot{background:#f3efe2;border-bottom-left-radius:4px}.msg.user{background:var(--violet);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg small{display:block;margin:.6rem 0 .3rem;color:#6b7080}
.chat-book{display:flex;flex-direction:column;gap:.15rem;margin-top:.5rem;padding:.7rem .8rem;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:.75rem;color:#6b7080}.chat-book strong{font:500 1.05rem Georgia,serif;color:var(--ink)}.chat-book span{font-weight:850;color:var(--violet)}
.chat-link{font-weight:850;text-decoration:underline}
.chat-actions{padding:.4rem 1rem .6rem;border-top:1px solid var(--line);max-height:190px;overflow:auto}.chat-actions p{margin:.3rem 0;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#6b7080}
.chat-chips{display:grid;grid-template-columns:repeat(9,1fr);gap:.3rem}.chat-chips button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.4rem 0;cursor:pointer;font-weight:800}.chat-chips button:hover{background:var(--ink);color:#fff}
.chat-faq{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.chat-faq button{border:1px solid var(--line);background:#fff7e0;border-radius:999px;padding:.4rem .75rem;font-size:.78rem;cursor:pointer}
.chat-disc{margin:0;padding:.5rem 1rem .8rem;font-size:.68rem;color:#7b7f8b}
.footer-note{font-size:.78rem;color:#6b7080}
/* Responsive */
@media(max-width:980px){.platform-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(2,1fr)}.alert-panel,.nl-grid,.parents-tip{grid-template-columns:1fr}.soft-trio{grid-template-columns:1fr}.hero-stage{min-height:480px}}
@media(max-width:640px){.platform-grid,.shop-grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.filters input,.filters select{width:100%}.chat-chips{grid-template-columns:repeat(6,1fr)}.hero-stage{min-height:400px}.chat-fab{padding:.8rem 1rem;font-size:.85rem}.aurora i{opacity:.26}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ===== 3D / 4D (WebGL + CSS 3D) ===== */
.hero3d{position:absolute;inset:-6% -8%;z-index:4;pointer-events:none;opacity:0;transition:opacity 1s}.hero3d.on{opacity:1}.hero3d canvas{width:100%;height:100%;display:block}
.hero-stage.has-3d .hero-cover{opacity:0;pointer-events:none;animation:none}
.hero-stage{min-height:600px}
.card3d{transform-style:preserve-3d;will-change:transform}
.book-card .book-cover{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.book-card.tilting .book-cover{transition:none;box-shadow:0 40px 80px rgba(12,18,34,.35)}
.scroll-depth{will-change:transform}
.wn-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
.wn-book{perspective:1400px;display:grid;place-items:center}
.wn-book img{width:min(360px,80%);height:auto;border-radius:6px 14px 14px 6px;box-shadow:-18px 24px 60px rgba(12,18,34,.45);transform:rotateY(-18deg) rotateX(4deg);transition:transform .6s cubic-bezier(.2,.8,.2,1);animation:wnfloat 8s ease-in-out infinite}
.wn-book:hover img{transform:rotateY(-4deg) rotateX(0) scale(1.03)}
@keyframes wnfloat{50%{translate:0 -12px}}
.author-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:4rem;align-items:center}
.author-photo{border-radius:34px;overflow:hidden;box-shadow:0 30px 70px rgba(12,18,34,.3);background:#000;max-width:420px}.author-photo img{display:block;width:100%;height:auto}
.author-photo.mono{display:grid;place-items:center;aspect-ratio:.86;background:radial-gradient(circle at 30% 30%,#f6d88c,#d2735e 50%,#2e284f);color:#fff;font:italic 8rem Georgia}
.kam-collection{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}
.merch{position:relative;aspect-ratio:1;border-radius:26px;display:grid;place-items:center;background:linear-gradient(145deg,#1a2238,#3b3f8f);color:#fff;overflow:hidden;perspective:800px}
.merch:nth-child(2){background:linear-gradient(145deg,#8a3d32,#f17c64)}.merch:nth-child(3){background:linear-gradient(145deg,#173f3a,#60b98a)}.merch:nth-child(4){background:linear-gradient(145deg,#54381f,#d19b50)}
.merch .m-ico{font:italic 4.2rem Georgia;transform:rotateY(0);transition:transform .6s;text-shadow:0 8px 24px rgba(0,0,0,.3)}.merch:hover .m-ico{transform:rotateY(360deg)}
.merch figcaption{position:absolute;left:1rem;right:1rem;bottom:.9rem;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:.85rem}
.beads{display:inline-flex;gap:.3rem}.beads i{width:12px;height:12px;border-radius:50%;display:block}.beads i:nth-child(1){background:#2e9e5b}.beads i:nth-child(2){background:#d6352b}.beads i:nth-child(3){background:#f2c230}
.aff-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.aff-card{padding:1.5rem;border-radius:24px;background:var(--glass);border:1px solid var(--glass-b);display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.aff-card p{margin:0;font-size:.92rem}.aff-card .button{margin-top:auto}
.tool-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.tool-row a{padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;font-size:.8rem;font-weight:700;background:#fff}.tool-row a:hover{background:var(--ink);color:#fff}
.brand-note{padding:1.4rem;border-radius:22px;background:#fff1c9;border:1px solid #f0d27a;margin-top:1.5rem}.brand-note p{margin:.3rem 0 0;font-size:.92rem}
@media(max-width:980px){.wn-hero,.author-wrap{grid-template-columns:1fr}.kam-collection{grid-template-columns:repeat(2,1fr)}.aff-cats{grid-template-columns:1fr 1fr}.hero3d{inset:-2% -4%}}
@media(max-width:640px){.aff-cats{grid-template-columns:1fr}.hero-stage{min-height:460px}}
@media(prefers-reduced-motion:reduce){.hero3d{display:none}.wn-book img{animation:none}}

/* Livre 3D WHAT NEXT (sans bordure) */
.wn-book{perspective:none}
.book3d{position:relative;width:min(440px,100%);aspect-ratio:.8;margin:auto}
.book3d canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s;cursor:grab}
.book3d.on canvas{opacity:1}.book3d.on .book3d-fallback{opacity:0}
.book3d-fallback{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .6s}
.book3d-fallback img{width:62%;height:auto;border-radius:4px 10px 10px 4px;box-shadow:-14px 20px 50px rgba(12,18,34,.45)}
.book3d::after{content:"";position:absolute;left:12%;right:12%;bottom:2%;height:6%;background:radial-gradient(ellipse,rgba(12,18,34,.35),transparent 70%);filter:blur(6px);z-index:-1}
.wn-buy{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.wn-buy .platform.soon{padding:.7rem 1rem;border-radius:999px;opacity:.6}.button.ghost{background:transparent;border:1px solid currentColor}
.wn-buy{align-items:stretch}.wn-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:150px;text-align:center;font-size:.85rem;text-decoration:none;color:inherit}.wn-card img{width:100%;height:auto;transition:transform .3s}.wn-card:hover img{transform:translateY(-4px) scale(1.03)}.wn-card.soon{opacity:.6}.adult-badge{display:inline-block;padding:.5rem .8rem;border-radius:.6rem;border:1px solid currentColor;font-size:.9rem}.footer-adult{font-size:.85rem;opacity:.85;margin-top:.8rem}
.wn-card>a{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;color:inherit}.wn-also{font-size:.8rem;text-decoration:underline}

.wn-meta{font-size:.72rem;opacity:.7;text-align:center}.wn-card{width:190px}


/* ===== v2.3 — effets (Shader Gradient / Liquid Logo / Liquid Glass) ===== */
.hero{position:relative}
.fx-shader{position:absolute;inset:-6% -4%;z-index:0;opacity:.42;pointer-events:none;border-radius:32px;overflow:hidden;mask-image:radial-gradient(ellipse at 60% 50%,#000 35%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at 60% 50%,#000 35%,transparent 78%)}
.hero>.hero-copy,.hero>.hero-stage{position:relative;z-index:1}
.brand-mark{position:relative;overflow:hidden;isolation:isolate}
.brand-mark>b{position:relative;z-index:2;font:inherit}
.brand-mark>astro-island{position:absolute;inset:0;z-index:1;display:block}
@media (prefers-reduced-motion:reduce){.fx-shader{display:none}}

/* ===== v2.4 — Bibliothèque magique 3D ===== */
.lib-intro{text-align:center;padding:clamp(28px,6vw,64px) 16px 18px;max-width:760px;margin:0 auto}
.lib-intro h1{margin:.2em 0}
.lib-stage{position:relative;width:100%;height:78vh;min-height:520px;border-radius:28px;overflow:hidden;background:#090d28;box-shadow:0 30px 80px rgba(8,12,40,.45)}
.lib-stage canvas{display:block}
.lib-loading{display:grid;place-items:center}
.lib-sec{display:flex;align-items:center;padding:0 clamp(18px,6vw,80px)}
.lib-card{max-width:420px;padding:22px 24px;border-radius:24px;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.28);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.lib-card.right{margin-left:auto}
.lib-card.center{margin:0 auto;text-align:center}
.lib-card h2{margin:.25em 0 .4em;font-size:clamp(1.4rem,3vw,2.1rem)}
.lib-card p{margin:0 0 .6em;opacity:.92}
.lib-fallback{max-width:1000px;margin:0 auto;padding:16px}
.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.lib-tile{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;text-decoration:none}
.lib-tile img{width:100%;height:auto;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.lib-num{display:grid;place-items:center;width:100%;aspect-ratio:3/4;border-radius:10px;font:700 3rem Georgia,serif;color:#fff;background:linear-gradient(135deg,#4a5bd8,#14183a)}
@media (max-width:640px){.lib-stage{height:72vh;border-radius:18px}.lib-card{max-width:78vw}}

.lib-why{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 16px;margin:0 0 18px;border-radius:16px;background:#fff3cd;border:1px solid #f0c36d;color:#4a3500}
@media (prefers-reduced-motion:reduce){.fx-shader{display:none}}

/* ===== v2.5 — bibliothèque pleine page (scroll normal, plus de fenêtre noire) ===== */
.lib-scroll{position:relative;height:520vh;width:100vw;margin-left:calc(50% - 50vw);margin-top:8px}
.lib-sticky{position:sticky;top:0;height:100vh;width:100%;overflow:hidden}
.lib-sticky canvas{display:block;width:100%!important;height:100%!important}
.lib-cards{position:absolute;inset:0;pointer-events:none}
.lib-cards .lib-card,.lib-cards a,.lib-cards button{pointer-events:auto}
.lib-cards .lib-sec{height:104vh!important}
.lib-cards .lib-card{margin-top:22vh}

/* ===== v2.6 — maquettes produits KAM ===== */
.merch{display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .3s ease}
.merch:hover{transform:translateY(-6px) rotate(-1.5deg)}
.merch-svg{width:100%;max-width:130px;height:auto;filter:drop-shadow(0 10px 14px rgba(20,24,70,.25))}

.wn-retail{margin:14px 0 4px;line-height:1.7}
.wn-retail a{font-weight:600}

/* characters + logo (2026-10-05) */
.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.2rem;margin-top:1.5rem}
.char-card{margin:0;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);transition:transform .35s ease,box-shadow .35s ease}
.char-card img{display:block;width:100%;height:auto}
.char-card figcaption{padding:.7rem 1rem;display:flex;flex-direction:column;gap:.15rem}
.char-card figcaption span{opacity:.75;font-size:.85rem}
.char-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 18px 40px rgba(0,0,0,.35)}
@media (prefers-reduced-motion:no-preference){.characters.in .char-card{animation:charIn .7s both;animation-delay:calc(var(--i)*70ms)}}
@keyframes charIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
.brand-logo{width:40px;height:40px;border-radius:10px;object-fit:contain;background:#fdfbf4;display:inline-block;flex:none}
.author-portrait.has-photo{padding:0;overflow:hidden}.author-portrait.has-photo img{width:100%;height:100%;object-fit:cover;display:block}

/* hero video (2026-10-05) */
.hero{position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:0}
.hero-video video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,34,.92) 0%,rgba(12,18,34,.72) 42%,rgba(12,18,34,.35) 100%)}
.hero>.hero-copy,.hero>.hero-stage{position:relative;z-index:1}
@media (max-width:760px){.hero-video::after{background:linear-gradient(180deg,rgba(12,18,34,.85),rgba(12,18,34,.7))}}

/* hero video — lisibilité (2026-10-05) */
.hero{border-radius:32px;margin-top:1rem;color:#fff;isolation:isolate}
.hero h1,.hero .eyebrow,.hero-proof,.hero-proof strong{color:#fff}
.hero-copy p{color:rgba(255,255,255,.9)}
.hero-proof span{border-left-color:rgba(255,255,255,.4)}
.hero .button-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.hero .button:not(.button-ghost){background:#fff;color:#0c1222}
.hero .orbit{border-color:rgba(255,255,255,.18)}
.hero-copy{min-width:0}
@media (max-width:980px){.hero{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.hero{border-radius:22px;margin-top:.5rem}.hero h1{font-size:2.6rem;overflow-wrap:anywhere}}

/* lire ensemble (2026-10-05) */
.read-together{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.rt-video{margin:0;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(12,18,34,.28);aspect-ratio:16/9;background:#0c1222}
.rt-video video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.read-together{grid-template-columns:minmax(0,1fr)}}

/* video controls + autoplay fix */
.rt-video{position:relative}
.vid-toggle{position:absolute;right:14px;bottom:14px;z-index:5;width:42px;height:42px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.vid-toggle:hover,.vid-toggle:focus-visible{background:rgba(0,0,0,.8);outline:2px solid #fff}

/* animals */
.animal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem}
.animal-card{margin:0;text-align:center;transition:transform .35s ease}
.animal-card:hover{transform:translateY(-6px) rotate(-1.5deg)}
.animal-card img{width:100%;height:auto;display:block;border-radius:50%;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.animal-card figcaption{margin-top:.6rem;display:flex;flex-direction:column;gap:.1rem}
.animal-card figcaption span{font-size:.85rem;opacity:.75}
@media(max-width:760px){.animal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.animal-card{transition:none}.animal-card:hover{transform:none}}

/* photo galleries */
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.photo-card{margin:0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(40,25,10,.12);transition:transform .35s ease,box-shadow .35s ease}
.photo-card:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 14px 34px rgba(40,25,10,.2)}
.photo-card img{display:block;width:100%;height:auto}
.photo-card figcaption{padding:10px 12px;font-size:.9rem;text-align:center}
.photo-credit{margin-top:14px;font-size:.8rem;opacity:.7;text-align:center}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.photo-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
@media(prefers-reduced-motion:reduce){.photo-card{transition:none}.photo-card:hover{transform:none}}
