/* ============================================================
   Artnomad _biennale — 공통 스타일
   글씨체는 한 가지(산세리프)로 통일. 크기·굵기로만 위계를 준다.
   ============================================================ */

/* 학교안심 퍼즐 OTF Black — 2025 월간 영귀미 제목용 */
@font-face{
  font-family:"HakgyoansimPuzzle";
  src:url("HakgyoansimPuzzle-Black.woff2") format("woff2");
  font-weight:400 900;font-style:normal;font-display:swap;
}
:root{--puzzle:"HakgyoansimPuzzle","Apple SD Gothic Neo",sans-serif;}

/* 학교안심 퍼즐은 '메인 전시 제목'과 '예술감독의 글 제목'에만 쓴다.
   나머지 제목은 모두 기본 산세리프의 볼드. */
body.t-hc .ymtitle, body.t-hc .ymno,
body.t-hc .showcap .sc-t,
body.t-hc .note-title{
  font-family:var(--puzzle);
}
body.t-hc h1{letter-spacing:-.01em;}
body.t-hc .kicker{letter-spacing:.24em;}

:root{
  --bg:#f7f4ee; --bg2:#efeae0; --fg:#1a1712; --fg2:#5c5449;
  --muted:#8a8478; --accent:#b5271d; --line:#ddd6c8; --card:#ffffff;
  --maxw:960px;
  --gap:clamp(78px,12vw,150px);          /* 섹션 사이 여백 — 넉넉하게 */
  --pad:clamp(22px,5.6vw,34px);          /* 좌우 여백 — 모바일에서도 확실히 */
}

/* 페이지를 옮길 때 배경·글이 부드럽게 바뀌도록 (지원하는 브라우저에서) */
@view-transition{navigation:auto;}
::view-transition-old(root){animation:vt-out .34s ease both;}
::view-transition-new(root){animation:vt-in .52s ease both;}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none;}
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg);color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",
              "Malgun Gothic","Segoe UI",Roboto,sans-serif;
  font-size:16px;line-height:1.85;letter-spacing:-.005em;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font:inherit;}

/* ---------------- 상단 네비 ---------------- */
.nav{position:sticky;top:0;z-index:60;background:var(--bg);border-bottom:1px solid var(--line);}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.brand{text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.01em;white-space:nowrap;line-height:1.25;}
.brand em{font-style:normal;color:var(--accent);margin-left:.42em;}
.brand small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.24em;color:var(--muted);text-transform:uppercase;}
.nav-links{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto;align-items:center;}
.nav-links a{text-decoration:none;font-size:12.5px;color:var(--muted);padding:6px 10px;border-radius:3px;white-space:nowrap;}
.nav-links a:hover{color:var(--fg);background:var(--bg2);}
.nav-links a.on{color:var(--fg);font-weight:700;}
.langbtn{border:1px solid var(--line);background:transparent;color:var(--muted);
  font-size:11px;font-weight:800;letter-spacing:.12em;padding:6px 11px;border-radius:3px;cursor:pointer;margin-left:6px;}
.langbtn:hover{border-color:var(--fg);color:var(--fg);}

/* ---------------- 레이아웃 ---------------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.col{max-width:680px;}
section{padding:0 0 var(--gap);}

/* 항목 제목 — 글씨가 위, 선이 아래 */
.kicker{
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);
  font-weight:800;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:36px;
}
.kicker.plain{border-bottom:0;padding-bottom:0;margin-bottom:16px;}

h1{font-size:clamp(32px,6.4vw,58px);line-height:1.14;font-weight:800;letter-spacing:-.025em;}
h2{font-size:clamp(22px,3.4vw,30px);line-height:1.35;font-weight:800;letter-spacing:-.02em;margin-bottom:22px;}
h3{font-size:19px;font-weight:700;line-height:1.45;margin-bottom:10px;}
p{margin-bottom:18px;}
p:last-child{margin-bottom:0;}
.indent p{text-indent:1em;}
.indent p.noindent{text-indent:0;}
.lead{font-size:17.5px;color:var(--fg2);}
.sub{color:var(--muted);font-size:13.5px;line-height:1.7;}
.divider{width:46px;height:2px;background:var(--fg);margin:30px 0;}

