/* ====================== 
COMMON
====================== */
.inner {padding:0 4%;position:relative;text-align: center;}
.confetti {position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index: 1;}
.inner img {width:100%;}
/* ====================== 
CONTENTS
====================== */
.perfect-wrap {background:#C8E7FC url("https://russeldata.megastudy.net/campus/images/russel/m_russel/perfect/2026/bg.jpg") center no-repeat;background-size:100% auto;overflow:hidden;padding-bottom:60px;position:relative;background-position:top;}
.perfect-wrap .bg-confetti {position:absolute;top:0;left:0; width: 100%;display: flex;justify-content: center;}
.select-year select {width:100%;border:none;border-bottom:1px solid #eaeaea;background: url("http://russeldata.megastudy.net/campus/images/russel/m_russel/common/bg_sel03.png") #fff 97% 52% no-repeat;background-size:14px 9px; text-align-last:center;font-family: "Noto Sans KR", "맑은 고딕", "Malgun Gothic", sans-serif !important;}

/* ---------- 타이틀 ---------- */
.tit-wrap .tit-obj {box-sizing: border-box;animation: floatObj 1.5s ease-in-out infinite;padding-left:6vw;}
.tit-wrap .tit-obj img {width:calc(343vw / 7.2)}
.tit-wrap .p-sub-tit {margin-top:-20px;}
.tit-wrap .p-sub-tit img {width:calc(474vw / 7.2)}
.tit-wrap h2 {margin-top:30px;position:relative;padding:0 10px;width:100%;}
@keyframes floatObj {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-10px); } /* 위로 10px */
  100% { transform: translateY(0); }
}
/* 데이터 산출기준 */
.tooltip {position: absolute;bottom:-15px;right:0;display: inline-block;z-index: 3;}
.tooltip-trigger {cursor: pointer;color: rgba(1, 1, 1, 0.40);
font-size:10px;font-weight:500;letter-spacing: -0.65px;display:flex;align-items: center;}
.tooltip-trigger i {margin-right:3px;width:10px;}
.tooltip-layer {display: none;position: absolute;top: 100%;right: 0;padding: 8px 12px;background: #fff;border-radius: 4px;box-shadow: 0 4px 10px rgba(0,0,0,0.08);font-size: 10px;white-space: nowrap;z-index: 50;margin-top: 6px;text-align: left;line-height:1.5;font-weight:normal;}
.tooltip .tooltip-close {position: absolute;top: 4px;right: 4px;width: 14px;height: 14px;padding: 0;border: none;background: none;cursor: pointer;opacity: 0.7;float: none;color:none;font-size: 0;padding-right:0;margin-top:0;}
.tooltip .tooltip-close::before,
.tooltip .tooltip-close::after {content: "";position: absolute;left: 50%;top: 50%;width: 10px; height: 1.8px;background: #999; /* X 색상 */border-radius: 1px;transform-origin: center;transform:none;
}
.tooltip .tooltip-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.tooltip .tooltip-close::after  { transform: translate(-50%, -50%) rotate(-45deg); }


/* ---------- cardbox ---------- */
.card-box {border-radius: 22px;background: #FFF;padding: 10px;position:relative;z-index: 2;margin-top:30px;box-sizing: border-box;}
.card-box .confetti-piece {position:absolute;top:-30px;left:84px;}
.card-box .achiever {border-radius: 20px 20px 0 0;
border: 1px solid #E8E8E8;display:flex;
background:url("https://russeldata.megastudy.net/campus/images/russel/m_russel/perfect/2026/achive_bg.jpg") center no-repeat;background-size:cover;justify-content: space-between;}
.card-box .achiever .profile {padding-top:20px;line-height:0;}
.card-box .achiever .profile img {width:40vw;}
.card-box .achiever .info {padding:5vw 2vw 0 0;margin-left:-12vw;}
.card-box .achiever .info div img {width:54vw;}
.card-box .achiever .info a {margin-top:7px;display:inline-block;}
.card-box .achiever .info a img {width:36vw;}

/* ---------- 아코디언 ---------- */
.faq-list .faq-item {border: 1px solid #E8E8E8;border-top:none;}
.faq-list .faq-q {width: 100%;padding: 15px;text-align: left;background:#fff;display: flex;align-items: center;justify-content: space-between;cursor: pointer;box-sizing: border-box;}
.faq-list .faq-q .q-text {font-size: 14px;font-weight:500;display:flex;align-items: flex-start;color:#222;letter-spacing: -0.84px;line-height:1.5;}
.faq-list .faq-q .q-text span {border-radius: 4px;background: #333;padding:5px 8px 6px 7px;letter-spacing: -0.963px;color: #FFF;font-size:10px;font-weight:500;line-height:1;margin-right:11px;display:inline-block;}
.faq-list .faq-q .arrow {display: inline-block;width: 9px;height: 9px;border-right: 2px solid #333;border-bottom: 2px solid #333;transform: rotate(45deg);transition: transform .2s;margin-left:20px;position:static;}
/* 열렸을 때 화살표 위로 회전 */
.faq-list .faq-item.on .faq-q .arrow {transform: rotate(-135deg);}
.faq-list .faq-item.on .faq-q .q-text span {background-color:#2C5BF6;}
.faq-list .faq-item.on .faq-q .q-text {color:#2C5BF6}
.faq-list .faq-item.on .arrow {border-color:#2C5BF6}
.faq-list .faq-a {display: none;padding:20px 20px 20px 35px;font-size: 13px;line-height: 1.6;background: #F1F3F8;position:relative;text-align: left;color:#111;font-weight:400;letter-spacing: -0.81px;word-break: keep-all;}
.faq-list .faq-a:before {content:'A.';position:absolute;top:20px;left:15px;color:#111;font-weight:500;}
.faq-list .faq-item:last-child {border-radius:0 0 20px 20px;overflow:hidden;}

/* ---------- 영상팝업 ---------- */
/* 레이어 전체 (dim 영역) */
.video-layer {position: fixed;inset: 0;background: rgba(0,0,0,0.6);display: none;             /* ★ 처음엔 숨기기 */align-items: center;       /* 세로 중앙 */justify-content: center;   /* 가로 중앙 */z-index: 999;}
/* 중앙 박스 */
.video-layer__box {position: relative;width: 90%;max-width: 800px;background: #000;}
/* 영상 */
.video-layer__box iframe {width: 100%;height: 50vw;}
/* 닫기 버튼 */
.btn-close {position: absolute;top: -40px;right: 0;width: 32px;height: 32px;border-radius: 50%;border: none;padding: 0;background:rgba(0,0,0,0.5);cursor: pointer;display: inline-flex;
align-items: center;justify-content: center;transition: background .2s, transform .15s;}
.btn-close::before,
.btn-close::after {content: "";position: absolute;width: 18px;height: 2px;background: #fff;border-radius: 1px;}
.btn-close::before {transform: rotate(45deg);}
.btn-close::after {transform: rotate(-45deg);}
.btn-close:hover {background: rgba(0,0,0,0.8);transform: scale(1.05);}
.btn-close:focus-visible {outline: 2px solid #fff;outline-offset: 2px;}
/* 레이어 열렸을 때 body 스크롤 막기 */
body.no-scroll {overflow: hidden;}
