:root{--bg:#fff;--ink:#111;--ink2:#444;--gray:#8a8a8a;--line:#111;--soft:#f3f3f1;
--latin:"Jost","Pretendard Variable",Pretendard,sans-serif;
--sans:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.75;
word-break:keep-all;overflow-wrap:break-word}
body.en{font-family:var(--latin)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
/* 머리 */
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 24px 4px;
border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}
.top nav{display:flex;gap:22px;font-size:clamp(15px,1.5vw,22px)}
.top nav a:hover,.top nav a.on{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.logo{font-family:"Jost",sans-serif;font-weight:500;font-size:clamp(34px,5.6vw,78px);letter-spacing:.05em;line-height:1.15;white-space:nowrap}
.top .right{justify-self:end;display:flex;align-items:center;gap:18px;font-size:clamp(14px,1.3vw,19px)}
.lang{display:inline-flex;align-items:center;gap:8px}
.lang svg{width:24px;height:16px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.lang:hover span{text-decoration:underline;text-underline-offset:5px}
/* 포스터 줄 */
.rail{position:relative;border-bottom:1px solid var(--line)}
.panels{display:grid;grid-auto-flow:column;grid-auto-columns:25%;overflow-x:auto;scroll-snap-type:x mandatory;
scrollbar-width:none}
.panels::-webkit-scrollbar{display:none}
.panel{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;scroll-snap-align:start;background:#faf8f2;
border-right:1px solid var(--line)}
.panel img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.panel.fig img{object-fit:contain;padding:12% 6%}
.panel:hover img{transform:scale(1.03)}
.panel .cap{position:absolute;left:0;right:0;bottom:0;padding:90px 18px 16px;color:#fff;font-size:clamp(14px,1.15vw,17px);font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.3);
line-height:1.45;background:linear-gradient(transparent,rgba(0,0,0,.55) 45%,rgba(0,0,0,.85))}
.panel .cap b{font-weight:500;opacity:.8;margin-right:4px}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:rgba(255,255,255,.88);
font-size:22px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;color:#111}
.arrow.l{left:10px}.arrow.r{right:10px}
.arrow:hover{background:#fff}
/* 목록 */
.index{padding:56px 24px 20px;max-width:1400px;margin:0 auto}
.index h2{font-family:var(--latin);font-weight:400;font-size:clamp(28px,3.4vw,52px);margin:0 0 18px;letter-spacing:.01em}
.row{display:grid;grid-template-columns:90px minmax(0,1fr) 260px 110px;gap:20px;align-items:baseline;padding:18px 0;
border-top:1px solid var(--line);font-size:clamp(16px,1.4vw,21px)}
.row:last-child{border-bottom:1px solid var(--line)}
.row .no,.row .j,.row .d{color:var(--gray);font-size:.78em}
.row .t{font-weight:600}
.row:hover .t{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.row .d{text-align:right}
/* 기사 */
.article{max-width:740px;margin:0 auto;padding:56px 20px 10px}
.kicker{font-size:13px;letter-spacing:.06em;color:var(--gray)}
.article h1{font-weight:800;font-size:clamp(30px,4.6vw,48px);line-height:1.28;letter-spacing:-.02em;margin:12px 0 22px}
body.en .article h1{font-family:"Jost",sans-serif;font-weight:500;letter-spacing:0;line-height:1.2}
.paper{border-top:1px solid var(--line);border-bottom:1px solid #ddd;padding:14px 0;margin:0 0 34px;display:flex;
justify-content:space-between;gap:16px;font-size:14px;color:var(--gray);flex-wrap:wrap}
.paper .ttl{font-style:italic;color:var(--ink)}
.fig{margin:0 0 40px;background:#faf8f2}
.fig img{width:100%;max-width:560px;margin:0 auto}
.sec{margin:0 0 34px}
.sec h2{font-weight:700;font-size:22px;margin:0 0 10px;display:flex;align-items:baseline;gap:12px;letter-spacing:-.01em}
body.en .sec h2{font-family:"Jost",sans-serif;font-weight:500;letter-spacing:0}
.sec h2 .n{font-family:"Jost",sans-serif;font-weight:400;font-size:14px;color:var(--gray)}
.sec p{margin:0;font-size:18px;line-height:1.9}
.sec.limits{background:var(--soft);padding:22px 24px}
.sec.limits p{font-size:16.5px}
.refs{font-size:13.5px;color:var(--gray);border-top:1px solid var(--line);padding-top:18px;margin-top:40px;line-height:1.7}
.refs h4{margin:0 0 6px;font-size:13px;color:var(--ink);font-weight:600}
.refs ul{margin:0 0 12px;padding-left:18px}
.refs a{word-break:break-all;text-decoration:underline;text-decoration-color:#ccc}
.share{margin:24px 0 0}
.share a{font-size:15px;border-bottom:1px solid var(--ink)}
.more{margin-top:70px;border-top:1px solid var(--line)}
.more h2{font-family:var(--latin);font-weight:400;font-size:clamp(22px,2.4vw,34px);margin:0;padding:18px 24px;border-bottom:1px solid var(--line)}
.more .panels{grid-auto-columns:33.333%}
/* 일반 쪽 */
.page{max-width:740px;margin:0 auto;padding:56px 20px}
.page h1{font-weight:800;font-size:36px;margin:0 0 22px;letter-spacing:-.02em}
body.en .page h1,body.en .page h2{font-family:"Jost",sans-serif;font-weight:500}
.page h2{font-size:21px;margin:32px 0 8px}
.page a{text-decoration:underline}
/* 꼬리 */
.foot{background:#000;color:#cfcfcf;margin-top:80px;padding:40px 56px 48px;font-size:13px;line-height:1.8;
display:grid;grid-template-columns:auto 1fr auto;gap:20px 48px;align-items:start}
.foot .logo-s{font-family:"Jost",sans-serif;font-weight:600;color:#fff;font-size:17px;letter-spacing:.04em}
.foot nav{display:flex;gap:10px;flex-wrap:wrap;color:#fff}
.foot nav span{opacity:.5}
.foot .c{text-align:right;align-self:end}
@media (max-width:900px){.panels{grid-auto-columns:42%}.more .panels{grid-auto-columns:42%}
.row{grid-template-columns:60px minmax(0,1fr) 90px}.row .j{display:none}}
@media (max-width:640px){.top{grid-template-columns:1fr auto;padding:8px 16px;row-gap:2px}
.top .logo{grid-column:1;grid-row:1;justify-self:start;font-size:30px}.top .right{grid-column:2;grid-row:1}
.top nav{grid-column:1/3;grid-row:2;gap:18px;font-size:15px;padding-bottom:4px}
.panels,.more .panels{grid-auto-columns:78%}.arrow{display:none}
.index{padding:40px 16px 10px}.row{grid-template-columns:44px minmax(0,1fr);gap:10px}.row .d{display:none}
.article{padding-top:34px}.sec p{font-size:17px}.foot{grid-template-columns:1fr;padding:32px 20px 40px}.foot .c{text-align:left}}
