/*
Theme Name: imaginus 
Description: imaginus Official Theme
Author: Manual Graphics
Version: 1.0
*/

/* Reset Styles */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

body {
	line-height: 1;
}

ol,ul {
	list-style: none;
}

blockquote,q {
	quotes: none;
}

blockquote:before,blockquote:after,q:before,q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

textarea,input {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
}

figure {
	margin: 0;
}

button {
	background-color: transparent;
	outline: none;
	border: none;
	font-family: var(--ff-pretendard);
	cursor: pointer; /* 접근성을 위해 추가 */
}

html {
	font-size: 62.5%;
}

a {
	text-decoration: none;
	color: var(--cb);
}

/* CSS Variables */
:root {
	/* Colors */
	--cp1: #7C4BFF;
	--cp2: #D4FCFC;
	--cp3: #1C223A;
	--cp4: #EBFEFE;
	
	--cw: #fff;
	--cb: #000;
	
	/* Grays */
	--cg1: #252525;
	--cg2: #3d3d3d;
	--cg3: #525252;
	--cg4: #737373;
	--cg5: #969696;
	--cg6: #bdbdbd;
	--cg7: #d9d9d9;
	--cg8: #f0f0f0;
	--cg9: #fafafa;
	
	/* Lines */
	--line: #ccc;
	--linebk: #141414;
	
	/* Transitions */
	--tts: 0.3s;
	--ttm: 0.6s;
	--ttl: 1s;
	
	/* Fonts */
	--ff-pretendard: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
	--ff-mono: "SF Mono", Monaco, Inconsolata, "Roboto Mono", Consolas, "Andale Mono", monospace;
	
	/* Font Sizes */
	--fs0: 1.2rem;
	--fs1: 1.4rem;
	--fs2: 1.6rem;
	--fs3: 1.8rem;
	--fs4: 2rem;
	--fs5: 2.2rem;
	--fs6: 2.4rem;
	--fs7: 2.8rem;
	--fs8: 3.2rem;
	--fs9: 4rem;
	--fs10: 6rem;
	--fsmax: 8rem;
	
	/* Viewport height fix for mobile */
	--vh: 1vh;
}

/* Common Styles */
::selection {
	background-color: var(--cb);
	color: var(--cw);
}
.off {
	opacity: 0;
    transform: translateY(40px);
    transition-property: opacity, transform;
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.on {
    opacity: 1;
    transform: translateY(0);
}
.animate-item {
    opacity: 0;
    transform: translateY(40px);
    --animation-delay: 0s;
}

.animate-item.animate-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) var(--animation-delay),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) var(--animation-delay);
}

/* Utility Classes */
.tac { text-align: center; }
.tar { text-align: right; }
.tal { text-align: left; }
.ttu { text-transform: uppercase; }
.ttc { text-transform: capitalize; }

.title {
	font-size: var(--fs9);
	line-height: 1.2;
	font-weight: 600;
}

.sub-title {
	font-size: var(--fs6);
	font-weight: 500;
}

.maxw {
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
}

