.kink-author-encyclopedia { min-height: 100vh; padding-top: 2rem; }
.kink-author-return { position: sticky; z-index: 7; top: 0; display: flex; padding: .75rem 0; background: color-mix(in srgb, var(--ke-bg) 94%, transparent); backdrop-filter: blur(14px); }
.kink-author-return a,
.kink-author-profile nav a { color: var(--ke-gold); font-size: .73rem; font-weight: 500; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.kink-author-return a:hover,
.kink-author-profile nav a:hover { color: var(--ke-white); }

.kink-author-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .5fr); gap: 2rem 4rem; align-items: end; padding: clamp(3rem, 7vw, 7rem) 0 clamp(3rem, 6vw, 6rem); border-bottom: 1px solid var(--ke-line); }
.kink-author-hero .eyebrow { grid-column: 1 / -1; }
.kink-author-hero h1 { margin: 0; color: var(--ke-white); font-family:var(--font-serif); font-size: clamp(4.2rem, 9vw, 9rem); font-weight: 400; letter-spacing: -.055em; line-height: .78; }
.kink-author-hero h1 em { color: var(--ke-gold); font-weight: 400; }
.kink-author-hero > p:last-child { max-width: 540px; margin: 0; color: var(--ke-muted); font-size: 1.08rem; line-height: 1.7; }

.kink-author-controls { display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: 1rem; align-items: end; padding: 2rem 0; }
.kink-author-controls p { margin: 0 0 .85rem; color: var(--ke-gold); font-weight: 500; }
.kink-author-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ke-line); border-left: 1px solid var(--ke-line); }
.kink-author-card { position: relative; display: grid; min-height: 190px; grid-template-columns: 1fr auto; gap: 1rem; align-content: end; overflow: hidden; padding: 1.25rem; border-right: 1px solid var(--ke-line); border-bottom: 1px solid var(--ke-line); background: rgba(8, 23, 37, .78); color: var(--ke-white); text-decoration: none; }
.kink-author-card:hover { background: var(--ke-panel-soft); }
.kink-author-card-initial { position: absolute; top: -.5rem; right: .4rem; color: rgba(240, 197, 120, .09); font-family:var(--font-serif); font-size: 8rem; line-height: 1; }
.kink-author-card h2 { position: relative; margin: 0; font-family:var(--font-serif); font-size: clamp(1.55rem, 2.7vw, 2.5rem); font-weight: 400; line-height: 1; }
.kink-author-card p { position: relative; margin: .5rem 0 0; color: var(--ke-muted); font-size: .78rem; }
.kink-author-card strong { position: relative; align-self: end; color: var(--ke-gold); font-family:var(--font-serif); font-size: 2rem; font-weight: 400; }
.kink-author-card strong span { display: block; color: var(--ke-muted); font-family:sans-serif; font-size: .58rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }

