@charset "utf-8";

/* ─── 페이지 로드 커튼 (좌→우 슬라이드) ─────────────────────── */
.page-curtain--ltr {transform-origin: left;}

.sticky {position: sticky; top: 7.4375rem; transition: top 0.3s ease;}
.s-wrap section + section, .sec__inner section + section {margin-top: 7.5rem;}
.sub__visual {margin-top: 10.625rem; margin-bottom: 7.5rem;}
.sub__head {margin-bottom: 7.5rem;}
.sub__desc {padding-top: 1rem; padding-left: .5rem;}
body.nav-hidden .sticky {top: 2.5rem;}
.b-t-line {border-top: 3px solid var(--gray-900);}
.form__inner {padding-top: 2.5rem}
.sub__visual-img img {max-width: 100%; width: 100%;}

@media screen and (max-width: 1280px) {
    .s-wrap section + section, .sec__inner section + section {margin-top: 6rem;}
}
@media screen and (max-width: 1024px) {
    .sticky {position: static; top: 0;}
}
@media screen and (max-width:800px) {
    .s-wrap section + section, .sec__inner section + section {margin-top: 4rem;}
    .sub__visual {margin-top: 1rem; margin-bottom: 4rem;}
    .sub__desc {padding-top: .5rem;}
    .sub__head {margin-bottom: 4rem;}
}

/* ─── 공통 레이어 팝업 (.layer-popup) - 페이지별로 __cont 내부 콘텐츠만 다르게 구성 ─────────────────────── */
dialog.layer-popup {position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; border: none; padding: 0; margin: 0; background: rgba(0, 0, 0, 0.70); z-index: 999; display: none; align-items: center; justify-content: center;}
dialog.layer-popup[open] { display: flex; }
.layer-popup__pad {position: relative; display: flex; flex-direction: column; min-width: 32.5rem; max-width: 48rem; max-height: 88vh; padding: 2rem 0 2rem 2rem; background-color: var(--white);} 
.layer-popup__close {position: absolute; top: 1rem; right: 1.25rem; width: 2rem; height: 2rem; background-color: var(--gray-900);}
.layer-popup__close .ic-close {background-color: var(--white);}
.layer-popup__head { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 1rem; padding-bottom: 2rem; margin-right: 2rem; border-bottom: 1px solid var(--gray-300); }
.layer-popup__title {font-size: var(--font-body24-size); font-weight: 500;}
.layer-popup__cont { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; flex-direction: column; gap: 2rem; padding: 2rem 2rem 0 0; overflow-y: auto; overscroll-behavior: contain; }
.layer-popup__section {width: 100%;}
.layer-popup__section-title, .layer-popup__section p { font-size: var(--font-body16-size); line-height: 1.8;}
.layer-popup__img-wrap {margin-top: 2rem;}
.layer-popup__img-wrap img {width: 100%;}
.layer-popup--result .layer-popup__pad {padding: 2rem 0 6.25rem 2rem;}

.result__cont .layer-popup__section {display: flex; flex-direction: column; align-items: center; text-align: center;}
.result__cont .result__icon {padding: 1.5rem; background-color: var(--gray-100); border-radius: 50%;}
.result__cont .result__icon img {width: 5.5rem;}
.result__cont .result__title {font-size: var(--font-title32-size); font-weight: 600; line-height: 1.5;}
.result__cont .result__highlight {font-size: var(--font-body18-size); line-height: 1.5; font-weight: 600;}
.result__cont .result__desc {margin-top: 1rem;}

@media screen and (max-width: 800px) {
    .layer-popup__cont {gap: 1rem; padding: 1.5rem 1rem 0 0;}
    .layer-popup__pad {min-width: auto; width: 100%; max-width: calc(100% - 2rem); max-height: 85vh; padding: 1.5rem 0 1.5rem 1rem; }
    .layer-popup--result .layer-popup__pad {padding: 1.5rem 0 4rem 1rem;}
    .layer-popup__close {top: 0.5rem; right: 0.5rem; width: 1.5rem; height: 1.5rem;}
    .layer-popup__head {padding-bottom: 1.5rem; margin-right: 1rem;}
    .layer-popup__section-title, .layer-popup__section p {line-height: 1.5;}
    .layer-popup__img-wrap {margin-top: 1.5rem;}
    .apply-result-table th, .apply-result-table td {padding: 1rem;}
    .result__cont .result__icon img {width: 3.5rem;}
    .result__cont .result__title {font-size: var(--font-body24-size);}
}

/* ─── 재단사업 > 설립취지 비주얼 ─────────────────────────────── */
.purpose-page .footer {margin-top: 0;}
/* 밝은 히어로 위에서 nav 배경만 투명 처리 (글자색은 기본 유지) */
.purpose-page .nav {background-color: transparent;}
/* 메뉴 활성화(is-active) 시 nav 배경을 흰색으로 */
.purpose-page .nav:has(.nav__menu-item.is-active) {background-color: var(--white);}
/* 스크롤을 내리면 흰 배경, 맨 위로 돌아오면 다시 투명 (is-scrolled = 스크롤 위치 > 0) */
.purpose-page .nav.is-scrolled {background-color: var(--white);}
.purpose-visual {position: relative; overflow: hidden; margin-top: 0; min-height: 100vh; height: 84.5625rem; background: var(--gray-200) url('/resource/images/sub/about/purpose-visual_bg.webp') no-repeat center top / cover;}
.purpose-visual__inner {position: relative; z-index: 2; padding: 10rem 2.5rem 5rem;}
.purpose-visual__text {margin-top: 10.625rem;}
.purpose-visual__subtitle, .purpose-visual__desc {padding-left: .5rem;}
.purpose-visual__subtitle {margin-top: 1rem;}
.purpose-visual__desc {margin-top: 1.5rem; color: var(--gray-700);}

/* 데코 - 현재 시각 시계(시침 + 초침). 각도 초기값은 PHP, 이후 JS가 실시간 갱신 */
.purpose-visual__clock {position: absolute; left: 50%; top: 50%; width: 0; height: 0; z-index: 0;}
.purpose-visual__hand {position: absolute; left: 0; bottom: 0; transform-origin: 50% 100%;}
.purpose-visual__hand--hour {width: 1px; height: 32.125rem; margin-left: -0.5px; background-color: var(--gray-700);}
.purpose-visual__hand--second {width: 1px; height: 130vh; margin-left: -0.5px; background-color: var(--gray-700);}
.purpose-visual__clock-pivot {position: absolute; left: 0; top: 0; width: 3.5rem; height: 3.5rem; transform: translate(-50%, -50%); background-color: var(--gray-100); border-radius: 50%;}

