/*
 * GUILD - "Quiet Leverage" Design System
 * A refined nocturnal aesthetic for high-value executive mentorship
 *
 * Palette:
 * - Burnished Amber: #D4A574 (accent - ONLY for live status, scarcity, primary CTA)
 * - Tungsten greys: #0d0d0d, #141414, #1a1a1a, #242424, #2a2a2a
 * - Chrome/Silver: for logo and premium accents
 * - Text hierarchy: rgba(255,255,255,.92), .72, .48
 */

/* ================================
   CSS CUSTOM PROPERTIES
   ================================ */
:root {
    /* Tungsten palette */
    --guild-void: #080808;
    --guild-deep: #0d0d0d;
    --guild-surface: #141414;
    --guild-elevated: #1a1a1a;
    --guild-raised: #242424;
    --guild-border: rgba(255,255,255,.06);
    --guild-border-subtle: rgba(255,255,255,.04);

    /* Burnished Amber - used sparingly */
    --guild-amber: #D4A574;
    --guild-amber-glow: rgba(212,165,116,.15);
    --guild-amber-dim: rgba(212,165,116,.08);

    /* Chrome accent */
    --guild-chrome: linear-gradient(135deg, #e8e8e8 0%, #a8a8a8 50%, #d0d0d0 100%);

    /* Text hierarchy */
    --guild-text-primary: rgba(255,255,255,.92);
    --guild-text-secondary: rgba(255,255,255,.72);
    --guild-text-tertiary: rgba(255,255,255,.48);
    --guild-text-muted: rgba(255,255,255,.32);

    /* Typography */
    --font-display: 'EB Garamond', 'Times New Roman', serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'JetBrains Mono', 'SF Mono', monospace;

    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 6rem;

    /* Grid lines - 5% opacity (felt, not seen) */
    --grid-line: rgba(255,255,255,.05);
}

/* ================================
   BASE STYLES
   ================================ */
.guild-page {
    background: var(--guild-deep);
    color: var(--guild-text-primary);
    font-family: var(--font-body);
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

/* Film grain overlay - 1.5% opacity, background only */
.guild-page::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 0.015;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

/* Subtle grid pattern - 5% opacity */
.guild-page::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(var(--grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 60px 60px;
}

.guild-page > * {
    position: relative;
    z-index: 1;
}

/* ================================
   TYPOGRAPHY
   ================================ */
.guild-display {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.guild-headline {
    font-family: var(--font-body);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
}

.guild-label {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--guild-text-tertiary);
}

.guild-serif {
    font-family: var(--font-display);
    font-style: italic;
}

/* ================================
   NAVIGATION - "The Silent Utility"
   ================================ */
.guild-nav {
    position: fixed;
    top: var(--space-lg);
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    width: calc(100% - 2rem);
    max-width: 1400px;
}

.guild-nav-bar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.5rem;
    background: rgba(13,13,13,.78);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 100px;
    box-shadow:
        0 4px 24px rgba(0,0,0,.4),
        0 0 0 1px rgba(255,255,255,.03) inset;
}

/* LEFT: Logo + Locale */
.guild-nav-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
}

.guild-logo {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    line-height: 1;
}

.guild-logo-main {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: var(--guild-chrome);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    white-space: nowrap;
}

.guild-logo-sub {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-tertiary);
    white-space: nowrap;
    margin-top: 2px;
}

/* RIGHT: Cart, Status, Login, CTA */
.guild-nav-right {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1.5;
    justify-content: flex-end;
    white-space: nowrap;
}

.guild-cart-desktop {
    display: flex;
}

/* ================================
   NAV LINKS (Center Command)
   ================================ */
.guild-nav-center {
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: center;
    flex: 2;
}

.guild-nav-link {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--guild-text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
    position: relative;
    padding: 0.25rem 0;
    white-space: nowrap;
}

.guild-nav-link:hover {
    color: var(--guild-text-primary);
}

/* Active indicator on hover */
.guild-nav-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--guild-amber);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
}

.guild-nav-link:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* System status indicator */
.guild-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    color: var(--guild-text-tertiary);
    white-space: nowrap;
}

.guild-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--guild-amber);
    box-shadow: 0 0 8px var(--guild-amber);
}

/* Login Link - discrete, utility style */
.guild-login-btn {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
    border-right: 1px solid var(--guild-border-subtle);
    margin-right: 0.5rem;
    white-space: nowrap;
}

.guild-login-btn:hover {
    color: var(--guild-text-primary);
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.4);
}

/* Cart Button - refined, minimal */
.guild-cart-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    color: var(--guild-text-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
    border-radius: 2px;
}

.guild-cart-btn:hover {
    color: var(--guild-text-primary);
}

.guild-cart-btn--mobile {
    margin-right: 0.25rem;
}

.guild-cart-icon {
    width: 1.25rem;
    height: 1.25rem;
    stroke-width: 2;
    transition: transform 0.2s ease;
}

.guild-cart-btn:hover .guild-cart-icon {
    transform: scale(1.05);
}

/* Cart bounce animation when item added */
.guild-cart-icon.animate-bounce {
    animation: guildCartBounce 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes guildCartBounce {
    0%, 100% { transform: scale(1) translateY(0); }
    30% { transform: scale(1.2) translateY(-2px); }
    50% { transform: scale(0.95) translateY(1px); }
    70% { transform: scale(1.05) translateY(-1px); }
}

.guild-cart-count {
    position: absolute;
    top: -2px;
    right: -2px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: var(--guild-amber);
    color: var(--guild-deep);
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(212, 165, 116, 0.4);
    animation: guildCartCountPop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes guildCartCountPop {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

/* Primary CTA - solid white, pure confidence */
.guild-cta-primary {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: white;
    padding: 0.625rem 1.25rem;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}

.guild-cta-primary:hover {
    opacity: 0.72;
}

/* Locale selectors */
.guild-locale-group {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    position: relative;
    z-index: 10;
}

.guild-locale-btn {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.625rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-tertiary);
    background: rgba(255,255,255,.03);
    border: 1px solid var(--guild-border-subtle);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.guild-locale-btn:hover {
    color: var(--guild-text-secondary);
    background: rgba(255,255,255,.05);
    border-color: var(--guild-border);
}

.guild-locale-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.5rem;
    min-width: 180px;
    max-height: 320px;
    overflow-y: auto;
    background: rgba(13,13,13,.95);
    backdrop-filter: blur(20px);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    z-index: 200;
}

.guild-locale-dropdown.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.guild-locale-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    color: var(--guild-text-secondary);
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: all 0.15s ease;
}

.guild-locale-option:hover {
    color: var(--guild-text-primary);
    background: rgba(255,255,255,.04);
}

.guild-locale-option.selected {
    color: var(--guild-amber);
}

/* ================================
   HERO - "The Thesis"
   ================================ */
.guild-hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: var(--space-4xl) var(--space-lg);
    position: relative;
}

/* Abstract architectural light background */
.guild-hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.guild-hero-bg::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 80%;
    height: 140%;
    background: linear-gradient(
        135deg,
        transparent 0%,
        rgba(255,255,255,.02) 30%,
        rgba(255,255,255,.04) 50%,
        rgba(255,255,255,.02) 70%,
        transparent 100%
    );
    transform: rotate(-15deg);
    animation: lightShift 20s ease-in-out infinite;
}

@keyframes lightShift {
    0%, 100% { opacity: 0.6; transform: rotate(-15deg) translateX(0); }
    50% { opacity: 1; transform: rotate(-15deg) translateX(-5%); }
}

.guild-hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
}

.guild-hero-headline {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: clamp(2.5rem, 8vw, 5rem);
    letter-spacing: -0.04em;
    line-height: 1;
    margin-bottom: var(--space-lg);
    color: var(--guild-text-primary);
}

.guild-hero-subhead {
    font-family: var(--font-display);
    font-size: clamp(1.125rem, 2.5vw, 1.375rem);
    font-style: italic;
    color: var(--guild-text-secondary);
    max-width: 480px;
    margin: 0 auto var(--space-2xl);
    line-height: 1.5;
}

/* Blueprint CTA - download style */
.guild-cta-blueprint {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 2rem;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.02em;
    color: var(--guild-deep);
    background: var(--guild-amber);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.guild-cta-blueprint:hover {
    background: #e0b080;
    transform: translateY(-1px);
}

.guild-cta-blueprint svg {
    transition: transform 0.2s ease;
}

.guild-cta-blueprint:hover svg {
    transform: translateY(2px);
}

/* ================================
   THE WEDGE - Data Visualization
   ================================ */
.guild-wedge {
    padding: var(--space-4xl) var(--space-lg);
    max-width: 1000px;
    margin: 0 auto;
}

.guild-wedge-chart {
    position: relative;
    height: 320px;
    border-left: 1px solid var(--guild-border);
    border-bottom: 1px solid var(--guild-border);
    margin-bottom: var(--space-lg);
}

/* Y-axis label */
.guild-wedge-y-label {
    position: absolute;
    left: -3rem;
    top: 50%;
    transform: rotate(-90deg) translateX(50%);
    transform-origin: left center;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
    text-transform: uppercase;
}

/* X-axis labels */
.guild-wedge-x-labels {
    display: flex;
    justify-content: space-between;
    padding-left: 0;
    padding-top: var(--space-sm);
}

.guild-wedge-x-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-muted);
}

/* SVG chart container */
.guild-wedge-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Strategy Deficit label */
.guild-wedge-label {
    font-family: var(--font-display);
    font-size: 0.875rem;
    font-style: italic;
    color: var(--guild-text-secondary);
    opacity: 0;
    transform: translateY(10px);
    transition: none;
}

.guild-wedge.in-view .guild-wedge-label {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s ease-out 1.8s;
}

/* Wedge Animation - line drawing effect */
.guild-wedge-svg .trajectory-line {
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
    transition: stroke-dashoffset 0s;
}

.guild-wedge-svg .standard-line {
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
    transition: stroke-dashoffset 0s;
}

.guild-wedge-svg .wedge-fill {
    opacity: 0;
    transition: opacity 0s;
}

/* Animated state - triggered by JS */
.guild-wedge.in-view .trajectory-line {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 2s ease-out;
}

.guild-wedge.in-view .standard-line {
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 1.5s ease-out 0.3s;
}

.guild-wedge.in-view .wedge-fill {
    opacity: 1;
    transition: opacity 1.2s ease-out 0.8s;
}

/* ================================
   ARCHITECTS - "The Partners Table"
   ================================ */
.guild-architects {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--space-4xl) 0;
    overflow: hidden;
}

.guild-section-header {
    padding: 0 var(--space-lg);
    margin-bottom: var(--space-2xl);
}

.guild-section-label {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--guild-text-muted);
    margin-bottom: var(--space-sm);
}

.guild-section-title {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    letter-spacing: -0.02em;
    color: var(--guild-text-primary);
}

/* Horizontal scroll container */
.guild-architects-scroll {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--space-lg);
    padding: 0 var(--space-lg);
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: var(--space-lg);
}

.guild-architects-scroll::-webkit-scrollbar {
    display: none;
}

/* Partner card - wide, breathing room */
.guild-partner-card {
    display: flex;
    flex-direction: column;
    flex: 0 0 340px;
    min-width: 340px;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.guild-partner-card:hover {
    border-color: rgba(255,255,255,.14);
    transform: translateY(-4px);
    box-shadow:
        0 20px 40px rgba(0,0,0,.3),
        0 0 0 1px rgba(255,255,255,.06) inset;
}

.guild-partner-image {
    width: 100%;
    height: 240px;
    object-fit: cover;
    filter: grayscale(30%) brightness(0.95);
    transition: all 0.4s ease;
}

.guild-partner-card:hover .guild-partner-image {
    filter: grayscale(0%) brightness(1);
    transform: scale(1.02);
}

.guild-partner-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: var(--space-lg);
}

.guild-partner-name {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--guild-text-primary);
    margin-bottom: 0.25rem;
}

/* Gold key icon for mentorship access */
.guild-key-icon {
    width: 14px;
    height: 14px;
    color: var(--guild-amber);
    transition: all 0.3s ease;
    filter: drop-shadow(0 0 0 transparent);
}

