.home-root,
.home-body {
    background-color: #faf4ff;
}

.home-body {
    position: relative;
    min-height: 100vh;
    isolation: isolate;
}

.home-body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at top right, rgba(223, 173, 255, 0.34), transparent 31%),
        radial-gradient(circle at 12% 8%, rgba(243, 221, 255, 0.42), transparent 26%),
        radial-gradient(circle at 52% 16%, rgba(233, 190, 255, 0.22), transparent 42%),
        radial-gradient(circle at 18% 42%, rgba(244, 224, 255, 0.18), transparent 36%),
        linear-gradient(180deg, #fffdff 0%, #fbf5ff 54%, #f8f1fd 100%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.home-root {
    min-height: 100%;
}

.home-body {
    background: transparent;
}

.home-landing {
    background: transparent;
    color: var(--blue-rosenkranz-500);
    font-family: "RocheSans", sans-serif;
}

.home-landing__section {
    padding: 6rem 0;
}

.home-surface {
    background: rgba(255, 255, 255, 0.82);
}

.home-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(243, 221, 255, 0.92), rgba(223, 173, 255, 0.72));
    border: 1px solid rgba(165, 42, 216, 0.16);
    color: var(--purple-500);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-eyebrow--light {
    background: rgba(255, 255, 255, 0.12);
    color: #f6e7ff;
}

.home-eyebrow--with-icon {
    gap: 0.65rem;
    padding-left: 0.82rem;
    padding-right: 1.08rem;
}

.home-eyebrow__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.34);
    box-shadow: inset 0 0 0 1px rgba(125, 0, 144, 0.12);
}

.home-eyebrow__icon svg {
    width: 0.86rem;
    height: 0.86rem;
}

.home-eyebrow__icon--plain {
    width: auto;
    height: auto;
    background: transparent;
    box-shadow: none;
}

.home-eyebrow__icon--plain svg {
    width: 1rem;
    height: 1rem;
}

.home-display,
.home-section-title,
.home-card-title,
.home-timeline__title,
.home-winner-card__title {
    font-family: "RocheSans", sans-serif;
    font-weight: 400;
    letter-spacing: -0.03em;
}

.home-display {
    max-width: 12ch;
    margin: 1.5rem 0 1rem;
    font-size: clamp(3rem, 6vw, 5.5rem);
    line-height: 0.95;
}

.home-display--light {
    max-width: 14ch;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
}

.home-lead,
.home-section-copy,
.home-info-card__text,
.home-card-copy,
.home-timeline__card p,
.home-winner-card__institution,
.home-winner-card__project,
.home-press-card__meta {
    color: rgba(17, 44, 54, 0.74);
    font-size: 1.05rem;
    line-height: 1.75;
}

