/* morganvex.com v2 — one stylesheet, near-black, off-white, no gradients */
:root{
  --bg:#0b0b0d;
  --panel:#121216;
  --panel-2:#0f0f13;
  --ink:#e8e6e3;
  --dim:#8a8791;
  --dimmer:#5e5b66;
  --line:#26242b;
  --line-2:#35323d;
  --accent:#b9b4c4;
  --low:#7a4a4a;      /* 1-3 */
  --mid:#6b6674;      /* 4-6 */
  --high:#8e9a7c;     /* 7-8 */
  --top:#c6b48a;      /* 9-10 */
  --max:640px;
  --wide:900px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  line-height:1.6;font-size:16px;
  display:flex;flex-direction:column;min-height:100vh;align-items:center;
}
::selection{background:var(--ink);color:var(--bg)}
a{color:inherit}
.serif{font-family:'Cormorant Garamond',Georgia,serif}

/* ---------- shell ---------- */
.wrap{width:100%;max-width:var(--max);padding:0 24px}
.wrap.wide{max-width:var(--wide)}
main{width:100%;flex:1;display:flex;flex-direction:column;align-items:center}

/* ---------- nav ---------- */
nav.top{
  width:100%;border-bottom:1px solid var(--line);
  display:flex;justify-content:center;position:sticky;top:0;z-index:20;
  background:rgba(11,11,13,.92);backdrop-filter:blur(8px);
}
nav.top .wrap{display:flex;align-items:center;gap:20px;height:52px;overflow-x:auto;scrollbar-width:none}
nav.top .wrap::-webkit-scrollbar{display:none}
nav.top .mark{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;text-decoration:none;letter-spacing:.02em;white-space:nowrap;margin-right:auto}
nav.top a.item{
  color:var(--dim);text-decoration:none;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;white-space:nowrap;padding:4px 0;border-bottom:1px solid transparent;
}
nav.top a.item:hover{color:var(--ink)}
nav.top a.item[aria-current="page"]{color:var(--ink);border-bottom-color:var(--line-2)}

/* ---------- type ---------- */
h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.9rem,10vw,4.6rem);line-height:1.02;letter-spacing:.01em}
h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(1.7rem,4.5vw,2.3rem);line-height:1.15;margin-bottom:6px}
h3{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-weight:500}
p{margin:0 0 14px}
.lede{color:var(--dim);font-size:.95rem;letter-spacing:.03em}
.small{font-size:.8rem;color:var(--dim)}
.tiny{font-size:.72rem;color:var(--dimmer);letter-spacing:.04em}
hr.rule{border:none;border-top:1px solid var(--line);margin:44px 0}
section{padding:8px 0}
.stage{padding:72px 0 20px}
.block{padding:44px 0}

/* ---------- rules slab ---------- */
.slab{
  border:1px solid var(--line);border-radius:6px;background:var(--panel-2);
  padding:26px 26px 22px;
}
.slab ul{list-style:none;margin:10px 0 0}
.slab li{
  font-size:.92rem;padding:9px 0 9px 22px;position:relative;color:var(--ink);
  border-top:1px solid var(--line);
}
.slab li:first-child{border-top:none}
.slab li:before{content:"—";position:absolute;left:0;color:var(--dimmer)}

/* ---------- rubric ---------- */
.rubric{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.rubric div{background:var(--panel);padding:18px 16px}
.rubric .k{font-size:.68rem;letter-spacing:.18em;color:var(--dim);text-transform:uppercase}
.rubric .v{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-top:4px}
.rubric .d{font-size:.78rem;color:var(--dim);margin-top:6px;line-height:1.45}

/* ---------- verdict card ---------- */
.verdict{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px 24px;margin:8px 0}
.verdict .subject{color:var(--dim);font-size:.82rem;letter-spacing:.05em}
.verdict .score{font-family:'Cormorant Garamond',serif;font-size:2.3rem;font-weight:600;margin:4px 0 2px}
.verdict .line{font-size:.9rem}

/* ---------- ledger ---------- */
.controls{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;align-items:center}
.chip{
  background:transparent;border:1px solid var(--line);border-radius:3px;color:var(--dim);
  font:inherit;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 13px;cursor:pointer;transition:border-color .15s,color .15s;
}
.chip:hover{border-color:var(--line-2);color:var(--ink)}
.chip[aria-pressed="true"]{border-color:var(--accent);color:var(--ink)}
.ledger{width:100%;border-top:1px solid var(--line);margin-top:14px}
.row{
  display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:baseline;
  padding:15px 2px;border-bottom:1px solid var(--line);
}
.row{scroll-margin-top:70px}
.row .n{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:600;line-height:1;text-align:right}
.row .n.s-low{color:var(--low)} .row .n.s-mid{color:var(--mid)}
.row .n.s-high{color:var(--high)} .row .n.s-top{color:var(--top)}
.row .subj{font-size:.93rem;font-family:inherit;font-weight:400;letter-spacing:0;
  text-transform:none;color:var(--ink);margin:0}
.row .verd{display:block;color:var(--dim);font-size:.82rem;margin:3px 0 0;line-height:1.45}
.row:target{background:var(--panel);box-shadow:-14px 0 0 var(--panel),14px 0 0 var(--panel)}
.row .cat{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);white-space:nowrap}
.row.clause .n:after{content:"";}
.badge-clause{
  display:inline-block;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--line-2);border-radius:2px;padding:1px 6px;margin-left:8px;color:var(--dim);vertical-align:1px;
}
.count{font-size:.72rem;color:var(--dimmer);letter-spacing:.08em;margin-left:auto}

