.home-page {
    --home-ink: color-mix(in srgb, var(--_text) 92%, #08111f);
    --home-muted: color-mix(in srgb, var(--_text) 66%, var(--_bg));
    --home-line: color-mix(in srgb, var(--brand-neutral) 28%, transparent);
    --home-panel: color-mix(in srgb, var(--_surface) 94%, white);
    --home-panel-strong: color-mix(in srgb, var(--_surface) 90%, white);
    --home-shadow: 0 20px 45px color-mix(in srgb, #08111f 12%, transparent);
    --home-shadow-strong: 0 30px 70px color-mix(in srgb, #08111f 18%, transparent);
    --home-radius-xl: 1.65rem;
    --home-radius-lg: 1.2rem;
    display: grid;
    gap: clamp(1.25rem, 2vw, 2rem);
    color: var(--home-ink);
    text-align: center;
}

.home-page img {
    display: block;
}

.home-page [data-home-reveal] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.home-page [data-home-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.home-page [data-home-tilt] {
    transform-style: preserve-3d;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.home-page [data-home-tilt].is-hovered {
    box-shadow: var(--home-shadow-strong);
}

.home-page [data-home-image] {
    opacity: 0;
    transition: opacity 0.45s ease;
}

.home-page .is-ready [data-home-image],
.home-page [data-home-image].is-ready {
    opacity: 1;
}

.home-hero {
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--home-radius-xl) + 0.4rem);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 24%, var(--home-line));
    background:
        linear-gradient(155deg, color-mix(in srgb, var(--brand-primary) 9%, #f7f3eb) 0%, color-mix(in srgb, var(--brand-accent) 8%, #fbfdff) 50%, color-mix(in srgb, var(--brand-primary) 11%, #eef5ff) 100%);
    box-shadow: var(--home-shadow-strong);
    isolation: isolate;
}

.home-hero__backdrop {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.home-hero__glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(18px);
    opacity: 0.95;
}

.home-hero__glow--one {
    width: 28rem;
    height: 28rem;
    top: -8rem;
    left: -6rem;
    background: color-mix(in srgb, var(--brand-primary) 28%, transparent);
}

.home-hero__glow--two {
    width: 24rem;
    height: 24rem;
    right: -4rem;
    bottom: -7rem;
    background: color-mix(in srgb, var(--brand-accent) 24%, transparent);
}

.home-hero__gridline {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(to right, color-mix(in srgb, var(--brand-primary) 8%, transparent) 1px, transparent 1px),
        linear-gradient(to bottom, color-mix(in srgb, var(--brand-primary) 8%, transparent) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent 80%);
    opacity: 0.75;
}

.home-hero__layout {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.5rem;
    padding: clamp(1.35rem, 3vw, 2.2rem);
}

.home-hero__copy {
    display: grid;
    gap: 1rem;
    align-content: start;
    justify-items: center;
}

.home-eyebrow,
.home-section__eyebrow {
    width: fit-content;
    margin: 0;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 32%, transparent);
    background: color-mix(in srgb, var(--brand-primary) 10%, var(--_surface));
    color: color-mix(in srgb, var(--brand-primary) 86%, var(--_text));
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.home-display {
    margin: 0;
    max-width: 10ch;
    font-family: "Fraunces", "Space Grotesk", serif;
    font-size: clamp(2.8rem, 7vw, 5.4rem);
    line-height: 0.92;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.home-lead,
.home-section__lede {
    margin: 0;
    max-width: 60ch;
    font-size: clamp(1.02rem, 2vw, 1.18rem);
    line-height: 1.6;
    color: var(--home-muted);
}

.home-hero__actions,
.home-closing__actions,
.home-catalog-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.home-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0 1rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.home-button--primary {
    box-shadow: 0 14px 30px color-mix(in srgb, var(--brand-primary) 26%, transparent);
}

.home-button--ghost {
    border: 1px solid color-mix(in srgb, var(--brand-primary) 30%, transparent);
    background: color-mix(in srgb, white 82%, var(--brand-primary) 7%);
    color: color-mix(in srgb, var(--brand-primary) 86%, var(--_text));
}

.home-button--ghost:hover {
    background: color-mix(in srgb, white 70%, var(--brand-primary) 11%);
    border-color: color-mix(in srgb, var(--brand-primary) 48%, transparent);
}

.home-button--minimal {
    color: var(--home-ink);
    background: transparent;
}

.home-button--minimal:hover {
    color: color-mix(in srgb, var(--brand-primary) 88%, var(--home-ink));
}

.home-hero__notes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: center;
}

.home-note,
.home-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.95rem;
    padding: 0 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--home-line);
    background: color-mix(in srgb, white 84%, var(--brand-primary) 7%);
    color: color-mix(in srgb, var(--home-ink) 82%, var(--brand-primary));
    font-size: 0.78rem;
    font-weight: 700;
}

.home-badge--live {
    background: color-mix(in srgb, #16a34a 16%, white);
    border-color: color-mix(in srgb, #16a34a 44%, transparent);
    color: #166534;
}

.home-badge--upcoming {
    background: color-mix(in srgb, #0284c7 16%, white);
    border-color: color-mix(in srgb, #0284c7 44%, transparent);
    color: #075985;
}

.home-badge--completed {
    background: color-mix(in srgb, #ea580c 16%, white);
    border-color: color-mix(in srgb, #ea580c 42%, transparent);
    color: #9a3412;
}

.home-metric-strip {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-metric,
.home-role-card,
.home-signal-card,
.home-catalog-card,
.home-timeline-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--home-radius-lg);
    border: 1px solid var(--home-line);
    background: var(--home-panel);
    box-shadow: var(--home-shadow);
}

.home-metric {
    padding: 1rem;
}

.home-metric::before,
.home-role-card::before,
.home-signal-card::before,
.home-timeline-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--brand-primary), var(--brand-accent));
    opacity: 0.85;
}

.home-metric__value {
    margin: 0;
    font-family: "Fraunces", serif;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.home-metric__label {
    margin: 0.35rem 0 0;
    font-size: 0.85rem;
    color: var(--home-muted);
}

.home-spotlight {
    position: relative;
    overflow: hidden;
    border-radius: calc(var(--home-radius-xl) + 0.2rem);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 24%, transparent);
    background: color-mix(in srgb, var(--_surface) 96%, white);
    box-shadow: var(--home-shadow-strong);
    min-height: 100%;
}

.home-spotlight__media {
    position: absolute;
    inset: 0;
}

.home-spotlight__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-spotlight__veil {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(6, 12, 24, 0.14) 0%, rgba(6, 12, 24, 0.36) 36%, rgba(6, 12, 24, 0.88) 100%),
        linear-gradient(125deg, color-mix(in srgb, var(--brand-primary) 26%, transparent), transparent 50%);
}

.home-spotlight__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(20px);
    opacity: 0.8;
}

.home-spotlight__orb--one {
    width: 12rem;
    height: 12rem;
    top: -3rem;
    right: 1rem;
    background: color-mix(in srgb, var(--brand-accent) 28%, transparent);
}

.home-spotlight__orb--two {
    width: 10rem;
    height: 10rem;
    left: -3rem;
    bottom: 4rem;
    background: color-mix(in srgb, var(--brand-primary) 30%, transparent);
}

.home-spotlight__body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1rem;
    align-content: end;
    justify-items: center;
    min-height: 100%;
    padding: clamp(1.2rem, 3vw, 1.8rem);
    color: #f8fafc;
}

.home-spotlight--empty .home-spotlight__body {
    color: var(--home-ink);
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent) 18%, transparent), transparent 35%),
        radial-gradient(circle at left center, color-mix(in srgb, var(--brand-primary) 14%, transparent), transparent 32%),
        linear-gradient(155deg, color-mix(in srgb, white 90%, var(--brand-primary) 8%), color-mix(in srgb, white 88%, var(--brand-accent) 8%));
}

