/* Public styles only. Use home-ads-, home-artist-, home-collections-, home-event-, home-index-, home-info-, home-media-, home-news-, home-org-, home-search-, and home-title-. */

.home-artist-avatar { align-items: center; background: rgba(8, 118, 111, 0.12); border-radius: 999px; color: var(--brand); display: inline-flex; height: 3.5rem; justify-content: center; overflow: hidden; width: 3.5rem; }
.home-artist-avatar-image { display: block; height: 100%; object-fit: cover; width: 100%; }
.home-artist-directory-item { min-width: 0; }
.home-artist-directory-list { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.home-artist-filter-form { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.home-artist-rank-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-artist-rank-card { align-items: start; background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 12px; grid-template-columns: auto auto minmax(0, 1fr) auto; padding: 18px; }
.home-artist-rank-main { display: grid; gap: 8px; min-width: 0; }
.home-artist-rank-meta { color: var(--text-soft); display: flex; flex-wrap: wrap; gap: 10px; line-height: 1.5; }
.home-artist-rank-score { align-items: center; color: var(--accent); display: grid; font-weight: 900; justify-items: end; min-width: 5rem; }

.home-collections-action { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 12px; color: var(--inverse); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-collections-badge { align-items: center; background: rgba(8, 118, 111, 0.1); border: 1px solid rgba(8, 118, 111, 0.18); border-radius: 999px; color: var(--brand); display: inline-flex; flex-wrap: wrap; font-size: 0.84rem; font-weight: 800; gap: 8px; min-height: 2.2rem; min-width: 0; padding: 0 12px; }
.home-collections-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 10px; padding: 18px; }
.home-collections-card-copy { color: var(--text-soft); line-height: 1.65; margin: 0; }
.home-collections-card-title { color: var(--text); font-size: 1.08rem; font-weight: 900; line-height: 1.3; }
.home-collections-empty-state { background: var(--panel-soft); border: 1px dashed var(--border-strong); border-radius: 12px; color: var(--text-soft); padding: 18px; }
.home-collections-filter-actions { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.home-collections-filter-field { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; color: var(--text); font: inherit; min-height: 2.9rem; min-width: 0; padding: 0 12px; width: 100%; }
.home-collections-filter-form { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); min-width: 0; }
.home-collections-filter-group { display: grid; gap: 8px; min-width: 0; }
.home-collections-filter-label { color: var(--text); font-size: 0.92rem; font-weight: 800; }
.home-collections-filter-panel { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 16px; min-width: 0; padding: 22px; }
.home-collections-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.home-collections-hero { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 16px; min-width: 0; padding: 22px; }
.home-collections-kicker { color: var(--brand); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-collections-kicker-row { display: flex; flex-wrap: wrap; gap: 10px; }
.home-collections-main-copy { color: var(--text-soft); line-height: 1.65; margin: 0; min-width: 0; }
.home-collections-main-title { color: var(--text); font-size: clamp(1.4rem, 3vw, 2.4rem); font-weight: 900; line-height: 1.15; margin: 0; min-width: 0; }
.home-collections-meta { color: var(--text-soft); font-size: 0.88rem; font-weight: 700; }
.home-collections-pivot-link { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 999px; color: var(--text); display: inline-flex; font-size: 0.9rem; font-weight: 700; gap: 8px; min-height: 2.4rem; padding: 0 14px; }
.home-collections-pivot-row { display: flex; flex-wrap: wrap; gap: 10px; }
.home-collections-reset { align-items: center; background: rgba(184, 76, 63, 0.12); border: 1px solid rgba(184, 76, 63, 0.22); border-radius: 12px; color: var(--accent); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-collections-samples { color: var(--text-faint); font-size: 0.88rem; line-height: 1.5; }
.home-collections-section-copy { display: grid; gap: 8px; }
.home-collections-section-head { align-items: start; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; }
.home-collections-section-kicker { color: var(--brand); font-size: 0.8rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-collections-section-text { color: var(--text-soft); line-height: 1.65; margin: 0; }
.home-collections-section-title { color: var(--text); font-size: 1.45rem; font-weight: 900; line-height: 1.2; margin: 0; }
.home-collections-status { align-items: center; background: rgba(8, 118, 111, 0.1); border: 1px solid rgba(8, 118, 111, 0.18); border-radius: 999px; color: var(--brand); display: inline-flex; flex-wrap: wrap; font-size: 0.84rem; font-weight: 800; gap: 8px; min-height: 2.2rem; min-width: 0; padding: 0 12px; }
.home-collections-submit { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 12px; color: var(--inverse); display: inline-flex; font: inherit; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-collections-summary-label { color: var(--text-soft); font-size: 0.88rem; line-height: 1.4; }
.home-collections-summary-strip { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.home-collections-summary-tile { background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: grid; gap: 6px; min-width: 0; padding: 14px; text-decoration: none; }
.home-collections-summary-value { color: var(--text); font-size: 1.35rem; font-weight: 900; line-height: 1; }
.home-collections-taxonomy-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 10px; padding: 18px; }
.home-collections-taxonomy-copy { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-collections-taxonomy-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.home-collections-taxonomy-number { color: var(--brand); font-size: 1.1rem; font-weight: 900; line-height: 1; }
.home-collections-taxonomy-title { color: var(--text); font-size: 1.15rem; font-weight: 900; line-height: 1.25; margin: 0; }

.home-event-item { background: var(--panel); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 10px 26px var(--shadow); color: var(--text); display: grid; gap: 10px; min-height: 50px; padding: 14px; text-decoration: none; }

.home-index-action-row { display: flex; flex-wrap: wrap; gap: 10px; }
.home-index-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-index-admin { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 12px; padding: 22px; }
.home-index-atmosphere { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); color: var(--text); }
.home-index-badge-primary { align-items: center; background: rgba(8, 118, 111, 0.14); border: 1px solid rgba(8, 118, 111, 0.16); border-radius: 999px; color: var(--brand); display: inline-flex; font-size: 0.84rem; font-weight: 800; gap: 8px; min-height: 2.25rem; padding: 0 14px; }
.home-index-badge-row { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.home-index-badge-secondary { align-items: center; background: rgba(255, 253, 247, 0.98); border: 1px solid var(--border); border-radius: 999px; color: var(--text-soft); display: inline-flex; font-size: 0.84rem; font-weight: 800; gap: 8px; min-height: 2.25rem; padding: 0 14px; }
.home-index-brand { align-items: center; display: grid; gap: 12px; grid-template-columns: 4rem minmax(0, 1fr); }
.home-index-brand-copy { display: grid; gap: 4px; }
.home-index-brand-image { display: block; height: auto; max-width: 100%; }
.home-index-brand-name { color: var(--brand); font-size: 1.05rem; font-weight: 900; letter-spacing: 0.03em; }
.home-index-brand-text { color: var(--text-soft); line-height: 1.5; }
.home-index-button-primary { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 12px; color: var(--inverse); display: inline-flex; font-weight: 800; gap: 8px; min-height: 2.85rem; padding: 0 16px; }
.home-index-button-secondary { align-items: center; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: inline-flex; font-weight: 800; gap: 8px; min-height: 2.85rem; padding: 0 16px; }
.home-index-button-small { align-items: center; color: var(--brand); display: inline-flex; font-size: 0.92rem; font-weight: 800; gap: 8px; }
.home-index-button-tertiary { align-items: center; background: transparent; border: 1px solid rgba(18, 25, 31, 0.12); border-radius: 12px; color: var(--text); display: inline-flex; font-weight: 800; gap: 8px; min-height: 2.85rem; padding: 0 16px; }
.home-index-check { align-items: start; color: var(--text-soft); display: grid; gap: 10px; grid-template-columns: auto minmax(0, 1fr); line-height: 1.55; }
.home-index-choice-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.home-index-choice-primary { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 14px; color: var(--inverse); cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; gap: 8px; justify-content: center; min-height: 3.1rem; padding: 0 18px; text-align: center; }
.home-index-choice-secondary { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 14px; color: var(--text); cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; gap: 8px; justify-content: center; min-height: 3.1rem; padding: 0 18px; text-align: center; }
.home-index-copy { color: var(--text-soft); font-size: 1rem; line-height: 1.7; margin: 0; max-width: 70ch; }
.home-index-editorial { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 18px; padding: 22px; }
.home-index-editorial-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 10px; padding: 18px; }
.home-index-editorial-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.home-index-editorial-kicker { color: var(--brand); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-index-editorial-meta { color: var(--text-soft); font-size: 0.88rem; font-weight: 700; }
.home-index-editorial-samples { color: var(--text-faint); font-size: 0.88rem; line-height: 1.5; }
.home-index-editorial-text { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-index-editorial-title { color: var(--text); font-size: 1.08rem; font-weight: 900; }
.home-index-featured { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 18px; padding: 22px; }
.home-index-featured-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-index-featured-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.home-index-featured-card { background: linear-gradient(180deg, var(--panel-soft), var(--panel)); border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 12px 24px var(--shadow); display: grid; gap: 10px; padding: 14px; }
.home-index-featured-copy { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-index-featured-fallback { align-items: center; aspect-ratio: 2 / 3; background: linear-gradient(160deg, #102b2f 0%, #1f3b61 58%, #7d3b36 100%); border-radius: 12px; color: var(--inverse); display: grid; font-size: 2rem; font-weight: 900; justify-items: center; width: 100%; }
.home-index-featured-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.home-index-featured-image { aspect-ratio: 2 / 3; border-radius: 12px; display: block; object-fit: cover; width: 100%; }
.home-index-featured-meta { color: var(--text-soft); font-size: 0.88rem; font-weight: 700; line-height: 1.5; }
.home-index-featured-name { color: var(--text); font-size: 1.05rem; font-weight: 900; line-height: 1.3; }
.home-index-featured-poster { display: block; }
.home-index-field { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; color: var(--text); font: inherit; min-height: 2.9rem; padding: 0 12px; width: 100%; }
.home-index-form { display: grid; gap: 14px; }
.home-index-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.home-index-form-label { color: var(--text); font-size: 0.92rem; font-weight: 800; }
.home-index-form-row { display: grid; gap: 8px; }
.home-index-hero { background: linear-gradient(135deg, rgba(8, 118, 111, 0.12), rgba(255, 253, 247, 0.96)); border: 1px solid rgba(8, 118, 111, 0.12); border-radius: 16px; box-shadow: 0 18px 44px rgba(5, 12, 18, 0.12); display: grid; gap: 20px; padding: 24px; }
.home-index-hero-copy { display: grid; gap: 16px; }
.home-index-hero-panel { background: rgba(255, 253, 247, 0.98); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 16px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 16px; padding: 20px; }
.home-index-metric-card { background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; display: grid; gap: 4px; padding: 14px; }
.home-index-metric-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); }
.home-index-metric-label { color: var(--text-soft); font-size: 0.86rem; font-weight: 700; text-transform: uppercase; }
.home-index-metric-number { color: var(--text); font-size: 1.45rem; font-weight: 900; }
.home-index-notice-error { background: rgba(248, 221, 218, 0.98); border: 1px solid rgba(139, 31, 31, 0.22); border-radius: 12px; color: #5a1714; display: grid; gap: 8px; padding: 14px 16px; }
.home-index-panel-kicker { color: var(--brand); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-index-proof-link { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 999px; color: var(--text); display: inline-flex; font-size: 0.9rem; font-weight: 700; gap: 8px; min-height: 2.4rem; padding: 0 14px; }
.home-index-proof-strip { display: flex; flex-wrap: wrap; gap: 10px; }
.home-index-ranked { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 18px; padding: 22px; }
.home-index-ranked-heading { color: var(--text); font-size: 1.08rem; font-weight: 900; margin: 0; }
.home-index-ranked-item { min-width: 0; }
.home-index-ranked-layout { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); }
.home-index-ranked-link { align-items: center; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; display: grid; gap: 4px 10px; grid-template-columns: auto minmax(0, 1fr) auto; padding: 12px; }
.home-index-ranked-list { display: grid; gap: 10px; }
.home-index-ranked-main { color: var(--text); font-weight: 900; line-height: 1.35; }
.home-index-ranked-meta { color: var(--text-soft); font-size: 0.86rem; grid-column: 2 / 3; line-height: 1.5; }
.home-index-ranked-number { color: var(--brand); font-size: 1rem; font-weight: 900; min-width: 1.5rem; }
.home-index-ranked-panel { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 12px; padding: 18px; }
.home-index-ranked-score { color: var(--accent); font-size: 0.92rem; font-weight: 900; }
.home-index-route-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-index-route-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 12px; padding: 18px; }
.home-index-route-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.home-index-route-icon { align-items: center; background: rgba(8, 118, 111, 0.12); border-radius: 12px; color: var(--brand); display: inline-flex; font-size: 1.1rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.home-index-routes { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 18px; padding: 22px; }
.home-index-route-text { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-index-route-title { color: var(--text); font-size: 1.08rem; font-weight: 900; margin: 0; }
.home-index-search { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 16px; padding: 22px; }
.home-index-search-button { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 10px; color: var(--inverse); cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; gap: 8px; min-height: 2.9rem; padding: 0 16px; }
.home-index-search-field { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; color: var(--text); font: inherit; min-height: 2.9rem; padding: 0 12px; width: 100%; }
.home-index-search-form { display: grid; gap: 12px; }
.home-index-search-label { color: var(--text-soft); font-size: 0.92rem; font-weight: 700; grid-column: 1 / -1; }
.home-index-search-row { align-items: center; background: var(--panel-soft); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto; padding: 10px; position: relative; }
.home-index-search-suggestions { left: 10px; position: absolute; right: 10px; top: calc(100% + 4px); z-index: 10; }
.home-index-section-copy { display: grid; gap: 8px; }
.home-index-section-head { align-items: start; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; }
.home-index-section-kicker { color: var(--brand); font-size: 0.8rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-index-section-text { color: var(--text-soft); line-height: 1.65; margin: 0; }
.home-index-section-title { color: var(--text); font-size: 1.45rem; font-weight: 900; line-height: 1.2; margin: 0; }
.home-index-signal-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 10px; padding: 18px; }
.home-index-signal-icon { align-items: center; background: rgba(8, 118, 111, 0.12); border-radius: 12px; color: var(--brand); display: inline-flex; font-size: 1.1rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.home-index-signals { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.home-index-signal-text { color: var(--text-soft); line-height: 1.6; }
.home-index-signal-title { color: var(--text); font-size: 1.05rem; font-weight: 900; }
.home-index-spotlight { display: grid; gap: 14px; grid-template-columns: minmax(7rem, 8.5rem) minmax(0, 1fr); }
.home-index-spotlight-copy { display: grid; gap: 10px; }
.home-index-spotlight-fallback { align-items: center; aspect-ratio: 2 / 3; background: linear-gradient(160deg, #102b2f 0%, #1f3b61 58%, #7d3b36 100%); border-radius: 12px; color: var(--inverse); display: grid; font-size: 2rem; font-weight: 900; justify-items: center; width: 100%; }
.home-index-spotlight-image { border-radius: 12px; display: block; height: auto; object-fit: cover; width: 100%; }
.home-index-spotlight-meta { color: var(--text-soft); font-size: 0.92rem; font-weight: 700; }
.home-index-spotlight-poster { display: block; }
.home-index-spotlight-text { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-index-spotlight-title { color: var(--text); font-size: 1.4rem; font-weight: 900; line-height: 1.15; }
.home-index-stat-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 6px; padding: 18px; }
.home-index-stat-label { color: var(--text-soft); font-size: 0.9rem; font-weight: 800; }
.home-index-stat-number { color: var(--text); font-size: 1.6rem; font-weight: 900; line-height: 1; }
.home-index-stats { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 18px; padding: 22px; }
.home-index-stats-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.home-index-tag { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 999px; color: var(--brand); display: inline-flex; font-size: 0.9rem; font-weight: 800; gap: 8px; min-height: 2.4rem; padding: 0 14px; }
.home-index-tag-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.home-index-tags { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 26px var(--shadow); display: grid; gap: 18px; padding: 22px; }
.home-index-title { color: var(--text); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 900; line-height: 1.05; margin: 0; }

.home-info-intro-panel { display: grid; gap: 12px; }
.home-info-section-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 12px; padding: 18px; }
.home-info-section-copy { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-info-section-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.home-info-section-header { display: grid; gap: 10px; grid-template-columns: auto minmax(0, 1fr); }
.home-info-section-icon { align-items: center; background: rgba(8, 118, 111, 0.12); border-radius: 12px; color: var(--brand); display: inline-flex; font-size: 1.1rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.home-info-section-kicker { color: var(--brand); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-info-section-title { color: var(--text); font-size: 1.08rem; font-weight: 900; line-height: 1.25; margin: 0; }

.home-media-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-media-card { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); color: var(--text); display: grid; flex-direction: column; gap: 12px; min-width: 0; overflow: hidden; padding: 18px; position: relative; transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease; }
.home-media-copy { color: var(--text-soft); line-height: 1.6; margin: 0; }
.home-media-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.home-media-header { display: grid; gap: 10px; grid-template-columns: auto minmax(0, 1fr); }
.home-media-icon { align-items: center; background: rgba(8, 118, 111, 0.12); border-radius: 12px; color: var(--brand); display: inline-flex; font-size: 1.1rem; height: 2.8rem; justify-content: center; width: 2.8rem; }
.home-media-intro { display: grid; gap: 10px; }
.home-media-kicker { color: var(--brand); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-media-link { align-items: center; background: var(--panel); border: 1px solid var(--border); border-radius: 12px; color: var(--brand); display: inline-flex; font-weight: 800; gap: 8px; min-height: 2.75rem; padding: 0 14px; }
.home-media-title { color: var(--text); font-size: 1.08rem; font-weight: 900; line-height: 1.25; margin: 0; }

.home-org-filter-bar { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) minmax(12rem, 14rem) auto auto; }
.home-org-role-chip { background: rgba(8, 118, 111, 0.1); border: 1px solid var(--brand); border-radius: 999px; color: var(--brand); font-size: 0.82rem; font-weight: 700; line-height: 1.3; min-width: 0; padding: 6px 10px; }
.home-org-role-chip-list { display: flex; flex-wrap: wrap; gap: 8px; }

.home-search-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.home-search-context-mark { align-items: center; align-self: start; background: var(--panel); border: 1px solid var(--border); border-radius: 8px; color: var(--brand); display: inline-flex; font-size: 0.82rem; font-weight: 900; gap: 8px; justify-self: start; line-height: 1.2; padding: 7px 11px; width: 100%; }
.home-search-field { flex: 1; }
.home-search-form { display: grid; gap: 12px; }
.home-search-lens-card { background: var(--panel); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 10px 26px var(--shadow); display: flex; flex-direction: column; gap: 10px; padding: 16px; }
.home-search-lens-grid { display: grid; gap: 14px; grid-template-columns: 1fr; }
.home-search-lens-icon { align-items: center; background: linear-gradient(135deg, var(--brand), var(--accent)); border-radius: 8px; color: var(--panel); display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.home-search-result-avatar { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 8px; color: var(--brand); display: flex; font-size: 1.5rem; height: 4rem; justify-content: center; min-width: 0; overflow: hidden; width: 4rem; }
.home-search-result-main { align-content: start; display: grid; gap: 8px; min-width: 0; }
.home-search-result-media { max-width: 6.5rem; min-width: 0; }
.home-search-row { align-items: center; background: var(--panel); border: 1px solid rgba(32, 29, 26, 0.12); border-radius: 8px; box-shadow: none; display: grid; flex-direction: column; gap: 10px; grid-template-columns: 1fr; padding: 6px; position: relative; width: 100%; }
.home-search-source-result { color: var(--text-soft); font-size: 0.9rem; line-height: 1.55; }
.home-search-title-result { color: var(--text-soft); font-size: 0.9rem; line-height: 1.55; }

.home-title-badge { align-items: center; background: rgba(8, 118, 111, 0.1); border: 1px solid rgba(8, 118, 111, 0.18); border-radius: 999px; color: var(--brand); display: inline-flex; flex-wrap: wrap; font-size: 0.84rem; font-weight: 800; gap: 8px; min-height: 2.2rem; min-width: 0; padding: 0 12px; }
.home-title-badge-row { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.home-title-button { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 12px; color: var(--inverse); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-title-button-danger { align-items: center; background: rgba(184, 76, 63, 0.12); border: 1px solid rgba(184, 76, 63, 0.22); border-radius: 12px; color: var(--accent); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-title-card { align-content: start; align-items: start; background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 8px 18px var(--shadow); color: var(--text); display: grid; flex-direction: column; gap: 8px 11px; grid-template-columns: 3.9rem minmax(0, 1fr); min-height: 0; min-width: 0; overflow: hidden; padding: 10px; position: relative; text-decoration: none; }
.home-title-card-copy { color: var(--text-soft); line-height: 1.65; margin: 0; min-width: 0; }
.home-title-card-footer { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.home-title-card-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); min-width: 0; }
.home-title-card-link { border-radius: 7px; color: inherit; display: block; grid-row: span 5; outline-offset: 3px; overflow: hidden; text-decoration: none; }
.home-title-card-link-text { color: var(--text); font-size: 1.08rem; font-weight: 900; line-height: 1.3; margin: 0; min-width: 0; text-decoration: none; }
.home-title-card-link-text:hover { color: var(--brand); }
.home-title-card-meta { color: var(--text-soft); display: flex; flex-wrap: wrap; gap: 10px; line-height: 1.5; min-width: 0; }
.home-title-card-poster { align-content: end; aspect-ratio: 2 / 3; background: linear-gradient(160deg, #102b2f 0%, #1f3b61 58%, #7d3b36 100%); border: 1px solid rgba(32, 29, 26, 0.12); border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(255, 250, 241, 0.14); color: var(--inverse); display: grid; gap: 6px; height: auto; min-height: 7rem; object-fit: cover; overflow: hidden; padding: 14px; width: 100%; }
.home-title-card-thumbnail { aspect-ratio: 2 / 3; border-radius: 12px; display: grid; object-fit: cover; overflow: hidden; width: 100%; }
.home-title-checkbox-line { align-items: start; color: var(--text-soft); display: grid; gap: 10px; grid-template-columns: auto minmax(0, 1fr); line-height: 1.5; }
.home-title-context-mark { align-items: center; color: var(--brand); display: flex; flex-wrap: wrap; font-size: 0.82rem; font-weight: 900; gap: 10px; letter-spacing: 0.08em; text-transform: uppercase; }
.home-title-coverage-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 4px; }
.home-title-description { color: var(--text-soft); line-height: 1.65; margin: 0; max-width: 72ch; }
.home-title-documentary-poster { align-content: end; aspect-ratio: 2 / 3; background: linear-gradient(160deg, #102b2f 0%, #1f3b61 58%, #7d3b36 100%); border-radius: 12px; color: var(--inverse); display: grid; gap: 6px; overflow: hidden; padding: 14px; width: 100%; }
.home-title-empty-state { background: var(--panel-soft); border: 1px dashed var(--border-strong); border-radius: 12px; color: var(--text-soft); padding: 18px; }
.home-title-filter-actions { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.home-title-filter-field { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; color: var(--text); font: inherit; min-height: 2.9rem; min-width: 0; padding: 0 12px; width: 100%; }
.home-title-filter-group { display: grid; gap: 8px; min-width: 0; }
.home-title-filter-label { color: var(--text); font-size: 0.92rem; font-weight: 800; }
.home-title-filters { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); min-width: 0; }
.home-title-inline-inputs { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-title-kicker { color: var(--brand); font-size: 0.8rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-title-kijkwijzer-field { background: var(--panel); border: 1px solid var(--border); border-radius: 10px; color: var(--text); font: inherit; min-height: 2.9rem; min-width: 0; padding: 0 12px; width: 100%; }
.home-title-kijkwijzer-form { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.home-title-kijkwijzer-label { display: grid; gap: 8px; min-width: 0; }
.home-title-kijkwijzer-label-text { color: var(--text); font-size: 0.92rem; font-weight: 800; }
.home-title-kijkwijzer-panel { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; display: grid; gap: 14px; padding: 18px; }
.home-title-kijkwijzer-summary { color: var(--text); cursor: pointer; font-weight: 900; list-style: none; }
.home-title-kind-line { color: var(--text-soft); font-size: 0.88rem; font-weight: 800; line-height: 1.35; margin-top: -2px; overflow-wrap: anywhere; }
.home-title-main-title { color: var(--text); font-size: 1.15rem; font-weight: 900; line-height: 1.25; margin: 0; }
.home-title-meta-link { color: var(--brand); text-decoration: none; }
.home-title-meta-link:hover { color: var(--brand); }
.home-title-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.home-title-pagination-ellipsis { color: var(--text-soft); padding: 0 4px; }
.home-title-pagination-link { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-title-pagination-link-current { background: var(--brand); border-color: var(--brand-soft); color: var(--inverse); }
.home-title-pagination-wide-disabled { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text-faint); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; pointer-events: none; text-decoration: none; }
.home-title-pagination-wide-link { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-title-panel-title { color: var(--text); font-size: 1.15rem; font-weight: 900; line-height: 1.25; margin: 0; }
.home-title-pivot-link { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-title-pivot-row { display: flex; flex-wrap: wrap; gap: 10px; }
.home-title-ranked-link { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: grid; gap: 4px 10px; grid-template-columns: auto minmax(0, 1fr) auto; min-width: 0; padding: 12px; text-decoration: none; }
.home-title-ranked-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.home-title-rank-main { color: var(--text); font-weight: 900; line-height: 1.35; min-width: 0; }
.home-title-rank-meta { color: var(--text-soft); font-size: 0.86rem; grid-column: 2 / 3; line-height: 1.5; }
.home-title-rank-number { color: var(--brand); font-size: 1rem; font-weight: 900; min-width: 1.5rem; }
.home-title-rank-score { color: var(--accent); font-size: 0.92rem; font-weight: 900; }
.home-title-section-head { align-items: start; color: var(--text); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; }
.home-title-section-kicker { color: var(--brand); font-size: 0.8rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-title-section-title { color: var(--text); font-size: 1.15rem; font-weight: 900; line-height: 1.25; margin: 0; }
.home-title-section-wrap { background: linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(242, 247, 246, 0.96)); border: 1px solid rgba(18, 25, 31, 0.08); border-radius: 14px; box-shadow: 0 16px 34px rgba(5, 12, 18, 0.1); display: grid; gap: 12px; min-width: 0; padding: 18px; }
.home-title-small-action { align-items: center; background: var(--brand); border: 1px solid var(--brand-soft); border-radius: 12px; color: var(--inverse); display: inline-flex; font-weight: 800; gap: 8px; justify-content: center; min-height: 2.85rem; min-width: 0; padding: 0 14px; text-decoration: none; }
.home-title-status { align-items: center; background: var(--panel-soft); border: 1px solid var(--border); border-radius: 999px; color: var(--text); display: inline-flex; gap: 8px; min-height: 2.2rem; padding: 0 12px; }
.home-title-summary-label { color: var(--text-soft); font-size: 0.88rem; line-height: 1.4; }
.home-title-summary-strip { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); margin-top: 0; }
.home-title-summary-tile { background: var(--panel-soft); border: 1px solid var(--border); border-radius: 12px; color: var(--text); display: grid; gap: 6px; min-width: 0; padding: 14px; text-decoration: none; }
.home-title-summary-value { color: var(--text); font-size: 1.35rem; font-weight: 900; line-height: 1; }

@media (min-width: 980px) {
    .home-index-hero { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.95fr); }
}

@media (max-width: 840px) {
    .home-artist-rank-card { grid-template-columns: auto minmax(0, 1fr); }
    .home-artist-rank-score { justify-items: start; min-width: 0; }
    .home-collections-grid { grid-template-columns: 1fr; }
    .home-collections-taxonomy-grid { grid-template-columns: 1fr; }
    .home-index-choice-grid { grid-template-columns: 1fr; }
    .home-index-editorial-grid { grid-template-columns: 1fr; }
    .home-index-featured-grid { grid-template-columns: 1fr; }
    .home-index-form-grid { grid-template-columns: 1fr; }
    .home-index-ranked-layout { grid-template-columns: 1fr; }
    .home-index-ranked-link { grid-template-columns: auto minmax(0, 1fr); }
    .home-index-ranked-score { justify-self: start; }
    .home-index-route-grid { grid-template-columns: 1fr; }
    .home-index-signals { grid-template-columns: 1fr; }
    .home-index-stats-grid { grid-template-columns: 1fr; }
    .home-info-section-grid { grid-template-columns: 1fr; }
    .home-media-grid { grid-template-columns: 1fr; }
    .home-org-filter-bar { grid-template-columns: 1fr; }
    .home-search-lens-grid { grid-template-columns: 1fr; }
    .home-search-row { grid-template-columns: 1fr; }
    .home-title-card-grid { grid-template-columns: 1fr; }
    .home-title-filters { grid-template-columns: 1fr; }
    .home-title-inline-inputs { grid-template-columns: 1fr; }
    .home-title-kijkwijzer-form { grid-template-columns: 1fr; }
    .home-title-ranked-link { grid-template-columns: auto minmax(0, 1fr); }
    .home-title-rank-score { justify-self: start; }
}

@media (max-width: 680px) {
    .home-index-action-row { flex-direction: column; }
    .home-index-admin { padding: 18px; }
    .home-index-badge-row { align-items: stretch; flex-direction: column; }
    .home-index-button-primary { justify-content: center; }
    .home-index-button-secondary { justify-content: center; }
    .home-index-choice-primary { width: 100%; }
    .home-index-choice-secondary { width: 100%; }
    .home-index-editorial { padding: 18px; }
    .home-index-featured { padding: 18px; }
    .home-index-hero { padding: 18px; }
    .home-index-ranked { padding: 18px; }
    .home-index-routes { padding: 18px; }
    .home-index-search { padding: 18px; }
    .home-index-search-row { grid-template-columns: 1fr; }
    .home-index-spotlight { grid-template-columns: 1fr; }
    .home-index-stats { padding: 18px; }
    .home-index-tag-cloud { align-items: stretch; flex-direction: column; }
    .home-index-tags { padding: 18px; }
    .home-title-badge-row { align-items: stretch; flex-direction: column; }
    .home-title-button { width: 100%; }
    .home-title-button-danger { width: 100%; }
    .home-title-card { padding: 14px; }
    .home-title-card-footer { align-items: stretch; flex-direction: column; }
    .home-title-card-meta { align-items: flex-start; flex-direction: column; }
    .home-title-filter-actions { align-items: stretch; flex-direction: column; }
    .home-title-main-title { font-size: 1.75rem; }
    .home-title-pagination { align-items: stretch; flex-direction: column; }
    .home-title-pagination-link { width: 100%; }
    .home-title-pagination-wide-disabled { width: 100%; }
    .home-title-pagination-wide-link { width: 100%; }
    .home-title-pivot-link { width: 100%; }
    .home-title-pivot-row { align-items: stretch; flex-direction: column; }
    .home-title-section-head { align-items: flex-start; flex-direction: column; }
    .home-title-small-action { width: 100%; }
    .home-title-summary-strip { grid-template-columns: 1fr; }
    .home-title-section-wrap { padding: 14px; }
}
