/* 한국예술인문학회 시안 공통 스타일
   뼈대 baebsae.com 실측 · 색 2안 자주(PSPD 2026-10-02) · 섹션·모션 레퍼런스카드 v2
   v3: 바깥 여백 1.5배(PSPD), 상단 메뉴를 헤더 선 아래 밝은 패널로 */
:root{
  --fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-32:32px;--fs-40:40px;--fs-48:48px;--fs-56:56px;
  --sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-32:32px;--sp-40:40px;--sp-48:48px;--sp-64:64px;--sp-72:72px;--sp-96:96px;--sp-144:144px;
  /* 바깥 여백(1.5배): 좌우 32→48, 섹션 위아래 96→144 */
  --pad-x:var(--sp-48);--pad-sec:var(--sp-144);
  --bg:#f3f0ee;--panel:#e7e1de;--panel-2:#d9d0cc;--white:#fbfaf9;
  --main:#5a2840;--main-hover:#4a2034;--on-main:#f3f0ee;--on-main-2:#d3bcc6;
  --accent:#a07a4a;
  --text:#3c3c3c;--text-2:#5f5f5c;--text-3:#6b6965;
  --line:#d9d0cc;--line-on-main:rgba(255,255,255,.18);
  --shadow:0 12px 32px rgba(60,30,45,.12);
  --focus:#a07a4a;--danger:#a3342c;
  --z-head:10;--z-panel:9;--z-bar:8;--z-toast:30;
  --ease-out:cubic-bezier(0,0,.2,1);--ease:cubic-bezier(.4,0,.2,1);
  --dur-in:.7s;--dur-ui:.3s;--rise:24px;
  --head-h:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Pretendard Variable",Pretendard,sans-serif;background:var(--bg);color:var(--text);word-break:keep-all;letter-spacing:-0.005em;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:var(--sp-16);top:-48px;background:var(--main);color:var(--on-main);padding:var(--sp-8) var(--sp-16);z-index:20}
.skip:focus{top:var(--sp-8)}
.wrap{padding:0 var(--pad-x)}
.sec{padding:var(--pad-sec) 0}
.sec-h{font-size:var(--fs-40);font-weight:600;letter-spacing:-0.02em;line-height:1.25;color:var(--main)}
.sec-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-24);margin-bottom:var(--sp-48)}
.link{font-size:var(--fs-14);color:var(--text-2);transition:color var(--dur-ui) var(--ease)}
.link:hover{color:var(--main);text-decoration:underline;text-underline-offset:4px}
.link::after{content:" →"}

/* 모션 — 스크롤로 보일 때 아래에서 올라오며 나타남 */
.js .reveal{opacity:0;transform:translateY(var(--rise));transition:opacity var(--dur-in) var(--ease-out),transform var(--dur-in) var(--ease-out);transition-delay:calc(var(--i,0) * 80ms)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *{transition:none!important}
}

/* ── 헤더 ── */
header{position:sticky;top:0;z-index:var(--z-head);background:var(--bg);border-bottom:1px solid var(--line)}
.head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-32);padding:0 var(--pad-x);height:var(--head-h)}
.logo{display:flex;align-items:center;gap:var(--sp-12);font-weight:600;font-size:var(--fs-18);letter-spacing:-0.015em;color:var(--main);flex:none}
.mark-svg{flex:none;color:var(--main)}
footer .f-logo{display:flex;align-items:center;gap:var(--sp-12)}
footer .mark-svg{color:var(--on-main);--logo-in:var(--main)}
.gnb{display:flex;height:var(--head-h)}
.gnb>li{display:flex;align-items:center}
.gnb>li>a{position:relative;padding:0 var(--sp-24);font-size:var(--fs-16);font-weight:500;height:100%;display:flex;align-items:center;transition:color var(--dur-ui) var(--ease)}
/* 지금 보는 메뉴·열린 메뉴: 헤더 선 위에 자주 밑줄 */
.gnb>li>a::after{content:"";position:absolute;left:var(--sp-24);right:var(--sp-24);bottom:-1px;height:2px;background:var(--main);transform:scaleX(0);transition:transform var(--dur-ui) var(--ease)}
.gnb>li.on>a,.gnb>li.hot>a{color:var(--main)}
.gnb>li.on>a::after,.gnb>li.hot>a::after{transform:scaleX(1)}
.util{display:flex;gap:var(--sp-20);align-items:center;font-size:var(--fs-14);color:var(--text-2);flex:none}
.util a{transition:color var(--dur-ui) var(--ease)}
.util a:hover{color:var(--main)}
.util .join{color:var(--on-main);background:var(--main);padding:var(--sp-8) var(--sp-16);font-weight:600}
.util .join:hover{color:var(--on-main);background:var(--main-hover)}

/* 메가 패널 — 헤더 선 바로 아래에서 시작, 밝은 바탕 + 그림자로 아래 화면과 구분 */
.mega{position:absolute;left:0;right:0;top:calc(100% + 1px);background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s .25s}
header.mega-open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.mega-in{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr));gap:var(--sp-32);padding:var(--sp-40) var(--pad-x) var(--sp-48)}
.mega-intro strong{display:block;font-size:var(--fs-20);font-weight:600;color:var(--main);letter-spacing:-0.015em}
.mega-intro p{margin-top:var(--sp-8);font-size:var(--fs-14);color:var(--text-2)}
.mega-col h3{font-size:var(--fs-14);font-weight:600;color:var(--text-3);padding-bottom:var(--sp-12);border-bottom:1px solid var(--line);margin-bottom:var(--sp-8);transition:color var(--dur-ui) var(--ease)}
.mega-col.hot h3{color:var(--main)}
.mega-col a{display:block;padding:var(--sp-8) 0;font-size:var(--fs-16);transition:color var(--dur-ui) var(--ease),transform var(--dur-ui) var(--ease)}
.mega-col a:hover{color:var(--main);transform:translateX(var(--sp-4))}
.mega-col a[aria-current="page"]{color:var(--main);font-weight:600}
.scrim{position:fixed;inset:0;top:var(--head-h);background:rgba(40,20,30,.18);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s .25s;z-index:var(--z-panel)}
.scrim.on{opacity:1;visibility:visible;transition:opacity .25s var(--ease)}