/* 우측 무한루프 갤러리 (아래 → 위) : CSS only */
.purpose-visual__gallery {position: absolute; top: 0; right: 0; width: 100%; max-width: 54.25rem; height: 100%; overflow: hidden; z-index: 1; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%); mask-image: linear-gradient(to bottom, transparent 0%, #000 18%);}
.purpose-visual__track {display: flex; flex-direction: column; will-change: transform; animation: purposeRoll 35s linear infinite;}
.purpose-visual__list {display: flex; flex-direction: column; gap: 2.5rem; padding-bottom: 2.5rem; padding-right: 7.5rem;}
.purpose-visual__item {position: relative; flex-shrink: 0; width: 100%; max-width: 23.3125rem; aspect-ratio: 369/277; overflow: hidden; box-shadow: 0 1.25rem 1.25rem 0 rgba(0, 0, 0, 0.25);}
.purpose-visual__item img {width: 100%; height: 100%; object-fit: cover;}
/* 가로 지그재그 배치 (좌측 여백 %) */
.purpose-visual__item:nth-child(1) {margin-left: 30%;}
.purpose-visual__item:nth-child(2) {margin-left: 57%;}
.purpose-visual__item:nth-child(3) {margin-left: 1.25rem;}
.purpose-visual__item:nth-child(4) {margin-left: 30%;}
.purpose-visual__item:nth-child(5) {margin-left: 57%;}
.purpose-visual__item:nth-child(6) {margin-left: 1.25rem;}
.purpose-visual__item:nth-child(7) {margin-left: 30%;}
.purpose-visual__item:nth-child(8) {margin-left: 57%;}

@keyframes purposeRoll {
    from {transform: translateY(0);}
    to {transform: translateY(-50%);}
}
/* 모바일용 가로 롤 (오른쪽 → 왼쪽) */
@keyframes purposeRollX {
    from {transform: translateX(0);}
    to {transform: translateX(-50%);}
}
/* [모션 정책] reduced-motion(윈도우 애니메이션 효과 OFF)에서도 모션 재생 — 가드 비활성화 (원복 시 주석 해제)
@media (prefers-reduced-motion: reduce) {
    .purpose-visual__track {animation: none;}
} */

@media screen and (max-width: 1280px) {
    .purpose-visual__gallery {width: 50%;}
    .purpose-visual__item {width: 48%;}
    .purpose-visual__list {padding-right: 3.5rem;}
}
@media screen and (max-width: 1024px) {
    .purpose-visual {min-height: 0;}
    .purpose-visual__inner {padding: 8rem 2.5rem 4rem;}
    .purpose-visual__gallery {width: 55%;}
    .purpose-visual__list {gap: 1rem; padding-right: 2rem; padding-bottom: 1rem;}
    .purpose-visual__text {margin-top: 7rem;}
}
@media screen and (max-width: 800px) {
    .purpose-visual {height: 749px;}
    .purpose-visual__inner {padding: 8rem 1rem 3.5rem;}
    .purpose-visual__text {margin-top: 0rem;}
    .purpose-visual__subtitle {margin-top: .5rem; font-size: var(--font-body24-size);}
    .purpose-visual__desc {margin-top: .5rem; font-size: var(--font-body20-size);}
    .purpose-visual__clock {display: none;}

    /* 갤러리: 세로 롤 → 하단 가로 롤(오른쪽 → 왼쪽). 수치는 mo 시안(390 기준) 그대로 */
    .purpose-visual__gallery {top: auto; right: auto; bottom: 0; left: 0; width: 100%; max-width: none; height: 24.375rem; -webkit-mask-image: none; mask-image: none;}
    .purpose-visual__track {flex-direction: row; width: max-content; animation: purposeRollX 30s linear infinite;}
    /* 가로 간격은 flex gap 24px 균일 (피그마 pitch 290 = 이미지 266 + 간격 24) + 리스트 끝 padding-right로 루프 이음새도 동일 간격 */
    .purpose-visual__list {flex-direction: row; align-items: flex-start; flex-shrink: 0; width: max-content; gap: 1.5rem; padding: 0 3.5rem 0 0;}
    .purpose-visual__item {width: 16.625rem; max-width: none; aspect-ratio: 266/200; box-shadow: 0 0.625rem 0.625rem 0 rgba(0, 0, 0, 0.25);}
    /* 세로 3주기 지그재그 (위 76 · 중 113 · 아래 150) — margin-left는 pc용 %값(94~101행) 무효화 위해 0으로 리셋 */
    .purpose-visual__item:nth-child(1) {margin-left: 0; margin-top: 7.0625rem;}
    .purpose-visual__item:nth-child(2) {margin-left: 0; margin-top: 4.75rem;}
    .purpose-visual__item:nth-child(3) {margin-left: 0; margin-top: 9.375rem;}
    .purpose-visual__item:nth-child(4) {margin-left: 0; margin-top: 7.0625rem;}
    .purpose-visual__item:nth-child(5) {margin-left: 0; margin-top: 4.75rem;}
    .purpose-visual__item:nth-child(6) {margin-left: 0; margin-top: 9.375rem;}
    .purpose-visual__item:nth-child(7) {margin-left: 0; margin-top: 7.0625rem;}
    .purpose-visual__item:nth-child(8) {margin-left: 0; margin-top: 4.75rem;}
}

/* ─── 설립취지 상세 ─────────────────────────────── */
.purpose-intro__inner {position: relative;}
.purpose-intro__head {display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: start;}
.purpose-intro__text {display: flex; flex-direction: column; gap: 1rem;}
.purpose-intro__gallery {grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 6rem;}
.purpose-intro__item {position: relative; overflow: hidden; aspect-ratio: 1 / 1;}
.purpose-intro__item img {width: 100%; height: 100%; object-fit: cover;}
/* 모바일 무한루프용 복제본 — 데스크톱에선 없는 것과 동일 */
.purpose-intro__item--clone {display: none;}

/* 스크롤 진입 시 갤러리 전체가 우측(화면 중앙) → 좌측으로 1회 슬라이드.
   진입 감지는 JS(IntersectionObserver)가 .is-in-view 를 붙여 처리 → 사이트의 다른 모션과 동일하게 1회 재생.
   .js-slide 는 JS가 붙이므로, JS 미동작 시엔 이미지가 그대로 노출됨(폴백). */
.purpose-intro {overflow-x: clip;}
.purpose-intro__gallery.js-slide {opacity: 0; transform: translateX(35%); transition: opacity 0.8s ease-out, transform 0.8s ease-out;}
.purpose-intro__gallery.js-slide.is-in-view {opacity: 1; transform: translateX(0);}
/* [모션 정책] reduced-motion에서도 모션 재생 — 가드 비활성화 (원복 시 주석 해제)
@media (prefers-reduced-motion: reduce) {
    .purpose-intro__gallery.js-slide {opacity: 1; transform: none; transition: none;}
} */
@media screen and (max-width: 1280px) {
    .purpose-intro__gallery {gap: 1rem;}
}
@media screen and (max-width: 1024px) {
    .purpose-intro__head {grid-template-columns: 1fr; gap: 2rem;}
    .purpose-intro__gallery {margin-top: 2rem;}
}

/* mo 시안(390 기준): 제목 → 갤러리(가로 1열·우측 화면 끝까지 블리드) → 본문 순서.
   갤러리는 오른쪽 → 왼쪽 무한루프(마퀴). 스크롤 진입 전엔 정지+투명,
   진입(.is-in-view) 시 페이드되며 재생 → "진입 시 우→좌 슬라이드"를 그대로 유지.

   [폭 계산 주의] 트랙(ul)에 width:max-content 를 주면 그 고유폭(≈2600px)이 조상으로 전파돼
   제목·본문 컨테이닝 블록까지 늘어날 수 있다. 그래서 ul 은 부모 폭 그대로 두고 li 만 넘치게 하며,
   순환 거리는 -50% 대신 (아이템+간격)×4 를 calc 로 직접 계산한다. */
@keyframes purposeIntroRollX {
    from {transform: translateX(0);}
    to {transform: translateX(calc((var(--pi-item) + var(--pi-gap)) * -4));}
}
@media screen and (max-width: 800px) {
    .purpose-intro {margin-right: -1rem;}
    .purpose-intro__head {display: flex; flex-direction: column; gap: 0; padding-right: 1rem;}
    .purpose-intro__title {order: 1;}
    .purpose-intro__text {order: 3; margin-top: 1.5rem;}

    .purpose-intro__gallery {
        --pi-item: min(19.5rem, 80vw);
        --pi-gap: 1.0625rem;
        order: 2; display: flex; flex-wrap: nowrap; gap: 0;
        width: auto; min-width: 0; margin-top: 2.5rem;
    }
    .purpose-intro__item {flex-grow: 0; flex-shrink: 0; flex-basis: var(--pi-item); margin-right: var(--pi-gap);}
    .purpose-intro__item--clone {display: block;}

    .purpose-intro__gallery.js-slide {opacity: 0; transform: none; transition: opacity .8s ease-out; animation: purposeIntroRollX 20s linear infinite; animation-play-state: paused;}
    .purpose-intro__gallery.js-slide.is-in-view {opacity: 1; animation-play-state: running;}
}

/* ─── 설립취지 핵심 키워드 ─────────────────────────────── */
/* purpose-keyword__inner 가 뷰포트에 들어오면(JS: IntersectionObserver → .is-in)
   텍스트 전체가 한 번에 마스크 슬라이드로 등장하고,
   텍스트 모션이 끝난 뒤(transition-delay) 이미지가 너비 0 → 100% 로 펼쳐진다. */
/* .purpose-keyword {padding: 10rem 0;} */
/* nowrap + cqi 계산이라 폰트 폴백(컨테이너 쿼리 미지원·웹폰트 로드 전)에는 72px 그대로 흘러 페이지가 가로로 넘친다.
   그 순간만 잘라내는 안전망 — 정상 동작에서는 계산이 폭 안에 들어와 걸릴 일이 없다 */
.purpose-keyword {container-type: inline-size; overflow: hidden;}
/* 글자 크기는 '남은 가로폭 ÷ 가장 긴 줄의 폭(em)'으로 줄에 맞춘다 — 빼는 값은 좌우 여백과 반드시 같아야 해서
   --pk-pad-l/r 한 곳에만 적는다 (예전엔 같은 값을 px로 옮겨 적어 여백만 고치면 조용히 어긋났다).
   22.15 는 글자수가 아니라 가장 긴 4번째 줄의 폭이다 — 이미지 5.5556em + 글자 15.31em + 여백 3x0.4444em = 약 22.2em.
   22 로 잡았더니 이 줄이 0.2% 넘쳐서 1920px 말고는 전부 마지막 키워드가 아래로 떨어졌다.
   키워드 문구가 바뀌면 가장 긴 줄을 다시 재서 이 값을 손봐야 한다. */
.purpose-keyword__inner {--pk-pad-l: 7.625rem; --pk-pad-r: 7.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 13.3125rem var(--pk-pad-r) 5.8125rem var(--pk-pad-l); font-size: var(--font-title72-size); font-size: min(var(--font-title72-size), calc((100cqi - var(--pk-pad-l) - var(--pk-pad-r)) / 22.15)); line-height: 1.3;}
.purpose-keyword__row {display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; row-gap: 1rem;}
.purpose-keyword__inner .purpose-keyword__text {font-size: inherit;}
.purpose-keyword__text {display: inline-block; overflow: hidden; margin-right: .4444em; font-weight: 600; line-height: 1.3; white-space: nowrap;}
.purpose-keyword__text-in {display: inline-block; line-height: 1.3; transform: translateY(110%); opacity: 0; will-change: transform;}
.purpose-keyword__inner.is-in .purpose-keyword__text-in {transform: translateY(0); opacity: 1; transition: transform 0.8s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.8s ease;}

/* 이미지: 너비 0 → 100%. 텍스트 모션(0.8s)이 끝난 뒤 펼쳐지도록 transition-delay 로 순서 부여 */
.purpose-keyword__img {flex: 0 0 auto; width: 0; height: 1.3056em; margin-right: 0; overflow: hidden; will-change: width, margin;}
.purpose-keyword__img img {width: 5.5556em; height: 100%; max-width: none; object-fit: cover;}
.purpose-keyword__inner.is-in .purpose-keyword__img {width: 5.5556em; margin-right: .4444em; transition: width 0.7s cubic-bezier(0.33, 1, 0.68, 1), margin 0.7s cubic-bezier(0.33, 1, 0.68, 1); transition-delay: 0.85s;}
.purpose-keyword__inner .purpose-keyword__row > *:last-child {margin-right: 0;}

/* [모션 정책] reduced-motion에서도 모션 재생 — 가드 비활성화 (원복 시 주석 해제)
@media (prefers-reduced-motion: reduce) {
    .purpose-keyword__text-in {transform: none; opacity: 1;}
    .purpose-keyword__img {width: 5.5556em; margin-right: .4444em;}
    .purpose-keyword__inner.is-in .purpose-keyword__text-in,
    .purpose-keyword__inner.is-in .purpose-keyword__img {transition: none;}
} */
@media screen and (max-width: 1440px) {
    .purpose-keyword__inner {--pk-pad-l: 5.625rem; --pk-pad-r: 5.5rem; padding: 11.3125rem var(--pk-pad-r) 3.8125rem var(--pk-pad-l);}
}
@media screen and (max-width: 1280px) {
    .purpose-keyword__inner {--pk-pad-l: 3.625rem; --pk-pad-r: 3.5rem; padding: 8.3125rem var(--pk-pad-r) 1.8125rem var(--pk-pad-l);}
}
@media screen and (max-width: 1024px) {
    .purpose-keyword__inner {--pk-pad-l: 2.625rem; --pk-pad-r: 2.5rem; padding: 5.3125rem var(--pk-pad-r) 1.8125rem var(--pk-pad-l);}
}
@media screen and (max-width: 800px) {
    .purpose-keyword__row {flex-wrap: wrap;}
    .purpose-keyword__inner {--pk-pad-l: 0rem; --pk-pad-r: 0rem; gap: 1rem; padding: 2.75rem 0 1rem 0; font-size: var(--font-title72-size);}
    .purpose-keyword__text {margin-right: .5rem;}
    .purpose-keyword__img {height: 1.5em;}
    .purpose-keyword__img img {width: 6.375em;}
    .purpose-keyword__inner.is-in .purpose-keyword__img {width: 6.375em;}
    .purpose-keyword__inner.is-in .purpose-keyword__img:not(:last-child) {margin-right: .5rem;}
}

/* ─── 실천 비주얼 ─────────────────────────────── */
.purpose-hero {position: relative; margin: 7.5rem -2.5rem 0; overflow: hidden; background-color: var(--black);
    --hero-pad-t: 13.0625rem;
    display: flex; flex-direction: column;
    padding: var(--hero-pad-t) 7.5rem;
    height: auto; min-height: 100vw;}
.purpose-hero__media {position: absolute; inset: 0; overflow: hidden;}
.purpose-hero__media img {display: block; width: 100%; height: 100%; object-fit: cover;}

/* 별 레이어: 배경 이미지 위 · 텍스트 아래. 유성/반짝임 요소는 useShootingStars가 생성한다 */
.purpose-hero__stars {position: absolute; inset: 0; overflow: hidden; pointer-events: none;}
.purpose-hero__twinkles, .purpose-hero__shooters {position: absolute; inset: 0; overflow: hidden;}
.purpose-hero__twinkle {position: absolute; border-radius: 50%; background: var(--white); mix-blend-mode: screen;
    animation: purpose-twinkle var(--dur, 2000ms) ease-in-out var(--delay, 0ms) infinite;}
@keyframes purpose-twinkle {
    0%, 100% {opacity: var(--min-op); transform: scale(0.6);}
    50% {opacity: var(--max-op); transform: scale(1.4);}
}
/* 뷰포트 밖·백그라운드 탭에서는 반짝임까지 정지 (유성 생성은 JS가 멈춘다) */
.purpose-hero__stars.is-paused .purpose-hero__twinkle {animation-play-state: paused;}
.purpose-hero__promise, .purpose-hero__text {position: relative; pointer-events: none;}
/* 폭은 패딩 제외 영역 기준 — 패널 폭의 41.5%(시안 구분선 폭) */
.purpose-hero__promise {align-self: start; width: 100%; max-width: 50rem;}
.purpose-hero__text {align-self: end; display: flex; flex-direction: column; gap: 2rem;}

.purpose-hero__promise-list {display: flex; flex-direction: column; gap: 1.25rem; margin-top: 3.5rem;}
.purpose-hero__promise-item {display: flex; align-items: flex-start; gap: 5rem; padding: 2rem 0 2rem 2rem;
    border-top: 2px solid var(--white);}
.purpose-hero__promise-label {flex: none; width: 10rem;}  
.purpose-hero__promise-desc {margin-top: 1rem; font-size: var(--font-body20-size);}

.purpose-hero__slash {align-self: center; flex: none; margin: 3.75rem 0 12.625rem 0; width: 15rem; height: 15rem;
    position: relative; pointer-events: none;}
.purpose-hero__slash i {position: absolute; left: 50%; top: 50%; width: 6px; height: 141.421%;
    background-color: var(--white); transform-origin: center;
    transform: translate(-50%, -50%) rotate(-45deg) scaleY(0);
    transition: transform 0.9s cubic-bezier(0.65, 0, 0.35, 1);}
.purpose-hero__slash.is-reveal i {transform: translate(-50%, -50%) rotate(-45deg) scaleY(1);}

/* [모션 정책] reduced-motion에서도 모션 재생 — 가드 비활성화 (원복 시 주석 해제)
@media (prefers-reduced-motion: reduce) {
    .purpose-hero__slash i {transition: none;}
    .purpose-hero__twinkle {animation: none;}
} */
@media screen and (max-width: 1280px) {
    .purpose-hero {margin-left: -1.5rem; margin-right: -1.5rem; padding-left: 5rem; padding-right: 5rem;}
    .purpose-hero__slash {margin: 3.75rem 0 7.625rem 0; width: 13rem; height: 13rem;}
}
@media screen and (max-width: 1024px) {
    .purpose-hero {margin-left: -1rem; margin-right: -1rem; padding-left: 3rem; padding-right: 3rem;}
    .purpose-hero__text {align-items: flex-end;}
    .purpose-hero__text p {text-align: right;}
}
@media screen and (max-width: 800px) {
    .purpose-hero {margin: 5rem -1rem 0; height: auto; min-height: 100vh; min-height: 100svh;
        display: flex; flex-direction: column; justify-content: space-between; padding: 5rem 1rem 9.1875rem 1rem;}
    .purpose-hero__promise, .purpose-hero__text {align-self: stretch; flex: none;}
    .purpose-hero__promise {width: auto;}
    .purpose-hero__promise-list {gap: 1.5rem; margin-top: 3rem;}
    .purpose-hero__promise-item {gap: 1.5rem; padding: 1rem 0;}
    .purpose-hero__promise-label {width: 5rem; font-size: 1.25rem;}
    .purpose-hero__slash {margin: 3.5rem 0 7.6875rem 0; width: 10rem; height: 10rem;}
    .purpose-hero__slash i {width: 2px;}
    .purpose-hero__text {gap: 1.5rem;}
    .purpose-hero__promise-desc {font-size: 1rem;}
    .purpose-hero__desc {font-size: 1.25rem;}
}

/* ─── 연혁 ─────────────── */
.sub__visual-img--history {position: relative; margin: 0 -2.5rem; overflow: hidden; clip-path: inset(0 2.5rem);}
/* transition은 reveal.css의 [data-reveal]:not([data-reveal='custom'])(0,2,0 · sub.css보다 뒤에 로드)에 덮이므로
   같은 형태로 명시도를 한 단계 올려 선언한다. reveal 몫(opacity/transform/filter)을 함께 적어야 등장 모션이 살아있다. */
.sub__visual-img--history[data-reveal]:not([data-reveal='custom']) {
    transition: clip-path 1s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out;
}
.sub__visual-img--history picture, .sub__visual-img--history img {display: block; width: 100%;}
/* 이미지에 미세한 스케일을 얹어 '확장되는' 느낌 유지 (transform이라 리플로우 없음) */
.sub__visual-img--history img {transform: scale(1); transition: transform 1s cubic-bezier(0.33, 1, 0.68, 1);}
/* .is-in : 좌우 클립을 풀어 전체 폭으로 확장 */
.sub__visual-img--history.is-in {clip-path: inset(0 0);}
.sub__visual-img--history.is-in img {transform: scale(1.03);}
.sub__visual-img--history::after {content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.6); opacity: 0; transition: opacity 0.9s ease; pointer-events: none;}
.sub__visual-img--history.is-in::after {opacity: 1;}
.sub__visual-img__text {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(90%, 60rem); text-align: center; opacity: 0; transition: opacity 0.9s ease 0.35s; pointer-events: none; z-index: 1;}
.sub__visual-img--history.is-in .sub__visual-img__text {opacity: 1;}

