/* 실적 랜딩 — 다크 풀페이지.
   바탕·잠수함·물방울은 _pass_result.css 를 함께 쓰고 여기서는 내용만 얹는다 */

.result-page .rs-hero {
    position: relative;
    z-index: 2;
    padding: 200px 0 90px;
}

.result-page .sub-title-en {
    display: inline-block;
    margin-bottom: 22px;
    padding: 7px 15px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .82);
}

.rs-hero-title {
    margin: 0;
    font-size: clamp(2.6rem, 5.6vw, 4.6rem);
    font-weight: 900;
    line-height: 1.16;
    letter-spacing: -.04em;
    color: #fff;
    word-break: keep-all;
}

.rs-hero-title span { color: var(--point-mint); }

/* 숫자 — 이 페이지에서 제일 먼저 눈에 들어와야 한다 */
.rs-figures {
    display: flex;
    flex-wrap: wrap;
    gap: 56px;
    margin: 56px 0 0;
}

.rs-figure {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.rs-count {
    font-size: clamp(3rem, 6vw, 5.2rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.05em;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.rs-figure span {
    font-size: 1.05rem;
    font-weight: 700;
    color: rgba(255, 255, 255, .55);
}

/* 이 페이지의 주장. 작게 깔면 그냥 설명글이 된다 */
.rs-claim {
    position: relative;
    margin: 56px 0 0;
    padding-left: 26px;
}

.rs-claim::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 3px;
    background: linear-gradient(180deg, var(--point-mint), var(--point-sky));
}

.rs-claim-sub {
    margin: 0 0 12px;
    font-size: 1.02rem;
    color: rgba(255, 255, 255, .45);
    word-break: keep-all;
}

.rs-claim-main {
    margin: 0;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -.03em;
    color: rgba(255, 255, 255, .78);
    word-break: keep-all;
}

.rs-claim-main strong {
    font-weight: 900;
    color: #fff;
}

/* 공통 블록 */
.rs-block {
    position: relative;
    z-index: 2;
    padding: 70px 0;
}

.rs-label {
    margin: 0 0 26px;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #fff;
}

/* 제목과 설명도 같이 올라와야 한 덩어리로 등장한다 */
.rs-label,
.rs-note,
.rs-big {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .3, 1);
}

.animate-on-scroll.is-visible .rs-label,
.animate-on-scroll.is-visible .rs-note,
.animate-on-scroll.is-visible .rs-big {
    opacity: 1;
    transform: none;
}

.animate-on-scroll.is-visible .rs-note { transition-delay: .1s; }
.animate-on-scroll.is-visible .rs-big { transition-delay: .2s; }

/* 대학 — 이름이 알려진 순으로 큰 타일 */
.rs-unis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.rs-uni {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 26px 22px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 18px;
    background: rgba(255, 255, 255, .05);
    transition: border-color .2s, background .2s, transform .2s;
}

.rs-uni:hover {
    border-color: rgba(0, 204, 198, .45);
    background: rgba(255, 255, 255, .08);
    transform: translateY(-3px);
}

.rs-uni strong {
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: -.03em;
    color: #fff;
    word-break: keep-all;
}

.rs-uni em {
    font-style: normal;
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--point-mint);
}

.rs-uni-rest {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.rs-uni-rest span {
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    font-size: .88rem;
    color: rgba(255, 255, 255, .68);
}

.rs-uni-rest i {
    font-style: normal;
    font-weight: 800;
    color: var(--point-mint);
}

/* 계열 분포 — 한쪽이 비면 힘이 빠진다. 주장과 그래프를 좌우로 채운다 */
.rs-split {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 70px;
    align-items: start;
}

.rs-split .rs-label {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.25;
    margin-bottom: 20px;
}

.rs-note {
    margin: 0;
    font-size: .98rem;
    line-height: 1.75;
    color: rgba(255, 255, 255, .5);
    word-break: keep-all;
}

.rs-big {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 44px;
    padding-top: 34px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.rs-big .rs-count {
    font-size: clamp(3.4rem, 6vw, 5rem);
    color: var(--point-mint);
}

.rs-big span {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.55;
    color: rgba(255, 255, 255, .72);
}

.rs-fields {
    display: grid;
    gap: 18px;
}

.rs-field-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 9px;
}

.rs-field-name {
    font-size: 1.02rem;
    font-weight: 700;
    color: #fff;
}

.rs-field-count {
    font-size: .95rem;
    font-weight: 800;
    color: var(--point-mint);
}

.rs-field-track {
    height: 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    overflow: hidden;
}

/* 화면에 들어올 때 차오른다. 막대마다 조금씩 늦게 출발해 줄줄이 차오르게 한다 */
.rs-field-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--point-mint), var(--point-sky));
    transition: width 1.2s cubic-bezier(.2, .8, .3, 1);
}