.menu-btn{display:none;width:44px;height:44px;place-items:center;margin-right:calc(var(--sp-8) * -1)}
.menu-btn span{display:block;width:20px;height:2px;background:var(--main);box-shadow:0 6px 0 var(--main),0 -6px 0 var(--main);transition:box-shadow var(--dur-ui) var(--ease),transform var(--dur-ui) var(--ease)}
.menu-btn[aria-expanded="true"] span{box-shadow:none;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{content:"";display:block;width:20px;height:2px;background:var(--main);transform:rotate(-90deg)}

/* ── 메인 ── */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:640px}
.hero-l{background:var(--panel);padding:var(--sp-96) var(--pad-x) var(--sp-72);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-48)}
h1.big{font-size:var(--fs-56);font-weight:600;letter-spacing:-0.03em;line-height:1.2;color:var(--main)}
.en{margin-top:var(--sp-12);font-size:var(--fs-18);color:var(--text-2);letter-spacing:0}
.intro{margin-top:var(--sp-32);font-size:var(--fs-20);line-height:1.6}
.hero-photo{aspect-ratio:16/7;object-fit:cover;width:100%;background:var(--panel-2)}
.hero-r{background:var(--main);color:var(--on-main);padding:var(--sp-96) var(--sp-72) var(--sp-72)}
.hero-r h2{font-size:var(--fs-24);font-weight:600;letter-spacing:-0.015em;display:flex;justify-content:space-between;align-items:baseline}
.more{font-size:var(--fs-14);font-weight:400;color:var(--on-main-2);transition:color var(--dur-ui) var(--ease)}
.more:hover{color:var(--on-main);text-decoration:underline;text-underline-offset:4px}
.notice{margin-top:var(--sp-24)}
.notice a{display:flex;justify-content:space-between;gap:var(--sp-24);padding:var(--sp-16) 0;border-top:1px solid var(--line-on-main);font-size:var(--fs-16)}
.uline{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--dur-ui) var(--ease)}
a:hover .uline{background-size:100% 1px}
.notice time{color:var(--on-main-2);font-size:var(--fs-14);flex:none}
.notice a>span{display:flex;align-items:baseline}
.tag{font-style:normal;flex:none;width:56px;font-size:var(--fs-14);color:var(--on-main-2)}
.dates{margin-top:var(--sp-48);padding-top:var(--sp-24);border-top:2px solid var(--on-main-2)}
.dates-h{font-size:var(--fs-14);font-weight:600;color:var(--on-main-2);margin-bottom:var(--sp-12)}
.dates p:not(.dates-h){display:flex;gap:var(--sp-24);font-size:var(--fs-18);padding:var(--sp-4) 0}
.dates time{flex:none;width:96px;color:var(--on-main);font-weight:600}

/* 학회 소개: 사진 + 글 */
.about .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-96);align-items:center}
.about-photo{aspect-ratio:4/5;object-fit:cover;width:100%;background:var(--panel-2)}
.about .statement{font-size:var(--fs-40);font-weight:600;letter-spacing:-0.02em;line-height:1.35;color:var(--main)}
.about p.body{margin-top:var(--sp-32);font-size:var(--fs-18)}
.about .sign{margin-top:var(--sp-16);font-size:var(--fs-14);color:var(--text-3)}
.arrow-list{margin-top:var(--sp-40);border-top:1px solid var(--line)}
.arrow-list a{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-16) 0;border-bottom:1px solid var(--line);font-size:var(--fs-16);font-weight:600;color:var(--main)}
.arrow-list a::after{content:"→";transition:transform var(--dur-ui) var(--ease)}
.arrow-list a:hover::after{transform:translateX(var(--sp-8))}

/* 연구 분야 — 문장 속 분야 이름이 곧 링크 (Fondation Cartier 실측: 48px 문장, 밑줄 7px 띄움) */
.fields{background:var(--panel)}
.fields-label{font-size:var(--fs-14);font-weight:600;color:var(--main);margin-bottom:var(--sp-24)}
.fields-sentence{font-size:var(--fs-48);font-weight:500;letter-spacing:-0.025em;line-height:1.45;color:var(--text);max-width:1000px;text-wrap:pretty}
.fields-sentence .fld{white-space:nowrap}
.fields-sentence a{color:var(--main);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px;text-decoration-color:rgba(90,40,64,.35);transition:text-decoration-color var(--dur-ui) var(--ease),color var(--dur-ui) var(--ease)}
.fields-sentence a:hover,.fields-sentence a:focus-visible{text-decoration-color:var(--main)}
.fields-sentence a sup{font-size:var(--fs-14);font-weight:600;color:var(--accent);margin-right:var(--sp-4);letter-spacing:0;vertical-align:super;text-decoration:none;display:inline-block}
.fields-note{margin-top:var(--sp-40);font-size:var(--fs-16);color:var(--text-2)}

