/* 하찮은연구소 누리집 v5 — 「정성스럽게 만든 하찮음」
   종이·먹·금 한 방울 · 본명조 큰 글자 · 프리텐다드 작은 글자 · 연필 자국 하나 */
:root{
  --paper:#f3eee3; --paper-2:#ebe4d5; --paper-3:#e2d9c6; --card:#f8f5ee;
  --ink:#24211d; --ink-2:#4f4a42; --mute:#857e71; --rule:#d5ccb9; --rule-2:#c7bca5;
  --gold:#a27a33; --gold-2:#c49a4e; --red:#b4452d; --pencil:#77705f;
  --serif:"Noto Serif KR","Nanum Myeongjo",serif; --sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;
  --latin:"Cormorant Garamond","Noto Serif KR",serif; --hand:"Nanum Pen Script",cursive;
  --gut:clamp(20px,4vw,56px); --max:1320px; --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;
  word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* 종이 결 — 아주 옅은 입자 */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.33;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .32 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
::selection{background:#e8d6ad}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:900px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:8px 14px;z-index:200}
.skip:focus{left:8px;top:8px}
.num{font-family:var(--latin);font-style:italic;font-weight:500;letter-spacing:.01em}
sup{font-size:.62em;line-height:0;color:var(--gold)}

/* ── 맨 위 띠(누리집 안내) ── */
.gov{background:var(--paper-2);border-bottom:1px solid var(--rule);font-size:12px;color:var(--ink-2);letter-spacing:.01em}
.gov .wrap{display:flex;align-items:center;gap:8px;min-height:32px}
.gov-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);flex:none}
.gov-r{margin-left:auto;color:var(--mute)}

/* ── 머리 ── */
.hd{position:sticky;top:0;z-index:50;background:rgba(243,238,227,.9);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid transparent;transition:border-color .3s}
.hd.scrolled{border-bottom-color:var(--rule)}
.hd-in{display:flex;align-items:center;height:72px;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.01em}
.brand img{width:34px;height:34px;border-radius:50%}
.nav{margin-left:auto;display:flex;gap:30px;font-size:14.5px;letter-spacing:.01em}
.nav a{position:relative;padding:6px 0;color:var(--ink-2);transition:color .2s}
.nav a:hover,.nav a[aria-current]{color:var(--ink)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.menu-btn{display:none;margin-left:auto;font:500 14px var(--sans);background:none;border:1px solid var(--rule-2);border-radius:999px;padding:7px 16px;color:var(--ink);cursor:pointer}
.sheet{position:fixed;inset:0;top:104px;z-index:49;background:var(--paper);padding:28px var(--gut) 40px;overflow:auto}
.sheet a{display:flex;align-items:baseline;gap:16px;font-family:var(--serif);font-size:30px;font-weight:400;padding:12px 0;border-bottom:1px solid var(--rule)}
.sheet .n{font-family:var(--latin);font-style:italic;font-size:16px;color:var(--gold);width:28px}
.sheet-sub{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px}
.sheet-sub a{font-family:var(--sans);font-size:15px;border:0;padding:0;color:var(--ink-2)}

/* ── 공통 글자 ── */
.eyebrow{display:flex;align-items:baseline;gap:12px;margin:0 0 18px;font-size:12.5px;letter-spacing:.08em;color:var(--ink-2)}
.eyebrow .num{font-size:16px;letter-spacing:0;color:var(--gold)}
.display{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6vw,96px);line-height:1.16;letter-spacing:-.035em;margin:0}
.lk{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:500;padding:4px 0;border-bottom:1px solid var(--ink);transition:gap .3s var(--ease),color .2s}
.lk::after{content:"→";font-family:var(--latin);font-size:17px;line-height:1}
.lk:hover{gap:16px;color:var(--gold)}
.foot-note{font-size:12.5px;color:var(--mute);margin:14px 0 0}
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;color:var(--mute);margin:0 0 26px}
.crumb a:hover{color:var(--ink)}
.crumb > *:not(:last-child)::after{content:"/";margin-left:6px;color:var(--rule-2)}

/* 연필 밑줄·동그라미 */
.hl{position:relative;white-space:nowrap;display:inline-block}
.pc{position:absolute;pointer-events:none;overflow:visible}
.pc path{fill:none;stroke:var(--gold-2);stroke-width:2.6;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.3s .9s var(--ease) forwards}
.pc-u{left:-2%;right:-2%;bottom:-.06em;width:104%;height:.26em}
.pc-o{left:-10%;top:-18%;width:120%;height:136%}
@keyframes draw{to{stroke-dashoffset:0}}

/* ── 첫 화면 ── */
.hero{position:relative;background:#1d1a16;color:#f6f1e6;overflow:hidden}
.hero-pic img{width:100%;height:min(86vh,940px);min-height:560px;object-fit:cover;object-position:50% 46%;transform:scale(1.06);animation:heroIn 2.4s var(--ease) forwards;opacity:0}
@keyframes heroIn{to{transform:scale(1);opacity:1}}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,17,13,0) 38%,rgba(20,17,13,.55) 74%,rgba(20,17,13,.82) 100%),linear-gradient(90deg,rgba(20,17,13,.35),rgba(20,17,13,0) 55%)}
.hero-over{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:clamp(36px,6vh,72px)}
.hero-eb{color:rgba(246,241,230,.78);opacity:0;animation:up 1s 1s var(--ease) forwards}
.hero-eb .num{color:var(--gold-2)}
.hero-h{max-width:16em;text-shadow:0 2px 30px rgba(0,0,0,.25);opacity:0;animation:up 1.2s .6s var(--ease) forwards}
.hero-h .pc path{stroke:var(--gold-2);animation-delay:1.8s}
.hero-sub{font-family:var(--serif);font-size:clamp(17px,1.5vw,21px);margin:22px 0 0;color:rgba(246,241,230,.86);opacity:0;animation:up 1s 1.25s var(--ease) forwards}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* 작품 표지(미술관 캡션) */
.label-sec{border-bottom:1px solid var(--rule)}
.label-in{display:grid;grid-template-columns:minmax(220px,3fr) 7fr;gap:16px 48px;padding-top:26px;padding-bottom:34px;align-items:start}
.label-l .pl-no{margin:0 0 6px}
.label-t{font-family:var(--serif);font-size:17px;margin:0}
.label-m{font-size:12.5px;color:var(--mute);margin:4px 0 0}
.label-dl{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0;border-left:1px solid var(--rule)}
.label-dl div{padding:2px 18px;border-right:1px solid var(--rule)}
.label-dl div:last-child{border-right:0}
.label-dl dt{font-size:11.5px;letter-spacing:.08em;color:var(--mute);margin-bottom:6px}
.label-dl dd{margin:0;font-family:var(--serif);font-size:15px;line-height:1.6}
.label-dl a{border-bottom:1px solid var(--rule-2)}
.label-fn{grid-column:2;font-size:12px;color:var(--mute);margin:0}
.label-fn a{border-bottom:1px solid var(--rule-2)}
.label-in .hero-links{grid-column:1/-1;margin:8px 0 0}
.hero-links{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:34px}

