.tl-authors-archive-wrap,
.tl-author-single-wrap {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 50px 0 70px;
}
.tl-authors-header {
    max-width: 760px;
    margin: 0 auto 38px;
    text-align: center;
}
.tl-authors-header h1,
.tl-author-intro h1,
.tl-author-books-section h2 {
    margin-top: 0;
}
.tl-author-eyebrow {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .65;
}
.tl-authors-grid {
    display: grid;
    grid-template-columns: repeat(var(--tl-author-columns, 4), minmax(0, 1fr));
    gap: 28px;
}
.tl-author-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0,0,0,.09);
    border-radius: 12px;
    box-shadow: 0 8px 26px rgba(0,0,0,.06);
    transition: transform .2s ease, box-shadow .2s ease;
}
.tl-author-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,.10);
}
.tl-author-card-image {
    display: block;
    aspect-ratio: 4 / 5;
    background: #eef1f3;
    overflow: hidden;
}
.tl-author-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tl-author-placeholder,
.tl-author-photo-placeholder,
.tl-book-cover-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #eceff1, #f7f8f9);
}
.tl-author-card-body { padding: 20px; }
.tl-author-card-title { margin: 0 0 8px; font-size: 1.25rem; }
.tl-author-card-title a,
.tl-author-view-link,
.tl-book-card h3 a { text-decoration: none; }
.tl-author-view-link { font-weight: 700; font-size: .95rem; }
.tl-author-hero {
    display: grid;
    grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
    gap: 52px;
    align-items: start;
}
.tl-author-photo {
    aspect-ratio: 4 / 5;
    border-radius: 14px;
    overflow: hidden;
    background: #eef1f3;
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
}
.tl-author-photo img { width: 100%; height: 100%; object-fit: cover; display:block; }
.tl-author-intro h1 { font-size: clamp(2.1rem, 5vw, 4rem); line-height: 1.05; }
.tl-author-excerpt { font-size: 1.15rem; font-weight: 600; margin-bottom: 22px; }
.tl-author-bio { font-size: 1.05rem; line-height: 1.75; }
.tl-author-books-section { margin-top: 58px; padding-top: 42px; border-top: 1px solid rgba(0,0,0,.1); }
.tl-books-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 28px;
    margin-top: 26px;
}
.tl-book-card {
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.09);
    border-radius: 10px;
    background: #fff;
}
.tl-book-cover { display:block; aspect-ratio: 2 / 3; background:#f1f3f5; overflow:hidden; }
.tl-book-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.tl-book-card-body { padding: 18px; }
.tl-book-card h3 { margin:0 0 10px; font-size:1.08rem; }
.tl-book-card p { margin:0 0 16px; font-size:.94rem; line-height:1.55; }
.tl-book-button {
    display:inline-block;
    padding: 9px 14px;
    border-radius: 5px;
    text-decoration:none;
    font-weight:700;
    border:1px solid currentColor;
}
.tl-author-pagination { margin-top: 38px; }
@media (max-width: 1000px) {
    .tl-authors-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .tl-books-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 780px) {
    .tl-author-hero { grid-template-columns: 1fr; gap: 30px; }
    .tl-author-photo { max-width: 380px; }
    .tl-authors-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .tl-books-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px) {
    .tl-authors-archive-wrap,
    .tl-author-single-wrap { width: min(100% - 28px, 1180px); padding-top: 30px; }
    .tl-authors-grid,
    .tl-books-grid { grid-template-columns: 1fr; }
}