/* 학술지 */
.journal .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-96)}
.cover{aspect-ratio:3/4;background:var(--panel);color:var(--main);border-top:4px solid var(--main);padding:var(--sp-40) var(--sp-32);display:flex;flex-direction:column;justify-content:space-between;max-width:420px}
.cover small{font-size:var(--fs-14);color:var(--text-3)}
.cover strong{font-size:var(--fs-40);font-weight:600;letter-spacing:-0.02em;line-height:1.25}
.cover em{font-style:normal;font-size:var(--fs-14);color:var(--text-2);border-top:1px solid var(--panel-2);padding-top:var(--sp-16)}
.lead{font-size:var(--fs-18);margin-top:var(--sp-16);max-width:620px}
.facts{display:grid;grid-template-columns:auto 1fr;margin-top:var(--sp-32);border-top:1px solid var(--line)}
.facts dt,.facts dd{padding:var(--sp-12) 0;border-bottom:1px solid var(--line);font-size:var(--fs-16)}
.facts dt{color:var(--text-3);padding-right:var(--sp-48)}
.steps{margin-top:var(--sp-32);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-8)}
.steps a{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-16);background:var(--panel);font-size:var(--fs-16);font-weight:600;color:var(--main);height:100%;transition:background var(--dur-ui) var(--ease),color var(--dur-ui) var(--ease)}
.steps a small{font-size:var(--fs-12);font-weight:400;color:var(--text-3);transition:color var(--dur-ui) var(--ease)}
.steps a:hover{background:var(--main);color:var(--on-main)}
.steps a:hover small{color:var(--on-main-2)}

/* 대표 행사 */
.event{background:var(--main);color:var(--on-main);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.event-photo{overflow:hidden;min-height:640px}
.event-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.event:hover .event-photo img{transform:scale(1.03)}
.event-body{padding:var(--sp-96) var(--sp-72);display:flex;flex-direction:column;justify-content:center}
.kicker{font-size:var(--fs-14);color:var(--on-main-2)}
.event-body h2{margin-top:var(--sp-12);font-size:var(--fs-40);font-weight:600;letter-spacing:-0.02em;line-height:1.25}
.event-body .theme{margin-top:var(--sp-16);font-size:var(--fs-20);color:var(--on-main-2)}
.event-body dl{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-8) var(--sp-32);margin-top:var(--sp-32);font-size:var(--fs-16)}
.event-body dt{color:var(--on-main-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-8);height:48px;padding:0 var(--sp-24);font-size:var(--fs-16);font-weight:600;border:1px solid var(--main);background:var(--main);color:var(--on-main);transition:background var(--dur-ui) var(--ease),color var(--dur-ui) var(--ease),border-color var(--dur-ui) var(--ease)}
.btn:hover{background:var(--main-hover);border-color:var(--main-hover)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.line{background:transparent;color:var(--main)}
.btn.line:hover{background:var(--panel)}
.btn.on-main{background:transparent;border-color:var(--on-main);color:var(--on-main);margin-top:var(--sp-40);align-self:flex-start}
.btn.on-main:hover{background:var(--on-main);color:var(--main)}

/* 갤러리 */
.gallery{background:var(--panel)}
.photos{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:var(--sp-24)}
.photos li:first-child{grid-row:span 2}
.ph-wrap{overflow:hidden;background:var(--panel-2)}
.photos img,.album img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.photos li:first-child a{display:flex;flex-direction:column;height:100%}
.photos li:first-child .ph-wrap{flex:1;position:relative;min-height:240px}
.photos li:first-child img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
a:hover .ph-wrap img{transform:scale(1.04)}
.cap{margin-top:var(--sp-8);font-size:var(--fs-14);font-weight:600}
.cap-sub{display:block;font-size:var(--fs-12);color:var(--text-3);font-weight:400}

/* 자료집 목록 */
.books{border-top:2px solid var(--main)}
.books a{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:var(--sp-24);align-items:center;padding:var(--sp-24) 0;border-bottom:1px solid var(--line);transition:padding var(--dur-ui) var(--ease),background var(--dur-ui) var(--ease)}
.books a:hover{background:var(--panel);padding-left:var(--sp-16);padding-right:var(--sp-16)}
.books time{font-size:var(--fs-14);color:var(--text-3)}
.books strong{font-size:var(--fs-18);font-weight:600;color:var(--main)}
.books span{display:block;font-size:var(--fs-14);color:var(--text-2)}
.books em{font-style:normal;font-size:var(--fs-14);font-weight:600;color:var(--main)}

/* ── 서브 페이지 ── */
.page-head{background:var(--panel);padding:var(--sp-96) 0 0}
.crumb{display:flex;gap:var(--sp-8);font-size:var(--fs-14);color:var(--text-3)}
.crumb a:hover{color:var(--main)}
.crumb li+li::before{content:"/";margin-right:var(--sp-8);color:var(--panel-2)}
.page-head h1{margin-top:var(--sp-16);font-size:var(--fs-48);font-weight:600;letter-spacing:-0.025em;line-height:1.25;color:var(--main)}
.page-head .desc{margin-top:var(--sp-16);font-size:var(--fs-18);color:var(--text-2);max-width:720px}
.tabs{display:flex;gap:var(--sp-32);margin-top:var(--sp-64);overflow-x:auto;scrollbar-width:none}
.tabs a{flex:none;padding:var(--sp-16) 0;font-size:var(--fs-16);color:var(--text-2);border-bottom:2px solid transparent;transition:color var(--dur-ui) var(--ease),border-color var(--dur-ui) var(--ease)}
.tabs a:hover{color:var(--main)}
.tabs a[aria-current="page"]{color:var(--main);font-weight:600;border-color:var(--main)}
.page-body{padding:var(--sp-96) 0 var(--pad-sec)}
.cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:var(--sp-96)}
.side-h{font-size:var(--fs-14);font-weight:600;color:var(--main);position:sticky;top:calc(var(--head-h) + var(--sp-32))}
.prose{max-width:760px;font-size:var(--fs-16);line-height:1.8}
.prose h2{font-size:var(--fs-24);font-weight:600;letter-spacing:-0.015em;color:var(--main);margin:var(--sp-64) 0 var(--sp-16);line-height:1.4}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:var(--fs-18);font-weight:600;margin:var(--sp-32) 0 var(--sp-8)}
.prose p+p{margin-top:var(--sp-16)}
.prose ol,.prose ul{margin-top:var(--sp-12);padding-left:var(--sp-24)}
.prose ol{list-style:decimal}
.prose ul{list-style:disc}
.prose li+li{margin-top:var(--sp-8)}
.prose .article{border-top:1px solid var(--line);padding-top:var(--sp-24);margin-top:var(--sp-24)}
.prose .article h3{margin-top:0;color:var(--main)}
.note{background:var(--panel);padding:var(--sp-24) var(--sp-32);font-size:var(--fs-16);margin-top:var(--sp-32)}
.note strong{color:var(--main)}

