/* Homepage only: all selectors are scoped to the reviews section. */
.gr-section{background:var(--paper);border-bottom:1px solid var(--line)}
.gr-section .section-head{display:block;margin-bottom:32px}
.gr-section .gr-carousel{position:relative}
.gr-section .gr-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.gr-section .gr-viewport::-webkit-scrollbar{display:none}
.gr-section .gr-viewport:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.gr-section .gr-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);gap:18px;align-items:stretch}
.gr-section .gr-card{min-width:0;padding:28px;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 32px rgba(17,27,51,.055)}
.gr-section .gr-card{scroll-snap-align:start}
.gr-section .gr-nav{position:absolute;z-index:2;top:50%;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:var(--white);color:var(--ink);box-shadow:0 8px 24px rgba(17,27,51,.14);cursor:pointer;transform:translateY(-50%);transition:opacity .2s ease,transform .2s ease,border-color .2s ease}
.gr-section .gr-nav:hover:not(:disabled){border-color:var(--gold);transform:translateY(-50%) scale(1.04)}
.gr-section .gr-nav:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gr-section .gr-nav:disabled{opacity:0;pointer-events:none}
.gr-section .gr-nav span{font-size:2rem;line-height:1;margin-top:-3px}
.gr-section .gr-prev{left:-22px}
.gr-section .gr-next{right:-22px}
.gr-section h3{font-size:1rem;line-height:1.5;overflow-wrap:anywhere;margin:0;color:var(--ink)}
.gr-section time{display:block;color:var(--muted);font-size:.875rem;margin-top:4px}
.gr-section .gr-stars{color:#98701e;letter-spacing:.08em;display:block;margin:14px 0;font-size:1.125rem}
.gr-section .gr-comment{max-height:16rem;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding-right:8px;line-height:1.75;font-size:1rem;color:var(--ink)}
.gr-section .gr-comment p{margin:0}
.gr-section .gr-comment:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.gr-section .gr-source{margin-top:auto;padding-top:22px;color:var(--muted);font-size:.875rem}
.gr-section .gr-footer{margin-top:26px}
.gr-section .gr-footer a{white-space:normal;text-align:center}
@media(max-width:850px){.gr-section .gr-grid{grid-auto-columns:100%;gap:16px}.gr-section .gr-card{padding:24px}.gr-section .gr-prev{left:8px}.gr-section .gr-next{right:8px}}
@media(max-width:520px){.gr-section .gr-card{padding:22px}.gr-section .gr-nav{width:40px;height:40px}.gr-section .gr-footer a{width:100%;padding:12px 18px}}
