.entrepreneurial-project {
    --section-marker-page-inset: 24px;
    --section-marker-content-inset: 30px;
    --cycle-reveal: 1;

    position: relative;
    z-index: 6;
    color: var(--ink);
    background: var(--paper);
}

.entrepreneurial-project__content {
    padding: 96px 30px 148px;
    border-inline: 1px solid var(--line);
}

.entrepreneurial-project__intro {
    width: min(100%, 590px);
    margin-inline: auto;
    padding: 0 20px 80px;
    text-align: center;
}

.entrepreneurial-project__logo {
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 auto;
    mix-blend-mode: multiply;
}

html[data-theme="dark"] .entrepreneurial-project__logo {
    filter: invert(1);
    mix-blend-mode: screen;
}

.entrepreneurial-project__intro h2 {
    margin: 0;
    font-size: clamp(48px, 7vw, 68px);
    font-weight: 800;
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.entrepreneurial-project__meta,
.entrepreneurial-project__story h3,
.entrepreneurial-project__cycle > h3,
.entrepreneurial-project__maturation > h3 {
    color: color-mix(in srgb, var(--ink) 62%, transparent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: 0.085em;
}

.entrepreneurial-project__meta {
    margin: 24px 0 0;
    text-transform: uppercase;
}

.entrepreneurial-project__role {
    margin: 13px 0 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}

.entrepreneurial-project__status {
    width: min(100%, 520px);
    margin: 30px auto 0;
    color: color-mix(in srgb, var(--ink) 78%, transparent);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.62;
}

.entrepreneurial-project__stories {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
}

.entrepreneurial-project__story {
    min-width: 0;
    padding: 42px 30px 50px;
}

.entrepreneurial-project__story + .entrepreneurial-project__story {
    border-left: 1px solid var(--line);
}

.entrepreneurial-project__story h3,
.entrepreneurial-project__cycle > h3,
.entrepreneurial-project__maturation > h3 {
    margin: 0;
}

.entrepreneurial-project__story p,
.entrepreneurial-project__cycle-copy,
.entrepreneurial-project__outcomes {
    color: color-mix(in srgb, var(--ink) 82%, transparent);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.72;
}

.entrepreneurial-project__story p {
    margin: 22px 0 0;
}

.entrepreneurial-project__cycle {
    padding: 48px 30px 56px;
    border-top: 1px solid var(--line);
}

.entrepreneurial-project__cycle-intro,
.entrepreneurial-project__maturation-intro {
    width: min(100%, 570px);
    margin: 20px 0 0;
    color: color-mix(in srgb, var(--ink) 82%, transparent);
    font-size: 18px;
    font-weight: 650;
    line-height: 1.5;
}

.entrepreneurial-project__cycle-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 50px 0 0;
    padding: 0;
    list-style: none;
}

.entrepreneurial-project__cycle-track::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 12.5%;
    right: 12.5%;
    height: 1px;
    background: color-mix(in srgb, var(--ink) 42%, transparent);
    transform: scaleX(var(--cycle-reveal));
    transform-origin: left center;
}

.entrepreneurial-project__cycle-step {
    position: relative;
    display: grid;
    min-width: 0;
    justify-items: center;
    gap: 8px;
    text-align: center;
}

.entrepreneurial-project__cycle-step strong {
    position: relative;
    padding-inline: 12px;
    background: var(--paper);
    font-size: 15px;
    font-weight: 750;
    line-height: 30px;
}

.entrepreneurial-project__cycle-step--restocking {
    gap: 5px;
}

.entrepreneurial-project__cycle-substep {
    display: grid;
    justify-items: center;
    gap: 5px;
    transform: translateX(-2px);
}