.home-spotlight--empty .home-spotlight__summary,
.home-spotlight--empty .home-spotlight__meta-item span {
    color: var(--home-muted);
}

.home-spotlight__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
}

.home-spotlight__label {
    margin: 0;
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: color-mix(in srgb, #f8fafc 76%, #cbd5e1);
}

.home-signal-card__label,
.home-timeline-card__label,
.home-spotlight--empty .home-spotlight__label {
    color: color-mix(in srgb, var(--brand-primary) 72%, var(--home-muted));
}

.home-spotlight__title {
    margin: 0;
    font-family: "Fraunces", serif;
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.home-spotlight__summary {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.55;
    color: color-mix(in srgb, #f8fafc 84%, #cbd5e1);
}

.home-timeline-card p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.55;
    color: var(--home-muted);
}

.home-spotlight__meta {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
}

.home-spotlight__meta-item {
    padding: 0.75rem 0.85rem;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(4, 11, 24, 0.32);
    backdrop-filter: blur(10px);
}

.home-spotlight__meta-item span {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.11em;
    color: color-mix(in srgb, #f8fafc 72%, #94a3b8);
}

.home-spotlight__meta-item strong {
    font-size: 0.92rem;
    line-height: 1.35;
}

.home-spotlight__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.home-ribbon {
    overflow: hidden;
    border-radius: 999px;
    border: 1px solid var(--home-line);
    background: color-mix(in srgb, var(--_surface) 92%, white);
}

.home-ribbon__track {
    display: flex;
    gap: 2rem;
    width: max-content;
    padding: 0.8rem 1rem;
    color: color-mix(in srgb, var(--home-ink) 76%, var(--brand-primary));
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    animation: home-marquee 24s linear infinite;
}

.home-section {
    display: grid;
    gap: 1.2rem;
}

.home-section__intro {
    display: grid;
    gap: 0.65rem;
    justify-items: center;
}

.home-section__header {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
    justify-content: center;
}

.home-section__title {
    margin: 0;
    max-width: 16ch;
    font-family: "Fraunces", serif;
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.home-role-grid,
.home-signal-grid,
.home-timeline-grid {
    display: grid;
    gap: 1rem;
}

.home-section--workflow .home-section__title {
    max-width: 24ch;
    line-height: 1.08;
}

.home-section--workflow .home-section__lede {
    max-width: 72ch;
    font-size: clamp(1.04rem, 1.8vw, 1.2rem);
    line-height: 1.72;
}

.home-role-card,
.home-signal-card,
.home-timeline-card {
    padding: 1.15rem;
    justify-items: center;
    text-align: center;
}

.home-role-card {
    position: relative;
    gap: 0.9rem;
    align-content: start;
    padding: 1.25rem 1.15rem 1.15rem;
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent) 10%, transparent), transparent 34%),
        linear-gradient(165deg, color-mix(in srgb, white 96%, var(--brand-primary) 4%), color-mix(in srgb, white 92%, var(--brand-primary) 8%));
}

.home-role-card::after {
    content: "";
    position: absolute;
    inset: auto 1rem 0.9rem;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand-primary) 24%, transparent), transparent);
}

