/**
 * Content
 */

/* =========================================
   1. 프리텐다드 (Pretendard) 웹폰트 로드
   ========================================= */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

/* =========================================
   2. 페이퍼로지 (Paperlogy) 눈누 웹폰트 로드
   (기존 CSS와 연결되도록 이름을 'paperlogy'로 수정함)
   ========================================= */
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: 'paperlogy';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

/* =========================================
   카고 기본 썸네일 -> 커스텀 카드 디자인 (가운데 정렬, 여백 보장, 글자크기 축소 버전)
   ========================================= */

/* 1. 카고의 최상위 래퍼 너비 제한 완전 해제 및 화면 가운데 정렬 */
body .site_wrapper,
body #site_wrapper,
body .content_container,
body #content_container,
body .page_container,
body #page_container,
body .thumbnails-wrap, 
body .cargo-gallery,
body .project-list-wrap,
body [data-css*="thumbnail"] {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 1400px !important; /* 너무 퍼지지 않게 1400px로 조정 */
    padding: 0 0px !important; /* 최소한의 양옆 여백 */
    margin: 0 auto !important; /* 전체 컨테이너 완벽한 가운데 정렬 */
    box-sizing: border-box !important;
    float: none !important;
    position: relative !important;
}

/* 2. 컨테이너를 Flexbox로 강제 전환 (gap 대신 margin 사용) */
body .thumbnails, 
body #thumbnails,
body .thumbnails_container,
body .gallery,
body .project-list,
body .grid {
    display: flex !important;
    flex-wrap: wrap !important; 
    gap: 0 !important; /* 카고 환경에서 무시되는 gap 속성을 끄고 margin으로 통제 */
    justify-content: center !important; /* 카드들을 화면 정중앙으로 모음 */
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important; 
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* 3. 개별 썸네일 카드 뼈대 (3열 강제 배치 및 강제 여백 부여) */
body .thumbnail,
body .project-thumb,
body .gallery-item {
    position: relative !important;
    
    /* 카고 인라인 좌표 무력화 */
    top: 30px !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    
    /* 여백 40px(좌20+우20)을 뺀 정확한 33.33% 폭 계산 */
    width: calc(33.3333% - 40px) !important; 
    min-width: 280px !important; /* 조기 줄바꿈 방지 */
    flex: 0 0 auto !important; 
    
    height: auto !important;
    aspect-ratio: 16 / 9 !important; /* 16:9 비율 강제 */
    
    border-radius: 16px !important;
    overflow: hidden !important;
    background: #1a1a1a !important;
    
    /* 카드마다 상하좌우 강제 물리적 여백 부여 (gap 씹힘 완벽 방어) */
    margin: 10px 20px 20px 10px !important; 
    padding: 0 !important;
    display: block !important;
    float: none !important;
    clear: none !important;
}

/* 4. 그라데이션 오버레이 */
body .thumbnail::after,
body .project-thumb::after,
body .gallery-item::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important; 
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 40%, transparent 60%, rgba(0,0,0,0.3) 100%) !important;
    pointer-events: none !important;
    z-index: 2 !important; 
}

/* 5. 투명한 클릭 영역 */
body .thumbnail a,
body .project-thumb a,
body .gallery-item a {
    position: absolute !important;
    inset: 0 !important; 
    width: 100% !important;
    height: 100% !important;
    z-index: 20 !important;
    text-decoration: none !important;
    display: block !important;
    background: transparent !important;
}

/* 6. 이미지 영역 */
body .thumbnail [style*="padding-bottom"],
body .thumbnail .thumb_image,
body .thumbnail [class*="image"],
body .project-thumb [style*="padding-bottom"],
body .project-thumb .image-container,
body .gallery-item .img-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important; 
    margin: 0 !important;
    z-index: auto !important;
}

body .thumbnail img,
body .project-thumb img,
body .gallery-item img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    display: block !important;
}

body .thumbnail:hover img,
body .project-thumb:hover img,
body .gallery-item:hover img {
    transform: scale(1.05) !important;
}

/* =========================================================
   7. 텍스트 컨테이너 절대 위치 고정
   ========================================================= */
