@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */
/* Main: retain document scrolling so oversized sections remain fully readable. */
html.home-fullpage #container>section {min-height:calc(100svh - var(--fullpage-header,80px)); height:auto; box-sizing:border-box; scroll-snap-align:start; scroll-snap-stop:always;}
html.home-fullpage #container>section:not(.main-visual) {display:flex; flex-direction:column; justify-content:center; padding-top:clamp(32px,5svh,64px); padding-bottom:clamp(32px,5svh,64px);}
html.home-fullpage #container>.main-visual {height:100svh; min-height:100svh; scroll-margin-top:calc(-1 * var(--fullpage-header,80px));}
html.home-fullpage #container .results-figma-box {flex:0 0 auto;}
html.home-fullpage #container .recruitment-head,html.home-fullpage #container .stories-showcase__head {margin-bottom:clamp(28px,4svh,56px);}
html.home-fullpage #container .recruitment-panel {min-height:clamp(380px,53svh,650px);}
html.home-fullpage #container .program-duo__media {height:clamp(250px,40svh,450px);}
html.home-fullpage #container .program-duo__content {gap:clamp(20px,3svh,36px); padding-top:24px;}
html.home-fullpage #container .program-duo__copy {gap:20px;}
html.home-fullpage #container>.main-system {padding-top:clamp(20px,3svh,40px); padding-bottom:clamp(20px,3svh,40px);}
html.home-fullpage #container .system-cta {gap:clamp(12px,2svh,24px);}
html.home-fullpage #container .system-cta__head {gap:8px;}
html.home-fullpage #container .system-cta__section-title {font-size:clamp(28px,min(3.333vw,5svh),64px);}
html.home-fullpage #container .system-cta__title {font-size:clamp(36px,3.333vw,64px);}
html.home-fullpage #container .system-cta__emblem {margin-top:clamp(12px,2svh,24px);}
html.home-fullpage #container .system-cta__emblem strong {font-size:clamp(56px,10svh,140px);}
html.home-fullpage #container .system-cta__emblem p {margin-top:10px;}
html.home-fullpage #container .system-cta__desc {margin-top:clamp(12px,2svh,24px);}
html.home-fullpage #container .system-cta__link {margin-top:clamp(16px,2.5svh,28px); padding:10px 28px;}
/* 메인 강사진 — 한 화면 (섹션·EVEN HOME FONTS 확대 보정) */
html.home-fullpage #container>section.main-sec.main-faculty {min-height:calc(100svh - var(--fullpage-header,80px)); padding-top:clamp(28px,3.2svh,44px); padding-bottom:clamp(24px,2.8svh,40px);}
html.home-fullpage .main-faculty {--faculty-bigword:clamp(48px,5.2vw,96px); --faculty-stagger:clamp(14px,1.25vw,24px); padding:clamp(28px,3.2svh,44px) var(--faculty-gutter) clamp(24px,2.8svh,40px);}
html.home-fullpage .main-faculty .faculty-head {gap:clamp(6px,0.8svh,12px);}
html.home-fullpage .main-faculty .faculty-head__side {gap:clamp(8px,0.9svh,12px);}
html.home-fullpage .main-faculty .faculty-head__desc {font-size:clamp(15px,1vw,18px); line-height:1.5;}
html.home-fullpage .main-faculty .faculty-head .main-more-link {margin-top:clamp(12px,1.2svh,18px); padding:10px 20px; font-size:15px;}
html.home-fullpage .main-faculty .faculty-bigword {margin-top:clamp(6px,0.9svh,12px);}
html.home-fullpage .main-faculty .faculty-body {margin-top:calc(var(--faculty-bigword) * -0.32);}
html.home-fullpage .main-faculty .faculty-card__top {padding:clamp(14px,1vw,20px) clamp(16px,1.15vw,24px) 0;}
html.home-fullpage .main-faculty .faculty-card__who {padding-bottom:clamp(16px,1.1vw,22px);}
html.home-fullpage .main-faculty .faculty-card__info {padding:clamp(14px,1vw,18px) clamp(16px,1.15vw,24px) clamp(16px,1.1vw,22px);}
html.home-fullpage .main-faculty .faculty-card__info ul {margin-top:8px; gap:2px;}
html.home-fullpage .main-faculty .faculty-card__info li {font-size:15px; line-height:1.45;}
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-head > h2.faculty-heading {font-size:clamp(28px,2.08vw,40px); font-weight:600;}
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > p.faculty-bigword {font-size:clamp(48px,5.2vw,96px);}
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-body > div.faculty-slider.swiper > ul.faculty-list > li.faculty-card > div.faculty-card__top > div.faculty-card__who > h3.faculty-card__name {font-size:clamp(26px,1.85vw,30px);}
.main-recruitment {background:#fff;}
.recruitment-head {text-align:center; margin-bottom:clamp(40px,4.167vw,80px);}
.recruitment-head__eyebrow {margin:0 0 clamp(12px,1.04vw,20px); color:#ce0d0d; font-size:clamp(16px,1.05vw,20px); font-weight:600; line-height:1.7; letter-spacing:.08em;}
.recruitment-head h2 {margin:0; font-size:clamp(36px,3.333vw,64px); font-weight:700; line-height:1.3; letter-spacing:-.03em; word-break:keep-all;}
.recruitment-panel {position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:clamp(420px,32vw,600px); border-radius:24px; overflow:hidden; isolation:isolate; background:#252525;}
.recruitment-images {position:absolute; inset:0; z-index:-2;}
.recruitment-images img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06); transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1);}
.recruitment-images img.is-active {opacity:1; transform:scale(1);}
.recruitment-panel::before {content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.32) 35%,rgba(0,0,0,.8));}
.recruitment-course {display:flex; flex-direction:column; justify-content:space-between; gap:100px; padding:clamp(28px,2.5vw,48px); color:#fff; transition:background .25s;}
.recruitment-course+.recruitment-course {border-left:1px solid rgba(255,255,255,.25);}
.recruitment-course__number {font-size:clamp(17px,1.15vw,22px); font-weight:500; line-height:1.636; letter-spacing:-.02em; color:rgba(255,255,255,.75);}
.recruitment-course h3 {font-size:clamp(20px,1.35vw,26px); font-weight:600; line-height:1.4; letter-spacing:-.02em; margin:0 0 clamp(12px,1.04vw,16px);}
.recruitment-course p {font-size:clamp(17px,1.15vw,22px); line-height:1.636; letter-spacing:-.02em; color:rgba(255,255,255,.88); word-break:keep-all;}
.recruitment-course__link {display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.3); font-size:18px; font-weight:500; line-height:28px; letter-spacing:-.02em;}
.recruitment-course__link>span {display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; border:1px solid rgba(255,255,255,.5); font-size:20px;}
.recruitment-course:hover,.recruitment-course:focus-visible {color:#fff;}
.recruitment-course h3 {opacity:.82; transition:opacity .4s ease;}
.recruitment-course p {color:#fff; opacity:.88; transition:opacity .4s ease;}
.recruitment-course.is-active h3,.recruitment-course.is-active p {opacity:1;}
.recruitment-course__link>span {opacity:0; transform:translateY(-6px); transition:opacity .35s ease,transform .35s ease;}
.recruitment-course:hover .recruitment-course__link>span,.recruitment-course:focus-visible .recruitment-course__link>span {opacity:1; transform:translateY(0);}
.recruitment-course:focus-visible {outline:2px solid #fff; outline-offset:-5px;}
/* Main success stories: transparent square cards */
.stories-showcase {background:radial-gradient(ellipse at 90% 40%,#fff1ef66,transparent 65%),#faf9f6;}
.stories-showcase__head {position:relative; text-align:center; margin-bottom:clamp(40px,4.167vw,80px);}
.stories-showcase__head .block-heading {color:var(--color-text-heading); font-size:clamp(36px,3.333vw,64px); font-weight:700; line-height:1.3; letter-spacing:-.03em;}
.stories-showcase__head p {margin-top:16px; color:var(--color-text-muted); font-size:clamp(17px,1.15vw,22px); line-height:1.636; letter-spacing:-.02em;}
.stories-showcase__all {position:absolute; right:0; top:50%; transform:translateY(-50%); padding:14px 24px; border:1px solid #777; border-radius:40px; color:var(--color-text-heading); font-size:18px; font-weight:500; line-height:28px;}
.stories-showcase__slider {position:relative; margin:0 60px;}
.stories-showcase [data-success-slider] {padding-bottom:3px;}
.success-card {height:auto; box-sizing:border-box; aspect-ratio:1; border:1px solid #ddd; border-radius:12px; background:transparent; transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;}
.success-card:hover {border-color:#ddd; box-shadow:0 10px 28px rgba(36,36,36,.1); transform:translateY(-2px);}
.success-card__link {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:100%; height:100%; padding:24px 20px; box-sizing:border-box; color:var(--color-text-heading); text-align:center; text-decoration:none; cursor:pointer;}
.success-card__link>img {flex-shrink:0; width:104px; height:104px; object-fit:contain; mix-blend-mode:multiply;}
.success-card__link>img[src$="snu.png"],.success-detail>img[src$="snu.png"] {width:90px; height:104px; object-fit:cover; object-position:left center;}
.success-card h3 {margin:12px 0 0; font-size:22px; line-height:1.35; letter-spacing:-.03em; font-weight:700;}
.success-card__quote {width:100%; margin:0; font-size:17px; line-height:1.42; letter-spacing:-.025em; color:var(--color-text-heading); word-break:keep-all; font-weight:500; text-align:center;}
.success-card p:not(.success-card__quote) {font-size:17px; line-height:1.65; letter-spacing:-.025em; margin:0; word-break:keep-all;}
.success-card__more {margin-top:12px; padding:8px 24px; border:1px solid #777; border-radius:30px; background:transparent; font-size:15px; line-height:1.4; pointer-events:none; transition:color .25s ease,border-color .25s ease,background-color .25s ease;}
.success-card:hover .success-card__more {color:var(--color-text-heading); border-color:#777;}
.stories-showcase__prev,.stories-showcase__next {position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:clamp(48px,2.917vw,56px); height:clamp(48px,2.917vw,56px); padding:0; border:0; border-radius:50%; background:#1a1a1a; color:#fff; box-shadow:0 10px 24px rgba(26,26,26,.22); cursor:pointer; z-index:2; transition:background-color .2s,box-shadow .2s,opacity .2s;}
.stories-showcase__prev {left:-64px;}
.stories-showcase__next {right:-64px;}
.stories-showcase__prev svg,.stories-showcase__next svg {width:24px; height:24px;}
.stories-showcase__prev path,.stories-showcase__next path {stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.stories-showcase__prev:hover,.stories-showcase__next:hover,.stories-showcase__prev:focus-visible,.stories-showcase__next:focus-visible {background:#1a1a1a; color:#fff; box-shadow:0 10px 24px rgba(26,26,26,.22);}
.stories-showcase__prev:focus-visible,.stories-showcase__next:focus-visible {outline:2px solid #1a1a1a; outline-offset:3px;}
.stories-showcase__pagination {position:static; text-align:center; margin-top:24px;}
.stories-showcase .swiper-pagination-bullet-active {background:#ce0d0d;}
.success-detail {max-width:820px; margin:0 auto; padding:30px 0 80px;}
.success-detail>img {display:block; object-fit:contain; margin:32px 0 20px;}
.success-detail__univ {color:var(--color-text-muted); font-size:18px;}
.success-detail h3 {font-size:32px; line-height:1.5; margin:16px 0; font-weight:700; word-break:keep-all;}
.success-detail__meta {display:flex; gap:16px; color:var(--color-text-muted);}
.success-detail__body {font-size:18px; line-height:2; border-top:1px solid #ddd; margin:28px 0; padding:28px 0; word-break:keep-all;}
.success-detail__back {display:inline-block; border:1px solid #888; border-radius:30px; padding:10px 20px; font-size:14px; color:var(--color-text-heading); text-decoration:none; transition:border-color .2s,color .2s;}
.success-detail__back:hover,.success-detail__back:focus-visible {border-color:#1c1c1c; color:var(--color-text-heading);}
.success-detail.stp-detail {padding:20px 0 0;}
.success-detail__nav {margin-bottom:clamp(24px,2vw,40px);}
.success-detail__head {text-align:center;}
.success-detail__head>img {margin:0 auto 20px;}
.success-detail h1.success-detail__title,.success-detail__title {font-size:32px; line-height:1.5; margin:16px 0; font-weight:700; word-break:keep-all;}
.success-detail__photo {margin:clamp(28px,2.5vw,48px) 0 0; border-radius:8px; overflow:hidden; line-height:0;}
.success-detail__photo img {display:block; width:100%; height:auto; max-height:420px; object-fit:cover; object-position:40% 30%;}
.success-detail__lead {font-size:19px; font-weight:600; line-height:1.75; color:var(--color-text-heading);}
.success-detail__body p {margin:0;}
.success-detail__body p + p {margin-top:1.35em;}
.success-detail__body .success-detail__lead + p {margin-top:1.5em;}
.success-detail__subhead {margin:clamp(32px,2.5vw,48px) 0 16px; font-size:22px; font-weight:600; line-height:1.4; color:var(--color-text-heading);}
.success-detail__points {margin:0; padding:0 0 0 1.25em; font-size:17px; line-height:1.85; color:var(--color-text-body);}
.success-detail__points li + li {margin-top:8px;}
.success-detail__foot {margin:clamp(40px,3vw,56px) 0 0; text-align:center;}

/* 합격수기 상세 — godoart essay_2025 read_form 레퍼런스 */
.success-detail__nav-link {display:inline-flex; align-items:center; gap:6px; font-size:15px; font-weight:500; color:var(--color-text-body); text-decoration:none; transition:color .2s;}
.success-detail__nav-link:hover,.success-detail__nav-link:focus-visible {color:var(--color-primary,#ce0d0d);}
.success-detail__head--essay {text-align:center;}
.success-detail__moto-frame {position:relative; max-width:680px; margin:0 auto; padding:clamp(32px,2.5vw,44px) clamp(16px,2vw,28px);}
.success-detail__moto-frame::before,.success-detail__moto-frame::after {content:""; position:absolute; left:0; right:0; height:3px; background:#1ecae6;}
.success-detail__moto-frame::before {top:0;}
.success-detail__moto-frame::after {bottom:0;}
.success-detail__frame-vert {position:absolute; width:3px; height:28px; background:#1ecae6;}
.success-detail__frame-vert--tl {top:0; left:0;}
.success-detail__frame-vert--tr {top:0; right:0;}
.success-detail__frame-vert--bl {bottom:0; left:0;}
.success-detail__frame-vert--br {bottom:0; right:0;}
.success-detail__head--essay .success-detail__title {margin:0; font-size:clamp(26px,2.0834vw,36px); line-height:1.45;}
.success-detail__accept-line {margin:clamp(14px,1.25vw,20px) 0 0; font-size:clamp(18px,1.1458vw,22px); font-weight:700; line-height:1.4; color:var(--color-primary,#ce0d0d); word-break:keep-all;}
.success-detail__photo--essay {max-width:560px; margin:clamp(32px,2.5vw,48px) auto 0; padding:14px; border:3px solid #1ecae6; border-radius:0; background:#fff; box-sizing:border-box;}
.success-detail__photo--essay img {max-height:480px; object-position:top center;}
.success-detail__profile {display:flex; align-items:center; gap:clamp(16px,1.5625vw,24px); max-width:820px; margin:clamp(28px,2.0834vw,40px) auto 0;}
.success-detail__profile-logo {flex-shrink:0; width:90px; height:104px; object-fit:contain; mix-blend-mode:multiply;}
.success-detail__profile-logo[src*="snu.png"] {object-fit:cover; object-position:left center; mix-blend-mode:normal;}
.success-detail__profile-logo[src$=".svg"] {width:104px; height:auto; max-height:72px; mix-blend-mode:normal;}
.success-detail__profile-name {margin:0; font-size:clamp(20px,1.25vw,24px); font-weight:700; line-height:1.35; color:var(--color-text-heading);}
.success-detail.stp-detail .success-detail__body {border-top:0; margin-top:clamp(24px,2vw,32px); padding-top:0;}
.success-detail.stp-detail .success-detail__body .success-detail__subhead:first-child {margin-top:0;}
.success-detail.stp-detail .success-detail__subhead {font-size:clamp(18px,1.0417vw,22px); font-weight:600; color:var(--color-text-heading);}
/* 합격수기 상세: 예비반과 동일한 컨테이너 및 좌우 정보 구성 */
.success-detail.stp-detail {max-width: none; margin: 0; padding: 0 var(--sub-gutter) 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); grid-template-areas: 'head head' 'photo body' 'profile body' 'foot foot'; column-gap: 64px; grid-template-rows: auto auto 1fr auto;}
.stp-detail .success-detail__nav {grid-area: nav; margin-bottom: 28px;}
.stp-detail .success-detail__nav-link {font-size: 16px;}
.stp-detail .success-detail__head {grid-area: head; text-align: left; padding: 0 0 40px; margin-bottom: 48px; border-bottom: 1px solid #ddd;}
.stp-detail .success-detail__moto-frame {max-width: none; margin: 0; padding: 0;}
.stp-detail .success-detail__moto-frame::before,.stp-detail .success-detail__moto-frame::after,.stp-detail .success-detail__frame-vert {display: none;}
.success-detail.stp-detail h1.success-detail__title {font-size: round(nearest,clamp(30px,2.5vw,48px),2px); line-height: 1.4; margin: 0; font-weight: 600;}
.stp-detail .success-detail__accept-line {font-size: 18px; margin: 20px 0 0;}
.stp-detail .success-detail__photo--essay {grid-area: photo; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 16px; background: #f7f7f7; align-self: start;}
.stp-detail .success-detail__photo--essay img {width: 100%; height: auto; max-height: none; object-fit: contain;}
.stp-detail .success-detail__profile {grid-area: profile; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; width: 100%; max-width: none; margin: 28px 0 0; padding: 32px 28px; box-sizing: border-box; border-radius: 16px; background: #f7f7f7; align-self: start; text-align: center;}
.stp-detail .success-detail__profile-name {font-size: 20px; line-height: 1.6; word-break: keep-all;}
.success-detail.stp-detail .success-detail__body {grid-area: body; min-width: 0; margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 1.9; color: var(--color-text-body);}
.success-detail.stp-detail .success-detail__subhead {font-size: round(nearest,clamp(20px,1.25vw,24px),2px); font-weight: 600; line-height: 1.6; margin: 40px 0 20px; padding-left: 16px; border-left: 3px solid var(--color-primary,#ce0d0d); color: var(--color-text-heading);}
.stp-detail .success-detail__foot {grid-area: foot; margin-top: 56px; padding-top: 32px; border-top: 1px solid #ddd;}
/* 입시설명회 inquiry-submit과 동일 pill · 연한 회색 fill */
.stp-detail .success-detail__back {display: inline-block; min-width: 0; padding: 16px 40px; border: 0; border-radius: 80px; background: #f0f0f0; font-family: inherit; font-size: 20px; font-weight: 600; line-height: 34px; letter-spacing: -0.02em; color: var(--color-text-heading); text-decoration: none; transition: background-color 0.3s ease, color 0.3s ease;}
.stp-detail .success-detail__back:hover,.stp-detail .success-detail__back:focus-visible {background: #e3e3e3; color: var(--color-text-heading); border-color: transparent;}
/* 합격수기 상세 — 스크롤 시 본문·소제목 흐림 → 진하게 (JS: --stp-read 0~1) */
.stp-detail .success-detail__body.is-stp-read-ready > p.stp-reveal {color: color-mix(in srgb, #555 calc(var(--stp-read, 1) * 100%), #c9c9c9);}
.stp-detail .success-detail__body.is-stp-read-ready > .success-detail__subhead.stp-reveal {color: color-mix(in srgb, #242424 calc(var(--stp-read, 1) * 100%), #b5b5b5); border-left-color: color-mix(in srgb, var(--color-primary,#ce0d0d) calc(var(--stp-read, 1) * 100%), #e6e6e6); transition: color 0.12s ease-out, border-left-color 0.12s ease-out;}
.stp-detail .success-detail__body.is-stp-read-ready > p.stp-reveal {transition: color 0.12s ease-out;}
@media (max-width:991px) {
  .success-detail.stp-detail {grid-template-columns: minmax(0,1fr); grid-template-areas: 'head' 'photo' 'profile' 'body' 'foot'; column-gap: 0; row-gap: 0;}
  .stp-detail .success-detail__head {margin-bottom: 32px; padding-bottom: 28px;}
  .stp-detail .success-detail__photo--essay {max-width: 100%;}
}
@media (max-width:767px) {
  .success-detail__profile {flex-direction:column; text-align:center;}
  .success-detail__photo--essay {margin-left:var(--sub-gutter,20px); margin-right:var(--sub-gutter,20px);}
}

/* BEGIN EVEN HOME FONTS */
html.home-fullpage #wrapper #container > section.main-visual > div.main-visual__copy > div.main-visual__txt > p.main-visual__badge,
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > div.results-figma-headline > div.results-figma-stack > p.results-figma-univ.results-figma-univ--ewha,
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > p.results-figma-countline > span.results-figma-count > span.results-figma-count__univ,
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > p.results-figma-countline > span.results-figma-count > span.results-figma-count__txt,
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-head > div.faculty-head__side > p.faculty-head__desc,
html.home-fullpage #wrapper #container > section.main-block.stories-showcase > div.block-inner > div.stories-showcase__head > div > p,
html.home-fullpage #wrapper #container > section.main-block.stories-showcase > div.block-inner > div.stories-showcase__slider > div.swiper > ul > li.success-card > div.success-card__link > h3,
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__panel > a.system-cta__link,
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-panel > a.recruitment-course > span.recruitment-course__number,
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-panel > a.recruitment-course > div.recruitment-course__body > p,
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-panel > a.recruitment-course > div.recruitment-course__body > span.recruitment-course__link,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--aptitude > div.program-duo__content > div.program-duo__copy > div.program-duo__lead > p.program-duo__desc,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--seminar > div.program-duo__content > div.program-duo__copy > div.program-duo__lead > p.program-duo__desc {font-size:18px;}
html.home-fullpage #wrapper #container > section.main-visual > div.main-visual__copy > div.main-visual__txt > h2.main-visual__title {font-size:30px;}
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__head > h2.system-cta__section-title,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--aptitude > div.program-duo__content > div.program-duo__copy > h3.program-duo__title,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--seminar > div.program-duo__content > div.program-duo__copy > h3.program-duo__title {font-size:22px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > h2.results-figma-title.block-heading,
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-head > h2.faculty-heading,
html.home-fullpage #wrapper #container > section.main-block.stories-showcase > div.block-inner > div.stories-showcase__head > div > h2.block-heading,
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__panel > h3.system-cta__title,
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-head > h2 {font-size:22px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > div.results-figma-headline > div.results-figma-stack > p.results-figma-year {font-size:14px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > div.results-figma-headline > div.results-figma-stack > p.results-figma-year > span.results-figma-year__num,
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-body > div.faculty-slider.swiper > ul.faculty-list > li.faculty-card > div.faculty-card__top > div.faculty-card__who > p.faculty-card__role,
html.home-fullpage #wrapper #container > section.main-block.stories-showcase > div.block-inner > div.stories-showcase__slider > div.swiper > ul > li.success-card > div.success-card__link > p.success-card__quote,
html.home-fullpage #wrapper #container > section.main-block.stories-showcase > div.block-inner > div.stories-showcase__slider > div.swiper > ul > li.success-card > div.success-card__link > span.success-card__more,
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__panel > div.system-cta__emblem > p {font-size:14px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > div.results-figma-headline > div.results-figma-stack > p.results-figma-univ.results-figma-univ--snu {font-size:18px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > div.results-figma-headline > p.results-figma-rank {font-size:32px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > div.results-figma-hero > p.results-figma-countline > span.results-figma-count > span.results-figma-count__num {font-size:18px;}
html.home-fullpage #wrapper #container > section.main-sec.main-results.results.results-2026 > div.results-figma-box > a.results-figma-more,
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-body > div.faculty-slider.swiper > ul.faculty-list > li.faculty-card > div.faculty-card__top > div.faculty-card__who > span.faculty-card__num,
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-body > div.faculty-slider.swiper > ul.faculty-list > li.faculty-card > div.faculty-card__info > p.faculty-card__label,
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-body > div.faculty-slider.swiper > ul.faculty-list > li.faculty-card > div.faculty-card__info > ul > li,
html.home-fullpage #wrapper #container > section.main-block.stories-showcase > div.block-inner > div.stories-showcase__head > a.stories-showcase__all,
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__head > p.system-cta__eyebrow,
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__panel > p.system-cta__desc,
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-head > p.recruitment-head__eyebrow,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--aptitude > div.program-duo__content > a.program-duo__btn,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--seminar > div.program-duo__content > a.program-duo__btn,
html.home-fullpage #wrapper #container > section.main-block.main-consult > div.block-inner.consult-inner > div.consult-box > a.consult-cta {font-size:16px;}
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > p.faculty-bigword {font-size:32px;}
html.home-fullpage #wrapper #container > section.main-sec.main-faculty > div.faculty-inner > div.faculty-body > div.faculty-slider.swiper > ul.faculty-list > li.faculty-card > div.faculty-card__top > div.faculty-card__who > h3.faculty-card__name {font-size:18px;}
html.home-fullpage #wrapper #container > section.main-block.main-system > div.block-inner.system-cta > div.system-cta__panel > div.system-cta__emblem > strong {font-size:32px;}
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-panel > a.recruitment-course > div.recruitment-course__body > h3,
html.home-fullpage #wrapper #container > section.main-block.main-recruitment > div.block-inner > div.recruitment-panel > a.recruitment-course > div.recruitment-course__body > span.recruitment-course__link > span,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--aptitude > div.program-duo__content > div.program-duo__copy > div.program-duo__lead > p.program-duo__subtitle,
html.home-fullpage #wrapper #container > section.main-block.main-program-duo > div.block-inner.program-duo > article.program-duo__col.program-duo__col--seminar > div.program-duo__content > div.program-duo__copy > div.program-duo__lead > p.program-duo__subtitle {font-size:20px;}
html.home-fullpage #wrapper #container > section.main-block.main-consult > div.block-inner.consult-inner > div.consult-box > div.consult-copy > h2.consult-heading {font-size:22px;}
/* END EVEN HOME FONTS */
/* 최정예 강사진 — 소수정예 시스템과 동일한 서브페이지 구성 */
.team { color: var(--color-text-heading); word-break: keep-all; letter-spacing: -0.02em; }
.team em { color: #ce0d0d; font-style: normal; }
.team-eyebrow { color: #ce0d0d; font-size: 16px; font-weight: 600; letter-spacing: 0.04em; line-height: 1.5; }
.team-hero { position: relative; min-height: 560px; padding: 70px var(--sub-gutter); display: flex; align-items: center; overflow: hidden; box-sizing: border-box; }
.team-hero__media { position: absolute; inset: 0; }
.team-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.team-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 28%,rgba(255,255,255,.15) 75%); }
.team-hero__copy { position: relative; max-width: 660px; }
.team-hero h3 { font-size: 48px; line-height: 1.35; font-weight: 700; margin: 20px 0 24px; }
.team-hero__copy > p:last-child { font-size: 20px; line-height: 1.8; color: var(--color-text-body); }
.team-directory { padding: 110px var(--sub-gutter) 0; }
.team-heading { margin-bottom: 56px; }
.team-heading h3 { font-size: 40px; font-weight: 600; line-height: 1.35; margin: 16px 0 20px; }
.team-heading > p:last-child { font-size: 18px; color: var(--color-text-muted); line-height: 1.7; }
.team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 28px; }
.team-card { border: 1px solid #ddd; border-radius: 16px; overflow: hidden; background: #fff; }
.team-card__portrait { position: relative; height: 300px; background: #f5f5f5; overflow: hidden; }
.team-card__portrait img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.team-card__body { padding: 28px 30px 32px; }
.team-card__role { color: #ce0d0d; font-size: 16px; line-height: 1.5; }
.team-card h4 { font-size: 30px; font-weight: 700; margin: 8px 0 24px; }
.team-card__label { padding-top: 22px; border-top: 1px solid #eee; font-size: 14px; color: var(--color-text-muted); margin-bottom: 12px; }
.team-card ul { font-size: 16px; line-height: 1.8; color: var(--color-text-body); font-weight: 400; }
.team-card li { padding-left: 12px; position: relative; font-weight: 400; }
.team-card li.is-emphasis { font-weight: 600; color: var(--color-text-heading); }
.faculty-card__info li.is-emphasis { font-weight: 600; }
.team-card li::before { content: ''; width: 3px; height: 3px; background: #aaa; border-radius: 50%; position: absolute; left: 0; top: 13px; }
.team-next { margin: 0 var(--sub-gutter) 100px; border-top: 1px solid #ddd; padding-top: 54px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.team-next h3 { font-size: 32px; line-height: 1.5; font-weight: 600; margin-top: 14px; }
.team-next a { display: flex; align-items: center; gap: 40px; border: 1px solid #ddd; border-radius: 50px; padding: 20px 28px; font-size: 16px; transition: background .2s; }
.team-next a:hover { background: #f5f5f5; }
/* 대학별 입시반 상세 */
.exam-detail {--exam-composed-band-pad: clamp(100px,7.2917vw,140px); padding: 0 var(--sub-gutter); color: var(--color-text-heading); word-break: keep-all;}
.exam-nav {display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: clamp(50px,4.1667vw,80px);}
.exam-nav a {display: inline-flex; justify-content: center; align-items: center; text-align: center; min-width: 120px; height: 52px; padding: 0 24px; box-sizing: border-box; font-size: 18px; font-weight: 500; border: 1px solid #ddd; border-radius: 26px; color: var(--color-text-muted); background: transparent; transition: border-color .3s,color .3s;}
.exam-nav a:hover {border-color: #1c1c1c; color: var(--color-text-heading);}
.exam-nav a.is-active {background: #1c1c1c; color: #fff; border-color: #1c1c1c; font-weight: 600;}
.exam-eyebrow,.exam-section-head>p {font-size: round(nearest, clamp(14px, .9375vw, 18px), 2px); font-weight: 600; letter-spacing: .06em; color: #ce0d0d;}
.exam-overview {position: relative; isolation: isolate; overflow: hidden; padding: clamp(44px,3.75vw,72px) 0 clamp(40px,3.3333vw,64px); border-top: 2px solid #1c1c1c; border-bottom: 1px solid #ddd;}
.exam-overview__head {display: flex; align-items: center; gap: clamp(24px,2.0834vw,40px); min-width: 0;}
.exam-overview__emblem {flex: none; display: flex; align-items: center; justify-content: center; width: clamp(96px,6.25vw,120px); aspect-ratio: 1;}
.exam-overview__symbol {display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none;}
.exam-overview__symbol[src$="/snu.png"] {object-fit: cover; object-position: left center;}
.exam-overview__title {min-width: 0;}
.exam-overview h3 {font-size: round(nearest, clamp(30px, 2.5vw, 48px), 2px); line-height: 1.3; font-weight: 700; margin: 12px 0 10px; color: var(--color-text-heading);}
.exam-overview__desc {font-size: 18px; line-height: 1.6; color: var(--color-text-body);}
.exam-overview__schools {margin-top: 12px; font-size: 16px; line-height: 1.7; color: var(--color-text-muted);}
.exam-composition__en {margin-top: 12px; font-size: 16px; font-weight: 600; color: var(--color-text-muted); line-height: 1.5;}
.exam-timetable__summary {flex-wrap: wrap;}
.exam-info {display: grid; grid-template-columns: minmax(0,1.9fr) minmax(0,1fr); gap: clamp(32px,3.125vw,60px); margin-top: clamp(36px,2.9167vw,56px); padding-top: clamp(28px,2.0834vw,40px); border-top: 1px solid #e5e5e5; min-width: 0;}
.exam-info h4 {font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--color-text-muted); margin-bottom: 18px;}
.exam-admit {display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr); margin: 0;}
.exam-admit>div {padding: 2px 24px; border-left: 1px solid #e5e5e5;}
.exam-admit>div:first-child {padding-left: 0; border-left: 0;}
.exam-admit dt {font-size: 15px; font-weight: 600; color: #ce0d0d; margin-bottom: 10px;}
.exam-admit dd {margin: 0; font-size: 18px; font-weight: 500; line-height: 1.6; color: var(--color-text-heading);}
.exam-admit dd span {white-space: nowrap;}
.exam-admit dd span:not(:last-child)::after {content: '·'; margin: 0 6px; color: #bbb; font-weight: 400;}
.exam-admit dd strong {font-weight: 700; color: var(--color-text-heading);}
.exam-info__time {padding-left: clamp(24px,2.0834vw,40px); border-left: 1px solid #e5e5e5;}
.exam-info__text {font-size: 18px; line-height: 1.8; color: var(--color-text-heading);}
.exam-info__text p+p {margin-top: 6px;}
.exam-timetable__summary {display: flex; align-items: center; gap: 14px; margin: 16px 0 20px; font-size: 16px; line-height: 1.5;}
.exam-timetable__summary strong {color: #ce0d0d; font-weight: 600;}
.exam-timetable__summary>span {border-left: 1px solid #ddd; padding-left: 14px; color: var(--color-text-muted);}
.exam-timetable__days {display: grid; gap: 10px;}
.exam-timetable__days>div {display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 16px; padding: 16px 20px; border-radius: 8px; background: #f6f6f6; font-size: 18px; line-height: 1.6;}
.exam-timetable__days dt {font-weight: 600;}
.exam-timetable__days dd {margin: 0; font-variant-numeric: tabular-nums; color: var(--color-text-heading);}
.exam-timetable__days dd>span {color: #999; margin: 0 4px;}
.exam-timetable__notes {margin: 14px 0 0; padding: 0; list-style: none; font-size: 15px; line-height: 1.65; color: var(--color-text-muted);}
.exam-timetable__notes li+li {margin-top: 6px;}
.exam-overview__photo {display: none;}
.exam-detail .exam-overview {margin-bottom: var(--exam-composed-band-pad); padding-bottom: 0;}
.exam-overview--photo {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); grid-template-rows: auto auto; column-gap: clamp(40px,4.1667vw,80px); padding: 0; border: 0;}
.exam-overview--photo .exam-overview__visual {display: flex; align-items: center; justify-content: center; grid-column: 1; grid-row: 1 / span 2; min-height: 420px; margin: 0; padding: clamp(48px,4.1667vw,72px); border-radius: 20px; background: #f7f7f7; border: 1px solid #ececec;}
.exam-overview__emblem--visual {width: clamp(132px,10.4167vw,200px); aspect-ratio: 1;}
.exam-overview__emblem--visual .exam-overview__symbol[src$="/snu.png"] {object-fit: contain; object-position: center;}
.exam-overview__visual--brand .exam-overview__brand {display: block; width: clamp(168px,13.5417vw,260px); height: auto;}
.exam-overview--photo .exam-overview__visual--student {position: relative; padding: 0; overflow: hidden; border: 0;}
.exam-overview__visual--student>img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.exam-overview--photo .exam-overview__head {grid-column: 2; align-self: end; flex-direction: column; align-items: flex-start; gap: 22px; padding-top: 8px;}
.exam-overview--photo .exam-info {grid-column: 2; align-self: start; grid-template-columns: 1fr; gap: 0; margin-top: 36px; padding-top: 0; border-top: 2px solid #1c1c1c;}
.exam-overview--photo .exam-info h4 {margin: 22px 0 4px;}
.exam-overview--photo .exam-admit {grid-auto-flow: row; grid-template-columns: repeat(2,minmax(0,1fr));}
.exam-overview--photo .exam-admit>div,.exam-overview--photo .exam-admit>div:first-child {padding: 16px 20px 16px 0; border-left: 0; border-bottom: 1px solid #e5e5e5;}
.exam-overview--photo .exam-admit dt {margin-bottom: 6px;}
.exam-overview--photo .exam-info__time {padding: 0; border: 0; margin-top: 8px;}
.exam-overview--photo .exam-info__time h4 {margin: 28px 0 0;}
.exam-time-slots {display: grid; grid-template-columns: repeat(auto-fit,minmax(248px,1fr)); gap: 14px; margin: 18px 0 0; padding: 0; list-style: none;}
.exam-time-slot {display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; border-radius: 14px; background: #1c1c1c;}
.exam-time-slot__badge {flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #ce0d0d; color: #fff; font-size: 15px; font-weight: 700; line-height: 1;}
.exam-time-slot__body {display: flex; flex-direction: column; gap: 4px; min-width: 0;}
.exam-time-slot__day {font-size: 14px; font-weight: 600; color: rgba(255,255,255,.62); letter-spacing: .02em;}
.exam-time-slot__meta {font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.48);}
.exam-time-slot__range {font-size: 17px; font-weight: 600; line-height: 1.55; color: #fff;}
.exam-overview--alt {display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); align-items: stretch; padding: 0; border: 1px solid #e5e5e5; border-radius: 20px;}
.exam-overview--alt .exam-overview__head {flex-direction: column; align-items: flex-start; justify-content: center; gap: 28px; padding: clamp(40px,3.3333vw,64px); border-right: 1px solid #e5e5e5;}
.exam-overview--alt .exam-overview__emblem {width: clamp(96px,6.6667vw,128px);}
.exam-overview--alt .exam-info {grid-template-columns: 1fr; gap: 0; margin: 0; padding: clamp(36px,2.9167vw,56px) clamp(40px,3.3333vw,64px); border-top: 0;}
.exam-overview--alt .exam-admit {grid-auto-flow: row; grid-template-columns: 1fr;}
.exam-overview--alt .exam-admit>div {display: grid; grid-template-columns: 110px minmax(0,1fr); align-items: center; gap: 20px; padding: 16px 0; border-left: 0; border-bottom: 1px dashed #e0e0e0;}
.exam-overview--alt .exam-admit>div:first-child {padding-top: 0;}
.exam-overview--alt .exam-admit dt {justify-self: start; margin: 0; padding: 4px 14px; border: 1px solid #ce0d0d; border-radius: 20px; font-size: 14px; line-height: 1.5;}
.exam-overview--alt .exam-info__time {margin-top: 28px; padding: 24px 28px; border: 0; border-radius: 12px; background: #1c1c1c;}
.exam-overview--alt .exam-info__time h4 {margin-bottom: 8px; font-size: 15px; line-height: 1.6; color: #fff;}
.exam-overview--alt .exam-info__time .exam-info__text {font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.85);}
.exam-detail .exam-composition {margin: 0 calc(-1 * var(--sub-gutter)); padding: var(--exam-composed-band-pad) var(--sub-gutter); background: #f7f7f7;}
.exam-detail .exam-program {margin-top: 0; padding-bottom: 0;}
.exam-detail .exam-composition + .exam-program {padding-top: var(--exam-composed-band-pad);}
.exam-program__head {display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(40px,3.6459vw,70px);}
.exam-program__title {margin: 0; font-size: round(nearest, clamp(30px,2.5vw,48px), 2px); font-weight: 600; line-height: 1.3; color: var(--color-text-heading);}
.exam-section-head {margin-bottom: 36px;}
.exam-section-head h3 {font-size: round(nearest, clamp(30px, 2.5vw, 48px), 2px); line-height: 1.4; font-weight: 600; margin-top: 12px;}
.exam-steps {margin: 0; padding: 0; border-top: 1px solid #1c1c1c; list-style: none;}
.exam-step {display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: clamp(24px,4.1667vw,80px); padding: clamp(32px,2.5vw,48px) 0; border-bottom: 1px solid #e2e2e2;}
.exam-step__num {display: inline-block; padding: 4px 12px; border-radius: 4px; background: #ce0d0d; font-size: 15px; font-weight: 700; line-height: 1.4; letter-spacing: 0.04em; color: #fff;}
.exam-step__title {margin: 16px 0 0; font-size: round(nearest, clamp(24px,1.6667vw,32px), 2px); font-weight: 600; line-height: 1.35; color: var(--color-text-heading);}
.exam-step__en {margin: 8px 0 0; font-size: 18px; line-height: 28px; color: var(--color-text-muted);}
.exam-step__lead {margin: 0 0 16px; font-size: round(nearest, clamp(19px,1.1459vw,22px), 2px); font-weight: 600; line-height: 1.55; color: var(--color-text-heading);}
.exam-step__body {min-width: 0; align-self: center;}
.exam-step__list {display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none;}
.exam-detail .exam-step__list > li {position: relative; margin: 0; padding: 14px 0 14px 22px; border-bottom: 1px solid #efefef; font-size: 18px; font-weight: 500; line-height: 28px; color: var(--color-text-heading);}
.exam-detail .exam-step__list > li:first-child {padding-top: 0;}
.exam-detail .exam-step__list > li:last-child {padding-bottom: 0; border-bottom: 0;}
.exam-detail .exam-step__list > li::before {content: ''; position: absolute; top: 25px; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #ce0d0d;}
.exam-detail .exam-step__list > li:first-child::before {top: 11px;}
.exam-detail .exam-step__list > li + li {margin-top: 0;}
.exam-detail .exam-steps > .exam-step {position: static; padding-left: 0; list-style: none;}
.exam-detail .exam-steps > .exam-step::before {content: none; display: none;}
.exam-detail .exam-steps > .exam-step + .exam-step {margin-top: 0;}
.exam-composition__head {display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(40px,3.6459vw,70px);}
.exam-composition__title {margin: 0; font-size: round(nearest, clamp(30px,2.5vw,48px), 2px); font-weight: 600; line-height: 1.3; color: var(--color-text-heading);}
.exam-composition__grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(12px,1.0417vw,20px); margin: 0; padding: 0; list-style: none;}
.exam-composition__card {display: flex; flex-direction: column; padding: clamp(28px,2.0834vw,40px) clamp(24px,1.6667vw,32px); border-radius: 8px; background: #fff;}
.exam-composition__num {font-size: clamp(36px,2.5vw,48px); font-weight: 700; line-height: 1; color: #ce0d0d;}
.exam-composition__card-title {margin: 20px 0 0; padding-bottom: 20px; border-bottom: 1px solid #e2e2e2; font-size: round(nearest, clamp(20px,1.25vw,24px), 2px); font-weight: 600; line-height: 1.4; color: var(--color-text-heading); min-height: calc(2 * 1.4 * 1em);}
.exam-composition__card ul {display: flex; flex-direction: column; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; font-size: 18px; line-height: 28px; color: var(--color-text-body);}
.exam-composition__card li {position: relative; padding-left: 14px; margin: 0;}
.exam-composition__card li+li {margin-top: 0;}
.exam-composition__card li::before {content: ''; position: absolute; top: 13px; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #ccc;}
.exam-detail .exam-composition__grid > .exam-composition__card {position: static; padding: clamp(28px,2.0834vw,40px) clamp(24px,1.6667vw,32px); list-style: none;}
.exam-detail .exam-composition__grid > .exam-composition__card::before {content: none; display: none;}
.exam-detail .exam-composition__grid > .exam-composition__card + .exam-composition__card {margin-top: 0;}
.exam-detail ul {font-size: 18px; line-height: 1.85; color: var(--color-text-body);}
.exam-detail li {position: relative; padding-left: 14px;}
.exam-detail li::before {content: ''; position: absolute; top: 13px; left: 0; width: 3px; height: 3px; background: #999; border-radius: 50%;}
.exam-detail li+li {margin-top: 8px;}
.exam-consult {display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(36px,2.9167vw,56px) clamp(32px,2.5vw,48px); background: #242424; border-radius: 16px; margin-top: 80px;}
.exam-detail .exam-consult {margin-top: var(--exam-composed-band-pad);}
.exam-consult p {font-size: round(nearest, clamp(28px, 2.083333vw, 40px), 2px); font-weight: 600; line-height: 1.5; margin-bottom: 10px; color: #fff;}
.exam-consult div>span {font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.72);}
.exam-consult>a {display: flex; align-items: center; gap: 30px; white-space: nowrap; background: #ce0d0d; color: #fff; border-radius: 40px; padding: 18px 26px; font-size: 18px; font-weight: 600;}
.exam-program--mentor .exam-step__body {align-self: start;}
.exam-program--mentor .exam-step__lead {margin: 0 0 clamp(20px,1.6667vw,28px); padding-bottom: clamp(16px,1.25vw,22px); border-bottom: 1px solid #e5e5e5; color: #ce0d0d;}
.exam-program--mentor .exam-step__list--mentor > li {padding-left: 0; font-weight: 400; line-height: 1.65; color: var(--color-text-body);}
.exam-program--mentor .exam-step__list--mentor > li::before {display: none;}
.exam-program--mentor .exam-step__list--mentor > li {border-bottom-color: #f0f0f0;}

/* 고1·2 예비반 */
.prep-detail {padding: 0 var(--sub-gutter); color: var(--color-text-heading); word-break: keep-all;}
.prep-intro {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 64px; margin-bottom: 120px; align-items: stretch;}
.prep-intro__photo {position: relative; min-height: 560px; border-radius: 20px; overflow: hidden;}
.prep-intro__photo img {position: absolute; width: 100%; height: 100%; object-fit: cover;}
.prep-intro__copy {padding: 24px 0;}
.prep-intro h3,.prep-section-head h3 {font-size: round(nearest,clamp(30px,2.5vw,48px),2px); font-weight: 600; line-height: 1.3; margin: 16px 0 24px;}
.prep-intro__lead {font-size: round(nearest,clamp(20px,1.25vw,24px),2px); font-weight: 600; line-height: 1.5; margin-bottom: 12px;}
.prep-intro__desc {font-size: 18px; line-height: 1.7; color: var(--color-text-muted);}
.prep-schedule {border-top: 2px solid #242424; margin-top: 36px; padding-top: 24px;}
.prep-schedule h4 {font-size: 20px; font-weight: 600;}
.prep-schedule__summary {font-size: 16px; line-height: 1.7; color: #ce0d0d; margin: 14px 0 20px;}
.prep-schedule dl {display: grid; gap: 10px;}
.prep-schedule dl>div {display: grid; grid-template-columns: 60px 1fr; gap: 16px; background: #f6f6f6; border-radius: 8px; padding: 16px 20px; font-size: 18px; line-height: 1.7;}
.prep-schedule dt {font-weight: 600;}
.prep-schedule dd {margin: 0; font-variant-numeric: tabular-nums;}
.prep-section-head {margin-bottom: 48px;}
.prep-composed {background: #f7f7f7; margin: 0 calc(-1 * var(--sub-gutter)); padding: 100px var(--sub-gutter);}
.prep-composed__grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px;}
.prep-composed__grid article {background: #fff; border: 0; border-radius: 12px; padding: 32px;}
.prep-composed__grid article>span {font-size: 18px; font-weight: 600; color: #ce0d0d;}
.prep-composed__grid h4 {font-size: round(nearest,clamp(20px,1.25vw,24px),2px); line-height: 1.6; font-weight: 600; margin-top: 24px;}
.prep-composed__grid:has(article:nth-child(4):last-child) {grid-template-columns: repeat(2,minmax(0,1fr));}
.prep-program,.prep-curriculum {padding-top: 100px;}
.prep-steps {list-style: none; margin: 0; padding: 0; border-top: 1px solid #242424;}
.prep-steps>li {display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 64px; padding: 40px 0; border-bottom: 1px solid #ddd;}
.prep-steps__heading>span {display: inline-block; font-size: 16px; color: #ce0d0d; font-weight: 600;}
.prep-steps h4 {font-size: round(nearest,clamp(24px,1.666667vw,32px),2px); line-height: 1.4; font-weight: 600; margin-top: 16px;}
.prep-steps__copy {font-size: 18px; line-height: 1.8; color: var(--color-text-body);}
.prep-steps__lead {font-size: 20px; font-weight: 600; color: var(--color-text-heading); margin-bottom: 16px;}
.prep-detail .exam-consult {margin-top: 100px;}
.prep-program--cards .prep-steps {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; border: 0;}
.prep-program--cards .prep-steps>li {display: flex; flex-direction: column; gap: 32px; padding: 36px 32px; border: 1px solid #ddd; border-radius: 16px; background: #fff;}
.prep-program--cards .prep-steps h4 {margin-top: 20px;}
.prep-program--cards .prep-steps__heading {position: relative; padding-right: 72px; min-height: 64px;}
.prep-purpose-icon {position: absolute; top: 0; right: 0; width: 48px; height: 48px; stroke-width: 2.5; color: var(--color-text-body);}
.prep-purpose-icon__accent {stroke: var(--color-primary, #ce0d0d);}
.prep-program--cards .prep-steps__copy {border-top: 1px solid #ddd; padding-top: 24px;}
.prep-program--cards .prep-steps__lead {margin: 0; font-size: 18px; font-weight: 400; line-height: 1.8; color: var(--color-text-body);}
.prep-program--cards .prep-steps__copy>p:empty {display: none;}
.prep-program--high2 .prep-steps {grid-template-columns: repeat(2,minmax(0,1fr));}
.prep-program--high2 .prep-steps__lead {font-weight: 600; color: var(--color-text-heading); margin-bottom: 16px;}
.prep-curriculum--cards .prep-steps {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; border: 0;}
.prep-curriculum--cards .prep-steps>li {display: flex; flex-direction: column; gap: 24px; padding: 36px; border: 0; border-radius: 16px; background: #f7f7f7;}
.prep-curriculum--cards .prep-steps__heading {display: flex; flex-direction: column; align-items: flex-start;}
.prep-curriculum--cards .prep-steps__heading>span {padding: 6px 12px; border: 0; border-radius: 24px; background: #fff;}
.prep-curriculum--cards .prep-steps__lead {padding-bottom: 16px; border-bottom: 1px solid #ddd;}

/* 중학생 영재반 */
.junior-intro {align-items: center;}
.junior-intro .prep-intro__photo {min-height: 480px;}
.junior-intro .prep-intro__photo img {object-position: 70% center;}
.junior-features__grid,.junior-activities__grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px;}
.junior-features__grid article {background: #fff; padding: 36px; border-radius: 16px;}
.junior-features__grid article>span,.junior-activities__grid article>span {font-size: 16px; font-weight: 600; color: #ce0d0d;}
.junior-detail article h4 {font-size: round(nearest,clamp(20px,1.25vw,24px),2px); font-weight: 600; line-height: 1.5; margin: 20px 0 16px;}
.junior-detail article p {font-size: 18px; line-height: 1.8; color: var(--color-text-body);}
.junior-scamper,.junior-activities {padding-top: 100px;}
.junior-scamper__grid {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 40px; border-top: 1px solid #ddd;}
.junior-scamper__grid article {display: flex; gap: 24px; padding: 32px 0; border-bottom: 1px solid #ddd;}
.junior-scamper__letter {display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; flex: none; border-radius: 16px; background: #f7f7f7; font-size: 36px; font-weight: 600; color: #ce0d0d;}
.junior-scamper__grid article h4 {margin-top: 0; overflow-wrap: anywhere;}
.junior-activities__grid article {padding: 36px; border: 1px solid #ddd; border-radius: 16px;}
.junior-activities__grid article:last-child {grid-column: 1 / -1;}
.junior-curriculum__list {margin: 0; padding: 0; list-style: none; font-size: 18px; line-height: 1.8; color: var(--color-text-body);}
.junior-curriculum__list li {position: relative; padding-left: 14px;}
.junior-curriculum__list li::before {content: ''; position: absolute; left: 0; top: 14px; width: 4px; height: 4px; background: #aaa; border-radius: 50%;}
.junior-curriculum__list li+li {margin-top: 6px;}
.junior-curriculum .prep-steps {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 32px; row-gap: 56px; border: 0;}
.junior-curriculum .prep-steps>li {position: relative; display: block; padding: 0 0 8px; border: 0;}
.junior-curriculum .prep-steps__heading>span {display: block; font-size: 16px; font-weight: 600; color: #ce0d0d;}
.junior-phase-bar {display: block; width: 100%; height: 2px; margin: 20px 0 0; background: linear-gradient(to right, #ce0d0d 0%, #ce0d0d var(--phase-fill, 33%), #e8e8e8 var(--phase-fill, 33%), #e8e8e8 100%);}
.junior-curriculum .prep-steps>li:nth-child(1) {--phase-fill: 16.666%;}
.junior-curriculum .prep-steps>li:nth-child(2) {--phase-fill: 33.333%;}
.junior-curriculum .prep-steps>li:nth-child(3) {--phase-fill: 50%;}
.junior-curriculum .prep-steps>li:nth-child(4) {--phase-fill: 66.666%;}
.junior-curriculum .prep-steps>li:nth-child(5) {--phase-fill: 83.333%;}
.junior-curriculum .prep-steps>li:nth-child(6) {--phase-fill: 100%;}
.junior-curriculum .prep-steps h4 {margin: 10px 0 0;}
.junior-curriculum .junior-curriculum__list {padding-top: 24px; border-top: 0;}


/* Detail: use native university mark without enlarging the thumbnail. */
.stp-detail .success-detail__photo--logo {display:flex; justify-content:center; align-items:center; min-height:300px; padding:40px; box-sizing:border-box; background:#25235f;}
/* snu.png 우측 투명 여백(67px) 제외 · 상하 여백 11/16px 차이 보정 — 엠블럼 시각 중심 = 박스 중심 */
.stp-detail .success-detail__photo--logo img {display:block; width:160px; height:auto; max-width:100%; aspect-ratio:204/240; object-fit:cover; object-position:left center; transform:translateY(1.25%); filter:brightness(0) invert(1);}

/* Seminar information above the existing application form. */
.inquiry:has(.seminar-info) {--seminar-apply-rule-gap:72px;}
.seminar-info {margin-bottom:var(--seminar-apply-rule-gap,72px); word-break:keep-all;}
.seminar-info__head {text-align:center; padding:16px 0 48px;}
.seminar-info__eyebrow {margin:0 0 20px; color:var(--color-primary,#ce0d0d); font-size:16px; font-weight:600;}
.seminar-info__head h3 {margin:0; font-size:40px; line-height:1.4; font-weight:700; letter-spacing:-0.04em;}
.seminar-info__head h3 span {color:var(--color-primary,#ce0d0d);}
.seminar-info__universities {margin:24px 0 0; font-size:20px; line-height:1.7; color:var(--color-text-body);}
.seminar-info__sessions {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.seminar-session {padding:40px; border-radius:20px; background:#f7f7f7;}
.seminar-session__tag {margin:0 0 12px; font-size:16px; color:var(--color-text-muted);}
.seminar-session h4 {margin:0 0 28px; font-size:28px; font-weight:600; line-height:1.5;}
.seminar-session dl {margin:0; padding-top:28px; border-top:1px solid #ddd; display:grid; gap:20px;}
.seminar-session dl>div {display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; font-size:18px; line-height:1.7;}
.seminar-session dt {color:var(--color-text-muted);}
.seminar-session dd {margin:0;}
.seminar-session dd strong {font-weight:600;}
.seminar-session dd small {display:block; font-size:16px; color:var(--color-text-muted); margin-top:4px;}
.seminar-info__description {max-width:920px; margin:32px auto 0; font-size:18px; line-height:1.9; color:var(--color-text-body); text-align:center;}
.seminar-apply-title {margin:0 0 32px; padding-top:var(--seminar-apply-rule-gap,72px); border-top:1px solid #ddd; font-size:40px; font-weight:600; line-height:1.4; letter-spacing:-0.04em;}
#seminar-apply {scroll-margin-top:calc(var(--header-bar-height, 80px) + 24px);}
@media(max-width:767px) {
 .inquiry:has(.seminar-info) {--seminar-apply-rule-gap:40px;}
 .seminar-info__head {padding:0 0 32px;}
 .seminar-info__head h3 {font-size:28px;}
 .seminar-info__universities,.seminar-info__description {font-size:16px;}
 .seminar-info__sessions {grid-template-columns:1fr; gap:16px;}
 .seminar-session {padding:18px; border-radius:16px;}
 .seminar-session h4 {font-size:22px; margin-bottom:20px;}
 .seminar-session dl {padding-top:20px; gap:16px;}
 .seminar-session dl>div {grid-template-columns:32px minmax(0,1fr); gap:12px; font-size:16px;}
 .seminar-apply-title {font-size:28px;}
}

/* Seminar hero: education-system typography and bright photographic treatment. */
.seminar-info__head--visual {position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; min-height:clamp(480px,33.3334vw,640px); margin:0 calc(-1 * var(--sub-gutter)) 56px; padding:56px var(--sub-gutter); box-sizing:border-box; text-align:left; background:#fff;}
.seminar-info__hero-image {position:absolute; inset:0; z-index:-2; width:100%; height:100%; max-width:none; object-fit:cover; object-position:70% 50%;}
.seminar-info__head--visual::before {content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.8) 32%,rgba(255,255,255,0) 68%);}
.seminar-info__head--visual .seminar-info__eyebrow {margin:0; color:var(--color-primary,#ce0d0d); font-size:round(nearest,clamp(14px,.9375vw,18px),2px); line-height:1.5; letter-spacing:.04em;}
.seminar-info__head--visual h3 {margin:0; color:var(--color-text-heading); font-size:round(nearest,clamp(32px,2.9167vw,56px),2px); line-height:1.3; font-weight:700; letter-spacing:-.02em;}
.seminar-info__head--visual h3 span {color:inherit;}
.seminar-info__head--visual .seminar-info__universities {margin:8px 0 0; color:var(--color-text-body); max-width:560px; font-size:round(nearest,clamp(18px,1.1459vw,22px),2px); line-height:1.64;}
@media(max-width:767px) {
 .seminar-info__head--visual {min-height:0; padding:0 20px 40px; margin-bottom:32px; gap:20px;}
 .seminar-info__head--visual::before {display:none;}
 .seminar-info__hero-image {position:relative; inset:auto; z-index:auto; flex:none; width:calc(100% + 40px); max-width:none; height:auto; aspect-ratio:16 / 10; margin:0 -20px 12px; object-position:70% 50%;}
 .seminar-info__head--visual h3 {font-size:32px;}
 .seminar-info__head--visual .seminar-info__eyebrow {font-size:14px;}
 .seminar-info__head--visual .seminar-info__universities {font-size:18px;}
}

.seminar-info__emphasis {color:var(--color-primary,#ce0d0d); font-weight:600;}

.stories-nav a[aria-disabled="true"] {cursor:default; border-color:#ddd; color:var(--color-text-muted); pointer-events:none;}

.stp > .stories-nav {margin-top:clamp(72px,5.2084vw,100px);}
