/* Public Agent Pages */
.lux-agents-page { padding-top: 80px; background: var(--lux-navy); }
.lux-agents-hero { padding-bottom: 0; }
.lux-agents-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; padding-bottom: clamp(80px, 10vw, 120px); }
.lux-agents-empty { grid-column: 1 / -1; text-align: center; padding: 48px 24px 80px; }
.lux-agents-empty .lux-lead { max-width: 520px; margin: 0 auto 28px; }

.lux-agent-card-public { background: var(--lux-navy-mid); overflow: hidden; transition: transform .4s var(--lux-ease); }
.lux-agent-card-public:hover { transform: translateY(-6px); }
.lux-agent-card-public-link { display: block; color: inherit; }
.lux-agent-card-public-photo { aspect-ratio: 3/4; overflow: hidden; position: relative; }
.lux-agent-card-public-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--lux-ease); filter: grayscale(15%); }
.lux-agent-card-public:hover .lux-agent-card-public-photo img { transform: scale(1.05); filter: grayscale(0%); }
.lux-agent-card-public-photo .lux-badge { position: absolute; top: 16px; left: 16px; }
.lux-agent-card-public-body { padding: 28px 24px 32px; }
.lux-agent-stars { color: var(--lux-gold); font-size: .875rem; letter-spacing: 2px; margin-bottom: 8px; }
.lux-agent-stars span { color: rgba(255,255,255,.45); margin-left: 8px; letter-spacing: 0; font-size: .75rem; }
.lux-agent-card-public-name { font-family: var(--lux-font-display); font-size: 1.5rem; margin-bottom: 4px; }
.lux-agent-card-public-position { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lux-gold-soft); margin-bottom: 8px; }
.lux-agent-card-public-spec { font-size: .8125rem; color: rgba(255,255,255,.5); margin-bottom: 16px; }
.lux-agent-card-public-meta { display: flex; gap: 16px; font-size: .6875rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 20px; }

/* Agent Profile */
.lux-agent-profile { padding-top: 80px; background: var(--lux-navy); }
.lux-agent-hero { padding: clamp(40px, 6vw, 80px) 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.lux-agent-hero-grid { display: grid; grid-template-columns: 380px 1fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.lux-agent-hero-photo { aspect-ratio: 3/4; overflow: hidden; }
.lux-agent-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.lux-agent-specialization { font-size: 1rem; color: rgba(255,255,255,.55); margin-bottom: 24px; }
.lux-agent-rating-block { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.lux-agent-stars-lg { color: var(--lux-gold); font-size: 1.25rem; letter-spacing: 3px; }
.lux-agent-rating-block span { font-size: .875rem; color: rgba(255,255,255,.5); }
.lux-agent-stats-row { display: flex; gap: 32px; margin-bottom: 32px; }
.lux-agent-stats-row div strong { font-family: var(--lux-font-num); font-size: 1.5rem; color: var(--lux-gold); display: block; }
.lux-agent-stats-row div span { font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.lux-agent-contact-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.lux-agent-social { display: flex; gap: 20px; }
.lux-agent-social a { font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.4); transition: color .3s; }
.lux-agent-social a:hover { color: var(--lux-gold); }

.lux-agent-bio { max-width: 720px; }
.lux-agent-bio-text { font-size: 1rem; line-height: 1.9; color: rgba(255,255,255,.65); }

.lux-agent-listings { background: var(--lux-navy-mid); }
.lux-agent-listings-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 48px; }

.lux-agent-testimonials { border-top: 1px solid rgba(255,255,255,.06); }
.lux-agent-testimonials-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin-top: 48px; }
.lux-agent-testimonial { padding: 32px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); }
.lux-agent-testimonial p { font-family: var(--lux-font-display); font-style: italic; font-size: 1.0625rem; line-height: 1.7; margin: 16px 0; color: rgba(255,255,255,.8); }
.lux-agent-testimonial cite { font-style: normal; font-weight: 500; display: block; }
.lux-agent-testimonial footer span { font-size: .75rem; color: var(--lux-gold-soft); }

.lux-agent-rate { max-width: 520px; padding: clamp(40px, 5vw, 56px); border: 1px solid rgba(212,175,55,.15); background: rgba(212,175,55,.03); }
.lux-rate-stars { display: flex; gap: 8px; margin-bottom: 24px; }
.lux-rate-stars button { background: none; border: none; font-size: 2rem; color: rgba(255,255,255,.2); cursor: pointer; transition: color .2s, transform .2s; padding: 0; line-height: 1; }
.lux-rate-stars button.active, .lux-rate-stars button:hover { color: var(--lux-gold); transform: scale(1.1); }

@media (max-width: 1024px) {
    .lux-agent-hero-grid { grid-template-columns: 1fr; }
    .lux-agent-hero-photo { max-width: 400px; margin: 0 auto; }
    .lux-agent-listings-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .lux-agent-listings-grid { grid-template-columns: 1fr; }
    .lux-agents-grid { grid-template-columns: 1fr; }
}