.home-role-card__topline {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.home-role-card__index {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brand-primary) 12%, white);
    color: color-mix(in srgb, var(--brand-primary) 86%, var(--home-ink));
    font-weight: 800;
}

.home-role-card__tag {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0 0.7rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, transparent);
    background: color-mix(in srgb, white 82%, var(--brand-primary) 6%);
    color: color-mix(in srgb, var(--brand-primary) 72%, var(--home-muted));
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-role-card h3,
.home-catalog-card__body h3,
.home-timeline-card h3 {
    margin: 0.8rem 0 0.4rem;
    font-size: 1.15rem;
    line-height: 1.15;
}

.home-role-card p,
.home-signal-card__text,
.home-catalog-card__text,
.home-catalog-card__meta,
.home-empty-state p {
    margin: 0;
    color: var(--home-muted);
    line-height: 1.55;
}

.home-role-card > p {
    max-width: 30ch;
}

.home-role-card__list {
    width: 100%;
    margin: 0.35rem 0 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    gap: 0.55rem;
    color: var(--home-muted);
}

.home-role-card__list li {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.95rem;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 12%, transparent);
    background: rgba(255, 255, 255, 0.72);
    line-height: 1.45;
}

.home-role-card__list li::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    margin-right: 0.6rem;
    border-radius: 999px;
    flex: 0 0 auto;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--brand-primary) 10%, transparent);
}

.home-role-card__footer {
    max-width: 32ch;
    margin-top: auto;
    padding-top: 0.3rem;
    font-size: 0.84rem;
    color: color-mix(in srgb, var(--home-ink) 70%, var(--home-muted));
}