.home-section-heading {
    margin-bottom: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.home-section-heading--split {
    gap: 1.25rem;
}

.home-section-heading--split .home-section-copy {
    max-width: 30rem;
}

.home-section-heading--mission {
    gap: 0.9rem;
    margin-bottom: 3.35rem;
}

.home-section-heading--timeline {
    gap: 0.95rem;
    margin-bottom: 3.4rem;
}

.home-section-heading--timeline .home-section-title {
    max-width: 18ch;
    margin: 0 auto;
}

.home-section-heading--timeline .home-section-copy {
    max-width: 44rem;
    margin-top: 0;
}

.home-section-heading--press {
    gap: 0.95rem;
    margin-bottom: 3.45rem;
}

.home-section-heading--press .home-section-title {
    max-width: 18ch;
    margin: 0 auto;
}

.home-section-heading--press .home-section-copy {
    max-width: 48rem;
    margin-top: 0.15rem;
}

[data-depth-section] {
    --depth-progress: 0;
    --depth-focus: 0;
    --depth-progress-abs: 0;
    position: relative;
    isolation: isolate;
}

.home-depth {
    --depth-distance: 0rem;
    --depth-scale: 0;
    --depth-shift-x: 0;
    --depth-shift-y: 0;
    --depth-base-transform: translate3d(0, 0, 0);
    display: block;
    width: auto;
    will-change: transform;
    transition: transform 0.16s linear;
    transform:
        var(--depth-base-transform)
        translate3d(
            calc(var(--depth-progress, 0) * var(--depth-distance) * var(--depth-shift-x)),
            calc(var(--depth-progress, 0) * var(--depth-distance) * var(--depth-shift-y)),
            0
        )
        scale(calc(1 + (var(--depth-focus, 0) * var(--depth-scale))));
}

.home-depth--fit {
    width: 100%;
}

.home-depth--inline {
    display: inline-block;
}

.depth-1 {
    --depth-distance: 0.7rem;
    --depth-scale: 0.008;
}

.depth-2 {
    --depth-distance: 1.25rem;
    --depth-scale: 0.014;
}

.depth-3 {
    --depth-distance: 2rem;
    --depth-scale: 0.02;
}

.home-depth--up {
    --depth-shift-y: -1;
}

.home-depth--down {
    --depth-shift-y: 1;
}

.home-depth--left {
    --depth-shift-x: -0.55;
}

.home-depth--right {
    --depth-shift-x: 0.55;
}

.home-press__title-line,
.home-press__copy-line {
    display: block;
}

.home-mission {
    --mission-progress: 0;
    --mission-progress-eased: 0;
    --mission-divider-tilt: 0deg;
    position: relative;
}

.home-mission::before {
    content: "";
    position: absolute;
    top: 5.5rem;
    left: 50%;
    width: min(72vw, 56rem);
    height: clamp(11rem, 20vw, 16rem);
    border-radius: 999px;
    pointer-events: none;
    opacity: 0.58;
    background: radial-gradient(circle at center, rgba(229, 192, 255, 0.28), rgba(229, 192, 255, 0) 74%);
    transform: translate3d(
            calc(-50% + (var(--depth-progress, 0) * -1rem)),
            calc(var(--depth-progress, 0) * 0.8rem),
            0
        )
        scale(calc(1 + (var(--depth-focus, 0) * 0.04)));
    transition: transform 0.16s linear;
}

.home-mission__layer {
    width: 100%;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-mission.has-motion .home-mission__layer,
.home-mission.has-motion .home-mission__card-col {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(0.985);
    filter: blur(10px);
}

.home-mission__card-col {
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-mission.has-motion.is-visible .home-mission__layer--eyebrow {
    opacity: calc(1 - (var(--mission-progress-eased) * 0.94));
    transform: translate3d(0, calc(var(--mission-progress-eased) * 0.95rem), 0);
    filter: blur(calc(var(--mission-progress-eased) * 1.8px));
    transition-delay: 0.04s;
}

.home-mission.has-motion.is-visible .home-mission__layer--title {
    opacity: calc(1 - (var(--mission-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--mission-progress-eased) * 1.15rem), 0)
        scale(calc(1 - (var(--mission-progress-eased) * 0.02)));
    filter: blur(calc(var(--mission-progress-eased) * 2.2px));
    transition-delay: 0.12s;
}

.home-mission.has-motion.is-visible .home-mission__layer--copy {
    opacity: calc(1 - (var(--mission-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--mission-progress-eased) * 1.3rem), 0);
    filter: blur(calc(var(--mission-progress-eased) * 2.4px));
    transition-delay: 0.2s;
}

.home-mission.has-motion.is-visible .home-mission__layer--divider {
    opacity: calc(1 - (var(--mission-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--mission-progress-eased) * 1.38rem), 0)
        scale(calc(1 - (var(--mission-progress-eased) * 0.03)));
    filter: blur(calc(var(--mission-progress-eased) * 2.2px));
    transition-delay: 0.26s;
}

.home-mission.has-motion.is-visible .home-mission__card-col {
    opacity: calc(1 - (var(--mission-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--mission-progress-eased) * 1.45rem), 0)
        scale(calc(1 - (var(--mission-progress-eased) * 0.03)));
    filter: blur(calc(var(--mission-progress-eased) * 2.6px));
}

.home-mission.has-motion.is-visible .home-mission__card-col:nth-child(1) {
    transition-delay: 0.28s;
}

.home-mission.has-motion.is-visible .home-mission__card-col:nth-child(2) {
    transition-delay: 0.36s;
}

.home-mission.has-motion.is-visible .home-mission__card-col:nth-child(3) {
    transition-delay: 0.44s;
}

.home-section-heading--mission .home-section-title {
    max-width: 18ch;
    margin-top: 0;
}

.home-section-heading--mission .home-section-copy {
    max-width: 54rem;
    margin-top: 0;
}

.home-section-heading--categories {
    gap: 0.9rem;
    margin-bottom: 3.1rem;
}

.home-section-heading--categories .home-section-title {
    max-width: 14ch;
    margin: 0 auto;
}

.home-categories {
    --categories-progress: 0;
    --categories-progress-eased: 0;
    --categories-divider-scale: 1;
    position: relative;
}

.home-categories__layer,
.home-categories__card-col {
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-categories.has-motion .home-categories__layer,
.home-categories.has-motion .home-categories__card-col {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(0.985);
    filter: blur(10px);
}

.home-categories.has-motion.is-visible .home-categories__layer--eyebrow {
    opacity: calc(1 - (var(--categories-progress-eased) * 0.94));
    transform: translate3d(0, calc(var(--categories-progress-eased) * 0.95rem), 0);
    filter: blur(calc(var(--categories-progress-eased) * 1.8px));
    transition-delay: 0.04s;
}

.home-categories.has-motion.is-visible .home-categories__layer--title {
    opacity: calc(1 - (var(--categories-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--categories-progress-eased) * 1.15rem), 0)
        scale(calc(1 - (var(--categories-progress-eased) * 0.02)));
    filter: blur(calc(var(--categories-progress-eased) * 2.2px));
    transition-delay: 0.12s;
}

.home-categories.has-motion.is-visible .home-categories__layer--divider {
    opacity: calc(1 - (var(--categories-progress-eased) * 0.88));
    transform: translate3d(0, calc(var(--categories-progress-eased) * 1.05rem), 0);
    filter: blur(calc(var(--categories-progress-eased) * 1.8px));
    transition-delay: 0.18s;
}

.home-categories.has-motion.is-visible .home-categories__card-col {
    opacity: calc(1 - (var(--categories-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--categories-progress-eased) * 1.45rem), 0)
        scale(calc(1 - (var(--categories-progress-eased) * 0.03)));
    filter: blur(calc(var(--categories-progress-eased) * 2.6px));
}

.home-categories.has-motion.is-visible .home-categories__card-col:nth-child(1) {
    transition-delay: 0.2s;
}

.home-categories.has-motion.is-visible .home-categories__card-col:nth-child(2) {
    transition-delay: 0.3s;
}

.home-categories__layer--divider {
    display: flex;
    justify-content: center;
    margin-top: 0.15rem;
}

.home-categories__divider {
    display: block;
    width: min(62px, 14vw);
    opacity: 0.94;
    transform: scale(var(--categories-divider-scale));
    transform-origin: center;
    will-change: transform;
    transition: transform 0.18s linear;
}

.home-mission__divider {
    display: block;
    width: min(56px, 14vw);
    margin: 0.3rem auto 0;
    opacity: 0.96;
    transform: rotate(var(--mission-divider-tilt));
    transform-origin: center;
    will-change: transform;
    transition: transform 0.18s linear;
}

.home-section-heading--light .home-section-title,
.home-section-heading--light .home-section-copy {
    color: #fff;
}

.home-section-title {
    max-width: 22ch;
    margin: 1rem auto 0;
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.05;
    text-align: center;
    text-wrap: balance;
    color: #b636ea;
}

.home-section-copy {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.home-section-copy--wide {
    max-width: 56rem;
}

.home-section-copy--light {
    color: rgba(255, 255, 255, 0.82);
}

.home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.home-actions--hero {
    align-items: center;
    gap: 0.85rem;
    justify-content: center;
}

.home-actions--center {
    justify-content: center;
}

.home-actions--final {
    gap: 1.1rem;
}

.home-actions--final .home-cta--final-button {
    min-width: 244px;
    padding: 0.98rem 1.9rem;
    opacity: 1;
    animation: none;
}

.home-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 196px;
    min-height: 50px;
    padding: 0.9rem 1.35rem;
    border-radius: 1.05rem;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 14px 28px rgba(98, 0, 111, 0.1);
    color: var(--blue-rosenkranz-500);
    font-size: 0.98rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.1;
    text-decoration: none;
    white-space: nowrap;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

@keyframes home-hero-fade {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes home-hero-soft-rise {
    from {
        opacity: 0;
        transform: translateY(24px);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes home-hero-mark-reveal {
    from {
        opacity: 0;
        transform: translateY(28px) scale(0.965);
        filter: blur(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes home-support-band-enter {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.985);
        clip-path: inset(0 46% 0 46% round 1.8rem);
        filter: blur(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        clip-path: inset(0 0 0 0 round 1.8rem);
        filter: blur(0);
    }
}

@keyframes home-support-logo-enter {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.92);
        filter: blur(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes home-hero-cta-enter {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.home-cta--hero-button {
    position: relative;
    gap: 0;
    overflow: hidden;
    isolation: isolate;
    min-width: 252px;
    padding: 0.98rem 1.9rem;
    border-radius: 999px;
    opacity: 0;
    animation: home-hero-cta-enter 0.75s 0.58s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    will-change: transform;
}

.home-actions--hero .home-cta--hero-button:nth-child(2) {
    animation-delay: 0.7s;
}

.home-cta--hero-button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(120deg, transparent 20%, rgba(255, 255, 255, 0.18) 50%, transparent 80%);
    transform: translateX(-135%);
    transition: transform 0.7s ease;
    pointer-events: none;
}

.home-cta--hero-button::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
}

.home-cta__label,
.home-cta__icon {
    position: relative;
    z-index: 2;
}

.home-cta__label {
    transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        letter-spacing 0.32s ease;
}

.home-cta__icon {
    position: absolute;
    top: 50%;
    right: 1.45rem;
    display: block;
    width: auto;
    height: auto;
    font-size: 1.08rem;
    line-height: 1;
    opacity: 0;
    transform: translate(0.55rem, -50%);
    transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.24s ease,
        color 0.24s ease;
}

.home-cta:hover,
.home-cta:focus {
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(98, 0, 111, 0.16);
}

.home-cta--primary {
    background: linear-gradient(135deg, var(--purple-400) 0%, var(--purple-500) 58%, var(--purple-600) 100%);
    border-color: rgba(125, 0, 144, 0.3);
    box-shadow:
        0 18px 32px rgba(125, 0, 144, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    color: #fff;
}

.home-cta--primary.home-cta--hero-button,
.home-cta--secondary.home-cta--hero-button {
    background: linear-gradient(180deg, rgba(236, 219, 255, 0.98), rgba(214, 186, 247, 0.86));
    border-color: rgba(125, 0, 144, 0.18);
    color: #6d248f;
    box-shadow:
        0 12px 24px rgba(125, 0, 144, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.22) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.home-cta--primary.home-cta--hero-button::after,
.home-cta--secondary.home-cta--hero-button::after {
    background: linear-gradient(135deg, var(--purple-400) 0%, var(--purple-500) 58%, var(--purple-600) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-cta--primary.home-cta--hero-button .home-cta__icon,
.home-cta--secondary.home-cta--hero-button .home-cta__icon {
    color: #6d248f;
}

.home-cta--primary:not(.home-cta--hero-button):hover,
.home-cta--primary:not(.home-cta--hero-button):focus {
    color: #fff;
    background: linear-gradient(135deg, var(--purple-300) 0%, var(--purple-500) 55%, var(--purple-600) 100%);
    box-shadow:
        0 22px 36px rgba(125, 0, 144, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.home-cta--secondary {
    background: linear-gradient(180deg, rgba(243, 221, 255, 0.92), rgba(223, 173, 255, 0.55));
    border-color: rgba(165, 42, 216, 0.18);
    color: var(--purple-600);
}

.home-cta--primary.home-cta--hero-button:hover,
.home-cta--primary.home-cta--hero-button:focus,
.home-cta--secondary.home-cta--hero-button:hover,
.home-cta--secondary.home-cta--hero-button:focus {
    border-color: rgba(125, 0, 144, 0.34);
    color: #fff;
    box-shadow:
        0 20px 34px rgba(125, 0, 144, 0.24),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.home-cta--primary.home-cta--hero-button:hover::before,
.home-cta--primary.home-cta--hero-button:focus::before,
.home-cta--secondary.home-cta--hero-button:hover::before,
.home-cta--secondary.home-cta--hero-button:focus::before {
    transform: translateX(135%);
}

.home-cta--primary.home-cta--hero-button:hover::after,
.home-cta--primary.home-cta--hero-button:focus::after,
.home-cta--secondary.home-cta--hero-button:hover::after,
.home-cta--secondary.home-cta--hero-button:focus::after {
    transform: scaleX(1);
}

.home-cta--primary.home-cta--hero-button:hover .home-cta__label,
.home-cta--primary.home-cta--hero-button:focus .home-cta__label,
.home-cta--secondary.home-cta--hero-button:hover .home-cta__label,
.home-cta--secondary.home-cta--hero-button:focus .home-cta__label {
    transform: translateX(-0.9rem);
    letter-spacing: 0.005em;
}

.home-cta--primary.home-cta--hero-button:hover .home-cta__icon,
.home-cta--primary.home-cta--hero-button:focus .home-cta__icon,
.home-cta--secondary.home-cta--hero-button:hover .home-cta__icon,
.home-cta--secondary.home-cta--hero-button:focus .home-cta__icon {
    opacity: 1;
    transform: translate(0, -50%);
    color: #fff;
}

.home-cta--light {
    background: linear-gradient(135deg, var(--purple-300) 0%, var(--purple-500) 60%, var(--purple-600) 100%);
    border-color: rgba(243, 221, 255, 0.2);
    color: #fff;
    box-shadow: 0 18px 32px rgba(10, 10, 40, 0.2);
}

.home-cta--light:hover,
.home-cta--light:focus {
    color: #fff;
    background: linear-gradient(135deg, var(--purple-200) 0%, var(--purple-400) 55%, var(--purple-600) 100%);
}

.home-cta--ghost {
    background: rgba(243, 221, 255, 0.06);
    border-color: rgba(243, 221, 255, 0.22);
    box-shadow: none;
    color: #fff;
}

.home-cta--ghost:hover,
.home-cta--ghost:focus {
    color: #fff;
    background: rgba(223, 173, 255, 0.14);
    border-color: rgba(243, 221, 255, 0.32);
    box-shadow: 0 14px 28px rgba(10, 10, 40, 0.12);
}

.home-cta--light.home-cta--hero-button,
.home-cta--ghost.home-cta--hero-button {
    border-color: rgba(243, 221, 255, 0.18);
    color: #f7ebff;
    box-shadow:
        0 14px 28px rgba(10, 10, 40, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.home-cta--light.home-cta--hero-button {
    background: linear-gradient(180deg, rgba(231, 192, 255, 0.96), rgba(183, 104, 226, 0.88));
}

.home-cta--ghost.home-cta--hero-button {
    background: linear-gradient(180deg, rgba(243, 221, 255, 0.08), rgba(205, 154, 246, 0.06));
}

.home-cta--light.home-cta--hero-button::after,
.home-cta--ghost.home-cta--hero-button::after {
    background: linear-gradient(135deg, var(--purple-400) 0%, var(--purple-500) 58%, var(--purple-600) 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-cta--light.home-cta--hero-button .home-cta__icon,
.home-cta--ghost.home-cta--hero-button .home-cta__icon {
    color: #f7ebff;
}

.home-cta--light.home-cta--hero-button:hover,
.home-cta--light.home-cta--hero-button:focus,
.home-cta--ghost.home-cta--hero-button:hover,
.home-cta--ghost.home-cta--hero-button:focus {
    border-color: rgba(243, 221, 255, 0.34);
    color: #fff;
    box-shadow:
        0 20px 34px rgba(10, 10, 40, 0.22),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.home-cta--light.home-cta--hero-button:hover::before,
.home-cta--light.home-cta--hero-button:focus::before,
.home-cta--ghost.home-cta--hero-button:hover::before,
.home-cta--ghost.home-cta--hero-button:focus::before {
    transform: translateX(135%);
}

.home-cta--light.home-cta--hero-button:hover::after,
.home-cta--light.home-cta--hero-button:focus::after,
.home-cta--ghost.home-cta--hero-button:hover::after,
.home-cta--ghost.home-cta--hero-button:focus::after {
    transform: scaleX(1);
}

.home-cta--light.home-cta--hero-button:hover .home-cta__label,
.home-cta--light.home-cta--hero-button:focus .home-cta__label,
.home-cta--ghost.home-cta--hero-button:hover .home-cta__label,
.home-cta--ghost.home-cta--hero-button:focus .home-cta__label {
    transform: translateX(-0.9rem);
    letter-spacing: 0.005em;
}

.home-cta--light.home-cta--hero-button:hover .home-cta__icon,
.home-cta--light.home-cta--hero-button:focus .home-cta__icon,
.home-cta--ghost.home-cta--hero-button:hover .home-cta__icon,
.home-cta--ghost.home-cta--hero-button:focus .home-cta__icon {
    opacity: 1;
    transform: translate(0, -50%);
    color: #fff;
}

.home-hero {
    --hero-scroll-progress: 0;
    --hero-scroll-progress-eased: 0;
    min-height: 100svh;
    padding-top: clamp(6.2rem, 7.8vw, 7.2rem);
    padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.home-hero::before {
    content: "";
    position: absolute;
    top: clamp(5rem, 10vw, 7rem);
    left: 50%;
    width: min(78vw, 72rem);
    height: clamp(14rem, 28vw, 26rem);
    border-radius: 999px;
    pointer-events: none;
    opacity: 0.72;
    background: radial-gradient(circle at center, rgba(223, 173, 255, 0.24), rgba(223, 173, 255, 0) 72%);
    transform: translate3d(
            calc(-50% + (var(--depth-progress, 0) * -1.6rem)),
            calc(var(--depth-progress, 0) * 1rem),
            0
        )
        scale(calc(1 + (var(--depth-focus, 0) * 0.05)));
    transition: transform 0.16s linear;
}

.home-hero > .container {
    width: 100%;
    position: relative;
    z-index: 1;
}

.home-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(125, 0, 144, 0.03), rgba(165, 42, 216, 0.16), rgba(125, 0, 144, 0.03));
}

.home-hero__layout {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(1.8rem, 4vw, 3rem);
}

.home-hero__content {
    max-width: 64rem;
    text-align: center;
}

.home-hero__layer {
    width: 100%;
    transform: translate3d(0, 0, 0);
    transform-origin: center top;
    will-change: transform, opacity, filter;
    transition:
        transform 0.14s linear,
        opacity 0.14s linear,
        filter 0.14s linear;
}

.home-hero__layer--eyebrow {
    opacity: calc(1 - (var(--hero-scroll-progress-eased) * 0.92));
    transform: translate3d(0, calc(var(--hero-scroll-progress-eased) * -1.5rem), 0);
}

.home-hero__layer--mark {
    opacity: calc(1 - (var(--hero-scroll-progress-eased) * 0.68));
    transform: translate3d(0, calc(var(--hero-scroll-progress-eased) * -2rem), 0)
        scale(calc(1 - (var(--hero-scroll-progress-eased) * 0.07)));
    filter: blur(calc(var(--hero-scroll-progress-eased) * 2.4px));
}

.home-hero__layer--lead {
    opacity: calc(1 - (var(--hero-scroll-progress-eased) * 0.74));
    transform: translate3d(0, calc(var(--hero-scroll-progress-eased) * -0.65rem), 0);
}

.home-hero__layer--actions {
    opacity: calc(1 - (var(--hero-scroll-progress-eased) * 0.88));
    transform: translate3d(0, calc(var(--hero-scroll-progress-eased) * 1rem), 0);
}

.home-hero__layer--scroll-cue {
    position: absolute;
    top: 50%;
    left: auto;
    right: clamp(1rem, 3vw, 2.25rem);
    width: auto;
    display: flex;
    justify-content: flex-end;
    z-index: 4;
    opacity: calc(1 - (var(--hero-scroll-progress-eased) * 0.92));
    transform: translate3d(0, calc(-50% + (var(--hero-scroll-progress-eased) * 1.1rem)), 0);
}

.home-hero__layer--support {
    opacity: calc(1 - (var(--hero-scroll-progress-eased) * 0.98));
    transform: translate3d(0, calc(var(--hero-scroll-progress-eased) * 1.55rem), 0)
        scale(calc(1 - (var(--hero-scroll-progress-eased) * 0.035)));
    filter: blur(calc(var(--hero-scroll-progress-eased) * 3.2px));
}

.home-scroll-cue {
    position: relative;
    z-index: 2;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.38rem;
    min-width: auto;
    padding: 0.2rem;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: rgba(125, 0, 144, 0.62);
    cursor: pointer;
    opacity: 0;
    animation: home-scroll-cue-enter 0.72s 1.42s cubic-bezier(0.22, 1, 0.36, 1) both;
    transition:
        opacity 0.28s ease,
        transform 0.28s ease,
        color 0.28s ease;
}

.home-scroll-cue:hover,
.home-scroll-cue:focus-visible {
    color: rgba(125, 0, 144, 0.9);
    transform: translate3d(0, -0.18rem, 0);
    outline: none;
}

.home-scroll-cue.is-hidden {
    opacity: 0;
    transform: translate3d(0, 0.9rem, 0);
    pointer-events: none;
}

.home-scroll-cue__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.02rem;
}

.home-scroll-cue__line {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align: center;
}

.home-scroll-cue__icon {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.22rem;
}

.home-scroll-cue__mouse {
    position: relative;
    display: inline-flex;
    justify-content: center;
    width: 0.9rem;
    height: 1.36rem;
    border: 1.45px solid currentColor;
    border-radius: 999px;
}

.home-scroll-cue__wheel {
    width: 0.18rem;
    height: 0.31rem;
    margin-top: 0.2rem;
    border-radius: 999px;
    background: currentColor;
    animation: home-scroll-cue-wheel 1.75s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.home-scroll-cue__arrow {
    width: 0.42rem;
    height: 0.42rem;
    border-right: 1.45px solid currentColor;
    border-bottom: 1.45px solid currentColor;
    transform: rotate(45deg);
    animation: home-scroll-cue-arrow 1.75s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes home-scroll-cue-wheel {
    0%,
    100% {
        transform: translateY(0);
        opacity: 0.55;
    }

    35% {
        transform: translateY(0.28rem);
        opacity: 1;
    }

    70% {
        transform: translateY(0.44rem);
        opacity: 0.1;
    }
}

@keyframes home-scroll-cue-arrow {
    0%,
    100% {
        transform: translateY(0) rotate(45deg);
        opacity: 0.5;
    }

    45% {
        transform: translateY(0.2rem) rotate(45deg);
        opacity: 1;
    }
}

@keyframes home-scroll-cue-enter {
    from {
        opacity: 0;
        transform: translate3d(0, 1rem, 0);
        filter: blur(10px);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
}

.home-hero__eyebrow {
    margin-bottom: 1.6rem;
    opacity: 0;
    animation: home-hero-soft-rise 0.72s 0.05s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-hero__mark {
    width: min(100%, 760px);
    margin: 0 auto 1.7rem;
    opacity: 0;
    animation: home-hero-mark-reveal 0.98s 0.16s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-lead {
    max-width: 41rem;
    margin: 0 auto 0.15rem;
    font-size: 1.06rem;
    line-height: 1.7;
    opacity: 0;
    animation: home-hero-soft-rise 0.72s 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-lead__line {
    display: block;
}

.home-lead__line + .home-lead__line {
    margin-top: 0.1rem;
}

.home-support {
    width: min(100%, 1120px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
    gap: 1.4rem 1.6rem;
    align-items: center;
    padding: 1.35rem 1.5rem;
    border-radius: 1.8rem;
    background: var(--home-support-surface, linear-gradient(160deg, rgba(63, 10, 94, 0.98), rgba(32, 35, 84, 0.96)));
    box-shadow: 0 24px 48px rgba(46, 19, 87, 0.2);
    color: #fff;
    overflow: hidden;
    opacity: 0;
    animation: home-support-band-enter 0.95s 0.86s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-footer-sponsors {
    background: var(--home-support-surface, linear-gradient(160deg, rgba(63, 10, 94, 0.98), rgba(32, 35, 84, 0.96))) !important;
}

.home-footer-main {
    background-color: #7d0090 !important;
}

.home-support__intro {
    max-width: 20rem;
    opacity: 0;
    animation: home-hero-soft-rise 0.65s 1.02s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-support__label {
    display: inline-block;
    margin-bottom: 0.7rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-support__copy {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
    line-height: 1.52;
}

.home-support__logos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.4rem;
    align-items: center;
}

.home-support__logos img {
    display: block;
    max-height: 52px;
    max-width: 100%;
    margin: 0 auto;
    width: auto;
    object-fit: contain;
    opacity: 0;
    animation: home-support-logo-enter 0.58s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-support__logos img:nth-child(1) {
    animation-delay: 1.08s;
}

.home-support__logos img:nth-child(2) {
    animation-delay: 1.16s;
}

.home-support__logos img:nth-child(3) {
    animation-delay: 1.24s;
}

.home-support__logos img:nth-child(4) {
    animation-delay: 1.32s;
}

@media (prefers-reduced-motion: reduce) {
    .home-hero {
        --hero-scroll-progress: 0 !important;
        --hero-scroll-progress-eased: 0 !important;
    }

    [data-depth-section] {
        --depth-progress: 0 !important;
        --depth-focus: 0 !important;
        --depth-progress-abs: 0 !important;
    }

    .home-hero__layer {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }

    .home-hero__eyebrow,
    .home-hero__mark,
    .home-lead,
    .home-cta--hero-button,
    .home-support,
    .home-support__intro,
    .home-support__logos img,
    .home-scroll-cue,
    .home-scroll-cue__wheel,
    .home-scroll-cue__arrow {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
        filter: none !important;
        clip-path: none !important;
    }

    .home-depth {
        transform: var(--depth-base-transform, translate3d(0, 0, 0)) !important;
        transition: none !important;
    }

    .home-hero::before,
    .home-mission::before,
    .home-countdown::before,
    .home-winners::before {
        transform: none !important;
    }
}

.home-countdown {
    --countdown-progress: 0;
    --countdown-progress-eased: 0;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(243, 221, 255, 0.22), rgba(255, 255, 255, 0.4));
}

.home-countdown::before {
    content: "";
    position: absolute;
    top: 16%;
    left: 50%;
    width: min(70vw, 58rem);
    height: clamp(12rem, 24vw, 21rem);
    border-radius: 999px;
    pointer-events: none;
    opacity: 0.7;
    background: radial-gradient(circle at center, rgba(223, 173, 255, 0.18), rgba(223, 173, 255, 0) 74%);
    transform: translate3d(
            calc(-50% + (var(--depth-progress, 0) * 1.2rem)),
            calc(var(--depth-progress, 0) * -0.8rem),
            0
        )
        scale(calc(1 + (var(--depth-focus, 0) * 0.045)));
    transition: transform 0.16s linear;
}

.home-countdown__stack {
    max-width: 1040px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-countdown__layer {
    width: 100%;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-countdown.has-motion .home-countdown__layer {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    filter: blur(10px);
}

.home-countdown__layer--eyebrow {
    max-width: max-content;
}

.home-countdown__layer--title {
    margin-top: 1.3rem;
}

.home-countdown__layer--copy {
    margin-top: 1rem;
}

.home-countdown__layer--grid {
    margin-top: 2.45rem;
}

.home-countdown.has-motion.is-visible .home-countdown__layer--eyebrow {
    opacity: calc(1 - (var(--countdown-progress-eased) * 0.88));
    transform: translate3d(0, calc(var(--countdown-progress-eased) * -1.2rem), 0);
    filter: blur(calc(var(--countdown-progress-eased) * 1.6px));
}

.home-countdown.has-motion.is-visible .home-countdown__layer--title {
    opacity: calc(1 - (var(--countdown-progress-eased) * 0.72));
    transform: translate3d(0, calc(var(--countdown-progress-eased) * -1.5rem), 0);
    filter: blur(calc(var(--countdown-progress-eased) * 1.9px));
    transition-delay: 0.08s;
}

.home-countdown.has-motion.is-visible .home-countdown__layer--copy {
    opacity: calc(1 - (var(--countdown-progress-eased) * 0.8));
    transform: translate3d(0, calc(var(--countdown-progress-eased) * -0.55rem), 0);
    filter: blur(calc(var(--countdown-progress-eased) * 1.4px));
    transition-delay: 0.16s;
}

.home-countdown.has-motion.is-visible .home-countdown__layer--grid {
    opacity: calc(1 - (var(--countdown-progress-eased) * 0.96));
    transform: translate3d(0, calc(var(--countdown-progress-eased) * 1.15rem), 0)
        scale(calc(1 - (var(--countdown-progress-eased) * 0.03)));
    filter: blur(calc(var(--countdown-progress-eased) * 2.2px));
    transition-delay: 0.24s;
}

.home-countdown__title {
    max-width: none;
    margin: 0 auto;
}

.home-countdown__copy {
    max-width: 42rem;
    margin: 0 auto;
}

.home-countdown__copy-line {
    display: block;
}

.home-countdown__copy-line + .home-countdown__copy-line {
    margin-top: 0.08rem;
}

.home-countdown__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
    max-width: 760px;
    margin: 0 auto;
}

.home-countdown__item,
.home-info-card,
.home-category-card,
.home-winner-card,
.home-metric-card,
.home-press-card {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(125, 0, 144, 0.08);
    border-radius: 1.5rem;
    box-shadow: 0 18px 40px rgba(17, 44, 54, 0.06);
}

.home-countdown__item {
    position: relative;
    z-index: 0;
    padding: 1.8rem 1rem 1.6rem;
    background: #fff;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-countdown__slot--seconds {
    position: relative;
    display: block;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-countdown__item > * {
    position: relative;
    z-index: 1;
}

.home-countdown__item--seconds {
    z-index: 1;
}

.home-countdown__item .home-depth {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.home-countdown__molecule-layer {
    --depth-base-transform: translate3d(0, 0, 0);
    position: absolute;
    top: -4.35rem;
    right: calc(-2.45rem - 20px);
    z-index: 0;
    width: clamp(7rem, 11vw, 9.5rem);
    max-width: none;
    pointer-events: none;
}

.home-countdown__molecule {
    display: block;
    width: 100%;
    opacity: 0.96;
    pointer-events: none;
    transform: rotate(6deg);
    transform-origin: center;
}

.home-countdown.has-motion .home-countdown__grid > .home-countdown__item,
.home-countdown.has-motion .home-countdown__slot--seconds {
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(0.975);
    filter: blur(8px);
}

.home-countdown.has-motion.is-visible .home-countdown__grid > .home-countdown__item,
.home-countdown.has-motion.is-visible .home-countdown__slot--seconds {
    opacity: calc(1 - (var(--countdown-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--countdown-progress-eased) * 1.2rem), 0)
        scale(calc(1 - (var(--countdown-progress-eased) * 0.04)));
    filter: blur(calc(var(--countdown-progress-eased) * 2.2px));
}

.home-countdown.has-motion.is-visible .home-countdown__grid > :nth-child(1) {
    transition-delay: 0.28s;
}

.home-countdown.has-motion.is-visible .home-countdown__grid > :nth-child(2) {
    transition-delay: 0.34s;
}

.home-countdown.has-motion.is-visible .home-countdown__grid > :nth-child(3) {
    transition-delay: 0.4s;
}

.home-countdown.has-motion.is-visible .home-countdown__grid > :nth-child(4) {
    transition-delay: 0.46s;
}

.home-press {
    --press-progress: 0;
    --press-progress-eased: 0;
    position: relative;
}

.home-press__layer,
.home-press__card,
.home-press-card__meta-item {
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-press.has-motion .home-press__layer,
.home-press.has-motion .home-press__card,
.home-press.has-motion .home-press-card__meta-item {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(0.985);
    filter: blur(10px);
}

.home-press.has-motion.is-visible .home-press__layer--eyebrow {
    opacity: calc(1 - (var(--press-progress-eased) * 0.94));
    transform: translate3d(0, calc(var(--press-progress-eased) * 0.88rem), 0);
    filter: blur(calc(var(--press-progress-eased) * 1.8px));
    transition-delay: 0.04s;
}

.home-press.has-motion.is-visible .home-press__layer--title {
    opacity: calc(1 - (var(--press-progress-eased) * 0.92));
    transform: translate3d(0, calc(var(--press-progress-eased) * 1.04rem), 0);
    filter: blur(calc(var(--press-progress-eased) * 2px));
    transition-delay: 0.12s;
}

.home-press.has-motion.is-visible .home-press__layer--copy {
    opacity: calc(1 - (var(--press-progress-eased) * 0.9));
    transform: translate3d(0, calc(var(--press-progress-eased) * 1.12rem), 0);
    filter: blur(calc(var(--press-progress-eased) * 2.1px));
    transition-delay: 0.2s;
}

.home-press.has-motion.is-visible .home-press__layer--soon {
    opacity: calc(1 - (var(--press-progress-eased) * 0.86));
    transform: translate3d(0, calc(var(--press-progress-eased) * 1rem), 0);
    filter: blur(calc(var(--press-progress-eased) * 1.85px));
    transition-delay: 0.28s;
}

.home-press.has-motion.is-visible .home-press__card {
    opacity: calc(1 - (var(--press-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--press-progress-eased) * 1.34rem), 0)
        scale(calc(1 - (var(--press-progress-eased) * 0.024)));
    filter: blur(calc(var(--press-progress-eased) * 2.45px));
    transition-delay: 0.3s;
}

.home-press.has-motion.is-visible .home-press-card__meta-item:nth-child(1) {
    opacity: calc(1 - (var(--press-progress-eased) * 0.9));
    transform: translate3d(0, calc(var(--press-progress-eased) * 1rem), 0);
    filter: blur(calc(var(--press-progress-eased) * 1.9px));
    transition-delay: 0.38s;
}

.home-press.has-motion.is-visible .home-press-card__meta-item:nth-child(2) {
    opacity: calc(1 - (var(--press-progress-eased) * 0.92));
    transform: translate3d(0, calc(var(--press-progress-eased) * 1.12rem), 0);
    filter: blur(calc(var(--press-progress-eased) * 2px));
    transition-delay: 0.46s;
}

.home-countdown__value,
.home-info-card__value,
.home-summary-bar__value,
.home-metric-card__value {
    display: block;
    font-family: "RocheSans", sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--purple);
}

.home-countdown__label,
.home-summary-bar__label,
.home-metric-card__label {
    display: block;
    margin-top: 0.75rem;
    color: rgba(17, 44, 54, 0.58);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-info-card {
    height: 100%;
    padding: 2rem;
}

.home-mission__cards {
    margin-top: 0.3rem;
}

.home-mission__card-col {
    position: relative;
}

.home-mission__card-col > .home-depth {
    height: 100%;
}

.home-mission__card-col > .home-depth > .home-info-card {
    min-height: clamp(22rem, 24vw, 26rem);
}

.home-info-card--interactive {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #fff;
    border-color: rgba(125, 0, 144, 0.08);
    box-shadow:
        0 18px 34px rgba(28, 10, 48, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition:
        transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.34s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.34s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-info-card--interactive::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(255, 255, 255, 0.06);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.home-info-card--interactive::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #37185c;
    clip-path: circle(0% at 84% 18%);
    transition: clip-path 0.56s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

.home-info-card--interactive > * {
    position: relative;
    z-index: 2;
}

.home-info-card__content {
    transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-info-card__hover-icon {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.55rem;
    height: 3.55rem;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(246, 222, 255, 0.96);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.14),
        0 10px 22px rgba(17, 10, 37, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, -0.45rem, 0) scale(0.72);
    transform-origin: center;
    transition:
        opacity 0.28s ease,
        transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.28s ease,
        background-color 0.28s ease,
        box-shadow 0.28s ease,
        visibility 0s linear 0.28s;
}

.home-info-card__hover-icon svg {
    width: 1.8rem;
    height: 1.8rem;
}

.home-info-card__eyebrow {
    display: inline-block;
    margin-bottom: 1.5rem;
    color: rgba(17, 44, 54, 0.54);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition:
        color 0.28s ease,
        letter-spacing 0.28s ease;
}

.home-info-card__value {
    color: #7d0090;
    transition:
        transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.28s ease;
}

.home-info-card__text {
    color: rgba(17, 44, 54, 0.74);
    transition:
        color 0.28s ease,
        transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-info-card--interactive:hover,
.home-info-card--interactive:focus-within {
    z-index: 4;
    transform: translateY(-10px) scale(1.025);
    border-color: rgba(182, 54, 234, 0.18);
    box-shadow:
        0 28px 46px rgba(103, 19, 131, 0.28),
        0 0 0 1px rgba(255, 255, 255, 0.06) inset,
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.home-info-card--interactive:hover::before,
.home-info-card--interactive:focus-within::before {
    opacity: 1;
}

.home-info-card--interactive:hover::after,
.home-info-card--interactive:focus-within::after {
    clip-path: circle(150% at 84% 18%);
}

.home-info-card--interactive:hover .home-info-card__hover-icon,
.home-info-card--interactive:focus-within .home-info-card__hover-icon {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0) scale(1);
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.2),
        0 16px 28px rgba(17, 10, 37, 0.22);
    transition-delay: 0s;
}

.home-info-card--interactive:hover .home-info-card__content,
.home-info-card--interactive:focus-within .home-info-card__content {
    transform: none;
}

.home-info-card--interactive:hover .home-info-card__eyebrow,
.home-info-card--interactive:focus-within .home-info-card__eyebrow {
    color: rgba(229, 192, 255, 0.86);
    letter-spacing: 0.19em;
}

.home-info-card--interactive:hover .home-info-card__value,
.home-info-card--interactive:focus-within .home-info-card__value {
    color: #fff;
    transform: translateY(-4px);
}

.home-info-card--interactive:hover .home-info-card__text,
.home-info-card--interactive:focus-within .home-info-card__text {
    color: rgba(236, 221, 255, 0.9);
    transform: translateY(-1px);
}

.home-summary-bar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.home-summary-bar--metrics {
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 0;
    padding: 1px;
    border-radius: 1.75rem;
    overflow: hidden;
    background: rgba(243, 221, 255, 0.12);
    border: 1px solid rgba(243, 221, 255, 0.14);
    box-shadow: 0 24px 48px rgba(6, 18, 74, 0.28);
    backdrop-filter: blur(18px);
}

.home-summary-bar--metrics::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 28%);
    opacity: 0.72;
}

.home-summary-bar__item {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem 1.35rem 1.75rem;
    text-align: center;
    background: linear-gradient(180deg, rgba(37, 29, 85, 0.94), rgba(24, 31, 74, 0.96));
    isolation: isolate;
}

.home-summary-bar__item > * {
    position: relative;
    z-index: 1;
}

.home-summary-bar__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.25rem;
    right: 1.25rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(223, 173, 255, 0), rgba(223, 173, 255, 0.78), rgba(223, 173, 255, 0));
    opacity: 0.75;
}

.home-summary-bar__item::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0));
    opacity: 0.65;
    pointer-events: none;
}

.home-summary-bar--metrics .home-summary-bar__value {
    color: #fff;
    text-shadow: 0 14px 28px rgba(125, 0, 144, 0.18);
}

.home-summary-bar--metrics .home-summary-bar__label {
    max-width: 18ch;
    margin-left: auto;
    margin-right: auto;
    color: rgba(246, 231, 255, 0.82);
    text-wrap: balance;
}

.home-category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
    overflow: hidden;
    height: 100%;
    padding: 2.15rem 2rem 1.9rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(125, 0, 144, 0.08);
    box-shadow: 0 18px 40px rgba(17, 44, 54, 0.06);
    transition:
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-category-card::before,
.home-category-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
    transition:
        opacity 0.52s cubic-bezier(0.22, 1, 0.36, 1),
        clip-path 0.62s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.52s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-category-card::before {
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: #37185c;
    opacity: 1;
    clip-path: circle(0% at 50% 50%);
}

.home-category-card::after {
    right: 50%;
    bottom: 50%;
    width: 9.5rem;
    height: 9.5rem;
    margin-right: -4.75rem;
    margin-bottom: -4.75rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(182, 54, 234, 0.14), rgba(182, 54, 234, 0));
    opacity: 0.45;
    transform: scale(0.28);
}

.home-category-card--accent {
    background: rgba(255, 255, 255, 0.96);
}

.home-category-card:hover,
.home-category-card:focus-within {
    transform: translateY(-10px);
    border-color: rgba(55, 24, 92, 0.28);
    box-shadow: 0 30px 60px rgba(55, 24, 92, 0.16);
}

.home-category-card:hover::before,
.home-category-card:focus-within::before {
    clip-path: circle(130% at 50% 50%);
}

.home-category-card:hover::after,
.home-category-card:focus-within::after {
    opacity: 0.6;
    transform: scale(1.3);
}

.home-category-card__body {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.2rem;
}

.home-category-prize {
    display: grid;
    gap: 0.18rem;
    width: fit-content;
    min-width: min(100%, 17rem);
    padding: 0.92rem 1.05rem 0.85rem;
    border-radius: 1.1rem;
    background: #f3ddff;
    box-shadow:
        inset 0 0 0 1px rgba(125, 0, 144, 0.08),
        0 12px 22px rgba(55, 24, 92, 0.05);
    transition:
        background 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-category-prize__label {
    color: rgba(17, 44, 54, 0.52);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-category-prize__value {
    color: #7d0090;
    font-family: "RocheSans", sans-serif;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
}

.home-category-card__header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.home-category-card__icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    flex: 0 0 auto;
    border-radius: 1.05rem;
    background: rgba(182, 54, 234, 0.09);
    color: #7d0090;
    box-shadow:
        inset 0 0 0 1px rgba(125, 0, 144, 0.1),
        0 10px 20px rgba(55, 24, 92, 0.06);
    transition:
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        color 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-category-card__icon svg {
    width: 1.8rem;
    height: 1.8rem;
}

.home-category-card__section-label {
    color: rgba(17, 44, 54, 0.52);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-category-card__footer {
    position: relative;
    z-index: 1;
    margin-top: auto;
}

.home-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.45rem 0.9rem;
    background: linear-gradient(180deg, rgba(243, 221, 255, 0.94), rgba(223, 173, 255, 0.7));
    color: var(--purple-500);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-pill--muted {
    background: rgba(243, 221, 255, 0.74);
    color: var(--purple-600);
}

.home-card-title {
    margin: 0;
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.04;
}

.home-category-list,
.home-category-feature-list {
    display: grid;
    gap: 0.9rem 1.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-category-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-category-feature-list {
    grid-template-columns: 1fr;
}

.home-category-list li,
.home-category-feature-list li {
    position: relative;
    padding-left: 1.45rem;
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-category-list li::before,
.home-category-feature-list li::before {
    content: "";
    position: absolute;
    top: 0.7rem;
    left: 0;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: #b636ea;
    box-shadow: 0 0 0 4px rgba(182, 54, 234, 0.12);
    transition:
        background-color 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-category-list li span,
.home-category-feature-list li span {
    color: rgba(17, 44, 54, 0.76);
    line-height: 1.62;
}

.home-category-feature-list li span {
    display: block;
}

.home-category-card:hover .home-category-list li,
.home-category-card:hover .home-category-feature-list li,
.home-category-card:focus-within .home-category-list li,
.home-category-card:focus-within .home-category-feature-list li {
    transform: translateX(4px);
}

.home-category-card:hover .home-category-card__icon,
.home-category-card:focus-within .home-category-card__icon {
    transform: translateY(-2px) scale(1.04);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.18),
        0 14px 24px rgba(17, 10, 37, 0.24);
}

.home-category-card:hover .home-card-title,
.home-category-card:focus-within .home-card-title {
    color: #fff;
}

.home-category-card:hover .home-card-copy,
.home-category-card:focus-within .home-card-copy,
.home-category-card:hover .home-category-list li span,
.home-category-card:hover .home-category-feature-list li span,
.home-category-card:focus-within .home-category-list li span,
.home-category-card:focus-within .home-category-feature-list li span {
    color: rgba(240, 228, 255, 0.92);
}

.home-category-card:hover .home-category-card__section-label,
.home-category-card:focus-within .home-category-card__section-label {
    color: rgba(226, 199, 255, 0.68);
}

.home-category-card:hover .home-category-prize,
.home-category-card:focus-within .home-category-prize {
    background: rgba(255, 255, 255, 0.08);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.12),
        0 16px 28px rgba(17, 10, 37, 0.16);
    transform: translateY(-1px);
}

.home-category-card:hover .home-category-prize__label,
.home-category-card:focus-within .home-category-prize__label {
    color: rgba(226, 199, 255, 0.72);
}

.home-category-card:hover .home-category-prize__value,
.home-category-card:focus-within .home-category-prize__value {
    color: #fff;
}

.home-category-card:hover .home-pill,
.home-category-card:focus-within .home-pill {
    background: rgba(255, 255, 255, 0.12);
    color: #f0d3ff;
    border-color: rgba(255, 255, 255, 0.14);
}

.home-category-card:hover .home-category-list li::before,
.home-category-card:hover .home-category-feature-list li::before,
.home-category-card:focus-within .home-category-list li::before,
.home-category-card:focus-within .home-category-feature-list li::before {
    background: #f0d3ff;
    box-shadow: 0 0 0 5px rgba(240, 211, 255, 0.16);
    transform: scale(1.08);
}

.home-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1.1rem;
    color: var(--purple);
    font-weight: 700;
    text-decoration: none;
    transition:
        color 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-inline-link__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: rgba(182, 54, 234, 0.08);
    color: currentColor;
    transform: translateX(0);
    transition:
        background-color 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-inline-link:hover,
.home-inline-link:focus {
    color: var(--purple-600);
    transform: translateX(2px);
}

.home-inline-link:hover .home-inline-link__icon,
.home-inline-link:focus .home-inline-link__icon {
    background: rgba(125, 0, 144, 0.12);
    transform: translateX(3px);
}

.home-category-card:hover .home-inline-link,
.home-category-card:focus-within .home-inline-link {
    color: #fff;
    text-shadow: 0 1px 14px rgba(17, 10, 37, 0.22);
}

.home-category-card:hover .home-inline-link__icon,
.home-category-card:focus-within .home-inline-link__icon {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.home-category-card:hover .home-inline-link:hover,
.home-category-card:hover .home-inline-link:focus,
.home-category-card:focus-within .home-inline-link:hover,
.home-category-card:focus-within .home-inline-link:focus {
    color: #f0d3ff;
}

.home-category-card:hover .home-inline-link:hover .home-inline-link__icon,
.home-category-card:hover .home-inline-link:focus .home-inline-link__icon,
.home-category-card:focus-within .home-inline-link:hover .home-inline-link__icon,
.home-category-card:focus-within .home-inline-link:focus .home-inline-link__icon {
    background: rgba(255, 255, 255, 0.22);
    transform: translateX(3px);
}

.home-timeline {
    position: relative;
    display: grid;
    gap: 1.7rem;
    padding-top: 0.5rem;
}

.home-timeline::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, rgba(125, 0, 144, 0.12), rgba(125, 0, 144, 0.45), rgba(125, 0, 144, 0.12));
}

.home-history {
    position: relative;
}

.home-history__layer {
    width: 100%;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-history.has-motion .home-history__layer {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(0.985);
    filter: blur(10px);
}

.home-history.has-motion.is-visible .home-history__layer--eyebrow {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.04s;
}

.home-history.has-motion.is-visible .home-history__layer--title {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.12s;
}

.home-history.has-motion.is-visible .home-history__layer--copy {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.2s;
}

.home-timeline__item {
    --timeline-item-offset: 0;
    position: relative;
    display: flex;
    width: calc(50% - 2rem);
}

.home-history.has-motion .home-timeline__item {
    opacity: 0;
    transform: translate3d(var(--timeline-item-offset), 1.25rem, 0) scale(0.985);
    filter: blur(12px);
    will-change: transform, opacity, filter;
    transition:
        opacity 0.82s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.82s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.82s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-history.has-motion .home-timeline__item.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: none;
}

.home-timeline__item::after {
    content: "";
    position: absolute;
    top: 2rem;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid rgba(125, 0, 144, 0.45);
}

.home-history.has-motion .home-timeline__item::after {
    opacity: 0;
    transform: scale(0.58);
    transition:
        opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-history.has-motion .home-timeline__item.is-visible::after {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(182, 54, 234, 0.08);
}

.home-timeline__item--left {
    --timeline-item-offset: -2.8rem;
    justify-self: start;
    padding-right: 2rem;
}

.home-timeline__item--left::after {
    right: -0.44rem;
}

.home-timeline__item--right {
    --timeline-item-offset: 2.8rem;
    justify-self: end;
    padding-left: 2rem;
}

.home-timeline__item--right::after {
    left: -0.44rem;
}

.home-timeline__card {
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: 1.85rem 1.85rem 1.75rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(125, 0, 144, 0.08);
    box-shadow: 0 18px 36px rgba(17, 44, 54, 0.06);
}

.home-timeline__card::before {
    content: none;
}

.home-timeline__card > * {
    position: relative;
    z-index: 1;
}

.home-timeline__year {
    display: inline-block;
    margin-bottom: 0.65rem;
    color: var(--purple);
    font-family: "RocheSans", sans-serif;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: -0.03em;
}

.home-timeline__title {
    margin-bottom: 0.9rem;
    font-size: 1.8rem;
}

.home-history.has-motion .home-timeline__year,
.home-history.has-motion .home-timeline__title,
.home-history.has-motion .home-timeline__copy {
    opacity: 0;
    transform: translate3d(0, 1rem, 0);
    filter: blur(6px);
    transition:
        opacity 0.56s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.56s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.56s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-history.has-motion .home-timeline__item.is-visible .home-timeline__year {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.14s;
}

.home-history.has-motion .home-timeline__item.is-visible .home-timeline__title {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.24s;
}

.home-history.has-motion .home-timeline__item.is-visible .home-timeline__copy {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.34s;
}

.home-section-heading--winners {
    gap: 1.4rem;
    margin-bottom: 2.5rem;
}

.home-section-heading--winners {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.home-section-heading--winners .home-section-copy {
    max-width: 39rem;
    margin-left: auto;
    margin-right: auto;
}

.home-winners {
    --winners-progress: 0;
    --winners-progress-eased: 0;
    overflow: hidden;
}

.home-winners::before {
    content: "";
    position: absolute;
    top: 5.2rem;
    left: 50%;
    width: min(76vw, 64rem);
    height: clamp(12rem, 22vw, 18rem);
    border-radius: 999px;
    pointer-events: none;
    opacity: 0.48;
    background: radial-gradient(circle at center, rgba(243, 221, 255, 0.28), rgba(243, 221, 255, 0) 74%);
    transform: translate3d(
            calc(-50% + (var(--depth-progress, 0) * -1rem)),
            calc(var(--depth-progress, 0) * 0.85rem),
            0
        )
        scale(calc(1 + (var(--depth-focus, 0) * 0.04)));
    transition: transform 0.16s linear;
}

.home-winners__layer {
    width: 100%;
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-winners__layer--eyebrow {
    width: auto;
    margin-inline: auto;
}

.home-winners.has-motion .home-winners__layer,
.home-winners.has-motion .home-winner-card {
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(0.985);
    filter: blur(11px);
}

.home-winners.has-motion.is-visible .home-winners__layer--eyebrow {
    opacity: calc(1 - (var(--winners-progress-eased) * 0.94));
    transform: translate3d(0, calc(var(--winners-progress-eased) * 0.95rem), 0);
    filter: blur(calc(var(--winners-progress-eased) * 1.8px));
    transition-delay: 0.04s;
}

.home-winners.has-motion.is-visible .home-winners__layer--title {
    opacity: calc(1 - (var(--winners-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--winners-progress-eased) * 1.12rem), 0)
        scale(calc(1 - (var(--winners-progress-eased) * 0.02)));
    filter: blur(calc(var(--winners-progress-eased) * 2.15px));
    transition-delay: 0.12s;
}

.home-winners.has-motion.is-visible .home-winners__layer--copy {
    opacity: calc(1 - (var(--winners-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--winners-progress-eased) * 1.22rem), 0);
    filter: blur(calc(var(--winners-progress-eased) * 2.25px));
    transition-delay: 0.2s;
}

.home-winners.has-motion.is-visible .home-winners__layer--pagination {
    opacity: calc(1 - (var(--winners-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--winners-progress-eased) * 1.3rem), 0);
    filter: blur(calc(var(--winners-progress-eased) * 2.1px));
    transition-delay: 0.34s;
}

.home-winners__layer--pagination {
    margin-top: 0.25rem;
}

.home-winners__fullbleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding-inline: clamp(1rem, 3.8vw, 3rem);
    position: relative;
    z-index: 1;
}

.home-winners__carousel {
    padding: 0.85rem 0.15rem 0.95rem;
    margin: 0;
}

.home-winners__track {
    align-items: stretch;
}

.home-winner-card {
    width: clamp(28rem, 42vw, 31rem);
    height: auto;
    display: grid;
    grid-template-rows: auto 1fr;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 1.75rem;
    border: 1px solid rgba(125, 0, 144, 0.08);
    transition:
        opacity 0.82s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.82s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-winners.has-motion.is-visible .home-winner-card {
    opacity: calc(1 - (var(--winners-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--winners-progress-eased) * 1.38rem), 0)
        scale(calc(1 - (var(--winners-progress-eased) * 0.028)));
    filter: blur(calc(var(--winners-progress-eased) * 2.55px));
    transition-delay: calc(0.24s + (var(--winner-order, 0) * 0.07s));
}

.home-winner-card:hover,
.home-winner-card:focus-within {
    transform: translateY(-8px);
    border-color: rgba(125, 0, 144, 0.18);
}

.home-winner-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    isolation: isolate;
    background: linear-gradient(180deg, #f6efff 0%, #eee4fb 100%);
}

.home-winner-card__illustration-layer {
    --depth-base-transform: translate3d(-50%, 0, 0);
    position: absolute;
    left: 50%;
    bottom: 0.3rem;
    width: calc(100% - 1rem);
    max-width: none;
    z-index: 1;
    pointer-events: none;
}

.home-winner-card__figure {
    --depth-base-transform: translate3d(-50%, 0, 0);
    position: absolute;
    left: 50%;
    bottom: var(--winner-figure-bottom, -16%);
    z-index: 2;
    width: var(--winner-figure-width, 70%);
    max-width: none;
    pointer-events: none;
    transform-origin: center bottom;
}

.home-winner-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    background:
        radial-gradient(circle at center, rgba(53, 24, 92, 0) 48%, rgba(53, 24, 92, 0.18) 100%),
        linear-gradient(180deg, rgba(53, 24, 92, 0.02) 0%, rgba(53, 24, 92, 0.08) 100%);
    transition: opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-winner-card__image {
    display: block;
    user-select: none;
    -webkit-user-drag: none;
    transition:
        transform 0.48s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.38s ease,
        opacity 0.38s ease;
}

.home-winner-card__image--cutout {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    transform: scale(1);
    transform-origin: center bottom;
    filter: drop-shadow(0 18px 26px rgba(53, 24, 92, 0.1));
    will-change: transform;
}

.home-winner-card__illustration {
    position: relative;
    width: 100%;
    height: auto;
    opacity: 0;
    transform: translate3d(0, 0.8rem, 0) scale(0.96);
    transform-origin: center;
    transition:
        opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    object-fit: contain;
}

.home-winner-card:hover .home-winner-card__illustration,
.home-winner-card:focus-within .home-winner-card__illustration {
    opacity: 0.92;
    transform: translate3d(0, 0, 0) scale(1);
}

.home-winner-card:hover .home-winner-card__media::after,
.home-winner-card:focus-within .home-winner-card__media::after {
    opacity: 1;
}

.home-winner-card:hover .home-winner-card__image,
.home-winner-card:focus-within .home-winner-card__image {
    transform: scale(1.025);
}

.home-winner-card__body {
    display: grid;
    padding: 1.6rem 1.6rem 1.75rem;
}

.home-winner-card__content {
    display: grid;
    gap: 0.85rem;
}

.home-winner-card__meta {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
}

.home-winner-card__title {
    margin: 0;
    font-size: clamp(1.8rem, 2vw, 2.35rem);
    line-height: 1.03;
}

.home-winner-card__institution {
    margin: 0;
    color: rgba(17, 44, 54, 0.66);
    font-weight: 700;
    line-height: 1.55;
}

.home-winner-card__project {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.72;
}

.home-winners__progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.25rem;
    position: static;
}

.home-winners__dot {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border: 0;
    border-radius: 999px;
    background: rgba(125, 0, 144, 0.18);
    cursor: pointer;
    opacity: 1;
    transition:
        transform 0.24s ease,
        background-color 0.24s ease,
        width 0.24s ease;
}

.home-winners__dot.is-active {
    width: 2rem;
    background: #7d0090;
}

.home-metrics {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #241c61 0%, #19224d 100%);
}

.home-metrics::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(243, 221, 255, 0.04), rgba(243, 221, 255, 0)),
        linear-gradient(180deg, rgba(243, 221, 255, 0.03), rgba(243, 221, 255, 0));
}

.home-metrics__layer,
.home-metrics__item {
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-metrics.has-motion .home-metrics__layer,
.home-metrics.has-motion .home-metrics__item {
    opacity: 0;
    transform: translate3d(0, 28px, 0) scale(0.985);
    filter: blur(10px);
}

.home-metrics.has-motion.is-visible .home-metrics__layer--eyebrow {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.04s;
}

.home-metrics.has-motion.is-visible .home-metrics__layer--title {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.12s;
}

.home-metrics.has-motion.is-visible .home-metrics__layer--copy {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: 0.2s;
}

.home-metrics.has-motion.is-visible .home-metrics__item {
    opacity: 1;
    transform: none;
    filter: none;
    transition-delay: calc(0.28s + (var(--metrics-order, 0) * 0.08s));
}

.home-metric-card {
    height: 100%;
    padding: 2rem 1.5rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}

.home-metric-card__value {
    color: #f0b1ff;
}

.home-metric-card__label {
    color: rgba(255, 255, 255, 0.72);
}

.home-gallery {
    position: relative;
    background: rgba(243, 221, 255, 0.3);
}

.home-gallery__grid {
    display: grid;
    grid-template-columns: 1.35fr repeat(2, 1fr);
    gap: 1rem;
    grid-auto-rows: 220px;
}

.home-gallery__item {
    overflow: hidden;
    border-radius: 1.5rem;
    box-shadow: 0 18px 40px rgba(17, 44, 54, 0.08);
    transition: box-shadow 0.28s ease;
}

.home-gallery__item--large {
    grid-row: span 2;
}

.home-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.25s ease;
}

.home-gallery__item:hover img,
.home-gallery__item:focus img {
    transform: scale(1.03);
}

.home-press-card {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(16rem, 0.72fr);
    align-items: stretch;
    gap: 2.2rem;
    padding: 2.2rem 2.35rem;
    border-radius: 2rem;
}

.home-press-card__content {
    display: grid;
    align-content: center;
    gap: 0.9rem;
    min-width: 0;
}

.home-press-card__pill {
    justify-self: start;
}

.home-press-card__title {
    max-width: 17ch;
}

.home-press-card__copy {
    max-width: 50rem;
    margin: 0;
}

.home-press__coming-soon {
    display: inline-flex;
    justify-content: center;
    margin-top: 0.65rem;
    color: rgba(125, 0, 144, 0.76);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.34em;
    text-transform: uppercase;
}

.home-press-card__meta {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 1rem;
    padding-left: 2.2rem;
    border-left: 1px solid rgba(17, 44, 54, 0.08);
}

.home-press-card__meta-title {
    color: rgba(17, 44, 54, 0.48);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-press-card__meta-list {
    display: grid;
    gap: 0.95rem;
}

.home-press-card__meta-item {
    position: relative;
    padding-left: 1.15rem;
    color: rgba(17, 44, 54, 0.78);
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.65;
}

.home-press-card__meta-item::before {
    content: "";
    position: absolute;
    top: 0.78rem;
    left: 0;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 999px;
    background: rgba(182, 54, 234, 0.9);
    box-shadow: 0 0 0 0.28rem rgba(243, 221, 255, 0.88);
}

.home-final-cta {
    --final-cta-progress: 0;
    --final-cta-progress-eased: 0;
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(125, 0, 144, 0.94), rgba(28, 36, 86, 0.98)),
        #1c2456;
}

.home-final-cta .container {
    position: relative;
    z-index: 1;
}

.home-final-cta::after {
    content: "";
    position: absolute;
    inset: auto -4% -8% auto;
    width: min(42vw, 500px);
    aspect-ratio: 1;
    background: url("/img/tools_bottom.svg") no-repeat bottom right / contain;
    opacity: 0.18;
    pointer-events: none;
    transition:
        opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.72s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.72s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-final-cta__layer {
    opacity: 1;
    transform: none;
    filter: none;
    will-change: transform, opacity, filter;
    transition:
        opacity 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.78s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.78s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-final-cta__layer--eyebrow {
    width: auto;
    margin-inline: auto;
}

.home-final-cta.has-motion .home-final-cta__layer {
    opacity: 0;
    transform: translate3d(0, 30px, 0) scale(0.985);
    filter: blur(11px);
}

.home-final-cta.has-motion.is-visible .home-final-cta__layer--eyebrow {
    opacity: calc(1 - (var(--final-cta-progress-eased) * 0.94));
    transform: translate3d(0, calc(var(--final-cta-progress-eased) * 0.95rem), 0);
    filter: blur(calc(var(--final-cta-progress-eased) * 1.8px));
    transition-delay: 0.04s;
}

.home-final-cta.has-motion.is-visible .home-final-cta__layer--title {
    opacity: calc(1 - (var(--final-cta-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--final-cta-progress-eased) * 1.08rem), 0)
        scale(calc(1 - (var(--final-cta-progress-eased) * 0.02)));
    filter: blur(calc(var(--final-cta-progress-eased) * 2px));
    transition-delay: 0.12s;
}

.home-final-cta.has-motion.is-visible .home-final-cta__layer--copy {
    opacity: calc(1 - (var(--final-cta-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--final-cta-progress-eased) * 1.2rem), 0);
    filter: blur(calc(var(--final-cta-progress-eased) * 2.15px));
    transition-delay: 0.2s;
}

.home-final-cta.has-motion.is-visible .home-final-cta__layer--actions {
    opacity: calc(1 - (var(--final-cta-progress-eased) * 0.95));
    transform: translate3d(0, calc(var(--final-cta-progress-eased) * 1.32rem), 0);
    filter: blur(calc(var(--final-cta-progress-eased) * 2.25px));
    transition-delay: 0.3s;
}

.home-final-cta.has-motion::after {
    opacity: 0.06;
    transform: translate3d(calc(var(--final-cta-progress-eased) * 1rem), calc(var(--final-cta-progress-eased) * 1.35rem), 0)
        scale(calc(1 - (var(--final-cta-progress-eased) * 0.06)));
    filter: blur(calc(var(--final-cta-progress-eased) * 1.4px));
}

.home-final-cta .home-copy-line {
    display: block;
}

.home-actions--final .home-cta--hero-button.home-cta--final-button {
    opacity: 1;
    animation: none;
}

@media (max-width: 1199.98px) {
    .home-section-heading--split {
        flex-direction: column;
        align-items: start;
    }

    .home-timeline::before {
        left: 1rem;
        transform: none;
    }

    .home-timeline__item,
    .home-timeline__item--left,
    .home-timeline__item--right {
        width: 100%;
        justify-self: stretch;
        padding-left: 3rem;
        padding-right: 0;
        --timeline-item-offset: 1rem;
    }

    .home-timeline__item::after,
    .home-timeline__item--left::after,
    .home-timeline__item--right::after {
        left: 0.56rem;
        right: auto;
    }
}

@media (max-width: 991.98px) {
    .home-landing__section {
        padding: 4.5rem 0;
    }

    .home-hero {
        min-height: auto;
        padding-top: 6.75rem;
    }

    .home-hero__layout {
        gap: 1.5rem;
    }

    .home-hero__content {
        max-width: 100%;
    }

    .home-hero__layer--scroll-cue {
        position: static;
        display: flex;
        justify-content: center;
        margin-top: 1rem;
        transform: translate3d(0, calc(var(--hero-scroll-progress-eased) * 1.1rem), 0);
    }

    .home-support {
        width: 100%;
        grid-template-columns: 1fr;
        text-align: center;
    }

    .home-support__intro,
    .home-support__copy {
        max-width: 32rem;
        margin-left: auto;
        margin-right: auto;
    }

    .home-countdown__grid,
    .home-summary-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-countdown__molecule {
        top: -3.6rem;
        right: calc(-1.85rem - 20px);
        width: clamp(6.25rem, 14vw, 8rem);
    }

    .home-gallery__grid {
        grid-template-columns: 1fr 1fr;
    }

    .home-gallery__item--large {
        grid-column: span 2;
    }

    .home-winner-card {
        width: min(22rem, calc(100vw - 4.5rem));
    }

    .home-press-card {
        grid-template-columns: 1fr;
        gap: 1.45rem;
        padding: 1.85rem;
    }

    .home-press-card__meta {
        min-width: 0;
        padding-left: 0;
        padding-top: 1.15rem;
        border-left: 0;
        border-top: 1px solid rgba(17, 44, 54, 0.08);
    }
}

@media (max-width: 767.98px) {
    .home-display {
        max-width: none;
        font-size: 2.8rem;
    }

    .home-mission__card-col > .home-depth > .home-info-card {
        min-height: auto;
    }

    .home-section-title,
    .home-card-title {
        max-width: none;
        font-size: 2rem;
    }

    .home-actions,
    .home-actions--center {
        flex-direction: column;
        align-items: stretch;
    }

    .home-actions--hero {
        justify-content: center;
    }

    .home-cta {
        width: 100%;
    }

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

    .home-countdown__grid,
    .home-summary-bar,
    .home-category-list {
        grid-template-columns: 1fr;
    }

    .home-summary-bar--metrics {
        border-radius: 1.25rem;
    }

    .home-summary-bar__item {
        padding: 1.6rem 1.2rem 1.45rem;
    }

    .home-category-feature-list {
        grid-template-columns: 1fr;
    }

    .home-countdown__molecule {
        top: -2.45rem;
        right: calc(-1.05rem - 20px);
        width: 6.5rem;
    }

    .home-gallery__grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 220px;
    }

    .home-gallery__item--large {
        grid-column: auto;
        grid-row: auto;
    }

    .home-section-heading--press {
        margin-bottom: 2.7rem;
    }

    .home-press-card {
        padding: 1.55rem 1.35rem;
    }

    .home-press-card__title {
        max-width: none;
    }

    .home-press-card__meta-item {
        font-size: 1rem;
    }

    .home-winner-card {
        width: calc(100vw - 3.5rem);
    }

    .home-winner-card__body {
        padding: 1.35rem 1.25rem 1.5rem;
    }

    .home-winner-card__meta {
        align-items: start;
        flex-direction: column;
        gap: 0.7rem;
    }
}