/* 타이틀 (하단 고정) */
body .thumbnail [class*="title"], 
body .project-thumb [class*="title"],
body .gallery-item [class*="title"] {
    position: absolute !important;
    bottom: 20px !important;
    left: 20px !important;
    right: 20px !important;
    top: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 12 !important;
    text-align: left !important;
    background: transparent !important;
    pointer-events: none !important;
}

/* 태그 (상단 고정) */
body .thumbnail [class*="tag"],
body .project-thumb [class*="tag"],
body .gallery-item [class*="tag"],
body .thumbnail .tags,
body .project-thumb .tags,
body .gallery-item .tags {
    position: absolute !important;
    top: 20px !important;
    bottom: auto !important;
    left: 20px !important;
    right: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 12 !important;
    text-align: left !important;
    background: transparent !important;
    pointer-events: none !important;
}

/* 8. 텍스트 디자인 고정 (글자 크기 축소 반영) */
body .thumbnail [class*="title"],
body .thumbnail [class*="title"] *,
body .project-thumb [class*="title"] *,
body .gallery-item [class*="title"] * {
    font-family: -apple-system, BlinkMacSystemFont, 'Pretendard', sans-serif !important;
    font-size: 1.1rem !important; /* 1.6rem -> 1.1rem으로 대폭 축소 */
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.6) !important;
    text-align: left !important;
    display: block !important;
    margin: 0 !important;
}

body .thumbnail [class*="tag"],
body .thumbnail [class*="tag"] *,
body .project-thumb [class*="tag"] *,
body .gallery-item [class*="tag"] *,
body .thumbnail .tags,
body .project-thumb .tags,
body .gallery-item .tags {
    font-family: -apple-system, BlinkMacSystemFont, 'Pretendard', sans-serif !important;
    font-size: 0.85rem !important; /* 1rem -> 0.85rem으로 축소 */
    font-weight: 500 !important;
    color: #ffffff !important;
    opacity: 0.85 !important;
    text-align: left !important;
    display: block !important;
    margin: 0 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8) !important;
}

body .thumbnail br,
body .project-thumb br,
body .gallery-item br {
    display: none !important;
}

/* 9. 모바일/태블릿 반응형 */

/* =========================================
   모바일 전용 줄바꿈 (.mobile-br) 제어
   ========================================= */

/* 1. 기본 상태(PC)에서는 줄바꿈 태그 숨기기 (무시하기) */
.mobile-br {
    display: none !important;
}

/* 2. 모바일 화면(768px 이하)에서는 줄바꿈 태그 다시 켜기 */
@media (max-width: 768px) {
    .mobile-br {
        display: block !important;
    }
}
@media (max-width: 1024px) {
    body .thumbnail,
    body .project-thumb,
    body .gallery-item {
        /* 태블릿에서는 2열 배치 (여백 40px 제외) */
        width: calc(50% - 40px) !important; 
    }
}

@media (max-width: 768px) {
    body .thumbnail,
    body .project-thumb,
    body .gallery-item {
        /* 모바일에서는 1열 배치 */
        width: calc(100% - 40px) !important; 
        margin: 0 20px 30px 20px !important;
    }
    
    
}


/*구분선*/

body {
	background-color: #fff;
	color: #000;
}

a:active {
	opacity: 0.85;
}

.page a.active {
	opacity: .4;
}

i,
em {
	font-style: italic;
}

b,
strong {
	font-weight: bolder;
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
}

sub {
	top: 0.3em;
}

sup {
	top: -0.4em;
}

s {
	text-decoration: line-through;
}

img {
	border: 0;
	padding: 0;
}

ul,
ol {
	margin: 0;
	padding: 0 0 0 1em;
}

blockquote {
	margin: 0;
	padding: 0 0 0 2em;
}

hr {
	background: rgba(51, 102, 153, 0.25);
	border: 0;
	height: 1px;
	display: block;
}

.content img {
	float: none;
	margin-bottom: 1em;
}

.gallery_image_caption {
    margin-top: 1.2rem;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.35);
	font-family: "Plex Mono", Icons;
	font-style: normal;
	line-height: 1.3;
}

