/* Hepaly — refonte 2026-09-22 : univers d'album jeunesse, livres 3D, décors SVG animés. */
@font-face{font-family:Fredoka;src:url('/assets/fonts/fredoka.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito.woff2') format('woff2');font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-italic.woff2') format('woff2');font-weight:200 1000;font-style:italic;font-display:swap}
@font-face{font-family:Caveat;src:url('/assets/fonts/caveat.woff2') format('woff2');font-weight:400 700;font-display:swap}
@property --open{syntax:'<angle>';inherits:true;initial-value:0deg}
@property --by{syntax:'<angle>';inherits:true;initial-value:-24deg}
@property --spread{syntax:'<angle>';inherits:true;initial-value:0deg}

:root{
 --cream:#FFF9EF;--paper:#FFFDF8;--ink:#163B35;--ink-2:#1E4B44;--night:#10302B;--green:#2D6A4F;--leaf:#5E9C6E;--mint:#E6EFE0;--sage:#CFE0C3;
 --yellow:#F4C95D;--butter:#FCEFC4;--lavender:#C7B9EF;--lilac:#EEE8FC;--coral:#EB8F76;--peach:#FBE3D9;--sand:#F4EEDF;--sky:#DDEFF0;
 --muted:#4F6259;--line:rgba(22,59,53,.13);--radius:28px;
 --f-display:Fredoka,'Nunito',ui-rounded,system-ui,sans-serif;--f-body:Nunito,ui-rounded,system-ui,-apple-system,'Segoe UI',sans-serif;--f-hand:Caveat,'Segoe Print','Comic Sans MS',cursive;
 --ease-out:cubic-bezier(.2,.8,.2,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);
 --shadow-soft:0 18px 40px -22px rgba(22,59,53,.45);--shadow-pop:0 8px 0 rgba(22,59,53,.08)
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px;-webkit-text-size-adjust:100%}
html,body{overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .23 0 0 0 0 .2 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
body.nav-open,body.lightbox-open{overflow:hidden}
::selection{background:var(--yellow);color:var(--ink)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.06;letter-spacing:-.015em;color:var(--ink)}
h1{font-size:clamp(44px,6vw,86px)}
h2{font-size:clamp(34px,4.3vw,60px);margin-bottom:22px}
h3{font-size:24px;line-height:1.2}
p{margin-bottom:20px}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button,a,summary,input,select{touch-action:manipulation}
button{cursor:pointer;color:inherit}
button:disabled{cursor:not-allowed}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
.icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.16em}
input,select,textarea{border:2px solid rgba(22,59,53,.22);border-radius:14px;padding:13px 15px;max-width:100%;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 5px rgba(244,201,93,.45);outline:none}
input[type=radio],input[type=checkbox]{accent-color:var(--green);width:20px;height:20px;padding:0;flex-shrink:0}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
label{cursor:pointer}
[hidden]{display:none!important}
.section-container{max-width:1260px;margin:0 auto;padding:0 40px}
.section-space{padding:110px 0;position:relative}
.skip-link{position:absolute;left:20px;top:-100px;z-index:300;background:#fff;padding:14px 18px;border-radius:12px}.skip-link:focus{top:14px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.small{font-size:13.5px;color:var(--muted)}
.centered-text{text-align:center}
.lead{font-size:19px;line-height:1.7;color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:18px}
.eyebrow .icon{width:16px;height:16px;color:var(--coral)}
.eyebrow.chip{background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:8px 16px 8px 12px;box-shadow:var(--shadow-pop)}
.hl{background-image:linear-gradient(transparent 60%,var(--yellow) 60% 90%,transparent 90%);background-repeat:no-repeat;background-size:0% 100%;transition:background-size 1.1s var(--ease-out) .35s;padding:0 .06em;border-radius:4px}
.hl--lavender{background-image:linear-gradient(transparent 60%,var(--lavender) 60% 90%,transparent 90%)}
.is-visible .hl,html:not(.js) .hl{background-size:100% 100%}
.pill{display:inline-flex;align-items:center;background:var(--yellow);border-radius:999px;padding:5px 13px;font-family:var(--f-display);font-size:13px;font-weight:600}
.pill.lavender{background:var(--lavender)}
.handnote{font-family:var(--f-hand);font-size:30px;line-height:1.1;color:var(--green);transform:rotate(-2deg);display:inline-block}
.spin-slow{animation:spin 8s linear infinite}

/* Buttons */
.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:10px 10px 10px 26px;border:0;border-radius:999px;background:var(--ink);color:var(--cream);font-family:var(--f-display);font-size:16.5px;font-weight:600;letter-spacing:.005em;text-decoration:none;line-height:1.2;text-align:center;box-shadow:0 5px 0 #0b2521,0 16px 26px -14px rgba(22,59,53,.6);transition:transform .2s var(--ease-bounce),box-shadow .2s,background .2s}
.button::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 45%,transparent 60%);transform:translateX(-120%);transition:transform .7s var(--ease-out)}
.button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #0b2521,0 20px 30px -14px rgba(22,59,53,.6)}
.button:hover::before{transform:translateX(120%)}
.button:active{transform:translateY(4px);box-shadow:0 1px 0 #0b2521,0 6px 12px -8px rgba(22,59,53,.6)}
.button:disabled{opacity:.55;transform:none;box-shadow:0 3px 0 #0b2521}
.button:not(:has(.button__arrow)){padding:12px 28px}
.button__arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--ink);transition:transform .35s var(--ease-bounce)}
.button__arrow .icon{width:20px;height:20px}
.button:hover .button__arrow{transform:translateX(3px) rotate(-8deg)}
.button.light{background:var(--yellow);color:var(--ink);box-shadow:0 5px 0 #C99A2E,0 16px 26px -14px rgba(0,0,0,.4)}
.button.light .button__arrow{background:var(--ink);color:var(--yellow)}
.button.light:active{box-shadow:0 1px 0 #C99A2E}
.button.outline{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink),0 4px 0 var(--ink)}
.button.outline:hover{background:var(--butter)}
.button.outline:active{box-shadow:inset 0 0 0 2px var(--ink),0 0 0 var(--ink)}
.button.big{min-height:64px;font-size:18px}
.button.big .button__arrow{width:44px;height:44px}
.text-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:16px;font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;padding-bottom:3px;transition:background-size .3s,gap .3s}
.text-link:hover{background-size:0 2px;gap:12px}
.text-link .icon{width:18px;height:18px}
.text-link--play{background:none;gap:12px}
.play-dot{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink),0 4px 0 var(--ink);transition:transform .3s var(--ease-bounce)}
.text-link--play:hover .play-dot{transform:rotate(-10deg) scale(1.08)}

/* Reveal & motion primitives */
.js [data-reveal]{opacity:0;translate:0 34px;scale:.97;transition:opacity .8s var(--ease-out) calc(var(--i,0)*110ms),translate 1s var(--ease-out) calc(var(--i,0)*110ms),scale 1s var(--ease-out) calc(var(--i,0)*110ms)}
.js [data-reveal].is-visible{opacity:1;translate:0 0;scale:1}
[data-tilt]{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotate(var(--rot,0deg));transform-style:preserve-3d}
[data-tilt].tilt-ready{transition:transform .35s var(--ease-out),opacity .8s,translate 1s,scale 1s}
.is-split .w{display:inline-block;opacity:0;translate:0 .5em;rotate:4deg;transition:opacity .7s var(--ease-out) calc(var(--wi)*70ms + 120ms),translate .9s var(--ease-bounce) calc(var(--wi)*70ms + 120ms),rotate .9s var(--ease-bounce) calc(var(--wi)*70ms + 120ms)}
.is-split.is-visible .w{opacity:1;translate:0 0;rotate:0deg}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes wiggle{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes drift{from{transform:translateX(-6vw)}to{transform:translateX(8vw)}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes marquee-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* Announcement */
.site-announcement{background:var(--ink);color:var(--cream);font-size:13.5px;height:40px;display:flex;align-items:center;overflow:hidden;position:relative;z-index:41}
.marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee__track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee__track--reverse{animation-name:marquee-rev}
.marquee:hover .marquee__track{animation-play-state:paused}
.site-announcement .marquee__track span{display:inline-flex;align-items:center;gap:9px;padding:0 34px;white-space:nowrap}
.site-announcement .icon{color:var(--yellow);width:15px;height:15px}
.site-announcement strong{color:var(--yellow);font-weight:800}

/* Header */
.site-header{position:sticky;top:0;z-index:40;padding:12px 0 0;transition:padding .3s}
.site-header__container{position:relative;max-width:1290px;width:calc(100% - 32px);margin:0 auto;height:76px;padding:0 12px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,253,248,.84);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border:1.5px solid rgba(22,59,53,.09);border-radius:999px;box-shadow:0 14px 34px -24px rgba(22,59,53,.55);transition:height .3s var(--ease-out),box-shadow .3s}
.site-header.is-scrolled .site-header__container{height:64px;box-shadow:0 18px 40px -20px rgba(22,59,53,.5)}
.wordmark{display:inline-flex;align-items:center;text-decoration:none;transition:transform .35s var(--ease-bounce)}
.wordmark:hover{transform:rotate(-3deg) scale(1.04)}
.wordmark .logo-image{width:158px;height:auto}
#main-nav{display:flex;gap:4px;align-items:center}
#main-nav>a{position:relative;font-family:var(--f-display);font-size:16px;font-weight:500;text-decoration:none;padding:10px 16px;border-radius:999px;transition:background .25s,color .25s}
#main-nav>a::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6c10-5 18-5 26 0s16 5 24 0 16-5 24 0 14 4 22 0' fill='none' stroke='%23EB8F76' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
#main-nav>a:hover{background:var(--butter)}
#main-nav>a:hover::after{transform:scaleX(1)}
.nav-drawer-extra{display:none}
.header-actions{display:flex;align-items:center;gap:10px}
.account-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-size:14.5px;font-weight:500;text-decoration:none;padding:10px 14px;border-radius:999px;transition:background .25s}
.account-link:hover{background:var(--mint)}
.cart-link{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--yellow);box-shadow:0 4px 0 #C99A2E;text-decoration:none;transition:transform .25s var(--ease-bounce)}
.cart-link:hover{transform:translateY(-2px) rotate(-6deg)}
.cart-link .icon{width:24px;height:24px}
.cart-count{position:absolute;top:-4px;right:-4px;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:var(--coral);color:#fff;font-family:var(--f-display);font-size:12.5px;font-weight:600;display:grid;place-items:center;border:2.5px solid var(--paper)}
.cart-count.is-empty{background:var(--ink)}
.cart-count.bump{animation:bump .6s var(--ease-bounce)}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.55) rotate(-12deg)}100%{transform:scale(1)}}
.menu-toggle{display:none;width:52px;height:52px;border-radius:50%;border:0;background:var(--ink);position:relative;padding:0}
.menu-toggle span{position:absolute;left:15px;right:15px;height:2.5px;border-radius:3px;background:var(--cream);transition:transform .35s var(--ease-bounce),opacity .2s}
.menu-toggle span:nth-child(1){top:18px}.menu-toggle span:nth-child(2){top:25px}.menu-toggle span:nth-child(3){top:32px}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:60;pointer-events:none}
.scroll-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--coral),var(--lavender));transform:scaleX(0);transform-origin:left}

/* Waves */
.wave{position:absolute;left:0;width:100%;height:70px;display:block;pointer-events:none;z-index:1}
.wave path{fill:currentColor}
.wave--top{top:-68px}
.wave--bottom{bottom:-1px}
.wave--cream{color:var(--cream)}.wave--night{color:var(--night)}.wave--sand{color:var(--sand)}.wave--lilac{color:var(--lilac)}.wave--mint{color:var(--mint)}