/* 도판 */
.plate{margin:0}
.pl-img{overflow:hidden;background:var(--paper-3)}
.pl-img img{width:100%;transition:transform 1.6s var(--ease)}
.plate:hover .pl-img img{transform:scale(1.015)}
.plate figcaption{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;margin-top:12px;font-size:12.5px;color:var(--mute);line-height:1.6}
.pl-no{font-family:var(--latin);font-style:italic;font-size:15px;color:var(--gold)}
.pl-t{color:var(--ink-2)}
.pl-tw{flex-basis:100%;font-family:var(--hand);font-size:21px;line-height:1.25;color:var(--pencil);margin-top:2px;transform:rotate(-.6deg);transform-origin:left}

/* ── 현황 장부 ── */
.ledger-sec{padding:clamp(56px,8vw,110px) 0 0}
.ledger{display:grid;grid-template-columns:1.2fr repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.ledger-h{margin:0;padding:22px 18px 22px 0;font-family:var(--serif);font-size:15px;display:flex;flex-direction:column;gap:4px}
.ledger-h span{font-family:var(--sans);font-size:12px;color:var(--mute)}
.lg{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;padding:20px 18px;border-left:1px solid var(--rule)}
.lg-n{font-family:var(--latin);font-size:clamp(44px,4.6vw,68px);line-height:1;font-weight:400;letter-spacing:-.02em}
.lg-u{font-family:var(--serif);font-size:15px;color:var(--ink-2)}
.lg-l{flex-basis:100%;font-size:13px;color:var(--ink-2);margin-top:8px}

/* ── 설립 취지 한 줄 ── */
.stmt{padding:clamp(90px,13vw,190px) 0;text-align:center}
.stmt .eyebrow{justify-content:center}
.stmt-q{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.4vw,48px);line-height:1.55;letter-spacing:-.025em;margin:0 auto;max-width:18em}
.stmt-src{font-size:13.5px;color:var(--mute);margin:30px 0 0}
.stmt-src a{border-bottom:1px solid var(--rule-2)}

/* ── 섹션 머리 ── */
.sh{margin:0 0 clamp(30px,4vw,54px)}
.sh-no{display:flex;align-items:baseline;gap:12px;font-size:12.5px;letter-spacing:.08em;color:var(--ink-2);margin:0 0 14px}
.sh-no .num{font-size:16px;letter-spacing:0;color:var(--gold)}
.sh-t{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.1vw,44px);line-height:1.3;letter-spacing:-.025em;margin:0}
.sh-lead{font-size:14.5px;color:var(--ink-2);margin:16px 0 0;max-width:34em}

/* ── 문(연구소 안내) ── */
.doors{padding:0 0 clamp(80px,10vw,150px)}
.door-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.door{display:flex;flex-direction:column;border-top:1px solid var(--ink);padding-top:16px}
.door-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--paper-3);margin-bottom:18px}
.door-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s}
.door:hover .door-img img{transform:scale(1.04)}
.door-no{font-family:var(--latin);font-size:22px;color:var(--gold);line-height:1}
.door-t{font-family:var(--serif);font-size:24px;font-weight:400;margin:8px 0 6px;letter-spacing:-.02em}
.door-d{font-size:13.5px;color:var(--ink-2);line-height:1.65}

/* ── 최근 논문 ── */
.latest{padding:clamp(70px,9vw,130px) 0;background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.feat{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,64px);align-items:center}
.feat-img{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--paper-3)}
.feat-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.feat:hover .feat-img img{transform:scale(1.03)}
.feat-tx{display:flex;flex-direction:column;align-items:flex-start}
.meta{display:flex;align-items:baseline;gap:10px;font-size:12.5px;color:var(--mute);flex-wrap:wrap}
.meta .num{font-size:16px;color:var(--gold)}
.feat-t{font-family:var(--serif);font-size:clamp(30px,3.2vw,46px);line-height:1.28;letter-spacing:-.03em;margin:14px 0 8px}
.feat-s{font-family:var(--serif);font-size:18px;color:var(--ink-2)}
.feat-x{font-family:var(--serif);font-size:16px;line-height:1.95;color:var(--ink-2);margin:20px 0 28px;max-width:30em}
.mini-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:clamp(48px,6vw,80px)}
.mini{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--rule-2);padding-top:16px}
.mini-t{font-family:var(--serif);font-size:20px;line-height:1.42;letter-spacing:-.015em}
.mini-s{font-size:13.5px;color:var(--ink-2)}
.mini:hover .mini-t{color:var(--gold)}
.more{margin:44px 0 0}

