/* ==========================================================================
   FINALE + FOOTER
   ========================================================================== */

.finale { position: relative; z-index: 2; padding-top: clamp(80px, 12vh, 140px); overflow: hidden; }
.finale__stage { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 var(--gutter); }
.finale__orb { position: absolute; left: 50%; top: 4%; width: 2px; height: 2px; }
.finale__title { display: flex; flex-direction: column; align-items: center; font-family: var(--f-kr); font-weight: 400; font-size: clamp(4.4rem, 15vw, 15rem); line-height: .92; letter-spacing: -.01em; }
.finale__line { display: block; }
.finale__line--accent { color: var(--red-hot); text-shadow: 0 0 60px rgba(227, 24, 45, .55); }
.finale__en { margin-top: 20px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.3rem, 2.2vw, 2rem); letter-spacing: -.035em; }
.finale__gamja { width: clamp(280px, 36vw, 640px); max-width: 100%; margin-top: 30px; transform-origin: 50% 100%; }
.finale__gamja img { pointer-events: auto; filter: drop-shadow(0 30px 40px rgba(227, 24, 45, .35)); }
.finale__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; }

.footer {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
    grid-template-areas: "brand nav socials" "legal legal legal" "copy copy copy";
    gap: 36px 50px;
    max-width: calc(var(--container) + var(--gutter) * 2);
    margin: clamp(80px, 14vh, 150px) auto 0;
    padding: 50px var(--gutter) 36px;
    border-top: 1px solid var(--line-2);
}
.footer__brand { grid-area: brand; }
.footer__brand p { margin-top: 14px; max-width: 36ch; color: var(--muted); }
.footer__nav { grid-area: nav; display: flex; gap: 50px; }
.footer__nav a { display: inline-block; padding: 4px 0; font-weight: 600; color: var(--muted); transition: color .3s, transform .4s var(--ease-out); }
.footer__nav a:hover { color: var(--cream); transform: translateX(4px); }
.footer__socials { grid-area: socials; display: flex; flex-wrap: wrap; gap: 8px; align-content: start; max-width: 170px; }
.footer__legal { grid-area: legal; padding-top: 24px; border-top: 1px solid var(--line); font-size: .8rem; color: var(--dim); max-width: 110ch; }
.footer__copy { grid-area: copy; font-size: .8rem; font-weight: 600; color: var(--dim); }
.footer__copy [lang="ko"] { color: var(--red-hot); }

@media (max-width: 900px) {
    .footer { grid-template-columns: 1fr; grid-template-areas: "brand" "nav" "socials" "legal" "copy"; }
    .footer__socials { max-width: none; }
}
@media (max-width: 560px) {
    .finale__ctas .btn { flex: 1 1 100%; justify-content: space-between; }
}
