@charset "euc-kr";

/* ==================================================
   COMMON (page scope)
   - 기준: Figma [인트로] 2027 윈터스쿨 전국 통합 설명회(261111)
     PC 1260:118 / TA 1262:233 / MO 1232:173  (MO <=767, TA 768~1199, PC >=1200)
================================================== */
.wint-wrap {width:100%;overflow:hidden;font-family:'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;color:#333;word-break:keep-all}
.wint-wrap * {box-sizing:border-box}
.wint-wrap h1, .wint-wrap h2, .wint-wrap h3, .wint-wrap p, .wint-wrap dl, .wint-wrap dt, .wint-wrap dd {margin:0;padding:0}
.wint-wrap ul, .wint-wrap li {margin:0}
.wint-wrap ul {padding:0;list-style:none}
.wint-wrap a {text-decoration:none}
.wint-wrap svg {display:block}
.wint-wrap .br-mo, .wint-wrap .br-ta {display:none}
.wint-wrap .sec-inner {display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:1200px;margin:0 auto}
.wint-wrap .sec-title {font-size:28px;font-weight:700;line-height:38px;letter-spacing:-0.56px;color:#333;text-align:center}
.wint-wrap .item-head {display:flex;align-items:center;gap:12px}
.wint-wrap .num-badge {flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#1a2dad;font-size:16px;font-weight:600;line-height:24px;letter-spacing:-0.16px;color:#fff}
.wint-wrap .item-tit {font-size:20px;font-weight:700;line-height:28px;letter-spacing:-0.4px;color:#333}
.wint-wrap .item-txt {font-size:16px;font-weight:400;line-height:24px;letter-spacing:-0.16px;color:#555}

/* ==================================================
   TOP (타이틀 + 소개 박스 + 일시/장소/대상)
================================================== */
.wint-wrap .wint-top {display:flex;flex-direction:column;gap:48px;padding-top:60px;background:linear-gradient(180deg, #eee 0%, #fff 100%)}
.wint-wrap .top-title {gap:16px;text-align:center}
.wint-wrap .top-label {display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0;border-top:2px solid #1a2dad;border-bottom:2px solid #1a2dad;font-size:18px;font-weight:400;line-height:26px;letter-spacing:-0.36px;color:#1a2dad;white-space:nowrap}
.wint-wrap .top-label strong {font-weight:600}
.wint-wrap .top-label-bar {display:block;width:1px;height:20px}
.wint-wrap .top-main {font-size:64px;font-weight:700;line-height:1.2;letter-spacing:-1.28px;color:#333}
.wint-wrap .top-main span {color:#1a2dad}
.wint-wrap .top-sub {font-size:28px;font-weight:400;line-height:38px;letter-spacing:-0.56px;color:#333}
.wint-wrap .intro-box {position:relative;display:flex;flex-direction:column;gap:16px;width:100%;padding:40px 48px;overflow:hidden;border-radius:12px;background:linear-gradient(252.908deg, rgba(234, 234, 234, 0.3) 4.0074%, #fff 81.429%);text-align:center}
.wint-wrap .intro-box::before {content:"";position:absolute;left:50%;top:calc(50% - 13px);width:570px;height:438px;border-radius:50%;background:#fff;opacity:0.8;filter:blur(50px);transform:translate(-50%, -50%)}
.wint-wrap .intro-snow {position:absolute;left:0;top:-87px;width:1200px;height:1776px;max-width:none;opacity:0.5}
.wint-wrap .intro-box > :not(.intro-snow) {position:relative}
.wint-wrap .intro-head {font-size:20px;font-weight:700;line-height:28px;letter-spacing:-0.4px;color:#12197f}
.wint-wrap .intro-txt {font-size:16px;font-weight:400;line-height:24px;letter-spacing:-0.16px;color:#333}
.wint-wrap .intro-txt.is-hl {font-weight:600}
.wint-wrap .intro-txt.is-hl span {position:relative;z-index:0;display:inline-block;max-width:100%}
.wint-wrap .intro-txt.is-hl span::before {content:"";position:absolute;z-index:-1;left:-3px;right:-3px;bottom:1px;height:12px;background:rgba(18, 25, 127, 0.15)}
.wint-wrap .info-box {display:flex;align-items:center;justify-content:space-between;width:100%;padding:32px 48px;border-radius:12px;background:#12197f}
.wint-wrap .info-list {display:flex;flex-direction:column;gap:12px;font-size:18px;line-height:26px;letter-spacing:-0.36px;color:#fff}
.wint-wrap .info-row {display:flex;gap:60px}
.wint-wrap .info-item {display:flex;gap:16px}
.wint-wrap .info-item dt {flex:none;font-weight:600;white-space:nowrap}
.wint-wrap .info-item dd {font-weight:400}
.wint-wrap .btn-top {flex:none;display:flex;align-items:center;justify-content:center;width:200px;height:42px;padding:0 24px;border-radius:999px;background:#fff;font-size:15px;font-weight:600;line-height:22px;letter-spacing:-0.15px;color:#333;white-space:nowrap}

/* ==================================================
   WHY (겨울방학, 이 시간이 다음 1년을 결정합니다)
================================================== */
.wint-wrap .wint-why {padding:60px 0}
.wint-wrap .why-box {width:100%;padding:48px;border:1px solid #e5e5e5;border-radius:12px;background:#fff}
.wint-wrap .why-item {display:flex;flex-direction:column;gap:16px}
.wint-wrap .why-item + .why-item {margin-top:40px;padding-top:40px;border-top:1px solid #e5e5e5}

/* ==================================================
   GRADE (학년별 겨울방학 핵심 과제)
================================================== */
.wint-wrap .wint-grade {padding:0 0 60px}
.wint-wrap .grade-list {display:flex;gap:16px;width:100%}
.wint-wrap .grade-item {flex:1 1 0;min-width:0;overflow:hidden;border:1px solid #e5e5e5;border-radius:12px;background:#fff}
.wint-wrap .grade-head {display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 40px;background:#f3f7ff}
.wint-wrap .grade-ico {flex:none;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%}
.wint-wrap .grade-tit {font-size:20px;font-weight:600;line-height:28px;letter-spacing:-0.4px;color:#333}
.wint-wrap .grade-point {display:flex;flex-direction:column;gap:8px;padding:24px 40px}
.wint-wrap .grade-point li {display:flex;align-items:center;gap:8px;font-size:16px;line-height:24px;letter-spacing:-0.16px;color:#555}
.wint-wrap .grade-point svg {flex:none}

/* ==================================================
   AGENDA
================================================== */
.wint-wrap .wint-agenda {padding:0 0 60px}
.wint-wrap .agenda-box {display:flex;width:100%;padding:48px;border:1px solid #e5e5e5;border-radius:12px;background:#fff}
.wint-wrap .agenda-item {flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:16px}
.wint-wrap .agenda-item + .agenda-item {margin-left:40px;padding-left:40px;border-left:1px solid #e5e5e5}
.wint-wrap .agenda-item .item-head {white-space:nowrap}
.wint-wrap .agenda-list {display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:24px;letter-spacing:-0.16px;color:#555}
.wint-wrap .agenda-list li {padding-left:0.6em;text-indent:-0.6em}
.wint-wrap .agenda-list li::before {content:"\00b7\00a0"}

/* ==================================================
   RESERVE (설명회 예약하기)
================================================== */
.wint-wrap .wint-reserve {padding:60px 0;background:#f8f8f8}
.wint-wrap .reserve-tab {display:flex;width:100%}
.wint-wrap .region-btn {flex:1 1 0;min-width:0;height:56px;padding:0 16px;border:0;border-bottom:1px solid #dbdee5;border-radius:0;background:none;font-family:inherit;font-size:16px;font-weight:500;line-height:24px;letter-spacing:-0.16px;color:#555;text-align:center;cursor:pointer;white-space:nowrap;-webkit-appearance:none;appearance:none}
.wint-wrap .region-btn.is-on {border-bottom:3px solid #2c5bf6;font-weight:700;color:#2c5bf6}
.wint-wrap .branch-list {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px;width:100%}
.wint-wrap .branch-card {display:flex;align-items:flex-end;gap:16px;padding:24px;border-radius:12px;background:#fff}
.wint-wrap .branch-card[hidden] {display:none}
.wint-wrap .card-text {flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px}
.wint-wrap .card-name {font-size:20px;font-weight:600;line-height:28px;letter-spacing:-0.4px;color:#333}
.wint-wrap .card-info {display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:20px;letter-spacing:-0.14px}
.wint-wrap .card-info > div {display:flex;gap:12px}
.wint-wrap .card-info dt {flex:none;font-weight:600;color:#333;white-space:nowrap}
.wint-wrap .card-info dd {flex:1;min-width:0;font-weight:400;color:#555}
.wint-wrap .card-body {flex:none;display:flex;flex-direction:row-reverse;align-items:center;gap:8px}
.wint-wrap .card-map {flex:none;display:flex;gap:8px}
.wint-wrap .btn-map {position:relative;display:block;width:40px;height:40px;overflow:hidden;border:1px solid #dbdbdb;border-radius:50%;background:#fff}
.wint-wrap .btn-map img {position:absolute;left:50%;top:calc(50% + 0.91px);display:block;max-width:none;transform:translate(-50%, -50%)}
.wint-wrap .btn-map .ico-naver {width:19.798px;height:25.455px}
.wint-wrap .btn-map .ico-tmap {width:21.818px;height:21.818px}
.wint-wrap .btn-reserve {display:flex;align-items:center;justify-content:center;width:144px;height:40px;padding:0 24px;border:1px solid #0376f0;border-radius:999px;background:#ebf3ff;font-size:16px;font-weight:600;line-height:24px;letter-spacing:-0.16px;color:#0376f0;white-space:nowrap}
.wint-wrap .btn-reserve.is-closed {padding:0;border-color:#dbdee5;background:#ededed;color:#777;cursor:default}
/* 앵커 이동 보정: PC/TA 공통 헤더는 아래로 스크롤하면 고정이 풀려 가리지 않으므로 0, 모바일(≤767)은 고정 헤더 55px 보정 */
.wint-wrap #reserve {scroll-margin-top:0}

/* ==================================================
   GUIDE (재학생 전용관 러셀 기숙학원 전국 순회 설명회 안내)
================================================== */
.wint-wrap .wint-guide {padding:40px 20px;background:#2c5bf6}
.wint-wrap .wint-guide .sec-inner {gap:24px}
.wint-wrap .guide-tit {width:100%;padding-bottom:24px;border-bottom:1px solid rgba(229, 229, 229, 0.3);font-size:24px;font-weight:700;line-height:32px;letter-spacing:-0.48px;color:#fff;text-align:center}
.wint-wrap .guide-row {display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.wint-wrap .guide-info {display:flex;gap:60px;font-size:18px;line-height:26px;letter-spacing:-0.36px;color:#fff}
.wint-wrap .guide-info > div {display:flex;gap:16px}
.wint-wrap .guide-info dt {flex:none;font-weight:600;white-space:nowrap}
.wint-wrap .guide-info dd {font-weight:400}
.wint-wrap .btn-guide {flex:none;display:flex;align-items:center;justify-content:center;gap:4px;width:320px;height:42px;padding:0 24px;border-radius:6px;background:#fff;font-size:15px;font-weight:600;line-height:22px;letter-spacing:-0.15px;color:#333;white-space:nowrap}
.wint-wrap .btn-guide svg {flex:none}

/* ==================================================
   TABLET (768 ~ 1199)
================================================== */
@media screen and (max-width: 1199px) {
	.wint-wrap .br-ta {display:inline}
	.wint-wrap .top-title {padding:0 24px}
	.wint-wrap .top-main {font-size:48px;letter-spacing:-0.96px}
	.wint-wrap .top-intro {padding:0 24px}
	.wint-wrap .intro-box::before {top:calc(50% + 13.5px);width:502px;height:439px}
	.wint-wrap .intro-box {background:linear-gradient(260.72deg, rgba(234, 234, 234, 0.3) 4.0074%, #fff 81.429%)}
	.wint-wrap .intro-snow {left:1px;right:-19px;top:-31px;bottom:-589px;width:auto;height:auto;object-fit:cover}
	.wint-wrap .top-info .sec-inner {max-width:none}
	.wint-wrap .info-box {gap:60px;border-radius:0}
	.wint-wrap .btn-top {flex:1 1 0;width:auto;min-width:0}

	.wint-wrap .wint-why {padding:40px 24px}
	.wint-wrap .why-box {padding:32px 40px}
	.wint-wrap .why-item {gap:12px}
	.wint-wrap .why-item + .why-item {margin-top:32px;padding-top:32px}
	.wint-wrap .item-head {gap:8px}

	.wint-wrap .wint-grade {padding:0 24px 60px}
	.wint-wrap .grade-list {flex-direction:column}
	.wint-wrap .grade-item {flex:none}
	/* .wint-wrap .grade-head {justify-content:flex-start} */
	.wint-wrap .grade-point {flex-direction:row;gap:0}
	.wint-wrap .grade-point li:first-child {flex:none;width:310px}
	.wint-wrap .grade-point li + li {flex:1 1 0;min-width:0}

	.wint-wrap .wint-agenda {padding:0 24px 60px}
	.wint-wrap .agenda-box {flex-direction:column;padding:32px 40px}
	.wint-wrap .agenda-item {gap:12px}
	.wint-wrap .agenda-item + .agenda-item {margin:32px 0 0;padding:32px 0 0;border-top:1px solid #e5e5e5;border-left:0}

	.wint-wrap .wint-reserve .sec-inner {padding:0}
	.wint-wrap .branch-list {padding:0 24px}
	.wint-wrap .branch-card {flex-direction:column;align-items:stretch}
	.wint-wrap .card-body {flex-direction:row;gap:16px}
	.wint-wrap .btn-reserve {flex:1 1 0;width:auto;min-width:0}

	.wint-wrap .wint-guide {padding:40px 24px}
	.wint-wrap .guide-info {flex-direction:column;gap:8px}
}

/* ==================================================
   MOBILE (~ 767)
================================================== */
@media screen and (max-width: 767px) {
	.wint-wrap .br-mo {display:inline}
	.wint-wrap .br-ta {display:none}
	.wint-wrap .sec-inner {gap:16px}
	.wint-wrap .sec-title {font-size:24px;line-height:32px;letter-spacing:-0.48px}
	.wint-wrap .item-head {align-items:flex-start}
	.wint-wrap .num-badge {font-size:14px;line-height:20px;letter-spacing:-0.14px}
	.wint-wrap .item-tit {font-size:18px;line-height:26px;letter-spacing:-0.36px}
	.wint-wrap .item-txt {font-size:14px;line-height:20px;letter-spacing:-0.14px}

	.wint-wrap .wint-top {gap:32px;padding-top:40px}
	.wint-wrap .top-title {padding:0 16px}
	.wint-wrap .top-label {font-size:16px;line-height:24px;letter-spacing:-0.32px}
	.wint-wrap .top-main {font-size:40px;letter-spacing:-0.8px}
	.wint-wrap .top-sub {font-size:18px;line-height:26px;letter-spacing:-0.36px}
	.wint-wrap .top-intro {padding:0 16px}
	.wint-wrap .intro-box {gap:12px;padding:24px 20px;background:linear-gradient(265.861deg, rgba(245, 245, 245, 0) 4.0074%, #fff 81.429%)}
	.wint-wrap .intro-box::before {top:calc(50% + 2.5px);width:242px;height:359px;opacity:1;filter:blur(15px)}
	.wint-wrap .intro-snow {left:0;right:0;top:0;bottom:0;width:100%;height:100%}
	.wint-wrap .intro-head {font-size:18px;line-height:26px;letter-spacing:-0.36px}
	.wint-wrap .intro-txt {font-size:14px;line-height:20px;letter-spacing:-0.14px}
	.wint-wrap .info-box {flex-direction:column;align-items:stretch;gap:16px;padding:24px 20px}
	.wint-wrap .info-list {gap:8px;font-size:16px;line-height:24px;letter-spacing:-0.32px}
	.wint-wrap .info-row {flex-direction:column;gap:8px}
	.wint-wrap .info-item dd {flex:1;min-width:0}
	.wint-wrap .btn-top {flex:none;width:100%}

	.wint-wrap .wint-why {padding:40px 16px}
	.wint-wrap .why-box {padding:24px 20px}
	.wint-wrap .why-item + .why-item {margin-top:24px;padding-top:24px}

	.wint-wrap .wint-grade {padding:0 16px 40px}
	.wint-wrap .grade-head {gap:4px;padding:12px 20px}
	.wint-wrap .grade-tit {font-size:17px;line-height:24px;letter-spacing:-0.34px}
	.wint-wrap .grade-point {flex-direction:column;gap:8px;padding:16px 20px}
	.wint-wrap .grade-point li {font-size:14px;line-height:20px;letter-spacing:-0.14px}
	.wint-wrap .grade-point li:first-child {flex:none;width:auto}

	.wint-wrap .wint-agenda {padding:0 16px 40px}
	.wint-wrap .agenda-box {padding:24px 20px}
	.wint-wrap .agenda-item + .agenda-item {margin-top:24px;padding-top:24px}
	.wint-wrap .agenda-item .item-head {white-space:normal}
	.wint-wrap .agenda-list {gap:4px;font-size:14px;line-height:20px;letter-spacing:-0.14px}

	.wint-wrap .wint-reserve {padding:40px 0}
	.wint-wrap .region-btn {height:42px;padding:0 4px;font-size:14px;line-height:18px;letter-spacing:-0.28px}
	.wint-wrap .branch-list {grid-template-columns:minmax(0, 1fr);padding:0 16px}
	.wint-wrap .branch-card {gap:12px;padding:20px}
	.wint-wrap .card-text {gap:4px}
	.wint-wrap .card-name {font-size:17px;line-height:24px;letter-spacing:-0.34px}
	.wint-wrap .card-info {gap:2px}
	.wint-wrap .btn-reserve {font-size:14px;line-height:20px;letter-spacing:-0.14px}

	.wint-wrap .wint-guide {padding:24px 20px}
	.wint-wrap .wint-guide .sec-inner {gap:16px}
	.wint-wrap .guide-tit {padding-bottom:16px;font-size:20px;line-height:28px;letter-spacing:-0.4px}
	.wint-wrap .guide-row {flex-direction:column;align-items:stretch;gap:16px}
	.wint-wrap .guide-info {font-size:16px;line-height:24px;letter-spacing:-0.32px}
	.wint-wrap .btn-guide {width:100%;height:38px;border-radius:4px;font-size:14px;letter-spacing:-0.14px}

	/* MO fixed header (.gnb-inner 55px, rwd/css/layout.css) - anchor offset for 'reserve' */
	.wint-wrap #reserve {scroll-margin-top:55px}
}

/* 1200 ~ 1247: 시안(PC 1920)에 없는 구간, 본문 좌우 여백 24px 유지(TA와 동일) */
@media screen and (min-width: 1200px) and (max-width: 1247px) {
	.wint-wrap .sec-inner {padding:0 24px}
	.wint-wrap .wint-guide {padding-left:0;padding-right:0}
}

/* 360px 미만: 시안(360) 기준 강제 줄바꿈 해제 */
@media screen and (max-width: 359px) {
	.wint-wrap .br-mo {display:none}
}
