:root {
  --primary: #A16207; --primary-hover: #854D0E; --primary-light: #FEF9C3;
  --ink: #1C1917; --muted: #57534E; --border: #E7DFD3;
  --bg: #FFFDF7; --surface: #FFFFFF; --bg-muted: #F5F0E8;
  --dark: #1A1714; --dark-border: #3D362E; --dark-text: #F5F0E8;
  --dark-muted: #A8A29E; --gold-bright: #CA8A04;
  --path: #DC2626; --lpath: #EA580C; --vus: #6B7280; --lben: #0D9488; --ben: #16A34A;
  --ui: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
* { box-sizing: border-box; }
body { font: 15px/1.55 var(--ui); color: var(--ink); background: var(--bg);
       margin: 0; padding: 2.5rem 1rem; }
.wrap { max-width: 920px; margin: 0 auto; background: var(--surface);
        border: 1px solid var(--border); border-radius: 6px; padding: 2rem 2.25rem; }
.site-head { margin-bottom: 1.5rem; }
.topbar { display: flex; align-items: center; justify-content: space-between;
    gap: 1rem; padding-bottom: .85rem; margin-bottom: 1.1rem;
    border-bottom: 1px solid var(--border); }
.brand-row { display: inline-flex; align-items: center; gap: .5rem;
    text-decoration: none; }
.brand-row .mark { display: block; border-radius: 4px; }
.brand-row .wordmark { font-weight: 700; font-size: 1.05rem; letter-spacing: .04em;
    color: var(--primary); }
.brand-row:hover .wordmark { color: var(--primary-hover); }
.site-head .product { font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em;
    color: var(--ink); margin: 0; text-transform: none; border: none; padding: 0; }
.site-head .sub { color: var(--muted); font-size: .9rem; margin: .35rem 0 0; }
.site-nav { display: flex; gap: 1.4rem; font-size: .875rem; }
.site-nav a { color: var(--muted); text-decoration: none; font-weight: 500;
    padding-bottom: 2px; border-bottom: 2px solid transparent; transition: color .12s; }
.site-nav a:hover { color: var(--ink); }
.site-nav a.active { color: var(--primary); border-bottom-color: var(--primary); }
.field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
              gap: .75rem 1rem; margin: 1.25rem 0; }
.cnv-form label { display: flex; flex-direction: column; font-size: .82rem;
                  color: var(--muted); gap: .3rem; }
