/*
  NCS 무료 스터디 풀페이지 (templates/ncs_study/index.html)
  시안: Figma 「위포트_PC」 443:2271 · 「위포트_MO」 2118:1319
  PC 1440 프레임 · 본문 1100 / MO 360 프레임 · 좌우 16. 767px 이하를 MO 로 본다.
  섹션: PC 상하 100 · 블록 간격 36 / MO 상하 50 · 블록 간격 24. 반경 8, 자간 -4%.
*/
.ns-body{margin:0;background:#fff}
.ns{
  /* 시안 토큰 */
  --ns-indigo:#1e54db;     /* Indigo/700 */
  --ns-indigo-50:#f5f7ff;  /* Indigo/50 */
  --ns-indigo-100:#e8ecff; /* Indigo/100 */
  --ns-purple:#6f4eff;
  --ns-blue:#093cf6;
  --ns-g900:#333;--ns-g800:#666;--ns-g700:#888;--ns-g400:#ccc;--ns-g300:#d7d7d7;--ns-g200:#e5e5e5;--ns-g100:#f4f4f4;
  --ns-red:#ef2929;
  --ns-grad:linear-gradient(-54.6deg,#8680fd 5.98%,#1234b1 25.38%,#1234b1 79.06%,#4eeafc 111.1%);
  --ns-bar-h:108px;
  position:relative;padding-bottom:calc(var(--ns-bar-h) + env(safe-area-inset-bottom,0px));
  font-family:'Noto Sans KR',sans-serif;color:var(--ns-g900);word-break:keep-all;overflow-wrap:break-word;
  -webkit-text-size-adjust:100%;letter-spacing:-.04em;line-height:1.5;
}
/* 리셋은 :where() 로 특이성 0 — 아래 단일 클래스 규칙이 항상 이기도록 */
.ns *,.ns *::before,.ns *::after{box-sizing:border-box}
:where(.ns) :where(h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote){margin:0;padding:0}
:where(.ns) :where(ul,ol){list-style:none}
:where(.ns) img{display:block;max-width:100%}
:where(.ns) em{font-style:normal}
:where(.ns) a{text-decoration:none}
:where(.ns) button{font-family:inherit;letter-spacing:inherit}
.ns :focus-visible{outline:2px solid var(--ns-indigo);outline-offset:2px}
.ns-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ns-br-mo,.ns-only-mo{display:none}
.ns-center{text-align:center}
.ns-wrap{display:flex;flex-direction:column;align-items:center;gap:36px;max-width:1100px;margin:0 auto}

/* 공통 섹션 */
.ns-sec{padding:100px 24px;background:#fff}
.ns-sec-indigo{background:var(--ns-indigo-50)}
.ns-sec-gray{background:var(--ns-g100)}
.ns-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.ns-eyebrow{font-size:18px;font-weight:700;line-height:28px;color:var(--ns-indigo)}
.ns-h2{font-size:42px;font-weight:900;line-height:1.26;letter-spacing:0;color:var(--ns-g900)}
.ns-note{font-size:12px;line-height:18px;color:var(--ns-g700)}
.ns-tag{display:inline-flex;align-items:center;flex:none;height:26px;padding:4px 8px;border-radius:4px;background:var(--ns-indigo-50);font-size:12px;font-weight:700;line-height:18px;color:var(--ns-indigo);white-space:nowrap}

/* ① 히어로 */
.ns-hero{padding:70px 24px 100px;background:#e3f3fd url(/static/new/images/ncs_study/hero.jpg) center/cover no-repeat}
.ns-logo-row{display:flex;width:100%}
.ns-logo{display:block;width:120px;height:32px}
.ns-logo img{width:120px;height:32px}
.ns-hero-head{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;text-align:center}
.ns-hero-time{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-size:32px;font-weight:700;line-height:42px}
.ns-hero-time-vs{display:inline-flex;align-items:center;gap:10px}
.ns-old{color:var(--ns-g700);text-decoration:line-through}
.ns-hero-arrow{width:32px;height:30px}
.ns-new{font-size:48px;line-height:42px;color:var(--ns-purple)}
.ns-badge{padding:8px 14px;border-radius:999px;background:#000;font-size:16px;font-weight:700;line-height:24px;color:#fff}
/* '무료' 그라데이션: Figma 텍스트 범위 그라데이션은 텍스트 박스 전체 너비 기준(#093cf6 2.404% → #6f4eff 58.654%)이라
   제목 전체에 깔고 '무료'만 투명 글자로 드러낸다 (단어 너비 기준으로 깔면 색 변화가 시안보다 커진다) */
.ns-hero-title{width:100%;font-size:72px;font-weight:900;line-height:84px;letter-spacing:0;color:#000;
  background:linear-gradient(90deg,var(--ns-blue) 2.404%,var(--ns-purple) 58.654%);-webkit-background-clip:text;background-clip:text}
.ns-hero-title em{color:transparent}
.ns-hero-lead{font-size:18px;font-weight:500;line-height:24px;color:var(--ns-g800)}
.ns-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}
.ns-chip{display:flex;align-items:center;justify-content:center;width:200px;padding:10px 14px;border:1px solid var(--ns-blue);border-radius:999px;background:#fff;
  font-size:16px;font-weight:700;line-height:24px;color:var(--ns-purple);transition:background .15s}
.ns-chip-churi{width:240px}
.ns-chip:hover{background:var(--ns-indigo-50)}
.ns-hero-cta{display:flex;align-items:center;justify-content:center;width:320px;max-width:100%;height:60px;padding:14px 24px;border-radius:8px;background:var(--ns-grad);
  font-size:16px;font-weight:700;line-height:24px;color:#fff;transition:filter .15s}
.ns-hero-cta:hover{filter:brightness(1.1)}
.ns-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;width:100%;border:1px solid rgba(30,84,219,.5);background:rgba(255,255,255,.85)}
.ns-stats li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center}
.ns-stats li+li::before{content:"";position:absolute;left:0;top:50%;width:1px;height:94px;margin-top:-47px;background:rgba(9,60,246,.2)}
.ns-stats b{font-size:20px;font-weight:700;line-height:30px}
.ns-stats b em{color:var(--ns-blue)}
.ns-stats small{font-size:12px;line-height:18px;color:var(--ns-g800)}
.ns-hero-note{color:var(--ns-g800);text-align:center}

/* ② 풀이 시간 */
.ns-need{display:flex;align-items:center;justify-content:center;gap:20px;width:650px;max-width:100%;padding:30px;border-radius:8px;background:var(--ns-g100)}
.ns-need-item{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;letter-spacing:0;line-height:1.5}
.ns-need-item small{font-size:15px;color:var(--ns-g800)}
.ns-need-item strong{font-size:30px;font-weight:900;color:var(--ns-g900);white-space:nowrap}
.ns-need-item-b strong{color:var(--ns-purple)}
.ns-need-arrow{flex:none;width:32px;height:30px}
.ns-sec .ns-note.ns-center{width:1120px;max-width:calc(100% + 20px);margin:0 -10px}
/* 차트: 가로 위치는 시안(650 / MO 328) 대비 %, 세로는 px */
.ns-chart{position:relative;width:650px;max-width:100%;height:439px;border-radius:8px;background:var(--ns-g100)}
.ns-chart-title{position:absolute;left:0;right:0;top:40px;font-size:26px;font-weight:700;line-height:36px;color:#191f28;text-align:center}
.ns-chart-body{position:absolute;inset:0}
.ns-grid{position:absolute;left:11.08%;top:131px;width:79.38%;height:240px}
.ns-grid span{position:absolute;left:0;right:0;height:1px;background:var(--ns-g200)}
.ns-grid span::before{content:attr(data-v);position:absolute;right:calc(100% + 8px);top:-9px;width:28px;font-size:12px;line-height:18px;text-align:right;color:var(--ns-g700)}
.ns-cbar{position:absolute;bottom:68px;display:flex;justify-content:center;width:14.77%;padding-top:14px;border-radius:10px 10px 0 0}
.ns-cbar span{font-size:20px;font-weight:700;line-height:30px;color:#fff}
.ns-cbar-a{left:23.54%;height:210px;background:var(--ns-g400)}
.ns-cbar-b{left:63.23%;height:87px;background:var(--ns-indigo)}
.ns-chart-arrow{position:absolute;left:11.08%;top:131px;width:79.38%;max-width:none;height:240px}
.ns-drop{position:absolute;left:45.69%;top:181px;padding:9px 16px;border:4px solid #f6f8fb;border-radius:99px;background:var(--ns-purple);
  font-size:18px;font-weight:700;line-height:28px;color:#fff;white-space:nowrap}
.ns-xlab{position:absolute;top:383px;width:120px;margin-left:-60px;font-size:16px;font-weight:700;line-height:24px;text-align:center;color:var(--ns-g800)}
.ns-xlab-a{left:30.92%}
.ns-xlab-b{left:70.62%;color:var(--ns-indigo)}
.ns-need-msg{display:flex;flex-direction:column;gap:8px;text-align:center}
.ns-need-msg1{font-size:24px;font-weight:700;line-height:34px;color:var(--ns-g800)}
.ns-need-msg1 b,.ns-need-msg2 span{color:var(--ns-indigo)}
.ns-need-msg2{font-size:40px;font-weight:900;line-height:1.5;letter-spacing:0}

/* ③ 실적 */
.ns-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:100%}
.ns-why li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;border-radius:8px;background:#fff;text-align:center}
.ns-why small{font-size:16px;line-height:24px;color:var(--ns-g800)}
.ns-why strong{font-size:44px;font-weight:900;line-height:1.5;letter-spacing:0;color:var(--ns-purple)}

/* ④ 강사 */
.ns-sec .ns-teachers{margin-top:16px} /* 시안: 제목과 강사진 사이 52 (36 + 16) */
.ns-teachers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%}
.ns-teacher{position:relative;display:flex;align-items:flex-end;min-height:274px;padding:80px 40px 30px;border-radius:8px;background:var(--ns-indigo-50);overflow:hidden}
.ns-teacher-txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;width:280px}
.ns-teacher-sub{font-size:14px;font-weight:700;line-height:20px;color:var(--ns-indigo)}
.ns-teacher-name{margin-top:-6px;font-size:26px;font-weight:700;line-height:36px}
.ns-teacher-skill{font-size:16px;font-weight:500;line-height:24px}
/* 사진 영역: 시안의 크롭 프레임을 카드 오른쪽 아래에 고정 */
.ns-teacher-photo{position:absolute;right:0;bottom:0;overflow:hidden}
.ns-teacher-photo img{position:absolute;max-width:none;height:auto}
.ns-teacher-shin .ns-teacher-photo{width:291px;height:254px}
.ns-teacher-shin .ns-teacher-photo img{left:10.24%;top:1.97%;width:76.43%}
.ns-teacher-ha .ns-teacher-photo{width:246px;height:248px}
.ns-teacher-ha .ns-teacher-photo img{left:10.33%;top:0;width:94.79%}

/* ⑤ 스터디 신청 */
.ns-sec-studies .ns-wrap{gap:30px}
#studies:focus{outline:none}
.ns-studies{display:flex;flex-direction:column;gap:10px;width:100%}
.ns-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ns-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:16px;border:0;border-radius:8px;background:#fff;cursor:pointer;color:var(--ns-g900);text-align:center}
.ns-tab b{font-size:24px;font-weight:700;line-height:34px}
.ns-tab-desc{font-size:16px;line-height:24px;color:var(--ns-g800)}
.ns-tab:hover{box-shadow:inset 0 0 0 1px var(--ns-indigo)}
.ns-tab[aria-selected="true"]{background:linear-gradient(-62.47deg,#8680fd 5.98%,#1234b1 25.38%,#1234b1 79.06%,#4eeafc 111.1%);box-shadow:none;color:#fff}
.ns-tab[aria-selected="true"] .ns-tab-desc{color:#fff}
/* 모집 마감 배지: 시안(모집마감_NCS 443:2611) — 탭 가로 중앙, 상단 모서리에 절반(13px) 걸침 */
.ns-tab-badge{position:absolute;top:-13px;left:50%;padding:4px 8px;border-radius:999px;background:var(--ns-g900);transform:translateX(-50%);font-size:12px;font-weight:700;line-height:18px;color:#fff;white-space:nowrap}
.ns-panel{text-align:left}
.ns-panel[hidden]{display:none}
.ns-card{display:flex;flex-direction:column;gap:20px;padding:50px;border-radius:8px;background:#fff}
.ns-card-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-bottom:19px;border-bottom:1px solid var(--ns-g200)}
.ns-card-title{font-size:26px;font-weight:700;line-height:36px}
.ns-card-who{font-size:16px;font-weight:500;line-height:24px;color:var(--ns-g800)}
.ns-card-skill{font-size:16px;font-weight:500;line-height:24px;color:var(--ns-purple)}
.ns-cur-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ns-cur-head b{font-size:20px;font-weight:700;line-height:30px}
.ns-cur-total{padding:4px 14px;border-radius:999px;background:#000;font-size:16px;font-weight:700;line-height:24px;color:#fff;white-space:nowrap}
.ns-cur-sum{display:flex;flex-direction:column;gap:10px}
.ns-cur-weeks{display:flex;flex-direction:column;gap:10px}
.ns-cur-weeks li{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;line-height:24px}
.ns-cur-cond{font-size:12px;line-height:18px;color:var(--ns-red)}
.ns-cur-more{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ns-cur-toggle{display:inline-flex;align-items:center;gap:5px;height:40px;padding:8px 14px;border:1px solid var(--ns-g300);border-radius:6px;background:#fff;cursor:pointer;
  font-size:14px;font-weight:700;line-height:24px;letter-spacing:-.02em;color:var(--ns-g800)}
.ns-cur-toggle img{width:11.5px;height:6.5px;margin:0 4.25px;transition:transform .15s}
.ns-cur-toggle[aria-expanded="true"] img{transform:rotate(180deg)}
.ns-cur-full{width:100%;padding:16px;background:#fafafa}
.ns-cur-full[hidden]{display:none}
.ns-cur-table{background:#fff}
.ns-cur-full-week{display:flex;align-items:flex-start;padding:10px 0;border-bottom:1px solid #eee}
.ns-cur-full-week:last-child{border-bottom:0}
.ns-cur-full-badge{display:flex;flex:none;justify-content:center;width:100px;padding:9px 0}
.ns-cur-full ol{flex:1 1 0;min-width:0;padding:9px 12px;font-size:14px;line-height:26px;color:var(--ns-g900);word-break:normal} /* 시안처럼 글자 단위 줄바꿈 */
.ns-act{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ns-act-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.ns-period{display:flex;flex-direction:column;justify-content:center;gap:20px;min-height:160px;padding:30px;border-radius:8px;background:var(--ns-indigo-50)}
.ns-period>div{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ns-period dt{padding:4px 14px;border-radius:999px;background:var(--ns-purple);font-size:14px;font-weight:700;line-height:20px;color:#fff;white-space:nowrap}
.ns-period dd{font-size:16px;font-weight:700;line-height:24px}
/* 모집 마감 안내: 시안 443:2640 */
.ns-period-closed{align-items:center;gap:2px;background:var(--ns-g100);text-align:center}
.ns-period-closed p{font-size:16px;font-weight:700;line-height:24px;color:var(--ns-g900)}
.ns-period-closed small{font-size:14px;line-height:20px;color:var(--ns-g800)}
.ns-book{display:flex;align-items:center;gap:20px;height:160px;padding:25px 30px;border-radius:8px;background:var(--ns-g100)}
.ns-book img{flex:none;width:82px;height:110px;object-fit:contain}
.ns-book div{display:flex;flex-direction:column;gap:4px;min-width:0}
.ns-book span{font-size:14px;font-weight:500;line-height:20px;color:var(--ns-g800)}
.ns-book b{font-size:18px;font-weight:700;line-height:28px}
.ns-btn{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:14px 24px;border:1px solid transparent;border-radius:8px;cursor:pointer;
  font-size:16px;font-weight:700;line-height:24px;transition:background .15s}
.ns-btn-apply{background:var(--ns-indigo);color:#fff}
.ns-btn-apply:hover{background:#1741ad}
.ns-btn-apply:disabled{background:#bbb;cursor:default} /* 시안 gray/500 */
.ns-btn-book{border-color:var(--ns-indigo);background:#fff;color:var(--ns-indigo)}
.ns-btn-book:hover{background:var(--ns-indigo-50)}
.ns-btn-book:disabled{border-color:var(--ns-g400);background:#fff;color:var(--ns-g400);cursor:default}

/* ⑥ 진행 방식 · 혜택 */
.ns-how{display:flex;flex-direction:column;gap:20px;width:100%}
.ns-steps,.ns-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ns-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding:28px;border-radius:8px;background:var(--ns-indigo-50);text-align:center}
.ns-step+.ns-step::before{content:"";position:absolute;left:-34px;top:50%;z-index:1;width:48px;height:48px;margin-top:-24px;background:url(/static/new/images/ncs_study/step-arrow.svg) center/48px 48px no-repeat}
.ns-step-ico{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:999px;background:var(--ns-indigo-100)}
.ns-step-ico img{width:30px;height:30px}
.ns-step div{display:flex;flex-direction:column;align-items:center}
.ns-step-no{font-size:12px;font-weight:700;line-height:18px;color:var(--ns-indigo)}
.ns-step b{margin-top:2px;font-size:20px;font-weight:700;line-height:30px}
.ns-step p{margin-top:4px;font-size:14px;line-height:20px;color:var(--ns-g800)}
.ns-benefits li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;border:1px solid var(--ns-g200);border-radius:8px;background:#fff;text-align:center}
.ns-benefits li.is-main{border-color:var(--ns-purple)}
.ns-benefits small{font-size:12px;font-weight:700;line-height:18px;color:var(--ns-indigo)}
.ns-benefits .is-main small{color:var(--ns-g900)}
.ns-benefits strong{margin-top:2px;font-size:26px;font-weight:700;line-height:36px}
.ns-benefits .is-main strong{color:var(--ns-purple)}
.ns-benefits p{margin-top:10px;font-size:14px;line-height:20px;color:var(--ns-g800)}
.ns-benefits p b{display:block;font-size:16px;font-weight:700;line-height:24px;color:var(--ns-indigo)}

/* ⑦ 후기 */
.ns-reviews-wrap{display:flex;flex-direction:column;gap:16px;width:100%}
.ns-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ns-review{display:flex;flex-direction:column;gap:20px;min-height:340px;padding:10px 30px 30px 24px;border-radius:8px;background:#fff}
.ns-review-quote{width:50px;height:50px}
.ns-review-body{display:flex;flex:1 1 auto;flex-direction:column;justify-content:space-between;gap:20px}
.ns-review-body>div{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ns-review blockquote{font-size:16px;line-height:24px;color:var(--ns-g800)}
.ns-review blockquote b{font-weight:500;color:var(--ns-purple)}
.ns-review-meta{font-size:14px;line-height:20px;color:var(--ns-g700)}

/* ⑧ FAQ · 유의사항 (shared/fullpage_faq.html) */
.ns-faq-wrap{display:flex;flex-direction:column;gap:16px;width:100%}
.ns-faq .fp-faq-item{border-bottom:1px dashed var(--ns-g200)}
.ns-faq .fp-faq-q{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 15px;font-size:16px;font-weight:500;line-height:24px}
.ns-faq .fp-faq-q::before{content:"Q";display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:12px;background:var(--ns-indigo);
  font-size:12px;font-weight:700;line-height:18px;letter-spacing:0;color:#fff}
.ns-faq .fp-faq-q::after{content:"";flex:none;width:24px;height:24px;margin-left:auto;background:url(/static/new/images/ncs_study/chevron.svg) center/24px 24px no-repeat;transition:transform .15s}
.ns-faq details[open] .fp-faq-q{padding-bottom:10px}
.ns-faq details[open] .fp-faq-q::after{transform:rotate(180deg)}
.ns-faq-a{padding:0 52px 25px 54px;font-size:14px;line-height:20px;color:var(--ns-g800)}

/* 하단 고정 신청 바 */
.ns-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));background:var(--ns-indigo);filter:drop-shadow(0 -4px 3px rgba(0,0,0,.12))}
.ns-bar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:0 auto}
.ns-bar-txt{display:flex;flex-direction:column;gap:2px;min-width:0;color:#fff}
.ns-bar-t1{font-size:16px;font-weight:500;line-height:24px}
.ns-bar-t2{font-size:24px;font-weight:700;line-height:34px}
.ns-bar-t2 em{color:#00f6ff}
.ns-bar-cta{display:inline-flex;flex:none;align-items:center;gap:5px;padding:14px 24px;border:1px solid #1c65ad;border-radius:8px;background:#fff;
  font-size:16px;font-weight:700;line-height:24px;letter-spacing:-.02em;color:var(--ns-indigo);transition:background .15s}
.ns-bar-cta:hover{background:var(--ns-indigo-50)}
.ns-bar-cta img{width:24px;height:24px;margin:-2px;transform:rotate(-90deg)}

/* 중간 폭 (768~1180): 본문은 가용 너비에 맞춘다 */
@media (max-width:1180px) and (min-width:768px){
  .ns-hero-title{font-size:60px;line-height:72px}
  .ns-card{padding:40px}
  .ns-chip{width:auto;padding:10px 20px}
}
@media (max-width:1023px) and (min-width:768px){
  .ns-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns-stats li:nth-child(3)::before{content:none}
  .ns-stats li:nth-child(n+3){border-top:1px solid rgba(9,60,246,.2)}
  .ns-teachers,.ns-reviews{grid-template-columns:minmax(0,1fr)}
  .ns-act{grid-template-columns:minmax(0,1fr)}
  .ns-steps,.ns-benefits{gap:16px}
  .ns-step{padding:24px 16px}
  .ns-step+.ns-step::before{left:-32px}
}

/* MO (≤767) — Figma 「위포트_MO」 360 프레임 · 좌우 16 */
@media (max-width:767px){
  .ns{--ns-bar-h:60px}
  .ns-br-mo,.ns-only-mo{display:inline}
  img.ns-only-mo{display:block}
  .ns-br-pc,.ns-only-pc,img.ns-only-pc{display:none}
  .ns-wrap{gap:24px}
  .ns-sec{padding:50px 16px}
  .ns-h2{font-size:28px;line-height:1.2}

  .ns-hero{padding:50px 16px;background-size:auto 100%;background-position:58.7% 0}
  .ns-logo-row{justify-content:center}
  .ns-logo,.ns-logo img{width:100px;height:26px}
  .ns-hero-time{flex-direction:column;gap:10px;font-size:20px;line-height:30px}
  .ns-hero-arrow{width:26px;height:24px}
  .ns-new{font-size:34px}
  .ns-badge{padding:4px 12px;line-height:22px}
  .ns-hero-title{font-size:42px;line-height:1.2}
  .ns-hero-lead{font-size:16px;font-weight:400;line-height:22px}
  .ns-chip,.ns-chip-churi{width:auto;padding:8px 18px;font-size:14px;line-height:20px} /* 시안 20px: 첫 줄이 328 을 3px 넘어 2+1 배치 유지를 위해 18px */
  .ns-hero-cta{width:100%;line-height:22px}
  .ns-stats{display:flex;flex-direction:column;align-items:stretch;width:277px;max-width:100%;background:none}
  .ns-stats li{gap:4px;padding:20px;background:rgba(255,255,255,.85)}
  .ns-stats li+li{margin-top:1px}
  .ns-stats li+li::before{left:50%;top:-1px;width:220px;height:1px;margin:0 0 0 -110px}
  .ns-stats b{font-size:18px;line-height:28px}

  .ns-need{flex-direction:column;gap:10px;width:100%}
  .ns-need-item{gap:6px}
  .ns-need-item strong{font-size:20px;font-weight:700;line-height:30px}
  .ns-need-item-b strong{font-size:26px;font-weight:900;line-height:36px}
  .ns-need-arrow{width:25px;height:23.64px;transform:rotate(90deg)}
  .ns-sec .ns-note.ns-center{width:100%;max-width:100%;margin:0}
  .ns-chart{width:100%;height:400px}
  .ns-chart-title{top:30px;font-size:24px;line-height:34px}
  .ns-grid{left:12.5%;top:101px;width:82.93%}
  .ns-cbar{bottom:58px;width:21.34%}
  .ns-cbar span{font-size:18px;line-height:28px}
  .ns-cbar-a{left:18.9%;height:211px}
  .ns-cbar-b{left:64.94%;height:88px}
  .ns-chart-arrow{left:10.67%;top:97px;width:84.76%}
  .ns-drop{left:62.04%;top:159px;padding:8px 14px;font-size:16px;line-height:22px;transform:translateX(-50%)}
  .ns-xlab{top:353px;line-height:22px}
  .ns-xlab-a{left:29.57%}
  .ns-xlab-b{left:74.7%}
  .ns-need-msg1{font-size:16px;line-height:24px}
  .ns-need-msg2{font-size:26px;font-weight:700;line-height:36px;letter-spacing:-.04em}

  .ns-why{grid-template-columns:minmax(0,1fr);gap:10px}
  .ns-why small{line-height:22px}
  .ns-why strong{font-size:34px}

  .ns-sec .ns-teachers{margin-top:0}
  .ns-teachers{grid-template-columns:minmax(0,1fr)}
  .ns-teacher{min-height:258px;padding:30px 20px 50px}
  .ns-teacher-skill{line-height:22px}
  .ns-teacher-shin .ns-teacher-photo{right:-23px;bottom:-4px;width:218px;height:190px}
  .ns-teacher-ha .ns-teacher-photo{right:-20px;bottom:-3px;width:188px;height:190px}

  .ns-sec-studies .ns-wrap{gap:24px}
  .ns-tab{height:102px;padding:10px;gap:0}
  .ns-tab b{font-size:16px;line-height:22px}
  .ns-tab-desc{font-size:12px;line-height:18px}
  .ns-card{gap:10px;padding:16px}
  .ns-card-head{gap:4px;padding-bottom:9px}
  .ns-card-title{font-size:20px;line-height:30px}
  .ns-card-who,.ns-card-skill{font-size:14px;line-height:20px}
  .ns-cur-head b{font-size:16px;line-height:24px}
  .ns-cur-total{padding:2px 10px;font-size:12px;line-height:18px}
  .ns-cur-weeks li{font-size:14px;line-height:20px}
  .ns-cur-more{gap:10px}
  .ns-cur-toggle{height:30px;padding:4px 12px;font-size:12px;line-height:22px;letter-spacing:-.01em}
  .ns-cur-toggle img{margin:0 2.25px}
  .ns-cur-full{padding:8px}
  .ns-cur-full-badge{display:block;width:auto;padding:8px}
  .ns-cur-full ol{padding:8px;font-size:12px;line-height:18px}
  .ns-act{grid-template-columns:minmax(0,1fr);gap:16px}
  .ns-period{min-height:0;gap:10px;padding:16px}
  .ns-period>div{gap:8px}
  .ns-period dt{font-size:12px;line-height:18px}
  .ns-period dd{font-size:14px;line-height:20px}
  .ns-period-closed{min-height:94px}
  .ns-period-closed p{font-size:14px;line-height:20px}
  .ns-period-closed small{font-size:12px;line-height:18px}
  .ns-book{padding:16px}
  .ns-book b{font-size:16px;line-height:22px}
  .ns-btn{height:40px;padding:8px 14px;font-size:14px;line-height:24px;letter-spacing:-.02em}
  .ns-btn-book{height:42px}

  .ns-how{gap:10px}
  .ns-steps,.ns-benefits{grid-template-columns:minmax(0,1fr);gap:10px}
  .ns-step+.ns-step::before{left:50%;top:-23px;width:44px;height:44px;margin:0 0 0 -22px;background-image:url(/static/new/images/ncs_study/step-arrow-mo.svg);background-size:44px 44px;transform:rotate(90deg)}
  .ns-benefits li{min-height:167px}

  .ns-reviews{grid-template-columns:minmax(0,1fr);gap:10px}
  .ns-review{min-height:0;gap:16px;padding:10px 20px 20px}
  .ns-review-body{gap:10px}
  .ns-review blockquote{font-size:14px;line-height:20px}
  .ns-review-meta{font-size:12px;line-height:18px}

  .ns-faq-wrap{gap:24px}
  .ns-faq .fp-faq-q{font-size:14px;line-height:20px}
  .ns-faq details[open] .fp-faq-q{padding-bottom:6px}
  .ns-faq-a{padding-right:52px}

  .ns-bar{padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px))}
  .ns-bar-in{gap:8px}
  .ns-bar-t1{display:none}
  .ns-bar-t2{font-size:16px;line-height:22px}
  .ns-bar-cta{padding:8px 14px;border-color:var(--ns-indigo);border-radius:6px;font-size:14px}
}
/* 360 미만: 하단 바 문구가 두 줄을 넘지 않도록 */
@media (max-width:359px){
  .ns-bar{padding-left:12px;padding-right:12px}
  .ns-bar-t2{font-size:14px;line-height:20px}
  .ns-bar-cta{padding:8px 10px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .ns *{transition:none!important}
}