/* [모션 정책] reduced-motion에서도 모션 재생 — 가드 비활성화 (원복 시 주석 해제)
@media (prefers-reduced-motion: reduce) {
    .sub__visual-img--history, .sub__visual-img--history img, .sub__visual-img--history::after, .sub__visual-img__text {transition: none;}
} */
@media screen and (max-width: 1280px) {
    .sub__visual-img--history {margin: 0 -1.5rem; clip-path: inset(0 1.5rem);}
}
@media screen and (max-width: 1024px) {
    .sub__visual-img--history {margin: 0 -1rem; clip-path: inset(0 1rem);}
}

.history {
    /* 탭바 고정 위치 계산용 (JS가 실제 탭 높이를 --hist-tab-h 로 주입) */
    --hist-tab-top: 7.4375rem;   /* 헤더(nav) 높이 */
    --hist-tab-h: 4.5rem;        /* 탭바 높이 fallback */
    margin-top: 0;
}
.sub__visual:has(+ .history) {margin-bottom: -1px;}

.history__tabs {position: sticky; top: var(--hist-tab-top); z-index: 100; margin: 0 -2.5rem; background-color: var(--primary-dark); transition: top 0.3s ease;}
body.nav-hidden .history__tabs {top: 0;}
/* 탭바 : 폭이 모자라면 가로 스크롤 (스크롤바는 숨김) — safe center = 넘칠 때 왼쪽부터 */
.history__tabs-inner {position: relative; display: flex; align-items: center; justify-content: center; justify-content: safe center; gap: 2.5rem; padding: 0.75rem 2.5rem; min-height: 5rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; -ms-overflow-style: none; scrollbar-width: none; -webkit-user-select: none; user-select: none;}
.history__tabs-inner::-webkit-scrollbar {display: none;}
.history__tab-list {display: flex; align-items: center; flex: 0 0 auto; gap: 2.5rem;}
.history__tab {flex: 0 0 auto; font-size: var(--font-body20-size); white-space: nowrap; color: rgba(255, 255, 255, 0.7); transition: color 0.25s ease, font-weight 0.25s ease;}
.history__tab:hover {color: var(--white);}
.history__tab.is-active {color: var(--white); font-weight: 600;}
.history__milestone {flex: 0 0 auto; padding: 0.5rem 1.25rem; border-radius: 22.5px; background-color: var(--cat-milestone); font-size: var(--font-body16-size); font-weight: 600; line-height: 1.8; color: var(--white); transition: opacity 0.25s ease;}

.history__timeline {position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 3rem; padding-top: 5rem;}
.history__timeline--pc {padding-left: 5rem; padding-right: 5rem;}
.history__timeline--mo {display: none !important;}
.history__timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background-color: var(--gray-300);}
.history__aside {position: sticky; top: calc(var(--hist-tab-top) + var(--hist-tab-h) + 3.75rem); flex: 0 0 42.44%; align-self: flex-start; max-width: 42.44%; transition: top 0.3s ease;}
.history__year {white-space: nowrap;}
.history__thumb {position: relative; margin-top: 1.5rem; aspect-ratio: 713 / 401; overflow: hidden;}
.history__thumb img {position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.6s ease;}
.history__thumb img.is-active {opacity: 1;}
.history__thumb.is-js img {opacity: 1; transition: none; will-change: transform;}

/* 룰렛 연도 : 자릿수별 세로 스트립 */
.history__year.is-roulette {display: inline-flex; align-items: flex-start;}
.history__year .yr-slot {display: inline-block; height: 1em; overflow: hidden; line-height: 1; vertical-align: top;}
.history__year .yr-strip {display: flex; flex-direction: column; will-change: transform;}
.history__year .yr-cell {display: flex; align-items: center; justify-content: center; height: 1em; line-height: 1;}
.history__year .yr-fixed {white-space: pre; line-height: 1;}

/* 탭 클릭 이동 시 헤더+고정 탭바에 가리지 않도록 띄우는 높이 (goEra()가 이 값을 읽어 Lenis offset으로 쓴다) */
.history-era, .timeline__section {scroll-margin-top: 10rem;}

/* 우측 : 이벤트 리스트 컬럼 */
.history__lists {flex: 0 0 42.44%; max-width: 42.44%;}
.history-era__list {display: flex; flex-direction: column; gap: 3.5rem;}
.history-era + .history-era {margin-top: 7.5rem;}
.history-item {display: flex; flex-direction: column; gap: 1.5rem;}
.history-item__body {display: flex; flex-direction: column; gap: .25rem;}
.history-item__text + .history-item__text {margin-top: .75rem;}

/* 카테고리 태그 */
.history-tag {align-self: flex-start; padding: 0.125rem 0.5rem; border: 1px solid currentColor; white-space: nowrap;}
.history-tag--art {color: var(--cat-art); background-color: var(--white);}
.history-tag--scholar {color: var(--primary);}
.history-tag--event {color: var(--gray-700);}

/* ─── 마일스톤 팝업 (.layer-popup--milestone) ─────────── */
.layer-popup--milestone .layer-popup__pad {padding: 2rem; min-width: auto; max-width: none; }
.layer-popup--milestone .layer-popup__head {margin-right: 0;} /* pad가 padding:2rem으로 우측 여백을 이미 갖고 있다 — 공통 head의 margin-right가 겹치면 구분선만 짧아진다 */
.layer-popup--milestone .layer-popup__cont {align-items: stretch; padding: 2rem 0 0; overflow-x: auto; overflow-y: auto; overscroll-behavior: contain;}
.milestone {display: flex; align-items: stretch; min-width: max-content;}
.milestone__col {display: flex; flex-direction: column; flex: 0 0 13.4375rem; padding: 0 1rem; height: 39.6875rem; border-left: 1px solid var(--gray-300);}
.milestone__year {writing-mode: vertical-lr; text-orientation: sideways; font-size: var(--font-title40-size); font-weight: 600; margin: 0 0 auto -0.25rem;}
.milestone__info {display: flex; flex-direction: column; align-items: flex-start; gap: 1rem;}
.milestone__img {margin-top: 2rem; width: 100%; aspect-ratio: 199 / 200; overflow: hidden;}
.milestone__img img {display: block; width: 100%; height: 100%; object-fit: cover;}

@media screen and (max-width: 1440px) {
    .history__timeline--pc {padding-left: 3rem; padding-right: 3rem;}
}
@media screen and (max-width: 1280px) {
    .history__tabs {margin: 0 -1.5rem;}
    .history__timeline--pc {padding-left: 0; padding-right: 0;}
    .history-era__list {gap: 3rem;}
    .history-era + .history-era {margin-top: 6.5rem;}
    .layer-popup--milestone .layer-popup__pad {width: calc(100% - 2rem); }
    .milestone {justify-content: center;}
}

@media screen and (max-width: 1024px) {
    .history {--hist-tab-top: 5rem;}
    .history__tabs {margin: 0 -1rem;}
    .history__timeline {gap: 1rem;}
    .history__aside, .history__lists {flex: 0 0 48%; max-width: 48%;}
    .history-era__list {gap: 2.5rem;}
}

@media screen and (max-width: 800px) {
    .history__timeline--pc, .history__timeline::before {display: none;}
    .history__timeline--mo {display: block !important;}
    .history-era, .timeline__section {scroll-margin-top: 8.75rem;}
    .history__tabs {margin: 0 -1rem;}
    .history__tabs-inner {gap: 1rem; min-height: 3.5rem; padding: 0.5rem 1rem;}
    .history__tab-list, .history__tabs-inner {gap: 2.5rem;}
    .history__tab {font-size: var(--font-body16-size);}
    .history__milestone {position: static; flex: 0 0 auto; padding: 0.375rem 1rem; font-size: var(--font-body14-size);}
    .history__timeline {padding-top: 2.5rem;}
    .history__thumb {max-width: 20rem;}
    .history-era + .history-era {margin-top: 2.5rem;}
    .history-item {gap: .75rem;}
    .timeline__year {padding-bottom: 1.5rem;}

    .timeline__section + .timeline__section {margin-top: 5rem;}
    .timeline__img {margin-bottom: 1.5rem;}
    .history-era__list {position: relative; padding-left: 1.5rem;}
    .history-era__list::after {content: ""; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background-color: var(--gray-300);}
    .history-item__body {gap: .25rem;}

    /* 마일스톤 팝업 */
    .layer-popup--milestone .layer-popup__pad {width: calc(100vw - 2rem); padding: 1.5rem 1rem;}
    .layer-popup--milestone .layer-popup__title {font-size: 1.125rem;}
    .layer-popup--milestone .layer-popup__close {top: 0.75rem; right: 0.75rem; width: 1.5rem; height: 1.5rem;}
    .layer-popup--milestone .layer-popup__cont {padding: 1.5rem 0 0; overflow-x: hidden;}
    .milestone {flex-direction: column; justify-content: flex-start; gap: 1.5rem; min-width: 0;}
    .milestone__col {display: grid; grid-template-columns: minmax(0, 1fr) clamp(7.5rem, 40%, 10rem); grid-template-rows: auto 1fr; column-gap: 1.5rem; row-gap: 1rem; align-items: start; flex: 0 0 auto; height: auto; padding: 0 0 1rem; border-left: 0; border-bottom: 1px solid var(--gray-300);}
    .milestone__col:last-child {border-bottom: 0;}
    .milestone__year {grid-column: 1; grid-row: 1; writing-mode: horizontal-tb; margin: 0; font-size: 1.5rem;}
    .milestone__info {grid-column: 1; grid-row: 2;}
    .milestone__img {grid-column: 2; grid-row: 1 / span 2; margin-top: 0; aspect-ratio: 1 / 1;}
}

/* [모션 정책] reduced-motion에서도 모션 재생 — 가드 비활성화 (원복 시 주석 해제)
@media (prefers-reduced-motion: reduce) {
    .history__tabs, .history__aside, .history__thumb img {transition: none;}
} */

/* ─── 인사말(이사진) 비주얼 ─────────────────────────────── */
.sub__visual--greeting {position: relative; border-bottom: 3px solid var(--gray-900);}
.sub__visual--greeting .sub__head {position: absolute; top: 0; left: 0; z-index: 3; margin-bottom: 0;}
.sub__visual-img--greeting {position: relative; display: flex; justify-content: flex-end; align-items: flex-end;}
.sub__visual-img--greeting::before {content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 100%; aspect-ratio: 1824 / 304; background: url(/resource/images/sub/about/greeting-logo.svg) no-repeat center center / contain; z-index: 0;}
.sub__visual-img--greeting picture {position: relative; z-index: 1; display: block; width: min(40%, 36.5rem); margin-right: 20rem;}
.sub__visual-img--greeting img {display: block; width: 100%; height: auto; margin-bottom: -1px; vertical-align: bottom;}
.sub__visual-caption {position: absolute; left: 1.25rem; bottom: 5rem; z-index: 2; display: flex; gap: 2.5rem; color: var(--black);}
@media screen and (max-width: 1280px) {
    .sub__visual-img--greeting picture {margin-right: 10rem;}
}
@media screen and (max-width: 1024px) {
    .sub__visual-caption {bottom: 3rem;}
}
@media screen and (max-width: 800px) {
    .sub__visual--greeting .sub__head {position: static; margin-bottom: 2rem;}
    .sub__visual-img--greeting picture {width: 55%; margin-right: 2rem;}
    .sub__visual-caption {bottom: 2rem; flex-direction: column; gap: 0;}
}
@media screen and (max-width: 600px) {
    .sub__visual-caption {left: 0; bottom: 0.5rem;}
}

/* ─── 인사말(이사진)  ─────────────────────────────── */
.greeting {margin-top: 7.5rem;}
.greeting__block {display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: start;}
.greeting__block + .greeting__block {margin-top: 7.5rem;}
.greeting__title {color: var(--gray-900);}
.greeting__body {display: flex; flex-direction: column; gap: 5rem;}
.greeting__text {display: flex; flex-direction: column; gap: 1rem; color: var(--gray-900);}
.greeting__img {width: 100%; aspect-ratio: 900 / 200; overflow: hidden;}
.greeting__img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.greeting__sign {display: flex; align-items: baseline; justify-content: flex-end; gap: 1.25rem; margin-top: 5rem; color: var(--black);}
@media screen and (max-width: 1024px) {
    .greeting__block {grid-template-columns: 1fr; gap: 1.5rem;}
    .greeting__block + .greeting__block {margin-top: 5rem;}
}
@media screen and (max-width: 800px) {
    .greeting {margin-top: 4rem;}
    .greeting__body {gap: 1.5rem;}
    .greeting__block + .greeting__block {margin-top: 3.5rem;}
    .greeting__sign {flex-direction: column; align-items: center; justify-content: center; gap: .5rem; margin-top: 3.5rem;}
    .greeting__sign span:last-child {font-weight: 600;}
    .greeting__text {gap: .5rem;}
}