.cnv-form input, .cnv-form select { font: 14px var(--ui); padding: .45rem .5rem;
    border: 1px solid #C9BDA9; border-radius: 4px; background: var(--surface); }
.cnv-form input[name="region"] { font-family: var(--mono); }
.region-field { display: flex; flex-direction: column; font-size: .82rem;
    color: var(--muted); gap: .3rem; margin-top: 1.25rem; }
.field-hint { font-size: .74rem; color: var(--muted); }
.field-hint code { font-family: var(--mono); font-size: .95em;
    background: var(--bg-muted); padding: .05rem .25rem; border-radius: 3px; }
label.check { flex-direction: row; align-items: center; gap: .4rem; }
.evidence-expander { margin: 1rem 0; border: 1px solid var(--border);
    border-radius: 6px; padding: .5rem .85rem; background: var(--bg-muted); }
.evidence-expander summary { cursor: pointer; font-weight: 500; color: var(--ink); }
.btn-primary { background: var(--primary); color: #fff; border: none;
    border-radius: 4px; padding: .55rem 1.1rem; font: 500 14px var(--ui);
    cursor: pointer; text-decoration: none; display: inline-block; }
.btn-primary:hover { background: var(--primary-hover); }
.examples { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.examples h2 { font-size: 1.1rem; margin: 0 0 .25rem; color: var(--ink); }
.examples-lead { color: var(--muted); font-size: .85rem; margin: 0 0 1rem; }
.example-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: .75rem; }
.example-card { display: flex; flex-direction: column; gap: .35rem; padding: .85rem 1rem;
    border: 1px solid var(--border); border-radius: 6px; background: var(--bg-muted);
    text-decoration: none; transition: border-color .12s, background .12s; }
.example-card:hover { border-color: var(--primary); background: var(--primary-light); }
.example-title { font-weight: 600; color: var(--primary); font-size: .9rem; }
.example-desc { color: var(--muted); font-size: .78rem; line-height: 1.4; }
.verdict { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem;
    border: 1px solid var(--border); border-radius: 6px; background: var(--bg-muted);
    margin: 1rem 0 1.5rem; }
.badge { font-weight: 700; color: #fff; padding: .35rem .85rem; border-radius: 999px; }
.badge.path { background: var(--path); } .badge.lpath { background: var(--lpath); }
.badge.vus { background: var(--vus); } .badge.lben { background: var(--lben); }
.badge.ben { background: var(--ben); }
.verdict .score { font-size: 1.5rem; font-weight: 700; font-family: var(--mono); }
.verdict .score small { font-size: .75rem; font-weight: 500; color: var(--muted); }
.lift-note { color: var(--muted); font-size: .85rem; }
.lift-note code, .refusal code { font-family: var(--mono); }
h2 { font-size: .95rem; text-transform: uppercase; letter-spacing: .04em;
     color: var(--muted); border-bottom: 1px solid var(--border);
     padding-bottom: .35rem; margin: 1.75rem 0 1rem; }
table.evidence { width: 100%; border-collapse: collapse; font-size: .9rem; }
table.evidence th { text-align: left; color: var(--muted); font-size: .72rem;
    text-transform: uppercase; letter-spacing: .03em; padding: .4rem .6rem; }
table.evidence td { padding: .5rem .6rem; border-top: 1px solid var(--border);
    vertical-align: top; }
table.evidence td.cat { font-family: var(--mono); font-weight: 700; color: var(--primary); }
table.evidence td.num { text-align: right; font-family: var(--mono); }
.form-error { color: #DC2626; background: #FEF2F2; border: 1px solid #FECACA;
    border-radius: 4px; padding: .55rem .85rem; margin: 0 0 1rem; font-size: .9rem; }
.refusal { padding: 1rem 0; }
.site-foot { max-width: 920px; margin: 1.25rem auto 0; background: var(--dark);
    border-radius: 6px; padding: 1.75rem 2.25rem; color: var(--dark-text); }
.foot-inner { display: flex; flex-wrap: wrap; justify-content: space-between;
    gap: 1.25rem; }
.foot-brand .foot-wordmark { font-weight: 700; font-size: 1.05rem;
    letter-spacing: .04em; color: var(--gold-bright); }
.foot-brand .foot-legal { color: var(--dark-muted); font-size: .8rem;
    margin-left: .6rem; }
.foot-brand .foot-tag { color: var(--dark-muted); font-size: .82rem;
    max-width: 32rem; margin: .5rem 0 0; line-height: 1.5; }
.foot-links { display: flex; flex-direction: column; gap: .35rem;
    font-family: var(--mono); font-size: .8rem; }
.foot-links a { color: var(--dark-text); text-decoration: none; }
.foot-links a:hover { color: var(--gold-bright); }
.foot-fine { display: flex; flex-wrap: wrap; justify-content: space-between;
    gap: .5rem; margin-top: 1.5rem; padding-top: 1rem;
    border-top: 1px solid var(--dark-border); color: var(--dark-muted);
    font-size: .72rem; }
@font-face { font-family: "Geist"; font-weight: 400 700;
  src: url("https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Variable.woff2") format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 400 700;
  src: url("https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Variable.woff2") format("woff2"); }
.nomenclature { margin: 1.25rem 0; }
.nom-block { display: flex; flex-direction: column; gap: 0.15rem; margin-bottom: 0.6rem; }
.nom-build { font-weight: 600; color: var(--gold, #A16207); }
.nom-block code { font-family: "Geist Mono", monospace; word-break: break-all; }
.annotations { margin-top: 1.5rem; }
.annotations h3 { margin-bottom: 0.25rem; }
.anno-genecount { font-weight: 600; }
.about .lead { font-size: 1.02rem; color: var(--muted); margin: 0 0 1.5rem; }
.about p { color: var(--ink); margin: .6rem 0; }
.about ul { margin: .5rem 0 1rem; padding-left: 1.25rem; }
.about li { margin: .35rem 0; }
.about .ref { font-size: .85rem; color: var(--muted); }
.tier-table { width: 100%; border-collapse: collapse; font-size: .9rem;
    margin: .75rem 0 1rem; }
.tier-table th { text-align: left; color: var(--muted); font-size: .72rem;
    text-transform: uppercase; letter-spacing: .03em; padding: .4rem .6rem; }
.tier-table td { padding: .5rem .6rem; border-top: 1px solid var(--border); }
.tier-table td.pts { font-family: var(--mono); text-align: right; white-space: nowrap; }