/* ── 책 ── */
.books{padding:clamp(80px,10vw,150px) 0}
.book-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px)}
.book{display:grid;grid-template-columns:minmax(150px,5fr) 7fr;gap:clamp(20px,3vw,40px);align-items:end}
.book-cover{position:relative;display:block;aspect-ratio:4/5;background:var(--paper-3);box-shadow:0 1px 0 rgba(0,0,0,.05),0 22px 40px -22px rgba(40,30,15,.45);transition:transform .6s var(--ease)}
.book:hover .book-cover{transform:translateY(-6px) rotate(-.6deg)}
.book-cover img{width:100%;height:100%;object-fit:cover}
.book-cover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(255,255,255,.06) 60%,rgba(0,0,0,0));z-index:2}
.book-title{position:absolute;left:12%;right:12%;top:9%;text-align:center;font-family:var(--serif);font-weight:500;color:#f7f1e3;font-size:clamp(16px,1.4vw,21px);letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.book-cover.blank{background:#ded3bd}
.book-paper{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(162,122,51,.16) 27px 28px),#e8dfcc}
.book-blank-t{font-family:var(--serif);font-size:clamp(22px,2vw,30px);letter-spacing:.2em;text-align:center;line-height:1.6}
.book-blank-n{font-family:var(--hand);font-size:22px;color:var(--pencil);transform:rotate(-2deg)}
.book-meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.tag{font-size:12px;letter-spacing:.06em;border:1px solid var(--rule-2);border-radius:999px;padding:3px 11px;color:var(--ink-2)}
.tag.live{border-color:var(--gold);color:var(--gold)}
.tag.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:7px;vertical-align:1px;animation:blink 2.4s infinite}
@keyframes blink{50%{opacity:.25}}
.book-t{font-family:var(--serif);font-size:26px;letter-spacing:-.02em}
.book-d{font-family:var(--serif);font-size:15px;line-height:1.85;color:var(--ink-2)}
.book-f{font-size:12.5px;color:var(--mute)}

/* ── 오늘의 질문 ── */
.askq{padding:clamp(80px,11vw,160px) 0;text-align:center;background:var(--paper-2);border-top:1px solid var(--rule)}
.askq .eyebrow{justify-content:center}
.ask-q{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.2vw,60px);line-height:1.4;letter-spacing:-.03em;margin:0 auto;max-width:15em;min-height:2.8em;display:flex;align-items:center;justify-content:center;transition:opacity .35s}
.ask-q.fade{opacity:0}
.ask-src{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--ink-2);margin:26px 0 30px}
.ask-src .num{color:var(--gold);font-size:16px}
.ask-src a{border-bottom:1px solid var(--rule-2)}
.ask-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.btn-q,.share{font:500 14px var(--sans);color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:999px;padding:11px 22px;cursor:pointer;transition:background .25s,color .25s}
.btn-q:hover,.share:hover{background:var(--ink);color:var(--paper)}
.ask-note{font-size:12.5px;color:var(--mute);margin:22px 0 0}
.share{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;border-color:var(--rule-2)}
.share svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--paper);font-size:13.5px;padding:10px 18px;border-radius:999px;z-index:300;transition:.35s var(--ease);pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ── 꼬리 ── */
.ft{background:#201d19;color:#e9e2d3;padding:clamp(60px,8vw,100px) 0 36px;position:relative;z-index:1}
.ft-top{display:grid;grid-template-columns:5fr 7fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(233,226,211,.16)}
.ft-mark{display:flex;gap:18px;align-items:center}
.ft-mark img{width:64px;height:64px;border-radius:50%}
.ft-name{font-family:var(--serif);font-size:24px;margin:0}
.ft-tag{margin:4px 0 0;font-family:var(--serif);font-size:14px;color:rgba(233,226,211,.66)}
.ft-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ft-nav p{font-size:11.5px;letter-spacing:.1em;color:var(--gold-2);margin:0 0 12px}
.ft-nav a{display:block;font-size:14px;padding:4px 0;color:rgba(233,226,211,.82)}
.ft-nav a:hover{color:#fff}
.ft-bot{padding-top:24px;font-size:12px;color:rgba(233,226,211,.5);display:grid;gap:6px}
.ft-bot p{margin:0}

/* ── 안쪽 쪽 머리 ── */
.ph{padding:clamp(54px,7vw,104px) 0 clamp(36px,4vw,56px);border-bottom:1px solid var(--rule)}
.ph-in{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.ph-t{font-family:var(--serif);font-weight:300;font-size:clamp(42px,5.6vw,84px);line-height:1.12;letter-spacing:-.04em;margin:0}
.ph-d{font-family:var(--serif);font-size:clamp(16px,1.4vw,19px);color:var(--ink-2);margin:20px 0 0;max-width:30em;line-height:1.8}
.src-s{font-family:var(--sans);font-size:12px;color:var(--mute)}
.lnb{display:flex;gap:4px;flex-wrap:wrap;font-size:13.5px}
.lnb a{padding:8px 14px;border:1px solid var(--rule);border-radius:999px;color:var(--ink-2);transition:.2s}
.lnb a:hover{border-color:var(--ink);color:var(--ink)}
.lnb a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--paper)}

.sec{padding:clamp(64px,8vw,120px) 0;border-bottom:1px solid var(--rule)}
.sec:last-of-type{border-bottom:0}
.grid-2{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,88px);align-items:start}
.grid-2 > .sh{position:sticky;top:110px}
.flow{display:flex;flex-direction:column;gap:clamp(30px,4vw,52px)}

/* 인용 */
.q{margin:0;padding:0 0 0 26px;border-left:1px solid var(--gold)}
.q p{font-family:var(--serif);font-size:clamp(18px,1.6vw,22px);line-height:1.9;margin:0;letter-spacing:-.01em}
.q footer{font-size:12.5px;color:var(--mute);margin-top:12px}
.q footer a{border-bottom:1px solid var(--rule-2)}
.q-big{border-left:0;padding:0}
.q-big p{font-weight:300;font-size:clamp(26px,2.8vw,40px);line-height:1.55;letter-spacing:-.03em}
.q-big p::before{content:"「";color:var(--gold)}
.q-big p::after{content:"」";color:var(--gold)}
.q-center{border:0;padding:0;text-align:center;margin-top:clamp(56px,7vw,96px)}
.q-center p{font-weight:300;font-size:clamp(26px,3vw,42px)}

