.norse-rv{max-width:1200px;margin:0 auto;padding:48px 16px}
.norse-rv__title{text-align:center;font-size:clamp(28px,4vw,44px);margin:0 0 28px}
.norse-rv__summary{text-align:center;margin-bottom:34px}
.norse-rv__avg{display:flex;align-items:center;justify-content:center;gap:10px}
.norse-rv__avg-star{color:#c48a62;font-size:38px;line-height:1}
.norse-rv__avg-num{font-size:38px;font-weight:700}
.norse-rv__count{margin:6px 0 18px;opacity:.8}
.norse-rv__dist{max-width:420px;margin:0 auto 18px;padding:0;display:flex;flex-direction:column;gap:6px}
.norse-rv__dist-row{display:flex;align-items:center;gap:10px;font-size:13px}
.norse-rv__dist-stars{color:#c48a62;letter-spacing:1px;white-space:nowrap}
.norse-rv__dist-bar{flex:1;height:8px;background:#e9e4dd;border-radius:4px;overflow:hidden}
.norse-rv__dist-bar>span{display:block;height:100%;background:#8a8a8a}
.norse-rv__dist-num{min-width:56px;text-align:right;opacity:.75}
.norse-rv__write{border:1px solid rgba(0,0,0,.3);background:transparent;padding:10px 22px;border-radius:4px;cursor:pointer;font:inherit}
.norse-rv__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0}
@media(max-width:989px){.norse-rv__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.norse-rv__card{display:block;width:100%;text-align:left;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;cursor:pointer;padding:0;font:inherit}
.norse-rv__photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.norse-rv__body{display:block;padding:12px 14px 16px}
.norse-rv__stars{color:#c48a62;font-size:14px;letter-spacing:1px}
.norse-rv__name{display:block;font-weight:700;margin-top:4px}
.norse-rv__date{display:block;font-size:12px;opacity:.6;margin-bottom:6px}
.norse-rv__text{display:block;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.norse-rv__modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}
.norse-rv__modal[hidden]{display:none}
.norse-rv__modal-box{background:#fff;border-radius:10px;max-width:560px;width:100%;max-height:86vh;overflow:auto;position:relative;padding:22px}
.norse-rv__modal .norse-rv__text{-webkit-line-clamp:unset;overflow:visible}
.norse-rv__modal .norse-rv__photo img{border-radius:8px;margin-bottom:14px}
.norse-rv__close{position:absolute;top:8px;right:12px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}