.animate-on-scroll.is-visible .rs-field-fill { width: var(--w); }

.rs-field:nth-child(1) .rs-field-fill { transition-delay: .05s; }
.rs-field:nth-child(2) .rs-field-fill { transition-delay: .15s; }
.rs-field:nth-child(3) .rs-field-fill { transition-delay: .25s; }
.rs-field:nth-child(4) .rs-field-fill { transition-delay: .35s; }
.rs-field:nth-child(5) .rs-field-fill { transition-delay: .45s; }
.rs-field:nth-child(6) .rs-field-fill { transition-delay: .55s; }

/* 막대와 함께 글자도 따라 올라온다 */
.rs-field {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .3, 1);
}

.animate-on-scroll.is-visible .rs-field {
    opacity: 1;
    transform: none;
}

.rs-field:nth-child(2) { transition-delay: .08s; }
.rs-field:nth-child(3) { transition-delay: .16s; }
.rs-field:nth-child(4) { transition-delay: .24s; }
.rs-field:nth-child(5) { transition-delay: .32s; }
.rs-field:nth-child(6) { transition-delay: .4s; }

/* 대학 타일도 줄줄이 올라온다 */
.rs-uni {
    opacity: 0;
    transform: translateY(18px);
}

.animate-on-scroll.is-visible .rs-uni {
    opacity: 1;
    transform: none;
    transition: opacity .55s ease, transform .55s cubic-bezier(.2, .8, .3, 1), border-color .2s, background .2s;
}

.rs-uni:nth-child(1) { transition-delay: 0s; }
.rs-uni:nth-child(2) { transition-delay: .05s; }
.rs-uni:nth-child(3) { transition-delay: .1s; }
.rs-uni:nth-child(4) { transition-delay: .15s; }
.rs-uni:nth-child(5) { transition-delay: .2s; }
.rs-uni:nth-child(6) { transition-delay: .25s; }
.rs-uni:nth-child(7) { transition-delay: .3s; }
.rs-uni:nth-child(8) { transition-delay: .35s; }
.rs-uni:nth-child(9) { transition-delay: .4s; }
.rs-uni:nth-child(10) { transition-delay: .45s; }
.rs-uni:nth-child(11) { transition-delay: .5s; }
.rs-uni:nth-child(12) { transition-delay: .55s; }

/* 나머지 학교 칩과 대회 칩도 뒤따라 나타난다 */
.rs-uni-rest span,
.rs-contest {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .5s ease, transform .5s ease;
}

.animate-on-scroll.is-visible .rs-uni-rest span,
.animate-on-scroll.is-visible .rs-contest {
    opacity: 1;
    transform: none;
}

/* 대회 */
.rs-contests {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rs-contest {
    padding: 11px 16px;
    border: 1px solid rgba(255, 194, 0, .3);
    border-radius: 999px;
    background: rgba(255, 194, 0, .08);
    font-size: .92rem;
    color: rgba(255, 255, 255, .82);
}

.rs-contest i {
    font-style: normal;
    font-weight: 800;
    color: var(--point-yellow);
}

/* 명단 흐름 — 숫자보다 이름이 힘이 세다 */
.rs-marquee {
    position: relative;
    z-index: 2;
    padding: 30px 0 70px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}

.rs-track {
    display: flex;
    gap: 12px;
    width: max-content;
    animation: rsFlow 60s linear infinite;
}

.rs-marquee:hover .rs-track { animation-play-state: paused; }

@keyframes rsFlow {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.rs-chip {
    display: inline-flex;
    align-items: baseline;
    gap: 9px;
    padding: 13px 20px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .04);
    white-space: nowrap;
}

.rs-chip b { font-size: .98rem; font-weight: 800; color: #fff; }
.rs-chip i { font-style: normal; font-size: .88rem; color: rgba(255, 255, 255, .55); }
.rs-chip em { font-style: normal; font-size: .84rem; color: var(--point-mint); }

/* 목록으로 보내는 구역 — 제목을 가운데로 세워 한 번 끊어 준다 */
.rs-links { text-align: center; padding: 90px 0; }

.rs-links .rs-label {
    margin: 0 0 16px;
    font-size: clamp(2rem, 4.2vw, 3.4rem);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1.2;
}

.rs-links .rs-note {
    max-width: 620px;
    margin: 0 auto;
    font-size: 1.05rem;
}

.rs-links .rs-link-card { text-align: left; }

/* 목록으로 보내는 카드 */
.rs-link-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 34px;
}

.rs-link-card {
    display: flex;
    flex-direction: column;
    padding: 34px 30px 30px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    background: rgba(255, 255, 255, .05);
    text-decoration: none;
    transition: border-color .25s, background .25s, transform .25s;
}

.rs-link-card:hover {
    border-color: var(--point-mint);
    background: rgba(0, 204, 198, .1);
    transform: translateY(-5px);
}

.rs-link-tag {
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .38);
}

