.gge-prods{list-style:none;margin:0;padding:0}.gge-prod{border-block-end:1px solid var(--gres-rule);padding-block-end:12px}.gge-prod__link{display:flex;align-items:flex-start;gap:16px;padding:14px 0 10px;min-height:44px}.gge-prod__media{position:relative;flex:0 0 auto;width:clamp(96px,14vw,168px);aspect-ratio:4/3;border:1px solid var(--gres-rule);background:var(--bg-page);overflow:hidden}.gge-prod__copy{display:flex;flex-direction:column;gap:4px;min-width:0}.gge-prod__kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gge-prod__brand{font-family:var(--font-jetbrains-mono),ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gres-meta)}.gge-prod__meta{font-size:12px;color:var(--gres-meta)}.gge-prod__title{font-size:clamp(16px,1.7vw,19px);font-weight:700;line-height:1.3}.gge-prod__tagline{font-size:13px;line-height:1.55;color:var(--gres-dim)}.gres a.gge-prod__link:hover{text-decoration:none;background:var(--bg-surface)}.gres a.gge-prod__link:hover .gge-prod__title{text-decoration:underline;text-underline-offset:3px}.gge-prod__highlights{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 10px calc(clamp(96px, 14vw, 168px) + 16px);padding:0}.gge-prod__highlights li{padding:3px 10px;border:1px solid var(--gres-rule);font-size:12px;color:var(--gres-dim)}.gge-prod__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-inline-start:calc(clamp(96px, 14vw, 168px) + 16px)}.gge-prod__compare{display:inline-flex;align-items:center;min-height:32px;padding:4px 14px;border:1px solid var(--gres-rule);background:transparent;color:var(--gres-ink);font-size:13px;font-weight:600;cursor:pointer}.gge-prod__compare[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.gge-prod__compare:disabled{cursor:not-allowed;opacity:.5}.gge-prod__compare:hover:not(:disabled){border-color:var(--accent)}.gge-figure{display:flex;flex-direction:column;gap:8px;margin:0}.gge-figure__media{position:relative;display:block;width:100%;aspect-ratio:16/9;max-height:420px;border:1px solid var(--gres-rule);background:var(--bg-page);overflow:hidden}.gge-figure__media :where(img){object-fit:cover}.gge-figure__caption{gap:6px 12px;font-size:12px;color:var(--gres-meta)}.gge-figure__caption,.gge-tray{display:flex;flex-wrap:wrap;align-items:center}.gge-tray{justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--accent);background:var(--bg-page)}.gge-tray__count{font-size:14px;font-weight:700}.gge-tray__actions{display:inline-flex;align-items:center;gap:10px}.gge-tray__clear,.gge-tray__compare{display:inline-flex;align-items:center;min-height:36px;padding:6px 16px;border:1px solid var(--gres-rule);background:transparent;color:var(--gres-ink);font-size:13px;font-weight:700;cursor:pointer}.gge-tray__compare{border-color:var(--accent);color:var(--accent)}.gres a.gge-tray__compare:hover{text-decoration:none;background:var(--bg-surface)}.gge-tray__clear:hover{border-color:var(--accent)}@media (max-width:560px){.gge-prod__link{gap:12px}.gge-prod__actions,.gge-prod__highlights{margin-inline-start:0}}