.guild-partner-card:hover .guild-key-icon {
    filter: drop-shadow(0 0 6px var(--guild-amber));
    transform: scale(1.1);
}

.guild-partner-title {
    flex: 1;
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
    margin-bottom: var(--space-md);
}

/* Access tier badges */
.guild-badge-archive {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.25rem 0.5rem;
    background: rgba(255,255,255,.05);
    border-radius: 2px;
    color: var(--guild-text-muted);
    transition: all 0.3s ease;
}

.guild-partner-card:hover .guild-badge-archive {
    background: rgba(212,165,116,.12);
    color: var(--guild-amber);
    box-shadow: 0 0 12px rgba(212,165,116,.15);
}

/* Cohort status - amber for scarcity */
.guild-cohort-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    color: var(--guild-amber);
    margin-top: var(--space-md);
    transition: all 0.3s ease;
}

.guild-partner-card:hover .guild-cohort-status {
    color: var(--guild-text-primary);
}

.guild-partner-card:hover .guild-cohort-status::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--guild-amber);
    box-shadow: 0 0 8px var(--guild-amber);
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(1.2); }
}

/* ================================
   INVENTORY - "The Asset Class"
   ================================ */
.guild-inventory {
    padding: var(--space-4xl) var(--space-lg);
    max-width: 1200px;
    margin: 0 auto;
}

.guild-inventory-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

@media (max-width: 900px) {
    .guild-inventory-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: var(--space-md);
        padding-bottom: var(--space-md);
        margin: 0 calc(-1 * var(--space-lg));
        padding-left: var(--space-lg);
        padding-right: var(--space-lg);
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .guild-inventory-grid::-webkit-scrollbar {
        display: none;
    }

    .guild-asset-column {
        min-width: 85vw;
        max-width: 85vw;
        scroll-snap-align: center;
        flex-shrink: 0;
    }
}

.guild-asset-column {
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    padding: var(--space-xl);
}

.guild-asset-header {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--guild-border-subtle);
}

.guild-asset-icon {
    width: 20px;
    height: 20px;
    color: var(--guild-text-tertiary);
}

.guild-asset-title {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--guild-text-secondary);
}

/* Briefings - file name list style */
.guild-briefing-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.guild-briefing-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--guild-text-secondary);
    background: rgba(255,255,255,.02);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.guild-briefing-item:hover {
    background: rgba(255,255,255,.04);
    color: var(--guild-text-primary);
}

.guild-briefing-duration {
    color: var(--guild-text-muted);
    font-size: 0.6875rem;
}

/* Accelerators - timeline style */
.guild-accelerator-timeline {
    position: relative;
    padding-left: var(--space-lg);
}

.guild-accelerator-timeline::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--guild-border);
}

.guild-accelerator-item {
    position: relative;
    padding: 0.75rem 0;
    padding-left: var(--space-md);
}

.guild-accelerator-item::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 1rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
}

.guild-accelerator-name {
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--guild-text-primary);
    margin-bottom: 0.25rem;
}

.guild-accelerator-meta {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--guild-text-muted);
}

/* Proprietary Assets - stacked documents */
.guild-assets-stack {
    position: relative;
    padding: var(--space-lg);
}

.guild-asset-doc {
    position: relative;
    padding: var(--space-md);
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    margin-bottom: -20px;
    transition: all 0.2s ease;
}

.guild-asset-doc:nth-child(1) { transform: rotate(-1deg); z-index: 3; }
.guild-asset-doc:nth-child(2) { transform: rotate(0.5deg); z-index: 2; margin-left: 8px; }
.guild-asset-doc:nth-child(3) { transform: rotate(-0.5deg); z-index: 1; margin-left: 4px; }

.guild-asset-doc:hover {
    transform: translateY(-4px) rotate(0deg);
    z-index: 10;
}

.guild-doc-title {
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--guild-text-primary);
}

.guild-doc-type {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-muted);
    margin-top: 0.25rem;
}

/* ================================
   ENGAGEMENT PROTOCOLS
   ================================ */
.guild-protocols {
    padding: var(--space-4xl) var(--space-lg);
    max-width: 900px;
    margin: 0 auto;
}

.guild-protocols-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--guild-border);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
}

@media (max-width: 640px) {
    .guild-protocols-grid {
        grid-template-columns: 1fr;
    }
}

.guild-protocol {
    background: var(--guild-surface);
    padding: var(--space-2xl);
    text-align: center;
}

.guild-protocol-icon {
    width: 32px;
    height: 32px;
    margin: 0 auto var(--space-lg);
    color: var(--guild-text-tertiary);
}

.guild-protocol-title {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--guild-text-muted);
    margin-bottom: 0.25rem;
}

.guild-protocol-name {
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--guild-text-primary);
    margin-bottom: var(--space-md);
}

.guild-protocol-desc {
    font-size: 0.875rem;
    color: var(--guild-text-secondary);
    line-height: 1.6;
}

/* ================================
   FOOTER - "The Ledger"
   ================================ */
.guild-footer {
    padding: var(--space-4xl) var(--space-lg);
    border-top: 1px solid var(--guild-border-subtle);
    position: relative;
}

.guild-footer-content {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

.guild-footer-headline {
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-style: italic;
    color: var(--guild-text-primary);
    margin-bottom: var(--space-2xl);
}

/* Email input */
.guild-footer-form {
    display: flex;
    gap: 0;
    max-width: 420px;
    margin: 0 auto var(--space-2xl);
}

.guild-footer-input {
    flex: 1;
    padding: 0.875rem 1rem;
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    color: var(--guild-text-primary);
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-right: none;
    border-radius: 4px 0 0 4px;
    outline: none;
    transition: border-color 0.2s ease;
}

.guild-footer-input::placeholder {
    color: var(--guild-text-muted);
    letter-spacing: 0.04em;
}

.guild-footer-input:focus {
    border-color: rgba(255,255,255,.12);
}

.guild-footer-submit {
    padding: 0.875rem 1.25rem;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    color: var(--guild-deep);
    background: var(--guild-amber);
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.guild-footer-submit:hover {
    background: #e0b080;
}

.guild-footer-note {
    color: var(--guild-text-muted);
    font-size: 0.8125rem;
}

/* Acceptance rate footnote */
.guild-acceptance-rate {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.06em;
    color: var(--guild-text-muted);
    margin-top: var(--space-2xl);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--guild-border-subtle);
}

@media (min-width: 641px) {
    .guild-footer {
        position: relative;
    }

    .guild-acceptance-rate {
        position: absolute;
        bottom: var(--space-lg);
        right: var(--space-lg);
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }
}

/* ================================
   UTILITIES
   ================================ */
.guild-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-lg);
}

.guild-text-amber {
    color: var(--guild-amber);
}

.guild-divider {
    height: 1px;
    background: var(--guild-border-subtle);
    margin: var(--space-4xl) 0;
}

/* Mobile menu */
.guild-mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(8,8,8,.98);
    z-index: 99;
    padding: var(--space-4xl) var(--space-lg);
}

.guild-mobile-menu.open {
    display: block;
}

.guild-mobile-nav-item {
    display: block;
    padding: var(--space-md) 0;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--guild-text-secondary);
    border-bottom: 1px solid var(--guild-border-subtle);
    transition: color 0.2s ease;
}

.guild-mobile-nav-item:hover {
    color: var(--guild-text-primary);
}

/* Currency selector styles */
.guild-currency-btn {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    padding: 0.375rem 0.5rem;
}

/* ================================
   RESPONSIVE
   ================================ */
/* Adjust center nav on larger screens */
@media (min-width: 1400px) {
    .guild-nav-center {
        gap: 2.5rem;
    }
}

/* Hide elements on medium screens */
@media (max-width: 1200px) {
    .guild-nav-center {
        display: none !important;
    }

    .guild-nav-left,
    .guild-nav-right {
        flex: unset;
    }
}

@media (max-width: 1024px) {
    .guild-status,
    .guild-locale-group,
    .guild-cart-desktop,
    .guild-cta-primary {
        display: none;
    }
}

@media (max-width: 768px) {
    .guild-nav-bar {
        padding: 0.625rem 1rem;
    }

    .guild-nav-right {
        gap: var(--space-md);
    }

    .guild-hero {
        padding: var(--space-3xl) var(--space-md);
    }

    .guild-partner-card {
        flex: 0 0 280px;
    }

    .guild-wedge-chart {
        height: 240px;
    }

    .guild-wedge-y-label {
        display: none;
    }

    .guild-protocols-grid {
        grid-template-columns: 1fr;
    }

    .guild-footer-form {
        flex-direction: column;
        gap: var(--space-sm);
    }

    .guild-footer-input {
        border-radius: 4px;
        border-right: 1px solid var(--guild-border);
    }

    .guild-footer-submit {
        border-radius: 4px;
        padding: 1rem;
    }
}

/* Scroll indicator for horizontal sections */
.guild-scroll-indicator {
    display: none;
}

@media (max-width: 900px) {
    .guild-scroll-indicator {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: var(--space-lg);
        padding: 0 var(--space-lg);
    }

    .guild-scroll-indicator span {
        font-family: var(--font-mono);
        font-size: 0.625rem;
        letter-spacing: 0.08em;
        color: var(--guild-text-muted);
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .guild-scroll-indicator svg {
        width: 16px;
        height: 16px;
        animation: scrollHint 1.5s ease-in-out infinite;
    }

    @keyframes scrollHint {
        0%, 100% { transform: translateX(0); opacity: 0.5; }
        50% { transform: translateX(4px); opacity: 1; }
    }
}

/* ================================
   ANIMATIONS
   ================================ */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.guild-animate-in {
    animation: fadeInUp 0.6s ease forwards;
}

.guild-animate-delay-1 { animation-delay: 0.1s; }
.guild-animate-delay-2 { animation-delay: 0.2s; }
.guild-animate-delay-3 { animation-delay: 0.3s; }

/* ================================
   SECTION: THE DROP (Featured Promo)
   ================================ */
.guild-drop {
    padding: var(--space-4xl) var(--space-lg);
    max-width: 1200px;
    margin: 0 auto;
}

.guild-drop-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 12px;
    overflow: hidden;
    min-height: 500px;
    transition: border-color 0.3s ease;
}

.guild-drop-card:hover {
    border-color: rgba(255,255,255,.1);
}

.guild-drop-content {
    padding: var(--space-2xl);
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--guild-border);
}

.guild-drop-visual {
    position: relative;
    overflow: hidden;
}

.guild-drop-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: grayscale(100%) contrast(1.2) brightness(0.8);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.guild-drop-card:hover .guild-drop-image {
    filter: grayscale(0%) contrast(1) brightness(1);
    transform: scale(1.03);
}

.guild-badge-live {
    display: inline-block;
    color: var(--guild-amber);
    border: 1px solid var(--guild-amber);
    padding: 4px 12px;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: var(--space-lg);
    align-self: flex-start;
    animation: pulse 2s ease-in-out infinite;
}

.guild-drop-title {
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1;
    margin-bottom: var(--space-md);
    color: var(--guild-text-primary);
}

.guild-drop-desc {
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    line-height: 1.6;
    margin-bottom: var(--space-xl);
    max-width: 40ch;
}

.guild-drop-meta {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
    letter-spacing: 0.05em;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.guild-separator {
    color: var(--guild-text-muted);
}

/* ================================
   SECTION: INVENTORY SHELVES
   ================================ */
.guild-shelf {
    margin-bottom: var(--space-4xl);
}

.guild-shelf-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--space-lg);
    border-bottom: 1px solid var(--guild-border-subtle);
    padding-bottom: var(--space-md);
}

.guild-shelf-title {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 1.5rem;
    color: var(--guild-text-primary);
}

.guild-shelf-link {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
    text-decoration: none;
    transition: color 0.2s;
}

.guild-shelf-link:hover {
    color: var(--guild-amber);
}

/* --- A. Poster Cards (Masterclasses/Briefings) --- */
.guild-cards-scroll {
    display: flex;
    gap: var(--space-lg);
    overflow-x: auto;
    padding-bottom: 10px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.guild-cards-scroll::-webkit-scrollbar {
    display: none;
}

.guild-poster-card {
    flex: 0 0 280px;
    height: 400px;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid var(--guild-border);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.guild-poster-card:hover {
    border-color: rgba(255,255,255,.12);
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 20px 50px rgba(0,0,0,.4);
}

.guild-poster-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: grayscale(100%);
    transition: filter 0.4s ease, transform 0.4s ease;
}

.guild-poster-card:hover .guild-poster-image {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.guild-poster-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
}

.guild-poster-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: var(--space-lg);
    z-index: 2;
}