.rs-link-card strong {
    margin-top: 12px;
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: -.03em;
    color: #fff;
}

.rs-link-card em {
    margin-top: 6px;
    font-style: normal;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--point-mint);
}

.rs-link-card p {
    margin: 16px 0 0;
    font-size: .92rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, .5);
    word-break: keep-all;
}

/* 화살표는 도형으로 그린다 */
.rs-link-go {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 26px;
    font-size: .92rem;
    font-weight: 700;
    color: #fff;
}

.rs-link-go::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--point-mint);
    border-right: 2px solid var(--point-mint);
    transform: rotate(45deg);
    transition: transform .25s;
}

.rs-link-card:hover .rs-link-go::after { transform: rotate(45deg) translate(3px, -3px); }

/* 수상은 노랑, 갤러리는 하늘 */
.rs-link-award:hover { border-color: var(--point-yellow); background: rgba(255, 194, 0, .1); }
.rs-link-award em { color: var(--point-yellow); }
.rs-link-award .rs-link-go::after { border-color: var(--point-yellow); }

.rs-link-gallery:hover { border-color: var(--point-sky); background: rgba(6, 127, 255, .12); }
.rs-link-gallery em { color: #8ec8ff; }
.rs-link-gallery .rs-link-go::after { border-color: #8ec8ff; }

/* 카드도 줄줄이 올라온다 */
.rs-link-card {
    opacity: 0;
    transform: translateY(18px);
}

.animate-on-scroll.is-visible .rs-link-card {
    opacity: 1;
    transform: none;
}

.animate-on-scroll.is-visible .rs-link-card:nth-child(2) { transition-delay: .1s; }
.animate-on-scroll.is-visible .rs-link-card:nth-child(3) { transition-delay: .2s; }

/* 상담 유도 */
.rs-cta {
    position: relative;
    z-index: 2;
    padding: 90px 0 130px;
    text-align: center;
}

.rs-cta h2 {
    margin: 0;
    font-size: clamp(1.9rem, 4vw, 3.2rem);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.035em;
    color: #fff;
    word-break: keep-all;
}

.rs-cta p {
    margin: 20px 0 0;
    font-size: 1.02rem;
    color: rgba(255, 255, 255, .55);
    word-break: keep-all;
}

.rs-cta-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
}

.rs-btn {
    display: inline-flex;
    align-items: center;
    padding: 18px 36px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    transition: border-color .2s, background .2s, color .2s, transform .2s;
}

.rs-btn:hover { border-color: var(--point-mint); transform: translateY(-2px); }

.rs-btn-primary {
    background: var(--point-mint);
    border-color: var(--point-mint);
    color: #05221f;
}

.rs-btn-primary:hover { background: var(--point-mint-light); border-color: var(--point-mint-light); }

@media (max-width: 1080px) {
    .rs-unis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .rs-split { grid-template-columns: 1fr; gap: 36px; }
    .rs-big { margin-top: 28px; padding-top: 24px; }
}

@media (max-width: 760px) {
    .result-page .rs-hero { padding: 150px 0 60px; }
    .rs-figures { gap: 28px 36px; margin-top: 40px; }
    .rs-claim { margin-top: 36px; padding-left: 18px; }
    .rs-claim-main { font-size: 1.25rem; }
    .rs-claim-main br { display: none; }
    .rs-unis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .rs-uni { padding: 20px 16px; }
    .rs-uni strong { font-size: 1rem; }
    .rs-block { padding: 50px 0; }
    .rs-label { font-size: 1.25rem; }
    .rs-links { padding: 60px 0; }
    .rs-links .rs-note br { display: none; }
    .rs-cta { padding: 70px 0 100px; }
    .rs-btn { padding: 16px 26px; font-size: .95rem; }
}

/* 접힌 학교 한 줄 */
.rs-uni-rest span {
    display: inline-block;
    padding: 10px 18px;
    border: 1px dashed rgba(0, 204, 198, .45);
    border-radius: 999px;
    font-size: .92rem;
    font-weight: 700;
    color: var(--point-mint);
}