/**
 * Loading Animation
 */

.loading[data-loading] {
	position: fixed;
	bottom: 8px; 
    left: 8px;
}

/**
 * Editor styles
 */

[data-predefined-style="true"] bodycopy {
	font-size: 1rem;
	font-weight: 500;
	color: #369;
	font-family: "Pretendard", Icons;
	font-style: normal;
	line-height: 1.3;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

[data-predefined-style="true"] bodycopy a {
	color: rgba(255, 255, 255, 0.5);
	padding-bottom: 0.1em;
	border-bottom: 0.07em solid rgba(255, 255, 255, 0.3);
	text-decoration: none;
}

[data-predefined-style="true"] bodycopy a:hover {

}

bodycopy a.image-link,
bodycopy a.icon-link,
bodycopy a.image-link:hover,
bodycopy a.icon-link:hover {
	border-bottom: 0;
	padding-bottom: 0;
}

[data-predefined-style="true"] h1 {
	font-family: "paperlogy", Icons;
	font-style: normal;
	padding: 0;
	margin: 0;
	font-size: 4rem;
	line-height: 1.1;
	color: #369;
    font-weight: 700;
	font-variation-settings: 'wdth' 85, 'slnt' 0;
	}

[data-predefined-style="true"] h1 a {
	color: rgba(255, 255, 255, 0.95);
}

[data-predefined-style="true"] h2 {
	font-family: "paperlogy", Icons;
	padding: 0;
	margin: 0;
	color: #369;
	font-size: 2.5rem;
	line-height: 1.2;
	font-style: normal;
	font-weight: 700;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	}

[data-predefined-style="true"] h2 a {
	color: rgba(255, 255, 255, 0.95);
}

[data-predefined-style="true"] small {
	display: inline-block;
	font-size: 1rem;
	line-height: 1.3;
	font-family: "Diatype Variable", Icons;
	font-style: normal;
	font-weight: 400;
	color: #369;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

[data-predefined-style="true"] small a {
	color: rgba(255, 255, 255, 0.5);
	border-bottom-width: 0em;
}

/**
 * Breakpoints
 */


[data-css-preset] .page {
    background-color: initial /*!page_bgcolor*/;
}

.mobile .page,
[data-css-preset].mobile .page {
	position: relative;
	min-height: 10px;
	max-width: 100%;
	width: 100%;
	background-color: transparent /*!page_bgcolor*/;
}

[data-css-preset] .container {
	margin-left: auto /*!content_center*/;
	margin-right: auto /*!content_center*/;
    margin-top: 1px;
	text-align: center /*!text_center*/;
}

[data-css-preset] body {
	background-color: #fef6d8/*!body_bgcolor*/;
}

[data-css-preset] .container_width {
	width: 100%/*!content_center*/;
}

[data-css-preset] .content_padding {
	padding-top: 0rem /*!main_margin*/;
	padding-bottom: 0rem /*!main_margin*/;
	padding-left: 0rem /*!main_margin*/;
	padding-right: 0rem /*!main_margin*/;
}


[data-css-preset] text-limit {
	display: inline-block /*!text_width*/;
	max-width: 66rem/*!text_width*/;
}

/**
 * Thumbnails
 */

div[thumbnails] {
	justify-content: flex-start;
}

[data-css-preset] .thumbnails {
   	background-color: rgba(0, 0, 0, 0)/*!thumbnails_bgcolor*/;   
}

[data-css-preset] .thumbnails_width {
    width: 92%/*!thumbnails_width*/;
}

[data-css-preset] [thumbnails-pad] {
    padding: 0rem/*!thumbnails_padding*/;
}

[data-css-preset] [thumbnails-gutter] {
    margin: 0rem/*!thumbnails_padding*/;
}

[data-css-preset] [responsive-layout] [thumbnails-pad] {
    padding: 2rem/*!responsive_thumbnails_padding*/; 
}

[data-css-preset] [responsive-layout] [thumbnails-gutter] {
    margin: -4rem/*!responsive_thumbnails_padding*/; 
}

.thumbnails .thumb_image {
	outline: 0px solid rgba(0,0,0,.12);
    outline-offset: -1px;
}

.thumbnails .title {
    margin-top: 1.2rem;
    margin-bottom: 0.8rem;
    font-size: 1.3rem;
	font-weight: normal;
	color: rgba(255, 255, 255, 0.5);
	font-family: "Plex Mono", Icons;
	font-style: normal;
	line-height: 1;
}

.thumbnails .tags {
    margin-top: 1.3rem;
    margin-bottom: 0.5rem;
    font-size: 1.3rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.35);
	font-family: "Plex Mono", Icons;
	font-style: normal;
	line-height: 1;
}

.thumbnails .tags a {
	border-bottom: 0;
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
}

.thumbnails .has_title .tags {
	margin-top: 0rem;
}

/**
 * Site Menu
 */

[data-css-preset] #site_menu_button {
    color: rgba(51, 102, 153, 1);
    line-height: 1;
    font-size: 28px /*!site_menu_button*/;
    padding: 6px;
    line-height: 1;
    background: rgba(126, 117, 251, 0);
    position: fixed;
	top: 3rem /*!site_menu_button*/;
	right: 3rem /*!site_menu_button*/;
}