/* ─── 이사진 소개 ─────────────────────────────── */
.directors {position: relative; margin-left: -2.5rem; margin-right: -2.5rem; padding: 7.5rem 2.5rem; background: url(/resource/images/sub/about/greeting-directors-bg.webp) no-repeat center center / cover; overflow: hidden;}
.directors::before {content: ""; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.2); pointer-events: none;}
.directors__inner {position: relative; z-index: 1;}
.directors__top {display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center;}
.directors__title {color: var(--white);}
.directors__grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem; margin-top: 2.5rem;}
.directors__card {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.0625rem; min-height: 13.75rem; padding: 1.5rem; text-align: center; background-color: rgba(255, 255, 255, 0.1); border: 1px solid var(--gray-400); border-radius: .5rem; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);}
.directors__name {color: var(--white);}
.directors__name span {color: #fce400;}
.directors__org {font-size: var(--font-body18-size); font-weight: 400; line-height: 1.5; color: var(--white);}
.directors__card--lead {flex-direction: row; justify-content: flex-start; gap: 12.5rem; min-height: 12.5rem; padding: 0 5rem; text-align: left;}
@media screen and (max-width: 1600px) {
    .directors__card--lead {gap: 0; justify-content: space-between;}
}
@media screen and (max-width: 1280px) {
    .directors {margin-left: -1.5rem; margin-right: -1.5rem; padding-left: 1.5rem; padding-right: 1.5rem;}
    .directors__grid {grid-template-columns: repeat(2, 1fr);}
}
@media screen and (max-width: 1024px) {
    .directors {margin-left: -1rem; margin-right: -1rem; padding-left: 1rem; padding-right: 1rem;}
    .directors__top {grid-template-columns: 1fr;}
    .directors__card--lead {justify-content: center; gap: 2.5rem; padding: 0 2.5rem;}
}
@media screen and (max-width: 800px) {
    .directors {margin-left:-1rem; margin-right: -1rem; padding: 4rem 1rem;}
    .directors__top {gap: 3rem;}
    .directors__grid {grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1rem;}
    .directors__card {gap: .5rem; min-height: 7.375rem; padding: 1rem .5rem;}
    .directors__org {font-size: var(--font-body14-size); word-break: keep-all;}
    .directors__card--lead {flex-direction: column; justify-content: center; gap: .5rem; min-height: 8.5rem; padding: 1.5rem; text-align: center;}
    .directors__card--lead .directors__name {font-size: var(--font-body24-size);}
    .directors__card--lead .directors__org {font-size: var(--font-body18-size);}
}
.wrap:has(.directors) .footer {margin-top: 0;}

/* ─── 재단사업 ─────────────────────────────── */
.sub__desc {color: var(--gray-700);}
.business, .performance-info {display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; align-items: flex-start;}
.business__label {font-size: var(--font-title40-size); font-weight: 600; line-height: 1.3;}
.business__left img, .performance-info--left img {max-width: 100%; margin-top: 3.5rem;}
.business__right {flex: 1; min-width: 0;}
.business__desc {display: flex; flex-direction: column; gap: 1rem; margin-bottom: 3.5rem; font-size: var(--font-body24-size);}
.business__list {display: flex; flex-direction: column; gap: 1rem; }
.business__item {display: flex; flex-direction: column; gap: .5rem; padding: 2rem; background-color: var(--gray-100);}
.business__item-label {font-size: var(--font-body24-size); font-weight: 600; }
.business__item-value, .business__activity-name, .business__activity-desc {font-size: var(--font-body20-size); }
.business__activity-list {display: flex; flex-direction: column; gap: 1.5rem; margin-top: 1rem; width: 100%;}
.business__activity {display: grid; grid-template-columns: 7.5rem 1fr; gap: 2.5rem;}
.business__activity-name, .business__activity-desc {padding-top: .5rem;}
.business__activity-name {font-weight: 600; border-top: 1px solid var(--gray-900);}
@media screen and (max-width: 1024px) {
    .business, .performance-info {grid-template-columns: 1fr;}
    .business__item {padding: 1.5rem;}
}
@media screen and (max-width: 800px) {
    .business__label {font-size: var(--font-title72-size);}
    .business__desc {gap: .5rem; margin-bottom: 3rem;}
    .business__list {gap: .5rem;}
    .business__item {padding: 1rem;}
    .business__left img {margin-top: 2.5rem;}
}

/* ─── 재단사업 > 장학사업 > 천만장학금 소개 ─────────────────────────────── */
.award-info__head {display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 5rem;}
.award-info__title p {padding-bottom: .5rem;}
.award-info__record-btn {padding: .75rem 2rem; border: 1px solid var(--gray-900); font-size: var(--font-body16-size); line-height: 1.8;}
.award__stats {display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem;}
.award__stats-item {padding-top: 1.5rem; border-top: 1px solid var(--gray-300);}
.award__stats-label {font-size: var(--font-body20-size); color: var(--gray-700); line-height: 1.5; font-weight: 500;}
.award__stats-num {display: flex; align-items: flex-end; gap: .5rem;}

.business-con__title {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding-bottom: 1.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--gray-300);}

.award-story {display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 1.5rem;}
.award-story__title {grid-column: 1 / -1; grid-row: 1; flex-direction: column; align-items: flex-start; gap: .5rem; padding-right: 10rem;}
.award-story__more {grid-column: 2; grid-row: 1; align-self: center; justify-self: end; margin-bottom: 2.5rem;}
.award-story__list {grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.5rem;}
.award-story__thumbnail {overflow: hidden; aspect-ratio: auto; margin-bottom: 1rem;}
.award-story__thumbnail img {width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: 0.5s ease;}
.award-story__name * {font-size: var(--font-body24-size); font-weight: 600;}
.award-story__name {display: flex; align-items: center; gap: .5rem;}
.award-story__desc {display: inline-block; padding-top: .5rem; font-size: var(--font-cap16-serif-size); color: var(--gray-700); font-family: var(--font-eulyoo);}
@media (hover: hover) and (pointer: fine) {
    .award-story__link:hover .award-story__thumbnail img {
        transform: scale(1.1);
    }
}
@media screen and (max-width: 1024px) {
    .award-story__list {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media screen and (max-width: 800px) {
    .award-info__head {flex-direction: column; align-items: flex-start; margin-bottom: 2.5rem;}
    .award-info__title {padding-bottom: .5rem;}
    .award__stats {grid-template-columns: 1fr;}
    .award__stats-num {padding-top: .5rem;}
    .business__activity {grid-template-columns: 1fr; gap: 0;}
    .business__activity-list {gap: 1.25rem; margin-top: .75rem;}
    .business-con__title {flex-direction: column; align-items: flex-start; gap: .5rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem;}
    .award-story {display: block;}
    .award-story__title {padding-right: 0;}
    /* 800 이하 = 시안대로 밑줄형 대신 테두리 버튼(중앙 정렬) — 화살표 아이콘은 숨긴다 */
    .award-story__more {display: flex; justify-content: center; width: fit-content; margin: 1.5rem auto 0; padding: .75rem 1.5rem; border: 1px solid var(--gray-900); background-color: var(--white); font-size: var(--font-body14-size); line-height: 1.5;}
    .award-story__more::after {display: none;}
    .award-story__more .btn__icon {display: none;}
    .award-story__more .btn__inner {gap: 0; transform: none;}
    .award-story__more .btn__inner span {transition: color 0.35s ease;}
    /* 이 버튼은 data-reveal 이라 reveal.css 의 transition(뒤에 로드)이 배경색 전환을 덮어쓴다.
       등장 애니메이션 값을 그대로 다시 적고 배경색만 덧붙인다 — 선택자 우선순위도 한 단계 올린다. */
    .award-story__more.btn[data-reveal] {transition: opacity 0.6s ease-out, transform 0.6s ease-out, filter 0.6s ease-out, background-color 0.35s ease;}
    @media (hover: hover) and (pointer: fine) {
        .award-story__more:hover {background-color: var(--gray-900);}
        .award-story__more:hover span {color: var(--white);}
        .award-story__more:hover .btn__inner {transform: none;}
    }
    .award-story__list {grid-template-columns: 1fr; gap: 1.25rem;}
    .award-story__thumbnail {margin-bottom: .75rem;}
    .award-story__desc {padding-top: .25rem;}
}

/* ─── 연도별 장학금 지급실적 (버튼 .btn--outline → .layer-popup--award-record) ───────── */
.layer-popup--award-record .layer-popup__pad {min-width: 40rem; width: 100%; max-width: 52.5rem;}
.layer-popup__cont.award-record__cont {display: block;}
.award-record__head {flex-wrap: wrap; padding-right: 3rem;}
.award-record__select {margin-right: 2rem; width: 22.5rem; max-width: 100%;}
.award-record + .award-record {margin-top: 2.5rem;}
.award-record__bar {display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; background-color: var(--primary-dark);}
.award-record__year {font-size: var(--font-body24-size); font-weight: 600; color: var(--white);}
.award-record__total {font-size: var(--font-body20-size); font-weight: 600; color: var(--white);}
.award-record__total b {padding-left: .25rem;}
.award-record__group {display: grid; grid-template-columns: 12.5rem minmax(0, 1fr); gap: 0 1.5rem; padding: 2rem 1rem;}
.award-record__group + .award-record__group {border-top: 1px solid var(--gray-900);}
.award-record__cate {display: flex; align-items: baseline; gap: .25rem; font-size: var(--font-body24-size); font-weight: 600; line-height: 1.5;}
.award-record__rows {display: flex; flex-direction: column;}
.award-record__row {display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 2.5rem; padding: 1rem 0;}
.award-record__row:first-child {padding-top: 0;}
.award-record__row:last-child {padding-bottom: 0;}
.award-record__row + .award-record__row {border-top: 1px solid var(--gray-300);}
.award-record__row dt {font-size: var(--font-body20-size); font-weight: 600; line-height: 1.5;}
.award-record__row dd {font-size: var(--font-body20-size); color: var(--gray-900); line-height: 1.5;}
@media screen and (max-width: 1024px) {
    .layer-popup--award-record .layer-popup__pad {width: calc(100% - 2rem);}
}
@media screen and (max-width: 800px) {
    .layer-popup--award-record .layer-popup__pad {min-width: auto;}
    .award-record__head {padding-right: 0; margin-right: 1.5rem;}
    .award-record__select {margin-right: 0; width: 100%;}
    .award-record + .award-record {margin-top: 1.5rem;}
    .award-record__bar {align-items: center; gap: .25rem; padding: .5rem 1rem; margin-bottom: .5rem;}
    .award-record__year {font-size: var(--font-body18-size);}
    .award-record__total {font-size: var(--font-body16-size);}
    .award-record__group {display: block; padding: 1rem; background-color: var(--gray-100);}
    .award-record__group + .award-record__group {margin-top: .5rem; border-top: 0;}
    .award-record__cate {padding-bottom: 1rem; border-bottom: 1px solid var(--gray-900); font-size: var(--font-body24-size);}
    .award-record__row:first-child {padding-top: .5rem;}
    .award-record__row {grid-template-columns: 1fr; gap: .5rem; padding: .5rem 0 1.25rem 0;}
    .award-record__row + .award-record__row {border-top: 1px solid var(--gray-900);}
    .award-record__row dt, .award-record__row dd {font-size: var(--font-body20-size);}
}
@media screen and (max-width: 600px) {
    .award-info__record-btn {width: 100%;}
}

/* ─── 재단사업 > 장학사업 > 장학금 신청 ─────────────────────────── */
.award-tabs { flex-shrink: 0; display: flex; flex-direction: column; gap: 1.5rem; width: 6.875rem; }
.award-tab { position: relative; font-size: var(--font-title32-size); line-height: 2.5rem; font-weight: 600; color: var(--gray-600); transition: color 0.2s, font-weight 0.2s; }
.award-tab.is-active { color: var(--gray-900); }
.award-tab::after { content: ''; position: absolute; left: 0; bottom: -0.25rem; width: 100%; height: 3px; background-color: var(--gray-900); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; will-change: transform; }
.award-tab.is-active::after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
    .award-tab:hover { color: var(--gray-900); }
    .award-tab:hover::after { transform: scaleX(1); }
}
.form-wrap { display: flex; align-items: flex-start; gap: 22.25rem; }
.form__body { flex: 1; padding-right: 5rem; min-width: 0; width: 100%; }
.collusion__row { display: grid; grid-template-columns: 15rem 1fr; gap: 0 8.75rem; padding: 2rem 0; border-top: 1px solid var(--gray-900); }
.collusion__row:first-child {padding: 2.5rem 0 2rem 0; border-top: 3px solid var(--gray-900);}
.collusion__row:last-of-type {border-bottom: 1px solid var(--gray-300);}
.collusion__dt { font-size: var(--font-title32-size); font-weight: 600; }
.collusion__list { display: flex; flex-direction: column; gap: .75rem; }
.collusion__desc, .collusion__marker {font-size: var(--font-body18-size);}
.collusion__text-box {display: flex; flex-direction: column; gap: .25rem;}
.collusion__list > li {position: relative; display: flex; gap: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--gray-300);}
.collusion__list > li:last-child {padding-bottom: 0; border-bottom: 0;}
.collusion__list > li:has(.btn) {align-items: center;}
.collusion__list li.dot {padding-left: 2rem;}
.collusion__list li.dot::before { content: ''; position: absolute; left: .3125rem; top: 0.625rem; width: .375rem; height: .375rem; border-radius: 50%; background-color: var(--primary); }
.collusion__list li.dot:has(.btn)::before {top: revert-layer; }
.collusion__marker {flex-shrink: 0; font-weight: 600; color: var(--primary);}
.collusion__sub-note { display: block; margin-top: .25rem; font-size: var(--font-body15-size); color: var(--gray-700); }
.collusion__sub-list {display: flex; flex-direction: column; gap: .25rem;}
.collusion__note {display: grid; grid-template-columns: auto 1fr; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 2.5rem; margin-top: 2.5rem; background-color: var(--gray-100);}
.collusion__note .btn-wrap {justify-content: flex-end;}
.collusion__note-desc {font-size: var(--font-body20-size);}
.collusion__note-desc span {display: block;}

