		*{
 margin : 0;
 padding: 0;
 box-sizing: border-box;
}

html, body {
	height: 100%;
}

.container {
	display: flex;
	width: 100%;
	height: 100vh;
}

.left {
	flex: 2;
	background: #ffffff; 
	position: sticky;
	padding: 10px 18px;
}

span {
	background-color: #ffe600;
  color: #000000;
}


p.introko {
	font-size: 13px;
	margin-bottom: 35px;
	line-height: 1.7;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.artist-link {
  color: inherit;
  text-decoration: underline; /* a 기본 밑줄 제거 */
}

.name-trigger{
	text-decoration: underline
}

p.introen {
	font-size: 14px;
	line-height: 1.55;
	color: #000000;
	word-break: keep-all;
	overflow-wrap: break-word;
	margin-bottom: 500px;
}


.sectiontitle {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	margin-bottom: 2px;
}

.cv {
	font-size: 12px;
	line-height: 1.7;
	padding-left: 20px;
	list-style: none;
}

.name-trigger { cursor: pointer; }

.intro-image {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%) rotate(-13deg);
  width: 1600px;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
}
.intro-image.active {
  opacity: 1;
}


.right{
	flex: 8;
	background: #ffffff;
	height: 100vh;
	display: flex;
	flex-direction: column;
	overflow: visible;
}

/*-여기는 카테고리 */

.catnav{
	position: sticky;
	background: #ffffff;
	z-index: 5;
	display: flex;
	justify-content: flex-end;
	padding: 10px 18px;
}

.cat-link + .cat-link::before{
  content: "";
  padding: 0 6px;
}

.cat-link{
  font-size: 12px;       
  letter-spacing: 0.08em; 
  text-transform: uppercase;
  color: #000000;
  text-decoration: none;
  opacity: 0.55;
  padding: 0;              
}

.cat-link.is-active{
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 6px;
}

/*- 카테고리 끝*/

.works{
  flex: 1 1 auto;
  overflow-y: auto;
  padding-top: 26px;
}

.work{ display: none; }
.work.is-active{ display: block; }


.right .work.is-active .work-item{
  clear: both;         /* 캡션 아래로 이미지 강제 */
  z-index: 1;
}

.work-item{
  margin: 0 0 26px 0;
  position: relative;
}

.work-item img{
  width: 100%;
  height: auto;
  display: block;
}


.right span,
.right p,
.right figcaption{
	background: transparent;
}

.work-pack{ margin-bottom: 100px; }               /* 묶음 간격 */
.work-pack .work-item{ clear: both; }            /* 이미지가 캡션 옆으로 말려 올라가지 않게 */
.work-pack .pdf-download{ display:block; text-align:right; margin-right:30px; } /* 링크 정리 */
.work-pack:not(:first-of-type) .captiontop{ position: static; }

.work-pack{
	overflow: visible;
	padding-bottom: 70px;
	margin-bottom: 20px;
	border-bottom: 0.7px solid rgba(0, 0, 0, 1);
}

.right .work.is-active .captiontop {
	position: sticky;
	float: right;
	width: 400px;

	z-index: 50;
	pointer-events: none;
	background: transparent;
	margin-right: 320px;
	margin-bottom: 20px;

	word-break: keep-all;
	overflow-wrap: break-word;
}


.right .captiontop .title{
  font-size: 13px;
}


.right .captiontop .meta{
  font-size: 13px;
}


.right .captiontop .desc{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.7;
}

.work { display: none; }
.work.is-active { display: block; }


.right .work.is-active .pdf-download{
	float: right;
	margin-right: 678px;
}

.pdf-download{
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;

    padding: 6px 10px;                 /* 직사각형 크기 */
    border: 1px solid rgba(0,0,0,0.6); /* 얇은 테두리 */
    border-radius: 2px;                /* 아주 살짝만 */

    color: #000;
    text-decoration: none;
    background: transparent;

    opacity: 0.9;
    transition: 
    background-color 0.15s ease,
    border-color 0.15s ease,
    opacity 0.15s ease;
}

.pdf-download:visited{
  color: #000000;
}

.pdf-download:hover{
  opacity: 0.9;
  background-color: #ffe600;
  border-color: #ffe600;
  opacity: 1;
}

.pdf-download:active{
  color: #888;                    /* 회색 */
  opacity: 1;
}

.gif{
	height: auto;
	display: flex;
	margin: 0 auto;
	max-width: 640px;
}


.gif2{
	width: 70%;
	height: auto;
	display: flex;
	margin-left: auto;
	max-width: 640px;
}

.gif3{
	width: 80%;
	height: auto;
	display: flex;
	margin-left: auto;
	max-width: 640px;
}