/* ---------------- 히어로 ---------------- */
/* padding 축약형을 쓰면 .wrap 의 좌우 여백이 0 으로 지워진다 — 위아래만 지정할 것 */
.hero{padding-top:calc(var(--gap)*.45);padding-bottom:calc(var(--gap)*.62);}
.meta{display:flex;gap:10px 34px;flex-wrap:wrap;font-size:13.5px;margin-top:26px;}
.meta b{color:var(--accent);font-size:11px;letter-spacing:.12em;margin-right:9px;text-transform:uppercase;}

/* ---------------- 전시 배너 ---------------- */
.banner{position:relative;overflow:hidden;border-radius:4px;background:var(--fg);color:#fff;
  min-height:clamp(300px,40vw,420px);display:flex;align-items:flex-end;margin-bottom:30px;}
.banner:last-child{margin-bottom:0;}
.bslides{position:absolute;inset:0;}
.bslides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;}
.bslides img.on{opacity:1;}
.banner .shade{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(16,14,11,.30) 0%,rgba(16,14,11,.10) 34%,rgba(16,14,11,.62) 100%);}
.banner.solid .shade{background:none;}
.binner{position:relative;padding:clamp(26px,4.6vw,44px);width:100%;}
.binner .no{font-size:10.5px;letter-spacing:.3em;font-weight:800;text-transform:uppercase;opacity:.82;}
.binner .t{font-size:clamp(26px,5vw,46px);line-height:1.08;font-weight:800;letter-spacing:-.03em;
  margin:12px 0 8px;text-shadow:0 2px 18px rgba(0,0,0,.4);}
.binner .s{font-size:15px;opacity:.92;}
.binner .d{margin-top:18px;display:flex;gap:6px 24px;flex-wrap:wrap;font-size:12.5px;opacity:.86;}
.binner .go{margin-top:24px;display:inline-block;text-decoration:none;
  border:1px solid rgba(255,255,255,.62);background:rgba(0,0,0,.28);
  padding:10px 22px;font-size:12.5px;font-weight:700;letter-spacing:.06em;border-radius:2px;}
.binner .go:hover{background:#fff;color:#1a1712;border-color:#fff;}

/* ---------------- 개요 + 포스터 ---------------- */
.overview{display:grid;grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:clamp(26px,4vw,46px);align-items:start;}
.overview .poster img{width:100%;border-radius:3px;background:var(--bg2);}
.overview .body{min-width:0;}

/* ---------------- 가로 슬라이드 / 갤러리 ---------------- */
.rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.rail::-webkit-scrollbar{height:5px;}
.rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
.rail img{flex:0 0 auto;height:clamp(190px,26vw,290px);width:auto;scroll-snap-align:start;
  border-radius:3px;background:var(--bg2);cursor:zoom-in;}
.gal{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bg2);cursor:zoom-in;border-radius:3px;}
.gal img:hover{opacity:.88;}
figure.full{margin:0;}
figure.full img{width:100%;border-radius:3px;background:var(--bg2);}
figure figcaption{font-size:12.5px;color:var(--muted);margin-top:10px;}

/* ---------------- 세부 링크 ---------------- */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px;}
.subnav a{text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--line);
  background:var(--card);color:var(--fg);padding:9px 16px;border-radius:999px;white-space:nowrap;transition:.15s;}
.subnav a:hover{border-color:var(--fg);}
.subnav a.on{background:var(--fg);color:var(--bg);border-color:var(--fg);}

/* ---------------- 정보 리스트 ---------------- */
.facts{font-size:14px;}
.facts>div{display:flex;gap:16px;padding:11px 0;border-top:1px solid var(--line);}
.facts>div:last-child{border-bottom:1px solid var(--line);}
.facts b{flex:0 0 92px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.1em;
  padding-top:4px;text-transform:uppercase;}