@media screen and (max-width: 1600px) {
    .form-wrap {gap: 17.25rem;}
    .form__body {padding-right: 1rem;}
}
@media screen and (max-width: 1440px) {
    .form-wrap {gap: 14.25rem;}
    .collusion__row {gap: 0;}
    .collusion__note {display: flex; flex-direction: column;}
    .collusion__note-desc {text-align: center;}
    .collusion__note-desc span {padding-top: .5rem;}
    .collusion__note .btn-wrap {justify-content: center; width: 100%;}
}
@media screen and (max-width: 1280px) {
    .form__body {padding-right: 0;}
    .form-wrap {gap: 10.25rem;}
    .collusion__row {grid-template-columns: 10rem 1fr;}
}
@media screen and (max-width: 1024px) {
    .award-tabs {position: static; width: auto; flex-direction: row;}
    .award-tab {line-height: normal;}
    .form-wrap {flex-direction: column; gap: 4rem;}
    .form-wrap:has(.award-tabs:empty) {gap: 0;}
    .collusion__row {grid-template-columns: 7rem 1fr;}
}
@media screen and (max-width: 800px) {
    .award-tab {font-size: var(--font-body24-size);}
    .collusion__dt {font-size: var(--font-title32-serif-size);}
    .collusion__row {grid-template-columns: 1fr; gap: 1.5rem;}
    .collusion__row, .collusion__row:first-child {padding: 2rem 1rem;}
    .collusion__list > li {gap: .75rem;}
    .collusion__list > li:has(.btn) {gap: .5rem;}
    .collusion__body dl:last-of-type { border-bottom: 1px solid var(--gray-300); }
    .collusion__note {padding: 1.5rem; margin-top: 1.5rem;}
    .collusion__note-desc {font-size: var(--font-body16-size);}
    .collusion__list li.dot {padding-left: 1.625rem;}
    .collusion__list > li:has(.btn) {flex-direction: column; align-items: flex-start;}
    .collusion__list li.dot::before, .collusion__list li.dot:has(.btn)::before {top: 0.5rem;}
    .collusion__note {gap: 2rem;}
    .collusion__note .btn-wrap {gap: .5rem;}
}

/* ─── 재단사업 > 장학사업 > 신청 폼 ─────────────────────── */
.apply-step-nav {display: flex; align-items: center; gap: 1rem;  padding: 1rem; background-color: var(--gray-900);}
.apply-step-nav__item {font-size: var(--font-body20-size); color: var(--gray-400); font-weight: 600;}
.apply-step-nav__item.is-active {color: var(--white);}
.apply-step-nav .ic-arrow-next {background-color: var(--white);}
.apply-complete {padding-bottom: 5rem;}
.apply-complete__title {font-size: var(--font-title32-size); font-weight: 600;}
.apply-complete__desc {display: block; padding-top: .5rem; font-size: var(--font-body20-size); color: var(--gray-700);}
.apply-closed {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem; min-height: 25rem; padding: 2.5rem 1rem; border-top: 3px solid var(--gray-900); border-bottom: 1px solid var(--gray-300); text-align: center;}
.apply-closed__icon {display: block; width: 5rem; height: 5rem;}
.apply-closed__text {color: var(--gray-900); word-break: keep-all;}

.apply-result-table {width: 100%; border-collapse: collapse; border-top: 1px solid var(--gray-900);}
.apply-result-table th, .apply-result-table td {padding: 1rem 1.5rem; font-size: var(--font-body16-size); text-align: center; border-bottom: 1px solid var(--gray-300);}
.apply-result-table th {font-weight: 600; color: var(--gray-900); background-color: var(--gray-100);}
.apply-result-table td {color: var(--gray-700); text-align: left;}

.apply-result-schedule__title {font-size: var(--font-body16-size);}
.apply-result-schedule__list {display: flex; flex-direction: column;}
.apply-result-schedule__list li {position: relative; padding-left: 1rem; font-size: var(--font-body16-size); line-height: 1.8;}
.apply-result-schedule__list li::before {content: ''; position: absolute; left: 0; top: .7em; width: .25rem; height: .25rem; border-radius: 50%; background-color: var(--gray-700);}

.form-list {padding-bottom: 2.5rem; border-bottom: 1px solid var(--gray-300);}
.form-list:has(+ .form-list) {border-bottom: 0;}
.form-list + .form-list {padding-top: 5rem;}
.form-item + .form-item {margin-top: 5rem;}
.apply-head {display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: 2.5rem;}
.apply-head--tight {padding-bottom: .5rem;}
.apply-head--sm {padding-bottom: 1rem;}
.apply-head__required {flex-shrink: 0; margin-left: auto;}

.apply-form__row {display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem;}
.apply-form__row + .apply-form__row {margin-top: 2.5rem;}
.apply-form__field {display: flex; flex-direction: column; gap: .5rem;}
.apply-form__label {font-size: var(--font-body18-size); font-weight: 600; color: var(--gray-700);}
.apply-form__label--lg {font-size: var(--font-body24-size);}
.apply-form__label-note {font-size: var(--font-body20-size); font-weight: 400; color: var(--gray-600);}

.apply-form__email {display: flex; align-items: center; gap: .5rem;}
.apply-form__phone {display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;     align-items: center; gap: .5rem;}
.apply-form__email .inp, .apply-form__phone .inp {flex: 1; min-width: 0;}
.apply-form__at, .apply-form__dash {flex-shrink: 0;}
.apply-form__email .sel-wrap {flex-shrink: 0; width: 12rem;}
.apply-form__phone .sel-wrap {flex-shrink: 0;}

.apply-form__field--full {grid-column: 1 / -1;}
.apply-form__radio-group {display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; height: 100%;}

.apply-form__college {display: flex; gap: 1rem;}
.apply-form__college .inp {flex: 1; min-width: 0;}

.apply-form__school {display: flex; align-items: center; gap: 1.5rem;}
.apply-form__school .apply-form__unit:first-child .inp {width: 15.4375rem; flex-shrink: 0;}
.apply-form__unit {display: flex; align-items: center; gap: .5rem;}
.apply-form__num {width: 6.25rem; flex-shrink: 0;}
.apply-form__unit-label {flex-shrink: 0; font-size: var(--font-body16-size); color: var(--gray-700);}

.apply-form__address {display: flex; flex-direction: column; gap: 1rem;}
.apply-form__zipcode {display: flex; max-width: 39.625rem;}
.apply-form__zipcode .inp {flex: 1; min-width: 0;}
.apply-form__zipcode-btn {white-space: nowrap; border: 1px solid var(--gray-300); border-left: 0;}
.apply-form__address-row {display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.5rem;}
.apply-form__address-fields {display: flex; gap: 1rem;}
.apply-form__address-fields .inp {flex: 1; min-width: 0;}

.apply-form__photo {display: flex; align-items: stretch; gap: 1rem;}
.apply-form__photo-preview {flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 15rem; height: 20rem; overflow: hidden; border: 1px solid var(--gray-300); background-color: var(--gray-50);}
.apply-form__photo-preview img {width: 100%; object-fit: contain;}
.apply-form__photo-drop {flex: 1; justify-content: center; min-width: 0;}

.apply-table-wrap {overflow-x: auto;}
.apply-table {width: 100%; border-collapse: collapse;}
.apply-table--wide {min-width: 64rem; table-layout: fixed;}
.apply-table th {padding: 1rem; font-size: var(--font-body18-size); font-weight: 600; color: var(--gray-900); border-top: 1px solid var(--gray-900); background-color: var(--gray-100); border-left: 1px solid var(--gray-300);}
.apply-table td {padding: 1.5rem 1rem; border-left: 1px solid var(--gray-300); border-bottom: 1px solid var(--gray-300);}
.apply-table td:first-child, .apply-table th:first-child {border-left: 0;}
.apply-table--wide td:first-child .sel-wrap {min-width: 5.4375rem;}
.apply-table__unit {display: flex; align-items: center; justify-content: center; gap: .5rem;}
.apply-table--wide .inp {text-align: center;}
.apply-table--wide td:nth-child(6) .inp,
.apply-table--wide td:nth-child(7) .inp,
.apply-table--wide td:nth-child(8) .inp {text-align: right;}
.apply-table:not(.apply-table--wide) .apply-table__unit .inp {width: 6.875rem; flex-shrink: 0; text-align: right;}
.apply-table__unit-label {flex-shrink: 0; font-size: var(--font-body18-size);}
.apply-table__label {display: none;}
.apply-table__group-row {display: none;}

.apply-table-outer {position: relative; display: flex; align-items: flex-start; gap: .75rem;}
.apply-table-outer > .apply-table-wrap {flex: 1; min-width: 0;}
.apply-table-side-actions {position: absolute; top: 0; right: -3.5625rem; flex-shrink: 0; display: flex; flex-direction: column;}
.apply-table-side-actions__row {display: flex; align-items: center; justify-content: center;}
.apply-table__remove-btn {display: inline-flex; align-items: center; justify-content: center; width: 2.5625rem; height: 2.5625rem; border: 0; background-color: var(--gray-900); cursor: pointer;}
.apply-table__remove-btn[hidden] {display: none;}
.apply-table__remove-btn .ic-trash {background-color: var(--white);}

.apply-table-foot {display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-top: 1.5rem;}
.apply-table-notes {display: flex; flex-direction: column; gap: .5rem;}
.apply-table-stat {font-size: var(--font-body16-size); color: var(--gray-900);}
.apply-table-foot__btn {flex-shrink: 0; display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap;}
.apply-table-foot__btn i {background-color: var(--gray-900);}

.apply-view-table {width: 100%; border-collapse: collapse; border-top: 1px solid var(--gray-900);}
.apply-view-table th, .apply-view-table td {padding: 1.5rem 1rem; font-size: var(--font-body18-size); border-bottom: 1px solid var(--gray-300); word-break: break-all;}
.apply-view-table th {font-weight: 600; background-color: var(--gray-100); white-space: nowrap; text-align: center;}
.apply-view-table__photo {display: flex; align-items: center; justify-content: center; width: 9rem; height: 12rem; overflow: hidden; border: 1px solid var(--gray-300); background-color: var(--gray-50);}
.apply-view-table__photo img {width: 100%; height: 100%; object-fit: cover;}

.apply-terms-table {width: 100%; border-collapse: collapse; border-top: 1px solid var(--gray-900);}
.apply-terms-table th, .apply-terms-table td {padding: 1.5rem 1rem; font-size: var(--font-body18-size); line-height: 1.6; text-align: left; border-bottom: 1px solid var(--gray-300);}
.apply-terms-table th {font-weight: 600; color: var(--gray-900); background-color: var(--gray-100); text-align: center;}
.apply-terms-table td.dash {position: relative; padding-left: 1.75rem;}
.apply-terms-table td.dash::before {content: '-'; position: absolute; left: 1rem; top: 1.5rem;}

.apply-family-list {display: flex; flex-direction: column; gap: 2.5rem;}
.apply-family-item__title {padding-bottom: 1rem; color: var(--gray-900);}

.apply-notes {display: flex; flex-direction: column; gap: .5rem; margin-top: 1.5rem;}

.apply-upload-list {display: flex; flex-direction: column; gap: 2.5rem;}
.apply-upload-item {display: flex; flex-direction: column; gap: .75rem;}
.apply-upload-item > .upload-drop__list:not(:empty) {margin-top: 0;}
.apply-upload-item__head {display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem;}
.apply-upload-item__note {font-size: var(--font-body16-size); color: var(--gray-500); line-height: 1.8;}

.apply-agree {display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 2.5rem;}
.apply-agree--sm {padding-top: 1.5rem;}
.apply-essay {padding-top: 1.5rem; border-top: 1px solid var(--gray-900);}
.apply-essay__text {font-size: var(--font-body18-size); word-break: break-all;}

.apply-pledge__lead {margin-top: .5rem; font-size: var(--font-body16-size); color: var(--gray-600);}
.apply-pledge__head {display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 2.5rem;}
.apply-pledge__box {padding: 2rem; margin-bottom: 1rem; background-color: var(--gray-50);}
.apply-pledge__text {font-size: var(--font-body18-size); color: var(--gray-700);}

