/* UPERFECT review: same layout and image framing as the approved preview. */
.review-article .page-hero { padding:2.1rem 0 2.3rem; }
.review-article .page-hero h1 { font-size:clamp(2rem,4.5vw,3.4rem); max-width:900px; line-height:1.16; }
.review-article .page-hero .lead { margin-top:1rem; }
.review-article .content-wrap { padding:2.3rem 0 3.4rem; }
.review-article .review-photo { width:100%; max-width:680px; margin:0 auto 2rem; }
.review-article .review-photo img { width:100%; height:auto; aspect-ratio:6/5; object-fit:cover; object-position:center 16%; border-radius:18px; }
.review-article .settings-photo { margin:1.6rem 0; }
.review-article .settings-photo img { width:min(100%,300px); height:auto; margin-inline:auto; border-radius:12px; }
.review-article figcaption { margin-top:.65rem; color:var(--muted); font-size:.85rem; line-height:1.5; }
.review-article .review-toc { display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; margin-bottom:2.3rem; padding-block:1rem; border-block:1px solid var(--line); font-size:.9rem; }
.review-article h2[id] { scroll-margin-top:100px; }
.review-article .pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; margin:1.6rem 0; }
.review-article .pros-cons > section { padding:1.2rem 1.3rem; background:var(--paper); border:1px solid var(--line); border-radius:18px; }
.review-article .pros-cons h3 { margin:0 0 .8rem; font-size:1.12rem; }
.review-article .pros-cons ul { margin:0; }
.review-article .pros-cons .plus h3 { color:var(--teal-dark); }
.review-article .pros-cons .minus h3 { color:var(--coral-dark); }
.review-article .final-verdict { padding:1.3rem 1.5rem; margin:1.7rem 0; background:#d8ebe5; border-radius:18px; }
.review-article .final-verdict strong { color:var(--teal-dark); font-size:1.17rem; }
.review-article .final-verdict p { margin:.4rem 0 0; }
.review-article details { margin:1.5rem 0; padding:1rem 0; border-block:1px solid var(--line); }
.review-article summary { color:var(--teal-dark); font-weight:700; cursor:pointer; }
.review-article details img { max-width:360px; margin:1rem auto; border-radius:12px; }
.review-article .text-small { font-size:.86rem; }
@media (max-width:640px) {
  .review-article .pros-cons { grid-template-columns:1fr; gap:.8rem; }
  .review-article .page-hero { padding:1.5rem 0 1.7rem; }
}