.entrepreneurial-project__cycle-substep > span {
    min-height: 30px;
    padding-inline: 8px;
    color: color-mix(in srgb, var(--ink) 62%, transparent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
    text-transform: uppercase;
}

.entrepreneurial-project__cycle-connector {
    position: relative;
    box-sizing: border-box;
    width: 1px;
    height: 16px;
    margin-top: -3px;
    border: 0;
    background: color-mix(in srgb, var(--ink) 42%, transparent);
}

.entrepreneurial-project__cycle-connector::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 5px;
    height: 5px;
    border-right: 1px solid color-mix(in srgb, var(--ink) 42%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--ink) 42%, transparent);
    transform: translate(-50%, 1px) rotate(45deg);
}

.entrepreneurial-project__cycle-copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
    margin-top: 42px;
}

.entrepreneurial-project__cycle-copy p {
    margin: 0;
}

.entrepreneurial-project__maturation {
    padding: 48px 30px 58px;
    border-top: 1px solid var(--line);
}

.entrepreneurial-project__programs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 42px;
    border-block: 1px solid var(--line);
}

.entrepreneurial-project__program {
    min-width: 0;
    padding: 28px 24px 30px;
    text-align: center;
}

.entrepreneurial-project__program + .entrepreneurial-project__program {
    border-left: 1px solid var(--line);
}

.entrepreneurial-project__program h4,
.entrepreneurial-project__program p {
    margin: 0;
}

.entrepreneurial-project__program h4 {
    font-size: clamp(22px, 3.5vw, 30px);
    font-weight: 750;
    line-height: 1;
    letter-spacing: -0.045em;
}