.maxws {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.lmt {
	width: calc(100% - 48px);
	margin-left: auto;
	margin-right: auto;
}

/* Display utilities */
.po { display: block; }
.mo { display: none; }

/* Spacing utilities */
.nmt { margin-top: 0; }
.nmb { margin-bottom: 0; }
.npt { padding-top: 0; }
.npb { padding-bottom: 0; }

/* Flexbox utilities */
.fx {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.nogap { gap: 0; }
.gap4 { gap: 4px; }
.gap8 { gap: 8px; }
.gap12 { gap: 12px; }
.gap24 { gap: 24px; }
.gap32 { gap: 32px; }

.flx1 { flex: 1; }
.flx2 { flex: 2; }
.flx3 { flex: 3; }

.fx2 > * { width: calc(50% - 12px); }
.fx3 > * { width: calc(33.33333333333% - 16px); }
.fx4 > * { width: calc(25% - 18px); }

.fxjc { justify-content: center; }
.fxjs { justify-content: space-between; }
.fxac { align-items: center; }
.fxafs { align-items: flex-start; }
.fxafe { align-items: flex-end; }
.fxas { align-items: stretch; }
.fxdc { flex-direction: column; }
.fxdr { flex-direction: row; }
.fxnw { flex-wrap: nowrap; }

/* Position utilities */
.ctw {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.cth {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.cent {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Border radius */
.rd4 { border-radius: 4px; }
.rd8 { border-radius: 8px; }
.rd12 { border-radius: 12px; }
.rd16 { border-radius: 16px; }

/* Text overflow */
.ell {
	width: 100%;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	word-wrap: normal;
	display: block;
}

.ellmx {
	display: -webkit-box;
	max-height: 80px;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: break-all;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* google icons */
.material-symbols-outlined {
	font-size: 32px;
	color: var(--cw);
	opacity: 0;
	transition: var(--tts);
}

.fonts-loaded .material-symbols-outlined {
	opacity: 1;
}
.icocb { color: var(--cb); }
.icocw { color: var(--cw); }
.ico16.material-symbols-outlined { font-size: 16px; }
.ico20.material-symbols-outlined { font-size: 20px; }
.ico24.material-symbols-outlined { font-size: 24px; }

hr {
	width: 100%;
	background: var(--cb);
	height: 1px;
	border: none;
	margin: 0;
}

/* Custom Cursor - 접근성 개선 */
.use-custom-cursor {
	cursor: none;
}

.use-custom-cursor * {
	cursor: none;
}

/* 터치 디바이스에서는 커스텀 커서 비활성화 */
@media (hover: none) {
	.use-custom-cursor,
	.use-custom-cursor * {
		cursor: auto;
	}
	
	.custom-cursor {
		display: none;
	}
}

.custom-cursor {
	position: fixed;
	top: -100px;
	left: -100px;
	width: 12px;
	height: 12px;
	background-color: var(--cp1);
	filter: drop-shadow(0px 0px 7px #ccc);
	border-radius: 50%;
	pointer-events: none;
	z-index: 9999;
	transform: translate(-50%, -50%);
	transition: transform var(--tts);
}

.custom-cursor.on-interactive {
	transform: translate(-50%, -50%) scale(0.8);
}

/* Layout */
body {
	position: relative;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
	word-break: keep-all;
	font-family: var(--ff-pretendard);
	font-weight: 500;
	font-size: var(--fs3);
	line-height: 1.6;
	letter-spacing: -0.01em;
	color: var(--cg1);
	background-color: var(--cw);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Header */
header {
	background-color: transparent;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 110;
	transition: var(--tts);
}
.menu-open header {
	background-color: transparent !important;
}

header.scrolled {
	background: var(--cw);
	background: transparent;
}

header .inner {
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

#logo img {
	display: block;
	height: 28px;
	width: auto;
}
.menu-open #logo img {
	filter: invert(1);
}

.menu {
	width: 100%;
	padding: 0;
	display: flex;
	gap: 24px;
	justify-content: center;
}

.menu li {
	position: relative;
}

.menu li a {
	color: var(--cg4);
	position: relative;
	text-transform: capitalize;
	line-height: 1;
	font-size: var(--fs3);
	transition: color var(--tts);
}

.menu li a:hover {
	color: var(--cb);
}

.hamburger-button {
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	position: relative;
	z-index: 110;
}
.hamburger-button span {
	display: block;
	width: 30px;
	height: 2px;
	margin-bottom: 6px;
	background-color: var(--cp1);
	transition: var(--tts);
}
.hamburger-button span:last-child {
	margin-bottom: 0;
}

.hamburger-button.active span {
	background-color: white;
}

.hamburger-button.active span:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

.hamburger-button.active span:nth-child(2) {
	opacity: 0;
}

.hamburger-button.active span:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}

.mobile-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	background-color: var(--cp1);
	z-index: 105;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.5s ease, visibility 0.5s ease;
	display: flex;
	align-items: end;
	justify-content: center;
}

.mobile-menu-overlay.active {
	visibility: visible;
	opacity: 1;
}

.mobile-menu-container {
	height: 85%;
	width: 100%;
	padding: 2rem;
}

.mobile-menu-items {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mobile-menu-items {
}
.mobile-menu-items li {
	text-align: left;
}
.mobile-menu-items li a {
	text-transform: capitalize;
	color: var(--cw);
	font-size: var(--fs10);
	line-height: 1.4;
	transition: var(--ttm);
}
.mobile-menu-items li a:hover {
	color: var(--cp2);
}
.mobile-social .footer-contact {
	margin-bottom: 20px;
}
.mobile-social span {
	color: var(--cw) !important;
	font-size: var(--fs3);
}
.mobile-social a.btn {
	color: var(--cw);
	border: 1px solid var(--cw);
	font-size: var(--fs1);
	padding: 4px 16px;
}
#slogan {
	width: 300px;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 2rem;
	box-sizing: border-box;
}

/* Container */
.container {
	margin: 0 auto;
	padding: 120px 0 180px;
}

.p-body {
	align-items: start;
	margin: 0px auto;
	box-sizing: border-box;
	flex-wrap: wrap;
	width: 100%;
}

/* footer */
.site-footer {
    background-color: #13092f;
    color: #ffffff;
    padding: 28px 0 20px;
    margin-top: auto;
}
.footer-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}
.footer-logo a#logo img {
	height: 48px;
	filter: invert(1);
}
.footer-nav {
	margin-bottom: 16px;
}
.footer-nav .footer-menu {
    gap: 32px;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-nav .footer-menu li a {
    color: var(--cw);
	text-transform: capitalize;
	font-size: var(--fs5);
    text-decoration: none;
    transition: color 0.3s ease;
}
.footer-nav .footer-menu li a:hover {
    color: #ccc;
}
.footer-contact {
    display: flex;
    flex-direction: column;
}
.contact-item {
    display: flex;
    gap: 8px;
    align-items: center;
}
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid var(--cg3);
}
.footer-bottom span {
	font-size: var(--fs2);
	color: var(--cg5) !important;
}
.footer-copyright {
	color: var(--cg5);
}
.language-link {
    color: var(--cg7);
    text-decoration: none;
    transition: color 0.3s ease;
}

/* Sections */
.sec {
	padding: 120px 0;
}

/* Post Styles */
.post > * {
	margin-bottom: 12px;
}

.post > *:last-child {
	margin-bottom: 0;
}

.profile {
	flex-direction: row;
	font-size: var(--fs1);
	color: var(--cg3);
}

.profile img {
	width: 28px;
	height: 28px;
	border-radius: 50%;
}

/* page-navigation */
.page-navigation {
	display: none;
}

/* contact */
#page-contact .page-content {
}
.contact-info-container {
	display: flex;
	flex-direction: row;
}

.contact-info {
}
.contact-map {
	height: 580px;
	overflow: hidden;
}

.contact-map iframe {
	width: 100%;
	height: 100%;
}
.contact-item span {
	font-size: var(--fs2);
	color: var(--cg5);
}

.contact-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-right: 16px;
	color: #333;
}

.contact-item a,
.contact-item address {
	text-decoration: none;
}

.contact-item a:hover {
	text-decoration: underline;
}

/* home */
#page-home {
	width: 100%;
	height: auto;
	padding: 0;
}
.home .site-footer {
	position: relative;
	z-index: 1;
}
.home #tagline {
	color: var(--cw);
	z-index: 99;
	font-size: var(--fs9);

	position: fixed;
	left: 0;
	bottom: 0;
	padding: 24px;
	box-sizing: border-box;
	width: 100%;
}
.home #tagline h2 {
	line-height: 1.3;
	font-weight: 600;
	filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.4));
}
#page-home .background-shapes {
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
	background: var(--cp3);
    overflow: hidden;
    will-change: transform;
}
#page-home .section-footer {
	margin: 60px auto;
	text-align: center;
}
.view-all-btn {
	display: inline-flex;
	padding: 10px 20px;
	color: var(--cg1);
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	background: var(--cp4);
	transition: all 0.3s ease;
}
#page-home .shape {
    position: absolute;
    opacity: 0.8;
    will-change: transform;
    transform-origin: center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