/* 상세 화면: 본문 + 오른쪽 고정 칸 */
.page-head.compact{padding-top:var(--sp-32)}
.page-head.compact .tabs{margin-top:var(--sp-24)}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-96);align-items:start}
.detail-side{position:sticky;top:calc(var(--head-h) + var(--sp-32))}
.detail-side.wide{width:100%}
.detail:has(.detail-side.wide){grid-template-columns:minmax(0,1fr) 420px}
.detail-main{min-width:0;max-width:760px}
.kicker-d{font-size:var(--fs-14);color:var(--accent);font-weight:600}
.detail-h{margin-top:var(--sp-12);font-size:var(--fs-40);font-weight:600;letter-spacing:-0.02em;line-height:1.3;color:var(--main);text-wrap:pretty}
.detail-en{margin-top:var(--sp-12);font-size:var(--fs-16);color:var(--text-3)}
.sub-h{margin:var(--sp-64) 0 var(--sp-16);font-size:var(--fs-20);font-weight:600;color:var(--main);padding-top:var(--sp-16);border-top:2px solid var(--main)}
.side-meta{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-12) var(--sp-20);font-size:var(--fs-14);border-top:2px solid var(--main);padding-top:var(--sp-20)}
.side-meta dt{color:var(--text-3)}
.side-btns{display:flex;flex-direction:column;gap:var(--sp-8);margin-top:var(--sp-32)}
.back{display:inline-block;margin-top:var(--sp-32);font-size:var(--fs-14);color:var(--text-2);transition:color var(--dur-ui) var(--ease)}
.back:hover{color:var(--main)}
.side-title{font-size:var(--fs-16);font-weight:600;color:var(--main);border-top:2px solid var(--main);padding-top:var(--sp-16);margin-top:var(--sp-40)}
.side-title:first-child{margin-top:0}
.perks{margin-top:var(--sp-12);font-size:var(--fs-16)}
.perks li{padding:var(--sp-8) 0;border-bottom:1px solid var(--line)}
.side-p{margin-top:var(--sp-12);font-size:var(--fs-14);color:var(--text-2)}
.detail-main .attach{margin-top:var(--sp-40)}
.detail-main .prev-next{margin-top:var(--sp-40)}
.detail-main .poster{margin:0}
.detail-side .poster{max-width:none;margin:0}
.btn.wide{min-width:240px}

/* 연혁 */
.timeline{border-left:2px solid var(--main);margin-left:var(--sp-8)}
.timeline li{position:relative;padding:0 0 var(--sp-48) var(--sp-40)}
.timeline li::before{content:"";position:absolute;left:-7px;top:10px;width:12px;height:12px;background:var(--bg);border:2px solid var(--main);border-radius:9999px}
.timeline .year{font-size:var(--fs-32);font-weight:600;color:var(--main);letter-spacing:-0.02em;line-height:1.2}
.timeline dl{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-8) var(--sp-24);margin-top:var(--sp-16);font-size:var(--fs-16)}
.timeline dt{color:var(--text-3)}

/* 조직도 */
.org-top{display:flex;flex-direction:column;align-items:center;gap:var(--sp-24)}
.org-box{background:var(--main);color:var(--on-main);padding:var(--sp-24) var(--sp-40);text-align:center;min-width:240px}
.org-box small{display:block;font-size:var(--fs-14);color:var(--on-main-2)}
.org-box strong{font-size:var(--fs-20);font-weight:600}
.org-box.lite{background:var(--white);color:var(--text);border:1px solid var(--line)}
.org-box.lite small{color:var(--text-3)}
.org-line{width:2px;height:var(--sp-32);background:var(--main)}
.org-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-32);margin-top:var(--sp-64)}
.org-card{border-top:2px solid var(--main);padding:var(--sp-20) 0 0}
.org-card h3{font-size:var(--fs-18);font-weight:600;color:var(--main)}
.org-card ul{margin-top:var(--sp-12);font-size:var(--fs-14);color:var(--text-2)}
.org-card li+li{margin-top:var(--sp-4)}
.people{margin-top:var(--sp-64);width:100%;border-collapse:collapse;font-size:var(--fs-16)}
.people th,.people td{padding-left:0}
.people th:nth-child(1){width:25%}.people th:nth-child(2){width:20%}
.people caption{text-align:left;font-size:var(--fs-24);font-weight:600;color:var(--main);padding-bottom:var(--sp-16)}