body.mobile #site_menu_button {
	margin: -20px;
    font-size: 25px;
}

#site_menu_button.custom_icon {
	width: 25px;
    height: auto;
}

#site_menu_button.active {
	display: none;
}

/**
 * Site Menu
 */

#site_menu {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Sans Serif", Icons;
	background: rgba(51, 102, 153, 0.82);
	font-size: 15px;
	font-style: normal;
	font-weight:700;
	padding: 40px 35px 90px 30px;
	max-width: 109px;
	min-width: 54px;
	text-align: right;
	display: flex;
	justify-content: flex-start;
}

body.mobile #site_menu {
	width: 100%;
}

#site_menu .page-link a {
	color: rgba(253, 245, 215, 1);
}

#site_menu .set-link > a {
	color: rgba(253, 245, 215, 1);
	font-weight: bold;
}

#site_menu a:active {
	opacity: .5;
}

#site_menu a.active {
	opacity: .4;
}

#site_menu .close {
	display: none;
	color: rgba(253, 245, 215, 1);
	line-height: .85em;
	font-size: 25px;
}

body.mobile #site_menu .close {
	display: block;
	font-size: 30px;
	line-height: 1em;
}

#site_menu .break {
	height: 28px;
}

#site_menu .indent {
	margin-left: 28px;
}

/*
 * Shop Button
 */

[data-css-preset] #shop_button {
	color: rgba(255, 255, 255, 0.8);
    background: transparent;
	font-size: 32px;
    font-style: normal;
	font-weight: 400;
    line-height: 1;
    position: fixed;
	padding: 6px;
	top: 2rem /*!shop_button*/;
	right: 2rem /*!shop_button*/;
}

#shop_button.text {
    font-family: "Plex Sans", Icons;
	font-size: 1.5rem;
    padding: 0;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.8);
	font-style: normal;
}

#shop_button.custom_icon {
	width: 40px;
    height: auto;
}

body.mobile #shop_button:not(.text) {
	margin: -6px;
    font-size: 36px;
}

/*
 * Shop Product Widget
 */

.shop_product {
    width: 100%;
	max-width: 22rem;
    position: relative;
    display: block;
}

.shop_product .price {
	font-family: "Plex Mono", Icons;
	font-size: 1.8rem;
	line-height: 1;
	color: rgba(255, 255, 255, 0.5);
    display: block;
    margin-bottom: 1rem;
	font-style: normal;
	font-weight: 400;
}

