:root{--ink:#130b2d;--navy:#170b36;--purple:#5f00ff;--gold:#e5a024;--blue:#0083eb;--muted:#c3b9de;--line:#ffffff26;--paper:#f4edff;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:#fff;font-family:var(--font);line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #f6bf58;outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:16px;z-index:30;padding:12px;background:white;color:var(--ink)}.skip:focus{top:10px}.header{min-height:92px;padding:22px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#190c39;position:relative;z-index:10;gap:30px}.brand{font-size:27px;font-weight:900;letter-spacing:-1.5px;line-height:1;display:block;white-space:nowrap}.brand>span{color:var(--gold)}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:5px;margin-top:10px}.header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.header nav a{padding:9px 0;border-bottom:2px solid transparent}.header nav a:hover,.header nav [aria-current]{border-bottom-color:var(--gold)}.portal-label{font-size:11px;font-weight:500;color:#dbd1f3;border-left:1px solid var(--line);padding-left:24px;max-width:230px}.portal-label small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:1.8px;font-size:8px;margin-top:4px}.menu-toggle{display:none}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;text-transform:uppercase;margin:0 0 16px}.hero{min-height:720px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 52% 35%,#7117ff 0,#5007c7 31%,#290b62 70%,#1a0c39 100%);padding:43px 24px 92px;text-align:center}.hero-content{position:relative;z-index:2;max-width:880px;margin:auto}.hero .eyebrow{color:#e8dcff;font-size:9px;letter-spacing:3px}.mascot-stage{width:220px;height:236px;margin:25px auto 7px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:50% 50% 46% 46%;background:#fff;box-shadow:0 0 0 9px #ffffff10,0 24px 70px #15063744}.hero-reddi{width:174px;height:199px;object-fit:contain;animation:reddi-bounce 4.8s ease-in-out infinite;display:block}.spark{position:absolute;font-size:36px;color:var(--gold)}.spark-one{left:-46px;top:35px;transform:rotate(15deg)}.spark-two{right:-46px;bottom:29px;font-size:23px}.hero-title{font-size:clamp(58px,7.5vw,100px);font-weight:900;line-height:1.1;letter-spacing:-6px;margin:20px 0 14px}.hero-title span{color:#f2b442}.slogan{font-size:clamp(13px,1.8vw,19px);font-weight:700;letter-spacing:.1px;margin:0 0 22px;animation:slogan-in 1s .2s both}.slogan span{color:var(--gold);margin:0 8px}.hero-intro{color:#ded2f5;font-size:15px;line-height:1.65;margin:0 0 25px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:6px;padding:15px 22px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;background:#fff;color:var(--ink)}.button:hover{transform:translateY(-3px);background:#efe5ff}.button.gold{background:var(--gold);color:#25123e}.button.gold:hover{background:#f3b743}.hero-orbit{position:absolute;pointer-events:none;width:1150px;height:460px;border:1px solid #bd98ff36;border-radius:50%;left:50%;top:145px;transform:translateX(-50%) rotate(-23deg)}.orbit-two{transform:translateX(-50%) rotate(23deg);width:1350px;height:390px;top:175px;border-color:#ffffff0b}.motion-toggle{position:absolute;bottom:81px;right:5.5%;background:transparent;color:#d9c8f6;border:1px solid #ffffff38;border-radius:30px;font-size:10px;padding:8px 12px;z-index:3}.motion-toggle span{margin-left:8px}.hero-bottom{position:absolute;left:5.5%;right:5.5%;bottom:25px;display:flex;justify-content:space-between;text-align:left;border-top:1px solid var(--line);padding-top:18px;font-size:9px;letter-spacing:1.6px;color:#c3b0e7}.hero-bottom a{letter-spacing:.4px}.motion-paused .hero-reddi,.motion-paused .slogan{animation-play-state:paused}@keyframes reddi-bounce{0%,55%,100%{transform:translateY(0) rotate(0)}65%{transform:translateY(-10px) rotate(-2deg)}76%{transform:translateY(0) rotate(1deg)}84%{transform:translateY(-4px) rotate(0)}92%{transform:translateY(0)}}@keyframes slogan-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.section{padding:80px 5.5%;max-width:1500px;margin:auto}.section-heading h2,.enquiry h2{font-size:clamp(32px,3.6vw,48px);line-height:1.14;letter-spacing:-2px;margin:0 0 14px}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:15px}.section-heading .eyebrow{color:var(--gold)}.stage-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.stage-card{position:relative;overflow:hidden;border-radius:12px;padding:30px 28px 74px;min-height:315px;transition:transform .2s}.stage-card:hover{transform:translateY(-5px)}.preschool{background:#e5a024;color:#29143e}.kindergarten{background:#5f00ff}.primary{background:#0083eb;color:#061b36}.stage-symbol{font-size:65px;font-weight:900;line-height:1;letter-spacing:-6px;display:block;margin-bottom:27px;opacity:.6}.stage-card .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:7px}.stage-card h3{font-size:30px;letter-spacing:-1px;margin:0 0 8px;line-height:1.2}.stage-card p:not(.eyebrow){font-size:12px;margin:0;max-width:260px}.circle-arrow{width:32px;height:32px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;position:absolute;bottom:25px;right:25px;font-size:20px}.collections-section{padding-top:10px}.horizontal{display:flex;justify-content:space-between;align-items:end;gap:28px}.text-link{font-size:12px;font-weight:700}.horizontal>.text-link{margin-bottom:18px;color:#f3c260}.collections{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin-top:32px}.collection{padding:25px 23px 22px 0;margin-right:23px;border-right:1px solid var(--line);transition:color .2s;display:flex;flex-direction:column;align-items:start}.collection:last-child{border-right:0;margin-right:0}.collection-number{color:#c3a2ff;font-size:12px}.collection h3{font-size:19px;line-height:1.3;letter-spacing:-.5px;margin:22px 0 12px;min-height:50px}.collection p{color:var(--muted);font-size:12px;margin:0 0 25px}.collection .text-link{color:var(--gold);margin-top:auto;font-size:10px}.collection:hover{color:var(--gold)}.enquiry{background:#0059a3;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:62px 8%;}.enquiry .eyebrow{color:#c3e9ff}.enquiry h2{font-size:38px}.enquiry p:not(.eyebrow){font-size:14px;color:#d2eaff}.enquiry>.button{flex-shrink:0}footer{padding:38px 5.5%;display:flex;gap:30px;align-items:center;justify-content:space-between}footer .brand{font-size:23px}footer p,footer>a:not(.brand){font-size:10px;color:var(--muted)}.catalogue-title{background:linear-gradient(120deg,#320679,#5f00ff);padding:60px 5.5% 58px}.catalogue-title .eyebrow{color:#e2c5ff}.catalogue-title h1{font-size:clamp(44px,5vw,65px);line-height:1.06;letter-spacing:-3px;margin:0 0 20px}.catalogue-title h1 span{color:#f3b442}.catalogue-title>p:last-child{color:#e2d1fa;font-size:14px;margin:0}.catalogue{padding-top:38px}.catalogue-controls{border-bottom:1px solid var(--line);padding-bottom:27px}.filter-label{font-size:9px;letter-spacing:1.7px;color:#baa8d9;margin-bottom:12px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{padding:10px 17px;background:#271348;color:#efe5fc;border:1px solid #624889;border-radius:5px;font-size:12px;transition:background .15s}.filters button:hover{background:#452477}.stage-filters button{font-size:14px;padding:12px 20px}.filters button[aria-pressed=true]{background:var(--gold);color:#241132;border-color:var(--gold);font-weight:700}.format-label{margin-top:24px}.subfilters{padding-top:13px}.subfilters button{font-size:11px;border-radius:30px;background:transparent}.subfilters button[aria-pressed=true]{color:#fff;background:#5f00ff;border-color:#8651ff}.subject-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:26px;font-size:10px;color:#b8a9d0}.subject-row>span:first-child{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;margin-right:3px}.subject-row small{font-size:8px;padding:2px 4px;border:1px solid #ffffff26;border-radius:3px;margin-left:3px}.subject-row .subject-current{color:#fff}.results-heading{display:flex;justify-content:space-between;align-items:center;margin:34px 0 22px}.results-heading h2{font-size:25px;letter-spacing:-.6px;margin:0}#result-count{font-size:12px;color:var(--muted)}.catalogue-group{margin:0 0 45px}.catalogue-group>h3{font-size:17px;font-weight:500;padding-bottom:13px;border-bottom:1px solid var(--line);margin:0 0 22px;color:#dac8f7}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.book-card{position:relative;min-width:0}.book-link{display:block}.cover-well{height:276px;display:flex;align-items:center;justify-content:center;padding:22px;border-radius:8px;background:#eadff7;overflow:hidden;transition:background .2s}.book-card:nth-child(even) .cover-well{background:#ddedfa}.book-link:hover .cover-well{background:#f4d39a}.cover{position:relative;height:230px;width:auto;aspect-ratio:0.775;overflow:hidden;filter:drop-shadow(3px 6px 5px #1b0a2440);flex-shrink:0}.cover img{display:block;width:100%;height:100%;object-fit:contain}.cover.spread{aspect-ratio:0.787}.cover.spread img{width:200%;max-width:none;object-fit:fill;transform:translateX(-50%)}.book-card .eyebrow{font-size:8px;letter-spacing:1.2px;color:#c7acee;margin:18px 0 7px}.book-card h3,.book-card h2{font-size:17px;line-height:1.35;letter-spacing:-.3px;margin:0 0 8px}.book-card .variant-label{font-size:12px;color:#d0bbed;margin:0 0 8px}.book-card .summary{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 14px}.book-card .text-link{color:var(--gold);font-size:11px}.draft-label{position:absolute;top:10px;left:10px;background:#180d32;color:#fff;border-radius:3px;padding:4px 7px;font-size:8px;letter-spacing:.6px}.filter-note{background:#302049;border-left:3px solid var(--gold);padding:15px 18px;font-size:12px;color:#e8d7ff;margin-bottom:25px}.catalogue-empty{padding:55px 25px;text-align:center;background:#24123f;border:1px solid var(--line);border-radius:10px;max-width:850px;margin:auto}.catalogue-empty h3{font-size:26px;margin:0 0 10px}.catalogue-empty p{font-size:14px;color:var(--muted);max-width:530px;margin:0 auto 24px}.catalogue-empty .button{font-size:12px}.back-link{color:#ddc2ff;font-size:12px;display:inline-block;margin-bottom:35px}.detail-section{padding-top:35px;min-height:70vh}.book-detail{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:6%;align-items:start}.book-detail>.cover-well{height:505px;background:linear-gradient(140deg,#eadefa,#cbdcfb);padding:40px}.book-detail .cover{height:min(395px,43vw);}.detail-copy{padding:8px 0 0}.detail-copy .eyebrow{color:var(--gold);font-size:9px}.detail-copy h1{font-size:clamp(30px,3.4vw,46px);line-height:1.12;letter-spacing:-1.5px;margin:0 0 16px}.detail-author{font-size:13px;color:var(--muted);margin:0 0 20px}.detail-copy>.summary{font-size:16px;line-height:1.7;color:#e2d7f1}.detail-copy .variant-label{font-size:19px;margin:-5px 0 20px;color:#d8bcff}.book-tags{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.book-tags span{border:1px solid #745493;border-radius:30px;padding:6px 12px;font-size:11px}.development,.detail-note{font-size:11px;background:#302044;padding:12px 15px;color:#d8c7ee;border-radius:5px}.source-note{font-size:10px;color:#b29dcf}.availability{border-top:1px solid var(--line);margin-top:27px;padding-top:22px}.availability h2{font-size:20px;letter-spacing:-.5px;margin:0 0 8px}.availability p{font-size:12px;color:var(--muted);margin:0 0 18px}.availability .button{font-size:12px}
@media(min-width:1500px){.header,.catalogue-title{padding-left:max(5.5%,calc((100vw - 1335px)/2));padding-right:max(5.5%,calc((100vw - 1335px)/2))}}@media(max-width:1050px){.header nav{gap:18px}.portal-label{max-width:188px;padding-left:16px;font-size:9px}.brand{font-size:25px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collections{grid-template-columns:repeat(3,1fr);gap:20px}.collection{border-right:0;margin-right:0}.hero-title{letter-spacing:-4px}.stage-card{padding:26px 22px 66px}.stage-card h3{font-size:25px}.stage-card p:not(.eyebrow){font-size:11px}footer p{display:none}.cover-well{height:264px}.cover{height:220px}}@media(max-width:720px){.header{min-height:78px;padding:19px 6%;gap:15px}.brand{font-size:24px}.brand small{font-size:7px;letter-spacing:4.5px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #ffffff44;color:white;font-size:11px;padding:8px 12px;border-radius:4px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#201040;padding:20px 6% 24px;border-bottom:1px solid var(--line);align-items:start;gap:12px}.header nav.is-open{display:flex;flex-direction:column}.header nav a{font-size:14px}.portal-label{border-left:0;border-top:1px solid var(--line);padding:15px 0 0;margin-top:5px;max-width:none;font-size:11px;width:100%}.hero{min-height:690px;padding:36px 20px 116px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.mascot-stage{width:199px;height:222px;margin-top:26px}.hero-title{font-size:59px;letter-spacing:-3.8px;margin:21px 0 16px}.slogan{font-size:12px;line-height:1.8;max-width:340px;margin:0 auto 20px}.slogan span{margin:0 3px}.hero-intro{font-size:12px;margin-bottom:24px}.button{padding:14px 19px;font-size:12px}.hero-bottom{bottom:20px;left:6%;right:6%;font-size:7px;letter-spacing:.9px}.motion-toggle{bottom:67px;right:6%;font-size:9px;padding:6px 10px}.section{padding:50px 6%}.section-heading h2{font-size:35px;letter-spacing:-1.5px}.section-heading>p:not(.eyebrow){font-size:13px}.eyebrow{font-size:8px;letter-spacing:1.8px}.stage-cards{grid-template-columns:1fr;gap:12px;margin-top:25px}.stage-card{min-height:186px;padding:28px 26px 30px}.stage-symbol{position:absolute;right:26px;top:20px;font-size:70px;opacity:.22}.stage-card .eyebrow{margin-top:8px;font-size:8px}.stage-card h3{font-size:29px;margin:7px 0}.stage-card p:not(.eyebrow){font-size:11px;max-width:230px}.circle-arrow{bottom:20px;right:22px;width:27px;height:27px;font-size:17px}.collections-section{padding-top:12px}.horizontal{display:block}.horizontal>.text-link{display:inline-block;margin:10px 0 0}.collections{grid-template-columns:1fr;margin-top:26px;gap:0}.collection{display:grid;grid-template-columns:28px 1fr auto;gap:0 14px;padding:22px 0;border-bottom:1px solid var(--line)}.collection-number{grid-row:1/4;padding-top:4px;font-size:10px}.collection h3{margin:0 0 8px;min-height:0;font-size:19px;grid-column:2}.collection p{grid-column:2;margin:0;font-size:11px}.collection .text-link{grid-column:2;margin-top:13px;font-size:10px}.enquiry{padding:45px 6%;display:block}.enquiry h2{font-size:34px}.enquiry p:not(.eyebrow){font-size:12px;margin-bottom:25px}footer{padding:30px 6%;align-items:start;gap:30px;flex-direction:column}footer .brand{font-size:24px}footer>a:not(.brand){font-size:11px}.catalogue-title{padding:42px 6%}.catalogue-title h1{font-size:43px;letter-spacing:-2.5px}.catalogue-title>p:last-child{font-size:12px;max-width:290px}.catalogue{padding-top:27px}.filters{gap:7px}.filters button{padding:8px 10px;font-size:10px}.stage-filters button{font-size:11px;padding:10px 12px}.filter-label{font-size:8px}.subject-row{gap:12px 15px;line-height:1.7}.subject-row>span:first-child{width:100%}.results-heading h2{font-size:21px}.results-heading{gap:15px;margin:27px 0 20px}#result-count{font-size:10px;white-space:nowrap}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.cover-well{height:214px;padding:15px 9px}.cover{height:186px;max-width:100%}.book-card h3,.book-card h2{font-size:14px;line-height:1.4}.book-card .eyebrow{font-size:7px;letter-spacing:.7px;margin-top:12px}.book-card .summary{font-size:10px}.book-card .text-link{font-size:10px}.book-card .variant-label{font-size:10px}.catalogue-group>h3{font-size:14px}.draft-label{font-size:7px;left:6px;top:7px;padding:3px 5px}.filter-note{font-size:10px;padding:12px}.book-detail{grid-template-columns:1fr;gap:30px}.book-detail>.cover-well{height:405px;max-width:450px;width:100%;margin:auto}.book-detail .cover{height:350px}.detail-copy h1{font-size:33px}.detail-copy>.summary{font-size:14px}.detail-section{padding-top:25px}.back-link{margin-bottom:24px}.book-tags span{font-size:10px}.detail-copy .eyebrow{font-size:8px}.detail-author{font-size:12px}.catalogue-empty{padding:35px 20px}.catalogue-empty h3{font-size:23px}.catalogue-empty p{font-size:12px}}@media(max-width:365px){.hero-title{font-size:52px}.hero-intro{font-size:11px}.slogan{font-size:11px}.cover-well{height:184px}.cover{height:158px}.filters button{font-size:9px;padding:8px 9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.slogan{opacity:1;transform:none}}

.hero{min-height:775px}@media(max-width:720px){.hero{min-height:757px}}



/* Approved complete logo, preserved uncropped; confirmed Preschool colour correction. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.brand-logo{display:block;width:74px;height:auto;border-radius:3px}.header{padding-top:14px;padding-bottom:14px}.brand small{display:none}footer .brand-logo{width:96px}
.approved-logo-stage{width:min(410px,90%);margin:22px auto 24px}.hero-reddi.approved-logo{display:block;width:100%;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 22px 65px #15063744}
.preschool{background:#fff;color:#29143e}
@media(max-width:720px){.brand-logo{width:61px}.header{padding-top:10px;padding-bottom:10px}.approved-logo-stage{width:min(325px,92%);margin:24px auto 22px}.hero{min-height:775px}}

/* Three-stage reveal of the intact approved logo, then a clear gentle lift and tilt. */
.approved-logo-stage{animation:logo-reveal 3s cubic-bezier(.22,.61,.36,1) both;transform-origin:50% 60%;overflow:visible}
.hero-reddi.approved-logo{animation:logo-float 5.5s 3s ease-in-out infinite;transform-origin:50% 64%}
@keyframes logo-reveal{0%{opacity:0;transform:translateY(36px) scale(.96);clip-path:inset(0 0 100% 0 round 6px)}14%{opacity:1;transform:translateY(10px) scale(.99);clip-path:inset(0 0 29% 0 round 6px)}40%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 29% 0 round 6px)}63%{clip-path:inset(0 0 12% 0 round 6px)}72%{clip-path:inset(0 0 12% 0 round 6px)}100%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(-30px -30px -30px -30px round 6px)}}
@keyframes logo-float{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-18px) rotate(-1.8deg)}50%{transform:translateY(-5px) rotate(.4deg)}75%{transform:translateY(-13px) rotate(1.8deg)}}
.motion-paused .approved-logo-stage,.motion-paused .approved-logo{animation-play-state:paused}
.motion-controls{position:absolute;right:5.5%;bottom:81px;z-index:3;display:flex;gap:8px}.motion-controls .motion-toggle{position:static}.motion-toggle:disabled{opacity:.6;cursor:default}
@media(max-width:720px){.motion-controls{bottom:67px;right:6%;gap:6px}.motion-controls .motion-toggle{padding:6px 9px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.approved-logo-stage,.hero-reddi.approved-logo{animation:none!important;transform:none!important;clip-path:none!important;opacity:1!important}}

/* Energetic motion direction approved after version 3. Uniform scale only, no artwork distortion. */
.approved-logo-stage{animation:logo-bounce-in 3.4s cubic-bezier(.2,.75,.3,1) both}
.hero-reddi.approved-logo{animation:logo-energetic-bounce 3.8s 3.4s ease-in-out infinite}
@keyframes logo-bounce-in{
 0%{opacity:0;transform:translateY(85px) scale(.85);clip-path:inset(0 0 100% 0 round 6px)}
 16%{opacity:1;transform:translateY(-24px) scale(1.04);clip-path:inset(0 0 29% 0 round 6px)}
 24%{transform:translateY(8px) scale(.98);clip-path:inset(0 0 29% 0 round 6px)}
 33%{transform:translateY(-8px) scale(1);clip-path:inset(0 0 29% 0 round 6px)}
 40%{transform:translateY(0) scale(1);clip-path:inset(0 0 29% 0 round 6px)}
 53%{transform:translateY(-11px) scale(1.09);clip-path:inset(0 0 12% 0 round 6px)}
 61%{transform:translateY(0) scale(1);clip-path:inset(0 0 12% 0 round 6px)}
 72%{transform:translateY(-8px) scale(1.025);clip-path:inset(0 0 8% 0 round 6px)}
 80%{transform:translateY(0) scale(1);clip-path:inset(0 0 5% 0 round 6px)}
 91%{transform:translateY(-7px) scale(1.025);clip-path:inset(-36px -36px -36px -36px round 6px)}
 100%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(-36px -36px -36px -36px round 6px)}}
