/* Learning Center archive. */

.lc-archive {
    --lc-blue: #016bff;
    --lc-navy: #0f2749;
    --lc-ink: #0f2749;
    --lc-body: #364041;
    --lc-muted: #5a6b82;
    --lc-line: #e2e8f0;
    --lc-soft: #f4f7fb;
    color: var(--lc-body);
    font-family: "DM Sans", system-ui, -apple-system, sans-serif;
}
.lc-archive h1,
.lc-archive h2,
.lc-archive h3,
.lc-archive h4,
.lc-archive h5,
.lc-archive h6,
.lc-archive button,
.lc-archive input,
.lc-archive select,
.lc-archive textarea {
    font-family: inherit;
}
.lc-archive *,
.lc-archive *::before,
.lc-archive *::after { box-sizing: border-box; }
.lc-archive-wrap { width: min(100% - 48px, 1180px); margin: 0 auto; }
.lc-archive-kicker {
    display: block;
    margin-bottom: 12px;
    color: var(--lc-blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.lc-archive-hero {
    position: relative;
    overflow: hidden;
    padding: 184px 0 90px;
    color: #fff;
    background-color: #0f2749;
    background-image: url("https://www.synack.com/wp-content/uploads/2026/07/synack-learning-center-background.png");
    background-repeat: no-repeat;
    background-position: center calc(50% + 75px);
    background-size: cover;
}


.lc-archive-hero > .lc-archive-wrap { position: relative; z-index: 1; }
.lc-archive-hero .lc-archive-kicker { color: #b9d6ff; }
.lc-archive-hero h1 {
    max-width: 850px;
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(46px, 6vw, 76px);
    font-weight: 400;
    letter-spacing: -.8px;
    line-height: 1.15;
}
.lc-archive-hero p { max-width: 760px; margin: 0; color: #d5e2f4; font-size: 20px; line-height: 1.55; }

.lc-filter-section { position: relative; z-index: 2; margin-top: -38px; }
.lc-filter-form {
    padding: 26px;
    border: 1px solid var(--lc-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 50px -30px rgba(15, 39, 73, .48);
}
.lc-search-field > label,
.lc-filter-row label > span { display: block; margin-bottom: 8px; color: var(--lc-navy); font-size: 13px; font-weight: 700; }
.lc-search-control { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.lc-search-control input,
.lc-filter-row select {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #cfd7e3;
    border-radius: 9px;
    color: var(--lc-ink);
    background: #fff;
    font: inherit;
    font-size: 15px;
}
.lc-search-control input:focus,
.lc-filter-row select:focus { outline: 3px solid rgba(1, 107, 255, .16); border-color: var(--lc-blue); }
.lc-search-control button {
    min-width: 124px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: var(--lc-blue);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    cursor: pointer;
}
.lc-search-control button:hover { background: #0057d1; }
.lc-search-control button:focus-visible,
.lc-clear-filters:focus-visible,
.lc-card a:focus-visible,
.lc-pagination a:focus-visible {
    outline: 3px solid rgba(1, 107, 255, .35);
    outline-offset: 3px;
}
.lc-filter-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 14px; align-items: end; margin-top: 20px; }
.lc-clear-filters {
    height: 48px;
    padding: 0 10px;
    border: 0;
    color: var(--lc-blue);
    background: transparent;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.lc-filter-form.is-loading { opacity: .72; }

.lc-results-section { padding: 64px 0 88px; scroll-margin-top: 80px; }
.lc-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.lc-results-heading h2 { margin: 0; color: var(--lc-navy); font-size: 38px; font-weight: 700; letter-spacing: -.3px; line-height: 1.15; }
.lc-results-count { margin: 0; color: var(--lc-muted); font-size: 14px; }
.lc-results-count strong { color: var(--lc-navy); font-size: 20px; }
.lc-results-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; transition: opacity .2s; }
.lc-results-grid.is-loading { opacity: .45; }

.lc-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid var(--lc-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 34px -28px rgba(15, 39, 73, .6);
    transition: transform .2s, box-shadow .2s;
}
.lc-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -28px rgba(15, 39, 73, .55); }
.lc-card-media { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #dce6f5; }
.lc-card-image { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.lc-card:hover .lc-card-image { transform: scale(1.025); }
.lc-card-media--fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .9);
    background: radial-gradient(circle at 75% 20%, #00c3ff, transparent 36%), linear-gradient(135deg, #016bff, #0f2749);
    text-decoration: none;
}
.lc-card-media--fallback span { font-size: 52px; font-weight: 700; letter-spacing: -.04em; }
.lc-card-body { display: flex; flex: 1; flex-direction: column; padding: 25px 24px 24px; }
.lc-card-labels { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.lc-card-labels span {
    padding: 5px 9px;
    border-radius: 999px;
    color: #005bd8;
    background: #eaf2ff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.lc-card-labels span + span { color: #4f5b6b; background: #f0f2f5; }
.lc-card h2 { margin: 0 0 12px; font-size: 22px; font-weight: 700; letter-spacing: -.3px; line-height: 1.3; }
.lc-card h2 a { color: var(--lc-navy); text-decoration: none; }
.lc-card h2 a:hover { color: var(--lc-blue); }
.lc-card-body > p { margin: 0 0 20px; color: var(--lc-body); font-size: 14px; line-height: 1.5; }
.lc-card-meta { display: flex; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 17px; border-top: 1px solid var(--lc-line); color: #667085; font-size: 12px; }
.lc-card-link { display: inline-block; margin-top: 18px; color: var(--lc-blue); font-size: 14px; font-weight: 700; text-decoration: none; }
.lc-card-link span { display: inline-block; margin-left: 5px; transition: transform .2s; }
.lc-card-link:hover span { transform: translateX(4px); }

.lc-empty { grid-column: 1 / -1; padding: 64px 24px; border-radius: 16px; text-align: center; background: var(--lc-soft); }
.lc-empty h2 { margin: 0 0 8px; color: var(--lc-navy); }
.lc-empty p { margin: 0; color: var(--lc-muted); }
.lc-pagination { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 48px; color: var(--lc-muted); font-size: 14px; }
.lc-pagination a { padding: 10px 20px; border: 1px solid var(--lc-line); border-radius: 999px; color: var(--lc-blue); font-weight: 700; text-decoration: none; }
.lc-pagination a:hover { border-color: var(--lc-blue); }

@media (prefers-reduced-motion: reduce) {
    .lc-card,
    .lc-card-image,
    .lc-card-link span,
    .lc-results-grid { transition: none; }
    html:has(.lc-archive) { scroll-behavior: auto; }
}

@media (max-width: 960px) {
    .lc-filter-row { grid-template-columns: repeat(2, 1fr); }
    .lc-clear-filters { justify-self: start; }
    .lc-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .lc-archive-wrap { width: min(100% - 32px, 1180px); }
    .lc-archive-hero { padding: 138px 0 72px; }
    .lc-archive-hero h1 { font-size: 42px; }
    .lc-archive-hero p { font-size: 17px; }
    .lc-filter-section { margin-top: -26px; }
    .lc-filter-form { padding: 20px 16px; }
    .lc-search-control { grid-template-columns: 1fr; }
    .lc-search-control button { height: 46px; }
    .lc-filter-row { grid-template-columns: 1fr; }
    .lc-results-section { padding: 60px 0 80px; }
    .lc-results-heading { align-items: flex-start; flex-direction: column; }
    .lc-results-heading h2 { font-size: 32px; }
    .lc-results-grid { grid-template-columns: 1fr; }
}

/* Blueprint-aligned hub presentation -------------------------------- */
.lc-filter-form {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.lc-filter-form.is-loading { opacity: 1; }
.lc-archive-hero {
    padding: 160px 0 64px;
}
body.admin-bar .lc-archive-hero {
    padding-top: calc(170px + var(--wp-admin--admin-bar--height, 32px));
}
body:has(#simple-banner:not(.simple-banner-scrolling)) .lc-archive-hero {
    padding-top: 210px;
}
body.admin-bar:has(#simple-banner:not(.simple-banner-scrolling)) .lc-archive-hero {
    padding-top: calc(210px + var(--wp-admin--admin-bar--height, 32px));
}
@media (max-width: 1180px) {
    .lc-archive-hero,
    body.admin-bar .lc-archive-hero {
        padding-top: 120px;
    }
    body:has(#simple-banner:not(.simple-banner-scrolling)) .lc-archive-hero {
        padding-top: 220px;
    }
    body.admin-bar:has(#simple-banner:not(.simple-banner-scrolling)) .lc-archive-hero {
        padding-top: calc(220px + var(--wp-admin--admin-bar--height, 32px));
    }
}
.lc-hub-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
}
.lc-hub-breadcrumb a { color: inherit; text-decoration: none; }
.lc-hub-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.lc-archive-hero h1 {
    max-width: 940px;
    font-size: clamp(46px, 5.2vw, 72px);
    letter-spacing: -.02em;
    line-height: 1;
}
.lc-archive-hero p { max-width: 900px; }
.lc-archive-hero .lc-search-field { width: 100%; max-width: 680px; margin-top: 32px; }
.lc-archive-hero .lc-search-control {
    padding: 6px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 16px 36px -22px rgba(0, 0, 0, .55);
}
.lc-archive-hero .lc-search-control input { height: 50px; border: 0; border-radius: 999px; }
.lc-archive-hero .lc-search-control button { min-width: 142px; }
.lc-popular-topics {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 7px;
    max-width: 850px;
    margin-top: 10px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    line-height: 1.5;
    pointer-events: auto;
}
.lc-popular-topics strong { color: #fff; }
.lc-popular-topics button {
    min-height: 28px;
    padding: 2px 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    line-height: inherit;
    text-decoration: none;
    touch-action: manipulation;
    cursor: pointer;
    pointer-events: auto;
}
.lc-popular-topics button:hover,
.lc-popular-topics button:focus-visible,
.lc-popular-topics button.is-active { color: #fff; text-decoration: underline; }
.lc-hero-stats {
    display: grid;
    max-width: 850px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 30px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 14px;
    background: rgba(9, 31, 61, .32);
    backdrop-filter: blur(8px);
}
.lc-popular-topics + .lc-hero-stats { margin-top: 8px; }
.lc-hero-stats div { padding: 17px 22px; border-left: 1px solid rgba(255, 255, 255, .14); }
.lc-hero-stats div:first-child { border-left: 0; }
.lc-hero-stats strong { display: block; color: #fff; font-size: 23px; line-height: 1.1; }
.lc-hero-stats span { display: block; margin-top: 5px; color: #c7d8ef; font-size: 12px; }

.lc-browse-section { padding: 56px 0; border-bottom: 1px solid var(--lc-line); background: var(--lc-soft); scroll-margin-top: 120px; }
.lc-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
.lc-section-heading h2 { margin: 0 0 7px; color: var(--lc-navy); font-size: 30px; font-weight: 700; letter-spacing: -.3px; line-height: 1.2; }
.lc-section-heading p { max-width: 720px; margin: 0; color: var(--lc-body); font-size: 15px; line-height: 1.55; }
.lc-section-heading > a { flex: 0 0 auto; color: var(--lc-blue); font-size: 14px; font-weight: 700; text-decoration: none; }
.lc-topic-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.lc-topic-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 15px;
    border: 1px solid #d7deea;
    border-radius: 999px;
    color: var(--lc-navy);
    background: #fff;
    box-shadow: 0 7px 16px -14px rgba(15, 39, 73, .6);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s, border-color .15s, color .15s, background .15s;
}
.lc-topic-chip:hover { transform: translateY(-1px); border-color: var(--lc-blue); color: var(--lc-blue); }
.lc-topic-chip.is-active { border-color: var(--lc-navy); color: #fff; background: var(--lc-navy); }
.lc-topic-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--lc-blue); }
.lc-topic-chip--ai-pentesting .lc-topic-dot { background: #016bff; }
.lc-topic-chip--security-validation .lc-topic-dot { background: #0ee0a9; }
.lc-topic-chip--ptaas .lc-topic-dot { background: #016bff; }
.lc-topic-chip--human-ai-validation .lc-topic-dot { background: #0f2749; }
.lc-topic-chip--foundations .lc-topic-dot { background: #8398ff; }
.lc-topic-chip--buying-guides .lc-topic-dot { background: #e8c900; }
.lc-topic-chip.is-active .lc-topic-dot { background: #fff; }
.lc-topic-chip--compare,
.lc-topic-chip--comparisons { border-color: #d7deea; color: var(--lc-navy); background: #fff; }
.lc-filter-row { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1180px; margin-top: 18px; }
.lc-filter-row .lc-clear-filters {
    justify-self: start;
    padding-left: 0;
    text-align: left;
}
.lc-facet {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-left: 14px;
    border: 1px solid #d7deea;
    border-radius: 999px;
    background: #fff;
}
.lc-filter-row .lc-facet > span { margin: 0 4px 0 0; color: #667085; font-size: 12px; white-space: nowrap; }
.lc-filter-row .lc-facet select { height: 42px; padding: 0 28px 0 6px; border: 0; border-radius: 999px; background-color: transparent; font-size: 13px; font-weight: 600; }

.lc-topics-section { padding: 64px 0; background: #fff; }
.lc-topic-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.lc-topic-card {
    min-height: 265px;
    padding: 27px;
    border: 1px solid var(--lc-line);
    border-radius: 17px;
    color: var(--lc-body);
    background: #fff;
    box-shadow: 0 18px 42px -34px rgba(15, 39, 73, .65);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.lc-topic-card:hover { transform: translateY(-4px); border-color: #c7d8f0; box-shadow: 0 26px 52px -34px rgba(15, 39, 73, .6); }
.lc-topic-card--ai-pentesting { grid-column: span 2; background: linear-gradient(125deg, #f5f9ff, #fff); }
.lc-topic-icon {
    display: inline-flex;
    width: 58px;
    height: 58px;
    min-width: 58px;
    flex: 0 0 58px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #eef1f6;
    box-shadow: 7px 7px 14px rgba(15, 39, 73, .12), -7px -7px 14px #fff;
    position: relative;
    line-height: 0;
}
.lc-topic-icon::before,
.lc-topic-icon::after {
    content: "";
    position: absolute;
    border-color: currentColor;
}
.lc-topic-icon--custom::before,
.lc-topic-icon--custom::after { content: none; }
.lc-topic-icon--custom img,
.lc-topic-icon--custom svg {
    display: block;
    width: 30px;
    height: 30px;
    max-width: 30px;
    max-height: 30px;
    object-fit: contain;
}
.lc-topic-icon--ai { color: #016bff; }
.lc-topic-icon--ai::before { width: 22px; height: 22px; border: 2px solid currentColor; border-radius: 8px; }
.lc-topic-icon--ai::after { width: 4px; height: 4px; border-radius: 50%; background: currentColor; box-shadow: -8px 0 0 currentColor, 8px 0 0 currentColor; }
.lc-topic-icon--validation { color: #0a9d82; }
.lc-topic-icon--validation::before { width: 24px; height: 24px; border: 2px solid currentColor; border-radius: 50%; }
.lc-topic-icon--validation::after { width: 10px; height: 5px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.lc-topic-icon--shield { color: #0f2749; }
.lc-topic-icon--shield::before { width: 23px; height: 27px; border: 2px solid currentColor; border-radius: 13px 13px 16px 16px; clip-path: polygon(50% 0, 100% 18%, 88% 78%, 50% 100%, 12% 78%, 0 18%); }
.lc-topic-icon--human-ai { color: #016bff; }
.lc-topic-icon--human-ai::before { width: 10px; height: 10px; border: 2px solid currentColor; border-radius: 50%; box-shadow: 16px 0 0 -2px #fff, 16px 0 0 0 currentColor; transform: translateX(-8px); }
.lc-topic-icon--human-ai::after { width: 28px; height: 12px; border: 2px solid currentColor; border-top: 0; border-radius: 0 0 18px 18px; transform: translateY(10px); }
.lc-topic-icon--book { color: #5b6cff; }
.lc-topic-icon--book::before { width: 24px; height: 26px; border: 2px solid currentColor; border-radius: 3px; }
.lc-topic-icon--book::after { width: 2px; height: 22px; background: currentColor; }
.lc-topic-icon--guide { color: #0f2749; }
.lc-topic-icon--guide::before { width: 24px; height: 18px; border: 2px solid currentColor; border-radius: 3px; }
.lc-topic-icon--guide::after { width: 16px; height: 2px; background: currentColor; box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor; }
.lc-topic-icon--compare { color: #016bff; }
.lc-topic-icon--compare::before { width: 24px; height: 24px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.lc-topic-icon--compare::after { width: 20px; height: 2px; background: currentColor; box-shadow: 0 8px 0 currentColor; transform: rotate(-45deg); }
.lc-topic-card-badge { display: block; color: var(--lc-blue); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lc-topic-card h2 { margin: 7px 0 9px; color: var(--lc-navy); font-size: 24px; font-weight: 700; letter-spacing: -.3px; line-height: 1.3; }
.lc-topic-card p { max-width: 650px; margin: 0 0 18px; color: var(--lc-body); font-size: 14px; line-height: 1.5; }
.lc-topic-count { color: var(--lc-blue); font-size: 13px; font-weight: 700; }

.lc-featured-section { padding: 64px 0; background: var(--lc-soft); }
.lc-featured-guide {
    display: grid;
    overflow: hidden;
    grid-template-columns: 1.25fr 1fr;
    border: 1px solid var(--lc-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 22px 50px -34px rgba(15, 39, 73, .65);
}
.lc-featured-copy { padding: 38px; }
.lc-featured-badge { display: inline-block; margin-bottom: 14px; padding: 6px 11px; border-radius: 999px; color: var(--lc-blue); background: #e9f2ff; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lc-featured-copy h2 { margin: 0 0 13px; font-size: 30px; font-weight: 700; letter-spacing: -.3px; line-height: 1.2; }
.lc-featured-copy h2 a { color: var(--lc-navy); text-decoration: none; }
.lc-featured-copy p { margin: 0 0 24px; color: var(--lc-body); font-size: 15px; line-height: 1.55; }
.lc-outline-button { display: inline-flex; padding: 11px 20px; border: 1px solid var(--lc-blue); border-radius: 999px; color: var(--lc-blue); font-size: 13px; font-weight: 700; text-decoration: none; }
.lc-featured-art { display: flex; min-height: 280px; align-items: center; justify-content: center; flex-direction: column; color: #fff; background: radial-gradient(circle at 70% 20%, #00c3ff, transparent 34%), linear-gradient(130deg, #016bff, #0f2749); }
.lc-featured-art span { font-size: 76px; font-weight: 800; letter-spacing: -.06em; }
.lc-featured-art small { font-size: 14px; letter-spacing: .13em; text-transform: uppercase; }
.lc-category-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 24px 28px; border-radius: 16px; color: #fff; background: var(--lc-navy); }
.lc-category-cta strong { font-size: 18px; }
.lc-category-cta p { margin: 3px 0 0; color: #bdd0eb; font-size: 13px; }
.lc-category-cta > a { flex: 0 0 auto; padding: 11px 18px; border-radius: 999px; color: #fff; background: var(--lc-blue); font-size: 12px; font-weight: 700; text-decoration: none; }

.lc-content-band { padding: 64px 0; background: #fff; }
.lc-content-band--soft { background: var(--lc-soft); }
.lc-content-band--compact { padding-top: 0; }
.lc-mini-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lc-mini-card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lc-mini-card {
    display: flex;
    min-height: 168px;
    flex-direction: column;
    padding: 24px;
    border: 1px solid var(--lc-line);
    border-radius: 16px;
    color: var(--lc-body);
    background: #fff;
    box-shadow: 0 17px 38px -32px rgba(15, 39, 73, .6);
    text-decoration: none;
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.lc-mini-card:hover { transform: translateY(-3px); border-color: #bfd1ec; box-shadow: 0 24px 42px -31px rgba(15, 39, 73, .7); }
.lc-mini-badge {
    align-self: flex-start;
    margin-bottom: 14px;
    padding: 5px 9px;
    border-radius: 999px;
    color: #005bd8;
    background: #eaf2ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.lc-mini-badge--red { color: #005bd8; background: #eaf2ff; }
.lc-mini-card h3 { margin: 0 0 10px; color: var(--lc-navy); font-size: 22px; font-weight: 700; letter-spacing: -.3px; line-height: 1.3; }
.lc-mini-card p { margin: 0 0 18px; color: var(--lc-body); font-size: 14px; line-height: 1.5; }
.lc-mini-link { margin-top: auto; color: var(--lc-blue); font-size: 12px; font-weight: 700; }
.lc-mini-card--research { min-height: 245px; }

.lc-why-panel {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 38px;
    align-items: center;
    padding: 42px;
    border-radius: 20px;
    color: #fff;
    background: radial-gradient(circle at 85% 15%, rgba(0, 222, 255, .5), transparent 30%), linear-gradient(125deg, #016bff, #0f2749);
    box-shadow: 0 26px 60px -38px rgba(15, 39, 73, .8);
}
.lc-why-copy .lc-archive-kicker { color: #c3d9ff; }
.lc-why-copy h2 { margin: 0 0 12px; color: #fff; font-size: 34px; font-weight: 700; letter-spacing: -.3px; line-height: 1.2; }
.lc-why-copy p { max-width: 560px; margin: 0 0 22px; color: #dceaff; font-size: 16px; line-height: 1.6; }
.lc-light-button { display: inline-flex; padding: 10px 18px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 999px; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.lc-proof-list { display: grid; gap: 12px; }
.lc-proof-list div { padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; background: rgba(255, 255, 255, .12); }
.lc-proof-list strong,
.lc-proof-list span { display: block; }
.lc-proof-list strong { color: #fff; font-size: 14px; }
.lc-proof-list span { margin-top: 3px; color: #cfe0ff; font-size: 12px; }

.lc-ranked-list { overflow: hidden; border: 1px solid var(--lc-line); border-radius: 16px; background: #fff; }
.lc-ranked-list a { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 66px; padding: 14px 20px; border-top: 1px solid var(--lc-line); color: var(--lc-ink); text-decoration: none; }
.lc-ranked-list a:first-child { border-top: 0; }
.lc-ranked-list a:hover { background: #f8faff; }
.lc-ranked-list strong { color: var(--lc-navy); font-size: 15px; }
.lc-ranked-list time,
.lc-ranked-list a > span:last-child { color: var(--lc-muted); font-size: 12px; }
.lc-list-tag { width: max-content; padding: 5px 9px; border-radius: 999px; color: #005bd8; background: #eaf2ff; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.lc-ranked-list--numbered a { grid-template-columns: 48px minmax(0, 1fr) auto; }
.lc-list-rank { color: #c9d5e6 !important; font-size: 28px !important; font-weight: 800; }

.lc-results-heading > div > p { margin: 8px 0 0; color: var(--lc-body); font-size: 15px; line-height: 1.55; }
.lc-results-section { background: var(--lc-soft); }
.lc-authors-section { background: #fff; }
.lc-featured-author { display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: start; padding: 30px; border: 1px solid var(--lc-line); border-radius: 18px; background: linear-gradient(135deg, #f4f8ff, #fff); }
.lc-author-avatar { display: inline-flex; width: 54px; height: 54px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: var(--lc-navy); font-size: 15px; font-weight: 800; }
.lc-author-avatar--image { display: block; object-fit: cover; }
.lc-author-avatar--large { width: 88px; height: 88px; font-size: 25px; }
.lc-featured-author h3 { margin: 0 0 4px; color: var(--lc-navy); font-size: 24px; font-weight: 700; letter-spacing: -.3px; line-height: 1.3; }
.lc-featured-author p { max-width: 850px; margin: 9px 0 0; color: var(--lc-body); font-size: 14px; line-height: 1.55; }
.lc-featured-author .lc-author-role { margin-top: 0; color: #46566b; font-size: 13px; }
.lc-featured-author a,
.lc-author-note a { color: var(--lc-blue); }
.lc-author-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.lc-author-tags span { padding: 5px 9px; border-radius: 999px; color: #005bd8; background: #eaf2ff; font-size: 10px; font-weight: 700; }
.lc-author-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.lc-author-card { display: flex; gap: 14px; align-items: center; padding: 18px; border: 1px solid var(--lc-line); border-radius: 14px; color: var(--lc-ink); background: #fff; text-decoration: none; }
a.lc-author-card:hover { border-color: #bfd1ec; }
.lc-author-card strong,
.lc-author-card small { display: block; }
.lc-author-card strong { color: var(--lc-navy); font-size: 14px; }
.lc-author-card small { margin-top: 4px; color: var(--lc-muted); font-size: 11px; }
.lc-author-note { margin: 14px 0 0; color: var(--lc-muted); font-size: 12px; }

.lc-final-cta { padding: 55px 32px; border-radius: 20px; color: #fff; text-align: center; background: var(--lc-navy); box-shadow: 0 28px 58px -40px rgba(15, 39, 73, .9); }
.lc-final-cta h2 { margin: 0 0 12px; color: #fff; font-size: 36px; font-weight: 700; letter-spacing: -.3px; line-height: 1.2; }
.lc-final-cta p { max-width: 700px; margin: 0 auto 24px; color: #c8d9ef; font-size: 15px; line-height: 1.6; }
.lc-final-cta > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.lc-cta-button { display: inline-flex; min-height: 46px; align-items: center; padding: 10px 22px; border: 1px solid rgba(255, 255, 255, .65); border-radius: 999px; color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.lc-cta-button--blue { border-color: var(--lc-blue); background: var(--lc-blue); }
.lc-cta-button--black { border-color: #05070a; background: #05070a; }
.lc-cta-button--outline { border-color: rgba(255, 255, 255, .65); background: transparent; }

@media (max-width: 960px) {
    .lc-topic-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lc-filter-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lc-mini-card-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lc-author-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .lc-archive-hero,
    body.admin-bar .lc-archive-hero {
        padding-top: 120px;
        padding-bottom: 48px;
    }
    body:has(#simple-banner:not(.simple-banner-scrolling)) .lc-archive-hero {
        padding-top: 268px;
    }
    body.admin-bar:has(#simple-banner:not(.simple-banner-scrolling)) .lc-archive-hero {
        padding-top: calc(268px + var(--wp-admin--admin-bar--height, 46px));
    }
    .lc-archive-hero h1 { font-size: 39px; }
    .lc-archive-hero .lc-search-control { padding: 5px; border-radius: 14px; }
    .lc-archive-hero .lc-search-control input,
    .lc-archive-hero .lc-search-control button { border-radius: 10px; }
    .lc-hero-stats { grid-template-columns: 1fr; }
    .lc-hero-stats div { display: flex; align-items: baseline; gap: 10px; padding: 12px 16px; border-top: 1px solid rgba(255, 255, 255, .14); border-left: 0; }
    .lc-hero-stats div:first-child { border-top: 0; }
    .lc-hero-stats strong { font-size: 19px; }
    .lc-browse-section { padding: 44px 0; }
    .lc-section-heading { flex-direction: column; }
    .lc-section-heading h2 { font-size: 28px; }
    .lc-topic-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
    .lc-topic-chip { flex: 0 0 auto; }
    .lc-filter-row { grid-template-columns: 1fr; }
    .lc-facet { border-radius: 12px; }
    .lc-topic-card-grid { grid-template-columns: 1fr; }
    .lc-topic-card,
    .lc-topic-card--ai-pentesting { min-height: 0; grid-column: span 1; }
    .lc-featured-guide { grid-template-columns: 1fr; }
    .lc-featured-copy { padding: 28px 24px; }
    .lc-featured-art { min-height: 190px; }
    .lc-category-cta { align-items: flex-start; flex-direction: column; }
    .lc-content-band { padding: 52px 0; }
    .lc-content-band--compact { padding-top: 0; }
    .lc-mini-card-grid,
    .lc-mini-card-grid--four,
    .lc-author-grid { grid-template-columns: 1fr; }
    .lc-mini-card,
    .lc-mini-card--research { min-height: 0; }
    .lc-why-panel { grid-template-columns: 1fr; padding: 28px 23px; }
    .lc-why-copy h2 { font-size: 29px; }
    .lc-ranked-list a,
    .lc-ranked-list--numbered a { grid-template-columns: 52px minmax(0, 1fr); gap: 11px; }
    .lc-ranked-list time,
    .lc-ranked-list a > span:last-child { grid-column: 2; }
    .lc-featured-author { grid-template-columns: 1fr; padding: 24px; }
    .lc-author-avatar--large { width: 72px; height: 72px; }
    .lc-final-cta { padding: 42px 22px; }
    .lc-final-cta h2 { font-size: 30px; }
}
