/* ==================================================
    Common
================================================== */
.pass-page {text-align:center; color: #333;}
.pass-page img {max-width:100%;display:block;margin:0 auto}
.pass-page .sec-archive {}
.pass-page .sec-inner {max-width: 1024px; width: 100%; margin:0 auto;}

/* ==================================================
    TOP
================================================== */
.pass-page .top-visual {padding:80px 0;background:linear-gradient(180deg,#e5e5ff 0%,rgba(229,229,255,.5) 42.586%,rgba(229,229,255,0) 88.743%)}
.pass-page .top-sub-tit {font-size:28px;line-height:1.4;letter-spacing:-0.56px;}
.pass-page .top-sub-tit b {font-weight: 600;}
.pass-page .top-sub-tit .point {font-weight:700;color:#623bd2}
.pass-page .top-tit {font-size:84px;font-weight:800;line-height:1.2;letter-spacing:-1.68px;margin:16px 0 0}
.pass-page .top-tit .grad {background:linear-gradient(128deg,#663ed9 14.576%,#261751 82.986%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pass-page .top-sub {font-size:24px;font-weight:600;letter-spacing:-0.24px;margin:32px 0 0}
.pass-page .top-sub .reg {font-weight:400}

/* ==================================================
    #01 ·¯¼¿ ¼Ò°³ Ä«ÇÇ
================================================== */
.pass-page .sec-quote {position:relative;overflow:hidden;border-radius:20px;padding:60px 0}
.pass-page .sec-quote-bg {position:absolute;inset:0;z-index:0}
.pass-page .sec-quote-bg img {width:100%;height:100%;object-fit:cover;object-position: 94% bottom;}
.pass-page .sec-quote .txt-box {position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:30px}
.pass-page .sec-quote .txt-lines {display:flex;flex-direction:column;gap:16px;font-size:18px;line-height:1.4;letter-spacing:-0.18px;color:#555}
.pass-page .sec-quote .quote-foot {font-size:24px;font-weight:600;line-height:1.4;letter-spacing:-0.24px;color:#333}
.pass-page .sec-quote .quote-foot .point {color:#623bd2}

/* ==================================================
    #02 ÇÕ°Ý¼ö±âÁý ¹Ì¸®º¸±â
================================================== */
.pass-page .sec-tit {font-size:32px;font-weight:700;line-height:1.3;letter-spacing:-0.64px;margin:60px 0 30px}
.pass-page .preview-list {display:flex;flex-direction:row;gap:24px;align-items:stretch}
.pass-page .preview-card {flex:1 0 0;display:flex;flex-direction:column;gap:20px;padding:32px;border:1px solid #dbdbdb;border-radius:20px}
.pass-page .preview-card .tit-row {display:flex;flex-direction:row;align-items:start;gap:12px}
.pass-page .preview-card .badge {display:inline-flex;align-items:center;justify-content:center;padding:4px 14px;border-radius:999px;background:#f3f1f4;font-weight:700;letter-spacing:-0.16px;color:#623bd2;white-space:nowrap}
.pass-page .preview-card .card-tit {font-size:20px;font-weight:600;letter-spacing:-0.2px; text-align: left;}
.pass-page .preview-card .card-tit .sub {display:block;font-size:17px;letter-spacing:-0.17px;color:#623bd2}
.pass-page .preview-card ul {width:100%;text-align:left;font-size:16px;line-height:1.4;letter-spacing:-0.16px;color:#555;}
.pass-page .preview-card li {padding-bottom:8px;}
.pass-page .preview-card li:before {content:"\00B7"; margin: 0 10px;}
.pass-page .preview-card li:last-child {padding:0}

/* ==================================================
    #03 ÇÕ°Ý¼ö±â ¹Ù·Îº¸±â
================================================== */
.pass-page .sec-archive .sec-tit {margin-bottom:30px}
.pass-page .archive-tab-holder {background: #EDEDED;}

.pass-page .archive-tab {display:flex;width:1024px;margin:0 auto}
.pass-page .archive-tab .tab-btn {flex:1 0 0;padding:18px 0; margin: 0; height: auto; border-right:1px solid #dbdbdb;background:#ededed;font-size:18px;font-weight:600;letter-spacing:-0.45px;color:#777;cursor:pointer; line-height: 1.3; border-radius: 0; opacity: 1;}
.pass-page .archive-tab .tab-btn:last-child {border-right:0}
.pass-page .archive-tab .tab-btn.swiper-pagination-bullet-active {background:#623bd2;font-weight:700;color:#fff}

.pass-page .archive-body {overflow: hidden; padding:60px 0;background:#f8f8f8}
.pass-page .archive-body > .sec-inner {max-width: none;}
.pass-page .archive-cover-wrap {position: relative; display:flex;align-items:center;justify-content:space-between;margin:0 0 30px}
.pass-page .archive-cover-wrap .sec-inner {position: absolute; left: 50%; transform: translate(-50%); z-index: 1;}
.pass-page .swiper-button-prev,
.pass-page .swiper-button-next {width: auto;}
.pass-page .swiper-button-prev {left: 0;}
.pass-page .swiper-button-next {right: 0;}
.pass-page .swiper-button-prev svg,
.pass-page .swiper-button-next svg {width:22px;height:40px; fill: none;}
.pass-page .swiper-button-next svg {}
.pass-page .archive-cover img {width:326px;height:450px;object-fit:cover}
.pass-page .archive-caption {display:flex;flex-direction:column;gap:8px}
.pass-page .archive-caption .main {font-size:18px;line-height:1.4;letter-spacing:-0.18px;font-weight:700;color:#555}
.pass-page .archive-caption .note {font-size:14px;line-height:1.5;letter-spacing:-0.14px;color:#777}

/* ==================================================
    Media: Tablet (frame width 768)
================================================== */
@media (max-width:1199px) {
.pass-page .top-visual {background:linear-gradient(180deg,#dcddf9 0%,rgba(220,221,249,.5) 42.586%,rgba(220,221,249,0) 88.743%)}
.pass-page .sec-inner {padding: 0 24px; }
.pass-page .preview-card .tit-row {flex-direction: column; align-items: center;}
.pass-page .preview-card .card-tit .sub {text-align: center;}
.pass-page .archive-tab {width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;scrollbar-width: none; -ms-overflow-style: none;}
.pass-page .archive-tab::-webkit-scrollbar {display: none;}
.pass-page .archive-tab .tab-btn {flex-basis: 205px;}
.pass-page .archive-cover-wrap .sec-inner {left: 0; right: 0; transform: none;}
}

/* ==================================================
    Media: Mobile (frame width 360)
================================================== */
@media (max-width:767px) {
.pass-page .top-visual {padding:50px 0}
.pass-page .top-sub-tit {font-size:20px;letter-spacing:-0.4px}
.pass-page .top-tit {font-size:58px;letter-spacing:-1.16px;margin-top:8px}
.pass-page .top-sub {font-size:18px;letter-spacing:-0.18px;margin-top:16px}

.pass-page .sec-inner {width:auto;padding:0 16px}

.pass-page .sec-quote {border-radius:10px;padding:30px 16px}
.pass-page .sec-quote .txt-box {gap:18px}
.pass-page .sec-quote .txt-lines {gap:12px;font-size:14px;letter-spacing:-0.14px}
.pass-page .sec-quote .quote-foot {font-size:17px;letter-spacing:-0.17px}

.pass-page .sec-archive {}
.pass-page .sec-tit {margin: 40px 0 20px; font-size:24px;letter-spacing:-0.48px}
.pass-page .sec-archive .sec-tit {margin-bottom: 20px;}
.pass-page .preview-list {flex-direction:column;gap:16px}
.pass-page .preview-card {padding:24px 0;border-radius:10px;gap:12px}
.pass-page .preview-card .tit-row {flex-direction:column;align-items:center;gap:10px}
.pass-page .preview-card .badge {}
.pass-page .preview-card .card-tit {font-size:18px;letter-spacing:-0.18px;text-align:center}
.pass-page .preview-card .card-tit .sub {font-size:16px;letter-spacing:-0.16px}
.pass-page .preview-card ul {width: 264px; margin: 0 auto; font-size:14px;letter-spacing:-0.14px}
.pass-page .preview-card li {}

.pass-page .archive-tab {overflow-x:auto;justify-content:flex-start}
.pass-page .archive-tab .tab-btn {flex:0 0 auto;padding:14px 28px;font-size:16px;letter-spacing:-0.4px;white-space:nowrap}
.pass-page .archive-body {padding:40px 0}
.pass-page .archive-cover-wrap {margin-bottom: 20px;}
.pass-page .archive-body .swiper-slide a {display: block; max-width: 53.4%; margin: 0 auto;}
.pass-page .swiper-button-prev svg, 
.pass-page .swiper-button-next svg {width:12px;height:21px}
.pass-page .archive-caption {gap:4px}
.pass-page .archive-caption .main {font-size:16px}
.pass-page .archive-caption .note {font-size:13px;}
}
