/* ===== News & Events archive (category-news-events): rounded thumbnails ===== */
.category-news-events .post-thumbnail{border-radius:8px; overflow:hidden;}
.category-news-events .post-thumbnail a{display:block; border-radius:8px;}
.category-news-events .post-thumbnail img{display:block; width:100%; height:auto; border-radius:8px;}

/* ===== News & Events archive: 4-up grid + 4:3 images ===== */
.category-news-events.archive .site-main{display:grid!important;grid-template-columns:repeat(3, minmax(0,1fr));gap:24px;}
.category-news-events.archive .site-main > article{margin:0;float:none!important;width:auto!important;}
.category-news-events.archive .site-main > article{border-radius:8px; overflow:hidden; border:1px solid #e5e7eb; box-shadow:0 8px 18px rgba(0,0,0,.06); background:#fff;}
.category-news-events.archive .post-thumbnail{aspect-ratio:4/3;}
.category-news-events.archive .post-thumbnail a{width:100%;height:100%;}
.category-news-events.archive .post-thumbnail img{height:100%;object-fit:contain;object-position:center;background:#f5f6f7;}

/* Responsive fallback (optional) */
@media (max-width: var(--bp-lg)){
  .category-news-events.archive .site-main{grid-template-columns:repeat(3, minmax(0,1fr));}
}
@media (max-width: var(--bp-md)){
  .category-news-events.archive .site-main{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 480px){
  .category-news-events.archive .site-main{grid-template-columns:1fr;}
}
/* Main stylesheet for new homepage design
   Focus: DOM structure and basic layout only. Images may be empty placeholders.
*/
/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800&display=swap');
/* Icon font for subject boxes (shared) */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24..48,400,0,0');

/* Global typography */
html, body{height:100%;}
body{
  font-family: 'Apple SD Gothic Neo','Apple Gothic','애플고딕','Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--ee-text, #111);
}

/* Optional Poppins utilities (use only when requested) */
.font-poppins,
.poppins{
  font-family: 'Poppins','Apple SD Gothic Neo','Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif !important;
}
/* Apply Poppins to all text inside a container when needed */
.use-poppins,
.use-poppins *:not(i):not(svg){
  font-family: 'Poppins','Apple SD Gothic Neo','Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif !important;
}

:root{
  --ee-primary:#0a2342; /* deep navy */
  --ee-accent:#ffcc00; /* accent */
  --ee-text:#111;
  --ee-muted:#6b7280;
  --ee-bg:#fff;
  --site-max:1980px;
  --site-content-max:1400px;
}

/* Layout base heights so children can use height:100% */
#page.site, .site-content-contain, #content{min-height:100%;}
/* Fixed header 보장 및 본문 오프셋 */
body{padding-top:var(--header-h, 100px);} 
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;}
/* 공지사항 섹션 진입 시: 헤더 스티키 해제 및 상단 오프셋 제거 */
body.disable-sticky-header{padding-top:0 !important;}
body.disable-sticky-header .site-header{position:static !important;}
/* ============ Hero Carousel ============ */
.hero{position:relative;overflow:hidden;min-height:70vh;color:#fff;background:#000 !important;}
.hero .slides{position:absolute;inset:0;height:100%;}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.hero .slide.active{opacity:1;}
.hero .slide .media{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.85);z-index:1;}
.hero .slide video.media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:1;}
.hero{position:relative;}
.hero .hero-inner{position:absolute;left:0;right:0;bottom:20%;z-index:2;padding:0 0;width:min(1200px, 92%);margin:0 auto;}
/* 좁은 화면에서는 너무 아래로 내려가지 않도록 보정 */
@media (max-width: var(--bp-md)){
  .hero .hero-inner{bottom:15%;}
}
.hero .title{font-size:48px;line-height:1.1;margin:0 0 8px;font-weight:800;}
.hero .subtitle{font-size:20px;margin:0 0 8px;opacity:.95;}
.hero .desc{font-size:16px;margin:0 0 18px;opacity:.9;max-width:760px;}

/* ========= Parallax Vision - Tabs & Transitions ========= */
.parallax-vision{position:relative;top:auto;min-height:70vh;background-size:cover;background-position:center;background-repeat:no-repeat;}
.parallax-vision.section{padding:0;} /* 이 섹션은 외부 패딩 제거 */
/* Hero 바로 아래 섹션의 상단 여백 제거 */
.hero + .section{padding-top:0;}
.hero + .parallax-vision{margin-top:0;}
/* 일반적으로 섹션 다음에 오는 parallax-vision도 상단 여백 없음 */
.section + .parallax-vision{margin-top:0;}

/* ======= Global seam killers (WP 기본 마진 제거) ======= */
.hero{margin-bottom:0;}
.hero + *{margin-top:0;}
.home .entry-content > *:first-child{margin-top:0;}
.site-main > article:first-child{margin-top:0;}
.parallax-vision .tab-index{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;gap:12px;align-items:center;justify-content:flex-start;padding:12px 24px;}
.parallax-vision .tab-button{appearance:none;border:0;background:rgba(255,255,255,.85);backdrop-filter:saturate(1.2) blur(4px);color:#111;padding:8px 16px;border-radius:999px;font-weight:700;cursor:pointer;transition: .3s ease, transform .2s ease;}
.parallax-vision .tab-button:hover{background:#fff;transform:translateY(-1px);} 
.parallax-vision .tab-button.active{background:var(--ee-primary, #a1006b);color:#fff;}

/* Only one pane visible */
.parallax-vision .tab-content{position:relative;height:100%; width:100%}
.parallax-vision .tab-pane{position:absolute;inset:0;z-index:1;padding-top:56px; /* reserve space for tab buttons */}
.parallax-vision .tab-pane[hidden]{display:none !important;}

/* Enter transition for pane */
/* 깜빡임 방지: 탭 전환 애니메이션 제거하고 항상 보이도록 */
.parallax-vision .tab-pane{opacity:1;transform:none;transition:none;}
.parallax-vision .tab-pane.is-visible{opacity:1;transform:none;}

/* Ensure inner overlay stretches full height */
.parallax-vision .tab-pane > .parallax-overlay{position:relative;inset:auto;display:flex;align-items:flex-end;min-height:clamp(520px, 70vh, 900px);} 
.parallax-vision .tab-pane > .parallax-overlay .ee-container{width:100%;}
.parallax-vision .tab-pane > .parallax-overlay .parallax-content{
  position:static;
  margin:0 0 clamp(40px, 10%, 120px) 0; /* 하단 여백으로 위치 제어 */
  width:min(100%, 1400px);
  max-width:var(--site-content-max);
  color:#fff; /* 텍스트 화이트 */
}
/* 타이포 & 버튼 스타일: 캡처 톤 */
.parallax-vision .parallax-content .eyebrow {font-size:12px;margin:0 0 12px;font-weight:800;color:#fff;}
.parallax-vision .parallax-content .title{font-size:48px;line-height:1.15;margin:0 0 12px;font-weight:800;color:#fff;}
.parallax-vision .parallax-content .homesubtitle{font-size:32px;line-height:1.15;margin:0 0 12px;font-weight:800;color:#fff;}
.parallax-vision .parallax-content .desc{max-width:760px;margin:0 0 18px;color:rgba(255,255,255,.9);line-height:1.6;}
.parallax-vision .parallax-content .btn{display:inline-block;padding:12px 20px;border:1px solid #fff;border-radius:6px;color:#fff;text-decoration:none;background:transparent;transition:.25s ease,color .25s ease,border-color .25s ease;}
.parallax-vision .parallax-content .btn:hover{background:#fff;color:#0b2545;border-color:#fff;}

@media (max-width: var(--bp-sm)){
  .parallax-vision .tab-index{flex-wrap:wrap;gap:8px;padding:10px 16px;}
  .parallax-vision .tab-button{padding:7px 12px;font-weight:600;}
}

/* Inline number-progress (01 [bar] 03) */
.hero .slide-progress{display:flex;align-items:center;gap:12px;margin-top:12px;}
.hero .slide-progress .num{font-size:14px;font-weight:800;letter-spacing:.04em;opacity:.95;min-width:2ch;text-align:right;}
.hero .slide-progress .num.total{text-align:left;}
.hero .slide-progress .loader{flex:1;min-width:160px;height:4px;background:#e5e5e5;border-radius:999px;overflow:hidden;}
.hero .slide-progress .loader .bar{display:block;width:0;height:100%;background:#ca0464;border-radius:999px;}
.hero .slide-progress .loader.active .bar{animation:ee-line-progress var(--hero-duration, 3s) linear forwards;}

/* Line loaders */
.hero .line-loaders{position:absolute;left:50%;transform:translateX(-50%);bottom:var(--hero-progress-bottom, 48px);display:flex;gap:10px;justify-content:center;z-index:3;width:min(100%, 1400px);padding:0 var(--hero-progress-x, 24px);} 

/* ========= Latest News Carousel ========= */
.latest-news{position:relative;padding:64px 0;background:#f9f9f9;} 
.latest-news .ee-container{max-width:var(--site-content-max);margin:0 auto;padding:0 24px;}
.latest-news .ln-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;}
.latest-news .ln-titles .section-title{font-size:40px;line-height:1.1;margin:0 0 6px;font-weight:800;}
.latest-news .ln-titles .section-sub{margin:0;color:#6b7280;}
.latest-news .ln-controls{display:flex;align-items:center;gap:12px;}
.latest-news .ln-controls button{width:40px;height:40px;border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease, .2s ease;}
.latest-news .ln-controls button:hover{transform:translateY(-1px);background:#fdfdfd;}
.latest-news .ln-pagination{min-width:72px;text-align:center;font-weight:700;}

.latest-news .ln-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:24px;padding:6px 2px 6px 2px;}
.latest-news .ln-viewport::-webkit-scrollbar{height:8px;}
.latest-news .ln-viewport::-webkit-scrollbar-thumb{background:#ddd;border-radius:999px;}

/* Explicit responsive columns for home latest-news grid */
@media (max-width: 1200px){
  .section.latest-news .ln-grid{grid-template-columns:repeat(2, 1fr) !important;}
}
@media (max-width: 640px){
  .section.latest-news .ln-grid{grid-template-columns:1fr !important;}
}
.latest-news .ln-track{display:flex;gap:18px;padding:6px 2px 6px 2px;}

/* Grid mode: 3 columns x 4 rows (12 posts) */
.latest-news .ln-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px;}

/* Slide card */
.latest-news .ln-slide{scroll-snap-align:start;flex:0 0 calc(33.333% - 12px);background:#fff;border-radius:16px; overflow:hidden;}
.latest-news .ln-slide .thumb{display:block;aspect-ratio:16/10;background-size:cover;background-position:center; border-radius:8px; overflow:hidden; transition: transform .35s ease; will-change: transform;}
.latest-news .ln-slide .thumb:hover{transform: scale(1.10);} 
.latest-news .ln-slide .body{padding:14px 16px 18px;}
.latest-news .ln-slide .meta-row{display:flex;gap:12px;font-size:12px;color:#a1006b;font-weight:700;opacity:.9;margin-bottom:6px;}
.latest-news .ln-slide .title{font-size:18px;line-height:1.35;margin:0 0 8px;font-weight:800;}
.latest-news .ln-slide .title a{color:#111;text-decoration:none;}
.latest-news .ln-slide .title a:hover{text-decoration:underline;}
.latest-news .ln-slide .excerpt{margin:0;color:#555;line-height:1.6; width:90%}
.latest-news .ln-slide .date{font-size:12px;color:#a1006b;font-weight:700;opacity:.9;margin-bottom:6px; font-family: 'Poppins', sans-serif;}
.latest-news .ln-more-wrap{display:block;width:100%;text-align:center;margin:22px auto 0;clear:both}
/* More button (circular +) */
.latest-news .ln-more{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:#fff;color:#a1006b;border:1px solid #e5e7eb; font-size:28px;font-weight:800;line-height:1;transition:.2s ease, transform .2s ease,  border-color .2s ease; text-align: center; margin:0 auto;}
.latest-news .ln-more:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.12);background:#fff6fb;border-color:#f1d3e4;}
.latest-news .ln-more:focus{outline:2px solid #a1006b;outline-offset:2px;}

@media (max-width: 700px){
  .latest-news .ln-more{width:48px;height:48px;font-size:24px;}
}

@media (max-width: 1200px){
  .latest-news .ln-slide{flex-basis:calc(50% - 9px);} /* 2-up */
}
@media (max-width: var(--bp-md)){
  .latest-news .ln-slide{flex-basis:90%; margin-right:10px;} /* 1-up wide card */
}

/* Ensure grid mode is responsive as well */
@media (max-width: var(--bp-lg)){
  .latest-news .ln-grid{grid-template-columns:repeat(2, 1fr);} /* 2 columns */
}
@media (max-width: var(--bp-md)){
  .latest-news .ln-grid{grid-template-columns:1fr;} /* 1 column on mobile */
  .latest-news .ln-slide{flex: 0 0 100% !important; margin-right: 0 !important; max-width: 100% !important;}
  .latest-news .ln-viewport{padding: 6px 0 !important;}
  .latest-news .ln-track{gap: 24px; padding: 6px 0 6px 24px !important;}
}
.hero .line-loaders .loader{width:86px;height:2px;background:#e5e5e5;border-radius:2px;overflow:hidden;}
.hero .line-loaders .loader .bar{display:block;width:0;height:100%;background:#ca0464;}
.hero .line-loaders .loader.active .bar{animation:ee-line-progress var(--hero-duration, 3s) linear forwards;}
@keyframes ee-line-progress{from{width:0;}to{width:100%;}}

/* ============ Greeting Page: Reveal & Parallax Styles ============ */
/* Reveal up animation utility */
.reveal-up{opacity:0;transform:translateY(-12px);animation:revealUp var(--reveal-duration,.4s) ease-out forwards;animation-delay:var(--reveal-delay,0s);} 
@keyframes revealUp{to{opacity:1;transform:translateY(0);}}

/* Greeting hero typography overrides (optional) */
.page-greeting .pg-hero .pg-title{font-weight:800;line-height:1.1;margin:0 0 8px;}
.page-greeting .pg-hero .pg-subtitle{margin:0;color:#333;line-height:1.6; letter-spacing:-0.15rem;}

/* Parallax block */
.page-greeting .pg-parallax{padding:28px 0;}
/* full-bleed container (escape layout max-width) */
.page-greeting .pg-parallax .parallax{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:hidden;}
.page-greeting .pg-parallax .parallax-bg{position:relative;z-index:0;display:flex;justify-content:center;--img-start-w: min(var(--site-content-max, 1400px), 100vw);} 
.page-greeting .pg-parallax .parallax-bg img{display:block;width:calc(var(--img-start-w) + (100vw - var(--img-start-w)) * var(--img-progress, 0));max-width:100vw;height:auto;border-radius:var(--img-radius,35px);transform:scale(var(--img-scale,1));transition:width .35s ease, transform .35s ease, border-radius .35s ease;}
/* overlay content on top of image */
.page-greeting .pg-parallax .parallax-content{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;color:#fff;text-align:center;padding:clamp(16px,4vw,48px);font-size:var(--px-font-size,28px);font-weight:700;letter-spacing:.2px;text-shadow:0 2px 8px rgba(0,0,0,.35);z-index:1;} 

/* ==== Global parallax full-bleed (all pages) ==== */
.pg-parallax{padding:28px 0;}
.pg-parallax .parallax{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:hidden;}
.pg-parallax .parallax-bg{position:relative;z-index:0;display:flex;justify-content:center;--img-start-w: min(var(--site-content-max, 1400px), 100vw);} 
.pg-parallax .parallax-bg img{display:block;width:calc(var(--img-start-w) + (100vw - var(--img-start-w)) * var(--img-progress, 0));max-width:100vw;height:auto;border-radius:var(--img-radius,35px);transform:scale(var(--img-scale,1));transition:width .35s ease, transform .35s ease, border-radius .35s ease;}
.pg-parallax .parallax-content{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;color:#fff;text-align:center;padding:clamp(16px,4vw,48px);font-size:var(--px-font-size,28px);font-weight:700;letter-spacing:.2px;text-shadow:0 2px 8px rgba(0,0,0,.35);z-index:1;}

@media (max-width: 640px){
  /* 모바일: 텍스트가 100% 보이도록 모든 클램프/ellipsis 제거 */
  .page-greeting .pg-parallax .parallax-content{
    font-size:calc(var(--px-font-size,28px) * .92);
    max-width:100%;
    display:block;
    overflow:visible;
    text-overflow:unset;
    white-space:normal;
    line-height:1.35;
    max-height:none;
    -webkit-line-clamp:unset;
    -webkit-box-orient:unset;
    word-break:keep-all;
    overflow-wrap:anywhere;
  }
}
/* 태블릿까지도 텍스트 잘림 방지 (≤1197px) */
@media (max-width: 1197px){
  .page-greeting .pg-parallax .parallax-content{
    max-width:100%;
    display:block;
    overflow:visible;
    text-overflow:unset;
    white-space:normal;
    -webkit-line-clamp:unset;
    -webkit-box-orient:unset;
    line-clamp:unset;
  }
}

@media (max-width: var(--bp-lg)){
  .hero{min-height:56vh;}
  .hero .title{font-size:36px;}
  .hero .line-loaders{bottom:var(--hero-progress-bottom-tablet, 36px);} 
}

/* ========= Research Highlight (3x2 grid) ========= */
.research{position:relative;padding:64px 0;background:#fff;}
.research .ee-container{max-width:var(--site-content-max);margin:0 auto;padding:0 24px;}
.research .section-title{font-size:36px;line-height:1.2;margin:0 0 18px;font-weight:800;}
.research .rh-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.research .rh-more{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#111;text-decoration:none;font-weight:700;white-space:nowrap}
.research .rh-more:hover{background:#f9fafb}
.research .grid.cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px;}
.research .card{background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.05);display:flex;flex-direction:column;}
.research .card .p-thumb{display:block;aspect-ratio:16/12;background-size:cover;background-position:center;}
.research .card .p-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px;}
.research .card .p-name{font-size:18px;line-height:1.35;margin:0;font-weight:800;}
.research .card .p-name a{color:#111;text-decoration:none;}
.research .card .p-name a:hover{text-decoration:underline;}
.research .card .p-meta{font-size:13px;color:#6b7280;}

/* ===== Research fields (page-research.php) ===== */
.ee-rf-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:24px;margin-top:18px;}
@media (max-width:1197px){ .ee-rf-grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width:640px){ .ee-rf-grid{grid-template-columns:1fr;} }

/* Field filter: desktop buttons row, mobile bottom sheet */
.ee-rf-filter{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;}
.ee-rf-filter .btn{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer}
.ee-rf-filter .btn.is-active{background:#111;color:#fff;border-color:#111}
.ee-rf-filter-mobile{display:none;margin:12px 0;}
.ee-rf-filter-mobile .open-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:10px 14px;font-weight:800}
.ee-rf-bottomsheet{position:fixed;left:0;right:0;bottom:0;z-index:1400;background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -10px 30px rgba(0,0,0,.15);transform:translateY(110%);transition:transform .25s ease;}
.ee-rf-bottomsheet .sheet-inner{max-width:var(--site-content-max);margin:0 auto;padding:16px;}
.ee-rf-bottomsheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ee-rf-bottomsheet .title{font-weight:800}
.ee-rf-bottomsheet .close{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:6px 10px;cursor:pointer}
.ee-rf-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:auto;padding:8px 0}
.ee-rf-list button{display:block;width:100%;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:12px 12px;font-weight:700}
.ee-rf-bottomsheet.is-open{transform:translateY(0)}
@media (max-width:640px){
  .ee-rf-filter{display:none}
  .ee-rf-filter-mobile{display:block}
}
@media (max-width: 1200px){
  .research .grid.cards{grid-template-columns:repeat(2, 1fr);} /* 2 columns */
}
@media (max-width: var(--bp-md)){
  .research .grid.cards{grid-template-columns:1fr;} /* 1 column */
}
@media (max-width: var(--bp-sm)){
  .hero{min-height:48vh;}
  .hero .hero-inner{padding:72px 0;}
  .hero .title{font-size:28px;}
  .hero .line-loaders{bottom:var(--hero-progress-bottom-mobile, 28px);gap:8px;}
}

/* Root layout variables */


/* ===== Generic Page Hero (pg-hero) ===== */
.pg-hero{padding:56px 0 24px;background:#fff;}
.pg-hero .ee-container{max-width:var(--site-content-max);padding:24px 0;}
.pg-hero .pg-title{font-size:60px;line-height:1.15;margin:0 0 10px;font-weight:700;letter-spacing:-0.05em;color:#ca0464;}
@media (max-width:1200px){
  .pg-hero .pg-title{font-size:40px; letter-spacing:-0.03em;}
}
@media (max-width:640px){
  .pg-hero .pg-title{font-size:30px; letter-spacing:0;}
}
.pg-hero .pg-subtitle{font-size:60px !important;color:#4b5563;margin:0 0 24px;font-weight:100;letter-spacing:-0.02em;}
@media (max-width:1200px){
  .pg-hero .pg-subtitle{font-size:40px !important; letter-spacing:-0.01em;}
}
@media (max-width:640px){
  .pg-hero .pg-subtitle{font-size:30px !important; letter-spacing:0;}
}
.pg-hero .pg-subtitle .subbold{font-weight:700; font-size:60px !important; letter-spacing:inherit}
@media (max-width:1200px){
  .pg-hero .pg-subtitle .subbold{font-size:40px !important}
}
@media (max-width:640px){
  .pg-hero .pg-subtitle .subbold{font-size:30px !important}
}

/* ========= Greeting Page ========= */
.page-greeting .pg-hero{padding:56px 0 24px;background:#fff;}
.page-greeting .pg-hero .ee-container{max-width:var(--site-content-max);padding:24px 0;}
.page-greeting .pg-hero .eyebrow{font-size:14px;color:#ca0464;font-weight:700;margin-bottom:12px;}
.page-greeting .pg-title{font-size:inherit;line-height:1.25;margin:0 0 10px;font-weight:700;letter-spacing:-0.05em; color:#ca0464;}
.page-greeting .pg-subtitle{font-size:inherit;color:#4b5563;margin:0 0 24px; font-weight:100; letter-spacing:inherit;}
.page-greeting .pg-subtitle .subbold{font-size:inherit;color:#4b5563;margin:0 0 24px; font-weight:700}
.page-greeting .pg-hero-figure{margin:0;}
.page-greeting .pg-hero-figure img{display:block;width:100%;height:auto;border-radius:12px;}
.page-greeting .pg-hero-figure figcaption{font-size:13px;color:#6b7280;margin-top:8px;padding:0 24px;}

.page-greeting .pg-body{padding:40px 0 80px;background:#fff;}
.page-greeting .pg-body .ee-container{max-width:var(--site-content-max);margin:0 auto;padding:0 24px;}
.page-greeting .pg-body h2{font-size:28px;margin:32px 0 12px;font-weight:500; letter-spacing: -0.05em; margin-bottom:2rem}
.page-greeting .pg-body h3{font-size:24px;margin:32px 0 12px;font-weight:400; letter-spacing: -0.05em; margin-bottom:1rem; color:#c8005f;}
.page-greeting .pg-body p{margin:0 0 14px;line-height:1.8;color:#111827;}
.page-greeting .pg-body h4{font-size:1.3em;color:#444;margin:1.5em 0 .8em}
.page-greeting .pg-body h5{font-size:1.1em;color:#444;margin:1.2em 0 .5em}
.page-greeting .pg-body ul{
  padding: 12px 0 24px 20px;
  font-size: 18px;
  font-weight: 500;
  margin: 0;
}
.page-greeting .pg-body li{margin:6px 0;}

/* Subject boxes (shared) — icon + label list cards */
.subject-boxes{
  list-style:none; padding:0; margin:.5em 0 1em;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:12px;
}
.subject-boxes li{
  position:relative; padding:12px 14px; border:1px solid #e6e6e6; border-radius:10px; background:#fff;
  display:flex; align-items:center; gap:12px; min-height:48px; box-shadow:0 1px 2px rgba(0,0,0,.04);
  padding-left:50px; font-size:.95rem;
}
.subject-boxes li::before{
  content:"";
  display:inline-block;
  width:28px; height:28px; flex:0 0 28px; margin:10px;
  border-radius:8px; background-color:rgba(200,0,95,0.08); border:1px solid rgba(200,0,95,0.25);
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  background-repeat:no-repeat; background-position:center; background-size:18px 18px;
  /* 기본 아이콘 (menu_book 대체) */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23c8005f' d='M7 4h10a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.8.4c-1.5-1.1-3.4-1.8-5.2-1.8H7a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2zm0 2v10h6c1.7 0 3.4.5 5 1.4V6H7zM5 8h1v8H5c-1.1 0-2-.9-2-2V10c0-1.1.9-2 2-2z'/></svg>");
}
@media (max-width:640px){ .subject-boxes{grid-template-columns:repeat(2,1fr);} }

/* EN Undergraduate: section-specific icon mapping */
#ug-support.subject-boxes li:nth-child(1)::before{ /* home */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23c8005f' d='M12 3 3 10v10h6v-6h6v6h6V10l-9-7z'/></svg>");
}
#ug-support.subject-boxes li:nth-child(2)::before{ /* school */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23c8005f' d='M12 3 1 9l11 6 9-4.91V17h2V9L12 3zm0 8.18L5.97 9 12 5.82 18.03 9 12 11.18zM4 13.5 12 18l8-4.5-8 4.5-8-4.5z'/></svg>");
}
#ug-support.subject-boxes li:nth-child(3)::before{ /* heart */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23c8005f' d='M12 21s-6.72-4.35-9.33-7.2C.86 11.76 1.12 8.6 3.3 6.9 5.04 5.54 7.6 5.86 9 7.4c1.4-1.54 3.96-1.86 5.7-.5 2.18 1.7 2.44 4.86.63 6.9C18.72 16.65 12 21 12 21z'/></svg>");
}

/* Greeting body layout: PC 2-col, Mobile 1-col */
.page-greeting .ee-contents-box{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start}
@media (max-width:1197px){
  .page-greeting .ee-contents-box{grid-template-columns:1fr;}
}

/* Undergraduate/Graduate icon cards */
.feature-circles{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:20px;margin:16px 0 8px}
.feature-circles .circle-item{list-style:none}
.feature-circles .circle{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.feature-circles .circle svg{width:44px;height:44px;flex:0 0 44px;display:block}
.feature-circles .circle .label{display:flex;flex-direction:column;gap:4px}
.feature-circles .circle .label strong{font-size:18px;color:#111}
.feature-circles .circle .label span{font-size:14px;color:#6b7280}
@media (max-width:1197px){
  .feature-circles{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width:640px){
  .feature-circles{grid-template-columns:1fr;}
}

/* Greeting images: switch by device */
.page-greeting img.mobile{display:none; width:100%; height:auto;}
.page-greeting img.pc-only{display:block; width:100%; height:auto;}
@media (max-width:1197px){
  .page-greeting img.mobile{display:block;}
  .page-greeting img.pc-only{display:none;}
  /* Hide the PC-only image container entirely on mobile/tablet */
  .page-greeting .ee-contents-item.greeting_image{display:none !important;}
  /* Show the mobile-specific wrapper */
  .page-greeting .ee-contents-item.greeting_image_mobile{display:block !important; margin-top:2rem}
}
@media (min-width:1198px){
  .page-greeting img.mobile{display:none !important;}
  .page-greeting img.pc-only{display:block !important;}
  .page-greeting .ee-contents-item.greeting_image{display:block !important;}
  /* Hide the mobile-specific wrapper on desktop */
  .page-greeting .ee-contents-item.greeting_image_mobile{display:none !important;}
}

/* Disable pg-parallax on mobile: show full-width image + text stacked */
@media (max-width:640px){
  .pg-parallax .parallax{position:static; width:100%; left:auto; right:auto; margin:0; overflow:visible;}
  .pg-parallax .parallax-bg{position:static; display:block;}
  .pg-parallax .parallax-bg img{width:100%; max-width:100%; height:auto; border-radius:0;}
  .pg-parallax .parallax-content{position:static; padding:16px; text-align:left; color:inherit; text-shadow:none;}
  /* Disable parallax custom properties on mobile */
  .pg-parallax,
  .pg-parallax .parallax,
  .pg-parallax .parallax-bg,
  .pg-parallax .parallax-bg img{
    --img-scale: 1 !important;
    --img-radius: 0 !important;
    --img-w: 100vw !important;
    --img-start-w: 100vw !important;
  }
}

@media (max-width:1024px){
  .page-greeting .pg-title{font-size:36px;}
}
@media (max-width:640px){
  .page-greeting .pg-title{font-size:28px;}
  .page-greeting .pg-subtitle{font-size:16px;}
}

/* Global: on mobile, large subtitle highlight should not be too big */
@media (max-width:640px){
  .pg-subtitle .subbold{font-size:30px !important;}
}
/* Reset helpers */
.ee-container{max-width:var(--site-content-max);margin:0 auto;width:100%;padding-left:24px;padding-right:24px;} 
.ee-container.full{max-width:none;padding-left:0;padding-right:0;}
.hero .ee-container{max-width:1400px;padding-left:24px;padding-right:24px;}
.section{padding:72px 0;}
.section.fullheight{min-height:100vh;}
/* Home/Front: all sections take full viewport height */
body.home .section,
body.front-page .section{min-height:100vh;}
/* Home/Front: hero should strictly fit viewport height */
@supports (height: 100dvh){ body.home .hero, body.front-page .hero{min-height:100dvh;} }
@supports not (height: 100dvh){ body.home .hero, body.front-page .hero{min-height:100vh;} }
.section-title{font-size:28px;font-weight:800;margin:0 0 24px;color:var(--ee-text);} 

/* Desktop only: ensure non-home sections fill viewport height */
@media (min-width:1201px){
  body:not(.home) .section{min-height:100vh;}
  body:not(.home) .section.parallax{min-height:100vh;}
  body:not(.home) .ds-section{min-height:100vh;}
}
.subtitle{color:var(--ee-muted);font-size:16px;margin:8px 0 24px;}
.grid{display:grid;gap:24px;}

/* Hero */
.hero{position:relative;min-height:72vh;color:#fff;background:#000 !important;overflow:hidden;}
.hero.is-loading::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25);z-index:4;}
.hero.is-loading::before{content:"";position:absolute;left:50%;top:50%;width:42px;height:42px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;transform:translate(-50%, -50%);animation:ee-spin 1s linear infinite;z-index:5;}
@keyframes ee-spin{to{transform:translate(-50%, -50%) rotate(360deg);}}
.hero .hero-bg{display:none;}
.hero .hero-inner{position:absolute;left:0;right:0;bottom:20%;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;min-height:auto;padding:0;}
.hero .title{font-size:40px;font-weight:800;line-height:1.2;margin:0 0 24px;}
.hero .search{display:flex;gap:8px;align-items:center;background:#fff;border-radius:6px;padding:8px;max-width:720px;}
.hero .search input[type="text"]{flex:1;border:0;padding:12px 14px;font-size:16px;}
.hero .search button{background:var(--ee-primary);color:#fff;border:0;padding:12px 18px;border-radius:4px;}

.hero .hero_desc{
  display:flex;
  align-items:center;
  gap:24px;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:saturate(1.2) blur(4px);
  backdrop-filter:saturate(1.2) blur(4px);
  padding:18px 22px;
  border-radius:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
/* hero_desc 내부 정렬: 진행바(좌) - 컨텐츠(중앙) - 등록일(우) */
.hero .hero_desc{justify-content:space-between;}
/* 20% | 70% | 10% 고정 분할 */
.hero .hero_desc .slide-progress{flex:0 0 15%;width:15%;max-width:15%;}
.hero .hero_desc .desc{flex:0 0 60%;width:60%;max-width:60%;}
.hero .hero_desc .pubdate{flex:0 0 10%;width:10%;max-width:10%;color:#777;font-size:14px;white-space:nowrap;text-align:right;}

/* 반응형: 좁은 화면에서는 수직 스택 */
@media (max-width: 960px){
  .hero .hero_desc{gap:16px;}
}
@media (max-width: 768px){
  .hero .hero-inner{bottom:15%;width:min(100%, 94%);} /* 기존 보정 유지 + 너비 보정 */
  .hero .hero_desc{flex-direction:column;align-items:stretch;text-align:center;padding:16px;}
  .hero .hero_desc .slide-progress{min-width:0;width:100%;max-width:100%;flex-basis:100%;}
  .hero .hero_desc .desc{width:100%;max-width:100%;flex-basis:100%;}
  .hero .hero_desc .pubdate{width:100%;max-width:100%;flex-basis:100%;text-align:center;order:3;}
  /* 모바일에서는 절대배치 고정을 완화하여 겹침 방지 */
  .parallax-vision .parallax-content{ position:static; margin-top: 24px; }
  .parallax-vision .ee-container{ padding-bottom: 32px; }
}

/* 두 번째 섹션: parallax-vision 아래로 100px 내림 */
.section.parallax-vision{ margin-top:0px; }
/* parallax-vision: 탭 컨텐츠를 하단에서 10% 위치로 배치 */
.parallax-vision .parallax-overlay{ position:relative; min-height: clamp(520px, 70vh, 900px); }
/* 절대배치 대신 플렉스 하단 정렬 사용 */
.parallax-vision .parallax-content{ position:static; }
/* 텍스트가 길어질 때 버튼이 잘리지 않도록 여백 확보 */
.parallax-vision .ee-container{  color:#fff}

/* 스크롤 리빌로 인한 깜빡임 방지: parallax-vision은 항상 노출 상태 */
.parallax-vision{opacity:1 !important; transform:none !important;}
/* ============ Staged Reveal on Load (header) ============ */
/* 초기 상태: 보이지 않게 + 약간 아래로 */
.site-header .logobx,
.site-header .ee-gnb,
.site-header .header-right-buttons{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .6s ease, transform .6s ease;
}
/* 로드 후 최종 상태 + 순차 지연 */
html.loaded .site-header .logobx{opacity:1; transform:none; transition-delay:.01s;}
html.loaded .site-header .ee-gnb{opacity:1; transition-delay:.02s;}

/* Mobile: show header buttons immediately on load (avoid hidden initial state) */
@media (max-width:1200px){
  .site-header .header-right-buttons{opacity:1 !important; transform:none !important;}
  /* Ensure buttons are visible even if legacy CSS sets display:none */
  .site-header .header-right-buttons .m_search_btn,
  .site-header .header-right-buttons .quick-menu-toggle,
  .site-header .header-right-buttons .m_menubox{ display:inline-flex !important; }
  html.loaded .site-header .header-right-buttons{opacity:1; transform:none; transition-delay:.7s;}

}

/* ============ Per-slide staged reveal (hero) ============ */
/* 슬라이드 내 초기 상태 */
.hero .slide .title,
.hero .slide .subtitle,
.hero .slide .hero_desc,
.hero .slide .slide-progress{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .6s ease, transform .6s ease;
}
.hero .slide.active .title{opacity:1; transform:none; transition-delay:.3s; color:#fff}
.hero .slide.active .subtitle{opacity:1; transform:none; transition-delay:.5s; color:#fff}
.hero .slide.active .hero_desc,
.hero .slide.active .slide-progress{opacity:1; transform:none; transition-delay:.7s;}

/* 접근성: 모션 최소화 설정 시 트랜지션 제거 */
@media (prefers-reduced-motion: reduce){
  .site-header .logobx,
  .site-header .ee-gnb,
  .site-header .header-right-buttons,
  .hero .slide .title,
  .hero .slide .subtitle,
  .hero .slide .hero_desc,
  .hero .slide .slide-progress{
    transition:none;
    transform:none;
    opacity:1;
  }
}

/* ============ Sub Top Banner staged reveal ============ */
/* 초기 상태 */
.sub_top_banner_titbx .breadcrumb,
.sub_top_banner_titbx .line_bar,
.sub_top_banner_titbx .entry-title{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .6s ease, transform .6s ease;
}
/* 로드 후 순차 지연 */
html.loaded .sub_top_banner_titbx .breadcrumb{opacity:1; transform:none; transition-delay:.3s;}
html.loaded .sub_top_banner_titbx .line_bar{opacity:1; transform:none; transition-delay:.5s;}
html.loaded .sub_top_banner_titbx .entry-title{opacity:1; transform:none; transition-delay:.7s;}

@media (prefers-reduced-motion: reduce){
  .sub_top_banner_titbx .breadcrumb,
  .sub_top_banner_titbx .line_bar,
  .sub_top_banner_titbx .entry-title{
    transition:none;
    transform:none;
    opacity:1;
  }
}
/* Center section */
.center{background:#0b2545;color:#fff;}
.center .card{background:rgba(255,255,255,0.08);border-radius:8px;padding:24px;}

/* Latest News (legacy grid styles) — renamed to avoid conflict with new carousel */
.latest-news-legacy .items{grid-template-columns:repeat(12,1fr);} 
.latest-news-legacy .item{grid-column:span 3;background:#fafafa;border:1px solid #eee;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;}
.latest-news-legacy .thumb{background:#e5e7eb;aspect-ratio:16/9;}
.latest-news-legacy .body{padding:16px;}
.latest-news-legacy .title{font-size:16px;font-weight:700;margin:0 0 8px;}
.latest-news-legacy .meta{font-size:12px;color:var(--ee-muted);} 

/* Life section */
.section.life{position:relative;color:#fff;background:#111 url('/wp-content/themes/postech_ee/assets/images/ee_being.png') center/cover no-repeat;}
.section.life:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:0;}
.section.life .ee-container{position:relative;z-index:1;padding:84px 20px 60px;}
.section.life .section-title{font-size:56px;font-weight:800;line-height:1.1;color:#fff;margin:0 0 8px;}
.section.life .section-sub{font-size:20px;opacity:.95;margin:0 0 28px;}
.section.life .divider{width:220px;height:3px;background:#fff;opacity:.85;margin:10px 0 36px;}
.section.life .grid.icons{grid-template-columns:repeat(4,1fr);gap:36px;margin-top:100px;}
.section.life .grid.icons .icon{display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;}
.section.life .grid.icons .icon .ico{ width: 100px;  height: 100px;  border-radius: 50%;  border: 1px solid #fff;  opacity: .9;  padding: 0.7rem;}
.section.life .grid.icons .icon .label{font-size:16px;opacity:.95; color:#fff}

/* Research highlight */
.research .cards{grid-template-columns:repeat(12,1fr);} 
.research .card{grid-column:span 3;background:#fff;border:1px solid #eee;border-radius:8px;overflow:hidden;}
.research .p-thumb{background:#f0f2f4;aspect-ratio:3/4;}
.research .p-body{padding:14px;}
.research .p-name{font-weight:700;margin:0 0 4px;}
.research .p-meta{font-size:12px;color:var(--ee-muted);} 

/* Footer (new part) */
.ee-footer{background:#000; color:#fff;padding:40px; width:100%;}
.ee-footer .ee-footer-container {
  max-width:100%;
  padding:20px 40px ;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  color:#fff;
}
.ee-footer .links{display:flex;gap:16px;flex-wrap:wrap;margin:0;}
.ee-footer .social{display:flex;gap:16px;flex-wrap:wrap;margin:0;}
.ee-footer a{color:#fff;text-decoration:none;}

/* Footer (새로운 flexbox 레이아웃) */
.ee-footer-container.footer-wrapper {
  display: flex;
  justify-content: space-between; /* 요소들을 양 끝으로 분산 배치 */
  align-items: center; /* 세로축 중앙 정렬 */
  flex-wrap: wrap; /* 반응형을 위해 필요 시 줄바꿈 */
  gap: 20px; /* 요소들 간의 기본 간격 */
}

.footer-wrapper .brand {
  flex-shrink: 0; /* 브랜드 로고는 줄어들지 않도록 */
}

.footer-wrapper .copy {
  flex-grow: 1; /* 카피라이트 텍스트가 공간을 최대한 차지하도록 */
  display:flex; /* 아이템을 한 줄로 정렬 */
  justify-content:flex-end; /* 우측 정렬 */
  align-items:center;
  gap:8px;
  text-align: right; /* 텍스트 우측 정렬 */
  color:#808080;
}

.footer-wrapper .copy span{
  color:#808080;
  font-size:12px
}
.footer-wrapper .links {
  flex-shrink: 0; /* 링크 영역은 줄어들지 않도록 */
}

/* 반응형을 위한 미디어 쿼리 */
@media (max-width: 768px) {
  .ee-container.footer-wrapper {
    flex-direction: column; /* 작은 화면에서는 세로로 정렬 */
    align-items: flex-start; /* 세로 정렬 시 시작점에 정렬 */
    gap: 15px; /* 아이템 간 간격 */
    text-align: left; /* 텍스트 왼쪽 정렬 */
  }
  .ee-footer .ee-footer-container{
    flex-direction:column; /* 링크/소셜 스택 */
    align-items:flex-start;
    gap:12px;
  }
  .footer-wrapper .copy {
    text-align: left; /* 작은 화면에서는 카피라이트 텍스트 왼쪽 정렬 */
  }
}

/* Responsive */
@media (max-width:1200px){
  .latest-news-legacy .item{grid-column:span 6;}
  .research .card{grid-column:span 6;}

  .hero .title{font-size:28px;}
  .latest-news-legacy .item{grid-column:span 12;}
  .research .card{grid-column:span 12;}
  .section.life .section-title{font-size:40px;}
  .section.life .grid.icons{grid-template-columns:repeat(2,1fr);} 
}

/* ============ Mega GNB ============ */
.ee-gnb{position:relative;z-index:100; color:#fff}
.ee-gnb .gnb{display:flex;gap:24px;align-items:center;margin:0;padding:0;list-style:none;}
.ee-gnb .gnb > li{position:relative;}
.ee-gnb .gnb > li > a.gnb-link{display:block;padding:18px 6px;color:#fff;font-weight:700;text-decoration:none;}
.ee-gnb .gnb > li:hover > a.gnb-link{color:var(--ee-primary);} 

/* Panel (visibility/animation controlled by header-mega.css + GSAP) */
/* .ee-gnb .mega-panel{display:none;}  */
/* .ee-gnb .gnb > li:hover > .mega-panel{display:block;} */
.ee-gnb .mega-panel{position:absolute;left:0;right:0;} 
.ee-gnb .mega-inner{padding:28px 0;} 
.ee-gnb .mega-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;} 
.ee-gnb .mega-col{min-width:0;}
.ee-gnb .mega-head{font-weight:800;margin-bottom:12px;}
.ee-gnb .mega-head a{text-decoration:none;color:#111;}
.ee-gnb .mega-list{margin:0;padding:0;list-style:none;}
.ee-gnb .mega-link a{display:block;padding:8px 0;color:#374151;text-decoration:none;}
.ee-gnb .mega-link a:hover{color:var(--ee-primary);} 

@media (max-width:1024px){
  .ee-gnb .mega-columns{grid-template-columns:repeat(2,1fr);} 
}
@media (max-width:640px){
  .ee-gnb .gnb{flex-wrap:wrap;}
  .ee-gnb .mega-panel{position:static;display:block;border:none;box-shadow:none;padding:0;}
  .ee-gnb .mega-inner{padding:12px 0;}
}

/* ============ Parallax Sections ============ */
.section.parallax{position:relative;overflow:hidden;min-height:60vh;display:flex;align-items:center;color:#fff;}
.section.parallax .parallax-bg{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;transform:translateZ(0);will-change:transform;z-index:0;}
.section.parallax .parallax-overlay{position:relative;z-index:1;width:100%;padding:64px 0;background:linear-gradient(180deg,rgba(5,20,45,.65),rgba(5,20,45,.75));}
.section.parallax .parallax-content{max-width:860px;}
/* 세 번째 섹션(parallax-research): 컨텐츠를 하단 10%에 배치 */
.parallax-research .parallax-overlay{position:relative; display:flex; align-items:flex-end; min-height: clamp(520px, 60vh, 820px);} 
.parallax-research .ee-container{width:100%; position:relative;}
.parallax-research .parallax-content{position:relative; z-index:1; margin:0 0 clamp(40px, 10%, 120px) 0;} 
/* 공지 애니메이션 레이어: 컨텐츠 아래 전 화면 */
.parallax-research .news-anim{position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:url('/wp-content/themes/postech_ee/assets/images/eetext.png');
  background-repeat:repeat-x; background-position:0 50%; background-size:auto 60%; opacity:.22;
  animation: ee-marquee-x 36s linear infinite;
}
@keyframes ee-marquee-x{
  0%{ background-position: 0 50%; }
  100%{ background-position: 200% 50%; }
}

/* ===== Notice carousel (3rd section) background ===== */
/* 섹션 기본 글자색을 어둡게 + 배경색 지정 */
.parallax-research{color:#111; background:#e9e7e2 !important;}
/* 오버레이는 투명 유지 */
.parallax-research .parallax-overlay{background:transparent !important; background-image:none !important;}
/* latest-news 기본 배경 그라디언트 제거 (공지 섹션만) */
.parallax-research.latest-news{background:#e9e7e2 !important; background-image:none !important;}
/* 패럴랙스 배경 레이어 제거 */
.parallax-research .parallax-bg{background:transparent !important; background-image:none !important;}
/* 특이 케이스: 조합 선택자 우선순위 보강 */
.section.latest-news.parallax-research{background:#e9e7e2 !important; background-image:none !important;}

@media (max-width: 768px){
  /* 모바일에서는 겹침을 피하기 위해 static 배치 */
  .parallax-research .parallax-content{position:relative; z-index:1; margin:24px 0 24px;}
  .parallax-research .news-anim{background-size:auto 42%; opacity:.18;}
}
.section.parallax .title{font-size:40px;line-height:1.15;margin:0 0 12px;font-weight:800;}
.section.parallax .desc{font-size:18px;opacity:.95;margin:0 0 20px;}
.section.parallax .btn{display:inline-block;padding:10px 18px;border:1px solid #fff;border-radius:4px;color:#fff;text-decoration:none;}

/* ===== Notice carousel: card thumbnail layout ===== */
.parallax-research .ln-slide{display:flex;flex-direction:column;gap:10px;}
.parallax-research .ln-slide .thumb{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#f3f3f3; margin:0; padding:0; line-height:0;}
.parallax-research .ln-slide .thumb a{display:block; margin:0; padding:0; border:0; border-radius:8px;}
.parallax-research .ln-slide .thumb img{display:block; margin:0; padding:0; border:0; border-radius:8px;}
.parallax-research .ln-slide .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.parallax-research .ln-slide .body{background:#fff;border-radius:10px;padding:16px;}
.parallax-research .ln-slide .title{font-size:16px;line-height:1.35;margin:8px 0 6px;}
.parallax-research .ln-slide .excerpt{font-size:14px;opacity:.9;margin:0;}

/* 섹션별 배경 이미지는 각 템플릿에서 설정하므로 이곳에서 초기화하지 않음 */

/* ============ Latest News (content-underlay) ============ */
.section.latest-news{position:relative;}
.section.latest-news .ee-container{position:relative;}
.section.latest-news .ln-anim{position:absolute; top:10%; left:0; right:0; bottom:0; z-index:0; pointer-events:none;
  background-image:url('/wp-content/themes/postech_ee/assets/images/eetext.png');
  background-repeat:no-repeat; background-position:center top; background-size:contain; opacity:.16;
}
.section.latest-news .ln-header,
.section.latest-news .ln-viewport,
.section.latest-news .ln-controls{position:relative; z-index:1;}

/* Fallbacks and mobile adjustments */
@media (max-width:1024px){
  .section.parallax{min-height:46vh;}
  .section.parallax .title{font-size:32px;}
}
@media (max-width:640px){
  .section.parallax{min-height:40vh;}
  .section.parallax .title{font-size:26px;}
  .section.parallax .desc{font-size:16px;}
}

/* Parallax effect hint (CSS-only). We'll enhance with JS later if needed */
@media (min-width:768px){
  .section.parallax .parallax-bg{background-attachment:fixed;}
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .section.parallax .parallax-bg{background-attachment:scroll;}
}

/* Optional: video as parallax background */
.section.parallax video.parallax-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0;}

/* ========= Background fit-to-height utilities ========= */
/* 배경 이미지를 세로(height)에 맞춤: 가로는 자동 비율로, 좌우 여백이 생길 수 있음 */
.bg-fit-y{background-size: cover !important; background-repeat:no-repeat; background-position:center center;}
/* 히어로 슬라이드에서 선택적 적용 (HTML에 class="fit-y" 또는 data-bg-fit="y"로 제어) */
.hero .slide .media.fit-y{background-size:auto 100% !important;}
.hero .slide[data-bg-fit='y'] .media{background-size:auto 100% !important;}
/* 비디오를 세로 맞춤으로 보고 싶을 때 (옵션) */
.object-contain-y{object-fit:contain; height:100%; width:100%;}

/* ========= Scroll Reveal (sections & generic) ========= */
/* 초기 상태: 섹션(히어로 제외)과 수동 지정 요소를 살짝 아래에서 숨김 */
.section:not(.hero),
.reveal-on-view{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .7s ease, transform .7s ease;
}
/* 최종 상태 */
.section.is-revealed,
.reveal-on-view.is-revealed{
  opacity:1;
  transform:none;
}
/* 스태거되는 자식들(옵션) */
.stagger-item{will-change:opacity, transform;}

@media (prefers-reduced-motion: reduce){
  .section:not(.hero),
  .reveal-on-view{
    transition:none;
    transform:none;
    opacity:1;
  }
}

/* ========= Device/System Tabs Section ========= */
.ds-section{position:relative;min-height:80vh;isolation:isolate;overflow:hidden;color:#111;}
.ds-section .ds-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;}
.ds-section::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.15) 30%, rgba(0,0,0,.0) 60%);pointer-events:none;z-index:0;}
.ds-section .ds-inner{position:relative;z-index:1;max-width:var(--site-content-max);margin:0 auto;padding:64px 24px;}

/* Tabs */
.ds-section .ds-tabs{display:flex;gap:12px;align-items:center;margin-bottom:24px;}
.ds-section .ds-tab{appearance:none;border:0;background:rgba(255,255,255,.85);backdrop-filter:saturate(1.2) blur(4px);color:#111;padding:10px 18px;border-radius:999px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:background .3s ease, transform .2s ease;}
.ds-section .ds-tab:hover{background:#fff;transform:translateY(-1px);} 
.ds-section .ds-tab.is-active{background:var(--ee-primary, #a1006b);color:#fff;}

/* Panels */
.ds-section .ds-panels{background:rgba(255,255,255,.9);backdrop-filter:saturate(1.2) blur(4px);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.15);} 
.ds-section .ds-panel{display:block;}
.ds-section .ds-panel[hidden]{display:none !important;}

/* Rich content defaults */
.ds-section .ds-panel h1,.ds-section .ds-panel h2,.ds-section .ds-panel h3{margin:0 0 12px;}
.ds-section .ds-panel p{margin:0 0 12px;line-height:1.7;}
.ds-section .ds-panel ul{margin:0 0 12px 18px;}

/* Responsive */
@media (max-width: 1024px){
  .ds-section{min-height:70vh;}
  .ds-section .ds-inner{padding:48px 20px;}
}
@media (max-width: 640px){
  .ds-section .ds-tabs{gap:8px;flex-wrap:wrap;}
  .ds-section .ds-tab{padding:8px 14px;font-weight:600;}
  .ds-section .ds-panels{padding:18px;}
}

/* ============ History Page: Scroll Reveal ============ */
/* 기본 리빌 상태: JS 활성 시에만 초기 숨김 */
body.has-history-anim .ee-history-timeline .eht-year,
body.has-history-anim .ee-history-timeline .eht-item{
  opacity: 1;
  transform: translateY(12px);
  transition: opacity .5s ease, transform .5s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
body.has-history-anim .ee-history-timeline .eht-year.is-in,
body.has-history-anim .ee-history-timeline .eht-item.is-in{
  opacity: 1;
  transform: none;
}

/* 썸네일 이미지 스케일 인 효과 */
body.has-history-anim .ee-history-timeline .eht-photo img{
  transform: scale(.98);
  transition: transform .5s ease;
  will-change: transform;
}
body.has-history-anim .ee-history-timeline .eht-item.is-in .eht-photo img{
  transform: none;
}

/* 접근성: 모션 최소화 시 즉시 표시 */
@media (prefers-reduced-motion: reduce){
  .ee-history-timeline .eht-year,
  .ee-history-timeline .eht-item{
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .ee-history-timeline .eht-photo img{
    transition: none !important;
    transform: none !important;
  }
}

/* ============ Faculty/Employee Cards (shared) ============ */
/* 공통 카드 레이아웃: 교수/겸임/명예교수/직원 목록에 사용 */
.ee-prof-list .card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;gap:30px;padding:16px;margin:0;background:#fff;align-items:stretch}
.ee-prof-list .thumb{flex:0 0 auto;width:150px;height:170px;border-radius:12px;overflow:hidden}
.ee-prof-list .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ee-prof-list .name{font-size:18px;font-weight:700;margin:0}
.ee-prof-list .role{margin-left:8px;font-weight:600;color:#374151}
.ee-prof-list .meta{margin-top:0;color:#374151;font-size:14px}
.ee-prof-list .body{display:flex;align-items:stretch;flex:1}
.ee-prof-list .meta dl{display:flex;flex-direction:column;justify-content:space-between;min-height:170px;margin:0}
.ee-prof-list .meta dt{margin:0 0 8px;font-weight:700}
.ee-prof-list .meta dd{margin:0}
.ee-prof-list .meta br{display:none}

/* 아이콘 베이스 */
.ee-prof-list .meta dd{position:relative;padding-left:26px}
.ee-prof-list .meta dd::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;opacity:.9;background-repeat:no-repeat;background-position:center;background-size:contain}
/* 연구실 */
.ee-prof-list .meta dd.lab::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23374151' d='M9 2h6v2h-1v5.5l4.5 7.8A2 2 0 0 1 16.8 20H7.2a2 2 0 0 1-1.7-2.7L10 9.5V4H9zM11 4v6L6.8 18h10.4L13 10V4h-2z'/></svg>")}
/* 메일 */
.ee-prof-list .meta dd.email::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='2' y='5' width='20' height='14' rx='2' fill='%23374151'/><path d='M3 6l9 7 9-7' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linejoin='round'/></svg>")}
/* 홈페이지 */
.ee-prof-list .meta dd.home::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 10l9-7 9 7v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V10z' fill='%23374151'/><rect x='9' y='14' width='6' height='6' fill='%23ffffff'/></svg>")}
/* 전화 */
.ee-prof-list .meta dd.tel::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23374151' d='M6 2l4 3-2 3c1 2 3 4 5 5l3-2 3 4-2 3c-6 2-14-6-12-12z'/></svg>")}
/* 담당업무(직원) */
.ee-prof-list .meta dd.work::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23374151' d='M9 4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v3h-8v1a2 2 0 0 1-2 2H2V8a2 2 0 0 1 2-2h3V4h2Zm2 0h2v2h-2V4Zm11 9v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3h9a3 3 0 0 0 3-3v-1h8Z'/></svg>")}

/* 교수 목록 그리드: 태블릿 2열, 모바일 1열 */
.ee-prof-list .profile_list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.ee-prof-list .profile_list > li{list-style:none;margin:0}
@media (max-width: 1197px){
  .ee-prof-list .profile_list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .ee-prof-list .profile_list{grid-template-columns:1fr}
}
/* 모바일 보정: 일부 페이지에서 main.css가 template CSS를 덮어쓰는 경우 대비 */
@media (max-width: 768px){
  .ee-prof-list .profile_list{grid-template-columns:1fr !important}
}

/* ============ Education Page: Two-column layout ============ */
.edu-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:32px;align-items:start;border-bottom:1px solid #e5e7eb;padding-bottom:24px;margin-bottom:32px;--edu-right-offset:6px}
.edu-grid:last-child{border-bottom:0;margin-bottom:0}
.edu-left h2{margin:0}
.edu-left ul{margin:8px 0 0 18px}
.edu-right h2{margin-top:0}
.edu-right{padding-top:var(--edu-right-offset); position: relative; top:25px;}
@media (max-width: 960px){
  .edu-grid{grid-template-columns:1fr;gap:20px}
  .edu-right{padding-top:0}
}

/* ============ Unified Link Styles ============ */
.pg-body a,
.ee-link{color:#FFF;text-decoration:none;text-underline-offset:2px;text-decoration-thickness:1.5px;transition:color .2s ease,text-decoration-color .2s ease}
.pg-body a:hover,.pg-body a:focus,
.ee-link:hover,.ee-link:focus{color:#fff;text-decoration:none}
.pg-body a:visited,
.ee-link:visited{color:#fff}
.pg-body a:focus-visible,
.ee-link:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:2px}

.footer-button {background:#ca0464;color:#fff;padding:0.5rem 2rem 0.7rem 2rem;border-radius:2rem;text-decoration:none;}
.footer-button a {font-size:0.75rem}