/* Coach Profile Page — "Intelligence Dossier"
 * ================================================
 * Cinematic coach profiles with aurora hero, bento grid stats,
 * tilt cards, and dark intelligence bands.
 * ================================================ */

/* ========================================
 * BREADCRUMBS
 * ======================================== */
.coach-breadcrumbs {
    padding: var(--spacing-md) 0;
    margin-bottom: 0;
}

.coach-breadcrumbs .breadcrumb-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: var(--font-size-sm);
    gap: var(--spacing-xs);
}

.coach-breadcrumbs .breadcrumb-list li::after {
    content: '/';
    margin-left: var(--spacing-xs);
    color: var(--text-muted);
}

.coach-breadcrumbs .breadcrumb-list li:last-child::after {
    content: '';
}

.coach-breadcrumbs .breadcrumb-list a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.coach-breadcrumbs .breadcrumb-list a:hover {
    color: var(--brand-primary);
}

.coach-breadcrumbs .breadcrumb-list li[aria-current="page"] {
    color: var(--text-primary);
    font-weight: var(--font-weight-medium);
}

/* ========================================
 * AURORA HERO
 * Layered animated gradient blobs + floating particles
 * ======================================== */
.coach-hero {
    --team-primary: #10B981;
    --team-secondary: #1a1a2e;
    position: relative;
    padding: var(--spacing-xxl) var(--spacing-lg);
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    margin-bottom: var(--spacing-xl);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    isolation: isolate;
}

/* Base gradient — always dark, team color tinted
 * Hero stays dark in both light/dark mode for cinematic contrast.
 * Team colors mix with slate bases (not theme vars) so they pop. */
.coach-hero-bg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--team-primary) 40%, #0f172a) 0%,
        color-mix(in srgb, var(--team-secondary) 30%, #1e293b) 50%,
        color-mix(in srgb, var(--team-primary) 18%, #0f172a) 100%
    );
    z-index: 0;
}

/* Team color accent stripe along top */
.coach-hero-bg::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(
        90deg,
        var(--team-primary),
        color-mix(in srgb, var(--team-primary) 60%, var(--team-secondary)),
        var(--team-secondary)
    );
}

/* Aurora blob 1 — large team primary wash, top-right */
.coach-hero-aurora-1 {
    position: absolute;
    top: -20%;
    right: -5%;
    width: 65%;
    height: 120%;
    background: radial-gradient(
        ellipse at center,
        color-mix(in srgb, var(--team-primary) 40%, transparent),
        transparent 70%
    );
    filter: blur(40px);
    animation: auroraDrift1 8s ease-in-out infinite alternate;
    z-index: 0;
}

/* Aurora blob 2 — team secondary wash, bottom-left */
.coach-hero-aurora-2 {
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 55%;
    height: 130%;
    background: radial-gradient(
        ellipse at center,
        color-mix(in srgb, var(--team-secondary) 35%, transparent),
        transparent 70%
    );
    filter: blur(50px);
    animation: auroraDrift2 10s ease-in-out infinite alternate;
    z-index: 0;
}

/* Aurora blob 3 — emerald brand accent, center drift */
.coach-hero-aurora-3 {
    position: absolute;
    top: 20%;
    left: 30%;
    width: 40%;
    height: 60%;
    background: radial-gradient(
        ellipse at center,
        rgba(16, 185, 129, 0.12),
        transparent 70%
    );
    filter: blur(60px);
    animation: auroraDrift3 12s ease-in-out infinite alternate;
    z-index: 0;
}

@keyframes auroraDrift1 {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(-30px, 20px) scale(1.1); }
}

@keyframes auroraDrift2 {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(25px, -15px) scale(1.05); }
}

@keyframes auroraDrift3 {
    0% { transform: translate(0, 0) scale(1); opacity: 0.6; }
    100% { transform: translate(-15px, 10px) scale(1.15); opacity: 1; }
}

/* Grid overlay — subtle tech grid */
.coach-hero-grid {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image:
        linear-gradient(rgba(16, 185, 129, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16, 185, 129, 0.05) 1px, transparent 1px);
    background-size: 50px 50px;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    animation: gridReveal 1.5s ease-out 0.5s forwards;
}

@keyframes gridReveal {
    to { opacity: 1; }
}

/* Floating particles container */
.coach-hero-particles {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}

