@charset "utf-8";
/* Dev.M common base */
html{
	scroll-behavior: smooth;
}
body{
	font-family: var(--devm01-font-kr);
	color: var(--c-fg);
	background: var(--c-bg);
	font-size: var(--devm01-body-size);
	line-height: var(--devm01-body-line);
	letter-spacing:-.018em;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
}
a{
	color: inherit;
	text-decoration: none;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
.blind,
.sound_only{
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	border: 0 !important;
}
.devm01-inner{
	width: min(100% - 48px,
var(--devm01-inner));
	margin: 0 auto;
}
.devm01-inner-lg{
	width: min(100% - 48px,
var(--devm01-inner-lg));
	margin: 0 auto;
}
.devm01-eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	color: var(--c-accent);
	font-family: var(--devm01-font-en);
	font-size: 16px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.devm01-title{
	margin: 0;
	color: var(--c-fg);
	font-size: 46px;
	line-height: 1.22;
	font-weight:bold;
	letter-spacing: -.035em;
}
.devm01-desc{
	margin: 18px 0 0;
	color: var(--devm01-gray-600);
	font-size: 18px;
	line-height: 1.75;
}
.devm01-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	padding: 0 26px;
	border-radius: var(--devm01-radius-btn);
	border: 1px solid transparent;
	font-size: 16px;
	letter-spacing:-.01em;
	transition: background var(--devm01-duration) var(--devm01-ease),
color var(--devm01-duration) var(--devm01-ease),
border-color var(--devm01-duration) var(--devm01-ease),
transform var(--devm01-duration) var(--devm01-ease);
}
.devm01-btn-primary{
	background: var(--c-primary);
	color: var(--c-bg);
}
.devm01-btn-primary:hover{
	background: var(--c-accent);
	color: var(--c-bg);
}
.devm01-btn-secondary{
	background: var(--c-bg);
	color: var(--c-primary);
	border-color: var(--c-primary);
}
.devm01-btn-secondary:hover{
	background: var(--c-primary);
	color: var(--c-bg);
}
.devm01-card{
	background: var(--c-bg);
	border: 1px solid var(--devm01-gray-200);
	border-radius: var(--devm01-radius-card);
	box-shadow: var(--devm01-shadow-card);
}
.ctt_admin{
	text-align:right;
}
/* Additional QA polish: image logo system */
.devm01-logo{
	min-height:52px;
	display:inline-flex;
	align-items:center;
}
.devm01-logo__img{
	display:block;
	width:auto;
	height:var(--devm-header-logo-height, 38px);
	max-width:168px;
	object-fit:contain;
}
.devm01-header.is-transparent .devm01-logo__img{
	filter:none;
}
.devm01-sitemap__brand .devm01-logo__img{
	height:44px;
	max-width:190px;
	margin-bottom:18px;
}
.devm01-footer__logo .devm01-logo__img{
	height:42px;
	max-width:180px;
}
.devm01-mobile-panel__head .devm01-logo__img{
	height:34px;
	max-width:150px;
}
@media (max-width:768px){
	.devm01-logo{
		min-height:46px
	}
	.devm01-logo__img{
		height:32px;
		max-width:142px
	}
	.devm01-footer__logo .devm01-logo__img{
		height:36px;
	}
}
.devm01-logo .devm01-logo__img--light{
	display:none;
}
.devm01-header.is-transparent .devm01-logo .devm01-logo__img--dark{
	display:none;
}
.devm01-header.is-transparent .devm01-logo .devm01-logo__img--light{
	display:block;
}
.devm01-header.is-solid .devm01-logo .devm01-logo__img--dark,
.devm01-header.is-scrolled .devm01-logo .devm01-logo__img--dark{
	display:block;
}
.devm01-header.is-solid .devm01-logo .devm01-logo__img--light,
.devm01-header.is-scrolled .devm01-logo .devm01-logo__img--light{
	display:none;
}
.devm01-header.is-mega-open .devm01-logo .devm01-logo__img--dark{
	display:block;
}
.devm01-header.is-mega-open .devm01-logo .devm01-logo__img--light{
	display:none;
}
/* Visual interaction system: Swiper / lightbox / reveal */
[data-devm01-reveal]{
	opacity:0;
	transform:translateY(28px);
	transition:opacity 720ms var(--devm01-ease),
transform 720ms var(--devm01-ease);
	will-change:opacity,
transform;
}
[data-devm01-reveal].is-revealed{
	opacity:1;
	transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
	[data-devm01-reveal]{
		opacity:1;
		transform:none;
		transition:none;
	}
}
.devm01-fancybox-link{
	position:relative;
	cursor:zoom-in;
}
.devm01-fancybox-link::after{
	content:"";
	position:absolute;
	right:16px;
	top:16px;
	width:38px;
	height:38px;
	border-radius:50%;
	background:rgba(7,28,53,.72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3M11 8v6M8 11h6'/%3E%3C/svg%3E") center/18px 18px no-repeat;
	opacity:0;
	transform:translateY(-6px);
	transition:all var(--devm01-duration) var(--devm01-ease);
	z-index:3;
}
.devm01-fancybox-link:hover::after{
	opacity:1;
	transform:translateY(0);
}
.glightbox-clean .gslide-title{
	font-family:var(--devm01-font-kr);
}
/* Typography QA: Lexend premium consistency */
h1,h2,h3,h4,h5,h6,.devm01-title,.devm01-btn,button,input,select,textarea{
	font-family:var(--devm01-font-kr);
}
.devm01-title,.devm01-hero h2,.devm01-sub-visual .devm01-title,.devm01-member-title{
	font-weight:bold;
	letter-spacing:-.035em;
}
.devm01-view-head h1{
	font-weight:normal;
	letter-spacing:-.035em;
}
.devm01-eyebrow,.devm01-kicker,time,.devm01-board-total strong,.devm01-footer__cs span{
	font-family:var(--devm01-font-en);
}
/* QA: Font Awesome arrow links and expandable quick menu */
.devm01-arrow-link,
.devm01-text-link,
.devm01-latest-head a,
.devm01-mega__summary a,
.devm01-mega__contact--cta a{

	display:inline-flex;

	align-items:center;

	gap:9px;

}
.devm01-arrow-link .fa,
.devm01-text-link .fa,
.devm01-latest-head a .fa,
.devm01-mega__summary a .fa,
.devm01-mega__contact--cta a .fa{

	flex:0 0 auto;

	font-size:1em;

	line-height:1;

	transform:translateX(0);

	transition:transform var(--devm01-duration) var(--devm01-ease);

}
.devm01-arrow-link:hover .fa,
.devm01-text-link:hover .fa,
.devm01-latest-head a:hover .fa,
.devm01-mega__summary a:hover .fa,
.devm01-mega__contact--cta a:hover .fa{

	transform:translateX(4px);

}
.devm01-business-card::after,
.devm01-solution-tab::after,
.devm01-project__nav [data-project-prev]::before,
.devm01-project__nav [data-project-next]::before,
.devm01-hero__nav .devm01-hero-prev::before,
.devm01-hero__nav .devm01-hero-next::before,
.devm01-image-zoom::after{

	font-family:FontAwesome;

}
.devm01-business-card::after,
.devm01-solution-tab::after,
.devm01-image-zoom::after{
	content:"\f061";
}
.devm01-project__nav [data-project-prev]::before,
.devm01-hero__nav .devm01-hero-prev::before{
	content:"\f104";
}
.devm01-project__nav [data-project-next]::before,
.devm01-hero__nav .devm01-hero-next::before{
	content:"\f105";
}
/* Phase 6 QA: title-left red new badge */
.devm01-new-badge{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	flex:0 0 22px;
	width:22px;
	height:22px;
	margin:0 7px 0 0;
	border-radius:999px;
	background:#EF4444!important;
	color:#fff!important;
	font-size:16px;
	line-height:1;
	vertical-align:-3px;
	box-shadow:0 8px 18px rgba(239,68,68,.25)
}
.devm01-new-badge i{
	display:block;
	font-size:16px;
	line-height:1;
	color:currentColor!important
}
.devm01-mobile-card-title,.devm01-board-card h3 a,.devm01-webzine-body h3 a,.devm01-resource-row h3 a,.devm01-gallery-b-body h3 a,.devm01-gallery-c-overlay h3 a,.devm01-gallery-title h3,.devm01-wz-body h3 a,.devm01-latest-list a strong,.devm01-latest-feature__body h3 a,.devm01-latest-resource li a span,.devm01-project-card__body h3 a,.devm01-gallery-latest-card__body h3 a{
	display:inline-flex;
	align-items:baseline;
	gap:0;
	min-width:0;
	vertical-align:top
}
.devm01-title-text,.devm01-wz-title-text{
	min-width:0
}
.devm01-post-new{
	background:#EF4444!important;
	color:#fff!important
}
/* QA: clear Korean board count label */
.devm01-board-total span,.devm01-wz-total span{
	margin-left:0!important;
}
.devm01-board-total,.devm01-wz-total{
	white-space:nowrap;
}


#captcha_mp3,
#captcha_reload{display:inline-flex;align-items:center;gap:6px}