.facts span{flex:1;min-width:0;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-size:12.5px;border:1px solid var(--line);background:var(--card);padding:6px 13px;border-radius:999px;white-space:nowrap;}
.chip a{text-decoration:none;}

/* ---------------- 작가 블록 ---------------- */
.artist{padding:calc(var(--gap)*.42) 0;border-top:1px solid var(--line);}
.artist:first-of-type{border-top:0;padding-top:0;}
.artist .who{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.artist .who h3{font-size:23px;font-weight:800;letter-spacing:-.02em;margin:0;}
.artist .who .role{font-size:11.5px;color:var(--accent);font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.caption{font-size:13.5px;color:var(--muted);margin:10px 0 22px;line-height:1.7;}
.quote{border-left:2px solid var(--line);padding-left:18px;color:var(--fg2);font-size:15px;}

/* ---------------- 팀원 카드 ---------------- */
.member{padding:calc(var(--gap)*.38) 0;border-top:1px solid var(--line);}
.member:first-of-type{border-top:0;padding-top:0;}
.member h3{font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:4px;}
.member .where{font-size:13px;color:var(--muted);margin-bottom:16px;}
.member .links{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;margin-bottom:20px;}
.member .links a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line);}
.member .links a:hover{border-color:var(--fg);color:var(--accent);}
.member .credit{font-size:13.5px;margin-bottom:14px;}
.member .credit div{padding:8px 0;border-top:1px dotted var(--line);display:flex;gap:14px;}
.member .credit div b{flex:0 0 138px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.04em;padding-top:3px;}

/* 경력·학력 접기/펼치기 */
.fold{border-top:1px dotted var(--line);}
.fold-head{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;
  background:none;border:0;cursor:pointer;padding:10px 0;color:inherit;}
.fold-head .lbl{flex:0 0 60px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.06em;padding-top:3px;}
.fold-head .peek{flex:1;font-size:13.5px;color:var(--fg2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fold-head .pm{flex:0 0 22px;height:22px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--muted);margin-top:2px;}
.fold-head:hover .pm{border-color:var(--fg);color:var(--fg);}
.fold-body{display:none;padding:2px 0 14px 72px;font-size:13.5px;color:var(--fg2);}
.fold.open .fold-body{display:block;}
.fold.open .fold-head .peek{white-space:normal;color:var(--muted);}
.fold-body ul{list-style:none;}
.fold-body li{padding:3px 0;}
.fold-body .grp{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.06em;margin:14px 0 4px;}
.fold-body .grp:first-child{margin-top:0;}

/* ---------------- 타임라인 ---------------- */
.tl-item{display:grid;grid-template-columns:160px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line);}
.tl-item:last-child{border-bottom:1px solid var(--line);}
.tl-item .yr{font-size:13px;font-weight:800;color:var(--accent);letter-spacing:.02em;padding-top:4px;}
.tl-item h3{margin-bottom:6px;}
.tl-item h3 a{text-decoration:none;border-bottom:1px solid var(--line);}
.tl-item h3 a:hover{border-color:var(--fg);color:var(--accent);}

/* ---------------- 기사 목록 ---------------- */
.press-group{margin-bottom:calc(var(--gap)*.42);}
.press-group h3{margin-bottom:14px;}
.press .row{display:flex;gap:16px;padding:11px 0;border-top:1px solid var(--line);flex-wrap:wrap;}
.press .row:last-child{border-bottom:1px solid var(--line);}
.press .out{flex:0 0 132px;font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.03em;padding-top:3px;}
.press .lnk{flex:1;min-width:0;font-size:13.5px;display:flex;flex-direction:column;gap:5px;}
.press .lnk a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line);overflow-wrap:anywhere;}
.press .lnk a:hover{border-color:var(--fg);color:var(--accent);}