.apply-view-form .apply-head {padding-bottom: .5rem;}
.apply-view-form .apply-head:has(+ .apply-essay) {padding-bottom: 1rem;}
.apply-head__title {padding-bottom: .5rem;}
@media screen and (max-width: 1600px) {
    .apply-table-side-actions {right: -2.8125rem;}
}
@media screen and (max-width: 1440px) {
    .apply-form__email .sel-wrap {width: auto;}
}
@media screen and (max-width: 1280px) {
    .apply-form__row {grid-template-columns: 1fr; gap: 1.5rem;}
    .apply-form__row + .apply-form__row {margin-top: 1.5rem;}
    .apply-table-outer {display: block;}
    .apply-table-side-actions {display: none;}
    .apply-table-wrap {overflow-x: visible; border-bottom: 0;}
    .apply-table, .apply-table--wide {display: block; min-width: 0;}
    .apply-table {padding: 1.5rem 1rem; border: 1px solid var(--gray-300); border-radius: 12px;}
    .apply-table thead {display: none;}
    .apply-table tbody {display: block;}
    .apply-table tr {display: flex; flex-wrap: wrap; gap: 1.5rem; padding: 1.5rem 0; border-top: 1px solid var(--gray-300);}
    .apply-table tr:first-child {padding: 0; border-top: 0;}
    .apply-table td {display: block; padding: 0; border-left: 0; flex: 1 1 100%; min-width: 0; border-bottom: 0;}
    .apply-table td .sel-wrap, .apply-table td > .inp {width: 100%;}
    .apply-table--wide .inp {text-align: left;}
    .apply-table__label {display: block; margin-bottom: .5rem; font-size: var(--font-body16-size); font-weight: 600; color: var(--gray-700);}
    .apply-table tr.apply-table__group-row {padding: 1.5rem 0 .75rem 0;}
    .apply-table tr.apply-table__group-row:first-child {padding-top: 0; border-top: 0;}
    .apply-table .apply-table__group-row + tr {padding-top: 0; border-top: 0;}
    .apply-table td.apply-table__group-label-cell {display: flex; align-items: center; justify-content: space-between;}
    .apply-table__group-label {font-size: var(--font-body18-size); font-weight: 600; color: var(--gray-900);}
    .apply-table__group-remove-btn {flex-shrink: 0; padding: .5rem 1.25rem; font-size: var(--font-body14-size); font-weight: 600; color: var(--gray-900); border: 1px solid var(--gray-300); background-color: var(--white);}
    .apply-table .apply-form__num {width: 100%; min-width: 0; flex-shrink: 1; text-align: left;}
    .apply-table-foot {gap: 1rem; margin-top: 1rem;}
    .apply-table-foot__btn {justify-content: center;}
    .apply-table__unit .inp, .apply-table:not(.apply-table--wide) .apply-table__unit .inp {width:100%; flex-shrink: inherit;}
}
@media screen and (max-width: 1024px) {
    .apply-view-table td[colspan] {flex-basis: 100%;}
    .apply-form__school {flex-wrap: wrap; gap: .5rem;}
    .apply-form__school .apply-form__unit:first-child {flex-basis: 100%;}
    .apply-form__school .apply-form__unit:first-child .inp {width: 100%; flex-shrink: inherit;}
    .apply-form__school .apply-form__unit:not(:first-child) {flex: 1 1 0; min-width: 0;}
    .apply-form__school .apply-form__num {width: 100%; min-width: 0; flex: 1 1 auto;}
}
@media screen and (max-width: 800px) {
    .form__inner {padding-top: 1.5rem;}
    .apply-step-nav {gap: .5rem; padding: .75rem .5rem;}
    .apply-step-nav__item {font-size: var(--font-body16-size);}
    .apply-complete {padding-bottom: 2.5rem;}
    .apply-complete__title {font-size: var(--font-title40-size);}
    .apply-closed {gap: 1.5rem; min-height: 16rem;}
    .apply-closed__icon {width: 3.5rem; height: 3.5rem;}
    .apply-head {flex-direction: column; align-items: flex-start; gap: .25rem; padding-bottom: 1.5rem;}
    .apply-view-form .apply-head {padding-bottom: 0;}
    .apply-view-form .apply-head:has(+ .apply-essay) {padding-bottom: .5rem;}
    .apply-head--tight {padding-bottom: .5rem;}
    .apply-head__required {align-self: flex-end; margin-left: inherit; text-align: right; line-height: 1.5;}
    .apply-head__required--note {align-self: flex-start; text-align: left;}
    .apply-form__row + .apply-form__row {margin-top: 1.5rem;}
    .apply-form__email {flex-wrap: wrap;}
    .apply-form__email .inp {flex: 1 1 0;}
    .apply-form__email .sel-wrap {order: 1; width: 100%; flex-basis: 100%;}
    .apply-form__radio-group {column-gap: 1.5rem; row-gap: .75rem; min-height: 0;}
    .apply-form__college {flex-direction: column; gap: .5rem;}
    .apply-form__zipcode {max-width: none;}
    .apply-form__address {gap: .5rem;}
    .apply-form__address-fields {flex-direction: column; gap: .5rem;}
    .apply-form__photo {flex-direction: column; align-items: center;}
    .apply-form__photo-preview {width: 8.75rem; height: 11.625rem;}
    .apply-view-table__photo {width: 7.5rem; height: 10rem;}
    .apply-view-table {display: block; border-top: 0;}
    .apply-view-table tbody {display: grid; grid-template-columns: auto 1fr; border-top: 1px solid var(--gray-900);}
    .apply-view-table tr {display: contents;}
    .apply-view-table th, .apply-view-table td {display: flex; align-items: center; padding: 1.5rem 2rem;}
    .apply-view-table th {justify-content: center;}

    .form-list + .form-list {padding-top: 3.5rem;}
    .form-item + .form-item {margin-top: 2.5rem;}
    .form-list {padding-bottom: 1.5rem;}
    .apply-upload-list {gap: 1.5rem;}
    .apply-upload-item__head {flex-direction: column; align-items: flex-start; gap: .25rem;}
    .apply-agree {padding-top: 1.5rem;}
    .apply-agree--sm {padding-top: 1rem;}
    .apply-pledge__head {flex-direction: column; align-items: flex-end; gap: 1rem; padding-bottom: 1.5rem;}
    .apply-pledge__head .apply-head__title-wrap {align-self: flex-start;}
    .apply-family-list {gap: 1.5rem;}
    .apply-form__label-note {font-size: var(--font-body16-size);}
    .apply-table-foot--reverse {flex-direction: column-reverse;}
    .apply-table-foot--reverse .apply-table-foot__btn {align-self: flex-end;}
    .apply-upload-item {gap: .5rem;}
    .apply-upload-item__note {margin-left: auto; font-size: var(--font-body14-size);}

    .apply-form__field .inp-msg {margin-top: -.25rem;}

    .apply-terms-table th {padding: 1rem;}
    .apply-terms-table td {padding: 1.5rem 2rem;}
    .apply-terms-table td.dash {padding-left: 2.625rem;}
    .apply-terms-table td.dash::before {left: 2rem;}
}
@media screen and (max-width: 500px) {
    .apply-form__radio-group {display: grid; grid-template-columns: auto 1fr;}
}
@media screen and (max-width: 400px) {
    .apply-step-nav {justify-content: center;}
}

/* ─── 재단사업 > 장학사업 > FAQ ─────────────────────────── */
.faq-list {display: flex; flex-flow: column; gap: 2.5rem; padding-top: 2.5rem; border-top: 3px solid var(--gray-900);}
.board-list__wrap:has(.faq-list) {border-top: 0;}
.faq-item {border-bottom: 1px solid var(--gray-300);}
.faq-item__q {position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; width: 100%; padding: 1rem; text-align: left; background-color: var(--white);}
.faq-item__q::before {content: ''; position: absolute; top: 0; left: 0; width: 0; height: 100%; background-color: var(--primary); transition: width 0.4s ease;}
.faq-item__q-text, .faq-item__icon {position: relative; z-index: 1;}
.faq-item__q-text {transition: color 0.3s ease;}
.faq-item__icon {background-color: var(--gray-900); transition: background-color 0.3s ease;}
.faq-item__a {display: grid; grid-template-rows: 0fr; background-color: var(--gray-100); transition: grid-template-rows 0.4s ease;}
.faq-item__a-inner {min-height: 0; overflow: hidden;}
.faq-item__a-content {padding: 2rem 1rem; font-size: var(--font-body20-size); color: var(--gray-900);}
.faq-item__a-content.ck-content p {margin: 0; color: var(--gray-900);}
.faq-item__a-content.ck-content * {color: var(--gray-900); font-size: var(--font-body20-size) !important; font-family: var(--font-pretendard) !important;}
.faq-item__a-content p + p {margin: .5rem 0 0 0;}
.faq-item.is-active .faq-item__q::before {width: 100%;}
.faq-item.is-active .faq-item__q-text {color: var(--white);}
.faq-item.is-active .faq-item__icon {background-color: var(--white);}
.faq-item.is-active .faq-item__a {grid-template-rows: 1fr;}
@media (hover: hover) and (pointer: fine) {
    .faq-item:not(.is-active) .faq-item__q:hover::before {width: 100%;}
    .faq-item:not(.is-active) .faq-item__q:hover .faq-item__q-text {color: var(--white);}
    .faq-item:not(.is-active) .faq-item__q:hover .faq-item__icon {background-color: var(--white);}
}
.faq-list--brand-pink .faq-item__q::before {background-color: var(--event-primary);}
@media screen and (max-width: 800px) {
    .faq-list {gap: 1.5rem; padding-top: 1.5rem;}
    .faq-item__q {padding: 1rem; gap: 1rem;}
}

/* ─── 재단사업 > 문화예술사업 > 영아트페어 ─────────────────────────── */
.award-win .swiper-slide {width: auto; max-width: 100%;}
.award-slide__img {width: 56.75rem; max-width: 100%; overflow: hidden;}     /* 가로 이미지 908px */
.award-slide__img.is-portrait {width: 37.3125rem;}                          /* 세로 이미지 597px */
.award-slide__img img {display: block; width: 100%; height: auto;}
.award-slide__info {width: 0; min-width: 100%; padding-top: 1rem;}
.award-slide__meta {display: flex; gap: .5rem; padding-bottom: .5rem; font-size: var(--font-body24-size);}
.award-slide__title {font-size: var(--font-cap16-serif-size); font-family: var(--font-eulyoo); text-align: left;}
.award-win .award-swiper__control {display: flex; align-items: center; gap: 1rem; margin-top: 2rem;}
.award-win .award-swiper__scrollbar.swiper-scrollbar {position: relative; left: auto; right: auto; top: auto; bottom: auto; flex: 1; min-width: 0; width: auto; height: 2px; margin: 0; background-color: var(--gray-200); border-radius: 0;}
.award-win .award-swiper__scrollbar .swiper-scrollbar-drag {background-color: var(--primary); border-radius: 0;}
.award-win .award-swiper__nav {flex-shrink: 0; display: flex; align-items: center; gap: .5rem;}
.award-win .award-swiper__nav-btn {display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; background: none; border: 0; cursor: pointer;}
.award-win .award-swiper__nav-btn.swiper-button-disabled {opacity: .3; cursor: default;}
@media screen and (max-width: 800px) {
    .award-win .award-swiper__control {gap: .75rem; margin-top: 1.5rem;}
}
.jury-member, .art-fair-video {display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem;}
.jury-member {margin-top: 5rem;}
.jury-member li {display: grid; grid-template-columns: auto 18.75rem; gap: 2.5rem; padding: 2rem; min-height: 22.75rem; background-color: var(--gray-100);}
.jury-member__info {display: flex; flex-direction: column; gap: 1rem;}
.jury-member__name--ko {padding-bottom: .25rem; font-size: var(--font-body24-size); font-weight: 600;}
.jury-member__name--en, .jury-member__job {font-size: var(--font-body16-size); line-height: 1.8;}
.jury-member__name--en {color: var(--gray-700);}
.jury-member__job {color: var(--primary); font-weight: 600;}
.art-fair-video {margin-top: 7.5rem;}
.art-fair-video__item {flex: 1; aspect-ratio: 885 / 498; overflow: hidden;}
.art-fair-video__item video, .art-fair-video__item iframe {display: block; width: 100%; height: 100%; border: 0; object-fit: cover;}

.award-table-wrap {margin-top: 1.5rem;}
.award-table {width: 100%; border-collapse: collapse; font-size: var(--font-body20-size); border-top: 2px solid var(--gray-900);}
.award-table thead tr {background-color: var(--primary);}
.award-table th {padding: .5rem 1rem; color: var(--white); font-weight: 500; text-align: center; border: 1px solid var(--primary);}
.award-table td {padding: 1rem; text-align: center;}

@media screen and (max-width: 1440px) {
    .jury-member li {grid-template-columns: 1fr; justify-items: center; align-content: space-between;}
}
@media screen and (max-width: 1280px) {
    .art-fair-video {margin-top: 6rem;}
}
@media screen and (max-width: 1024px) {
    .jury-member li {padding: 1.5rem;}
}
@media screen and (max-width: 800px) {
    /* 수상작 슬라이드: 가로 이동 유지 + 908/597px 비(1 : 0.66)는 지키고 화면 폭에 맞춰 줄인다 */
    .award-slide__img {width: 80vw;}
    .award-slide__img.is-portrait {width: 52vw;}
    .jury-member, .art-fair-video {grid-template-columns: 1fr;}
    .jury-member {margin-top: 3.5rem;}
    .jury-member li {grid-template-columns: 1fr; gap: 1.5rem; min-height: 0; padding: 1rem;}
    .art-fair-video {margin-top: 4rem;}
    .award-table-wrap {margin-top: 1rem;} 
    .award-table th {padding: .5rem 0;}
    .award-table th:first-child {padding: .5rem 0 .5rem 1rem;}
    .award-table th:last-child {padding: .5rem 1rem .5rem 0;}
    .award-table td {padding: 1rem 0;}
    .award-table td:first-child {padding: 1rem 0 1rem 1rem;}
    .award-table td:last-child {padding: 1rem 1rem 1rem 0;}
}


/* ─── 재단사업 > 문화예술사업 > 아카이브 ─────────────────────────── */
.archive-tabs-head {display: flex; justify-content: space-between;}
.archive-tabs-head:not(:has(.archive-award-tabs)) .archive-tabs {margin-bottom: 0;}
.archive-tabs-wrap {margin-bottom: 2.5rem;}
.archive-tabs-wrap:has(.archive-award-tabs) {display: flex; align-items: center; gap: 2rem;}
.archive-tabs {display: flex; align-items: center; gap: 2.5rem; margin-bottom: 2.5rem;}
.archive-tabs-wrap:has(.archive-award-tabs) .archive-tabs {margin-bottom: 0;}
.archive-tab {position: relative; font-size: var(--font-title32-size); font-weight: 600; color: var(--gray-600); transition: color 0.2s;}
.archive-tab.is-active {color: var(--gray-900);}
.archive-tab::after {content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background-color: var(--gray-900); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; will-change: transform;}
.archive-tab.is-active::after {transform: scaleX(1);}
.archive-award-tabs, .archive-award-tabs__sub {display: flex; align-items: center; gap: 1rem;}
.archive-award-tabs__item {font-size: var(--font-body24-size); font-weight: 600; color: var(--gray-600);}
.archive-award-tabs__item.is-active {color: var(--gray-900);}
.archive-intro {display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; align-items: flex-start;}
.archive-intro-media {display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; height: 100%;}
.archive-intro-media img {max-width: 100%; margin-top: 1.5rem;}
.archive-intro-desc {display: flex; flex-direction: column; gap: 1rem; font-size: var(--font-body24-size);}
@media (hover: hover) and (pointer: fine) {
    .archive-tab:hover {color: var(--gray-900);}
    .archive-tab:hover::after {transform: scaleX(1);}
}
@media screen and (max-width: 1440px) {
    .archive-intro {grid-template-columns: auto 1fr; gap: 4.5rem;}
}
@media screen and (max-width: 1280px) {
    .archive-intro {gap: 2.5rem;}
    .archive-intro-media {height: auto;}
}
@media screen and (max-width: 1024px) {
    .archive-intro {grid-template-columns: 1fr; gap: 1.5rem;}
}
@media screen and (max-width: 800px) {
    .archive-tab {font-size: var(--font-body24-size);}
    .archive-tab::after {height: 2px;}
    .archive-intro-media {position: static;}
    .archive-intro-desc {gap: .5rem;}
}