.home-role-card--organizer {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #0ea5a0 14%, transparent), transparent 36%),
        linear-gradient(165deg, color-mix(in srgb, white 96%, #0f4fbf 4%), color-mix(in srgb, white 92%, #0ea5a0 8%));
}

.home-role-card--reviewer {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #0284c7 14%, transparent), transparent 36%),
        linear-gradient(165deg, color-mix(in srgb, white 96%, #2563eb 4%), color-mix(in srgb, white 92%, #38bdf8 8%));
}

.home-role-card--author {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #f59e0b 14%, transparent), transparent 36%),
        linear-gradient(165deg, color-mix(in srgb, white 96%, #d97706 4%), color-mix(in srgb, white 92%, #fbbf24 8%));
}


.home-signal-card {
    display: grid;
    gap: 0.7rem;
}

.home-signal-card--wide {
    background:
        radial-gradient(circle at right top, color-mix(in srgb, var(--brand-accent) 18%, transparent), transparent 32%),
        linear-gradient(145deg, color-mix(in srgb, white 96%, var(--brand-primary) 4%), color-mix(in srgb, white 90%, var(--brand-primary) 10%));
}

.home-signal-card__headline {
    margin: 0;
    max-width: 18ch;
    font-family: "Fraunces", serif;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.home-signal-card__intro {
    margin: 0;
    max-width: 56ch;
    color: var(--home-muted);
    line-height: 1.55;
}

.home-signal-card__band {
    display: grid;
    gap: 0.8rem;
}

.home-signal-pill {
    display: grid;
    gap: 0.3rem;
    padding: 1rem 0.95rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 14%, transparent);
    justify-items: center;
    position: relative;
    overflow: hidden;
}

.home-signal-pill::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--brand-primary), var(--brand-accent));
    opacity: 0.95;
}

.home-signal-pill__eyebrow {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--brand-primary) 68%, var(--home-muted));
}

.home-signal-pill--live::before {
    background: linear-gradient(180deg, #16a34a, #4ade80);
}

.home-signal-pill--upcoming::before {
    background: linear-gradient(180deg, #0284c7, #38bdf8);
}

.home-signal-pill--cfp::before {
    background: linear-gradient(180deg, #d97706, #f59e0b);
}

.home-signal-card__band strong,
.home-signal-card__value,
.home-timeline-card h3 {
    font-family: "Fraunces", serif;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    line-height: 0.96;
    letter-spacing: -0.04em;
}

.home-signal-card__band span {
    color: var(--home-muted);
    font-size: 0.84rem;
}

.home-signal-card__footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: center;
}

.home-signal-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: 0 0.65rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 18%, transparent);
    background: color-mix(in srgb, white 80%, var(--brand-primary) 6%);
    color: color-mix(in srgb, var(--home-ink) 80%, var(--brand-primary));
    font-size: 0.75rem;
    font-weight: 700;
}

.home-signal-card--spotlight,
.home-signal-card--density {
    align-content: center;
    min-height: 100%;
}

.home-signal-orbit {
    position: relative;
    width: 6.2rem;
    height: 6.2rem;
    display: grid;
    place-items: center;
}

.home-signal-orbit__ring,
.home-signal-orbit__core {
    position: absolute;
    border-radius: 999px;
}

.home-signal-orbit__ring {
    inset: 0;
    border: 1px solid color-mix(in srgb, var(--brand-primary) 28%, transparent);
    background:
        radial-gradient(circle, transparent 46%, color-mix(in srgb, var(--brand-primary) 10%, transparent) 47%, transparent 63%),
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--brand-accent) 10%, transparent), transparent 70%);
}

.home-signal-orbit__core {
    width: 1.4rem;
    height: 1.4rem;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-accent));
    box-shadow: 0 0 0 10px color-mix(in srgb, var(--brand-primary) 10%, transparent);
}

.home-signal-density {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 0.35rem;
    height: 5.6rem;
}

.home-signal-density span {
    width: 0.75rem;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--brand-accent) 78%, white), color-mix(in srgb, var(--brand-primary) 84%, #1d4ed8));
    box-shadow: 0 8px 18px color-mix(in srgb, var(--brand-primary) 18%, transparent);
}