.hero-particle {
    position: absolute;
    width: 3px;
    height: 3px;
    background: rgba(16, 185, 129, 0.4);
    border-radius: 50%;
    animation: particleFloat linear infinite;
}

.hero-particle:nth-child(1) { left: 10%; top: 80%; animation-duration: 6s; animation-delay: 0s; }
.hero-particle:nth-child(2) { left: 25%; top: 90%; animation-duration: 8s; animation-delay: 1s; width: 2px; height: 2px; }
.hero-particle:nth-child(3) { left: 45%; top: 85%; animation-duration: 7s; animation-delay: 2s; }
.hero-particle:nth-child(4) { left: 65%; top: 95%; animation-duration: 9s; animation-delay: 0.5s; width: 2px; height: 2px; }
.hero-particle:nth-child(5) { left: 80%; top: 88%; animation-duration: 6.5s; animation-delay: 3s; }
.hero-particle:nth-child(6) { left: 90%; top: 92%; animation-duration: 7.5s; animation-delay: 1.5s; width: 2px; height: 2px; }
.hero-particle:nth-child(7) { left: 35%; top: 75%; animation-duration: 10s; animation-delay: 4s; width: 4px; height: 4px; opacity: 0.3; }
.hero-particle:nth-child(8) { left: 55%; top: 82%; animation-duration: 8.5s; animation-delay: 2.5s; }

@keyframes particleFloat {
    0% { transform: translateY(0) translateX(0); opacity: 0; }
    10% { opacity: 0.6; }
    90% { opacity: 0.6; }
    100% { transform: translateY(-200px) translateX(20px); opacity: 0; }
}

/* Hero content */
.coach-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
    max-width: 800px;
    margin: 0 auto;
}

/* Avatar with breathing glow ring */
.coach-hero-avatar {
    flex-shrink: 0;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid color-mix(in srgb, var(--team-primary) 70%, #334155);
    background: #1e293b;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 0 20px rgba(16, 185, 129, 0.35),
        0 0 50px rgba(16, 185, 129, 0.15),
        inset 0 0 20px rgba(16, 185, 129, 0.05);
    animation: avatarBreathe 3s ease-in-out infinite alternate;
}

@keyframes avatarBreathe {
    0% {
        box-shadow:
            0 0 20px rgba(16, 185, 129, 0.3),
            0 0 50px rgba(16, 185, 129, 0.1),
            inset 0 0 20px rgba(16, 185, 129, 0.05);
    }
    100% {
        box-shadow:
            0 0 30px rgba(16, 185, 129, 0.5),
            0 0 70px rgba(16, 185, 129, 0.2),
            inset 0 0 25px rgba(16, 185, 129, 0.08);
    }
}

.coach-hero-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-initials-large {
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    color: #94a3b8;
    text-transform: uppercase;
}

.coach-hero-info {
    flex: 1;
}

/* Coach name with breathing emerald glow
 * Always light text — hero is always dark */
.coach-name {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: var(--font-weight-bold);
    color: #f1f5f9;
    margin-bottom: var(--spacing-xs);
    line-height: 1.2;
    animation: nameGlow 3s ease-in-out infinite alternate;
}

@keyframes nameGlow {
    0% { text-shadow: 0 0 20px rgba(16, 185, 129, 0.15); }
    100% { text-shadow: 0 0 40px rgba(16, 185, 129, 0.3), 0 0 80px rgba(16, 185, 129, 0.1); }
}

.coach-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    align-items: center;
    margin-bottom: var(--spacing-sm);
}

.coach-role {
    font-size: var(--font-size-base);
    color: #94a3b8;
    font-weight: var(--font-weight-medium);
}

.coach-team {
    font-size: var(--font-size-base);
    color: color-mix(in srgb, var(--team-primary) 80%, #f1f5f9);
    font-weight: var(--font-weight-semibold);
}

.coach-retired {
    color: #64748b;
    font-style: italic;
}

/* Hero stat badges */
.coach-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-md);
    margin-bottom: var(--spacing-sm);
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: rgba(16, 185, 129, 0.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 999px;
    font-size: 0.85rem;
    transition: all 0.3s ease;
}

.hero-badge:hover {
    border-color: rgba(16, 185, 129, 0.5);
    background: rgba(16, 185, 129, 0.14);
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.15);
}

.hero-badge-value {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
    font-weight: var(--font-weight-bold);
    color: #34d399;
}

