@charset "utf-8";
/* Main page: Dev.M premium B2B corporate */
.devm01-text-link{
	display:inline-flex;
	align-items:center;
	gap:10px;
	color:var(--c-accent);
}
.devm01-hero{
	position:relative;
	min-height:760px;
	height:100vh;
	overflow:hidden;
	color:var(--c-bg);
	background:var(--c-primary);
}
.devm01-hero__slides,
.devm01-hero__slide,
.devm01-hero__overlay{
	position:absolute;
	inset:0;
}
.devm01-hero__slide{
	opacity:0;
	background-size:cover;
	background-position:center;
	transform:scale(1.04);
	transition:opacity 900ms var(--devm01-ease),
transform 6000ms linear;
}
.devm01-hero__slide.is-active{
	opacity:1;
	transform:scale(1.1);
}
.devm01-hero__overlay{
	background:linear-gradient(90deg,
rgba(7,28,53,.86) 0%,
rgba(7,28,53,.58) 46%,
rgba(7,28,53,.2) 100%),
linear-gradient(180deg,
rgba(0,0,0,.35),
transparent 38%,
rgba(0,0,0,.34));
}
.devm01-hero__content{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%;
	padding-top:80px;
}
.devm01-hero .devm01-eyebrow{
	color:var(--c-accent-light);
}
.devm01-hero h2{
	max-width:820px;
	margin:0;
	font-size:72px;
	line-height:1.08;
	font-weight:bold;
	letter-spacing:-.045em;
}
.devm01-hero p{
	max-width:720px;
	margin:28px 0 0;
	color:rgba(255,255,255,.82);
	font-size:19px;
	line-height:1.78;
}
.devm01-hero__actions{
	display:flex;
	gap:14px;
	margin-top:44px;
}
.devm01-hero__actions .devm01-btn{
	height:58px;
	padding:0 34px;
}
.devm01-hero__actions .devm01-btn-secondary{
	background:rgba(255,255,255,.08);
	color:var(--c-bg);
	border-color:rgba(255,255,255,.34);
	backdrop-filter:blur(10px);
}
.devm01-hero__actions .devm01-btn-secondary:hover{
	background:var(--c-bg);
	color:var(--c-primary);
}
.devm01-hero__meta{
	position:absolute;
	left:50%;
	bottom:48px;
	z-index:2;
	display:flex;
	align-items:center;
	gap:22px;
	transform:translateX(-50%);
	color:rgba(255,255,255,.76);
}
.devm01-hero__progress{
	width:160px;
	height:2px;
	background:rgba(255,255,255,.26);
	overflow:hidden;
}
.devm01-hero__progress span{
	display:block;
	width:50%;
	height:100%;
	background:var(--c-accent-light);
	transition:transform 600ms var(--devm01-ease);
}
.devm01-hero__meta em{
	font-style:normal;
	font-family:var(--devm01-font-en);
}
.devm01-hero__meta b{
	margin-left:auto;
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.16em;
}
.devm01-stats{
	position:relative;
	z-index:5;
	margin-top:-82px;
}
.devm01-stats__grid{
	display:grid;
	grid-template-columns:repeat(var(--devm01-stat-cols,4),1fr);
	overflow:hidden;
	border-radius:var(--devm01-radius-xl);
	background:var(--c-bg);
	box-shadow:var(--devm01-shadow-floating);
}
.devm01-stat{
	padding:40px 38px;
	border-right:1px solid var(--devm01-gray-200);
}
.devm01-stat:last-child{
	border-right:0;
}
.devm01-stat strong{
	display:block;
	color:var(--c-primary);
	font-family:var(--devm01-font-en);
	font-size:46px;
	line-height:1;
	letter-spacing:-.05em;
}
.devm01-stat span{
	display:block;
	margin-top:14px;
	color:var(--devm01-gray-900);
}
.devm01-stat p{
	margin:8px 0 0;
	color:var(--devm01-gray-600);
	font-size:16px;
	line-height:1.55;
}
.devm01-about__grid{
	display:grid;
	grid-template-columns:1.02fr .98fr;
	gap:72px;
	align-items:center;
}
.devm01-about__image{
	position:relative;
	min-height:620px;
	border-radius:0 var(--devm01-radius-xl) 0 var(--devm01-radius-xl);
	overflow:hidden;
}
.devm01-about__image::after{
	content:"";
	position:absolute;
	right:28px;
	bottom:28px;
	width:180px;
	height:180px;
	border:1px solid rgba(255,255,255,.42);
}
.devm01-about__image img{
	width:100%;
	height:100%;
	object-fit:cover;
	min-height:620px;
}
.devm01-about__content > p:not(.devm01-desc){
	margin:16px 0 0;
	color:var(--devm01-gray-600);
	line-height:1.8;
}
.devm01-about__values{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
	margin:34px 0 30px;
}
.devm01-about__values div{
	padding:22px 18px;
	border:1px solid var(--devm01-gray-200);
	border-radius:var(--devm01-radius-card);
	background-color:var(--c-surface, #fff);
}
.devm01-about__values b{
	display:block;
	color:var(--c-primary);
	font-family:var(--devm01-font-en);
}
.devm01-about__values span{
	display:block;
	margin-top:8px;
	color:var(--devm01-gray-600);
	font-size:16px;
	line-height:1.55;
}
.devm01-business{
	background:var(--devm01-gray-100);
}
.devm01-business__grid{
	display:grid;
	grid-template-columns:2fr 1fr 1fr;
	grid-auto-rows:250px;
	gap:24px;
}
.devm01-business-card{
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	overflow:hidden;
	min-height:250px;
	padding:30px;
	border-radius:var(--devm01-radius-lg);
	background-size:cover;
	background-position:center;
	color:var(--c-bg);
	isolation:isolate;
}
.devm01-business-card::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg,
rgba(7,28,53,.18),
rgba(7,28,53,.88));
	transition:background var(--devm01-duration) var(--devm01-ease);
}
.devm01-business-card::after{
	content:"→";
	position:absolute;
	right:28px;
	top:28px;
	width:42px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:rgba(255,255,255,.14);
	transform:translateX(-8px);
	opacity:0;
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-business-card:hover::after{
	opacity:1;
	transform:translateX(0);
}
.devm01-business-card:hover::before{
	background:linear-gradient(180deg,
rgba(30,136,229,.16),
rgba(7,28,53,.94));
}
.devm01-business-card.is-large{
	grid-row:span 2;
}
.devm01-business-card > span{
	font-family:var(--devm01-font-en);
	color:rgba(255,255,255,.7);
}
.devm01-business-card em{
	display:block;
	margin-bottom:10px;
	color:var(--c-accent-light);
	font-style:normal;
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.12em;
}
.devm01-business-card strong{
	display:block;
	font-size:24px;
	letter-spacing:-.04em;
}
.devm01-business-card p{
	margin:12px 0 0;
	color:rgba(255,255,255,.76);
	line-height:1.65;
}
.devm01-solution{
	background:linear-gradient(180deg,var(--c-surface, #fff) 0%,var(--c-surface-2, #F8FAFC) 100%);
}
.devm01-solution__grid{
	display:grid;
	grid-template-columns:390px 1fr;
	gap:64px;
	align-items:center;
}
.devm01-solution__tabs .devm01-title{
	margin-bottom:34px;
}
.devm01-solution-tab{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	min-height:62px;
	margin-bottom:10px;
	padding:0 22px;
	border:1px solid var(--devm01-gray-200);
	border-radius:var(--devm01-radius-md);
	background-color:var(--c-surface, #fff);
	color:var(--devm01-gray-700);
	text-align:left;
	cursor:pointer;
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-solution-tab::after{
	content:"→";
	color:var(--devm01-gray-400);
}
.devm01-solution-tab.is-active,
.devm01-solution-tab:hover{
	background:var(--c-primary);
	color:var(--c-bg);
	border-color:var(--c-primary);
	box-shadow:var(--devm01-shadow-card);
}
.devm01-solution-tab.is-active::after,
.devm01-solution-tab:hover::after{
	color:var(--c-accent-light);
}
.devm01-solution__visual{
	position:relative;
	overflow:hidden;
	min-height:560px;
	padding:34px;
	border-radius:var(--devm01-radius-xl);
	background:var(--c-primary);
	box-shadow:var(--devm01-shadow-floating);
}
.devm01-solution__visual img{
	width:100%;
	height:430px;
	object-fit:cover;
	border-radius:var(--devm01-radius-lg);
	opacity:.9;
}
.devm01-solution__panel{
	position:absolute;
	left:58px;
	right:58px;
	bottom:58px;
	padding:28px;
	border-radius:var(--devm01-radius-card);
	background:rgba(255,255,255,.94);
	opacity:0;
	transform:translateY(16px);
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-solution__panel.is-active{
	opacity:1;
	transform:translateY(0);
}
.devm01-solution__panel b{
	color:var(--c-primary);
	font-size:24px;
}
.devm01-solution__panel p{
	margin:10px 0 0;
	color:var(--devm01-gray-600);
}
.devm01-project{
	overflow:hidden;
	background:var(--c-primary);
	color:var(--c-bg);
}
.devm01-project .devm01-title{
	color:var(--c-bg);
}
.devm01-project .devm01-eyebrow{
	color:var(--c-accent-light);
}
.devm01-project__nav{
	display:flex;
	gap:8px;
}
.devm01-project__nav button{
	width:54px;
	height:54px;
	border:1px solid rgba(255,255,255,.2);
	border-radius:50%;
	background:rgba(255,255,255,.06);
	color:var(--c-bg);
	font-size:0;
	cursor:pointer;
}
.devm01-project__nav button::before{
	font-size:16px;
}
.devm01-project__nav [data-project-prev]::before{
	content:"←";
}
.devm01-project__nav [data-project-next]::before{
	content:"→";
}
.devm01-project__viewport{
	overflow:hidden;
}
.devm01-project__track{
	display:flex;
	gap:28px;
	transition:transform 420ms var(--devm01-ease);
}
.devm01-project-card{
	flex:0 0 420px;
	overflow:hidden;
	border-radius:var(--devm01-radius-lg);
	background-color:var(--c-surface, #fff);
	color:var(--c-fg);
}
.devm01-project-card img{
	width:100%;
	height:270px;
	object-fit:cover;
	transition:transform 500ms var(--devm01-ease);
}
.devm01-project-card:hover img{
	transform:scale(1.06);
}
.devm01-project-card span{
	color:var(--c-accent);
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.12em;
}
.devm01-project-card h3{
	margin:12px 0 10px;
	font-size:22px;
	line-height:1.38;
	font-weight:bold;
	letter-spacing:-.04em;
}
.devm01-project-card p{
	color:var(--devm01-gray-600);
	line-height:1.65;
}
.devm01-process__head{
	max-width:760px;
	margin:0 auto 58px;
	text-align:center;
}
.devm01-process__list{
	position:relative;
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:18px;
	margin:0;
	padding:0;
	list-style:none;
}
.devm01-process__list::before{
	content:"";
	position:absolute;
	left:8%;
	right:8%;
	top:34px;
	height:1px;
	background:var(--devm01-gray-200);
}
.devm01-process__list li{
	position:relative;
	padding:0 10px;
	text-align:center;
}
.devm01-process__list span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:68px;
	height:68px;
	border-radius:50%;
	background:var(--c-primary);
	color:var(--c-bg);
	font-family:var(--devm01-font-en);
	box-shadow:0 0 0 10px var(--c-surface, #fff);
}
.devm01-process__list b{
	display:block;
	margin:22px 0 10px;
	font-size:20px;
}
.devm01-process__list p{
	margin:0;
	color:var(--devm01-gray-600);
	line-height:1.65;
}
.devm01-cert{
	background:var(--c-surface-2, #F8FAFC);
}
.devm01-cert__grid{
	display:grid;
	grid-template-columns:.9fr 1fr;
	gap:48px;
	align-items:start;
}
.devm01-cert__cards{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:18px;
}
.devm01-cert__cards div{
	min-height:128px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:20px;
	border-radius:var(--devm01-radius-card);
	background-color:var(--c-surface, #fff);
	border:1px solid var(--devm01-gray-200);
	color:var(--c-primary);
	box-shadow:var(--devm01-shadow-card);
}
.devm01-partners{
	grid-column:1/-1;
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:12px;
}
.devm01-partners span{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:76px;
	padding:0 20px;
	border:1px solid var(--devm01-gray-200);
	border-radius:var(--devm01-radius-md);
	background-color:var(--c-surface, #fff);
	box-shadow:0 8px 20px rgba(15,35,60,.035);
	transition:transform var(--devm01-duration) var(--devm01-ease),
box-shadow var(--devm01-duration) var(--devm01-ease),
border-color var(--devm01-duration) var(--devm01-ease);
}
.devm01-partners span:hover{
	transform:translateY(-3px);
	border-color:rgba(30,136,229,.18);
	box-shadow:0 14px 28px rgba(15,35,60,.06);
}
.devm01-partners img{
	display:block;
	max-width:128px;
	width:auto;
	height:30px;
	object-fit:contain;
	filter:grayscale(1);
	opacity:.78;
	transition:filter var(--devm01-duration) var(--devm01-ease),
opacity var(--devm01-duration) var(--devm01-ease),
transform var(--devm01-duration) var(--devm01-ease);
}
.devm01-partners span:hover img{
	filter:grayscale(0);
	opacity:1;
	transform:scale(1.03);
}
.devm01-latest__grid{
	display:grid;
	grid-template-columns:5fr 7fr;
	gap:28px;
}
.devm01-latest-feature{
	min-height:430px;
	padding:42px;
	border-radius:var(--devm01-radius-lg);
	background:linear-gradient(135deg,var(--c-primary),var(--c-deep));
	color:var(--c-surface, #fff);
}
.devm01-latest-feature span{
	color:var(--c-accent-light);
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.12em;
}
.devm01-latest-feature h3{
	margin:94px 0 18px;
	font-size:30px;
	line-height:1.3;
	font-weight:bold;
	letter-spacing:-.05em;
}
.devm01-latest-feature p{
	color:rgba(255,255,255,.72);
	line-height:1.75;
}
.devm01-latest-feature time{
	display:block;
	margin-top:34px;
	color:rgba(255,255,255,.54);
	font-family:var(--devm01-font-en);
}
.devm01-latest-box,
.devm01-resource-box{
	padding:32px;
	border-radius:var(--devm01-radius-lg);
	background:var(--c-surface-2, #F8FAFC);
	border:1px solid var(--devm01-gray-200);
}
.devm01-latest-box{
	margin-bottom:28px;
}
.devm01-latest-box h3,
.devm01-resource-box h3{
	margin:0 0 20px;
	color:var(--c-primary);
	font-size:22px;
	font-weight:bold;
}
.devm01-resource-box{
	background:var(--c-primary);
	border-color:var(--c-primary);
}
.devm01-resource-box h3{
	color:var(--c-surface, #fff);
}
.devm01-resource-box a{
	display:flex;
	justify-content:space-between;
	padding:14px 0;
	border-bottom:1px solid rgba(255,255,255,.12);
	color:rgba(255,255,255,.82);
}
.devm01-faq__grid{
	display:grid;
	grid-template-columns:38% 1fr;
	gap:70px;
	align-items:start;
}
.devm01-faq-item{
	border-bottom:1px solid var(--devm01-gray-200);
}
.devm01-faq-item button{
	width:100%;
	padding:24px 0;
	border:0;
	background:none;
	color:var(--devm01-gray-900);
	font-size:19px;
	text-align:left;
	cursor:pointer;
}
.devm01-faq-item p{
	display:none;
	margin:0 0 24px;
	padding:24px 28px;
	border-radius:var(--devm01-radius-card);
	background:var(--c-surface-2, #F4F8FF);
	color:var(--devm01-gray-600);
	line-height:1.75;
}
.devm01-faq-item.is-open button{
	color:var(--c-primary);
}
.devm01-main-contact{
	position:relative;
	overflow:hidden;
	padding:110px 0;
	background:linear-gradient(135deg,var(--c-primary),var(--c-primary, #04101F));
	color:var(--c-surface, #fff);
	text-align:center;
}
.devm01-main-contact::before{
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 80% 20%,
rgba(24,183,200,.24),
transparent 36%);
}
.devm01-main-contact .devm01-inner{
	position:relative;
	z-index:1;
}
.devm01-main-contact h2{
	margin:0;
	font-size:46px;
	line-height:1.25;
	font-weight:bold;
	letter-spacing:-.05em;
}
.devm01-main-contact p{
	max-width:720px;
	margin:18px auto 34px;
	color:rgba(255,255,255,.72);
	font-size:18px;
	line-height:1.8;
}
.devm01-main-contact div div{
	display:flex;
	justify-content:center;
	gap:12px;
}
.devm01-main-contact .devm01-btn-primary{
	background-color:var(--c-surface, #fff);
	color:var(--c-primary);
	border-color:var(--c-surface, #fff);
}
.devm01-main-contact .devm01-btn-primary:hover{
	background-color:var(--c-accent-light);
	color:var(--c-primary);
	border-color:var(--c-accent-light);
}
.devm01-main-contact .devm01-btn-secondary{
	background-color:transparent;
	color:var(--c-surface, #fff);
	border-color:rgba(255,255,255,.34);
}
.devm01-main-contact .devm01-btn-secondary:hover{
	background-color:var(--c-surface, #fff);
	color:var(--c-primary);
}
.devm01-latest__side{
	display:grid;
	grid-template-rows:1fr 1fr;
	gap:28px;
}
.devm01-latest-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:18px;
}
.devm01-latest-head h3{
	margin:0;
	color:var(--c-primary);
	font-size:22px;
	font-weight:bold;
}
.devm01-latest-head a{
	color:var(--c-accent);
	font-size:16px;
}
.devm01-latest-feature{
	overflow:hidden;
	min-height:560px;
	padding:0;
	display:grid;
	grid-template-rows:300px 1fr;
}
.devm01-latest-feature__img{
	display:block;
	overflow:hidden;
}
.devm01-latest-feature__img img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 520ms var(--devm01-ease);
}
.devm01-latest-feature:hover .devm01-latest-feature__img img{
	transform:scale(1.06);
}
.devm01-latest-feature__body,
.devm01-latest-feature__empty{
	padding:34px 38px;
}
.devm01-latest-feature__body span,
.devm01-latest-feature__empty span{
	color:var(--c-accent-light);
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.12em;
}
.devm01-latest-feature__body h3,
.devm01-latest-feature__empty h3{
	margin:14px 0 14px;
	color:var(--c-surface, #fff);
	font-size:29px;
	line-height:1.34;
	font-weight:bold;
	letter-spacing:-.05em;
}
.devm01-latest-feature__body h3 a{
	color:var(--c-surface, #fff);
}
.devm01-latest-feature__body p,
.devm01-latest-feature__empty p{
	margin:0;
	color:rgba(255,255,255,.72);
	line-height:1.75;
}
.devm01-latest-feature__body time{
	display:block;
	margin-top:24px;
	color:rgba(255,255,255,.52);
	font-family:var(--devm01-font-en);
}
.devm01-latest-feature__empty{
	min-height:560px;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
}
.devm01-latest-feature__empty a{
	margin-top:24px;
	color:var(--c-accent-light);
}
.devm01-latest-list{
	margin:0;
	padding:0;
	list-style:none;
}
.devm01-latest-list li a{
	display:grid;
	grid-template-columns:72px 1fr auto;
	gap:14px;
	align-items:center;
	min-height:46px;
	border-bottom:1px solid var(--devm01-gray-200);
	color:var(--devm01-gray-700);
}
.devm01-latest-list li a span{
	color:var(--c-accent);
	font-family:var(--devm01-font-en);
	font-size:16px;
}
.devm01-latest-list li a strong{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	color:var(--devm01-gray-900);
	font-size:16px;
}
.devm01-latest-list li a time{
	color:var(--devm01-gray-400);
	font-family:var(--devm01-font-en);
	font-size:16px;
}
.devm01-latest-notice .devm01-latest-list--notice li a{
	grid-template-columns:1fr auto;
	color:var(--c-fg, #111);
}
.devm01-latest-notice .devm01-latest-list--notice li a strong,
.devm01-latest-notice .devm01-latest-list--notice li a .devm01-title-text,
.devm01-latest-notice .devm01-latest-list--notice li a time{
	color:var(--c-fg, #111);
}
.devm01-latest-notice .devm01-latest-list--notice li a .devm01-title-text{
	font-family:inherit;
	font-size:16px;
	font-weight:normal;
	letter-spacing:-.03em;
}
.devm01-latest-empty{
	display:block;
	padding:24px;
	border:1px dashed var(--devm01-gray-200);
	border-radius:var(--devm01-radius-card);
	background:rgba(255,255,255,.62);
}
.devm01-latest-empty strong{
	display:block;
	color:var(--c-primary);
}
.devm01-latest-empty p{
	margin:8px 0 0;
	color:var(--devm01-gray-600);
	line-height:1.6;
}
.devm01-latest-empty.is-dark{
	border-color:rgba(255,255,255,.18);
	background:rgba(255,255,255,.06);
}
.devm01-latest-empty.is-dark strong{
	color:var(--c-surface, #fff);
}
.devm01-latest-empty.is-dark p{
	color:rgba(255,255,255,.62);
}
.devm01-latest-resource ul{
	margin:0;
	padding:0;
	list-style:none;
}
.devm01-latest-resource li a{
	display:flex;
	justify-content:space-between;
	padding:14px 0;
	border-bottom:1px solid rgba(255,255,255,.12);
	color:rgba(255,255,255,.82);
}
.devm01-latest-resource .devm01-latest-head h3{
	color:var(--c-surface, #fff);
}
.devm01-latest-resource .devm01-latest-head a{
	color:var(--c-accent-light);
}
.devm01-latest-gallery-cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.devm01-project-card.is-empty{
	min-height:430px;
	display:flex;
	align-items:flex-end;
	background:linear-gradient(135deg,var(--c-surface, #fff),var(--c-surface-2, #F3F7FB));
}
.devm01-faq-item p a{
	color:var(--c-accent);
}
@media (max-width:1200px){
	.devm01-hero h2{
		font-size:60px
	}
	.devm01-business__grid{
		grid-template-columns:1fr 1fr
	}
	.devm01-business-card.is-large{
		grid-row:auto
	}
	.devm01-solution__grid,.devm01-about__grid{
		grid-template-columns:1fr;
	}
	.devm01-solution__visual{
		min-height:520px
	}
	.devm01-cert__grid,.devm01-latest__grid,.devm01-faq__grid{
		grid-template-columns:minmax(0,1fr)
	}
	.devm01-cert__grid>*,.devm01-latest__grid>*,.devm01-faq__grid>*{
		min-width:0
	}
	.devm01-latest__side{
		grid-template-rows:auto;
		grid-template-columns:minmax(0,1fr)
	}
	.devm01-latest__side>*{
		min-width:0
	}
	.devm01-partners{
		grid-template-columns:repeat(3,1fr)
	}
}
@media (max-width:768px){
	.devm01-hero{
		height:auto;
		min-height:650px
	}
	.devm01-hero h2{
		font-size:40px
	}
	.devm01-hero p{
		font-size:16px
	}
	.devm01-hero__actions{
		display:grid
	}
	.devm01-stats{
		margin-top:0
	}
	.devm01-stats__grid{
		grid-template-columns:1fr 1fr;
		border-radius:0
	}
	.devm01-stat{
		padding:28px 22px
	}
	.devm01-stat strong{
		font-size:34px
	}
	.devm01-about__image,.devm01-about__image img{
		min-height:360px
	}
	.devm01-about__values,.devm01-business__grid,.devm01-cert__cards,.devm01-partners,.devm01-latest-gallery-cards{
		grid-template-columns:1fr
	}
	.devm01-business__grid{
		grid-auto-rows:auto
	}
	.devm01-business-card{
		min-height:320px
	}
	.devm01-solution__visual{
		padding:18px;
		min-height:460px
	}
	.devm01-solution__visual img{
		height:300px
	}
	.devm01-solution__panel{
		left:28px;
		right:28px;
		bottom:28px
	}
	.devm01-project-card{
		flex-basis:86vw
	}
	.devm01-process__list{
		grid-template-columns:1fr;
		text-align:left
	}
	.devm01-process__list::before{
		left:34px;
		right:auto;
		top:0;
		bottom:0;
		width:1px;
		height:auto
	}
	.devm01-process__list li{
		display:grid;
		grid-template-columns:68px 1fr;
		gap:0 18px;
		text-align:left
	}
	.devm01-process__list li p{
		grid-column:2
	}
	.devm01-main-contact h2{
		font-size:32px
	}
	.devm01-main-contact div div{
		display:grid
	}
	.devm01-latest-feature h3{
		margin-top:0
	}
	.devm01-latest-list li a{
		grid-template-columns:54px 1fr
	}
	.devm01-latest-list li a time{
		grid-column:2
	}
	.devm01-latest-feature{
		min-height:auto;
		grid-template-rows:220px auto
	}
	.devm01-latest-feature__empty{
		min-height:360px
	}
}
@media (max-width:480px){
	.devm01-stats__grid{
		grid-template-columns:1fr
	}
	.devm01-stat{
		border-right:0;
		border-bottom:1px solid var(--devm01-gray-200)
	}
	.devm01-hero__meta{
		display:none
	}
	.devm01-project__nav{
		display:none
	}
}
/* Project Portfolio Swiper / Gallery latest image polish */
.devm01-project__viewport{
	position:relative;
	overflow:visible;
}
.devm01-project-swiper{
	overflow:visible;
	padding:4px 0 0;
}
.devm01-project__track{
	display:flex;
	gap:0;
	transition:none;
}
.devm01-project-card{
	position:relative;
	flex:initial;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.08);
	border-radius:28px;
	background-color:var(--c-surface, #fff);
	color:var(--c-fg);
	box-shadow:0 28px 80px rgba(0,0,0,.18);
}
.devm01-project-card__image{
	display:block;
	position:relative;
	overflow:hidden;
	aspect-ratio:16/10;
	background:var(--c-deep, #132A45);
}
.devm01-project-card__image::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg,rgba(7,28,53,0) 38%,rgba(7,28,53,.72) 100%);
	opacity:.84;
	transition:opacity var(--devm01-duration) var(--devm01-ease);
}
.devm01-project-card__image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 720ms var(--devm01-ease);
}
.devm01-project-card:hover .devm01-project-card__image img{
	transform:scale(1.075);
}
.devm01-project-card__image em{
	position:absolute;
	left:22px;
	bottom:20px;
	z-index:3;
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:9px 13px;
	border:1px solid rgba(255,255,255,.32);
	border-radius:999px;
	background:rgba(7,28,53,.78);
	box-shadow:0 12px 28px rgba(0,0,0,.24);
	backdrop-filter:blur(8px);
	color:var(--c-surface, #fff);
	text-shadow:0 1px 8px rgba(0,0,0,.45);
	font-style:normal;
	font-size:16px;
	opacity:0;
	transform:translateY(8px);
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-project-card__body{
	padding:30px 30px 32px;
}
.devm01-project-card__body span{
	display:block;
	color:var(--c-accent);
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.12em;
}
.devm01-project-card__body h3{
	min-height:62px;
	margin:12px 0 12px;
	color:var(--c-primary);
	font-size:23px;
	line-height:1.35;
	font-weight:bold;
	letter-spacing:-.045em;
}
.devm01-project-card__body p{
	min-height:74px;
	margin:0;
	color:var(--devm01-gray-600);
	line-height:1.7;
}
.devm01-project-card__more,
.devm01-project-card__body small{
	display:inline-flex;
	margin-top:22px;
	color:var(--c-accent);
}
.devm01-project-pagination.swiper-pagination-bullets,
.devm01-project__pagination.swiper-pagination-bullets{
	position:static;
	left:auto;
	right:auto;
	bottom:auto;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin:34px auto 0;
	transform:none;
	z-index:1;
}
.devm01-project__pagination .swiper-pagination-bullet{
	width:26px;
	height:3px;
	border-radius:99px;
	background:rgba(255,255,255,.42);
	opacity:1;
}
.devm01-project__pagination .swiper-pagination-bullet-active{
	background:var(--c-accent-light);
}
.devm01-project__nav button{
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-project__nav button:hover{
	background:var(--c-accent-light);
	border-color:var(--c-accent-light);
	color:var(--c-primary);
	transform:translateY(-2px);
}
.devm01-gallery-latest-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.devm01-gallery-latest-card{
	overflow:hidden;
	border:1px solid var(--devm01-gray-200);
	border-radius:24px;
	background-color:var(--c-surface, #fff);
	box-shadow:var(--devm01-shadow-card);
	transition:transform var(--devm01-duration) var(--devm01-ease),
box-shadow var(--devm01-duration) var(--devm01-ease);
}
.devm01-gallery-latest-card:hover{
	transform:translateY(-8px);
	box-shadow:var(--devm01-shadow-floating);
}
.devm01-gallery-latest-card__image{
	display:block;
	position:relative;
	overflow:hidden;
	aspect-ratio:3/2;
	background-color:var(--c-line-soft, #E8EEF5);
}
.devm01-gallery-latest-card__image::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background-color:transparent;
	opacity:0;
	transition:opacity var(--devm01-duration) var(--devm01-ease);
}
.devm01-gallery-latest-card__image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 650ms var(--devm01-ease);
}
.devm01-gallery-latest-card:hover img{
	transform:scale(1.075);
}
.devm01-gallery-latest-card:hover .devm01-gallery-latest-card__image::before{
	opacity:1;
}
.devm01-gallery-latest-card__image span{
	position:absolute;
	left:22px;
	bottom:18px;
	z-index:2;
	color:var(--c-surface, #fff);
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.08em;
	opacity:0;
	transform:translateY(10px);
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-gallery-latest-card__image span::after{
	content:"→";
	margin-left:10px;
}
.devm01-gallery-latest-card:hover .devm01-gallery-latest-card__image span{
	opacity:1;
	transform:translateY(0);
}
.devm01-gallery-latest-card__body{
	padding:24px;
}
.devm01-gallery-latest-card__body em{
	color:var(--c-accent);
	font-style:normal;
	font-family:var(--devm01-font-en);
	font-size:16px;
	letter-spacing:.1em;
}
.devm01-gallery-latest-card__body h3{
	margin:10px 0 12px;
	color:var(--c-primary);
	font-size:20px;
	line-height:1.42;
	font-weight:bold;
	letter-spacing:-.04em;
}
.devm01-gallery-latest-card__body time{
	color:var(--devm01-gray-400);
	font-family:var(--devm01-font-en);
	font-size:16px;
}
@media (max-width:1024px){
	.devm01-gallery-latest-grid{
		grid-template-columns:repeat(2,1fr);
	}
}
@media (max-width:768px){
	.devm01-project-swiper{
		padding-bottom:0
	}
	.devm01-project-pagination.swiper-pagination-bullets,.devm01-project__pagination.swiper-pagination-bullets{
		margin-top:26px
	}
	.devm01-project-card__body{
		padding:24px 22px
	}
	.devm01-project-card__body h3{
		min-height:0;
		font-size:21px
	}
	.devm01-project-card__body p{
		min-height:0
	}
	.devm01-gallery-latest-grid{
		grid-template-columns:1fr;
	}
}
.devm01-project-card .devm01-project-card__body{
	padding:30px 30px 32px;
}
@media (max-width:768px){
	.devm01-project-card .devm01-project-card__body{
		padding:24px 22px;
	}
}
/* Phase 6+ visual interaction polish: premium image-first latest cards */
.devm01-latest-news-featured{
	position:relative;
	background:linear-gradient(145deg,var(--c-primary, #071C35),var(--c-deep, #0D2B4F));
	box-shadow:var(--devm01-shadow-floating);
}
.devm01-latest-feature__img{
	position:relative;
	background:var(--c-line-soft, #DDE8F3);
}
.devm01-latest-feature__img::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(7,28,53,0) 42%,rgba(7,28,53,.34));
	pointer-events:none;
}
.devm01-latest-feature__img.is-fallback img{
	filter:saturate(1.02) contrast(1.03);
}
.devm01-latest-feature__body{
	background:linear-gradient(145deg,var(--c-primary, #071C35),var(--c-deep, #0D2B4F));
}
.devm01-latest-feature__empty{
	min-height:auto;
}
.devm01-latest-feature__empty a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:24px;
	color:var(--c-accent-light);
}
.devm01-latest-feature__empty a::after{
	content:"→";
}
.devm01-project-card{
	min-width:0;
}
.devm01-project-card__image::after{
	display:none!important;
	content:none!important;
}
.devm01-project-card__body{
	background-color:var(--c-surface, #fff);
}
.devm01-project-card.is-fallback .devm01-project-card__body{
	background:linear-gradient(180deg,var(--c-surface, #fff) 0%,var(--c-surface-2, #F8FBFF) 100%);
}
.devm01-gallery-latest-card__image::after{
	content:"";
	position:absolute;
	right:18px;
	top:18px;
	z-index:2;
	width:38px;
	height:38px;
	border-radius:50%;
	border:1px solid rgba(255,255,255,.36);
	background-color:rgba(7,28,53,.4);
	opacity:0;
	transform:translateY(-6px);
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-gallery-latest-card:hover .devm01-gallery-latest-card__image::after{
	opacity:1;
	transform:translateY(0);
}
/* Mobile QA: clearer hero,
lighter overlay,
tighter CTA layout */
@media (max-width:768px){

	.devm01-hero{
		min-height:620px;
		height:auto;
		padding-top:64px;
		background:var(--c-primary, #071C35);
	}
	.devm01-hero__slide{
		background-position:center top;
	}
	.devm01-hero__overlay{
		background:linear-gradient(180deg,
rgba(7,28,53,.46) 0%,
rgba(7,28,53,.34) 44%,
rgba(7,28,53,.62) 100%) !important;
	}
	.devm01-hero__content{
		min-height:556px;
		padding-top:44px;
		padding-bottom:52px;
	}
	.devm01-hero h2{
		font-size:36px;
		line-height:1.18;
		text-shadow:0 2px 16px rgba(0,0,0,.28);
	}
	.devm01-hero p{
		margin-top:18px;
		color:rgba(255,255,255,.9);
		line-height:1.72;
		text-shadow:0 1px 10px rgba(0,0,0,.22);
	}
	.devm01-hero__actions{
		margin-top:30px;
		gap:10px;
	}
	.devm01-hero__actions .devm01-btn{
		height:50px;
		padding:0 20px;
	}
	.devm01-hero__actions .devm01-btn-secondary{
		backdrop-filter:none;
		background:rgba(255,255,255,.12);
	}
	.devm01-section{
		padding:64px 0;
	}
	.devm01-main-contact{
		padding:66px 0 64px;
	}
	.devm01-main-contact h2{
		font-size:29px;
		line-height:1.32;
	}
	.devm01-main-contact p{
		margin:14px auto 24px;
		font-size:16px;
		line-height:1.7;
	}
}
@media (max-width:430px){

	.devm01-hero{
		min-height:590px;
	}
	.devm01-hero__content{
		min-height:526px;
	}
	.devm01-hero h2{
		font-size:33px;
	}
}
@media (max-width:375px){

	.devm01-hero h2{
		font-size:31px;
	}
	.devm01-hero p{
		font-size:16px;
	}
}
/* Mobile hero QA: remove desktop progress UI instead of shrinking desktop controls */
@media (max-width:768px){

	.devm01-hero__meta{
		display:none !important;
	}
	.devm01-hero__progress{
		display:none !important;
	}
	.devm01-hero__content{
		justify-content:center;
	}
}
/* FAQ preview: jQuery owns height animation,
CSS only handles visual states */
.devm01-latest-faq-preview .devm01-faq-item p{
	overflow:hidden;
}
.devm01-latest-faq-preview .devm01-faq-item.is-open button{
	color:var(--c-primary);
}
/* QA Hero System: Swiper / image,
mp4,
YouTube background */
.devm01-hero{
	position:relative;
	min-height:760px;
	height:100vh;
	overflow:hidden;
	color:var(--c-bg);
	background:var(--c-primary);
}
.devm01-hero-swiper,
.devm01-hero-swiper .swiper-wrapper,
.devm01-hero-swiper .swiper-slide{
	width:100%;
	height:100%;
}
.devm01-hero__slide{
	position:relative;
	opacity:1;
	transform:none;
	background:var(--devm01-hero-bg) center/cover no-repeat;
	transition:none;
	overflow:hidden;
}
.devm01-hero__slide.is-active{
	transform:none;
}
.devm01-hero__media,
.devm01-hero__overlay{
	position:absolute;
	inset:0;
}
.devm01-hero__media{
	z-index:0;
	background:var(--devm01-hero-bg) center/cover no-repeat;
}
.devm01-hero__media img,
.devm01-hero__media video{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.02);
	transition:transform 7600ms linear;
}
.devm01-hero__media video{
	display:block;
	pointer-events:none;
}
.devm01-hero__slide.is-video-fallback .devm01-hero__media video{
	display:none;
}
.devm01-hero .swiper-slide-active .devm01-hero__media img,
.devm01-hero .swiper-slide-active .devm01-hero__media video{
	transform:scale(1.08);
}
.devm01-hero-youtube{
	position:absolute;
	inset:-10%;
	background:center/cover no-repeat;
	pointer-events:none;
}
.devm01-hero-youtube iframe{
	position:absolute;
	left:50%;
	top:50%;
	width:120vw;
	height:67.5vw;
	min-width:177.78vh;
	min-height:100vh;
	transform:translate(-50%,-50%);
	pointer-events:none;
	border:0;
}
.devm01-hero__overlay{
	z-index:1;
	background:linear-gradient(90deg,
rgba(7,28,53,.88) 0%,
rgba(7,28,53,.6) 46%,
rgba(7,28,53,.18) 100%),
linear-gradient(180deg,
rgba(0,0,0,.38),
transparent 38%,
rgba(0,0,0,.36));
}
.devm01-hero__content{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:100%;
	padding-top:80px;
}
.devm01-hero__pagination.swiper-pagination-bullets{
	position:absolute;
	left:50%;
	bottom:96px;
	z-index:3;
	width:auto;
	transform:translateX(-50%);
	display:none;
}
.devm01-hero__pagination .swiper-pagination-bullet{
	width:28px;
	height:3px;
	border-radius:99px;
	background:rgba(255,255,255,.45);
	opacity:1;
	transition:width var(--devm01-duration) var(--devm01-ease),
background var(--devm01-duration) var(--devm01-ease);
}
.devm01-hero__pagination .swiper-pagination-bullet-active{
	width:46px;
	background:var(--c-accent-light);
}
.devm01-hero__nav{
	position:absolute;
	left:50%;
	right:auto;
	bottom:118px;
	z-index:3;
	display:flex;
	justify-content:flex-end;
	gap:8px;
	transform:translateX(-50%);
	pointer-events:none;
}
.devm01-hero__nav button{
	pointer-events:auto;
	width:46px;
	height:46px;
	border:1px solid rgba(255,255,255,.24);
	border-radius:50%;
	background:rgba(255,255,255,.08);
	color:var(--c-surface, #fff);
	font-size:0;
	cursor:pointer;
	backdrop-filter:blur(10px);
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-hero__nav button:hover{
	background:var(--c-accent-light);
	border-color:var(--c-accent-light);
	color:var(--c-primary);
	transform:translateY(-2px);
}
.devm01-hero__nav .devm01-hero-prev::before{
	content:"←";
	font-size:16px;
}
.devm01-hero__nav .devm01-hero-next::before{
	content:"→";
	font-size:16px;
}
.devm01-hero__progress span{
	width:100%;
	transform:scaleX(.333);
	transform-origin:left center;
	transition:transform 560ms var(--devm01-ease);
}
@media(max-width:768px){
	.devm01-hero{
		height:650px;
		min-height:650px
	}
	.devm01-hero-swiper,.devm01-hero-swiper .swiper-wrapper,.devm01-hero-swiper .swiper-slide{
		height:100%
	}
	.devm01-hero__content{
		padding-top:64px
	}
	.devm01-hero__nav,.devm01-hero__meta{
		display:none
	}
	.devm01-hero__pagination.swiper-pagination-bullets{
		display:flex !important;
		align-items:center;
		justify-content:center;
		gap:7px;
		left:50% !important;
		right:auto !important;
		bottom:26px;
		width:auto !important;
		transform:translateX(-50%) !important
	}
	.devm01-hero__pagination .swiper-pagination-bullet{
		width:8px;
		height:8px;
		margin:0 !important;
		border-radius:50%
	}
	.devm01-hero__pagination .swiper-pagination-bullet-active{
		width:22px;
		border-radius:99px
	}
	.devm01-hero-youtube iframe{
		display:none
	}
	.devm01-hero__media{
		background:var(--devm01-hero-bg) center/cover no-repeat
	}
	.devm01-hero__media video{
		display:block;
		pointer-events:none
	}
}
/* Hero circular autoplay timer */
.devm01-hero__slide--center .devm01-hero__content{
	align-items:center;
	text-align:center;
}
.devm01-hero__slide--center .devm01-hero__actions{
	justify-content:center;
}
.devm01-hero__overlay{
	opacity:var(--devm01-hero-overlay,
.72);
}
.devm01-hero-timer{
	position:absolute;
	right:max(28px,
calc((100vw - var(--devm01-inner)) / 2));
	bottom:42px;
	z-index:4;
	width:58px;
	height:58px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--c-surface, #fff);
	font-family:var(--devm01-font-en);
	font-size:16px;
}
.devm01-hero-timer svg{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	transform:rotate(-90deg);
}
.devm01-hero-timer circle{
	fill:none;
	stroke:rgba(255,255,255,.22);
	stroke-width:3;
}
.devm01-hero-timer__bar{
	stroke:var(--c-accent-light) !important;
	stroke-linecap:round;
	stroke-dasharray:119.38;
	stroke-dashoffset:0;
	transition:stroke-dashoffset .16s linear;
	filter:drop-shadow(0 0 8px rgba(24,183,200,.35));
}
.devm01-hero-timer span{
	position:relative;
	z-index:1;
}
@media(max-width:768px){
	.devm01-hero-timer{
		display:none
	}
}
.devm01-gallery-showcase{
	background:linear-gradient(180deg,var(--c-surface, #fff) 0%,var(--c-surface-2, #F8FAFC) 100%);
	overflow:hidden;
}
.devm01-gallery-showcase__cards{
	margin-top:34px;
}
/* Gallery latest section rhythm refinement */
.devm01-gallery-showcase{
	position:relative;
	overflow:hidden;
}
.devm01-gallery-showcase--field{
	padding-top:128px;
	padding-bottom:108px;
	background-color:var(--c-surface, #fff);
}
.devm01-gallery-showcase--field::before{
	content:"";
	position:absolute;
	right:-180px;
	top:80px;
	width:420px;
	height:420px;
	border-radius:50%;
	background:rgba(30,136,229,.045);
	pointer-events:none;
}
.devm01-gallery-showcase--archive{
	padding-top:118px;
	padding-bottom:122px;
	background:linear-gradient(180deg,var(--c-surface-2, #F7FAFD) 0%,var(--c-surface, #ffffff) 100%);
	border-top:1px solid rgba(7,28,53,.06);
}
.devm01-gallery-showcase--archive::before{
	content:"PROJECT";
	position:absolute;
	right:max(24px,calc((100vw - var(--devm01-inner))/2));
	top:42px;
	color:rgba(7,28,53,.035);
	font-family:var(--devm01-font-en);
	font-size:112px;
	line-height:1;
	letter-spacing:-.06em;
	pointer-events:none;
}
.devm01-gallery-section-head{
	position:relative;
	z-index:1;
	margin-bottom:44px;
}
.devm01-gallery-section-head .devm01-desc{
	max-width:760px;
}
.devm01-gallery-showcase--archive .devm01-gallery-section-head{
	margin-bottom:38px;
}
.devm01-gallery-showcase--archive .devm01-btn-secondary{
	background:var(--c-primary);
	border-color:var(--c-primary);
	color:var(--c-surface, #fff);
}
.devm01-gallery-showcase--archive .devm01-btn-secondary:hover{
	background:var(--c-accent);
	border-color:var(--c-accent);
}
.devm01-gallery-showcase__cards{
	margin-top:0;
}
@media(max-width:1024px){

	.devm01-gallery-showcase--field{
		padding-top:96px;
		padding-bottom:86px;
	}
	.devm01-gallery-showcase--archive{
		padding-top:92px;
		padding-bottom:94px;
	}
	.devm01-gallery-showcase--archive::before{
		font-size:76px;
		top:30px;
	}
}
@media(max-width:768px){

	.devm01-gallery-showcase--field,.devm01-gallery-showcase--archive{
		padding-top:72px;
		padding-bottom:76px;
	}
	.devm01-gallery-section-head{
		display:block;
		margin-bottom:30px;
	}
	.devm01-gallery-section-head .devm01-btn{
		margin-top:22px;
		width:100%;
	}
	.devm01-gallery-showcase--archive::before{
		display:none;
	}
}
/* QA: hero timer visible near text/progress and never behind stats card */
.devm01-hero-swiper{
	position:relative;
	z-index:1;
}
.devm01-hero__content{
	z-index:5 !important;
}
.devm01-hero__nav{
	z-index:7 !important;
}
.devm01-hero__meta{
	z-index:6 !important;
}
.devm01-hero-timer{
	left:max(24px,
calc((100vw - var(--devm01-inner)) / 2));
	right:auto;
	bottom:138px;
	z-index:8 !important;
	width:62px;
	height:62px;
	border-radius:50%;
	background:rgba(7,28,53,.32);
	border:1px solid rgba(255,255,255,.22);
	backdrop-filter:blur(10px);
	box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.devm01-hero-timer circle{
	stroke:rgba(255,255,255,.30);
}
.devm01-hero-timer__bar{
	stroke:var(--c-accent-light) !important;
	filter:drop-shadow(0 0 9px rgba(57,214,255,.45));
}
.devm01-stats{
	position:relative;
	z-index:3;
}
@media(max-width:768px){
	.devm01-hero-timer{
		display:none !important;
	}
}
/* QA: latest gallery/case images must fill card areas even when uploaded source is small */
.devm01-project-card__image,
.devm01-gallery-latest-card__image,
.devm01-gallery-image-link{

	display:block !important;

	overflow:hidden !important;

	background-color:var(--c-line-soft, #E8EEF5);

	background-size:cover !important;

	background-position:center center !important;

}
.devm01-project-card__image,
.devm01-gallery-latest-card__image{
	aspect-ratio:4/3 !important;
}
.devm01-gallery-image-link{
	aspect-ratio:1/1 !important;
}
.devm01-project-card__image img,
.devm01-gallery-latest-card__image img,
.devm01-gallery-image-item img{

	display:block;

	width:100% !important;

	height:100% !important;

	min-width:100% !important;

	min-height:100% !important;

	max-width:none !important;

	max-height:none !important;

	object-fit:cover !important;

	object-position:center center !important;

}
/* DevM QA hotfix: use real cover behavior and a CSS-only white magnifier icon */
.devm01-board--gallery .devm01-gallery-item.has-image,
.devm01-board--gallery .devm01-gallery-item__image,
.devm01-latest-gallery-images .devm01-gallery-image-item,
.devm01-latest-gallery-images .devm01-gallery-image-link,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image,
.devm01-project-card__image,
.devm01-view-images .devm01-fancybox-link{

	position:relative!important;

	display:block!important;

	overflow:hidden!important;

	background-color:var(--c-surface-3, #EEF3F8)!important;

	background-size:cover!important;

	background-position:center center!important;

}
.devm01-board--gallery .devm01-gallery-item.has-image,
.devm01-board--gallery .devm01-gallery-item__image,
.devm01-latest-gallery-images .devm01-gallery-image-item,
.devm01-latest-gallery-images .devm01-gallery-image-link{
	aspect-ratio:1/1!important;
}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image,
.devm01-project-card__image,
.devm01-view-images .devm01-fancybox-link{
	aspect-ratio:4/3!important;
}
.devm01-board--gallery .devm01-gallery-item__image img,
.devm01-latest-gallery-images .devm01-gallery-image-link img,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image img,
.devm01-project-card__image img,
.devm01-view-images .devm01-fancybox-link img{

	display:block!important;

	width:100%!important;

	height:100%!important;

	min-width:100%!important;

	min-height:100%!important;

	max-width:none!important;

	max-height:none!important;

	object-fit:cover!important;

	object-position:center center!important;

}
.devm01-board--gallery .devm01-gallery-zoom,
.devm01-latest-gallery-images .devm01-gallery-zoom,
.devm01-latest-gallery-cards .devm01-gallery-zoom,
.devm01-gallery-zoom{

	position:absolute!important;

	right:12px!important;

	top:12px!important;

	z-index:20!important;

	display:flex!important;

	align-items:center!important;

	justify-content:center!important;

	width:42px!important;

	height:42px!important;

	border-radius:50%!important;

	background:rgba(7,28,53,.82)!important;

	border:1px solid rgba(255,255,255,.28)!important;

	color:var(--c-surface, #fff)!important;

	opacity:0;

	transform:translateY(-6px);

}
.devm01-gallery-item:hover .devm01-gallery-zoom,
.devm01-gallery-image-item:hover .devm01-gallery-zoom,
.devm01-gallery-latest-card:hover .devm01-gallery-zoom{
	opacity:1!important;
	transform:translateY(0)!important;
}
.devm01-board--gallery .devm01-gallery-zoom i,
.devm01-latest-gallery-images .devm01-gallery-zoom i,
.devm01-latest-gallery-cards .devm01-gallery-zoom i,
.devm01-gallery-zoom i{
	display:none!important;
}
.devm01-board--gallery .devm01-gallery-zoom::before,
.devm01-latest-gallery-images .devm01-gallery-zoom::before,
.devm01-latest-gallery-cards .devm01-gallery-zoom::before,
.devm01-gallery-zoom::before{

	content:""!important;

	display:block!important;

	width:14px!important;

	height:14px!important;

	border:3px solid var(--c-surface, #fff)!important;

	border-radius:50%!important;

	box-sizing:border-box!important;

	background-color:transparent!important;

}
.devm01-board--gallery .devm01-gallery-zoom::after,
.devm01-latest-gallery-images .devm01-gallery-zoom::after,
.devm01-latest-gallery-cards .devm01-gallery-zoom::after,
.devm01-gallery-zoom::after{

	content:""!important;

	display:block!important;

	position:absolute!important;

	width:9px!important;

	height:3px!important;

	right:10px!important;

	bottom:11px!important;

	background:var(--c-surface, #fff)!important;

	border-radius:999px!important;

	transform:rotate(45deg)!important;

}
@media(max-width:768px){
	.devm01-gallery-zoom{
		opacity:1!important;
		transform:none!important;
		width:38px!important;
		height:38px!important;
	}
}
/* DevM QA: gallery list/latest use background-image thumbnails,
not visible <img> */
.devm01-gallery-thumb,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

	position:relative!important;

	display:block!important;

	width:100%!important;

	overflow:hidden!important;

	background-color:var(--c-surface-3, #EEF3F8)!important;

	background-size:cover!important;

	background-position:center center!important;

	background-repeat:no-repeat!important;

}
.devm01-board--gallery .devm01-gallery-item.has-image,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb{
	aspect-ratio:1/1!important;
}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{
	aspect-ratio:4/3!important;
}
.devm01-gallery-thumb img{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important;
	clip:rect(0 0 0 0)!important;
	clip-path:inset(50%)!important;
	opacity:0!important;
	pointer-events:none!important;
}
.devm01-board--gallery .devm01-gallery-item__image::before,
.devm01-board--gallery .devm01-gallery-item__image::after,
.devm01-latest-gallery-images .devm01-gallery-image-link::before,
.devm01-latest-gallery-images .devm01-gallery-image-link::after,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image::before,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image::after{
	display:none!important;
	content:none!important;
}
.devm01-board--gallery .devm01-gallery-item::before,
.devm01-latest-gallery-images .devm01-gallery-image-item::before,
.devm01-latest-gallery-cards .devm01-gallery-latest-card::before{
	display:none!important;
	content:none!important;
}
.devm01-board--gallery .devm01-gallery-zoom,
.devm01-latest-gallery-images .devm01-gallery-zoom,
.devm01-latest-gallery-cards .devm01-gallery-zoom{

	position:absolute!important;
	right:12px!important;
	top:12px!important;
	z-index:30!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:42px!important;
	height:42px!important;
	border-radius:50%!important;
	background:rgba(7,28,53,.78)!important;
	border:1px solid rgba(255,255,255,.28)!important;
	color:var(--c-surface, #fff)!important;
	text-decoration:none!important;
	box-shadow:0 12px 28px rgba(0,0,0,.22)!important;
	opacity:0;
	transform:translateY(-6px);
	transition:all var(--devm01-duration) var(--devm01-ease);
	cursor:zoom-in!important;
	backdrop-filter:blur(8px);

}
.devm01-board--gallery .devm01-gallery-zoom::before,.devm01-board--gallery .devm01-gallery-zoom::after,
.devm01-latest-gallery-images .devm01-gallery-zoom::before,.devm01-latest-gallery-images .devm01-gallery-zoom::after,
.devm01-latest-gallery-cards .devm01-gallery-zoom::before,.devm01-latest-gallery-cards .devm01-gallery-zoom::after{
	display:none!important;
	content:none!important;
}
.devm01-board--gallery .devm01-gallery-zoom i,
.devm01-latest-gallery-images .devm01-gallery-zoom i,
.devm01-latest-gallery-cards .devm01-gallery-zoom i{
	display:block!important;
	color:var(--c-surface, #fff)!important;
	font-size:16px!important;
	line-height:1!important;
	opacity:1!important;
}
.devm01-board--gallery .devm01-gallery-item:hover .devm01-gallery-zoom,
.devm01-latest-gallery-images .devm01-gallery-image-item:hover .devm01-gallery-zoom,
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover .devm01-gallery-zoom{
	opacity:1!important;
	transform:translateY(0)!important;
}
@media(max-width:768px){
	.devm01-board--gallery .devm01-gallery-zoom,.devm01-latest-gallery-images .devm01-gallery-zoom,.devm01-latest-gallery-cards .devm01-gallery-zoom{
		opacity:1!important;
		transform:none!important;
		width:38px!important;
		height:38px!important;
		right:10px!important;
		top:10px!important;
	}
}
/* DevM QA final: clean gallery latest cards - image only,
no gray panels/overlay/shadow */
.devm01-latest-gallery-images .devm01-gallery-image-item,
.devm01-latest-gallery-cards .devm01-gallery-latest-card{

	background-color:transparent!important;

	background-color:transparent!important;

	border:0!important;

	box-shadow:none!important;

	overflow:hidden!important;

	transform:none!important;

}
.devm01-latest-gallery-images .devm01-gallery-image-item:hover,
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover{

	background-color:transparent!important;

	background-color:transparent!important;

	border-color:transparent!important;

	box-shadow:none!important;

	transform:none!important;

}
.devm01-latest-gallery-images .devm01-gallery-image-link,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

	background-color:transparent!important;

	box-shadow:none!important;

	filter:none!important;

	transition:transform 520ms var(--devm01-ease)!important;

	will-change:transform;

}
.devm01-latest-gallery-images .devm01-gallery-image-link:hover,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image:hover,
.devm01-latest-gallery-images .devm01-gallery-image-item:hover .devm01-gallery-image-link,
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover .devm01-gallery-latest-card__image{

	transform:scale(1.045)!important;

	filter:none!important;

}
.devm01-latest-gallery-images .devm01-gallery-image-link::before,
.devm01-latest-gallery-images .devm01-gallery-image-link::after,
.devm01-latest-gallery-images .devm01-gallery-image-item::before,
.devm01-latest-gallery-images .devm01-gallery-image-item::after,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image::before,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image::after,
.devm01-latest-gallery-cards .devm01-gallery-latest-card::before,
.devm01-latest-gallery-cards .devm01-gallery-latest-card::after{

	display:none!important;

	content:none!important;

	opacity:0!important;

	background-color:transparent!important;

	box-shadow:none!important;

}
.devm01-latest-gallery-images .devm01-gallery-image-link span,
.devm01-latest-gallery-images .devm01-gallery-image-link .devm01-gallery-title{

	display:none!important;

	opacity:0!important;

	background-color:transparent!important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__body{

	background-color:transparent!important;

	background-color:transparent!important;

	box-shadow:none!important;

	border:0!important;

	padding:12px 0 0!important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__body::before,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__body::after{

	display:none!important;

	content:none!important;

}
.devm01-latest-gallery-images .devm01-gallery-zoom,
.devm01-latest-gallery-cards .devm01-gallery-zoom{

	background:rgba(7,28,53,.72)!important;

	box-shadow:none!important;

}
/* DevM QA final: background-image gallery thumbs use ratio-generated height */
.devm01-gallery-thumb,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

	position:relative!important;

	display:block!important;

	width:100%!important;

	overflow:hidden!important;

	background-size:cover!important;

	background-position:center center!important;

	background-repeat:no-repeat!important;

	min-height:240px!important;

}
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb{

	aspect-ratio:1/1!important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

	aspect-ratio:4/3!important;

}
.devm01-gallery-thumb img{

	display:none!important;

}
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb::after,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb::after,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb::after{

	display:none!important;

	content:none!important;

	background-color:transparent!important;

	opacity:0!important;

	pointer-events:none!important;

}
@supports not (aspect-ratio: 1 / 1){

	.devm01-gallery-thumb,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

			min-height:0!important;

	}
	.devm01-gallery-thumb::before,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb::before,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb::before{

			content:""!important;

			display:block!important;

			width:100%!important;

			padding-top:100%!important;

			background-color:transparent!important;

			opacity:1!important;

	}
	.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb::before{

			content:""!important;

			display:block!important;

			width:100%!important;

			padding-top:75%!important;

			background-color:transparent!important;

			opacity:1!important;

	}
}
@media(max-width:768px){

	.devm01-gallery-thumb,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

			min-height:150px!important;

	}
}
/* DevM QA final: protect inline background-image from shorthand resets */
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{

	background-color:var(--c-surface-3, #EEF3F8)!important;

	background-size:cover!important;

	background-position:center center!important;

	background-repeat:no-repeat!important;

	min-height:240px!important;

}
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb{
	aspect-ratio:1/1!important;
}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb{
	aspect-ratio:4/3!important;
}
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb:hover,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb:hover,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb:hover{

	background-color:var(--c-surface-3, #EEF3F8)!important;

	background-size:cover!important;

	background-position:center center!important;

	background-repeat:no-repeat!important;

}
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb::before,
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb::after,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb::before,
.devm01-latest-gallery-images .devm01-gallery-image-link.devm01-gallery-thumb::after,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb::before,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image.devm01-gallery-thumb::after{

	display:none!important;

	content:none!important;

	opacity:0!important;

}
/* DevM QA: restrained boundaries for card-type latest items */
.devm01-latest-gallery-cards .devm01-gallery-latest-card,
.devm01-gallery-latest-grid .devm01-gallery-latest-card,
.devm01-project-card,
.devm01-case-latest-card{

	overflow:hidden !important;

	border:1px solid rgba(15,35,60,.08) !important;

	border-radius:24px !important;

	background-color:var(--c-surface, #fff) !important;

	box-shadow:0 10px 24px rgba(15,35,60,.04) !important;

	transform:none;

	transition:transform var(--devm01-duration) var(--devm01-ease),
box-shadow var(--devm01-duration) var(--devm01-ease),
border-color var(--devm01-duration) var(--devm01-ease) !important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover,
.devm01-gallery-latest-grid .devm01-gallery-latest-card:hover,
.devm01-project-card:hover,
.devm01-case-latest-card:hover{

	border-color:rgba(30,136,229,.18) !important;

	box-shadow:0 18px 42px rgba(15,35,60,.075) !important;

	transform:translateY(-4px) !important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image,
.devm01-gallery-latest-grid .devm01-gallery-latest-card__image,
.devm01-project-card__image,
.devm01-case-latest-card__image{

	border-bottom:1px solid rgba(15,35,60,.07) !important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__body,
.devm01-gallery-latest-grid .devm01-gallery-latest-card__body,
.devm01-project-card__body,
.devm01-case-latest-card__body{

	padding:20px 22px 22px !important;

	background-color:var(--c-surface, #fff) !important;

	border:0 !important;

	box-shadow:none !important;

}
.devm01-latest-gallery-cards .devm01-gallery-latest-card__body h3,
.devm01-gallery-latest-grid .devm01-gallery-latest-card__body h3,
.devm01-project-card__body h3,
.devm01-case-latest-card__body h3{

	margin-top:0 !important;

}
@media(max-width:768px){

	.devm01-latest-gallery-cards .devm01-gallery-latest-card,
.devm01-gallery-latest-grid .devm01-gallery-latest-card,
.devm01-project-card,
.devm01-case-latest-card{
		border-radius:18px !important;
	}
	.devm01-latest-gallery-cards .devm01-gallery-latest-card__body,
.devm01-gallery-latest-grid .devm01-gallery-latest-card__body,
.devm01-project-card__body,
.devm01-case-latest-card__body{
		padding:16px 18px 18px !important;
	}
}
/* DevM QA: gallery latest border-only and board gallery background-thumb hover zoom */
.devm01-latest-gallery-images .devm01-gallery-image-item,
.devm01-latest-gallery-cards .devm01-gallery-latest-card{

	border:1px solid rgba(15,35,60,.10) !important;

	box-shadow:none !important;

	background-color:var(--c-surface, #fff) !important;

}
.devm01-latest-gallery-images .devm01-gallery-image-item:hover,
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover{

	border-color:rgba(30,136,229,.22) !important;

	box-shadow:none !important;

}
.devm01-latest-gallery-images .devm01-gallery-image-link,
.devm01-latest-gallery-cards .devm01-gallery-latest-card__image{

	transition:transform 620ms var(--devm01-ease),
filter 620ms var(--devm01-ease) !important;

	transform-origin:center center !important;

}
.devm01-latest-gallery-images .devm01-gallery-image-item:hover .devm01-gallery-image-link,
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover .devm01-gallery-latest-card__image{

	transform:scale(1.045) !important;

	filter:saturate(1.04) contrast(1.03) !important;

}
.devm01-board--gallery .devm01-gallery-item__image.devm01-gallery-thumb{

	transition:transform 680ms var(--devm01-ease),
filter 680ms var(--devm01-ease) !important;

	transform-origin:center center !important;

}
.devm01-board--gallery .devm01-gallery-item:hover .devm01-gallery-item__image.devm01-gallery-thumb{

	transform:scale(1.06) !important;

	filter:saturate(1.04) contrast(1.03) !important;

}
/* DevM QA: Project Portfolio standard carousel without image zoom/Fancybox UI */
.devm01-project__viewport{
	position:relative;
	overflow:hidden;
}
.devm01-project-swiper{
	overflow:visible;
	padding:10px 0 58px;
}
.devm01-project-swiper .swiper-wrapper{
	align-items:stretch;
}
.devm01-project-card{
	height:auto;
}
.devm01-project-card__image{
	cursor:pointer;
}
.devm01-project-card.is-fallback .devm01-project-card__image{
	cursor:default;
}
.devm01-project-card__image::after,
.devm01-project-card__image em,
.devm01-project .devm01-fancybox-link::after,
.devm01-project .devm01-gallery-zoom{
	display:none!important;
	content:none!important;
	opacity:0!important;
	pointer-events:none!important;
}
.devm01-project-card__image img{
	display:block;
	width:100%!important;
	height:100%!important;
	object-fit:cover!important;
	transition:transform 620ms var(--devm01-ease),filter 620ms var(--devm01-ease)!important;
}
.devm01-project-card:hover .devm01-project-card__image img{
	transform:scale(1.045)!important;
	filter:saturate(1.04) contrast(1.03)!important;
}
.devm01-project-card__body h3 a:hover,.devm01-project-card:hover .devm01-project-card__body h3{
	color:var(--c-accent);
}
/* DevM Phase: premium partners logo marquee after Notice & Resource */
.devm01-partners-showcase{
	position:relative;
	overflow:hidden;
	background:linear-gradient(180deg,var(--c-surface-2, #F8FAFC) 0%,var(--c-surface, #fff) 100%);
	border-top:1px solid rgba(7,28,53,.06);
	border-bottom:1px solid rgba(7,28,53,.06);
}
.devm01-partners-showcase::before{
	content:"PARTNERS";
	position:absolute;
	right:max(24px,calc((100vw - var(--devm01-inner))/2));
	top:44px;
	color:rgba(7,28,53,.035);
	font-family:var(--devm01-font-en);
	font-size:108px;
	line-height:1;
	letter-spacing:-.07em;
	pointer-events:none;
}
.devm01-partners-showcase__head{
	position:relative;
	z-index:1;
	margin-bottom:34px;
}
.devm01-partners-showcase__head .devm01-desc{
	max-width:720px;
}
.devm01-partners-swiper{
	position:relative;
	z-index:1;
	overflow:visible;
	padding:4px 0 8px;
}
.devm01-partners-swiper .swiper-wrapper{
	transition-timing-function:linear!important;
	align-items:center;
}
.devm01-partner-card{
	width:218px!important;
	height:96px;
	display:flex!important;
	align-items:center;
	justify-content:center;
	padding:0 30px;
	border:1px solid rgba(15,35,60,.075);
	border-radius:18px;
	background:var(--c-surface, #fff);
	box-shadow:0 8px 22px rgba(15,35,60,.035);
	transition:transform var(--devm01-duration) var(--devm01-ease),box-shadow var(--devm01-duration) var(--devm01-ease),border-color var(--devm01-duration) var(--devm01-ease);
}
.devm01-partner-card img{
	display:block;
	max-width:154px;
	width:auto;
	height:34px;
	max-height:34px;
	object-fit:contain;
	filter:grayscale(1);
	opacity:.76;
	transition:filter var(--devm01-duration) var(--devm01-ease),opacity var(--devm01-duration) var(--devm01-ease),transform var(--devm01-duration) var(--devm01-ease);
}
.devm01-partner-card:hover{
	transform:translateY(-4px);
	border-color:rgba(30,136,229,.18);
	box-shadow:0 14px 32px rgba(15,35,60,.065);
}
.devm01-partner-card:hover img{
	filter:grayscale(0);
	opacity:1;
	transform:scale(1.04);
}
@media(max-width:1024px){
	.devm01-partners-showcase::before{
		font-size:76px;
		top:30px
	}
	.devm01-partner-card{
		width:190px!important;
		height:88px;
		padding:0 24px
	}
	.devm01-partner-card img{
		max-width:136px;
		height:31px;
		max-height:31px
	}
}
@media(max-width:768px){
	.devm01-partners-showcase::before{
		display:none
	}
	.devm01-partners-showcase__head{
		display:block;
		margin-bottom:24px
	}
	.devm01-partner-card{
		width:166px!important;
		height:78px;
		padding:0 20px;
		border-radius:16px
	}
	.devm01-partner-card img{
		max-width:122px;
		height:28px;
		max-height:28px
	}
}
/* Project Portfolio pagination QA: outside slider card area */
.devm01-project__viewport{
	overflow:visible;
}
.devm01-project-swiper{
	padding-bottom:0 !important;
}
.devm01-project-pagination.swiper-pagination,
.devm01-project__pagination.swiper-pagination{
	position:static !important;
	left:auto !important;
	right:auto !important;
	top:auto !important;
	bottom:auto !important;
	width:100% !important;
	display:flex !important;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin:34px auto 0 !important;
	transform:none !important;
	z-index:1;
	pointer-events:auto;
}
.devm01-project-pagination .swiper-pagination-bullet,
.devm01-project__pagination .swiper-pagination-bullet{
	margin:0 !important;
	transition:width var(--devm01-duration) var(--devm01-ease),
background-color var(--devm01-duration) var(--devm01-ease);
}
@media (max-width:768px){

	.devm01-project-pagination.swiper-pagination,
.devm01-project__pagination.swiper-pagination{
		margin-top:26px !important;
	}
}
/* Partners logo wall/grid QA: rectangular showcase + section-level admin gear */
.devm01-partners-showcase{
	background:var(--c-surface, #fff) !important;
}
.devm01-partners-showcase .devm01-inner{
	position:relative;
}
.devm01-partners-showcase::before{
	opacity:.55;
}
.devm01-partners-gear{
	position:absolute;
	right:0;
	top:4px;
	z-index:5;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border:1px solid rgba(7,28,53,.12);
	border-radius:0;
	background:var(--c-surface, #fff);
	color:var(--c-primary);
	cursor:pointer;
	box-shadow:0 12px 28px rgba(7,28,53,.06);
	transition:all var(--devm01-duration) var(--devm01-ease);
}
.devm01-partners-gear:hover{
	transform:translateY(-2px);
	border-color:rgba(30,136,229,.28);
	color:var(--c-accent);
	box-shadow:0 18px 38px rgba(7,28,53,.10);
}
.devm01-partners-swiper{
	overflow:visible;
	padding:6px 0 10px !important;
}
.devm01-partners-swiper .swiper-wrapper{
	transition-timing-function:linear!important;
	align-items:stretch !important;
}
.devm01-partner-card{
	width:292px!important;
	height:132px!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	padding:34px 42px!important;
	border:1px solid rgba(7,28,53,.12)!important;
	border-radius:0!important;
	background:var(--c-surface, #fff)!important;
	box-shadow:none!important;
	color:inherit;
	text-decoration:none!important;
	transition:transform var(--devm01-duration) var(--devm01-ease),
border-color var(--devm01-duration) var(--devm01-ease),
background-color var(--devm01-duration) var(--devm01-ease)!important;
}
.devm01-partner-card img{
	display:block!important;
	max-width:168px!important;
	width:auto!important;
	height:auto!important;
	max-height:52px!important;
	object-fit:contain!important;
	filter:none!important;
	opacity:.9!important;
	transform:none!important;
	transition:opacity var(--devm01-duration) var(--devm01-ease),
transform var(--devm01-duration) var(--devm01-ease)!important;
}
.devm01-partner-card:hover{
	transform:translateY(-4px)!important;
	border-color:rgba(30,136,229,.34)!important;
	background:var(--c-surface-2, #FAFCFF)!important;
	box-shadow:none!important;
}
.devm01-partner-card:hover img{
	opacity:1!important;
	transform:scale(1.035)!important;
	filter:none!important;
}
.devm01-partners{
	gap:0!important;
	border-top:1px solid rgba(7,28,53,.10);
	border-left:1px solid rgba(7,28,53,.10);
}
.devm01-partners span{
	min-height:118px!important;
	padding:30px!important;
	border:0!important;
	border-right:1px solid rgba(7,28,53,.10)!important;
	border-bottom:1px solid rgba(7,28,53,.10)!important;
	border-radius:0!important;
	box-shadow:none!important;
	background:var(--c-surface, #fff)!important;
}
.devm01-partners img{
	max-width:150px!important;
	height:auto!important;
	max-height:46px!important;
	object-fit:contain!important;
	filter:none!important;
	opacity:.9!important;
}
.devm01-partners span:hover{
	transform:none!important;
	box-shadow:none!important;
	background:var(--c-surface-2, #FAFCFF)!important;
}
@media(max-width:1024px){
	.devm01-partner-card{
		width:246px!important;
		height:118px!important;
		padding:30px 34px!important
	}
	.devm01-partner-card img{
		max-width:150px!important;
		max-height:46px!important
	}
	.devm01-partners-gear{
		top:0;
	}
}
@media(max-width:768px){
	.devm01-partners-showcase__head{
		padding-right:54px
	}
	.devm01-partners-gear{
		width:40px;
		height:40px;
		right:0;
		top:0
	}
	.devm01-partner-card{
		width:214px!important;
		height:108px!important;
		padding:28px 30px!important
	}
	.devm01-partner-card img{
		max-width:138px!important;
		max-height:42px!important
	}
	.devm01-partners{
		grid-template-columns:repeat(2,1fr)!important
	}
	.devm01-partners span{
		min-height:104px!important;
		padding:24px!important
	}
}
/* 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:var(--devm01-red, #EF4444)!important;
	color:var(--c-surface, #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:var(--devm01-red, #EF4444)!important;
	color:var(--c-surface, #fff)!important
}
/* Hero carousel pagination QA: PC uses circular timer only; mobile uses dots only */
.devm01-hero{
	position:relative;
	overflow:hidden;
}
.devm01-hero-swiper{
	position:relative;
	z-index:1;
	overflow:hidden;
}
.devm01-hero__meta,
.devm01-hero__progress{
	display:none !important;
}
.devm01-hero .swiper-pagination,
.devm01-main-hero .swiper-pagination,
.devm01-hero__pagination.swiper-pagination,
.devm01-hero-pagination{
	display:none !important;
}
.devm01-hero-timer{

	position:absolute;

	left:max(24px,
calc((100vw - var(--devm01-inner)) / 2));

	right:auto;

	bottom:138px;

	z-index:8;

	display:flex;

	align-items:center;

	justify-content:center;

	width:62px;

	height:62px;

	border-radius:50%;

	background:rgba(7,28,53,.32);

	border:1px solid rgba(255,255,255,.22);

	color:var(--c-surface, #fff);

	font-family:var(--devm01-font-en);

	font-size:16px;

	backdrop-filter:blur(10px);

	box-shadow:0 18px 44px rgba(0,0,0,.22);

}
.devm01-hero-timer svg{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	transform:rotate(-90deg);
}
.devm01-hero-timer circle{
	fill:none;
	stroke:rgba(255,255,255,.30);
	stroke-width:3;
}
.devm01-hero-timer__bar{
	stroke:var(--c-accent-light);
	stroke-linecap:round;
	stroke-dasharray:119.38;
	stroke-dashoffset:0;
	transition:stroke-dashoffset .16s linear;
	filter:drop-shadow(0 0 9px rgba(57,214,255,.45));
}
.devm01-hero-timer span{
	position:relative;
	z-index:1;
}
.devm01-stats{
	position:relative;
	z-index:3;
}
.devm01-stats::before,
.devm01-stats::after,
.devm01-stats__grid::before,
.devm01-stats__grid::after{
	display:none !important;
	content:none !important;
}
@media (max-width:768px){

	.devm01-hero-timer{
		display:none !important;
	}
	.devm01-hero .swiper-pagination.devm01-hero__pagination,
.devm01-hero__pagination.swiper-pagination{

			display:flex !important;

			align-items:center;

			justify-content:center;

			gap:7px;

			position:absolute;

			left:50% !important;

			right:auto !important;

			bottom:26px !important;

			top:auto !important;

			width:auto !important;

			transform:translateX(-50%) !important;

			z-index:8;

	}
	.devm01-hero__pagination .swiper-pagination-bullet{

			width:7px;

			height:7px;

			margin:0 !important;

			border-radius:50%;

			background:rgba(255,255,255,.62);

			opacity:1;

	}
	.devm01-hero__pagination .swiper-pagination-bullet-active{

			width:22px;

			border-radius:999px;

			background:var(--c-accent-light);

	}
}
.devm01-main-notice-box .devm01-latest-notice__head{
	padding-bottom:18px;
	border-bottom:2px solid var(--c-primary);
}
.devm01-main-notice-box .devm01-latest-notice__head h3{
	color:var(--c-primary);
}
.devm01-main-notice-box .devm01-latest-notice__list li{
	border-bottom:1px solid var(--devm01-gray-200);
}
.devm01-main-notice-box .devm01-latest-notice__list a{
	padding:14px 0;
}
.devm01-main-notice-box .devm01-latest-notice__list strong{
	font-size:16px;
	font-weight:normal;
	letter-spacing:-.03em;
}
.devm01-latest-resource li a:hover,
.devm01-latest-resource li a:hover span,
.devm01-latest-resource li a:hover .devm01-title-text,
.devm01-latest-resource li a:hover i{
	color:var(--c-surface, #ffffff);
}
.devm01-latest-resource li a:hover{
	background:rgba(255,255,255,.08);
}
/* main latest compact */
.devm01-latest-zone .devm01-latest__grid{
	align-items:start;
}
.devm01-latest-zone .devm01-latest__side{
	grid-template-rows:auto auto;
	gap:22px;
}
.devm01-latest-zone .devm01-latest-feature{
	min-height:0;
	grid-template-rows:300px auto;
}
.devm01-latest-zone .devm01-latest-feature__body,
.devm01-latest-zone .devm01-latest-feature__empty{
	padding:30px 36px 34px;
}
.devm01-latest-zone .devm01-latest-feature__body h3,
.devm01-latest-zone .devm01-latest-feature__empty h3{
	margin:12px 0 14px;
}
.devm01-latest-zone .devm01-latest-feature__body time{
	margin-top:22px;
}
.devm01-latest-zone .devm01-latest-box,
.devm01-latest-zone .devm01-resource-box{
	padding:28px 32px;
}
.devm01-latest-zone .devm01-latest-box{
	margin-bottom:0;
}
.devm01-latest-zone .devm01-resource-box{
	min-height:0;
}
.devm01-latest-zone .devm01-latest-head{
	margin-bottom:16px;
}
.devm01-latest-zone .devm01-main-notice-box .devm01-latest-notice__list a{
	padding:13px 0;
}
.devm01-latest-zone .devm01-latest-resource li a{
	padding:13px 0;
}
@media(max-width:1024px){
	.devm01-latest-zone .devm01-latest-feature{
		grid-template-rows:260px auto;
	}
}
/* main latest bottom alignment */
.devm01-latest-zone .devm01-latest__side{
	gap:16px;
}
.devm01-latest-zone .devm01-latest-box,
.devm01-latest-zone .devm01-resource-box{
	padding:24px 32px;
}
.devm01-latest-zone .devm01-latest-head{
	margin-bottom:14px;
}
.devm01-latest-zone .devm01-main-notice-box .devm01-latest-notice__head{
	padding-bottom:14px;
}
.devm01-latest-zone .devm01-main-notice-box .devm01-latest-notice__list a{
	padding:12px 0;
}
.devm01-latest-zone .devm01-latest-resource li a{
	padding:12px 0;
}
/* main latest left card alignment */
.devm01-latest-zone .devm01-latest-feature__body,
.devm01-latest-zone .devm01-latest-feature__empty{
	padding:24px 36px 22px;
}
.devm01-latest-zone .devm01-latest-feature__body h3,
.devm01-latest-zone .devm01-latest-feature__empty h3{
	margin:10px 0 12px;
}
.devm01-latest-zone .devm01-latest-feature__body p,
.devm01-latest-zone .devm01-latest-feature__empty p{
	line-height:1.65;
}
.devm01-latest-zone .devm01-latest-feature__body time{
	margin-top:18px;
}
/* main latest exact alignment */
.devm01-latest-zone .devm01-latest__grid{
	align-items:stretch;
}
.devm01-latest-zone .devm01-latest-feature{
	height:562px;
}
.devm01-latest-zone .devm01-latest__side{
	height:562px;
	display:grid;
	grid-template-rows:1fr 1fr;
	gap:16px;
}
.devm01-latest-zone .devm01-latest-box,
.devm01-latest-zone .devm01-resource-box{
	min-height:0;
	overflow:hidden;
}
.devm01-latest-zone .devm01-main-notice-box .devm01-latest-notice__list a{
	padding:11px 0;
}
.devm01-latest-zone .devm01-latest-resource li a{
	padding:11px 0;
}
@media(max-width:1024px){
	.devm01-latest-zone .devm01-latest-feature,
	.devm01-latest-zone .devm01-latest__side{
		height:auto;
	}
}
/* DevM final main latest hover cleanup */
.devm01-main-notice-box .devm01-latest-notice__list a,
.devm01-latest-list li a,
.devm01-latest-resource li a{
	background:transparent!important;
	transition:color .24s ease;
}
.devm01-main-notice-box .devm01-latest-notice__list a:hover,
.devm01-latest-list li a:hover,
.devm01-latest-resource li a:hover{
	background:transparent!important;
}
.devm01-main-notice-box .devm01-latest-notice__list a:hover strong,
.devm01-main-notice-box .devm01-latest-notice__list a:hover .devm01-title-text,
.devm01-latest-list li a:hover strong,
.devm01-latest-list li a:hover .devm01-title-text,
.devm01-latest-resource li a:hover span,
.devm01-latest-resource li a:hover .devm01-title-text{
	color:var(--c-accent)!important;
	transition:color .24s ease;
}
.devm01-latest-resource li a:hover i{
	color:var(--c-accent)!important;
}
.devm01-gallery-latest-card .devm01-gallery-zoom,
.devm01-project .devm01-gallery-zoom,
.devm01-latest-gallery-cards .devm01-gallery-zoom{
	left:auto!important;
	right:12px!important;
	top:12px!important;
	bottom:auto!important;
	margin:0!important;
	transform:translateY(-6px)!important;
}
.devm01-gallery-latest-card:hover .devm01-gallery-zoom,
.devm01-project .devm01-gallery-latest-card:hover .devm01-gallery-zoom,
.devm01-latest-gallery-cards .devm01-gallery-latest-card:hover .devm01-gallery-zoom{
	transform:translateY(0)!important;
}

/* DevM main resource latest cleanup */
.devm01-latest-zone .devm01-latest-dark__head a:before,
.devm01-latest-zone .devm01-latest-dark__head a:after,
.devm01-latest-zone .devm01-resource-box .devm01-latest-head a:before,
.devm01-latest-zone .devm01-resource-box .devm01-latest-head a:after{
	display:none!important;
	content:none!important;
}

/* DevM main latest same height and dark inverse */
.devm01-latest-zone .devm01-latest__side{
	grid-template-rows:1fr 1fr!important;
}
.devm01-latest-zone .devm01-latest-box,
.devm01-latest-zone .devm01-latest-dark{
	height:100%;
	box-sizing:border-box;
}
.devm01-latest-zone .devm01-latest-dark{
	padding:24px 32px;
	border-radius:22px;
	background:var(--c-fg, #0F172A);
}
.devm01-latest-zone .devm01-latest-dark__head{
	margin-bottom:14px;
	padding-bottom:14px;
	border-bottom-color:rgba(255, 255, 255, .86);
}
.devm01-latest-zone .devm01-latest-dark__list a{
	padding:11px 0;
}
/* DevM QA: hard clip project card hover images to rounded top corners */
.devm01-project-card__image,
.devm01-case-latest-swiper .devm01-project-card__image{
	border-radius:24px 24px 0 0!important;
	overflow:hidden!important;
	clip-path:inset(0 round 24px 24px 0 0)!important;
	contain:paint;
	transform:translateZ(0);
}
.devm01-project-card__image img,
.devm01-case-latest-swiper .devm01-project-card__image img{
	border-radius:0!important;
	clip-path:none!important;
	backface-visibility:hidden;
	transform-origin:center center!important;
}
.devm01-project-card:hover .devm01-project-card__image img,
.devm01-case-latest-swiper .devm01-project-card:hover .devm01-project-card__image img{
	transform:scale(1.045) translateZ(0)!important;
}
/* DevM QA: keep project card lift inside carousel bounds */
.devm01-project__viewport{
	padding-top:6px;
	margin-top:-6px;
}
.devm01-project-swiper{
	padding-top:10px!important;
}

/* 첫 화면 캐러셀의 로딩 덮개입니다. 캐러셀 준비가 끝나면 물러납니다. */
.devm-loading{
	position:fixed; inset:0; z-index:99800;
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
	transition:opacity .45s ease, visibility .45s ease;
}
.devm-loading.is-done{pointer-events:none}
.devm-loading.is-exit-fade.is-done{opacity:0; visibility:hidden}
.devm-loading__logo{max-width:200px; max-height:44px; opacity:.92}

.devm-loading__pane{
	position:absolute; inset:0; background:var(--ldbg, #0F172A);
	transition:transform .55s cubic-bezier(.65, 0, .35, 1);
}
.devm-loading__logo,
.devm-loading__spin{position:relative; z-index:1}
.devm-loading.is-done .devm-loading__logo,
.devm-loading.is-done .devm-loading__spin{opacity:0; transition:opacity .22s ease}

.devm-loading.is-exit-split-x .devm-loading__pane{right:auto; width:50%}
.devm-loading.is-exit-split-x .devm-loading__pane--b{right:0; left:auto}
.devm-loading.is-exit-split-x.is-done .devm-loading__pane--a{transform:translateX(-100%)}
.devm-loading.is-exit-split-x.is-done .devm-loading__pane--b{transform:translateX(100%)}

.devm-loading.is-exit-split-y .devm-loading__pane{bottom:auto; height:50%}
.devm-loading.is-exit-split-y .devm-loading__pane--b{top:auto; bottom:0}
.devm-loading.is-exit-split-y.is-done .devm-loading__pane--a{transform:translateY(-100%)}
.devm-loading.is-exit-split-y.is-done .devm-loading__pane--b{transform:translateY(100%)}

.devm-loading.is-exit-up.is-done .devm-loading__pane{transform:translateY(-100%)}
.devm-loading.is-exit-down.is-done .devm-loading__pane{transform:translateY(100%)}

@media (prefers-reduced-motion:reduce){
	.devm-loading__pane{transition:none}
	.devm-loading.is-done{opacity:0; visibility:hidden}
}

.devm-loading__spin{--ldc:rgba(255,255,255,.85); display:block}
.devm-loading__spin i{display:none}

.devm-loading__spin.is-ring{
	width:38px; height:38px; border-radius:50%;
	border:3px solid currentColor; border-top-color:var(--ldc); color:rgba(128,128,128,.28);
	animation:heroSpin .8s linear infinite;
}
@keyframes heroSpin{to{transform:rotate(360deg)}}

.devm-loading__spin.is-dots{display:flex; gap:9px}
.devm-loading__spin.is-dots i{
	display:block; width:11px; height:11px; border-radius:50%; background:var(--ldc);
	animation:devmLdDots 1.1s ease-in-out infinite;
}
.devm-loading__spin.is-dots i:nth-child(2){animation-delay:.16s}
.devm-loading__spin.is-dots i:nth-child(3){animation-delay:.32s}
@keyframes devmLdDots{
	0%,80%,100%{opacity:.3; transform:translateY(0)}
	40%{opacity:1; transform:translateY(-8px)}
}

.devm-loading__spin.is-bar{
	position:relative; width:180px; height:3px; overflow:hidden;
	background:rgba(128,128,128,.28);
}
.devm-loading__spin.is-bar i:first-child{
	display:block; position:absolute; inset:0; width:40%; background:var(--ldc);
	animation:devmLdBar 1.3s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes devmLdBar{
	from{transform:translateX(-100%)}
	to{transform:translateX(350%)}
}

.devm-loading__spin.is-pulse{position:relative; width:52px; height:52px}
.devm-loading__spin.is-pulse i{
	display:block; position:absolute; inset:0; border-radius:50%;
	border:2px solid var(--ldc); opacity:0;
	animation:devmLdPulse 1.8s cubic-bezier(.2,.6,.3,1) infinite;
}
.devm-loading__spin.is-pulse i:nth-child(2){animation-delay:.6s}
.devm-loading__spin.is-pulse i:nth-child(3){animation-delay:1.2s}
@keyframes devmLdPulse{
	0%{transform:scale(.25); opacity:.9}
	100%{transform:scale(1); opacity:0}
}

.devm-loading__spin.is-square{
	width:34px; height:34px; border:3px solid var(--ldc);
	animation:devmLdSquare 1.6s cubic-bezier(.6,0,.4,1) infinite;
}
@keyframes devmLdSquare{
	0%{transform:rotate(0) scale(1)}
	50%{transform:rotate(180deg) scale(.55)}
	100%{transform:rotate(360deg) scale(1)}
}

.devm-loading__spin.is-orbit{
	position:relative;
	width:44px;
	height:44px;
}
.devm-loading__spin.is-orbit i{
	position:absolute;
	top:18px;
	left:18px;
	display:block;
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--ldc);
	animation:devmLdOrbit 1.2s linear infinite;
}
.devm-loading__spin.is-orbit i:nth-child(2){animation-delay:-.4s}
.devm-loading__spin.is-orbit i:nth-child(3){animation-delay:-.8s}
@keyframes devmLdOrbit{
	from{transform:rotate(0) translateX(16px)}
	to{transform:rotate(360deg) translateX(16px)}
}

.devm-loading__spin.is-bounce{
	display:flex;
	align-items:flex-end;
	gap:7px;
	height:38px;
}
.devm-loading__spin.is-bounce i{
	display:block;
	width:10px;
	height:10px;
	border-radius:50%;
	background:var(--ldc);
	animation:devmLdBounce .9s ease-in-out infinite alternate;
}
.devm-loading__spin.is-bounce i:nth-child(2){animation-delay:.15s}
.devm-loading__spin.is-bounce i:nth-child(3){animation-delay:.3s}
@keyframes devmLdBounce{
	from{transform:translateY(0)}
	to{transform:translateY(-20px)}
}

.devm-loading__spin.is-wave{
	display:flex;
	align-items:center;
	gap:5px;
	height:38px;
}
.devm-loading__spin.is-wave i{
	display:block;
	width:6px;
	height:30px;
	background:var(--ldc);
	animation:devmLdWave .9s ease-in-out infinite;
}
.devm-loading__spin.is-wave i:nth-child(2){animation-delay:.12s}
.devm-loading__spin.is-wave i:nth-child(3){animation-delay:.24s}
@keyframes devmLdWave{
	0%,100%{transform:scaleY(.35)}
	50%{transform:scaleY(1)}
}

.devm-loading__spin.is-flip{
	width:34px;
	height:34px;
	background:var(--ldc);
	animation:devmLdFlip 1.2s ease-in-out infinite;
}
@keyframes devmLdFlip{
	0%{transform:perspective(80px) rotateX(0) rotateY(0)}
	50%{transform:perspective(80px) rotateX(-180deg) rotateY(0)}
	100%{transform:perspective(80px) rotateX(-180deg) rotateY(-180deg)}
}

.devm-loading__spin.is-dual{
	position:relative;
	width:42px;
	height:42px;
}
.devm-loading__spin.is-dual::before,
.devm-loading__spin.is-dual::after{
	position:absolute;
	inset:0;
	border:3px solid transparent;
	border-radius:50%;
	content:"";
}
.devm-loading__spin.is-dual::before{
	border-top-color:var(--ldc);
	border-bottom-color:var(--ldc);
	animation:devmLdDual 1s linear infinite;
}
.devm-loading__spin.is-dual::after{
	inset:7px;
	border-right-color:var(--ldc);
	border-left-color:var(--ldc);
	animation:devmLdDual .75s linear infinite reverse;
}
@keyframes devmLdDual{
	to{transform:rotate(360deg)}
}

@media (prefers-reduced-motion:reduce){
	.devm-loading{transition:none}
	.devm-loading__spin,
	.devm-loading__spin i,
	.devm-loading__spin::before,
	.devm-loading__spin::after{animation:none}
	.devm-loading__spin.is-dots i{opacity:.7}
	.devm-loading__spin.is-pulse i:first-child{opacity:.7}
	.devm-loading__spin.is-bar i:first-child{width:100%}
	.devm-loading__spin.is-orbit i:nth-child(1){transform:translateX(16px)}
	.devm-loading__spin.is-orbit i:nth-child(2){transform:rotate(120deg) translateX(16px)}
	.devm-loading__spin.is-orbit i:nth-child(3){transform:rotate(240deg) translateX(16px)}
}

/* 첫 화면 캐러셀의 스크롤 안내 문구입니다. 이 테마의 최소 글자 크기에 맞춥니다. */
.hero .hero__scroll-label{
	font-size:16px;
}

/* 캐러셀 레이어의 글자 크기입니다. 이 테마의 최소 크기보다 작아지지 않도록 제한합니다. */
.hero .hero__layer.is-text,
.hero .hero__layer.is-button{
	font-size:max(16px, var(--fs, 16px));
}
.hero .hero__layer-canvas.is-m .hero__layer.is-text,
.hero .hero__layer-canvas.is-m .hero__layer.is-button{
	font-size:max(16px, var(--fs-m, var(--fs, 16px)));
}

/* 고정 배경 구역입니다. 배경이 화면에 머무르고 그 위로 내용이 지나갑니다. */
.devm01-fixbg{
	position:relative; z-index:0;
	display:flex; align-items:center;
	min-height:clamp(560px,86vh,880px); padding:clamp(80px,10vw,140px) 0;
	overflow:hidden;
	color:#fff; text-align:center;
}
/* 배경만 제자리에 머무르고 내용이 그 위를 지나갑니다. */
.devm01-fixbg__bg{
	position:absolute; inset:0; z-index:-2;
	background-position:center; background-size:cover; background-repeat:no-repeat;
	background-attachment:fixed;
}
.devm01-fixbg__dim{
	position:absolute; inset:0; z-index:-1;
	background:linear-gradient(180deg, rgba(12,20,30,.55), rgba(12,20,30,.75));
}
.devm01-fixbg__lead{margin:0 auto; max-width:44rem}
.devm01-fixbg__eyebrow{
	display:block; margin-bottom:1.1rem;
	color:rgba(255,255,255,.78);
	font-size:.8125rem; font-weight:600; letter-spacing:.32em; text-indent:.32em;
}
.devm01-fixbg__lead h2{
	margin:0;
	color:#fff; font-size:clamp(1.5rem,2.8vw,2.4rem); font-weight:700; letter-spacing:-.02em; line-height:1.45; word-break:keep-all;
}
.devm01-fixbg__lead p{
	margin:1.1rem 0 0;
	color:rgba(255,255,255,.82); font-size:1rem; line-height:1.8; word-break:keep-all;
}
.devm01-fixbg__btn{
	display:inline-flex; align-items:center; gap:.55rem;
	margin-top:2.4rem; padding:1rem 2.1rem;
	border-radius:999px;
	background:#fff; color:var(--devm01-ink, #17212b);
	font-size:.95rem; font-weight:700;
	box-shadow:0 18px 38px -20px rgba(0,0,0,.65);
	transition:background-color .28s ease, color .28s ease, transform .28s ease;
}
.devm01-fixbg__btn:hover,
.devm01-fixbg__btn:focus-visible{background:var(--devm01-primary, #1e88e5); color:#fff; transform:translateY(-2px)}

@media (max-width:768px){
	.devm01-fixbg{min-height:0; padding:clamp(64px,9vw,100px) 0}
	.devm01-fixbg__btn{width:100%; justify-content:center}
}

@media (hover:none){
	.devm01-fixbg__bg{background-attachment:scroll}
}
