/* The /reviews page, built by tools/reviews_page/build.py */
body.hubpage{background:#2C5A45}
.rvs{position:relative;padding:clamp(6px,2vh,26px) var(--pad) clamp(44px,7vh,84px);overflow:clip}
.rvs-head{position:relative;z-index:2;text-align:center}
.rvs-small{display:block;font-family:"Melodrama",serif;font-size:clamp(28px,3.2vw,50px);line-height:1}
.rvs-word{display:block;margin-top:2px;font-size:clamp(74px,12vw,190px);font-weight:900;line-height:.92;letter-spacing:0;text-transform:uppercase}
.rvs-word .s{font-size:.74em}
.rvs .lede{margin:clamp(8px,1.6vh,16px) auto 0;max-width:72ch;text-align:center}
.rvs-score{display:flex;align-items:center;justify-content:center;gap:12px;width:fit-content;max-width:100%;margin:clamp(18px,3vh,28px) auto 0;padding:10px 20px;border:3px solid #000;border-radius:999px;background:#FBF9F5;box-shadow:4px 5px 0 #000;color:#11171B;font-size:clamp(16px,1.3vw,19px);font-weight:700;line-height:1.15;text-decoration:none;text-align:left}
.rvs-score .g{flex:none;width:26px;height:26px}
.rvs-score small{display:block;font-size:.8em;font-weight:600;opacity:.72}
.rv-list{columns:3;column-gap:clamp(14px,1.6vw,24px);width:min(100%,1320px);margin:clamp(28px,5vh,52px) auto 0;padding:0;list-style:none}
.rv{break-inside:avoid;padding:18px 10px 8px 0;margin-bottom:clamp(4px,.6vw,10px)}
.rv figure{position:relative;margin:0;padding:clamp(18px,1.7vw,26px);border:3px solid #000;border-radius:24px;background:#FBF9F5;box-shadow:5px 6px 0 #000;color:#11171B;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.rv:nth-child(odd) figure:hover{transform:translate(-2px,-4px) rotate(-.7deg);box-shadow:8px 10px 0 #000}
.rv:nth-child(even) figure:hover{transform:translate(-2px,-4px) rotate(.7deg);box-shadow:8px 10px 0 #000}
.rv-st{position:absolute;top:-16px;right:-8px;width:clamp(50px,4.2vw,60px);transform:rotate(8deg);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.rv:nth-child(even) .rv-st{transform:rotate(-7deg)}
.rv-st svg{display:block;width:100%;height:auto}
.rv figure:hover .rv-st{transform:rotate(-10deg) scale(1.14)}
.rv-pull{margin:12px 34px 0 0;font-family:"Melodrama",serif;font-size:clamp(28px,2.5vw,38px);font-weight:500;line-height:1.02;text-wrap:balance}
.rv-stars{display:flex;gap:2px}
.rv-stars svg{width:20px;height:20px;fill:#26364A}
.rv blockquote{margin:12px 0 0}
.rv-stars{margin-right:44px}
.rv figure:hover .rv-stars svg{animation:rvpop .45s cubic-bezier(.3,1.6,.5,1) both}
.rv figure:hover .rv-stars svg:nth-child(2){animation-delay:.05s}.rv figure:hover .rv-stars svg:nth-child(3){animation-delay:.1s}.rv figure:hover .rv-stars svg:nth-child(4){animation-delay:.15s}.rv figure:hover .rv-stars svg:nth-child(5){animation-delay:.2s}
@keyframes rvpop{40%{transform:scale(1.4) rotate(-10deg)}}
@keyframes rvbob{50%{transform:translateY(-10px) rotate(var(--r2))}}
@keyframes rvin{from{opacity:0;transform:translateY(26px) rotate(1.4deg)}}
@keyframes rvstamp{from{transform:scale(1.9) rotate(24deg);opacity:0}}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
.rv figure{animation:rvin linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
.rv-st{animation:rvstamp linear both;animation-timeline:view();animation-range:entry 22% entry 62%}
}}
.rv blockquote p{margin:0;font-size:clamp(18px,1.4vw,21px);font-weight:500;line-height:1.3;text-wrap:pretty}
.rv blockquote p+p{margin-top:10px}
.rv figcaption{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:2px solid rgba(0,0,0,.16);font-size:clamp(17px,1.3vw,19px);font-weight:800;line-height:1.1}
.rv figcaption i{flex:none;display:grid;place-items:center;width:34px;height:34px;border:3px solid #000;border-radius:50%;background:#7FB0CC;font-style:normal;font-weight:900;font-size:17px}
.rvs-note{width:100%;text-wrap:balance;margin:clamp(18px,3vh,30px) auto 0;font-size:clamp(16px,1.2vw,18px);line-height:1.3;text-align:center;opacity:.85}
.rvs-note a{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.rvs-dd{position:absolute;z-index:1;width:var(--w);left:var(--x);top:var(--y);transform:rotate(var(--r));animation:rvbob var(--t) ease-in-out infinite;animation-delay:var(--d)}
.rvs-dd svg{display:block;width:100%;height:auto;overflow:visible}
.rvs-head>h1,.rvs-head>.lede,.rvs-head>.rvs-score{position:relative;z-index:2}
.rvs-end{position:relative;width:fit-content;max-width:100%;margin:clamp(88px,11vh,108px) auto 0}
.rvs-peek{position:absolute;left:clamp(22px,6%,40px);bottom:calc(100% - 4px);width:clamp(104px,8.4vw,124px);height:auto;overflow:visible}
.rvs-peek .skin{fill:#96BED5}
.rvs-say{position:absolute;z-index:2;left:calc(clamp(22px,6%,40px) + clamp(104px,8.4vw,124px) + 30px);bottom:calc(100% + 18px);padding:8px 14px;border:3px solid #000;border-radius:16px 16px 16px 4px;background:#F2D9B0;box-shadow:3px 4px 0 #000;color:#11171B;font-size:clamp(17px,1.4vw,20px);font-weight:800;line-height:1;white-space:nowrap;transform:rotate(-3deg)}
.rvs-more{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;padding:clamp(18px,2.2vw,28px) clamp(20px,3vw,44px);border:3px solid #000;border-radius:24px;background:#FBF9F5;box-shadow:6px 7px 0 #000;color:#11171B;text-align:center}
.rvs-more p{margin:0;font-family:"Melodrama",serif;font-size:clamp(26px,2.6vw,40px);line-height:1.05}
.hubpage .foot{background:#2C5A45;border-top:3px solid rgba(0,0,0,.35)}
.hubpage .bar-t{color:var(--mist)}
@media (max-width:1040px){.rv-list{columns:2}}
@media (max-width:900px){.rvs-dd.far{display:none}}
@media (max-width:680px){.rvs-dd:first-child{left:1%;top:-5%;width:40px}.rv-list{columns:1}.rv{padding-right:6px}.rv-st{right:-4px}.bar .btn{margin-left:auto}.rvs-score{border-radius:22px}}
@media (prefers-reduced-motion:reduce){.rvs-dd,.rv figure,.rv-st,.rv figure:hover .rv-stars svg{animation:none;transition:none}.rv figure:hover{transform:none}}