.guild-poster-title {
    font-family: var(--font-display);
    font-size: 1.75rem;
    line-height: 1.1;
    color: white;
    margin-bottom: var(--space-sm);
}

.guild-poster-meta {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-amber);
    letter-spacing: 0.1em;
}

/* --- B. Program Stack (Accelerators) --- */
.guild-program-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.guild-program-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-lg);
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    transition: all 0.25s ease;
    cursor: pointer;
}

.guild-program-card:hover {
    background: var(--guild-elevated);
    border-color: var(--guild-amber-dim);
    transform: translateX(4px);
}

.guild-program-left {
    flex: 1;
}

.guild-program-code {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-muted);
    margin-bottom: 0.5rem;
    letter-spacing: 0.08em;
}

.guild-program-title {
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--guild-text-primary);
    margin-bottom: 0.25rem;
}

.guild-program-desc {
    color: var(--guild-text-secondary);
    font-size: 0.875rem;
}

.guild-program-right {
    text-align: right;
    flex-shrink: 0;
    margin-left: var(--space-lg);
}

.guild-program-specs {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--guild-text-secondary);
    margin-bottom: 0.5rem;
}

.guild-program-specs span + span::before {
    content: " / ";
    color: var(--guild-text-muted);
}

.guild-program-status {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-amber);
    letter-spacing: 0.05em;
}

/* --- C. Asset Grid (The Vault) --- */
.guild-asset-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space-md);
}

.guild-asset-card {
    display: flex;
    flex-direction: column;
    padding: var(--space-lg);
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.25s ease;
}

.guild-asset-card:hover {
    background: var(--guild-elevated);
    border-color: rgba(255,255,255,.1);
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
}

.guild-asset-card .guild-asset-icon {
    width: 24px;
    height: 24px;
    color: var(--guild-text-muted);
    margin-bottom: var(--space-lg);
    transition: color 0.2s ease;
}

.guild-asset-card:hover .guild-asset-icon {
    color: var(--guild-amber);
}

.guild-asset-name {
    font-size: 0.875rem;
    color: var(--guild-text-primary);
    font-weight: 500;
    margin-bottom: 0.25rem;
}

.guild-asset-type {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-muted);
    letter-spacing: 0.06em;
}

/* ================================
   PREMIUM CATALOG MOBILE
   ================================ */
@media (max-width: 768px) {
    .guild-drop-card {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .guild-drop-visual {
        height: 250px;
        order: -1;
    }

    .guild-drop-content {
        border-right: none;
        border-top: 1px solid var(--guild-border);
    }

    .guild-drop-title {
        font-size: 2rem;
    }

    /* Briefings - horizontal snap scroll on mobile */
    .guild-cards-scroll {
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .guild-poster-card {
        flex: 0 0 85vw;
        min-width: 85vw;
        height: 340px;
        scroll-snap-align: center;
    }

    /* Accelerators - horizontal snap scroll on mobile */
    .guild-program-stack {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 1.5rem;
        gap: 1rem;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .guild-program-stack::-webkit-scrollbar {
        display: none;
    }

    .guild-program-card {
        flex: 0 0 85vw;
        min-width: 85vw;
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        scroll-snap-align: center;
    }

    .guild-program-right {
        text-align: left;
        margin-left: 0;
    }

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

@media (max-width: 480px) {
    .guild-asset-grid {
        grid-template-columns: 1fr;
    }

    .guild-poster-card,
    .guild-program-card {
        flex: 0 0 90vw;
        min-width: 90vw;
    }
}

/* ================================
   CATALOG BROWSE PAGES
   (Masterclasses, Programs, Masters)
   ================================ */

/* --- Hero Section --- */
.hero {
    padding: 140px 0 60px;
    background: var(--guild-deep);
    position: relative;
}

.hero-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.hero h1 {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--guild-text-primary);
    margin: 0 0 var(--space-md);
    line-height: 1.1;
}

/* Status chip with amber dot */
.chip {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--guild-text-secondary);
    margin-bottom: var(--space-lg);
    padding: 0.375rem 0.75rem;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--guild-border);
    border-radius: 100px;
}

.chip .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--guild-amber);
    box-shadow: 0 0 8px var(--guild-amber);
    animation: pulse 2s ease-in-out infinite;
}

/* Hero subtitle text */
.lead {
    font-family: var(--font-display);
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    font-style: italic;
    color: var(--guild-text-secondary);
    max-width: 500px;
    margin: 0 auto var(--space-2xl);
    line-height: 1.5;
}

/* --- Quickbar (Search/Filter) --- */
.quickbar {
    max-width: 680px;
    margin: 0 auto var(--space-xl);
}

.qrow {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
    flex-wrap: wrap;
}

.qrow2 {
    display: flex;
    gap: var(--space-md);
    justify-content: center;
    align-items: center;
}

/* Search input wrapper */
.qwrap {
    position: relative;
    flex: 1;
    min-width: 240px;
}

.qicon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--guild-text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
}

.qinput {
    width: 100%;
    padding: 0.875rem 1rem 0.875rem 2.75rem;
    font-family: var(--font-body);
    font-size: 0.9375rem;
    color: var(--guild-text-primary);
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.qinput::placeholder {
    color: var(--guild-text-muted);
}

.qinput:focus {
    border-color: rgba(255,255,255,.15);
    box-shadow: 0 0 0 3px rgba(255,255,255,.03);
}

/* Filter chips container */
.qchips {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    align-items: center;
}

/* Individual filter chip */
.qchip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 0.875rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--guild-text-tertiary);
    background: transparent;
    border: 1px solid var(--guild-border);
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.qchip:hover {
    color: var(--guild-text-secondary);
    border-color: rgba(255,255,255,.12);
    background: rgba(255,255,255,.02);
}

/* Active chip state */
.qchip.active {
    color: var(--guild-amber);
    border-color: var(--guild-amber);
    background: var(--guild-amber-dim);
}

.qchip.active .qd {
    background: var(--guild-amber);
    box-shadow: 0 0 6px var(--guild-amber);
}

/* Chip dot indicator */
.qd {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--guild-text-muted);
    transition: all 0.2s ease;
}

/* Sort dropdown */
.qsel {
    padding: 0.625rem 2rem 0.625rem 1rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-secondary);
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    cursor: pointer;
    outline: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    transition: border-color 0.2s ease;
}

.qsel:hover,
.qsel:focus {
    border-color: rgba(255,255,255,.15);
}

.qsel option {
    background: var(--guild-surface);
    color: var(--guild-text-primary);
}

/* --- Hero Status Row --- */
.herostatus {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.activechips {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.count {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-tertiary);
}

.count span {
    color: var(--guild-text-secondary);
}

/* KPI stats row */
.kpis {
    display: flex;
    justify-content: center;
    gap: var(--space-2xl);
    flex-wrap: wrap;
    margin-bottom: var(--space-lg);
}

.kpi {
    text-align: center;
}

.kpi b {
    display: block;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--guild-text-primary);
    margin-bottom: 0.25rem;
}

.kpi span {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-muted);
}

/* Section divider */
.divider {
    height: 1px;
    background: var(--guild-border);
    max-width: 600px;
    margin: 0 auto;
}

/* --- Results Section --- */
.results {
    padding: var(--space-3xl) var(--space-lg);
}

/* Results grid */
.masterclass-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-lg);
    margin-bottom: var(--space-3xl);
}

/* Content card */
.masterclass-card {
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.masterclass-card:hover {
    border-color: rgba(255,255,255,.12);
    transform: translateY(-4px);
    box-shadow:
        0 20px 40px rgba(0,0,0,.3),
        0 0 0 1px rgba(255,255,255,.04) inset;
}

.masterclass-card:focus {
    outline: 2px solid var(--guild-amber);
    outline-offset: 2px;
}

/* Card image area */
.masterclass-card .media {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.masterclass-card .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(30%) brightness(0.95);
    transition: all 0.4s ease;
}

.masterclass-card:hover .media img {
    filter: grayscale(0%) brightness(1);
    transform: scale(1.05);
}

/* Image overlay gradient */
.masterclass-card .overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.6) 0%, transparent 60%);
    pointer-events: none;
}

/* Status badge */
.masterclass-card .badge {
    position: absolute;
    top: var(--space-md);
    left: var(--space-md);
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.625rem;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--guild-amber);
    background: rgba(0,0,0,.7);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(212,165,116,.3);
    border-radius: 4px;
    z-index: 2;
}

/* Badge indicator dot */
.badge-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--guild-amber);
    box-shadow: 0 0 6px var(--guild-amber);
}

/* Card content area */
.card-body {
    padding: var(--space-lg);
}

/* Card title */
.masterclass-card .title {
    font-family: var(--font-display);
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.25;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
}

/* 2-line text clamp */
.clamp2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Instructor/subtitle name */
.master {
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
    margin: 0 0 var(--space-md);
}

/* Metadata row */
.meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: var(--space-md);
}

/* Meta item */
.m {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-secondary);
}

/* Meta dot */
.mdot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--guild-text-muted);
}

/* Gold accent dot */
.mdot.gold {
    background: var(--guild-amber);
}

/* Tags container */
.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: var(--space-lg);
}

/* Tag item */
.tag {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.06em;
    color: var(--guild-text-tertiary);
    background: rgba(255,255,255,.03);
    border-radius: 4px;
}

/* Tag dot */
.tdot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--guild-text-muted);
}

/* Gold tag dot */
.tdot.gold {
    background: var(--guild-amber);
}

/* Card footer */
.card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-md);
    border-top: 1px solid var(--guild-border-subtle);
}

/* Price/date */
.when {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 1rem;
    color: var(--guild-text-primary);
}

/* View details link */
.view {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.06em;
    color: var(--guild-text-tertiary);
    transition: color 0.2s ease;
}

.masterclass-card:hover .view {
    color: var(--guild-amber);
}

/* --- Pagination --- */
.pagination-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-xl);
    border-top: 1px solid var(--guild-border-subtle);
}

.tip {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: var(--guild-text-tertiary);
}

.tip strong {
    color: var(--guild-text-secondary);
}

.pagination-ctas {
    display: flex;
    gap: 0.5rem;
}

/* --- Empty State --- */
.empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: var(--space-4xl) var(--space-lg);
}

.empty-state p {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-style: italic;
    color: var(--guild-text-secondary);
}

/* --- Buttons --- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.8125rem;
    letter-spacing: 0.02em;
    color: var(--guild-text-secondary);
    background: transparent;
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn:hover {
    color: var(--guild-text-primary);
    border-color: rgba(255,255,255,.15);
    background: rgba(255,255,255,.02);
}

/* Primary button (amber) */
.btn.strong {
    color: var(--guild-deep);
    background: var(--guild-amber);
    border-color: var(--guild-amber);
}

.btn.strong:hover {
    background: #e0b080;
    border-color: #e0b080;
}

/* Disabled state */
.btn:disabled,
.btn[disabled] {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

/* Screen reader only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --- Catalog Browse Responsive --- */
@media (max-width: 768px) {
    .hero {
        padding: 120px 0 40px;
    }

    .hero-inner {
        padding: 0 var(--space-md);
    }

    .qrow {
        flex-direction: column;
    }

    .qwrap {
        min-width: 100%;
    }

    .qchips {
        justify-content: center;
    }

    .qrow2 {
        flex-direction: column;
        gap: var(--space-sm);
    }

    .qsel {
        width: 100%;
    }

    .btn.strong {
        width: 100%;
    }

    .herostatus {
        flex-direction: column;
        gap: var(--space-sm);
    }

    .kpis {
        gap: var(--space-lg);
    }

    .masterclass-grid {
        grid-template-columns: 1fr;
    }

    .pagination-row {
        flex-direction: column;
        gap: var(--space-md);
        text-align: center;
    }

    .pagination-ctas {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .chip {
        font-size: 0.625rem;
        padding: 0.25rem 0.5rem;
    }

    .qchip {
        padding: 0.375rem 0.625rem;
        font-size: 0.625rem;
    }

    .kpis {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--space-md);
    }
}

/* =========================================================================
   GUILD BROWSE PAGES - SPECIALIZED COMPONENTS
   The Architects | The Accelerators | The Briefings | The Vault
   ========================================================================= */

/* ---------------------------------------------------------------------------
   SHARED BROWSE PAGE ELEMENTS
   Common hero, command bar, status line, and pagination patterns
   --------------------------------------------------------------------------- */

/* Container - Centers content with max-width */
.container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

@media (max-width: 768px) {
    .container {
        padding: 0 1.25rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1rem;
    }
}

/* Kicker Badge */
.kicker-dot {
    width: 6px;
    height: 6px;
    background: var(--guild-amber);
    border-radius: 50%;
    animation: pulse-amber 2s ease-in-out infinite;
}

.kicker-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    color: var(--guild-amber);
}