/* 표 */
.table{width:100%;border-collapse:collapse;font-size:var(--fs-16)}
.table th,.table td{padding:var(--sp-16) var(--sp-12);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table thead th{font-size:var(--fs-14);font-weight:600;color:var(--text-3);border-bottom:2px solid var(--main)}
.table td.num,.table th.num{text-align:center;width:72px;color:var(--text-3)}
.table td.date{width:140px;color:var(--text-3);font-size:var(--fs-14)}
.table a{transition:color var(--dur-ui) var(--ease)}
.table a:hover{color:var(--main);text-decoration:underline;text-underline-offset:4px}
.pin{display:inline-block;font-size:var(--fs-12);font-weight:600;color:var(--on-main);background:var(--main);padding:0 var(--sp-8);margin-right:var(--sp-8)}

/* 검색·필터 */
.search-bar{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:var(--sp-8)}
.field{display:flex;flex-direction:column;gap:var(--sp-8)}
.field label,.label{font-size:var(--fs-14);font-weight:600;color:var(--text)}
.field .hint{font-size:var(--fs-14);color:var(--text-3)}
.field .err{font-size:var(--fs-14);color:var(--danger);display:none}
.field.bad .err{display:block}
.field.bad input{border-color:var(--danger)}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=search],select,textarea{height:48px;padding:0 var(--sp-16);border:1px solid var(--line);background:var(--white);font-size:var(--fs-16);transition:border-color var(--dur-ui) var(--ease)}
textarea{height:auto;padding:var(--sp-12) var(--sp-16)}
input:hover,select:hover{border-color:var(--text-3)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--main);box-shadow:0 0 0 3px rgba(90,40,64,.12)}
input:disabled{background:var(--panel);color:var(--text-3)}
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-top:var(--sp-24)}
.chip{height:36px;padding:0 var(--sp-16);border:1px solid var(--line);background:var(--white);font-size:var(--fs-14);transition:all var(--dur-ui) var(--ease)}
.chip:hover{border-color:var(--main);color:var(--main)}
.chip[aria-pressed="true"]{background:var(--main);border-color:var(--main);color:var(--on-main)}
.result-meta{margin-top:var(--sp-48);font-size:var(--fs-14);color:var(--text-3);display:flex;justify-content:space-between}
.papers{border-top:2px solid var(--main);margin-top:var(--sp-16)}
.papers li{border-bottom:1px solid var(--line)}
.papers a{display:block;padding:var(--sp-24) 0;transition:padding var(--dur-ui) var(--ease),background var(--dur-ui) var(--ease)}
.papers a:hover{background:var(--white);padding-left:var(--sp-16);padding-right:var(--sp-16)}
.papers .vol{font-size:var(--fs-14);color:var(--accent);font-weight:600}
.papers h3{margin-top:var(--sp-4);font-size:var(--fs-20);font-weight:600;color:var(--main);letter-spacing:-0.015em;line-height:1.4}
.papers .by{margin-top:var(--sp-4);font-size:var(--fs-14);color:var(--text-2)}
.kw{display:flex;flex-wrap:wrap;gap:var(--sp-8);margin-top:var(--sp-12)}
.kw span{font-size:var(--fs-12);color:var(--text-2);background:var(--panel);padding:var(--sp-4) var(--sp-8)}
.empty{display:none;padding:var(--sp-64) 0;text-align:center;color:var(--text-3)}
.empty.on{display:block}

/* 논문 상세 */
.paper-meta{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-12) var(--sp-32);font-size:var(--fs-16);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--sp-24) 0;margin-top:var(--sp-32)}
.paper-meta dt{color:var(--text-3)}
.pdf-view{margin-top:0;background:var(--panel-2);aspect-ratio:210/297;max-height:900px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-16);color:var(--text-2);font-size:var(--fs-16)}
.pdf-page{width:62%;aspect-ratio:210/297;background:var(--white);box-shadow:var(--shadow);padding:var(--sp-40) var(--sp-32);font-size:var(--fs-12);color:var(--text-2);line-height:1.8;overflow:hidden}
.pdf-page b{display:block;font-size:var(--fs-16);color:var(--text);margin-bottom:var(--sp-16);line-height:1.4}
.btns{display:flex;flex-wrap:wrap;gap:var(--sp-12);margin-top:var(--sp-32)}

/* 공지 상세 */
.post-head{border-top:2px solid var(--main);border-bottom:1px solid var(--line);padding:var(--sp-24) 0}
.post-head h2{font-size:var(--fs-24);font-weight:600;color:var(--main);letter-spacing:-0.015em;line-height:1.4}
.post-head p{margin-top:var(--sp-8);font-size:var(--fs-14);color:var(--text-3)}
.post-body{padding:var(--sp-48) 0}
.poster{max-width:520px;aspect-ratio:1/1.414;background:var(--main);color:var(--on-main);padding:var(--sp-48) var(--sp-40);display:flex;flex-direction:column;justify-content:space-between;margin-bottom:var(--sp-48)}
.poster small{font-size:var(--fs-14);color:var(--on-main-2)}
.poster strong{font-size:var(--fs-40);font-weight:600;letter-spacing:-0.02em;line-height:1.25}
.poster p{font-size:var(--fs-18);color:var(--on-main-2)}
.poster dl{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-4) var(--sp-16);font-size:var(--fs-14);border-top:1px solid var(--line-on-main);padding-top:var(--sp-16)}
.attach{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-16);padding:var(--sp-16) var(--sp-24);background:var(--panel);font-size:var(--fs-14)}
.attach a{font-weight:600;color:var(--main)}
.prev-next{border-top:1px solid var(--line)}
.prev-next a{display:grid;grid-template-columns:80px minmax(0,1fr);padding:var(--sp-16) 0;border-bottom:1px solid var(--line);font-size:var(--fs-16)}
.prev-next a span{color:var(--text-3);font-size:var(--fs-14)}
.prev-next a:hover strong{color:var(--main)}
.prev-next strong{font-weight:400}

/* 갤러리 목록·앨범 */
.albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-48) var(--sp-24)}
.album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-24)}
.album figure:first-child{grid-column:span 2;grid-row:span 2}
.album figure:first-child img{height:100%;aspect-ratio:auto}
.album figcaption{margin-top:var(--sp-8);font-size:var(--fs-14);color:var(--text-2)}