.hero-badge-label {
    color: #94a3b8;
    font-weight: var(--font-weight-medium);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Philosophy tags — frosted glass */
.coach-philosophy-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    margin-top: var(--spacing-sm);
}

.philosophy-tag {
    display: inline-block;
    padding: 3px 12px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium);
    color: #cbd5e1;
    background: rgba(30, 41, 59, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.2s ease;
}

.philosophy-tag:hover {
    border-color: rgba(16, 185, 129, 0.4);
    background: rgba(30, 41, 59, 0.6);
}

/* ========================================
 * SECTIONS
 * ======================================== */
.coach-section {
    margin-bottom: var(--spacing-xl);
}

/* Section title — left accent bar + icon glow */
.section-title {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
    margin-bottom: var(--spacing-lg);
    padding-left: var(--spacing-md);
    padding-bottom: 0;
    border-bottom: none;
    border-left: 4px solid var(--brand-primary);
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.section-title i {
    color: var(--brand-primary);
    font-size: var(--font-size-lg);
    filter: drop-shadow(0 0 6px rgba(16, 185, 129, 0.5));
    flex-shrink: 0;
}

/* ========================================
 * BENTO GRID — Asymmetric stat layout
 * ======================================== */
.coach-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-md);
}

/* Tilt card wrapper — preserves 3D perspective */
.tilt-card {
    perspective: 800px;
    position: relative;
}

/* Base stat card — glassmorphic with glow */
.coach-stat-card {
    position: relative;
    background: var(--card-bg-color, var(--bg-card));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg) var(--spacing-md);
    text-align: center;
    overflow: hidden;
    transition: transform 0.4s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    transform-style: preserve-3d;
    will-change: transform;
    height: 100%;
}

/* Radial glow on hover (from learn_more.css pattern) */
.coach-stat-card .card-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.12) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.coach-stat-card:hover .card-glow {
    opacity: 1;
}

.coach-stat-card:hover {
    border-color: rgba(16, 185, 129, 0.3);
    box-shadow:
        0 10px 30px rgba(16, 185, 129, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Light reflection overlay for tilt */
.coach-stat-card .card-shine {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.03) 40%,
        rgba(255, 255, 255, 0) 60%
    );
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: inherit;
}

.coach-stat-card:hover .card-shine {
    opacity: 1;
}

/* Bento featured card — 2-column span */
.coach-stat-card--featured {
    grid-column: span 2;
    padding: var(--spacing-xl) var(--spacing-lg);
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--brand-primary) 6%, var(--bg-card)) 0%,
        var(--bg-card) 100%
    );
    border-color: rgba(16, 185, 129, 0.15);
}

.coach-stat-card--featured .stat-value {
    font-size: 2.5rem;
}

.coach-stat-card--featured .stat-label {
    font-size: 0.85rem;
}

/* Stat values — monospace data typography */
.stat-value {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
    font-size: 1.75rem;
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
    line-height: 1.2;
    position: relative;
    z-index: 1;
}

.stat-value-text {
    font-size: var(--font-size-sm);
    font-family: inherit;
}

.stat-label {
    font-size: 0.75rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: var(--spacing-xs);
    position: relative;
    z-index: 1;
}

/* ========================================
 * DARK INTELLIGENCE BANDS
 * Full-bleed layout in both modes;
 * forced dark bg ONLY in dark mode.
 * ======================================== */
.coach-section--dark {
    position: relative;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding: var(--spacing-xxl) calc(50vw - 50%);
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-secondary);
}

/* Dark mode: forced dark band background + all overrides */
[data-theme="dark"] .coach-section--dark {
    background:
        radial-gradient(ellipse 60% 50% at 20% 30%, rgba(16, 185, 129, 0.06), transparent),
        radial-gradient(ellipse 50% 40% at 80% 70%, rgba(14, 165, 233, 0.04), transparent),
        #0f1623;
    border-top-color: rgba(16, 185, 129, 0.1);
    border-bottom-color: rgba(16, 185, 129, 0.1);
}

[data-theme="dark"] .coach-section--dark .section-title {
    color: #e2e8f0;
    border-left-color: #10B981;
}

[data-theme="dark"] .coach-section--dark .section-title i {
    color: #10B981;
}

[data-theme="dark"] .coach-section--dark .analytics-header {
    color: rgba(148, 163, 184, 0.9);
}

