.cb-cycle {
    --cb-bg: #080b12;
    --cb-panel: #0e1420;
    --cb-line: rgba(166, 181, 212, .2);
    --cb-copy: #aeb8ca;
    --cb-lilac: #a78bfa;
    --cb-cyan: #58e5d0;
    --cb-amber: #f8c66b;
    position: relative;
    overflow: hidden;
    padding: clamp(5rem, 8vw, 8rem) 0;
    color: #f8fafc;
    background:
        radial-gradient(circle at 8% 10%, rgba(88, 229, 208, .11), transparent 25rem),
        radial-gradient(circle at 92% 28%, rgba(167, 139, 250, .13), transparent 31rem),
        var(--cb-bg);
}

.cb-cycle::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(to bottom, #000, transparent 62%);
}

.cb-cycle__container {
    position: relative;
    z-index: 1;
    width: min(1320px, calc(100% - 40px));
    margin: 0 auto;
}

.cb-cycle__heading {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: end;
    margin-bottom: clamp(2.2rem, 4vw, 3.7rem);
}

.cb-cycle__kicker,
.cb-cycle__panel-head small,
.cb-cycle__identity small,
.cb-cycle__truths dt,
.cb-cycle__timeline small,
.cb-cycle__verdict small,
.cb-cycle__contracts small,
.cb-cycle__boundaries span {
    margin: 0;
    color: var(--cb-cyan);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.cb-cycle__heading h2 {
    max-width: 880px;
    margin: .8rem 0 0;
    font-size: clamp(2.5rem, 5vw, 5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.cb-cycle__heading > p {
    margin: 0;
    color: var(--cb-copy);
    font-size: 1.06rem;
    line-height: 1.75;
}

.cb-cycle__ledger {
    overflow: hidden;
    border: 1px solid rgba(167, 139, 250, .32);
    border-radius: 22px;
    background: rgba(7, 10, 17, .84);
    box-shadow: 0 40px 100px rgba(0, 0, 0, .42);
}

.cb-cycle__topbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.1rem 1.3rem;
    border-bottom: 1px solid var(--cb-line);
    background: linear-gradient(90deg, rgba(88,229,208,.08), rgba(167,139,250,.09));
}

.cb-cycle__identity {
    display: flex;
    gap: .8rem;
    align-items: center;
}

.cb-cycle__identity strong {
    display: block;
    margin-top: .18rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .92rem;
    letter-spacing: .05em;
}

.cb-cycle__mark {
    position: relative;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(88,229,208,.35);
    border-radius: 13px;
    background: rgba(88,229,208,.08);
}

.cb-cycle__mark i {
    position: absolute;
    width: 20px;
    height: 8px;
    border: 2px solid var(--cb-cyan);
    border-radius: 999px;
}

.cb-cycle__mark i:first-child { transform: translateY(-7px); }
.cb-cycle__mark i:last-child { transform: translateY(7px); }

.cb-cycle__topbar dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin: 0;
}

.cb-cycle__topbar dl > div {
    min-width: 0;
    padding: .55rem .75rem;
    border: 1px solid var(--cb-line);
    border-radius: 10px;
    background: rgba(10,14,23,.72);
}

.cb-cycle__topbar dt {
    color: #74809a;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cb-cycle__topbar dd {
    overflow: hidden;
    margin: .18rem 0 0;
    font-size: .75rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cb-cycle__status {
    display: inline-flex;
    gap: .48rem;
    align-items: center;
    padding: .6rem .75rem;
    border: 1px solid rgba(248,198,107,.32);
    border-radius: 999px;
    color: #ffe2aa;
    background: rgba(248,198,107,.08);
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
}

.cb-cycle__status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--cb-amber);
    box-shadow: 0 0 13px var(--cb-amber);
}

.cb-cycle__story {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    min-height: 570px;
}

.cb-cycle__timeline {
    display: grid;
    gap: 0;
    align-content: center;
    margin: 0;
    padding: 1.5rem 1.3rem;
    border-right: 1px solid var(--cb-line);
    list-style: none;
    background: rgba(13,18,29,.62);
}