/* 폼 (회원) */
.form-wrap{max-width:640px}
.form-wrap.narrow{max-width:440px;margin:0 auto}
.form-sec{border-top:2px solid var(--main);padding-top:var(--sp-24);margin-top:var(--sp-48)}
.form-sec:first-child{margin-top:0}
.form-sec h2{font-size:var(--fs-20);font-weight:600;color:var(--main);margin-bottom:var(--sp-24)}
.form-grid{display:grid;gap:var(--sp-24)}
.form-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.req{color:var(--danger);margin-left:var(--sp-4)}
.radios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-8)}
.radio{position:relative}
.radio input{position:absolute;opacity:0}
.radio span{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-16);border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:var(--fs-16);font-weight:600;transition:border-color var(--dur-ui) var(--ease),background var(--dur-ui) var(--ease)}
.radio span small{font-size:var(--fs-14);font-weight:400;color:var(--text-3)}
.radio input:checked+span{border-color:var(--main);background:var(--panel);box-shadow:inset 0 0 0 1px var(--main)}
.radio input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.check{display:flex;gap:var(--sp-12);align-items:flex-start;font-size:var(--fs-16);padding:var(--sp-12) 0}
.check input{width:20px;height:20px;accent-color:var(--main);margin-top:var(--sp-4);flex:none}
.check a{color:var(--main);text-decoration:underline;text-underline-offset:4px;margin-left:auto;font-size:var(--fs-14);flex:none}
.account-box{background:var(--panel);padding:var(--sp-24) var(--sp-32);margin-top:var(--sp-24)}
.account-box dl{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-8) var(--sp-32);font-size:var(--fs-16)}
.account-box dt{color:var(--text-3)}
.account-box dd{font-weight:600}
.account-box p{margin-top:var(--sp-12);font-size:var(--fs-14);color:var(--text-2)}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-16);margin-top:var(--sp-24);font-size:var(--fs-14);color:var(--text-2)}
.form-foot a{color:var(--main);font-weight:600}
.toast{position:fixed;left:50%;bottom:var(--sp-32);transform:translate(-50%,var(--sp-16));background:var(--text);color:var(--white);padding:var(--sp-12) var(--sp-24);font-size:var(--fs-14);opacity:0;transition:opacity var(--dur-ui) var(--ease),transform var(--dur-ui) var(--ease);z-index:var(--z-toast)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* 푸터 */
footer{background:var(--main);color:var(--on-main-2);padding:var(--sp-72) 0 var(--sp-48);font-size:var(--fs-14)}
footer .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-48)}
footer strong{display:block;color:var(--on-main);font-size:var(--fs-18);font-weight:600;margin-bottom:var(--sp-12)}
footer address{font-style:normal;line-height:1.8}
footer .links{display:flex;gap:var(--sp-24);align-items:flex-start}
footer .links a{color:var(--on-main)}
footer .links a:hover{text-decoration:underline;text-underline-offset:4px}
footer small{grid-column:1/-1;font-size:var(--fs-12);border-top:1px solid var(--line-on-main);padding-top:var(--sp-16)}

/* ── 모바일 ── */
@media (max-width:1100px){
  :root{--pad-x:var(--sp-24);--pad-sec:var(--sp-96);--head-h:60px}
  .gnb,.util{display:none}
  .menu-btn{display:grid}
  .mega{position:fixed;top:var(--head-h);bottom:0;overflow-y:auto}
  .mega-in{grid-template-columns:minmax(0,1fr);gap:var(--sp-24);padding:var(--sp-24) var(--pad-x) var(--sp-48)}
  .mega-intro{display:none}
  .mega-col ul{display:flex;flex-wrap:wrap;gap:0 var(--sp-24)}
  .mega-util{display:flex!important;gap:var(--sp-12)}
  .mega-util a{flex:1}
  .scrim{display:none}
  .sec-h,.cover strong,.event-body h2,.about .statement{font-size:var(--fs-32)}
  .sec-top{margin-bottom:var(--sp-32)}
  .hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-l{padding:var(--sp-64) var(--pad-x) var(--sp-48);gap:var(--sp-40)}
  h1.big{font-size:var(--fs-40)}
  .en{font-size:var(--fs-16)}
  .intro{font-size:var(--fs-18);margin-top:var(--sp-24)}
  .hero-r{padding:var(--sp-48) var(--pad-x)}
  .notice a{flex-direction:column;gap:var(--sp-4)}
  .about .wrap,.journal .wrap,.cols{grid-template-columns:minmax(0,1fr);gap:var(--sp-48)}
  .about-photo{aspect-ratio:16/10}
  .fields-sentence{font-size:var(--fs-32);line-height:1.5}
  .fields-sentence a{text-underline-offset:6px}
  .cover{aspect-ratio:auto;min-height:320px;max-width:none}
  .facts dt{padding-right:var(--sp-24)}
  .steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .event{grid-template-columns:minmax(0,1fr)}
  .event-photo{min-height:280px}
  .event-body{padding:var(--sp-64) var(--pad-x)}
  .photos{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .photos li:first-child{grid-column:span 2;grid-row:auto}
  .photos li:first-child .ph-wrap{position:static;min-height:0}
  .photos li:first-child img{position:static;aspect-ratio:4/3;height:auto}
  .books a{grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4) var(--sp-16)}
  .books time{grid-column:1/-1}
  .page-head{padding-top:var(--sp-64)}
  .page-head h1{font-size:var(--fs-32)}
  .tabs{margin-top:var(--sp-40);gap:var(--sp-24)}
  .page-body{padding:var(--sp-64) 0 var(--pad-sec)}
  .side-h{position:static}
  .org-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .search-bar{grid-template-columns:minmax(0,1fr);padding:var(--sp-16)}
  .albums{grid-template-columns:minmax(0,1fr)}
  .form-grid.two,.radios{grid-template-columns:minmax(0,1fr)}
  .table td.date{width:auto}
  .table .hide-m{display:none}
  .detail,.detail:has(.detail-side.wide){grid-template-columns:minmax(0,1fr);gap:var(--sp-48)}
  .detail-side{position:static}
  .detail-h{font-size:var(--fs-32)}
  .btn.wide{width:100%;min-width:0}
  .btns .btn{flex:1 1 auto}
  .fields-sentence sup{display:none}
  .tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);padding-right:var(--sp-24)}
  .dates p:not(.dates-h){font-size:var(--fs-16)}
  .pdf-page{width:86%}
  footer .wrap{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:1101px){.mega-util{display:none}}