/* ---------------- 푸터 ---------------- */
footer{border-top:1px solid var(--line);padding:34px var(--pad) 60px;}
footer .in{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);}
footer a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line);}
footer a:hover{border-color:var(--fg);color:var(--accent);}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--fg);
  padding:11px 22px;font-size:12.5px;font-weight:700;letter-spacing:.05em;border-radius:2px;}
.btn:hover{background:var(--fg);color:var(--bg);}

/* ============================================================
   전시별 테마
   ============================================================ */
body.t-pv{--bg:#2b2b2d;--bg2:#3a3a3d;--fg:#f4f1ec;--fg2:#cdc7bd;--muted:#9b958c;
  --accent:#f0785f;--line:#4a4a4e;--card:#343437;}
body.t-pv .nav{background:#2b2b2d;}
body.t-pv .subnav a{background:transparent;}
body.t-pv .subnav a.on{background:var(--fg);color:#2b2b2d;}
body.t-pv .btn:hover{background:var(--fg);color:#2b2b2d;}

.poster-stage{background:var(--bg2);padding:clamp(34px,7vw,90px) var(--pad);display:flex;justify-content:center;}
.poster-stage img{max-width:min(560px,100%);width:100%;border-radius:3px;box-shadow:0 24px 60px rgba(0,0,0,.34);}

.rainbow-stage{padding:clamp(34px,7vw,90px) var(--pad);display:flex;justify-content:center;
  background:linear-gradient(135deg,#cfe6fb 0%,#dbd6f5 22%,#f6d6e8 44%,#fde3cf 64%,#e7f2cf 84%,#cfeee6 100%);}
.rainbow-stage img{max-width:min(520px,100%);width:100%;border-radius:3px;box-shadow:0 20px 50px rgba(70,60,90,.22);}
body.t-hc{--accent:#9a4bb5;}
body.t-hc .subnav a.on{background:var(--accent);border-color:var(--accent);color:#fff;}

/* 왼쪽 위 사이트 제목 — 조금 크게, 그림자로 또렷하게 */
body.t-hc .brand{font-size:19px;letter-spacing:-.01em;}
body.t-hc .brand small{font-size:9.5px;letter-spacing:.2em;margin-top:1px;}
body.t-hc .brand .grad{
  filter:drop-shadow(0 1px 2px rgba(38,32,58,.45)) drop-shadow(0 4px 12px rgba(38,32,58,.24));
}

.mtag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.18em;
  padding:5px 12px;border-radius:999px;text-transform:uppercase;color:#fff;}
.m05{background:#2f6fb5}.m06{background:#d1489a}.m07{background:#d79a17}
.m08{background:#4e9f3d}.m09{background:#7b4bb5}.m10{background:#c0563c}

/* ---------------- 언어 전환 ---------------- */
.en{display:none;}
.lang-en .ko{display:none;}
.lang-en .en{display:block;}
.lang-en span.en,.lang-en b.en,.lang-en em.en,.lang-en i.en{display:inline;}

/* ---------------- 라이트박스 ---------------- */
#lb{position:fixed;inset:0;z-index:200;background:rgba(18,16,13,.95);
  display:none;align-items:center;justify-content:center;padding:26px;cursor:zoom-out;}
#lb.on{display:flex;}
#lb img{max-width:100%;max-height:90vh;object-fit:contain;}
#lb .x{position:absolute;top:16px;right:22px;color:#fff;font-size:32px;line-height:1;opacity:.7;}

@media(max-width:680px){
  body{font-size:15.5px;}
  .overview{grid-template-columns:1fr;}
  .overview .poster{max-width:280px;}
  .tl-item{grid-template-columns:1fr;gap:6px;}
  .facts>div{flex-direction:column;gap:2px;}
  .facts b{flex:none;}
  .member .credit div{flex-direction:column;gap:2px;}
  .member .credit div b{flex:none;}
  .fold-body{padding-left:0;}
  .press .row{flex-direction:column;gap:4px;}
  .press .out{flex:none;}
  .gal{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
}


/* ============================================================
   추가 — 그라데이션 글씨 · 월별 테마 · 작품 배치 · 연결선
   ============================================================ */

/* 무지개 그라데이션 글씨 — 테두리 대신 부드러운 그림자로 또렷하게 */
.grad{
  background:linear-gradient(100deg,#5b93c4 0%,#7fb0c6 15%,#a9c283 31%,#d8c473 47%,#dd93ab 64%,#a884bb 82%,#7f9fce 100%);
  background-size:100% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 2px rgba(58,52,74,.30)) drop-shadow(0 3px 9px rgba(58,52,74,.16));
}
.brand .grad{display:inline-block;}

/* 팀 홈 — 제목 왼쪽, 소개 글 오른쪽 */
.introright{max-width:640px;margin-left:auto;}

/* 개요 옆 포스터 슬라이드 */
.pstack{position:relative;aspect-ratio:3/4;border-radius:3px;overflow:hidden;background:var(--bg2);}
.pstack img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.2s ease;}
.pstack img.on{opacity:1;}

/* 큰 포스터 무대 (프로비던스 홈) */
.poster-big{padding:clamp(30px,6vw,80px) var(--pad) clamp(20px,4vw,50px);display:flex;justify-content:center;}
.poster-big img{max-width:min(820px,100%);width:100%;border-radius:4px;box-shadow:0 30px 70px rgba(0,0,0,.4);}

/* 가로 배너형 이미지 슬라이드 (한 장씩 크게, 부드럽게 전환) */
.showcase{position:relative;width:100%;aspect-ratio:16/7;overflow:hidden;border-radius:4px;background:var(--bg2);}
.showcase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease;}
.showcase img.on{opacity:1;}
.showcase.tall{aspect-ratio:16/9;}

/* 작가별 작품 — 대표 크게 + 세부 작게 */
.worklay{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:12px;align-items:start;}
.worklay .hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;background:var(--bg2);cursor:zoom-in;}
.worklay .thumbs{display:grid;gap:12px;}
.worklay .thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;background:var(--bg2);cursor:zoom-in;}
.worklay img:hover{opacity:.88;}
@media(max-width:680px){ .worklay{grid-template-columns:1fr;} .worklay .thumbs{grid-template-columns:1fr 1fr;} }

/* 작품 제목 강조 · 작가 이름은 캡션 크기 */
.wname{font-size:13.5px;color:var(--muted);letter-spacing:.02em;margin-bottom:4px;}
.wtitle{font-size:clamp(19px,2.4vw,25px);font-weight:800;letter-spacing:-.02em;line-height:1.3;margin-bottom:8px;}
.wmeta{font-size:13px;color:var(--muted);margin-bottom:24px;line-height:1.7;}

/* 작가 카드 (참여작가 목록) — 왼쪽 대표작 */
.pcard{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:26px;align-items:start;}
.pcard .pic img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:3px;background:var(--bg2);}
@media(max-width:680px){ .pcard{grid-template-columns:1fr;} .pcard .pic{max-width:200px;} }

/* ---- 프로비던스 참여작가 : 청사진 연결 ---- */
.chain{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px 0 26px;scrollbar-width:thin;}
.chain::-webkit-scrollbar{height:6px;}
.chain::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
.chain-in{display:flex;align-items:flex-start;width:max-content;padding:40px 4px 20px;}
.node{flex:0 0 auto;width:min(80vw,520px);}
.node.d1{margin-top:0}.node.d2{margin-top:86px}.node.d3{margin-top:22px}
.node.d4{margin-top:104px}.node.d5{margin-top:34px}.node.d6{margin-top:118px}
.node .nimg img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;background:var(--bg2);cursor:zoom-in;}
.node .nthumbs{display:flex;gap:8px;margin-top:8px;}
.node .nthumbs img{flex:1;min-width:0;aspect-ratio:1/1;object-fit:cover;border-radius:3px;background:var(--bg2);cursor:zoom-in;}
.node .nbody{margin-top:16px;}
.node .nname{font-size:13px;color:var(--muted);margin-bottom:4px;}
.node .ntitle{font-size:21px;font-weight:800;letter-spacing:-.02em;line-height:1.3;margin-bottom:6px;}
.node .nmeta{font-size:12.5px;color:var(--muted);margin-bottom:12px;line-height:1.65;}
.node .ntext{font-size:14px;color:var(--fg2);line-height:1.8;}
.link{flex:0 0 auto;width:120px;position:relative;align-self:stretch;}
.link svg{position:absolute;left:0;top:0;overflow:visible;}
.link .tag{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-size:10.5px;font-weight:800;letter-spacing:.14em;color:#e0553f;background:var(--bg);
  padding:2px 8px;border-radius:999px;border:1px solid rgba(224,85,63,.45);}
.chain-note{font-size:12.5px;color:var(--muted);margin-top:6px;}

/* ---- 월별 테마 — 배경은 홈 화면의 전시 그라데이션과 같게 ---- */
body.bg05{--bg:#eff6fd;--bg2:#e2eefb;--accent:#1c3f7a;--line:#cfe0f2;--card:#f8fbff;
  --mgrad:linear-gradient(150deg,#a8d4f2 0%,#7cbbe8 50%,#c8e5f8 100%);--mlight:#d5ecfd;}
body.bg06{--bg:#fdf0f7;--bg2:#fbe3f0;--accent:#c8177e;--line:#f4d3e6;--card:#fff8fc;
  --mgrad:linear-gradient(150deg,#fbd3e6 0%,#f7b3d5 50%,#fde5f0 100%);--mlight:#fee2f1;}
body.bg07{--bg:#fdf7e6;--bg2:#faeecb;--accent:#a3720a;--line:#efe0ba;--card:#fffdf5;
  --mgrad:linear-gradient(150deg,#fbeaa8 0%,#f7dc5e 50%,#fdf3cd 100%);--mlight:#fdf2c2;}
body.bg08{--bg:#f1f9ec;--bg2:#e3f3da;--accent:#2f7a22;--line:#d5e9c9;--card:#f9fdf6;
  --mgrad:linear-gradient(150deg,#d6f0c2 0%,#a8dd7f 50%,#eaf8dd 100%);--mlight:#e6f8d6;}
body.bg09{--bg:#f5f0fc;--bg2:#eae0f8;--accent:#5a2b8f;--line:#ded0f0;--card:#fbf8ff;
  --mgrad:linear-gradient(150deg,#e0d0f5 0%,#bb99e8 50%,#efe6fa 100%);--mlight:#eee3fc;}
body.bg10{--bg:#fdf2ee;--bg2:#fbe4dc;--accent:#a53d22;--line:#f2d6cb;--card:#fffaf8;
  --mgrad:linear-gradient(150deg,#fbd9cb 0%,#f2a988 50%,#fdeae1 100%);--mlight:#fde6da;}

/* 월별 페이지 — 그라데이션 배경 위에 글은 밝은 판 위에 얹는다.
   background-attachment:fixed 는 휴대폰에서 튀는 일이 있어 고정 레이어를 따로 깐다 */
body.ym-month{background:none;}
body.ym-month::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--mgrad);}
body.ym-month .nav{background:var(--bg);border-bottom-color:var(--line);}
body.ym-month .wrap>section{
  background:var(--bg);
  border-radius:16px;
  padding:clamp(26px,4.2vw,46px);
  margin-bottom:clamp(26px,4.4vw,50px);
  box-shadow:0 14px 44px rgba(46,42,62,.12);
}
body.ym-month .wrap>section:last-child{margin-bottom:0;}
body.ym-month footer{background:var(--bg);margin-top:clamp(30px,5vw,56px);}
/* 판 안쪽은 여백을 판 자체가 만드니 섹션 아래 여백은 줄인다 */
body.ym-month section{padding-bottom:0;}
body.ym-month .artist{padding:calc(var(--gap)*.36) 0;}

/* 예술감독의 글 제목 — 학교안심 퍼즐 + 해당 전시 색 */
.note-title{color:var(--accent);font-size:clamp(26px,4.2vw,40px);line-height:1.18;letter-spacing:-.01em;}
.note-title .grad,.note-title .grad-warm{display:inline-block;}

/* ---- 월간 영귀미 홈 : 배경·제목 천천히 전환 ---- */
/* 그라데이션은 CSS 로 부드럽게 섞이지 않는다 — 두 겹을 겹쳐 놓고 투명도로 넘긴다 */
.ymhome{position:fixed;inset:0;z-index:-1;}
.ymhome i{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.6s ease;}
.ymhome i.on{opacity:1;}
body.ym-home{background:transparent;}
body.ym-home .nav{background:transparent;border-bottom:0;}
.ymstage{min-height:calc(100vh - 60px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:40px var(--pad) 70px;}
.ymstage .ymno{font-size:11px;letter-spacing:.36em;font-weight:800;margin-bottom:26px;}
.ymstage .ymtitle{font-size:clamp(38px,9vw,104px);line-height:1.02;font-weight:800;letter-spacing:-.035em;}
.ymstage .ymtitle a{text-decoration:none;color:inherit;display:inline-block;}
.ymstage .ymtitle a:hover{opacity:.72;}
.ymstage .ymsub{margin-top:26px;font-size:15px;letter-spacing:.02em;opacity:.8;}
.ymstage .ymdate{margin-top:10px;font-size:13px;opacity:.62;}
.ymdots{display:flex;gap:9px;margin-top:44px;}
.ymdots i{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.28;transition:opacity .5s;}
.ymdots i.on{opacity:1;}

/* 기사 제목 */
.press .lnk a{display:block;}
.press .ttl{font-weight:600;}


/* 따뜻한 색 그라데이션 (만든 사람들) */
.grad-warm{
  background:linear-gradient(100deg,#c9784f 0%,#d99a5f 26%,#dda07c 50%,#d98a90 74%,#c47a72 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 2px rgba(96,58,44,.30)) drop-shadow(0 3px 9px rgba(96,58,44,.16));
}
/* 라벨류에도 그라데이션 */
.facts b.grad,.facts b.grad-warm,
.member .credit div b.grad,.fold-head .lbl.grad,.press .out.grad{
  display:inline-block;
}

/* 전시 전경 위 제목 — 홈 화면처럼 단을 나눈 포스터 느낌 */
.showwrap{position:relative;}
.showcap{position:absolute;left:0;right:0;bottom:0;padding:clamp(24px,3.6vw,46px);
  background:linear-gradient(180deg,rgba(20,16,14,0) 0%,rgba(20,16,14,.20) 34%,rgba(20,16,14,.74) 100%);
  color:#fff;border-radius:0 0 4px 4px;pointer-events:none;}
.showcap .sc-no{font-size:12px;letter-spacing:.3em;font-weight:800;opacity:.94;
  text-shadow:0 2px 10px rgba(0,0,0,.6);}
.showcap .sc-t{font-size:clamp(34px,8.4vw,78px);line-height:1.03;font-weight:800;margin-top:14px;
  letter-spacing:-.025em;color:var(--mlight,#fff);
  text-shadow:0 2px 7px rgba(0,0,0,.5),0 10px 34px rgba(0,0,0,.6);}
@media(max-width:680px){
  .showcase.tall{aspect-ratio:1/1;}
}

/* 홈 제목 페이드 — 색은 안 보이는 사이에 미리 바꾸고, 나타날 때는 이미 그 색 */
.ymstage .ymno,.ymstage .ymtitle,.ymstage .ymsub,.ymstage .ymdate{
  transition:opacity .55s ease,transform .55s ease;}
.ymstage.fading .ymno,.ymstage.fading .ymtitle,
.ymstage.fading .ymsub,.ymstage.fading .ymdate{opacity:0;transform:translateY(10px);}
.ymstage{touch-action:pan-y;}
.ymhint{margin-top:22px;font-size:11.5px;letter-spacing:.14em;opacity:.55;}
