@charset "utf-8";

/* 공통 */
#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: 50px; outline-color: #f37736; }
.only-desktop { display: block; }
.only-desktop-tablet { display: block; }
.only-tablet-mobile { display: none; }
.only-tablet { display: none; }
.only-mobile { display: none; }
.contain { width: 100%; max-width: calc(1728px + var(--container-space) * 2); margin: 0 auto; padding-left: var(--container-space); padding-right: var(--container-space); box-sizing: border-box; }
.submenu-bg { display: none; position: absolute; width: 100%; left: 0; background: #fff; border-top: 1px solid #ddd; border-bottom: 1px solid #eee; }
#contArea { width: 100%; max-width: calc(1728px + var(--container-space) * 2); margin: 0 auto; padding-left: var(--container-space); padding-right: var(--container-space); box-sizing: border-box; }
#contArea.wide { max-width: 100%; width: 100%; padding: 0; }
#contArea.wide .sub-title { padding-left: var(--container-space); padding-right: var(--container-space); }
#contArea:not(.wide) .contain { width: 100%; max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
.sub-title { padding: var(--space-80) 0; text-align: center; }
.sub-title h2 { font-size: var(--font-size-32); line-height: 1.3em; }
.real-cont { min-height: 300px; padding-bottom: var(--space-120); }
body:not(.page-main) .real-cont { padding: var(--space-80) 0 var(--space-120); min-height: 50vh; }
.sub-title { display: none; }
#contArea .real-cont:empty { min-height: 240px; }
.page-history #contArea .real-cont { padding: var(--space-150) 0 0; }
.page-location #contArea .real-cont { padding: var(--space-150) 0 0; }

/* 헤더 */
#header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; background: #fff; border-bottom: 1px solid #ddd; z-index: 100; }
#header .contain { position: relative; display: flex; align-items: center; justify-content: space-between; height: var(--header-height); z-index: 10; }
.sitelogo { color: #242424; font-size: var(--font-size-32); font-weight: 700; letter-spacing: -.03em; line-height: 1.3em; }
#gnb { text-align: center; flex: 1 1 auto; min-width: 0; width: 1%; }
#gnb>ul { display: flex; justify-content: flex-end; }
#gnb>ul>li { position: relative; padding: 0 var(--space-45); }
#gnb>ul>li>a { position: relative; display: flex; align-items: center; flex-direction: column; justify-content: center; height: var(--header-height); color: #242424; font-size: var(--font-size-18); font-weight: 600; letter-spacing: -.03em; line-height: 1.3em; }
#gnb>ul>li.active>a { color: var(--color-primary); }
#gnb .submenu { position: absolute; left: 0; width: 100%; height: 0; overflow: hidden; text-align: center; }
#gnb .submenu>ul { padding: var(--space-20) var(--space-10); }
#gnb .submenu>ul>li>a { display: block; padding: var(--space-10) 0; color: #454545; font-size: var(--font-size-16); line-height: 1.33em; }
#gnb .submenu>ul>li>a:hover { text-decoration: underline; }
#gnb .submenu>ul>li.active>a { color: #42ade2; }
.btn-m-menu { display: none; position: relative; width: 24px; height: 24px; }
.btn-m-menu div { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: var(--space-7); width: 100%; height: 100%; }
.btn-m-menu span { display: block; width: 100%; height: 2px; background: #121212; }
.mobile-navigation { display: none; position: fixed; top: 0; right: 0; width: 300px; height: 100%; overflow: auto; transition: .2s linear; -ms-transform: translateX(100%); transform: translateX(100%); background: #fff; z-index: 102; }
.mobile-navigation .home { display: flex; align-items: center; height: 80px; padding: 0 var(--space-20); color: #242424; font-size: var(--font-size-19); font-weight: 700; line-height: 1.5em; }
.mobile-navigation .nav-menu>ul { border-top: 1px solid #ddd; }
.mobile-navigation .nav-menu>ul>li { border-bottom: 1px solid #ddd; }
.mobile-navigation .nav-menu>ul>li>a { position: relative; padding: var(--space-10) var(--space-48) var(--space-10) var(--space-20); display: block; color: #242424; font-size: var(--font-size-19); font-weight: 700; line-height: 1.5em; }
.mobile-navigation .nav-menu>ul>li>a:after { content: ""; position: absolute; top: 50%; right: 20px; transform: translateY(-75%) rotate(45deg); width: 11px; height: 11px; border-right: 2px solid #505050; border-bottom: 2px solid #505050; }
.mobile-navigation .nav-menu>ul>li.active>a:after { transform: translateY(-35%) rotate(-135deg); border-color: #fff; }
.mobile-navigation .nav-menu .submenu { display: none; background: #f8f8f8; color: #454545; font-size: var(--font-size-16); font-weight: 400; line-height: 1.5em; }
.mobile-navigation .nav-menu .submenu ul li { border-top: 1px solid #e5e5e5; }
.mobile-navigation .nav-menu .submenu ul li a { display: block; padding: var(--space-12) var(--space-20); }
.mobile-navigation .nav-menu .submenu ul li a:hover { color: #42ade2; }
.mobile-navigation .close { position: absolute; top: 25px; right: 15px; width: 26px; height: 26px; text-indent: -9999em; overflow: hidden; }
.mobile-navigation .close:before, .mobile-navigation .close:after { content: " "; position: absolute; top: 12px; left: 0; width: 100%; height: 3px; background: #242424; border-radius: 3px; }
.mobile-navigation .close:before { transform: rotate(45deg); }
.mobile-navigation .close:after { transform: rotate(-45deg); }
.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 { overflow: hidden; }
html.menu-opened .mobile-navigation { -ms-transform: translateX(0); transform: translateX(0); }
html.menu-opened .mobile-overlay { display: block; }
#header.site-header { position: sticky; top: 0; left: 0; right: 0; z-index: 200; background: #fff; border-bottom: 1px solid var(--color-line); box-shadow: none; transition: background .3s, border-color .3s, box-shadow .3s; }
#header.site-header.scrolled { box-shadow: 0 2px 12px rgba(0,0,0,.06); }
body.page-main #header.site-header { position: fixed; background: transparent; border-bottom-color: transparent; box-shadow: none; }
body.page-main #header.site-header.fp-white { background: #fff; border-bottom-color: var(--color-line); box-shadow: none; }
body.page-main #header.site-header:not(.fp-white) #gnb > ul > li > a { color: #fff; }
body.page-main #header.site-header.fp-white #gnb > ul > li > a { color: var(--color-ink); }
body.page-main #header.site-header:not(.fp-white):hover { background: #fff; border-bottom-color: var(--color-line); box-shadow: none; }
body.page-main #header.site-header:not(.fp-white):hover #gnb > ul > li > a { color: var(--color-ink); }
body.page-main #header.site-header:not(.fp-white):hover .sitelogo .logo-dark { display: block; }
body.page-main #header.site-header:not(.fp-white):hover .sitelogo .logo-light { display: none; }
body.page-main #header.site-header:not(.fp-white):hover .header-lang__btn { color: var(--color-ink); }
.sitelogo { display: flex; align-items: center; }
.sitelogo img { height: 52px; width: auto; }
.sitelogo .logo-dark { display: block; }
.sitelogo .logo-light { display: none; }
body.page-main #header.site-header:not(.fp-white) .sitelogo .logo-dark { display: none; }
body.page-main #header.site-header:not(.fp-white) .sitelogo .logo-light { display: block; }
body.page-main #header.site-header.fp-white .sitelogo .logo-dark { display: block; }
body.page-main #header.site-header.fp-white .sitelogo .logo-light { display: none; }
#header.site-header .header-inner { position: relative; }
#header.site-header .sitelogo, #header.site-header .header-utils { position: relative; z-index: 2; flex: 0 0 auto; }
#header.site-header .header-utils { display: flex; align-items: center; gap: var(--space-16); }
#header.site-header #gnb { position: absolute; left: 50%; top: 0; transform: translateX(-50%); flex: none; width: auto; min-width: 0; text-align: center; }
#header.site-header #gnb > ul { justify-content: center; }
#header.site-header #gnb > ul > li { padding: 0 var(--space-65); }
#header #gnb > ul > li > a {min-width: max-content; font-family: 'SUIT Variable', sans-serif; font-weight: 600; font-size: var(--font-size-20); letter-spacing: -0.03em; transition: color .2s; }
#header.site-header #gnb > ul > li > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: currentColor; transform: scaleX(0); transition: transform .25s ease; }
#header.site-header #gnb > ul > li:hover > a::after { transform: scaleX(1); }
#header.site-header:not(:hover) #gnb > ul > li.active > a::after { transform: scaleX(1); }
#header.site-header .btn-m-menu { display: block; width: 28px; height: 20px; color: var(--color-ink); }
#header.site-header .btn-m-menu span { background: currentColor; }
body.page-main #header.site-header:not(.fp-white) .btn-m-menu { color: #fff; }
body.page-main #header.site-header:not(.fp-white):hover .btn-m-menu, body.page-main #header.site-header.fp-white .btn-m-menu { color: var(--color-ink); }
.mobile-navigation { display: none; position: fixed; inset: 0; top: 0; right: 0; left: 0; width: 100%; height: 100%; transform: none; overflow: auto; background: rgba(0, 0, 0, 0.72); backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px); z-index: 320; }
html.menu-opened .mobile-navigation { display: block; transform: none; }
html.menu-opened .mobile-overlay { display: none; }
html.menu-opened #header.site-header { pointer-events: none; }
html.menu-opened #header.site-header .submenu-bg, html.menu-opened #header.site-header #gnb .submenu { display: none; height: 0; }
.mobile-navigation .home { display: none; }
.mobile-navigation .nav-menu { display: flex; align-items: flex-start; justify-content: center; min-height: 100%; width: min(100% - 80px, 1536px); margin: 0 auto; padding: var(--space-280) 0 var(--space-80); box-sizing: border-box; }
.mobile-navigation .nav-menu > ul { display: flex; width: 100%; justify-content: space-between; gap: var(--space-16); border: 0; }
.mobile-navigation .nav-menu > ul > li { flex: 1 1 0; min-width: 0; border: 0; }
.mobile-navigation .nav-menu > ul > li > a { display: block; padding: 0 0 var(--space-32); color: #fff; font-size: var(--font-size-34); font-weight: 800; line-height: 1.3; background: none; }
.mobile-navigation .nav-menu > ul > li > a:after { display: none; }
.mobile-navigation .nav-menu .submenu { display: block; height: auto; overflow: visible; position: static; background: none; color: rgba(255, 255, 255, 0.72); }
.mobile-navigation .nav-menu .submenu > ul { padding: 0; }
.mobile-navigation .nav-menu .submenu ul li { border: 0; }
.mobile-navigation .nav-menu .submenu ul li a { display: block; padding: var(--space-10) 0; color: rgba(255, 255, 255, 0.72); font-size: var(--font-size-20); font-weight: 400; line-height: 1.5; }
.mobile-navigation .nav-menu .submenu ul li a:hover { color: #fff; }
.mobile-navigation .close { top: 40px; right: 48px; width: 32px; height: 32px; }
.mobile-navigation .close:before, .mobile-navigation .close:after { background: #fff; height: 2px; }
#header #gnb > ul > li > a:hover, #header #gnb > ul > li.on > a { color: inherit; }
#header.site-header #gnb > ul > li.active > a { color: var(--color-primary); }
#header.site-header #gnb > ul > li.active > a::after { background: var(--color-primary); }
#header.site-header, #header.site-header .header-inner, #header.site-header #gnb { overflow: visible; }
#header.site-header .submenu-bg { display: none; position: absolute; top: var(--header-height); left: 0; width: 100%; height: 0; background: #fff; border-top: 1px solid var(--color-line); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06); z-index: 1; }
#header.site-header #gnb .submenu { top: 100%; left: 0; width: 100%; height: 0; overflow: hidden; text-align: center; z-index: 12; }
#header.site-header #gnb .submenu > ul { padding: var(--space-28) var(--space-10) var(--space-40); }
#header.site-header #gnb .submenu > ul > li > a { display: block; padding: var(--space-10) 0; font-size: var(--font-size-17); font-weight: 400; line-height: 1.5; letter-spacing: -0.03em; color: #333; text-decoration: none; }
#header.site-header #gnb .submenu > ul > li > a:hover { color: var(--color-primary); text-decoration: none; }
#header #gnb > ul > li > a.is-unlinked, #header #gnb > ul > li > a.is-unlinked:hover { cursor: default; }
#header #gnb .submenu > ul > li > a.is-unlinked { color: #333; cursor: default; }
#header #gnb .submenu > ul > li > a.is-unlinked:hover { color: var(--color-primary); text-decoration: none; }
#fp-container { position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow-y: scroll; overflow-x: hidden; scroll-snap-type: y mandatory; -webkit-overflow-scrolling: touch; z-index: 1; scrollbar-width: none; }
#fp-container::-webkit-scrollbar { display: none; }
.btn-primary { display: inline-flex; align-items: center; justify-content: center; padding: var(--space-16) var(--space-36); background: var(--color-primary); color: #fff; border: none; border-radius: 4px; font-family: inherit; font-size: var(--font-size-16); font-weight: 600; letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: background .2s, transform .15s; }
.btn-primary:hover { background: var(--color-primary-dark, #e67330); transform: translateY(-1px); }
.btn-primary--lg { padding: var(--space-19) var(--space-44); font-size: var(--font-size-17); }
.btn-outline { display: inline-flex; align-items: center; justify-content: center; padding: var(--space-15) var(--space-35); background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); border-radius: 4px; font-family: inherit; font-size: var(--font-size-16); font-weight: 500; text-decoration: none; cursor: pointer; transition: border-color .2s, background .2s, transform .15s; }
.btn-outline:hover { border-color: #fff; background: rgba(255,255,255,.1); transform: translateY(-1px); }
.btn-outline--lg { padding: var(--space-18) var(--space-42); font-size: var(--font-size-17); }
.cycling-word { display: block; position: absolute; left: 50%; transform: translateX(-50%) translateY(100%); opacity: 0; font-size: clamp(22px, 2.4vw, 36px); font-weight: 700; color: #fff;  letter-spacing: -0.03em; transition: opacity .45s cubic-bezier(.4,0,.2,1), transform .45s cubic-bezier(.4,0,.2,1); }
.cycling-word.is-active { opacity: 1; transform: translateX(-50%) translateY(0); }
.cycling-word.is-leaving { opacity: 0; transform: translateX(-50%) translateY(-100%); }
#header.site-header + * { margin-top: 0; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1); }
.reveal.is-revealed { opacity: 1; transform: none; }
.sub-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-24); }
.sub-card { border: 1px solid var(--color-line); border-radius: 10px; padding: var(--space-36) var(--space-32); background: #fff; transition: box-shadow .2s, border-color .2s, transform .2s; }
.sub-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.07); border-color: var(--color-primary); transform: translateY(-3px); }
.sub-card .card-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(101,203,217,.12); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-20); }
.sub-card .card-icon svg { width: 24px; height: 24px; color: var(--color-primary); }
.sub-card h3 { font-size: var(--font-size-17); font-weight: 700; color: var(--color-ink); letter-spacing: -.02em; margin: 0 0 var(--space-10); }
.sub-card p { font-size: var(--font-size-14); line-height: 1.75; color: var(--color-mid); margin: 0; }
.header-lang { position: relative; display: flex; align-items: center; }
.header-lang__btn { display: flex; align-items: center; gap: var(--space-5); padding: var(--space-5) var(--space-8); background: none; border: none; cursor: pointer; color: inherit; font-family: inherit; font-size: var(--font-size-13); font-weight: 500; letter-spacing: -0.03em; border-radius: 6px; transition: background .2s; }
.header-lang__btn:hover { background: rgba(0,0,0,.05); }
.header-lang__icon { flex-shrink: 0; opacity: .75; }
.header-lang__current { font-size: var(--font-size-13); font-weight: 600; }
.header-lang__arrow { flex-shrink: 0; opacity: .6; transition: transform .2s; }
.header-lang[data-open="true"] .header-lang__arrow { transform: rotate(180deg); }
.header-lang__drop { display: none; position: absolute; top: calc(100% + 6px); right: 0; min-width: 140px; background: #fff; border: 1px solid rgba(0,0,0,.08); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.1); list-style: none; margin: 0; padding: 0; z-index: 500; overflow: hidden; }
.header-lang[data-open="true"] .header-lang__drop { display: block; animation: langDropIn .18s ease; }
@keyframes langDropIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.header-lang__drop li a { display: flex; align-items: center; justify-content: space-between; padding: var(--space-9) var(--space-16); font-size: var(--font-size-13); color: var(--color-ink); text-decoration: none; transition: background .15s, color .15s; }
.header-lang__drop li a span { font-size: var(--font-size-11); font-weight: 700; color: var(--color-ink-muted); letter-spacing: -0.03em; }
.header-lang__drop li a:hover { background: #f4f4f4; }
.header-lang__drop li a.is-active { color: var(--color-primary); font-weight: 600; background: #f4f4f4; }
.header-lang__drop:has(a:not(.is-active):hover) a.is-active { background: transparent; }
.header-lang__drop li a.is-active span { color: var(--color-primary); }
body.page-main #header.site-header:not(.fp-white) .header-lang__btn { color: rgba(255,255,255,.9); }
body.page-main #header.site-header:not(.fp-white) .header-lang__btn:hover { background: rgba(255,255,255,.12); }
#header.site-header .contain.header-inner, .sec-contact-band.site-footer-zone .contain, #footer.p1-footer .contain { width: min(100% - 48px, 1728px); max-width: 1728px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
body.page-main.hero-intro-pending #header.site-header { background: transparent; border-bottom-color: transparent; transition: none; }
body.page-main.hero-intro-pending #header.site-header #gnb > ul > li > a, body.page-main.hero-intro-pending #header.site-header .header-lang__btn, body.page-main.hero-intro-pending #header.site-header .btn-m-menu { color: #111; }
body.page-main.hero-intro-pending #header.site-header .sitelogo .logo-dark { display: block; }
body.page-main.hero-intro-pending #header.site-header .sitelogo .logo-light { display: none; }

/* 메인 */
.main-section { padding: var(--space-100) 0; }
.main-section h2 { font-size: var(--font-size-40); font-weight: 700; line-height: 1.3em; letter-spacing: -0.03em; text-align: center; }
.main-visual { height: 50vh; background: #333; color: #fff; }
.main-about { background: #eee; }
.main-business { background: #fff; }
.main-contact { background: #cfd8eb; }
.main-section { padding: 0; }
body.page-main { overflow: hidden; height: 100vh; }
body.page-main #wrapper { height: 100vh; overflow: hidden; }
body.page-main .sec-contact-band { display: none; }
.fp-section { height: 100vh; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; }
.fp-dots-nav { position: fixed; right: 28px; top: 50%; transform: translateY(-50%); z-index: 300; display: flex; flex-direction: column; gap: var(--space-12); }
.fp-dot { width: 8px; height: 8px; border-radius: 50%; border: none; background: rgba(255,255,255,.45); cursor: pointer; padding: 0; transition: background .25s, transform .25s; outline: none; }
.fp-dot.is-active { background: #fff; transform: scale(1.35); }
.fp-dots-nav.is-light .fp-dot { background: rgba(0,0,0,.18); }
.fp-dots-nav.is-light .fp-dot.is-active { background: var(--color-primary); transform: scale(1.35); }
.fp-eyebrow, .fp-section-label { display: block; font-size: var(--font-size-12); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--color-primary); margin-bottom: var(--space-22); }
.fp-section-label--light { color: rgba(255,255,255,.6); }
.fp-section-title { font-size: var(--font-size-56); font-weight: 800; line-height: 1.2; letter-spacing: -.035em; color: var(--color-ink); margin-bottom: var(--space-22); }
.fp-section-desc { font-size: var(--font-size-17); line-height: 1.85; color: var(--color-mid); margin-bottom: var(--space-32); }
.fp-text-link { font-size: var(--font-size-15); font-weight: 600; color: var(--color-primary); text-decoration: none; letter-spacing: .02em; transition: opacity .2s; }
.fp-text-link:hover { opacity: .75; }
.fp-text-link--light { color: rgba(255,255,255,.8); }
.fp-text-link--light:hover { color: #fff; opacity: 1; }
.fp-hero { background: #0d1117; }
.fp-hero__bg { position: absolute; inset: 0; z-index: 0; }
.fp-hero__slider, .fp-hero__bg .slick-list, .fp-hero__bg .slick-track, .fp-hero__bg .slick-slide, .fp-hero__bg .slick-slide > div, .fp-hero__slide { height: 100%; }
.fp-hero__slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .5; }
.fp-hero__overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: rgba(0, 0, 0, .176); }
.fp-hero__inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; gap: 0; width: min(100% - 48px, 1728px); max-width: 1728px; }
.fp-hero__title {word-break: keep-all; font-size: var(--font-size-18); font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: #fff; margin: 0 0 var(--space-16);  }
.fp-hero__title em { font-style: normal; color: #fff; }
.fp-hero__sub { font-size: var(--font-size-72); font-weight: 800; line-height: 1.25; color: #fff; margin: 0 0 var(--space-20); letter-spacing: -0.03em; }
.fp-hero__desc { font-size: var(--font-size-18); font-weight: 400; line-height: 1.6; color: #fff; opacity: 0.8; margin: 0 0 var(--space-32); letter-spacing: -0.03em; }
.fp-hero__ctrl { position: absolute; left: 50%; bottom: 78px; z-index: 5; display: flex; align-items: center; justify-content: center; gap: var(--space-22); height: 44px; margin: 0; transform: translateX(-50%); }
.fp-hero__dots, .fp-hero__dots .slick-dots { display: flex; align-items: center; gap: var(--space-10); margin: 0; padding: 0; list-style: none; }
.fp-hero__dots li button { display: block; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); font-size: 0; line-height: 0; cursor: pointer; }
.fp-hero__dots li.slick-active button { width: 28px; border-radius: 999px; background: #fff; }
.fp-hero__nav { display: flex; align-items: center; gap: var(--space-6); }
.fp-hero__prev, .fp-hero__next, .fp-hero__pause { width: 28px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.fp-hero__prev::before, .fp-hero__next::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 1.5px solid #fff; border-left: 1.5px solid #fff; }
.fp-hero__prev::before { transform: translate(-30%, -50%) rotate(-45deg); }
.fp-hero__next::before { transform: translate(-70%, -50%) rotate(135deg); }
.fp-hero__pause::before, .fp-hero__pause::after { content: ""; position: absolute; top: 8px; width: 2px; height: 12px; background: #fff; }
.fp-hero__pause::before { left: 10px; }
.fp-hero__pause::after { right: 10px; }
.fp-hero__pause.is-paused::before, .fp-hero__pause.is-paused::after { height: 0; width: 0; background: none; border-style: solid; }
.fp-hero__pause.is-paused::before { top: 8px; left: 10px; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent #fff; }
.fp-hero__pause.is-paused::after { display: none; }
.fp-hero__cycling-wrap { position: relative; height: 1.6em; overflow: hidden; margin-bottom: var(--space-44); }
.fp-hero__cta { display: flex; gap: var(--space-14); flex-wrap: wrap; justify-content: center; }
.fp-scroll-hint { position: absolute; right: 56px; bottom: 56px; left: auto; z-index: 5; display: flex; align-items: center; justify-content: center; width: 88px; height: 88px; color: #fff; }
.fp-scroll-hint__btn { position: relative; z-index: 1; width: 44px; height: 44px; border-radius: 50%; background: var(--color-primary); box-shadow: none; }
.fp-scroll-hint__btn::after { content: ""; position: absolute; top: 16px; left: 50%; width: 8px; height: 8px; border-right: 1.5px solid #fff; border-bottom: 1.5px solid #fff; transform: translateX(-50%) rotate(45deg); }
.fp-scroll-hint__ripple { position: absolute; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); animation: heroRipple 2.4s ease-out infinite; }
.fp-scroll-hint__ripple:nth-child(2) { animation-delay: 1.2s; }
@keyframes heroRipple { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(2.35); opacity: 0; } }
.fp-services { background: #fff; flex-direction: column; align-items: stretch; justify-content: center; padding-top: var(--header-height); overflow: hidden; }
.fp-services__head { flex-shrink: 0; text-align: center; margin-bottom: var(--space-56); padding: 0 var(--space-48); }
.fp-svc-headline { margin: 0; font-weight: 400; }
.fp-svc-headline__oval { display: inline-block; border: none; border-bottom: 3px solid var(--color-primary); border-radius: 0; padding: 0 var(--space-4) var(--space-8); font-size: var(--font-size-28); font-weight: 600; color: var(--color-ink); letter-spacing: -.03em; line-height: 1.2; }
.fp-svc-headline strong { display: block; margin-top: var(--space-18); font-size: var(--font-size-56); font-weight: 800; letter-spacing: -.04em; color: var(--color-ink); line-height: 1.2; }
.fp-slider { overflow: hidden; cursor: grab; user-select: none; -webkit-user-select: none; touch-action: none; width: 100%; }
.fp-slider.is-dragging { cursor: grabbing; }
.fp-slider__track { display: flex; gap: var(--space-16); width: max-content; will-change: transform; }
.fp-slide { flex: 0 0 380px; width: 380px; }
.fp-slide__img { aspect-ratio: 1 / 1; overflow: hidden; background: var(--color-line); }
.fp-slide__img img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.fp-slide__label { margin: var(--space-16) 0 0; text-align: center; font-size: var(--font-size-22); font-weight: 500; color: #121212; letter-spacing: -.01em; }
.fp-stats { background: #fff; flex-direction: column; justify-content: center; align-items: stretch; overflow: hidden; }
.fp-stats__bg-strip { position: absolute; top: 50%; left: 0; transform: translateY(-50%); display: flex;  pointer-events: none; z-index: 0; user-select: none; }
.fp-stats__bg-strip span { display: inline-block; font-size: clamp(90px, 12vw, 180px); font-weight: 900; letter-spacing: -.03em; color: rgba(101, 203, 217, .055); animation: bgStripFlow 72s linear infinite; flex-shrink: 0; }
@keyframes bgStripFlow { from { transform: translateX(0); } to { transform: translateX(-100%); } }
.fp-stats__inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding-top: var(--header-height); height: 100%; gap: var(--space-52); }
.fp-stats__copy { max-width: 720px; }
.fp-stats__eyebrow { display: block; font-size: var(--font-size-12); font-weight: 700; letter-spacing: .16em; color: var(--color-primary); margin-bottom: var(--space-20); }
.fp-stats__heading { font-size: var(--font-size-56); font-weight: 900; letter-spacing: -.04em; line-height: 1.2; color: var(--color-ink); margin: 0 0 0; }
.fp-stats__sub-line { display: block; font-size: clamp(16px, 1.6vw, 22px); font-weight: 400; color: var(--color-mid); letter-spacing: -.02em; margin-top: var(--space-10); }
.fp-stats__sub-line em { font-style: normal; font-weight: 700; color: var(--color-ink); }
.fp-stats__deco { display: none; }
.fp-stats__deco::before { display: none; }
.fp-stats__grid { display: flex; justify-content: center; align-items: stretch; gap: 0; width: 100%; max-width: 880px; }
.fp-stat { flex: 1; display: flex; flex-direction: column; align-items: center; gap: var(--space-8); padding: 0 var(--space-56); }
.fp-stat + .fp-stat { border-left: 1px solid var(--color-line); }
.fp-stat__num { position: relative; display: block; font-size: clamp(52px, 6vw, 88px); font-weight: 900; letter-spacing: -.05em; line-height: 1; color: var(--color-ink); font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.fp-stat__num-sizer { visibility: hidden; display: block;  }
.fp-stat__num-val { position: absolute; left: 0; top: 0; right: 0;  text-align: center; }
.fp-stat--accent .fp-stat__num { color: var(--color-primary); }
.fp-stat__label { font-size: var(--font-size-20); color: var(--color-ink); font-weight: 600; letter-spacing: -.01em; }
.fp-stat__desc { font-size: var(--font-size-16); color: var(--color-mid); font-weight: 400; letter-spacing: -.01em; }
.fp-global { background: #040810; position: relative; }
.fp-global::before { content: ''; position: absolute; inset: 0; background-image: url('/images/global-space-earth.jpg'); background-size: cover; background-position: center right; opacity: .55; z-index: 0; }
.fp-global::after { content: ''; position: absolute; inset: 0; background: linear-gradient( to right, rgba(4,8,16,1) 0%, rgba(4,8,16,.9) 40%, rgba(4,8,16,.35) 70%, rgba(4,8,16,.05) 100% ); z-index: 1; }
.fp-global__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: var(--space-80); width: 100%; padding-top: var(--header-height); }
.fp-global__copy { flex: 0 0 42%; }
.fp-global__title { font-size: var(--font-size-56); font-weight: 900; letter-spacing: -.045em; line-height: 1.15; color: #fff; margin-bottom: var(--space-22); }
.fp-global__desc { font-size: var(--font-size-17); line-height: 1.85; color: rgba(255,255,255,.6); margin-bottom: var(--space-36); }
.fp-global__regions { flex: 1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-16); }
.fp-global__regions li { font-size: var(--font-size-17); font-weight: 600; color: rgba(255,255,255,.9); padding: var(--space-26) var(--space-30); border: 1px solid rgba(255,255,255,.15); border-radius: 8px; letter-spacing: -.015em; background: rgba(255,255,255,.06); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: border-color .2s, background .2s, transform .2s; }
.fp-global__regions li:hover { border-color: var(--color-primary); background: rgba(101,203,217,.12); transform: translateX(4px); }
.fp-closing { background: #0d1117; flex-direction: column; align-items: stretch; padding-top: var(--header-height); }
.fp-closing__top { display: none; }
.fp-closing__top { flex-shrink: 0; padding: var(--space-40) var(--space-48) var(--space-28); max-width: var(--container-wide); width: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: var(--space-32); }
.fp-closing__headline { font-size: var(--font-size-56); font-weight: 900; color: #fff; letter-spacing: -.04em; line-height: 1.2; margin: 0; }
.fp-closing__headline em { font-style: normal; color: var(--color-primary); }
.fp-closing__cards { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; min-height: 0; height: 100%; }
.fp-cl-card { position: relative; overflow: hidden; background: #111; cursor: pointer; }
.fp-cl-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 1; transition: opacity .4s, transform .55s cubic-bezier(.25,.46,.45,.94); }
.fp-cl-card:hover .fp-cl-card__bg { opacity: 1; transform: scale(1.06); }
.fp-cl-card__inner { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-36); background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.08) 40%, rgba(0,0,0,.65) 75%, rgba(0,0,0,.85) 100%); }
.fp-cl-card__label { display: block; font-size: var(--font-size-11); font-weight: 700; letter-spacing: .14em; color: #fff; text-transform: uppercase; }
.fp-cl-card__copy { display: flex; flex-direction: column; gap: var(--space-10); }
.fp-cl-card__copy p + .fp-cl-card__link { margin-top: var(--space-50); }
.fp-cl-card__copy h3 { font-size: var(--font-size-40); font-weight: 700; color: #fff; letter-spacing: -.025em; margin: 0; }
.fp-cl-card__copy p { font-size: var(--font-size-18); line-height: 1.65; color: rgba(255,255,255,.65); margin: 0; }
.fp-cl-card__link { display: inline-block; font-size: var(--font-size-14); font-weight: 600; color: rgba(255,255,255,.8); text-decoration: none; letter-spacing: .02em; padding-bottom: var(--space-3); border-bottom: 1px solid rgba(255,255,255,.3); transition: color .2s, border-color .2s; align-self: flex-start; }
.fp-cl-card:hover .fp-cl-card__link { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.fp-cl-card + .fp-cl-card { border-left: 1px solid rgba(255,255,255,.06); }
body.page-main { overflow: visible; height: auto; }
body.page-main #wrapper { height: auto; overflow: visible; }
body.page-main .sec-contact-band { display: block; }
.fp-dots-nav { display: none; }
body.page-main .fp-hero { position: relative; height: 100vh; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
body.page-main .main-visual.fp-hero { display: block; }
.main-visual .items, .main-visual .slick-list, .main-visual .slick-track, .main-visual .slick-slide, .main-visual .slick-slide > div, .main-visual .item { height: 100%; }
.main-visual .items { position: absolute; inset: 0; }
.main-visual .item { position: relative; }
.main-visual .item::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(0, 0, 0, .176); pointer-events: none; }
.main-visual .item img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .5; display: block; }
.main-visual .caption.fp-hero__inner { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(100% - 48px, 1728px); max-width: 1728px; height: auto; }
.main-visual .visual-func { position: absolute; left: 50%; bottom: 78px; z-index: 5; }
.main-visual .pagination { order: 1; }
.main-visual .slide-prev { order: 2; }
.main-visual .slide-stop, .main-visual .slide-play { order: 3; }
.main-visual .slide-next { order: 4; }
.main-visual .slide-play { display: none; }
.main-visual .pagination .slick-dots { display: flex; align-items: center; gap: var(--space-10); margin: 0; padding: 0; list-style: none; }
.main-visual .pagination .slick-dots li { width: auto; height: auto; margin: 0; }
.main-visual .pagination .slick-dots li button:before { display: none; }
.main-visual .pagination .slick-dots li button { display: block; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); font-size: 0; line-height: 0; cursor: pointer; }
.main-visual .pagination .slick-dots li.slick-active button { width: 28px; border-radius: 999px; background: #fff; }
.main-visual .slide-prev::before, .main-visual .slide-next::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 1.5px solid #fff; border-left: 1.5px solid #fff; }
.main-visual .slide-prev::before { transform: translate(-30%, -50%) rotate(-45deg); }
.main-visual .slide-next::before { transform: translate(-70%, -50%) rotate(135deg); }
.main-visual .slide-btn { width: 28px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.main-visual .slide-stop::before, .main-visual .slide-stop::after { content: ""; position: absolute; top: 8px; width: 2px; height: 12px; background: #fff; }
.main-visual .slide-stop::before { left: 10px; }
.main-visual .slide-stop::after { right: 10px; }
.main-visual .slide-play::before { content: ""; position: absolute; top: 8px; left: 10px; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent #fff; }
body.page-main, body.page-main .p1-main, body.page-main .p1-main h2, body.page-main .p1-main p, body.page-main .p1-main a, body.page-main .p1-main span, body.page-main .p1-main strong, body.page-main .p1-main button { font-family: 'SUIT Variable', 'Pretendard Variable', Pretendard, sans-serif; }
.p1-main { --color-primary: #ff8946; --color-primary-dark: #e67330; --color-secondary: #65cbd9; --color-accent: #ffe221; --color-bg: #ffffff; --color-dark: #111111; --color-ink: #111111; --color-muted: #505050; --color-subtle: #888888; --color-line: #e5e5e5; --color-bg-light: #f7f8fa; --container-wide: 1728px; --font-size-body: 20px; --font-sec-heading: clamp(36px, 4.2vw, 64px); --font-cta-title: clamp(32px, 3.5vw, 52px); --radius-md: 4px; --ease-out: cubic-bezier(0.16, 1, 0.3, 1); font-family: inherit; color: var(--color-ink); }
.p1-main .contain { width: min(100% - 48px, var(--container-wide)); max-width: var(--container-wide); padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; box-sizing: border-box; }
.p1-main .main-section h2 { text-align: left; }
.p1-main .btn-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: var(--space-14) var(--space-32); background: var(--color-primary); color: #fff; font-size: var(--font-size-16); font-weight: 700; border: none; border-radius: var(--radius-md); cursor: pointer; text-decoration: none; transition: background .2s var(--ease-out); }
.p1-main .btn-primary:hover { background: var(--color-primary-dark); transform: none; }
.p1-main .btn-primary--lg { min-height: 60px; padding: var(--space-16) var(--space-40); font-size: var(--font-size-18); }
.p1-main .btn-primary--light { background: #fff; color: var(--color-dark); }
.p1-main .btn-primary--light:hover { background: rgba(255, 255, 255, 0.88); color: var(--color-dark); }
.p1-main .btn-more { display: inline-flex; align-items: center; gap: var(--space-28); font-size: var(--font-size-16); font-weight: 600; color: var(--color-ink); text-decoration: none; transition: color .2s; }
.p1-main .btn-more:hover { color: var(--color-primary); }
.p1-main .btn-more--light { color: rgba(255, 255, 255, 0.9); }
.p1-main .btn-more--light:hover { color: var(--color-primary); }
.p1-main .btn-more__arrow { display: block; width: 40px; height: 1px; background: currentColor; position: relative; }
.p1-main .btn-more__arrow::after { content: ""; position: absolute; right: 0; top: -4px; width: 10px; height: 10px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.p1-main .sec-label { display: inline-block; margin-bottom: var(--space-24); padding: var(--space-6) var(--space-16); border-radius: var(--radius-md); background: rgba(255, 137, 70, 0.12); font-size: var(--font-size-12); font-weight: 700; letter-spacing: -0.03em; text-transform: uppercase; color: var(--color-primary); line-height: 1; }
.p1-main .sec-label--light { background: rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.85); }
.p1-main .sec-heading { font-size: var(--font-sec-heading); font-weight: 800; letter-spacing: -0.03em; line-height: 1.2; color: var(--color-ink); text-align: left; }
.p1-main .sec-desc { margin-top: var(--space-28); font-size: var(--font-size-body); color: var(--color-muted); max-width: 640px; line-height: 1.8; }
.p1-main .reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.p1-main .reveal.is-visible { opacity: 1; transform: none; }
.p1-main .reveal-d1 { transition-delay: 0.1s; }
.p1-main .reveal-d2 { transition-delay: 0.2s; }
.p1-main .reveal-d3 { transition-delay: 0.3s; }
.p1-main .sec-business { padding: var(--space-160) 0; background: var(--color-bg); overflow: hidden; }
.p1-main .biz-showcase { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; gap: clamp(32px, 4vw, 64px); }
.p1-main .biz-showcase__copy.contain { margin-left: var(--space-96); margin-right: auto; padding-left: 0; padding-right: 0; width: calc(100% - 60px); max-width: calc(100% - 60px); }
.p1-main .biz-showcase__copy { align-self: center; }
.p1-main .biz-showcase__copy > .sec-label { margin-bottom: var(--space-32); }
.p1-main .biz-showcase__panels { display: grid; min-height: clamp(200px, 18vw, 260px); }
.p1-main .biz-showcase__panel { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .45s var(--ease-out), visibility .45s var(--ease-out); }
.p1-main .biz-showcase__panel.is-active { opacity: 1; visibility: visible; }
.p1-main .biz-showcase__en { margin: 0 0 var(--space-20); font-size: clamp(28px, 3vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; text-transform: uppercase; color: var(--color-ink); }
.p1-main .main-section h2.biz-showcase__title { margin: 0 0 var(--space-24); font-size: var(--font-size-24); font-weight: 700; line-height: 1.35; letter-spacing: -0.03em; color: var(--color-ink); }
.p1-main .biz-showcase__desc { margin: 0; font-size: var(--font-size-body); line-height: 1.8; color: var(--color-muted); max-width: 520px; }
.p1-main .biz-showcase__nav { display: flex; align-items: center; gap: var(--space-28); margin-top: var(--space-48); max-width: 360px; }
.p1-main .biz-showcase__progress { flex: 1 1 auto; height: 2px; background: var(--color-line); overflow: hidden; }
.p1-main .biz-showcase__progress-bar { display: block; width: 20%; height: 100%; background: var(--color-primary); transition: width .45s var(--ease-out); }
.p1-main .biz-showcase__arrows { display: flex; align-items: center; gap: var(--space-12); flex-shrink: 0; }
.p1-main .biz-showcase__btn { width: 40px; height: 40px; padding: 0; border: 1px solid var(--color-line); border-radius: 4px; background: #fff; cursor: pointer; position: relative; transition: border-color .2s, background .2s; }
.p1-main .biz-showcase__btn:hover { border-color: var(--color-primary); background: var(--color-bg-light); }
.p1-main .biz-showcase__btn::before { content: ""; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 2px solid var(--color-ink); border-right: 2px solid var(--color-ink); transform: translate(-35%, -50%) rotate(-135deg); }
.p1-main .biz-showcase__btn--next::before { transform: translate(-65%, -50%) rotate(45deg); }
.p1-main .biz-showcase__more { margin-top: var(--space-40); }
.p1-main .biz-showcase__visual { min-width: 0; overflow: hidden; align-self: stretch; }
.p1-main .biz-gallery { overflow: hidden; width: 100%; --biz-slide-h: 900px; --biz-slide-w-active: 680px; --biz-slide-w-peek: 140px; --biz-slide-gap: 24px; }
.p1-main .biz-gallery__track { display: flex; gap: var(--biz-slide-gap); transition: transform 0.65s var(--ease-out); will-change: transform; }
.p1-main .biz-gallery__slide { flex-shrink: 0; width: var(--biz-slide-w-peek); transition: width 0.65s var(--ease-out); }
.p1-main .biz-gallery__slide.is-active { width: var(--biz-slide-w-active); }
.p1-main .biz-gallery__track.is-resetting, .p1-main .biz-gallery__track.is-resetting .biz-gallery__slide { transition: none; }
.p1-main .biz-gallery__slide img { display: block; width: 100%; height: var(--biz-slide-h); max-height: calc(100vh - var(--header-height)); object-fit: cover; border-radius: var(--radius-md); background: var(--color-bg-light); }
.p1-main .sec-global { position: relative; min-height: clamp(720px, 51vw, 980px); color: #fff; overflow: hidden; clip-path: inset(0); }
.p1-main .sec-global__media { position: fixed; inset: 0; pointer-events: none; }
.p1-main .sec-global__media img, .p1-main .sec-global__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.p1-main .sec-global__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.25); }
.p1-main .sec-global__inner { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: space-between; min-height: clamp(720px, 51vw, 980px); padding: clamp(100px, 11.5vw, 220px) 0 clamp(80px, 8vw, 154px); box-sizing: border-box; }
.p1-main .sec-global__intro { position: relative; max-width: 570px; }
.p1-main .sec-global__watermark { position: absolute; top: -93px; left: 0; margin: 0; width: min-content; max-width: 100%; font-size: clamp(64px, 7.8vw, 150px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; color: rgba(255, 255, 255, 0.1); word-break: keep-all; pointer-events: none; user-select: none; }
.p1-main .sec-global__title, .p1-main .main-section h2.sec-global__title { margin: 0 0 var(--space-60); font-size: var(--font-sec-heading); font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; color: #fff; }
.p1-main .sec-global__desc { margin: 0 0 var(--space-60); font-size: var(--font-size-body); line-height: 1.8; color: rgba(255, 255, 255, 0.92); }
.p1-main .sec-global__stat-label { font-size: var(--font-size-24); font-weight: 500; color: rgba(255, 255, 255, 0.7); line-height: 1; }
.p1-main .sec-global__stat-num { position: relative; display: block; font-size: clamp(62px, 6.5vw, 104px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; color: #fff; font-variant-numeric: tabular-nums; }
.p1-main .sec-global__stat-sizer { visibility: hidden; display: block;  }
.p1-main .sec-global__stat-val { position: absolute; left: 0; right: 0; top: 0; text-align: center;  }
.p1-main .sec-global__stats { display: flex; align-items: center; justify-content: flex-end; gap: clamp(24px, 3.1vw, 60px); flex-wrap: wrap; }
.p1-main .sec-global__stat { display: flex; flex-direction: column; align-items: center; gap: var(--space-30); min-width: clamp(140px, 17vw, 328px); text-align: center; }
.p1-main .sec-global__stat-num--a { text-shadow: 0 0 30px var(--color-secondary); }
.p1-main .sec-global__stat-num--b { text-shadow: 0 0 30px var(--color-primary); }
.p1-main .sec-global__stat-num--c { text-shadow: 0 0 30px var(--color-accent); }
.p1-main .sec-global__stat-divider { flex-shrink: 0; width: 1px; height: 100px; background: rgba(255, 255, 255, 0.2); }
.p1-main .partner-banner { padding: var(--space-210) 0; background: var(--color-bg-light); border-top: 1px solid var(--color-line); overflow: hidden; }
.p1-main .pb-head { text-align: center; margin-bottom: var(--space-56); }
.p1-main .pb-head .sec-label, .p1-main .pb-head .sec-heading, .p1-main .pb-head .sec-desc { text-align: center; }
.p1-main .pb-head .sec-label { margin-bottom: var(--space-24); }
.p1-main .pb-head .sec-heading { margin: 0; }
.p1-main .pb-head .sec-desc { max-width: 640px; margin: var(--space-28) auto 0; }
.p1-main .pb-rows { display: flex; flex-direction: column; gap: var(--space-16); }
.p1-main .pb-track { display: flex; gap: var(--space-16); padding-right: var(--space-16); width: max-content; will-change: transform; }
.p1-main .pb-track--fwd { animation: p1MarqueeLeft 32s linear infinite; }
.p1-main .pb-track--rev { animation: p1MarqueeRight 32s linear infinite; }
@keyframes p1MarqueeLeft { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes p1MarqueeRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.p1-main .pb-logo { flex-shrink: 0; width: 210px; height: 120px; border: 1px solid var(--color-line); border-radius: 4px; display: flex; align-items: center; justify-content: center; background: #fff; cursor: default; }
.p1-main .pb-logo img { display: block; width: 72%; height: 64%; object-fit: contain; }
.p1-main .pb-logo img[src*="sonpark-user.png"] { transform: scale(1.6); clip-path: inset(0 20%); }
.p1-main .pb-logo img[src*="rdrd-user.png"] { transform: scale(1.8); clip-path: inset(25% 0); }
.p1-main .pb-logo-name { font-size: var(--font-size-18); font-weight: 700; color: var(--color-subtle); letter-spacing: -0.03em; text-align: center; line-height: 1.3; padding: 0 var(--space-12); filter: grayscale(1); opacity: 0.72; }
.p1-main .sec-contact-band { margin-top: 0; padding: var(--space-100) 0; background: var(--color-dark); color: #fff; border-top: none; }
.p1-main .sec-contact-band__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-48); flex-wrap: wrap; }
.p1-main .sec-contact-band__title, .p1-main .main-section h2.sec-contact-band__title { font-size: var(--font-cta-title); font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; color: #fff; margin: 0; }
.p1-main .sec-contact-band__text { margin-top: var(--space-20); font-size: var(--font-size-body); color: rgba(255, 255, 255, 0.75); line-height: 1.8; max-width: 520px; }
.p1-main .pb-track.pb-dur-72 { animation-duration: 72s; }
.p1-main .pb-track.pb-dur-68 { animation-duration: 68s; }
@keyframes mainTextEnter { from { opacity: 0; transform: translate3d(0, 24px, 0); } to { opacity: var(--text-motion-opacity, 1); transform: translate3d(0, 0, 0); } }
.page-main .text-reveal.is-motion-ready .text-motion { opacity: 0; transform: translate3d(0, 24px, 0); }
.page-main .text-reveal.is-text-visible .text-motion { animation: mainTextEnter .85s cubic-bezier(.16, 1, .3, 1) both; animation-delay: var(--text-motion-delay, 0s); }
.page-main .text-motion--1 { --text-motion-delay: .12s; }
.page-main .text-motion--2 { --text-motion-delay: .24s; }
.page-main .text-motion--3 { --text-motion-delay: .36s; }
.page-main .text-motion--4 { --text-motion-delay: .48s; }
.page-main .fp-hero__desc.text-motion { --text-motion-opacity: .8; }
.page-main .biz-showcase__panel:not(.is-active) .text-motion { animation: none; }
.hero-intro-curtain { position: absolute; inset: 0; z-index: 10; display: flex; align-items: center; justify-content: center; background: #fff; pointer-events: none; clip-path: inset(0); }
.hero-intro-curtain .fp-hero__title, .hero-intro-curtain .fp-hero__title em, .hero-intro-curtain .fp-hero__sub, .hero-intro-curtain .fp-hero__desc { color: #111; }
.hero-intro-curtain.is-opening { animation: heroCurtainOpen 1s cubic-bezier(.43, .2, .02, 1) both; }
@keyframes heroCurtainOpen { from { clip-path: inset(0); } to { clip-path: inset(0 0 100% 0); } }
.fp-hero.hero-desc-waiting .fp-hero__desc { opacity: 0; }
.fp-hero.hero-desc-ready > .fp-hero__inner .fp-hero__desc, .fp-hero.hero-desc-ready .caption .fp-hero__desc { animation: heroDescriptionReveal .6s ease .5s both; }
@keyframes heroDescriptionReveal { from { opacity: 0; } to { opacity: 1; } }

/* 서브비주얼 */
.sub-visual { display: flex; align-items: center; justify-content: center; margin-top: var(--space-100); width: 100%; height: 300px; background: #eee; text-align: center; }
.sub-visual h2 { font-size: var(--font-size-48); line-height: 1.3em; }
.lnb-wrap { border-bottom: 1px solid #ddd; }
.lnb { max-width: 1200px; margin: 0 auto; }
.lnb ul { display: flex; }
.lnb ul li { flex: 1; border-right: 1px solid #ddd; }
.lnb ul li:first-child { border-left: 1px solid #ddd; }
.lnb ul li a { display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; background: #fff; text-align: center; }
.lnb ul li.active a { background: #333; color: #fff; }
.sub-visual { position: relative; height: 480px; margin-top: 0; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #14181f; text-align: center; }
.sub-visual::before { content: ''; position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; }
.sub-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.44) 0%, rgba(0,0,0,.576) 100%); z-index: 1; }
body.page-about .sub-visual::before { background-image: url('/images/sub-about.jpg'); }
body.page-business .sub-visual::before { background-image: url('/images/sub-business.jpg'); }
body.page-global .sub-visual::before { background-image: url('/images/sub-global.jpg'); }
body.page-news .sub-visual::before { background-image: url('/images/sub-newsroom-v4.jpg'); }
body.page-contact .sub-visual::before { background-image: url('/images/sub-partnership-v2.jpg'); }
.sub-visual-inner { position: relative; z-index: 2; text-align: center; padding: 0 var(--space-24) var(--space-72); }
.sub-visual--no-lnb .sub-visual-inner { padding-bottom: 0; }
.sub-visual-inner .page-title, .sub-visual h2.page-title { font-size: var(--font-size-72); font-weight: 800; color: #fff; letter-spacing: -.04em; line-height: 1.15; margin: 0; }
.sub-visual-inner .page-sub { font-size: var(--font-size-18); color: rgba(255,255,255,.78); margin: var(--space-16) 0 0; font-weight: 400; letter-spacing: -.01em; }
.page-news .sub-visual-inner .page-sub, .page-contact .sub-visual-inner .page-sub { font-size: var(--font-size-20); }
.sub-visual .lnb-wrap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; border: none; background: transparent; padding: 0; margin: 0; box-shadow: none; }
.sub-visual .lnb { width: min(100%, 1728px); max-width: 1728px; margin: 0 auto; padding: 0; box-sizing: border-box; }
.sub-visual .lnb ul { display: flex; flex-wrap: nowrap; justify-content: stretch; gap: 0; margin: 0; padding: 0; list-style: none; border: none; width: 100%; }
.sub-visual .lnb ul li { flex: 1 1 0; min-width: 0; max-width: none; border: none; }
.sub-visual .lnb ul li a { display: flex; align-items: center; justify-content: center; min-height: 76px; padding: var(--space-23) var(--space-16); font-size: var(--font-size-18); font-weight: 600; color: #fff; text-decoration: none; text-align: center; background: rgba(0,0,0,.42); border: none; border-bottom: none; transition: background .2s, color .2s;  }
.sub-visual .lnb ul li a:hover { background: rgba(0,0,0,.58); color: #fff; }
.sub-visual .lnb ul li.active a, .sub-visual .lnb ul li.on a, .sub-visual .lnb ul li a.is-active { background: #fff; color: #111; border-bottom: none; }
.sub-visual .lnb ul li a.is-unlinked { cursor: default; pointer-events: none; }
.sub-visual .lnb ul li:not(.active):not(.on) a.is-unlinked { color: rgba(255,255,255,.55); }
.sub-visual .lnb ul li.active a.is-unlinked, .sub-visual .lnb ul li.on a.is-unlinked { background: #fff; color: #111; }
body.page-greeting .sub-visual::before { background-image: url('/images/sub-location-v1.jpg'); }
body.page-overview .sub-visual::before { background-image: url('/images/sub-location-v1.jpg'); }
body.page-history .sub-visual::before { background-image: url('/images/sub-location-v1.jpg'); }
body.page-location .sub-visual::before { background-image: url("/images/sub-location-v1.jpg"); }
.page-brand .sub-visual::before { background-image: url('/images/sub-brand-v1.jpg'); }
body.page-business .sub-visual::before { background-image: url('/images/sub-business-v2.jpg'); }

/* 푸터 */
#footer { padding: var(--space-30) 0; background: #242424; color: #fff; text-align: center; }
#footer .copyright { font-size: var(--font-size-14); font-weight: 400; line-height: 1.3em; }
body.page-main > #wrapper > #footer { display: none; }
body.page-main #footer:not(.fp-footer):not(#footer-main) { display: none; }
.fp-mini-footer { font-size: var(--font-size-12); color: rgba(255,255,255,.25); text-align: center; padding: var(--space-14) 0; margin: 0; flex-shrink: 0; letter-spacing: -.01em; }
.fp-mini-footer .design-credit { color: inherit; text-decoration: none; }
.fp-mini-footer .design-credit:hover { color: var(--color-primary); }
body.page-news .sec-contact-band.site-footer-zone, body.page-contact .sec-contact-band.site-footer-zone { margin-top: var(--space-180); }
#footer.site-footer, #footer-main.site-footer { background: #0d1117; color: rgba(255,255,255,.55); border-top: none; padding: 0; text-align: left; }
#footer-main.fp-footer { scroll-snap-align: start; scroll-snap-stop: normal; height: auto; min-height: unset; display: block; padding-top: var(--header-height); }
.footer-sitemap { border-bottom: 1px solid rgba(255,255,255,.08); padding: var(--space-56) 0; }
.footer-sitemap__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-32); }
.footer-col__title { display: block; font-size: var(--font-size-13); font-weight: 700; color: rgba(255,255,255,.9); letter-spacing: .06em; text-transform: uppercase; margin-bottom: var(--space-16); }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-10); }
.footer-col ul li a { font-size: var(--font-size-14); color: rgba(255,255,255,.45); text-decoration: none; transition: color .2s; }
.footer-col ul li a:hover { color: var(--color-primary); }
.footer-col ul li a.is-unlinked { cursor: default; }
.footer-col ul li a.is-unlinked:hover { color: rgba(255,255,255,.45); }
.footer-main { padding: var(--space-48) 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-main__inner { display: flex; align-items: flex-start; justify-content: flex-start; gap: var(--space-80); text-align: left; }
.footer-brand { flex-shrink: 0; text-align: left; }
.footer-brand img { height: 34px; width: auto; opacity: .85; display: block; }
.footer-tagline { margin-top: var(--space-12); font-size: var(--font-size-13); color: rgba(255,255,255,.35); letter-spacing: -0.03em; }
.footer-info { font-size: var(--font-size-13); line-height: 1.9; color: rgba(255,255,255,.45); text-align: left; }
.footer-info p { margin: 0; text-align: left; }
.footer-info strong { color: rgba(255,255,255,.7); font-weight: 600; }
.footer-bottom { padding: var(--space-20) 0; }
.footer-bottom__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-24); flex-wrap: wrap; }
.footer-policy { display: flex; list-style: none; margin: 0; padding: 0; gap: var(--space-4); }
.footer-policy li a { font-size: var(--font-size-13); color: rgba(255,255,255,.4); text-decoration: none; padding: var(--space-4) var(--space-12); border-right: 1px solid rgba(255,255,255,.12); transition: color .2s; }
.footer-policy li:last-child a { border-right: none; }
.footer-policy li a:hover { color: rgba(255,255,255,.75); }
.footer-policy li a.is-unlinked:hover { color: rgba(255,255,255,.4); cursor: default; }
.copyright { font-size: var(--font-size-12); color: rgba(255,255,255,.3); margin: 0; padding: 0; border: none; text-align: right; }
.design-credit { color: inherit; font-size: inherit; }
a.design-credit { color: inherit; font-size: inherit; text-decoration: none; }
a.design-credit:hover { color: var(--color-primary); }
body.page-main #footer, body.page-main #footer:not(.fp-footer):not(#footer-main) { display: block; }
.sec-contact-band.site-footer-zone { margin-top: var(--space-180); padding: var(--space-100) 0; background: #111; color: #fff; border-top: 1px solid rgba(255, 255, 255, 0.12); }
body.page-main .sec-contact-band.site-footer-zone { margin-top: 0; border-top: none; }
.sec-contact-band.site-footer-zone .sec-contact-band__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-48); flex-wrap: wrap; }
.sec-contact-band.site-footer-zone .sec-label { display: inline-block; margin-bottom: var(--space-16); padding: var(--space-6) var(--space-16); border-radius: 4px; background: rgba(255, 255, 255, 0.12); font-size: var(--font-size-12); font-weight: 700; letter-spacing: -0.03em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); line-height: 1; }
.sec-contact-band.site-footer-zone .sec-contact-band__title { font-size: clamp(32px, 3.5vw, 52px); font-weight: 800; line-height: 1.2; letter-spacing: -0.03em; color: #fff; margin: 0; }
.sec-contact-band.site-footer-zone .sec-contact-band__text { margin-top: var(--space-20); font-size: var(--font-size-20); color: rgba(255, 255, 255, 0.75); line-height: 1.8; max-width: 520px; }
.sec-contact-band.site-footer-zone .btn-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: var(--space-16) var(--space-40); background: #fff; color: #111; font-size: var(--font-size-18); font-weight: 700; border: none; border-radius: 4px; text-decoration: none; }
.sec-contact-band.site-footer-zone .btn-primary:hover { background: rgba(255, 255, 255, 0.88); color: #111; transform: none; }
#footer.p1-footer { background: #111; color: rgba(255, 255, 255, 0.78); border-top: none; padding: 0; text-align: left; }
#footer.p1-footer .footer-sitemap { display: none; }
#footer.p1-footer .footer-top { border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
#footer.p1-footer .footer-top__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-24) var(--space-48); flex-wrap: wrap; padding: var(--space-28) 0; }
#footer.p1-footer .footer-gnb { display: flex; flex-wrap: wrap; gap: var(--space-12) var(--space-32); }
#footer.p1-footer .footer-gnb a { font-size: var(--font-size-16); font-weight: 600; color: rgba(255, 255, 255, 0.85); text-decoration: none; transition: color .2s; }
#footer.p1-footer .footer-gnb a:hover { color: #ff8946; }
#footer.p1-footer .footer-policy { display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-24); list-style: none; margin: 0; padding: 0; }
#footer.p1-footer .footer-policy a, #footer.p1-footer .footer-policy li a { font-size: var(--font-size-14); color: rgba(255, 255, 255, 0.5); text-decoration: none; padding: 0; border: none; }
#footer.p1-footer .footer-policy a:hover { color: rgba(255, 255, 255, 0.85); }
#footer.p1-footer .footer-main { padding: var(--space-64) 0; border-bottom: none; }
#footer.p1-footer .footer-main__grid { display: grid; grid-template-columns: 1.1fr 1.4fr 0.9fr; gap: var(--space-48); align-items: start; }
#footer.p1-footer .footer-brand { text-align: left; }
#footer.p1-footer .footer-brand img { height: 52px; width: auto; opacity: 1; display: block; }
#footer.p1-footer .footer-tagline { margin-top: var(--space-20); font-size: var(--font-size-14); color: rgba(255, 255, 255, 0.55); letter-spacing: -0.03em; }
#footer.p1-footer .footer-info, #footer.p1-footer .footer-info p { font-size: var(--font-size-14); line-height: 1.85; color: rgba(255, 255, 255, 0.72); text-align: left; }
#footer.p1-footer .footer-info p { margin: 0 0 var(--space-8); }
#footer.p1-footer .footer-info strong { font-weight: 700; color: rgba(255, 255, 255, 0.9); }
#footer.p1-footer .footer-gnb a.is-unlinked, #footer.p1-footer .footer-policy a.is-unlinked, #footer.p1-footer .footer-sns a.is-unlinked, a.btn-primary.is-unlinked, a.btn-more.is-unlinked { cursor: default; pointer-events: none; }
#footer.p1-footer .footer-aside__label { margin: 0 0 var(--space-16); font-size: var(--font-size-13); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.45); }
#footer.p1-footer .footer-sns { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-10); }
#footer.p1-footer .footer-sns a { font-size: var(--font-size-14); color: rgba(255, 255, 255, 0.72); text-decoration: none; }
#footer.p1-footer .footer-sns a.is-unlinked:hover { color: rgba(255, 255, 255, 0.72); }
#footer.p1-footer .footer-aside__link { display: inline-flex; align-items: center; gap: var(--space-24); font-size: var(--font-size-18); font-weight: 700; color: #fff; text-decoration: none; }
#footer.p1-footer .footer-aside__link:hover { color: #ff8946; }
#footer.p1-footer .footer-aside__link .btn-more__arrow { display: block; width: 40px; height: 1px; background: currentColor; position: relative; }
#footer.p1-footer .footer-aside__link .btn-more__arrow::after { content: ""; position: absolute; right: 0; top: -4px; width: 10px; height: 10px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
#footer.p1-footer .footer-bottom { padding: var(--space-24) 0 var(--space-32); border-top: 1px solid rgba(255, 255, 255, 0.08); text-align: center; }
#footer.p1-footer .footer-bottom__inner { display: block; }
#footer.p1-footer .copyright { font-size: var(--font-size-14); color: rgba(255, 255, 255, 0.72); margin: 0; padding: 0; border: none; text-align: center; }
#footer.p1-footer .copyright .design-credit { color: inherit; font-size: inherit; text-decoration: none; }
#footer.p1-footer .copyright .design-credit:hover { text-decoration: underline; color: rgba(255, 255, 255, 0.72); }
body.page-business .sec-contact-band.site-footer-zone { margin-top: 0; }
.real-cont #pb-page-wrap, .real-cont .pb-page, .real-cont .pb-row, .real-cont .pb-row-inner, .real-cont .pb-col, .real-cont .pb-col-content { width: 100%; max-width: none; margin: 0; padding: 0; }
#contArea.wide #pb-page-wrap, #contArea.wide .pb-page, #contArea.wide .pb-row, #contArea.wide .pb-row-inner, #contArea.wide .pb-col, #contArea.wide .pb-col-content { width: 100%; max-width: none; margin: 0; padding: 0; }
.page-main #pb-page-wrap, .page-main .pb-page, .page-main .pb-row, .page-main .pb-row-inner, .page-main .pb-col, .page-main .pb-col-content { width: 100%; max-width: none; margin: 0; padding: 0; background: transparent; }
.pb-col-content img {max-height: 100%;}

/* zh/ja main: wrap at punctuation, not inside a word, and not as a single line */
[lang="zh"] .p1-main,
[lang="ja"] .p1-main,
[lang="zh"] .sec-contact-band,
[lang="ja"] .sec-contact-band,
[lang="zh"] #footer,
[lang="ja"] #footer { word-break: keep-all; overflow-wrap: normal; line-break: strict; }
[lang="ja"] .p1-main .biz-showcase__desc { max-width: 500px; }
[lang="zh"] .p1-main .biz-showcase__desc { max-width: 480px; }
[lang="ja"] .p1-main .sec-global__intro,
[lang="zh"] .p1-main .sec-global__intro { max-width: 570px; }
[lang="ja"] .p1-main .pb-head .sec-desc,
[lang="zh"] .p1-main .pb-head .sec-desc { max-width: 640px; }