.home-signal-density span:nth-child(1) { height: 38%; opacity: 0.7; }
.home-signal-density span:nth-child(2) { height: 58%; opacity: 0.82; }
.home-signal-density span:nth-child(3) { height: 90%; }
.home-signal-density span:nth-child(4) { height: 68%; opacity: 0.86; }
.home-signal-density span:nth-child(5) { height: 48%; opacity: 0.74; }

.home-signal-card__caption {
    margin: 0;
    max-width: 28ch;
    color: color-mix(in srgb, var(--home-ink) 72%, var(--home-muted));
    font-size: 0.84rem;
    line-height: 1.5;
}

.home-catalog-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 320px));
    justify-content: center;
}

.home-catalog-card {
    display: grid;
    grid-template-rows: auto 1fr;
}

.home-catalog-card__media {
    position: relative;
    overflow: hidden;
    min-height: 13rem;
}

.home-catalog-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-catalog-card__veil {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(7, 13, 25, 0.08), rgba(7, 13, 25, 0.62)),
        linear-gradient(120deg, color-mix(in srgb, var(--brand-primary) 22%, transparent), transparent 48%);
}

.home-catalog-card__badges {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    right: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.home-catalog-card__body {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    background: var(--home-panel-strong);
    justify-items: center;
    text-align: center;
}

.home-catalog-card__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.home-catalog-card__meta {
    display: grid;
    gap: 0.35rem;
    font-size: 0.88rem;
    justify-items: center;
}

.home-empty-state {
    padding: 1.3rem;
    border: 1px dashed var(--home-line);
    border-radius: var(--home-radius-lg);
    background: color-mix(in srgb, white 92%, var(--brand-primary) 6%);
}

.home-timeline-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.home-timeline-card--lead {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-primary) 14%, transparent), transparent 38%),
        linear-gradient(150deg, color-mix(in srgb, white 92%, var(--brand-primary) 8%), color-mix(in srgb, white 90%, var(--brand-accent) 9%));
}

.home-closing__panel {
    display: grid;
    gap: 1rem;
    align-items: center;
    justify-items: center;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: calc(var(--home-radius-xl) + 0.2rem);
    border: 1px solid color-mix(in srgb, var(--brand-primary) 32%, transparent);
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--brand-primary) 22%, transparent), transparent 36%),
        radial-gradient(circle at bottom right, color-mix(in srgb, var(--brand-accent) 18%, transparent), transparent 34%),
        linear-gradient(145deg, color-mix(in srgb, white 88%, var(--brand-primary) 10%), color-mix(in srgb, white 84%, var(--brand-accent) 12%));
    box-shadow: var(--home-shadow-strong);
}