/* Command Bar - Shared search/filter pattern */
.command-search {
    position: relative;
    flex: 1;
    min-width: 200px;
}

.command-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--guild-text-tertiary);
    pointer-events: none;
}

.command-input {
    width: 100%;
    padding: 0.875rem 1rem 0.875rem 2.75rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--guild-text-primary);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.command-input::placeholder {
    color: var(--guild-text-tertiary);
}

.command-input:focus {
    outline: none;
    border-color: var(--guild-amber);
    background: var(--guild-elevated);
}

.command-filters {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.filter-label {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.12em;
    color: var(--guild-text-tertiary);
    text-transform: uppercase;
}

.filter-select {
    padding: 0.625rem 2rem 0.625rem 0.75rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--guild-text-secondary);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    transition: border-color 0.2s ease;
}

.filter-select:hover {
    border-color: rgba(255,255,255,0.15);
}

.filter-select:focus {
    outline: none;
    border-color: var(--guild-amber);
}

/* Status Line - Shared count + live indicator pattern */
.status-count {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.count-num {
    font-family: var(--font-mono);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--guild-text-primary);
}

.count-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

/* Pagination - Shared pattern */
.pagination-info {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
}

.info-label {
    color: var(--guild-text-tertiary);
}

.info-value {
    color: var(--guild-text-primary);
    font-weight: 500;
}

.pagination-controls {
    display: flex;
    gap: 0.5rem;
}

.pagination-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pagination-btn:hover:not(:disabled) {
    background: var(--guild-elevated);
    border-color: rgba(255,255,255,0.15);
    color: var(--guild-text-primary);
}

.pagination-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Empty State - Shared pattern */
.empty-icon {
    color: var(--guild-text-tertiary);
    margin-bottom: 1.5rem;
}

.empty-title {
    font-family: var(--font-display);
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    margin-bottom: 0.5rem;
}

.empty-text {
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
}

/* ---------------------------------------------------------------------------
   THE ARCHITECTS - Masters Browse Page
   Boardroom aesthetic with tall portrait grid
   --------------------------------------------------------------------------- */

.architects-hero {
    padding: 6rem 0 4rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.architects-hero-inner {
    max-width: 800px;
}

.architects-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.architects-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.architects-lead {
    font-family: var(--font-body);
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    line-height: 1.6;
    max-width: 600px;
    margin-bottom: 2.5rem;
}

.architects-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 2rem;
}

.architects-status {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

.status-live {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.live-dot {
    width: 8px;
    height: 8px;
    background: var(--guild-amber);
    border-radius: 50%;
    animation: pulse-amber 2s ease-in-out infinite;
}

.live-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

/* Architects Roster Grid */
.architects-roster {
    padding: 4rem 0 6rem;
    background: var(--guild-deep);
}

.architects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}

.architect-card {
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.architect-card:hover {
    border-color: rgba(255,255,255,0.15);
    transform: translateY(-2px);
}

.architect-card.live {
    border-color: rgba(212, 165, 116, 0.2);
}

.architect-card.live:hover {
    border-color: var(--guild-amber);
}

/* Architect Portrait */
.architect-portrait {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
}

.architect-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.4s ease, transform 0.4s ease;
}

.architect-card:hover .architect-portrait img {
    filter: grayscale(0%);
    transform: scale(1.03);
}

.portrait-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--guild-void) 0%, transparent 50%);
    pointer-events: none;
}

.seat-counter {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem 0.75rem;
    background: rgba(0,0,0,0.85);
    border: 1px solid var(--guild-amber);
    border-radius: 2px;
}

.seat-num {
    font-family: var(--font-mono);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--guild-amber);
    line-height: 1;
}

.seat-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.15em;
    color: var(--guild-amber);
    margin-top: 0.25rem;
}

.architect-cta {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    background: rgba(0,0,0,0.9);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.architect-card:hover .architect-cta {
    transform: translateY(0);
}

.cta-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    color: var(--guild-text-primary);
}

/* Architect Info */
.architect-info {
    padding: 1.25rem;
}

.architect-name {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--guild-text-primary);
    margin-bottom: 0.25rem;
}

.architect-title {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
    margin-bottom: 1rem;
}

.architect-domains {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 1rem;
}

.domain-tag {
    padding: 0.25rem 0.5rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.08em;
    color: var(--guild-text-secondary);
}

.architect-meta {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.meta-value {
    font-family: var(--font-mono);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

.meta-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.12em;
    color: var(--guild-text-tertiary);
}

.architect-rate {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.rate-amount {
    font-family: var(--font-display);
    font-size: 1.125rem;
    color: var(--guild-amber);
}

.rate-period {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-tertiary);
}

.architect-archive-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

/* Architects Empty & Pagination */
.architects-empty {
    text-align: center;
    padding: 6rem 2rem;
}

.architects-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

/* ---------------------------------------------------------------------------
   THE ACCELERATORS - Programs Browse Page
   Deal flow ledger / trading terminal aesthetic
   --------------------------------------------------------------------------- */

.accelerators-hero {
    padding: 6rem 0 4rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.accelerators-hero-inner {
    max-width: 800px;
}

.accelerators-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.accelerators-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.accelerators-lead {
    font-family: var(--font-body);
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    line-height: 1.6;
    max-width: 600px;
    margin-bottom: 2.5rem;
}

.accelerators-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 2rem;
}

.accelerators-status {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

.status-open {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.open-dot {
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
    animation: pulse-green 2s ease-in-out infinite;
}

@keyframes pulse-green {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
    50% { opacity: 0.8; box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
}

.open-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: #22c55e;
}

/* Accelerators Ledger */
.accelerators-ledger {
    padding: 0 0 6rem;
    background: var(--guild-deep);
}

.ledger-header {
    display: grid;
    grid-template-columns: 120px 1fr 180px 120px 160px;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-bottom: none;
}

.ledger-col {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.12em;
    color: var(--guild-text-tertiary);
}

.ledger-rows {
    border: 1px solid var(--guild-border);
    border-top: none;
}

.ledger-row {
    display: grid;
    grid-template-columns: 120px 1fr 180px 120px 160px;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--guild-surface);
    border-bottom: 1px solid var(--guild-border);
    cursor: pointer;
    transition: background 0.2s ease;
}

.ledger-row:last-child {
    border-bottom: none;
}

.ledger-row:hover {
    background: var(--guild-elevated);
}

.ledger-row.open {
    border-left: 2px solid var(--guild-amber);
}

.ledger-row.waitlist {
    border-left: 2px solid rgba(255,255,255,0.3);
}

.ledger-row.closed {
    opacity: 0.5;
}

/* Program Thumbnail */
.col-thumb {
    display: flex;
    align-items: center;
}

.program-thumb {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 2px;
    overflow: hidden;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
}

.program-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(50%);
    transition: filter 0.3s ease;
}

.ledger-row:hover .program-thumb img {
    filter: grayscale(0%);
}

/* Program Info */
.program-info {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.program-title {
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--guild-text-primary);
    margin: 0;
}

.program-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
}

.program-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.5rem;
}

.category-tag {
    padding: 0.25rem 0.5rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.08em;
    color: var(--guild-text-secondary);
    text-transform: uppercase;
}

.meta-format,
.meta-level {
    color: var(--guild-text-secondary);
}

.meta-sep {
    color: var(--guild-text-tertiary);
}

.meta-rating {
    color: var(--guild-amber);
}

/* Timeline Bar */
.timeline-bar {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.timeline-track {
    display: flex;
    gap: 2px;
    height: 4px;
}

.timeline-week {
    flex: 1;
    background: var(--guild-elevated);
    border-radius: 1px;
}

.timeline-week.active {
    background: var(--guild-amber);
}

.timeline-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-tertiary);
}

/* Capacity Flap */
.capacity-flap {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    width: fit-content;
}

.capacity-flap.open {
    border-color: var(--guild-amber);
}

.flap-num {
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 600;
    color: var(--guild-amber);
}

.flap-sep {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
}

.flap-total {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
}

.flap-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
    margin-left: 0.25rem;
}

.flap-text {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

.capacity-flap.waitlist {
    border-color: rgba(255,255,255,0.2);
}

.capacity-flap.waitlist .flap-text {
    color: var(--guild-text-secondary);
}

/* Action Column */
.col-action {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.375rem;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.2s ease;
}

.action-btn.primary {
    background: var(--guild-amber);
    color: var(--guild-void);
}

.action-btn.primary:hover {
    background: #c49664;
}

.action-btn.secondary {
    background: transparent;
    border: 1px solid var(--guild-border);
    color: var(--guild-text-secondary);
}

.action-btn.secondary:hover {
    border-color: var(--guild-text-secondary);
    color: var(--guild-text-primary);
}

.action-price {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    color: var(--guild-text-tertiary);
}

.action-closed {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

/* Ledger Empty & Pagination */
.ledger-empty {
    text-align: center;
    padding: 6rem 2rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
}

.ledger-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

/* ---------------------------------------------------------------------------
   THE BRIEFINGS - Masterclasses Browse Page
   Cinema archive with 16:9 video grid
   --------------------------------------------------------------------------- */

.briefings-hero {
    padding: 6rem 0 4rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.briefings-hero-inner {
    max-width: 800px;
}

.briefings-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.briefings-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.briefings-lead {
    font-family: var(--font-body);
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    line-height: 1.6;
    max-width: 600px;
    margin-bottom: 2.5rem;
}

.briefings-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 2rem;
}

.briefings-status {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

.status-new {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.new-dot {
    width: 8px;
    height: 8px;
    background: var(--guild-amber);
    border-radius: 50%;
}

.new-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

/* Briefings Archive Grid */
.briefings-archive {
    padding: 4rem 0 6rem;
    background: var(--guild-deep);
}

.briefings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1.5rem;
}

.briefing-card {
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.briefing-card:hover {
    border-color: rgba(255,255,255,0.15);
    transform: translateY(-2px);
}

.briefing-card.new {
    border-color: rgba(212, 165, 116, 0.3);
}

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

/* Briefing Thumbnail */
.briefing-thumbnail {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.briefing-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.briefing-card:hover .briefing-thumbnail img {
    transform: scale(1.03);
}

.thumbnail-grain {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
    pointer-events: none;
    mix-blend-mode: overlay;
}

.thumbnail-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--guild-void) 0%, transparent 60%);
    pointer-events: none;
}

.briefing-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.7);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    color: var(--guild-text-primary);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.briefing-card:hover .briefing-play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
}

.briefing-meta-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1rem;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
}

.meta-runtime {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.meta-asset {
    color: var(--guild-text-tertiary);
}

.meta-author {
    margin-left: auto;
    color: var(--guild-text-tertiary);
}

.briefing-category {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.375rem 0.625rem;
    background: rgba(0,0,0,0.85);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.15em;
    color: var(--guild-text-secondary);
}

/* Briefing Content */
.briefing-content {
    padding: 1.25rem;
}

.briefing-title {
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--guild-text-primary);
    margin-bottom: 0.375rem;
    line-height: 1.3;
}

.briefing-instructor {
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
    margin-bottom: 1rem;
}

.briefing-stats {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 1rem;
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.stat-value {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

.stat-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.12em;
    color: var(--guild-text-tertiary);
}

.briefing-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    border-top: 1px solid var(--guild-border);
}

.briefing-price {
    font-family: var(--font-display);
}

