@charset "utf-8";

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

/* Eric meyer reset css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit; vertical-align: baseline;} 
caption{display:none;}
p, li, dt, dd{word-break:keep-all;}


/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;}

body {line-height: 1;}
ol, ul { list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;}
table {border-collapse: collapse;border-spacing:0;}

/* link */
a:link {text-decoration:none;color:#343434;}
a:visited{text-decoration:none;color:#343434;}
a:hover{text-decoration:none;color:#343434;}
a:active{text-decoration:none;color:#343434;}


/* responsive style template */
@media (min-width:540px){

}
@media (min-width:768px){

}
@media (min-width:1024px){

}
@media (min-width:1200px){

}

/* img, object */
img, object {max-width:100%;height:auto;}

/* reusable styling code */
.full{height:100%;}
.hide{display:none;}
.mobile{display:block;}
.pc{display:none;}
@media (min-width:750px){
    .mobile{display:none;}
    .pc{display:block;}
}

/* ::-webkit-scrollbar{width:2px;}
::-webkit-scrollbar:horizontal{height:2px}
::-webkit-scrollbar-track {background-clip:padding-box;border:solid transparent;border-width: 0 0 0 2px}
::-webkit-scrollbar-button{display:none}
::-webkit-scrollbar-thumb{width:2px;background:#b4b4b4}
::-webkit-scrollbar-thumb:active{background:#b4b4b4}
::-webkit-scrollbar {
    width: auto; /* 또는 'initial' 사용 */
/*} */

body{font-family:"Pretendard Variable", 'Pretendard', '맑은고딕', 'Malgun Gothic', 'Apple Gothic', sans-serif;font-size:12px;box-sizing:border-box;}
body *{box-sizing:border-box;}
body.over_hide{overflow:hidden;}
body img{vertical-align:top;}
/* color */
:root{
    /* main-color */
    --color-damda-blue:#0D50F2;
    --color-damda-white:#fff;
    --color-damda-bg:#F1F5FF; 
	--color-navy:#122436;

	--color-gray01:#F2F4F6;
	--color-gray02:#D1D6DB;
	--color-gray03:#9CA6B0;
	--color-gray04:#79848E;
	--color-gray05:#41505E;
	--color-gray06:#334353;
	--color-gray07:#191F28;
	--color-black:#000;
	--color-alert:#F16272;
}
/* 100vh fixed example */
/* .area_sidebar {height:calc(var(--vh, 1vh) * 100)} */

.main-wrap{background-color:#000;}


/* page style start =========================================== */

/* nav-icon */
/* nav-icon-5 */
.nav-icon-5{width:25px;height:17px;position:relative;cursor:pointer;display:inline-block;}
.nav-icon-5 span{background-color:#fff;position:absolute;border-radius:0px;transition:.3s cubic-bezier(.8,.5,.2,1.4);width:100%;height:2px;transition-duration:500ms;}
.nav-icon-5 span:nth-child(1){top:0px;left:0px;}
.nav-icon-5 span:nth-child(2){top:7px;left:0px;opacity:1;}
.nav-icon-5 span:nth-child(3){bottom:0px;left:0px;}
.nav-icon-5:not(.open):hover span:nth-child(1){transform:rotate(-0deg) scaleY(1.1);}
.nav-icon-5:not(.open):hover span:nth-child(2){transform:rotate(0deg) scaleY(1.1);}
.nav-icon-5:not(.open):hover span:nth-child(3){transform:rotate(-0deg) scaleY(1.1);}
.nav-icon-5.open span:nth-child(1){transform:rotate(45deg);top:8px;}
.nav-icon-5.open span:nth-child(2){opacity:0;}
.nav-icon-5.open span:nth-child(3){transform:rotate(-45deg);top:8px;}

.menu_cont{position:fixed;top:0;right:0;width:100%;/*height:100vh;*/border:80px;background-color:#FFF;z-index:250;box-sizing:border-box;transition:all ease-in-out 0.2s;margin-right:-100%;overflow:hidden;height:calc(var(--vh, 1vh) * 100)}
.menu_cont.show{opacity:1;transition:all ease-in-out 0.2s;transition-delay:0.2s;margin-right:0;}
.menu_cont .menu_cont_inner{/*height:calc(100vh - 80px);*/height:calc(var(--vh, 1vh) * 100);padding:9% 7% 15%;display:flex;flex-direction:column;justify-content:space-between;}
.menu_cont nav{width:100%;padding-top:20%;}
.menu_cont nav ul li{padding:1.5em 0;}
.menu_cont nav ul li a{font-family:'GMarketSans',sans-serif;font-size:6.6vw;color:#000;line-height:1.4;font-weight:500;}
.menu_cont nav ul li:last-child{padding-top:2em;}
.menu_cont .btn_download{margin-bottom:20%;}
.menu_cont .btn_download a{font-family:"Pretendard Variable",'Pretendard','Apple Gothic',sans-serif;font-size:4.2vw;line-height:1.4;font-weight:500;padding:0.8em 1.6em;color:#000;background-color:transparent;border:1px solid #000;border-radius:2em;}
/* .menu_cont .btn_close{position:absolute;top:4%;right:6.4%;width:4.667%} */
@media (min-width:768px){
	.menu_cont nav{padding-top:100px;}
	.menu_cont .quick_call{display:flex;justify-content:space-between;gap:5%;}
}

/* layout */
.hdr{position:fixed;top:0;left:0;width:100%;z-index:260;background-color: rgba(255,255,255,0.0);}
.hdr .hdr_inner{height:9vh;display:flex;justify-content:space-between;align-items:center;padding:0 6.4%;z-index:260;}
.hdr .logo{width:30%;box-sizing:border-box;}
.hdr .logo .web{display:inline}
.hdr .logo .mobile{display:none;}
.hdr nav{display:none;}
.hdr .m_nav{display:block;}

.navi{padding:18px 0;}
.navi ul{display:flex;}
.navi ul li{margin-left:82px}
.navi ul li a{font-family:'GMarketSans',sans-serif;font-size:18px;line-height:1.4em;font-weight:500;color:var(--color-gray05);color:#fff;}
.navi ul li:last-child a{font-family:"Pretendard Variable",'Pretendard','Apple Gothic',sans-serif;font-size:18px;line-height:1.4em;padding:0.5em 1.2em;color:#fff;border:1px solid #fff;border-radius:1.3em;}

.hdr.on{}
.hdr.on .nav-icon-5 span{background-color:#000;}
.hdr.on .logo .mobile{display:inline}
.hdr.on .logo .web{display:none}

.hdr.altS .navi li a{color:#000;}
.hdr.altS .navi ul li:last-child a{border-color:#000;background-color:transparent;color:#000;}
.hdr.altS .nav-icon-5 span{background-color:#000;}
.hdr.altS{background-color:rgba(255, 255, 255, 0.0)}
/* .hdr with altS variant: frosted glass (semi-transparent + backdrop blur) */
/* .hdr.altS{
	background-color: rgba(255,255,255,0.3);
	-webkit-backdrop-filter: blur(6px) saturate(110%);
	backdrop-filter: blur(6px) saturate(110%);
	will-change: backdrop-filter;
	border-bottom: 1px solid rgba(0,0,0,0.04);
	box-shadow: 0 6px 18px rgba(16,24,40,0.06);
} */
@media (min-width:540px){

}
@media (min-width:768px){
	
}
@media (min-width:1024px){
	.hdr .hdr_inner{width:1024px;margin:0 auto;padding:0 50px;}
	.hdr .logo{width:142px;}
	.hdr .m_nav{display:none;}
	.hdr nav{display:block;}
}
@media (min-width:1025px){
	.hdr .hdr_inner{width:auto;padding:0 30px;}
}

@media (min-width:1500px){
	.hdr .hdr_inner{width:1500px;margin:0 auto;padding:0;border:none;}
}


/* PRIVACY Policy */
.privacy_wrap{padding:30% 6.4% 10%;color:#000;font-size:1em;box-sizing:border-box;}
.privacy_wrap h1{font-size:4.5vw;font-weight:700;padding-bottom:1em;}
.privacy_wrap h1 + p{padding-left:0;}
.privacy_wrap h2{padding:30px 0 10px 0 !important;font-weight:700 !important;font-size:1.083em !important;color:#000 !important;}
.privacy_wrap h3{padding:20px 0 10px 10px;font-weight:700;color:#333;line-height:1.5em;}
.privacy_wrap h4{padding:10px 0 10px 20px;font-weight:700;color:#555;}
.privacy_wrap p{padding:0 0 10px 10px;line-height:1.4em;text-align:justify;}
.privacy_wrap p a{color:#148936;}
.privacy_wrap p a:hover{text-decoration:underline;}
.privacy_wrap p em{text-decoration:underline;font-weight:700;vertical-align:baseline;}
.privacy_wrap ul{line-height:1.7em;padding:0 0 10px 30px;}
.privacy_wrap table{width:100%;table-layout:fixed;}
.privacy_wrap table th{padding:5px 5px;border:1px solid #ccc;background:#eee;font-weight:700;color:#787878;line-height:1.5em;letter-spacing:-1px;}
.privacy_wrap table td{padding:5px 2px;border:1px solid #ccc;text-align:center;line-height:1.4em;vertical-align:middle;word-wrap:break-word;}
.privacy_wrap table td em{font-weight:700;vertical-align:top;}
.privacy_wrap table td a{color:#148936;}
.privacy_wrap table td a:hover{text-decoration:underline;}
.privacy_wrap .anchor_list{padding:30px 0 30px 40px;font-size:1.083em;}
.privacy_wrap .anchor_list li a{display:inline-block;color:#0c9f4a;line-height:1.5em;font-weight:700;}
.privacy_wrap .anchor_list li a:hover{text-decoration:underline;}
.privacy_wrap dl{padding:0 0 10px 10px;line-height:1.7em;}
.privacy_wrap dl dt{font-weight:700;color:#555;}
.privacy_wrap dl dd{padding:0 0 0 10px;}
.privacy_wrap dl dd .Clr01{color:blue;}
.privacy_wrap .altPL{padding-left:30px;}
.privacy_wrap .altPL02{padding-left:10px;}
.privacy_wrap .altPL03{padding-left:37px;}

@media (min-width:768px){
	.privacy_wrap{padding-top:200px;}
	.privacy_wrap h1{font-size:24px;}
	.privacy_wrap table th{padding:10px 20px;}
	.privacy_wrap table td{padding:10px 20px;}
}
@media (min-width:1024px){
	.privacy_wrap{width:1024px;margin:0 auto;}
}
@media (min-width:1200px){
	.privacy_wrap{width:1200px;}
}

.version_selector{padding-top:2em;}
.version_selector select{display:block;width:100%;padding:5px;border:1px solid #787878;box-sizing:border-box;font-size:3vw;color:#787878;line-height:1.4em;letter-spacing:0;outline:0;}
@media (min-width:768px){
	.version_selector select{display:block;width:auto;font-size:13px;}
}


/* new main */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#000;scroll-snap-align:start}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
/* .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;filter:brightness(0.7);} filter넣은버전*/
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0.25;mix-blend-mode:screen;z-index:2}
.hero-overlay{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 30%, rgba(0,119,255,0.06), transparent 10%), radial-gradient(circle at 80% 70%, rgba(255,255,255,0.04), transparent 12%);z-index:3;}
.hero-overlay::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	/* taller, responsive fade to avoid visible cutoff */
	height: clamp(120px, 22vh, 260px);
	pointer-events: none;
	/* gradual multi-stop fade for a seamless, non-discrete transition */
	background: linear-gradient(to top,
		rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0.8) 20%,
        rgba(0, 0, 0, 0.6) 40%,
        rgba(0, 0, 0, 0.4) 60%,
        rgba(0, 0, 0, 0.2) 80%,
        rgba(0, 0, 0, 0) 100%
	);
	/* remove inset shadow to prevent hard edges; keep only soft gradient */
	box-shadow: none;
	z-index: 1;
	will-change: opacity, transform;
}
.hero-inner{position:relative;z-index:4;padding:84px 0;text-align:center;width:100%}
.hero-content{max-width:980px;margin:0 auto;padding:40px 20px;}
.hero .headline{font-size:clamp(32px,6vw,72px);margin:0 0 35px;font-weight:700;line-height:1.2em;letter-spacing:0;color:#fff;}
.hero .headline .accent{color:var(--electric-blue)}
.hero .sub{margin:0 0 28px;color:#fff;font-size:22px;}
.hero .sub br{display:none;}
.hero .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* decorative pulse accents */
.hero::after{content:'';position:absolute;left:50%;top:50%;width:600px;height:600px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle, rgba(0,119,255,0.06) 0%, transparent 40%);opacity:0.7;animation:pulse 6s infinite}
@keyframes pulse{0%{transform:translate(-50%,-50%) scale(0.9);opacity:0.6}50%{transform:translate(-50%,-50%) scale(1);opacity:0.35}100%{transform:translate(-50%,-50%) scale(0.9);opacity:0.6}}

@media (max-width:768px){
  .hero .headline{font-size:8.5vw;line-height:1.3;}
  .hero .sub{font-size:4vw;line-height:1.5;}
  .hero .sub br{display:block;}
}

/* Opening cover (split reveal) */
.opening_cover{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:auto;}
.opening_cover_inner{position:relative;z-index:3;text-align:center;opacity:1;transform:translateY(0);transition:opacity 0.6s ease, transform 0.6s ease}
.opening_cover_inner h1{color:#fff;font-size:45px;font-weight:700;letter-spacing:0;margin:0}

/* opening text split parts */
.opening_cover_inner h1{display:flex;align-items:center;justify-content:center;gap:0;}
.opening_cover_inner .part-the,
.opening_cover_inner .part-ye{display:inline-block;}
.opening_cover_inner .part-the{opacity:0;transform:translateX(0);transition:opacity 0.35s cubic-bezier(.2,.9,.3,1), transform 0.6s cubic-bezier(.2,.9,.3,1);}
.opening_cover_inner .part-ye{opacity:0;transform:none;transition:opacity 0.45s cubic-bezier(.2,.9,.3,1);}

.opening_cover.show-the .part-the{opacity:1;}
.opening_cover.shift-the .part-the{transform:translateX(-0.15em);}
.opening_cover_inner .part-the{margin-right:-0.06em;padding-right:0;}
.opening_cover_inner .part-ye{margin-left:0;padding-left:0;color:#00E56D;}
.opening_cover.show-ye .part-ye{opacity:1;}

/* hide whole text when requested */
.opening_cover.hide-text .opening_cover_inner{opacity:0;transform:translateY(-10px)}
.opening_cover::before,
.opening_cover::after{content:"";position:absolute;left:0;width:100%;height:50%;background:#000;z-index:2;transition:transform 3s cubic-bezier(.2,.9,.3,1);will-change:transform}
.opening_cover::before{top:0;transform:translateY(0)}
.opening_cover::after{bottom:0;transform:translateY(0)}

.opening_cover--open::before{transform:translateY(-100%)}
.opening_cover--open::after{transform:translateY(100%)}
.opening_cover.show-text .opening_cover_inner{opacity:1;transform:translateY(0)}
.opening_cover.hide-text .opening_cover_inner{opacity:0;transform:translateY(-10px)}
.opening_cover--open .opening_cover_inner{opacity:0;transform:translateY(-10px);transition:opacity 0.3s ease, transform 0.6s ease}

.no-opening-cover{pointer-events:auto}

.opening_running{width:100px;position:fixed;top:50%;left:50%;transform:translateX(-150vw) translateY(-50%);z-index:1000;opacity:1;}
.opening_running video{max-width:100%;height:auto;display:block}
.opening_running img{max-width:100%;height:auto;display:block}

/* when showing: move to centered position */
.opening_running.showing{
	z-index:10001; /* above the opening cover while visible */
	/* slide in from left to centered over 3s — keep final state with forwards */
	animation: slideInFromLeft 3s cubic-bezier(.2,.9,.3,1) forwards;
}

@keyframes slideInFromLeft {
	from { transform: translateX(-150vw) translateY(-50%); }
	to   { transform: translateX(-50%) translateY(-50%); }
}

/* fade-and-hide for the initial opening running video */
.opening_running.hide{opacity:0;pointer-events:none;transition:opacity 300ms ease}
.opening_running.hide video{opacity:0}


.section-visual{background-color:#000;padding:100px 0;position:relative;}
.section-visual .down_scroll{bottom:50px;}
.section-visual_inner{width:1000px;margin:0 auto;}
@media (max-width:768px){
	.section-visual{padding:10% 0;}
	.section-visual_inner{width:auto;}
}

@media (max-width:768px){
	.opening_cover_inner .part-the,
	.opening_cover_inner .part-ye{font-size:8.5vw;}
}


/* Subpage Title Common */
.sub_tit{position:relative;width:100%;height:100vh;background-color:#ffffff;display:block;overflow:hidden;}
#gradient-canvas{position:absolute;top:0;left:0;width:100%;height:100% !important;z-index:0;}
.sub_tit_inner{position:relative;z-index:1;width:1500px;height:100%;display:flex;justify-content:center;align-items:start;flex-direction:column;margin:0 auto;}
.sub_tit_inner h1{font-size:112px;line-height:1.3;font-weight:bold;color:#000;font-family:'GMarketSans',sans-serif;}
.sub_tit_inner p{font-size:24px;line-height:1.5;color:#000;padding-top:1em;}
@media (max-width:768px){
	.sub_tit_inner{width:auto;padding:10%;}
	.sub_tit_inner h1{font-size:11vw;}
	.sub_tit_inner p{font-size:4.2vw;}
}
@media (min-width:769px) and (max-width:1024px){
	.sub_tit_inner{width:auto;padding:50px;}
	.sub_tit_inner h1{font-size:9vw;}
	.sub_tit_inner p{font-size:3.8vw;}
}
@media (min-width:1025px) and (max-width:1200px){
	.sub_tit_inner{width:auto;padding:50px 50px;}
	.sub_tit_inner h1{font-size:5vw;}
	.sub_tit_inner p{font-size:2.8vw;}
}

.section-visual header{padding-bottom:110px;}
.section-visual header p{font-size:22px;line-height:1.6;letter-spacing:0;color:#fff;text-align:center;}
.section-visual header h2{font-size:72px;line-height:1.5em;letter-spacing:0;color:#fff;font-weight:700;text-align:center;}
.section-visual header h2 strong{color:#00E56D;}
.point{width:1000px;margin:0 auto;position:relative;height:535px;margin-bottom:20px;}
.point_inner{width:1000px;margin:0 auto;display:flex;justify-content:space-between;align-items:start;}
.point .point_tit{width:400px;color:#fff;}
.point .point_tit strong{font-size:20px;line-height:1.4em;letter-spacing:0;color:#00E56D;}
.point .point_tit h3{font-size:48px;font-weight:700;line-height:1.3em;letter-spacing:0;color:#fff;padding:5px 0 20px;}
.point .point_tit h4{font-size:19px;line-height:1.6em;letter-spacing:0;color:#fff;}
.point .point_img{width:400px;height:400px;position:relative;}
.point .point_line{position:absolute;top:0;left:50%;transform:translateX(-50%);width:15px;height:535px;}
.point .point_line span{display:block;width:15px;height:15px;border-radius:50%;margin-bottom:20px;background-color:rgba(255,255,255,0.2);}
.point .point_line span.on{background-color:#fff;}
.point .point_line .grey_line{position:relative;width:3px;height:500px;margin:0 6px;background-color:rgba(255,255,255,0.2);overflow:hidden;}
.point .point_line .color_line{position:absolute;left:0;top:0;width:100%;height:0%;background-color:#00E56D;transition:none;}
.point .point_img .ob_poly{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
/* slow infinite rotation for decorative polygon */
@keyframes obRotate {
	from { transform: translate(-50%,-50%) rotate(0deg); }
	to   { transform: translate(-50%,-50%) rotate(360deg); }
}

.point .point_img .ob_poly{transform-origin:center center;will-change:transform;animation:obRotate 60s linear infinite;}
.point .point_img .circle_point{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.point .point_img .circle_point_02{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
/* subtle blink for circle_point */
@keyframes circleBlink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.2; }
}

.point .point_img .circle_point{will-change:opacity,transform;animation:circleBlink 2.1s ease-in-out infinite;}
.point .point_img .circle_01{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.point .point_img .circle_02{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.point .point_img .circle_03{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.point .point_img .sphere{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.point .point_img .arrow{position:absolute;bottom:5%;left:50%;transform:translate(-50%,0);}
/* arrow floats up from below to above in a gentle loop (scoped to pi_03) */
@keyframes arrowUp {
	0%   { transform: translate(-50%, 18px); opacity: 0.85; }
	50%  { transform: translate(-50%, -12px); opacity: 1; }
	100% { transform: translate(-50%, 18px); opacity: 0.85; }
}

.pi_03 .arrow{will-change:transform,opacity;animation:arrowUp 2.6s cubic-bezier(.2,.9,.3,1) infinite;}
/* slow rotation for pi_02 decorative circles - each with its own speed/direction */
@keyframes rotate360 {
	from { transform: translate(-50%,-50%) rotate(0deg); }
	to   { transform: translate(-50%,-50%) rotate(360deg); }
}

.pi_02 .circle_01{transform-origin:center center;will-change:transform;animation:rotate360 60s linear infinite;}
.pi_02 .circle_02{transform-origin:center center;will-change:transform;animation:rotate360 75s linear infinite reverse;}
.pi_02 .circle_03{transform-origin:center center;will-change:transform;animation:rotate360 45s linear infinite;}

.point .point_img .ellipse_01,
.point .point_img .ellipse_02,
.point .point_img .ellipse_03,
.point .point_img .ellipse_04{
		position:absolute;
		left:50%;
		transform:translateX(-50%);
		opacity:0;
}

/* individual vertical positions + entrance animation (fade-up then return) */
.point .point_img .ellipse_01{bottom:0; --move: -120px; animation:gather 3s ease-in-out infinite; animation-delay:0s}
.point .point_img .ellipse_02{bottom:20%; --move: -40px; animation:gather 3s ease-in-out infinite; animation-delay:0.1s}
.point .point_img .ellipse_03{bottom:40%; --move: 40px; animation:gather 3s ease-in-out infinite; animation-delay:0.2s}
.point .point_img .ellipse_04{bottom:60%; --move: 120px; animation:gather 3s ease-in-out infinite; animation-delay:0.3s}

@keyframes gather {
	0%, 100% { transform: translateX(-50%) translateY(0); opacity: 1; }
	50% { transform: translateX(-50%) translateY(var(--move)); opacity: 0.7; }
}

/* @media (prefers-reduced-motion: reduce){
	.point .point_img .ellipse_01,
	.point .point_img .ellipse_02,
	.point .point_img .ellipse_03,
	.point .point_img .ellipse_04{
		animation:none !important;
		transition:none !important;
		opacity:1;
		transform:translateX(-50%);
	}
} */
@media (max-width:768px){
	.section-visual header{padding-bottom:15%;}
	.section-visual header p{font-size:4.2vw;}
	.section-visual header h2{font-size:8.5vw;margin-top:1%;}
}

@media (max-width:768px){
	.point{width:auto;height:485px;position:relative;}
	.point_inner{width:auto;display:block;} 
	.point .point_tit{width:auto;padding:0 0 0 14%;}
	.point .point_tit strong{font-size:3.8vw;}
	.point .point_tit h3{font-size:6.6vw;line-height:1.3;}
	.point .point_tit h4{font-size:3.8vw;line-height:1.6;}
	.point .point_img{width:45%;height:auto;padding-top:40%;margin:0 auto;margin-left:45%;margin-top:20%;}
	.point .point_line{position:absolute;top:0;left:8%;height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;margin-top:1.5vw;}
	.point .point_line span{width:10px;height:10px;}
	.point .point_line .grey_line{height:450px;}
	.point .point_img .circle_point{width:17%;}
	.point .point_img .circle_point_02{width:7%;}
}


/* Responsive section video styles */
.video-wrapper{width:100%;max-width:100%;overflow:hidden;}
.video-wrapper .full-video{width:100%;height:auto;display:block;max-width:100%;object-fit:contain;background:#000}
.video-wrapper .full-video::-webkit-media-controls{display:auto}

/* Small helper: ensure clickable video shows pointer on hover */
.video-wrapper .full-video{cursor:pointer}

/* Ensure hero videos are not clickable (behave as background) */
.hero .hero-video{pointer-events:none;cursor:default}

.hero_ai{position:relative;min-height:90vh;background-color:#000;}
.hero_ai-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;filter:brightness(0.9);}
.hero_ai-overlay{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 30%, rgba(0,119,255,0.06), transparent 10%), radial-gradient(circle at 80% 70%, rgba(255,255,255,0.04), transparent 12%);z-index:3}
.hero_ai-overlay::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	/* taller, responsive fade to avoid visible cutoff */
	height: clamp(120px, 22vh, 260px);
	pointer-events: none;
	/* gradual multi-stop fade for a seamless, non-discrete transition */
	background: linear-gradient(to top,
		rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0.8) 20%,
        rgba(0, 0, 0, 0.6) 40%,
        rgba(0, 0, 0, 0.4) 60%,
        rgba(0, 0, 0, 0.2) 80%,
        rgba(0, 0, 0, 0) 100%
	);
	/* remove inset shadow to prevent hard edges; keep only soft gradient */
	box-shadow: none;
	z-index: 1;
	will-change: opacity, transform;
}
.hero_ai-overlay::before{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	/* taller, responsive fade to avoid visible cutoff */
	height: clamp(120px, 22vh, 260px);
	pointer-events: none;
	/* gradual multi-stop fade for a seamless, non-discrete transition */
	background: linear-gradient(to bottom,
		rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0.8) 20%,
        rgba(0, 0, 0, 0.6) 40%,
        rgba(0, 0, 0, 0.4) 60%,
        rgba(0, 0, 0, 0.2) 80%,
        rgba(0, 0, 0, 0) 100%
	);
	/* remove inset shadow to prevent hard edges; keep only soft gradient */
	box-shadow: none;
	z-index: 1;
	will-change: opacity, transform;
}

/* AI section reveal/hide animations */
/* Title & container are visible by default; they hide only when .ai-hide is applied. */
.hero_ai .ai_tit{opacity:1;}
.hero_ai .circle_cnt_wrap{opacity:1;transform:translateY(0);transition:transform 0.6s cubic-bezier(.2,.9,.3,1),opacity 0.5s ease;will-change:transform,opacity}
.hero_ai.ai-hide .circle_cnt_wrap{opacity:0;transform:translateY(-60px)}

/* circle reveal per item: smooth fade-in + slight rise from below */
.hero_ai .circle_cnt{opacity:0;transform:translateY(24px);will-change:transform,opacity;}

@keyframes slideUpFade {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

.hero_ai .circle_cnt.on{animation:slideUpFade 640ms cubic-bezier(.2,.9,.3,1) both,borderFlash 1s ease both;}

/* staggered delays per item */
.hero_ai .circle_cnt:nth-child(1){animation-delay:0s, 0.18s}
.hero_ai .circle_cnt:nth-child(2){animation-delay:0.12s, 0.30s}
.hero_ai .circle_cnt:nth-child(3){animation-delay:0.24s, 0.42s}

/* border flash to highlight then return to white */
@keyframes borderFlash{
	0%{ border-color: #fff; }
	30%{ border-color: #00E56D; }
	100%{ border-color: #fff; }
}


.ai_wrap{position:relative;z-index:10;width:100%;}
.hero_ai_inner{width:100%;}
.hero_ai_video{height:auto;background-color:#000;}
.ai_tit{padding:clamp(40px, 20vh, 250px) 0 clamp(40px, 8vh, 250px);}
.ai_tit p{font-size:22px;line-height:1.4em;letter-spacing:0;color:#fff;text-align:center;}
.ai_tit h2{font-size:72px;line-height:1.5em;letter-spacing:0;color:#fff;font-weight:700;text-align:center;}
.ai_tit h2 strong{color:#00E56D;}
.ai_tit h2 br{display:none;}
.circle_cnt_wrap{width:1400px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;}
.circle_cnt_wrap .circle_cnt{width:420px;height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px solid #fff;border-radius:50%;position:relative;overflow:hidden;transition:border-color .4s ease;}
.circle_cnt_inner strong{font-size:18px;line-height:1.4em;color:#00E56D;}
.circle_cnt_inner h3{font-size:32px;font-weight:700;line-height:1.4em;color:#fff;padding:5px 0 20px;}
.circle_cnt_inner h4{font-size:18px;line-height:1.6em;color:#fff;}


/* temporary highlight: only border-color flashes then returns to white (~1s with slight delay) */
.circle_cnt.on{animation:circleHighlight 1s ease .18s 1 both;}

@keyframes circleHighlight{
	0%{ border-color:#fff; }
	30%{ border-color:#00E56D; }
	100%{ border-color:#fff; }
}
@media (max-width:768px){
	.ai_tit{padding:25vw 0 0;}
	.ai_tit p{font-size:4.2vw;line-height:1.6;}
	.ai_tit h2{font-size:8.5vw;line-height:1.3;margin-top:1%;padding-bottom:15%;}
	.ai_tit h2 br{display:block;}
	.circle_cnt_wrap{width:auto;flex-direction:column;}

	.circle_cnt_wrap .circle_cnt{width:75%;aspect-ratio:1/1;height:auto;border-width:2px;}
	.circle_cnt_wrap .circle_cnt:nth-child(2){margin-top:-5vw;}
	.circle_cnt_wrap .circle_cnt:nth-child(3){margin-top:-5vw;}
	.circle_cnt_inner strong{font-size:3.8vw;}
	.circle_cnt_inner h3{font-size:6vw;padding:0 0 5%;}
	.circle_cnt_inner h4{font-size:3.5vw;line-height:1.5;}
}


.secure{position:relative;}
.secure_inner{height:600vh;width:100%;background-color:#000;}
.secure_cnt{position:sticky;top:0;left:0;height:100vh;}
.secure_tit{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:19;}
.secure_tit p{font-size:22px;line-height:1.5em;letter-spacing:0;color:#fff;text-align:center;}
.secure_tit h3{font-size:112px;line-height:1.5em;letter-spacing:0;color:#fff;text-align:center;font-weight:700;}
.secure_tit.second h3{
	color:#fff; /* font color set to white; green glow */
	display:inline-block; /* allow drop-shadow and consistent rendering */
	/* dense inner glow + broader soft bleed to match provided image */
	text-shadow:
		0 0 4px rgba(0,229,109,0.3),
		0 0 10px rgba(0,229,109,0.25),
		0 0 20px rgba(0,229,109,0.2),
		0 0 36px rgba(0,229,109,0.15),
		0 0 72px rgba(0,229,109,0.08);
	/* reduced opacity for softer, subtler bleed */
	filter: drop-shadow(0 0 18px rgba(0,229,109,0.15)) drop-shadow(0 0 36px rgba(0,229,109,0.08));
	transition: text-shadow 240ms ease, filter 240ms ease, color 200ms ease;
	will-change: text-shadow, filter;
}
.secure_tit h2{font-size:72px;line-height:1.25em;letter-spacing:0;color:#fff;font-weight:700;text-align:center;padding-bottom:30px;}
.secure_tit h2 strong{color:#00E56D;}
.secure_tit h2 br:first-child{display:none;}
.secure_bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:12;}
.secure_tit{opacity:0;transition:opacity 2s cubic-bezier(.2,.9,.3,1);}
.secure_tit.visible{opacity:1;transform:translateY(0);}
/* outline SVG used in secure section (centered, scales with scroll) */
.outline-svg{position:absolute;left:50%;top:50%;width:700px;height:700px;transform:translate(-50%,-50%) scale(1);transform-box:fill-box;transform-origin:center;will-change:transform,opacity;z-index:9999;pointer-events:none;display:block;}
@media (max-width:768px){
	.secure_tit.first{}
	.secure_tit.first img{width:50%;}
	.secure_tit h2{font-size:8.5vw;}
	.secure_tit h2 br:first-child{display:block;}
	.secure_tit p{font-size:3.2vw}
	.outline-svg{width:90%;}
	.secure_tit.second h3{font-size:12vw;}
}



.contact_tit_wrap{background-image:url('../images/main/bg_bottom.png');background-repeat:no-repeat;background-position:center top;background-size:cover;height:65vh;position:relative;overflow:hidden;}
/* footer background video (covers the contact area like hero) */
.contact_tit_wrap .footer-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:1;pointer-events:none;}
.contact_tit_wrap .footer-bg{position:absolute;inset:0;overflow:hidden}
.contact_tit_wrap .footer-bg .footer-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;z-index:1;pointer-events:none;}
.contact_tit_wrap .footer-bg .footer-overlay{position:absolute;inset:0;pointer-events:none;z-index:2;background-image:radial-gradient(circle at 20% 30%, rgba(0,119,255,0.06), transparent 10%), radial-gradient(circle at 80% 70%, rgba(255,255,255,0.04), transparent 12%)}
.contact_tit_wrap .footer-bg .footer-overlay::after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	/* taller, responsive fade to avoid visible cutoff */
	height: clamp(120px, 22vh, 260px);
	pointer-events: none;
	/* gradual multi-stop fade for a seamless, non-discrete transition */
	background: linear-gradient(to top,
		rgba(0, 0, 0, 1) 0%,
        rgba(0, 0, 0, 0.8) 20%,
        rgba(0, 0, 0, 0.6) 40%,
        rgba(0, 0, 0, 0.4) 60%,
        rgba(0, 0, 0, 0.2) 80%,
        rgba(0, 0, 0, 0) 100%
	);
	/* remove inset shadow to prevent hard edges; keep only soft gradient */
	box-shadow: none;
	z-index: 1;
	will-change: opacity, transform;
}
.contact_tit_wrap .contact_tit{position:relative;z-index:3}
.contact_tit{display:flex;justify-content:center;align-items:center;flex-direction:column;padding-top:230px;}
.contact_tit h2{font-size:36px;line-height:1.5em;letter-spacing:0;color:#fff;font-weight:700;text-align:center;padding-bottom:30px;}
.contact_tit h2 strong{color:#00E56D;}
.contact_tit h2 br{display:none;}
.contact_tit p{font-size:22px;line-height:1.4em;letter-spacing:0;color:rgba(255,255,255,0.5);text-align:center;padding-bottom:40px;}
.contact_tit div{display:flex;justify-content:center;align-items:center;}
.contact_tit div a{display:inline-flex;width:230px;height:60px;justify-content:center;align-items:center;background-color:transparent;border:1px solid #fff;color:#fff;font-size:20px;line-height:1.4em;border-radius:2em;transition:background-color 0.5s ease,color 0.5s ease;}
.contact_tit div a:hover{background-color:#fff;color:#000;font-weight:500;}

/* mouse-following green circle inside contact title area */
.contact-follower{position:absolute;top:0;left:0;width:10%;height:200%;background:rgba(0,229,109,0.09);box-shadow:0 30px 80px rgba(0,229,109,0.08);filter:blur(18px);pointer-events:none;transform:translate(-50%,-50%) scale(1);transition:opacity 0.4s ease,transform 0.12s ease;will-change:transform,opacity;mix-blend-mode:screen;opacity:0.95;}
.contact-follower.hidden{opacity:0;transform:translate(-50%,-50%) scale(0.8);}

@media (max-width:768px){
	.contact_tit{padding-top:30vw;}
	.contact_tit h2{font-size:6.6vw;line-height:1.4;padding-bottom:3%;}
	.contact_tit h2 br{display:block;}
	.contact_tit p{font-size:3.8vw;line-height:1.5;padding-bottom:6%;}
	.contact_tit div a{font-size:4.2vw;width:220px;height:60px;}
}

/* Company Page */
.company_status{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:100px 0;}
.company_status_inner{width:1500px;margin:0 auto;}
.company_tit:after{content:'';display:block;clear:both;}
.company_tit h2{float:left;font-size:48px;line-height:1.4;font-weight:700;letter-spacing:0;color:#000;}
.company_tit h2 strong{color:#00E56D;}
.company_desc{padding-top:85px;}
.company_desc:after{content:'';display:block;clear:both;}
.company_desc ul{float:right;width:700px;border-bottom:1px solid #000;}
.company_desc ul li{display:flex;justify-content:space-between;align-items:center;padding:44px  0;border-top:1px solid #000;}
.company_desc ul li div:first-child h3{font-size:28px;line-height:1.4;font-weight:700;letter-spacing:0;color:#000;}
.company_desc ul li div:first-child p{font-size:18px;line-height:1.4;letter-spacing:0;color:#aaa;}
.company_desc ul li div:last-child p{font-size:22px;line-height:1.4;font-weight:500;letter-spacing:0;color:#000;display:flex;align-items:center;gap:8px;}
.company_desc ul li div:last-child p b{font-size:88px;font-weight:700;}
.company_desc ul li p br{display:none;}
@media (max-width:768px){
	.company_status{padding:27% 5% 0;min-height:auto;}
	.company_status_inner{width:auto;}
	.company_tit h2{float:none;font-size:6.6vw;}
	.company_desc{padding-top:15%;}
	.company_desc ul{float:none;width:auto;}
	.company_desc ul li div:first-child h3{font-size:5vw;padding-bottom:6%;}
	.company_desc ul li div:first-child p{font-size:3.5vw;line-height:1.4;}
	.company_desc ul li div:last-child p{font-size:3.5vw;line-height:1.4;gap:2%;}
	.company_desc ul li div:last-child p b{font-size:11vw;}	
	.company_desc ul li p br{display:block;}
}


/* History title fade transition: overlay multiple .tit_area and fade between them */
.company_history{padding-top:100px;padding-bottom:100px;}
.c_history_inner{width:1500px;margin:0 auto;position:relative;}
.tit_area h2{font-size:72px;line-height:1.4;font-weight:700;letter-spacing:0;color:#000;}
.tit_area h2 b{color:#00E56D;padding:0 5px;}
.tit_area p{font-size:28px;line-height:1.;font-weight:500;letter-spacing:0;color:#aaa;padding-top:12px;}

.history_area{width:700px;border-left:1px solid #e6e6e6;margin-left:800px;margin-top:-100vh;}
.history_area ul{height:100vh;width:100%;display:flex;justify-content:center;align-items:start;flex-direction:column;}
.history_area ul li{display:flex;justify-content:start;align-items:start;padding:30px 0;position:relative;}
.history_area ul li:after{content:'';display:block;position:absolute;top:42px;left:-6px;width:11px;height:11px;background-color:#00E56D;border-radius:50%;}
.history_area ul li .year{font-size:22px;line-height:1.4;font-weight:600;letter-spacing:0;color:#000;padding:0 32px;}
.history_area ul li .year_cnt p{font-size:22px;line-height:1.4;letter-spacing:0;color:#000;}
.history_area ul li .year_cnt p + p{padding-top:16px;}
.history_area ul li .year_cnt p strong{font-weight:700;}


.history_tit{position:sticky;top:0;left:0;width:50%;height:100vh;display:flex;justify-content:center;align-items:start;flex-direction:column;}
.history_tit .tit_area{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:start;flex-direction:column;padding:0 24px;box-sizing:border-box;opacity:0;visibility:hidden;transform:translateY(30px);will-change:opacity,transform;}
.history_tit .tit_area.active{opacity:1;visibility:visible;transform:translateY(0);transition:opacity 2s cubic-bezier(.2,.9,.3,1),transform 720ms cubic-bezier(.2,.9,.3,1);z-index:2;}


@media (max-width:768px){
	.company_history{padding:0;}
	.c_history_inner{width:auto;height:auto;}

	.history_tit{width:100%;height:auto;padding-top:55%;border:0;background-color:#fff;z-index:100;}
	.history_tit .tit_area{padding:0 5%;height:auto;bottom:0;transform:translateY(0);justify-content:end;padding-bottom:10%;}
	.tit_area h2{font-size:9vw;}
	.tit_area p{font-size:4.2vw;}

	.history_area{margin-left:0;width:100%;box-sizing:border-box;padding:0 5%;margin-top:5%;}
	.history_area ul{height:auto;border-left:1px solid #e6e6e6;padding-top:15%;}
	.history_area ul:first-child{padding-top:0;}
	.history_area ul li{padding:15px 0 15px 1em;}
	.history_area ul li:after{left:-4px;top:22px;width:8px;height:8px;}
	.history_area ul li .year{font-size:3.8vw;padding:0 1em;}
	.history_area ul li .year_cnt p{font-size:3.8vw;}	
	.history_area ul li .year_cnt p + p{padding-top:0.5em;}
}


/* company_view */
.company_view{padding-bottom:200px;}
.company_view_inner{width:1500px;margin:0 auto;background-color:#F7F7F7;border-radius:24px;overflow:hidden;display:flex;justify-content:space-between;align-items:start;}
.company_view_img{width:900px;height:630px;overflow:hidden;}
.company_view_img img{width:100%;height:100%;object-fit:cover;transform-origin:center center;transition:transform 2s cubic-bezier(.2,.9,.3,1);will-change:transform;transform:scale(1.10)}
.company_view_img img.zoomed{transform:scale(1)}
.company_view_status{width:600px;box-sizing:border-box;padding:70px 40px 40px;}
.view_logo{padding-bottom:80px;}
.company_view_status dl{width:100%;}
.company_view_status dl dt{font-size:18px;line-height:1.4;font-weight:500;letter-spacing:0;color:#999;padding-top:24px;}
.company_view_status dl dd{font-size:20px;line-height:1.4;font-weight:500;letter-spacing:0;color:#000;padding-bottom:24px;border-bottom:1px solid #E6E6E6;}
.company_view_status dl dd:last-child{border-bottom:none;}
@media (max-width:768px){
	.company_view{padding:27% 5%;}
	.company_view_inner{width:auto;flex-direction:column;border-radius:1.2em;}
	.company_view_img{width:auto;height:auto;}
	.company_view_status{width:100%;padding:10% 5%;}
	.view_logo{padding-bottom:10%;width:32%;}
	.company_view_status dl dt{font-size:3.2vw;padding:1em 0 0.3em;width:100%;}
	.company_view_status dl dd{font-size:3.5vw;padding-bottom:1em;width:100%;}
	.company_view_status dl dd:last-child{padding-bottom:0;}
}



/* Business Page */
/* partner_roller */
.partners{padding:200px 0;box-sizing:border-box;}
.partners_inner{width:1500px;margin:0 auto;}
.partners_inner h2{font-size:48px;line-height:1.4;font-weight:700;letter-spacing:0;color:#000;margin-bottom:100px;}

.partner_roller{width:100%;overflow:hidden;margin-top:40px;}
.partner_roller_inner{display:flex;align-items:center;width:max-content!important;gap:72px;flex-wrap: nowrap;}
.partner_roller_inner.alt01,.partner_roller_inner.alt02{width:max-content;}
.partner_roller_inner span{flex:0 0 auto;}
.partner_roller_inner.marquee{animation-name:partnerRoll;animation-timing-function:linear;animation-iteration-count:infinite;}
.partner_roller_inner.alt02.marquee{animation-direction:reverse;}
@keyframes partnerRoll{
	from{transform:translateX(0);}
	to{transform :translateX(var(--scroll-distance));}
}
@media (max-width:768px){
	.partners{padding:27% 0;height:auto;}
	.partners_inner{width:auto;padding:0 5%;}
	.partners_inner h2{font-size:6.6vw;margin-bottom:15%;}
	.partner_roller{margin-top:6%;}
	.partner_roller_inner span img{height:70px;width:auto;}
	.partner_roller_inner{gap:40px;}
}


.db_media{padding:200px 0;}
.db_media_inner{width:1500px;margin:0 auto;}
.db_media_inner h2{font-size:48px;line-height:1.4;font-weight:700;letter-spacing:0;color:#000;margin-bottom:100px;}
/* 2x2 grid for the four media items */
.db_media_set ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:24px 0 0 0;}
.db_media_set ul li{width:740px;height:440px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;background-image:url('');background-repeat:no-repeat;background-position:center;background-size:100%;transition:background-size 240ms ease,filter 240ms ease,box-shadow 240ms ease,opacity 240ms ease;border-radius:24px;overflow:hidden;cursor:pointer;}
.db_media_set ul li:nth-child(1){background-image:url('../images/main/db_set_01.png');}
.db_media_set ul li:nth-child(2){background-image:url('../images/main/db_set_02.png');}
.db_media_set ul li:nth-child(3){background-image:url('../images/main/db_set_03.png');}
.db_media_set ul li:nth-child(4){background-image:url('../images/main/db_set_04.png');}
.db_media_set ul li div{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px;}
.db_media_set ul li div h3{font-size:36px;line-height:1.3;font-weight:700;letter-spacing:0;color:#fff;}
.db_media_set ul li div p{font-size:20px;line-height:1.3;letter-spacing:0;color:#fff;}

/* Hover: dim all items, highlight hovered item */
.db_media_set ul:hover li{filter:brightness(0.7) saturate(0.95);opacity:0.95;}
/* do not scale the li itself; enlarge background image slightly on hover */
.db_media_set ul li:hover{filter:brightness(1) saturate(1.05);background-size:105%;box-shadow:0 14px 30px rgba(0,0,0,0.12);z-index:2;opacity:1;}

/* Ensure hovered item stays above neighbors */
.db_media_set ul{position:relative;}

/* Responsive: collapse to single column on narrow screens */
@media (max-width:768px){
	.db_media{padding:27% 0 13%;}
	.db_media_inner{width:auto;padding:0 5%;}
	.db_media_inner h2{font-size:6.6vw;margin-bottom:0;padding-bottom:15%;}
	.db_media_set ul{margin:0;grid-template-columns:1fr;gap:8%;height:auto;}
	.db_media_set ul li{width:100%;height:auto;aspect-ratio:740/440;background-size:cover;border-radius:1.2em;}
	.db_media_set ul li div h3{font-size:5.2vw;}
	.db_media_set ul li div p{font-size:3.8vw}                            
}

/* DB features */
.db_biz{padding:100px 0 0;overflow:hidden;}
.db_biz_inner{width:1500px;margin:0 auto;}
.db_biz h2{font-size:48px;line-height:1.4;font-weight:700;letter-spacing:0;color:#000;margin-bottom:100px;}
/* Accordion-style db_features */
.db_features{max-width:1500px;margin:0 auto;}
.db-features-list{display:flex;gap:20px}
.db-features-list li{flex:1 1 0;overflow:hidden;position:relative;transition: flex 680ms cubic-bezier(.2,.9,.3,1);cursor:pointer;border-radius:1.5em;overflow:hidden;}
.db-features-list li img{width:100%;height:700px;object-fit:cover;display:block}
.db-features-list li{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0.06);}
.db-features-list li img{pointer-events: none;}
.db-features-list li.is-active{flex:6 1 0;}
/* no image scale on active for calmer effect */
/* visual cue when expanded */
.db-features-list li::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 9999px rgba(0,0,0,0);transition:box-shadow 360ms ease;}
.db-features-list li.is-active::after{box-shadow:inset 0 0 0 9999px rgba(0,0,0,0.05);}
/* small overlay label */
.db-features-list li .feat_label{position:absolute;left:60px;bottom:60px;width:100%;white-space:nowrap;display:none;}
.db-features-list li .feat_label h3{font-size:36px;line-height:1.3;font-weight:700;letter-spacing:0;color:#000;margin-bottom:30px;}
.db-features-list li .feat_label p{font-size:20px;line-height:1.5;letter-spacing:0;color:#000;}
.db-features-list li .feat_label span{position:absolute;top:-330%;left:0;color:#000;background-color:transparent;font-size:18px;border:1px solid #000;padding:0.25em 0.7em;border-radius:0.6em;font-size:22px;line-height:1.5;font-weight:600;letter-spacing:0;}
.db-features-list li.is-active .feat_label{display:block;}
@media (max-width:768px){
	.db_biz{padding:27% 0 0;}
	.db_biz_inner{width:auto;padding:0 5%;}
	.db_biz h2{font-size:6.6vw;margin-bottom:15%;}

	.db-features-list{flex-direction:column;gap:12px;}
	.db-features-list li{flex: 0 0 auto;max-height:30vw;overflow: hidden;transition: max-height 480ms cubic-bezier(.2,.9,.3,1);border-radius:1.2em;}
	.db-features-list li img{height:100%;display:block;width:100%;object-fit:cover;object-position:center;}
	.db-features-list li.is-active{max-height:100vw;height:80vw;flex:none;}
	.db-features-list li .feat_label{display:none;left:6%;bottom:8%;}
	.db-features-list li .feat_label h3{font-size:5.2vw;margin-bottom:2%;}
	.db-features-list li .feat_label p{font-size:3.5vw;}
	.db-features-list li .feat_label span{font-size:3.5vw;top:-252%;}
	.db-features-list li.is-active .feat_label{display:block}
}



/* footer */
.ftr{background-color:#000;height:auto;position:relative;}
.ftr_inner{width:1500px;margin:0 auto;display:flex;justify-content:space-between;align-items:top;padding:100px 0 80px;}
.ftr_inner > div{color:#fff;}
.ftr_inner > div .bot_logo{display:inline-block;width:142px;}
.ftr_inner > div h3{font-size:20px;line-height:1.4em;letter-spacing:0;color:#fff;padding-bottom:20px;}
.ftr_inner > div h3 a{color:#fff;}
.ftr_inner > div p{font-size:20px;line-height:1.4em;letter-spacing:0;color:#fff;}
.ftr_inner > div p strong{display:inline-block;color:rgba(255,255,255,0.5);margin-right:10px;}
.ftr_inner > div p.copyright{font-size:20px;color:#777}
.ftr_inner > div p a{color:#fff;}
.ftr_inner > div .contact_btn{display:inline-flex;padding:0.5em 1.2em;justify-content:center;align-items:center;background-color:transparent;border:1px solid #fff;color:#fff;font-size:20px;line-height:1.4em;border-radius:2em;}

.ftr_bot{width:100%;overflow:hidden;}
.ftr.altS{border-top:1px solid #e6e6e6;background-color:#fff;height:auto !important;}
.ftr.altS > div{color:#757575;}
.ftr.altS > div h3{color:#888;}
.ftr.altS > div h3 a{color:#888;}
.ftr.altS > div p{color:#888;}
.ftr.altS > div p strong{color:#888;}
.ftr.altS > div p a{color:#888;}
.ftr.altS > div p.contact_btn{background-color:transparent;border:1px solid #888;}
.ftr.altS > div p.contact_btn a{color:#888;}

@media (max-width:768px){
	.ftr{height:auto;}
	.ftr_inner{width:auto;display:block;padding:10% 5%;}
	.ftr_inner > div .bot_logo{width:30%}
	.ftr_inner > div + div{margin-top:6%;}
	.ftr_inner > div h3{font-size:3.8vw;padding-bottom:3%;}
	.ftr_inner > div p{font-size:3.8vw;line-height:1.6;}
	.ftr.altS{height:auto;}
	.ftr_bot{width:auto;transform:none;left:0;}
	.ftr_inner > div .contact_btn{font-size:3.8vw;}
}

@media (min-width:769px) and (max-width:1024px){
	.ftr_inner{width:100%;padding:50px 50px 0px;}
	.ftr_inner > div h3{font-size:15px;}
	.ftr_inner > div p{font-size:15px;}
	.ftr_inner > div .contact_btn{font-size:14px;}
	.ftr.altS{height:20vh;}
}

@media (min-width:1025px) and (max-width:1440px){
	.ftr_inner{width:100%;}
	.ftr_inner > div h3{font-size:18px;}
	.ftr_inner > div p{font-size:18px;}
	.ftr_inner > div .contact_btn{font-size:17px;}
	.ftr.altS{height:20vh;}
}

.down_scroll{position:absolute;bottom:40px;left:50%;margin-left:-25px;animation: arrowAnimation 1.6s cubic-bezier(.455, .03, .515, .955) infinite both;z-index:5000;}
@media (max-width:768px){
	.down_scroll{width:24px;margin-left:-12px;}
}
@keyframes arrowAnimation {
  0% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(20px);
  }

  100% {
    transform: translateY(0);
  }
}

/* footer img roller */
.marquee_container{position:relative;overflow:hidden;width:100%;--marquee-height:40px;background:transparent;box-sizing:border-box;}
.marquee_track{display:flex;flex-wrap:nowrap;gap:100px;align-items:center;white-space:nowrap;will-change:transform;box-sizing:border-box;width:max-content!important;animation-timing-function:linear;animation-iteration-count:infinite;}
.marquee_track img{height:auto;max-height:none;width:auto;display:block;flex:0 0 auto;}
@media (max-width:768px){
	.marquee_track{gap:52px;}
	.marquee_track img{height:92px;width:auto;}
}
@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(var(--marquee-offset)); }
}