/* 정관 */
.charter{background:var(--card);border:1px solid var(--rule);padding:clamp(28px,4vw,56px);position:relative;
  background-image:repeating-linear-gradient(0deg,transparent 0 35px,rgba(162,122,51,.09) 35px 36px)}
.ch-h{font-family:var(--serif);font-size:22px;text-align:center;letter-spacing:.3em;margin:0 0 30px;padding-bottom:20px;border-bottom:3px double var(--rule-2)}
.charter ol{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.charter li{font-family:var(--serif);font-size:17px;line-height:1.9}
.charter li b{font-weight:600;margin-right:10px}
.charter cite{display:block;font-family:var(--sans);font-style:normal;font-size:11.5px;color:var(--mute);margin-top:2px}
.ch-f{font-family:var(--serif);font-size:14.5px;color:var(--ink-2);margin:34px 0 0}
.ch-sign{display:flex;justify-content:flex-end;align-items:center;gap:0;margin-top:26px;font-family:var(--serif);font-size:19px;letter-spacing:.12em}
.seal{width:74px;height:74px;margin-left:-18px;transform:rotate(-7deg);opacity:.86;mix-blend-mode:multiply}
.seal rect{fill:none;stroke:var(--red);stroke-width:4}
.seal rect.in{stroke-width:1.5}
.seal text{fill:var(--red);font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.5px}

/* 휘장 */
.emblem{margin:0;display:flex;align-items:center;gap:28px}
.emblem img{width:min(220px,42%);border-radius:50%;box-shadow:0 20px 40px -24px rgba(30,20,10,.5)}
.emblem figcaption{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mute)}

/* 연구실 */
.rooms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.room{display:grid;grid-template-columns:auto 1fr auto;gap:14px;padding:26px 22px 26px 0;border-bottom:1px solid var(--rule)}
.room:not(:nth-child(3n+1)){padding-left:22px;border-left:1px solid var(--rule)}
.room-no{font-size:11.5px;letter-spacing:.06em;color:var(--gold);writing-mode:vertical-rl;text-orientation:upright;line-height:1}
.room h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 4px;letter-spacing:-.02em}
.room-m{font-size:12.5px;color:var(--mute);margin:0 0 12px}
.room-q{font-family:var(--serif);font-size:15px;line-height:1.75;margin:0 0 12px;color:var(--ink-2)}
.room-q span{display:block;font-family:var(--sans);font-size:11.5px;color:var(--mute);margin-top:3px}
.room-c{font-size:12px;color:var(--ink-2);margin:0}
.room-go{font-family:var(--latin);font-size:22px;color:var(--ink-2);transition:transform .3s,color .2s}
.room:hover .room-go{transform:translateX(4px);color:var(--gold)}
.room-go.off{color:var(--rule-2)}

/* 하찮은 학교 */
.schole-in{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,80px);align-items:start}
.schole-tx{display:flex;flex-direction:column;gap:30px}
.schole-tx .sh{margin-bottom:0}
.schole-end{font-family:var(--serif);font-size:20px;color:var(--gold);margin:0}
.future{margin-top:clamp(64px,8vw,110px)}
.future-h{font-size:12.5px;letter-spacing:.08em;color:var(--ink-2);margin:0 0 14px}
.future-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lot{border:1px dashed var(--rule-2);padding:26px 22px;display:flex;flex-direction:column;gap:6px;min-height:150px;
  background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(162,122,51,.05) 14px 15px)}
.lot-n{font-family:var(--latin);font-style:italic;font-size:18px;color:var(--gold)}
.lot-t{font-family:var(--serif);font-size:20px}
.lot-d{font-size:12.5px;color:var(--mute)}

/* 조직도 */
.org{display:flex;flex-direction:column;align-items:center}
.org-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:26px 40px;border:1px solid var(--ink);background:var(--card);min-width:min(420px,100%)}
.org-role{font-size:12px;letter-spacing:.12em;color:var(--gold)}
.org-name{font-family:var(--serif);font-size:26px}
.org-d{font-size:12.5px;color:var(--ink-2)}
.org-top:hover{background:var(--paper-2)}
.org-line{width:1px;height:44px;background:var(--ink)}
.org-mid{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:28px;position:relative;padding-top:24px;border-top:1px solid var(--ink)}
.org-box{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 14px;border:1px solid var(--rule-2);font-family:var(--serif);font-size:17px;text-align:center;background:var(--card)}
.org-box small{font-family:var(--sans);font-size:12px;color:var(--mute)}
.org-box.ghost{border-style:dashed;background:transparent;color:var(--ink-2)}
.guests{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px)}
.gc{display:flex;flex-direction:column;border-top:1px solid var(--rule-2);padding-top:16px;scroll-margin-top:120px}
.gc-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--paper-3);border-radius:999px 999px 0 0}
.gc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gc:hover .gc-img img{transform:scale(1.04)}
.gc-plate{align-self:flex-start;margin-top:14px;font-family:var(--hand);font-size:22px;line-height:1.1;color:var(--ink);background:#efe3b8;padding:3px 10px 2px;transform:rotate(-1.2deg);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.gc-n{font-family:var(--serif);font-weight:400;font-size:21px;margin:12px 0 10px;letter-spacing:-.02em}
.gc dl,.hub-dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;margin:0;font-size:12.5px;line-height:1.6}
.gc dt,.hub-dl dt{color:var(--mute);white-space:nowrap}
.gc dd,.hub-dl dd{margin:0;color:var(--ink-2)}
.gc-go{margin-top:14px;font-size:12.5px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--gold);align-self:flex-start}
.gc-go:hover{color:var(--gold)}

