@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 
.only-desktop {display:block !important;}
.only-mobile {display:none !important;}

#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:var(--font-size-14);font-weight:bold;text-align:center;text-decoration:none;line-height:3.5714285714285716em}

.contain {width:100%; max-width:1780px; margin:0 auto; padding-left:var(--contain-padding); padding-right:var(--contain-padding);}
.contain:after {content:" "; display:block; clear:both;}

/* header */
#header {position:fixed; width:100%; z-index:101; top:0; left:0; right:0;}
#header:after {position:absolute; content:''; bottom:0; left:0; right:0; background-color:#ddd; height:1px; opacity:0;}
#header .contain {height:var(--header-height); max-width:100%; padding:0 var(--contain-paddingx3); position:relative; display:flex; align-items:center;}

.sitelogo {text-align:center; display:flex; flex:1; justify-content:center;}
.sitelogo a {display:block; height:clamp(24px, calc(40 / var(--inner) * 100vw), 40px); aspect-ratio:233 / 40; background:url('../images/common/logo-w.png') 0 50% / contain no-repeat;}

#gnb {display:none;}

.util-sns {margin-top:var(--space-80); display:grid; gap:var(--space-15);}
.util-sns a {display:flex; font-size:var(--font-size-14); align-items:center; gap:10px; font-size:var(--font-size-14); opacity:0.8;}
.util-sns a:hover {opacity:1;}
.util-sns i {width:clamp(20px, calc(24 / var(--inner) * 100vw), 24px); height:clamp(20px, calc(24 / var(--inner) * 100vw), 24px); display:inline-block; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.util-sns i.icon-instagram {background-image:url('../images/common/sns-insta.svg');}
.util-sns i.icon-youtube {background-image:url('../images/common/sns-ytb.svg');}
.util-sns i.icon-kakaotalk {background-image:url('../images/common/sns-kakao.svg');}
.util-sns a:hover i.icon-instagram {background-image:url('../images/common/sns-insta-on.svg');}
.util-sns a:hover i.icon-youtube {background-image:url('../images/common/sns-ytb-on.svg');}
.util-sns a:hover i.icon-kakaotalk {background-image:url('../images/common/sns-kakao-on.svg');}

#header:hover {background:#fff;}
#header:hover .sitelogo a {background-image:url('../images/common/logo.png');}
#header:hover .btn-m-menu span,
#header:hover .btn-m-menu span:before,
#header:hover .btn-m-menu span:after {background:#5F0519;}
#header.header-hover:after {opacity:1;}

html.header-hover #header {background:#fff;}
html.header-hover #header:after {opacity:1;}
html.header-hover .sitelogo a {background-image:url('../images/common/logo.png');}
html.header-hover .btn-m-menu span,
html.header-hover .btn-m-menu span:before,
html.header-hover .btn-m-menu span:after {background:#5F0519;}

html.header-fixed #header {background:#fff;}
html.header-fixed #header:after {opacity:1;}
html.header-fixed .sitelogo a {background-image:url('../images/common/logo.png');}
html.header-fixed .btn-m-menu span,
html.header-fixed .btn-m-menu span:before,
html.header-fixed .btn-m-menu span:after {background:#5F0519;}

#sub .sitelogo a {background-image:url('../images/common/logo.png');}
#sub .btn-m-menu span,
#sub .btn-m-menu span:before,
#sub .btn-m-menu span:after,
#sub #header:hover .btn-m-menu span,
#sub #header:hover .btn-m-menu span:before,
#sub #header:hover .btn-m-menu span:after {background:#5F0519;}

/* for mobile */
.btn-m-menu {position:relative;width:32px;height:27px;text-align:center;text-indent:-9999em;z-index:50; display:block;}
.btn-m-menu span {position:absolute; right:0; top:50%; width:32px; height:3px; background:#fff;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; right:0; width:100%; height:3px; background:#fff; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s;}
.btn-m-menu span:before {top:-11px; transition-property:top, transform;}
.btn-m-menu span:after {bottom:-11px; transition-property:bottom, transform;}

.menu-close {position:absolute; top:30px; right:30px;}

.mobile-navigation {padding:0 var(--space-60); color:#fff; background:url('/images/common/navbg.jpg') 50% 50% / cover no-repeat; position:fixed; top:0; left:0; width:330px; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(-100%); transform:translateX(-100%); z-index:102;}
.mobile-navigation .home {padding:var(--space-90) 0;}
.mobile-navigation .nav-menu>ul {display:grid; gap:var(--space-35);}
.mobile-navigation .nav-menu>ul>li>a {font-family:"Cormorant Garamond"; position:relative; display:block; font-size:var(--font-size-24); font-weight:600; line-height:1.3em;}
.mobile-navigation .nav-menu>ul>li>a:after {width:8px; height:13px; opacity:0; content:""; position:absolute; transition:all 0.3s ease-in-out; top:50%; right:-10px; transform:translateY(-50%); background:url('/images/common/nav-on.svg') 50% 50% / contain no-repeat;}
.mobile-navigation .nav-menu>ul>li:hover>a,
.mobile-navigation .nav-menu>ul>li.active>a {color:#EEEEDC;}
.mobile-navigation .nav-menu>ul>li:hover>a:after,
.mobile-navigation .nav-menu>ul>li.active>a:after {opacity:1; right:0; transition:all 0.3s ease-in-out;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0;}
.mobile-navigation .nav-menu .submenu ul li {padding-top:var(--space-20);}
.mobile-navigation .nav-menu .submenu ul li a {display:block; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu ul li a:hover {color:#EEEEDC;}

.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}

html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}
html.menu-opened .btn-m-menu span {background:none !important;}
html.menu-opened .btn-m-menu span:before,
html.menu-opened .btn-m-menu span:after {transition-delay:0s, 0.3s;}
html.menu-opened .btn-m-menu span:before {top:0; transform:rotate(45deg);}
html.menu-opened .btn-m-menu span:after {bottom:0; transform:rotate(-45deg);}

.header-lang {margin-left:auto; position:relative; width:80px; flex-shrink:0; z-index:105; text-align:center;}
.header-lang-summary {cursor:pointer; display:flex; justify-content:center; align-items:center;}
.header-lang-icon {display:flex; width:32px; height:32px; align-items:center; justify-content:center; line-height:0;}
.header-lang-dropdown {position:absolute; left:50%; top:calc(32px + 16px); transform:translateX(-50%); padding:0; min-width:80px;}
.header-lang-inner {position:relative; width:80px; height:108px;}
.header-lang-shape {position:absolute; left:0; top:0; display:block; width:80px; height:108px;}
.header-lang-list {position:absolute; left:0; top:19px; width:80px; box-sizing:border-box;}
.header-lang-item {display:block; font-size:12px; font-weight:400; line-height:1.7em; letter-spacing:0; color:rgba(255,255,255,0.5);}
.header-lang-item.is-active {font-weight:500; color:#fff;}
.header-lang-item:hover {color:#fff;}

#sub #header .header-lang-icon path,
#header:hover .header-lang-icon path,
html.header-hover .header-lang-icon path,
html.header-fixed .header-lang-icon path {fill:#5F0519;}

/* main */
.main-visual, .main-visual .item {height:100dvh;}
.main-visual {position:relative; overflow:hidden; color:#fff;}
.main-visual .item {position:relative; overflow:hidden; background:#000;}
.main-visual .item img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:5s linear; transform:scale(1.15);}
.main-visual .item video {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.main-visual .caption {text-align:center; position:absolute; top:50%; left:50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); padding:0 var(--contain-padding); width:100%; max-width:1780px; z-index:30;}
.main-visual .caption p {transition:.8s; opacity:0; transform:translateX(20px);}
.main-visual .caption .t1 {margin-bottom:var(--space-40); font-size:clamp(26px, calc(72 / var(--inner) * 100vw), 72px); font-weight:600; line-height:1.2em; letter-spacing:0.02em; color:rgba(255, 255, 255, 0.60);}
.main-visual .caption .t1 span {color:#fff;}
.main-visual .caption .t2 {margin-bottom:var(--space-40); font-size:var(--space-20); line-height:1.1em; letter-spacing:-.03em; line-height:1.9em;}
.main-visual .caption .t3 a {width:200px; height:54px; align-items:center; justify-content:center; border-radius:60px; background:rgba(255, 255, 255, 0.20); backdrop-filter:blur(4px); margin:0 auto; display:flex;}
.main-visual .active .item img {transform:scale(1);}
.main-visual .active .caption p {opacity:1; transform:translateX(0);}
.main-visual .active .caption .t1 {transition-delay:0.4s;}
.main-visual .active .caption .t2 {transition-delay:0.5s;}
.main-visual .active .caption .t3 {transition-delay:0.6s;}

.main-visual .dots {flex:1; font-weight:800; align-items:flex-end; display:flex;}
.main-visual .dot-paging {font-size:var(--font-size-24); color:rgba(255, 255, 255, 0.50);}
.main-visual .dot-paging .current {font-size:var(--font-size-40); padding-right:5px; color:#fff;}
.main-visual .dot-paging .total {padding-left:5px; opacity:0.5;}

.main-visual .controls {gap:var(--space-40); display:flex; justify-content:flex-end; position:absolute; bottom:var(--space-60); left:50%; transform:translateX(-50%); width:100%; max-width:1780px; padding:0 var(--contain-padding); z-index:30;}
.main-visual .btns {display:flex; gap:12px;}
.main-visual .btns button {background:transparent; border:none; cursor:pointer; transition:.2s;}
.main-visual .btns img {height:clamp(40px, calc( 70 / var(--inner) * 100vw ), 70px);}

.visual-scroll {position:absolute; bottom:var(--space-60); left:50%; transform:translateX(-50%); z-index:10; line-height:0; width:100%; text-align:center;}
.visual-scroll .img {animation:pulse 2s infinite;}
@keyframes pulse {
  0% {
    -webkit-transform:translate(0, 0);
	transform:translate(0, 0);}
  50% {
    -webkit-transform:translate(0, 10px);
	transform:translate(0, 10px);}
  100% {
    -webkit-transform:translate(0, 0);
	transform:translate(0, 0);}
}

.main-value-strip {background:linear-gradient(to right,#f6f2ed,#f6f2ed); color:#5f0519; text-align:center;}
.main-value-strip .contain {grid-template-columns:repeat(6, 1fr); display:grid;}
.main-value-item {padding:12px 0 var(--space-40);}
.main-value-item:hover {background-color:#5F0519; color:#fff;}
.main-value-item:hover .main-value-icon {filter:brightness(0) invert(1);}
.main-value-icon {height:130px; display:flex; align-items:center; justify-content:center;}
.main-value-line {font-family:"Jost",sans-serif;font-size:var(--font-size-22);font-weight:500;line-height:1.3em;letter-spacing:0;}

.m-sec .contain {max-width:1700px;}

.main-sec2 {color:#f5e3dd; background:url('/images/main/sec2bg.jpg') 50% 50% / cover no-repeat; text-align:center;}
.main-sec2 .sub-title {padding:var(--space-150) 15px;}
.main-sec2 .sub-title .mid,
.main-sec2 .sub-title .txt,
.main-sec2 .sub-title .txt strong {color:#F5E3DD;}

.main-sec3 {padding:var(--space-200) 0;}
.main-sec3-article {margin-bottom:var(--space-200); display:flex; align-items:center; justify-content:space-between; gap:var(--space-30); width:100%;}
.main-sec3-article:last-child {margin-bottom:0;}
#main .main-sec3-article:nth-child(even) {flex-direction:row-reverse;}
#sub .main-sec3-article:nth-child(odd) {flex-direction:row-reverse;}
.technology-wrap .main-sec3-article {gap:var(--space-120);}

.main-sec3-text {flex:1; display:flex; flex-direction:column; gap:var(--space-60);}
.main-sec3-intro {display:flex; flex-direction:column; gap:var(--space-40);}
.main-sec3-meta {position:relative; display:flex; align-items:center;}
.main-sec3-index {position:relative; z-index:1; font-family:"Cormorant Garamond", serif; font-size:var(--font-size-40); font-weight:700; line-height:1.0em; letter-spacing:0;}

.main-sec3-meta-line {position:absolute; left:53px; top:25px; width:160px; height:1px; pointer-events:none;}
.main-sec3-color1 .main-sec3-meta-line {background:linear-gradient(to right, #fff, #5f0519);}
.main-sec3-color1 .main-sec3-index,
.main-sec3-color1 .main-sec3-title-serif {color:#5f0519;}
.main-sec3-color1 .main-sec3-title-gradient {background-image:linear-gradient(to right, #830000, #5f0519);}

.main-sec3-color2 .main-sec3-meta-line {background:linear-gradient(to right, #fff, #b60033);}
.main-sec3-color2 .main-sec3-index,
.main-sec3-color2 .main-sec3-title-serif {color:#b60033;}
.main-sec3-color2 .main-sec3-title-gradient {background-image:linear-gradient(-90deg, #8e0028 0%, #b60033 100%);}

.main-sec3-color3 .main-sec3-meta-line {background:linear-gradient(to right, #fff, #cf8a5b);}
.main-sec3-color3 .main-sec3-index,
.main-sec3-color3 .main-sec3-title-serif {color:#cf8a5b;}
.main-sec3-color3 .main-sec3-title-gradient {background-image:linear-gradient(to right, #cf8a5b, #69462e);}

.main-sec3-heading {display:flex; align-items:flex-end; flex-wrap:nowrap; gap:var(--space-30);}
.main-sec3-title-gradient {display:inline-block; padding-bottom:0; font-family:"Jost", sans-serif; font-size:var(--font-size-64); font-weight:500; line-height:1.1em; letter-spacing:0.2em; color:transparent; -webkit-background-clip:text; background-clip:text;}

.main-sec3-title-serif {display:inline-block; font-family:"Cormorant Garamond", serif; font-size:var(--font-size-72); font-weight:700; font-style:italic; line-height:1.0em; letter-spacing:0;}

.main-sec3-body {display:flex; flex-direction:column; gap:var(--space-40);}
.main-sec3-lead {font-size:var(--font-size-28); font-weight:500; line-height:1.3em; letter-spacing:0; color:#242424;}
.main-sec3-copy {display:flex; flex-direction:column; gap:var(--space-20);}
.main-sec3-copy-block {font-size:var(--font-size-18); font-weight:400; line-height:1.8em; letter-spacing:0; color:#454545;}

/* sub page */
.sub-visual {position:relative; height:100vh; color:#fff; background:#333;}
.sub-visual .bg {position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; transition:2s; opacity:0; transform:scale(1); background-repeat:no-repeat; background-position:50% 0; background-size:cover;}

.sub-visual .bg1 {background-image:url("../images/common/sv1.jpg");}
.sub-visual .bg2 {background-image:url("../images/common/sv2.jpg");}
.sub-visual .bg3 {background-image:url("../images/common/sv3.jpg");}
.sub-visual .bg4 {background-image:url("../images/common/sv4.jpg");}
.sub-visual .bg5 {background-image:url("../images/common/sv5.jpg");}
.sub-visual [data-aos=fade-up] {transform:translate3d(0,30px,0);}
.loaded .sub-visual .bg {transform:scale(1); opacity:1;}

#contArea {width:100%; max-width:1780px; margin:0 auto; padding:0 var(--contain-padding);}
#contArea.wide {max-width:none; padding:0;}

.real-cont {padding-bottom:var(--space-150);}

.sec-bottom {text-align:center; padding:var(--space-150) 0;}

/* footer */
#footer {padding:var(--space-80) 0; font-family:"Cormorant Garamond", serif; background:url('/images/common/footerbg.jpg') 50% 50% / cover no-repeat; color:#eeeedc;}
#footer .contain {max-width:1700px; display:flex;}
#footer .col-l {padding-right:var(--space-60); display:flex; flex-direction:column; justify-content:space-between;}
#footer .col-r {font-size:var(--font-size-18); line-height:1.2em;}
#footer a:hover {text-decoration:underline;}
.site-footer-nav-list {display:flex; flex-direction:column; gap:var(--space-20); font-weight:700;}
.site-footer-info {display:flex; gap:var(--space-90);}
.site-footer-block {display:flex; flex-direction:column; gap:15px; flex-shrink:0;}
.site-footer-heading {font-weight:700;}
.site-footer-text {line-height:1.6em; opacity:.8;}
.site-footer-policies {display:flex; flex-wrap:wrap; align-items:center; gap:12px; line-height:1.2em;}
.site-footer-policy-strong {font-weight:700;}
.site-footer-policy-refuse {font-weight:600;}
.site-footer-meta {margin-top:10px; display:flex; flex-wrap:wrap; align-items:center; gap:12px;}
.site-footer-copy {font-size:var(--font-size-14); line-height:1.2em; opacity:.8;}
.site-footer-meta-bar {flex-shrink:0; width:1px; height:10px; background-color:rgba(238,238,220,0.4);}
.site-footer-credit {font-size:var(--font-size-12); line-height:1.2em; opacity:.4;}