[data-theme="dark"] .coach-section--dark .analytics-value {
    color: rgba(0, 255, 200, 0.85);
}

[data-theme="dark"] .coach-section--dark .analytics-value.positive {
    color: #34d399;
}

[data-theme="dark"] .coach-section--dark .analytics-value.negative {
    color: #f87171;
}

[data-theme="dark"] .coach-section--dark .analytics-explainer {
    color: rgba(148, 163, 184, 0.6);
}

[data-theme="dark"] .coach-section--dark .cva-number {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
}

[data-theme="dark"] .coach-section--dark .cva-display.positive .cva-number {
    color: #34d399;
}

[data-theme="dark"] .coach-section--dark .cva-display.negative .cva-number {
    color: #f87171;
}

[data-theme="dark"] .coach-section--dark .cva-display.neutral .cva-number {
    color: rgba(148, 163, 184, 0.9);
}

[data-theme="dark"] .coach-section--dark .cva-badge {
    background: rgba(16, 185, 129, 0.1);
    border-color: rgba(16, 185, 129, 0.25);
    color: rgba(0, 255, 200, 0.85);
}

/* Dark band cards — dark mode only */
[data-theme="dark"] .coach-section--dark .analytics-card,
[data-theme="dark"] .coach-section--dark .coaching-dna-container {
    background: rgba(15, 23, 42, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-color: rgba(16, 185, 129, 0.12);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .coach-section--dark .analytics-card:hover {
    border-color: rgba(16, 185, 129, 0.35);
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.4),
        0 0 20px rgba(16, 185, 129, 0.1);
    transform: translateY(-3px);
}

[data-theme="dark"] .coach-section--dark .analytics-card .card-glow {
    background: radial-gradient(circle, rgba(16, 185, 129, 0.08) 0%, transparent 70%);
}

/* DNA section — dark mode only */
[data-theme="dark"] .coach-section--dark .dna-description {
    color: rgba(148, 163, 184, 0.7);
}

[data-theme="dark"] .coach-section--dark .dna-dim-label {
    color: rgba(148, 163, 184, 0.8);
}

[data-theme="dark"] .coach-section--dark .dna-dim-pct {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
    color: rgba(0, 255, 200, 0.7);
}

[data-theme="dark"] .coach-section--dark .dna-dim-bar-track {
    background: rgba(30, 41, 59, 0.8);
}

[data-theme="dark"] .coach-section--dark .dna-dim-bar-fill {
    background: linear-gradient(90deg, #10B981, #0ea5e9);
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.3);
}

[data-theme="dark"] .coach-section--dark .btn-constellation-link {
    color: #10B981;
    border-color: rgba(16, 185, 129, 0.3);
}

[data-theme="dark"] .coach-section--dark .btn-constellation-link:hover {
    background: rgba(16, 185, 129, 0.1);
    border-color: #10B981;
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.15);
}

/* ========================================
 * ANALYTICS GRID (inside dark bands)
 * ======================================== */
.coach-analytics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: var(--spacing-md);
}

.analytics-card {
    position: relative;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-lg) var(--spacing-md);
    transition: all 0.3s ease;
    transform-style: preserve-3d;
}

.analytics-card .card-glow {
    position: absolute;
    top: -50%; left: -50%;
    width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.analytics-card:hover .card-glow {
    opacity: 1;
}

.analytics-card .card-shine {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.03) 40%, rgba(255,255,255,0) 60%);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: inherit;
}

.analytics-card:hover .card-shine {
    opacity: 1;
}

.analytics-header {
    font-size: 0.75rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: var(--spacing-sm);
}

.analytics-value {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
    font-size: 1.75rem;
    font-weight: var(--font-weight-bold);
    color: var(--text-primary);
}

.analytics-value.positive {
    color: var(--feedback-success);
}

.analytics-value.negative {
    color: var(--feedback-error);
}

.analytics-explainer {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: var(--spacing-sm);
    line-height: 1.4;
}

/* CVA Card */
.cva-card {
    grid-column: span 2;
}

.cva-display {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
}

.cva-number {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
    font-size: 2.25rem;
    font-weight: var(--font-weight-bold);
}

.cva-display.positive .cva-number { color: var(--feedback-success); }
.cva-display.negative .cva-number { color: var(--feedback-error); }
.cva-display.neutral .cva-number { color: var(--text-secondary); }