.archive-award-head {display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem;}
.archive-award-title {font-size: var(--font-title40-size); font-weight: 600;}
.award-list__row {display: grid; grid-template-columns: 8.75rem 20rem 1fr; align-items: start; gap: 2.5rem; padding: 1rem; border-top: 1px solid var(--gray-300); transition: background-color 0.8s ease;}
.award-list__row:first-child {border-top: 2px solid var(--gray-900);}
.award-list__category {font-size: var(--font-body20-size); font-weight: 600;}
.award-list__thumb {width: 20rem; height: 0; overflow: hidden; clip-path: inset(0 100% 0 0); transition: clip-path 1.5s cubic-bezier(0.19, 1, 0.22, 1), height 0s;}
.award-list__thumb img {display: block; width: 100%; height: 15rem; object-fit: cover;}
.award-list__names {display: flex; flex-wrap: wrap; gap: 1rem; font-size: var(--font-body20-size);}

@media (hover: hover) and (pointer: fine) {
    .award-list__row:hover {background-color: var(--event-primary);}
    .award-list__row:hover .award-list__thumb {height: 15rem; clip-path: inset(0); transition: clip-path 2s cubic-bezier(0.19, 1, 0.22, 1), height 0s;}
    .award-list__row:hover .award-list__category {color: var(--white);}
    .award-list__row:hover .award-list__names li {color: var(--white);}
}

.archive-video {position: relative;}
.archive-video-media-wrap {position: relative; overflow: hidden;}
.archive-video-media-wrap img,
.archive-video-media {display: block; width: 100%;}
.archive-video-media-wrap::before {content: ''; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.4); opacity: 0; transition: opacity 0.2s;}
.archive-video-play {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 7.5rem; height: 7.5rem; background-image: url("/resource/images/icon/icon-video-play.svg"); background-repeat: no-repeat; background-position: center; background-size: contain;}
@media (hover: hover) and (pointer: fine) {
    .archive-video:hover .archive-video-media-wrap::before {opacity: 1;}
    .archive-video-play:hover {background-image: url("/resource/images/icon/icon-video-play_hover.svg");}
}
@media screen and (max-width: 1280px) {
    .award-list__row {gap: 1rem; grid-template-columns: 4.75rem 19rem 1fr;}
    .award-list__thumb img {width: 90%;}
    .archive-video-play {width: 4rem; height: 4rem;}
}
@media screen and (max-width: 1024px) {
    .archive-award-head {flex-direction: column; align-items: flex-start; gap: .5rem; margin-bottom: 1.5rem;}
    .award-list__row {grid-template-columns: 4rem 1fr; align-items: start;}
    .award-list__thumb {display: none;}
    .award-list__names {gap: .5rem;}
}
@media screen and (max-width: 800px) {
    .archive-award-title {font-size: var(--font-title72-size); line-height: 1.3;}
    .award-list__row {gap: .75rem; padding: .75rem 1rem;}
    .award-list__category, .award-list__names {font-size: var(--font-body16-size);}
}

/* ─── 아카이브 수상작 부문 탭 (.archive-award-tabs) ─────────────────── */
.archive-award-tabs {display: flex; align-items: flex-end;}
.archive-award-tabs__toggle {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2rem; height: 2rem;}
.archive-award-tabs__toggle i {background-color: var(--gray-900); transition: background-color .2s ease;}
.archive-award-tabs__item {font-size: var(--font-body20-size); font-weight: 500; color: var(--gray-500); white-space: nowrap; transition: color .2s ease;}
.archive-award-tabs__item.is-active {color: var(--gray-900); font-weight: 700; text-decoration: underline; text-underline-offset: .4rem;}
.archive-award-tabs__sub-outer {display: grid; grid-template-columns: 1fr;transition: grid-template-columns .4s ease;}
.archive-award-tabs__sub-outer.is-collapsed {grid-template-columns: 0fr; margin-left: 0;}
.archive-award-tabs__sub {display: flex; align-items: center; gap: 1.5rem; min-width: 0; overflow: hidden; opacity: 1; transform: translateX(0); transition: opacity .3s ease, transform .4s ease;}
.archive-award-tabs__sub-outer.is-collapsed .archive-award-tabs__sub {opacity: 0; transform: translateX(-1rem); transition: opacity .2s ease, transform .3s ease;}
@media (hover: hover) and (pointer: fine) {
    .archive-award-tabs__item:not(.is-active):hover {color: var(--gray-900);}
}
@media screen and (max-width: 800px) {
    /* 전시/수상작 탭과 Year 드롭다운은 한 줄(space-between), 부문 셀렉트만 width:100%로 아랫줄 */
    .archive-tabs-head:has(.archive-award-tabs) {flex-wrap: wrap; align-items: center; margin-bottom: 1.5rem;}
    .archive-tabs-wrap:has(.archive-award-tabs) {display: contents;}
    .archive-tabs-head:has(.archive-award-tabs) .archive-tabs {order: 1; gap: 1rem; margin-bottom: 0;}
    .archive-tabs-head:has(.archive-award-tabs) .c-sel-drop {order: 2; align-self: center;}
    .archive-tabs-head:has(.archive-award-tabs) .c-sel-drop__btn {gap: .25rem; font-size: var(--font-body20-size);}
    .archive-tabs-head:has(.archive-award-tabs) .c-sel-drop__list {left: 0; right: auto;}
    .archive-award-tabs {order: 3; position: relative; display: block; width: 100%; padding: .5rem .75rem; margin-top: 1.5rem; border: 1px solid var(--gray-300); background-color: var(--white);}
    .archive-award-tabs__toggle {position: absolute; right: 0; justify-content: flex-end; padding: 0 .75rem; width: 88%; background-color: transparent;}
    .archive-award-tabs__toggle .ic-grid {width: .5rem; height: .5rem; -webkit-mask-image: url("/resource/images/icon/ic-dropDown.svg"); mask-image: url("/resource/images/icon/ic-dropDown.svg"); transition: transform .25s ease;}
    .archive-award-tabs__toggle.is-active .ic-grid {transform: rotate(180deg);}
    .archive-award-tabs__sub-outer,
    .archive-award-tabs__sub-outer.is-collapsed {display: block; grid-template-columns: none; margin-left: 0; transition: none;}
    .archive-award-tabs__sub,
    .archive-award-tabs__sub-outer.is-collapsed .archive-award-tabs__sub {flex-direction: column; align-items: stretch; gap: 0; overflow: visible; opacity: 1; transform: none; transition: none;}
    .archive-award-tabs__sub-outer.is-collapsed .archive-award-tabs__item:not(.is-active) {display: none;}
    .archive-award-tabs__item {padding: .25rem 0; font-size: var(--font-body16-size); font-weight: 400; text-align: left;}
    .archive-award-tabs__item.is-active {text-decoration: none;}
    .archive-tabs-head:not(:has(.archive-award-tabs)) {align-items: center; margin-bottom: 2.5rem;}
    .archive-tabs-wrap:not(:has(.archive-award-tabs)) {display: contents;}
    .archive-tabs-head:not(:has(.archive-award-tabs)) > .c-sel-drop {align-self: center;}
    .archive-award-tabs.is-pinned {position: fixed; top: 5rem; left: 0; right: 0; margin-top: -1px; padding-left: 1rem; padding-right: 1rem; z-index: 100; box-sizing: border-box; border: 0; border-bottom: 1px solid var(--gray-300); transition: top 0.3s ease;}
    .archive-award-tabs.is-pinned .archive-award-tabs__toggle {padding-right: 1rem;}
    body.nav-hidden .archive-award-tabs.is-pinned {top: 0;}
    .archive-award-tabs__spacer {order: 3; width: 100%;}
}

/* ─── 아카이브 부문 섹션 내 작품 카드(.award-work-item) 정렬 ───────── */
.archive-award-wrap {padding-top: 2.5rem;}
.award-section-title {padding-bottom: .75rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--gray-300);}
.award-section-title em, .award-section-title span {font-size: var(--font-title40-size); font-weight: 600;}
.award-section-title em {padding-right: .5rem;}
.award-work-item__group {display: block;}
.award-work-item__thumb {overflow: hidden; margin-bottom: 1rem;}
.award-work-item__thumb img {transition: 0.5s ease;}
@media (hover: hover) and (pointer: fine) {
    .award-work-item:hover .award-work-item__thumb img {transform: scale(1.1);}
}
.award-work-list {display: flex; justify-content: space-between; gap: 2.5rem 1.5rem;}
[data-award-category][hidden] {display: none;}
.archive-award-wrap [data-award-category] {margin-top: 0;}
[data-award-category]:not([hidden]):not([style*="display: none"]) ~ [data-award-category]:not([hidden]) {margin-top: 7.5rem;}
.award-work-list > .award-work-item:only-child {margin: 0 auto;}
.award-work-list > .award-work-item:first-child:nth-last-child(3) {flex-basis: 100%; display: flex; justify-content: center; padding-bottom: 5rem;}
.award-work-list:has(> .award-work-item:nth-child(4)) {display: grid; grid-template-columns: repeat(4, 1fr);}
.award-work-item__name span, .award-work-item__name em {font-weight: 600;}
.award-work-item__name {padding-bottom: .5rem; font-size: var(--font-body24-size);}
.award-work-item__name em {padding-right: .5rem;}
@media screen and (max-width: 1280px) {
    [data-award-category]:not([hidden]):not([style*="display: none"]) ~ [data-award-category]:not([hidden]) {margin-top: 5.5rem;}
    .award-work-list:has(> .award-work-item:nth-child(4)) {grid-template-columns: repeat(3, 1fr);}
}
@media screen and (max-width: 1024px) {
    [data-award-category]:not([hidden]):not([style*="display: none"]) ~ [data-award-category]:not([hidden]) {margin-top: 3.5rem;}
    .award-work-list {gap: 2rem 1rem;}
    .award-work-list:has(> .award-work-item:nth-child(4)) {gap: 2rem 1rem;}
    .award-work-item__thumb img {width: 100%;}
}
@media screen and (max-width: 800px) {
    .archive-award-wrap {padding-top: 1.5rem;}
    [data-award-category]:not([hidden]) ~ [data-award-category]:not([hidden]) {margin-top: 0;}
    [data-award-category]:not([hidden]):not([style*="display: none"]) ~ [data-award-category]:not([hidden]) {margin-top: 1.25rem;}
    [data-award-category]:not([hidden]):not([style*="display: none"]) ~ [data-award-category="in"]:not([hidden]),
    [data-award-category]:not([hidden]):not([style*="display: none"]) ~ [data-award-category="alumni"]:not([hidden]) {margin-top: 4rem;}
    .award-work-list {flex-direction: column; gap: 1.25rem;}
    .award-work-list > .award-work-item:only-child {margin: 0;}
    .award-work-list > .award-work-item:first-child:nth-last-child(3) {flex-basis: auto; padding-bottom: 0;}
    .award-work-list:has(> .award-work-item:nth-child(4)) {grid-template-columns: 1fr; gap: 1.25rem;}
    .award-work-item__thumb {margin-bottom: .75rem;}
    .award-work-item__name {padding-bottom: .25rem;}
    .award-section-title {margin-bottom: 1.5rem;}
    .award-section-title em {padding-right: .25rem;}
}

/* ─── 아카이브 수상작 디테일 ─────────────────── */
.award-detail-head {display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 5rem;}
.award-detail-head .location {margin-bottom: 0;}