#page-home .rotated-square {
    background: #7c3aed;
    border-radius: 8px;
}
#page-home .oval {
    background: #7c3aed;
    border-radius: 50%;
}
.upcoming-works-section {
	margin-top: 100px;
}
#upcoming-works-list {
	display: grid;
	grid-auto-flow: row;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-columns: 1fr;
}
#upcoming-works-list .work-card {
	gap: 8px;
	flex-direction: column;
}
#upcoming-works-list .work-card .work-title a {
	font-size: var(--fs3);
}
#upcoming-works-list .work-card .work-status {
	font-size: var(--fs2);
}
#upcoming-works-list .work-card .work-details {
	display: none;
}
#page-home .size-slider {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 200px;
    height: 6px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
    outline: none;
    z-index: 100;
	filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.4));
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
#page-home .size-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background: var(--cp1);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

#page-home .size-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 50%;
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
/* about */
#page-about {
	padding-bottom: 0;
}
#page-about section.sec {
	padding: 60px 0 120px;
}
#page-about .about-hero img {
	width: 100%;
	height: auto;
	display: block;
}

#page-about .about-intro .section-title,
#page-about .about-value .section-title,
#page-about .about-works .section-title,
#page-about .about-labels .section-title,
#page-about .about-bi .section-title {
  font-size: var(--fs8);
  font-weight: 600;
}
#page-about .intro-text p {
  line-height: 1.7;
  margin-bottom: 1rem;
}
#page-about .intro-text p strong {
	font-weight: 700;
}
.about-value {
	background: var(--cg8);
}
.value-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
.value-item {
	display: flex;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--cg7);
}
.value-item .num {
	font-size: var(--fs5);
	display: block;
}
.value-item h3 {
	font-size: var(--fs5);
}
.value-item p {
	font-size: var(--fs3);
	color: var(--cg4);
}
.works-slider {
}
.works-slide {
	margin: 0 12px;
}
.works-slide img {
	height: auto;
	width: 100%;
	border-radius: 4px;
	display: block;
}