.price-free {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

.price-amount {
    font-size: 1rem;
    color: var(--guild-text-primary);
}

.briefing-cta {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
    transition: color 0.2s ease;
}

.briefing-card:hover .briefing-cta {
    color: var(--guild-amber);
}

/* Briefings Empty & Pagination */
.briefings-empty {
    text-align: center;
    padding: 6rem 2rem;
}

.briefings-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

/* ---------------------------------------------------------------------------
   THE VAULT - Library Browse Page
   Data room / dense spreadsheet aesthetic
   --------------------------------------------------------------------------- */

.vault-hero {
    padding: 6rem 0 4rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.vault-hero-inner {
    max-width: 800px;
}

.vault-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.vault-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    line-height: 1.1;
    margin-bottom: 1rem;
}

.vault-lead {
    font-family: var(--font-body);
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    line-height: 1.6;
    max-width: 600px;
    margin-bottom: 2.5rem;
}

.vault-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-bottom: 2rem;
}

.vault-status {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

.status-free {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.free-icon {
    color: var(--guild-amber);
}

.free-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

/* Vault Table */
.vault-table-section {
    padding: 0 0 6rem;
    background: var(--guild-deep);
}

.vault-header {
    display: grid;
    grid-template-columns: 80px 1fr 100px 140px 100px 80px;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-bottom: none;
}

.vault-col {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.12em;
    color: var(--guild-text-tertiary);
}

.col-icon {
    /* Icon column - no header text */
}

.vault-rows {
    border: 1px solid var(--guild-border);
    border-top: none;
}

.vault-row {
    display: grid;
    grid-template-columns: 80px 1fr 100px 140px 100px 80px;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.5rem;
    background: var(--guild-surface);
    border-bottom: 1px solid var(--guild-border);
    cursor: pointer;
    transition: background 0.2s ease;
}

.vault-row:last-child {
    border-bottom: none;
}

.vault-row:hover {
    background: var(--guild-elevated);
}

.vault-row.free {
    border-left: 2px solid var(--guild-amber);
}

/* Resource Thumbnail */
.resource-thumb {
    width: 64px;
    height: 48px;
    border-radius: 2px;
    overflow: hidden;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
}

.resource-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(50%);
    transition: filter 0.3s ease;
}

.vault-row:hover .resource-thumb img {
    filter: grayscale(0%);
}

/* File Icon */
.file-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    color: var(--guild-text-tertiary);
}

/* File Info */
.file-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.file-name {
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

.file-category {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.08em;
    color: var(--guild-text-tertiary);
}

/* Format Pill */
.format-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.375rem 0.625rem;
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.format-pill.xlsx {
    background: rgba(34, 139, 34, 0.15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.format-pill.pdf {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.format-pill.pptx {
    background: rgba(249, 115, 22, 0.15);
    color: #fb923c;
    border: 1px solid rgba(249, 115, 22, 0.3);
}

.format-pill.docx {
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.format-pill.fig {
    background: rgba(168, 85, 247, 0.15);
    color: #c084fc;
    border: 1px solid rgba(168, 85, 247, 0.3);
}

/* Origin & Downloads */
.origin-text {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--guild-text-tertiary);
}

.downloads-count {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    color: var(--guild-text-secondary);
    text-align: right;
}

/* Download Button */
.download-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 2px;
    transition: all 0.2s ease;
}

.download-btn.free {
    background: var(--guild-amber);
    color: var(--guild-void);
}

.download-btn.free:hover {
    background: #c49664;
}

.download-btn.locked {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    color: var(--guild-text-tertiary);
}

.download-btn.locked:hover {
    border-color: rgba(255,255,255,0.2);
    color: var(--guild-text-secondary);
}

/* Vault Empty & Pagination */
.vault-empty {
    text-align: center;
    padding: 6rem 2rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
}

.vault-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--guild-border);
}

/* ---------------------------------------------------------------------------
   BROWSE PAGES - RESPONSIVE BREAKPOINTS
   --------------------------------------------------------------------------- */

@media (max-width: 1024px) {
    /* Architects Grid */
    .architects-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    }

    /* Ledger Table */
    .ledger-header,
    .ledger-row {
        grid-template-columns: 60px 1fr 140px 100px;
    }

    .col-timeline {
        display: none;
    }

    /* Briefings Grid */
    .briefings-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }

    .briefing-card.featured {
        grid-column: span 1;
    }

    /* Vault Table */
    .vault-header,
    .vault-row {
        grid-template-columns: 70px 1fr 80px 80px 60px;
    }

    .col-origin {
        display: none;
    }
}

@media (max-width: 768px) {
    /* Shared Command Bar */
    .architects-command,
    .accelerators-command,
    .briefings-command,
    .vault-command {
        flex-direction: column;
        align-items: stretch;
    }

    .command-search {
        width: 100%;
    }

    .command-filters {
        flex-wrap: wrap;
    }

    /* Architects Grid */
    .architects-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 1rem;
    }

    .architect-portrait {
        aspect-ratio: 1;
    }

    /* Ledger Table - Stack layout */
    .ledger-header {
        display: none;
    }

    .ledger-row {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding: 1.25rem;
    }

    .col-code {
        order: -1;
    }

    .col-capacity,
    .col-action {
        align-items: flex-start;
    }

    /* Briefings Grid */
    .briefings-grid {
        grid-template-columns: 1fr;
    }

    /* Vault Table - Stack layout */
    .vault-header {
        display: none;
    }

    .vault-row {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        padding: 1rem;
    }

    .vault-row .col-thumb {
        order: 1;
    }

    .vault-row .col-name {
        order: 2;
        flex: 1;
        min-width: 150px;
    }

    .vault-row .col-format {
        order: 3;
    }

    .vault-row .col-downloads {
        order: 4;
    }

    .vault-row .col-action {
        order: 5;
        margin-left: auto;
    }

    /* Pagination */
    .architects-pagination,
    .ledger-pagination,
    .briefings-pagination,
    .vault-pagination {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}

@media (max-width: 480px) {
    /* Hero sections */
    .architects-hero,
    .accelerators-hero,
    .briefings-hero,
    .vault-hero {
        padding: 4rem 0 3rem;
    }

    .architects-title,
    .accelerators-title,
    .briefings-title,
    .vault-title {
        font-size: 2rem;
    }

    .architects-lead,
    .accelerators-lead,
    .briefings-lead,
    .vault-lead {
        font-size: 1rem;
    }

    /* Status lines */
    .architects-status,
    .accelerators-status,
    .briefings-status,
    .vault-status {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    /* Filter groups */
    .filter-group {
        width: 100%;
    }

    .filter-select {
        width: 100%;
    }

    /* Architect cards */
    .architect-info {
        padding: 1rem;
    }

    .architect-name {
        font-size: 1.125rem;
    }

    /* Briefing cards */
    .briefing-content {
        padding: 1rem;
    }

    .briefing-stats {
        flex-wrap: wrap;
        gap: 1rem;
    }
}


/* ================================
   DETAIL PAGES - SHARED COMPONENTS
   ================================ */

/* Detail Breadcrumbs */
.detail-crumbs {
    padding: 6rem 0 0.5rem; /* Account for fixed nav height */
    border-bottom: 1px solid var(--guild-border);
}

.crumbs {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.crumbs a {
    color: var(--guild-text-tertiary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.crumbs a:hover {
    color: var(--guild-text-primary);
}

.crumb-sep {
    width: 4px;
    height: 4px;
    background: var(--guild-text-muted);
    border-radius: 50%;
}

.crumb-current {
    color: var(--guild-text-secondary);
}

/* Detail Sections */
.detail-section {
    padding: 4rem 0;
    border-top: 1px solid var(--guild-border);
}

.detail-section.dark {
    background: var(--guild-surface);
}

.section-header {
    margin-bottom: 2rem;
}

.section-title {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
}

.section-subtitle {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--guild-text-tertiary);
    margin: 0;
}

/* Shared Intel Header */
.intel-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.intel-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.kicker-dot {
    width: 6px;
    height: 6px;
    background: var(--guild-amber);
    border-radius: 50%;
    animation: pulse 2s ease-in-out infinite;
}

.kicker-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

.intel-badge {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 2px;
    background: var(--guild-raised);
    color: var(--guild-text-secondary);
    border: 1px solid var(--guild-border);
}

.intel-badge.new {
    background: var(--guild-amber-dim);
    color: var(--guild-amber);
    border-color: rgba(212,165,116,.2);
}

.intel-badge.hot {
    background: rgba(239,68,68,.1);
    color: #ef4444;
    border-color: rgba(239,68,68,.2);
}

.intel-title {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.15;
    color: var(--guild-text-primary);
    margin: 0 0 0.75rem;
}

.intel-summary {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--guild-text-secondary);
    margin: 0 0 1.5rem;
    max-width: 65ch;
}

/* Shared Metrics Row */
.intel-metrics,
.asset-metrics,
.profile-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--guild-border);
    border-bottom: 1px solid var(--guild-border);
    margin-bottom: 1.5rem;
}

.metric {
    text-align: center;
    min-width: 60px;
}

.metric-value {
    display: block;
    font-family: var(--font-mono);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--guild-text-primary);
    margin-bottom: 0.25rem;
}

.metric-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

/* Shared CTA Section */
.intel-cta,
.asset-cta,
.profile-cta {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.875rem 1.5rem;
    background: var(--guild-amber);
    color: var(--guild-void);
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cta-primary:hover {
    background: #e0b285;
    transform: translateY(-1px);
}

.cta-primary svg {
    width: 16px;
    height: 16px;
}

.cta-pricing {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.cta-price {
    font-family: var(--font-mono);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.cta-price.free {
    color: var(--guild-amber);
}

.cta-original {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
    text-decoration: line-through;
}

.cta-rate {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.rate-amount {
    font-family: var(--font-mono);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.rate-period {
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
}

.cta-unavailable {
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
    font-style: italic;
}

/* Updated timestamp */
.intel-updated,
.asset-updated,
.profile-response {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: var(--guild-text-muted);
}

/* Shared Grids */
.outcomes-grid,
.takeaways-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.outcome-card,
.takeaway-card {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 1rem 1.25rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
}

.outcome-icon,
.takeaway-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--guild-amber);
}

.outcome-text,
.takeaway-text {
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--guild-text-secondary);
}

/* Reviews Grid */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.25rem;
}

.review-card {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    padding: 1.25rem;
}

.review-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--guild-border);
    flex-shrink: 0;
}

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

.review-meta {
    flex: 1;
    min-width: 0;
}

.review-author {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--guild-text-primary);
}

.review-date {
    display: block;
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
}

.review-rating {
    font-family: var(--font-mono);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--guild-amber);
}

.review-content {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--guild-text-secondary);
    margin: 0;
}

/* Prerequisites List */
.program-description {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--guild-text-secondary);
    max-width: 800px;
}

.program-description p {
    margin-bottom: 1rem;
}

.program-description p:last-child {
    margin-bottom: 0;
}

.program-description strong,
.program-description b {
    color: var(--guild-text-primary);
    font-weight: 600;
}

.program-description ul,
.program-description ol {
    margin: 0.75rem 0;
    padding-left: 1.5rem;
}

.program-description li {
    margin-bottom: 0.375rem;
}

.prereq-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 600px;
}

.prereq-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    font-size: 0.9375rem;
    color: var(--guild-text-secondary);
}

.prereq-icon {
    flex-shrink: 0;
    color: var(--guild-text-tertiary);
}


/* ================================
   BRIEFING DETAIL (Course)
   ================================ */

.briefing-detail-hero {
    padding: 3rem 0 4rem;
}

.dossier-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .dossier-layout {
        grid-template-columns: 1.1fr 1fr;
        gap: 3rem;
    }
}

.dossier-media {
    position: relative;
}

.media-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    overflow: hidden;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
}

.media-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.media-grain,
.media-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.media-grain {
    opacity: 0.03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

.media-overlay {
    background: linear-gradient(to top, rgba(13,13,13,.6) 0%, transparent 50%);
}

.media-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.6);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    color: var(--guild-text-primary);
    cursor: pointer;
    transition: all 0.2s ease;
    backdrop-filter: blur(8px);
}

.media-play:hover {
    background: rgba(0,0,0,.8);
    transform: translate(-50%, -50%) scale(1.05);
}