.cva-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: var(--font-weight-medium);
    background: var(--bg-elevated);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
}

/* ========================================
 * COACHING DNA (inside dark band)
 * ======================================== */
.coaching-dna-container {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-xl);
    transition: border-color 0.3s ease;
}

.coaching-dna-container:hover {
    border-color: rgba(16, 185, 129, 0.25);
}

.dna-description {
    font-size: var(--font-size-sm);
    color: var(--text-secondary);
    margin-bottom: var(--spacing-lg);
    line-height: 1.5;
}

.dna-dimensions-grid { display: grid; gap: var(--spacing-sm); }
.dna-dimension { display: grid; grid-template-columns: 120px 1fr 50px; align-items: center; gap: var(--spacing-sm); }
.dna-dim-label { font-size: 0.8rem; color: var(--text-secondary); font-weight: var(--font-weight-medium); text-align: right; }
.dna-dim-bar-track { height: 8px; background: var(--bg-elevated); border-radius: 4px; overflow: hidden; }
.dna-dim-bar-fill { height: 100%; background: linear-gradient(90deg, var(--brand-primary), var(--color-teal-400)); border-radius: 4px; transition: width 0.8s ease; min-width: 2px; }
.dna-dim-pct { font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace; font-size: 0.75rem; color: var(--text-muted); font-weight: var(--font-weight-medium); text-align: right; }

.dna-cta { margin-top: var(--spacing-lg); text-align: center; }

.btn-constellation-link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    color: var(--brand-primary);
    text-decoration: none;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 30%, transparent);
    border-radius: var(--border-radius-md);
    transition: all 0.3s;
}

.btn-constellation-link:hover {
    background: color-mix(in srgb, var(--brand-primary) 8%, transparent);
    border-color: var(--brand-primary);
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.15);
}

/* ========================================
 * DRAFT PICKS
 * ======================================== */
.draft-notable-picks {
    margin-top: var(--spacing-xl);
}

.draft-picks-subtitle {
    font-size: 0.8rem;
    font-weight: var(--font-weight-semibold);
    color: var(--text-secondary);
    margin-bottom: var(--spacing-md);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.draft-picks-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.draft-pick-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(16, 185, 129, 0.06);
    border: 1px solid rgba(16, 185, 129, 0.15);
    border-radius: 999px;
    font-size: 0.8rem;
    transition: all 0.2s ease;
}

.draft-pick-chip:hover {
    border-color: rgba(16, 185, 129, 0.35);
    background: rgba(16, 185, 129, 0.1);
}

.pick-round {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace;
    font-weight: var(--font-weight-bold);
    color: var(--brand-primary);
    font-size: 0.7rem;
}

.pick-name {
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
}

.pick-detail {
    color: var(--text-muted);
    font-size: 0.7rem;
}

/* Draft picks — dark mode overrides */
[data-theme="dark"] .coach-section--dark .draft-picks-subtitle {
    color: rgba(148, 163, 184, 0.9);
}

[data-theme="dark"] .coach-section--dark .pick-round {
    color: rgba(0, 255, 200, 0.85);
}

[data-theme="dark"] .coach-section--dark .pick-name {
    color: #e2e8f0;
}

[data-theme="dark"] .coach-section--dark .pick-detail {
    color: rgba(148, 163, 184, 0.6);
}

/* ========================================
 * CINEMATIC CAREER TIMELINE
 * ======================================== */
.career-timeline {
    position: relative;
    padding-left: var(--spacing-lg);
}

.career-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, var(--brand-primary), color-mix(in srgb, var(--brand-primary) 30%, transparent) 80%, transparent);
}

.timeline-entry {
    position: relative;
    padding-bottom: var(--spacing-lg);
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-md);
}

.timeline-entry:last-child { padding-bottom: 0; }

.timeline-marker {
    position: absolute;
    left: calc(-1 * var(--spacing-lg) + 2px);
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid var(--border-color);
    background: var(--bg-card);
    z-index: 1;
    transition: box-shadow 0.3s ease;
}

.timeline-marker.hc {
    border-color: var(--brand-primary);
    background: color-mix(in srgb, var(--brand-primary) 20%, var(--bg-card));
    animation: markerPulse 2.5s ease-in-out infinite alternate;
}

@keyframes markerPulse {
    0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.2); }
    100% { box-shadow: 0 0 8px 3px rgba(16, 185, 129, 0.35); }
}