@keyframes logo-energetic-bounce{0%,58%,100%{transform:translateY(0) rotate(0)}12%{transform:translateY(-30px) rotate(-3deg)}23%{transform:translateY(3px) rotate(1deg)}33%{transform:translateY(-17px) rotate(3deg)}43%{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-7px) rotate(0)}}
.motion-paused .approved-logo-stage,.motion-paused .approved-logo{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.approved-logo-stage,.hero-reddi.approved-logo{animation:none!important;transform:none!important;clip-path:none!important;opacity:1!important}}

/* Transparent original-art layers: Reddi moves independently of ribbon and slogan. */
.reddi-scene{position:relative;width:min(430px,100%);height:446px;margin:22px auto 22px;isolation:isolate}
.mascot-position{position:absolute;left:19%;top:28px;width:65%;height:309px;z-index:3;pointer-events:none}
.mascot-entrance{width:100%;height:100%;animation:reddi-arrive .95s cubic-bezier(.2,.8,.3,1) both}
.reddi-character{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 18px 10px #14002366);animation:reddi-play 3.8s 1s ease-in-out infinite;transform-origin:50% 85%}
.mascot-ground{position:absolute;z-index:0;width:45%;height:25px;left:28%;top:306px;background:radial-gradient(ellipse,#16012a77 0,transparent 69%);animation:ground-play 3.8s 1s ease-in-out infinite}
.ribbon-position{position:absolute;left:0;top:330px;width:100%;height:74px;z-index:4}
.reddi-ribbon{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 5px #17032466);animation:ribbon-arrive .7s .65s cubic-bezier(.18,.85,.25,1.3) both}
.slogan-panel{position:absolute;left:12%;bottom:-15px;width:76%;height:63px;padding:7px 12px;border-radius:18px;background:#fff6e6;box-shadow:0 8px 24px #18003530;z-index:5}
.slogan-piece{position:absolute;inset:8px 13px;display:block;transform-origin:center;animation:slogan-beat .52s cubic-bezier(.2,.9,.3,1.25) both}
.slogan-piece img{display:block;width:100%;height:100%;object-fit:contain}
.slogan-first{clip-path:inset(0 50% 48% 0);animation-delay:1.25s}
.slogan-second{clip-path:inset(0 0 48% 50%);animation-delay:1.62s}
.slogan-third{clip-path:inset(52% 0 0 0);animation-delay:1.99s}
.play-letter{font-size:40px;font-weight:900;line-height:1;position:absolute;z-index:2;pointer-events:none;text-shadow:0 5px 9px #16033050;animation:letter-play 3.8s 1s ease-in-out infinite}
.letter-a{right:1%;top:61px;color:#f4b73d;transform:rotate(12deg);--travel-x:-13px;--travel-y:-24px;--letter-angle:12deg}
.letter-b{left:7%;top:93px;color:#fff1cd;--travel-x:15px;--travel-y:24px;--letter-angle:-13deg;animation-delay:1.15s}
.number-one{left:3%;top:228px;color:#3dd6ff;--travel-x:21px;--travel-y:-26px;--letter-angle:15deg;animation-delay:1.28s}
.number-two{right:4%;top:243px;color:#f4b73d;--travel-x:-13px;--travel-y:-31px;--letter-angle:-16deg;animation-delay:1.4s}
@keyframes reddi-arrive{0%{opacity:0;transform:translateY(66px) scale(.77) rotate(-7deg)}57%{opacity:1;transform:translateY(-19px) scale(1.07) rotate(3deg)}77%{transform:translateY(8px) scale(.98) rotate(-2deg)}100%{opacity:1;transform:none}}
@keyframes reddi-play{0%,59%,100%{transform:translateY(0) rotate(0)}12%{transform:translate(-6px,-32px) rotate(-5deg)}23%{transform:translate(0,4px) rotate(1deg)}35%{transform:translate(8px,-19px) rotate(5deg)}46%{transform:translateY(0) rotate(-1deg)}52%{transform:translateY(-7px) rotate(0)}}
@keyframes ground-play{0%,23%,46%,59%,100%{transform:scaleX(1);opacity:.65}12%{transform:scaleX(.62);opacity:.3}35%{transform:scaleX(.77);opacity:.42}}
@keyframes ribbon-arrive{0%{opacity:0;transform:translateY(17px) scale(.58) rotate(-5deg)}67%{opacity:1;transform:translateY(-5px) scale(1.12) rotate(2deg)}100%{opacity:1;transform:none}}
@keyframes slogan-beat{0%{opacity:0;transform:translateY(14px) scale(.85)}70%{opacity:1;transform:translateY(-3px) scale(1.07)}100%{opacity:1;transform:none}}
@keyframes letter-play{0%,59%,100%{transform:translate(0,0) rotate(0)}18%{transform:translate(var(--travel-x),var(--travel-y)) rotate(var(--letter-angle))}36%{transform:translate(0,-4px) rotate(-4deg)}}
.motion-paused .reddi-scene .motion-piece{animation-play-state:paused}

@media(max-width:720px){.reddi-scene{width:min(340px,100%);height:363px;margin:20px auto 20px}.mascot-position{top:24px;left:19%;height:249px}.mascot-ground{top:246px;height:20px}.ribbon-position{top:268px;height:60px}.slogan-panel{left:7%;width:86%;bottom:-19px;height:60px}.play-letter{font-size:31px}.letter-a{right:0;top:48px}.letter-b{left:4%;top:82px}.number-one{left:2%;top:195px}.number-two{right:1%;top:205px}.hero{min-height:820px}}
@media(prefers-reduced-motion:reduce){.reddi-scene .motion-piece{animation:none!important;transform:none!important;opacity:1!important}.mascot-ground{opacity:.5!important}}
/* Split the two-line original slogan through its transparent inter-line gap. */
.slogan-first{clip-path:inset(0 50% 50% 0)}.slogan-second{clip-path:inset(0 0 50% 50%)}.slogan-third{clip-path:inset(50% 0 0 0)}

/* Expressive ABC 123 characters, inspired by the user's reference illustration. */
.play-character{position:absolute;width:72px;height:90px;z-index:2;pointer-events:none;filter:drop-shadow(0 5px 6px #12042150);animation:character-hop 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
.play-character svg{display:block;width:100%;height:100%;overflow:visible}
.character-a{left:-2%;top:29px}.character-b{left:-1%;top:130px}.character-c{left:-2%;top:233px}.character-one{right:-2%;top:29px}.character-two{right:-1%;top:130px}.character-three{right:-2%;top:233px}
.character-shape{transform-box:fill-box;transform-origin:50% 94%;animation:character-squash 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
.character-eyes{transform-box:fill-box;transform-origin:center;animation:character-blink 4.3s calc(.5s + var(--character-delay)) infinite}
.character-pupils{animation:character-look 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
.character-mouth{transform-box:fill-box;transform-origin:50% 0;animation:character-smile 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
.character-arm-left{transform-box:fill-box;transform-origin:100% 100%;animation:character-wave-left 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
.character-arm-right{transform-box:fill-box;transform-origin:0 100%;animation:character-wave-right 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
.character-cheek{animation:character-blush 3.8s calc(1s + var(--character-delay)) ease-in-out infinite}
@keyframes character-hop{0%,60%,100%{transform:translateY(0) rotate(0)}18%{transform:translateY(-15px) rotate(-6deg)}34%{transform:translateY(3px) rotate(5deg)}47%{transform:translateY(-6px) rotate(0)}}
@keyframes character-squash{0%,60%,100%{transform:scale(1,1)}9%{transform:scale(1.12,.88)}18%{transform:scale(.9,1.13)}34%{transform:scale(1.1,.88)}48%{transform:scale(.97,1.04)}}
@keyframes character-blink{0%,41%,46%,100%{transform:scaleY(1)}43%,44%{transform:scaleY(.12)}}
@keyframes character-look{0%,60%,100%{transform:translateX(0)}18%,28%{transform:translateX(2px)}40%,47%{transform:translateX(-2px)}}
@keyframes character-smile{0%,60%,100%{transform:scaleY(.68)}18%,32%{transform:scaleY(1.16)}45%{transform:scaleY(.85)}}
@keyframes character-wave-left{0%,60%,100%{transform:rotate(0)}18%{transform:rotate(-22deg)}31%{transform:rotate(13deg)}43%{transform:rotate(-16deg)}}
@keyframes character-wave-right{0%,60%,100%{transform:rotate(0)}18%{transform:rotate(20deg)}31%{transform:rotate(-16deg)}43%{transform:rotate(18deg)}}
@keyframes character-blush{0%,60%,100%{opacity:.35}18%,36%{opacity:.8}}
/* Slogan has no panel or coloured rectangle. Clear space separates it from the ribbon. */
.reddi-scene{height:475px;margin-bottom:19px}
.slogan-free{position:absolute;top:421px;left:0;width:100%;color:#fff8ed;text-shadow:0 2px 7px #130524;line-height:1.45;text-align:center;font-size:17px;font-weight:700;background:none;border:0;box-shadow:none;padding:0}
.slogan-word{display:inline-block;animation:slogan-beat .52s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:1.25s}
.slogan-word:nth-of-type(3){animation-delay:1.62s}.slogan-last{display:block;animation-delay:1.99s;margin-top:5px}.slogan-separator{color:var(--gold);padding:0 7px}
.primary{background:#fff;color:#29143e}.enquiry{background:#fff;color:#29143e}.enquiry .eyebrow{color:#5f00cc}.enquiry p:not(.eyebrow){color:#514165}
@media(max-width:720px){.play-character{width:56px;height:71px}.character-a,.character-one{top:24px}.character-b,.character-two{top:111px}.character-c,.character-three{top:199px}.character-a,.character-b,.character-c{left:-2%}.character-one,.character-two,.character-three{right:-2%}.reddi-scene{height:403px;margin-bottom:17px}.slogan-free{top:345px;font-size:14px}.slogan-separator{padding:0 5px}.slogan-last{margin-top:6px}.hero{min-height:860px}}
@media(prefers-reduced-motion:reduce){.reddi-scene .motion-piece{animation:none!important;transform:none!important;opacity:1!important}.character-cheek{opacity:.5!important}}

/* Matching real workbook covers inside every stage card. */
.stage-card{padding-bottom:69px;min-height:410px}.stage-card .stage-symbol{position:absolute;right:24px;top:23px;opacity:.17;font-size:67px;margin:0}.stage-card>.eyebrow{margin-top:6px}.stage-card h3{position:relative;margin-top:8px}.stage-books{display:flex;gap:17px;margin-top:24px;align-items:end;justify-content:flex-start}.stage-book{margin:0;min-width:0}.stage-book-cover{display:block;position:relative;overflow:hidden;height:132px;width:102px;filter:drop-shadow(3px 5px 4px #20133235);border-radius:2px}.stage-book-cover img{display:block;width:100%;height:100%;object-fit:contain}.stage-book-cover.spread img{width:200%;max-width:none;object-fit:fill;transform:translateX(-50%)}.stage-book figcaption{text-align:center;font-size:11px;font-weight:700;margin-top:8px}.stage-browse{display:block;font-size:10px;margin-top:21px;font-weight:700;max-width:75%}
.subject-row button{font:inherit;font-size:10px;color:#cbbbdc;background:transparent;border:1px solid #694886;border-radius:4px;padding:6px 9px;cursor:pointer}.subject-row button[aria-pressed=true]{background:#5f00ff;border-color:#8656ef;color:#fff;font-weight:700}.subject-row button:hover{background:#3c1c64}.subject-row button[aria-pressed=true]:hover{background:#6d19ff}
@media(max-width:1050px){.stage-book-cover{width:88px;height:114px}.stage-books{gap:11px}.stage-card{min-height:394px}}
@media(max-width:720px){.stage-card{min-height:365px;padding:27px 26px 57px}.stage-card .stage-symbol{font-size:72px;top:18px;right:23px}.stage-books{gap:22px;margin-top:22px}.stage-book-cover{width:101px;height:131px}.stage-browse{font-size:10px;margin-top:16px}.stage-book figcaption{font-size:11px}.subject-row{gap:8px}.subject-row button{font-size:10px;padding:6px 8px}}

/* Two clear navigation choices instead of stacked filter grids. */
.catalogue-simple-nav{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:4px}
.catalogue-simple-nav details{position:relative;min-width:210px}.catalogue-simple-nav summary,.catalogue-simple-nav>button{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:15px 20px;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer}
.catalogue-simple-nav summary{border:1px solid #9673c4;background:#2e164e;color:#fff}.catalogue-simple-nav summary::-webkit-details-marker{display:none}.catalogue-simple-nav>button{border:1px solid var(--gold);background:var(--gold);color:#29143e}.catalogue-simple-nav summary:focus-visible{outline:3px solid #f6bf58;outline-offset:4px}.catalogue-simple-nav>button[aria-pressed=false]{background:transparent;color:var(--gold)}
.subject-choices{display:grid;grid-template-columns:1fr;gap:3px;padding:9px 0 0}.subject-choices button{text-align:left;border:0;background:#2b164a;color:#fff;padding:12px 17px;border-radius:4px;font:inherit;font-size:13px;cursor:pointer}.subject-choices button:hover,.subject-choices button[aria-pressed=true]{background:#5f00ff}.catalogue-simple-nav details[open] summary{border-color:#d1a8ff}
@media(max-width:720px){.catalogue-simple-nav{gap:9px;padding-bottom:22px}.catalogue-simple-nav details{min-width:0;flex:1}.catalogue-simple-nav summary,.catalogue-simple-nav>button{font-size:11px;gap:9px;padding:13px 12px}.catalogue-simple-nav>button{flex-shrink:0}.subject-choices button{font-size:12px;padding:11px}.catalogue-title h1{font-size:40px}.character-shape{filter:drop-shadow(0 1px 1px #30133720)}}
/* Softer facial expressions and shorter, padded limbs; motion remains energetic. */
@keyframes character-smile{0%,60%,100%{transform:scaleY(.84)}18%,32%{transform:scaleY(1.08)}45%{transform:scaleY(.96)}}
@keyframes character-wave-left{0%,60%,100%{transform:rotate(0)}18%{transform:rotate(-17deg)}31%{transform:rotate(11deg)}43%{transform:rotate(-13deg)}}
@keyframes character-wave-right{0%,60%,100%{transform:rotate(0)}18%{transform:rotate(17deg)}31%{transform:rotate(-12deg)}43%{transform:rotate(14deg)}}

.layout-count{color:#e8c174;font-size:10px;margin:0 0 9px}.book-detail .cover-gallery>.cover-well{height:505px;background:linear-gradient(140deg,#eadefa,#cbdcfb);padding:40px}.cover-variants{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.cover-variants button{width:100px;background:#251341;color:#e3d2fb;border:1px solid #71508c;border-radius:6px;padding:9px;cursor:pointer}.cover-variants button[aria-pressed=true]{border:2px solid var(--gold);padding:8px;background:#352044}.cover-variants img{display:block;object-fit:contain;width:65px;height:91px;margin:auto}.cover-variants span{display:block;font-size:9px;margin-top:8px;line-height:1.4}.cover-variants button:hover{background:#442766}
@media(max-width:720px){.book-detail .cover-gallery>.cover-well{height:405px;max-width:450px;width:100%;margin:auto}.cover-variants{gap:8px}.cover-variants button{width:94px}}

/* One-shot run entrance with original artwork as the final settled pose. */
.mascot-entrance,.reddi-character,.mascot-ground{animation:none!important;transform:none}.mascot-entrance{opacity:1}.mascot-position{perspective:none}.running-reddi{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 9px #14002366);z-index:2;will-change:transform,opacity}.reddi-character{will-change:opacity}.mascot-ground{opacity:.6}
.entrance-prop{position:absolute;width:72px;height:98px;object-fit:contain;z-index:2;filter:drop-shadow(0 4px 5px #16052c50);pointer-events:none;will-change:transform,opacity}.prop-a{left:-2%;top:25px}.prop-b{left:-2%;top:130px}.prop-c{left:-2%;top:232px}.prop-one{right:-2%;top:25px}.prop-two{right:-2%;top:130px}.prop-three{right:-2%;top:232px}
@media(max-width:720px){.entrance-prop{width:56px;height:78px}.prop-a,.prop-one{top:23px}.prop-b,.prop-two{top:111px}.prop-c,.prop-three{top:198px}}
@media(prefers-reduced-motion:reduce){.entrance-prop,.running-reddi{display:none!important}.reddi-character{opacity:1!important;transform:none!important}}

.motion-controls{position:static;display:flex;justify-content:center;gap:8px;margin:13px 0 22px}.motion-controls .motion-toggle{position:static}@media(max-width:720px){.motion-controls{margin:12px 0 20px;gap:7px}}

.cover.landscape{width:100%;height:auto;aspect-ratio:509/393;max-height:230px}.cover.landscape img{object-fit:contain}.book-detail .cover.landscape{height:auto;max-height:395px}
.flipbook-reader{min-width:0}.flipbook-view-tabs{display:flex;gap:8px;margin-bottom:15px}.flipbook-view-tabs button,.flip-controls button{border:1px solid #816198;border-radius:5px;padding:10px 16px;color:#f5ecff;background:#2c1949;font:inherit;font-size:12px;cursor:pointer}.flipbook-view-tabs button[aria-pressed=true]{background:#5f00ff;border-color:#a477fa}.flipbook-view-tabs button:hover,.flip-controls button:hover{background:#482468}.flip-controls button:disabled{opacity:.45;cursor:default}
.flipbook-page-stage{position:relative;aspect-ratio:509/393;perspective:950px;filter:drop-shadow(0 14px 15px #0d061f44);isolation:isolate}.flipbook-page-stage img{display:block;width:100%;height:100%;object-fit:contain;border-radius:4px}.flipbook-page-stage #flip-turning-page{position:absolute;inset:0;z-index:2;transform-origin:50% 0;backface-visibility:hidden}.flipbook-page-stage #flip-turning-page.is-turning{animation:flip-page .62s cubic-bezier(.28,.58,.38,1) forwards}
@keyframes flip-page{0%{transform:rotateX(0);filter:brightness(1)}55%{filter:brightness(.83)}100%{transform:rotateX(-112deg);filter:brightness(.7)}}
.flip-caption{font-size:14px;font-weight:700;color:#f5e8ff;margin:20px 0 10px}.flip-note{font-size:11px;line-height:1.6;color:#ead5ff;border-left:3px solid var(--gold);padding:5px 0 5px 12px;margin:10px 0 18px}.flip-controls{display:flex;justify-content:space-between;gap:10px}.flip-play{width:100%;margin-top:16px}.flip-help{font-size:11px;line-height:1.6;color:#c3afdb;margin:12px 0 0}
@media(min-width:721px){.collections{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:25px}.collection:nth-child(3n){border-right:0}.collection h3{min-height:0}}
@media(max-width:720px){.flipbook-page-stage{max-width:509px;margin:auto}.flipbook-view-tabs button,.flip-controls button{font-size:11px;padding:10px 13px}.flip-caption{font-size:13px}.flip-help,.flip-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.flipbook-page-stage #flip-turning-page{animation:none!important;display:none!important}}

.authors-section{padding-top:20px}.author-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px;margin-top:34px}.author-profile{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:start}.author-photo{display:flex;align-items:flex-start;justify-content:center}.author-photo img{display:block;width:auto;height:auto;max-width:100%;border-radius:7px}.author-copy .eyebrow{font-size:8px;letter-spacing:1.6px;color:var(--gold);margin:2px 0 10px}.author-copy h3{font-size:23px;line-height:1.2;letter-spacing:-.6px;margin:0 0 14px}.author-copy>p:last-child{font-size:12px;line-height:1.75;color:#d4c6e7;margin:0}
@media(max-width:1050px){.author-grid{grid-template-columns:1fr;gap:32px}.author-profile{grid-template-columns:150px minmax(0,1fr);max-width:650px}.author-copy h3{font-size:24px}.author-copy>p:last-child{font-size:13px}}
@media(max-width:720px){.authors-section{padding-top:15px}.author-grid{gap:32px;margin-top:26px}.author-profile{grid-template-columns:110px minmax(0,1fr);gap:18px}.author-photo img{max-width:110px}.author-copy .eyebrow{font-size:7px;letter-spacing:1px}.author-copy h3{font-size:19px;letter-spacing:-.3px}.author-copy>p:last-child{font-size:11px;line-height:1.65}}

#book-collections{scroll-margin-top:24px}

.collection-category:hover{color:var(--gold)}.collection-more{font-size:10px;color:#c5afd9;margin-top:11px}.demo-direct-link{font-weight:700}.learning-resource-choice .text-link{margin-top:auto}.flip-demo-title{font-size:27px;letter-spacing:-.8px;line-height:1.2;margin:0 0 16px;scroll-margin-top:22px}.flip-play{margin:0 0 9px;justify-content:center;font-size:14px}.flip-help{margin:0 0 18px}.flipbook-view-tabs{margin-bottom:15px}
.author-profile{grid-template-columns:160px minmax(0,1fr)}.author-photo img{max-width:160px;max-height:240px;width:auto;height:auto}.author-copy>p{font-size:12px;line-height:1.75;color:#d4c6e7;margin:0}.author-qualifications{margin-top:20px}.author-qualifications h4{font-size:12px;margin:0 0 9px;color:#f1dcff}.author-qualifications ul{margin:0;padding-left:16px;color:#cfc0e0;font-size:11px;line-height:1.65}.author-qualifications li{margin:0 0 8px}.author-qualifications p{margin:16px 0 0;color:#e6d4fa;font-size:11px;line-height:1.7}.author-qualifications strong{color:var(--gold)}
@media(max-width:1050px){.author-profile{grid-template-columns:180px minmax(0,1fr);max-width:760px}.author-photo img{max-width:180px;max-height:250px}}
@media(max-width:720px){.learning-resource-choice .collection-category{grid-column:2}.learning-resource-choice .collection-category h3{margin:0 0 8px}.learning-resource-choice .text-link,.learning-resource-choice .collection-more{grid-column:2}.learning-resource-choice .text-link{margin-top:14px}.flip-demo-title{font-size:25px}.flip-play{font-size:13px;padding:15px}.author-profile{grid-template-columns:1fr;gap:19px}.author-photo{justify-content:flex-start}.author-photo img{max-width:200px;max-height:250px}.author-copy h3{font-size:23px}.author-copy>p{font-size:12px}.author-qualifications ul,.author-qualifications p{font-size:12px}}

.flipbook-page-stage{margin-top:29px}.flipbook-binding{position:absolute;left:4%;right:4%;top:-21px;height:28px;display:flex;justify-content:space-between;pointer-events:none;z-index:4;filter:drop-shadow(0 2px 1px #0007)}.wire-pair{position:relative;width:12px;height:28px;display:block;background:linear-gradient(#36333b,#121017) bottom center/12px 4px no-repeat}.wire-pair:before,.wire-pair:after{content:"";position:absolute;top:0;width:7px;height:25px;border:2px solid #1b1921;border-radius:50%;box-shadow:inset 1px 0 #746f78}.wire-pair:before{left:0}.wire-pair:after{left:5px}
.flipbook-physical{margin-top:31px;padding-top:22px;border-top:1px solid var(--line)}.flipbook-physical h3{font-size:18px;margin:0 0 15px;letter-spacing:-.3px}.physical-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.physical-view-grid figure{margin:0;min-width:0}.physical-view-grid img{display:block;width:100%;height:auto;border-radius:5px}.physical-view-grid figcaption{font-size:10px;color:#cab5dd;margin-top:9px}
.author-grid{grid-template-columns:1fr;max-width:1020px}.author-profile{max-width:1020px}
@media(min-width:721px){.author-profile{grid-template-columns:220px minmax(0,1fr);gap:34px}.author-photo img{max-width:220px;max-height:275px}.author-qualifications ul{font-size:12px}.author-copy>p{font-size:13px}}
@media(max-width:720px){.flipbook-binding{height:22px;top:-17px}.wire-pair{width:8px;height:22px;background-size:9px 3px}.wire-pair:before,.wire-pair:after{width:5px;height:20px;border-width:1.6px}.wire-pair:after{left:3px}.physical-view-grid{gap:10px}.physical-view-grid figcaption{font-size:9px}}
/* Clean, source-sized artwork on an illustrative rotating display. */
.flipbook-showcase{position:relative;isolation:isolate;perspective:1400px;padding:38px 22px 39px;border-radius:12px;background:radial-gradient(ellipse at 50% 45%,#543477 0,#302045 54%,#211335 100%);margin-top:9px;overflow:visible}
.flipbook-page-stage{width:100%;max-width:509px;margin:0 auto;aspect-ratio:509/393;transform-style:preserve-3d;transform-origin:50% 80%;filter:drop-shadow(0 13px 12px #0d061f66);z-index:2}
.flipbook-page-stage>img{aspect-ratio:509/393;object-fit:contain;image-rendering:auto;border-radius:2px;box-shadow:0 0 0 1px #d7d1dc60}
.turntable-disc{position:absolute;z-index:0;left:7%;right:7%;bottom:14px;height:40px;border-radius:50%;background:linear-gradient(175deg,#b9a6d0,#756288 48%,#3d3150 52%,#675178);box-shadow:0 13px 19px #13092080,0 2px 2px #cabdd566 inset;border:1px solid #c8b4db66;pointer-events:none}
.turntable-disc:after{content:"";position:absolute;inset:5px 7%;border-radius:50%;border:1px solid #dbc9f073}
.flipbook-binding{position:absolute;left:0;right:0;top:-26px;height:38px;display:block;filter:drop-shadow(0 1px 1px #0005);z-index:5}.binding-art{display:block;width:100%;height:100%;overflow:visible}
.flipbook-page-stage.is-rotating{animation:turntable-sweep 1.22s cubic-bezier(.4,0,.25,1) both}
@keyframes turntable-sweep{0%,100%{transform:rotateY(0) rotateX(0)}24%{transform:rotateY(-12deg) rotateX(1deg)}65%{transform:rotateY(11deg) rotateX(.5deg)}}
.flipbook-page-stage #flip-turning-page.is-turning{animation:clean-page-turn 1.1s cubic-bezier(.3,.1,.2,1) forwards}
@keyframes clean-page-turn{0%{transform:rotateX(0);filter:brightness(1)}45%{filter:brightness(.92)}100%{transform:rotateX(-115deg);filter:brightness(.8)}}
.display-caption{text-align:center;color:#bda8d1;font-size:10px;line-height:1.5;margin:12px 0 17px}.flip-caption{margin-top:13px}.flipbook-originals{margin-top:29px;padding-top:19px;border-top:1px solid var(--line)}.flipbook-originals summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#dbc7ed;font-size:12px;font-weight:700;list-style:none}.flipbook-originals summary::-webkit-details-marker{display:none}.flipbook-originals .physical-view-grid{margin-top:18px}
@media(max-width:720px){.flipbook-showcase{padding:32px 11px 31px;margin-left:0;margin-right:0}.flipbook-binding{top:-20px;height:29px}.turntable-disc{bottom:10px;height:31px;left:4%;right:4%}.display-caption{font-size:9px}.flipbook-originals summary{font-size:11px}}
@media(prefers-reduced-motion:reduce){.flipbook-page-stage.is-rotating{animation:none!important;transform:none!important}.flipbook-page-stage #flip-turning-page{display:none!important;animation:none!important}.turntable-disc{animation:none!important}}

/* Keep navigation available, with room for anchor targets beneath the header. */
:root{--header-height:94px}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
.header{position:sticky;top:0}
.skip{position:fixed}
@media(max-width:720px){
 :root{--header-height:78px}
 .header nav{max-height:calc(100vh - var(--header-height));max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}
}