/* ── v4: 9쪽 구조 ── */
/* 하위 메뉴 막대 — 쪽 머리 아래 붙어 있다가 스크롤하면 헤더 밑에 고정 */
.tabs-bar{position:sticky;top:var(--head-h);z-index:var(--z-bar);background:var(--panel);border-bottom:1px solid var(--line)}
.tabs-bar .tabs{margin-top:0}
.page-head{padding-bottom:var(--sp-48)}
.page-head.compact{padding:var(--sp-24) 0 var(--sp-16)}
.part{scroll-margin-top:calc(var(--head-h) + 64px)}
.part+.part{margin-top:var(--sp-144);padding-top:var(--sp-48);border-top:1px solid var(--line)}
.part-h{font-size:var(--fs-32);font-weight:600;letter-spacing:-0.02em;color:var(--main);margin-bottom:var(--sp-48)}
/* 정관 접었다 펴기 */
.acc{border-top:1px solid var(--line)}
.acc:last-of-type{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:var(--sp-20) 0;font-size:var(--fs-20);font-weight:600;color:var(--main)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:var(--fs-24);font-weight:400;transition:transform var(--dur-ui) var(--ease)}
.acc[open] summary::after{transform:rotate(45deg)}
.acc-body{padding-bottom:var(--sp-24)}
.acc-body .article:first-child{border-top:0;margin-top:0;padding-top:0}
.prose .acc+.note{margin-top:var(--sp-32)}
/* 게시판 분류 */
.filter{display:flex;gap:var(--sp-8)}
/* 갤러리 앨범 = 버튼 */
.album-btn{display:block;text-align:left;width:100%}
.album-btn:hover .ph-wrap img{transform:scale(1.04)}
/* 모달 */
.dlg{border:0;padding:var(--sp-40);width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--white);color:var(--text);box-shadow:var(--shadow);margin:auto}
.dlg.wide{width:min(760px,calc(100vw - 32px))}
.dlg::backdrop{background:rgba(40,20,30,.45)}
.dlg[open]{animation:dlg-in .25s var(--ease-out)}
@keyframes dlg-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.dlg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-24);padding-bottom:var(--sp-16);border-bottom:2px solid var(--main)}
.dlg-head h2{font-size:var(--fs-24);font-weight:600;color:var(--main)}
.dlg-x{width:40px;height:40px;font-size:var(--fs-24);color:var(--text-2);transition:color var(--dur-ui) var(--ease)}
.dlg-x:hover{color:var(--main)}
.dlg-meta{font-size:var(--fs-14);color:var(--text-3);margin-bottom:var(--sp-24)}
.dlg-body{max-width:none}
.dlg .form-foot{margin-top:var(--sp-24)}
/* 사진 넘겨보기 */
.lightbox{border:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(28,14,22,.94);color:var(--on-main)}
.lightbox::backdrop{background:transparent}
.lightbox[open]{display:flex;flex-direction:column;animation:dlg-in .25s var(--ease-out)}
.lb-top{display:flex;align-items:center;gap:var(--sp-24);padding:var(--sp-16) var(--pad-x)}
.lb-title{font-size:var(--fs-18);font-weight:600;flex:1}
.lb-count{font-size:var(--fs-14);color:var(--on-main-2)}
.lightbox .dlg-x{color:var(--on-main)}
.lb-fig{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-12);padding:0 var(--sp-96) var(--sp-32);min-height:0}
.lb-fig img{max-width:100%;max-height:calc(100vh - 160px);object-fit:contain}
.lb-fig figcaption{font-size:var(--fs-14);color:var(--on-main-2)}
.lb-nav{position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;font-size:var(--fs-24);color:var(--on-main);border:1px solid var(--line-on-main);transition:background var(--dur-ui) var(--ease)}
.lb-nav:hover{background:rgba(255,255,255,.12)}
.lb-nav.prev{left:var(--sp-24)}.lb-nav.next{right:var(--sp-24)}
@media (max-width:1100px){
  .part+.part{margin-top:var(--sp-96)}
  .part-h{font-size:var(--fs-24);margin-bottom:var(--sp-32)}
  .dlg{padding:var(--sp-24)}
  .lb-fig{padding:0 var(--sp-16) var(--sp-96)}
  .lb-nav{top:auto;bottom:var(--sp-24);margin-top:0}
}

/* v5 (2026-10-03): 메인 소개 한 섹션 + 자료집·갤러리 2열 */
.intro .fields-sentence{max-width:1100px}
.intro-meta{margin-top:var(--sp-64);padding-top:var(--sp-24);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-32)}
.intro-sub{font-size:var(--fs-16);font-weight:600;color:var(--text)}
.intro-note{margin-top:var(--sp-4);font-size:var(--fs-14);color:var(--text-3)}
.intro-links{display:flex;gap:var(--sp-32)}
.intro-links a{display:inline-flex;gap:var(--sp-8);font-size:var(--fs-16);font-weight:600;color:var(--main)}
.intro-links a::after{content:"→";transition:transform var(--dur-ui) var(--ease)}
.intro-links a:hover::after{transform:translateX(var(--sp-4))}
.boards{background:var(--panel)}
.boards .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-96);align-items:start}
.boards .books a{grid-template-columns:96px minmax(0,1fr) auto;gap:var(--sp-16)}
.boards .books a:hover{background:var(--bg)}
.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-24)}
.thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ease-out)}
@media (max-width:1100px){
  .intro-meta{flex-direction:column;margin-top:var(--sp-40);gap:var(--sp-16)}
  .intro-links{gap:var(--sp-24)}
  .boards .wrap{grid-template-columns:minmax(0,1fr);gap:var(--sp-64)}
  .boards .books a{grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4) var(--sp-16)}
  .thumbs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .thumbs li:first-child{grid-column:span 2}
}