/* ---------- capture ---------- */
.capture{border:1px solid var(--line-2);border-radius:6px;background:var(--panel);padding:28px 26px}
.capture h2{margin-bottom:10px}
form.sub{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
input[type=email],input[type=text],textarea,select{
  flex:1 1 220px;background:var(--bg);border:1px solid var(--line-2);border-radius:4px;
  color:var(--ink);font:inherit;font-size:.9rem;padding:12px 14px;
}
textarea{width:100%;flex:1 1 100%;min-height:110px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--dimmer)}
button.go{
  background:var(--ink);color:var(--bg);border:1px solid var(--ink);border-radius:4px;
  font:inherit;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  padding:12px 22px;cursor:pointer;transition:opacity .15s;
}
button.go:hover{opacity:.85}
button.go:disabled{opacity:.4;cursor:default}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formnote{font-size:.74rem;color:var(--dimmer);margin-top:12px;line-height:1.5}
.msg{font-size:.85rem;margin-top:12px;min-height:1.2em}
.msg.ok{color:var(--top)} .msg.bad{color:var(--low)}

/* ---------- links row ---------- */
.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.links a{
  text-decoration:none;border:1px solid var(--line);border-radius:4px;padding:9px 16px;
  font-size:.76rem;letter-spacing:.1em;text-transform:lowercase;color:var(--ink);
  transition:border-color .15s,color .15s;
}
.links a:hover{border-color:var(--accent)}

/* ---------- cta ---------- */
.cta{
  display:inline-block;text-decoration:none;border:1px solid var(--accent);border-radius:4px;
  padding:11px 20px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-top:8px;
}
.cta:hover{background:var(--ink);color:var(--bg)}
.cta.ghost{border-color:var(--line-2);color:var(--dim)}
.cta.ghost:hover{background:transparent;color:var(--ink);border-color:var(--accent)}

/* ---------- footer ---------- */
footer{
  width:100%;display:flex;justify-content:center;border-top:1px solid var(--line);margin-top:56px;
}
footer .wrap{padding-top:28px;padding-bottom:44px}
.disclosure{font-size:.76rem;color:var(--dim);line-height:1.65;letter-spacing:.02em}
.disclosure strong{color:var(--ink);font-weight:500}
.fnav{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}
.fnav a{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dimmer);text-decoration:none}
.fnav a:hover{color:var(--ink)}
.heart{color:var(--ink)}

@media (max-width:560px){
  .rubric{grid-template-columns:1fr}
  .row{grid-template-columns:52px 1fr;gap:12px}
  .row .cat{grid-column:2;margin-top:4px}
  .stage{padding:52px 0 12px}
}

/* ---------- crowd vote ---------- */
.row{position:relative}
.vote{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.vote .lbl{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);margin-right:4px}
.vote button{
  background:transparent;border:1px solid var(--line);border-radius:3px;color:var(--dim);
  font:inherit;font-size:.72rem;width:26px;height:26px;line-height:1;cursor:pointer;padding:0;
  transition:border-color .12s,color .12s;
}
.vote button:hover{border-color:var(--accent);color:var(--ink)}
.vote button[aria-pressed="true"]{border-color:var(--accent);color:var(--bg);background:var(--ink)}
.vote .tally{font-size:.72rem;color:var(--dim);margin-left:8px;white-space:nowrap}
.vote .tally b{color:var(--ink);font-weight:500}
.vote .gap{color:var(--top)}
.crowd{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;color:var(--dim);
  margin-left:10px;vertical-align:2px;
}
@media (max-width:560px){ .vote .tally{margin-left:0;width:100%;margin-top:4px} }