.shop_product .dropdown {
    font-family: "Plex Mono", Icons;
    font-size: 1.3rem;
    display: inline-block;
	width: 100%;
    border: 1px solid rgba(255,255,255,0.4);
    background:  white url(https://static.cargo.site/assets/images/select-arrows.svg) no-repeat right;
    margin-bottom: 1rem;
    line-height: 1.2;
    padding: .7rem 1rem;
	font-style: normal;
	font-weight: 400;
}

.shop_product .button {
    font-family: "Plex Mono", Icons;
	font-size: 1.3rem;
    background: rgba(255, 255, 255, 0.25);
    color: rgba(255,255,255,1);
    flex: 0 0 50%;
    text-align: left;
    display: inline-block;
	line-height: 1;
    padding: .8rem 1rem .9rem;
	font-style: normal;
	font-weight: 400;
}

/*
 * Image Zoom
 */

.content img.image-zoom:active {
  opacity: .7;
}

/**
 * Quick View
 */

[data-css-preset] .quick-view {
    padding-top: 2.5rem /*!quick_view_padding*/;
    padding-bottom: 2.5rem /*!quick_view_padding*/;
    padding-left: 2.5rem /*!quick_view_padding*/;
    padding-right: 2.5rem /*!quick_view_padding*/;
    height: 100% /*!quick_view_height*/;
    width: 100% /*!quick_view_width*/;
}

body.mobile .quick-view {
    width: 100%;
    height: 100%;
    margin: 0;
}


[data-css-preset] .quick-view-background {
	background: rgba(0, 0, 0, 0.95) /*!quick_view_bgcolor*/;
}

.quick-view-caption {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;
    transition: 100ms opacity ease-in-out;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 2rem 0;
    text-align: center;
    font-size: 1.8rem;
}

.quick-view-caption span {
    padding: 0.5rem 1rem;
    display: inline-block;
    background: rgba(0,0,0,0.4);
    color: white;
}


/**
 * Quick View Navigation 
 */

.quick-view-navigation .left-arrow {
    left: 10px;
}

.quick-view-navigation .right-arrow {
    right: 10px;
}

.quick-view-navigation .left-arrow,
.quick-view-navigation .right-arrow {
    /* Change height/width together to scale */
    height: 36px;
    width: 36px;
}

.quick-view-navigation .left-arrow .inner-color,
.quick-view-navigation .right-arrow .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.quick-view-navigation .left-arrow .outer-color,
.quick-view-navigation .right-arrow .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0.6;
}

.quick-view-navigation .close-button {  
    top: 10px;
    right: 10px;
    /* Change height/width together to scale */
    width: 36px;
    height: 36px;
}

.quick-view-navigation .close-button .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.quick-view-navigation .close-button .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0.6;
}

/** 
 * Image Gallery Navigation Arrows 
 */
 
.image-gallery-navigation .left-arrow,
.image-gallery-navigation .right-arrow {
    /* Change height/width together to scale */
    height: 36px;
    width: 36px;
}

.image-gallery-navigation .left-arrow .inner-color,
.image-gallery-navigation .right-arrow .inner-color {
    stroke: #fff;
    stroke-width: 1.5px;
}

.image-gallery-navigation .left-arrow .outer-color,
.image-gallery-navigation .right-arrow .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0.6;
}

/**
 * Wallpaper Backdrop Navigation Arrows 
 */

.wallpaper-navigation .left-arrow,
.wallpaper-navigation .right-arrow {
   /* Change height/width together to scale */
   width: 36px;
   height: 36px;
}

.wallpaper-navigation .left-arrow .inner-color,
.wallpaper-navigation .right-arrow .inner-color {
   stroke: #fff;
    stroke-width: 1.5px;
}

.wallpaper-navigation .left-arrow .outer-color,
.wallpaper-navigation .right-arrow .outer-color {
    stroke: #000;
    stroke-width: 2.5px;
    opacity: 0.6;
}


/**
 * Feed
 */

.feed .content_container .page {
    border-top: 0px dashed rgba(0, 0, 0, 0.2);
}

.feed .content_container .page_container:first-child .page {
	border-top: 0;
}



/*
 * Audio Player
 */

.audio-player {
    max-width: 36rem;
    height: 3.3rem;
    outline: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.6);
    background: rgba(0, 0, 0, 0.4);
    font-size: 1.2rem;
    line-height: 1.3;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Sans Serif", Icons;
    font-style: normal;
    font-weight: 400;
    text-align: left;
    margin: 1px 1px 1em 1px;
}

body.mobile .audio-player {
    max-width: 100%;
}

.audio-player .separator {
    width: 1px;
    background-color: rgba(255, 255, 255, 0.2);
}

