:root{color-scheme:light dark;--brand:#2f5bd3;--brand-2:#2649a9;--on-brand:#fff;--bg:#f5f7fb;--surface:#fff;--border:#dfe3ec;--text:#1b2030;--muted:#545c6e;--bench:#0d1324;--bench-text:#e8ecf7;--bench-muted:#a3adc8;--warn-bg:#fdf1d8;--warn:#6b4600;--star:#8a5a00;--shadow:0 1px 2px rgb(16 24 40/6%),0 4px 16px -4px rgb(16 24 40/10%);--font:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif}
@media (prefers-color-scheme:dark){:root{--brand:#7f9cff;--brand-2:#93abff;--on-brand:#0b1020;--bg:#10131a;--surface:#161a23;--border:#2c3342;--text:#e6e9f2;--muted:#a3abbd;--bench:#0a0f1d;--warn-bg:#33270c;--warn:#ffd58a;--star:#f0b94a;--shadow:0 1px 2px rgb(0 0 0/30%),0 4px 16px -4px rgb(0 0 0/40%)}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 var(--font);background:var(--bg);color:var(--text)}
a{color:var(--brand)}
a:focus-visible,.button:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);color:var(--text);padding:8px 12px;border-radius:8px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:1152px;margin:0 auto;padding:0 24px}
.preview{background:var(--warn-bg);color:var(--warn);padding:12px 24px;text-align:center;font-weight:600}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700;text-decoration:none}
.brand img{width:32px;height:32px;display:block}
.nav{display:flex;align-items:center;gap:20px}
.nav a{color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--brand)}
.hero{background:var(--bench);color:var(--bench-text);padding:clamp(48px,8vw,88px) 0}
.hero h1{margin:0 0 16px;font-size:clamp(34px,5.4vw,56px);line-height:1.1;letter-spacing:-.02em}
.hero p{margin:0 0 12px;max-width:62ch;font-size:18px;color:var(--bench-muted)}
.hero .owner{color:var(--bench-text);font-weight:600}
.hero a:not(.button){color:#8ea8ff}
.hero a.brand{color:var(--bench-text)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.button{display:inline-block;padding:12px 22px;border-radius:10px;font-weight:600;text-decoration:none;border:2px solid var(--brand);background:var(--brand);color:var(--on-brand)}
.button:hover{background:var(--brand-2);border-color:var(--brand-2)}
.button.ghost{background:transparent;color:var(--brand)}
.button.ghost:hover{background:var(--brand);color:var(--on-brand)}
.hero .button.ghost{color:#c9d6ff;border-color:#8ea8ff}
.hero .button.ghost:hover{background:#8ea8ff;color:#0b1020}
.hero .button:not(.ghost){background:#8ea8ff;border-color:#8ea8ff;color:#0b1020}
section{padding:clamp(40px,6vw,72px) 0}
h2{margin:0 0 8px;font-size:clamp(24px,3.2vw,34px);line-height:1.2}
.lead{margin:0 0 28px;color:var(--muted);max-width:62ch}
.summary{display:inline-block;margin:0 0 28px;padding:12px 18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px;list-style:none;margin:0;padding:0}
.review{display:flex;flex-direction:column;justify-content:space-between;gap:16px;margin:0;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.review blockquote{margin:0}
.review blockquote p{margin:0 0 .8em}
.review blockquote p:last-child{margin:0}
.stars{color:var(--star);letter-spacing:2px;font-size:18px;margin:0 0 8px}
.who{font-size:14px;color:var(--muted);line-height:1.5}
.who strong{display:block;color:var(--text);font-size:16px}
.badge{display:inline-block;margin-bottom:8px;padding:2px 10px;border-radius:99px;background:var(--warn-bg);color:var(--warn);font-size:13px;font-weight:700}
.is-placeholder{border-style:dashed}
.empty{padding:24px;background:var(--surface);border:1px dashed var(--border);border-radius:12px}
.how{background:var(--surface);border-block:1px solid var(--border)}
.how p{max-width:68ch;margin:0 0 12px}
.cta{background:var(--bench);color:var(--bench-text);text-align:center}
.cta h2{margin-bottom:12px}
.cta p{margin:0 auto 8px;max-width:56ch;color:var(--bench-muted)}
.cta .actions{justify-content:center}
.cta .button:not(.ghost){background:#8ea8ff;border-color:#8ea8ff;color:#0b1020}
.cta .button.ghost{color:#c9d6ff;border-color:#8ea8ff}
.cta .button.ghost:hover{background:#8ea8ff;color:#0b1020}
footer.site{padding:32px 0 48px;color:var(--muted);font-size:14px}
footer.site p{margin:0 0 8px;max-width:80ch}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:520px){.wrap{padding:0 16px}.top{flex-wrap:wrap}.nav{gap:14px}.button{width:100%;text-align:center}}
@media (prefers-reduced-motion:no-preference){.button{transition:background .15s ease-out,color .15s ease-out}}