/* Video Modal */
.video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.85);
    backdrop-filter: blur(8px);
}

.video-modal-content {
    position: relative;
    width: 90%;
    max-width: 960px;
}

.video-modal-close {
    position: absolute;
    top: -2.5rem;
    right: 0;
    background: none;
    border: none;
    color: var(--guild-text-secondary);
    font-size: 1.75rem;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    line-height: 1;
    transition: color 0.2s;
}

.video-modal-close:hover {
    color: var(--guild-text-primary);
}

.video-modal-player {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    border: 1px solid var(--guild-border);
}

.video-modal-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.classification-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 0.75rem;
    background: rgba(0,0,0,.7);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 2px;
    backdrop-filter: blur(8px);
}

.classification-badge .badge-dot {
    width: 6px;
    height: 6px;
    background: var(--guild-amber);
    border-radius: 50%;
}

.classification-badge span {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
}

.dossier-intel {
    display: flex;
    flex-direction: column;
}

.intel-source {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.source-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--guild-border);
    flex-shrink: 0;
}

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

.source-info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.source-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.source-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    text-decoration: none;
}

.source-name:hover {
    color: var(--guild-amber);
}

.source-title {
    font-size: 0.8125rem;
    color: var(--guild-text-tertiary);
}

/* Curriculum Accordion */
.curriculum-accordion {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.curriculum-section {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    overflow: hidden;
}

.section-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease;
}

.section-trigger:hover {
    background: rgba(255,255,255,.02);
}

.section-number {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--guild-amber);
    min-width: 28px;
}

.section-info {
    flex: 1;
    min-width: 0;
}

.section-name {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0 0 0.25rem;
}

.section-meta {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--guild-text-tertiary);
}

.section-chevron {
    flex-shrink: 0;
    color: var(--guild-text-tertiary);
    transition: transform 0.2s ease;
}

.curriculum-section.open .section-chevron {
    transform: rotate(180deg);
}

.section-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.lessons-list {
    padding: 0 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.lesson-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-top: 1px solid var(--guild-border-subtle);
}

.lesson-item:first-child {
    border-top: none;
}

.lesson-icon {
    flex-shrink: 0;
    width: 24px;
    display: flex;
    justify-content: center;
    color: var(--guild-text-tertiary);
}

.lesson-title {
    flex: 1;
    min-width: 0;
    font-size: 0.875rem;
    color: var(--guild-text-secondary);
}

.lesson-duration {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
}

.lesson-preview-badge {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--guild-amber);
    padding: 0.125rem 0.5rem;
    background: var(--guild-amber-dim);
    border-radius: 2px;
}

/* Instructor Card */
.instructor-card {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    flex-wrap: wrap;
}

.instructor-portrait {
    width: 100px;
    height: 100px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--guild-border);
    flex-shrink: 0;
}

.instructor-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.instructor-info {
    flex: 1;
    min-width: 240px;
}

.instructor-name {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--guild-text-primary);
    margin: 0 0 0.25rem;
}

.instructor-title {
    font-size: 0.875rem;
    color: var(--guild-text-tertiary);
    margin: 0 0 0.75rem;
}

.instructor-bio {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--guild-text-secondary);
    margin: 0 0 1rem;
}

.instructor-stats {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.instructor-stats .stat {
    text-align: left;
}

.stat-value {
    display: block;
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.stat-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

.instructor-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.instructor-link:hover {
    color: var(--guild-amber);
}


/* ================================
   ARCHITECT DETAIL (Mentor)
   ================================ */

.architect-detail-hero {
    padding: 3rem 0 4rem;
}

.architect-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .architect-layout {
        grid-template-columns: auto 1fr;
        gap: 3rem;
    }
}

.architect-portrait-wrap {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
}

@media (min-width: 1024px) {
    .architect-portrait-wrap {
        margin: 0;
    }
}

.portrait-frame {
    position: relative;
    aspect-ratio: 3 / 4;
    border-radius: 8px;
    overflow: hidden;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
}

.portrait-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}

.portrait-frame:hover img {
    filter: grayscale(0%);
}

.portrait-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.5) 0%, transparent 40%);
    pointer-events: none;
}

.status-badge {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    background: rgba(0,0,0,.8);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 4px;
    backdrop-filter: blur(8px);
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.status-badge.online {
    color: #22c55e;
    border-color: rgba(34,197,94,.2);
}

.status-badge.offline {
    color: var(--guild-text-tertiary);
}

.status-dot {
    width: 6px;
    height: 6px;
    background: #22c55e;
    border-radius: 50%;
    animation: pulse 2s ease-in-out infinite;
}

.portrait-stats {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 1rem;
    padding: 1rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.pstat {
    text-align: center;
}

.pstat-value {
    display: block;
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.pstat-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

.architect-profile {
    display: flex;
    flex-direction: column;
}

.profile-header {
    margin-bottom: 0.5rem;
}

.profile-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.profile-name {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    color: var(--guild-text-primary);
    margin: 0 0 0.25rem;
}

.profile-title {
    font-size: 1rem;
    color: var(--guild-text-secondary);
    margin: 0 0 1rem;
}

.profile-domains {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.domain-tag {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    background: var(--guild-raised);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--guild-text-secondary);
}

.profile-bio {
    margin-bottom: 1.25rem;
}

.profile-bio p {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--guild-text-secondary);
    margin: 0;
}

.profile-languages {
    margin-bottom: 1.5rem;
    font-size: 0.875rem;
}

.lang-label {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--guild-text-tertiary);
    margin-right: 0.5rem;
}

.lang-list {
    color: var(--guild-text-secondary);
}

/* Experience Timeline */
.experience-timeline {
    position: relative;
    padding-left: 1.5rem;
}

.experience-timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 1px;
    background: var(--guild-border);
}

.experience-item {
    position: relative;
    padding: 0 0 1.5rem;
}

.experience-item:last-child {
    padding-bottom: 0;
}

.exp-marker {
    position: absolute;
    left: -1.5rem;
    top: 0.5rem;
    width: 9px;
    height: 9px;
    background: var(--guild-amber);
    border-radius: 50%;
    transform: translateX(-4px);
}

.exp-content {
    padding-left: 0.5rem;
}

.exp-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.25rem;
}

.exp-position {
    font-size: 1rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0;
}

.exp-duration {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--guild-text-tertiary);
}

.exp-company {
    font-size: 0.9375rem;
    color: var(--guild-text-secondary);
    margin: 0 0 0.5rem;
}

.exp-description {
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--guild-text-tertiary);
    margin: 0;
}

/* Education Grid */
.education-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}

.education-card {
    display: flex;
    gap: 1rem;
    padding: 1.25rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.edu-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-amber-dim);
    border-radius: 4px;
    color: var(--guild-amber);
}

.edu-info {
    min-width: 0;
}

.edu-degree {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0 0 0.125rem;
}

.edu-field {
    font-size: 0.8125rem;
    color: var(--guild-text-secondary);
    margin: 0 0 0.25rem;
}

.edu-institution {
    font-size: 0.8125rem;
    color: var(--guild-text-tertiary);
    margin: 0;
}

.edu-year {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--guild-text-muted);
}

/* Services Grid */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
}

.service-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
}

.service-image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.service-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.service-card:hover .service-image img {
    filter: grayscale(0%);
}

.service-card-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.service-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.service-name {
    font-size: 1rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0;
}

.service-price {
    text-align: right;
}

.price-amount {
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.price-duration {
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
}

.service-description {
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--guild-text-secondary);
    margin: 0 0 1rem;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.service-description p,
.service-description ul,
.service-description ol,
.service-description li {
    margin: 0;
}

.service-description ul,
.service-description ol {
    list-style-type: disc;
    padding-left: 1.25rem;
}

.service-meta {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.meta-item {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--guild-text-tertiary);
    padding: 0.25rem 0.5rem;
    background: var(--guild-surface);
    border-radius: 2px;
}

.service-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: transparent;
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
}

.service-cta:hover {
    background: var(--guild-amber);
    border-color: var(--guild-amber);
    color: var(--guild-void);
}

/* Availability Grid */
.availability-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.availability-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.875rem 1.25rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    min-width: 100px;
}

.slot-day {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
    margin-bottom: 0.25rem;
}

.slot-time {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

/* Archive Grid (Mentor's courses) */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
}

.archive-card {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.archive-card:hover {
    border-color: rgba(255,255,255,.12);
    transform: translateY(-2px);
}

.archive-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.archive-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.archive-card:hover .archive-thumb img {
    filter: grayscale(0%);
}

.archive-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.7) 0%, transparent 50%);
    pointer-events: none;
}

.archive-content {
    padding: 1rem;
}

.archive-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.archive-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
}

.meta-rating {
    color: var(--guild-amber);
    font-weight: 700;
}

.meta-students {
    color: var(--guild-text-tertiary);
}


/* ================================
   ACCELERATOR DETAIL (Program)
   ================================ */

.accelerator-detail-hero {
    padding: 3rem 0 4rem;
}

.banner-wrapper {
    position: relative;
}

.accelerator-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
    margin-top: 3rem;
}

@media (min-width: 768px) {
    .accelerator-layout {
        margin-top: 3.5rem;
    }
}

@media (min-width: 1024px) {
    .accelerator-layout {
        grid-template-columns: 1.2fr 0.8fr;
        gap: 3rem;
        margin-top: 4rem;
    }
}

.accelerator-banner {
    position: relative;
    aspect-ratio: 2.35 / 1;
    border-radius: 12px;
    overflow: hidden;
    background: var(--guild-surface);
    border: 1px solid rgba(255,255,255,.06);
}

.accelerator-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accelerator-banner .media-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(13,13,13,.85) 0%, rgba(13,13,13,.35) 30%, transparent 60%),
        linear-gradient(to right, rgba(13,13,13,.2) 0%, transparent 25%);
    pointer-events: none;
}

.accelerator-logo {
    position: absolute;
    width: 72px;
    height: 72px;
    bottom: -36px;
    left: 2rem;
    border-radius: 16px;
    overflow: hidden;
    background: #0d0d0d;
    border: 3px solid #1a1a1a;
    box-shadow: 0 4px 20px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);
    z-index: 3;
    transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s ease;
}

.accelerator-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 13px;
    filter: invert(1) hue-rotate(180deg) brightness(.85) contrast(1.2);
}

@media (min-width: 768px) {
    .accelerator-logo {
        width: 88px;
        height: 88px;
        bottom: -44px;
        border-radius: 18px;
    }
    .accelerator-logo img { border-radius: 15px; }
}

@media (min-width: 1024px) {
    .accelerator-logo {
        width: 96px;
        height: 96px;
        bottom: -48px;
        border-radius: 20px;
        border-width: 4px;
    }
    .accelerator-logo img { border-radius: 16px; }
}

.accelerator-content {
    display: flex;
    flex-direction: column;
}

/* Investment Card */
.investment-card {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1.5rem;
}

.investment-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--guild-border);
}

.investment-label {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

.investment-amount {
    font-family: var(--font-mono);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.investment-details {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.investment-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.875rem;
}

.investment-row span:first-child {
    color: var(--guild-text-tertiary);
}

.investment-row span:last-child {
    color: var(--guild-text-primary);
    font-weight: 500;
}

/* Quickfacts Row */
.quickfacts-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--guild-border);
    margin-bottom: 1.5rem;
}

.quickfact {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.quickfact-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-raised);
    border-radius: 4px;
    color: var(--guild-text-tertiary);
}

.quickfact-info {
    display: flex;
    flex-direction: column;
}

.quickfact-value {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
}

.quickfact-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: var(--guild-text-tertiary);
}

/* Cohort Timeline */
.cohort-timeline {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.cohort-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.cohort-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-raised);
    border-radius: 4px;
    color: var(--guild-text-tertiary);
}

.cohort-info {
    flex: 1;
    min-width: 0;
}

.cohort-phase {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
    margin-bottom: 0.25rem;
}

.cohort-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0 0 0.25rem;
}

.cohort-desc {
    font-size: 0.8125rem;
    color: var(--guild-text-tertiary);
    margin: 0;
}

.cohort-dates {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--guild-text-muted);
    white-space: nowrap;
}

/* Deliverables Grid */
.deliverables-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 1.25rem;
}