.kink-author-profile { padding: 2rem 0 7rem; }
.kink-author-profile > nav { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--ke-line); }
.kink-author-profile > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem 2rem; align-items: end; padding: clamp(3rem, 7vw, 7rem) 0; }
.kink-author-profile > header .eyebrow { grid-column: 1 / -1; }
.kink-author-profile > header h2 { margin: 0; color: var(--ke-white); font-family:var(--font-serif); font-size: clamp(4rem, 9vw, 9rem); font-weight: 400; letter-spacing: -.055em; line-height: .82; }
.kink-author-profile > header > p:not(.eyebrow) { margin: .4rem 0 0; color: var(--ke-muted); font-size: 1.05rem; }
.kink-author-external { grid-column: 2; grid-row: 2 / 4; display: inline-flex; min-height: 48px; align-items: center; padding: .75rem 1rem; border: 1px solid var(--ke-gold); color: var(--ke-gold); font-weight: 500; text-decoration: none; }
.kink-author-external.is-inert { border-style: dashed; text-decoration: underline; text-decoration-style: dotted; cursor: default; }
.kink-author-profile > section { display: grid; grid-template-columns: minmax(220px, .35fr) 1fr; gap: 2rem 4rem; }
.kink-author-profile h3 { margin: 0; color: var(--ke-gold); font-family:var(--font-serif); font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 400; }
.kink-author-profile ol { margin: 0; padding: 0; border-top: 1px solid var(--ke-line); list-style: none; }
.kink-author-profile li { display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(140px, .45fr); gap: 1rem; align-items: center; padding: 1.05rem 0; border-bottom: 1px solid var(--ke-line); }
.kink-author-profile li > div:first-child { display: grid; gap: .28rem; }
.kink-author-profile li > div:first-child span { color: var(--ke-muted); font-size: .6rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.kink-author-profile li > div:first-child a { color: var(--ke-white); font-family:var(--font-serif); font-size: 1.45rem; text-decoration: none; }
.kink-author-profile li > div:first-child a:hover { color: var(--ke-gold); }
.kink-author-house-count { color: var(--ke-gold); font-size: .66rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.kink-author-term-stories { min-width: 180px; }
.kink-author-term-stories > summary { color: var(--ke-gold); font-size: .66rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.kink-author-term-stories > ul { display: grid; max-height: 260px; gap: .35rem; overflow-y: auto; margin: .75rem 0 0; padding: 0; list-style: none; }
.kink-author-term-stories > ul > li { display: block; padding: 0; border: 0; }
.kink-author-sources { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: end; }
.kink-author-source { color: var(--ke-gold); font-size: .68rem; font-weight: 500; text-decoration: none; }
.kink-author-source.is-inert { text-decoration: underline; text-decoration-style: dotted; cursor: default; }
.kink-author-house-library { display: block !important; margin-top: clamp(4rem, 8vw, 8rem); }
.kink-author-house-library > header { display: grid; grid-template-columns: minmax(220px, .35fr) 1fr; gap: 2rem 4rem; align-items: end; margin-bottom: 2rem; }
.kink-author-house-library > header > p { max-width: 720px; margin: 0; color: var(--ke-muted); line-height: 1.7; }
.kink-author-series-list { border-top: 1px solid var(--ke-line); }
.kink-author-series-list > details { border-bottom: 1px solid var(--ke-line); }
.kink-author-series-list > details > summary { display: grid; min-height: 64px; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; color: var(--ke-white); font-family:var(--font-serif); font-size: 1.4rem; cursor: pointer; }
.kink-author-series-list > details > summary strong { color: var(--ke-gold); font-family:sans-serif; font-size: .72rem; }
.kink-author-series-list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.kink-author-series-list li { display: block; padding: 0; border: 0; }
.kink-author-story-link { display: grid; min-height: 48px; grid-template-columns: 1fr auto; gap: .2rem 1rem; align-items: center; padding: .7rem .85rem; border: 1px solid var(--ke-line); color: var(--ke-white); text-decoration: none; }
.kink-author-story-link:hover { border-color: var(--ke-gold); color: var(--ke-gold); }
.kink-author-story-link small { color: var(--ke-muted); font-size: .58rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.kink-author-story-link b { grid-column: 2; grid-row: 1 / 3; color: var(--ke-gold); }
.kink-author-story-link.is-inert { border-style: dashed; text-decoration: underline; text-decoration-style: dotted; cursor: default; }

@media (max-width: 980px) {
    .kink-author-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kink-author-profile > section { grid-template-columns: 1fr; }
    .kink-author-house-library > header { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .kink-author-hero,
    .kink-author-controls,
    .kink-author-profile > header { grid-template-columns: 1fr; }
    .kink-author-index { grid-template-columns: 1fr; }
    .kink-author-profile > header h2 { font-size: clamp(3.5rem, 17vw, 6rem); }
    .kink-author-external { grid-column: 1; grid-row: auto; justify-self: start; }
    .kink-author-profile li { grid-template-columns: 1fr; }
    .kink-author-sources { justify-content: start; }
    .kink-author-series-list ul { grid-template-columns: 1fr; }
    .kink-author-profile > nav { align-items: flex-start; flex-direction: column; }
}