.archive-head {padding-top: 2.5rem;}
.archive-visual {margin-top: 2.5rem;}
.archive-head-info {display: flex; justify-content: space-between; align-items: flex-end;}
.award-detail-btn {position: absolute; top: 1rem; right: 1rem; width: 3rem; height: 3rem; background-color: var(--gray-900); z-index: 11;}
.award-detail-btn i {background-color: var(--white);}
.archive-visual-swiper .swiper-button-prev .swiper-navigation-icon,
.archive-visual-swiper .swiper-button-next .swiper-navigation-icon {display: none;}
.archive-visual-swiper .swiper-wrapper {align-items: stretch;}
.archive-visual-swiper .swiper-slide {height: auto;}
.archive-visual-bottom {display: flex; justify-content: space-between; align-items: flex-end; gap: 2.5rem;}
.archive-visual-toggle {width: 2rem; height: 2rem; border: 1px solid var(--gray-300); background-color: var(--white); border-radius: 50%; transition: background-color 0.35s ease, border-color 0.35s ease;}
.archive-visual-toggle i {transition: background-color 0.35s ease;}
@media (hover: hover) and (pointer: fine) {
    .archive-visual-toggle:hover {background-color: var(--gray-900); border-color: var(--gray-900);}
    .archive-visual-toggle:hover i {background-color: var(--white);}
}
.archive-visual-thumbs {display: flex;}
.archive-visual-thumb {position: relative; width: 3rem; height: 3rem; overflow: hidden; cursor: pointer !important;}
.archive-visual-thumbs-wrap {display: flex; justify-content: flex-end; min-width: 0;}
.archive-visual-thumbs-wrap .archive-visual-thumbs {min-width: 0; max-width: 100%; flex-wrap: nowrap; overflow-x: auto; user-select: none; overscroll-behavior-x: contain; scrollbar-width: none; -ms-overflow-style: none;}
.archive-visual-thumbs-wrap .archive-visual-thumbs::-webkit-scrollbar {display: none;}
.archive-visual-thumbs-wrap .archive-visual-thumb {flex: 0 0 auto;}
.archive-visual-thumb > button {display: block; width: 100%; height: 100%;}
.archive-visual-thumb > button:focus-visible {outline: 2px solid var(--primary); outline-offset: -2px;}
.archive-visual-thumb img {display: block; width: 100%; height: 100%; object-fit: cover;}
.archive-visual-thumb.is-active {border: 2px solid var(--primary);}
.archive-visual-thumbs-more {display: none;} /* 800 이하 전용 */

.award-detail-visual-swiper {height: 61.25rem;}
.award-detail-visual-swiper .swiper-slide img {width: 100%; height: 100%; object-fit: cover;}
.award-detail-visual-swiper .swiper-button-prev .swiper-navigation-icon,
.award-detail-visual-swiper .swiper-button-next .swiper-navigation-icon {display: none;}
.award-detail-visual .archive-visual-thumb {width: 6.6875rem; height: 5rem;}
.award-detail-visual-inner {position: relative;}
.award-detail-visual-panel {position: absolute; top: 8rem; bottom: 0; right: 0; z-index: 1; width: 100%; max-width: 44.5625rem; padding: 2.5rem; background-color: var(--white); border: 1px solid var(--gray-900);}
.award-detail-visual-panel.is-active {overflow-y: auto;}
.award-detail-visual-panel__head {display: flex; align-items: center; justify-content: space-between;}
.award-detail-visual-panel__name {display: flex; align-items: center; gap: 1rem; font-size: var(--font-title32-size); font-weight: 600;}
.award-detail-visual-panel__name em {font-weight: 600;}
.award-detail-visual-panel__more {display: flex; align-items: center; gap: .25rem; font-size: var(--font-cap15-size); color: var(--gray-700);}
.award-detail-visual-panel__more .ic-dropDown {transition: transform .25s ease;}
.award-detail-visual-panel.is-active .award-detail-visual-panel__more .ic-dropDown {transform: rotate(180deg);}
.award-detail-visual-panel__body {display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease;}
.award-detail-visual-panel__body-inner {min-height: 0; overflow: hidden;}
.award-detail-visual-panel.is-active .award-detail-visual-panel__body {grid-template-rows: 1fr;}
.award-detail-visual-panel__desc {margin: 3.5rem 0;}
.award-detail-visual-panel__work + .award-detail-visual-panel__work {padding-top: .75rem;}
.award-detail-visual-panel__work p + p {padding-top: .25rem;}
.award-detail-visual-panel__work p:first-child {font-size: var(--font-body15-size); font-family: var(--font-eulyoo); color: var(--gray-700);}

.award-detail-wrap {display: flex; justify-content: space-between; gap: 7.5rem;}
.award-detail--left {position: relative; flex-shrink: 0; z-index: 1; margin-top: calc(var(--detail-panel-overlap, 0px) * -1);}
.award-detail-visual-panel {position: sticky; top: 8.75rem; bottom: inherit; right: inherit; margin-top: 1.25rem; background-color: var(--white); border: 1px solid var(--gray-900);}
.award-detail-visual-panel__body {min-height: auto; overflow: visible; grid-template-rows: auto;}
.award-detail--right {display: flex; flex-direction: column; gap: 3.5rem}
.award-detail-list__desc {padding-top: 1rem; font-size: var(--font-body15-size); font-family: var(--font-eulyoo); color: var(--gray-700);}
.award-detail-btns {display: flex; align-self: flex-start;}

@media screen and (max-width: 1440px) {
    .award-detail-visual-panel {max-width: 40.5625rem; max-height: calc(100vh - 8.75rem - 2.5rem);}
    .award-detail-wrap {gap: 4.5rem;}
}
@media screen and (max-width: 1280px) {
    .award-detail-visual-panel {position: static; order: 3; margin-top: 1.5rem; padding: 1.5rem; max-height: none; max-width: none;}
    .award-detail-visual-panel__desc {margin: 2.5rem 0;}
    .award-detail-wrap {flex-direction: column; gap: 4rem;}
    .award-detail--right {gap: 2.5rem; align-items: center;}
}
@media screen and (max-width: 800px) {
    .archive-tabs {gap: 1rem; margin-bottom: 4rem;}
    .archive-tab.is-active::after {height: 2px;}
    .archive-head {padding-top: 1.5rem;}
    .archive-head-title {padding-bottom: .5rem;}
    .archive-head-info {flex-direction: column; align-items: flex-start; gap: .5rem; margin-bottom: 1.5rem;}
    .award-detail-visual-inner {display: flex; flex-direction: column;}
    .award-detail-visual-swiper {height: auto; order: 1;}
    .award-detail-visual-swiper .swiper-slide img {height: auto;}
    .award-detail-visual .archive-visual-bottom {order: 2; margin-top: 1rem;}
    .archive-visual-tools {display: none;}
    .award-detail-visual-panel__name {gap: .5rem; font-size: var(--font-body24-size);}
    .award-detail--right {gap: 1.25rem;}
    .award-detail-visual-panel__desc {margin: 2rem 0;}
    .award-detail-visual-panel__work p:first-child {font-size: var(--font-body14-size);}
    .award-detail-list__desc {padding-top: .75rem; font-size: var(--font-body14-size);}
}

@media screen and (max-width: 800px) {
    .archive-visual-thumbs-wrap {align-items: flex-start; justify-content: flex-start; width: 100%;}
    .archive-visual-thumbs-wrap .archive-visual-thumbs {flex: 1 1 auto;}
    .archive-visual-thumbs-wrap .archive-visual-thumb {width: 2.796875rem; height: 2.796875rem;}
    .archive-visual-thumbs-wrap.is-expanded {flex-wrap: wrap;}
    .archive-visual-thumbs-wrap.is-expanded .archive-visual-thumbs {display: contents;}
    .archive-visual-thumbs-more {flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 2.796875rem; height: 2.796875rem; background-color: var(--gray-200);}
    .archive-visual-thumbs-wrap.is-expanded .archive-visual-thumbs-more {background-color: var(--gray-700);}
    .archive-visual-thumbs-wrap.is-expanded .archive-visual-thumbs-more i {background-color: var(--white);}
}

/* ─── 아카이브 수상작 디테일 - 비주얼 히어로 ─────────────────── */
.has-hero-visual {--detail-panel-overlap: 22.1875rem;} /* award-detail--left(사이드바 컬럼)가 히어로 이미지 위로 올라오는 값 */
.detail-visual {position: relative; background: linear-gradient(to bottom, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .55) 100%), url('/resource/images/sub/business/culture/visual-2.webp') center / cover no-repeat; color: var(--white);}
.detail-visual__inner {display: flex; flex-direction: column; gap: 1rem; min-height: 100vh; padding: 10rem 2.5rem 5rem;}
.detail-visual .location {margin-bottom: 0; color: var(--white);}
.detail-visual .location i {background-color: var(--white);}
.detail-visual .location .icon-slash {filter: brightness(0) invert(1);}
.has-hero-visual .location span {color: var(--white);}
.detail-visual .board__title {color: var(--white);}
.has-hero-visual .s-wrap {margin-top: 7.25rem;}

@media screen and (max-width: 1024px) {
    .has-hero-visual {--detail-panel-overlap: 7.5rem;}
    .has-hero-visual .s-wrap {margin-top: 0rem;}
}
@media screen and (max-width: 800px) {
    .detail-visual__inner {min-height: 34.375rem; padding: 7rem 1rem 3rem;}
    /* 상세1 상단 헤더(브레드크럼+제목) 세로 스택 */
    .award-detail-head {flex-direction: column; gap: 1rem; margin-bottom: 2.5rem;}
}

/* ─── 재단사업 > 공연예술사업 > 사업소개 아코디언 (클릭 오픈) ─────────────────────── */
.performance-info--right .business__desc {margin-bottom: 4rem;}
.performance-info__accordion {display: flex; flex-direction: column;}
.performance-info__acc-item {position: relative; overflow: hidden; border-bottom: 1px solid var(--gray-900);}
.performance-info__acc-bg {position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity 0.4s ease;}
.performance-info__acc-bg::after {content: ''; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.4);}
.performance-info__acc-bg img {width: 100%; height: 100%; object-fit: cover;}
.performance-info__acc-head {position: relative; z-index: 1; display: flex; align-items: center; gap: 7.125rem; width: 100%; padding: 2.5rem 2rem; font: inherit; color: inherit; text-align: left; background: none; border: none; cursor: pointer;}
.performance-info__acc-num, .performance-info__acc-title, .performance-info__acc-desc {color: var(--gray-900); transition: color 0.3s ease;}
.performance-info__acc-title {flex: 1;}
.performance-info__acc-icon {position: relative; width: 2rem; height: 2rem; flex-shrink: 0;}
.performance-info__acc-icon-plus, .performance-info__acc-icon-minus {position: absolute; inset: 0; transition: opacity 0.3s ease, background-color 0.3s ease;}
.performance-info__acc-icon-minus {opacity: 0;}
.performance-info__acc-body {position: relative; z-index: 1; display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease;}
.performance-info__acc-body-inner {min-height: 0; overflow: hidden;}
.performance-info__acc-desc {padding: 0 2rem 3.5rem; font-size: var(--font-body24-size);}
.performance-info__acc-item.is-active .performance-info__acc-bg {opacity: 1;}
.performance-info__acc-item.is-active .performance-info__acc-num,
.performance-info__acc-item.is-active .performance-info__acc-title,
.performance-info__acc-item.is-active .performance-info__acc-desc {color: var(--white);}
.performance-info__acc-item.is-active .performance-info__acc-icon-plus,
.performance-info__acc-item.is-active .performance-info__acc-icon-minus {background-color: var(--white);}
.performance-info__acc-item.is-active .performance-info__acc-icon-plus {opacity: 0;}
.performance-info__acc-item.is-active .performance-info__acc-icon-minus {opacity: 1;}
.performance-info__acc-item.is-active .performance-info__acc-body {grid-template-rows: 1fr;}

@media screen and (max-width: 1440px) {
    .performance-info__acc-head {padding: 2rem 1.5rem;}
    .performance-info__acc-desc {padding: 0 1.5rem 3rem;}
}
@media screen and (max-width: 1280px) {
    .performance-info__acc-head {gap: 4.125rem;}
}
@media screen and (max-width: 800px) {
    .performance-info--right .business__desc p {font-size: var(--font-body24-size);}
    .performance-info--left img {margin-top: 1.5rem;}
    .performance-info__acc-head {padding: 2.5rem 1rem; gap: 3.0625rem;}
    .performance-info__acc-desc {padding: 0 1rem 3.5rem;}
}

/* ─── Q&A > 1:1 문의 ─────────────────────────────── */
.inquiry-notice {display: flex; flex-direction: column; gap: .5rem; padding: 2rem; margin-bottom: 2.5rem; background-color: var(--gray-100);}
.inquiry-notice__item {position: relative; padding-left: 1rem; font-size: var(--font-body16-size); color: var(--gray-700); line-height: 1.8;}
.inquiry-notice__item::before {content: ''; position: absolute; left: 0; top: .65em; width: .25rem; height: .25rem; border-radius: 50%; background-color: currentColor;}
.inquiry-notice__item.c-warning {color: var(--warning);}
.inquiry-notice__item.c-warning span {border-bottom: 1px solid var(--warning);}
.form-item .inquiry-notice {margin-bottom: 1.5rem; font-size: var(--font-body18-size); color: var(--gray-700);}
@media screen and (max-width: 800px) {
    .apply-head--sm {padding-bottom: .5rem;}
    .inquiry-notice {padding: 1rem; margin-bottom: 1.5rem;}
    .inquiry-notice__item {line-height: 1.5;}
    .inquiry-notice__item::before {top: 0.6em;}
    .form-item .inquiry-notice {margin-bottom: 1rem;}
}

/* ─── 404 에러 페이지 ─────────────────────────────── */
.error-page {display: flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 100vh; min-height: 100dvh; padding: 2.5rem 1.25rem; background-color: var(--gray-50);}
.error-page__inner {display: flex; flex-direction: column; align-items: center; gap: 5rem; text-align: center; word-break: keep-all;}
.error-page__logo {width: 15rem;}
.error-page__logo img {display: block; width: 100%;}
.error-page__content {display: flex; flex-direction: column; align-items: center; gap: 2.5rem;}
.error-page__text {display: flex; flex-direction: column; gap: 1rem;}
.error-page__title {font-size: var(--font-title40-size); font-weight: 600; color: var(--primary);}
.error-page__desc {font-size: var(--font-body24-size); color: var(--gray-700);}
@media screen and (max-width: 800px) {
    .error-page__inner {gap: 4rem;}
    .error-page__logo {width: 9rem;}
    .error-page__content {gap: 2rem;}
    .error-page__text {gap: 1rem;}
    .error-page__title {font-size: 2rem; line-height: 1.3;}
}
