/* Expert CPT — minimal functional skin (v1.2). No designer comp yet; clean + neutral,
   uses brand tokens where available. Scoped under .galv-expert / .galv-experts-team. */

:root {
    --galv-expert-navy: #0f2d52;
    --galv-expert-accent: #1a73e8;
    --galv-expert-ink: #1f2733;
    --galv-expert-muted: #5b6675;
    --galv-expert-line: #e4e8ee;
    --galv-expert-bg: #f6f8fb;
}

/* ── shared ── */
.galv-expert,
.galv-experts-team__inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 48px 20px 72px;
    color: var(--galv-expert-ink);
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
.galv-expert h2,
.galv-experts-team h2 {
    font-family: Poppins, Inter, sans-serif;
    font-size: 1.5rem;
    color: var(--galv-expert-navy);
    margin: 0 0 16px;
}
.galv-btn {
    display: inline-block;
    border-radius: 8px;
    padding: 12px 24px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity .15s ease;
}
.galv-btn:hover { opacity: .9; }
.galv-btn--primary { background: var(--galv-expert-accent); color: #fff; }

/* ── single profile ── */
.galv-expert__hero { border-bottom: 1px solid var(--galv-expert-line); padding-bottom: 32px; margin-bottom: 32px; }
.galv-expert__hero-inner { display: flex; gap: 32px; align-items: flex-start; flex-wrap: wrap; }
.galv-expert__photo img {
    width: 160px; height: 160px; object-fit: cover; border-radius: 12px;
    box-shadow: 0 4px 16px rgba(15, 45, 82, .12);
}
.galv-expert__id { flex: 1; min-width: 260px; }
.galv-expert__tier {
    text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; font-weight: 600;
    color: var(--galv-expert-accent); margin: 0 0 6px;
}
.galv-expert__name { font-family: Poppins, Inter, sans-serif; font-size: 2rem; color: var(--galv-expert-navy); margin: 0 0 4px; }
.galv-expert__job { font-size: 1.05rem; color: var(--galv-expert-muted); margin: 0 0 8px; }
.galv-expert__years { font-size: .9rem; color: var(--galv-expert-muted); margin: 0 0 12px; }
.galv-expert__bio { font-size: 1rem; line-height: 1.6; margin: 0 0 20px; max-width: 60ch; }
.galv-expert__cta { margin: 0; }

.galv-expert__section { margin-bottom: 32px; }
.galv-expert__credentials ul { list-style: none; padding: 0; margin: 0; }
.galv-expert__credentials li { padding: 8px 0; border-bottom: 1px solid var(--galv-expert-line); }
.galv-expert__credentials a { color: var(--galv-expert-accent); text-decoration: none; }
.galv-expert__content h3 { font-size: 1rem; color: var(--galv-expert-muted); margin: 16px 0 8px; }
.galv-expert__links { margin: 0 0 8px; padding-left: 20px; }
.galv-expert__links li { margin: 4px 0; }
.galv-expert__links a { color: var(--galv-expert-accent); text-decoration: none; }
.galv-expert__reviewedby { font-size: .9rem; color: var(--galv-expert-muted); }
.galv-expert__reviewedby a { color: var(--galv-expert-accent); }

/* ── team archive grid ── */
.galv-experts-team__hero { text-align: center; max-width: 760px; margin: 0 auto 40px; }
.galv-experts-team__hero h1 { font-family: Poppins, Inter, sans-serif; font-size: 2.25rem; color: var(--galv-expert-navy); margin: 0 0 12px; }
.galv-experts-team__hero p { font-size: 1.05rem; color: var(--galv-expert-muted); line-height: 1.6; }
.galv-experts-team__section { margin-bottom: 48px; }
.galv-experts-grid {
    display: grid; gap: 24px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.galv-expert-card {
    display: flex; flex-direction: column; text-decoration: none; color: inherit;
    background: #fff; border: 1px solid var(--galv-expert-line); border-radius: 12px;
    overflow: hidden; transition: box-shadow .15s ease, transform .15s ease;
}
.galv-expert-card:hover { box-shadow: 0 8px 24px rgba(15, 45, 82, .12); transform: translateY(-2px); }
.galv-expert-card__photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.galv-expert-card__body { padding: 18px 20px 22px; }
.galv-expert-card__name { font-family: Poppins, Inter, sans-serif; font-size: 1.15rem; color: var(--galv-expert-navy); margin: 0 0 4px; }
.galv-expert-card__job { font-size: .9rem; color: var(--galv-expert-accent); font-weight: 600; margin: 0 0 8px; }
.galv-expert-card__bio { font-size: .9rem; color: var(--galv-expert-muted); line-height: 1.5; margin: 0; }

@media (max-width: 600px) {
    .galv-expert__hero-inner { gap: 20px; }
    .galv-expert__photo img { width: 120px; height: 120px; }
    .galv-expert__name { font-size: 1.6rem; }
    .galv-experts-team__hero h1 { font-size: 1.8rem; }
}