.labels-grid {
	margin-top: 60px;
	display: grid;
	grid-auto-flow: row; /* column을 row로 변경 */
	grid-template-columns: repeat(5, 1fr); /* 5개 열로 고정 */
	grid-auto-columns: 1fr;
	column-gap: 24px;
	row-gap: 24px;
	align-items: center;
	justify-items: center;
}

.labels-grid img {
  max-width: 100%;
  width: 100%;
  display: block;
  margin: 0 auto;
  filter: grayscale(1);
}
.labels-grid figcaption {
	text-align: center;
	font-size: var(--fs1);
	color: var(--cg4);
}

.about-bi {
	background: var(--cg8);
}
.about-bi .bi-content {
  align-items: flex-start;
}
.about-bi .bi-content .bi-assets {
	width: 100%;
}
.about-bi .bi-content .bi-assets .img-wrap.fx {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
}
.about-bi .bi-content .bi-assets .img-wrap.fx .fx h4 {
	color: var(--cg4);
}
.about-bi .bi-content .bi-assets .img-wrap.fx>* {
	flex: 1;

}
.about-bi .bi-assets a:hover {
  text-decoration: underline;
}
.about-bi .img-wrap {
	margin-top: 60px;
}
.about-bi .img-wrap h4 {
	margin-bottom: 10px;
}
.about-bi .img-wrap div {
	background: var(--cw);
	width: 100%;
	padding: 100px;
	box-sizing: border-box;
	position: relative;
}
.about-bi .img-wrap div a {
	position: absolute;
	right: 10px;
	bottom: 10px;
}
.about-bi .img-wrap div img {
	display: block;
	margin: 0 auto;
	width: 100%;
	height: auto;
}

/* works */
.toggle-switch-state {
	position: relative;
	display: inline-block;
	width: 80px;
	height: 32px;
}
.toggle-switch-state input {
	display: none;
}
.view-toggle .slider {
	background-color: var(--cp2);
	border-radius: 999px;
	width: 100%;
	height: 100%;
	position: relative;
	transition: background-color 0.3s ease;
	display: flex;
	align-items: center;
	padding: 0 10px;
	box-sizing: border-box;
	font-size: var(--fs1);
	color: var(--cg5);
	justify-content: space-between;
}
.view-toggle .slider::before {
	content: "";
	position: absolute;
	height: 20px;
	width: 20px;
	left: 6px;
	top: 6px;
	background-color: var(--cp1);
	border-radius: 50%;
	transition: var(--tts);
	z-index: 1;
}
.toggle-switch-state input:checked + .slider {
}
.toggle-switch-state input:checked + .slider::before {
	transform: translateX(46px);
}
.label-text {
	position: absolute;
	width: 100%;
	text-align: center;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	transition: var(--tts);
	font-size: var(--fs1);
	color: var(--cg3);
	padding: 10px;
	box-sizing: border-box;
	pointer-events: none;
}
.label-on {
	opacity: 0;
	text-align: left;
}
.label-off {
	opacity: 1;
	text-align: right;
}
.toggle-switch-state input:checked + .slider .label-on {
	opacity: 1;
}
.toggle-switch-state input:checked + .slider .label-off {
	opacity: 0;
}