.entrepreneurial-project__program p {
    margin-top: 12px;
    color: color-mix(in srgb, var(--ink) 62%, transparent);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.entrepreneurial-project__outcomes {
    width: min(100%, 590px);
    margin: 34px auto 0;
    text-align: center;
}

.entrepreneurial-project__conclusion {
    position: relative;
    padding: 70px 30px 8px;
    border-top: 1px solid var(--line);
    text-align: center;
}

.entrepreneurial-project__conclusion::before {
    content: "";
    position: absolute;
    top: 32px;
    left: 50%;
    width: 42px;
    height: 2px;
    background: var(--cursor-hover-color);
    transform: translateX(-50%);
}

.entrepreneurial-project__conclusion p {
    width: min(100%, 540px);
    margin: 0 auto;
    font-size: clamp(26px, 4.2vw, 38px);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -0.045em;
}

@media (prefers-reduced-motion: no-preference) {
    .entrepreneurial-project[data-cycle-ready="true"] {
        --cycle-reveal: 0;
    }

    .entrepreneurial-project[data-cycle-ready="true"].is-cycle-visible {
        --cycle-reveal: 1;
    }

    .entrepreneurial-project[data-cycle-ready="true"]
    .entrepreneurial-project__cycle-track::before {
        transition: transform 620ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .entrepreneurial-project[data-cycle-ready="true"]
    .entrepreneurial-project__cycle-step {
        opacity: 0.42;
        transform: translate3d(0, 7px, 0);
        transition:
            opacity 420ms cubic-bezier(0.16, 1, 0.3, 1),
            transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
    }

    .entrepreneurial-project[data-cycle-ready="true"].is-cycle-visible
    .entrepreneurial-project__cycle-step {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .entrepreneurial-project.is-cycle-visible
    .entrepreneurial-project__cycle-step:nth-child(2) {
        transition-delay: 70ms;
    }

    .entrepreneurial-project.is-cycle-visible
    .entrepreneurial-project__cycle-step:nth-child(3) {
        transition-delay: 140ms;
    }

    .entrepreneurial-project.is-cycle-visible
    .entrepreneurial-project__cycle-step:nth-child(4) {
        transition-delay: 210ms;
    }
}

@media (prefers-color-scheme: dark) {
    html:not([data-theme]) .entrepreneurial-project__logo {
        filter: invert(1);
        mix-blend-mode: screen;
    }
}

@media (max-width: 760px) {
    .entrepreneurial-project__content {
        padding: 84px 24px 124px;
    }

    .entrepreneurial-project__intro {
        padding-inline: 12px;
    }

    .entrepreneurial-project__story,
    .entrepreneurial-project__cycle,
    .entrepreneurial-project__maturation {
        padding-inline: 24px;
    }

    .entrepreneurial-project__cycle-copy {
        gap: 28px;
    }
}

@media (max-width: 620px) {
    .entrepreneurial-project {
        --section-marker-page-inset: 16px;
        --section-marker-content-inset: 16px;
    }

    .entrepreneurial-project__content {
        padding: 76px 16px 100px;
    }

    .entrepreneurial-project__intro {
        padding: 0 8px 62px;
    }

    .entrepreneurial-project__intro h2 {
        font-size: clamp(44px, 15vw, 58px);
    }

    .entrepreneurial-project__meta {
        font-size: 9px;
        line-height: 1.55;
    }

    .entrepreneurial-project__role {
        font-size: 16px;
    }

    .entrepreneurial-project__status {
        margin-top: 26px;
        font-size: 16px;
    }

    .entrepreneurial-project__stories {
        grid-template-columns: 1fr;
    }

    .entrepreneurial-project__story {
        padding: 34px 8px 38px;
    }

    .entrepreneurial-project__story + .entrepreneurial-project__story {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .entrepreneurial-project__cycle,
    .entrepreneurial-project__maturation {
        padding: 38px 8px 44px;
    }

    .entrepreneurial-project__cycle-intro,
    .entrepreneurial-project__maturation-intro {
        font-size: 17px;
    }

    .entrepreneurial-project__cycle-track {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-top: 36px;
    }

    .entrepreneurial-project__cycle-track::before {
        top: 15px;
        bottom: 15px;
        left: 14px;
        right: auto;
        width: 1px;
        height: auto;
        transform: scaleY(var(--cycle-reveal));
        transform-origin: center top;
    }

    .entrepreneurial-project__cycle-step {
        min-height: 30px;
        grid-template-columns: minmax(0, auto) minmax(0, 1fr);
        justify-items: start;
        align-items: center;
        gap: 12px;
        padding-left: 28px;
        text-align: left;
    }

    .entrepreneurial-project__cycle-step strong {
        padding: 0 8px;
    }

    .entrepreneurial-project__cycle-substep {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr);
        justify-items: stretch;
        align-items: center;
        gap: 7px;
        min-width: 0;
        transform: none;
    }

    .entrepreneurial-project__cycle-substep > span {
        min-height: 0;
        padding: 0;
        text-align: left;
    }

    .entrepreneurial-project__cycle-connector {
        width: 22px;
        height: 1px;
        margin: 0;
        border: 0;
        background: color-mix(in srgb, var(--ink) 42%, transparent);
    }

    .entrepreneurial-project__cycle-connector::after {
        top: -2px;
        left: auto;
        right: 0;
        bottom: auto;
        border-top: 1px solid color-mix(in srgb, var(--ink) 42%, transparent);
        border-right: 1px solid color-mix(in srgb, var(--ink) 42%, transparent);
        border-bottom: 0;
        transform: rotate(45deg);
    }

    .entrepreneurial-project__cycle-copy {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 34px;
    }

    .entrepreneurial-project__programs {
        grid-template-columns: 1fr;
        margin-top: 34px;
    }

    .entrepreneurial-project__program {
        padding-inline: 12px;
    }

    .entrepreneurial-project__program + .entrepreneurial-project__program {
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .entrepreneurial-project__outcomes {
        text-align: left;
    }

    .entrepreneurial-project__conclusion {
        padding: 64px 8px 0;
    }

    .entrepreneurial-project__conclusion p {
        font-size: clamp(27px, 9vw, 34px);
    }
}

@media (max-width: 350px) {
    .entrepreneurial-project__cycle-step--restocking {
        gap: 5px;
    }

    .entrepreneurial-project__cycle-step--restocking > strong {
        padding-inline: 0;
    }

    .entrepreneurial-project__cycle-substep {
        grid-template-columns: 16px minmax(0, 1fr);
        gap: 4px;
    }

    .entrepreneurial-project__cycle-connector {
        width: 16px;
    }
}