.deliverable-card {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.deliverable-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--guild-amber);
}

.deliverable-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--guild-text-secondary);
}

/* Mentors Grid (for programs) */
.mentors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.25rem;
}

.mentor-card {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.mentor-card:hover {
    border-color: rgba(255,255,255,.12);
}

.mentor-portrait {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}

.mentor-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.3s ease;
}

.mentor-card:hover .mentor-portrait img {
    filter: grayscale(0%);
}

.mentor-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.7) 0%, transparent 50%);
}

.mentor-info {
    padding: 1rem;
}

.mentor-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0 0 0.25rem;
}

.mentor-title {
    font-size: 0.8125rem;
    color: var(--guild-text-tertiary);
    margin: 0;
}


/* ================================
   ASSET DETAIL (Library)
   ================================ */

.asset-detail-hero {
    padding: 3rem 0 4rem;
}

.asset-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .asset-layout {
        grid-template-columns: auto 1fr;
        gap: 3rem;
    }
}

.asset-preview-wrap {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
}

@media (min-width: 1024px) {
    .asset-preview-wrap {
        margin: 0;
    }
}

.preview-frame {
    position: relative;
    aspect-ratio: 3 / 4;
    border-radius: 6px;
    overflow: hidden;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    box-shadow: 0 8px 32px rgba(0,0,0,.4);
}

.preview-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.preview-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--guild-text-muted);
}

.preview-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.4) 0%, transparent 40%);
    pointer-events: none;
}

.format-badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    padding: 0.375rem 0.625rem;
    background: var(--guild-void);
    border: 1px solid var(--guild-border);
    border-radius: 2px;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
}

.format-badge.pdf { color: #ef4444; }
.format-badge.xlsx, .format-badge.xls { color: #22c55e; }
.format-badge.docx, .format-badge.doc { color: #3b82f6; }
.format-badge.pptx, .format-badge.ppt { color: #f97316; }
.format-badge.fig, .format-badge.figma { color: #a855f7; }

.preview-specs {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
    padding: 0.875rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.pspec {
    text-align: center;
    min-width: 50px;
}

.pspec-value {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--guild-text-primary);
}

.pspec-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.5rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-tertiary);
}

.asset-intel {
    display: flex;
    flex-direction: column;
}

.asset-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.asset-origin {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.origin-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--guild-border);
    flex-shrink: 0;
}

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

.origin-info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.origin-label {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.origin-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    text-decoration: none;
}

a.origin-name:hover {
    color: var(--guild-amber);
}

/* Technical Specs Grid */
.specs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}

.spec-card {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 1rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.spec-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-raised);
    border-radius: 4px;
    color: var(--guild-text-tertiary);
}

.spec-info {
    min-width: 0;
}

.spec-label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
    margin-bottom: 0.125rem;
}

.spec-value {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--guild-text-primary);
}

/* Table of Contents List */
.toc-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
}

.toc-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--guild-border-subtle);
}

.toc-item:last-child {
    border-bottom: none;
}

.toc-item.preview {
    background: var(--guild-amber-dim);
}

.toc-number {
    flex-shrink: 0;
    width: 32px;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--guild-amber);
}

.toc-info {
    flex: 1;
    min-width: 0;
}

.toc-title {
    display: block;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

.toc-desc {
    display: block;
    font-size: 0.8125rem;
    color: var(--guild-text-tertiary);
    margin-top: 0.125rem;
}

.toc-pages {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    color: var(--guild-text-tertiary);
    white-space: nowrap;
}

.toc-locked {
    color: var(--guild-text-muted);
}

.toc-preview-badge {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
    padding: 0.125rem 0.375rem;
    background: var(--guild-amber-dim);
    border-radius: 2px;
}

/* Profile Grid (Who Is This For) */
.profile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
}

.profile-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.profile-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-raised);
    border-radius: 4px;
    color: var(--guild-text-tertiary);
}

.profile-text {
    font-size: 0.9375rem;
    color: var(--guild-text-secondary);
}

/* Used In Grid */
.usedin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1rem;
}

.usedin-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    text-decoration: none;
    transition: border-color 0.2s ease;
}

.usedin-card:hover {
    border-color: rgba(255,255,255,.12);
}

.usedin-thumb {
    width: 64px;
    height: 48px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    background: var(--guild-surface);
}

.usedin-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.usedin-info {
    flex: 1;
    min-width: 0;
}

.usedin-type {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
    margin-bottom: 0.125rem;
}

.usedin-title {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
}

.usedin-context {
    display: block;
    font-size: 0.75rem;
    color: var(--guild-text-tertiary);
    margin-top: 0.125rem;
}

.usedin-arrow {
    flex-shrink: 0;
    color: var(--guild-text-muted);
    transition: color 0.2s ease;
}

.usedin-card:hover .usedin-arrow {
    color: var(--guild-text-secondary);
}

/* Compiler Card (Author) */
.compiler-card {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    flex-wrap: wrap;
}

.compiler-portrait {
    width: 80px;
    height: 80px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--guild-border);
    flex-shrink: 0;
}

.compiler-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.compiler-info {
    flex: 1;
    min-width: 200px;
}

.compiler-name {
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
}

.compiler-bio {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--guild-text-secondary);
    margin: 0 0 1rem;
}

.compiler-stats {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1rem;
}

.compiler-stats .stat {
    text-align: left;
}

.compiler-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.compiler-link:hover {
    color: var(--guild-amber);
}

/* Related Grid */
.related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.25rem;
}

.related-card {
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.related-card:hover {
    border-color: rgba(255,255,255,.12);
    transform: translateY(-2px);
}

.related-thumb {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--guild-surface);
}

.related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.related-card:hover .related-thumb img {
    transform: scale(1.03);
}

.related-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--guild-text-muted);
}

.related-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.5) 0%, transparent 50%);
    pointer-events: none;
}

.related-content {
    padding: 1rem;
}

.related-format {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
    margin-bottom: 0.25rem;
}

.related-title {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.related-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
}

.related-price {
    font-family: var(--font-mono);
    font-weight: 600;
    color: var(--guild-text-primary);
}

.related-price.free {
    color: var(--guild-amber);
}

.related-downloads {
    color: var(--guild-text-tertiary);
}


/* ================================
   DETAIL PAGES RESPONSIVE
   ================================ */

@media (max-width: 768px) {
    .detail-section {
        padding: 3rem 0;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .intel-title,
    .profile-name {
        font-size: 1.5rem;
    }

    .intel-metrics,
    .asset-metrics,
    .profile-metrics {
        gap: 1rem;
    }

    .metric {
        min-width: 50px;
    }

    .curriculum-section .section-trigger {
        padding: 0.875rem 1rem;
    }

    .lessons-list {
        padding: 0 1rem 0.875rem;
    }

    .instructor-card,
    .compiler-card {
        flex-direction: column;
        text-align: center;
    }

    .instructor-portrait,
    .compiler-portrait {
        margin: 0 auto;
    }

    .instructor-stats,
    .compiler-stats {
        justify-content: center;
    }

    .instructor-link,
    .compiler-link {
        justify-content: center;
    }

    .experience-timeline {
        padding-left: 1.25rem;
    }

    .reviews-grid {
        grid-template-columns: 1fr;
    }

    .specs-grid,
    .profile-grid,
    .deliverables-grid {
        grid-template-columns: 1fr;
    }

    .usedin-grid {
        grid-template-columns: 1fr;
    }

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

@media (max-width: 480px) {
    .cta-primary {
        width: 100%;
        justify-content: center;
    }

    .intel-cta,
    .asset-cta,
    .profile-cta {
        flex-direction: column;
        align-items: stretch;
    }

    .cta-pricing {
        justify-content: center;
    }

    .portrait-stats,
    .preview-specs {
        flex-wrap: wrap;
    }

    .related-grid {
        grid-template-columns: 1fr;
    }

    .archive-grid,
    .mentors-grid {
        grid-template-columns: 1fr;
    }
}

/* ================================
   BROWSE PAGES - SHARED COMPONENTS
   ================================ */

/* Shared Kicker Styles */
.kicker-dot {
    width: 6px;
    height: 6px;
    background: var(--guild-amber);
    border-radius: 50%;
    animation: pulse-amber 2s ease-in-out infinite;
}

.kicker-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    color: var(--guild-text-secondary);
}

@keyframes pulse-amber {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Command Bar Shared Styles */
.command-search {
    position: relative;
    flex: 1;
    min-width: 280px;
}

.command-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--guild-text-muted);
    pointer-events: none;
}

.command-input {
    width: 100%;
    padding: 0.875rem 1rem 0.875rem 3rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--guild-text-primary);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.command-input:focus {
    outline: none;
    border-color: var(--guild-amber);
    background: var(--guild-elevated);
}

.command-input::placeholder {
    color: var(--guild-text-muted);
}

.command-filters {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.filter-label {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.filter-select {
    padding: 0.75rem 2rem 0.75rem 1rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--guild-text-primary);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
}

.filter-select:focus {
    outline: none;
    border-color: var(--guild-amber);
}

/* Shared Status Count */
.status-count {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.count-num {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

.count-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

/* Shared Pagination */
.pagination-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
}

.info-label {
    color: var(--guild-text-muted);
}

.info-value {
    color: var(--guild-text-primary);
}

.pagination-controls {
    display: flex;
    gap: 0.5rem;
}

.pagination-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pagination-btn:hover:not(:disabled) {
    background: var(--guild-elevated);
    border-color: var(--guild-amber);
    color: var(--guild-text-primary);
}

.pagination-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Shared Empty State */
.empty-icon {
    color: var(--guild-text-muted);
    margin-bottom: 1rem;
}

.empty-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
}

.empty-text {
    font-size: 0.875rem;
    color: var(--guild-text-muted);
    margin: 0;
}

/* ================================
   BRIEFINGS (COURSES) BROWSE PAGE
   ================================ */

.briefings-hero {
    padding: 8rem 0 3rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.briefings-hero-inner {
    max-width: 900px;
}

.briefings-kicker {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.briefings-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    margin: 0 0 1rem;
    line-height: 1.1;
}

.briefings-lead {
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    margin: 0 0 2.5rem;
    max-width: 600px;
    line-height: 1.6;
}

.briefings-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.briefings-status {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.status-new {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.new-dot {
    width: 8px;
    height: 8px;
    background: var(--guild-amber);
    border-radius: 50%;
    animation: pulse-amber 2s ease-in-out infinite;
}

.new-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

/* Briefings Archive Grid */
.briefings-archive {
    padding: 3rem 0 4rem;
    background: var(--guild-deep);
}

.briefings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.briefing-card {
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.briefing-card:hover {
    border-color: rgba(212, 165, 116, 0.3);
    transform: translateY(-4px);
}

.briefing-card.new {
    border-color: var(--guild-amber);
}

.briefing-card.featured {
    border-color: rgba(212, 165, 116, 0.5);
}

.briefing-thumbnail {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.briefing-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.briefing-card:hover .briefing-thumbnail img {
    transform: scale(1.05);
}

.thumbnail-grain {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    opacity: 0.015;
    pointer-events: none;
}

.thumbnail-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.7) 0%, transparent 50%);
    pointer-events: none;
}

.briefing-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.briefing-card:hover .briefing-play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
}

.briefing-meta-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem;
    display: flex;
    gap: 1rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,.8);
}