.audio-player .button {
    background: transparent;
    cursor: pointer;
    fill: rgba(255, 255, 255, 0.85);
}

.audio-player .icon {
    fill: rgba(255, 255, 255, 0.85);
    padding: 30%;
    width: 100%;
    margin: auto;
}

.audio-player .buffer {
    background: rgba(255, 255, 255, 0.1);
}

.audio-player .progress {
    background: rgba(255, 255, 255, 0.15);
}

.audio-player .progress-indicator {
    border: 1px solid rgba(255, 255, 255, 0.7);
    width: 1px;
    height: 100%;
    right: 0;
    position: absolute;
    cursor: ew-resize;
}

.audio-player .note-icon {
    height: 100%;
    width: 3.8rem;
    padding: 1rem;
    fill: rgba(255, 255, 255, 0.6);
}

.audio-player .current-time {
    padding-left: 1rem;
}

.audio-player .total-time {
    padding-right: 1rem;
}


/* 코드 추가*/
.project-info-container {
    max-width: 100%;
    margin-top: 7px; /* 이미지와 간격 */
    color: #fffced; /* 글자색 (배경이 파랑이라 흰색 추천) */
    font-family: inherit; /* 폰트 (Cargo 설정 따라가려면 inherit) */
  }

  /* 제목과 연도 */
  .project-header {
    display: flex;
    justify-content: space-between; /* 양끝 정렬 (제목-링크) */
    align-items: baseline;
    margin-bottom: 100px; /* 제목과 아래 크레딧 사이 간격 */
    border-bottom: 1px solid rgba(255,255,255,0.0); /* 필요하면 밑줄 추가 */
  }
  .project-title {
    font-size: 24px;
    font-weight: bold;
    line-height : 1.5;
  }
  .project-year {
    display: block;
    margin-top: 1px;
    font-size: 20px;
    opacity: 0.8;
    text-align: left;
    font-style: italic;
  }
  .link-icon {
    font-size: 20px;
    text-decoration: none;
    color: white;
  }

  /* 4단 그리드 (핵심) */
  .credits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4개 기둥을 똑같이 나눔 */
    gap: 20px; /* 칸 사이 간격 */
    text-align: center;
  }

  /* 모바일에서는 2단으로 바뀌도록 (반응형) */
  @media (max-width: 768px) {
    .credits-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
    }
  }

  /* 크레딧 텍스트 스타일 */
  .credit-item h4 {
    font-size: 14px;
    opacity: 0.7;
    margin: 0 0 8px 0;
    font-weight: normal;
    text-align : center;
    line-height: 1.1;
  }
  .credit-item p {
    font-size: 16px;
    font-weight: bold;
    margin: 0;
    text-align : center;
  }
  
  /* 두번째 줄 간격 */
  .row-gap {
      margin-top: 30px;
  }

/* 모바일(태블릿 포함) 화면에서만 적용되는 설정 */
@media (max-width: 768px) {
  .project-info-container {
    padding-left: 20px;   /* 왼쪽 여백 */
    padding-right: 20px;  /* 오른쪽 여백 */
    box-sizing: border-box; /* 여백을 줘도 가로 스크롤이 생기지 않게 함 */
  }
}



/* 화면 크기 계산 안 함. 그냥 무조건 2000px로 고정 */
.tab-content iframe {
    width: 100% !important;
    
    /* 2000px: 웬만한 긴 폼도 다 들어가는 넉넉한 높이 */
    /* 여백이 남아도 투명 배경이라 티 안 남 */
    height: 2000px !important; 
    
    border: none;
    display: block;
}

/* 탭 박스도 덩달아 길어지게 설정 */
.tab-content {
    height: auto !important;
    overflow: visible !important;
}


/* ========================================= */
/* [About 페이지 전용 스타일] */
/* ========================================= */

/* 전체 컨테이너: 너비 제한 및 중앙 정렬 */
.about-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
    color: white; /* 텍스트 흰색 */
    font-family: sans-serif; /* 폰트 설정 */
}

/* 링크 스타일 */
.about-container a {
    color: white;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.5);
}