/* Fireflies & stars */
.fireflies{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fireflies span{position:absolute;left:var(--x);top:var(--y);width:calc(9px*var(--s));height:calc(9px*var(--s));border-radius:50%;background:#FFE7A0;box-shadow:0 0 10px 4px rgba(244,201,93,.65),0 0 26px 10px rgba(244,201,93,.25);animation:firefly var(--d) ease-in-out var(--delay) infinite alternate,glow 2.6s ease-in-out var(--delay) infinite}
@keyframes firefly{0%{transform:translate(0,0)}33%{transform:translate(28px,-34px)}66%{transform:translate(-22px,-12px)}100%{transform:translate(18px,26px)}}
@keyframes glow{0%,100%{opacity:.2}50%{opacity:1}}
.starfield{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.starfield svg{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);color:#FFF3C9;animation:twinkle 3.6s ease-in-out var(--delay) infinite}

/* ============ HOME HERO ============ */
.home-hero{position:relative;overflow:hidden;margin-top:-88px;padding:120px 0 210px;background:radial-gradient(120% 90% at 78% 22%,#FFF1C7 0%,rgba(255,241,199,0) 55%),linear-gradient(180deg,#FFF9EF 0%,#FFF5E0 60%,#FCEBC6 100%)}
.hero-sky{position:absolute;inset:0;pointer-events:none}
.hero-sun{position:absolute;right:4%;top:40px;width:min(560px,46vw);height:auto;opacity:.95}
.hero-sun__rays{transform-origin:200px 200px;animation:spin 70s linear infinite}
.cloud{position:absolute;color:#fff;filter:drop-shadow(0 10px 14px rgba(22,59,53,.07));animation:drift 38s ease-in-out infinite alternate}
.cloud--1{width:170px;height:85px;top:150px;left:6%}
.cloud--2{width:230px;height:115px;top:90px;left:44%;animation-duration:52s;animation-delay:-12s;opacity:.9}
.cloud--3{width:120px;height:60px;top:380px;right:3%;animation-duration:44s;animation-delay:-20s}
.spark{position:absolute;color:var(--yellow);animation:twinkle 3.2s ease-in-out infinite}
.spark--1{width:26px;height:26px;top:180px;left:38%}
.spark--2{width:18px;height:18px;top:320px;left:4%;color:var(--coral);animation-delay:-1s}
.spark--3{width:22px;height:22px;top:120px;right:36%;color:var(--lavender);animation-delay:-2s}
.spark--4{width:20px;height:20px;top:520px;left:46%;color:var(--coral);animation-delay:-.5s}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.02fr 1fr;gap:40px;align-items:center;min-height:min(720px,calc(100vh - 160px))}
.hero-copy{padding-top:20px}
.hero-title{font-weight:600;margin-bottom:26px;max-width:620px;font-size:clamp(46px,6.1vw,88px);line-height:1}
.hero-title em{font-style:normal;color:var(--green);position:relative;white-space:nowrap;display:inline-block}
.hero-title__squiggle{position:absolute;left:-2%;bottom:-.22em;width:104%;height:.36em;overflow:visible}
.hero-title__squiggle path{fill:none;stroke:var(--yellow);stroke-width:9;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease-out) calc(var(--wn,8)*70ms + 400ms)}
.is-visible .hero-title__squiggle path,html:not(.js) .hero-title__squiggle path{stroke-dashoffset:0}
.hero-copy>.lead{max-width:520px}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin:34px 0 30px}
.hero-reassurance{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.hero-reassurance li{display:inline-flex;align-items:center;gap:8px;background:rgba(255,253,248,.8);border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-family:var(--f-display);font-size:14px;font-weight:500}
.hero-reassurance .icon{color:var(--coral)}
.hero-stage{position:relative;height:600px;perspective:1600px}
.hero-stage>*{position:absolute}
.hero-stage__halo{inset:6% 4% 10% 8%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 68%)}
.hero-stage__rug{left:4%;right:6%;bottom:40px;height:120px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(199,185,239,.55) 0%,rgba(199,185,239,.25) 45%,transparent 70%)}
.hero-book--back{left:4%;top:9%}
.hero-book--front{left:31%;top:18%}
.hero-milo{right:-2%;bottom:30px;width:clamp(150px,15vw,215px)}
.hero-milo__img{width:100%;height:auto;filter:drop-shadow(0 18px 18px rgba(22,59,53,.22));transform-origin:50% 100%;animation:milo-sway 5s ease-in-out infinite}
@keyframes milo-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2.5deg) translateY(-4px)}}
.hero-luma{left:22%;top:0;width:260px;height:260px;pointer-events:none}
.hero-luma__orbit{position:absolute;inset:0;animation:orbit 14s linear infinite}
.hero-luma__img{position:absolute;top:0;left:50%;width:84px;margin-left:-42px;animation:orbit 14s linear infinite reverse}
.hero-luma__glow{position:absolute;top:34px;left:50%;width:120px;height:120px;margin-left:-60px;border-radius:50%;background:radial-gradient(circle,rgba(255,229,138,.7),transparent 65%);animation:glow 2.4s ease-in-out infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero-note{left:0;bottom:70px;margin:0;font-family:var(--f-hand);font-size:34px;line-height:1;color:var(--green);transform:rotate(-8deg)}
.hero-note span{display:block}
.hero-note__arrow{position:absolute;width:92px;height:62px;left:120px;top:-44px;color:var(--coral);transform:rotate(-30deg)}
.hero-badge{right:8%;top:4%;width:138px;height:138px;display:grid;place-items:center}
.hero-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 22s linear infinite;filter:drop-shadow(0 8px 0 rgba(22,59,53,.1))}
.hero-badge text{font-family:var(--f-display);font-size:11px;font-weight:600;fill:#FFF9EF}
.hero-badge>span{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--yellow);color:var(--ink);animation:wiggle 3s ease-in-out infinite}
.hero-badge>span .icon{width:26px;height:26px}
.hero-land{position:absolute;left:0;right:0;bottom:0;height:300px;pointer-events:none;z-index:2}
.hill,.hill-trees{position:absolute;left:0;bottom:0;width:100%;height:100%}
.hill--far path{fill:#DCD2F6}
.hill--mid path{fill:#BFDDB0}
.hill--near{bottom:-2px}.hill--near path{fill:var(--cream)}
.tree{transform-box:fill-box;transform-origin:50% 100%;animation:tree-sway 6s ease-in-out infinite}
.tree--b{animation-delay:-2s}
@keyframes tree-sway{0%,100%{rotate:-2deg}50%{rotate:2deg}}
.fireflies--hero{top:30%}
.cursor-spark{position:absolute;z-index:5;width:9px;height:9px;border-radius:50%;pointer-events:none;box-shadow:0 0 12px 3px rgba(244,201,93,.6)}

/* ============ 3D BOOK ============ */
.book3d{--w:240px;--t:calc(var(--w)*.06);--bx:6deg;--bz:0deg;--book-back:#FFF3D6;position:relative;width:var(--w);aspect-ratio:1055/1491;perspective:2000px}
.book3d__inner{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--bx)) rotateY(var(--by)) rotateZ(var(--bz));transition:transform .9s var(--ease-out),--by .9s var(--ease-out)}
.book3d__inner>div{position:absolute}
.book3d__cover{inset:0;transform-origin:0 50%;transform:translateZ(calc(var(--t)/2 + .5px)) rotateY(var(--open));transform-style:preserve-3d;transition:--open 1.1s cubic-bezier(.3,.9,.25,1)}
.book3d__front{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:3px 7px 7px 3px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.book3d__cover::after{content:'';position:absolute;inset:0;border-radius:3px 7px 7px 3px;background:linear-gradient(90deg,rgba(0,0,0,.22) 0,rgba(255,255,255,.35) 1.8%,rgba(0,0,0,.08) 3.6%,transparent 7%,transparent 62%,rgba(255,255,255,.16) 78%,transparent 92%);backface-visibility:hidden;-webkit-backface-visibility:hidden;pointer-events:none}
.book3d__endpaper{position:absolute;inset:0;border-radius:7px 3px 3px 7px;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;background-color:#F3E9D1;background-image:radial-gradient(circle at 30% 30%,rgba(45,106,79,.2) 2px,transparent 2.6px),radial-gradient(circle at 75% 70%,rgba(235,143,118,.3) 2px,transparent 2.6px);background-size:22px 22px}
.book3d__inside{inset:1.2% 1.2% 1.2% 0;transform:translateZ(calc(var(--t)/2 - .5px));background:#FFFDF6;border-radius:0 5px 5px 0;overflow:hidden;box-shadow:inset 14px 0 18px -12px rgba(22,59,53,.45)}
.book3d__inside img{width:100%;height:100%;object-fit:cover}
.book3d__inside--blank{background:linear-gradient(90deg,#efe6d2,#fffdf6 12%)}
.book3d__back{inset:0;transform:translateZ(calc(var(--t)/-2)) rotateY(180deg);border-radius:7px 3px 3px 7px;background:var(--book-back) url('/assets/img/logo.webp') center 46%/62% auto no-repeat;box-shadow:inset 0 0 0 6px rgba(45,106,79,.15)}
.book3d__spine{top:0;bottom:0;left:0;width:var(--t);transform:translateX(-50%) rotateY(-90deg);border-radius:3px;background:linear-gradient(90deg,#1c4a39,#2d6a4f 45%,#23573f)}
.book3d--grands .book3d__spine{background:linear-gradient(90deg,#5b4a9e,#8a78d6 45%,#6d5bb8)}
.book3d__pages{top:1.2%;bottom:1.2%;right:1.2%;width:calc(var(--t) - 1px);transform:translateX(50%) rotateY(90deg);background:repeating-linear-gradient(90deg,#FFFDF5 0 1.2px,#E6DDC6 1.2px 2.4px)}
.book3d__top{top:1.2%;left:0;right:1.2%;height:calc(var(--t) - 1px);transform:translateY(-50%) rotateX(90deg);background:repeating-linear-gradient(0deg,#FFFDF5 0 1.2px,#E6DDC6 1.2px 2.4px)}
.book3d__bottom{bottom:1.2%;left:0;right:1.2%;height:calc(var(--t) - 1px);transform:translateY(50%) rotateX(-90deg);background:repeating-linear-gradient(0deg,#FFFDF5 0 1.2px,#E6DDC6 1.2px 2.4px)}
.book3d__shadow{position:absolute;left:4%;right:-10%;bottom:-9%;height:14%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(22,59,53,.38),transparent 70%);filter:blur(5px);z-index:-1}
.book3d--hero-back{--w:clamp(170px,17vw,240px);--by:30deg;--bz:-9deg;--bx:10deg;animation:book-float 7s ease-in-out infinite}
.book3d--hero-front{--w:clamp(200px,20vw,285px);--by:-24deg;--bz:5deg;--bx:8deg;animation:book-float 6s ease-in-out -2s infinite,book-breathe 7s ease-in-out 1.8s infinite}
@keyframes book-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes book-breathe{0%,18%,100%{--open:0deg}42%,62%{--open:-58deg}}
.book3d--card{--w:clamp(150px,16vw,215px);--by:-20deg;--bx:10deg;--bz:3deg}
.book3d--pdp{--w:clamp(190px,23vw,300px);--bx:6deg}
.book3d--feature{--w:clamp(180px,19vw,270px);--by:24deg;--bz:-3deg}
.book3d--shelf{--w:clamp(130px,14vw,185px);--by:26deg;--bx:4deg}
.book3d--mini{--w:clamp(64px,7vw,92px);--by:22deg;--bx:8deg}
.volume-shelf:hover .book3d--shelf,.volume-shelf:focus-visible .book3d--shelf{--by:-8deg;--open:-42deg}
.book-feature__stage:hover .book3d--feature{--by:-6deg;--open:-120deg}

/* Ribbons */
.benefits-marquee{position:relative;height:170px;overflow:hidden;background:var(--cream);z-index:2}
.ribbon{position:absolute;left:-4%;right:-4%;top:50%;padding:15px 0;overflow:hidden}
.ribbon--front{background:var(--green);color:var(--cream);transform:translateY(-50%) rotate(-2.6deg);box-shadow:0 12px 24px -16px rgba(22,59,53,.6);z-index:2}
.ribbon--back{background:var(--lavender);color:var(--ink);transform:translateY(-50%) rotate(2.4deg);opacity:.85}
.ribbon .marquee__track{animation-duration:36s}
.ribbon--front span{display:inline-flex;align-items:center;gap:12px;padding:0 30px;white-space:nowrap;font-family:var(--f-display);font-size:24px;font-weight:600}
.ribbon--front .icon{color:var(--yellow);width:22px;height:22px;animation:spin 6s linear infinite}
.ribbon--back span{padding:0 26px;font-family:var(--f-display);font-size:17px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.ribbon--back span::after{content:'✦';margin-left:52px;color:var(--coral)}

/* Section intros */
.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:54px}
.section-intro h2{margin-bottom:0}
.section-intro>p{max-width:380px;margin-bottom:6px;color:var(--muted);font-size:18px}
.section-intro.centered{display:block;text-align:center;max-width:900px;margin:0 auto 60px}
.section-intro.centered>p:not(.eyebrow){max-width:560px;margin:22px auto 0;color:var(--muted);font-size:18px}

/* ============ COLLECTION WORLDS ============ */
.formulas-showcase{background:var(--cream);padding-top:70px}
.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.world-card{position:relative;border-radius:40px;background:var(--paper);border:2px solid rgba(22,59,53,.1);box-shadow:0 12px 0 var(--card-shadow,#EFD58B),var(--shadow-soft);overflow:hidden;display:flex;flex-direction:column}
.world-card--grands{--card-shadow:#D5CAF6}
.world-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.5),transparent 45%);opacity:0;transition:opacity .4s;z-index:4}
.world-card:hover::after{opacity:1}
.world-card__scene{position:relative;display:grid;place-items:center;aspect-ratio:600/420;overflow:hidden;text-decoration:none;perspective:1400px}
.world-scene{position:absolute;inset:0;width:100%;height:100%}
.ws-sun{transform-box:fill-box;transform-origin:center;animation:spin 40s linear infinite}
.ws-trees g{transform-box:fill-box;transform-origin:50% 100%;animation:tree-sway 5s ease-in-out infinite}
.ws-trees g:nth-child(2){animation-delay:-1.5s}.ws-trees g:nth-child(3){animation-delay:-3s}
.ws-waves path{animation:wave-slide 7s ease-in-out infinite alternate}
.ws-waves path:nth-child(2){animation-duration:5s;animation-delay:-2s}.ws-waves path:nth-child(3){animation-duration:6s;animation-delay:-4s}
@keyframes wave-slide{from{transform:translateX(-18px)}to{transform:translateX(18px)}}
.ws-boat{animation:boat 4s ease-in-out infinite}
@keyframes boat{0%,100%{transform:translate(96px,300px) rotate(-4deg)}50%{transform:translate(106px,294px) rotate(4deg)}}
.ws-twinkle circle{animation:glow 2.5s ease-in-out infinite}.ws-twinkle circle:nth-child(2n){animation-delay:-1.2s}
.ws-moon{animation:bob 6s ease-in-out infinite}
.world-card__book{position:relative;z-index:2;translate:0 4%;transition:translate .6s var(--ease-bounce)}
.world-card:hover .world-card__book{translate:0 -2%}
.world-card:hover .book3d--card,.world-card:focus-within .book3d--card{--open:-150deg;--by:-6deg}
.world-card.is-visible .book3d--card{animation:card-peek 3s ease-in-out 1.2s 1}
@keyframes card-peek{0%,100%{--open:0deg}45%,60%{--open:-40deg}}
.world-card__mascot{position:absolute;z-index:3;height:62%;width:auto;left:5%;bottom:3%;filter:drop-shadow(0 12px 12px rgba(22,59,53,.25));transition:transform .5s var(--ease-bounce)}
.world-card--grands .world-card__mascot{height:34%;left:auto;right:8%;top:10%;bottom:auto;animation:bob 4s ease-in-out infinite}
.world-card:hover .world-card__mascot{transform:translateX(8px) rotate(-4deg)}
.world-card--grands:hover .world-card__mascot{transform:translate(-12px,8px) rotate(8deg)}
.age-sticker{position:absolute;z-index:3;top:22px;left:22px;width:92px;height:92px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-size:19px;font-weight:600;text-align:center;line-height:1;box-shadow:0 6px 0 rgba(22,59,53,.12);animation:wiggle 4s ease-in-out infinite}
.age-sticker::before{content:'';position:absolute;inset:6px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.8)}
.world-card--grands .age-sticker{background:var(--green);left:auto;right:22px;top:auto;bottom:22px}
.world-card__hint{position:absolute;z-index:3;right:18px;bottom:16px;display:none;align-items:center;gap:6px;background:rgba(255,253,248,.9);border-radius:999px;padding:7px 13px;font-family:var(--f-display);font-size:13px;font-weight:500;transition:opacity .3s}
.world-card--grands .world-card__hint{right:auto;left:18px}
@media(hover:hover){.world-card__hint{display:inline-flex}.world-card:hover .world-card__hint{opacity:0}}
.world-card__info{position:relative;z-index:2;padding:30px 36px 36px;display:flex;flex-direction:column;flex:1}
.world-card__info .eyebrow{margin-bottom:10px;font-size:12px}
.world-card h3{font-size:clamp(30px,2.8vw,40px);margin-bottom:10px}
.world-card h3 a{text-decoration:none}
.world-card__info>p:not(.eyebrow){color:var(--muted);font-size:17px}
.world-card__volumes{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}
.world-card__volumes li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.world-card__volumes li span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--butter);font-family:var(--f-display);font-size:13px;flex-shrink:0;transform:rotate(-4deg)}
.world-card--grands .world-card__volumes li span{background:var(--lilac)}
.card-price{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin-top:auto}
.card-price strong{font-family:var(--f-display);font-size:34px;font-weight:600;letter-spacing:-.02em}
.card-price strong small{font-size:15px;font-weight:500;color:var(--muted)}
.card-price>span{font-size:14px;color:var(--muted)}
.gift-line{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font-size:14px!important;font-weight:700;background:var(--mint);padding:7px 13px;border-radius:999px;margin:12px 0 24px;color:var(--ink)!important}
.gift-line .icon{color:var(--green)}
.world-card .button{width:100%}
.choice-note{margin:64px auto 0;display:flex;max-width:900px;gap:22px;align-items:flex-end}
.choice-note__milo{width:118px;height:auto;flex-shrink:0;animation:bob 5s ease-in-out infinite}
.speech{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:30px;padding:22px 28px;box-shadow:0 6px 0 var(--ink);margin-bottom:34px}
.speech::before{content:'';position:absolute;left:-14px;bottom:26px;width:24px;height:24px;background:var(--paper);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) skew(10deg,10deg);border-radius:0 0 0 6px}
.speech p{margin:0;font-size:16.5px;color:var(--muted)}
.speech strong{color:var(--ink)}

/* ============ FRIENDS ============ */
.friends{background:var(--cream)}
.friends .wave--top{display:none}
.friends-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.flip-card{display:block;width:100%;height:440px;padding:0;border:0;background:none;perspective:1400px;text-align:center;font:inherit;color:inherit}
.flip-card__inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .95s var(--ease-bounce)}
@media(hover:hover){.flip-card:hover .flip-card__inner{transform:rotateY(-10deg) rotateX(4deg)}}
.flip-card[aria-pressed=true] .flip-card__inner{transform:rotateY(180deg)}
.flip-card__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:28px;border-radius:36px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border:2px solid rgba(22,59,53,.1)}
.flip-card__front{background:radial-gradient(circle at 50% 38%,#fff 0,rgba(255,255,255,0) 55%),var(--face,var(--peach));box-shadow:0 10px 0 var(--edge,#F0C6B6)}
.flip-card--luma{--face:var(--lilac);--edge:#D5CAF6}
.flip-card--you{--face:var(--butter);--edge:#EFD58B}
.flip-card__art{flex:1;display:grid;place-items:center;width:100%;min-height:0}
.flip-card__mascot{max-height:250px;width:auto;filter:drop-shadow(0 16px 14px rgba(22,59,53,.2));animation:bob 5s ease-in-out infinite}
.flip-card--luma .flip-card__mascot{max-height:190px;animation-duration:3.6s}
.flip-card__art--page img{width:150px;border-radius:6px;box-shadow:0 18px 30px -12px rgba(22,59,53,.5);transform:rotate(-5deg);border:6px solid #fff}
.flip-card__name{font-family:var(--f-display);font-size:40px;font-weight:600;line-height:1}
.flip-card__role{font-family:var(--f-hand);font-size:26px;color:var(--green);margin-top:4px}
.flip-card__turn{margin-top:16px;display:inline-flex;align-items:center;gap:7px;font-family:var(--f-display);font-size:13.5px;font-weight:500;background:rgba(255,253,248,.85);padding:7px 14px;border-radius:999px}
.flip-card__back{transform:rotateY(180deg);background:var(--ink);color:var(--cream);justify-content:center;gap:12px;box-shadow:0 10px 0 #0b2521}
.flip-card__back::before{content:'';position:absolute;inset:14px;border-radius:26px;border:1.5px dashed rgba(244,201,93,.5)}
.flip-card__icon{width:48px;height:48px;color:var(--yellow)}
.flip-card__title{font-family:var(--f-display);font-size:28px;font-weight:600;color:var(--yellow);line-height:1.1}
.flip-card__text{font-size:16.5px;line-height:1.6;color:#DCE7DE;max-width:300px}

/* ============ PEEK (aperçus) ============ */
.peek{background:linear-gradient(180deg,var(--cream),#F6EFE0)}
.peek-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;margin-bottom:90px}
.polaroid{--rot:-3deg;position:relative;margin:0;background:#fff;padding:16px 16px 70px;border-radius:6px;box-shadow:0 30px 60px -30px rgba(22,59,53,.55),0 2px 0 rgba(22,59,53,.05)}
.polaroid img{width:100%;border-radius:3px}
.polaroid figcaption{position:absolute;left:0;right:0;bottom:18px;text-align:center;font-family:var(--f-hand);font-size:30px;color:var(--ink)}
.tape{position:absolute;top:-16px;width:120px;height:34px;background:rgba(244,201,93,.7);box-shadow:0 2px 4px rgba(0,0,0,.06)}
.tape--l{left:-18px;transform:rotate(-24deg)}.tape--r{right:-18px;transform:rotate(22deg);background:rgba(199,185,239,.75)}
.page-fan{position:relative;height:500px;--spread:0deg}
.page-fan.is-visible,html:not(.js) .page-fan{--spread:11deg}
.page-fan{transition:--spread 1.3s var(--ease-bounce) .2s}
.page-fan__page{position:absolute;left:50%;bottom:40px;width:min(250px,44%);margin-left:max(-125px,-22%);transform-origin:50% 115%;transform:rotate(calc((var(--i) - 2) * var(--spread))) translateY(var(--lift,0px));transition:transform .45s var(--ease-bounce);z-index:calc(var(--i) + 1);text-decoration:none}
.page-fan__page img{width:100%;border-radius:8px;background:#fff;box-shadow:0 20px 40px -18px rgba(22,59,53,.55);border:5px solid #fff}
.page-fan__page span{position:absolute;left:50%;top:-14px;translate:-50% 0;white-space:nowrap;background:var(--ink);color:var(--cream);font-family:var(--f-display);font-size:13px;padding:5px 12px;border-radius:999px;opacity:0;transition:opacity .3s,top .3s}
.page-fan__page:hover,.page-fan__page:focus-visible{--lift:-44px;z-index:10}
.page-fan__page:hover span,.page-fan__page:focus-visible span{opacity:1;top:-22px}
.page-fan__hint{position:absolute;right:0;top:-6px;z-index:12;margin:0;font-family:var(--f-hand);font-size:28px;color:var(--green);display:flex;flex-direction:row-reverse;align-items:center;gap:6px;transform:rotate(4deg)}
.page-fan__hint svg{width:70px;height:46px;color:var(--coral);transform:scaleX(-1) rotate(-30deg)}
.discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.discovery-grid article{display:grid;grid-template-columns:44% 1fr;gap:26px;align-items:center;background:var(--paper);border-radius:36px;padding:22px;border:2px solid rgba(22,59,53,.08);box-shadow:var(--shadow-pop)}
.discovery-grid h3{font-size:24px;margin:14px 0 12px}
.discovery-grid p{font-size:16px;color:var(--muted)}
.blob-img{overflow:hidden;aspect-ratio:1;border-radius:58% 42% 53% 47%/48% 56% 44% 52%;animation:blob 12s ease-in-out infinite}
.blob-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.blob-img:hover img{transform:scale(1.07)}
.blob-img--b{animation-delay:-4s}
@keyframes blob{0%,100%{border-radius:58% 42% 53% 47%/48% 56% 44% 52%}33%{border-radius:44% 56% 40% 60%/58% 42% 58% 42%}66%{border-radius:52% 48% 62% 38%/40% 60% 40% 60%}}

/* ============ CLUB NIGHT ============ */
.club-night{background:radial-gradient(90% 80% at 80% 10%,#1E4B44 0%,var(--night) 60%);color:var(--cream);overflow:visible;padding:130px 0 150px}
.club-night .starfield{overflow:hidden}
.night-moon{position:absolute;right:7%;top:60px;width:110px;filter:drop-shadow(0 0 30px rgba(255,243,201,.55));animation:bob 7s ease-in-out infinite}
.shooting-star{position:absolute;top:14%;left:-20%;width:300px;opacity:0;animation:shoot 9s ease-in 3s infinite}
@keyframes shoot{0%{transform:translate(0,0) rotate(-8deg);opacity:0}3%{opacity:1}12%{transform:translate(70vw,12vh) rotate(-8deg);opacity:0}100%{opacity:0}}
.risk-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.club-copy h2{color:var(--cream)}
.club-copy h2 em{font-style:normal;color:var(--yellow)}
.club-copy p:not(.eyebrow){color:#D5E3DA;font-size:18px;max-width:560px}
.club-copy .eyebrow{color:var(--yellow)}
.club-copy .eyebrow .icon{color:var(--yellow)}
.inline-actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}
.inline-actions>span{font-size:14px;max-width:220px;color:#B9CCC1}
.club-journey{position:relative;aspect-ratio:520/420;max-width:560px;width:100%;justify-self:end}
.club-journey__path{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.draw-path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s var(--ease-out) .3s}
.club-journey.is-visible .draw-path,html:not(.js) .draw-path{stroke-dashoffset:0}
.journey-step{position:absolute;display:flex;flex-direction:column;align-items:center;gap:12px;translate:-50% -88%;opacity:0;scale:.6;transition:opacity .6s,scale .7s var(--ease-bounce)}
.journey-step span{font-size:13px;line-height:1.3;text-align:center;color:#C9D9CF;white-space:nowrap;background:rgba(16,48,43,.88);padding:4px 10px;border-radius:12px}
.journey-step b{display:block;font-family:var(--f-display);font-size:18px;color:var(--yellow)}
.journey-step--1{left:8%;top:86%;transition-delay:.5s}
.journey-step--2{left:33%;top:55%;transition-delay:1.2s}
.journey-step--3{left:75%;top:50%;transition-delay:1.9s}
.club-journey.is-visible .journey-step,html:not(.js) .journey-step{opacity:1;scale:1}
.journey-step .book3d{animation:book-float 5s ease-in-out infinite}
.journey-step--2 .book3d{animation-delay:-1.6s}.journey-step--3 .book3d{animation-delay:-3.2s}
.mailbox{position:absolute;right:-2%;top:-6%;width:22%;height:auto;overflow:visible}
.mailbox__flag{transform-box:fill-box;transform-origin:15% 95%;transform:rotate(80deg);transition:transform .9s var(--ease-bounce) 2.6s}
.club-journey.is-visible .mailbox__flag{transform:rotate(0)}
.mailbox__letter{animation:letter 4s ease-in-out 3s infinite}
@keyframes letter{0%,70%,100%{transform:translateY(0)}35%{transform:translateY(-14px)}}
.club-milo{position:absolute;left:48%;bottom:-4%;width:22%;height:auto;filter:drop-shadow(0 14px 14px rgba(0,0,0,.35));animation:walk 1.1s ease-in-out infinite}
@keyframes walk{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}

/* ============ FAQ ============ */
.faq,.faq-accordion{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.faq-aside{position:sticky;top:130px}
.faq-aside>p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:340px}
.faq-aside__art{position:relative;margin-top:30px;width:190px}
.faq-milo{width:150px;height:auto;animation:bob 5s ease-in-out infinite}
.faq-aside__bubble{position:absolute;left:130px;top:8px;background:var(--yellow);font-family:var(--f-hand);font-size:24px;line-height:1;padding:10px 16px;border-radius:22px 22px 22px 4px;white-space:nowrap;transform:rotate(-6deg);animation:wiggle 4s ease-in-out infinite}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-accordion__item{background:var(--paper);border:2px solid rgba(22,59,53,.1);border-radius:24px;transition:border-color .3s,box-shadow .3s,background .3s}
.faq-accordion__item:hover{border-color:rgba(22,59,53,.25)}
.faq-accordion__item[open]{border-color:var(--ink);box-shadow:0 6px 0 var(--ink);background:#fff}
summary{cursor:pointer;list-style:none;display:flex;gap:20px;align-items:center;justify-content:space-between;font-family:var(--f-display);font-size:19px;line-height:1.35;font-weight:500;padding:22px 24px}
summary::-webkit-details-marker{display:none}
.faq-toggle{position:relative;width:36px;height:36px;border-radius:50%;background:var(--butter);flex-shrink:0;transition:transform .4s var(--ease-bounce),background .3s}
.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:2.5px;border-radius:2px;background:var(--ink);translate:-50% -50%;transition:transform .35s var(--ease-bounce)}
.faq-toggle::after{transform:rotate(90deg)}
details[open]>summary .faq-toggle{background:var(--yellow);transform:rotate(180deg)}
details[open]:not(.is-closing)>summary .faq-toggle::after{transform:rotate(0)}
.faq-accordion__item-description{overflow:hidden}
.faq-accordion__item-description>div{padding:0 24px 24px;font-size:16.5px;color:var(--muted);line-height:1.7}
.faq-accordion__item-description a{color:var(--green);font-weight:700}

/* ============ FOOTER ============ */
.site-footer{position:relative;background:#E5EBDE;padding:0 0 26px;margin-top:130px}
.footer-scene{position:absolute;left:0;right:0;top:-150px;height:170px;pointer-events:none}
.footer-hills{position:absolute;left:0;bottom:0;width:100%;height:100%}
.footer-milo{position:absolute;right:9%;bottom:34px;width:112px;height:auto;animation:milo-sway 5s ease-in-out infinite;transform-origin:50% 100%;z-index:1}
.fireflies--footer{top:-40px}
.footer-cta{position:relative;z-index:2;top:-40px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--ink);color:var(--cream);border-radius:40px;padding:46px 54px;box-shadow:0 12px 0 var(--green),var(--shadow-soft);overflow:hidden}
.footer-cta::before{content:'';position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(244,201,93,.35),transparent 65%)}
.footer-cta h2{color:var(--cream);margin:0;font-size:clamp(32px,3.6vw,50px)}
.footer-cta h2 em{font-style:normal;color:var(--yellow)}
.footer-cta .eyebrow{color:var(--yellow)}
.footer-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;position:relative}
.footer-cta .text-link{color:var(--cream)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1.1fr 1.2fr 1fr;gap:38px;padding-top:10px}
.footer-brand .wordmark{margin-bottom:20px}
.footer-brand .logo-image{width:176px}
.footer-brand p{font-size:15px;color:var(--muted)}
.footer-grid h3{font-size:17px;margin:6px 0 18px}
.footer-grid>div>a:not(.wordmark){display:block;width:fit-content;font-size:15px;text-decoration:none;margin:0 0 11px;color:var(--muted);transition:color .2s,transform .25s var(--ease-bounce)}
.footer-grid>div>a:not(.wordmark):hover{color:var(--ink);transform:translateX(4px)}
.footer-bottom{border-top:1.5px dashed rgba(22,59,53,.22);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}
.footer-bottom span{display:inline-flex;align-items:center;gap:6px}

/* ============ PRODUCT PAGE ============ */
.breadcrumb{padding-top:28px;padding-bottom:26px;display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted);flex-wrap:wrap}
.breadcrumb a{text-decoration:none;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:5px 13px;transition:background .2s}
.breadcrumb a:hover{background:var(--butter)}
.breadcrumb [aria-current]{font-weight:700;color:var(--ink)}
.product-offer{padding:0 0 70px}
.product-offer__container{display:grid;grid-template-columns:calc(50% - 28px) calc(50% - 28px);gap:56px;align-items:start}
.product-offer__media{position:sticky;top:110px;min-width:0}
.product-offer__main-slider{position:relative;border-radius:40px;overflow:hidden;aspect-ratio:1;border:2px solid rgba(22,59,53,.1);box-shadow:0 12px 0 var(--card-shadow,#EFD58B),var(--shadow-soft);isolation:isolate}
.theme-grands .product-offer__main-slider{--card-shadow:#D5CAF6}
.product-offer__main-slider .world-scene{z-index:0}
.product-offer__main-slider .age-sticker{z-index:4}
.gallery-3d{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .4s}
.turntable{cursor:grab;padding:30px 60px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.turntable.is-dragging{cursor:grabbing}
.turntable .book3d__inner{transition:none}
.turntable-hint{position:absolute;bottom:22px;left:50%;translate:-50% 0;display:inline-flex;align-items:center;gap:7px;margin:0;background:rgba(255,253,248,.9);border-radius:999px;padding:7px 14px;font-family:var(--f-display);font-size:13.5px;white-space:nowrap}
.gallery-main{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity .4s}
[data-view=photo] .gallery-main{opacity:1;visibility:visible}
[data-view=photo] .gallery-3d,[data-view=photo] .pdp-mascot{opacity:0;visibility:hidden}
.pdp-mascot{position:absolute;z-index:3;left:4%;bottom:3%;height:36%;width:auto;filter:drop-shadow(0 12px 12px rgba(22,59,53,.25));pointer-events:none;transition:opacity .4s;animation:milo-sway 5s ease-in-out infinite;transform-origin:50% 100%}
.product-offer__nav-slider{display:flex;gap:12px;margin-top:22px;justify-content:center}
.gallery-thumb{position:relative;border:2px solid rgba(22,59,53,.12);padding:0;overflow:hidden;width:78px;height:78px;border-radius:20px;background:#fff;transition:transform .3s var(--ease-bounce),border-color .2s}
.gallery-thumb:hover{transform:translateY(-3px) rotate(-3deg)}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb.active{border:3px solid var(--green);box-shadow:0 4px 0 var(--green)}
.gallery-thumb__badge{position:absolute;right:4px;bottom:4px;background:var(--coral);color:#fff;font-family:var(--f-display);font-size:11px;font-weight:600;padding:2px 6px;border-radius:8px}
.preview-link{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;margin:22px 0;font-family:var(--f-display);font-size:16px;font-weight:500;color:var(--green)}
.preview-link .icon{width:20px;height:20px}
.product-offer__info-title{font-size:clamp(40px,4.6vw,64px);margin-bottom:14px}
.product-hook{font-family:var(--f-display);font-size:23px;line-height:1.3;font-weight:500;color:var(--green)}
.product-offer__info-description{font-size:17px;color:var(--muted)}
.benefit-list{list-style:none;padding:0;margin:20px 0 30px;display:grid;gap:10px}
.benefit-list li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}
.benefit-list .icon{width:28px;height:28px;padding:5px;border-radius:50%;background:var(--mint);color:var(--green)}
.offer-box{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:32px;padding:26px;box-shadow:0 8px 0 var(--ink)}
.offer-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}
.offer-heading>strong{font-family:var(--f-display);font-size:20px;font-weight:600}
.saving-badge{display:inline-flex;align-items:center;gap:6px;background:var(--yellow);font-family:var(--f-display);font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;white-space:nowrap;transform:rotate(2deg)}
.purchase-option{position:relative;display:flex;align-items:center;gap:14px;border:2px solid rgba(22,59,53,.15);border-radius:22px;padding:17px 18px;margin-top:12px;background:#fff;transition:border-color .25s,background .25s,transform .3s var(--ease-bounce),box-shadow .25s}
.purchase-option:hover{transform:translateY(-2px)}
.purchase-option input{position:absolute;opacity:0;pointer-events:none}
.purchase-option__radio{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2.5px solid rgba(22,59,53,.3);flex-shrink:0;transition:background .25s,border-color .25s}
.purchase-option__radio .icon{width:16px;height:16px;color:#fff;opacity:0;transform:scale(.3);transition:opacity .2s,transform .35s var(--ease-bounce)}
.purchase-option.selected{border-color:var(--green);background:#F1F7EC;box-shadow:0 5px 0 var(--green)}
.purchase-option.selected .purchase-option__radio{background:var(--green);border-color:var(--green)}
.purchase-option.selected .purchase-option__radio .icon{opacity:1;transform:scale(1)}
.purchase-option input:focus-visible~.purchase-option__radio{outline:3px solid var(--coral);outline-offset:3px}
.purchase-option__text{flex:1}
.purchase-option strong{font-family:var(--f-display);font-size:17px;font-weight:600;line-height:1.3;display:block}
.purchase-option small{display:block;font-size:14px;color:var(--muted);line-height:1.4;margin-top:3px}
.option-price{font-family:var(--f-display);font-size:26px;font-weight:600;white-space:nowrap;text-align:right;line-height:1.1}
.option-price small{font-size:13px;font-weight:500}
.purchase-option__ribbon{position:absolute;top:-12px;right:18px;background:var(--coral);color:#fff;font-family:var(--f-display);font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;transform:rotate(4deg);box-shadow:0 3px 0 rgba(22,59,53,.15)}
.gift-box{margin-top:18px;padding:14px 16px;border-radius:18px;background:var(--butter);display:flex;gap:12px;align-items:center}
.gift-box__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff;color:var(--coral);flex-shrink:0;animation:wiggle 3.5s ease-in-out infinite}
.gift-box__icon .icon{width:24px;height:24px}
.gift-box>div{flex:1}
.gift-box strong{font-size:15px;display:block}
.gift-box>div>span{font-size:13.5px;color:var(--muted);display:block}
.gift-price{font-family:var(--f-display);font-size:20px;font-weight:600;color:var(--coral)}
.quantity-line{display:flex;gap:14px;align-items:center;padding:18px 0;font-size:15px;flex-wrap:wrap}
.quantity-line>label{font-weight:700}
.stepper{display:inline-flex;align-items:center;background:#fff;border:2px solid rgba(22,59,53,.18);border-radius:999px;padding:3px}
.stepper button{width:36px;height:36px;border-radius:50%;border:0;background:var(--mint);font-size:20px;font-weight:700;line-height:1;transition:background .2s,transform .2s var(--ease-bounce)}
.stepper button:hover{background:var(--yellow);transform:scale(1.08)}
.stepper select{border:0;background:transparent;width:48px;text-align:center;text-align-last:center;padding:6px 2px;font-family:var(--f-display);font-size:18px;font-weight:600;-webkit-appearance:none;appearance:none;box-shadow:none}
.quantity-line>span{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--muted)}
.offer-box .add-to-cart{width:100%}
.purchase-disclosure{font-size:13.5px;line-height:1.6;color:var(--muted);margin:16px 0 0}
.offer-small{font-size:13.5px;text-align:center;margin:12px 0 0}
.availability-product{margin-top:14px;font-size:14px;line-height:1.6}
.product-specs{background:var(--paper);border:2px solid rgba(22,59,53,.1);border-radius:24px;margin-top:22px}
.product-specs summary{font-size:17px;padding:18px 22px}
.product-specs .faq-accordion__item-description>div{padding:0 22px 20px}
.product-specs p{font-size:15.5px;color:var(--muted);margin:0}
.image-content{background:var(--sand)}
.image-content__media{position:relative}
.blob-img--c{aspect-ratio:1.05}
.rounded-image{width:100%;height:100%;object-fit:cover}
.doodle{position:absolute;pointer-events:none}
.doodle--star{width:60px;height:60px;top:-18px;right:6%;color:var(--yellow);animation:spin 12s linear infinite}
.doodle--curl{width:120px;height:80px;bottom:-30px;left:-20px;color:var(--coral);transform:rotate(-20deg)}
.image-content p:not(.handnote),.product-usp p{font-size:17.5px;color:var(--muted)}
.image-content__heading{font-size:clamp(32px,3.6vw,50px)}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.product-usp{background:var(--sand);padding-top:40px}
.product-usp__container-inner{position:relative;background:var(--mint);border-radius:48px;padding:64px;gap:60px;border:2px solid rgba(22,59,53,.08)}
.product-usp__heading{font-size:clamp(30px,3.2vw,44px)}
.product-usp__contents{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.product-usp__item{display:flex;gap:12px;align-items:center;background:var(--paper);border-radius:20px;padding:14px 16px;box-shadow:var(--shadow-pop)}
.product-usp__item p{font-size:15px!important;margin:0;font-weight:700;color:var(--ink)!important}
.number-chip{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--yellow);flex-shrink:0;transform:rotate(-6deg)}
.number-chip .icon{width:22px;height:22px}
.product-usp__item:nth-child(2) .number-chip{background:var(--lavender);transform:rotate(5deg)}
.product-usp__item:nth-child(3) .number-chip{background:var(--peach)}
.product-usp__item:nth-child(4) .number-chip{background:#CFE7D6;transform:rotate(4deg)}
.book-feature{position:relative;display:grid;place-items:center;min-height:440px}
.book-feature__stage{padding:30px}
.fireflies--usp span{box-shadow:0 0 10px 4px rgba(244,201,93,.7)}
.bvi-science{background:var(--sand);padding-top:30px}
.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.activity-card{position:relative;border-radius:34px;padding:34px 30px;background:var(--paper);border:2px solid rgba(22,59,53,.08);box-shadow:0 8px 0 #E8DDC3;overflow:hidden}
.activity-card:nth-child(2){background:var(--butter);box-shadow:0 8px 0 #EFD58B}
.activity-card:nth-child(3){background:var(--lilac);box-shadow:0 8px 0 #D5CAF6}
.activity-card__icon{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:var(--ink);color:var(--yellow);margin-bottom:26px;transform:rotate(-6deg);transition:transform .4s var(--ease-bounce)}
.activity-card:hover .activity-card__icon{transform:rotate(6deg) scale(1.1)}
.activity-card__icon .icon{width:30px;height:30px}
.activity-number{position:absolute;right:22px;top:12px;font-family:var(--f-display);font-size:92px;font-weight:600;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(22,59,53,.14)}
.activity-card h3{font-size:25px;margin-bottom:10px}
.activity-card p{font-size:16px;color:var(--muted);margin:0}
.bvi-why{background:var(--cream)}
.bvi-why .split-grid{align-items:start}
.why-milo{width:140px;height:auto;margin-top:26px;animation:bob 5s ease-in-out infinite}
.why-list{display:flex;flex-direction:column;gap:18px}
.why-list>div{display:flex;gap:20px;align-items:flex-start;background:var(--paper);border-radius:26px;padding:24px 26px;border:2px solid rgba(22,59,53,.08);transition:transform .35s var(--ease-bounce),box-shadow .3s}
.why-list>div:hover{transform:translateX(8px);box-shadow:-8px 8px 0 var(--mint)}
.why-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--mint);color:var(--green);flex-shrink:0}
.why-icon .icon{width:26px;height:26px}
.why-list h3{font-size:22px;margin-bottom:6px}
.why-list p{font-size:16px;margin:0;color:var(--muted)}
.bv-avis:not(.peek){background:linear-gradient(180deg,var(--cream),#F6EFE0)}
.preview-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.preview-section p:not(.eyebrow){max-width:460px;font-size:17.5px;color:var(--muted)}
.preview-section .button{margin-top:8px}
.page-fan--pdp{height:470px}
.page-fan--pdp .page-fan__page{transform:rotate(calc((var(--i) - 1.5) * var(--spread))) translateY(var(--lift,0px))}
.preview-bubble{position:absolute;z-index:12;bottom:10px;left:0;background:var(--lavender);width:130px;height:130px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--f-hand);font-size:25px;line-height:1.05;animation:wiggle 4s ease-in-out infinite;box-shadow:0 6px 0 #B1A0E6}
.cellular-stage{background:#F6EFE0}
.steps-path{position:relative}
.steps-path__line{position:absolute;left:0;right:0;top:0;width:100%;height:120px;color:var(--coral);z-index:0}
.cellular-stage__item{position:relative;z-index:1;text-align:center;padding:0 14px}
.step-number{position:relative;display:grid;place-items:center;width:112px;height:112px;margin:0 auto 26px;border-radius:50%;background:var(--yellow);box-shadow:0 8px 0 #C99A2E}
.step-number::before{content:'';position:absolute;inset:-12px;border-radius:50%;border:3px dashed var(--yellow);animation:spin 16s linear infinite}
.step-number>span{font-family:var(--f-display);font-size:40px;font-weight:600;line-height:1}
.step-number .icon{position:absolute;right:-6px;top:-4px;width:38px;height:38px;padding:8px;border-radius:50%;background:var(--ink);color:var(--yellow)}
.cellular-stage__item:nth-child(3) .step-number{background:var(--lavender);box-shadow:0 8px 0 #A996E0}.cellular-stage__item:nth-child(3) .step-number::before{border-color:var(--lavender)}
.cellular-stage__item:nth-child(4) .step-number{background:var(--coral);box-shadow:0 8px 0 #C96F58}.cellular-stage__item:nth-child(4) .step-number::before{border-color:var(--coral)}
.cellular-stage__item h3{font-size:25px}
.cellular-stage__item p{font-size:16px;color:var(--muted);max-width:320px;margin:0 auto}
.progress-timeline{background:var(--lilac)}
.progress-timeline .starfield svg{color:#fff}
.progress-timeline__container{position:relative;z-index:2}
.volumes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:30px 0 36px}
.progress-timeline__item{text-align:center}
.volume-shelf{display:grid;place-items:center;padding:34px 0 28px;border-radius:36px;background:radial-gradient(circle at 50% 60%,#fff 0,rgba(255,255,255,0) 65%)}
.progress-timeline__item>div{margin-top:10px}
.progress-timeline__item .eyebrow{font-size:12px;margin-bottom:6px}
.progress-timeline__item h3{font-size:22px;line-height:1.3}
.volume-preview-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-display);font-weight:600;font-size:15.5px;margin-top:8px;color:var(--green);text-decoration:none}
.volume-preview-link:hover{text-decoration:underline}
.comparison-table{background:var(--cream)}
.table-scroll{overflow-x:auto;border-radius:32px;border:2px solid var(--ink);box-shadow:0 8px 0 var(--ink);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:16px;min-width:560px}
th,td{text-align:left;padding:20px 26px;border-bottom:1.5px dashed rgba(22,59,53,.15)}
thead th{font-family:var(--f-display);font-size:18px;font-weight:600;background:var(--butter);vertical-align:bottom}
th{font-weight:700}
td.col-club,th.col-club{background:#EEF5E8}
thead th.col-club{background:var(--green);color:var(--cream)}
.col-badge{display:flex;align-items:center;gap:5px;width:fit-content;font-size:12px;background:var(--yellow);color:var(--ink);padding:3px 10px;border-radius:999px;margin-bottom:8px}
.tick{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--green);color:#fff;vertical-align:-6px;margin-right:4px}
tbody tr:last-child>*{border-bottom:0}
.progress-counter{background:var(--night);color:var(--cream);padding-bottom:120px}
.progress-counter__container{position:relative;z-index:2}
.progress-counter__container-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center}
.progress-counter__info-contents h2{color:var(--cream);margin:0}
.progress-counter .eyebrow{color:var(--yellow)}
.progress-counter__contents{display:flex;gap:30px;justify-content:space-between}
.progress-counter__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;flex:1}
.ring{position:relative;width:132px;height:132px}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke:rgba(255,255,255,.1);stroke-width:9}
.ring .ring__bar{stroke:var(--yellow);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease-out) calc(var(--i,0)*150ms + 200ms)}
.progress-counter__item.is-visible .ring__bar,html:not(.js) .ring__bar{stroke-dashoffset:calc(1 - var(--p))}
.progress-counter__item:nth-child(2) .ring__bar{stroke:var(--lavender)}.progress-counter__item:nth-child(3) .ring__bar{stroke:var(--coral)}
.ring strong{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-size:46px;font-weight:600;color:var(--cream)}
.progress-counter__item>span{font-size:15px;line-height:1.5;color:#C9D9CF;max-width:170px}
.last-call{grid-column:1/-1;border-top:1.5px dashed rgba(255,255,255,.2);padding-top:40px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.last-call h3{margin-bottom:6px;color:var(--cream);font-size:30px}
.last-call p{font-size:16px;color:#C9D9CF;margin:0}
.mobile-product-cta{display:none}

/* ============ PREVIEW / VIEWER ============ */
.book-preview{padding-top:10px;overflow:hidden}
.fireflies--preview{opacity:.8}
.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:30px;position:relative;z-index:2}
.preview-heading h1{font-size:clamp(36px,4.8vw,62px);line-height:1.05;max-width:850px;margin-bottom:12px}
.preview-heading p{max-width:780px;color:var(--muted);font-size:17.5px}
.preview-heading .button{flex-shrink:0}
.preview-volume-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px;position:relative;z-index:2}
.preview-volume-tabs a{display:flex;align-items:center;gap:14px;border:2px solid rgba(22,59,53,.14);border-radius:24px;padding:12px 16px;text-decoration:none;background:var(--paper);transition:transform .3s var(--ease-bounce),border-color .2s,box-shadow .2s}
.preview-volume-tabs a:hover{transform:translateY(-3px)}
.preview-volume-tabs img{width:44px;border-radius:5px;box-shadow:0 6px 12px -6px rgba(22,59,53,.5);transform:rotate(-5deg)}
.tab-text b{display:block;font-family:var(--f-display);font-size:17px;font-weight:600}
.tab-text span{display:block;font-size:14px;color:var(--muted);line-height:1.3}
.preview-volume-tabs a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--cream);box-shadow:0 6px 0 var(--green)}
.preview-volume-tabs a[aria-current=page] .tab-text span{color:#C9D9CF}
.book-viewer{position:relative;z-index:2;background:radial-gradient(90% 70% at 50% 40%,#FFF6DF 0%,#F1E6CC 100%);border:2px solid rgba(22,59,53,.1);border-radius:40px;padding:26px;outline-offset:5px;scroll-margin-top:110px;box-shadow:inset 0 -18px 40px -30px rgba(120,80,30,.35)}
.book-viewer-toolbar{position:sticky;top:96px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:760px;margin:0 auto 22px;padding:10px;background:rgba(255,253,248,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;box-shadow:var(--shadow-pop)}
.book-viewer-toolbar .button{min-height:48px;padding:8px 18px;gap:8px;font-size:15px}
.book-viewer-toolbar .button .icon{width:20px;height:20px}
.book-viewer-status{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.book-viewer-status p{font-family:var(--f-display);font-size:15px;text-align:center;margin:0}
.book-viewer-progress{width:min(240px,100%);height:7px;border-radius:9px;background:rgba(22,59,53,.1);overflow:hidden}
.book-viewer-progress span{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--yellow),var(--coral));transition:width .6s var(--ease-out)}
.book-viewer-desk{position:relative}
.viewer-milo{position:absolute;left:1%;bottom:0;width:clamp(90px,11vw,150px);height:auto;z-index:3;animation:bob 5s ease-in-out infinite;pointer-events:none}
.book-viewer-stage{max-width:620px;margin:0 auto}
.book-viewer-page{margin:0 0 28px}
.book-viewer-page a{position:relative;display:block;cursor:zoom-in;background:#fff;box-shadow:0 8px 24px #163b3518}
.book-viewer-page img{display:block;width:100%;height:auto}
.book-viewer-page figcaption{text-align:center;font-size:15px;margin-top:14px}
.book-viewer-page figcaption span{opacity:.65}
.zoom-chip{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(22,59,53,.85);color:#fff;opacity:0;transform:scale(.7);transition:opacity .25s,transform .3s var(--ease-bounce)}
.book-viewer-page a:hover .zoom-chip,.book-viewer-page a:focus-visible .zoom-chip{opacity:1;transform:scale(1)}
.is-interactive .book-viewer-stage{position:relative;width:min(560px,100%);aspect-ratio:1055/1491;perspective:2600px;transform-style:preserve-3d}
.is-interactive .book-viewer-stage::before{content:'';position:absolute;left:-14px;top:1%;bottom:1%;width:28px;border-radius:14px;background:linear-gradient(90deg,#1c4a39,#2d6a4f 50%,#1c4a39);box-shadow:0 20px 30px -14px rgba(0,0,0,.45);z-index:0}
.is-interactive .book-viewer-stage::after{content:'';position:absolute;left:3%;right:-4%;bottom:-5%;height:8%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(22,59,53,.35),transparent 70%);filter:blur(6px);z-index:-1}
.is-interactive .book-viewer-page{position:absolute;inset:0;margin:0;visibility:hidden;transform-origin:0 50%;transform-style:preserve-3d;z-index:1}
.is-interactive .book-viewer-page a{height:100%;border-radius:2px 10px 10px 2px;overflow:hidden;box-shadow:0 26px 50px -24px rgba(22,59,53,.6);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.is-interactive .book-viewer-page a::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(22,59,53,.22),rgba(22,59,53,0) 5%);}
.is-interactive .book-viewer-page img{height:100%;object-fit:cover}
.is-interactive .book-viewer-page::after{content:'';position:absolute;inset:0;border-radius:10px 2px 2px 10px;background:linear-gradient(270deg,#EDE3CC,#FFFDF6 40%);transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.is-interactive .book-viewer-page figcaption{display:none}
.is-interactive .book-viewer-page.is-current{visibility:visible;z-index:2}
.is-interactive .book-viewer-page.is-under{visibility:visible;z-index:1}
.is-interactive .book-viewer-page.is-turning{visibility:visible;z-index:5}
.book-viewer-page.turn-out{animation:turn-out .95s cubic-bezier(.45,.1,.25,1) forwards}
.book-viewer-page.turn-in{animation:turn-in .95s cubic-bezier(.45,.1,.25,1) forwards}
@keyframes turn-out{0%{transform:rotateY(0)}100%{transform:rotateY(-178deg)}}
@keyframes turn-in{0%{transform:rotateY(-178deg)}100%{transform:rotateY(0)}}
.book-viewer-page.is-under a::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(22,59,53,.35),transparent 70%);animation:under-shade .95s ease forwards}
@keyframes under-shade{0%{opacity:1}100%{opacity:0}}
.book-viewer-caption{text-align:center;font-family:var(--f-hand);font-size:30px;color:var(--green);margin:22px 0 0;min-height:1.2em}
.preview-help{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:14.5px;color:var(--muted);margin:14px 0 20px}
.book-viewer-thumbnails{display:flex;justify-content:center;gap:12px;overflow-x:auto;padding:12px 4px 12px}
.book-viewer-thumbnails button{position:relative;flex:0 0 66px;width:66px;background:#fff;border:3px solid transparent;border-radius:10px;padding:3px;transition:transform .3s var(--ease-bounce),border-color .2s}
.book-viewer-thumbnails button:hover{transform:translateY(-4px) rotate(-3deg)}
.book-viewer-thumbnails img{width:100%;height:auto;display:block;border-radius:5px}
.book-viewer-thumbnails span{position:absolute;right:-6px;bottom:-6px;display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
.book-viewer-thumbnails .active{border-color:var(--coral);transform:translateY(-4px)}
.preview-end{position:relative;z-index:2;display:flex;align-items:center;gap:36px;justify-content:space-between;margin-top:60px;background:var(--ink);color:var(--cream);border-radius:40px;padding:40px 46px;box-shadow:0 10px 0 var(--green)}
.preview-end__milo{width:110px;height:auto;flex-shrink:0;animation:walk 1.2s ease-in-out infinite}
.preview-end>div{flex:1}
.preview-end h2{color:var(--cream);font-size:clamp(26px,3vw,38px);margin-bottom:10px}
.preview-end p{color:#C9D9CF;margin:0}
.preview-end .eyebrow{color:var(--yellow)}
.preview-end .button{flex-shrink:0}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:4vh 4vw;background:rgba(16,48,43,.9);opacity:0;transition:opacity .25s}
.lightbox.is-open{opacity:1}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;transform:scale(.92) rotate(-2deg);transition:transform .45s var(--ease-bounce)}
.lightbox.is-open figure{transform:none}
.lightbox img{max-height:84vh;width:auto;max-width:92vw;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lightbox figcaption{color:var(--cream);font-family:var(--f-hand);font-size:28px}
.lightbox__close{position:absolute;right:22px;top:22px;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:0;background:var(--yellow);color:var(--ink);box-shadow:0 4px 0 #C99A2E}
.lightbox__close .icon{width:24px;height:24px}

/* ============ PAGE HEADINGS / ARTICLES ============ */
.page-heading{position:relative;padding:60px 0 50px}
.page-heading h1{font-size:clamp(40px,5vw,68px);max-width:900px}
.page-heading p:not(.eyebrow){max-width:640px;color:var(--muted);font-size:18px}
.page-heading--compact{padding:36px 0 30px}
.page-heading--compact h1{font-size:clamp(36px,4.2vw,56px);margin-bottom:0}
.page-heading--scene{margin-top:-88px;padding:170px 0 120px;overflow:hidden;background:radial-gradient(80% 90% at 85% 10%,#FFF1C7 0%,rgba(255,241,199,0) 60%),linear-gradient(180deg,#FFF9EF,#FCEFD0)}
.page-heading--scene .section-container{position:relative;z-index:2}
.page-heading__sky{position:absolute;inset:0;pointer-events:none}
.page-heading__sky .cloud--1{top:120px;left:52%}
.page-heading__sky .cloud--2{top:60px;left:auto;right:4%;width:180px;height:90px}
.page-heading__sky .spark--1{top:210px;left:44%}
.page-heading__sky .spark--2{top:140px;right:30%;left:auto}
.heading-mascot{position:absolute;right:40px;bottom:-40px;height:260px;width:auto;filter:drop-shadow(0 14px 14px rgba(22,59,53,.2));animation:bob 5s ease-in-out infinite}
.page-heading--scene h1,.page-heading--scene p:not(.eyebrow){max-width:min(760px,calc(100% - 240px))}
.page-heading--lost h1{max-width:700px}
.lost-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:12px}
.lost-milo{height:220px;width:auto;margin-bottom:20px;animation:wiggle 3s ease-in-out infinite}
.page-heading--account{text-align:center;padding:40px 0 34px}
.page-heading--account p:not(.eyebrow){margin:0 auto}
.page-heading--account h1{margin-left:auto;margin-right:auto}
.account-milo{height:150px;width:auto;margin:0 auto 14px;animation:bob 5s ease-in-out infinite}
.page-heading--article{padding:24px 0 30px}
.page-heading--article h1{font-size:clamp(36px,4.4vw,58px);max-width:980px}
.byline{display:inline-flex;align-items:center;gap:8px;font-size:15px!important}
.article-layout{max-width:820px;margin:0 auto;padding:40px 40px 100px}
.article-layout h2{font-size:clamp(28px,3vw,38px);margin-top:48px;position:relative;padding-bottom:12px}
.article-layout h2::after{content:'';position:absolute;left:0;bottom:0;width:90px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6c10-5 18-5 26 0s16 5 24 0 16-5 24 0 14 4 22 0' fill='none' stroke='%23F4C95D' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.article-layout h3{font-size:24px;margin-top:32px}
.article-layout p,.article-layout li{font-size:18px;line-height:1.85;color:#2E4A44}
.article-layout .lead{font-size:22px;font-family:var(--f-display);color:var(--green)}
.article-layout ul,.article-layout ol{padding-left:24px}
.article-layout li{margin-bottom:8px}
.article-layout li::marker{color:var(--coral);font-weight:800}
.article-layout a{color:var(--green);font-weight:700}
.article-layout a.button{color:var(--cream)}
.article-layout--post>p:first-of-type::first-letter{float:left;font-family:var(--f-display);font-weight:600;font-size:88px;line-height:.82;padding:8px 14px 0 0;color:var(--coral)}
.article-layout--legal p,.article-layout--legal li{font-size:16.5px;line-height:1.75}
.article-layout--legal h2{font-size:26px}
.polaroid--article{--rot:-1.5deg;margin:0 0 50px;transform:rotate(var(--rot))}
.article-hero{width:100%;aspect-ratio:1.7;object-fit:cover}
.article-callout{position:relative;padding:32px 34px;background:var(--mint);border-radius:30px;margin:44px 0;border:2px solid rgba(22,59,53,.08)}
.article-callout::before{content:'';position:absolute;top:-14px;left:40px;width:110px;height:30px;background:rgba(244,201,93,.75);transform:rotate(-4deg)}
.article-callout h2,.article-callout h3{margin-top:4px}
.article-callout h2::after{display:none}
.article-callout p{font-size:16.5px!important}
.article-callout .club-number{display:block;font-family:var(--f-display);font-size:64px;font-weight:600;color:var(--green);line-height:1;margin-bottom:6px}
.article-callout--wide{margin-top:70px;background:var(--butter);text-align:center;padding:44px}
.article-callout--wide p{max-width:680px;margin-left:auto;margin-right:auto}
.article-callout--wide .download-list{justify-content:center}
.article-layout nav ul{list-style:none;padding:0}
.article-layout nav li a{display:flex;align-items:center;gap:10px;background:var(--paper);border:2px solid rgba(22,59,53,.1);border-radius:18px;padding:14px 18px;text-decoration:none;transition:transform .3s var(--ease-bounce)}
.article-layout nav li a:hover{transform:translateX(6px)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.blog-card{border-radius:34px;overflow:hidden;border:2px solid rgba(22,59,53,.1);background:var(--paper);box-shadow:0 8px 0 #E8DDC3;display:flex;flex-direction:column}
.blog-card:nth-child(2){box-shadow:0 8px 0 #D5CAF6}.blog-card:nth-child(3){box-shadow:0 8px 0 #EFD58B}
.blog-card__media{display:block;overflow:hidden}
.blog-card img{width:100%;aspect-ratio:1.25;object-fit:cover;transition:transform .8s var(--ease-out)}
.blog-card:hover img{transform:scale(1.06) rotate(-1deg)}
.blog-card>div{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.blog-card h2{font-size:25px;line-height:1.25}
.blog-card h2 a{text-decoration:none}
.blog-card p{font-size:16px;color:var(--muted)}
.blog-card .text-link{margin-top:auto;align-self:flex-start}
.video-embed{width:100%;aspect-ratio:16/9;border:0;border-radius:20px}

/* ============ FORMS / CART / CHECKOUT ============ */
.checkout-steps{list-style:none;padding:0;margin:0 0 26px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;counter-reset:s}
.checkout-steps li{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:500;font-size:15px;color:var(--muted)}
.checkout-steps li+li::before{content:'';width:36px;height:0;border-top:2.5px dotted rgba(22,59,53,.3);margin-right:4px}
.checkout-steps li>span,.checkout-steps li a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper);border:2px solid rgba(22,59,53,.2);font-weight:600}
.checkout-steps a{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.checkout-steps .is-current{color:var(--ink)}
.checkout-steps .is-current>span{background:var(--yellow);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}
.checkout-steps .is-done span{background:var(--green);border-color:var(--green);color:#fff}
.checkout-steps .is-done .icon{width:16px;height:16px}
.form-panel,.summary-panel{position:relative;background:var(--paper);border:2px solid rgba(22,59,53,.12);border-radius:32px;padding:32px;box-shadow:var(--shadow-pop)}
.form-panel h2,.summary-panel h2{font-size:26px;display:flex;align-items:center;gap:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid>label{display:flex;flex-direction:column;font-size:14.5px;font-weight:700;gap:7px}
.form-grid .full{grid-column:1/-1}
.checkout-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:start;padding-bottom:40px}
.checkout-layout .summary-panel{position:sticky;top:110px;overflow:hidden}
.checkout-section{margin-bottom:34px;padding-bottom:30px;border-bottom:2px dashed rgba(22,59,53,.12)}
.checkout-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.checkout-section h2{font-size:22px}
.section-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--yellow);font-size:17px;box-shadow:0 3px 0 #C99A2E;flex-shrink:0}
.order-line{display:flex;gap:18px;align-items:center;padding:20px 0;border-bottom:2px dashed rgba(22,59,53,.12);animation:line-in .5s var(--ease-bounce) both}
@keyframes line-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.order-line img{width:74px;height:auto;aspect-ratio:1055/1491;object-fit:cover;border-radius:4px 8px 8px 4px;box-shadow:6px 10px 16px -8px rgba(22,59,53,.5);transform:rotate(-4deg)}
.order-line>div{flex:1}
.order-line h3{font-size:19px;margin:0 0 6px}
.order-line p{font-size:14px;margin:0;color:var(--muted)}
.order-line>strong{font-family:var(--f-display);font-size:21px;font-weight:600;white-space:nowrap}
.order-line select{padding:6px 12px;font-size:15px;margin:10px 10px 0 0;border-radius:999px}
.remove-item{border:0;background:none;text-decoration:underline;font-size:14px;color:var(--muted)}
.remove-item:hover{color:#a1392d}
.summary-total{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:15.5px;margin-top:15px}
.summary-total.grand{font-family:var(--f-display);font-size:24px;font-weight:600;border-top:2px dashed rgba(22,59,53,.15);padding-top:18px;margin-top:22px}
.cart-summary .button,.summary-panel>.button{width:100%;margin-top:26px}
.summary-milo{position:absolute;right:-12px;bottom:-14px;width:96px;height:auto;opacity:.95;transform:rotate(-6deg);pointer-events:none}
.summary-panel .text-link{margin-bottom:40px}
.secure-line{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;color:var(--muted);margin:16px 0 0}
.empty-state{text-align:center;padding:40px 20px 50px}
.empty-milo{height:170px;width:auto;margin:0 auto 18px;animation:bob 4s ease-in-out infinite}
.empty-state p{color:var(--muted)}
.empty-state h2{font-size:32px;justify-content:center}
.field-check{display:flex;gap:12px;align-items:flex-start;margin:18px 0;font-size:15px;line-height:1.55}
.field-check input{margin-top:2px}
.form-error{color:#a1392d;font-size:15px;line-height:1.6;margin:15px 0;font-weight:700}
.form-error:empty{margin:0}
.form-notice{font-size:15px;padding:16px 18px;border-radius:18px;background:var(--butter);margin:15px 0;border:2px dashed #E3C36A}
.notice-strip{display:flex;align-items:center;gap:10px;background:var(--mint);border-radius:18px;padding:15px 18px;font-size:15px;margin:22px 0}
.notice-strip .icon{width:24px;height:24px;color:var(--green)}
.ship-actions{margin-top:6px}
.ship-actions .button{flex:1}
.shipping-option{padding:15px 16px;border:2px solid rgba(22,59,53,.14);border-radius:18px;display:flex;gap:12px;align-items:center;margin:10px 0;font-size:15px;background:#fff;transition:border-color .2s,background .2s}
.shipping-option:has(input:checked){border-color:var(--green);background:#F1F7EC}
.shipping-option>span{flex:1}
.shipping-option small{display:block;font-size:13.5px;color:var(--muted)}
#shipping-points{max-height:360px;overflow-y:auto;overscroll-behavior:contain;margin:12px 0;padding-right:6px}
.order-status{background:var(--mint);padding:28px;border-radius:24px;margin-bottom:25px}
.order-status--ok{background:var(--butter);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink)}
.download-list{display:flex;gap:15px;flex-wrap:wrap}
.progress-label{font-size:15px;margin:12px 0;color:var(--muted);font-weight:600}
.shipping-meter{position:relative;margin:26px 0 20px;padding-right:50px}
.free-shipping-bar{height:16px;background:rgba(22,59,53,.08);border-radius:20px;overflow:visible;position:relative}
.free-shipping-bar>span{position:relative;display:block;height:100%;background:repeating-linear-gradient(45deg,var(--green) 0 10px,var(--leaf) 10px 20px);background-size:28px 28px;border-radius:20px;width:0;transition:width .8s var(--ease-out);animation:stripes 1s linear infinite}
@keyframes stripes{to{background-position:28px 0}}
.shipping-meter__fox{position:absolute;right:-24px;top:-40px;width:48px;height:56px;background:url('/assets/img/mascots/milo-walk.webp') center/contain no-repeat;animation:walk .9s ease-in-out infinite}
.shipping-meter__goal{position:absolute;right:0;top:50%;display:grid;place-items:center;width:40px;height:40px;margin-top:4px;border-radius:50%;background:var(--yellow);box-shadow:0 3px 0 #C99A2E}
.shipping-meter.is-complete .shipping-meter__goal{animation:bump .8s var(--ease-bounce) infinite alternate}
.one-column-form{max-width:640px;margin:0 auto 60px;padding:0 22px}
.one-column-form label:not(.field-check){display:block;font-size:15px;font-weight:700;margin:20px 0}
.one-column-form input:not([type=checkbox]),.one-column-form textarea{display:block;width:100%;margin-top:8px}
.one-column-form .button{width:100%}
.code-input{font-family:var(--f-display);font-size:28px!important;letter-spacing:.5em;text-align:center}
.account-session-picker{margin:15px 0;width:100%}

/* Toast, confetti, flying book */
.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,30px);background:var(--ink);color:#fff;border-radius:999px;padding:14px 24px;font-size:15px;z-index:160;opacity:0;pointer-events:none;transition:opacity .25s,transform .35s var(--ease-bounce)}
.toast.visible{opacity:1;transform:translate(-50%,0)}
.confetti-piece{position:fixed;z-index:170;pointer-events:none}
.fly-book{position:fixed;z-index:170;width:80px;height:auto;border-radius:4px 8px 8px 4px;box-shadow:0 18px 30px -10px rgba(22,59,53,.6);pointer-events:none}

/* ============ RESPONSIVE ============ */
@media(min-width:1500px){.section-container{max-width:1360px}}
@media(max-width:1180px){
 .section-container{padding-left:30px;padding-right:30px}
 #main-nav>a{padding:10px 11px;font-size:15px}
 .account-link span{display:none}
 .hero-stage{height:520px}
 .products-grid{gap:26px}
 .world-card__info{padding:26px 26px 30px}
 .split-grid{gap:50px}
 .product-usp__container-inner{padding:44px}
 .friends-grid{gap:20px}
 .flip-card{height:420px}
}
@media(max-width:980px){
 .site-header__container{padding:0 10px 0 20px}
 .menu-toggle{display:block}
 .account-link{display:none}
 #main-nav{position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;padding:120px 26px 30px;background:var(--cream);clip-path:circle(0 at calc(100% - 50px) 50px);visibility:hidden;transition:clip-path .6s var(--ease-out),visibility 0s linear .6s;overflow-y:auto}
 #main-nav.open{clip-path:circle(150% at calc(100% - 50px) 50px);visibility:visible;transition:clip-path .6s var(--ease-out),visibility 0s}
 #main-nav>a{font-size:30px;font-weight:600;padding:12px 6px;border-radius:18px;opacity:0;translate:0 16px;transition:opacity .4s,translate .5s var(--ease-bounce),background .2s}
 #main-nav>a::after{left:6px;right:auto;width:120px}
 #main-nav.open>a{opacity:1;translate:0 0}
 #main-nav.open>a:nth-child(1){transition-delay:.12s}#main-nav.open>a:nth-child(2){transition-delay:.18s}#main-nav.open>a:nth-child(3){transition-delay:.24s}#main-nav.open>a:nth-child(4){transition-delay:.3s}
 .nav-drawer-extra{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;position:relative;padding-bottom:160px;opacity:0;transition:opacity .4s .35s}
 #main-nav.open .nav-drawer-extra{opacity:1}
 .nav-drawer-extra>a{font-family:var(--f-display);font-size:16px;font-weight:500;padding:10px 16px;border-radius:999px;background:var(--paper);border:2px solid var(--line);text-decoration:none}
 .nav-chip--yellow{background:var(--butter)!important}.nav-chip--lavender{background:var(--lilac)!important}
 .nav-drawer-milo{position:absolute;right:0;bottom:0;height:150px;width:auto;animation:bob 4s ease-in-out infinite}
 .site-header__container{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,253,248,.97)}
 .hero-grid{grid-template-columns:1fr;gap:10px;min-height:0;text-align:center}
 .hero-copy{padding-top:0}
 .hero-title{margin-left:auto;margin-right:auto}
 .hero-copy>.lead{margin-left:auto;margin-right:auto}
 .hero-actions,.hero-reassurance{justify-content:center}
 .hero-stage{height:480px;max-width:620px;width:100%;margin:0 auto}
 .hero-sun{width:70vw;right:-10%;top:auto;bottom:260px}
 .home-hero{padding-bottom:170px}
 .products-grid{grid-template-columns:1fr;max-width:640px;margin:0 auto}
 .friends-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}
 .peek-grid{grid-template-columns:1fr;gap:40px}
 .page-fan{height:440px}
 .discovery-grid{grid-template-columns:1fr}
 .risk-grid{grid-template-columns:1fr;gap:40px}
 .club-journey{justify-self:center}
 .faq-grid{grid-template-columns:1fr;gap:34px}
 .faq-aside{position:static}
 .faq-aside__art{display:none}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
 .footer-cta{flex-direction:column;align-items:flex-start;padding:38px 34px}
 .product-offer__container{grid-template-columns:1fr;gap:34px}
 .product-offer__media{position:static}
 .product-offer__main-slider{max-width:620px;margin:0 auto}
 .split-grid{grid-template-columns:1fr;gap:40px}
 .preview-section{grid-template-columns:1fr;gap:30px}
 .three-columns{grid-template-columns:1fr;gap:22px;max-width:560px;margin:0 auto}
 .steps-path__line{display:none}
 .volumes-grid{grid-template-columns:repeat(3,1fr);gap:16px}
 .progress-counter__container-inner{grid-template-columns:1fr}
 .checkout-layout{grid-template-columns:1fr}
 .checkout-layout .summary-panel{position:relative;top:auto}
 .blog-grid{grid-template-columns:1fr 1fr}
 .heading-mascot{height:180px;right:24px;bottom:-24px}
 .page-heading--scene h1,.page-heading--scene p:not(.eyebrow){max-width:calc(100% - 150px)}
 .preview-heading{flex-direction:column;align-items:flex-start}
 .preview-end{flex-direction:column;align-items:flex-start;text-align:left}
 .viewer-milo{display:none}
}
@media(max-width:700px){
 body{font-size:16px}
 .section-space{padding:80px 0}
 .section-container{padding-left:20px;padding-right:20px}
 .site-header{padding-top:8px}
 .site-header__container{height:64px;width:calc(100% - 20px)}
 .site-header.is-scrolled .site-header__container{height:58px}
 .wordmark .logo-image{width:122px}
 .cart-link,.menu-toggle{width:46px;height:46px}
 .menu-toggle span{left:13px;right:13px}.menu-toggle span:nth-child(1){top:15px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:29px}
 .menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .site-announcement{font-size:12.5px;height:36px}
 .home-hero{margin-top:-78px;padding:104px 0 150px}
 .hero-title{font-size:clamp(42px,11.5vw,62px)}
 .lead{font-size:17px}
 .hero-actions{flex-direction:column;gap:18px;margin:26px 0 22px}
 .hero-actions .button{width:100%}
 .hero-reassurance li{font-size:13px;padding:6px 11px}
 .hero-stage{height:380px}
 .hero-book--back{left:2%;top:10%}
 .hero-book--front{left:28%;top:16%}
 .book3d--hero-back{--w:140px}
 .book3d--hero-front{--w:170px}
 .hero-milo{width:118px;right:0;bottom:20px}
 .hero-luma{width:170px;height:170px;left:14%}
 .hero-luma__img{width:58px;margin-left:-29px}
 .hero-note{font-size:26px;bottom:34px}
 .hero-note__arrow{width:66px;left:88px;top:-38px}
 .hero-badge{width:98px;height:98px;right:2%}
 .hero-badge>span{width:38px;height:38px}
 .hero-land{height:200px}
 .cloud--2,.cloud--3{display:none}
 .cloud--1{width:96px;height:48px;top:58px;left:-34px;opacity:.8}
 .eyebrow.chip{font-size:11px;letter-spacing:.08em;padding:7px 13px 7px 10px}
 .fireflies span:nth-child(n+9){display:none}
 .benefits-marquee{height:130px}
 .ribbon--front span{font-size:19px;padding:0 20px}
 .ribbon--back span{font-size:14px}
 .section-intro{display:block;margin-bottom:34px}
 .section-intro>p{margin-top:16px;max-width:none;font-size:16.5px}
 .section-intro.centered{margin-bottom:40px}
 .world-card{border-radius:32px}
 .age-sticker{width:74px;height:74px;font-size:16px;top:14px;left:14px}
 .world-card--grands .age-sticker{right:14px;bottom:14px}
 .book3d--card{--w:150px}
 .world-card__info{padding:22px 22px 26px}
 .card-price strong{font-size:29px}
 .choice-note{flex-direction:column;align-items:center;text-align:center;gap:6px;margin-top:40px}
 .choice-note__milo{width:96px;order:2}
 .speech{margin-bottom:0}
 .speech::before{left:50%;bottom:-14px;margin-left:-12px;transform:rotate(-45deg) skew(10deg,10deg)}
 .flip-card{height:390px}
 .flip-card__name{font-size:34px}
 .peek-grid{margin-bottom:60px}
 .page-fan{height:340px}
 .page-fan__page{width:170px;margin-left:-85px;bottom:30px}
 .page-fan__hint{font-size:22px;top:-20px}
 .page-fan--pdp{height:360px}
 .discovery-grid article{grid-template-columns:1fr;padding:18px;text-align:center}
 .discovery-grid .blob-img{max-width:260px;margin:0 auto}
 .club-night{padding:100px 0 130px}
 .night-moon{width:70px;top:40px}
 .club-journey{max-width:420px}
 .journey-step span{font-size:11.5px}
 .journey-step b{font-size:15px}
 .inline-actions{flex-direction:column;align-items:flex-start;gap:14px}
 summary{font-size:17px;padding:18px 18px}
 .faq-accordion__item-description>div{padding:0 18px 20px;font-size:15.5px}
 .faq-toggle{width:32px;height:32px}
 .site-footer{margin-top:110px}
 .footer-scene{top:-120px;height:130px}
 .footer-milo{width:80px;right:6%;bottom:26px}
 .footer-cta{padding:30px 24px;border-radius:30px;gap:24px}
 .footer-grid{grid-template-columns:1fr;gap:26px}
 .footer-bottom{flex-direction:column;gap:8px}
 .breadcrumb{font-size:13px;padding-top:18px;padding-bottom:18px}
 .product-offer__main-slider{border-radius:30px}
 .turntable{padding:20px 40px}
 .book3d--pdp{--w:180px}
 .pdp-mascot{height:30%}
 .gallery-thumb{width:64px;height:64px;border-radius:16px}
 .product-offer__info-title{font-size:42px}
 .product-hook{font-size:20px}
 .offer-box{padding:18px;border-radius:26px}
 .offer-heading{flex-direction:column;align-items:flex-start;gap:8px}
 .purchase-option{padding:15px 14px;gap:10px}
 .purchase-option strong{font-size:15.5px}
 .purchase-option small{font-size:13px}
 .option-price{font-size:21px}
 .quantity-line>span{margin-left:0;width:100%}
 .product-usp__container-inner{padding:30px 22px;border-radius:34px}
 .product-usp__contents{grid-template-columns:1fr}
 .book-feature{min-height:340px}
 .activity-number{font-size:72px}
 .why-list>div{padding:20px;gap:14px}
 .volumes-grid{grid-template-columns:1fr;gap:24px;max-width:340px;margin-left:auto;margin-right:auto}
 .progress-counter__contents{gap:10px}
 .ring{width:96px;height:96px}
 .ring strong{font-size:34px}
 .progress-counter__item>span{font-size:13px}
 .last-call{flex-direction:column;align-items:flex-start}
 .last-call .button{width:100%}
 th,td{padding:15px 16px;font-size:14.5px}
 .mobile-product-cta{position:sticky;bottom:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 10px 10px;padding:10px 10px 10px 20px;background:rgba(255,253,248,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--ink);border-radius:999px;box-shadow:0 6px 0 var(--ink)}
 .mobile-product-cta>span{font-size:13px}
 .mobile-product-cta strong{display:block;font-family:var(--f-display);font-size:17px}
 .mobile-product-cta .button{min-height:46px;font-size:15px;padding:6px 6px 6px 18px}
 .mobile-product-cta .button__arrow{width:34px;height:34px}
 .preview-volume-tabs{gap:8px}
 .preview-volume-tabs a{flex-direction:column;align-items:flex-start;gap:8px;padding:10px;border-radius:18px}
 .preview-volume-tabs img{width:34px}
 .tab-text span{display:none}
 .book-viewer{padding:12px 8px 16px;border-radius:26px}
 .book-viewer-toolbar{top:76px;gap:6px;padding:6px}
 .book-viewer-toolbar .button{padding:6px 12px;min-height:44px}
 .book-viewer-toolbar .button span{display:none}
 .book-viewer-status p{font-size:12.5px}
 .is-interactive .book-viewer-stage{width:min(88%,480px)}
 .book-viewer-caption{font-size:24px}
 .book-viewer-thumbnails{justify-content:flex-start}
 .book-viewer-thumbnails button{flex-basis:52px;width:52px}
 .preview-end{padding:30px 24px;border-radius:30px}
 .preview-end .button{width:100%}
 .page-heading--scene{margin-top:-78px;padding:130px 0 100px}
 .heading-mascot{height:120px;right:14px;bottom:-14px}
 .page-heading--scene h1,.page-heading--scene p:not(.eyebrow){max-width:100%}
 .page-heading--scene h1{padding-right:70px}
 .article-layout{padding:24px 20px 70px}
 .article-layout p,.article-layout li{font-size:17px}
 .article-layout--post>p:first-of-type::first-letter{font-size:66px}
 .article-callout{padding:26px 22px}
 .blog-grid{grid-template-columns:1fr}
 .form-panel,.summary-panel{padding:22px;border-radius:26px}
 .form-grid{grid-template-columns:1fr}
 .form-grid .full{grid-column:auto}
 .ship-actions{flex-direction:column;align-items:stretch}
 .order-line{flex-wrap:wrap}
 .order-line img{width:60px}
 .summary-milo{width:74px}
 .checkout-steps li{font-size:13px}
 .checkout-steps li+li::before{width:16px}
 .toast{bottom:90px;max-width:90%;min-width:250px;text-align:center}
 .lightbox__close{right:12px;top:12px}
}
@media(max-width:400px){
 .hero-stage{height:340px}
 .book3d--hero-back{--w:118px}
 .book3d--hero-front{--w:146px}
 .hero-milo{width:96px}
 .hero-note{display:none}
 .product-offer__info-title{font-size:36px}
 .flip-card{height:370px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js [data-reveal],.is-split .w{opacity:1!important;translate:none!important;scale:none!important;rotate:none!important}
 .hero-title__squiggle path,.draw-path{stroke-dashoffset:0!important}
 .ring .ring__bar{stroke-dashoffset:calc(1 - var(--p))!important}
 .hl{background-size:100% 100%!important}
 .page-fan{--spread:11deg!important}
 .journey-step{opacity:1!important;scale:none!important}
 .mailbox__flag{transform:none!important}
}


/* Blog audio, photographs and lazy YouTube embeds */
.article-audio-card{margin:18px 0 0;padding:18px 22px;background:var(--mint);border:2px solid rgba(22,59,53,.12);border-radius:26px;box-shadow:0 5px 0 #C4D8C2;text-align:left}
.article-audio-card__heading{display:flex;align-items:center;gap:14px}
.article-audio-card__heading .eyebrow{margin:0;font-size:12px}
.article-audio-card__title{margin:2px 0 0!important;font-family:var(--f-display);font-size:18px!important;line-height:1.25!important;color:var(--ink)!important}
.article-audio-card__mark{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:25px;font-weight:700}
.article-audio-card__duration{margin-left:auto;font-size:13px;font-weight:700;color:var(--green);white-space:nowrap}
.article-audio-card audio{display:block;width:100%;height:44px;margin:10px 0 0;accent-color:var(--green)}
.article-image__asset{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:14px}
.polaroid--article{overflow:hidden;background:var(--paper);padding:12px 12px 18px;border-radius:8px}
.polaroid--article figcaption,.article-image-inline figcaption{padding:12px 8px 0;font-size:14px;line-height:1.45;color:var(--muted);text-align:center}
.article-image-inline{max-width:760px;margin:42px auto;padding:12px;background:var(--paper);border:1px solid rgba(22,59,53,.1);border-radius:22px;box-shadow:0 8px 0 #E8DDC3;transform:rotate(-.5deg)}
.article-image-inline img{border-radius:14px}
.article-image-inline figcaption{padding:13px 14px 5px}
.article-callout--activity{background:#FFF4D7}
.article-context-link{padding:16px 20px;background:var(--paper);border-left:5px solid var(--yellow);border-radius:0 16px 16px 0}
.article-video{overflow:hidden}
.article-video__trigger{display:flex;align-items:center;gap:18px;width:100%;min-height:138px;padding:22px 26px;border:2px solid rgba(22,59,53,.13);border-radius:22px;background:linear-gradient(125deg,#E6F1E6,#FFF9EF 68%,#F4E8C8);color:var(--ink);text-align:left;transition:transform .2s var(--ease-bounce),box-shadow .2s}
.article-video__trigger:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(22,59,53,.14)}
.article-video__play{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:var(--yellow);box-shadow:0 4px 0 #D7A83D}
.article-video__play::after{content:'';width:0;height:0;margin-left:4px;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:16px solid var(--ink)}
.article-video__label{display:grid;gap:7px}
.article-video__label strong{font-family:var(--f-display);font-size:19px;line-height:1.25}
.article-video__label>span{font-size:14px;color:var(--green)}
.article-video .small{font-size:14px!important}
.article-related{margin-top:58px}
.article-sources{margin:48px 0;padding:26px 28px;background:var(--paper);border:2px solid rgba(22,59,53,.1);border-radius:24px}
.article-sources h2{margin-top:0}
.article-sources li{margin-bottom:8px}
@media(max-width:660px){
 .article-audio-card{padding:16px;border-radius:20px}
 .article-audio-card__heading{gap:10px}
 .article-audio-card__mark{flex-basis:36px;width:36px;height:36px;font-size:22px}
 .article-audio-card__title{font-size:16px!important}
 .article-audio-card__duration{font-size:12px}
 .article-video__trigger{min-height:120px;padding:18px}
 .article-video__play{flex-basis:48px;width:48px;height:48px}
 .article-video__label strong{font-size:17px}
 .article-image-inline{margin:30px auto;padding:8px;border-radius:17px}
 .article-sources{padding:21px 18px}
}

/* Direct age choice: visible without JavaScript, comfortably tappable. */
.hero-age-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 18px}
.hero-age-choice{display:flex;align-items:center;gap:12px;min-height:100px;padding:16px;border:2px solid var(--ink);border-radius:22px;color:var(--ink);text-decoration:none;text-align:left;box-shadow:0 5px 0 var(--ink);transition:transform .2s,box-shadow .2s}
.hero-age-choice--petits{background:var(--butter)}
.hero-age-choice--grands{background:var(--lilac)}
.hero-age-choice:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--ink)}
.hero-age-choice:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.hero-age-choice>span:not(.hero-age-choice__icon){min-width:0}
.hero-age-choice strong{display:block;font-family:var(--f-display);font-size:26px;line-height:1.2}
.hero-age-choice small{display:block;margin-top:4px;font-size:13px;font-weight:800;line-height:1.35}
.hero-age-choice>.icon{margin-left:auto;width:20px;height:20px}
.hero-age-choice__icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:rgba(255,255,255,.65)}
.hero-price-note{font-size:14px;line-height:1.6;margin-bottom:10px;color:var(--muted)}
.hero-price-note strong{color:var(--ink)}
.hero-preview-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.hero-preview-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 5px;font-weight:800;text-decoration-thickness:2px}
.world-card__preview{display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:14px;font-weight:800;font-size:15px}
@media(min-width:981px){.home-hero{padding-bottom:150px}.hero-grid{min-height:620px}.hero-title{font-size:clamp(46px,5.1vw,74px)}}
@media(max-width:980px){.hero-age-choices{max-width:560px;margin-left:auto;margin-right:auto}.hero-preview-links{justify-content:center}.hero-price-note{text-align:center}}
@media(max-width:700px){
 .home-hero{padding-bottom:84px}
 .hero-grid{gap:4px}
 .hero-title{font-size:clamp(36px,10.5vw,56px);margin-bottom:22px}
 .hero-copy>.lead{font-size:16px;line-height:1.6;margin-bottom:18px}
 .hero-copy>.eyebrow{font-size:10px;letter-spacing:.04em;margin-bottom:16px}
 .hero-age-choices{gap:10px;margin-top:18px;margin-bottom:16px}
 .hero-age-choice{min-height:92px;padding:13px 11px;gap:8px;border-radius:18px}
 .hero-age-choice__icon{display:none}
 .hero-age-choice strong{font-size:25px}
 .hero-age-choice small{font-size:12px}
 .hero-age-choice>.icon{width:17px;height:17px}
 .hero-preview-links{gap:10px;font-size:13px}
 .hero-price-note{font-size:13px;margin-bottom:4px}
 .hero-stage{height:290px;margin-top:12px}
 .hero-milo{bottom:0}
 .hero-land{height:140px}
 .hero-note{bottom:15px}
}

/* If the script fails to load, keep the mobile navigation and content usable. */
@media(max-width:980px){
 html:not(.js) .site-header{position:relative}
 html:not(.js) .site-header__container{height:auto;flex-wrap:wrap;border-radius:24px;padding:12px;gap:12px}
 html:not(.js) .menu-toggle{display:none}
 html:not(.js) #main-nav{position:static;inset:auto;z-index:auto;order:3;flex:1 0 100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:4px;clip-path:none;visibility:visible;overflow:visible}
 html:not(.js) #main-nav>a{opacity:1;translate:none;font-size:15px;line-height:1.4;padding:10px}
 html:not(.js) .nav-drawer-extra{display:none}
 html:not(.js) .home-hero,html:not(.js) .page-heading--scene{margin-top:0;padding-top:32px}
}



/* ---------- Commande, remerciements et espace client (2026-09-28) ---------- */
.account-hero{position:relative}
.account-hero--thanks{padding-top:26px}
.checkout-steps--center{justify-content:center}
.thanks-art{display:block;width:min(560px,100%);height:auto;margin:0 auto 6px;animation:book-float 7s ease-in-out infinite}
.account-shell{max-width:1040px;margin:0 auto 70px;padding:0 22px}
.account-shell--narrow{max-width:640px}
.account-card{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);padding:28px 30px;box-shadow:var(--shadow-soft)}
.account-card h2{display:flex;align-items:center;gap:10px;font-size:22px;margin:0 0 16px}
.account-card h2 .icon{width:22px;height:22px;color:var(--coral)}
.order-state{display:flex;gap:22px;align-items:center;max-width:720px;margin:0 auto 34px;padding:26px 30px;border-radius:var(--radius);background:linear-gradient(135deg,var(--butter),var(--paper));border:1.5px solid rgba(244,201,93,.55);box-shadow:var(--shadow-soft)}
.order-state h2{font-size:21px;margin:0 0 6px}
.order-state p{margin:0 0 12px;color:var(--muted)}
.order-state p:last-child{margin-bottom:0}
.order-state__icon{flex:0 0 auto;width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--paper);box-shadow:0 0 0 6px rgba(244,201,93,.25)}
.order-state__icon img{width:52px;height:auto}
.order-state__icon--spin img{animation:bob 2.4s ease-in-out infinite}
.order-state.is-slow{background:linear-gradient(135deg,var(--lilac),var(--paper));border-color:rgba(199,185,239,.8)}
.progress-dots{display:flex;gap:7px}
.progress-dots i{width:9px;height:9px;border-radius:50%;background:var(--green);animation:bump 1.2s ease-in-out infinite}
.progress-dots i:nth-child(2){animation-delay:.15s;background:var(--yellow)}
.progress-dots i:nth-child(3){animation-delay:.3s;background:var(--coral)}
.small-button{min-height:46px;padding:8px 20px;font-size:15px}
.download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin:0 0 30px}
.download-grid:empty{display:none}
.download-card{display:flex;gap:22px;align-items:center;padding:24px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);animation:line-in .6s var(--ease-bounce) both;position:relative;overflow:hidden}
.download-card::after{content:'';position:absolute;right:-40px;top:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(244,201,93,.35),transparent 70%);pointer-events:none}
.download-card:nth-child(2){animation-delay:.08s}.download-card:nth-child(3){animation-delay:.16s}
.download-card__cover{flex:0 0 118px}
.download-card__cover img{display:block;width:118px;height:auto;aspect-ratio:1055/1491;object-fit:cover;border-radius:4px 10px 10px 4px;box-shadow:8px 12px 20px -8px rgba(22,59,53,.5);transform:rotate(-3deg);transition:transform .35s var(--ease-bounce)}
.download-card:hover .download-card__cover img{transform:rotate(0) scale(1.03)}
.download-card__body{flex:1;min-width:0}
.download-card__kicker{margin:0 0 4px;font-family:var(--f-display);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
.download-card h3{font-size:21px;margin:0}
.download-card__volume{margin:2px 0 6px;font-style:italic;color:var(--ink)}
.download-card__meta{margin:0 0 14px;font-size:14px;color:var(--muted)}
.download-card__button{min-height:50px;font-size:15.5px;padding-left:20px}
.account-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}
.print-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.print-steps li{display:flex;gap:14px;align-items:flex-start}
.print-steps li>span{flex:0 0 36px;height:36px;display:grid;place-items:center;border-radius:50%;font-family:var(--f-display);font-weight:600;background:var(--butter);color:#8A6412}
.print-steps li:nth-child(2)>span{background:var(--lilac);color:#5B4A99}
.print-steps li:nth-child(3)>span{background:var(--peach);color:#A4513A}
.print-steps strong{font-family:var(--f-display);font-weight:600;font-size:17px}
.print-steps p{margin:2px 0 0;font-size:15px;color:var(--muted)}
.order-summary .order-line{padding:14px 0}
.order-summary .order-line h3{font-size:16.5px}
.club-note{display:flex;gap:12px;align-items:flex-start;margin:18px 0 16px;padding:14px 16px;border-radius:18px;background:var(--lilac)}
.club-note .icon{flex:0 0 22px;width:22px;height:22px;color:#5B4A99;margin-top:2px}
.club-note p{margin:0;font-size:14.5px}
.login-card{max-width:640px;margin:10px auto 18px}
.login-card form{display:grid;gap:12px;margin-top:14px}
.account-help{margin-top:10px}
.unsub-card{display:grid;gap:14px;justify-items:center;text-align:center}
@media (max-width:820px){.account-columns{grid-template-columns:1fr}.account-card{padding:22px 20px}.download-card{padding:18px;gap:16px}.download-card__cover{flex-basis:92px}.download-card__cover img{width:92px}.order-state{flex-direction:column;text-align:center;padding:22px 20px}.order-state .progress-dots{justify-content:center}.download-grid{grid-template-columns:1fr}}
@media (max-width:420px){.download-card{flex-direction:column;text-align:center}.download-card__cover{flex-basis:auto}.download-card__button{width:100%}}
@media (prefers-reduced-motion:reduce){.thanks-art,.order-state__icon--spin img,.progress-dots i,.download-card{animation:none}}
@media (max-width:480px){.checkout-steps--center{gap:12px;flex-wrap:nowrap}.checkout-steps--center li{gap:6px;font-size:12.5px;white-space:nowrap}.checkout-steps--center li+li::before{display:none}.checkout-steps--center li>span{width:28px;height:28px}}

/* ---------- Code promo : récapitulatif, saisie, rappel (2026-09-29) ---------- */
.promo-line{color:var(--green)}
.promo-line strong{color:var(--green)}
.promo-remove{margin-left:6px;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:underline;cursor:pointer}
.promo-box{margin:10px 0 4px;padding:12px 14px;border:1px dashed rgba(22,59,53,.25);border-radius:14px;background:#fff}
.promo-box summary{cursor:pointer;font-weight:700;color:var(--green)}
.promo-form{display:flex;gap:8px;margin-top:10px}
.promo-form input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px}
.promo-form .button{flex-shrink:0}
.promo-box .form-error:empty{display:none}
.promo-banner{position:relative;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;padding:10px 44px 10px 16px;background:var(--butter);color:var(--ink);font-size:15px;line-height:1.4;text-align:center;border-bottom:1px solid #EAD9A6}
.promo-banner a{font-weight:800;color:var(--green)}
.promo-banner button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.7);font-size:16px;line-height:1;cursor:pointer;color:var(--ink)}