#works-list-ul.gallery-mode {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
	row-gap: 40px;
}
.work-item.gallery .work-details {
    display: none !important;
}
.work-item.gallery .work-card {
	gap: 8px;
    flex-direction: column;
}
.work-item .work-thumbnail a {
	position: relative;
}
.work-item .work-thumbnail a .work-overlay {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--cp1);
}
.work-item.gallery .work-card .work-title a {
	font-size: var(--fs3);
}
.work-item.gallery .work-card .work-status {
	font-size: var(--fs2);
}
.work-item.gallery .work-details {
    display: none;
}
#works-list .th-list {
	row-gap: 40px;
}
#works-list #works-list-ul.gallery-mode {
	row-gap: 32px;
}
.work-title a {
	width: 100%;
	display: flex;
	font-size: var(--fs7);
}
.works-filter {
	margin-bottom: 30px;
}
.work-item {
	width: 100%;
}
.work-thumbnail a img {
	border-radius: 4px;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	height: auto;
}
.work-details {
	border-top: 1px solid var(--cg7);
	margin-top: 20px;
	padding-top: 20px;
}
.detail-label {
	color: var(--cg5);
}
.work-status {
	color: var(--cg5);
}
/* works-single */
#single-works {
	padding-bottom: 0;
}
#single-works .works-header {
  text-align: center;
  margin-bottom: 2rem;
}

#single-works .works-header h1 {
	font-size: var(--fs9);
	text-align: left;
	font-weight: 600;
	margin-bottom: 12px;
	letter-spacing: -0.01em;
}
#single-works .works-thumbnail img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}
#single-works .works-statement {
	margin-bottom: 60px;
	margin-top: 4rem;
}
#single-works .works-stillcut {
	margin-bottom: 60px;
}
.work-meta-grid{
	display: grid;
	grid-template-columns: 150px 1fr;
	column-gap: 24px;
	row-gap: 10px;
	margin: 0;
}
.work-meta-grid dt{
	color: var(--cg5);
	margin: 0;
}
.work-meta-grid dd {
	margin: 0;
}

#single-works .section-title {
	font-size: var(--fs8);
    font-weight: 600;
	margin-bottom: 10px;
}
.stillcut-gallery {
	max-width: 100%;
	width: 50%;
}
.stillcut-gallery{ visibility: hidden; }
.stillcut-gallery.slick-initialized{ visibility: visible; }

.stillcut-gallery .slick-slide img{
  width:100%; height:auto; display:block; object-fit:cover; border-radius:4px;
}
.stillcut-gallery .slick-list { overflow: hidden; }
.stillcut-gallery .slick-slide { height: auto; }
.stillcut-gallery .slick-slide img{
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	border-radius: 4px;
}
.stillcut-gallery .slick-track{ display: flex; }
.stillcut-gallery .slick-slide{ float: none; }
.stillcut-gallery .slick-slide {
}
#single-works .stillcut-gallery .slide img {
	border-radius: 4px;
	object-fit: cover;
}
#single-works .stillcut-gallery::before {
	display: none;
}