:root.dark .home-page {
    --home-ink: #edf4ff;
    --home-muted: #b2c2dc;
    --home-line: rgba(148, 163, 184, 0.24);
    --home-panel: color-mix(in srgb, #0f1c31 92%, #07101d);
    --home-panel-strong: color-mix(in srgb, #12213b 92%, #07101d);
    --home-shadow: 0 20px 45px rgba(0, 0, 0, 0.32);
    --home-shadow-strong: 0 30px 70px rgba(0, 0, 0, 0.42);
}

:root.dark .home-hero {
    background:
        linear-gradient(155deg, color-mix(in srgb, var(--brand-primary) 16%, #08111f) 0%, color-mix(in srgb, var(--brand-accent) 12%, #0d1728) 55%, color-mix(in srgb, var(--brand-primary) 22%, #09101c) 100%);
}

:root.dark .home-hero__glow--one {
    background: color-mix(in srgb, var(--brand-primary) 34%, transparent);
}

:root.dark .home-hero__glow--two {
    background: color-mix(in srgb, var(--brand-accent) 28%, transparent);
}

:root.dark .home-hero__gridline {
    opacity: 0.45;
}

:root.dark .home-note,
:root.dark .home-badge,
:root.dark .home-button--ghost {
    background: color-mix(in srgb, #0f1c31 84%, var(--brand-primary) 16%);
    color: #e2ecff;
    border-color: color-mix(in srgb, #93c5fd 24%, transparent);
}

:root.dark .home-button--ghost:hover {
    background: color-mix(in srgb, #11233f 88%, var(--brand-primary) 18%);
    color: #f8fbff;
    border-color: color-mix(in srgb, #bfdbfe 38%, transparent);
}

:root.dark .home-button--minimal {
    color: #dbeafe;
}

:root.dark .home-button--minimal:hover {
    color: #ffffff;
}

:root.dark .home-badge--live {
    background: color-mix(in srgb, #16a34a 20%, #052e16);
    color: #bbf7d0;
}

:root.dark .home-badge--upcoming {
    background: color-mix(in srgb, #0284c7 24%, #082f49);
    color: #bae6fd;
}

:root.dark .home-badge--completed {
    background: color-mix(in srgb, #ea580c 22%, #431407);
    color: #fed7aa;
}

:root.dark .home-signal-card__band div,
:root.dark .home-spotlight__meta-item {
    background: rgba(10, 18, 32, 0.54);
}

:root.dark .home-spotlight {
    border-color: color-mix(in srgb, #93c5fd 24%, transparent);
}

:root.dark .home-spotlight__veil {
    background:
        linear-gradient(180deg, rgba(3, 8, 18, 0.2) 0%, rgba(3, 8, 18, 0.52) 34%, rgba(2, 6, 14, 0.94) 100%),
        linear-gradient(125deg, color-mix(in srgb, var(--brand-primary) 34%, transparent), transparent 52%);
}

:root.dark .home-spotlight--empty .home-spotlight__body {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent) 20%, transparent), transparent 36%),
        radial-gradient(circle at left center, color-mix(in srgb, var(--brand-primary) 18%, transparent), transparent 34%),
        linear-gradient(155deg, color-mix(in srgb, #0b1628 90%, var(--brand-primary) 10%), color-mix(in srgb, #0d1b30 88%, var(--brand-accent) 12%));
}

:root.dark .home-spotlight--empty .home-spotlight__summary,
:root.dark .home-spotlight--empty .home-spotlight__meta-item span {
    color: #b9c8de;
}

:root.dark .home-spotlight--empty .home-spotlight__meta-item {
    border-color: color-mix(in srgb, #93c5fd 18%, transparent);
    background: rgba(8, 16, 30, 0.62);
}

:root.dark .home-role-card,
:root.dark .home-signal-card,
:root.dark .home-timeline-card,
:root.dark .home-catalog-card,
:root.dark .home-metric {
    border-color: color-mix(in srgb, #93c5fd 16%, var(--home-line));
}

:root.dark .home-role-card__index {
    background: color-mix(in srgb, var(--brand-primary) 20%, #0f172a);
    color: #dbeafe;
}

:root.dark .home-role-card {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-accent) 12%, transparent), transparent 34%),
        linear-gradient(165deg, color-mix(in srgb, #0b1628 94%, var(--brand-primary) 6%), color-mix(in srgb, #0f213a 88%, var(--brand-primary) 12%));
}

:root.dark .home-role-card__tag {
    background: color-mix(in srgb, #0f1c31 84%, var(--brand-primary) 16%);
    border-color: color-mix(in srgb, #93c5fd 18%, transparent);
    color: #cfe0ff;
}

:root.dark .home-role-card__list li {
    background: rgba(8, 16, 30, 0.78);
    border-color: color-mix(in srgb, #93c5fd 12%, transparent);
}

:root.dark .home-role-card__footer {
    color: #b9c8de;
}

:root.dark .home-role-card--organizer {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #14b8a6 16%, transparent), transparent 36%),
        linear-gradient(165deg, color-mix(in srgb, #0a1628 92%, #0f4fbf 8%), color-mix(in srgb, #0c2032 88%, #14b8a6 12%));
}

:root.dark .home-role-card--reviewer {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #38bdf8 16%, transparent), transparent 36%),
        linear-gradient(165deg, color-mix(in srgb, #0a1628 92%, #2563eb 8%), color-mix(in srgb, #0e2238 88%, #38bdf8 12%));
}

:root.dark .home-role-card--author {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, #f59e0b 16%, transparent), transparent 36%),
        linear-gradient(165deg, color-mix(in srgb, #0b1628 92%, #b45309 8%), color-mix(in srgb, #2a1b08 88%, #f59e0b 12%));
}

:root.dark .home-ribbon {
    background: color-mix(in srgb, #0f1c31 92%, #07101d);
}

:root.dark .home-ribbon__track {
    color: color-mix(in srgb, #dbeafe 80%, var(--brand-accent));
}

:root.dark .home-signal-card--wide {
    background:
        radial-gradient(circle at right top, color-mix(in srgb, var(--brand-accent) 18%, transparent), transparent 34%),
        linear-gradient(145deg, color-mix(in srgb, #0c172a 94%, var(--brand-primary) 6%), color-mix(in srgb, #11233f 88%, var(--brand-primary) 12%));
}

:root.dark .home-signal-pill {
    background: rgba(8, 16, 30, 0.72);
    border-color: color-mix(in srgb, #93c5fd 12%, transparent);
}

:root.dark .home-signal-pill__eyebrow {
    color: color-mix(in srgb, #93c5fd 72%, #dbeafe);
}

:root.dark .home-signal-chip {
    background: color-mix(in srgb, #0f1c31 86%, var(--brand-primary) 14%);
    border-color: color-mix(in srgb, #93c5fd 20%, transparent);
    color: #dbeafe;
}

:root.dark .home-signal-orbit__ring {
    border-color: color-mix(in srgb, #93c5fd 26%, transparent);
    background:
        radial-gradient(circle, transparent 46%, color-mix(in srgb, #60a5fa 14%, transparent) 47%, transparent 63%),
        radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--brand-accent) 12%, transparent), transparent 70%);
}

:root.dark .home-signal-orbit__core {
    box-shadow: 0 0 0 10px color-mix(in srgb, #60a5fa 12%, transparent);
}

:root.dark .home-signal-card__caption {
    color: #b9c8de;
}

:root.dark .home-timeline-card--lead {
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--brand-primary) 18%, transparent), transparent 38%),
        linear-gradient(150deg, color-mix(in srgb, #0b1628 92%, var(--brand-primary) 8%), color-mix(in srgb, #10213a 88%, var(--brand-accent) 12%));
}

:root.dark .home-closing__panel {
    border-color: color-mix(in srgb, #93c5fd 28%, transparent);
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--brand-primary) 26%, transparent), transparent 36%),
        radial-gradient(circle at bottom right, color-mix(in srgb, var(--brand-accent) 18%, transparent), transparent 34%),
        linear-gradient(145deg, color-mix(in srgb, #0b1628 90%, var(--brand-primary) 10%), color-mix(in srgb, #0f213a 86%, var(--brand-accent) 14%));
}

:root.dark .home-empty-state {
    background: color-mix(in srgb, #0e1b31 92%, var(--brand-primary) 8%);
}

:root.dark .home-catalog-card__veil {
    background:
        linear-gradient(180deg, rgba(5, 10, 18, 0.12), rgba(5, 10, 18, 0.74)),
        linear-gradient(120deg, color-mix(in srgb, var(--brand-primary) 28%, transparent), transparent 48%);
}

@media (min-width: 900px) {
    .home-hero__layout {
        grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
        align-items: stretch;
    }

    .home-role-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-signal-grid {
        grid-template-columns: 1.1fr 0.9fr 0.9fr;
    }

    .home-signal-card__band {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-closing__panel {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@media (min-width: 1200px) {
    .home-metric-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

}

@media (max-width: 899px) {
    .home-spotlight {
        min-height: 34rem;
    }
}

@media (max-width: 640px) {
    .home-display {
        max-width: none;
    }

    .home-hero,
    .home-spotlight,
    .home-metric,
    .home-role-card,
    .home-signal-card,
    .home-catalog-card,
    .home-timeline-card,
    .home-closing__panel {
        border-radius: 1.1rem;
    }

    .home-metric-strip,
    .home-spotlight__meta {
        grid-template-columns: 1fr;
    }

    .home-section__title {
        max-width: none;
    }

    .home-ribbon__track {
        gap: 1.4rem;
        font-size: 0.8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-page [data-home-reveal] {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .home-page [data-home-tilt] {
        transition: none;
    }

    .home-ribbon__track {
        animation: none;
    }
}

@keyframes home-marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