.timeline-marker.oc {
    border-color: #3b82f6;
    background: color-mix(in srgb, #3b82f6 20%, var(--bg-card));
}

.timeline-marker.dc {
    border-color: #ef4444;
    background: color-mix(in srgb, #ef4444 20%, var(--bg-card));
}

.timeline-content {
    flex: 1;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    padding: var(--spacing-sm) var(--spacing-md);
    transition: all 0.3s ease;
}

.timeline-content:hover {
    transform: translateY(-2px);
    border-color: rgba(16, 185, 129, 0.25);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.08);
}

.timeline-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2px; }
.timeline-team { font-weight: var(--font-weight-semibold); color: var(--text-primary); font-size: var(--font-size-base); }
.timeline-years { font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace; font-size: var(--font-size-sm); color: var(--text-muted); font-weight: var(--font-weight-medium); }
.timeline-details { display: flex; flex-wrap: wrap; gap: var(--spacing-sm); align-items: center; }
.timeline-role { font-size: var(--font-size-sm); color: var(--text-secondary); }
.timeline-record { font-family: 'JetBrains Mono', 'SF Mono', 'Fira Code', monospace; font-size: var(--font-size-sm); color: var(--text-secondary); font-weight: var(--font-weight-medium); }
.timeline-conference { font-size: 0.75rem; color: var(--text-muted); padding: 1px 8px; background: var(--bg-elevated); border-radius: 999px; }

/* ========================================
 * CTA SECTION
 * ======================================== */
.coach-cta-section { margin-top: var(--spacing-xxl); }

.coach-cta-card {
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 8%, var(--bg-card)) 0%, var(--bg-card) 100%);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 20%, var(--border-color));
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-xl);
    transition: all 0.3s ease;
}

.coach-cta-card:hover {
    border-color: rgba(16, 185, 129, 0.4);
    box-shadow: 0 8px 30px rgba(16, 185, 129, 0.15);
}

.cta-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--brand-primary) 12%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.coach-cta-card:hover .cta-icon { transform: scale(1.12); }
.cta-icon i { font-size: 1.5rem; color: var(--brand-primary); }
.cta-content { flex: 1; }
.cta-content h3 { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--text-primary); margin-bottom: var(--spacing-xs); }
.cta-content p { font-size: var(--font-size-sm); color: var(--text-secondary); margin: 0; line-height: 1.5; }

.cta-button {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-sm);
    padding: var(--spacing-sm) var(--spacing-lg);
    background: var(--brand-primary);
    color: #ffffff;
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    border-radius: var(--border-radius-md);
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.cta-button:hover {
    background: var(--brand-primary-dark, var(--brand-primary));
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.3);
}

/* ========================================
 * ENTRANCE ANIMATIONS (scroll reveal)
 * ======================================== */
[data-animate] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
[data-animate].revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger children */
[data-animate="stagger"] > .tilt-card,
[data-animate="stagger"] > .analytics-card {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
[data-animate="stagger"].revealed > .tilt-card,
[data-animate="stagger"].revealed > .analytics-card {
    opacity: 1;
    transform: translateY(0);
}

/* Timeline slide-in */
[data-animate="timeline"] .timeline-entry {
    opacity: 0;
    transform: translateX(-24px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
[data-animate="timeline"].revealed .timeline-entry {
    opacity: 1;
    transform: translateX(0);
}

/* ========================================
 * RESPONSIVE
 * ======================================== */
@media (max-width: 768px) {
    .coach-hero { padding: var(--spacing-xl) var(--spacing-md); }

    .coach-hero-content {
        flex-direction: column;
        text-align: center;
        gap: var(--spacing-md);
    }

    .coach-hero-avatar { width: 100px; height: 100px; }
    .avatar-initials-large { font-size: 2rem; }
    .coach-meta { justify-content: center; }
    .coach-hero-badges { justify-content: center; }
    .coach-philosophy-tags { justify-content: center; }

    .coach-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .coach-stat-card--featured {
        grid-column: span 2;
    }

    .coach-analytics-grid { grid-template-columns: 1fr; }
    .cva-card { grid-column: span 1; }
    .dna-dimension { grid-template-columns: 90px 1fr 40px; }
    .dna-dim-label { font-size: 0.7rem; }
    .coach-cta-card { flex-direction: column; text-align: center; gap: var(--spacing-md); }
    .timeline-header { flex-direction: column; align-items: flex-start; gap: 2px; }

    .coach-section--dark {
        padding-left: var(--spacing-md);
        padding-right: var(--spacing-md);
        margin-left: calc(-1 * var(--spacing-md));
        margin-right: calc(-1 * var(--spacing-md));
    }
}

@media (max-width: 480px) {
    .coach-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-sm);
    }

    .stat-value { font-size: 1.25rem; }
    .coach-stat-card--featured .stat-value { font-size: 1.75rem; }
    .dna-dimension { grid-template-columns: 80px 1fr 36px; }
    .hero-badge { padding: 4px 10px; font-size: 0.75rem; }
}

/* ========================================
 * LIGHT MODE REFINEMENTS
 * Cards need shadows + accent borders for depth
 * Scoped to exclude dark mode via :not([data-theme="dark"])
 * ======================================== */
:root:not([data-theme="dark"]) .coach-stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    box-shadow:
        0 1px 3px rgba(0, 0, 0, 0.06),
        0 4px 12px rgba(0, 0, 0, 0.04);
}

