/* Reviews hub (prefix rvw-). Family rules: fam-hub.css. */

/* Hero */
.rvw-hero { --hero-h: 15.75rem; --hero-pos: 50% 50%; --hub-h1: 2.62rem; --hub-lead: 1.08rem; --hub-lead-w: 31rem; --hero-copy: 46rem; --card-w: 17.9rem; }
.rvw-hero .hero__bg { left: 16%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 25%); mask-image: linear-gradient(90deg, transparent 0, #000 25%); }
.rvw-hero::before { --hero-fade: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 38%, rgba(255,255,255,.45) 53%, rgba(255,255,255,0) 63%); }
.rvw-hero .hero__inner { padding-block: 1.25rem .9rem; align-items: start; }
.rvw-hero .hero__lead { line-height: 1.3; }
.rvw-hero .hub-feats { gap: .6rem 1rem; margin-top: 1.35rem; }
.rvw-hero .hub-feats li { font-size: max(.7rem, 16px) /* rt-1019 */; gap: .45rem; }
.rvw-hero .hub-feats strong { font-size: .76rem; font-weight: 700; }
.rvw-hero .hub-feats .ib { --s: 2.25rem; }
.rvw-card { align-self: start; margin-top: -.55rem; margin-right: .3rem; padding: .85rem 1.1rem .7rem 1.25rem; }
.rvw-card h2 { font-size: 1.2rem; margin-bottom: .55rem; }
.rvw-process { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.rvw-process li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; align-items: center; }
.rvw-process .num { --s: 1.75rem; font-size: .92rem; }
.rvw-process p { margin: 0; font-size: max(.74rem, 16px) /* rt-1019 */; line-height: 1.35; color: #3e4b62; }
.rvw-process strong { color: var(--ink); }
.rvw-card__more { display: inline-block; margin-top: .4rem; font-size: .68rem; color: var(--blue-600); }

/* Main */
.rvw-main { --hub-aside: 23.6rem; --hub-gap: .9rem; padding-block: .75rem 1.25rem; }
.rvw-disclosure { margin-bottom: .6rem; font-size: max(.7rem, 14px) /* rt-1019 */; padding: .35rem .7rem; }
.rvw-cats { --gap: .25rem; }
.rvw-cats .hub-cat { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto 1fr; column-gap: .55rem; padding: .85rem .45rem .75rem .7rem; border-radius: 6px; }
.rvw-cats .hub-cat > .ib { grid-row: 1 / span 3; align-self: start; --s: 2.3rem; }
.rvw-cats .hub-cat h3 { font-size: .74rem; margin: .35rem 0 .45rem; letter-spacing: -.02em; }
.rvw-cats .hub-cat p { font-size: max(.68rem, 16px) /* rt-1019 */; margin-bottom: .55rem; }
.rvw-cats .hub-cat .link-arrow { align-self: end; font-size: .68rem; white-space: nowrap; }
.rvw-latest { --mt: 1.3rem; }
.rvw-cards { --gap: .9rem; }
.rvw-rc { display: flex; flex-direction: column; padding: .8rem .95rem .95rem; }
.rvw-rc .badge { align-self: flex-start; font-size: .6rem; padding: .16rem .38rem; }
.rvw-rc__head { display: flex; gap: .55rem; align-items: center; margin: .6rem 0 .65rem; }
.rvw-rc__head .tool-mark { --s: 3.05rem; }
.rvw-rc h3 { font-size: 1rem; margin: 0 0 .15rem; }
.rvw-rc .rating { font-size: .76rem; }
.rvw-rc .stars .icon { width: .9rem; height: .9rem; }
.rvw-rc > p { font-size: max(.77rem, 16px) /* rt-1019 */; line-height: 1.36; color: #3e4b62; margin: 0 0 .7rem; }
.rvw-rc .checklist { gap: .45rem; margin-bottom: 1.05rem; }
.rvw-rc .checklist li { font-size: max(.77rem, 16px) /* rt-1019 */; padding-left: 1.5rem; color: #23314a; }
.rvw-rc .checklist li::before { width: 1.05rem; height: 1.05rem; }
.rvw-rc .btn { margin-top: auto; min-height: 2.45rem; font-size: .8rem; padding-inline: .5rem; white-space: nowrap; }

/* Sidebar */
.rvw-guide { --lead-title: 1.08rem; padding: 1rem 1.1rem 1rem; background: linear-gradient(135deg, #eef8f0 0%, #e4f2e6 100%); }
.rvw-guide .lead-box__text { font-size: max(.85rem, 16px) /* rt-1019 */; margin-bottom: .6rem; }
.rvw-guide__body { display: grid; grid-template-columns: 9.2rem minmax(0, 1fr); gap: .9rem; align-items: center; margin-bottom: .8rem; }
.rvw-guide__cover { display: grid; place-items: center; }
.rvw-guide__cover .ebook { --w: 8.6rem; transform: perspective(900px) rotateY(-10deg) rotate(3deg); }
.rvw-guide__cover .ebook__title { font-size: .98rem; margin-top: .45rem; }
.rvw-guide__cover .ebook__brand { font-size: .36rem; }
.rvw-guide .checklist { gap: .6rem; }
.rvw-guide .checklist li { font-size: max(.82rem, 16px) /* rt-1019 */; }
.rvw-guide .form-fine { font-size: max(.7rem, 14px) /* rt-1019 */; }

@media (max-width: 1100px) {
  .rvw-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .rvw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .rvw-hero { --hero-mobile-h: 190px; }
  .rvw-hero .hero__bg { left: 0; -webkit-mask-image: none; mask-image: none; }
  .rvw-rc .btn { white-space: normal; }
  .rvw-card { margin: 0; }
  .rvw-process p { font-size: max(.9rem, 16px) /* rt-1019 */; }
  .rvw-cats .hub-cat { grid-template-rows: auto auto auto; }
  .rvw-cats .hub-cat h3 { font-size: .95rem; }
  .rvw-cats .hub-cat p, .rvw-cats .hub-cat .link-arrow { font-size: max(.85rem, 16px) /* rt-1019 */; }
  .rvw-rc > p, .rvw-rc .checklist li { font-size: max(.92rem, 16px) /* rt-1019 */; }
}
@media (max-width: 640px) {
  .rvw-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rvw-cards { grid-template-columns: minmax(0, 1fr); }
  .rvw-guide__body { grid-template-columns: 7rem minmax(0, 1fr); }
  .rvw-guide__cover .ebook { --w: 6.6rem; }
  .rvw-guide__cover .ebook__title { font-size: .75rem; }
}