/* ── v6 반응형 점검 (2026-10-09, PSPD 「모바일 줄바꿈·햄버거·섹션 이동 위치」) ── */
/* 줄바꿈: 제목은 줄 길이를 고르게, 본문은 마지막 줄에 한두 글자만 남지 않게 */
h1,h2,h3,h4,.statement,.theme,.lead,.desc,.detail-h,.cover strong,.hero-l .en,.part-h{text-wrap:balance}
p,li,dd,td,figcaption,.cap,.hint,label{text-wrap:pretty}
/* 입력칸: 기본 글자 수(size=20) 때문에 좁은 화면에서 칸 밖으로 나가던 것 */
.field input,.field select,.field textarea{width:100%;min-width:0}
/* 햄버거 → X: 세 줄이 가운데로 모인 뒤 돌아간다(닫을 때는 거꾸로) */
.menu-btn span{position:relative;box-shadow:none;transform:none;transition:background-color 0s linear .18s}
.menu-btn span::before,.menu-btn span::after{content:"";display:block;position:absolute;left:0;width:20px;height:2px;background:var(--main);transform:none;transition:top .18s var(--ease) .18s,transform .18s var(--ease)}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{box-shadow:none;transform:none;background-color:transparent;transition-delay:0s}
.menu-btn[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);transition:top .18s var(--ease),transform .18s var(--ease) .18s}
.menu-btn[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);transition:top .18s var(--ease),transform .18s var(--ease) .18s}
/* 하위 탭: 앞쪽이 가려졌을 때 왼쪽도 흐리게 */
.tabs.at-mid{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.tabs.at-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px);mask-image:linear-gradient(90deg,transparent,#000 24px)}
.tabs.at-start-end{-webkit-mask-image:none;mask-image:none}
/* 태블릿(601~1100): 한 줄 한 칸으로 늘어지던 것 */
@media (min-width:601px) and (max-width:1100px){
  .cover{max-width:480px}
  .thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .thumbs li:first-child{grid-column:auto}
  .event-photo{min-height:0;aspect-ratio:16/9}
}
/* 휴대폰(~600) */
@media (max-width:600px){
  .fields-sentence{font-size:var(--fs-24);line-height:1.6}
  .fields-sentence a{text-underline-offset:5px}
  .fields-sentence a sup{display:none}
  .timeline li{padding-left:var(--sp-24)}
  .timeline dl{grid-template-columns:44px minmax(0,1fr);gap:var(--sp-8) var(--sp-12)}
  .event-photo{min-height:0;aspect-ratio:4/3}
  .event-body .theme{font-size:var(--fs-18)}
  /* 게시판: 번호 · 제목 · 날짜를 표 대신 두 줄로 */
  table:has(#board) thead{display:none}
  #board tr{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;padding:var(--sp-16) 0;border-bottom:1px solid var(--line)}
  #board td{border:0;padding:0;width:auto}
  #board td.num{grid-row:span 2;text-align:left}
  #board td.date{grid-column:2;margin-top:var(--sp-4);font-size:var(--fs-14)}
}

/* 섹션 이동 위치: 헤더(+1px 선) + 하위 탭 막대 + 여백 아래에 섹션 제목이 오게. 둘째 섹션부터는 위쪽 선·안쪽 여백만큼 빼 준다 */
:root{--bar-h:60px;--jump-gap:40px}
.part{--part-pad:0px;scroll-margin-top:calc(var(--head-h) + 1px + var(--bar-h) + var(--jump-gap) - var(--part-pad))}
.part+.part{--part-pad:calc(var(--sp-48) + 1px)}
@media (max-width:1100px){:root{--jump-gap:24px}}
/* 모바일 메뉴: 항목이 줄 끝에서 하나만 넘어가던 것 → 두 칸 격자 */
@media (max-width:1100px){.mega-col ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-24)}}
@media (min-width:601px) and (max-width:1100px){.mega-col ul{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* 갤러리: 코멘트리 버전 2(site_v4) 모양으로 되돌림 — 큰 사진 1장 + 작은 사진 4장, 자료집은 따로 (PSPD 2026-10-09 「갤러리는 v2가 좋았었어」).
   태블릿은 한 줄 한 칸으로 늘어지지 않게 PC 와 같은 격자 */
@media (min-width:601px) and (max-width:1100px){
  .photos{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
  .photos li:first-child{grid-column:auto;grid-row:span 2}
  .photos li:first-child .ph-wrap{position:relative;min-height:240px}
  .photos li:first-child img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
}

/* ── 모바일 정리 (2026-10-09, PSPD 휴대폰 화면 「깔끔치 않다」) ── */
/* 푸터 주소: 구절 중간에서 꺾이지 않게 덩어리째 넘긴다 */
footer address span{white-space:nowrap;margin-right:var(--sp-12)}
@media (max-width:1100px){
  /* 메인 공지: 분류·날짜를 제목 위 한 줄로(분류 칸 56px 때문에 날짜만 왼쪽 끝에 붙던 것) */
  .notice a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--sp-8);row-gap:var(--sp-4);padding:var(--sp-16) 0}
  .notice a>span{display:contents}
  .notice .tag{grid-row:1;grid-column:1;width:auto;font-size:var(--fs-14)}
  .notice .tag::after{content:"·";margin-left:var(--sp-8);color:var(--on-main-2)}
  .notice time{grid-row:1;grid-column:2}
  .notice .uline{grid-row:2;grid-column:1/-1}
  /* 다가오는 일정: 날짜 칸을 글자 폭만큼 */
  .dates{margin-top:var(--sp-40)}
  .dates time{width:auto;min-width:5.5em}
  .dates p:not(.dates-h){gap:var(--sp-16)}
}
@media (max-width:600px){
  /* 섹션 위아래 여백이 화면에 비해 컸다(96px) */
  :root{--pad-sec:var(--sp-72)}
  .part+.part{margin-top:var(--sp-72)}
  /* 학술지 표지: 빈 칸이 크던 것 */
  .cover{min-height:0;padding:var(--sp-24);gap:var(--sp-32)}
  .cover strong{font-size:var(--fs-32)}
}
.notice .uline{text-wrap:balance}
