.cy-finale {
    --paper: #f5efe2;
    --brass: #e1bb90;
    background: #182521;
    color: var(--paper);
    padding: clamp(2.6rem, 5.5vw, 6rem) 0 clamp(3rem, 6vw, 6rem);
}
.cy-finale-inner { width: min(90%, 1360px); margin: auto; }
.cy-finale h2 {
    margin: 0 0 clamp(1.6rem, 3vw, 3.2rem);
    scroll-margin-top: 5rem;
    font: italic 400 clamp(2.45rem, 4.65vw, 5rem)/1.08 Georgia, 'Times New Roman', serif;
    letter-spacing: -.045em;
    color: var(--brass);
    text-wrap: balance;
}
.cy-finale-choices {
    position: relative;
    display: grid;
    padding-left: 55%;
    min-height: clamp(290px, 28vw, 420px);
}
.cy-finale a.cy-finale-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: 1rem .25rem;
    color: var(--paper);
    text-decoration: none;
    border-top: 1px solid #65716a;
}
.cy-finale-link:last-child { border-bottom: 1px solid #65716a; }
.cy-finale-link:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.cy-finale-label { display: grid; gap: .35rem; }
.cy-finale-label small { font-size: clamp(.8rem, 1.15vw, 1rem); line-height: 1.35; color: #d3cbba; }
.cy-finale-label strong { font-family: inherit; font-size: clamp(1.75rem, 3.15vw, 3.6rem); font-weight: 500; line-height: 1.1; letter-spacing: -.055em; }
.cy-finale-arrow {
    font: 400 clamp(1.3rem, 2.2vw, 2.3rem)/1 sans-serif;
    color: var(--brass); transition: transform .3s ease;
}
.cy-finale-art {
    position: absolute; inset: 0 auto 0 0; width: 49.5%; overflow: hidden; pointer-events: none;
    background: #101819; opacity: 0; transition: opacity .45s ease;
}
.cy-finale-art img { width: 100%; height: 100%; display: block; object-fit: cover; transform: scale(1.045); transition: transform .65s ease; }
.cy-finale-link[data-choice="1"] img { object-fit: contain; background: #0b0c0c; }
.cy-finale-choices[data-active="0"] [data-choice="0"] .cy-finale-art,
.cy-finale-choices[data-active="1"] [data-choice="1"] .cy-finale-art,
.cy-finale-choices[data-active="2"] [data-choice="2"] .cy-finale-art { opacity: 1; z-index: 1; }
.cy-finale-choices[data-active="0"] [data-choice="0"] img,
.cy-finale-choices[data-active="1"] [data-choice="1"] img,
.cy-finale-choices[data-active="2"] [data-choice="2"] img { transform: none; }
.cy-finale a:is(:focus-visible,:hover) .cy-finale-arrow { transform: translate(.15em,-.15em); }
.cy-finale a:is(:focus-visible,:hover) strong { color: var(--brass); }
@media (max-width: 720px) {
    .cy-finale-choices { min-height: 0; padding: 0; }
    .cy-finale a.cy-finale-link { display: grid; grid-template-columns: clamp(64px,19vw,106px) minmax(0,1fr) auto; gap: clamp(.65rem,3vw,1.25rem); padding: .85rem 0; }
    .cy-finale-art { position: relative; inset: auto; width: 100%; aspect-ratio: 1.18; opacity: 1; }
    .cy-finale-art img { transform: none; }
    .cy-finale-label strong { font-size: clamp(1.35rem,5.5vw,2.15rem); }
}
@media (prefers-reduced-motion: no-preference) {
    .cy-finale.is-entering .cy-finale-label { animation: cy-finale-rise .65s cubic-bezier(.2,.65,.3,1) both; }
    .cy-finale.is-entering [data-choice="1"] .cy-finale-label { animation-delay: 75ms; }
    .cy-finale.is-entering [data-choice="2"] .cy-finale-label { animation-delay: 150ms; }
    @keyframes cy-finale-rise { from { opacity: .25; transform: translateY(.65em); } to { opacity: 1; transform: none; } }
}
@media (prefers-reduced-motion: reduce) {
    .cy-finale *, .cy-finale a:is(:focus-visible,:hover) .cy-finale-arrow { transition: none; transform: none; }
}
