/* =============================================
   Author Profile Page
   Layout: hero + two-column (content + sidebar)
   Matches site design language from variables.css
   ============================================= */

/* Breadcrumb (includes top offset for fixed header: banner 40px + header 64px) */
.author-breadcrumb {
    max-width: 64rem; margin: 0 auto;
    padding: calc(var(--il-nav-total-height, 104px) + 1.5rem) 2.5rem 1.5rem;
    font-size: 0.8125rem; color: #64748b;
}
.author-breadcrumb a { color: #64748b; text-decoration: none; }
.author-breadcrumb a:hover { color: var(--primary-blue); }
.author-breadcrumb .sep { margin: 0 0.4rem; opacity: 0.5; }

/* Hero */
.author-hero {
    background: linear-gradient(160deg, #1547BC 0%, #041E88 100%);
    padding: 3rem 2.5rem 2.5rem; color: #fff;
}
.author-hero-inner {
    max-width: 64rem; margin: 0 auto;
    display: flex; align-items: center; gap: 2rem;
}
.author-hero-photo {
    width: 160px; height: 160px; border-radius: 50%;
    object-fit: cover; border: 4px solid rgba(255,255,255,0.2);
    flex-shrink: 0;
}
.author-hero h1 {
    font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 700;
    margin: 0 0 0.25rem; line-height: 1.2;
}
.author-hero .author-title {
    font-size: 1.0625rem; color: rgba(255,255,255,0.85);
    margin: 0 0 0.625rem;
}
.author-hero .author-tagline {
    font-size: 0.9375rem; color: rgba(255,255,255,0.7);
    line-height: 1.5; max-width: 36rem; margin: 0 0 0.75rem;
}
.author-hero .author-social a {
    color: rgba(255,255,255,0.7); text-decoration: none;
    font-size: 0.875rem; font-weight: 500;
    transition: color 0.2s;
}
.author-hero .author-social a:hover { color: #fff; }

/* Main Layout */
.author-body {
    max-width: 64rem; margin: 0 auto;
    padding: 2.5rem 2.5rem 4rem;
    display: grid; grid-template-columns: 1fr 18rem; gap: 3rem;
    align-items: start;
}

/* Sidebar */
.author-sidebar {
    position: sticky; top: 7rem;
    display: flex; flex-direction: column; gap: 1.5rem;
}
.author-sidebar-card {
    background: #f8fafc; border: 1px solid #e2e8f0;
    border-radius: 0.625rem; padding: 1.25rem;
}
.author-sidebar-card h3 {
    font-size: 0.6875rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.06em;
    color: #64748b; margin: 0 0 0.75rem;
}
.author-sidebar-card ul {
    list-style: none; padding: 0; margin: 0;
}
.author-sidebar-card li {
    font-size: 0.875rem; color: #334155;
    padding: 0.3rem 0; line-height: 1.4;
}
.author-sidebar-card li strong { font-weight: 600; }

/* Bio */
.author-bio { line-height: 1.7; color: #1e2d3d; font-size: 1.0625rem; }
.author-bio p { margin-bottom: 1.25em; }
.author-bio a { color: var(--primary-blue); text-decoration: none; }
.author-bio a:hover { text-decoration: underline; }

/* Pullquote */
.author-pullquote {
    border-left: 4px solid var(--primary-blue);
    padding: 1rem 1.5rem; margin: 2rem 0;
    font-size: 1.125rem; font-style: italic;
    color: #334155; line-height: 1.6;
    background: #f0f4fb;
}

/* Section headings */
.author-section-heading {
    font-size: 1.25rem; font-weight: 700; color: #121F31;
    margin: 2.5rem 0 1rem; padding-bottom: 0.35em;
    border-bottom: 2px solid #e2e8f0;
}

/* Publications */
.author-publications { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.author-publications li {
    padding: 0.5rem 0; border-bottom: 1px solid #f1f5f9;
    font-size: 0.9375rem; line-height: 1.5;
}
.author-publications li:last-child { border-bottom: none; }
.author-publications a { color: var(--primary-blue); text-decoration: none; font-weight: 500; }
.author-publications a:hover { text-decoration: underline; }

/* Article listing */
.author-topic-group { margin-bottom: 2rem; }
.author-topic-group h3 {
    font-size: 0.875rem; font-weight: 700; color: #64748b;
    text-transform: uppercase; letter-spacing: 0.04em;
    margin: 0 0 0.75rem;
}
.author-article-list { list-style: none; padding: 0; margin: 0; }
.author-article-list li {
    padding: 0.625rem 0; border-bottom: 1px solid #f1f5f9;
}
.author-article-list li:last-child { border-bottom: none; }
.author-article-list a {
    color: #121F31; text-decoration: none; font-weight: 500;
    font-size: 0.9375rem;
}
.author-article-list a:hover { color: var(--primary-blue); }
.author-article-meta {
    font-size: 0.75rem; color: #94a3b8; margin-top: 0.125rem;
}

/* Disclosure + editorial */
.author-disclosure {
    font-size: 0.8125rem; color: #64748b; line-height: 1.6;
    margin-top: 2rem; padding-top: 1.5rem;
    border-top: 1px solid #e2e8f0;
}
.author-disclosure a { color: var(--primary-blue); text-decoration: none; }
.author-disclosure a:hover { text-decoration: underline; }
.author-last-updated {
    font-size: 0.75rem; color: #94a3b8; margin-top: 0.5rem;
}

/* CTA */
.author-cta {
    background: linear-gradient(160deg, #1547BC 0%, #041E88 100%);
    color: #fff; border-radius: 0.75rem; padding: 2rem;
    text-align: center; margin-top: 2.5rem;
}
.author-cta h3 { font-size: 1.25rem; font-weight: 700; color: #fff; margin: 0 0 0.5rem; }
.author-cta p { font-size: 0.9375rem; color: rgba(255,255,255,0.9); margin: 0 0 1.25rem; }
.author-cta a {
    display: inline-block; background: #FFA000; color: #121F31;
    padding: 0.75rem 2rem; border-radius: 0.375rem;
    font-weight: 700; font-size: 1rem; text-decoration: none;
}
.author-cta a:hover { background: #ffb333; }

/* Responsive */
@media (max-width: 768px) {
    .author-hero-inner { flex-direction: column; text-align: center; }
    .author-hero-photo { width: 120px; height: 120px; }
    .author-body { grid-template-columns: 1fr; }
    .author-sidebar { position: static; order: -1; }
}