/* 공고·표 */
.notice{background:var(--card);border:1px solid var(--rule);padding:clamp(26px,4vw,50px)}
.nt-no{font-size:12.5px;color:var(--mute);margin:0}
.notice h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);margin:6px 0 24px;letter-spacing:-.02em}
.nt{width:100%;border-collapse:collapse;border-top:1px solid var(--ink);font-size:14.5px}
.nt th,.nt td{text-align:left;vertical-align:top;padding:14px 0;border-bottom:1px solid var(--rule)}
.nt th{width:7.5em;font-weight:500;color:var(--ink-2);font-size:13px;padding-right:16px}
.nt td{font-family:var(--serif);line-height:1.8}
.nt cite,.nt .src{display:block;font-family:var(--sans);font-style:normal;font-size:11.5px;color:var(--mute);margin-top:4px}
.nt .src::before{content:"출처 · "}
.nt .src:hover{color:var(--gold)}
.kbd{font-family:var(--sans);font-size:13px;background:var(--paper-2);border:1px solid var(--rule-2);border-radius:4px;padding:1px 7px}
.nt-f{font-size:13.5px;color:var(--ink-2);margin:22px 0 22px}
.nt-f b{font-weight:600}

/* 연혁 */
.tl-era{display:grid;grid-template-columns:4fr 8fr;gap:0 clamp(28px,5vw,88px);align-items:baseline;padding:0 0 30px;border-bottom:1px solid var(--ink);margin-bottom:8px}
.tl-era .num{font-size:40px;color:var(--gold);grid-row:span 2;line-height:1}
.tl-era h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,40px);margin:0;letter-spacing:-.02em}
.tl-era p{grid-column:2;margin:6px 0 0;font-family:var(--serif);color:var(--ink-2)}
.tl-era + .tline{margin-bottom:clamp(72px,9vw,130px)}
.tline{list-style:none;margin:0;padding:0}
.tl{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,88px);padding:30px 0;border-bottom:1px solid var(--rule);position:relative}
.tl-when{margin:0;font-family:var(--serif);font-size:clamp(20px,2vw,28px);letter-spacing:-.02em;color:var(--ink);line-height:1.35}
.tl.mod .tl-when{font-size:clamp(17px,1.6vw,21px);color:var(--ink-2)}
.tl-b{position:relative;padding-right:120px;min-height:20px}
.tl-b h3{font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.6vw,22px);margin:0 0 8px;letter-spacing:-.015em}
.tl-note{margin:0;font-size:14.5px;line-height:1.85;color:var(--ink-2);max-width:36em}
.tl-lk{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--mute);border-bottom:1px solid var(--rule-2)}
.tl-lk:hover{color:var(--gold)}
.tl-por{position:absolute;right:0;top:0;width:84px;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 0 0;background:var(--paper-3)}
.tl-por img{width:100%;height:100%;object-fit:cover}
.tl.next .tl-when{font-family:var(--hand);font-size:30px;color:var(--pencil)}
.tl.next h3::after{content:"";display:inline-block;width:.5em;height:1.05em;background:var(--ink);margin-left:6px;vertical-align:-.15em;animation:blink 1.1s steps(1) infinite}

/* 오시는 길 */
.addr{display:flex;flex-direction:column;gap:34px}
.route{width:100%;height:auto;background:var(--card);border:1px solid var(--rule);padding:8px}
.rt-l{fill:none;stroke:var(--ink);stroke-width:3}
.rt-l2{fill:none;stroke:var(--gold);stroke-width:3}
.rt-st circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.rt-hub{fill:var(--red);stroke:var(--paper);stroke-width:3}
.rt-t text{font-family:var(--sans);font-size:11.5px;fill:var(--ink-2)}
.rt-hubt{font-family:var(--serif);font-size:15px;font-weight:600;fill:var(--ink)}
.stations{list-style:none;margin:0;padding:0;position:relative}
.stations::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--ink)}
.stn{display:grid;grid-template-columns:12px 34px 1fr;gap:0 14px;padding:0 0 30px;position:relative}
.stn-dot{width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);margin-top:9px;position:relative;z-index:1}
.stn-no{color:var(--gold);font-size:17px;padding-top:2px}
.stn h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 4px}
.stn-d{font-family:var(--serif);font-size:15px;color:var(--ink-2);margin:0 0 6px;line-height:1.75}
.stn-a{font-size:13px;color:var(--mute);border-bottom:1px solid var(--rule-2)}
a.stn-a:hover{color:var(--gold)}
.faqs{border-top:1px solid var(--ink)}
.faq{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:14px;padding:22px 40px 22px 0;font-family:var(--serif);font-size:clamp(18px,1.6vw,21px);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font-family:var(--latin);font-size:26px;color:var(--gold);transition:transform .3s}
.faq[open] summary::after{transform:rotate(45deg)}
.fq{font-family:var(--latin);font-style:italic;color:var(--gold);font-size:19px;flex:none}
.fa{display:flex;gap:14px;padding:0 0 24px}
.fa p{margin:0;font-family:var(--serif);font-size:16px;line-height:1.9;color:var(--ink-2)}
.fa a{border-bottom:1px solid var(--gold);color:var(--ink)}