.works-related {
	background: var(--cg8);
	padding: 60px 0 120px;
}
#single-works .works-related h2.section-title {
	font-size: var(--fs5);
}
.works-related .works-list {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.works-related .works-list .work-card {
	gap: 8px;
	flex-direction: column;
}
.works-related .works-list .work-card .work-title a {
	font-size: var(--fs3);
}
.works-related .works-list .work-card .work-status {
	font-size: var(--fs2);
}
.works-related .works-list .work-card .work-details {
	display: none;
}
.related-thumb{ aspect-ratio: 3/2; overflow:hidden; border-radius:8px; background:#f2f3f6; }
.related-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.related-title{ margin:.6rem 0 0; font-weight:600; font-size:clamp(16px,1.2vw,18px); }

/* notice */
.page-header {
	margin-bottom: 12px;
}
.page-title {
    font-size: var(--fs10);
	font-weight: 500;
    margin: 0;
	text-transform: capitalize;
}
.notice-filter {
    margin-bottom: 30px;
}
.filter-tabs {
}
.filter-tab {
    background: var(--cp4);
    border: none;
    padding: 12px 24px;
	font-size: var(--fs2);
    cursor: pointer;
	font-weight: 600;
    transition: all 0.3s ease;
    position: relative;
	border-radius: 4px;
}
.filter-tab:hover {
    background-color: var(--cg8);
}
.filter-tab.active {
    background-color: var(--cp1);
	color: var(--cw);
}
.notice-list {
    display: flex;
    flex-direction: column;
}
.notice-item {
    display: flex;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--cg7);
    transition: background-color 0.2s ease;
}
.notice-item:hover {
    background-color: var(--cg9);
}
.notice-item:last-child {
    border-bottom: none;
}
.notice-category {
    min-width: 60px;
    margin-right: 30px;
}
.category-label {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
}
.notice-item[data-category="뉴스"] .category-label {
    color: #1976d2;
}
.notice-item[data-category="공지"] .category-label {
    color: #7b1fa2;
}
.notice-item[data-category="IR"] .category-label {
    color: #388e3c;
}
.notice-item[data-category="전체"] .category-label {
    color: #666;
}
.notice-content {
    flex: 1;
    padding-right: 20px;
}
.notice-single .notice-title {
	font-size: var(--fs8);
	font-weight: 600;
	border-bottom: 1px solid var(--line);
    margin: 0;
	margin-bottom: 20px;
	padding-bottom: 20px;
    line-height: 1.4;
}
.post-navigation {
	margin-top: 40px;
	border-top: 1px solid var(--line);
	padding: 10px 0;
}
.post-navigation .nav-item {
	flex: 1;
	font-size: var(--fs2);
	font-weight: 600;
	color: var(--cg4);
}
.post-navigation .nav-item a {
	background: var(--cp4);
	border: none;
	padding: 8px 24px;
	cursor: pointer;
	border-radius: 3px;
}
.post-navigation .nav-item a:hover {
}
.post-navigation .nav-list a {
	background: var(--cw);
}
.nav-next {
	text-align: right;
}
.nav-link {
	text-align: right;
}
.nav-icon {
	display: inline-block;
	transition: all 0.3s ease;
	position: relative;
	border-radius: 4px;
}
.nav-list {
	text-align: center;
}
.notice-title a {
    color: var(--cg3);
    text-decoration: none;
    transition: color 0.2s ease;
}
.notice-title a:hover {
    color: var(--cp1);
}
.notice-date {
    min-width: 100px;
    text-align: right;
}

.notice-date time {
    color: var(--cg5);
	font-size: var(--fs2);
}

/* No Notices */
.no-notices {
    text-align: center;
    padding: 60px 20px;
    color: #666;
}

.no-notices p {
    font-size: 1.1rem;
    margin: 0;
}
.page-template-about-re-php header {
	display: none;
}
#header-re {
	height: 72px;
	display: block;
	background: transparent !important;
}
#hamburger-menu {
	background: rgb(162 123 206 / 10%);
    backdrop-filter: blur(10px);
	border-radius: 48px;
	height: 48px;
	width: 48px;
	align-items: center;
	display: flex;
	flex-direction: column;
    justify-content: center;
}
#hamburger-menu span {
	width: 24px;
}
#header-re ul {
	background: rgb(162 123 206 / 10%);
    backdrop-filter: blur(10px);
	border-radius: 4px;
	padding: 6px 24px;
	gap: 32px;
	height: 48px;
	align-items: center;
}
#header-re ul li a {
	line-height: 1;
	text-transform: capitalize;
	color: var(--cp1);
}
#page-about-re {
	padding: 0 !important;
}

header {
	display: none;
}
#header-re {
	z-index: 999;
	display: block;
}
