

.grain::after,
.ln-grain::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.55;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
}

.ln-stage-glow {
  background:
    radial-gradient(120% 90% at 18% 0%, rgba(201,163,104,0.10), transparent 55%),
    var(--ink-900);
}

.ln-mark {
  --mk: 96px;
  width: var(--mk);
  height: var(--mk);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hair-gold);
  position: relative;
  flex: none;
  background: linear-gradient(160deg, rgba(201,163,104,0.06), transparent 60%);
}
.ln-mark .glyph {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: calc(var(--mk) * 0.5);
  letter-spacing: -0.06em;
  line-height: 1;
  color: var(--gold-500);
  display: inline-flex;
  align-items: baseline;
}

.ln-mark .glyph .n { margin-left: -0.07em; }

.ln-mark::before, .ln-mark::after {
  content:""; position:absolute; width:7px; height:7px; pointer-events:none;
}
.ln-mark.ticks::before { top:5px; left:5px; border-top:1px solid var(--hair-gold); border-left:1px solid var(--hair-gold); }
.ln-mark.ticks::after  { bottom:5px; right:5px; border-bottom:1px solid var(--hair-gold); border-right:1px solid var(--hair-gold); }

.ln-mark.round { border-radius: var(--r-pill); background: var(--ink-850); }

.ln-mark.solid { background: var(--gold-500); border-color: var(--gold-500); }
.ln-mark.solid .glyph { color: var(--ink-900); }

.ln-logo {
  display: inline-flex;
  align-items: center;
  gap: var(--s-4);
}
.ln-logo .word { display: flex; flex-direction: column; gap: 7px; }
.ln-logo .word .name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 30px;
  letter-spacing: 0.14em;
  line-height: 1;
  color: var(--bone-100);
  text-transform: uppercase;
  padding-left: 0.14em;
}
.ln-logo .word .tag {
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: 9.5px;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--bone-500);
  padding-left: 0.16em;
}

.ln-logo.ruled .word { border-left: 1px solid var(--hair); padding-left: var(--s-4); }

.ln-logo.stacked { flex-direction: column; gap: var(--s-3); text-align: center; }
.ln-logo.stacked .word { align-items: center; }

.ln-logo.on-paper .name { color: var(--paper-ink); }
.ln-logo.on-paper .tag { color: #6b6155; }

.ln-btn {
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 15px 28px;
  border: none;
  cursor: pointer;
  transition: all var(--dur) var(--ease);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: var(--r-0);
}
.ln-btn-primary { background: var(--gold-500); color: var(--ink-900); }
.ln-btn-primary:hover { background: var(--gold-400); transform: translateY(-1px); }
.ln-btn-primary:active { background: var(--gold-600); transform: translateY(0); }

.ln-btn-ghost { background: transparent; color: var(--bone-100); border: 1px solid var(--hair-gold); }
.ln-btn-ghost:hover { border-color: var(--gold-500); color: var(--gold-400); }
.ln-btn-ghost:active { background: rgba(201,163,104,0.06); }

.ln-btn-text { background: none; color: var(--gold-500); padding: 6px 0; border-bottom: 1px solid var(--hair-gold); }
.ln-btn-text:hover { color: var(--gold-400); border-color: var(--gold-400); }

.ln-card {
  background: var(--ink-800);
  border: 1px solid var(--hair);
  padding: var(--s-6);
  position: relative;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.ln-card:hover { border-color: var(--hair-gold); }

.ln-rule { height:1px; width:100%; background: var(--hair-gold); }
.ln-rule.short { width: 48px; height: 2px; background: var(--gold-500); }