/* 1. 인트로 섹션 */
.intro-section {
    text-align: center;
    margin-bottom: 100px;
}
.intro-title {
    font-size: 14px;
    margin-bottom: 40px;
    opacity: 0.8;
}
.intro-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
.intro-text {
    text-align: left;
    font-size: 16px;
    line-height: 1.6;
}

/* 2. 팀원 그리드 (3단) */
.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3칸 */
    gap: 60px 40px; /* 세로간격 60, 가로간격 40 */
    margin-bottom: 150px;
}
.team-member {
    text-align: center;
}
.member-photo {
    width: 100%;
    max-width: 250px; /* 사진 최대 크기 제한 */
    aspect-ratio: 1 / 1; /* 세로형 비율 고정 */
    object-fit: cover;
    margin-bottom: 20px;
    background-color: #ccc; /* 사진 없을 때 회색 */
}
.member-info h3 {
    font-size: 18px;
    margin: 0 0 10px 0;
}
.member-info .role {
    font-size: 13px;
    line-height: 1.4;
    opacity: 0.8;
}

/* 섹션 공통 타이틀 (Online, Office, Partners) */
.section-wrapper {
    margin-bottom: 120px;
}
.section-label {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 50px !important;
    border-top: 1px solid rgba(255,255,255,0.3); /* 구분선 */
    padding-top: 50px !important;
}

/* 3. Online 그리드 (3단) */
.online-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.online-item {
    display: flex;
    align-items: center;
    gap: 15px;
}
.icon-box {
    width: 40px;
    height: 40px;
    border: 1px solid #369;
    border-radius: 50%; /* 원형 테두리 */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

/* 4. Office 그리드 (좌측 정보 / 우측 지도) */
.office-grid {
    display: grid;
    grid-template-columns: 1fr 2fr; /* 왼쪽 1 : 오른쪽 2 비율 */
    gap: 40px;
    align-items: start;
}
.address-box {
    display: flex;
    gap: 15px;
}
.map-box {
    width: 100%;
    height: 400px; /* 지도 높이 */
    background: #eee;
}
.map-box iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* 5. Partners 그리드 (4단) */
.partners-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}
.partner-logo {
    padding: 20px;
    font-size: 12px;
    opacity: 0.7;
    /* 로고 이미지 넣으면 아래 코드 삭제 */
    border: 1px dashed rgba(255,255,255,0.3); 
}



/* [모바일 반응형] 화면 작을 때 1단으로 변경 */
/* * Cargo 디자인 패널 -> Custom CSS 맨 아래에 붙여넣으세요.
 * 기존에 넣었던 모바일 관련 코드는 지우고 이것만 넣으시면 됩니다. 
 */

@media (max-width: 768px) {
    /* 1. 상단 메뉴(포트폴리오 등) 세로 잘림 완벽 방지 */
    body.mobile #site_menu, 
    #site_menu {
        max-width: 100% !important; 
        width: auto !important;
        white-space: nowrap !important; /* 무조건 한 줄로 나오게 강제 */
        word-break: keep-all !important; /* 단어 쪼개짐 금지 */
        display: flex !important;
        flex-direction: row !important; /* 무조건 가로 배열 */
        justify-content: flex-end !important; /* 우측 정렬 */
        gap: 12px !important; /* 메뉴 사이 간격 확보 */
        padding-right: 15px !important; /* 우측 여백 */
    }
    
    body.mobile #site_menu a, 
    #site_menu a {
        font-size: 15px !important; /* 모바일에 알맞은 쾌적한 크기 */
        white-space: nowrap !important;
        word-break: keep-all !important;
    }

    /* 2. 본문 글씨 크기 강제 확대 (Cargo 기본 설정 완벽 무력화) */
    body.mobile .custom-section-title,
    .custom-section-title {
        font-size: 22px !important;
    }

    body.mobile .category-header h3,
    .category-header h3 {
        font-size: 19px !important;
    }

    body.mobile .category-header p,
    .category-header p {
        font-size: 14.5px !important;
        line-height: 1.6 !important;
        word-break: keep-all !important; /* 문장이 깔끔하게 떨어지도록 설정 */
    }
}