/* Insights section — listicle / agency-entry styles
   Shared across all /insights/ listicle pages */

.insights-intro {
    margin-top: .5rem;
}

.insights-section + .insights-section {
    margin-top: 2.5rem;
}

/* Disclosure + exclusion callout boxes — editorial, bordered left edge */
.disclosure-box,
.exclusion-box {
    background: #f1f8f8;
    border-left: 4px solid #4ba29f;
    padding: 1.25rem 1.5rem;
    margin: 2rem 0;
    border-radius: 0 6px 6px 0;
}

.disclosure-box p,
.exclusion-box p {
    margin-bottom: .75rem;
}

.disclosure-box p:last-child,
.exclusion-box p:last-child {
    margin-bottom: 0;
}

.disclosure-box .callout-label,
.exclusion-box .callout-label {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    color: #20293a;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .82rem;
    margin-bottom: .35rem;
    display: block;
}

/* Agency list container */
.agency-list {
    margin: 2.5rem 0;
}

/* Individual agency entry — editorial, not card-y */
.agency-entry {
    padding: 2rem 0 2.25rem;
    border-bottom: 1px solid #d9dde3;
}

.agency-entry:first-of-type {
    padding-top: 1rem;
}

.agency-entry:last-of-type {
    border-bottom: 0;
}

.agency-entry .agency-name {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 1.6rem;
    color: #20293a;
    margin: 0 0 1rem;
    scroll-margin-top: 100px;
}

@media (min-width: 768px) {
    .agency-entry .agency-name {
        font-size: 1.85rem;
    }
}

/* Label/value metadata grid */
.agency-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: .35rem 1rem;
    margin: 0 0 1.5rem;
    font-size: .98rem;
}

@media (min-width: 576px) {
    .agency-meta {
        grid-template-columns: minmax(140px, max-content) 1fr;
        gap: .5rem 1.25rem;
    }
}

.agency-meta dt {
    font-weight: 600;
    color: #4c5466;
    margin: 0;
}

.agency-meta dd {
    margin: 0 0 .35rem;
    color: #20293a;
}

@media (min-width: 576px) {
    .agency-meta dd {
        margin-bottom: 0;
    }
}

.agency-meta a {
    color: #20293a;
    text-decoration: underline;
    text-decoration-color: #4ba29f;
    text-underline-offset: 3px;
}

.agency-meta a:hover {
    color: #4ba29f;
}

/* Strengths / limitations sub-sections */
.agency-strengths,
.agency-limitations {
    margin: 1.25rem 0;
}

.agency-strengths h4,
.agency-limitations h4 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    color: #20293a;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 .65rem;
}

.agency-strengths ul,
.agency-limitations ul {
    margin: 0;
    padding-left: 1.25rem;
}

.agency-strengths li,
.agency-limitations li {
    margin-bottom: .4rem;
    line-height: 1.6;
    color: #20293a;
}

.agency-limitations h4 {
    color: #4c5466;
}

/* REK relationship disclosure — subtle gray block */
.agency-disclosure {
    background: #f4f5f7;
    padding: .9rem 1.1rem;
    margin: 1.25rem 0 0;
    border-radius: 4px;
    font-size: .94rem;
    color: #4c5466;
    line-height: 1.6;
}

.agency-disclosure strong {
    color: #20293a;
}

/* Anchor-link "jump to" list above the agency list (optional helper) */
.agency-jumplinks {
    background: #f4f5f7;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0 2rem;
    font-size: .95rem;
}

.agency-jumplinks .jumplinks-label {
    font-weight: 600;
    color: #20293a;
    margin-right: .5rem;
}

.agency-jumplinks ul {
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
}

.agency-jumplinks li {
    display: inline;
}

.agency-jumplinks li + li::before {
    content: " · ";
    color: #4c5466;
    padding: 0 .35rem;
}

.agency-jumplinks a {
    color: #4ba29f;
    text-decoration: none;
    font-weight: 600;
}

.agency-jumplinks a:hover {
    text-decoration: underline;
}

/* Verification placeholder visual flag — so unfilled drafts don't ship silently */
.needs-verification {
    background: #fff4cf;
    color: #8a6500;
    padding: 1px 6px;
    border-radius: 3px;
    font-size: .92em;
    font-weight: 600;
}
