/* Document-style pages: Room IX and anything else with prose in it. */
.doc{ max-width:none; padding:0; }
.doc-top{
  position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:1rem;
  padding:1rem var(--pad); border-bottom:1px solid var(--hair);
  background:rgba(8,9,11,.86); backdrop-filter:blur(16px);
}
.doc-top a{
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none;
  font-family:var(--mono); font-size:.62rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--paper-dim); transition:color .3s;
}
.doc-top a:hover{ color:var(--gilt); }
.doc-top .spacer{ flex:1; }
.doc-top .tag{
  font-family:var(--mono); font-size:.56rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--paper-faint);
}

.doc-hero{ padding:clamp(3rem,10vh,7rem) var(--pad) clamp(2rem,5vh,3.5rem); border-bottom:1px solid var(--hair); }
.doc-hero .kick{
  font-family:var(--mono); font-size:.62rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gilt); margin:0 0 1.4rem;
}
.doc-hero h1{
  font-family:var(--display); font-weight:300; font-size:clamp(2.4rem,7vw,5.2rem);
  line-height:.98; letter-spacing:-.025em; margin:0 0 1.2rem; max-width:16ch;
  font-variation-settings:"opsz" 144,"WONK" 1;
}
.doc-hero h1 em{ font-style:italic; color:var(--gilt); }
.doc-hero .stand{
  font-family:var(--display); font-style:italic; font-weight:300;
  font-size:clamp(1.1rem,2.4vw,1.6rem); line-height:1.45; color:var(--paper-dim);
  max-width:46ch; margin:0;
}

.doc-body{ padding:clamp(2.5rem,7vh,5rem) var(--pad) clamp(4rem,12vh,8rem); }
.doc-grid{
  display:grid; gap:clamp(2rem,5vw,4.5rem);
  grid-template-columns:minmax(0,20ch) minmax(0,68ch);
  align-items:start; max-width:110ch;
}
@media(max-width:820px){ .doc-grid{ grid-template-columns:1fr; gap:1rem; } }
.doc-sec{ display:contents; }
.doc-sec > h2{
  font-family:var(--mono); font-weight:400; font-size:.62rem; letter-spacing:.26em;
  text-transform:uppercase; color:var(--gilt); margin:0; padding-top:.35rem;
  border-top:1px solid var(--hair); padding-top:1.1rem;
}
.doc-sec > div{ border-top:1px solid var(--hair); padding-top:1.1rem; padding-bottom:clamp(2rem,5vh,3.5rem); }
@media(max-width:820px){ .doc-sec > div{ border-top:none; padding-top:0; } }
.doc-sec p{ margin:0 0 1.15em; color:#c4c0b8; font-size:.95rem; line-height:1.78; }
.doc-sec p:last-child{ margin-bottom:0; }
.doc-sec strong{ color:var(--paper); font-weight:500; }
.doc-sec em{ color:var(--gilt); font-style:italic; }
.doc-sec code{
  font-family:var(--mono); font-size:.84em; color:var(--gilt);
  background:rgba(255,255,255,.045); padding:.12em .38em; border-radius:2px;
}
.doc-sec a{ color:var(--paper); text-decoration:none; border-bottom:1px solid rgba(224,197,137,.45); }
.doc-sec a:hover{ color:var(--gilt); border-color:var(--gilt); }
.doc-sec ul{ margin:0 0 1.15em; padding-left:1.1rem; color:#c4c0b8; font-size:.95rem; line-height:1.78; }
.doc-sec li{ margin-bottom:.5em; }
.doc-sec li::marker{ color:var(--gilt); }

pre.block{
  font-family:var(--mono); font-size:.72rem; line-height:1.75; color:#a9c4b4;
  background:rgba(0,0,0,.42); border:1px solid var(--hair); border-left:2px solid var(--gilt);
  padding:1rem 1.1rem; border-radius:0 2px 2px 0; overflow-x:auto; margin:0 0 1.2rem;
  white-space:pre;
}
pre.block b{ color:var(--gilt); font-weight:400; }

.rulebox{
  border:1px solid var(--hair); border-radius:2px; padding:1.3rem 1.4rem; margin:0 0 1.3rem;
  background:linear-gradient(180deg, rgba(255,255,255,.022), transparent);
}
.rulebox h3{
  font-family:var(--mono); font-size:.58rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--gilt); margin:0 0 .9rem;
}
.rulebox p{ font-size:.88rem !important; }

.cta-row{ display:flex; flex-wrap:wrap; gap:.6rem; margin:1.4rem 0 0; }
.cta{
  display:inline-flex; align-items:center; gap:.5rem; text-decoration:none !important;
  font-family:var(--mono); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--paper-dim) !important; border:1px solid var(--hair) !important; border-radius:2px;
  padding:.75em 1.1em; transition:all .3s var(--ease);
}
.cta:hover{ color:var(--ink) !important; background:var(--gilt); border-color:var(--gilt) !important; }
.cta.primary{ color:var(--ink) !important; background:var(--gilt); border-color:var(--gilt) !important; }
.cta.primary:hover{ filter:brightness(1.12); }

.no-list{ list-style:none; padding:0; margin:0 0 1.2rem; }
.no-list li{
  padding:.6rem 0 .6rem 1.5rem; border-bottom:1px solid var(--hair-soft); position:relative;
  font-size:.88rem; line-height:1.7; color:#bcb8b0;
}
.no-list li::before{ content:"—"; position:absolute; left:0; color:var(--gilt); }
.no-list li b{ color:var(--paper); font-weight:500; }

.sig{
  font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--paper-faint); margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--hair);
}

/* ── open commissions table ── */
.c-wrap{ overflow-x:auto; border:1px solid var(--hair); border-radius:2px; }
.c-table{ width:100%; border-collapse:collapse; font-size:.82rem; min-width:520px; }
.c-table th{
  text-align:left; font-family:var(--mono); font-weight:400; font-size:.55rem;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gilt);
  padding:.85rem 1rem; border-bottom:1px solid var(--hair); white-space:nowrap;
}
.c-table td{ padding:.85rem 1rem; border-bottom:1px solid var(--hair-soft); vertical-align:top; color:#c4c0b8; }
.c-table tr:last-child td{ border-bottom:none; }
.c-table tr:hover td{ background:rgba(255,255,255,.022); }
.c-table td b{ color:var(--paper); font-weight:500; }
.c-why{ display:block; margin-top:.3rem; font-size:.78rem; line-height:1.6; color:var(--paper-faint); }
.c-ref{ font-family:var(--mono); font-size:.66rem !important; line-height:1.6; color:var(--paper-faint) !important; white-space:normal; }
.c-diff{
  font-family:var(--mono); font-size:.53rem; letter-spacing:.16em; text-transform:uppercase;
  padding:.28em .6em; border-radius:2px; border:1px solid var(--hair); white-space:nowrap;
}
.c-easy{ color:#8fbf9a; border-color:rgba(143,191,154,.32); }
.c-medium{ color:#e0c589; border-color:rgba(224,197,137,.32); }
.c-hard{ color:#d69a8a; border-color:rgba(214,154,138,.32); }
.c-warn{
  font-family:var(--mono) !important; font-size:.68rem !important; line-height:1.75 !important;
  color:var(--paper-faint) !important; border-left:2px solid var(--gilt); padding-left:.9rem;
}
