/* 311 shared REPORT BLOCKS styles (home reports section, shelves). Prefixes rp4-/rp5-/rp6-. */
.rp4{padding:76px 0;background:var(--b-lilac-2,#f7f5ff);overflow:hidden}
.rp4-tight{padding:40px 0 76px}
.rp4-dk{background:#120f30;color:#fff}
.rp4-dk .rp4-d,.rp4-dk .rp4-tl span{color:#c9c7e0}
.rp4-w{max-width:1180px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.rp4-c{text-align:center}
.rp4-mt{margin-top:26px}
.rp4-ey{margin:0 0 8px;font:700 12.5px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--b-accent,#D92A79)}
.rp4-dk .rp4-ey{color:var(--b-accent-soft-2,#ff8fc6)}
.rp4-h{font-size:38px;line-height:1.08;margin:0 0 30px;max-width:760px}
.rp4-c .rp4-h{margin-left:auto;margin-right:auto}
.rp4-k{font:700 12px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#6b7185;margin:40px 0 14px}
.rp4-t{display:block;font-size:30px;line-height:1.12;margin:10px 0 18px}
.rp4-d{font-size:16.5px;line-height:1.6;color:var(--b-muted-2,#4a4a63);margin:0 0 22px;max-width:560px}
.rp4-tag{display:inline-block;font:700 10.5px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--b-accent,#D92A79);color:#fff}
.rp4-tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.rp4-tl>div{background:var(--b-lilac,#f3eefc);border-radius:16px;padding:14px 12px}
.rp4-tl b{display:block;font-size:28px;color:var(--b-accent,#D92A79);line-height:1}
.rp4-tl span{display:block;font-size:12.5px;color:var(--b-muted-2,#4a4a63);margin-top:6px}
.rp4-dk .rp4-tl>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.rp4-dk .rp4-tl b{color:var(--b-accent-soft-2,#ff8fc6)}
/* covers */
.rp4-cv{display:block;width:100%;aspect-ratio:720/1020;object-fit:cover;border-radius:12px;box-shadow:0 18px 40px rgba(17,10,60,.28),0 2px 6px rgba(17,10,60,.2);background:#1b1660;user-select:none}
.rp4-fake{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--a),var(--b));color:#fff;padding:9% 9%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;text-align:left}
.rp4-fake i{position:absolute;top:2%;right:-4%;font:700 140px/1 futura-pt,"Futura PT",Futura,Arial;font-style:normal;opacity:.14;letter-spacing:-.04em}
.rp4-fake small{position:absolute;top:7%;left:9%;font:700 8px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.rp4-fake b{font-size:clamp(13px,1.7vw,22px);line-height:1.08;text-transform:uppercase}
.rp4-fake em{font-style:normal;font:700 9px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin-top:8px}
/* bespoke */
.rp4-bs{background:linear-gradient(135deg,#fff,var(--b-accent-tint,#fdeef7));border:1.5px solid #f6c9e0;border-radius:24px;padding:28px 30px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;box-sizing:border-box;color:var(--b-ink,#17162b);text-align:left}
.rp4-bh{font-size:22px}
.rp4-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}
.rp4-steps li{display:flex;gap:10px;align-items:flex-start}
.rp4-steps li>b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--b-accent,#D92A79);color:#fff;display:grid;place-items:center;font-size:14px}
.rp4-steps span{font-size:14px;color:var(--b-muted-2,#4a4a63);line-height:1.4}
.rp4-steps strong{display:block;color:var(--b-ink,#17162b);font-size:15px}
/* nav */
.rp4-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.rp4-pv,.rp4-nx{width:48px;height:48px;border-radius:50%;border:1px solid var(--b-edge,#e1dbf1);background:#fff;cursor:pointer;position:relative;flex:none}
.rp4-pv:after,.rp4-nx:after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border:solid var(--b-accent,#D92A79);border-width:0 2.4px 2.4px 0;transform:translate(-65%,-50%) rotate(-45deg)}
.rp4-pv:after{transform:translate(-35%,-50%) rotate(135deg)}
.rp4-pv:hover,.rp4-nx:hover{background:var(--b-accent-tint,#fdeef7)}
.rp4-dots{display:flex;gap:8px}
.rp4-dots button{width:9px;height:9px;border-radius:999px;border:0;background:#d6d0e8;padding:0;cursor:pointer;transition:width .3s,background .3s}
.rp4-dots button.on{width:26px;background:var(--b-accent,#D92A79)}
.rp4-dk .rp4-pv,.rp4-dk .rp4-nx{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.rp4-dk .rp4-pv:after,.rp4-dk .rp4-nx:after{border-color:#fff}
.rp4-dk .rp4-dots button{background:rgba(255,255,255,.25)}
.rp4-dk .rp4-dots button.on{background:var(--b-accent-soft-2,#ff8fc6)}
/* stage model */
[data-stage] .rp4-sl,[data-stage] .rp4-pn{display:none}
[data-stage] .rp4-pn.on{display:block;animation:rp4In .45s ease}
@keyframes rp4In{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* rails */
.rp4-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rp4-track::-webkit-scrollbar{display:none}
.rp4-cd{flex:none;scroll-snap-align:start;width:230px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-decoration:none;color:inherit}
.rp4-cd b{font-size:17px;line-height:1.2}
.rp4-cd .rp4-cv{flex:none;width:100%;height:auto}
.rp4-cd .rp4-cv{transition:transform .3s,box-shadow .3s}
.rp4-cd:hover .rp4-cv{transform:translateY(-6px)}
.rp4-cdb{width:360px}
.rp4-cdb .rp4-bs{height:100%}
.rp4-cdb .rp4-steps{grid-template-columns:minmax(0,1fr)}
.rp4-r5 .rp4-track{gap:34px;padding:24px 10px 0;border-bottom:14px solid var(--b-edge,#e1dbf1);box-shadow:0 18px 22px -16px rgba(61,42,138,.35);align-items:flex-end}
.rp4-r5 .rp4-cd{width:190px;gap:0}
.rp4-r5 .rp4-cd>b,.rp4-r5 .rp4-cd>.rp4-tag{display:none}
.rp4-r5 .rp4-cd:hover .rp4-cv{transform:translateY(-16px) rotate(-1deg)}
.rp5-box{background:#fff;border:1px solid #ebe7f3;border-radius:30px;padding:40px;box-shadow:0 20px 50px rgba(61,42,138,.08);box-sizing:border-box;min-width:0}
.rp5-in{margin-top:28px}
.rp5-in .rp4-bs{background:#fbf7ff;border-color:#efe6fb}
.rp5-narrow .rp4-steps{grid-template-columns:minmax(0,1fr)}
.rp5-shw{grid-column:1/-1;margin-top:26px;border-top:1px solid #ecebf3;padding-top:20px;text-align:left}
.rp5-shk{margin-top:0}
.rp5-shelf{display:flex;gap:22px;overflow-x:auto;padding:18px 8px 0;border-bottom:12px solid var(--b-edge,#e1dbf1);box-shadow:0 16px 18px -14px rgba(61,42,138,.35);align-items:flex-end;scrollbar-width:none}
.rp5-shelf::-webkit-scrollbar{display:none}
.rp5-shelf button{all:unset;cursor:pointer;flex:none;width:110px;transition:transform .3s}
.rp5-shelf button:hover,.rp5-shelf button:focus-visible{transform:translateY(-10px)}
.rp5-shelf button.on{transform:translateY(-14px)}
.rp5-shelf button.on .rp4-cv{box-shadow:0 0 0 3px var(--b-accent,#D92A79),0 18px 30px rgba(17,10,60,.3)}
.rp5-shelf .rp4-fake b{font-size:9px}
.rp5-shelf .rp4-fake i{font-size:56px}
.rp5-shelf .rp4-fake small{font-size:5px}
.rp5-shelf .rp4-fake em{font-size:6px}
.rp4-r5 .rp4-cd>i{display:none}
.rp4-cd.rp5-hide{display:none}
.rp5-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 6px}
.rp5-chips button{border:1px solid var(--b-edge,#e1dbf1);background:#fff;border-radius:999px;padding:7px 13px;font:600 13px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);color:#3a3f52;cursor:pointer}
.rp5-chips button.on{background:var(--b-ink,#17162b);color:#fff;border-color:var(--b-ink,#17162b)}
@media (max-width:900px){.rp5-box{padding:22px;border-radius:24px}.rp5-shelf button{width:88px}}
.rp6-box{overflow:hidden}
.rp6 .rp4-cvs{position:relative;height:450px;perspective:1400px}
.rp6 .rp4-sl{display:block;position:absolute;left:50%;top:10px;width:290px;margin-left:-145px;transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .6s;opacity:0;pointer-events:none;transform:scale(.6)}
.rp6 .rp4-sl.on{opacity:1;z-index:5;pointer-events:auto;transform:none}
.rp6 .rp4-sl.pv,.rp6 .rp4-sl.nx{opacity:1;filter:brightness(.9);z-index:4;pointer-events:auto;cursor:pointer}
.rp6 .rp4-sl.pv2,.rp6 .rp4-sl.nx2{z-index:3;cursor:pointer;filter:brightness(.78)}
.rp6 .rp4-pns{max-width:720px;margin:20px auto 0}
.rp6 .rp4-d{margin-left:auto;margin-right:auto}
.rp6-v4 .rp4-sl{transform-origin:50% 100%}
.rp6-v4 .rp4-cvs{height:500px}
.rp6-v4 .rp4-sl{transform-origin:50% 230%}
.rp6-v4 .on{transform:translateY(-10px)!important}
.rp6-v4 .pv{transform:rotate(-10deg)!important;opacity:1!important}
.rp6-v4 .nx{transform:rotate(10deg)!important;opacity:1!important}
.rp6-v4 .pv2{opacity:1!important;pointer-events:auto;transform:rotate(-20deg)!important}
.rp6-v4 .nx2{opacity:1!important;pointer-events:auto;transform:rotate(20deg)!important}
.rp6-v7 .rp4-cvs{perspective:900px}
.rp6-v7 .pv{transform:translateX(-82%) translateZ(-140px) rotateY(32deg)!important}
.rp6-v7 .nx{transform:translateX(82%) translateZ(-140px) rotateY(-32deg)!important}
.rp6-v7 .pv2{opacity:1!important;pointer-events:auto;transform:translateX(-140%) translateZ(-380px) rotateY(58deg)!important}
.rp6-v7 .nx2{opacity:1!important;pointer-events:auto;transform:translateX(140%) translateZ(-380px) rotateY(-58deg)!important}
.rp6-box .rp5-in{text-align:left}
@media (max-width:900px){.rp6 .rp4-cvs{height:330px}.rp6 .rp4-sl{width:200px;margin-left:-100px}.rp6-v4 .rp4-cvs{height:380px}.rp6-v4 .rp4-sl{transform-origin:50% 260%}}
@media (max-width:900px){.rp4{padding:56px 0}.rp4-w{padding:0 20px}.rp4-h{font-size:30px}.rp4-tl{grid-template-columns:repeat(2,minmax(0,1fr))}.rp4-t{font-size:24px}.rp4-steps{grid-template-columns:minmax(0,1fr)}.rp4-cd{width:62%}.rp4-cdb{width:86%}.rp4-r5 .rp4-cd{width:44%}}
.rp4-new{font:700 10px var(--b-font,futura-pt,"Futura PT",Futura,"Helvetica Neue",Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;font-style:normal;margin-left:6px;color:#fff;background:var(--b-ink,#17162b);padding:4px 8px;border-radius:999px}.rp4-r5 .rp4-cd>i{display:none}

/* ===== report shelf v3: fits the books, soft edge, carousel when it overflows, tidy hover card =====
   Every book opens the same way: its card slides out to the right at exactly the cover's height and the books
   after it slide over to make room (a reserved spacer keeps the row still, so nothing jumps or overlaps). */
.rp4-r5{display:flex;flex-direction:column;align-items:center}
.rp4-r5 .rp4-track{width:max-content;max-width:100%;box-sizing:border-box;gap:24px;padding:22px 6px 40px!important;border:0!important;box-shadow:none!important;align-items:flex-start;
 background:radial-gradient(ellipse 46% 16px at 50% calc(100% - 22px),rgba(61,42,138,.26),rgba(61,42,138,0) 100%),radial-gradient(ellipse 52% 26px at 50% calc(100% - 26px),rgba(205,196,236,.7),rgba(205,196,236,0) 100%)}
.rp4-r5 .rp6-bk{--cw:190px;--rw:236px;position:relative;display:flex;flex-direction:row;align-items:flex-start;gap:0;width:auto;flex:none;scroll-snap-align:start}
.rp4-r5 .rp6-bkc{display:block;width:var(--cw);flex:none;position:relative;z-index:2;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.rp4-r5 .rp6-bk .rp4-cv,.rp4-r5 .rp6-bk:hover .rp4-cv{transform:none!important}
.rp4-r5 .rp6-bk.open .rp6-bkc{transform:translateY(-8px)}
.rp6-rv{width:0;height:calc(var(--cw) * 1020 / 720);overflow:hidden;flex:none;transition:width .38s cubic-bezier(.2,.7,.2,1),transform .35s cubic-bezier(.2,.7,.2,1);align-self:flex-start}.rp6-bk.open .rp6-rv{transform:translateY(-8px)}
.rp6-bk.open .rp6-rv{width:calc(var(--rw) + 12px)}
.rp6-rvi{box-sizing:border-box;width:var(--rw);height:100%;margin-left:12px;background:#fff;border:1px solid #ebe7f3;border-radius:14px;box-shadow:0 12px 28px rgba(23,22,43,.12);padding:12px 14px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;opacity:0;transform:translateX(-10px);transition:opacity .25s .08s,transform .3s .08s}
.rp6-bk.open .rp6-rvi{opacity:1;transform:none}
.rp6-rvt{font-size:14.5px;line-height:1.2;color:var(--b-ink,#17162b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rp6-rvs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;width:100%}.rp6-rvs li{border-top:1px solid #f0edf7;padding-top:4px}.rp6-rvs b{display:block;font-size:17px;line-height:1.1;color:var(--b-accent,#D92A79);white-space:nowrap}.rp6-rvs span{display:block;font-size:11px;color:var(--b-muted-2,#4a4a63);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp6-rvp{margin:0;font-size:12.5px;line-height:1.45;color:var(--b-muted-2,#4a4a63);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rp6-rvi .btn{margin-top:auto}
.rp6-sp{flex:none;margin-left:calc(var(--g,24px) * -1);width:calc(var(--rw,236px) + 12px);transition:width .38s cubic-bezier(.2,.7,.2,1)}.rp6-sp.off{width:0}
.rp4-r5 .rp4-track{--rw:236px;--g:24px}
@media (max-width:900px){.rp4-r5 .rp6-bk{--cw:140px;--rw:180px}.rp4-r5 .rp4-track{--rw:180px;--g:16px;gap:16px}.rp6-rvi{padding:10px 12px;gap:4px}.rp6-rvt{font-size:12.5px}.rp6-rvs b{font-size:15px}.rp6-rvs li:nth-child(3){display:none}.rp6-rvi .btn{--h:30px}}
@media (prefers-reduced-motion:reduce){.rp6-rv,.rp6-rvi,.rp6-sp,.rp4-r5 .rp6-bkc{transition:none}}
@media (max-width:370px){.rp4-r5 .rp6-bk{--cw:126px;--rw:162px}.rp4-r5 .rp4-track{--rw:162px}.rp6-rvs b{font-size:14px}}
.rp6-rvi{overflow:hidden}.rp6-rvi>*{flex-shrink:0;max-width:100%}.rp6-rvh{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap}.rp6-rvh .rp4-new{margin-left:0}.rp6-rvh .rp4-tag{flex:none}.rp6-rvs li{flex-shrink:0}
@media (max-width:900px){.rp6-rvh .rp4-tag{font-size:9.5px;padding:3px 8px}.rp6-rvh .rp4-new{font-size:9px;padding:3px 6px}}
