/* Published article library and responsive manual carousel. */
#reviews .section-head > div { max-width: 900px; }
.review-grid { gap: 28px; }
.review-card { padding: 0; overflow: hidden; border-radius: 14px; display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease; }
.review-cover { display: block; width: 100%; aspect-ratio: 900 / 520; height: auto; object-fit: cover; background: #edf1ed; }
.review-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.review-body h3 { margin: 10px 0 12px; font-size: 23px; line-height: 1.3; }
.review-body p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.7; margin-bottom: 26px; }
.review-body .link { margin-top: auto; color: var(--green); font-weight: 750; font-size: 14px; }
.review-body .link:hover { text-decoration: underline; text-underline-offset: 4px; }
.review-body .link:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
@media(max-width:620px) { .review-grid { gap: 24px; } .review-body { padding: 22px; } }
@media(prefers-reduced-motion:reduce) { .review-card, .review-card:hover { transition: none; transform: none; } }
.review-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 56px) / 3); gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#c5d6c4 transparent; padding:4px 0 18px; }
.review-track .review-card { scroll-snap-align:start; min-width:0; }
.review-track .review-card:only-child { grid-column:1; }
.review-track:focus-visible { outline:2px solid var(--green); outline-offset:5px; }
.review-cover-link { display:block; }
.carousel-controls { display:flex; gap:10px; flex-shrink:0; padding-bottom:4px; }
.carousel-controls[hidden] { display:none; }
.carousel-controls button { width:46px; height:46px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--green); font:inherit; font-size:23px; cursor:pointer; }
.carousel-controls button:hover:not(:disabled) { background:var(--lime); }
.carousel-controls button:disabled { opacity:.35; cursor:default; }
.carousel-controls button:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.reviews-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; color:var(--green); font-size:14px; font-weight:700; }
#reviews { scroll-margin-top:92px; }
.brand-logo { height:57px; width:auto; max-width:300px; }
.footer .brand-logo { filter:brightness(0) invert(1); display:block; flex-shrink:0; }
.mini-card:nth-child(1) .score-bar i { width:93%; }
.mini-card:nth-child(2) .score-bar i { width:89%; }
.mini-card:nth-child(3) .score-bar i { width:91%; }
@media(max-width:900px) { .review-track { grid-auto-columns:calc((100% - 28px) / 2); } }
@media(max-width:620px) { .review-track { grid-auto-columns:88%; gap:18px; } .review-track:has(.review-card:only-child) { grid-auto-columns:100%; } .carousel-controls { margin-top:20px; } }
