.review-scene,.review-viewer{--focus:var(--ink);--veil:rgba(243,242,239,.98);--shadow:0 1px 3px #221e1426,0 12px 24px #221e142b}
.review-scene{min-height:100svh;padding:clamp(80px,8vw,120px) clamp(64px,10vw,170px) clamp(130px,12vw,180px);overflow:hidden}
.review-heading{position:relative;z-index:1;max-width:760px;margin:0 auto clamp(125px,12vw,175px);text-align:center}
.review-heading h2{margin:0;font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.12;letter-spacing:-.055em;text-wrap:balance}
.review-heading p{margin:17px 0 0;color:var(--muted);font-size:14px;line-height:1.6;letter-spacing:.015em}
.review-pile{position:relative;isolation:isolate;max-width:1100px;margin:0 auto;aspect-ratio:1.15;touch-action:pan-y}
.review-pile,.review-open{filter:grayscale(1)}
.review-card{position:absolute;left:var(--x);top:var(--y);width:var(--w);padding:0;border:0;border-radius:0;background:none;transform:translate(-50%,-50%) rotate(var(--r));z-index:var(--z);cursor:pointer;box-shadow:var(--shadow);transition:transform .4s cubic-bezier(.22,.75,.23,1),box-shadow .4s,opacity .35s;touch-action:pan-y}
.review-card img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}
.review-card:focus-visible{outline:2px solid var(--focus);outline-offset:5px;z-index:80}
@media(hover:hover){.review-card:hover{z-index:60;transform:translate(-50%,-50%) rotate(var(--r)) translateY(-10px) scale(1.025);box-shadow:0 3px 7px #0005,0 23px 38px #0006}}
.review-card.is-origin{opacity:0}
.review-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;outline:0;touch-action:pan-y}
.review-viewer::backdrop{background:var(--veil);opacity:1;animation:veil-in .45s both}
.review-viewer.is-closing::backdrop{animation:veil-out .45s both}
.review-open{position:absolute;left:50%;top:50%;width:var(--open-w);height:var(--open-h);padding:0;border:0;border-radius:0;background:none;cursor:pointer;transform:translate(-50%,-50%);transform-origin:center;outline:0;box-shadow:0 5px 12px #0002,0 22px 65px #0004;touch-action:pan-y}
.review-open img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.review-open:focus-visible{outline:1px solid var(--focus);outline-offset:7px}
.review-card img,.review-open img{clip-path:var(--paper-cut,none)}
.review-card.has-crop{box-shadow:none;filter:drop-shadow(0 2px 4px #0005) drop-shadow(0 16px 28px #0008)}
.review-open.has-crop{box-shadow:none;filter:grayscale(1) drop-shadow(0 5px 12px #0002) drop-shadow(0 22px 65px #0004)}
html.has-review{overflow:hidden}
@keyframes veil-in{from{opacity:0}to{opacity:1}}
@keyframes veil-out{from{opacity:1}to{opacity:0}}
@media(max-width:700px){
  .review-scene{padding:68px clamp(46px,15vw,64px) 115px}
  .review-heading{margin-bottom:100px}
  .review-heading h2{font-size:clamp(29px,8vw,42px);line-height:1.16;letter-spacing:-.045em}
  .review-heading p{margin-top:14px;font-size:14px;line-height:1.7;letter-spacing:0}
  .review-pile{aspect-ratio:.29}
  .review-card{left:var(--mx);top:var(--my);width:var(--mw);transform:translate(-50%,-50%) rotate(var(--mr))}
}
@media(prefers-reduced-motion:reduce){.review-card{transition:none}.review-viewer::backdrop{animation:none!important}}