/* 연구소장 */
.greet-in{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,6vw,110px);align-items:start}
.plate.tall .pl-img{aspect-ratio:4/5}
.plate.tall img{height:100%;object-fit:cover}
.greet-tx{display:flex;flex-direction:column;gap:28px;padding-top:12px}
.greet-q{font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.4vw,50px);line-height:1.4;letter-spacing:-.035em;margin:0}
.greet-q2{font-family:var(--serif);font-size:clamp(19px,1.8vw,24px);color:var(--gold);margin:-6px 0 0;letter-spacing:-.01em}
.greet-body p{font-family:var(--serif);font-size:16.5px;line-height:2;color:var(--ink-2);margin:0;max-width:34em}
.greet-body .greet-src{font-family:var(--sans);font-size:12.5px;color:var(--mute);margin-top:10px}
.sign{display:flex;align-items:center;gap:18px;font-family:var(--serif);font-size:16px;color:var(--ink-2);padding-top:6px}
.sign-hand{font-family:var(--hand);font-size:38px;color:var(--ink);transform:rotate(-3deg);line-height:1}
.cv td{font-size:15.5px}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{position:relative;background:#f7f0dd;border:1px solid #e3d6b4;padding:22px 20px 20px;display:flex;flex-direction:column;
  background-image:linear-gradient(transparent 51px,rgba(180,69,45,.35) 51px 52px,transparent 52px),repeating-linear-gradient(0deg,transparent 0 25px,rgba(70,110,160,.14) 25px 26px);
  background-position:0 0,0 4px;transition:transform .4s var(--ease),box-shadow .4s}
.card:nth-child(odd){transform:rotate(-.5deg)}
.card:nth-child(even){transform:rotate(.45deg)}
.card:hover{transform:rotate(0) translateY(-4px);box-shadow:0 18px 30px -20px rgba(60,40,10,.4)}
.card-no{position:absolute;right:16px;top:14px;color:var(--red);font-size:15px}
.card-a{font-size:12px;color:var(--mute);margin:0 0 4px}
.card-t{font-family:var(--serif);font-size:18px;line-height:1.45;margin:0 0 22px;min-height:2.9em}
.card-m{font-family:var(--hand);font-size:21px;line-height:1.3;color:#3d4f72;margin:0 0 14px;flex:1}
.card-s{font-size:11.5px;color:var(--mute);border-top:1px dashed #d8c9a2;padding-top:10px}
.card-s:hover{color:var(--gold)}
.b1{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,4vw,56px);align-items:start}
.plate.bookplate .pl-img{aspect-ratio:4/5;box-shadow:0 22px 40px -22px rgba(40,30,15,.45)}
.b1-m{font-size:12.5px;color:var(--mute);margin:0 0 14px}
.toc{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--ink)}
.toc li a{display:flex;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:16.5px}
.toc .num{color:var(--gold);font-size:16px;width:24px}
.toc a:hover{color:var(--gold)}

/* 연구 논문 */
.shelf-sec{padding-top:clamp(40px,5vw,70px)}
.ess-plate{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,88px);align-items:end;margin-bottom:clamp(50px,6vw,90px)}
.ess-plate .plate{max-width:300px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}
.filters button{font:500 13.5px var(--sans);color:var(--ink-2);background:transparent;border:1px solid var(--rule);border-radius:999px;padding:8px 16px;cursor:pointer;transition:.2s}
.filters button span{font-family:var(--latin);font-style:italic;font-size:15px;color:var(--gold);margin-left:4px}
.filters button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.filters button.on span{color:var(--gold-2)}
.ers{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.er{border-bottom:1px solid var(--rule)}
.er[hidden]{display:none}
.er a{display:grid;grid-template-columns:150px 1fr 300px;gap:clamp(20px,3vw,48px);padding:34px 0;align-items:start}
.er-no{display:flex;flex-direction:column;gap:4px}
.er-no .num{font-size:22px;color:var(--gold);line-height:1.1}
.er-d{font-size:12.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.er-b{display:flex;flex-direction:column;align-items:flex-start}
.er-c{font-size:12px;letter-spacing:.04em;color:var(--mute);margin-bottom:8px}
.er-t{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.35;letter-spacing:-.025em;transition:color .2s}
.er a:hover .er-t{color:var(--gold)}
.er-s{font-family:var(--serif);font-size:16px;color:var(--ink-2);margin-top:4px}
.er-x{font-family:var(--serif);font-size:15px;line-height:1.9;color:var(--ink-2);margin-top:16px;max-width:36em}
.er-x b{font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.08em;color:var(--mute);margin-right:10px;vertical-align:1px}
.er-go{font-size:12.5px;font-weight:500;margin-top:16px;border-bottom:1px solid var(--ink)}
.er-img{display:block;overflow:hidden}
.er-img img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 1.2s var(--ease)}
.er a:hover .er-img img{transform:scale(1.04)}
.er-art{display:block;font-size:11.5px;color:var(--mute);margin-top:8px}
.noimg{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:var(--paper-2);font-family:var(--serif);color:var(--mute)}
.serial{margin-top:clamp(56px,7vw,100px);padding:clamp(30px,4vw,54px);border:1px dashed var(--rule-2);display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(162,122,51,.1) 31px 32px)}
.serial .eyebrow{margin:0}
.serial-t{font-family:var(--serif);font-size:clamp(20px,2vw,26px);margin:0 0 10px;line-height:1.6}