.meta-runtime {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.meta-asset,
.meta-author {
    opacity: 0.7;
}

.briefing-category {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.375rem 0.75rem;
    background: rgba(13,13,13,.8);
    backdrop-filter: blur(8px);
    border: 1px solid var(--guild-border);
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

.briefing-content {
    padding: 1.25rem;
}

.briefing-title {
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--guild-text-primary);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.briefing-instructor {
    font-size: 0.8125rem;
    color: var(--guild-text-secondary);
    margin: 0 0 1rem;
}

.briefing-stats {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--guild-border);
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.stat-value {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--guild-text-primary);
}

.stat-label {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.briefing-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.briefing-price .price-free {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

.briefing-price .price-amount {
    font-family: var(--font-display);
    font-size: 1.125rem;
    color: var(--guild-text-primary);
}

.briefing-cta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
    transition: gap 0.2s ease;
}

.briefing-card:hover .briefing-cta {
    gap: 0.75rem;
}

.briefings-empty {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.briefings-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

/* ================================
   ACCELERATORS (PROGRAMS) BROWSE PAGE
   ================================ */

.accelerators-hero {
    padding: 8rem 0 3rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.accelerators-hero-inner {
    max-width: 900px;
}

.accelerators-kicker {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.accelerators-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    margin: 0 0 1rem;
    line-height: 1.1;
}

.accelerators-lead {
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    margin: 0 0 2.5rem;
    max-width: 600px;
    line-height: 1.6;
}

.accelerators-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.accelerators-status {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.status-open {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.open-dot {
    width: 8px;
    height: 8px;
    background: #10b981;
    border-radius: 50%;
    animation: pulse-green 2s ease-in-out infinite;
}

@keyframes pulse-green {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); }
    50% { opacity: 0.8; box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
}

.open-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: #10b981;
}

/* Ledger Table */
.accelerators-ledger {
    padding: 3rem 0 4rem;
    background: var(--guild-deep);
}

.ledger-header {
    display: grid;
    grid-template-columns: 80px 1fr 200px 120px 160px;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px 6px 0 0;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.ledger-rows {
    border-left: 1px solid var(--guild-border);
    border-right: 1px solid var(--guild-border);
}

.ledger-row {
    display: grid;
    grid-template-columns: 80px 1fr 200px 120px 160px;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--guild-surface);
    border-bottom: 1px solid var(--guild-border);
    cursor: pointer;
    transition: background 0.2s ease;
}

.ledger-row:hover {
    background: var(--guild-elevated);
}

.ledger-row.open {
    background: rgba(212, 165, 116, 0.03);
}

.ledger-col {
    display: flex;
    align-items: center;
}

.col-thumb .program-thumb {
    width: 64px;
    height: 48px;
    border-radius: 4px;
    overflow: hidden;
}

.program-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.col-program .program-info {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.program-title {
    font-family: var(--font-display);
    font-size: 1rem;
    font-weight: 500;
    color: var(--guild-text-primary);
    margin: 0;
}

.program-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--guild-text-secondary);
}

.meta-sep {
    color: var(--guild-text-muted);
}

.meta-rating {
    color: var(--guild-amber);
}

.program-categories {
    display: flex;
    gap: 0.375rem;
    margin-top: 0.25rem;
}

.category-tag {
    padding: 0.25rem 0.5rem;
    background: var(--guild-elevated);
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.05em;
    color: var(--guild-text-muted);
}

/* Timeline Bar */
.col-timeline {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.timeline-bar {
    width: 100%;
}

.timeline-track {
    display: flex;
    gap: 2px;
    margin-bottom: 0.375rem;
}

.timeline-week {
    flex: 1;
    height: 4px;
    background: var(--guild-elevated);
    border-radius: 2px;
}

.timeline-week.active {
    background: var(--guild-amber);
}

.timeline-label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    color: var(--guild-text-muted);
}

/* Capacity Flap */
.capacity-flap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem 1rem;
    background: var(--guild-elevated);
    border-radius: 4px;
}

.capacity-flap.open {
    background: rgba(16, 185, 129, 0.1);
}

.flap-num {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--guild-text-primary);
}

.flap-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.flap-text {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: #10b981;
}

/* Action Column */
.col-action {
    flex-direction: column;
    align-items: flex-end;
    gap: 0.375rem;
}

.action-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    background: transparent;
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
}

.action-btn:hover {
    border-color: var(--guild-amber);
    color: var(--guild-amber);
}

.action-btn.primary {
    background: var(--guild-amber);
    border-color: var(--guild-amber);
    color: var(--guild-deep);
}

.action-btn.primary:hover {
    background: #e0b080;
}

.action-price {
    font-family: var(--font-display);
    font-size: 0.9375rem;
    color: var(--guild-text-primary);
}

.ledger-empty {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 0 0 6px 6px;
}

.ledger-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

/* ================================
   VAULT (LIBRARY) BROWSE PAGE
   ================================ */

.vault-hero {
    padding: 8rem 0 3rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.vault-hero-inner {
    max-width: 900px;
}

.vault-kicker {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.vault-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    margin: 0 0 1rem;
    line-height: 1.1;
}

.vault-lead {
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    margin: 0 0 2.5rem;
    max-width: 600px;
    line-height: 1.6;
}

.vault-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.vault-status {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.status-free {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.free-icon {
    color: var(--guild-amber);
}

.free-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: var(--guild-amber);
}

/* Vault Table */
.vault-table-section {
    padding: 3rem 0 4rem;
    background: var(--guild-deep);
}

.vault-header {
    display: grid;
    grid-template-columns: 60px 1fr 100px 150px 100px 60px;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px 6px 0 0;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.vault-rows {
    border-left: 1px solid var(--guild-border);
    border-right: 1px solid var(--guild-border);
}

.vault-row {
    display: grid;
    grid-template-columns: 60px 1fr 100px 150px 100px 60px;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: var(--guild-surface);
    border-bottom: 1px solid var(--guild-border);
    cursor: pointer;
    transition: background 0.2s ease;
}

.vault-row:hover {
    background: var(--guild-elevated);
}

.vault-row.free {
    background: rgba(212, 165, 116, 0.02);
}

.vault-col {
    display: flex;
    align-items: center;
}

.resource-thumb {
    width: 48px;
    height: 48px;
    border-radius: 4px;
    overflow: hidden;
}

.resource-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.file-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-elevated);
    border-radius: 4px;
    color: var(--guild-text-muted);
}

.file-info {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.file-name {
    font-family: var(--font-body);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--guild-text-primary);
}

.file-category {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    color: var(--guild-text-muted);
}

.format-pill {
    padding: 0.375rem 0.625rem;
    background: var(--guild-elevated);
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--guild-text-secondary);
}

.format-pill.xlsx { color: #10b981; background: rgba(16, 185, 129, 0.1); }
.format-pill.pdf { color: #ef4444; background: rgba(239, 68, 68, 0.1); }
.format-pill.pptx { color: #f97316; background: rgba(249, 115, 22, 0.1); }
.format-pill.docx { color: #3b82f6; background: rgba(59, 130, 246, 0.1); }
.format-pill.fig { color: #a855f7; background: rgba(168, 85, 247, 0.1); }

.origin-text {
    font-size: 0.8125rem;
    color: var(--guild-text-secondary);
}

.downloads-count {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    color: var(--guild-text-primary);
}

.download-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--guild-elevated);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
    color: var(--guild-text-muted);
    transition: all 0.2s ease;
}

.download-btn:hover {
    border-color: var(--guild-amber);
    color: var(--guild-amber);
}

.download-btn.free {
    background: rgba(212, 165, 116, 0.1);
    border-color: var(--guild-amber);
    color: var(--guild-amber);
}

.download-btn.locked {
    color: var(--guild-text-muted);
}

.vault-empty {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 0 0 6px 6px;
}

.vault-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

/* ================================
   ARCHITECTS (MENTORS) BROWSE PAGE
   ================================ */

.architects-hero {
    padding: 8rem 0 3rem;
    background: var(--guild-void);
    border-bottom: 1px solid var(--guild-border);
}

.architects-hero-inner {
    max-width: 900px;
}

.architects-kicker {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.architects-title {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--guild-text-primary);
    margin: 0 0 1rem;
    line-height: 1.1;
}

.architects-lead {
    font-size: 1.125rem;
    color: var(--guild-text-secondary);
    margin: 0 0 2.5rem;
    max-width: 600px;
    line-height: 1.6;
}

.architects-command {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.architects-status {
    display: flex;
    align-items: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.status-live {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.live-dot {
    width: 8px;
    height: 8px;
    background: #10b981;
    border-radius: 50%;
    animation: pulse-green 2s ease-in-out infinite;
}

.live-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    color: #10b981;
}

/* Architects Roster Grid */
.architects-roster {
    padding: 3rem 0 4rem;
    background: var(--guild-deep);
}

.architects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

.architect-card {
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
}

.architect-card:hover {
    border-color: rgba(212, 165, 116, 0.3);
    transform: translateY(-4px);
}

.architect-card.live {
    border-color: rgba(16, 185, 129, 0.3);
}

.architect-portrait {
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden;
}

.architect-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
    transition: filter 0.4s ease, transform 0.4s ease;
}

.architect-card:hover .architect-portrait img {
    filter: grayscale(0%);
    transform: scale(1.03);
}

.portrait-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(13,13,13,.8) 0%, transparent 50%);
    pointer-events: none;
}

.seat-counter {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.5rem 0.75rem;
    background: rgba(13,13,13,.9);
    backdrop-filter: blur(8px);
    border: 1px solid var(--guild-border);
    border-radius: 4px;
}

.seat-num {
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--guild-text-primary);
}

.seat-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.architect-cta {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem;
    background: rgba(212, 165, 116, 0.95);
    color: var(--guild-deep);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.architect-card:hover .architect-cta {
    transform: translateY(0);
}

.cta-text {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.architect-info {
    padding: 1.25rem;
}

.architect-name {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--guild-text-primary);
    margin: 0 0 0.25rem;
}

.architect-title {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
    margin: 0 0 1rem;
}

.architect-domains {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-bottom: 1rem;
}

.domain-tag {
    padding: 0.25rem 0.5rem;
    background: var(--guild-elevated);
    border-radius: 3px;
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    letter-spacing: 0.05em;
    color: var(--guild-text-secondary);
}

.architect-meta {
    display: flex;
    gap: 1.25rem;
    padding: 1rem 0;
    border-top: 1px solid var(--guild-border);
    border-bottom: 1px solid var(--guild-border);
    margin-bottom: 1rem;
}

.meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.meta-value {
    font-family: var(--font-display);
    font-size: 1rem;
    color: var(--guild-text-primary);
}

.meta-label {
    font-family: var(--font-mono);
    font-size: 0.5rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.architect-rate {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
}

.rate-amount {
    font-family: var(--font-display);
    font-size: 1.125rem;
    color: var(--guild-amber);
}

.rate-period {
    font-size: 0.75rem;
    color: var(--guild-text-muted);
}

.architect-archive-badge {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    color: var(--guild-text-muted);
}

.architects-empty {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--guild-surface);
    border: 1px solid var(--guild-border);
    border-radius: 6px;
}

.architects-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

/* ================================
   BROWSE PAGES - RESPONSIVE
   ================================ */

@media (max-width: 1024px) {
    .ledger-header,
    .ledger-row {
        grid-template-columns: 60px 1fr 140px 100px;
    }

    .col-timeline {
        display: none;
    }

    .vault-header,
    .vault-row {
        grid-template-columns: 48px 1fr 80px 80px 48px;
    }

    .col-origin {
        display: none;
    }
}

@media (max-width: 768px) {
    .briefings-hero,
    .accelerators-hero,
    .vault-hero,
    .architects-hero {
        padding: 7rem 0 2rem;
    }

    .briefings-command,
    .accelerators-command,
    .vault-command,
    .architects-command {
        flex-direction: column;
    }

    .command-search {
        min-width: 100%;
    }

    .command-filters {
        width: 100%;
    }

    .filter-group {
        flex: 1;
        min-width: 140px;
    }

    .briefings-status,
    .accelerators-status,
    .vault-status,
    .architects-status {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .briefings-grid {
        grid-template-columns: 1fr;
    }

    .architects-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    }

    .ledger-header {
        display: none;
    }

    .ledger-row {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .col-thumb {
        display: none;
    }

    .col-capacity {
        justify-content: flex-start;
    }

    .col-action {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .vault-header {
        display: none;
    }

    .vault-row {
        grid-template-columns: 48px 1fr 60px 48px;
    }

    .col-format,
    .col-downloads {
        display: none;
    }

    .pagination-info {
        display: none;
    }

    .pagination-controls {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 480px) {
    .briefings-title,
    .accelerators-title,
    .vault-title,
    .architects-title {
        font-size: 2rem;
    }

    .briefings-lead,
    .accelerators-lead,
    .vault-lead,
    .architects-lead {
        font-size: 1rem;
    }

    .architects-grid {
        grid-template-columns: 1fr;
    }

    .vault-row {
        grid-template-columns: 1fr 48px;
    }

    .col-thumb {
        display: none;
    }
}