.cb-cycle__timeline li {
    display: grid;
    grid-template-columns: 42px 18px minmax(0,1fr);
    gap: .6rem;
    min-height: 92px;
    color: var(--cb-copy);
}

.cb-cycle__timeline time {
    padding-top: .14rem;
    color: #69758d;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .65rem;
}

.cb-cycle__timeline li > span {
    position: relative;
    width: 12px;
    height: 12px;
    margin-top: .1rem;
    border: 3px solid #1f2937;
    border-radius: 50%;
    background: #61708a;
}

.cb-cycle__timeline li:not(:last-child) > span::after {
    position: absolute;
    top: 11px;
    left: 2px;
    width: 2px;
    height: 80px;
    content: "";
    background: var(--cb-line);
}

.cb-cycle__timeline .is-done > span { background: var(--cb-cyan); box-shadow: 0 0 12px rgba(88,229,208,.35); }
.cb-cycle__timeline .is-late > span { background: var(--cb-amber); box-shadow: 0 0 12px rgba(248,198,107,.35); }
.cb-cycle__timeline .is-current > span { background: var(--cb-lilac); box-shadow: 0 0 12px rgba(167,139,250,.45); }
.cb-cycle__timeline strong { display: block; margin: .13rem 0 .18rem; color: #f8fafc; font-size: .91rem; }
.cb-cycle__timeline p { margin: 0; font-size: .72rem; line-height: 1.45; }

.cb-cycle__truths {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .8rem;
    align-items: stretch;
    padding: 1.35rem;
}

.cb-cycle__truths article {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 1rem;
    border: 1px solid var(--cb-line);
    border-radius: 15px;
    background: linear-gradient(180deg, rgba(20,27,42,.88), rgba(10,14,23,.88));
}

.cb-cycle__panel-head {
    display: flex;
    gap: .65rem;
    align-items: center;
    min-height: 48px;
}

.cb-cycle__panel-head > span {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid rgba(167,139,250,.32);
    border-radius: 8px;
    color: var(--cb-lilac);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .66rem;
}

.cb-cycle__panel-head h3 { margin: .15rem 0 0; font-size: 1rem; line-height: 1.25; }
.cb-cycle__truths dl { display: grid; gap: .48rem; margin: 1.15rem 0; }
.cb-cycle__truths dl > div { padding-bottom: .45rem; border-bottom: 1px solid rgba(166,181,212,.11); }
.cb-cycle__truths dd { margin: .18rem 0 0; color: #f8fafc; font-size: .79rem; line-height: 1.35; }
.cb-cycle__truths article > b {
    display: block;
    margin-top: auto;
    padding: .58rem .65rem;
    border-radius: 8px;
    font-size: .72rem;
    text-align: center;
}
.cb-cycle__truths .is-ok { color: #8ef6e6; background: rgba(88,229,208,.11); }
.cb-cycle__truths .is-warn { color: #ffe2aa; background: rgba(248,198,107,.11); }
.cb-cycle__truths .is-hold { color: #d4c8ff; background: rgba(167,139,250,.12); }

.cb-cycle__verdict {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(30rem, .9fr);
    gap: 1rem;
    align-items: center;
    padding: 1.15rem 1.3rem;
    border-top: 1px solid var(--cb-line);
    background: linear-gradient(90deg, rgba(167,139,250,.12), rgba(88,229,208,.07));
}

.cb-cycle__verdict strong { display: block; margin-top: .25rem; font-size: .92rem; line-height: 1.45; }
.cb-cycle__verdict ul { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .4rem; margin: 0; padding: 0; list-style: none; }
.cb-cycle__verdict li { padding: .52rem .58rem; border: 1px solid var(--cb-line); border-radius: 8px; background: rgba(6,9,15,.55); }
.cb-cycle__verdict li span { display: block; color: #74809a; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; }
.cb-cycle__verdict li b { display: block; margin-top: .17rem; color: #e8edf7; font-size: .64rem; }

.cb-cycle__contracts,
.cb-cycle__boundaries {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: .7rem;
    margin-top: .8rem;
}

.cb-cycle__contracts article,
.cb-cycle__boundaries a {
    display: flex;
    gap: .75rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--cb-line);
    border-radius: 13px;
    color: inherit;
    background: rgba(13,18,29,.72);
}

.cb-cycle__contracts article > span {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border: 1px solid rgba(88,229,208,.3);
    border-radius: 9px;
    color: var(--cb-cyan);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .65rem;
}

.cb-cycle__contracts strong,
.cb-cycle__boundaries strong { display: block; margin: .24rem 0; font-size: .86rem; line-height: 1.3; }
.cb-cycle__contracts p,
.cb-cycle__boundaries small { margin: 0; color: var(--cb-copy); font-size: .72rem; line-height: 1.5; }

.cb-cycle__first-lot {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 2rem;
    align-items: center;
    margin-top: .8rem;
    padding: clamp(1.35rem, 3vw, 2.2rem);
    border: 1px solid rgba(88,229,208,.3);
    border-radius: 18px;
    background: linear-gradient(120deg, rgba(88,229,208,.1), rgba(167,139,250,.1));
}

.cb-cycle__first-lot h3 { max-width: 850px; margin: .45rem 0; font-size: clamp(1.45rem, 2.3vw, 2.2rem); line-height: 1.15; letter-spacing: -.025em; }
.cb-cycle__first-lot p:last-child { max-width: 880px; margin: 0; color: var(--cb-copy); line-height: 1.65; }
.cb-cycle__cta {
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    color: #07110f !important;
    background: var(--cb-cyan);
    white-space: nowrap;
}
.cb-cycle__cta:hover { background: #83f0df; }

.cb-cycle__boundaries a {
    display: block;
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.cb-cycle__boundaries a:hover { transform: translateY(-3px); border-color: rgba(167,139,250,.62); background: rgba(25,30,49,.9); }
.cb-cycle__boundaries span { color: var(--cb-lilac); }

@media (max-width: 1120px) {
    .cb-cycle__story { grid-template-columns: 300px minmax(0,1fr); }
    .cb-cycle__truths { grid-template-columns: 1fr; }
    .cb-cycle__truths article { display: grid; grid-template-columns: minmax(12rem,.8fr) 1fr auto; gap: .8rem; align-items: center; }
    .cb-cycle__truths dl { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; }
    .cb-cycle__truths article > b { margin: 0; }
    .cb-cycle__verdict { grid-template-columns: 1fr; }
    .cb-cycle__contracts,
    .cb-cycle__boundaries { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
    .cb-cycle { padding: 4rem 0; }
    .cb-cycle__container { width: calc(100% - 16px); }
    .cb-cycle__heading { grid-template-columns: 1fr; gap: 1.2rem; }
    .cb-cycle__heading h2 { font-size: clamp(2.15rem, 11vw, 3.2rem); }
    .cb-cycle__heading > p { font-size: .93rem; }
    .cb-cycle__topbar { grid-template-columns: 1fr; padding: 1rem; }
    .cb-cycle__topbar dl { grid-template-columns: 1fr; }
    .cb-cycle__status { justify-self: start; }
    .cb-cycle__story { grid-template-columns: 1fr; }
    .cb-cycle__timeline { border-right: 0; border-bottom: 1px solid var(--cb-line); padding: 1.2rem 1rem; }
    .cb-cycle__timeline li { grid-template-columns: 40px 18px minmax(0,1fr); }
    .cb-cycle__truths { padding: .75rem; }
    .cb-cycle__truths article { display: flex; }
    .cb-cycle__truths dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; margin: 1rem 0; }
    .cb-cycle__truths article > b { width: 100%; margin-top: auto; }
    .cb-cycle__verdict { padding: 1rem; }
    .cb-cycle__verdict ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cb-cycle__contracts,
    .cb-cycle__boundaries { grid-template-columns: 1fr; gap: .55rem; }
    .cb-cycle__first-lot { grid-template-columns: 1fr; gap: 1.2rem; }
    .cb-cycle__cta { width: 100%; justify-content: center; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
    .cb-cycle__boundaries a { transition: none; }
}