/* 공개 강연 */
.syl{font-size:13px;color:var(--ink-2);padding:12px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin:0 0 clamp(40px,5vw,70px)}
.course{display:grid;grid-template-columns:4fr 8fr;gap:clamp(28px,5vw,88px);padding:0 0 clamp(60px,8vw,110px);margin-bottom:clamp(60px,8vw,110px);border-bottom:1px solid var(--rule);scroll-margin-top:100px}
.course:last-of-type{border-bottom:0}
.course-h{position:sticky;top:110px;align-self:start}
.course-no{margin:0 0 10px}
.course-no .num{color:var(--gold);font-size:17px}
.course h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,40px);margin:0 0 16px;letter-spacing:-.025em}
.course-q{font-family:var(--serif);font-size:16px;line-height:1.85;color:var(--ink-2);margin:0 0 22px}
.course-q span{display:block;font-family:var(--sans);font-size:11.5px;color:var(--mute);margin-top:4px}
.course-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;font-size:13px;border-top:1px solid var(--rule);padding-top:16px}
.course-dl dt{color:var(--mute)}
.course-dl dd{margin:0;font-variant-numeric:tabular-nums}
.course-dl.wide{grid-template-columns:repeat(5,auto 1fr);border-bottom:1px solid var(--rule);padding:16px 0;margin-bottom:40px}
.course-more{grid-column:2;margin:6px 0 0}
.vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,3vw,40px) clamp(18px,2.4vw,32px)}
.rel .vgrid,.sec > .wrap > .vgrid{grid-template-columns:repeat(3,1fr)}
.vc{display:flex;flex-direction:column}
.vc-img{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#2a2622}
.vc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.vc:hover .vc-img img{transform:scale(1.04)}
.vc-len{position:absolute;right:10px;bottom:10px;font-size:11.5px;color:#f6f1e6;background:rgba(20,17,13,.72);padding:2px 8px;border-radius:3px;font-variant-numeric:tabular-nums}
.vc-lab{font-size:12px;color:var(--gold);margin:14px 0 4px;letter-spacing:.02em}
.vc-t{font-family:var(--serif);font-size:18.5px;line-height:1.45;letter-spacing:-.015em;transition:color .2s}
.vc:hover .vc-t{color:var(--gold)}
.vc-d{font-size:12px;color:var(--mute);margin-top:6px;font-variant-numeric:tabular-nums}
.pod{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:clamp(30px,4vw,50px);background:var(--card);border:1px solid var(--rule)}
.pod .eyebrow{margin:0}
.pod-t{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);margin:0}
.pod-d{font-size:13.5px;color:var(--ink-2);margin:0 0 12px}
.syllabus{list-style:none;margin:0 0 clamp(50px,6vw,80px);padding:0;border-top:1px solid var(--ink)}
.syllabus a{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule)}
.syllabus .num{color:var(--gold);font-size:17px}
.sy-t{font-family:var(--serif);font-size:18px}
.sy-m{font-size:12.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.syllabus a:hover .sy-t{color:var(--gold)}
.other-c{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;margin:clamp(50px,6vw,80px) 0 0;padding-top:20px;border-top:1px solid var(--rule);font-size:14px}
.other-c span{font-size:12px;color:var(--mute)}
.other-c a{border-bottom:1px solid var(--rule-2)}

/* 강연 한 쪽 */
.vph{padding-bottom:30px}
.vph-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.v-t{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,58px);line-height:1.28;letter-spacing:-.035em;margin:0;max-width:20em}
.vsec{padding-top:40px}
.player{position:relative;aspect-ratio:16/9;background:#1d1a16;margin-bottom:clamp(40px,5vw,70px)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.v-body{margin-bottom:clamp(50px,6vw,80px)}
.v-info{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.v-title-full{font-size:13px;color:var(--mute);margin:0 0 18px}
.desc{white-space:pre-line;font-family:var(--serif);font-size:16px;line-height:1.95;color:var(--ink-2)}
.desc a{color:var(--ink);border-bottom:1px solid var(--rule-2);word-break:break-all}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tags span{font-size:12px;color:var(--ink-2);border:1px solid var(--rule);border-radius:999px;padding:3px 11px}
.pns{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);margin-bottom:clamp(60px,7vw,100px)}
.pn{display:flex;flex-direction:column;gap:4px;padding:22px 0;font-family:var(--serif);font-size:17px}
.pn span{font-family:var(--sans);font-size:12px;color:var(--mute)}
.pns .pn:nth-child(2){text-align:right;align-items:flex-end}
a.pn:hover{color:var(--gold)}
.rel{margin-top:clamp(50px,6vw,90px)}

/* 허브 */
.hub-ph{padding-top:clamp(40px,5vw,80px)}
.hub-in{display:grid;grid-template-columns:minmax(160px,3fr) 9fr;gap:clamp(24px,4vw,64px);align-items:end}
.hub-img{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 0 0;background:var(--paper-3)}
.hub-img img{width:100%;height:100%;object-fit:cover}
.hub-tx{display:flex;flex-direction:column;align-items:flex-start}
.hub-dl{margin:24px 0 26px;font-size:14px;max-width:40em}
.hub-tl{padding:24px 28px;background:var(--card);border:1px solid var(--rule);margin-bottom:clamp(40px,5vw,70px)}
.hub-tl ul{list-style:none;margin:0 0 16px;padding:0}
.hub-tl li{display:flex;gap:16px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--rule);font-family:var(--serif)}
.hub-tl li .num{color:var(--gold);min-width:9em;font-size:15px}
.hub-nav{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin-top:clamp(50px,6vw,90px);padding-top:20px;border-top:1px solid var(--rule);font-size:14px}
.hub-nav span{font-size:12px;color:var(--mute)}
.hub-nav a{border-bottom:1px solid var(--rule-2)}
.hub-nav a[aria-current]{color:var(--gold);border-color:var(--gold)}
.nf{min-height:60vh;display:flex;align-items:center;border:0}