.gif4{
	width: 100%;
	height: auto;
	display: flex;
	margin-left: auto;
	max-width: 640px;
}

.gif5{
	height: auto;
	display: flex;
	margin: 0 auto;
	max-width: 840px;
}


.gif6{
	height: auto;
	display: flex;
	margin: 0 auto;
	max-width: 840px;
}

.gif7{
	height: auto;
	display: flex;
	margin: 0 auto;
	max-width: 640px;
}

.gif8{
	height: auto;
	display: flex;
	margin: 0 auto;
	max-width: 640px;
}

.gif9{
	width: 10%;
	height: auto;
	display: flex;
	margin-left: auto;
	max-width: 640px;
	margin-right: 17px;
}

.gif10{
	width: 10%;
	height: auto;
	display: flex;
	margin-left: auto;
	max-width: 640px;
	margin-right: 17px;
}



.work[data-cat="video"] .work-video{
  width: 100%;
  height: auto;      /* 고정 height 절대 금지 */
  border: 0;
  display: block;
}



.work[data-cat="video"] .video-16x9{
  aspect-ratio: 16 / 9;
}

#custom-cursor {
  position: fixed;
  top: 0;
  left: 0;

  width: 12px;
  height: 12px;
  background: #000;
  border-radius: 50%;

  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 2147483647;
}



@media screen and (max-width: 704px) {
    
}

/* ======================================
   MOBILE FINAL — PERFECT EDGE ALIGN + INTRO IMAGE ON MOBILE
   (<= 768px)
   ====================================== */
@media (max-width: 768px) {

  :root { --mobile-edge: 18px; }

  html, body { height: auto !important; }

  .container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    height: auto !important;
  }

  .left, .right {
    width: 100% !important;
    flex: none !important;
    height: auto !important;

    padding-left: var(--mobile-edge) !important;
    padding-right: var(--mobile-edge) !important;

    min-width: 0 !important;
  }

  .left {
    position: static !important;
    padding-top: 18px !important;
  }

  .right { overflow: visible !important; }
  .works { overflow: visible !important; padding-top: 0 !important; }

  /* Background ↔ 카테고리 간격 */
  .sectiontitle { margin-bottom: 14px !important; }
  .cv { margin-bottom: 72px !important; }

  /* 카테고리: 줄바꿈 + 기준선 정렬 */
  .catnav {
    position: static !important;
    justify-content: flex-start !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 48px !important;

    display: flex;
    flex-wrap: wrap !important;
    gap: 8px 14px;
  }

  .cat-link { white-space: nowrap; font-size: 12px; }
  .cat-link + .cat-link::before { content: none !important; }
  .cat-link.is-active { text-underline-offset: 4px; }

  /* 캡션/제목: 모바일에서는 sticky/float 해제 + 기준선 정렬 */
  .right .work.is-active .captiontop {
    position: static !important;
    float: none !important;
    width: auto !important;

    margin: 24px 0 14px 0 !important;
    padding: 0 !important;

    text-align: left !important;
    min-width: 0 !important;
    pointer-events: auto !important;
  }

  .captiontop,
  .captiontop .title,
  .captiontop .meta,
  .captiontop .desc {
    margin: 0 !important;
    padding: 0 !important;

    word-break: keep-all !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  /* PDF 버튼 기억 */
  .right .work.is-active .pdf-download {
    float: none !important;
    margin: 12px 0 0 0 !important;
    display: inline-block !important;
  }

  /* 이미지/GIF: 끝단 정렬 + 여백 */
  .work-item img,
  img.gif, img.gif2, img.gif3, img.gif4, img.gif5, img.gif6,
  img.gif7, img.gif8, img.gif9, img.gif10,
  .work-video, video {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;

    margin: 18px 0 !important;
  }

  .gif9, .gif10 {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  br { display: none; }

  /* ✅ 모바일에서 커스텀 커서/오버레이는 끄되,
        intro-image는 '켜기' */
  .gif-overlay,
  #custom-cursor {
    display: none !important;
  }

  body { cursor: auto !important; }

  /* ======================================
     ✅ MOBILE INTRO IMAGE (김선아 클릭 시)
     ====================================== */

  /* 모바일에서 intro-image를 display:none 하지 말 것! */
  .intro-image{
    display: block !important;

    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-8deg);

    width: 2400px;          
    max-width: 180%;
    height: auto;

	object-fit: contain;

    opacity: 0;
    pointer-events: none;

    z-index: 2147483647;
    transition: opacity .2s ease;
  }

  .intro-image.active{
    opacity: 1;
    pointer-events: auto;
  }


  .name-trigger{
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    touch-action: manipulation;
  }
}