:root:not([data-theme="dark"]) .coach-stat-card:hover {
    border-color: rgba(16, 185, 129, 0.4);
    box-shadow:
        0 8px 25px rgba(16, 185, 129, 0.12),
        0 4px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-4px);
}

:root:not([data-theme="dark"]) .coach-stat-card--featured {
    background: linear-gradient(135deg, #f0fdf9 0%, #ffffff 100%);
    border-color: rgba(16, 185, 129, 0.25);
    box-shadow:
        0 2px 8px rgba(16, 185, 129, 0.08),
        0 4px 16px rgba(0, 0, 0, 0.04);
}

:root:not([data-theme="dark"]) .coach-stat-card--featured:hover {
    box-shadow:
        0 12px 35px rgba(16, 185, 129, 0.15),
        0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Light mode stat values — dark slate text */
:root:not([data-theme="dark"]) .stat-value {
    color: #1e293b;
}

:root:not([data-theme="dark"]) .coach-stat-card--featured .stat-value {
    color: #065f46;
}

/* Light mode analytics cards */
:root:not([data-theme="dark"]) .analytics-card {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 12px rgba(0, 0, 0, 0.04);
}

/* Light mode timeline */
:root:not([data-theme="dark"]) .timeline-content {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

:root:not([data-theme="dark"]) .timeline-content:hover {
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.1), 0 2px 8px rgba(0, 0, 0, 0.04);
}

:root:not([data-theme="dark"]) .timeline-marker {
    background: #ffffff;
}

/* Light mode coaching DNA container */
:root:not([data-theme="dark"]) .coaching-dna-container {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Light mode CTA */
:root:not([data-theme="dark"]) .coach-cta-card {
    background: linear-gradient(135deg, #f0fdf9 0%, #ffffff 100%);
    border-color: rgba(16, 185, 129, 0.25);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

:root:not([data-theme="dark"]) .coach-cta-card:hover {
    box-shadow: 0 10px 30px rgba(16, 185, 129, 0.12), 0 4px 12px rgba(0, 0, 0, 0.04);
}

/* Light mode section title — stronger accent */
:root:not([data-theme="dark"]) .section-title {
    color: #1e293b;
}

:root:not([data-theme="dark"]) .section-title i {
    filter: drop-shadow(0 0 4px rgba(16, 185, 129, 0.3));
}

/* ========================================
 * REDUCED MOTION
 * ======================================== */
@media (prefers-reduced-motion: reduce) {
    [data-animate],
    [data-animate] > .tilt-card,
    [data-animate] > .analytics-card,
    [data-animate] .timeline-entry {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .coach-hero-avatar { animation: none; }
    .coach-hero-grid { animation: none; opacity: 1; }
    .coach-hero-aurora-1,
    .coach-hero-aurora-2,
    .coach-hero-aurora-3 { animation: none; }
    .hero-particle { animation: none; opacity: 0.4; }
    .coach-name { animation: none; text-shadow: 0 0 20px rgba(16, 185, 129, 0.15); }
    .timeline-marker.hc { animation: none; }

    .coach-stat-card,
    .analytics-card,
    .timeline-content,
    .coach-cta-card,
    .cta-icon { transition: none; }
}