/* 나타나기 */
.rv{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.on{opacity:1;transform:none}

/* ── 태블릿 ── */
@media (max-width:1100px){
  .nav{gap:20px;font-size:14px}
  .door-grid{grid-template-columns:repeat(2,1fr);gap:40px 24px}
  .guests{grid-template-columns:repeat(3,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .rooms{grid-template-columns:repeat(2,1fr)}
  .room:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .room:nth-child(even){padding-left:22px;border-left:1px solid var(--rule)}
  .label-dl{grid-template-columns:repeat(3,1fr);row-gap:18px}
  .label-dl div:nth-child(3){border-right:0}
  .er a{grid-template-columns:120px 1fr 220px}
  .ledger{grid-template-columns:repeat(5,1fr)}
  .ledger-h{grid-column:1/-1;flex-direction:row;gap:12px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule)}
  .lg:nth-child(2){border-left:0;padding-left:0}
}
/* ── 폰 ── */
@media (max-width:899px){
  body{font-size:15.5px}
  .gov-r{display:none}
  .gov .wrap{min-height:30px;font-size:11.5px}
  .hd-in{height:62px}
  .nav{display:none}
  .menu-btn{display:block}
  .sheet{top:92px}
  .hero{background:var(--paper);color:var(--ink)}
  .hero::after{display:none}
  .hero-pic img{height:auto;min-height:0;aspect-ratio:4/5}
  .hero-over{position:static;padding:30px 0 0}
  .hero-eb{color:var(--ink-2)}
  .hero-eb .num{color:var(--gold)}
  .hero-h{text-shadow:none;font-size:clamp(34px,9.6vw,46px);line-height:1.26}
  .hero-h br{display:none}
  .hero-sub{color:var(--ink-2);margin-top:16px}
  .label-in{grid-template-columns:1fr;padding-top:26px}
  .label-dl{grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid var(--rule);row-gap:0}
  .label-dl div{padding:12px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .label-dl div:nth-child(odd){padding-right:12px}
  .label-dl div:first-child{grid-column:1/-1}
  .label-fn{grid-column:1}
  .ledger{grid-template-columns:repeat(2,1fr)}
  .lg{border-left:0;padding:16px 0;border-bottom:1px solid var(--rule)}
  .lg:nth-child(odd){border-left:1px solid var(--rule);padding-left:16px}
  .lg:last-child{grid-column:1/-1;border-left:0;padding-left:0;border-bottom:0}
  .lg-n{font-size:46px}
  .door-grid{grid-template-columns:1fr 1fr;gap:34px 16px}
  .door-t{font-size:20px}
  .door-d{font-size:12.5px}
  .feat,.book-row,.grid-2,.schole-in,.greet-in,.b1,.course,.hub-in,.tl-era{grid-template-columns:1fr}
  .grid-2 > .sh,.course-h,.v-info{position:static}
  .mini-list{grid-template-columns:1fr;gap:0}
  .mini{padding:18px 0}
  .book{grid-template-columns:40% 1fr;align-items:center}
  .book-t{font-size:22px}
  .book-d{font-size:14px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .ft-top,.ft-nav{grid-template-columns:1fr}
  .ft-nav{grid-template-columns:repeat(2,1fr)}
  .ft-nav > div:last-child{grid-column:1/-1}
  .ph-in{flex-direction:column;align-items:flex-start}
  .rooms{grid-template-columns:1fr}
  .room,.room:nth-child(even){padding:22px 0;border-left:0}
  .future-row{grid-template-columns:1fr}
  .lot{min-height:0}
  .org-mid{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .org-box{font-size:14px;padding:12px 6px}
  .guests{grid-template-columns:1fr 1fr;gap:30px 16px}
  .gc-n{font-size:18px}
  .gc dl{grid-template-columns:1fr;gap:0}
  .gc dt{margin-top:6px}
  .cards{grid-template-columns:1fr}
  .card-t{min-height:0}
  .tl{grid-template-columns:1fr;gap:6px;padding:24px 0}
  .tl-b{padding-right:84px}
  .tl-por{width:64px}
  .tl-era .num{grid-row:auto}
  .tl-era p{grid-column:1}
  .er a{grid-template-columns:1fr;gap:12px;padding:28px 0}
  .er-no{flex-direction:row;gap:12px;align-items:baseline}
  .er-img{order:-1}
  .ess-plate{grid-template-columns:1fr}
  .ess-plate .plate{max-width:none}
  .vgrid,.rel .vgrid,.sec > .wrap > .vgrid{grid-template-columns:1fr}
  .course-more{grid-column:1}
  .course-dl.wide{grid-template-columns:auto 1fr}
  .syllabus a{grid-template-columns:64px 1fr;gap:4px 12px}
  .sy-m{grid-column:2}
  .pns{grid-template-columns:1fr;gap:0}
  .pns .pn:nth-child(2){text-align:left;align-items:flex-start;border-top:1px solid var(--rule)}
  .hub-img{max-width:200px}
  .emblem{flex-direction:column;align-items:flex-start}
  .emblem img{width:180px}
  .ch-sign{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .hero-pic img,.hero-h,.hero-eb,.hero-sub{opacity:1;transform:none}
  .pc path{stroke-dashoffset:0}
}
@media print{.gov,.hd,.ft,.share,.btn-q{display:none}body::before{display:none}}
.ess-intro .eyebrow{margin-bottom:14px}
.rules{margin:0;padding:0 0 0 1.3em;font-family:var(--serif);font-size:15.5px;line-height:1.9;color:var(--ink-2);max-width:36em}
.rules li{padding:4px 0}
.rules li::marker{font-family:var(--latin);font-style:italic;color:var(--gold)}
.dd-s{display:block;font-family:var(--hand);font-size:19px;line-height:1.2;color:var(--pencil);margin-top:6px}
.lg-n,.lg-n *{font-variant-numeric:lining-nums}
.lg-n{font-feature-settings:"lnum" 1}
.label-in{grid-template-columns:minmax(200px,2.6fr) 7.4fr}
.hero::after{background:linear-gradient(180deg,rgba(20,17,13,0) 34%,rgba(20,17,13,.58) 72%,rgba(20,17,13,.86) 100%),linear-gradient(90deg,rgba(20,17,13,.42),rgba(20,17,13,0) 60%)}
/* 2차 다듬기 */
.num{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.tl-when{display:flex;flex-direction:column;align-items:flex-start}
.tl-pre{font-family:var(--sans);font-size:12px;letter-spacing:.12em;color:var(--gold);margin-bottom:2px}
.tl-y{font-family:var(--latin);font-weight:400;font-size:clamp(46px,5vw,76px);line-height:.95;letter-spacing:-.02em;font-feature-settings:"lnum" 1}
.tl-suf{font-family:var(--serif);font-size:15px;color:var(--ink-2);margin-top:6px}
.b1{grid-template-columns:minmax(220px,4fr) 8fr;max-width:1100px}
.b1 .plate{max-width:420px}
@media (max-width:899px){.tl-y{font-size:52px}.b1 .plate{max-width:none}}
.seal{margin-left:-6px;width:66px;height:66px}
.rt-t text{font-size:13px}
.rt-hubt{font-size:16px}
